Check-in [64dd8bc483]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:update curl to version 7.65.0
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 64dd8bc483b134f2c738287e38dc7c38857006e2
User & Date: chw 2019-05-24 22:16:39
Context
2019-05-25
03:43
add tk upstream changes check-in: a6dff1b79a user: chw tags: trunk
2019-05-24
22:18
merge with trunk check-in: 71cc564ed0 user: chw tags: wtf-8-experiment
22:16
update curl to version 7.65.0 check-in: 64dd8bc483 user: chw tags: trunk
18:46
update libressl to version 2.9.2 check-in: 344943e84b user: chw tags: trunk
Changes

Changes to jni/curl/CHANGES.

     1      1                                     _   _ ____  _
     2      2                                 ___| | | |  _ \| |
     3      3                                / __| | | | |_) | |
     4      4                               | (__| |_| |  _ <| |___
     5      5                                \___|\___/|_| \_\_____|
     6      6   
     7      7                                     Changelog
            8  +
            9  +Version 7.65.0 (22 May 2019)
           10  +
           11  +Daniel Stenberg (22 May 2019)
           12  +- RELEASE-NOTES: 7.65.0 release
           13  +
           14  +- THANKS: from the 7.65.0 release-notes
           15  +
           16  +- url: convert the zone id from a IPv6 URL to correct scope id
           17  +  
           18  +  Reported-by: GitYuanQu on github
           19  +  Fixes #3902
           20  +  Closes #3914
           21  +
           22  +- configure: detect getsockname and getpeername on windows too
           23  +  
           24  +  Made detection macros for these two functions in the same style as other
           25  +  functions possibly in winsock in the hope this will work better to
           26  +  detect these functions when cross-compiling for Windows.
           27  +  
           28  +  Follow-up to e91e4816123
           29  +  
           30  +  Fixes #3913
           31  +  Closes #3915
           32  +
           33  +Marcel Raad (21 May 2019)
           34  +- examples: remove unused variables
           35  +  
           36  +  Fixes Codacy/CppCheck warnings.
           37  +  
           38  +  Closes
           39  +
           40  +Daniel Gustafsson (21 May 2019)
           41  +- udpateconninfo: mark variable unused
           42  +  
           43  +  When compiling without getpeername() or getsockname(), the sockfd
           44  +  paramter to Curl_udpateconninfo() became unused after commit e91e481612
           45  +  added ifdef guards.
           46  +  
           47  +  Closes #3910
           48  +  Fixes https://curl.haxx.se/dev/log.cgi?id=20190520172441-32196
           49  +  Reviewed-by: Marcel Raad, Daniel Stenberg
           50  +
           51  +- ftp: move ftp_ccc in under featureflag
           52  +  
           53  +  Commit e91e48161235272ff485ff32bd048c53af731f43 moved ftp_ccc in under
           54  +  the FTP featureflag in the UserDefined struct, but vtls callsites were
           55  +  still using it unprotected.
           56  +  
           57  +  Closes #3912
           58  +  Fixes: https://curl.haxx.se/dev/log.cgi?id=20190520044705-29865
           59  +  Reviewed-by: Daniel Stenberg, Marcel Raad
           60  +
           61  +Daniel Stenberg (20 May 2019)
           62  +- curl: report error for "--no-" on non-boolean options
           63  +  
           64  +  Reported-by: Olen Andoni
           65  +  Fixes #3906
           66  +  Closes #3907
           67  +
           68  +- [Guy Poizat brought this change]
           69  +
           70  +  mbedtls: enable use of EC keys
           71  +  
           72  +  Closes #3892
           73  +
           74  +- lib1560: add tests for parsing URL with too long scheme
           75  +  
           76  +  Ref: #3905
           77  +
           78  +- [Omar Ramadan brought this change]
           79  +
           80  +  urlapi: increase supported scheme length to 40 bytes
           81  +  
           82  +  The longest currently registered URI scheme at IANA is 36 bytes long.
           83  +  
           84  +  Closes #3905
           85  +  Closes #3900
           86  +
           87  +Marcel Raad (20 May 2019)
           88  +- lib: reduce variable scopes
           89  +  
           90  +  Fixes Codacy/CppCheck warnings.
           91  +  
           92  +  Closes https://github.com/curl/curl/pull/3872
           93  +
           94  +- tool_formparse: remove redundant assignment
           95  +  
           96  +  Just initialize word_begin with the correct value.
           97  +  
           98  +  Closes https://github.com/curl/curl/pull/3873
           99  +
          100  +- ssh: move variable declaration to where it's used
          101  +  
          102  +  This way, we need only one call to free.
          103  +  
          104  +  Closes https://github.com/curl/curl/pull/3873
          105  +
          106  +- ssh-libssh: remove unused variable
          107  +  
          108  +  sock was only used to be assigned to fd_read.
          109  +  
          110  +  Closes https://github.com/curl/curl/pull/3873
          111  +
          112  +Daniel Stenberg (20 May 2019)
          113  +- test332: verify the blksize fix
          114  +
          115  +- tftp: use the current blksize for recvfrom()
          116  +  
          117  +  bug: https://curl.haxx.se/docs/CVE-2019-5436.html
          118  +  Reported-by: l00p3r on hackerone
          119  +  CVE-2019-5436
          120  +
          121  +Daniel Gustafsson (19 May 2019)
          122  +- version: make ssl_version buffer match for multi_ssl
          123  +  
          124  +  When running a multi TLS backend build the version string needs more
          125  +  buffer space. Make the internal ssl_buffer stack buffer match the one
          126  +  in Curl_multissl_version() to allow for the longer string. For single
          127  +  TLS backend builds there is no use in extended to buffer. This is a
          128  +  fallout from #3863 which fixes up the multi_ssl string generation to
          129  +  avoid a buffer overflow when the buffer is too small.
          130  +  
          131  +  Closes #3875
          132  +  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
          133  +
          134  +Steve Holme (18 May 2019)
          135  +- http_ntlm_wb: Handle auth for only a single request
          136  +  
          137  +  Currently when the server responds with 401 on NTLM authenticated
          138  +  connection (re-used) we consider it to have failed.  However this is
          139  +  legitimate and may happen when for example IIS is set configured to
          140  +  'authPersistSingleRequest' or when the request goes thru a proxy (with
          141  +  'via' header).
          142  +  
          143  +  Implemented by imploying an additional state once a connection is
          144  +  re-used to indicate that if we receive 401 we need to restart
          145  +  authentication.
          146  +  
          147  +  Missed in fe6049f0.
          148  +
          149  +- http_ntlm_wb: Cleanup handshake after clean NTLM failure
          150  +  
          151  +  Missed in 50b87c4e.
          152  +
          153  +- http_ntlm_wb: Return the correct error on receiving an empty auth message
          154  +  
          155  +  Missed in fe20826b as it wasn't implemented in http.c in b4d6db83.
          156  +  
          157  +  Closes #3894
          158  +
          159  +Daniel Stenberg (18 May 2019)
          160  +- curl: make code work with protocol-disabled libcurl
          161  +  
          162  +  Closes #3844
          163  +
          164  +- libcurl: #ifdef away more code for disabled features/protocols
          165  +
          166  +- progress: CURL_DISABLE_PROGRESS_METER
          167  +
          168  +- hostip: CURL_DISABLE_SHUFFLE_DNS
          169  +
          170  +- netrc: CURL_DISABLE_NETRC
          171  +
          172  +Viktor Szakats (16 May 2019)
          173  +- docs: Markdown and misc improvements [ci skip]
          174  +  
          175  +  Approved-by: Daniel Stenberg
          176  +  Closes #3896
          177  +
          178  +- docs/RELEASE-PROCEDURE: link to live iCalendar [ci skip]
          179  +  
          180  +  Ref: https://github.com/curl/curl/commit/0af41b40b2c7bd379b2251cbe7cd618e21fa0ea1#commitcomment-33563135
          181  +  Approved-by: Daniel Stenberg
          182  +  Closes #3895
          183  +
          184  +Daniel Stenberg (16 May 2019)
          185  +- travis: add an osx http-only build
          186  +  
          187  +  Closes #3887
          188  +
          189  +- cleanup: remove FIXME and TODO comments
          190  +  
          191  +  They serve very little purpose and mostly just add noise. Most of them
          192  +  have been around for a very long time. I read them all before removing
          193  +  or rephrasing them.
          194  +  
          195  +  Ref: #3876
          196  +  Closes #3883
          197  +
          198  +- curl: don't set FTP options for FTP-disabled builds
          199  +  
          200  +  ... since libcurl has started to be totally unaware of options for
          201  +  disabled protocols they now return error.
          202  +  
          203  +  Bug: https://github.com/curl/curl/commit/c9c5304dd4747cbe75d2f24be85920d572fcb5b8#commitcomment-33533937
          204  +  
          205  +  Reported-by: Marcel Raad
          206  +  Closes #3886
          207  +
          208  +Steve Holme (16 May 2019)
          209  +- http_ntlm_wb: Move the type-2 message processing into a dedicated function
          210  +  
          211  +  This brings the code inline with the other HTTP authentication mechanisms.
          212  +  
          213  +  Closes #3890
          214  +
          215  +Daniel Stenberg (15 May 2019)
          216  +- RELEASE-NOTES: synced
          217  +
          218  +- docs/RELEASE-PROCEDURE: updated coming releases dates [ci skip]
          219  +
          220  +- CURLOPT_READFUNCTION.3: see also CURLOPT_UPLOAD_BUFFERSIZE [ci skip]
          221  +  
          222  +  Reported-by: Roy Bellingan
          223  +  Bug: #3885
          224  +
          225  +- parse_proxy: use the URL parser API
          226  +  
          227  +  As we treat a given proxy as a URL we should use the unified URL parser
          228  +  to extract the parts out of it.
          229  +  
          230  +  Closes #3878
          231  +
          232  +Steve Holme (15 May 2019)
          233  +- http_negotiate: Move the Negotiate state out of the negotiatedata structure
          234  +  
          235  +  Given that this member variable is not used by the SASL based protocols
          236  +  there is no need to have it here.
          237  +  
          238  +  Closes #3882
          239  +
          240  +- http_ntlm: Move the NTLM state out of the ntlmdata structure
          241  +  
          242  +  Given that this member variable is not used by the SASL based protocols
          243  +  there is no need to have it here.
          244  +
          245  +- url: Move the negotiate state type into a dedicated enum
          246  +
          247  +- url: Remove duplicate clean up of the winbind variables in conn_shutdown()
          248  +  
          249  +  Given that Curl_disconnect() calls Curl_http_auth_cleanup_ntlm() prior
          250  +  to calling conn_shutdown() and it in turn performs this, there is no
          251  +  need to perform the same action in conn_shutdown().
          252  +  
          253  +  Closes #3881
          254  +
          255  +Daniel Stenberg (14 May 2019)
          256  +- urlapi: require a non-zero host name length when parsing URL
          257  +  
          258  +  Updated test 1560 to verify.
          259  +  
          260  +  Closes #3880
          261  +
          262  +- configure: error out if OpenSSL wasn't detected when asked for
          263  +  
          264  +  If --with-ssl is used and configure still couldn't enable SSL this
          265  +  creates an error instead of just silently ignoring the fact.
          266  +  
          267  +  Suggested-by: Isaiah Norton
          268  +  Fixes #3824
          269  +  Closes #3830
          270  +
          271  +Daniel Gustafsson (14 May 2019)
          272  +- imap: Fix typo in comment
          273  +
          274  +Steve Holme (14 May 2019)
          275  +- url: Remove unnecessary initialisation from allocate_conn()
          276  +  
          277  +  No need to set variables to zero as calloc() does this for us.
          278  +  
          279  +  Closes #3879
          280  +
          281  +Daniel Stenberg (14 May 2019)
          282  +- CURLOPT_CAINFO.3: with Schannel, you want Windows 8 or later [ci skip]
          283  +  
          284  +  Clues-provided-by: Jay Satiro
          285  +  Clues-provided-by: Jeroen Ooms
          286  +  Fixes #3711
          287  +  Closes #3874
          288  +
          289  +Daniel Gustafsson (13 May 2019)
          290  +- vtls: fix potential ssl_buffer stack overflow
          291  +  
          292  +  In Curl_multissl_version() it was possible to overflow the passed in
          293  +  buffer if the generated version string exceeded the size of the buffer.
          294  +  Fix by inverting the logic, and also make sure to not exceed the local
          295  +  buffer during the string generation.
          296  +  
          297  +  Closes #3863
          298  +  Reported-by: nevv on HackerOne/curl
          299  +  Reviewed-by: Jay Satiro
          300  +  Reviewed-by: Daniel Stenberg
          301  +
          302  +Daniel Stenberg (13 May 2019)
          303  +- RELEASE-NOTES: synced
          304  +
          305  +- appveyor: also build "/ci" branches like travis
          306  +
          307  +- pingpong: disable more when no pingpong enabled
          308  +
          309  +- proxy: acknowledge DISABLE_PROXY more
          310  +
          311  +- parsedate: CURL_DISABLE_PARSEDATE
          312  +
          313  +- sasl: only enable if there's a protocol enabled using it
          314  +
          315  +- mime: acknowledge CURL_DISABLE_MIME
          316  +
          317  +- wildcard: disable from build when FTP isn't present
          318  +
          319  +- http: CURL_DISABLE_HTTP_AUTH
          320  +
          321  +- base64: build conditionally if there are users
          322  +
          323  +- doh: CURL_DISABLE_DOH
          324  +
          325  +Steve Holme (12 May 2019)
          326  +- auth: Rename the various authentication clean up functions
          327  +  
          328  +  For consistency and to a avoid confusion.
          329  +  
          330  +  Closes #3869
          331  +
          332  +Daniel Stenberg (12 May 2019)
          333  +- [Jay Satiro brought this change]
          334  +
          335  +  docs/INSTALL: fix broken link [ci skip]
          336  +  
          337  +  Reported-by: Joombalaya on github
          338  +  Fixes #3818
          339  +
          340  +Marcel Raad (12 May 2019)
          341  +- easy: fix another "clarify calculation precedence" warning
          342  +  
          343  +  I missed this one in commit 6b3dde7fe62ea5a557fd1fd323fac2bcd0c2e9be.
          344  +
          345  +- build: fix "clarify calculation precedence" warnings
          346  +  
          347  +  Codacy/CppCheck warns about this. Consistently use parentheses as we
          348  +  already do in some places to silence the warning.
          349  +  
          350  +  Closes https://github.com/curl/curl/pull/3866
          351  +
          352  +- cmake: restore C89 compatibility of CurlTests.c
          353  +  
          354  +  I broke it in d1b5cf830bfe169745721b21245d2217d2c2453e and
          355  +  97de97daefc2ed084c91eff34af2426f2e55e134.
          356  +  
          357  +  Reported-by: Viktor Szakats
          358  +  Ref: https://github.com/curl/curl/commit/97de97daefc2ed084c91eff34af2426f2e55e134#commitcomment-33499044
          359  +  Closes https://github.com/curl/curl/pull/3868
          360  +
          361  +Steve Holme (11 May 2019)
          362  +- http_ntlm: Corrected the name of the include guard
          363  +  
          364  +  Missed in f0bdd72c.
          365  +  
          366  +  Closes #3867
          367  +
          368  +- http_digest: Don't expose functions when HTTP and Crypto Auth are disabled
          369  +  
          370  +  Closes #3861
          371  +
          372  +- http_negotiate: Don't expose functions when HTTP is disabled
          373  +
          374  +Daniel Stenberg (11 May 2019)
          375  +- SECURITY-PROCESS: fix links [ci skip]
          376  +
          377  +Marcel Raad (11 May 2019)
          378  +- CMake: suppress unused variable warnings
          379  +  
          380  +  I missed these in commit d1b5cf830bfe169745721b21245d2217d2c2453e.
          381  +
          382  +Daniel Stenberg (11 May 2019)
          383  +- doh: disable DOH for the cases it doesn't work
          384  +  
          385  +  Due to limitations in Curl_resolver_wait_resolv(), it doesn't work for
          386  +  DOH resolves. This fix disables DOH for those.
          387  +  
          388  +  Limitation added to KNOWN_BUGS.
          389  +  
          390  +  Fixes #3850
          391  +  Closes #3857
          392  +
          393  +Jay Satiro (11 May 2019)
          394  +- checksrc.bat: Ignore snprintf warnings in docs/examples
          395  +  
          396  +  .. because we allow snprintf use in docs/examples.
          397  +  
          398  +  Closes https://github.com/curl/curl/pull/3862
          399  +
          400  +Steve Holme (10 May 2019)
          401  +- vauth: Fix incorrect function description for Curl_auth_user_contains_domain()
          402  +  
          403  +  ...and misalignment of these comments. From a78c61a4.
          404  +  
          405  +  Closes #3860
          406  +
          407  +Jay Satiro (10 May 2019)
          408  +- Revert "multi: support verbose conncache closure handle"
          409  +  
          410  +  This reverts commit b0972bc.
          411  +  
          412  +  - No longer show verbose output for the conncache closure handle.
          413  +  
          414  +  The offending commit was added so that the conncache closure handle
          415  +  would inherit verbose mode from the user's easy handle. (Note there is
          416  +  no way for the user to set options for the closure handle which is why
          417  +  that was necessary.) Other debug settings such as the debug function
          418  +  were not also inherited since we determined that could lead to crashes
          419  +  if the user's per-handle private data was used on an unexpected handle.
          420  +  
          421  +  The reporter here says he has a debug function to capture the verbose
          422  +  output, and does not expect or want any output to stderr; however
          423  +  because the conncache closure handle does not inherit the debug function
          424  +  the verbose output for that handle does go to stderr.
          425  +  
          426  +  There are other plausible scenarios as well such as the user redirects
          427  +  stderr on their handle, which is also not inherited since it could lead
          428  +  to crashes when used on an unexpected handle.
          429  +  
          430  +  Short of allowing the user to set options for the conncache closure
          431  +  handle I don't think there's much we can safely do except no longer
          432  +  inherit the verbose setting.
          433  +  
          434  +  Bug: https://curl.haxx.se/mail/lib-2019-05/0021.html
          435  +  Reported-by: Kristoffer Gleditsch
          436  +  
          437  +  Ref: https://github.com/curl/curl/pull/3598
          438  +  Ref: https://github.com/curl/curl/pull/3618
          439  +  
          440  +  Closes https://github.com/curl/curl/pull/3856
          441  +
          442  +Steve Holme (10 May 2019)
          443  +- ntlm: Fix misaligned function comments for Curl_auth_ntlm_cleanup()
          444  +  
          445  +  From 6012fa5a.
          446  +  
          447  +  Closes #3858
          448  +
          449  +Daniel Stenberg (9 May 2019)
          450  +- BUG-BOUNTY: minor formatting fixes [ci skip]
          451  +
          452  +- RELEASE-NOTES: synced
          453  +
          454  +- BUG-BOUNTY.md: add the Dropbox "bonus" extra payout ability [ci skip]
          455  +  
          456  +  Closes #3839
          457  +
          458  +Kamil Dudka (9 May 2019)
          459  +- http_negotiate: do not treat failure of gss_init_sec_context() as fatal
          460  +  
          461  +  Fixes #3726
          462  +  Closes #3849
          463  +
          464  +- spnego_gssapi: fix return code on gss_init_sec_context() failure
          465  +  
          466  +  Fixes #3726
          467  +  Closes #3849
          468  +
          469  +Steve Holme (9 May 2019)
          470  +- gen_resp_file.bat: Removed unnecessary @ from all but the first command
          471  +  
          472  +  There is need to use @ on every command once echo has been turned off.
          473  +  
          474  +  Closes #3854
          475  +
          476  +Jay Satiro (8 May 2019)
          477  +- http: Ignore HTTP/2 prior knowledge setting for HTTP proxies
          478  +  
          479  +  - Do not switch to HTTP/2 for an HTTP proxy that is not tunnelling to
          480  +    the destination host.
          481  +  
          482  +  We already do something similar for HTTPS proxies by not sending h2. [1]
          483  +  
          484  +  Prior to this change setting CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE would
          485  +  incorrectly use HTTP/2 to talk to the proxy, which is not something we
          486  +  support (yet?). Also it's debatable whether or not that setting should
          487  +  apply to HTTP/2 proxies.
          488  +  
          489  +  [1]: https://github.com/curl/curl/commit/17c5d05
          490  +  
          491  +  Bug: https://github.com/curl/curl/issues/3570
          492  +  Bug: https://github.com/curl/curl/issues/3832
          493  +  
          494  +  Closes https://github.com/curl/curl/pull/3853
          495  +
          496  +Marcel Raad (8 May 2019)
          497  +- travis: update mesalink build to xenial
          498  +  
          499  +  Closes https://github.com/curl/curl/pull/3842
          500  +
          501  +Daniel Stenberg (8 May 2019)
          502  +- [Ricky Leverence brought this change]
          503  +
          504  +  OpenSSL: Report -fips in version if OpenSSL is built with FIPS
          505  +  
          506  +  Older versions of OpenSSL report FIPS availabilty via an OPENSSL_FIPS
          507  +  define. It uses this define to determine whether to publish -fips at
          508  +  the end of the version displayed. Applications that utilize the version
          509  +  reported by OpenSSL will see a mismatch if they compare it to what curl
          510  +  reports, as curl is not modifying the version in the same way. This
          511  +  change simply adds a check to see if OPENSSL_FIPS is defined, and will
          512  +  alter the reported version to match what OpenSSL itself provides. This
          513  +  only appears to be applicable in versions of OpenSSL <1.1.1
          514  +  
          515  +  Closes #3771
          516  +
          517  +Kamil Dudka (7 May 2019)
          518  +- [Frank Gevaerts brought this change]
          519  +
          520  +  nss: allow fifos and character devices for certificates.
          521  +  
          522  +  Currently you can do things like --cert <(cat ./cert.crt) with (at least) the
          523  +  openssl backend, but that doesn't work for nss because is_file rejects fifos.
          524  +  
          525  +  I don't actually know if this is sufficient, nss might do things internally
          526  +  (like seeking back) that make this not work, so actual testing is needed.
          527  +  
          528  +  Closes #3807
          529  +
          530  +Daniel Gustafsson (6 May 2019)
          531  +- test2100: Fix typos in test description
          532  +
          533  +Daniel Stenberg (6 May 2019)
          534  +- ssh: define USE_SSH if SSH is enabled (any backend)
          535  +  
          536  +  Closes #3846
          537  +
          538  +Steve Holme (5 May 2019)
          539  +- winbuild: Add our standard copyright header to the winbuild batch files
          540  +
          541  +- makedebug: Fix ERRORLEVEL detection after running where.exe
          542  +  
          543  +  Closes #3838
          544  +
          545  +Daniel Stenberg (5 May 2019)
          546  +- urlapi: add CURLUPART_ZONEID to set and get
          547  +  
          548  +  The zoneid can be used with IPv6 numerical addresses.
          549  +  
          550  +  Updated test 1560 to verify.
          551  +  
          552  +  Closes #3834
          553  +
          554  +- [Taiyu Len brought this change]
          555  +
          556  +  WRITEFUNCTION: add missing set_in_callback around callback
          557  +  
          558  +  Closes #3837
          559  +
          560  +- RELEASE-NOTES: synced
          561  +
          562  +- CURLMOPT_TIMERFUNCTION.3: warn about the recursive risk [ci skip]
          563  +  
          564  +  Reported-by: Ricardo Gomes
          565  +  
          566  +  Bug: #3537
          567  +  Closes #3836
          568  +
          569  +- CURLOPT_CHUNK_BGN_FUNCTION.3: document the struct and time value
          570  +  
          571  +  The time field in the curl_fileinfo struct will always be zero. No code
          572  +  was ever implemented to actually convert the date string to a time_t.
          573  +  
          574  +  Fixes #3829
          575  +  Closes #3835
          576  +
          577  +- OS400/ccsidcurl.c: code style fixes
          578  +
          579  +- OS400/ccsidcurl: replace use of Curl_vsetopt
          580  +  
          581  +  (and make the code style comply)
          582  +  
          583  +  Fixes #3833
          584  +
          585  +- urlapi: strip off scope id from numerical IPv6 addresses
          586  +  
          587  +  ... to make the host name "usable". Store the scope id and put it back
          588  +  when extracting a URL out of it.
          589  +  
          590  +  Also makes curl_url_set() syntax check CURLUPART_HOST.
          591  +  
          592  +  Fixes #3817
          593  +  Closes #3822
          594  +
          595  +- RELEASE-NOTES: synced
          596  +
          597  +- multiif.h: remove unused protos
          598  +  
          599  +  ... for functions related to pipelining. Those functions were removed in
          600  +  2f44e94efb3df.
          601  +  
          602  +  Closes #3828
          603  +
          604  +- [Yiming Jing brought this change]
          605  +
          606  +  travis: mesalink: temporarily disable test 3001
          607  +  
          608  +  ... due to SHA-1 signatures in test certs
          609  +
          610  +- [Yiming Jing brought this change]
          611  +
          612  +  travis: upgrade the MesaLink TLS backend to v1.0.0
          613  +  
          614  +  Closes #3823
          615  +  Closes #3776
          616  +
          617  +- ConnectionExists: improve non-multiplexing use case
          618  +  
          619  +  - better log output
          620  +  
          621  +  - make sure multiplex is enabled for it to be used
          622  +
          623  +- multi: provide Curl_multiuse_state to update information
          624  +  
          625  +  As soon as a TLS backend gets ALPN conformation about the specific HTTP
          626  +  version it can now set the multiplex situation for the "bundle" and
          627  +  trigger moving potentially queued up transfers to the CONNECT state.
          628  +
          629  +- process_pending_handles: mark queued transfers as previously pending
          630  +  
          631  +  With transfers being queued up, we only move one at a a time back to the
          632  +  CONNECT state but now we mark moved transfers so that when a moved
          633  +  transfer is confirmed "successful" (it connected) it will trigger the
          634  +  move of another pending transfer. Previously, it would otherwise wait
          635  +  until the transfer was done before doing this. This makes queued up
          636  +  pending transfers get processed (much) faster.
          637  +
          638  +- http: mark bundle as not for multiuse on < HTTP/2 response
          639  +  
          640  +  Fixes #3813
          641  +  Closes #3815
          642  +
          643  +Daniel Gustafsson (1 May 2019)
          644  +- cookie: Guard against possible NULL ptr deref
          645  +  
          646  +  In case the name pointer isn't set (due to memory pressure most likely)
          647  +  we need to skip the prefix matching and reject with a badcookie to avoid
          648  +  a possible NULL pointer dereference.
          649  +  
          650  +  Closes #3820 #3821
          651  +  Reported-by: Jonathan Moerman
          652  +  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
          653  +
          654  +Patrick Monnerat (30 Apr 2019)
          655  +- os400: Add CURLOPT_MAXAGE_CONN to ILE/RPG bindings
          656  +
          657  +Kamil Dudka (29 Apr 2019)
          658  +- nss: provide more specific error messages on failed init
          659  +  
          660  +  Closes #3808
          661  +
          662  +Daniel Stenberg (29 Apr 2019)
          663  +- [Reed Loden brought this change]
          664  +
          665  +  docs: minor polish to the bug bounty / security docs
          666  +  
          667  +  Closes #3811
          668  +
          669  +- CURL_MAX_INPUT_LENGTH: largest acceptable string input size
          670  +  
          671  +  This limits all accepted input strings passed to libcurl to be less than
          672  +  CURL_MAX_INPUT_LENGTH (8000000) bytes, for these API calls:
          673  +  curl_easy_setopt() and curl_url_set().
          674  +  
          675  +  The 8000000 number is arbitrary picked and is meant to detect mistakes
          676  +  or abuse, not to limit actual practical use cases. By limiting the
          677  +  acceptable string lengths we also reduce the risk of integer overflows
          678  +  all over.
          679  +  
          680  +  NOTE: This does not apply to `CURLOPT_POSTFIELDS`.
          681  +  
          682  +  Test 1559 verifies.
          683  +  
          684  +  Closes #3805
          685  +
          686  +- [Tseng Jun brought this change]
          687  +
          688  +  curlver.h: use parenthesis in CURL_VERSION_BITS macro
          689  +  
          690  +  Closes #3809
          691  +
          692  +Marcel Raad (27 Apr 2019)
          693  +- [Simon Warta brought this change]
          694  +
          695  +  cmake: rename CMAKE_USE_DARWINSSL to CMAKE_USE_SECTRANSP
          696  +  
          697  +  Closes https://github.com/curl/curl/pull/3769
          698  +
          699  +Steve Holme (23 Apr 2019)
          700  +- ntlm: Missed pre-processor || (or) during rebase for cd15acd0
          701  +
          702  +- ntlm: Support the NT response in the type-3 when OpenSSL doesn't include MD4
          703  +  
          704  +  Just like we do for mbed TLS, use our local implementation of MD4 when
          705  +  OpenSSL doesn't support it. This allows a type-3 message to include the
          706  +  NT response.
          707  +
          708  +Daniel Gustafsson (23 Apr 2019)
          709  +- INTERNALS: fix misindentation of ToC item
          710  +  
          711  +  Kerberos was incorrectly indented as a subsection under FTP, which is
          712  +  incorrect as they are both top level sections. A fix for this was first
          713  +  attempted in commit fef38a0898322f285401c5ff2f5e7c90dbf3be63 but that
          714  +  was a few paddles short of being complete.
          715  +
          716  +- [Aron Bergman brought this change]
          717  +
          718  +  INTERNALS: Add structs to ToC
          719  +  
          720  +  Add the subsections under "Structs in libcurl" to the table of contents.
          721  +  
          722  +  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
          723  +  Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
          724  +
          725  +- [Aron Bergman brought this change]
          726  +
          727  +  INTERNALS: Add code highlighting
          728  +  
          729  +  Make all struct members under the Curl_handler section
          730  +  print in monospace font.
          731  +  
          732  +  Closes #3801
          733  +  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
          734  +  Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
          735  +
          736  +Daniel Stenberg (22 Apr 2019)
          737  +- docs/BUG-BOUNTY: bug bounty time [skip ci]
          738  +  
          739  +  Introducing the curl bug bounty program on hackerone. We now recommend
          740  +  filing security issues directly in the hackerone ticket system which
          741  +  only is readable to curl security team members.
          742  +  
          743  +  Assisted-by: Daniel Gustafsson
          744  +  
          745  +  Closes #3488
          746  +
          747  +Steve Holme (22 Apr 2019)
          748  +- sasl: Don't send authcid as authzid for the PLAIN mechanism as per RFC 4616
          749  +  
          750  +  RFC 4616 specifies the authzid is optional in the client authentication
          751  +  message and that the server will derive the authorisation identity
          752  +  (authzid) from the authentication identity (authcid) when not specified
          753  +  by the client.
          754  +
          755  +Jay Satiro (22 Apr 2019)
          756  +- [Gisle Vanem brought this change]
          757  +
          758  +  memdebug: fix variable name
          759  +  
          760  +  Follow-up to 76b6348 which renamed logfile as curl_dbg_logfile.
          761  +  
          762  +  Ref: https://github.com/curl/curl/commit/76b6348#r33259088
          763  +
          764  +Steve Holme (21 Apr 2019)
          765  +- vauth/cleartext: Don't send the authzid if it is empty
          766  +  
          767  +  Follow up to 762a292f.
          768  +
          769  +Daniel Stenberg (21 Apr 2019)
          770  +- test 196,197,198: add 'retry' keyword [skip ci]
          771  +
          772  +- RELEASE-NOTES: synced
          773  +
          774  +- CURLOPT_MAXAGE_CONN: set the maximum allowed age for conn reuse
          775  +  
          776  +  ... and disconnect too old ones instead of trying to reuse.
          777  +  
          778  +  Default max age is set to 118 seconds.
          779  +  
          780  +  Ref: #3722
          781  +  Closes #3782
          782  +
          783  +Daniel Gustafsson (20 Apr 2019)
          784  +- [Po-Chuan Hsieh brought this change]
          785  +
          786  +  altsvc: Fix building with cookies disables
          787  +  
          788  +  ALTSVC requires Curl_get_line which is defined in lib/cookie.c inside a #if
          789  +  check of HTTP and COOKIES. That makes Curl_get_line undefined if COOKIES is
          790  +  disabled. Fix by splitting out the function into a separate file which can
          791  +  be included where needed.
          792  +  
          793  +  Closes #3717
          794  +  Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
          795  +  Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
          796  +
          797  +Daniel Stenberg (20 Apr 2019)
          798  +- test1002: correct the name [skip ci]
          799  +
          800  +- test660: verify CONNECT_ONLY with IMAP
          801  +  
          802  +  which basically just makes sure LOGOUT is *not* issued on disconnect
          803  +
          804  +- Curl_disconnect: treat all CONNECT_ONLY connections as "dead"
          805  +  
          806  +  Since the connection has been used by the "outside" we don't know the
          807  +  state of it anymore and curl should not use it anymore.
          808  +  
          809  +  Bug: https://curl.haxx.se/mail/lib-2019-04/0052.html
          810  +  
          811  +  Closes #3795
          812  +
          813  +- multi: fix the statenames (follow-up fix from 2f44e94efb3df8e)
          814  +  
          815  +  The list of names must be in sync with the defined states in the header
          816  +  file!
          817  +
          818  +Steve Holme (16 Apr 2019)
          819  +- openvms: Remove pre-processors for Windows as VMS cannot support them
          820  +
          821  +- openvms: Remove pre-processor for SecureTransport as VMS cannot support it
          822  +  
          823  +  Fixes #3768
          824  +  Closes #3785
          825  +
          826  +Jay Satiro (16 Apr 2019)
          827  +- TODO: Add issue link to an existing entry
          828  +
          829  +Daniel Stenberg (16 Apr 2019)
          830  +- RELEASE-NOTES: synced
          831  +
          832  +Jay Satiro (16 Apr 2019)
          833  +- tool_help: Warn if curl and libcurl versions do not match
          834  +  
          835  +  .. because functionality may be affected if the versions differ.
          836  +  
          837  +  This commit implements TODO 18.7 "warning if curl version is not in sync
          838  +  with libcurl version".
          839  +  
          840  +  Ref: https://github.com/curl/curl/blob/curl-7_64_1/docs/TODO#L1028-L1033
          841  +  
          842  +  Closes https://github.com/curl/curl/pull/3774
          843  +
          844  +Steve Holme (16 Apr 2019)
          845  +- md5: Update the function signature following d84da52d
          846  +
          847  +- md5: Forgot to update the code alignment in d84da52d
          848  +
          849  +- md5: Return CURLcode from the internally accessible functions
          850  +  
          851  +  Following 28f826b3 to return CURLE_OK instead of numeric 0.
          852  +
          853  +Daniel Gustafsson (15 Apr 2019)
          854  +- tests: Run global cleanup at end of tests
          855  +  
          856  +  Make sure to run curl_global_cleanup() when shutting down the test
          857  +  suite to release any resources allocated in the SSL setup. This is
          858  +  clearly visible when running tests with PolarSSL where the thread
          859  +  lock calloc() memory which isn't released when not running cleanup.
          860  +  Below is an excerpt from the autobuild logs:
          861  +  
          862  +    ==12368== 96 bytes in 1 blocks are possibly lost in loss record 1 of 2
          863  +    ==12368== at 0x4837B65: calloc (vg_replace_malloc.c:752)
          864  +    ==12368== by 0x11A76E: curl_dbg_calloc (memdebug.c:205)
          865  +    ==12368== by 0x145CDF: Curl_polarsslthreadlock_thread_setup
          866  +                           (polarssl_threadlock.c:54)
          867  +    ==12368== by 0x145B37: Curl_polarssl_init (polarssl.c:865)
          868  +    ==12368== by 0x14129D: Curl_ssl_init (vtls.c:171)
          869  +    ==12368== by 0x118B4C: global_init (easy.c:158)
          870  +    ==12368== by 0x118BF5: curl_global_init (easy.c:221)
          871  +    ==12368== by 0x118D0B: curl_easy_init (easy.c:299)
          872  +    ==12368== by 0x114E96: test (lib1906.c:32)
          873  +    ==12368== by 0x115495: main (first.c:174)
          874  +  
          875  +  Closes #3783
          876  +  Reviewed-by: Marcel Raad <Marcel.Raad@teamviewer.com>
          877  +  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
          878  +
          879  +Marcel Raad (15 Apr 2019)
          880  +- travis: use mbedtls from Xenial
          881  +  
          882  +  No need to build it from source anymore.
          883  +  
          884  +  Closes https://github.com/curl/curl/pull/3779
          885  +
          886  +- travis: use libpsl from Xenial
          887  +  
          888  +  This makes building libpsl and libidn2 from source unnecessary and
          889  +  removes the need for the autopoint and libunistring-dev packages.
          890  +  
          891  +  Closes https://github.com/curl/curl/pull/3779
          892  +
          893  +Daniel Stenberg (15 Apr 2019)
          894  +- runtests: start socksd like other servers
          895  +  
          896  +  ... without a $srcdir prefix. Triggered by the failures in several
          897  +  autobuilds.
          898  +  
          899  +  Closes #3781
          900  +
          901  +Daniel Gustafsson (14 Apr 2019)
          902  +- socksd: Fix typos
          903  +  
          904  +  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
          905  +
          906  +- socksd: Properly decorate static variables
          907  +  
          908  +  Mark global variables static to avoid compiler warning in Clang when
          909  +  using -Wmissing-variable-declarations.
          910  +  
          911  +  Closes #3778
          912  +  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
          913  +
          914  +Steve Holme (14 Apr 2019)
          915  +- md(4|5): Fixed indentation oddities with the importation of replacement code
          916  +  
          917  +  The indentation from 211d5329 and 57d6d253 was a little strange as
          918  +  parts didn't align correctly, uses 4 spaces rather than 2. Checked
          919  +  the indentation of the original source so it aligns, albeit, using
          920  +  curl style.
          921  +
          922  +- md5: Code style to return CURLE_OK rather than numeric 0
          923  +
          924  +- md5: Corrected code style for some pointer arguments
          925  +
          926  +Marcel Raad (13 Apr 2019)
          927  +- travis: update some builds to xenial
          928  +  
          929  +  Xenial comes with more up-to-date software versions and more available
          930  +  packages, some of which we currently build from source. Unfortunately,
          931  +  some builds would fail with Xenial because of assertion failures in
          932  +  Valgrind when using OpenSSL, so leave these at Trusty.
          933  +  
          934  +  Closes https://github.com/curl/curl/pull/3777
          935  +
          936  +Daniel Stenberg (13 Apr 2019)
          937  +- test: make tests and test scripts use socksd for SOCKS
          938  +  
          939  +  Make all SOCKS tests use socksd instead of ssh.
          940  +
          941  +- socksd: new SOCKS 4+5 server for tests
          942  +  
          943  +  Closes #3752
          944  +
          945  +- singleipconnect: show port in the verbose "Trying ..." message
          946  +  
          947  +  To aid debugging better.
          948  +
          949  +- [tmilburn brought this change]
          950  +
          951  +  CURLOPT_ADDRESS_SCOPE: fix range check and more
          952  +  
          953  +  Commit 9081014 fixed most of the confusing issues between scope id and
          954  +  scope however 844896d added bad limits checking assuming that the scope
          955  +  is being set and not the scope id.
          956  +  
          957  +  I have fixed the documentation so it all refers to scope ids.
          958  +  
          959  +  In addition Curl_if2ip refered to the scope id as remote_scope_id which
          960  +  is incorrect, so I renamed it to local_scope_id.
          961  +  
          962  +  Adjusted-by: Daniel Stenberg
          963  +  
          964  +  Closes #3655
          965  +  Closes #3765
          966  +  Fixes #3713
          967  +
          968  +- urlapi: stricter CURLUPART_PORT parsing
          969  +  
          970  +  Only allow well formed decimal numbers in the input.
          971  +  
          972  +  Document that the number MUST be between 1 and 65535.
          973  +  
          974  +  Add tests to test 1560 to verify the above.
          975  +  
          976  +  Ref: https://github.com/curl/curl/issues/3753
          977  +  Closes #3762
          978  +
          979  +Jay Satiro (13 Apr 2019)
          980  +- [Jan Ehrhardt brought this change]
          981  +
          982  +  winbuild: Support MultiSSL builds
          983  +  
          984  +  - Remove the lines in winbuild/Makefile.vc that generate an error with
          985  +    multiple SSL backends.
          986  +  
          987  +  - Add /DCURL_WITH_MULTI_SSL in winbuild/MakefileBuild.vc if multiple SSL
          988  +    backends are set.
          989  +  
          990  +  Closes https://github.com/curl/curl/pull/3772
          991  +
          992  +Daniel Stenberg (12 Apr 2019)
          993  +- travis: remove mesalink builds (temporarily?)
          994  +  
          995  +  Since the mesalink build started to fail on travis, even though we build
          996  +  a fixed release version, we disable it to prevent it from blocking
          997  +  progress.
          998  +  
          999  +  Closes #3767
         1000  +
         1001  +- openssl: mark connection for close on TLS close_notify
         1002  +  
         1003  +  Without this, detecting and avoid reusing a closed TLS connection
         1004  +  (without a previous GOAWAY) when doing HTTP/2 is tricky.
         1005  +  
         1006  +  Reported-by: Tom van der Woerdt
         1007  +  Fixes #3750
         1008  +  Closes #3763
         1009  +
         1010  +- RELEASE-NOTES: synced
         1011  +
         1012  +Steve Holme (11 Apr 2019)
         1013  +- vauth/cleartext: Update the PLAIN login function signature to match RFC 4616
         1014  +  
         1015  +  Functionally this doesn't change anything as we still use the username
         1016  +  for both the authorisation identity and the authentication identity.
         1017  +  
         1018  +  Closes #3757
         1019  +
         1020  +Daniel Stenberg (11 Apr 2019)
         1021  +- test1906: verify CURLOPT_CURLU + CURLOPT_PORT usage
         1022  +  
         1023  +  Based-on-code-by: Poul T Lomholt
         1024  +
         1025  +- url: always clone the CUROPT_CURLU handle
         1026  +  
         1027  +  Since a few code paths actually update that data.
         1028  +  
         1029  +  Fixes #3753
         1030  +  Closes #3761
         1031  +  
         1032  +  Reported-by: Poul T Lomholt
         1033  +
         1034  +- CURLOPT_DNS_USE_GLOBAL_CACHE: remove
         1035  +  
         1036  +  Remove the code too. The functionality has been disabled in code since
         1037  +  7.62.0. Setting this option will from now on simply be ignored and have
         1038  +  no function.
         1039  +  
         1040  +  Closes #3654
         1041  +
         1042  +Marcel Raad (11 Apr 2019)
         1043  +- travis: install libgnutls28-dev only for --with-gnutls build
         1044  +  
         1045  +  Reduces the time needed for the other jobs a little.
         1046  +  
         1047  +  Closes https://github.com/curl/curl/pull/3721
         1048  +
         1049  +- travis: install libnss3-dev only for --with-nss build
         1050  +  
         1051  +  Reduces the time needed for the other jobs a little.
         1052  +  
         1053  +  Closes https://github.com/curl/curl/pull/3721
         1054  +
         1055  +- travis: install libssh2-dev only for --with-libssh2 build
         1056  +  
         1057  +  Reduces the time needed for the other jobs a little.
         1058  +  
         1059  +  Closes https://github.com/curl/curl/pull/3721
         1060  +
         1061  +- travis: install libssh-dev only for --with-libssh build
         1062  +  
         1063  +  Reduces the time needed for the other jobs a little.
         1064  +  
         1065  +  Closes https://github.com/curl/curl/pull/3721
         1066  +
         1067  +- travis: install krb5-user only for --with-gssapi build
         1068  +  
         1069  +  Reduces the time needed for the other jobs a little.
         1070  +  
         1071  +  Closes https://github.com/curl/curl/pull/3721
         1072  +
         1073  +- travis: install lcov only for the coverage job
         1074  +  
         1075  +  Reduces the time needed for the other jobs a little.
         1076  +  
         1077  +  Closes https://github.com/curl/curl/pull/3721
         1078  +
         1079  +- travis: install clang only when needed
         1080  +  
         1081  +  This reduces the GCC job runtimes a little and it's needed to
         1082  +  selectively update clang builds to xenial.
         1083  +  
         1084  +  Closes https://github.com/curl/curl/pull/3721
         1085  +
         1086  +- AppVeyor: enable testing for WinSSL build
         1087  +  
         1088  +  Closes https://github.com/curl/curl/pull/3725
         1089  +
         1090  +- build: fix Codacy/CppCheck warnings
         1091  +  
         1092  +  - remove unused variables
         1093  +  - declare conditionally used variables conditionally
         1094  +  - suppress unused variable warnings in the CMake tests
         1095  +  - remove dead variable stores
         1096  +  - consistently use WIN32 macro to detect Windows
         1097  +  
         1098  +  Closes https://github.com/curl/curl/pull/3739
         1099  +
         1100  +- polarssl_threadlock: remove conditionally unused code
         1101  +  
         1102  +  Make functions no-ops if neither both USE_THREADS_POSIX and
         1103  +  HAVE_PTHREAD_H nor both USE_THREADS_WIN32 and HAVE_PROCESS_H are
         1104  +  defined. Previously, if only one of them was defined, there was either
         1105  +  code compiled that did nothing useful or the wrong header included for
         1106  +  the functions used.
         1107  +  
         1108  +  Also, move POLARSSL_MUTEX_T define to implementation file as it's not
         1109  +  used externally.
         1110  +  
         1111  +  Closes https://github.com/curl/curl/pull/3739
         1112  +
         1113  +- lib557: initialize variables
         1114  +  
         1115  +  These variables are only conditionally initialized.
         1116  +  
         1117  +  Closes https://github.com/curl/curl/pull/3739
         1118  +
         1119  +- lib509: add missing include for strdup
         1120  +  
         1121  +  Closes https://github.com/curl/curl/pull/3739
         1122  +
         1123  +- README.md: fix no-consecutive-blank-lines Codacy warning
         1124  +  
         1125  +  Consistently use one blank line between blocks.
         1126  +  
         1127  +  Closes https://github.com/curl/curl/pull/3739
         1128  +
         1129  +- tests/server/util: fix Windows Unicode build
         1130  +  
         1131  +  Always use the ANSI version of FormatMessage as we don't have the
         1132  +  curl_multibyte gear available here.
         1133  +  
         1134  +  Closes https://github.com/curl/curl/pull/3758
         1135  +
         1136  +Daniel Stenberg (11 Apr 2019)
         1137  +- curl_easy_getinfo.3: fix minor formatting mistake
         1138  +
         1139  +Daniel Gustafsson (11 Apr 2019)
         1140  +- xattr: skip unittest on unsupported platforms
         1141  +  
         1142  +  The stripcredentials unittest fails to compile on platforms without
         1143  +  xattr support, for example the Solaris member in the buildfarm which
         1144  +  fails with the following:
         1145  +  
         1146  +    CC unit1621-unit1621.o
         1147  +    CC ../libtest/unit1621-first.o
         1148  +    CCLD unit1621
         1149  +    Undefined first referenced
         1150  +    symbol in file
         1151  +    stripcredentials unit1621-unit1621.o
         1152  +    goto problem 2
         1153  +    ld: fatal: symbol referencing errors. No output written to .libs/unit1621
         1154  +    collect2: error: ld returned 1 exit status
         1155  +    gmake[2]: *** [Makefile:996: unit1621] Error 1
         1156  +  
         1157  +  Fix by excluding the test on such platforms by using the reverse
         1158  +  logic from where stripcredentials() is defined.
         1159  +  
         1160  +  Closes #3759
         1161  +  Reviewed-by: Daniel Stenberg <daniel@haxx.se>
         1162  +
         1163  +Steve Holme (11 Apr 2019)
         1164  +- emailL Added reference to RFC8314 for implicit TLS
         1165  +
         1166  +- README: Schannel, stop calling it "winssl"
         1167  +  
         1168  +  Stick to "Schannel" everywhere - follow up to 180501cb.
         1169  +
         1170  +Jakub Zakrzewski (10 Apr 2019)
         1171  +- cmake: clear CMAKE_REQUIRED_LIBRARIES after each use
         1172  +  
         1173  +  This fixes GSSAPI builds with the libraries in a non-standard location.
         1174  +  The testing for recv() were failing because it failed to link
         1175  +  the Kerberos libraries, which are not needed for this or subsequent
         1176  +  tests.
         1177  +  
         1178  +  fixes #3743
         1179  +  closes #3744
         1180  +
         1181  +- cmake: avoid linking executable for some tests with cmake 3.6+
         1182  +  
         1183  +  With CMAKE_TRY_COMPILE_TARGET_TYPE set to STATIC_LIBRARY, the try_compile()
         1184  +  (which is used by check_c_source_compiles()) will build static library
         1185  +  instead of executable. This avoids linking additional libraries in and thus
         1186  +  speeds up those checks a little.
         1187  +  
         1188  +  This commit also avoids #3743 (GSSAPI build errors) on itself with cmake
         1189  +  3.6 or above. That issue was fixed separately for all versions.
         1190  +  
         1191  +  Ref: #3744
         1192  +
         1193  +- cmake: minor cleanup
         1194  +  
         1195  +  - Remove nneeded include_regular_expression.
         1196  +    It was setting what is already a default.
         1197  +  
         1198  +  - Remove duplicated include.
         1199  +  
         1200  +  - Don't check for pre-3.0.0 CMake version.
         1201  +    We already require at least 3.0.0, so it's just clutter.
         1202  +  
         1203  +  Ref: #3744
         1204  +
         1205  +Steve Holme (8 Apr 2019)
         1206  +- build-openssl.bat: Fixed support for OpenSSL v1.1.0+
         1207  +
         1208  +- build-openssl.bat: Perfer the use of if statements rather than goto (where possible)
         1209  +
         1210  +- build-openssl.bat: Perform the install for each build type directly after the build
         1211  +
         1212  +- build-openssl.bat: Split the install of static and shared build types
         1213  +
         1214  +- build-openssl.bat: Split the building of static and shared build types
         1215  +
         1216  +- build-openssl.bat: Move the installation into a separate function
         1217  +
         1218  +- build-openssl.bat: Move the build step into a separate function
         1219  +
         1220  +- build-openssl.bat: Move the OpenSSL configuration into a separate function
         1221  +
         1222  +- build-openssl.bat: Fixed the BUILD_CONFIG variable not being initialised
         1223  +  
         1224  +  Should the parent environment set this variable then the build might
         1225  +  not be performed as the user intended.
         1226  +
         1227  +Daniel Stenberg (8 Apr 2019)
         1228  +- socks: fix error message
         1229  +
         1230  +- config.d: clarify that initial : and = might need quoting [skip ci]
         1231  +  
         1232  +  Fixes #3738
         1233  +  Closes #3749
         1234  +
         1235  +- RELEASE-NOTES: synced
         1236  +  
         1237  +  bumped to 7.65.0 for next release
         1238  +
         1239  +- socks5: user name and passwords must be shorter than 256
         1240  +  
         1241  +  bytes... since the protocol needs to store the length in a single byte field.
         1242  +  
         1243  +  Reported-by: XmiliaH on github
         1244  +  Fixes #3737
         1245  +  Closes #3740
         1246  +
         1247  +- [Jakub Zakrzewski brought this change]
         1248  +
         1249  +  test: urlapi: urlencode characters above 0x7f correctly
         1250  +
         1251  +- [Jakub Zakrzewski brought this change]
         1252  +
         1253  +  urlapi: urlencode characters above 0x7f correctly
         1254  +  
         1255  +  fixes #3741
         1256  +  Closes #3742
         1257  +
         1258  +- [Even Rouault brought this change]
         1259  +
         1260  +  multi_runsingle(): fix use-after-free
         1261  +  
         1262  +  Fixes #3745
         1263  +  Closes #3746
         1264  +  
         1265  +  The following snippet
         1266  +  ```
         1267  +  
         1268  +  int main()
         1269  +  {
         1270  +      CURL* hCurlHandle = curl_easy_init();
         1271  +      curl_easy_setopt(hCurlHandle, CURLOPT_URL, "http://example.com");
         1272  +      curl_easy_setopt(hCurlHandle, CURLOPT_PROXY, "1");
         1273  +      curl_easy_perform(hCurlHandle);
         1274  +      curl_easy_cleanup(hCurlHandle);
         1275  +      return 0;
         1276  +  }
         1277  +  ```
         1278  +  triggers the following Valgrind warning
         1279  +  
         1280  +  ```
         1281  +  ==4125== Invalid read of size 8
         1282  +  ==4125==    at 0x4E7D1EE: Curl_llist_remove (llist.c:97)
         1283  +  ==4125==    by 0x4E7EF5C: detach_connnection (multi.c:798)
         1284  +  ==4125==    by 0x4E80545: multi_runsingle (multi.c:1451)
         1285  +  ==4125==    by 0x4E8197C: curl_multi_perform (multi.c:2072)
         1286  +  ==4125==    by 0x4E766A0: easy_transfer (easy.c:625)
         1287  +  ==4125==    by 0x4E76915: easy_perform (easy.c:719)
         1288  +  ==4125==    by 0x4E7697C: curl_easy_perform (easy.c:738)
         1289  +  ==4125==    by 0x4008BE: main (in /home/even/curl/test)
         1290  +  ==4125==  Address 0x9b3d1d0 is 1,120 bytes inside a block of size 1,600 free'd
         1291  +  ==4125==    at 0x4C2ECF0: free (vg_replace_malloc.c:530)
         1292  +  ==4125==    by 0x4E62C36: conn_free (url.c:756)
         1293  +  ==4125==    by 0x4E62D34: Curl_disconnect (url.c:818)
         1294  +  ==4125==    by 0x4E48DF9: Curl_once_resolved (hostip.c:1097)
         1295  +  ==4125==    by 0x4E8052D: multi_runsingle (multi.c:1446)
         1296  +  ==4125==    by 0x4E8197C: curl_multi_perform (multi.c:2072)
         1297  +  ==4125==    by 0x4E766A0: easy_transfer (easy.c:625)
         1298  +  ==4125==    by 0x4E76915: easy_perform (easy.c:719)
         1299  +  ==4125==    by 0x4E7697C: curl_easy_perform (easy.c:738)
         1300  +  ==4125==    by 0x4008BE: main (in /home/even/curl/test)
         1301  +  ==4125==  Block was alloc'd at
         1302  +  ==4125==    at 0x4C2F988: calloc (vg_replace_malloc.c:711)
         1303  +  ==4125==    by 0x4E6438E: allocate_conn (url.c:1654)
         1304  +  ==4125==    by 0x4E685B4: create_conn (url.c:3496)
         1305  +  ==4125==    by 0x4E6968F: Curl_connect (url.c:4023)
         1306  +  ==4125==    by 0x4E802E7: multi_runsingle (multi.c:1368)
         1307  +  ==4125==    by 0x4E8197C: curl_multi_perform (multi.c:2072)
         1308  +  ==4125==    by 0x4E766A0: easy_transfer (easy.c:625)
         1309  +  ==4125==    by 0x4E76915: easy_perform (easy.c:719)
         1310  +  ==4125==    by 0x4E7697C: curl_easy_perform (easy.c:738)
         1311  +  ==4125==    by 0x4008BE: main (in /home/even/curl/test)
         1312  +  ```
         1313  +  
         1314  +  This has been bisected to commit 2f44e94
         1315  +  
         1316  +  Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14109
         1317  +  Credit to OSS Fuzz
         1318  +
         1319  +- pipelining: removed
         1320  +  
         1321  +  As previously planned and documented in DEPRECATE.md, all pipelining
         1322  +  code is removed.
         1323  +  
         1324  +  Closes #3651
         1325  +
         1326  +- [cclauss brought this change]
         1327  +
         1328  +  tests: make Impacket (SMB server) Python 3 compatible
         1329  +  
         1330  +  Closes #3731
         1331  +  Fixes #3289
         1332  +
         1333  +Marcel Raad (6 Apr 2019)
         1334  +- [Simon Warta brought this change]
         1335  +
         1336  +  cmake: set SSL_BACKENDS
         1337  +  
         1338  +  This groups all SSL backends into the feature "SSL" and sets the
         1339  +  SSL_BACKENDS analogue to configure.ac
         1340  +  
         1341  +  Closes https://github.com/curl/curl/pull/3736
         1342  +
         1343  +- [Simon Warta brought this change]
         1344  +
         1345  +  cmake: don't run SORT on empty list
         1346  +  
         1347  +  In case of an empty list, SORTing leads to the cmake error "list
         1348  +  sub-command SORT requires list to be present."
         1349  +  
         1350  +  Closes https://github.com/curl/curl/pull/3736
         1351  +
         1352  +Daniel Gustafsson (5 Apr 2019)
         1353  +- [Eli Schwartz brought this change]
         1354  +
         1355  +  configure: fix default location for fish completions
         1356  +  
         1357  +  Fish defines a vendor completions directory for completions that are not
         1358  +  installed as part of the fish project itself, and the vendor completions
         1359  +  are preferred if they exist. This prevents trying to overwrite the
         1360  +  builtin curl.fish completion (or creating file conflicts in distro
         1361  +  packaging).
         1362  +  
         1363  +  Prefer the pkg-config defined location exported by fish, if it can be
         1364  +  found, and fall back to the correct directory defined by most systems.
         1365  +  
         1366  +  Closes #3723
         1367  +  Reviewed-by: Daniel Gustafsson
         1368  +
         1369  +Marcel Raad (5 Apr 2019)
         1370  +- ftplistparser: fix LGTM alert "Empty block without comment"
         1371  +  
         1372  +  Removing the block is consistent with line 954/957.
         1373  +  
         1374  +  Closes https://github.com/curl/curl/pull/3732
         1375  +
         1376  +- transfer: fix LGTM alert "Comparison is always true"
         1377  +  
         1378  +  Just remove the redundant condition, which also makes it clear that
         1379  +  k->buf is always 0-terminated if this break is not hit.
         1380  +  
         1381  +  Closes https://github.com/curl/curl/pull/3732
         1382  +
         1383  +Jay Satiro (4 Apr 2019)
         1384  +- [Rikard Falkeborn brought this change]
         1385  +
         1386  +  smtp: fix compiler warning
         1387  +  
         1388  +  - Fix clang string-plus-int warning.
         1389  +  
         1390  +  Clang 8 warns about adding a string to an int does not append to the
         1391  +  string. Indeed it doesn't, but that was not the intention either. Use
         1392  +  array indexing as suggested to silence the warning. There should be no
         1393  +  functional changes.
         1394  +  
         1395  +  (In other words clang warns about "foo"+2 but not &"foo"[2] so use the
         1396  +  latter.)
         1397  +  
         1398  +  smtp.c:1221:29: warning: adding 'int' to a string does not append to the
         1399  +  string [-Wstring-plus-int]
         1400  +        eob = strdup(SMTP_EOB + 2);
         1401  +              ~~~~~~~~~~~~~~~~^~~~
         1402  +  
         1403  +  Closes https://github.com/curl/curl/pull/3729
         1404  +
         1405  +Marcel Raad (4 Apr 2019)
         1406  +- VS projects: use Unicode for VC10+
         1407  +  
         1408  +  All Windows APIs have been natively UTF-16 since Windows 2000 and the
         1409  +  non-Unicode variants are just wrappers around them. Only Windows 9x
         1410  +  doesn't understand Unicode without the UnicoWS DLL. As later Visual
         1411  +  Studio versions cannot target Windows 9x anyway, using the ANSI API
         1412  +  doesn't really have any benefit there.
         1413  +  
         1414  +  This avoids issues like KNOWN_BUGS 6.5.
         1415  +  
         1416  +  Ref: https://github.com/curl/curl/issues/2120
         1417  +  Closes https://github.com/curl/curl/pull/3720
         1418  +
         1419  +Daniel Gustafsson (3 Apr 2019)
         1420  +- RELEASE-NOTES: synced
         1421  +  
         1422  +  Bump the version in progress to 7.64.2, if we merge any "change"
         1423  +  before the cut-off date we can update the version.
         1424  +
         1425  +- [Tim Rühsen brought this change]
         1426  +
         1427  +  documentation: Fix several typos
         1428  +  
         1429  +  Closes #3724
         1430  +  Reviewed-by: Jakub Zakrzewski
         1431  +  Reviewed-by: Daniel Gustafsson
         1432  +
         1433  +Jay Satiro (2 Apr 2019)
         1434  +- [Mert Yazıcıoğlu brought this change]
         1435  +
         1436  +  vauth/oauth2: Fix OAUTHBEARER token generation
         1437  +  
         1438  +  OAUTHBEARER tokens were incorrectly generated in a format similar to
         1439  +  XOAUTH2 tokens. These changes make OAUTHBEARER tokens conform to the
         1440  +  RFC7628.
         1441  +  
         1442  +  Fixes: #2487
         1443  +  Reported-by: Paolo Mossino
         1444  +  
         1445  +  Closes https://github.com/curl/curl/pull/3377
         1446  +
         1447  +Marcel Raad (2 Apr 2019)
         1448  +- tool_cb_wrt: fix bad-function-cast warning
         1449  +  
         1450  +  Commit f5bc578f4cdfdc6c708211dfc2962a0e9d79352d reintroduced the
         1451  +  warning fixed in commit 2f5f31bb57d68b54e03bffcd9648aece1fe564f8.
         1452  +  Extend fhnd's scope and reuse that variable instead of calling
         1453  +  _get_osfhandle a second time to fix the warning again.
         1454  +  
         1455  +  Closes https://github.com/curl/curl/pull/3718
         1456  +
         1457  +- VC15 project: remove MinimalRebuild
         1458  +  
         1459  +  Already done in commit d5cfefd0ea8e331b884186bff484210fad36e345 for the
         1460  +  library project, but I forgot the tool project template. Now also
         1461  +  removed for that.
         1462  +
         1463  +Dan Fandrich (1 Apr 2019)
         1464  +- cirrus: Customize the disabled tests per FreeBSD version
         1465  +  
         1466  +  Try to run as many test cases as possible on each OS version.
         1467  +  12.0 passes 13 more tests than the older versions, so we might as well
         1468  +  run them.
         1469  +
         1470  +Daniel Stenberg (1 Apr 2019)
         1471  +- tool_help: include <strings.h> for strcasecmp
         1472  +  
         1473  +  Reported-by: Wyatt O'Day
         1474  +  Fixes #3715
         1475  +  Closes #3716
         1476  +
         1477  +Daniel Gustafsson (31 Mar 2019)
         1478  +- scripts: fix typos
         1479  +
         1480  +Dan Fandrich (28 Mar 2019)
         1481  +- travis: allow builds on branches named "ci"
         1482  +  
         1483  +  This allows a way to test changes other than through PRs.
         1484  +
         1485  +Daniel Stenberg (27 Mar 2019)
         1486  +- [Brad Spencer brought this change]
         1487  +
         1488  +  resolve: apply Happy Eyeballs philosophy to parallel c-ares queries
         1489  +  
         1490  +  Closes #3699
         1491  +
         1492  +- multi: improved HTTP_1_1_REQUIRED handling
         1493  +  
         1494  +  Make sure to downgrade to 1.1 even when we get this HTTP/2 stream error
         1495  +  on first flight.
         1496  +  
         1497  +  Reported-by: niner on github
         1498  +  Fixes #3696
         1499  +  Closes #3707
         1500  +
         1501  +- [Leonardo Taccari brought this change]
         1502  +
         1503  +  configure: avoid unportable `==' test(1) operator
         1504  +  
         1505  +  Closes #3709
     8   1506   
     9   1507   Version 7.64.1 (27 Mar 2019)
    10   1508   
    11   1509   Daniel Stenberg (27 Mar 2019)
    12   1510   - RELEASE: 7.64.1
    13   1511   
    14   1512   - Revert "ntlm: remove USE_WIN32_CRYPTO check to get USE_NTLM2SESSION set"
................................................................................
  6400   7898     Closes https://github.com/curl/curl/pull/2808
  6401   7899   
  6402   7900   Daniel Stenberg (29 Jul 2018)
  6403   7901   - test1157: follow-up to 35ecffb9
  6404   7902     
  6405   7903     Ignore the user-agent line.
  6406   7904     Pointed-out-by: Marcel Raad
  6407         -
  6408         -Michael Kaufmann (29 Jul 2018)
  6409         -- tests/http_pipe.py: Use /usr/bin/env to find python
  6410         -
  6411         -Daniel Stenberg (28 Jul 2018)
  6412         -- TODO: Support Authority Information Access certificate extension (AIA)
  6413         -  
  6414         -  Closes #2793
  6415         -
  6416         -- conn_free: updated comment to clarify
  6417         -  
  6418         -  Let's call it disassociate instead of disconnect since the latter term
  6419         -  is used so much for (TCP) connections already.
  6420         -
  6421         -- test1157: test -H from empty file
  6422         -  
  6423         -  Verifies bugfix #2797
  6424         -
  6425         -- [Tobias Blomberg brought this change]
  6426         -
  6427         -  curl: Fix segfault when -H @headerfile is empty
  6428         -  
  6429         -  The curl binary would crash if the -H command line option was given a
  6430         -  filename to read using the @filename syntax but that file was empty.
  6431         -  
  6432         -  Closes #2797
  6433         -
  6434         -- mime: check Curl_rand_hex's return code
  6435         -  
  6436         -  Bug: https://curl.haxx.se/mail/archive-2018-07/0015.html
  6437         -  Reported-by: Jeffrey Walton
  6438         -  Closes #2795
  6439         -
  6440         -- [Josh Bialkowski brought this change]
  6441         -
  6442         -  docs/examples: add hiperfifo example using linux epoll/timerfd
  6443         -  
  6444         -  Closes #2804
  6445         -
  6446         -- [Darío Hereñú brought this change]
  6447         -
  6448         -  docs/INSTALL.md: minor formatting fixes
  6449         -  
  6450         -  Closes #2794
  6451         -
  6452         -- [Christopher Head brought this change]
  6453         -
  6454         -  docs/CURLOPT_URL: fix indentation
  6455         -  
  6456         -  The statement, “The application does not have to keep the string around
  6457         -  after setting this option,” appears to be indented under the RTMP
  6458         -  paragraph. It actually applies to all protocols, not just RTMP.
  6459         -  Eliminate the extra indentation.
  6460         -  
  6461         -  Closes #2788
  6462         -
  6463         -- [Christopher Head brought this change]
  6464         -
  6465         -  docs/CURLOPT_WRITEFUNCTION: size is always 1
  6466         -  
  6467         -  For compatibility with `fwrite`, the `CURLOPT_WRITEFUNCTION` callback is
  6468         -  passed two `size_t` parameters which, when multiplied, designate the
  6469         -  number of bytes of data passed in. In practice, CURL always sets the
  6470         -  first parameter (`size`) to 1.
  6471         -  
  6472         -  This practice is also enshrined in documentation and cannot be changed
  6473         -  in future. The documentation states that the default callback is
  6474         -  `fwrite`, which means `fwrite` must be a suitable function for this
  6475         -  purpose. However, the documentation also states that the callback must
  6476         -  return the number of *bytes* it successfully handled, whereas ISO C
  6477         -  `fwrite` returns the number of items (each of size `size`) which it
  6478         -  wrote. The only way these numbers can be equal is if `size` is 1.
  6479         -  
  6480         -  Since `size` is 1 and can never be changed in future anyway, document
  6481         -  that fact explicitly and let users rely on it.
  6482         -  
  6483         -  Closes #2787
  6484         -
  6485         -- [Carie Pointer brought this change]
  6486         -
  6487         -  wolfSSL/CyaSSL: Fix memory leak in Curl_cyassl_random
  6488         -  
  6489         -  RNG structure must be freed by call to FreeRng after its use in
  6490         -  Curl_cyassl_random. This call fixes Valgrind failures when running the
  6491         -  test suite with wolfSSL.
  6492         -  
  6493         -  Closes #2784
  6494         -
  6495         -- [Even Rouault brought this change]
  6496         -
  6497         -  reuse_conn(): free old_conn->options
  6498         -  
  6499         -  This fixes a memory leak when CURLOPT_LOGIN_OPTIONS is used, together with
  6500         -  connection reuse.
  6501         -  
  6502         -  I found this with oss-fuzz on GDAL and curl master:
  6503         -  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9582
  6504         -  I couldn't reproduce with the oss-fuzz original test case, but looking
  6505         -  at curl source code pointed to this well reproducable leak.
  6506         -  
  6507         -  Closes #2790
  6508         -
  6509         -Marcel Raad (25 Jul 2018)
  6510         -- [Daniel Jelinski brought this change]
  6511         -
  6512         -  system_win32: fix version checking
  6513         -  
  6514         -  In the current version, VERSION_GREATER_THAN_EQUAL 6.3 will return false
  6515         -  when run on windows 10.0. This patch addresses that error.
  6516         -  
  6517         -  Closes https://github.com/curl/curl/pull/2792
  6518         -
  6519         -Daniel Stenberg (24 Jul 2018)
  6520         -- [Johannes Schindelin brought this change]
  6521         -
  6522         -  auth: pick Bearer authentication whenever a token is available
  6523         -  
  6524         -  So far, the code tries to pick an authentication method only if
  6525         -  user/password credentials are available, which is not the case for
  6526         -  Bearer authentictation...
  6527         -  
  6528         -  Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
  6529         -  Closes #2754
  6530         -
  6531         -- [Johannes Schindelin brought this change]
  6532         -
  6533         -  auth: only ever pick CURLAUTH_BEARER if we *have* a Bearer token
  6534         -  
  6535         -  The Bearer authentication was added to cURL 7.61.0, but there is a
  6536         -  problem: if CURLAUTH_ANY is selected, and the server supports multiple
  6537         -  authentication methods including the Bearer method, we strongly prefer
  6538         -  that latter method (only CURLAUTH_NEGOTIATE beats it), and if the Bearer
  6539         -  authentication fails, we will never even try to attempt any other
  6540         -  method.
  6541         -  
  6542         -  This is particularly unfortunate when we already know that we do not
  6543         -  have any Bearer token to work with.
  6544         -  
  6545         -  Such a scenario happens e.g. when using Git to push to Visual Studio
  6546         -  Team Services (which supports Basic and Bearer authentication among
  6547         -  other methods) and specifying the Personal Access Token directly in the
  6548         -  URL (this aproach is frequently taken by automated builds).
  6549         -  
  6550         -  Let's make sure that we have a Bearer token to work with before we
  6551         -  select the Bearer authentication among the available authentication
  6552         -  methods.
  6553         -  
  6554         -  Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
  6555         -  Closes #2754
  6556         -
  6557         -Marcel Raad (22 Jul 2018)
  6558         -- test320: treat curl320.out file as binary
  6559         -  
  6560         -  Otherwise, LF line endings are converted to CRLF on Windows,
  6561         -  but no conversion is done for the reply, so the test case fails.
  6562         -  
  6563         -  Closes https://github.com/curl/curl/pull/2776
  6564         -
  6565         -Daniel Stenberg (22 Jul 2018)
  6566         -- vtls: set conn->data when closing TLS
  6567         -  
  6568         -  Follow-up to 1b76c38904f0. The VTLS backends that close down the TLS
  6569         -  layer for a connection still needs a Curl_easy handle for the session_id
  6570         -  cache etc.
  6571         -  
  6572         -  Fixes #2764
  6573         -  Closes #2771
  6574         -
  6575         -Marcel Raad (21 Jul 2018)
  6576         -- tests: fixes for Windows line endlings
  6577         -  
  6578         -  Set mode="text" when line endings depend on the system representation.
  6579         -  
  6580         -  Closes https://github.com/curl/curl/pull/2772
  6581         -
  6582         -- test214: disable MSYS2's POSIX path conversion for URL
  6583         -  
  6584         -  By default, the MSYS2 bash converts all backslashes to forward slashes
  6585         -  in URLs. Disable this with MSYS2_ARG_CONV_EXCL for the test to pass.
  6586         -  
  6587         -  Ref https://github.com/msys2/msys2/wiki/Porting#filesystem-namespaces
  6588         -
  6589         -Daniel Stenberg (20 Jul 2018)
  6590         -- http2: several cleanups
  6591         -  
  6592         -  - separate easy handle from connections better
  6593         -  - added asserts on a number of places
  6594         -  - added sanity check of pipelines for debug builds
  6595         -  
  6596         -  Closes #2751
  6597         -
  6598         -- smb_getsock: always wait for write socket too
  6599         -  
  6600         -  ... the protocol is doing read/write a lot, so it needs to write often
  6601         -  even when downloading. A more proper fix could check for eactly when it
  6602         -  wants to write and only ask for it then.
  6603         -  
  6604         -  Without this fix, an SMB download could easily get stuck when the event-driven
  6605         -  API was used.
  6606         -  
  6607         -  Closes #2768
  6608         -
  6609         -Marcel Raad (20 Jul 2018)
  6610         -- test1143: disable MSYS2's POSIX path conversion
  6611         -  
  6612         -  By default, the MSYS2 bash interprets http:/%HOSTIP:%HTTPPORT/want/1143
  6613         -  as a POSIX file list and converts it to a Windows file list.
  6614         -  Disable this with MSYS2_ARG_CONV_EXCL for the test to pass.
  6615         -  
  6616         -  Ref https://github.com/msys2/msys2/wiki/Porting#filesystem-namespaces
  6617         -  Closes https://github.com/curl/curl/pull/2765
  6618         -
  6619         -Daniel Stenberg (18 Jul 2018)
  6620         -- RELEASE-NOTES: sync
  6621         -  
  6622         -  ... and work toward 7.61.1
  6623         -
  6624         -- [Ruslan Baratov brought this change]
  6625         -
  6626         -  CMake: Update scripts to use consistent style
  6627         -  
  6628         -  Closes #2727
  6629         -  Reviewed-by: Sergei Nikulov
  6630         -
  6631         -- header output: switch off all styles, not just unbold
  6632         -  
  6633         -  ... the "unbold" sequence doesn't work on the mac Terminal.
  6634         -  
  6635         -  Reported-by: Zero King
  6636         -  Fixes #2736
  6637         -  Closes #2738
  6638         -
  6639         -Nick Zitzmann (14 Jul 2018)
  6640         -- [Rodger Combs brought this change]
  6641         -
  6642         -  darwinssl: add support for ALPN negotiation
  6643         -
  6644         -Marcel Raad (14 Jul 2018)
  6645         -- test1422: add required file feature
  6646         -  
  6647         -  curl configured with --enable-debug --disable-file currently complains
  6648         -  on test1422:
  6649         -  Info: Protocol "file" not supported or disabled in libcurl
  6650         -  
  6651         -  Make test1422 dependend on enabled FILE protocol to fix this.
  6652         -  
  6653         -  Fixes https://github.com/curl/curl/issues/2741
  6654         -  Closes https://github.com/curl/curl/pull/2742
  6655         -
  6656         -Patrick Monnerat (12 Jul 2018)
  6657         -- content_encoding: accept up to 4 unknown trailer bytes after raw deflate data
  6658         -  
  6659         -  Some servers issue raw deflate data that may be followed by an undocumented
  6660         -  trailer. This commit makes curl tolerate such a trailer of up to 4 bytes
  6661         -  before considering the data is in error.
  6662         -  
  6663         -  Reported-by: clbr on github
  6664         -  Fixes #2719
  6665         -
  6666         -Daniel Stenberg (12 Jul 2018)
  6667         -- smb: fix memory-leak in URL parse error path
  6668         -  
  6669         -  Detected by OSS-Fuzz
  6670         -  Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9369
  6671         -  Closes #2740
  6672         -
  6673         -Marcel Raad (12 Jul 2018)
  6674         -- schannel: enable CALG_TLS1PRF for w32api >= 5.1
  6675         -  
  6676         -  The definition of CALG_TLS1PRF has been fixed in the 5.1 branch:
  6677         -  https://osdn.net/projects/mingw/scm/git/mingw-org-wsl/commits/73aedcc0f2e6ba370de0d86ab878ad76a0dda7b5
  6678         -
  6679         -Daniel Stenberg (12 Jul 2018)
  6680         -- docs/SECURITY-PROCESS: mention bounty, drop pre-notify
  6681         -  
  6682         -  + The hackerone bounty and its process
  6683         -  
  6684         -  - We don't and can't handle pre-notification
  6685         -
  6686         -- multi: always do the COMPLETED procedure/state
  6687         -  
  6688         -  It was previously erroneously skipped in some situations.
  6689         -  
  6690         -  libtest/libntlmconnect.c wrongly depended on wrong behavior (that it
  6691         -  would get a zero timeout) when no handles are "running" in a multi
  6692         -  handle. That behavior is no longer present with this fix. Now libcurl
  6693         -  will always return a -1 timeout when all handles are completed.
  6694         -  
  6695         -  Closes #2733
  6696         -
  6697         -- Curl_getoff_all_pipelines: improved for multiplexed
  6698         -  
  6699         -  On multiplexed connections, transfers can be removed from anywhere not
  6700         -  just at the head as for pipelines.
  6701         -
  6702         -- ares: check for NULL in completed-callback
  6703         -
  6704         -- conn: remove the boolean 'inuse' field
  6705         -  
  6706         -  ... as the usage needs to be counted.
  6707         -
  6708         -- [Paul Howarth brought this change]
  6709         -
  6710         -  openssl: assume engine support in 1.0.0 or later
  6711         -  
  6712         -  Commit 38203f1585da changed engine detection to be version-based,
  6713         -  with a baseline of openssl 1.0.1. This does in fact break builds
  6714         -  with openssl 1.0.0, which has engine support - the configure script
  6715         -  detects that ENGINE_cleanup() is available - but <openssl/engine.h>
  6716         -  doesn't get included to declare it.
  6717         -  
  6718         -  According to upstream documentation, engine support was added to
  6719         -  mainstream openssl builds as of version 0.9.7:
  6720         -  https://github.com/openssl/openssl/blob/master/README.ENGINE
  6721         -  
  6722         -  This commit drops the version test down to 1.0.0 as version 1.0.0d
  6723         -  is the oldest version I have to test with.
  6724         -  
  6725         -  Closes #2732
  6726         -
  6727         -Marcel Raad (11 Jul 2018)
  6728         -- schannel: fix MinGW compile break
  6729         -  
  6730         -  Original MinGW's w32api has a sytax error in its definition of
  6731         -  CALG_TLS1PRF [0]. Don't use original MinGW w32api's CALG_TLS1PRF
  6732         -  until this bug [1] is fixed.
  6733         -  
  6734         -  [0] https://osdn.net/projects/mingw/scm/git/mingw-org-wsl/blobs/d1d4a17e51a2b78e252ef0147d483267d56c90cc/w32api/include/wincrypt.h
  6735         -  [1] https://osdn.net/projects/mingw/ticket/38391
  6736         -  
  6737         -  Fixes https://github.com/curl/curl/pull/2721#issuecomment-403636043
  6738         -  Closes https://github.com/curl/curl/pull/2728
  6739         -
  6740         -Daniel Stenberg (11 Jul 2018)
  6741         -- examples/crawler.c: move #ifdef to column 0
  6742         -  
  6743         -  Apparently the C => HTML converter on the web site doesn't quite like it
  6744         -  otherwise.
  6745         -  
  6746         -  Reported-by: Jeroen Ooms
  6747         -
  6748         -Version 7.61.0 (11 Jul 2018)
  6749         -
  6750         -Daniel Stenberg (11 Jul 2018)
  6751         -- release: 7.61.0
  6752         -
  6753         -- TODO: Configurable loading of OpenSSL configuration file
  6754         -  
  6755         -  Closes #2724
  6756         -
  6757         -- post303.d: clarify that this is an RFC violation
  6758         -  
  6759         -  ... and not the other way around, which this previously said.
  6760         -  
  6761         -  Reported-by: Vasiliy Faronov
  6762         -  Fixes #2723
  6763         -  Closes #2726
  6764         -
  6765         -- [Ruslan Baratov brought this change]
  6766         -
  6767         -  CMake: remove redundant and old end-of-block syntax
  6768         -  
  6769         -  Reviewed-by: Jakub Zakrzewski
  6770         -  Closes #2715
  6771         -
  6772         -Jay Satiro (9 Jul 2018)
  6773         -- lib/curl_setup.h: remove unicode character
  6774         -  
  6775         -  Follow-up to 82ce416.
  6776         -  
  6777         -  Ref: https://github.com/curl/curl/commit/8272ec5#commitcomment-29646818
  6778         -
  6779         -Daniel Stenberg (9 Jul 2018)
  6780         -- lib/curl_setup.h: remove unicode bom from 8272ec50f02
  6781         -
  6782         -Marcel Raad (9 Jul 2018)
  6783         -- schannel: fix -Wsign-compare warning
  6784         -  
  6785         -  MinGW warns:
  6786         -  /lib/vtls/schannel.c:219:64: warning: signed and unsigned type in
  6787         -  conditional expression [-Wsign-compare]
  6788         -  
  6789         -  Fix this by casting the ptrdiff_t to size_t as we know it's positive.
  6790         -  
  6791         -  Closes https://github.com/curl/curl/pull/2721
  6792         -
  6793         -- schannel: workaround for wrong function signature in w32api
  6794         -  
  6795         -  Original MinGW's w32api has CryptHashData's second parameter as BYTE *
  6796         -  instead of const BYTE *.
  6797         -  
  6798         -  Closes https://github.com/curl/curl/pull/2721
  6799         -
  6800         -- schannel: make more cipher options conditional
  6801         -  
  6802         -  They are not defined in the original MinGW's <wincrypt.h>.
  6803         -  
  6804         -  Closes https://github.com/curl/curl/pull/2721
  6805         -
  6806         -- curl_setup: include <winerror.h> before <windows.h>
  6807         -  
  6808         -  Otherwise, only part of it gets pulled in through <windows.h> on
  6809         -  original MinGW.
  6810         -  
  6811         -  Fixes https://github.com/curl/curl/issues/2361
  6812         -  Closes https://github.com/curl/curl/pull/2721
  6813         -
  6814         -- examples: fix -Wformat warnings
  6815         -  
  6816         -  When size_t is not a typedef for unsigned long (as usually the case on
  6817         -  Windows), GCC emits -Wformat warnings when using lu and lx format
  6818         -  specifiers with size_t. Silence them with explicit casts to
  6819         -  unsigned long.
  6820         -  
  6821         -  Closes https://github.com/curl/curl/pull/2721
  6822         -
  6823         -Daniel Stenberg (9 Jul 2018)
  6824         -- smtp: use the upload buffer size for scratch buffer malloc
  6825         -  
  6826         -  ... not the read buffer size, as that can be set smaller and thus cause
  6827         -  a buffer overflow! CVE-2018-0500
  6828         -  
  6829         -  Reported-by: Peter Wu
  6830         -  Bug: https://curl.haxx.se/docs/adv_2018-70a2.html
  6831         -
  6832         -- [Dave Reisner brought this change]
  6833         -
  6834         -  scripts: include _curl as part of CLEANFILES
  6835         -  
  6836         -  Closes #2718
  6837         -
  6838         -- [Nick Zitzmann brought this change]
  6839         -
  6840         -  darwinssl: allow High Sierra users to build the code using GCC
  6841         -  
  6842         -  ...but GCC users lose out on TLS 1.3 support, since we can't weak-link
  6843         -  enumeration constants.
  6844         -  
  6845         -  Fixes #2656
  6846         -  Closes #2703
  6847         -
  6848         -- [Ruslan Baratov brought this change]
  6849         -
  6850         -  CMake: Remove unused 'output_var' from 'collect_true'
  6851         -  
  6852         -  Variable 'output_var' is not used and can be removed.
  6853         -  Function 'collect_true' renamed to 'count_true'.
  6854         -
  6855         -- [Ruslan Baratov brought this change]
  6856         -
  6857         -  CMake: Remove unused functions
  6858         -  
  6859         -  Closes #2711
  6860         -
  6861         -- KNOWN_BUGS: Stick to same family over SOCKS proxy
  6862         -
  6863         -- libssh: goto DISCONNECT state on error, not SSH_SESSION_FREE
  6864         -  
  6865         -  ... because otherwise not everything get closed down correctly.
  6866         -  
  6867         -  Fixes #2708
  6868         -  Closes #2712
  6869         -
  6870         -- libssh: include line number in state change debug messages
  6871         -  
  6872         -  Closes #2713
  6873         -
  6874         -- KNOWN_BUGS: Borland support is dropped, AIX problem is too old
  6875         -
  6876         -- [Jeroen Ooms brought this change]
  6877         -
  6878         -  example/crawler.c: simple crawler based on libxml2
  6879         -  
  6880         -  Closes #2706
  6881         -
  6882         -- RELEASE-NOTES: synced
  6883         -
  6884         -- DEPRECATE: include year when specifying date
  6885         -
  6886         -- DEPRECATE: linkified
  6887         -
  6888         -- DEPRECATE: mention the PR that disabled axTLS
  6889         -
  6890         -- docs/DEPRECATE.md: spelling and minor formatting
  6891         -
  6892         -- DEPRECATE: new doc describing planned item removals
  6893         -  
  6894         -  Closes #2704
  6895         -
  6896         -- [Gisle Vanem brought this change]
  6897         -
  6898         -  telnet: fix clang warnings
  6899         -  
  6900         -  telnet.c(1401,28): warning: cast from function call of type 'int' to
  6901         -  non-matching type 'HANDLE' (aka 'void *') [-Wbad-function-cast]
  6902         -  
  6903         -  Fixes #2696
  6904         -  Closes #2700
  6905         -
  6906         -- docs: fix missed option name markups
  6907         -
  6908         -- [Gaurav Malhotra brought this change]
  6909         -
  6910         -  openssl: Remove some dead code
  6911         -  
  6912         -  Closes #2698
  6913         -
  6914         -- openssl: make the requested TLS version the *minimum* wanted
  6915         -  
  6916         -  The code treated the set version as the *exact* version to require in
  6917         -  the TLS handshake, which is not what other TLS backends do and probably
  6918         -  not what most people expect either.
  6919         -  
  6920         -  Reported-by: Andreas Olsson
  6921         -  Assisted-by: Gaurav Malhotra
  6922         -  Fixes #2691
  6923         -  Closes #2694
  6924         -
  6925         -- RELEASE-NOTES: synced
  6926         -
  6927         -- openssl: allow TLS 1.3 by default
  6928         -  
  6929         -  Reported-by: Andreas Olsson
  6930         -  Fixes #2692
  6931         -  Closes #2693
  6932         -
  6933         -- [Adrian Peniak brought this change]
  6934         -
  6935         -  CURLINFO_TLS_SSL_PTR.3: improve the example
  6936         -  
  6937         -  The previous example was a little bit confusing, because SSL* structure
  6938         -  (or other "in use" SSL connection pointer) is not accessible after the
  6939         -  transfer is completed, therefore working with the raw TLS library
  6940         -  specific pointer needs to be done during transfer.
  6941         -  
  6942         -  Closes #2690
  6943         -
  6944         -- travis: add a build using the synchronous name resolver
  6945         -  
  6946         -  ... since default uses the threaded one and we test the c-ares build
  6947         -  already.
  6948         -  
  6949         -  Closes #2689
  6950         -
  6951         -- configure: remove CURL_CHECK_NI_WITHSCOPEID too
  6952         -  
  6953         -  Since it isn't used either and requires the getnameinfo check
  6954         -  
  6955         -  Follow-up to 0aeca41702d2
  6956         -
  6957         -- getnameinfo: not used
  6958         -  
  6959         -  Closes #2687
  6960         -
  6961         -- easy_perform: use *multi_timeout() to get wait times
  6962         -  
  6963         -  ... and trim the threaded Curl_resolver_getsock() to return zero
  6964         -  millisecond wait times during the first three milliseconds so that
  6965         -  localhost or names in the OS resolver cache gets detected and used
  6966         -  faster.
  6967         -  
  6968         -  Closes #2685
  6969         -
  6970         -Max Dymond (27 Jun 2018)
  6971         -- configure: Add dependent libraries after crypto
  6972         -  
  6973         -  The linker is pretty dumb and processes things left to right, keeping a
  6974         -  tally of symbols it hasn't resolved yet. So, we need -ldl to appear
  6975         -  after -lcrypto otherwise the linker won't find the dl functions.
  6976         -  
  6977         -  Closes #2684
  6978         -
  6979         -Daniel Stenberg (27 Jun 2018)
  6980         -- GOVERNANCE: linkify, changed some titles
  6981         -
  6982         -- GOVERNANCE: add maintainer details/duties
  6983         -
  6984         -- url: check Curl_conncache_add_conn return code
  6985         -  
  6986         -  ... it was previously unchecked in two places and thus errors could
  6987         -  remain undetected and cause trouble.
  6988         -  
  6989         -  Closes #2681
  6990         -
  6991         -- include/README: remove "hacking" advice, not the right place
  6992         -
  6993         -- RELEASE-NOTES: synced
  6994         -
  6995         -- CURLOPT_SSL_VERIFYPEER.3: fix syntax mistake
  6996         -  
  6997         -  Follow-up to b6a16afa0aa5
  6998         -
  6999         -- netrc: use a larger buffer
  7000         -  
  7001         -  ... to work with longer passwords etc. Grow it from a 256 to a 4096
  7002         -  bytes buffer.
  7003         -  
  7004         -  Reported-by: Dario Nieuwenhuis
  7005         -  Fixes #2676
  7006         -  Closes #2680
  7007         -
  7008         -- [Patrick Schlangen brought this change]
  7009         -
  7010         -  CURLOPT_SSL_VERIFYPEER.3: Add performance note
  7011         -  
  7012         -  Closes #2673
  7013         -
  7014         -- [Javier Blazquez brought this change]
  7015         -
  7016         -  multi: fix crash due to dangling entry in connect-pending list
  7017         -  
  7018         -  Fixes #2677
  7019         -  Closes #2679
  7020         -
  7021         -- ConnectionExists: make sure conn->data is set when "taking" a connection
  7022         -  
  7023         -  Follow-up to 2c15693.
  7024         -  
  7025         -  Bug #2674
  7026         -  Closes #2675
  7027         -
  7028         -- [Kevin R. Bulgrien brought this change]
  7029         -
  7030         -  system.h: fix for gcc on 32 bit OpenServer
  7031         -  
  7032         -  Bug: https://curl.haxx.se/mail/lib-2018-06/0100.html
  7033         -
  7034         -- [Raphael Gozzo brought this change]
  7035         -
  7036         -  cmake: allow multiple SSL backends
  7037         -  
  7038         -  This will make possible to select the SSL backend (using
  7039         -  curl_global_sslset()) even when the libcurl is built using CMake
  7040         -  
  7041         -  Closes #2665
  7042         -
  7043         -- url: fix dangling conn->data pointer
  7044         -  
  7045         -  By masking sure to use the *current* easy handle with extracted
  7046         -  connections from the cache, and make sure to NULLify the ->data pointer
  7047         -  when the connection is put into the cache to make this mistake easier to
  7048         -  detect in the future.
  7049         -  
  7050         -  Reported-by: Will Dietz
  7051         -  Fixes #2669
  7052         -  Closes #2672
  7053         -
  7054         -- CURLOPT_INTERFACE.3: interface names not supported on Windows
  7055         -
  7056         -- travis: run more tests for coverage check
  7057         -  
  7058         -  ... run a few more tortured based and run all tests event-based.
  7059         -  
  7060         -  Closes #2664
  7061         -
  7062         -- multi: fix memory leak when stopped during name resolve
  7063         -  
  7064         -  When the application just started the transfer and then stops it while
  7065         -  the name resolve in the background thread hasn't completed, we need to
  7066         -  wait for the resolve to complete and then cleanup data accordingly.
  7067         -  
  7068         -  Enabled test 1553 again and added test 1590 to also check when the host
  7069         -  name resolves successfully.
  7070         -  
  7071         -  Detected by OSS-fuzz.
  7072         -  Closes #1968
  7073         -
  7074         -Viktor Szakats (15 Jun 2018)
  7075         -- maketgz: delete .bak files, fix indentation
  7076         -  
  7077         -  Ref: https://github.com/curl/curl/pull/2660
  7078         -  
  7079         -  Closes https://github.com/curl/curl/pull/2662
  7080         -
  7081         -Daniel Stenberg (15 Jun 2018)
  7082         -- runtests.pl: remove debug leftover from bb9a340c73f3
  7083         -
  7084         -- curl-confopts.m4: fix typo from ed224f23d5beb
  7085         -  
  7086         -  Fixes my local configure to detect a custom installed c-ares without
  7087         -  pkgconfig.
  7088         -
  7089         -- docs/RELEASE-PROCEDURE.md: renamed to use .md extension
  7090         -  
  7091         -  Closes #2663
  7092         -
  7093         -- RELEASE-PROCEDURE: gpg sign the tags
  7094         -
  7095         -- RELEASE-NOTES: synced
  7096         -
  7097         -- CURLOPT_HTTPAUTH.3: CURLAUTH_BEARER was added in 7.61.0
  7098         -
  7099         -- [Mamta Upadhyay brought this change]
  7100         -
  7101         -  maketgz: fix sed issues on OSX
  7102         -  
  7103         -  maketgz creates release tarballs and removes the -DEV string in curl
  7104         -  version (e.g. 7.58.0-DEV), else -DEV shows up on command line when curl
  7105         -  is run. maketgz works fine on linux but fails on OSX. Problem is with
  7106         -  the sed commands that use option -i without an extension. Maketgz
  7107         -  expects GNU sed instead of BSD and this simply won't work on OSX. Adding
  7108         -  a backup extension .bak after -i fixes this issue
  7109         -  
  7110         -  Running the script as if on OSX gives this error:
  7111         -  
  7112         -  sed: -e: No such file or directory
  7113         -  
  7114         -  Adding a .bak extension resolves it
  7115         -  
  7116         -  Closes #2660
  7117         -
  7118         -- configure: enhance ability to detect/build with static openssl
  7119         -  
  7120         -  Fix the -ldl and -ldl + -lpthread checks for OpenSSL, necessary for
  7121         -  building with static libs without pkg-config.
  7122         -  
  7123         -  Reported-by: Marcel Raad
  7124         -  Fixes #2199
  7125         -  Closes #2659
  7126         -
  7127         -- configure: use pkg-config for c-ares detection
  7128         -  
  7129         -  First check if there's c-ares information given as pkg-config info and use
  7130         -  that as first preference.
  7131         -  
  7132         -  Reported-by: pszemus on github
  7133         -  Fixes #2203
  7134         -  Closes #2658
  7135         -
  7136         -- GOVERNANCE.md: explains how this project is run
  7137         -  
  7138         -  Closes #2657
  7139         -
  7140         -- KNOWN_BUGS: NTLM doen't support password with § character
  7141         -  
  7142         -  Closes #2120
  7143         -
  7144         -- KNOWN_BUGS: slow connect to localhost on Windows
  7145         -  
  7146         -  Closes #2281
  7147         -
  7148         -- [Matteo Bignotti brought this change]
  7149         -
  7150         -  mk-ca-bundle.pl: make -u delete certdata.txt if found not changed
  7151         -  
  7152         -  certdata.txt should be deleted also when the process is interrupted by
  7153         -  "same certificate downloaded, exiting"
  7154         -  
  7155         -  The certdata.txt is currently kept on disk even if you give the -u
  7156         -  option
  7157         -  
  7158         -  Closes #2655
  7159         -
  7160         -- progress: remove a set of unused defines
  7161         -  
  7162         -  Reported-by: Peter Wu
  7163         -  Closes #2654
  7164         -
  7165         -- TODO: "Option to refuse usernames in URLs" done
  7166         -  
  7167         -  Implemented by Björn in 946ce5b61f
  7168         -
  7169         -- [Lyman Epp brought this change]
  7170         -
  7171         -  Curl_init_do: handle NULL connection pointer passed in
  7172         -  
  7173         -  Closes #2653
  7174         -
  7175         -- runtests: support variables in <strippart>
  7176         -  
  7177         -  ... and make use of that to make 1455 work better without using a fixed
  7178         -  local port number.
  7179         -  
  7180         -  Fixes #2649
  7181         -  Closes #2650
  7182         -
  7183         -- Curl_debug: remove dead printhost code
  7184         -  
  7185         -  The struct field is never set (since 5e0d9aea3) so remove the use of it
  7186         -  and remove the connectdata pointer from the prototype.
  7187         -  
  7188         -  Reported-by: Tejas
  7189         -  Bug: https://curl.haxx.se/mail/lib-2018-06/0054.html
  7190         -  Closes #2647
  7191         -
  7192         -Viktor Szakats (12 Jun 2018)
  7193         -- schannel: avoid incompatible pointer warning
  7194         -  
  7195         -  with clang-6.0:
  7196         -  ```
  7197         -  vtls/schannel_verify.c: In function 'add_certs_to_store':
  7198         -  vtls/schannel_verify.c:212:30: warning: passing argument 11 of 'CryptQueryObject' from incompatible pointer type [-Wincompatible-pointer-types]
  7199         -                                &cert_context)) {
  7200         -                                ^
  7201         -  In file included from /usr/share/mingw-w64/include/schannel.h:10:0,
  7202         -                   from /usr/share/mingw-w64/include/schnlsp.h:9,
  7203         -                   from vtls/schannel.h:29,
  7204         -                   from vtls/schannel_verify.c:40:
  7205         -  /usr/share/mingw-w64/include/wincrypt.h:4437:26: note: expected 'const void **' but argument is of type 'CERT_CONTEXT ** {aka struct _CERT_CONTEXT **}'
  7206         -     WINIMPM WINBOOL WINAPI CryptQueryObject (DWORD dwObjectType, const void *pvObject, DWORD dwExpectedContentTypeFlags, DWORD dwExpectedFormatTypeFlags, DWORD dwFlags,
  7207         -                            ^~~~~~~~~~~~~~~~
  7208         -  ```
  7209         -  Ref: https://msdn.microsoft.com/library/windows/desktop/aa380264
  7210         -  
  7211         -  Closes https://github.com/curl/curl/pull/2648
  7212         -
  7213         -Daniel Stenberg (12 Jun 2018)
  7214         -- [Robert Prag brought this change]
  7215         -
  7216         -  schannel: support selecting ciphers
  7217         -  
  7218         -  Given the contstraints of SChannel, I'm exposing these as the algorithms
  7219         -  themselves instead; while replicating the ciphersuite as specified by
  7220         -  OpenSSL would have been preferable, I found no way in the SChannel API
  7221         -  to do so.
  7222         -  
  7223         -  To use this from the commandline, you need to pass the names of contants
  7224         -  defining the desired algorithms. For example, curl --ciphers
  7225         -  "CALG_SHA1:CALG_RSA_SIGN:CALG_RSA_KEYX:CALG_AES_128:CALG_DH_EPHEM"
  7226         -  https://github.com The specific names come from wincrypt.h
  7227         -  
  7228         -  Closes #2630
  7229         -
  7230         -- [Bernhard M. Wiedemann brought this change]
  7231         -
  7232         -  test 46: make test pass after 2025
  7233         -  
  7234         -  shifting the expiry date to 2037 for now
  7235         -  to be before the possibly problematic year 2038
  7236         -  
  7237         -  similar in spirit to commit e6293cf8764e9eecb
  7238         -  
  7239         -  Closes #2646
  7240         -
  7241         -- [Marian Klymov brought this change]
  7242         -
  7243         -  cppcheck: fix warnings
  7244         -  
  7245         -  - Get rid of variable that was generating false positive warning
  7246         -  (unitialized)
  7247         -  
  7248         -  - Fix issues in tests
  7249         -  
  7250         -  - Reduce scope of several variables all over
  7251         -  
  7252         -  etc
  7253         -  
  7254         -  Closes #2631
  7255         -
  7256         -- openssl: assume engine support in 1.0.1 or later
  7257         -  
  7258         -  Previously it was checked for in configure/cmake, but that would then
  7259         -  leave other build systems built without engine support.
  7260         -  
  7261         -  While engine support probably existed prior to 1.0.1, I decided to play
  7262         -  safe. If someone experience a problem with this, we can widen the
  7263         -  version check.
  7264         -  
  7265         -  Fixes #2641
  7266         -  Closes #2644
  7267         -
  7268         -- RELEASE-NOTES: synced
  7269         -
  7270         -- RELEASE-PROCEDURE: update the release calendar for 2019
  7271         -
  7272         -- [Gisle Vanem brought this change]
  7273         -
  7274         -  boringssl + schannel: undef X509_NAME in lib/schannel.h
  7275         -  
  7276         -  Fixes the build problem when both boringssl and schannel are enabled.
  7277         -  
  7278         -  Fixes #2634
  7279         -  Closes #2643
  7280         -
  7281         -- [Vladimir Kotal brought this change]
  7282         -
  7283         -  mk-ca-bundle.pl: leave certificate name untouched in decode()
  7284         -  
  7285         -  Closes #2640
  7286         -
  7287         -- [Rikard Falkeborn brought this change]
  7288         -
  7289         -  tests/libtests/Makefile.am: Add lib1521.c to CLEANFILES
  7290         -  
  7291         -  This removes the generated lib1521.c when running make clean.
  7292         -  
  7293         -  Closes #2633
  7294         -
  7295         -- [Rikard Falkeborn brought this change]
  7296         -
  7297         -  tests/libtest: Add lib1521 to nodist_SOURCES
  7298         -  
  7299         -  Since 467da3af0, lib1521.c is generated instead of checked in. According
  7300         -  to the commit message, the intention was to remove it from the tarball
  7301         -  as well. However, it is still present when running make dist. To remove
  7302         -  it, add it to nodist_lib1521_SOURCES. This also means there is no need
  7303         -  for the manually added dist-rule in the Makefile.
  7304         -  
  7305         -  Also update CMakelists.txt to handle the fact that we now may have
  7306         -  nodist_SOURCES.
  7307         -
  7308         -- [Stephan Mühlstrasser brought this change]
  7309         -
  7310         -  system.h: add support for IBM xlc C compiler
  7311         -  
  7312         -  Added a section to system.h guarded with __xlc__ for the IBM xml C
  7313         -  compiler. Before this change the section titled 'generic "safe guess" on
  7314         -  old 32 bit style' was used, which resulted in a wrong definition of
  7315         -  CURL_TYPEOF_CURL_SOCKLEN_T, and for 64-bit also CURL_TYPEOF_CURL_OFF_T
  7316         -  was wrong.
  7317         -  
  7318         -  Compilation warnings fixed with this change:
  7319         -  
  7320         -    CC       libcurl_la-ftp.lo
  7321         -  "ftp.c", line 290.55: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
  7322         -  "ftp.c", line 293.48: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
  7323         -  "ftp.c", line 1070.49: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
  7324         -  "ftp.c", line 1154.53: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
  7325         -  "ftp.c", line 1187.51: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
  7326         -    CC       libcurl_la-connect.lo
  7327         -  "connect.c", line 448.56: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
  7328         -  "connect.c", line 516.66: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
  7329         -  "connect.c", line 687.55: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
  7330         -  "connect.c", line 696.55: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
  7331         -    CC       libcurl_la-tftp.lo
  7332         -  "tftp.c", line 1115.33: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
  7333         -  
  7334         -  Closes #2637
  7335         -
  7336         -- cmdline-opts/cert-type.d: mention "p12" as a recognized type as well
  7337         -
  7338         -Viktor Szakats (3 Jun 2018)
  7339         -- spelling fixes
  7340         -  
  7341         -  Detected using the `codespell` tool (version 1.13.0).
  7342         -  
  7343         -  Also secure and fix an URL.
  7344         -
  7345         -Daniel Stenberg (2 Jun 2018)
  7346         -- axtls: follow-up spell fix of comment
  7347         -
  7348         -- axTLS: not considered fit for use
  7349         -  
  7350         -  URL: https://curl.haxx.se/mail/lib-2018-06/0000.html
  7351         -  
  7352         -  This is step one. It adds #error statements that require source edits to
  7353         -  make curl build again if asked to use axTLS. At a later stage we might
  7354         -  remove the axTLS specific code completely.
  7355         -  
  7356         -  Closes #2628
  7357         -
  7358         -- build: remove the Borland specific makefiles
  7359         -  
  7360         -  According to the user survey 2018, not even one out of 670 users use
  7361         -  them. Nobody on the mailing list spoke up for them either.
  7362         -  
  7363         -  Closes #2629
  7364         -
  7365         -- curl_addrinfo: use same #ifdef conditions in source as header
  7366         -  
  7367         -  ... for curl_dofreeaddrinfo
  7368         -
  7369         -- multi: remove a DEBUGF()
  7370         -  
  7371         -  ... it might call infof() with a NULL first argument that isn't harmful
  7372         -  but makes it not do anything. The infof() line is not very useful
  7373         -  anymore, it has served it purpose. Good riddance!
  7374         -  
  7375         -  Fixes #2627
  7376         -
  7377         -- [Alibek.Jorajev brought this change]
  7378         -
  7379         -  CURLOPT_RESOLVE: always purge old entry first
  7380         -  
  7381         -  If there's an existing entry using the selected name.
  7382         -  
  7383         -  Closes #2622
  7384         -
  7385         -- fnmatch: use the system one if available
  7386         -  
  7387         -  If configure detects fnmatch to be available, use that instead of our
  7388         -  custom one for FTP wildcard pattern matching. For standard compliance,
  7389         -  to reduce our footprint and to use already well tested and well
  7390         -  exercised code.
  7391         -  
  7392         -  A POSIX fnmatch behaves slightly different than the internal function
  7393         -  for a few test patterns currently and the macOS one yet slightly
  7394         -  different. Test case 1307 is adjusted for these differences.
  7395         -  
  7396         -  Closes #2626
  7397         -
  7398         -Patrick Monnerat (31 May 2018)
  7399         -- os400: add new option in ILE/RPG binding
  7400         -  
  7401         -  Follow-up to commit 946ce5b
  7402         -
  7403         -Daniel Stenberg (31 May 2018)
  7404         -- tests/libtest/.gitignore: follow-up fix to ignore lib5* too
  7405         -
  7406         -- KNOWN_BUGS: CURL_GLOBAL_SSL
  7407         -  
  7408         -  Closes #2276
  7409         -
  7410         -- [Bernhard Walle brought this change]
  7411         -
  7412         -  configure: check for declaration of getpwuid_r
  7413         -  
  7414         -  On our x86 Android toolchain, getpwuid_r is implemented but the header
  7415         -  is missing:
  7416         -  
  7417         -   netrc.c:81:7: error: implicit declaration of function 'getpwuid_r' [-Werror=implicit-function-declaration]
  7418         -  
  7419         -  Unfortunately, the function is used in curl_ntlm_wb.c, too, so I moved
  7420         -  the prototype to curl_setup.h.
  7421         -  
  7422         -  Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
  7423         -  Closes #2609
  7424         -
  7425         -- [Rikard Falkeborn brought this change]
  7426         -
  7427         -  tests: update .gitignore for libtests
  7428         -  
  7429         -  Closes #2624
  7430         -
  7431         -- [Rikard Falkeborn brought this change]
  7432         -
  7433         -  strictness: correct {infof, failf} format specifiers
  7434         -  
  7435         -  Closes #2623
  7436         -
  7437         -- [Björn Stenberg brought this change]
  7438         -
  7439         -  option: disallow username in URL
  7440         -  
  7441         -  Adds CURLOPT_DISALLOW_USERNAME_IN_URL and --disallow-username-in-url. Makes
  7442         -  libcurl reject URLs with a username in them.
  7443         -  
  7444         -  Closes #2340
  7445         -
  7446         -- libcurl-security.3: improved layout for two rememdy lists
  7447         -
  7448         -- libcurl-security.3: refer to URL instead of in-source markdown file
  7449         -
  7450         -Viktor Szakats (30 May 2018)
  7451         -- curl.rc: embed manifest for correct Windows version detection
  7452         -  
  7453         -  * enable it in `src/Makefile.m32`
  7454         -  * enable it in `winbuild/MakefileBuild.vc` if a custom manifest is
  7455         -    _not_ enabled via the existing `EMBED_MANIFEST` option
  7456         -  * enable it for all Windows CMake builds (also disable the built-in
  7457         -    minimal manifest, added by CMake by default.)
  7458         -  
  7459         -  For other build systems, add the `-DCURL_EMBED_MANIFEST` option to
  7460         -  the list of RC (Resource Compiler) flags to enable the manifest
  7461         -  included in `src/curl.rc`. This may require to disable whatever
  7462         -  automatic or other means in which way another manifest is added to
  7463         -  `curl.exe`.
  7464         -  
  7465         -  Notice that Borland C doesn't support this method due to a
  7466         -  long-pending resource compiler bug. Watcom C may also not handle
  7467         -  it correctly when the `-zm` `wrc` option is used (this option may
  7468         -  be unnecessary though) and regardless of options in certain earlier
  7469         -  revisions of the 2.0 beta version.
  7470         -  
  7471         -  Closes https://github.com/curl/curl/pull/1221
  7472         -  Fixes https://github.com/curl/curl/issues/2591
  7473         -
  7474         -Patrick Monnerat (30 May 2018)
  7475         -- os400: sync EBCDIC wrappers and ILE/RPG binding with latest options
  7476         -
  7477         -- os400: implement mime api EBCDIC wrappers
  7478         -  
  7479         -  Also sync ILE/RPG binding to define the new functions.
  7480         -
  7481         -Daniel Stenberg (29 May 2018)
  7482         -- setopt: add TLS 1.3 ciphersuites
  7483         -  
  7484         -  Adds CURLOPT_TLS13_CIPHERS and CURLOPT_PROXY_TLS13_CIPHERS.
  7485         -  
  7486         -  curl: added --tls13-ciphers and --proxy-tls13-ciphers
  7487         -  
  7488         -  Fixes #2435
  7489         -  Reported-by: zzq1015 on github
  7490         -  Closes #2607
  7491         -
  7492         -- configure: override AR_FLAGS to silence warning
  7493         -  
  7494         -  The automake default ar flags are 'cru', but the 'u' flag in there
  7495         -  causes warnings on many modern Linux distros. Removing 'u' may have a
  7496         -  minor performance impact on older distros but should not cause harm.
  7497         -  
  7498         -  Explained on the automake mailing list already back in April 2015:
  7499         -  
  7500         -  https://www.mail-archive.com/automake-patches@gnu.org/msg07705.html
  7501         -  
  7502         -  Reported-by: elephoenix on github
  7503         -  Fixes #2617
  7504         -  Closes #2619
  7505         -
  7506         -Sergei Nikulov (29 May 2018)
  7507         -- cmake: fixed comments in compile checks code
  7508         -
  7509         -Daniel Stenberg (29 May 2018)
  7510         -- INSTALL: LDFLAGS=-Wl,-R/usr/local/ssl/lib
  7511         -  
  7512         -  ... the older description doesn't work
  7513         -  
  7514         -  Reported-by: Peter Varga
  7515         -  Fixes #2615
  7516         -  Closes #2616
  7517         -
  7518         -- [Will Dietz brought this change]
  7519         -
  7520         -  KNOWN_BUGS: restore text regarding #2101.
  7521         -  
  7522         -  This was added earlier but appears to have been removed accidentally.
  7523         -  
  7524         -  AFAICT this is very much still an issue.
  7525         -  
  7526         -  -----
  7527         -  
  7528         -  I say "accidentally" because the text seems to have harmlessly snuck
  7529         -  into [1] (which makes no mention of it).  [1] was later reverted for
  7530         -  unspecified reasons in [2], presumably because the mentioned issue was
  7531         -  fixed or invalid.
  7532         -  
  7533         -  [1] de9fac00c40db321d44fa6fbab6eb62ec4c83998
  7534         -  [2] 16d1f369403cbb04bd7b085eabbeebf159473fc2
  7535         -  
  7536         -  Closes #2618
  7537         -
  7538         -- fnmatch: insist on escaped bracket to match
  7539         -  
  7540         -  A non-escaped bracket ([) is for a character group - as documented. It
  7541         -  will *not* match an individual bracket anymore. Test case 1307 updated
  7542         -  accordingly to match.
  7543         -  
  7544         -  Problem detected by OSS-Fuzz, although this fix is probably not a final
  7545         -  fix for the notorious timeout issues.
  7546         -  
  7547         -  Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8525
  7548         -  Closes #2614
  7549         -
  7550         -Patrick Monnerat (28 May 2018)
  7551         -- psl: use latest psl and refresh it periodically
  7552         -  
  7553         -  The latest psl is cached in the multi or share handle. It is refreshed
  7554         -  before use after 72 hours.
  7555         -  New share lock CURL_LOCK_DATA_PSL controls the psl cache sharing.
  7556         -  If the latest psl is not available, the builtin psl is used.
  7557         -  
  7558         -  Reported-by: Yaakov Selkowitz
  7559         -  Fixes #2553
  7560         -  Closes #2601
  7561         -
  7562         -Daniel Stenberg (28 May 2018)
  7563         -- [Fabrice Fontaine brought this change]
  7564         -
  7565         -  configure: fix ssh2 linking when built with a static mbedtls
  7566         -  
  7567         -  The ssh2 pkg-config file could contain the following lines when build
  7568         -  with a static version of mbedtls:
  7569         -     Libs: -L${libdir} -lssh2 /xxx/libmbedcrypto.a
  7570         -     Libs.private: /xxx/libmbedcrypto.a
  7571         -  
  7572         -  This static mbedtls library must be used to correctly detect ssh2
  7573         -  support and this library must be copied in libcurl.pc otherwise
  7574         -  compilation of any application (such as upmpdcli) with libcurl will fail
  7575         -  when trying to found mbedtls functions included in libssh2.  So, replace
  7576         -  pkg-config --libs-only-l by pkg-config --libs.
  7577         -  
  7578         -  Fixes:
  7579         -   - http://autobuild.buildroot.net/results/43e24b22a77f616d6198c10435dcc23cc3b9088a
  7580         -  
  7581         -  Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  7582         -  Closes #2613
  7583         -
  7584         -- RELEASE-NOTES: synced
  7585         -
  7586         -- [Bernhard Walle brought this change]
  7587         -
  7588         -  cmake: check for getpwuid_r
  7589         -  
  7590         -  The autotools-based build system does it, so we do it also in CMake.
  7591         -  
  7592         -  Bug: #2609
  7593         -  Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
  7594         -
  7595         -- cmdline-opts/gen.pl: warn if mutexes: or see-also: list non-existing options
  7596         -
  7597         -- [Frank Gevaerts brought this change]
  7598         -
  7599         -  curl.1: Fix cmdline-opts reference errors.
  7600         -  
  7601         -  --data, --form, and --ntlm were declared to be mutually exclusive with
  7602         -  non-existing options. --data and --form referred to --upload (which is
  7603         -  short for --upload-file and therefore did work, so this one was merely
  7604         -  a bit confusing), --ntlm referred to --negotiated instead of --negotiate.
  7605         -  
  7606         -  Closes #2612
  7607         -
  7608         -- [Frank Gevaerts brought this change]
  7609         -
  7610         -  docs: fix cmdline-opts metadata headers case consistency.
  7611         -  
  7612         -  Almost all headers start with an uppercase letter, but some didn't.
  7613         -
  7614         -- mailmap: Max Savenkov
  7615         -
  7616         -Sergei Nikulov (28 May 2018)
  7617         -- [Max Savenkov brought this change]
  7618         -
  7619         -  Fix the test for fsetxattr and strerror_r tests in CMake to work without compiling
  7620         -
  7621         -Daniel Stenberg (27 May 2018)
  7622         -- mailmap: a Richard Alcock fixup
  7623         -
  7624         -- [Richard Alcock brought this change]
  7625         -
  7626         -  schannel: add failf calls for client certificate failures
  7627         -  
  7628         -  Closes #2604
  7629         -
  7630         -- [Richard Alcock brought this change]
  7631         -
  7632         -  winbuild: In MakefileBuild.vc fix typo DISTDIR->DIRDIST
  7633         -  
  7634         -  Change requirement from $(DISTDIR) to $(DIRDIST)
  7635         -  
  7636         -  closes #2603
  7637         -
  7638         -- [Richard Alcock brought this change]
  7639         -
  7640         -  winbuild: only delete OUTFILE if it exists
  7641         -  
  7642         -  This removes the slightly annoying "Could not file LIBCURL_OBJS.inc" and
  7643         -  "Could not find CURL_OBJS.inc.inc" message when building into a clean
  7644         -  folder.
  7645         -  
  7646         -  closes #2602
  7647         -
  7648         -- [Alejandro R. Sedeño brought this change]
  7649         -
  7650         -  content_encoding: handle zlib versions too old for Z_BLOCK
  7651         -  
  7652         -  Fallback on Z_SYNC_FLUSH when Z_BLOCK is not available.
  7653         -  
  7654         -  Fixes #2606
  7655         -  Closes #2608
  7656         -
  7657         -- multi: provide a socket to wait for in Curl_protocol_getsock
  7658         -  
  7659         -  ... even when there's no protocol specific handler setup.
  7660         -  
  7661         -  Bug: https://curl.haxx.se/mail/lib-2018-05/0062.html
  7662         -  Reported-by: Sean Miller
  7663         -  Closes #2600
  7664         -
  7665         -- [Linus Lewandowski brought this change]
  7666         -
  7667         -  httpauth: add support for Bearer tokens
  7668         -  
  7669         -  Closes #2102
  7670         -
  7671         -- TODO: CURLINFO_PAUSE_STATE
  7672         -  
  7673         -  Closes #2588
  7674         -
  7675         -Sergei Nikulov (24 May 2018)
  7676         -- cmake: set -d postfix for debug builds if not specified
  7677         -         using -DCMAKE_DEBUG_POSTFIX explicitly
  7678         -  
  7679         -         fixes #2121, obsoletes #2384
  7680         -
  7681         -Daniel Stenberg (23 May 2018)
  7682         -- configure: add basic test of --with-ssl prefix
  7683         -  
  7684         -  When given a prefix, the $PREFIX_OPENSSL/lib/openssl.pc or
  7685         -  $PREFIX_OPENSSL/include/openssl/ssl.h files must be present or cause an
  7686         -  error. Helps users detect when giving configure the wrong path.
  7687         -  
  7688         -  Reported-by: Oleg Pudeyev
  7689         -  Assisted-by: Per Malmberg
  7690         -  Fixes #2580
  7691         -
  7692         -Patrick Monnerat (22 May 2018)
  7693         -- http resume: skip body if http code 416 (range error) is ignored.
  7694         -  
  7695         -  This avoids appending error data to already existing good data.
  7696         -  
  7697         -  Test 92 is updated to match this change.
  7698         -  New test 1156 checks all combinations of --range/--resume, --fail,
  7699         -  Content-Range header and http status code 200/416.
  7700         -  
  7701         -  Fixes #1163
  7702         -  Reported-By: Ithubg on github
  7703         -  Closes #2578
  7704         -
  7705         -Daniel Stenberg (22 May 2018)
  7706         -- tftp: make sure error is zero terminated before printfing it
  7707         -
  7708         -- configure: add missing m4/ax_compile_check_sizeof.m4
  7709         -  
  7710         -  follow-up to mistake in 6876ccf90b4
  7711         -
  7712         -Jay Satiro (22 May 2018)
  7713         -- [Johannes Schindelin brought this change]
  7714         -
  7715         -  schannel: make CAinfo parsing resilient to CR/LF
  7716         -  
  7717         -  OpenSSL has supported --cacert for ages, always accepting LF-only line
  7718         -  endings ("Unix line endings") as well as CR/LF line endings ("Windows
  7719         -  line endings").
  7720         -  
  7721         -  When we introduced support for --cacert also with Secure Channel (or in
  7722         -  cURL speak: "WinSSL"), we did not take care to support CR/LF line
  7723         -  endings, too, even if we are much more likely to receive input in that
  7724         -  form when using Windows.
  7725         -  
  7726         -  Let's fix that.
  7727         -  
  7728         -  Happily, CryptQueryObject(), the function we use to parse the ca-bundle,
  7729         -  accepts CR/LF input already, and the trailing LF before the END
  7730         -  CERTIFICATE marker catches naturally any CR/LF line ending, too. So all
  7731         -  we need to care about is the BEGIN CERTIFICATE marker. We do not
  7732         -  actually need to verify here that the line ending is CR/LF. Just
  7733         -  checking for a CR or an LF is really plenty enough.
  7734         -  
  7735         -  Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
  7736         -  
  7737         -  Closes https://github.com/curl/curl/pull/2592
  7738         -
  7739         -Daniel Stenberg (22 May 2018)
  7740         -- CURLOPT_ACCEPT_ENCODING.3: add brotli and clarify a bit
  7741         -
  7742         -- RELEASE-NOTES: synced
  7743         -
  7744         -- KNOWN_BUGS: mention the -O with %-encoded file names
  7745         -  
  7746         -  Closes #2573
  7747         -
  7748         -- checksrc: make sure sizeof() is used *with* parentheses
  7749         -  
  7750         -  ... and unify the source code to adhere.
  7751         -  
  7752         -  Closes #2563
  7753         -
  7754         -- curl: added --styled-output
  7755         -  
  7756         -  It is enabled by default, so --no-styled-output will switch off the
  7757         -  detection/use of bold headers.
  7758         -  
  7759         -  Closes #2538
  7760         -
  7761         -- curl: show headers in bold
  7762         -  
  7763         -  The feature is only enabled if the output is believed to be a tty.
  7764         -  
  7765         -  -J: There's some minor differences and improvements in -J handling, as
  7766         -  now J should work with -i and it actually creates a file first using the
  7767         -  initial name and then *renames* that to the one found in
  7768         -  Content-Disposition (if any).
  7769         -  
  7770         -  -i: only shows headers for HTTP transfers now (as documented).
  7771         -  Previously it would also show for pieces of the transfer that were HTTP
  7772         -  (for example when doing FTP over a HTTP proxy).
  7773         -  
  7774         -  -i: now shows trailers as well. Previously they were not shown at all.
  7775         -  
  7776         -  --libcurl: the CURLOPT_HEADER is no longer set, as the header output is
  7777         -  now done in the header callback.
  7778         -
  7779         -- configure: compile-time SIZEOF checks
  7780         -  
  7781         -  ... instead of exeucting code to get the size. Removes the use of
  7782         -  LD_LIBRARY_PATH for this.
  7783         -  
  7784         -  Fixes #2586
  7785         -  Closes #2589
  7786         -  Reported-by: Bernhard Walle
  7787         -
  7788         -- configure: replace AC_TRY_RUN with CURL_RUN_IFELSE
  7789         -  
  7790         -  ... and export LD_LIBRARY_PATH properly. This is a follow-up from
  7791         -  2d4c215.
  7792         -  
  7793         -  Fixes #2586
  7794         -  Reported-by: Bernhard Walle
  7795         -
  7796         -- docs: clarify CURLOPT_HTTPGET somewhat
  7797         -  
  7798         -  Reported-by: bsammon on github
  7799         -  Fixes #2590
  7800         -
  7801         -- curl_fnmatch: only allow two asterisks for matching
  7802         -  
  7803         -  The previous limit of 5 can still end up in situation that takes a very
  7804         -  long time and consumes a lot of CPU.
  7805         -  
  7806         -  If there is still a rare use case for this, a user can provide their own
  7807         -  fnmatch callback for a version that allows a larger set of wildcards.
  7808         -  
  7809         -  This commit was triggered by yet another OSS-Fuzz timeout due to this.
  7810         -  Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8369
  7811         -  
  7812         -  Closes #2587
  7813         -
  7814         -- checksrc: fix too long line
  7815         -  
  7816         -  follow-up to e05ad5d
  7817         -
  7818         -- [Aleks brought this change]
  7819         -
  7820         -  docs: mention HAproxy protocol "version 1"
  7821         -  
  7822         -  ...as there's also a version 2.
  7823         -  
  7824         -  Closes #2579
  7825         -
  7826         -- examples/progressfunc: make it build on older libcurls
  7827         -  
  7828         -  This example was changed in ce2140a8c1 to use the new microsecond based
  7829         -  getinfo option. This change makes it conditionally keep using the older
  7830         -  option so that the example still builds with older libcurl versions.
  7831         -  
  7832         -  Closes #2584
  7833         -
  7834         -- stub_gssapi: fix numerous 'unused parameter' warnings
  7835         -  
  7836         -  follow-up to d9e92fd9fd1d
  7837         -
  7838         -- [Philip Prindeville brought this change]
  7839         -
  7840         -  getinfo: add microsecond precise timers for various intervals
  7841         -  
  7842         -  Provide a set of new timers that return the time intervals using integer
  7843         -  number of microseconds instead of floats.
  7844         -  
  7845         -  The new info names are as following:
  7846         -  
  7847         -  CURLINFO_APPCONNECT_TIME_T
  7848         -  CURLINFO_CONNECT_TIME_T
  7849         -  CURLINFO_NAMELOOKUP_TIME_T
  7850         -  CURLINFO_PRETRANSFER_TIME_T
  7851         -  CURLINFO_REDIRECT_TIME_T
  7852         -  CURLINFO_STARTTRANSFER_TIME_T
  7853         -  CURLINFO_TOTAL_TIME_T
  7854         -  
  7855         -  Closes #2495
  7856         -
  7857         -- openssl: acknowledge --tls-max for default version too
  7858         -  
  7859         -  ... previously it only used the max setting if a TLS version was also
  7860         -  explicitly asked for.
  7861         -  
  7862         -  Reported-by: byte_bucket
  7863         -  Fixes #2571
  7864         -  Closes #2572
  7865         -
  7866         -- bump: start working on the pending 7.61.0
  7867         -
  7868         -- [Dagobert Michelsen brought this change]
  7869         -
  7870         -  tests/libtest/Makefile: Do not unconditionally add gcc-specific flags
  7871         -  
  7872         -  The warning flag leads e.g. Sun Studio compiler to bail out.
  7873         -  
  7874         -  Closes #2576
  7875         -
  7876         -- schannel_verify: fix build for non-schannel
  7877         -
  7878         -Jay Satiro (16 May 2018)
  7879         -- rand: fix typo
  7880         -
  7881         -- schannel: disable manual verify if APIs not available
  7882         -  
  7883         -  .. because original MinGW and old compilers do not have the Windows API
  7884         -  definitions needed to support manual verification.
  7885         -
  7886         -- [Archangel_SDY brought this change]
  7887         -
  7888         -  schannel: disable client cert option if APIs not available
  7889         -  
  7890         -  Original MinGW targets Windows 2000 by default, which lacks some APIs and
  7891         -  definitions for this feature. Disable it if these APIs are not available.
  7892         -  
  7893         -  Closes https://github.com/curl/curl/pull/2522
  7894         -
  7895         -Version 7.60.0 (15 May 2018)
  7896         -
  7897         -Daniel Stenberg (15 May 2018)
  7898         -- RELEASE-NOTES: 7.60.0 release
  7899         -
  7900         -- THANKS: added people from the curl 7.60.0 release
  7901         -
  7902         -- docs/libcurl/index.html: removed
  7903         -  
  7904         -  The HTML files are long gone from the dist, now remove the last HTML
  7905         -  file pointing to those missing files.
  7906         -  
  7907         -  d
  7908         -
  7909         -- [steini2000 brought this change]
  7910         -
  7911         -  http2: remove unused variable
  7912         -  
  7913         -  Closes #2570
  7914         -
  7915         -- [steini2000 brought this change]
  7916         -
  7917         -  http2: use easy handle of stream for logging
  7918         -
  7919         -- gcc: disable picky gcc-8 function pointer warnings in two places
  7920         -  
  7921         -  Reported-by: Rikard Falkeborn
  7922         -  Bug: #2560
  7923         -  Closes #2569
  7924         -
  7925         -- http2: use the correct function pointer typedef
  7926         -  
  7927         -  Fixes gcc-8 picky compiler warnings
  7928         -  Reported-by: Rikard Falkeborn
  7929         -  Bug: #2560
  7930         -  Closes #2568
  7931         -
  7932         -- CODE_STYLE: mention return w/o parens, but sizeof with
  7933         -  
  7934         -  ... and remove the github markdown syntax so that it renders better on
  7935         -  the web site. Also, don't use back-ticks inlined to allow the CSS to
  7936         -  highlight source code better.
  7937         -
  7938         -- [Rikard Falkeborn brought this change]
  7939         -
  7940         -  examples: Fix format specifiers
  7941         -  
  7942         -  Closes #2561
  7943         -
  7944         -- [Rikard Falkeborn brought this change]
  7945         -
  7946         -  tool: Fix format specifiers
  7947         -
  7948         -- [Rikard Falkeborn brought this change]
  7949         -
  7950         -  ntlm: Fix format specifiers
  7951         -
  7952         -- [Rikard Falkeborn brought this change]
  7953         -
  7954         -  tests: Fix format specifiers
  7955         -
  7956         -- [Rikard Falkeborn brought this change]
  7957         -
  7958         -  lib: Fix format specifiers
  7959         -
  7960         -- contributors.sh: use "on github", not at
  7961         -
  7962         -- http2: getsock fix for uploads
  7963         -  
  7964         -  When there's an upload in progress, make sure to wait for the socket to
  7965         -  become writable.
  7966         -  
  7967         -  Detected-by: steini2000 on github
  7968         -  Bug: #2520
  7969         -  Closes #2567
  7970         -
  7971         -- pingpong: fix response cache memcpy overflow
  7972         -  
  7973         -  Response data for a handle with a large buffer might be cached and then
  7974         -  used with the "closure" handle when it has a smaller buffer and then the
  7975         -  larger cache will be copied and overflow the new smaller heap based
  7976         -  buffer.
  7977         -  
  7978         -  Reported-by: Dario Weisser
  7979         -  CVE: CVE-2018-1000300
  7980         -  Bug: https://curl.haxx.se/docs/adv_2018-82c2.html
  7981         -
  7982         -- http: restore buffer pointer when bad response-line is parsed
  7983         -  
  7984         -  ... leaving the k->str could lead to buffer over-reads later on.
  7985         -  
  7986         -  CVE: CVE-2018-1000301
  7987         -  Assisted-by: Max Dymond
  7988         -  
  7989         -  Detected by OSS-Fuzz.
  7990         -  Bug: https://curl.haxx.se/docs/adv_2018-b138.html
  7991         -  Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=7105
  7992         -
  7993         -Patrick Monnerat (13 May 2018)
  7994         -- cookies: do not take cookie name as a parameter
  7995         -  
  7996         -  RFC 6265 section 4.2.1 does not set restrictions on cookie names.
  7997         -  This is a follow-up to commit 7f7fcd0.
  7998         -  Also explicitly check proper syntax of cookie name/value pair.
  7999         -  
  8000         -  New test 1155 checks that cookie names are not reserved words.
  8001         -  
  8002         -  Reported-By: anshnd at github
  8003         -  Fixes #2564
  8004         -  Closes #2566
  8005         -
  8006         -Daniel Stenberg (12 May 2018)
  8007         -- smb: reject negative file sizes
  8008         -  
  8009         -  Assisted-by: Max Dymond
  8010         -  
  8011         -  Detected by OSS-Fuzz
  8012         -  Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8245

Changes to jni/curl/CMake/CurlTests.c.

   236    236   typedef void (*func_type)();
   237    237   
   238    238   int main()
   239    239   {
   240    240   #ifndef inet_ntoa_r
   241    241     func_type func;
   242    242     func = (func_type)inet_ntoa_r;
          243  +  (void)func;
   243    244   #endif
   244    245     return 0;
   245    246   }
   246    247   #endif
   247    248   #ifdef HAVE_INET_NTOA_R_DECL_REENTRANT
   248    249   #define _REENTRANT
   249    250   #include <arpa/inet.h>
................................................................................
   251    252   typedef void (*func_type)();
   252    253   
   253    254   int main()
   254    255   {
   255    256   #ifndef inet_ntoa_r
   256    257     func_type func;
   257    258     func = (func_type)&inet_ntoa_r;
          259  +  (void)func;
   258    260   #endif
   259    261     return 0;
   260    262   }
   261    263   #endif
   262    264   #ifdef HAVE_GETADDRINFO
   263    265   #include <netdb.h>
   264    266   #include <sys/types.h>
................................................................................
   579    581     return arg1 + arg2;
   580    582   }
   581    583   
   582    584   int
   583    585   main() {
   584    586     int res3 = c99_vmacro3(1, 2, 3);
   585    587     int res2 = c99_vmacro2(1, 2);
          588  +  (void)res3;
          589  +  (void)res2;
   586    590     return 0;
   587    591   }
   588    592   #endif
   589    593   #ifdef HAVE_VARIADIC_MACROS_GCC
   590    594   #define gcc_vmacro3(first, args...) fun3(first, args)
   591    595   #define gcc_vmacro2(first, args...) fun2(first, args)
   592    596   
................................................................................
   600    604     return arg1 + arg2;
   601    605   }
   602    606   
   603    607   int
   604    608   main() {
   605    609     int res3 = gcc_vmacro3(1, 2, 3);
   606    610     int res2 = gcc_vmacro2(1, 2);
          611  +  (void)res3;
          612  +  (void)res2;
   607    613     return 0;
   608    614   }
   609    615   #endif

Changes to jni/curl/CMake/OtherTests.cmake.

    20     20       set(CMAKE_REQUIRED_LIBRARIES ws2_32)
    21     21     endif()
    22     22   else()
    23     23     add_header_include(HAVE_SYS_TYPES_H "sys/types.h")
    24     24     add_header_include(HAVE_SYS_SOCKET_H "sys/socket.h")
    25     25   endif()
    26     26   
           27  +set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
           28  +
    27     29   check_c_source_compiles("${_source_epilogue}
    28     30   int main(void) {
    29     31       recv(0, 0, 0, 0);
    30     32       return 0;
    31     33   }" curl_cv_recv)
    32     34   if(curl_cv_recv)
    33     35     if(NOT DEFINED curl_cv_func_recv_args OR "${curl_cv_func_recv_args}" STREQUAL "unknown")
................................................................................
   173    175     struct timeval ts;
   174    176     ts.tv_sec  = 0;
   175    177     ts.tv_usec = 0;
   176    178     (void)ts;
   177    179     return 0;
   178    180   }" HAVE_STRUCT_TIMEVAL)
   179    181   
          182  +set(HAVE_SIG_ATOMIC_T 1)
          183  +set(CMAKE_REQUIRED_FLAGS)
          184  +if(HAVE_SIGNAL_H)
          185  +  set(CMAKE_REQUIRED_FLAGS "-DHAVE_SIGNAL_H")
          186  +  set(CMAKE_EXTRA_INCLUDE_FILES "signal.h")
          187  +endif()
          188  +check_type_size("sig_atomic_t" SIZEOF_SIG_ATOMIC_T)
          189  +if(HAVE_SIZEOF_SIG_ATOMIC_T)
          190  +  check_c_source_compiles("
          191  +    #ifdef HAVE_SIGNAL_H
          192  +    #  include <signal.h>
          193  +    #endif
          194  +    int main(void) {
          195  +      static volatile sig_atomic_t dummy = 0;
          196  +      (void)dummy;
          197  +      return 0;
          198  +    }" HAVE_SIG_ATOMIC_T_NOT_VOLATILE)
          199  +  if(NOT HAVE_SIG_ATOMIC_T_NOT_VOLATILE)
          200  +    set(HAVE_SIG_ATOMIC_T_VOLATILE 1)
          201  +  endif()
          202  +endif()
          203  +
          204  +if(HAVE_WINDOWS_H)
          205  +  set(CMAKE_EXTRA_INCLUDE_FILES winsock2.h)
          206  +else()
          207  +  set(CMAKE_EXTRA_INCLUDE_FILES)
          208  +  if(HAVE_SYS_SOCKET_H)
          209  +    set(CMAKE_EXTRA_INCLUDE_FILES sys/socket.h)
          210  +  endif()
          211  +endif()
          212  +
          213  +check_type_size("struct sockaddr_storage" SIZEOF_STRUCT_SOCKADDR_STORAGE)
          214  +if(HAVE_SIZEOF_STRUCT_SOCKADDR_STORAGE)
          215  +  set(HAVE_STRUCT_SOCKADDR_STORAGE 1)
          216  +endif()
          217  +
          218  +unset(CMAKE_TRY_COMPILE_TARGET_TYPE)
          219  +
   180    220   if(NOT DEFINED CMAKE_TOOLCHAIN_FILE)
   181    221     # if not cross-compilation...
   182    222     include(CheckCSourceRuns)
   183    223     set(CMAKE_REQUIRED_FLAGS "")
   184    224     if(HAVE_SYS_POLL_H)
   185    225       set(CMAKE_REQUIRED_FLAGS "-DHAVE_SYS_POLL_H")
   186    226     elseif(HAVE_POLL_H)
................................................................................
   218    258               return 1;
   219    259             }
   220    260           }
   221    261           return 0;
   222    262       }" HAVE_POLL_FINE)
   223    263   endif()
   224    264   
   225         -set(HAVE_SIG_ATOMIC_T 1)
   226         -set(CMAKE_REQUIRED_FLAGS)
   227         -if(HAVE_SIGNAL_H)
   228         -  set(CMAKE_REQUIRED_FLAGS "-DHAVE_SIGNAL_H")
   229         -  set(CMAKE_EXTRA_INCLUDE_FILES "signal.h")
   230         -endif()
   231         -check_type_size("sig_atomic_t" SIZEOF_SIG_ATOMIC_T)
   232         -if(HAVE_SIZEOF_SIG_ATOMIC_T)
   233         -  check_c_source_compiles("
   234         -    #ifdef HAVE_SIGNAL_H
   235         -    #  include <signal.h>
   236         -    #endif
   237         -    int main(void) {
   238         -      static volatile sig_atomic_t dummy = 0;
   239         -      (void)dummy;
   240         -      return 0;
   241         -    }" HAVE_SIG_ATOMIC_T_NOT_VOLATILE)
   242         -  if(NOT HAVE_SIG_ATOMIC_T_NOT_VOLATILE)
   243         -    set(HAVE_SIG_ATOMIC_T_VOLATILE 1)
   244         -  endif()
   245         -endif()
   246         -
   247         -if(HAVE_WINDOWS_H)
   248         -  set(CMAKE_EXTRA_INCLUDE_FILES winsock2.h)
   249         -else()
   250         -  set(CMAKE_EXTRA_INCLUDE_FILES)
   251         -  if(HAVE_SYS_SOCKET_H)
   252         -    set(CMAKE_EXTRA_INCLUDE_FILES sys/socket.h)
   253         -  endif()
   254         -endif()
   255         -
   256         -check_type_size("struct sockaddr_storage" SIZEOF_STRUCT_SOCKADDR_STORAGE)
   257         -if(HAVE_SIZEOF_STRUCT_SOCKADDR_STORAGE)
   258         -  set(HAVE_STRUCT_SOCKADDR_STORAGE 1)
   259         -endif()

Changes to jni/curl/CMakeLists.txt.

    53     53   string(REGEX MATCH "#define LIBCURL_VERSION \"[^\"]*"
    54     54     CURL_VERSION ${CURL_VERSION_H_CONTENTS})
    55     55   string(REGEX REPLACE "[^\"]+\"" "" CURL_VERSION ${CURL_VERSION})
    56     56   string(REGEX MATCH "#define LIBCURL_VERSION_NUM 0x[0-9a-fA-F]+"
    57     57     CURL_VERSION_NUM ${CURL_VERSION_H_CONTENTS})
    58     58   string(REGEX REPLACE "[^0]+0x" "" CURL_VERSION_NUM ${CURL_VERSION_NUM})
    59     59   
    60         -include_regular_expression("^.*$")    # Sukender: Is it necessary?
    61     60   
    62     61   # Setup package meta-data
    63     62   # SET(PACKAGE "curl")
    64     63   message(STATUS "curl version=[${CURL_VERSION}]")
    65     64   # SET(PACKAGE_TARNAME "curl")
    66     65   # SET(PACKAGE_NAME "curl")
    67     66   # SET(PACKAGE_VERSION "-")
................................................................................
   100     99         endif()
   101    100       endforeach()
   102    101     endif()
   103    102   endif()
   104    103   
   105    104   if(ENABLE_DEBUG)
   106    105     # DEBUGBUILD will be defined only for Debug builds
   107         -  if(NOT CMAKE_VERSION VERSION_LESS 3.0)
   108         -    set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:Debug>:DEBUGBUILD>)
   109         -  else()
   110         -    set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DEBUG DEBUGBUILD)
   111         -  endif()
          106  +  set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:Debug>:DEBUGBUILD>)
   112    107     set(ENABLE_CURLDEBUG ON)
   113    108   endif()
   114    109   
   115    110   if(ENABLE_CURLDEBUG)
   116    111     set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS CURLDEBUG)
   117    112   endif()
   118    113   
................................................................................
   242    237   include(CheckFunctionExists)
   243    238   include(CheckIncludeFile)
   244    239   include(CheckIncludeFiles)
   245    240   include(CheckLibraryExists)
   246    241   include(CheckSymbolExists)
   247    242   include(CheckTypeSize)
   248    243   include(CheckCSourceCompiles)
   249         -include(CMakeDependentOption)
   250    244   
   251    245   # On windows preload settings
   252    246   if(WIN32)
   253    247     set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -D_WINSOCKAPI_=")
   254    248     include(${CMAKE_CURRENT_SOURCE_DIR}/CMake/Platforms/WindowsCache.cmake)
   255    249   endif()
   256    250   
................................................................................
   289    283     list(APPEND CURL_LIBS "advapi32")
   290    284   endif()
   291    285   
   292    286   # check SSL libraries
   293    287   # TODO support GNUTLS, NSS, POLARSSL, CYASSL
   294    288   
   295    289   if(APPLE)
   296         -  option(CMAKE_USE_DARWINSSL "enable Apple OS native SSL/TLS" OFF)
          290  +  option(CMAKE_USE_SECTRANSP "enable Apple OS native SSL/TLS" OFF)
   297    291   endif()
   298    292   if(WIN32)
   299    293     option(CMAKE_USE_WINSSL "enable Windows native SSL/TLS" OFF)
   300    294     cmake_dependent_option(CURL_WINDOWS_SSPI "Use windows libraries to allow NTLM authentication without openssl" ON
   301    295       CMAKE_USE_WINSSL OFF)
   302    296   endif()
   303    297   option(CMAKE_USE_MBEDTLS "Enable mbedTLS for SSL/TLS" OFF)
   304    298   
   305    299   set(openssl_default ON)
   306         -if(WIN32 OR CMAKE_USE_DARWINSSL OR CMAKE_USE_WINSSL OR CMAKE_USE_MBEDTLS)
          300  +if(WIN32 OR CMAKE_USE_SECTRANSP OR CMAKE_USE_WINSSL OR CMAKE_USE_MBEDTLS)
   307    301     set(openssl_default OFF)
   308    302   endif()
   309    303   option(CMAKE_USE_OPENSSL "Use OpenSSL code. Experimental" ${openssl_default})
   310    304   
   311    305   count_true(enabled_ssl_options_count
   312    306     CMAKE_USE_WINSSL
   313         -  CMAKE_USE_DARWINSSL
          307  +  CMAKE_USE_SECTRANSP
   314    308     CMAKE_USE_OPENSSL
   315    309     CMAKE_USE_MBEDTLS
   316    310   )
   317    311   if(enabled_ssl_options_count GREATER "1")
   318    312     set(CURL_WITH_MULTI_SSL ON)
   319    313   endif()
   320    314   
................................................................................
   326    320   endif()
   327    321   if(CURL_WINDOWS_SSPI)
   328    322     set(USE_WINDOWS_SSPI ON)
   329    323     set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -DSECURITY_WIN32")
   330    324   endif()
   331    325   
   332    326   if(CMAKE_USE_DARWINSSL)
          327  +  message(FATAL_ERROR "The cmake option CMAKE_USE_DARWINSSL was renamed to CMAKE_USE_SECTRANSP.")
          328  +endif()
          329  +
          330  +if(CMAKE_USE_SECTRANSP)
   333    331     find_library(COREFOUNDATION_FRAMEWORK "CoreFoundation")
   334    332     if(NOT COREFOUNDATION_FRAMEWORK)
   335    333         message(FATAL_ERROR "CoreFoundation framework not found")
   336    334     endif()
   337    335   
   338    336     find_library(SECURITY_FRAMEWORK "Security")
   339    337     if(NOT SECURITY_FRAMEWORK)
   340    338        message(FATAL_ERROR "Security framework not found")
   341    339     endif()
   342    340   
   343    341     set(SSL_ENABLED ON)
   344         -  set(USE_DARWINSSL ON)
          342  +  set(USE_SECTRANSP ON)
   345    343     list(APPEND CURL_LIBS "${COREFOUNDATION_FRAMEWORK}" "${SECURITY_FRAMEWORK}")
   346    344   endif()
   347    345   
   348    346   if(CMAKE_USE_OPENSSL)
   349    347     find_package(OpenSSL REQUIRED)
   350    348     set(SSL_ENABLED ON)
   351    349     set(USE_OPENSSL ON)
................................................................................
   471    469         )
   472    470         set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -DLDAP_DEPRECATED=1")
   473    471         list(APPEND CMAKE_REQUIRED_LIBRARIES ${CMAKE_LDAP_LIB})
   474    472         if(HAVE_LIBLBER)
   475    473           list(APPEND CMAKE_REQUIRED_LIBRARIES ${CMAKE_LBER_LIB})
   476    474         endif()
   477    475         check_c_source_compiles("${_SRC_STRING}" NOT_NEED_LBER_H)
          476  +      unset(CMAKE_REQUIRED_LIBRARIES)
   478    477   
   479    478         if(NOT_NEED_LBER_H)
   480    479           set(NEED_LBER_H OFF)
   481    480         else()
   482    481           set(CURL_TEST_DEFINES "${CURL_TEST_DEFINES} -DNEED_LBER_H")
   483    482         endif()
   484    483       endif()
................................................................................
   566    565       set(CMAKE_EXTRA_INCLUDE_FILES "libssh2.h")
   567    566       check_function_exists(libssh2_version           HAVE_LIBSSH2_VERSION)
   568    567       check_function_exists(libssh2_init              HAVE_LIBSSH2_INIT)
   569    568       check_function_exists(libssh2_exit              HAVE_LIBSSH2_EXIT)
   570    569       check_function_exists(libssh2_scp_send64        HAVE_LIBSSH2_SCP_SEND64)
   571    570       check_function_exists(libssh2_session_handshake HAVE_LIBSSH2_SESSION_HANDSHAKE)
   572    571       set(CMAKE_EXTRA_INCLUDE_FILES "")
          572  +    unset(CMAKE_REQUIRED_LIBRARIES)
   573    573     endif()
   574    574   endif()
   575    575   
   576    576   option(CMAKE_USE_GSSAPI "Use GSSAPI implementation (right now only Heimdal is supported with CMake build)" OFF)
   577    577   mark_as_advanced(CMAKE_USE_GSSAPI)
   578    578   
   579    579   if(CMAKE_USE_GSSAPI)
................................................................................
   613    613   
   614    614         set(CMAKE_REQUIRED_FLAGS "${_COMPILER_FLAGS_STR} ${_LINKER_FLAGS_STR}")
   615    615         set(CMAKE_REQUIRED_LIBRARIES ${GSS_LIBRARIES})
   616    616         check_symbol_exists("GSS_C_NT_HOSTBASED_SERVICE" ${_INCLUDE_LIST} HAVE_GSS_C_NT_HOSTBASED_SERVICE)
   617    617         if(NOT HAVE_GSS_C_NT_HOSTBASED_SERVICE)
   618    618           set(HAVE_OLD_GSSMIT ON)
   619    619         endif()
          620  +      unset(CMAKE_REQUIRED_LIBRARIES)
   620    621   
   621    622       endif()
   622    623   
   623    624       include_directories(${GSS_INCLUDE_DIR})
   624    625       link_directories(${GSS_LINK_DIRECTORIES})
   625    626       set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GSS_COMPILER_FLAGS}")
   626    627       set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${GSS_LINKER_FLAGS}")
................................................................................
   880    881   check_symbol_exists(fork           "${CURL_INCLUDES}" HAVE_FORK)
   881    882   check_symbol_exists(getaddrinfo    "${CURL_INCLUDES}" HAVE_GETADDRINFO)
   882    883   check_symbol_exists(freeaddrinfo   "${CURL_INCLUDES}" HAVE_FREEADDRINFO)
   883    884   check_symbol_exists(freeifaddrs    "${CURL_INCLUDES}" HAVE_FREEIFADDRS)
   884    885   check_symbol_exists(pipe           "${CURL_INCLUDES}" HAVE_PIPE)
   885    886   check_symbol_exists(ftruncate      "${CURL_INCLUDES}" HAVE_FTRUNCATE)
   886    887   check_symbol_exists(getprotobyname "${CURL_INCLUDES}" HAVE_GETPROTOBYNAME)
          888  +check_symbol_exists(getpeername    "${CURL_INCLUDES}" HAVE_GETPEERNAME)
          889  +check_symbol_exists(getsockname    "${CURL_INCLUDES}" HAVE_GETSOCKNAME)
   887    890   check_symbol_exists(getrlimit      "${CURL_INCLUDES}" HAVE_GETRLIMIT)
   888    891   check_symbol_exists(setlocale      "${CURL_INCLUDES}" HAVE_SETLOCALE)
   889    892   check_symbol_exists(setmode        "${CURL_INCLUDES}" HAVE_SETMODE)
   890    893   check_symbol_exists(setrlimit      "${CURL_INCLUDES}" HAVE_SETRLIMIT)
   891    894   check_symbol_exists(fcntl          "${CURL_INCLUDES}" HAVE_FCNTL)
   892    895   check_symbol_exists(ioctl          "${CURL_INCLUDES}" HAVE_IOCTL)
   893    896   check_symbol_exists(setsockopt     "${CURL_INCLUDES}" HAVE_SETSOCKOPT)
................................................................................
  1175   1178     if(${ARGN})
  1176   1179       set(_items ${_items} "${label}" PARENT_SCOPE)
  1177   1180     endif()
  1178   1181   endfunction()
  1179   1182   
  1180   1183   # Clear list and try to detect available features
  1181   1184   set(_items)
  1182         -_add_if("WinSSL"        SSL_ENABLED AND USE_WINDOWS_SSPI)
  1183         -_add_if("OpenSSL"       SSL_ENABLED AND USE_OPENSSL)
  1184         -_add_if("DarwinSSL"     SSL_ENABLED AND USE_DARWINSSL)
  1185         -_add_if("mbedTLS"       SSL_ENABLED AND USE_MBEDTLS)
         1185  +_add_if("SSL"           SSL_ENABLED)
  1186   1186   _add_if("IPv6"          ENABLE_IPV6)
  1187   1187   _add_if("unix-sockets"  USE_UNIX_SOCKETS)
  1188   1188   _add_if("libz"          HAVE_LIBZ)
  1189   1189   _add_if("AsynchDNS"     USE_ARES OR USE_THREADS_POSIX OR USE_THREADS_WIN32)
  1190   1190   _add_if("IDN"           HAVE_LIBIDN2)
  1191   1191   _add_if("Largefile"     (CURL_SIZEOF_CURL_OFF_T GREATER 4) AND
  1192   1192                           ((SIZEOF_OFF_T GREATER 4) OR USE_WIN32_LARGE_FILES))
................................................................................
  1196   1196   # TODO SSP1 missing for SPNEGO
  1197   1197   _add_if("SPNEGO"        NOT CURL_DISABLE_CRYPTO_AUTH AND
  1198   1198                           (HAVE_GSSAPI OR USE_WINDOWS_SSPI))
  1199   1199   _add_if("Kerberos"      NOT CURL_DISABLE_CRYPTO_AUTH AND
  1200   1200                           (HAVE_GSSAPI OR USE_WINDOWS_SSPI))
  1201   1201   # NTLM support requires crypto function adaptions from various SSL libs
  1202   1202   # TODO alternative SSL libs tests for SSP1, GNUTLS, NSS
  1203         -if(NOT CURL_DISABLE_CRYPTO_AUTH AND (USE_OPENSSL OR USE_WINDOWS_SSPI OR USE_DARWINSSL OR USE_MBEDTLS))
         1203  +if(NOT CURL_DISABLE_CRYPTO_AUTH AND (USE_OPENSSL OR USE_WINDOWS_SSPI OR USE_SECTRANSP OR USE_MBEDTLS))
  1204   1204     _add_if("NTLM"        1)
  1205   1205     # TODO missing option (autoconf: --enable-ntlm-wb)
  1206   1206     _add_if("NTLM_WB"     NOT CURL_DISABLE_HTTP AND NTLM_WB_ENABLED)
  1207   1207   endif()
  1208   1208   # TODO missing option (--enable-tls-srp), depends on GNUTLS_SRP/OPENSSL_SRP
  1209   1209   _add_if("TLS-SRP"       USE_TLS_SRP)
  1210   1210   # TODO option --with-nghttp2 tests for nghttp2 lib and nghttp2/nghttp2.h header
................................................................................
  1235   1235   _add_if("IMAPS"         NOT CURL_DISABLE_IMAP AND SSL_ENABLED)
  1236   1236   _add_if("SMTP"          NOT CURL_DISABLE_SMTP)
  1237   1237   _add_if("SMTPS"         NOT CURL_DISABLE_SMTP AND SSL_ENABLED)
  1238   1238   _add_if("SCP"           USE_LIBSSH2)
  1239   1239   _add_if("SFTP"          USE_LIBSSH2)
  1240   1240   _add_if("RTSP"          NOT CURL_DISABLE_RTSP)
  1241   1241   _add_if("RTMP"          USE_LIBRTMP)
  1242         -list(SORT _items)
         1242  +if(_items)
         1243  +  list(SORT _items)
         1244  +endif()
  1243   1245   string(REPLACE ";" " " SUPPORT_PROTOCOLS "${_items}")
  1244   1246   message(STATUS "Enabled protocols: ${SUPPORT_PROTOCOLS}")
  1245   1247   
         1248  +# Clear list and collect SSL backends
         1249  +set(_items)
         1250  +_add_if("WinSSL"           SSL_ENABLED AND USE_WINDOWS_SSPI)
         1251  +_add_if("OpenSSL"          SSL_ENABLED AND USE_OPENSSL)
         1252  +_add_if("Secure Transport" SSL_ENABLED AND USE_SECTRANSP)
         1253  +_add_if("mbedTLS"          SSL_ENABLED AND USE_MBEDTLS)
         1254  +if(_items)
         1255  +  list(SORT _items)
         1256  +endif()
         1257  +string(REPLACE ";" " " SSL_BACKENDS "${_items}")
         1258  +message(STATUS "Enabled SSL backends: ${SSL_BACKENDS}")
         1259  +
  1246   1260   # curl-config needs the following options to be set.
  1247   1261   set(CC                      "${CMAKE_C_COMPILER}")
  1248   1262   # TODO probably put a -D... options here?
  1249   1263   set(CONFIGURE_OPTIONS       "")
  1250   1264   # TODO when to set "-DCURL_STATICLIB" for CPPFLAG_CURL_STATICLIB?
  1251   1265   set(CPPFLAG_CURL_STATICLIB  "")
  1252   1266   set(CURLVERSION             "${CURL_VERSION}")

Changes to jni/curl/Makefile.in.

   668    668     inet_ntop.c parsedate.c select.c tftp.c splay.c strdup.c socks.c      \
   669    669     ssh.c ssh-libssh.c curl_addrinfo.c socks_gssapi.c socks_sspi.c        \
   670    670     curl_sspi.c slist.c nonblock.c curl_memrchr.c imap.c pop3.c smtp.c    \
   671    671     pingpong.c rtsp.c curl_threads.c warnless.c hmac.c curl_rtmp.c        \
   672    672     openldap.c curl_gethostname.c gopher.c idn_win32.c                    \
   673    673     http_proxy.c non-ascii.c asyn-ares.c asyn-thread.c curl_gssapi.c      \
   674    674     http_ntlm.c curl_ntlm_wb.c curl_ntlm_core.c curl_sasl.c rand.c        \
   675         -  curl_multibyte.c hostcheck.c conncache.c pipeline.c dotdot.c          \
          675  +  curl_multibyte.c hostcheck.c conncache.c dotdot.c                     \
   676    676     x509asn1.c http2.c smb.c curl_endian.c curl_des.c system_win32.c      \
   677    677     mime.c sha256.c setopt.c curl_path.c curl_ctype.c curl_range.c psl.c  \
   678         -  doh.c urlapi.c altsvc.c
          678  +  doh.c urlapi.c curl_get_line.c altsvc.c
   679    679   
   680    680   LIB_HFILES = arpa_telnet.h netrc.h file.h timeval.h hostip.h progress.h \
   681    681     formdata.h cookie.h http.h sendf.h ftp.h url.h dict.h if2ip.h         \
   682    682     speedcheck.h urldata.h curl_ldap.h escape.h telnet.h getinfo.h        \
   683    683     strcase.h curl_sec.h memdebug.h http_chunks.h curl_fnmatch.h          \
   684    684     wildcard.h fileinfo.h ftplistparser.h strtok.h connect.h llist.h      \
   685    685     hash.h content_encoding.h share.h curl_md4.h curl_md5.h http_digest.h \
................................................................................
   688    688     easyif.h multiif.h parsedate.h tftp.h sockaddr.h splay.h strdup.h     \
   689    689     socks.h ssh.h curl_base64.h curl_addrinfo.h curl_sspi.h      \
   690    690     slist.h nonblock.h curl_memrchr.h imap.h pop3.h smtp.h pingpong.h     \
   691    691     rtsp.h curl_threads.h warnless.h curl_hmac.h curl_rtmp.h              \
   692    692     curl_gethostname.h gopher.h http_proxy.h non-ascii.h asyn.h           \
   693    693     http_ntlm.h curl_gssapi.h curl_ntlm_wb.h curl_ntlm_core.h             \
   694    694     curl_sasl.h curl_multibyte.h hostcheck.h conncache.h                  \
   695         -  curl_setup_once.h multihandle.h setup-vms.h pipeline.h dotdot.h       \
          695  +  curl_setup_once.h multihandle.h setup-vms.h dotdot.h                  \
   696    696     x509asn1.h http2.h sigpipe.h smb.h curl_endian.h curl_des.h           \
   697    697     curl_printf.h system_win32.h rand.h mime.h curl_sha256.h setopt.h     \
   698    698     curl_path.h curl_ctype.h curl_range.h psl.h doh.h urlapi-int.h        \
   699         -  altsvc.h
          699  +  curl_get_line.h altsvc.h
   700    700   
   701    701   LIB_RCFILES = libcurl.rc
   702    702   CSOURCES = $(LIB_CFILES) $(LIB_VAUTH_CFILES) $(LIB_VTLS_CFILES)
   703    703   HHEADERS = $(LIB_HFILES) $(LIB_VAUTH_HFILES) $(LIB_VTLS_HFILES)
   704    704   
   705    705   # libcurl has sources that provide functions named curlx_* that aren't part of
   706    706   # the official API, but we re-use the code here to avoid duplication.

Changes to jni/curl/README.

    38     38   
    39     39     To download the very latest source off the GIT server do this:
    40     40   
    41     41       git clone https://github.com/curl/curl.git
    42     42   
    43     43     (you'll get a directory named curl created, filled with the source code)
    44     44   
           45  +SECURITY PROBLEMS
           46  +
           47  +  Report suspected security problems via our HackerOne page and not in public!
           48  +
           49  +    https://hackerone.com/curl
           50  +
    45     51   NOTICE
    46     52   
    47     53     Curl contains pieces of source code that is Copyright (c) 1998, 1999
    48     54     Kungliga Tekniska Högskolan. This notice is included here to comply with the
    49     55     distribution terms.

Changes to jni/curl/RELEASE-NOTES.

     1         -curl and libcurl 7.64.1
            1  +curl and libcurl 7.65.0
     2      2   
     3         - Public curl releases:         180
            3  + Public curl releases:         181
     4      4    Command line options:         221
     5         - curl_easy_setopt() options:   267
            5  + curl_easy_setopt() options:   268
     6      6    Public functions in libcurl:  80
     7      7    Contributors:                 1929
     8      8   
     9      9   This release includes the following changes:
    10     10   
    11         - o alt-svc: experiemental support added [74]
    12         - o configure: add --with-amissl [84]
           11  + o CURLOPT_DNS_USE_GLOBAL_CACHE: removed [25]
           12  + o CURLOPT_MAXAGE_CONN: set the maximum allowed age for conn reuse [37]
           13  + o pipelining: removed [10]
    13     14   
    14     15   This release includes the following bugfixes:
    15     16   
    16         - o AppVeyor: add MinGW-w64 and classic Mingw builds [55]
    17         - o AppVeyor: switch VS 2015 builds to VS 2017 image [49]
    18         - o CURLU: fix NULL dereference when used over proxy [73]
    19         - o Curl_easy: remove req.maxfd - never used! [58]
    20         - o Curl_now: figure out windows version in win32_init: [11]
    21         - o Curl_resolv: fix a gcc -Werror=maybe-uninitialized warning [20]
    22         - o DoH: inherit some SSL options from user's easy handle [80]
    23         - o Secure Transport: no more "darwinssl" [56]
    24         - o Secure Transport: tvOS 11 is required for ALPN support [94]
    25         - o cirrus: Added FreeBSD builds using Cirrus CI
    26         - o cleanup: make local functions static [5]
    27         - o cli tool: do not use mime.h private structures [27]
    28         - o cmdline-opts/proxytunnel.d: the option tunnnels all protocols [83]
    29         - o configure: add additional libraries to check for LDAP support [45]
    30         - o configure: remove the unused fdopen macro [40]
    31         - o configure: show features as well in the final summary [15]
    32         - o conncache: use conn->data to know if a transfer owns it [95]
    33         - o connection: never reuse CONNECT_ONLY connections [35]
    34         - o connection_check: restore original conn->data after the check [14]
    35         - o connection_check: set ->data to the transfer doing the check [3]
    36         - o cookie: Add support for cookie prefixes [29]
    37         - o cookies: dotless names can set cookies again [81]
    38         - o cookies: fix NULL dereference if flushing cookies with no CookieInfo set [47]
    39         - o curl.1: --user and --proxy-user are hidden from ps output [86]
    40         - o curl.1: mark the argument to --cookie as <data|filename> [87]
    41         - o curl.h: use __has_declspec_attribute for shared builds [52]
    42         - o curl: display --version features sorted alphabetically [51]
    43         - o curl: fix FreeBSD compiler warning in the --xattr code [2]
    44         - o curl: remove MANUAL from -M output [38]
    45         - o curl_easy_duphandle.3: clarify that a duped handle has no shares [64]
    46         - o curl_multi_remove_handle.3: use at any time, just not from within callbacks
    47         - o curl_url.3: this API is not experimental anymore
    48         - o dns: release sharelock as soon as possible [1]
    49         - o docs: update max-redirs.d phrasing [59]
    50         - o easy: fix win32 init to work without CURL_GLOBAL_WIN32 [30]
    51         - o examples/10-at-a-time.c: improve readability and simplify
    52         - o examples/cacertinmem.c: use multiple certificates for loading CA-chain [54]
    53         - o examples/crawler: Fix the Accept-Encoding setting
    54         - o examples/ephiperfifo.c: various fixes [63]
    55         - o examples/externalsocket: add missing close socket calls [78]
    56         - o examples/http2-download: cleaned up
    57         - o examples/http2-serverpush: add some sensible error checks [31]
    58         - o examples/http2-upload: cleaned up
    59         - o examples/httpcustomheader: Value stored to 'res' is never read
    60         - o examples/postinmemory: Potential leak of memory pointed to by 'chunk.memory'
    61         - o examples/sftpuploadresume: Value stored to 'result' is never read
    62         - o examples: only include <curl/curl.h> [70]
    63         - o examples: remove recursive calls to curl_multi_socket_action [42]
    64         - o examples: remove superfluous null-pointer checks
    65         - o file: fix "Checking if unsigned variable 'readcount' is less than zero." [90]
    66         - o fnmatch: disable if FTP is disabled [25]
    67         - o gnutls: remove call to deprecated gnutls_compression_get_name [66]
    68         - o gopher: remove check for path == NULL [69]
    69         - o gssapi: fix deprecated header warnings [16]
    70         - o hostip: make create_hostcache_id avoid alloc + free [4]
    71         - o http2: multi_connchanged() moved from multi.c, only used for h2 [21]
    72         - o http2: verify :athority in push promise requests [37]
    73         - o http: make adding a blank header thread-safe [33]
    74         - o http: send payload when (proxy) authentication is done [89]
    75         - o http: set state.infilesize when sending multipart formposts [57]
    76         - o makefile: make checksrc and hugefile commands "silent" [85]
    77         - o mbedtls: make it build even if MBEDTLS_VERSION_C isn't set [24]
    78         - o mbedtls: release sessionid resources on error [28]
    79         - o memdebug: log pointer before freeing its data [91]
    80         - o memdebug: make debug-specific functions use curl_dbg_ prefix [82]
    81         - o mime: put the boundary buffer into the curl_mime struct [18]
    82         - o multi: call multi_done on connect timeouts, fixes CURLINFO_TOTAL_TIME [43]
    83         - o multi: remove verbose "Expire in" ... messages [23]
    84         - o multi: removed unused code for request retries [79]
    85         - o multi: support verbose conncache closure handle [72]
    86         - o negotiate: fix for HTTP POST with Negotiate [88]
    87         - o openssl: add support for TLS ASYNC state [46]
    88         - o openssl: if cert type is ENG and no key specified, key is ENG too [93]
    89         - o pretransfer: don't strlen() POSTFIELDS set for GET requests [22]
    90         - o rand: Fix a mismatch between comments in source and header [32]
    91         - o runtests: detect "schannel" as an alias for "winssl" [50]
    92         - o schannel: be quiet - remove verbose output [19]
    93         - o schannel: close TLS before removing conn from cache [10]
    94         - o schannel: support CALG_ECDH_EPHEM algorithm [44]
    95         - o scripts/completion.pl: also generate fish completion file [67]
    96         - o singlesocket: fix the 'sincebefore' placement [36]
    97         - o source: fix two 'nread' may be used uninitialized warnings [68]
    98         - o ssh: fix Condition '!status' is always true [60]
    99         - o ssh: loop the state machine if not done and not blocking [71]
   100         - o strerror: make the strerror function use local buffers [48]
   101         - o system_win32: move win32_init here from easy.c [65]
   102         - o test578: make it read data from the correct test
   103         - o tests: Fixed XML validation errors in some test files
   104         - o tests: add stderr comparison to the test suite [26]
   105         - o tests: fix multiple may be used uninitialized warnings
   106         - o threaded-resolver: shutdown the resolver thread without error message [61]
   107         - o tool_cb_wrt: fix writing to Windows null device NUL [96]
   108         - o tool_getpass: termios.h is present on AmigaOS 3, but no tcgetattr/tcsetattr [84]
   109         - o tool_operate: build on AmigaOS [84]
   110         - o tool_operate: fix typecheck warning [9]
   111         - o transfer.c: do not compute length of undefined hex buffer
   112         - o travis: add build using gnutls [75]
   113         - o travis: add scan-build [13]
   114         - o travis: bump the used wolfSSL version to 4.0.0 [92]
   115         - o travis: enable valgrind for the iconv tests [12]
   116         - o travis: use updated compiler versions: clang 7 and gcc 8 [77]
   117         - o unit1307: require FTP support [17]
   118         - o unit1651: survive curl_easy_init() fails
   119         - o url/idnconvert: remove scan for <= 32 ascii values [6]
   120         - o url: change conn shutdown order to ensure SOCKETFUNCTION callbacks [39]
   121         - o urlapi: reduce variable scope, remove unreachable 'break' [7]
   122         - o urldata: convert bools to bitfields and move to end [53]
   123         - o urldata: simplify bytecounters [62]
   124         - o urlglob: Argument with 'nonnull' attribute passed null
   125         - o version.c: silent scan-build even when librtmp is not enabled
   126         - o vtls: rename some of the SSL functions [84]
   127         - o wolfssl: stop custom-adding curves [41]
   128         - o x509asn1: "Dereference of null pointer"
   129         - o x509asn1: cleanup and unify code layout [34]
   130         - o zsh.pl: escape ':' character [8]
   131         - o zsh.pl: update regex to better match curl -h output [8]
           17  + o CVE-2019-5435: Integer overflows in curl_url_set [87]
           18  + o CVE-2019-5436: tftp: use the current blksize for recvfrom() [82]
           19  + o --config: clarify that initial : and = might need quoting [17]
           20  + o AppVeyor: enable testing for WinSSL build [23]
           21  + o CURLMOPT_TIMERFUNCTION.3: warn about the recursive risk [52]
           22  + o CURLOPT_ADDRESS_SCOPE: fix range check and more [32]
           23  + o CURLOPT_CAINFO.3: with Schannel, you want Windows 8 or later [75]
           24  + o CURLOPT_CHUNK_BGN_FUNCTION.3: document the struct and time value [51]
           25  + o CURLOPT_READFUNCTION.3: see also CURLOPT_UPLOAD_BUFFERSIZE [71]
           26  + o CURL_MAX_INPUT_LENGTH: largest acceptable string input size [44]
           27  + o Curl_disconnect: treat all CONNECT_ONLY connections as "dead" [39]
           28  + o INTERNALS: Add code highlighting [47]
           29  + o OS400/ccsidcurl: replace use of Curl_vsetopt [50]
           30  + o OpenSSL: Report -fips in version if OpenSSL is built with FIPS [55]
           31  + o README.md: fix no-consecutive-blank-lines Codacy warning [22]
           32  + o VC15 project: remove MinimalRebuild
           33  + o VS projects: use Unicode for VC10+ [16]
           34  + o WRITEFUNCTION: add missing set_in_callback around callback [60]
           35  + o altsvc: Fix building with cookies disabled [38]
           36  + o auth: Rename the various authentication clean up functions [61]
           37  + o base64: build conditionally if there are users
           38  + o build-openssl.bat: Fixed support for OpenSSL v1.1.0+
           39  + o build: fix "clarify calculation precedence" warnings [63]
           40  + o checksrc.bat: ignore snprintf warnings in docs/examples [67]
           41  + o cirrus: Customize the disabled tests per FreeBSD version
           42  + o cleanup: remove FIXME and TODO comments [81]
           43  + o cmake: avoid linking executable for some tests with cmake 3.6+ [18]
           44  + o cmake: clear CMAKE_REQUIRED_LIBRARIES after each use [19]
           45  + o cmake: rename CMAKE_USE_DARWINSSL to CMAKE_USE_SECTRANSP [46]
           46  + o cmake: set SSL_BACKENDS [12]
           47  + o configure: avoid unportable `==' test(1) operator [1]
           48  + o configure: error out if OpenSSL wasn't detected when asked for [74]
           49  + o configure: fix default location for fish completions [13]
           50  + o cookie: Guard against possible NULL ptr deref [42]
           51  + o curl: make code work with protocol-disabled libcurl [78]
           52  + o curl: report error for "--no-" on non-boolean options [86]
           53  + o curl_easy_getinfo.3: fix minor formatting mistake
           54  + o curlver.h: use parenthesis in CURL_VERSION_BITS macro [45]
           55  + o docs/BUG-BOUNTY: bug bounty time [48]
           56  + o docs/INSTALL: fix broken link [62]
           57  + o docs/RELEASE-PROCEDURE: link to live iCalendar [79]
           58  + o documentation: Fix several typos [7]
           59  + o doh: acknowledge CURL_DISABLE_DOH
           60  + o doh: disable DOH for the cases it doesn't work [66]
           61  + o examples: remove unused variables [88]
           62  + o ftplistparser: fix LGTM alert "Empty block without comment" [14]
           63  + o hostip: acknowledge CURL_DISABLE_SHUFFLE_DNS [78]
           64  + o http: Ignore HTTP/2 prior knowledge setting for HTTP proxies [54]
           65  + o http: acknowledge CURL_DISABLE_HTTP_AUTH
           66  + o http: mark bundle as not for multiuse on < HTTP/2 response [41]
           67  + o http_digest: Don't expose functions when HTTP and Crypto Auth are disabled [65]
           68  + o http_negotiate: do not treat failure of gss_init_sec_context() as fatal [53]
           69  + o http_ntlm: Corrected the name of the include guard [64]
           70  + o http_ntlm_wb: Handle auth for only a single request [77]
           71  + o http_ntlm_wb: Return the correct error on receiving an empty auth message [77]
           72  + o lib509: add missing include for strdup [22]
           73  + o lib557: initialize variables [22]
           74  + o makedebug: Fix ERRORLEVEL detection after running where.exe [58]
           75  + o mbedtls: enable use of EC keys [85]
           76  + o mime: acknowledge CURL_DISABLE_MIME
           77  + o multi: improved HTTP_1_1_REQUIRED handling [2]
           78  + o netrc: acknowledge CURL_DISABLE_NETRC [78]
           79  + o nss: allow fifos and character devices for certificates [56]
           80  + o nss: provide more specific error messages on failed init [43]
           81  + o ntlm: Fix misaligned function comments for Curl_auth_ntlm_cleanup [70]
           82  + o ntlm: Support the NT response in the type-3 when OpenSSL doesn't include MD4
           83  + o openssl: mark connection for close on TLS close_notify [36]
           84  + o openvms: Remove pre-processor for SecureTransport [40]
           85  + o openvms: Remove pre-processors for Windows [40]
           86  + o parse_proxy: use the URL parser API [72]
           87  + o parsedate: disabled on CURL_DISABLE_PARSEDATE
           88  + o pingpong: disable more when no pingpong protocols are enabled
           89  + o polarssl_threadlock: remove conditionally unused code [22]
           90  + o progress: acknowledge CURL_DISABLE_PROGRESS_METER [78]
           91  + o proxy: acknowledge DISABLE_PROXY more
           92  + o resolve: apply Happy Eyeballs philosophy to parallel c-ares queries [3]
           93  + o revert "multi: support verbose conncache closure handle" [69]
           94  + o sasl: Don't send authcid as authzid for the PLAIN mechanism as per RFC 4616
           95  + o sasl: only enable if there's a protocol enabled using it
           96  + o scripts: fix typos
           97  + o singleipconnect: show port in the verbose "Trying ..." message
           98  + o smtp: fix compiler warning [15]
           99  + o socks5: user name and passwords must be shorter than 256 [8]
          100  + o socks: fix error message
          101  + o socksd: new SOCKS 4+5 server for tests [31]
          102  + o spnego_gssapi: fix return code on gss_init_sec_context() failure [53]
          103  + o ssh-libssh: remove unused variable [83]
          104  + o ssh: define USE_SSH if SSH is enabled (any backend) [57]
          105  + o ssh: move variable declaration to where it's used [83]
          106  + o test1002: correct the name
          107  + o test2100: Fix typos in test description
          108  + o tests/server/util: fix Windows Unicode build [21]
          109  + o tests: Run global cleanup at end of tests [29]
          110  + o tests: make Impacket (SMB server) Python 3 compatible [11]
          111  + o tool_cb_wrt: fix bad-function-cast warning [5]
          112  + o tool_formparse: remove redundant assignment [83]
          113  + o tool_help: Warn if curl and libcurl versions do not match [28]
          114  + o tool_help: include <strings.h> for strcasecmp [4]
          115  + o transfer: fix LGTM alert "Comparison is always true" [14]
          116  + o travis: add an osx http-only build [80]
          117  + o travis: allow builds on branches named "ci"
          118  + o travis: install dependencies only when needed [24]
          119  + o travis: update some builds do Xenial [30]
          120  + o travis: updated mesalink builds [35]
          121  + o url: always clone the CUROPT_CURLU handle [26]
          122  + o url: convert the zone id from a IPv6 URL to correct scope id [89]
          123  + o urlapi: add CURLUPART_ZONEID to set and get [59]
          124  + o urlapi: increase supported scheme length to 40 bytes [84]
          125  + o urlapi: require a non-zero host name length when parsing URL [73]
          126  + o urlapi: stricter CURLUPART_PORT parsing [33]
          127  + o urlapi: strip off zone id from numerical IPv6 addresses [49]
          128  + o urlapi: urlencode characters above 0x7f correctly [9]
          129  + o vauth/cleartext: update the PLAIN login to match RFC 4616 [27]
          130  + o vauth/oauth2: Fix OAUTHBEARER token generation [6]
          131  + o vauth: Fix incorrect function description for Curl_auth_user_contains_domain [68]
          132  + o vtls: fix potential ssl_buffer stack overflow [76]
          133  + o wildcard: disable from build when FTP isn't present
          134  + o winbuild: Support MultiSSL builds [34]
          135  + o xattr: skip unittest on unsupported platforms [20]
   132    136   
   133    137   This release includes the following known bugs:
   134    138   
   135    139    o see docs/KNOWN_BUGS (https://curl.haxx.se/docs/knownbugs.html)
   136    140   
   137    141   This release would not have looked like this without help, code, reports and
   138    142   advice from friends like these:
   139    143   
   140         -  accountantM on github, Alessandro Ghedini, Andre Guibert de Bruet,
   141         -  Arnaud Rebillout, Bernd Mueller, Björn Stenberg, buzo-ffm on github,
   142         -  Chris Araman, Christian Schmitz, Chris Young, d912e3 on github, Dan Fandrich,
   143         -  Daniel Gustafsson, Daniel Lublin, Daniel Stenberg, David Garske,
   144         -  David Woodhouse, Dominik Hölzl, Don J Olmstead, Eric Curtin, Frank Gevaerts,
   145         -  Gisle Vanem, James Brown, Jan Alexander Steffens, jnbr on github,
   146         -  MAntoniak on github, Marcel Raad, Marc Schlatter, Matt McClure, Michael Felt,
   147         -  Michael Schmid, Michael Wallner, Michał Antoniak, nedres on github,
   148         -  nianxuejie on github, Nick Zitzmann, Nicolas Grekas, Patrick Monnerat,
   149         -  Paul Groke, Pavel Löbl, Ray Satiro, Renaud Allard, Romain Geissler,
   150         -  Sara Golemon, Simon Legner, tholin on github, Tim Rühsen, Volker Schmid,
   151         -  wesinator on github,
   152         -  (49 contributors)
          144  +  Aron Bergman, Brad Spencer, cclauss on github, Dan Fandrich,
          145  +  Daniel Gustafsson, Daniel Stenberg, Eli Schwartz, Even Rouault,
          146  +  Frank Gevaerts, Gisle Vanem, GitYuanQu on github, Guy Poizat, Isaiah Norton,
          147  +  Jakub Zakrzewski, Jan Ehrhardt, Jeroen Ooms, Jonathan Cardoso Machado,
          148  +  Jonathan Moerman, Joombalaya on github, Kamil Dudka, Kristoffer Gleditsch,
          149  +  l00p3r on hackerone, Leonardo Taccari, Marcel Raad, Mert Yazıcıoğlu,
          150  +  nevv on HackerOne/curl, niner on github, Olen Andoni, Omar Ramadan,
          151  +  Paolo Mossino, Patrick Monnerat, Po-Chuan Hsieh, Poul T Lomholt, Ray Satiro,
          152  +  Reed Loden, Ricardo Gomes, Ricky Leverence, Rikard Falkeborn, Roy Bellingan,
          153  +  Simon Warta, Steve Holme, Taiyu Len, Tim Rühsen, Tom van der Woerdt,
          154  +  Tseng Jun, Viktor Szakats, Wenchao Li, Wyatt O'Day, XmiliaH on github,
          155  +  Yiming Jing,
          156  +  (50 contributors)
   153    157   
   154    158           Thanks! (and sorry if I forgot to mention someone)
   155    159   
   156    160   References to bug reports and discussions on issues:
   157    161   
   158         - [1] = https://curl.haxx.se/bug/?i=3516
   159         - [2] = https://curl.haxx.se/bug/?i=3550
   160         - [3] = https://curl.haxx.se/bug/?i=3541
   161         - [4] = https://curl.haxx.se/bug/?i=3544
   162         - [5] = https://curl.haxx.se/bug/?i=3538
   163         - [6] = https://curl.haxx.se/bug/?i=3539
   164         - [7] = https://curl.haxx.se/bug/?i=3540
   165         - [8] = https://bugs.debian.org/921452
   166         - [9] = https://curl.haxx.se/bug/?i=3534
   167         - [10] = https://curl.haxx.se/bug/?i=3412
   168         - [11] = https://curl.haxx.se/bug/?i=3572
   169         - [12] = https://curl.haxx.se/bug/?i=3571
   170         - [13] = https://curl.haxx.se/bug/?i=3564
   171         - [14] = https://curl.haxx.se/bug/?i=3542
   172         - [15] = https://curl.haxx.se/bug/?i=3569
   173         - [16] = https://curl.haxx.se/bug/?i=3566
   174         - [17] = https://curl.haxx.se/bug/?i=3565
   175         - [18] = https://curl.haxx.se/bug/?i=3561
   176         - [19] = https://curl.haxx.se/bug/?i=3552
   177         - [20] = https://curl.haxx.se/bug/?i=3562
   178         - [21] = https://curl.haxx.se/bug/?i=3557
   179         - [22] = https://curl.haxx.se/bug/?i=3548
   180         - [23] = https://curl.haxx.se/mail/archive-2019-02/0013.html
   181         - [24] = https://curl.haxx.se/bug/?i=3553
   182         - [25] = https://curl.haxx.se/bug/?i=3551
   183         - [26] = https://curl.haxx.se/bug/?i=3536
   184         - [27] = https://curl.haxx.se/bug/?i=3532
   185         - [28] = https://curl.haxx.se/bug/?i=3574
   186         - [29] = https://curl.haxx.se/bug/?i=3554
   187         - [30] = https://curl.haxx.se/bug/?i=3313
   188         - [31] = https://curl.haxx.se/bug/?i=3580
   189         - [32] = https://curl.haxx.se/bug/?i=3584
   190         - [33] = https://curl.haxx.se/bug/?i=3578
   191         - [34] = https://curl.haxx.se/bug/?i=3582
   192         - [35] = https://curl.haxx.se/mail/lib-2019-02/0064.html
   193         - [36] = https://curl.haxx.se/bug/?i=3585
   194         - [37] = https://curl.haxx.se/bug/?i=3577
   195         - [38] = https://curl.haxx.se/bug/?i=3587
   196         - [39] = https://curl.haxx.se/mail/lib-2019-02/0101.html
   197         - [40] = https://curl.haxx.se/bug/?i=3600
   198         - [41] = https://curl.haxx.se/bug/?i=3599
   199         - [42] = https://curl.haxx.se/bug/?i=3537
   200         - [43] = https://curl.haxx.se/bug/?i=3602
   201         - [44] = https://curl.haxx.se/bug/?i=3608
   202         - [45] = https://curl.haxx.se/bug/?i=3595
   203         - [46] = https://curl.haxx.se/bug/?i=3591
   204         - [47] = https://curl.haxx.se/bug/?i=3613
   205         - [48] = https://curl.haxx.se/bug/?i=3612
   206         - [49] = https://curl.haxx.se/bug/?i=3606
   207         - [50] = https://curl.haxx.se/bug/?i=3609
   208         - [51] = https://curl.haxx.se/bug/?i=3611
   209         - [52] = https://curl.haxx.se/bug/?i=3616
   210         - [53] = https://curl.haxx.se/bug/?i=3610
   211         - [54] = https://curl.haxx.se/bug/?i=3421
   212         - [55] = https://curl.haxx.se/bug/?i=3623
   213         - [56] = https://curl.haxx.se/bug/?i=3619
   214         - [57] = https://curl.haxx.se/mail/archive-2019-02/0023.html
   215         - [58] = https://curl.haxx.se/bug/?i=3626
   216         - [59] = https://curl.haxx.se/bug/?i=3631
   217         - [60] = https://curl.haxx.se/bug/?i=3628
   218         - [61] = https://curl.haxx.se/bug/?i=3629
   219         - [62] = https://curl.haxx.se/bug/?i=3627
   220         - [63] = https://curl.haxx.se/bug/?i=3632
   221         - [64] = https://curl.haxx.se/bug/?i=3592
   222         - [65] = https://curl.haxx.se/bug/?i=3625
   223         - [66] = https://curl.haxx.se/bug/?i=3636
   224         - [67] = https://curl.haxx.se/bug/?i=3545
   225         - [68] = https://curl.haxx.se/bug/?i=3546
   226         - [69] = https://curl.haxx.se/bug/?i=3617
   227         - [70] = https://curl.haxx.se/bug/?i=3645
   228         - [71] = https://curl.haxx.se/bug/?i=3506
   229         - [72] = https://curl.haxx.se/bug/?i=3618
   230         - [73] = https://curl.haxx.se/bug/?i=3641
   231         - [74] = https://curl.haxx.se/bug/?i=3498
   232         - [76] = https://curl.haxx.se/bug/?i=3637
   233         - [77] = https://curl.haxx.se/bug/?i=3670
   234         - [78] = https://curl.haxx.se/bug/?i=3663
   235         - [79] = https://curl.haxx.se/bug/?i=3666
   236         - [80] = https://curl.haxx.se/bug/?i=3660
   237         - [81] = https://curl.haxx.se/bug/?i=3649
   238         - [82] = https://curl.haxx.se/bug/?i=3656
   239         - [83] = https://curl.haxx.se/bug/?i=3658
   240         - [84] = https://curl.haxx.se/bug/?i=3677
   241         - [85] = https://curl.haxx.se/bug/?i=3681
   242         - [86] = https://curl.haxx.se/bug/?i=3680
   243         - [87] = https://curl.haxx.se/bug/?i=3682
   244         - [88] = https://curl.haxx.se/bug/?i=1261
   245         - [89] = https://curl.haxx.se/bug/?i=2431
   246         - [90] = https://curl.haxx.se/bug/?i=3672
   247         - [91] = https://curl.haxx.se/bug/?i=3671
   248         - [92] = https://curl.haxx.se/bug/?i=3697
   249         - [93] = https://curl.haxx.se/bug/?i=3692
   250         - [94] = https://curl.haxx.se/bug/?i=3689
   251         - [95] = https://curl.haxx.se/bug/?i=3686
   252         - [96] = https://github.com/curl/curl/issues/3175#issuecomment-439068724
   253         -
          162  + [1] = https://curl.haxx.se/bug/?i=3709
          163  + [2] = https://curl.haxx.se/bug/?i=3707
          164  + [3] = https://curl.haxx.se/bug/?i=3699
          165  + [4] = https://curl.haxx.se/bug/?i=3715
          166  + [5] = https://curl.haxx.se/bug/?i=3718
          167  + [6] = https://curl.haxx.se/bug/?i=2487
          168  + [7] = https://curl.haxx.se/bug/?i=3724
          169  + [8] = https://curl.haxx.se/bug/?i=3737
          170  + [9] = https://curl.haxx.se/bug/?i=3741
          171  + [10] = https://curl.haxx.se/bug/?i=3651
          172  + [11] = https://curl.haxx.se/bug/?i=3731
          173  + [12] = https://curl.haxx.se/bug/?i=3736
          174  + [13] = https://curl.haxx.se/bug/?i=3723
          175  + [14] = https://curl.haxx.se/bug/?i=3732
          176  + [15] = https://curl.haxx.se/bug/?i=3729
          177  + [16] = https://curl.haxx.se/bug/?i=3720
          178  + [17] = https://curl.haxx.se/bug/?i=3738
          179  + [18] = https://curl.haxx.se/bug/?i=3744
          180  + [19] = https://curl.haxx.se/bug/?i=3743
          181  + [20] = https://curl.haxx.se/bug/?i=3759
          182  + [21] = https://curl.haxx.se/bug/?i=3758
          183  + [22] = https://curl.haxx.se/bug/?i=3739
          184  + [23] = https://curl.haxx.se/bug/?i=3725
          185  + [24] = https://curl.haxx.se/bug/?i=3721
          186  + [25] = https://curl.haxx.se/bug/?i=3654
          187  + [26] = https://curl.haxx.se/bug/?i=3753
          188  + [27] = https://curl.haxx.se/bug/?i=3757
          189  + [28] = https://curl.haxx.se/bug/?i=3774
          190  + [29] = https://curl.haxx.se/bug/?i=3783
          191  + [30] = https://curl.haxx.se/bug/?i=3777
          192  + [31] = https://curl.haxx.se/bug/?i=3752
          193  + [32] = https://curl.haxx.se/bug/?i=3713
          194  + [33] = https://curl.haxx.se/bug/?i=3762
          195  + [34] = https://curl.haxx.se/bug/?i=3772
          196  + [35] = https://curl.haxx.se/bug/?i=3823
          197  + [36] = https://curl.haxx.se/bug/?i=3750
          198  + [37] = https://curl.haxx.se/bug/?i=3782
          199  + [38] = https://curl.haxx.se/bug/?i=3717
          200  + [39] = https://curl.haxx.se/mail/lib-2019-04/0052.html
          201  + [40] = https://curl.haxx.se/bug/?i=3768
          202  + [41] = https://curl.haxx.se/bug/?i=3813
          203  + [42] = https://curl.haxx.se/bug/?i=3820
          204  + [43] = https://curl.haxx.se/bug/?i=3808
          205  + [44] = https://curl.haxx.se/bug/?i=3805
          206  + [45] = https://curl.haxx.se/bug/?i=3809
          207  + [46] = https://curl.haxx.se/bug/?i=3769
          208  + [47] = https://curl.haxx.se/bug/?i=3801
          209  + [48] = https://curl.haxx.se/bug/?i=3488
          210  + [49] = https://curl.haxx.se/bug/?i=3817
          211  + [50] = https://curl.haxx.se/bug/?i=3833
          212  + [51] = https://curl.haxx.se/bug/?i=3829
          213  + [52] = https://curl.haxx.se/bug/?i=3537
          214  + [53] = https://curl.haxx.se/bug/?i=3726
          215  + [54] = https://curl.haxx.se/bug/?i=3570
          216  + [55] = https://curl.haxx.se/bug/?i=3771
          217  + [56] = https://curl.haxx.se/bug/?i=3807
          218  + [57] = https://curl.haxx.se/bug/?i=3846
          219  + [58] = https://curl.haxx.se/bug/?i=3838
          220  + [59] = https://curl.haxx.se/bug/?i=3834
          221  + [60] = https://curl.haxx.se/bug/?i=3837
          222  + [61] = https://curl.haxx.se/bug/?i=3869
          223  + [62] = https://curl.haxx.se/bug/?i=3818
          224  + [63] = https://curl.haxx.se/bug/?i=3866
          225  + [64] = https://curl.haxx.se/bug/?i=3867
          226  + [65] = https://curl.haxx.se/bug/?i=3861
          227  + [66] = https://curl.haxx.se/bug/?i=3850
          228  + [67] = https://curl.haxx.se/bug/?i=3862
          229  + [68] = https://curl.haxx.se/bug/?i=3860
          230  + [69] = https://curl.haxx.se/bug/?i=3856
          231  + [70] = https://curl.haxx.se/bug/?i=3858
          232  + [71] = https://curl.haxx.se/bug/?i=3885
          233  + [72] = https://curl.haxx.se/bug/?i=3878
          234  + [73] = https://curl.haxx.se/bug/?i=3880
          235  + [74] = https://curl.haxx.se/bug/?i=3824
          236  + [75] = https://curl.haxx.se/bug/?i=3711
          237  + [76] = https://curl.haxx.se/bug/?i=3863
          238  + [77] = https://curl.haxx.se/bug/?i=3894
          239  + [78] = https://curl.haxx.se/bug/?i=3844
          240  + [79] = https://curl.haxx.se/bug/?i=3895
          241  + [80] = https://curl.haxx.se/bug/?i=3887
          242  + [81] = https://curl.haxx.se/bug/?i=3876
          243  + [82] = https://curl.haxx.se/docs/CVE-2019-5436.html
          244  + [83] = https://curl.haxx.se/bug/?i=3873
          245  + [84] = https://curl.haxx.se/bug/?i=3905
          246  + [85] = https://curl.haxx.se/bug/?i=3892
          247  + [86] = https://curl.haxx.se/bug/?i=3906
          248  + [87] = https://curl.haxx.se/docs/CVE-2019-5435.html
          249  + [88] = https://curl.haxx.se/bug/?i=3908
          250  + [89] = https://curl.haxx.se/bug/?i=3902

Changes to jni/curl/configure.

 22248  22248   if test "${with_amissl+set}" = set; then :
 22249  22249     withval=$with_amissl; OPT_AMISSL=$withval
 22250  22250   fi
 22251  22251   
 22252  22252   
 22253  22253   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Amiga native SSL/TLS (AmiSSL)" >&5
 22254  22254   $as_echo_n "checking whether to enable Amiga native SSL/TLS (AmiSSL)... " >&6; }
 22255         -if test "$HAVE_PROTO_BSDSOCKET_H" == "1"; then
        22255  +if test "$HAVE_PROTO_BSDSOCKET_H" = "1"; then
 22256  22256     if test -z "$ssl_backends" -o "x$OPT_AMISSL" != xno; then
 22257  22257       ssl_msg=
 22258  22258       if test "x$OPT_AMISSL" != "xno"; then
 22259  22259         { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 22260  22260   $as_echo "yes" >&6; }
 22261  22261         ssl_msg="AmiSSL"
 22262  22262         test amissl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
................................................................................
 23617  23617     fi
 23618  23618   
 23619  23619       check_for_ca_bundle=1
 23620  23620     fi
 23621  23621   
 23622  23622     test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
 23623  23623   fi
        23624  +
        23625  +if test X"$OPT_SSL" != Xoff &&
        23626  +  test X"$OPT_SSL" != Xno &&
        23627  +  test "$OPENSSL_ENABLED" != "1"; then
        23628  +  { $as_echo "$as_me:${as_lineno-$LINENO}: OPT_SSL: $OPT_SSL" >&5
        23629  +$as_echo "$as_me: OPT_SSL: $OPT_SSL" >&6;}
        23630  +  { $as_echo "$as_me:${as_lineno-$LINENO}: OPENSSL_ENABLED: $OPENSSL_ENABLED" >&5
        23631  +$as_echo "$as_me: OPENSSL_ENABLED: $OPENSSL_ENABLED" >&6;}
        23632  +  as_fn_error $? "--with-ssl was given but OpenSSL could not be detected" "$LINENO" 5
        23633  +fi
 23624  23634   
 23625  23635   
 23626  23636   if test X"$OPENSSL_ENABLED" = X"1"; then
 23627  23637   
 23628  23638   # Check whether --with-egd-socket was given.
 23629  23639   if test "${with_egd_socket+set}" = set; then :
 23630  23640     withval=$with_egd_socket;  EGD_SOCKET="$withval"
................................................................................
 27838  27848     withval=$with_fish_functions_dir; OPT_FISH_FPATH=$withval
 27839  27849   fi
 27840  27850   
 27841  27851   case "$OPT_FISH_FPATH" in
 27842  27852     no)
 27843  27853           ;;
 27844  27854     default|yes)
 27845         -        FISH_FUNCTIONS_DIR="$datarootdir/fish/completions"
        27855  +
        27856  +    if test -n "$PKG_CONFIG"; then
        27857  +      PKGCONFIG="$PKG_CONFIG"
        27858  +    else
        27859  +      if test -n "$ac_tool_prefix"; then
        27860  +  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
        27861  +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
        27862  +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
        27863  +$as_echo_n "checking for $ac_word... " >&6; }
        27864  +if ${ac_cv_path_PKGCONFIG+:} false; then :
        27865  +  $as_echo_n "(cached) " >&6
        27866  +else
        27867  +  case $PKGCONFIG in
        27868  +  [\\/]* | ?:[\\/]*)
        27869  +  ac_cv_path_PKGCONFIG="$PKGCONFIG" # Let the user override the test with a path.
        27870  +  ;;
        27871  +  *)
        27872  +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
        27873  +as_dummy="$PATH:/usr/bin:/usr/local/bin"
        27874  +for as_dir in $as_dummy
        27875  +do
        27876  +  IFS=$as_save_IFS
        27877  +  test -z "$as_dir" && as_dir=.
        27878  +    for ac_exec_ext in '' $ac_executable_extensions; do
        27879  +  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
        27880  +    ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
        27881  +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
        27882  +    break 2
        27883  +  fi
        27884  +done
        27885  +  done
        27886  +IFS=$as_save_IFS
        27887  +
        27888  +  ;;
        27889  +esac
        27890  +fi
        27891  +PKGCONFIG=$ac_cv_path_PKGCONFIG
        27892  +if test -n "$PKGCONFIG"; then
        27893  +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5
        27894  +$as_echo "$PKGCONFIG" >&6; }
        27895  +else
        27896  +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
        27897  +$as_echo "no" >&6; }
        27898  +fi
        27899  +
        27900  +
        27901  +fi
        27902  +if test -z "$ac_cv_path_PKGCONFIG"; then
        27903  +  ac_pt_PKGCONFIG=$PKGCONFIG
        27904  +  # Extract the first word of "pkg-config", so it can be a program name with args.
        27905  +set dummy pkg-config; ac_word=$2
        27906  +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
        27907  +$as_echo_n "checking for $ac_word... " >&6; }
        27908  +if ${ac_cv_path_ac_pt_PKGCONFIG+:} false; then :
        27909  +  $as_echo_n "(cached) " >&6
        27910  +else
        27911  +  case $ac_pt_PKGCONFIG in
        27912  +  [\\/]* | ?:[\\/]*)
        27913  +  ac_cv_path_ac_pt_PKGCONFIG="$ac_pt_PKGCONFIG" # Let the user override the test with a path.
        27914  +  ;;
        27915  +  *)
        27916  +  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
        27917  +as_dummy="$PATH:/usr/bin:/usr/local/bin"
        27918  +for as_dir in $as_dummy
        27919  +do
        27920  +  IFS=$as_save_IFS
        27921  +  test -z "$as_dir" && as_dir=.
        27922  +    for ac_exec_ext in '' $ac_executable_extensions; do
        27923  +  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
        27924  +    ac_cv_path_ac_pt_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
        27925  +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
        27926  +    break 2
        27927  +  fi
        27928  +done
        27929  +  done
        27930  +IFS=$as_save_IFS
        27931  +
        27932  +  ;;
        27933  +esac
        27934  +fi
        27935  +ac_pt_PKGCONFIG=$ac_cv_path_ac_pt_PKGCONFIG
        27936  +if test -n "$ac_pt_PKGCONFIG"; then
        27937  +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKGCONFIG" >&5
        27938  +$as_echo "$ac_pt_PKGCONFIG" >&6; }
        27939  +else
        27940  +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
        27941  +$as_echo "no" >&6; }
        27942  +fi
        27943  +
        27944  +  if test "x$ac_pt_PKGCONFIG" = x; then
        27945  +    PKGCONFIG="no"
        27946  +  else
        27947  +    case $cross_compiling:$ac_tool_warned in
        27948  +yes:)
        27949  +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
        27950  +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
        27951  +ac_tool_warned=yes ;;
        27952  +esac
        27953  +    PKGCONFIG=$ac_pt_PKGCONFIG
        27954  +  fi
        27955  +else
        27956  +  PKGCONFIG="$ac_cv_path_PKGCONFIG"
        27957  +fi
        27958  +
        27959  +    fi
        27960  +
        27961  +    if test "x$PKGCONFIG" != "xno"; then
        27962  +      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fish options with pkg-config" >&5
        27963  +$as_echo_n "checking for fish options with pkg-config... " >&6; }
        27964  +            itexists=`
        27965  +    if test -n ""; then
        27966  +      PKG_CONFIG_LIBDIR=""
        27967  +      export PKG_CONFIG_LIBDIR
        27968  +    fi
        27969  +         $PKGCONFIG --exists fish >/dev/null 2>&1 && echo 1`
        27970  +
        27971  +      if test -z "$itexists"; then
        27972  +                        PKGCONFIG="no"
        27973  +        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
        27974  +$as_echo "no" >&6; }
        27975  +      else
        27976  +        { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
        27977  +$as_echo "found" >&6; }
        27978  +      fi
        27979  +    fi
        27980  +
        27981  +    if test "$PKGCONFIG" != "no" ; then
        27982  +      FISH_FUNCTIONS_DIR="$($PKGCONFIG --variable completionsdir fish)"
        27983  +    else
        27984  +      FISH_FUNCTIONS_DIR="$datarootdir/fish/vendor_completions.d"
        27985  +    fi
 27846  27986   
 27847  27987       ;;
 27848  27988     *)
 27849  27989           FISH_FUNCTIONS_DIR="$withval"
 27850  27990   
 27851  27991       ;;
 27852  27992   esac
................................................................................
 33725  33865       curl_cv_func_gethostname="yes"
 33726  33866     else
 33727  33867       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 33728  33868   $as_echo "no" >&6; }
 33729  33869       curl_cv_func_gethostname="no"
 33730  33870     fi
 33731  33871   
        33872  +
        33873  +          #
        33874  +  tst_links_getpeername="unknown"
        33875  +  tst_proto_getpeername="unknown"
        33876  +  tst_compi_getpeername="unknown"
        33877  +  tst_allow_getpeername="unknown"
        33878  +  #
        33879  +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getpeername can be linked" >&5
        33880  +$as_echo_n "checking if getpeername can be linked... " >&6; }
        33881  +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
        33882  +/* end confdefs.h.  */
        33883  +
        33884  +
        33885  +      $curl_includes_winsock2
        33886  +      $curl_includes_bsdsocket
        33887  +      $curl_includes_sys_socket
        33888  +
        33889  +int main (void)
        33890  +{
        33891  +
        33892  +      if(0 != getpeername(0, (void *)0, (void *)0))
        33893  +        return 1;
        33894  +
        33895  + ;
        33896  + return 0;
        33897  +}
        33898  +
        33899  +_ACEOF
        33900  +if ac_fn_c_try_link "$LINENO"; then :
        33901  +
        33902  +    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
        33903  +$as_echo "yes" >&6; }
        33904  +    tst_links_getpeername="yes"
        33905  +
        33906  +else
        33907  +
        33908  +    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
        33909  +$as_echo "no" >&6; }
        33910  +    tst_links_getpeername="no"
        33911  +
        33912  +fi
        33913  +rm -f core conftest.err conftest.$ac_objext \
        33914  +    conftest$ac_exeext conftest.$ac_ext
        33915  +  #
        33916  +  if test "$tst_links_getpeername" = "yes"; then
        33917  +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getpeername is prototyped" >&5
        33918  +$as_echo_n "checking if getpeername is prototyped... " >&6; }
        33919  +    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
        33920  +/* end confdefs.h.  */
        33921  +
        33922  +      $curl_includes_winsock2
        33923  +      $curl_includes_bsdsocket
        33924  +      $curl_includes_sys_socket
        33925  +
        33926  +_ACEOF
        33927  +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
        33928  +  $EGREP "getpeername" >/dev/null 2>&1; then :
        33929  +
        33930  +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
        33931  +$as_echo "yes" >&6; }
        33932  +      tst_proto_getpeername="yes"
        33933  +
        33934  +else
        33935  +
        33936  +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
        33937  +$as_echo "no" >&6; }
        33938  +      tst_proto_getpeername="no"
        33939  +
        33940  +fi
        33941  +rm -f conftest*
        33942  +
        33943  +  fi
        33944  +  #
        33945  +  if test "$tst_proto_getpeername" = "yes"; then
        33946  +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getpeername is compilable" >&5
        33947  +$as_echo_n "checking if getpeername is compilable... " >&6; }
        33948  +    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
        33949  +/* end confdefs.h.  */
        33950  +
        33951  +
        33952  +        $curl_includes_winsock2
        33953  +        $curl_includes_bsdsocket
        33954  +        $curl_includes_sys_socket
        33955  +
        33956  +int main (void)
        33957  +{
        33958  +
        33959  +        if(0 != getpeername(0, (void *)0, (void *)0))
        33960  +          return 1;
        33961  +
        33962  + ;
        33963  + return 0;
        33964  +}
        33965  +
        33966  +_ACEOF
        33967  +if ac_fn_c_try_compile "$LINENO"; then :
        33968  +
        33969  +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
        33970  +$as_echo "yes" >&6; }
        33971  +      tst_compi_getpeername="yes"
        33972  +
        33973  +else
        33974  +
        33975  +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
        33976  +$as_echo "no" >&6; }
        33977  +      tst_compi_getpeername="no"
        33978  +
        33979  +fi
        33980  +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
        33981  +  fi
        33982  +  #
        33983  +  if test "$tst_compi_getpeername" = "yes"; then
        33984  +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getpeername usage allowed" >&5
        33985  +$as_echo_n "checking if getpeername usage allowed... " >&6; }
        33986  +    if test "x$curl_disallow_getpeername" != "xyes"; then
        33987  +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
        33988  +$as_echo "yes" >&6; }
        33989  +      tst_allow_getpeername="yes"
        33990  +    else
        33991  +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
        33992  +$as_echo "no" >&6; }
        33993  +      tst_allow_getpeername="no"
        33994  +    fi
        33995  +  fi
        33996  +  #
        33997  +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getpeername might be used" >&5
        33998  +$as_echo_n "checking if getpeername might be used... " >&6; }
        33999  +  if test "$tst_links_getpeername" = "yes" &&
        34000  +     test "$tst_proto_getpeername" = "yes" &&
        34001  +     test "$tst_compi_getpeername" = "yes" &&
        34002  +     test "$tst_allow_getpeername" = "yes"; then
        34003  +    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
        34004  +$as_echo "yes" >&6; }
        34005  +
        34006  +cat >>confdefs.h <<_ACEOF
        34007  +#define HAVE_GETPEERNAME 1
        34008  +_ACEOF
        34009  +
        34010  +    curl_cv_func_getpeername="yes"
        34011  +  else
        34012  +    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
        34013  +$as_echo "no" >&6; }
        34014  +    curl_cv_func_getpeername="no"
        34015  +  fi
        34016  +
        34017  +
        34018  +          #
        34019  +  tst_links_getsockname="unknown"
        34020  +  tst_proto_getsockname="unknown"
        34021  +  tst_compi_getsockname="unknown"
        34022  +  tst_allow_getsockname="unknown"
        34023  +  #
        34024  +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getsockname can be linked" >&5
        34025  +$as_echo_n "checking if getsockname can be linked... " >&6; }
        34026  +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
        34027  +/* end confdefs.h.  */
        34028  +
        34029  +
        34030  +      $curl_includes_winsock2
        34031  +      $curl_includes_bsdsocket
        34032  +      $curl_includes_sys_socket
        34033  +
        34034  +int main (void)
        34035  +{
        34036  +
        34037  +      if(0 != getsockname(0, (void *)0, (void *)0))
        34038  +        return 1;
        34039  +
        34040  + ;
        34041  + return 0;
        34042  +}
        34043  +
        34044  +_ACEOF
        34045  +if ac_fn_c_try_link "$LINENO"; then :
        34046  +
        34047  +    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
        34048  +$as_echo "yes" >&6; }
        34049  +    tst_links_getsockname="yes"
        34050  +
        34051  +else
        34052  +
        34053  +    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
        34054  +$as_echo "no" >&6; }
        34055  +    tst_links_getsockname="no"
        34056  +
        34057  +fi
        34058  +rm -f core conftest.err conftest.$ac_objext \
        34059  +    conftest$ac_exeext conftest.$ac_ext
        34060  +  #
        34061  +  if test "$tst_links_getsockname" = "yes"; then
        34062  +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getsockname is prototyped" >&5
        34063  +$as_echo_n "checking if getsockname is prototyped... " >&6; }
        34064  +    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
        34065  +/* end confdefs.h.  */
        34066  +
        34067  +      $curl_includes_winsock2
        34068  +      $curl_includes_bsdsocket
        34069  +      $curl_includes_sys_socket
        34070  +
        34071  +_ACEOF
        34072  +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
        34073  +  $EGREP "getsockname" >/dev/null 2>&1; then :
        34074  +
        34075  +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
        34076  +$as_echo "yes" >&6; }
        34077  +      tst_proto_getsockname="yes"
        34078  +
        34079  +else
        34080  +
        34081  +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
        34082  +$as_echo "no" >&6; }
        34083  +      tst_proto_getsockname="no"
        34084  +
        34085  +fi
        34086  +rm -f conftest*
        34087  +
        34088  +  fi
        34089  +  #
        34090  +  if test "$tst_proto_getsockname" = "yes"; then
        34091  +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getsockname is compilable" >&5
        34092  +$as_echo_n "checking if getsockname is compilable... " >&6; }
        34093  +    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
        34094  +/* end confdefs.h.  */
        34095  +
        34096  +
        34097  +        $curl_includes_winsock2
        34098  +        $curl_includes_bsdsocket
        34099  +        $curl_includes_sys_socket
        34100  +
        34101  +int main (void)
        34102  +{
        34103  +
        34104  +        if(0 != getsockname(0, (void *)0, (void *)0))
        34105  +          return 1;
        34106  +
        34107  + ;
        34108  + return 0;
        34109  +}
        34110  +
        34111  +_ACEOF
        34112  +if ac_fn_c_try_compile "$LINENO"; then :
        34113  +
        34114  +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
        34115  +$as_echo "yes" >&6; }
        34116  +      tst_compi_getsockname="yes"
        34117  +
        34118  +else
        34119  +
        34120  +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
        34121  +$as_echo "no" >&6; }
        34122  +      tst_compi_getsockname="no"
        34123  +
        34124  +fi
        34125  +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
        34126  +  fi
        34127  +  #
        34128  +  if test "$tst_compi_getsockname" = "yes"; then
        34129  +    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getsockname usage allowed" >&5
        34130  +$as_echo_n "checking if getsockname usage allowed... " >&6; }
        34131  +    if test "x$curl_disallow_getsockname" != "xyes"; then
        34132  +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
        34133  +$as_echo "yes" >&6; }
        34134  +      tst_allow_getsockname="yes"
        34135  +    else
        34136  +      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
        34137  +$as_echo "no" >&6; }
        34138  +      tst_allow_getsockname="no"
        34139  +    fi
        34140  +  fi
        34141  +  #
        34142  +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if getsockname might be used" >&5
        34143  +$as_echo_n "checking if getsockname might be used... " >&6; }
        34144  +  if test "$tst_links_getsockname" = "yes" &&
        34145  +     test "$tst_proto_getsockname" = "yes" &&
        34146  +     test "$tst_compi_getsockname" = "yes" &&
        34147  +     test "$tst_allow_getsockname" = "yes"; then
        34148  +    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
        34149  +$as_echo "yes" >&6; }
        34150  +
        34151  +cat >>confdefs.h <<_ACEOF
        34152  +#define HAVE_GETSOCKNAME 1
        34153  +_ACEOF
        34154  +
        34155  +    curl_cv_func_getsockname="yes"
        34156  +  else
        34157  +    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
        34158  +$as_echo "no" >&6; }
        34159  +    curl_cv_func_getsockname="no"
        34160  +  fi
        34161  +
 33732  34162   
 33733  34163         #
 33734  34164     tst_links_getifaddrs="unknown"
 33735  34165     tst_proto_getifaddrs="unknown"
 33736  34166     tst_compi_getifaddrs="unknown"
 33737  34167     tst_works_getifaddrs="unknown"
 33738  34168     tst_allow_getifaddrs="unknown"

Changes to jni/curl/configure.ac.

  1565   1565   OPT_AMISSL=no
  1566   1566   AC_ARG_WITH(amissl,dnl
  1567   1567   AC_HELP_STRING([--with-amissl],[enable Amiga native SSL/TLS (AmiSSL)])
  1568   1568   AC_HELP_STRING([--without-amissl], [disable Amiga native SSL/TLS (AmiSSL)]),
  1569   1569     OPT_AMISSL=$withval)
  1570   1570   
  1571   1571   AC_MSG_CHECKING([whether to enable Amiga native SSL/TLS (AmiSSL)])
  1572         -if test "$HAVE_PROTO_BSDSOCKET_H" == "1"; then
         1572  +if test "$HAVE_PROTO_BSDSOCKET_H" = "1"; then
  1573   1573     if test -z "$ssl_backends" -o "x$OPT_AMISSL" != xno; then
  1574   1574       ssl_msg=
  1575   1575       if test "x$OPT_AMISSL" != "xno"; then
  1576   1576         AC_MSG_RESULT(yes)
  1577   1577         ssl_msg="AmiSSL"
  1578   1578         test amissl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
  1579   1579         AMISSL_ENABLED=1
................................................................................
  1884   1884       fi
  1885   1885       CURL_CHECK_OPENSSL_API
  1886   1886       check_for_ca_bundle=1
  1887   1887     fi
  1888   1888   
  1889   1889     test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
  1890   1890   fi
         1891  +
         1892  +if test X"$OPT_SSL" != Xoff &&
         1893  +  test X"$OPT_SSL" != Xno &&
         1894  +  test "$OPENSSL_ENABLED" != "1"; then
         1895  +  AC_MSG_NOTICE([OPT_SSL: $OPT_SSL])
         1896  +  AC_MSG_NOTICE([OPENSSL_ENABLED: $OPENSSL_ENABLED])
         1897  +  AC_MSG_ERROR([--with-ssl was given but OpenSSL could not be detected])
         1898  +fi
  1891   1899   
  1892   1900   dnl **********************************************************************
  1893   1901   dnl Check for the random seed preferences
  1894   1902   dnl **********************************************************************
  1895   1903   
  1896   1904   if test X"$OPENSSL_ENABLED" = X"1"; then
  1897   1905     AC_ARG_WITH(egd-socket,
................................................................................
  3475   3483     [OPT_FISH_FPATH=$withval])
  3476   3484   case "$OPT_FISH_FPATH" in
  3477   3485     no)
  3478   3486       dnl --without-fish-functions-dir option used
  3479   3487       ;;
  3480   3488     default|yes)
  3481   3489       dnl --with-fish-functions-dir option used without path
  3482         -    FISH_FUNCTIONS_DIR="$datarootdir/fish/completions"
         3490  +    CURL_CHECK_PKGCONFIG(fish)
         3491  +    if test "$PKGCONFIG" != "no" ; then
         3492  +      FISH_FUNCTIONS_DIR="$($PKGCONFIG --variable completionsdir fish)"
         3493  +    else
         3494  +      FISH_FUNCTIONS_DIR="$datarootdir/fish/vendor_completions.d"
         3495  +    fi
  3483   3496       AC_SUBST(FISH_FUNCTIONS_DIR)
  3484   3497       ;;
  3485   3498     *)
  3486   3499       dnl --with-fish-functions-dir option used with path
  3487   3500       FISH_FUNCTIONS_DIR="$withval"
  3488   3501       AC_SUBST(FISH_FUNCTIONS_DIR)
  3489   3502       ;;
................................................................................
  3702   3715   CURL_CHECK_FUNC_GETADDRINFO
  3703   3716   CURL_CHECK_FUNC_GAI_STRERROR
  3704   3717   CURL_CHECK_FUNC_GETHOSTBYADDR
  3705   3718   CURL_CHECK_FUNC_GETHOSTBYADDR_R
  3706   3719   CURL_CHECK_FUNC_GETHOSTBYNAME
  3707   3720   CURL_CHECK_FUNC_GETHOSTBYNAME_R
  3708   3721   CURL_CHECK_FUNC_GETHOSTNAME
         3722  +CURL_CHECK_FUNC_GETPEERNAME
         3723  +CURL_CHECK_FUNC_GETSOCKNAME
  3709   3724   CURL_CHECK_FUNC_GETIFADDRS
  3710   3725   CURL_CHECK_FUNC_GETSERVBYPORT_R
  3711   3726   CURL_CHECK_FUNC_GMTIME_R
  3712   3727   CURL_CHECK_FUNC_INET_NTOA_R
  3713   3728   CURL_CHECK_FUNC_INET_NTOP
  3714   3729   CURL_CHECK_FUNC_INET_PTON
  3715   3730   CURL_CHECK_FUNC_IOCTL

Added jni/curl/docs/BUG-BOUNTY.md.

            1  +# The curl bug bounty
            2  +
            3  +The curl project runs a bug bounty program in association with
            4  +[HackerOne](https://www.hackerone.com) and the [Internet Bug
            5  +Bounty](https://internetbugbounty.org).
            6  +
            7  +# How does it work?
            8  +
            9  +Start out by posting your suspected security vulnerability directly to [curl's
           10  +HackerOne program](https://hackerone.com/curl).
           11  +
           12  +After you have reported a security issue, it has been deemed credible, and a
           13  +patch and advisory has been made public, you may be eligible for a bounty from
           14  +this program.
           15  +
           16  +See all details at [https://hackerone.com/curl](https://hackerone.com/curl)
           17  +
           18  +This bounty is relying on funds from sponsors. If you use curl professionally,
           19  +consider help funding this! See
           20  +[https://opencollective.com/curl](https://opencollective.com/curl) for
           21  +details.
           22  +
           23  +# What are the reward amounts?
           24  +
           25  +The curl projects offer monetary compensation for reported and published
           26  +security vulnerabilities. The amount of money that is rewarded depends on how
           27  +serious the flaw is determined to be.
           28  +
           29  +We offer reward money *up to* a certain amount per severity. The curl security
           30  +team determines the severity of each reported flaw on a case by case basis and
           31  +the exact amount rewarded to the reporter is then decided.
           32  +
           33  +Check out the current award amounts at [https://hackerone.com/curl](https://hackerone.com/curl)
           34  +
           35  +# Who is eligible for a reward?
           36  +
           37  +Everyone and anyone who reports a security problem in a released curl version
           38  +that hasn't already been reported can ask for a bounty.
           39  +
           40  +Vulnerabilities in features that are off by default and documented as
           41  +experimental are not eligible for a reward.
           42  +
           43  +The vulnerability has to be fixed and publicly announced (by the curl project)
           44  +before a bug bounty will be considered.
           45  +
           46  +Bounties need to be requested within twelve months from the publication of the
           47  +vulnerability.
           48  +
           49  +The vulnerabilities must not have been made public before February 1st, 2019.
           50  +We do not retroactively pay for old, already known, or published security
           51  +problems.
           52  +
           53  +# Product vulnerabilities only
           54  +
           55  +This bug bounty only concerns the curl and libcurl products and thus their
           56  +respective source codes - when running on existing hardware. It does not
           57  +include documentation, websites, or other infrastructure.
           58  +
           59  +The curl security team will be the sole arbiter if a reported flaw can be
           60  +subject to a bounty or not.
           61  +
           62  +# How are vulnerabilities graded?
           63  +
           64  +The grading of each reported vulnerability that makes a reward claim will be
           65  +performed by the curl security team. The grading will be based on the CVSS
           66  +(Common Vulnerability Scoring System) 3.0.
           67  +
           68  +# How are reward amounts determined?
           69  +
           70  +The curl security team first gives the vulnerability a score, as mentioned
           71  +above, and based on that level we set an amount depending on the specifics of
           72  +the individual case. Other sponsors of the program might also get involved and
           73  +can raise the amounts depending on the particular issue.
           74  +
           75  +# What happens if the bounty fund is drained?
           76  +
           77  +The bounty fund depends on sponsors. If we pay out more bounties than we add,
           78  +the fund will eventually drain. If that end up happening, we will simply not
           79  +be able to pay out as high bounties as we would like and hope that we can
           80  +convince new sponsors to help us top up the fund again.
           81  +
           82  +# Regarding taxes, etc. on the bounties
           83  +
           84  +In the event that the individual receiving a curl bug bounty needs to pay
           85  +taxes on the reward money, the responsibility lies with the receiver. The
           86  +curl project or its security team never actually receive any of this money,
           87  +hold the money, or pay out the money.
           88  +
           89  +## Bonus levels
           90  +
           91  +In cooperation with [Dropbox](https://www.dropbox.com) the curl bug bounty can
           92  +offer the highest levels of rewards if the issue covers one of the interest
           93  +areas of theirs - and only if the bug is graded *high* or *critical*. A
           94  +non-exhaustive list of vulnerabilities Dropbox is interested in are:
           95  +
           96  + - RCE
           97  + - URL parsing vulnerabilities with demonstrable security impact
           98  +
           99  +Dropbox would generally hand out rewards for critical vulnerabilities ranging
          100  +from 12k-32k USD where RCE is on the upper end of the spectrum.
          101  +
          102  +URL parsing vulnerabilities with demonstrable security impact might include
          103  +incorrectly determining the authority of a URL when a special character is
          104  +inserted into the path of the URL (as a hypothetical). This type of
          105  +vulnerability would likely yield 6k-12k unless further impact could be
          106  +demonstrated.

Changes to jni/curl/docs/BUGS.

    57     57   
    58     58     If you find a bug or problem in curl or libcurl that you think has a
    59     59     security impact, for example a bug that can put users in danger or make them
    60     60     vulnerable if the bug becomes public knowledge, then please report that bug
    61     61     using our security development process.
    62     62   
    63     63     Security related bugs or bugs that are suspected to have a security impact,
    64         -  should be reported by email to curl-security@haxx.se so that they first can
    65         -  be dealt with away from the public to minimize the harm and impact it will
    66         -  have on existing users out there who might be using the vulnerable versions.
           64  +  should be reported on the curl security tracker at HackerOne:
           65  +
           66  +        https://hackerone.com/curl
           67  +
           68  +  This ensures that the report reaches the curl security team so that they
           69  +  first can be deal with the report away from the public to minimize the harm
           70  +  and impact it will have on existing users out there who might be using the
           71  +  vulnerable versions.
    67     72   
    68     73     The curl project's process for handling security related issues is
    69     74     documented here:
    70     75   
    71     76           https://curl.haxx.se/dev/secprocess.html
    72     77   
    73     78   1.4 What to report

Changes to jni/curl/docs/CIPHERS.md.

   267    267   
   268    268   `ecdhe_rsa_chacha20_poly1305_sha_256`
   269    269   `ecdhe_ecdsa_chacha20_poly1305_sha_256`
   270    270   `dhe_rsa_chacha20_poly1305_sha_256`
   271    271   
   272    272   ## GSKit
   273    273   
   274         -Ciphers are internally defined as numeric codes (https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/apis/gsk_attribute_set_buffer.htm),
          274  +Ciphers are internally defined as
          275  +[numeric codes](https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/apis/gsk_attribute_set_buffer.htm),
   275    276   but libcurl maps them to the following case-insensitive names.
   276    277   
   277    278   ### SSL2 cipher suites (insecure: disabled by default)
   278    279   
   279    280   `rc2-md5`
   280    281   `rc4-md5`
   281    282   `exp-rc2-md5`
................................................................................
   442    443   `ECDHE-PSK-NULL-SHA256`,
   443    444   `ECDHE-PSK-AES128-CBC-SHA256`,
   444    445   `PSK-CHACHA20-POLY1305`,
   445    446   `ECDHE-PSK-CHACHA20-POLY1305`,
   446    447   `DHE-PSK-CHACHA20-POLY1305`,
   447    448   `EDH-RSA-DES-CBC3-SHA`,
   448    449   
   449         -## WinSSL
          450  +## Schannel
   450    451   
   451         -WinSSL allows the enabling and disabling of encryption algorithms, but not specific ciphersuites. They are defined by Microsoft (https://msdn.microsoft.com/en-us/library/windows/desktop/aa375549(v=vs.85).aspx)
          452  +Schannel allows the enabling and disabling of encryption algorithms, but not
          453  +specific ciphersuites. They are
          454  +[defined](https://docs.microsoft.com/windows/desktop/SecCrypto/alg-id) by
          455  +Microsoft.
   452    456   
   453    457   `CALG_MD2`,
   454    458   `CALG_MD4`,
   455    459   `CALG_MD5`,
   456    460   `CALG_SHA`,
   457    461   `CALG_SHA1`,
   458    462   `CALG_MAC`,

Changes to jni/curl/docs/CODE_STYLE.md.

     5      5   single code base. Easy-to-read is a very important property of code and helps
     6      6   making it easier to review when new things are added and it helps debugging
     7      7   code when developers are trying to figure out why things go wrong. A unified
     8      8   style is more important than individual contributors having their own personal
     9      9   tastes satisfied.
    10     10   
    11     11   Our C code has a few style rules. Most of them are verified and upheld by the
    12         -"lib/checksrc.pl" script. Invoked with "make checksrc" or even by default by
    13         -the build system when built after "./configure --enable-debug" has been used.
           12  +`lib/checksrc.pl` script. Invoked with `make checksrc` or even by default by
           13  +the build system when built after `./configure --enable-debug` has been used.
    14     14   
    15     15   It is normally not a problem for anyone to follow the guidelines, as you just
    16     16   need to copy the style already used in the source code and there are no
    17     17   particularly unusual rules in our set of rules.
    18     18   
    19     19   We also work hard on writing code that are warning-free on all the major
    20     20   platforms and in general on as many platforms as possible. Code that obviously
................................................................................
   223    223                    (int)clipamount));
   224    224   
   225    225   ## Platform dependent code
   226    226   
   227    227   Use **#ifdef HAVE_FEATURE** to do conditional code. We avoid checking for
   228    228   particular operating systems or hardware in the #ifdef lines. The HAVE_FEATURE
   229    229   shall be generated by the configure script for unix-like systems and they are
   230         -hard-coded in the config-[system].h files for the others.
          230  +hard-coded in the `config-[system].h` files for the others.
   231    231   
   232    232   We also encourage use of macros/functions that possibly are empty or defined
   233    233   to constants when libcurl is built without that feature, to make the code
   234    234   seamless. Like this example where the **magic()** function works differently
   235    235   depending on a build-time conditional:
   236    236   
   237    237       #ifdef HAVE_MAGIC

Changes to jni/curl/docs/DEPRECATE.md.

     1      1   # Items to be removed from future curl releases
     2      2   
     3      3   If any of these deprecated features is a cause for concern for you, please
     4      4   email the curl-library mailing list as soon as possible and explain to us why
     5      5   this is a problem for you and how your use case can't be satisfied properly
     6      6   using a work around.
     7      7   
     8         -## HTTP pipelining
     9         -
    10         -HTTP pipelining is badly supported by curl in the sense that we have bugs and
    11         -it is a fragile feature without enough tests. Also, when something turns out
    12         -to have problems it is really tricky to debug due to the timing sensitivity so
    13         -very often enabling debug outputs or similar completely changes the nature of
    14         -the behavior and things are not reproducing anymore!
    15         -
    16         -HTTP pipelining was never enabled by default by the large desktop browsers due
    17         -to all the issues with it. Both Firefox and Chrome have also dropped
    18         -pipelining support entirely since a long time back now. We are in fact over
    19         -time becoming more and more lonely in supporting pipelining.
    20         -
    21         -The bad state of HTTP pipelining was a primary driving factor behind HTTP/2
    22         -and its multiplexing feature. HTTP/2 multiplexing is truly and really
    23         -"pipelining done right". It is way more solid, practical and solves the use
    24         -case in a better way with better performance and fewer downsides and problems.
    25         -
    26         -In 2018, pipelining *should* be abandoned and HTTP/2 should be used instead.
    27         -
    28         -### State
    29         -
    30         -In 7.62.0, we will add code that ignores the "enable pipeline" option
    31         -setting). The *setopt() function would still return "OK" though so the
    32         -application couldn't tell that this is happening.
    33         -
    34         -Users who truly need pipelining from that version will need to modify the code
    35         -(ever so slightly) and rebuild.
    36         -
    37         -### Removal
    38         -
    39         -Six months later, in sync with the planned release happen in April 2019,
    40         -(might be 7.66.0), assuming no major riots have occurred due to this in the
    41         -mean time, we rip out the pipelining code. It is in the order of 1000 lines of
    42         -libcurl code.
    43         -
    44         -Left to answer: should the *setopt() function start to return error when these
    45         -options are set to be able to tell when they're trying to use options that are
    46         -no longer around or should we maintain behavior as much as possible?
    47         -
    48         -## `CURLOPT_DNS_USE_GLOBAL_CACHE`
    49         -
    50         -This option makes libcurl use a global non-thread-safe cache for DNS if
    51         -enabled. The option has been marked as "obsolete" in the header file and in
    52         -documentation for several years already.
    53         -
    54         -There's proper and safe method alternative provided since many years: the
    55         -share API.
    56         -
    57         -### State
    58         -
    59         -In curl 7.62.0 setting this option to TRUE will not have any effect. The
    60         -global cache will not be enabled. The code still remains so it is easy to
    61         -revert if need be.
    62         -
    63         -### Removal
    64         -
    65         -Remove all global-cache related code from curl around April 2019 (might be
    66         -7.66.0).
    67         -
    68      8   ## HTTP/0.9
    69      9   
    70     10   Supporting this is non-obvious and might even come as a surprise to some
    71     11   users. Potentially even being a security risk in some cases.
    72     12   
    73     13   ### State
    74     14   

Changes to jni/curl/docs/INSTALL.md.

    60     60   
    61     61   If you insist on forcing a build without SSL support, even though you may
    62     62   have OpenSSL installed in your system, you can run configure like this:
    63     63   
    64     64      ./configure --without-ssl
    65     65   
    66     66   If you have OpenSSL installed, but with the libraries in one place and the
    67         -header files somewhere else, you have to set the LDFLAGS and CPPFLAGS
           67  +header files somewhere else, you have to set the `LDFLAGS` and `CPPFLAGS`
    68     68   environment variables prior to running configure.  Something like this should
    69     69   work:
    70     70   
    71     71       CPPFLAGS="-I/path/to/ssl/include" LDFLAGS="-L/path/to/ssl/lib" ./configure
    72     72   
    73     73   If you have shared SSL libs installed in a directory where your run-time
    74     74   linker doesn't find them (which usually causes configure failures), you can
................................................................................
   117    117    discouraged, and intermixing CRTs in the same app is something to avoid at
   118    118    any cost.
   119    119   
   120    120    Reading and comprehending Microsoft Knowledge Base articles KB94248 and
   121    121    KB140584 is a must for any Windows developer. Especially important is full
   122    122    understanding if you are not going to follow the advice given above.
   123    123   
   124         - - [How To Use the C Run-Time](https://support.microsoft.com/kb/94248/en-us)
   125         - - [How to link with the correct C Run-Time CRT library](https://support.microsoft.com/kb/140584/en-us)
   126         - - [Potential Errors Passing CRT Objects Across DLL Boundaries](https://msdn.microsoft.com/en-us/library/ms235460)
          124  + - [How To Use the C Run-Time](https://support.microsoft.com/help/94248/how-to-use-the-c-run-time)
          125  + - [Run-Time Library Compiler Options](https://docs.microsoft.com/cpp/build/reference/md-mt-ld-use-run-time-library)
          126  + - [Potential Errors Passing CRT Objects Across DLL Boundaries](https://docs.microsoft.com/cpp/c-runtime-library/potential-errors-passing-crt-objects-across-dll-boundaries)
   127    127   
   128    128   If your app is misbehaving in some strange way, or it is suffering from
   129    129   memory corruption, before asking for further help, please try first to
   130    130   rebuild every single library your app uses as well as your app using the
   131    131   debug multithreaded dynamic C runtime.
   132    132   
   133    133    If you get linkage errors read section 5.7 of the FAQ document.
................................................................................
   144    144    - `mingw32-make mingw32-zlib` to build with Zlib support;
   145    145    - `mingw32-make mingw32-ssl-zlib` to build with SSL and Zlib enabled;
   146    146    - `mingw32-make mingw32-ssh2-ssl-zlib` to build with SSH2, SSL, Zlib;
   147    147    - `mingw32-make mingw32-ssh2-ssl-sspi-zlib` to build with SSH2, SSL, Zlib
   148    148      and SSPI support.
   149    149   
   150    150   If you have any problems linking libraries or finding header files, be sure
   151         -to verify that the provided "Makefile.m32" files use the proper paths, and
          151  +to verify that the provided `Makefile.m32` files use the proper paths, and
   152    152   adjust as necessary. It is also possible to override these paths with
   153    153   environment variables, for example:
   154    154   
   155    155       set ZLIB_PATH=c:\zlib-1.2.8
   156    156       set OPENSSL_PATH=c:\openssl-1.0.2c
   157    157       set LIBSSH2_PATH=c:\libssh2-1.6.0
   158    158   
................................................................................
   168    168       set USE_LDAP_NOVELL=1
   169    169   
   170    170   If you want to enable LDAPS support then set LDAPS=1.
   171    171   
   172    172   ## Cygwin
   173    173   
   174    174   Almost identical to the unix installation. Run the configure script in the
   175         -curl source tree root with `sh configure`. Make sure you have the sh
   176         -executable in /bin/ or you'll see the configure fail toward the end.
          175  +curl source tree root with `sh configure`. Make sure you have the `sh`
          176  +executable in `/bin/` or you'll see the configure fail toward the end.
   177    177   
   178    178   Run `make`
   179    179   
   180    180   ## Disabling Specific Protocols in Windows builds
   181    181   
   182    182   The configure utility, unfortunately, is not available for the Windows
   183    183   environment, therefore, you cannot use the various disable-protocol options of
................................................................................
   196    196    - `CURL_DISABLE_HTTP`     disables HTTP
   197    197    - `CURL_DISABLE_IMAP`     disables IMAP
   198    198    - `CURL_DISABLE_POP3`     disables POP3
   199    199    - `CURL_DISABLE_SMTP`     disables SMTP
   200    200   
   201    201   If you want to set any of these defines you have the following options:
   202    202   
   203         - - Modify lib/config-win32.h
   204         - - Modify lib/curl_setup.h
   205         - - Modify winbuild/Makefile.vc
          203  + - Modify `lib/config-win32.h`
          204  + - Modify `lib/curl_setup.h`
          205  + - Modify `winbuild/Makefile.vc`
   206    206    - Modify the "Preprocessor Definitions" in the libcurl project
   207    207   
   208    208   Note: The pre-processor settings can be found using the Visual Studio IDE
   209    209   under "Project -> Settings -> C/C++ -> General" in VC6 and "Project ->
   210    210   Properties -> Configuration Properties -> C/C++ -> Preprocessor" in later
   211    211   versions.
   212    212   
   213    213   ## Using BSD-style lwIP instead of Winsock TCP/IP stack in Win32 builds
   214    214   
   215    215   In order to compile libcurl and curl using BSD-style lwIP TCP/IP stack it is
   216         -necessary to make definition of preprocessor symbol USE_LWIPSOCK visible to
          216  +necessary to make definition of preprocessor symbol `USE_LWIPSOCK` visible to
   217    217   libcurl and curl compilation processes. To set this definition you have the
   218    218   following alternatives:
   219    219   
   220         - - Modify lib/config-win32.h and src/config-win32.h
   221         - - Modify winbuild/Makefile.vc
          220  + - Modify `lib/config-win32.h` and `src/config-win32.h`
          221  + - Modify `winbuild/Makefile.vc`
   222    222    - Modify the "Preprocessor Definitions" in the libcurl project
   223    223   
   224    224   Note: The pre-processor settings can be found using the Visual Studio IDE
   225    225   under "Project -> Settings -> C/C++ -> General" in VC6 and "Project ->
   226    226   Properties -> Configuration Properties -> C/C++ -> Preprocessor" in later
   227    227   versions.
   228    228   
................................................................................
   244    244   
   245    245   When building an application that uses the static libcurl library on Windows,
   246    246   you must add `-DCURL_STATICLIB` to your `CFLAGS`.  Otherwise the linker will
   247    247   look for dynamic import symbols.
   248    248   
   249    249   ## Legacy Windows and SSL
   250    250   
   251         -WinSSL (specifically Schannel from Windows SSPI), is the native SSL library in
   252         -Windows. However, WinSSL in Windows <= XP is unable to connect to servers that
          251  +Schannel (from Windows SSPI), is the native SSL library in Windows. However,
          252  +Schannel in Windows <= XP is unable to connect to servers that
   253    253   no longer support the legacy handshakes and algorithms used by those
   254    254   versions. If you will be using curl in one of those earlier versions of
   255    255   Windows you should choose another SSL backend such as OpenSSL.
   256    256   
   257         -# Apple iOS and Mac OS X
          257  +# Apple iOS and macOS
   258    258   
   259    259   On modern Apple operating systems, curl can be built to use Apple's SSL/TLS
   260    260   implementation, Secure Transport, instead of OpenSSL. To build with Secure
   261    261   Transport for SSL/TLS, use the configure option `--with-darwinssl`. (It is not
   262    262   necessary to use the option `--without-ssl`.) This feature requires iOS 5.0 or
   263    263   later, or OS X 10.5 ("Leopard") or later.
   264    264   
................................................................................
   265    265   When Secure Transport is in use, the curl options `--cacert` and `--capath`
   266    266   and their libcurl equivalents, will be ignored, because Secure Transport uses
   267    267   the certificates stored in the Keychain to evaluate whether or not to trust
   268    268   the server. This, of course, includes the root certificates that ship with the
   269    269   OS. The `--cert` and `--engine` options, and their libcurl equivalents, are
   270    270   currently unimplemented in curl with Secure Transport.
   271    271   
   272         -For OS X users: In OS X 10.8 ("Mountain Lion"), Apple made a major overhaul to
   273         -the Secure Transport API that, among other things, added support for the newer
   274         -TLS 1.1 and 1.2 protocols. To get curl to support TLS 1.1 and 1.2, you must
   275         -build curl on Mountain Lion or later, or by using the equivalent SDK. If you
   276         -set the `MACOSX_DEPLOYMENT_TARGET` environmental variable to an earlier
   277         -version of OS X prior to building curl, then curl will use the new Secure
          272  +For macOS users: In OS X 10.8 ("Mountain Lion"), Apple made a major overhaul
          273  +to the Secure Transport API that, among other things, added support for the
          274  +newer TLS 1.1 and 1.2 protocols. To get curl to support TLS 1.1 and 1.2, you
          275  +must build curl on Mountain Lion or later, or by using the equivalent SDK. If
          276  +you set the `MACOSX_DEPLOYMENT_TARGET` environmental variable to an earlier
          277  +version of macOS prior to building curl, then curl will use the new Secure
   278    278   Transport API on Mountain Lion and later, and fall back on the older API when
   279    279   the same curl binary is executed on older cats. For example, running these
   280    280   commands in curl's directory in the shell will build the code such that it
   281    281   will run on cats as old as OS X 10.6 ("Snow Leopard") (using bash):
   282    282   
   283    283       export MACOSX_DEPLOYMENT_TARGET="10.6"
   284    284       ./configure --with-darwinssl
   285    285       make
   286    286   
   287    287   # Cross compile
   288    288   
   289    289   Download and unpack the curl package.
   290    290   
   291         -'cd' to the new directory. (e.g. `cd curl-7.12.3`)
          291  +`cd` to the new directory. (e.g. `cd curl-7.12.3`)
   292    292   
   293    293   Set environment variables to point to the cross-compile toolchain and call
   294    294   configure with any options you need.  Be sure and specify the `--host` and
   295    295   `--build` parameters at configuration time.  The following script is an
   296    296   example of cross-compiling for the IBM 405GP PowerPC processor using the
   297    297   toolchain from MonteVista for Hardhat Linux.
   298    298   
................................................................................
   323    323   
   324    324       ./configure --host=ARCH-OS
   325    325   
   326    326   # REDUCING SIZE
   327    327   
   328    328   There are a number of configure options that can be used to reduce the size of
   329    329   libcurl for embedded applications where binary size is an important factor.
   330         -First, be sure to set the CFLAGS variable when configuring with any relevant
          330  +First, be sure to set the `CFLAGS` variable when configuring with any relevant
   331    331   compiler optimization flags to reduce the size of the binary.  For gcc, this
   332    332   would mean at minimum the -Os option, and potentially the `-march=X`,
   333    333   `-mdynamic-no-pic` and `-flto` options as well, e.g.
   334    334   
   335    335       ./configure CFLAGS='-Os' LDFLAGS='-Wl,-Bsymbolic'...
   336    336   
   337    337   Note that newer compilers often produce smaller code than older versions
................................................................................
   356    356    - `--without-libidn` (disables support for the libidn DNS library)
   357    357    - `--without-librtmp` (disables support for RTMP)
   358    358    - `--without-ssl` (disables support for SSL/TLS)
   359    359    - `--without-zlib` (disables support for on-the-fly decompression)
   360    360   
   361    361   The GNU compiler and linker have a number of options that can reduce the
   362    362   size of the libcurl dynamic libraries on some platforms even further.
   363         -Specify them by providing appropriate CFLAGS and LDFLAGS variables on the
   364         -configure command-line, e.g.
          363  +Specify them by providing appropriate `CFLAGS` and `LDFLAGS` variables on
          364  +the configure command-line, e.g.
   365    365   
   366    366       CFLAGS="-Os -ffunction-sections -fdata-sections
   367    367               -fno-unwind-tables -fno-asynchronous-unwind-tables -flto"
   368    368       LDFLAGS="-Wl,-s -Wl,-Bsymbolic -Wl,--gc-sections"
   369    369   
   370    370   Be sure also to strip debugging symbols from your binaries after compiling
   371    371   using 'strip' (or the appropriate variant if cross-compiling).  If space is
................................................................................
   379    379   
   380    380   You may find that statically linking libcurl to your application will result
   381    381   in a lower total size than dynamically linking.
   382    382   
   383    383   Note that the curl test harness can detect the use of some, but not all, of
   384    384   the `--disable` statements suggested above. Use will cause tests relying on
   385    385   those features to fail.  The test harness can be manually forced to skip the
   386         -relevant tests by specifying certain key words on the runtests.pl command
          386  +relevant tests by specifying certain key words on the `runtests.pl` command
   387    387   line.  Following is a list of appropriate key words:
   388    388   
   389    389    - `--disable-cookies`          !cookies
   390    390    - `--disable-manual`           !--manual
   391    391    - `--disable-proxy`            !HTTP\ proxy !proxytunnel !SOCKS4 !SOCKS5
   392    392   
   393    393   # PORTS

Changes to jni/curl/docs/INTERNALS.md.

     9      9      - [`Curl_connect`](#Curl_connect)
    10     10      - [`multi_do`](#multi_do)
    11     11      - [`Curl_readwrite`](#Curl_readwrite)
    12     12      - [`multi_done`](#multi_done)
    13     13      - [`Curl_disconnect`](#Curl_disconnect)
    14     14    - [HTTP(S)](#http)
    15     15    - [FTP](#ftp)
    16         -   - [Kerberos](#kerberos)
           16  + - [Kerberos](#kerberos)
    17     17    - [TELNET](#telnet)
    18     18    - [FILE](#file)
    19     19    - [SMB](#smb)
    20     20    - [LDAP](#ldap)
    21     21    - [E-mail](#email)
    22     22    - [General](#general)
    23     23    - [Persistent Connections](#persistent)
................................................................................
    30     30    - [Memory Debugging](#memorydebug)
    31     31    - [Test Suite](#test)
    32     32    - [Asynchronous name resolves](#asyncdns)
    33     33      - [c-ares](#cares)
    34     34    - [`curl_off_t`](#curl_off_t)
    35     35    - [curlx](#curlx)
    36     36    - [Content Encoding](#contentencoding)
    37         - - [hostip.c explained](#hostip)
           37  + - [`hostip.c` explained](#hostip)
    38     38    - [Track Down Memory Leaks](#memoryleak)
    39     39    - [`multi_socket`](#multi_socket)
    40     40    - [Structs in libcurl](#structs)
           41  +   - [Curl_easy](#Curl_easy)
           42  +   - [connectdata](#connectdata)
           43  +   - [Curl_multi](#Curl_multi)
           44  +   - [Curl_handler](#Curl_handler)
           45  +   - [conncache](#conncache)
           46  +   - [Curl_share](#Curl_share)
           47  +   - [CookieInfo](#CookieInfo)
    41     48   
    42     49   <a name="intro"></a>
    43     50   Intro
    44     51   =====
    45     52   
    46     53    This project is split in two. The library and the client. The client part
    47     54    uses the library, but the library is designed to allow other applications to
................................................................................
    62     69    Tagging shall be used extensively, and by the time we release new archives we
    63     70    should tag the sources with a name similar to the released version number.
    64     71   
    65     72   <a name="Portability"></a>
    66     73   Portability
    67     74   ===========
    68     75   
    69         - We write curl and libcurl to compile with C89 compilers.  On 32bit and up
           76  + We write curl and libcurl to compile with C89 compilers.  On 32-bit and up
    70     77    machines. Most of libcurl assumes more or less POSIX compliance but that's
    71     78    not a requirement.
    72     79   
    73     80    We write libcurl to build and work with lots of third party tools, and we
    74     81    want it to remain functional and buildable with these and later versions
    75     82    (older versions may still work but is not what we work hard to maintain):
    76     83   
................................................................................
   114    121   
   115    122    - GNU Libtool  1.4.2
   116    123    - GNU Autoconf 2.57
   117    124    - GNU Automake 1.7
   118    125    - GNU M4       1.4
   119    126    - perl         5.004
   120    127    - roffit       0.5
   121         - - groff        ? (any version that supports "groff -Tps -man [in] [out]")
          128  + - groff        ? (any version that supports `groff -Tps -man [in] [out]`)
   122    129    - ps2pdf (gs)  ?
   123    130   
   124    131   <a name="winvsunix"></a>
   125    132   Windows vs Unix
   126    133   ===============
   127    134   
   128    135    There are a few differences in how to program curl the Unix way compared to
   129    136    the Windows way. Perhaps the four most notable details are:
   130    137   
   131    138    1. Different function names for socket operations.
   132    139   
   133    140      In curl, this is solved with defines and macros, so that the source looks
   134    141      the same in all places except for the header file that defines them. The
   135         -   macros in use are sclose(), sread() and swrite().
          142  +   macros in use are `sclose()`, `sread()` and `swrite()`.
   136    143   
   137    144    2. Windows requires a couple of init calls for the socket stuff.
   138    145   
   139    146      That's taken care of by the `curl_global_init()` call, but if other libs
   140    147      also do it etc there might be reasons for applications to alter that
   141    148      behaviour.
   142    149   
................................................................................
   167    174   
   168    175    (See [Structs in libcurl](#structs) for the separate section describing all
   169    176    major internal structs and their purposes.)
   170    177   
   171    178    There are plenty of entry points to the library, namely each publicly defined
   172    179    function that libcurl offers to applications. All of those functions are
   173    180    rather small and easy-to-follow. All the ones prefixed with `curl_easy` are
   174         - put in the lib/easy.c file.
          181  + put in the `lib/easy.c` file.
   175    182   
   176    183    `curl_global_init()` and `curl_global_cleanup()` should be called by the
   177    184    application to initialize and clean up global stuff in the library. As of
   178    185    today, it can handle the global SSL initing if SSL is enabled and it can init
   179    186    the socket layer on windows machines. libcurl itself has no "global" scope.
   180    187   
   181         - All printf()-style functions use the supplied clones in lib/mprintf.c. This
          188  + All printf()-style functions use the supplied clones in `lib/mprintf.c`. This
   182    189    makes sure we stay absolutely platform independent.
   183    190   
   184    191    [ `curl_easy_init()`][2] allocates an internal struct and makes some
   185    192    initializations.  The returned handle does not reveal internals. This is the
   186    193    `Curl_easy` struct which works as an "anchor" struct for all `curl_easy`
   187    194    functions. All connections performed will get connect-specific data allocated
   188    195    that should be used for things related to particular connections/requests.
................................................................................
   193    200    the `Curl_easy` struct.
   194    201   
   195    202    `curl_easy_perform()` is just a wrapper function that makes use of the multi
   196    203    API.  It basically calls `curl_multi_init()`, `curl_multi_add_handle()`,
   197    204    `curl_multi_wait()`, and `curl_multi_perform()` until the transfer is done
   198    205    and then returns.
   199    206   
   200         - Some of the most important key functions in url.c are called from multi.c
   201         - when certain key steps are to be made in the transfer operation.
          207  + Some of the most important key functions in `url.c` are called from
          208  + `multi.c` when certain key steps are to be made in the transfer operation.
   202    209   
   203    210   <a name="Curl_connect"></a>
   204    211   Curl_connect()
   205    212   --------------
   206    213   
   207    214      Analyzes the URL, it separates the different components and connects to the
   208    215      remote host. This may involve using a proxy and/or using SSL. The
   209         -   `Curl_resolv()` function in lib/hostip.c is used for looking up host names
   210         -   (it does then use the proper underlying method, which may vary between
   211         -   platforms and builds).
          216  +   `Curl_resolv()` function in `lib/hostip.c` is used for looking up host
          217  +   names (it does then use the proper underlying method, which may vary
          218  +   between platforms and builds).
   212    219   
   213    220      When `Curl_connect` is done, we are connected to the remote site. Then it
   214    221      is time to tell the server to get a document/file. `Curl_do()` arranges
   215    222      this.
   216    223   
   217         -   This function makes sure there's an allocated and initiated 'connectdata'
          224  +   This function makes sure there's an allocated and initiated `connectdata`
   218    225      struct that is used for this particular connection only (although there may
   219    226      be several requests performed on the same connect). A bunch of things are
   220    227      inited/inherited from the `Curl_easy` struct.
   221    228   
   222    229   <a name="multi_do"></a>
   223    230   multi_do()
   224    231   ---------
   225    232   
   226         -   `multi_do()` makes sure the proper protocol-specific function is called. The
   227         -   functions are named after the protocols they handle.
          233  +   `multi_do()` makes sure the proper protocol-specific function is called.
          234  +   The functions are named after the protocols they handle.
   228    235   
   229    236      The protocol-specific functions of course deal with protocol-specific
   230    237      negotiations and setup. They have access to the `Curl_sendf()` (from
   231         -   lib/sendf.c) function to send printf-style formatted data to the remote
          238  +   `lib/sendf.c`) function to send printf-style formatted data to the remote
   232    239      host and when they're ready to make the actual file transfer they call the
   233         -   `Curl_setup_transfer()` function (in lib/transfer.c) to setup the transfer
   234         -   and returns.
          240  +   `Curl_setup_transfer()` function (in `lib/transfer.c`) to setup the
          241  +   transfer and returns.
   235    242   
   236    243      If this DO function fails and the connection is being re-used, libcurl will
   237    244      then close this connection, setup a new connection and re-issue the DO
   238    245      request on that. This is because there is no way to be perfectly sure that
   239    246      we have discovered a dead connection before the DO function and thus we
   240    247      might wrongly be re-using a connection that was closed by the remote peer.
   241    248   
   242    249   <a name="Curl_readwrite"></a>
   243    250   Curl_readwrite()
   244    251   ----------------
   245    252   
   246    253      Called during the transfer of the actual protocol payload.
   247    254   
   248         -   During transfer, the progress functions in lib/progress.c are called at
          255  +   During transfer, the progress functions in `lib/progress.c` are called at
   249    256      frequent intervals (or at the user's choice, a specified callback might get
   250         -   called). The speedcheck functions in lib/speedcheck.c are also used to
          257  +   called). The speedcheck functions in `lib/speedcheck.c` are also used to
   251    258      verify that the transfer is as fast as required.
   252    259   
   253    260   <a name="multi_done"></a>
   254    261   multi_done()
   255    262   -----------
   256    263   
   257    264      Called after a transfer is done. This function takes care of everything
................................................................................
   275    282      connection.
   276    283   
   277    284   <a name="http"></a>
   278    285   HTTP(S)
   279    286   =======
   280    287   
   281    288    HTTP offers a lot and is the protocol in curl that uses the most lines of
   282         - code. There is a special file (lib/formdata.c) that offers all the multipart
   283         - post functions.
          289  + code. There is a special file `lib/formdata.c` that offers all the
          290  + multipart post functions.
   284    291   
   285         - base64-functions for user+password stuff (and more) is in (lib/base64.c) and
   286         - all functions for parsing and sending cookies are found in (lib/cookie.c).
          292  + base64-functions for user+password stuff (and more) is in `lib/base64.c`
          293  + and all functions for parsing and sending cookies are found in
          294  + `lib/cookie.c`.
   287    295   
   288    296    HTTPS uses in almost every case the same procedure as HTTP, with only two
   289    297    exceptions: the connect procedure is different and the function used to read
   290    298    or write from the socket is different, although the latter fact is hidden in
   291    299    the source by the use of `Curl_read()` for reading and `Curl_write()` for
   292    300    writing data to the remote server.
   293    301   
................................................................................
   301    309    servers.
   302    310   
   303    311   <a name="ftp"></a>
   304    312   FTP
   305    313   ===
   306    314   
   307    315    The `Curl_if2ip()` function can be used for getting the IP number of a
   308         - specified network interface, and it resides in lib/if2ip.c.
          316  + specified network interface, and it resides in `lib/if2ip.c`.
   309    317   
   310    318    `Curl_ftpsendf()` is used for sending FTP commands to the remote server. It
   311    319    was made a separate function to prevent us programmers from forgetting that
   312         - they must be CRLF terminated. They must also be sent in one single write() to
   313         - make firewalls and similar happy.
          320  + they must be CRLF terminated. They must also be sent in one single `write()`
          321  + to make firewalls and similar happy.
   314    322   
   315    323   <a name="kerberos"></a>
   316    324   Kerberos
   317    325   ========
   318    326   
   319         - Kerberos support is mainly in lib/krb5.c and lib/security.c but also
          327  + Kerberos support is mainly in `lib/krb5.c` and `lib/security.c` but also
   320    328    `curl_sasl_sspi.c` and `curl_sasl_gssapi.c` for the email protocols and
   321    329    `socks_gssapi.c` and `socks_sspi.c` for SOCKS5 proxy specifics.
   322    330   
   323    331   <a name="telnet"></a>
   324    332   TELNET
   325    333   ======
   326    334   
   327         - Telnet is implemented in lib/telnet.c.
          335  + Telnet is implemented in `lib/telnet.c`.
   328    336   
   329    337   <a name="file"></a>
   330    338   FILE
   331    339   ====
   332    340   
   333         - The file:// protocol is dealt with in lib/file.c.
          341  + The `file://` protocol is dealt with in `lib/file.c`.
   334    342   
   335    343   <a name="smb"></a>
   336    344   SMB
   337    345   ===
   338    346   
   339         - The smb:// protocol is dealt with in lib/smb.c.
          347  + The `smb://` protocol is dealt with in `lib/smb.c`.
   340    348   
   341    349   <a name="ldap"></a>
   342    350   LDAP
   343    351   ====
   344    352   
   345         - Everything LDAP is in lib/ldap.c and lib/openldap.c
          353  + Everything LDAP is in `lib/ldap.c` and `lib/openldap.c`.
   346    354   
   347    355   <a name="email"></a>
   348    356   E-mail
   349    357   ======
   350    358   
   351         - The e-mail related source code is in lib/imap.c, lib/pop3.c and lib/smtp.c.
          359  + The e-mail related source code is in `lib/imap.c`, `lib/pop3.c` and
          360  + `lib/smtp.c`.
   352    361   
   353    362   <a name="general"></a>
   354    363   General
   355    364   =======
   356    365   
   357    366    URL encoding and decoding, called escaping and unescaping in the source code,
   358         - is found in lib/escape.c.
          367  + is found in `lib/escape.c`.
   359    368   
   360         - While transferring data in Transfer() a few functions might get used.
   361         - `curl_getdate()` in lib/parsedate.c is for HTTP date comparisons (and more).
          369  + While transferring data in `Transfer()` a few functions might get used.
          370  + `curl_getdate()` in `lib/parsedate.c` is for HTTP date comparisons (and
          371  + more).
   362    372   
   363         - lib/getenv.c offers `curl_getenv()` which is for reading environment
          373  + `lib/getenv.c` offers `curl_getenv()` which is for reading environment
   364    374    variables in a neat platform independent way. That's used in the client, but
   365         - also in lib/url.c when checking the proxy environment variables. Note that
   366         - contrary to the normal unix getenv(), this returns an allocated buffer that
   367         - must be free()ed after use.
          375  + also in `lib/url.c` when checking the proxy environment variables. Note that
          376  + contrary to the normal unix `getenv()`, this returns an allocated buffer that
          377  + must be `free()`ed after use.
   368    378   
   369         - lib/netrc.c holds the .netrc parser
          379  + `lib/netrc.c` holds the `.netrc` parser.
   370    380   
   371         - lib/timeval.c features replacement functions for systems that don't have
   372         - gettimeofday() and a few support functions for timeval conversions.
          381  + `lib/timeval.c` features replacement functions for systems that don't have
          382  + `gettimeofday()` and a few support functions for timeval conversions.
   373    383   
   374    384    A function named `curl_version()` that returns the full curl version string
   375         - is found in lib/version.c.
          385  + is found in `lib/version.c`.
   376    386   
   377    387   <a name="persistent"></a>
   378    388   Persistent Connections
   379    389   ======================
   380    390   
   381    391    The persistent connection support in libcurl requires some considerations on
   382    392    how to do things inside of the library.
   383    393   
   384    394    - The `Curl_easy` struct returned in the [`curl_easy_init()`][2] call
   385    395      must never hold connection-oriented data. It is meant to hold the root data
   386    396      as well as all the options etc that the library-user may choose.
   387    397   
   388    398    - The `Curl_easy` struct holds the "connection cache" (an array of
   389         -   pointers to 'connectdata' structs).
          399  +   pointers to `connectdata` structs).
   390    400   
   391    401    - This enables the 'curl handle' to be reused on subsequent transfers.
   392    402   
   393    403    - When libcurl is told to perform a transfer, it first checks for an already
   394    404      existing connection in the cache that we can use. Otherwise it creates a
   395    405      new one and adds that to the cache. If the cache is full already when a new
   396    406      connection is added, it will first close the oldest unused one.
................................................................................
   430    440   
   431    441    Originally libcurl supported SSLeay for SSL/TLS transports, but that was then
   432    442    extended to its successor OpenSSL but has since also been extended to several
   433    443    other SSL/TLS libraries and we expect and hope to further extend the support
   434    444    in future libcurl versions.
   435    445   
   436    446    To deal with this internally in the best way possible, we have a generic SSL
   437         - function API as provided by the vtls/vtls.[ch] system, and they are the only
          447  + function API as provided by the `vtls/vtls.[ch]` system, and they are the only
   438    448    SSL functions we must use from within libcurl. vtls is then crafted to use
   439    449    the appropriate lower-level function calls to whatever SSL library that is in
   440         - use. For example vtls/openssl.[ch] for the OpenSSL library.
          450  + use. For example `vtls/openssl.[ch]` for the OpenSSL library.
   441    451   
   442    452   <a name="symbols"></a>
   443    453   Library Symbols
   444    454   ===============
   445    455   
   446    456    All symbols used internally in libcurl must use a `Curl_` prefix if they're
   447    457    used in more than a single file. Single-file symbols must be made static.
................................................................................
   452    462   
   453    463   <a name="returncodes"></a>
   454    464   Return Codes and Informationals
   455    465   ===============================
   456    466   
   457    467    I've made things simple. Almost every function in libcurl returns a CURLcode,
   458    468    that must be `CURLE_OK` if everything is OK or otherwise a suitable error
   459         - code as the curl/curl.h include file defines. The very spot that detects an
          469  + code as the `curl/curl.h` include file defines. The very spot that detects an
   460    470    error must use the `Curl_failf()` function to set the human-readable error
   461    471    description.
   462    472   
   463    473    In aiding the user to understand what's happening and to debug curl usage, we
   464    474    must supply a fair number of informational messages by using the
   465    475    `Curl_infof()` function. Those messages are only displayed when the user
   466    476    explicitly asks for them. They are best used when revealing information that
................................................................................
   474    484    that makes it easier to keep a solid API/ABI over time. See docs/libcurl/ABI
   475    485    for our promise to users.
   476    486   
   477    487   <a name="client"></a>
   478    488   Client
   479    489   ======
   480    490   
   481         - main() resides in `src/tool_main.c`.
          491  + `main()` resides in `src/tool_main.c`.
   482    492   
   483         - `src/tool_hugehelp.c` is automatically generated by the mkhelp.pl perl script
   484         - to display the complete "manual" and the `src/tool_urlglob.c` file holds the
   485         - functions used for the URL-"globbing" support. Globbing in the sense that the
   486         - {} and [] expansion stuff is there.
          493  + `src/tool_hugehelp.c` is automatically generated by the `mkhelp.pl` perl
          494  + script to display the complete "manual" and the `src/tool_urlglob.c` file
          495  + holds the functions used for the URL-"globbing" support. Globbing in the
          496  + sense that the `{}` and `[]` expansion stuff is there.
   487    497   
   488         - The client mostly sets up its 'config' struct properly, then
          498  + The client mostly sets up its `config` struct properly, then
   489    499    it calls the `curl_easy_*()` functions of the library and when it gets back
   490    500    control after the `curl_easy_perform()` it cleans up the library, checks
   491    501    status and exits.
   492    502   
   493         - When the operation is done, the ourWriteOut() function in src/writeout.c may
   494         - be called to report about the operation. That function is using the
          503  + When the operation is done, the `ourWriteOut()` function in `src/writeout.c`
          504  + may be called to report about the operation. That function is using the
   495    505    `curl_easy_getinfo()` function to extract useful information from the curl
   496    506    session.
   497    507   
   498    508    It may loop and do all this several times if many URLs were specified on the
   499    509    command line or config file.
   500    510   
   501    511   <a name="memorydebug"></a>
   502    512   Memory Debugging
   503    513   ================
   504    514   
   505         - The file lib/memdebug.c contains debug-versions of a few functions. Functions
   506         - such as malloc, free, fopen, fclose, etc that somehow deal with resources
   507         - that might give us problems if we "leak" them. The functions in the memdebug
   508         - system do nothing fancy, they do their normal function and then log
   509         - information about what they just did. The logged data can then be analyzed
   510         - after a complete session,
          515  + The file `lib/memdebug.c` contains debug-versions of a few functions.
          516  + Functions such as `malloc()`, `free()`, `fopen()`, `fclose()`, etc that
          517  + somehow deal with resources that might give us problems if we "leak" them.
          518  + The functions in the memdebug system do nothing fancy, they do their normal
          519  + function and then log information about what they just did. The logged data
          520  + can then be analyzed after a complete session,
   511    521   
   512         - memanalyze.pl is the perl script present in tests/ that analyzes a log file
   513         - generated by the memory tracking system. It detects if resources are
          522  + `memanalyze.pl` is the perl script present in `tests/` that analyzes a log
          523  + file generated by the memory tracking system. It detects if resources are
   514    524    allocated but never freed and other kinds of errors related to resource
   515    525    management.
   516    526   
   517         - Internally, definition of preprocessor symbol DEBUGBUILD restricts code which
   518         - is only compiled for debug enabled builds. And symbol CURLDEBUG is used to
   519         - differentiate code which is _only_ used for memory tracking/debugging.
          527  + Internally, definition of preprocessor symbol `DEBUGBUILD` restricts code
          528  + which is only compiled for debug enabled builds. And symbol `CURLDEBUG` is
          529  + used to differentiate code which is _only_ used for memory
          530  + tracking/debugging.
   520    531   
   521         - Use -DCURLDEBUG when compiling to enable memory debugging, this is also
   522         - switched on by running configure with --enable-curldebug. Use -DDEBUGBUILD
   523         - when compiling to enable a debug build or run configure with --enable-debug.
          532  + Use `-DCURLDEBUG` when compiling to enable memory debugging, this is also
          533  + switched on by running configure with `--enable-curldebug`. Use
          534  + `-DDEBUGBUILD` when compiling to enable a debug build or run configure with
          535  + `--enable-debug`.
   524    536   
   525         - curl --version will list 'Debug' feature for debug enabled builds, and
          537  + `curl --version` will list 'Debug' feature for debug enabled builds, and
   526    538    will list 'TrackMemory' feature for curl debug memory tracking capable
   527    539    builds. These features are independent and can be controlled when running
   528         - the configure script. When --enable-debug is given both features will be
          540  + the configure script. When `--enable-debug` is given both features will be
   529    541    enabled, unless some restriction prevents memory tracking from being used.
   530    542   
   531    543   <a name="test"></a>
   532    544   Test Suite
   533    545   ==========
   534    546   
   535    547    The test suite is placed in its own subdirectory directly off the root in the
   536    548    curl archive tree, and it contains a bunch of scripts and a lot of test case
   537    549    data.
   538    550   
   539         - The main test script is runtests.pl that will invoke test servers like
   540         - httpserver.pl and ftpserver.pl before all the test cases are performed. The
   541         - test suite currently only runs on Unix-like platforms.
          551  + The main test script is `runtests.pl` that will invoke test servers like
          552  + `httpserver.pl` and `ftpserver.pl` before all the test cases are performed.
          553  + The test suite currently only runs on Unix-like platforms.
   542    554   
   543         - You'll find a description of the test suite in the tests/README file, and the
   544         - test case data files in the tests/FILEFORMAT file.
          555  + You'll find a description of the test suite in the `tests/README` file, and
          556  + the test case data files in the `tests/FILEFORMAT` file.
   545    557   
   546    558    The test suite automatically detects if curl was built with the memory
   547    559    debugging enabled, and if it was, it will detect memory leaks, too.
   548    560   
   549    561   <a name="asyncdns"></a>
   550    562   Asynchronous name resolves
   551    563   ==========================
................................................................................
   565    577   ### c-ares on win32
   566    578   
   567    579    First I compiled c-ares. I changed the default C runtime library to be the
   568    580    single-threaded rather than the multi-threaded (this seems to be required to
   569    581    prevent linking errors later on). Then I simply build the areslib project
   570    582    (the other projects adig/ahost seem to fail under MSVC).
   571    583   
   572         - Next was libcurl. I opened lib/config-win32.h and I added a:
          584  + Next was libcurl. I opened `lib/config-win32.h` and I added a:
   573    585    `#define USE_ARES 1`
   574    586   
   575    587    Next thing I did was I added the path for the ares includes to the include
   576    588    path, and the libares.lib to the libraries.
   577    589   
   578    590    Lastly, I also changed libcurl to be single-threaded rather than
   579    591    multi-threaded, again this was to prevent some duplicate symbol errors. I'm
   580    592    not sure why I needed to change everything to single-threaded, but when I
   581         - didn't I got redefinition errors for several CRT functions (malloc, stricmp,
   582         - etc.)
          593  + didn't I got redefinition errors for several CRT functions (`malloc()`,
          594  + `stricmp()`, etc.)
   583    595   
   584    596   <a name="curl_off_t"></a>
   585    597   `curl_off_t`
   586    598   ==========
   587    599   
   588    600    `curl_off_t` is a data type provided by the external libcurl include
   589    601    headers. It is the type meant to be used for the [`curl_easy_setopt()`][1]
   590         - options that end with LARGE. The type is 64bit large on most modern
          602  + options that end with LARGE. The type is 64-bit large on most modern
   591    603    platforms.
   592    604   
   593    605   <a name="curlx"></a>
   594    606   curlx
   595    607   =====
   596    608   
   597    609    The libcurl source code offers a few functions by source only. They are not
   598    610    part of the official libcurl API, but the source files might be useful for
   599    611    others so apps can optionally compile/build with these sources to gain
   600    612    additional functions.
   601    613   
   602    614    We provide them through a single header file for easy access for apps:
   603         - "curlx.h"
          615  + `curlx.h`
   604    616   
   605    617   `curlx_strtoofft()`
   606    618   -------------------
   607    619      A macro that converts a string containing a number to a `curl_off_t` number.
   608    620      This might use the `curlx_strtoll()` function which is provided as source
   609    621      code in strtoofft.c. Note that the function is only provided if no
   610         -   strtoll() (or equivalent) function exist on your platform. If `curl_off_t`
   611         -   is only a 32 bit number on your platform, this macro uses strtol().
          622  +   `strtoll()` (or equivalent) function exist on your platform. If `curl_off_t`
          623  +   is only a 32-bit number on your platform, this macro uses `strtol()`.
   612    624   
   613    625   Future
   614    626   ------
   615    627   
   616    628    Several functions will be removed from the public `curl_` name space in a
   617    629    future libcurl release. They will then only become available as `curlx_`
   618    630    functions instead. To make the transition easier, we already today provide
................................................................................
   638    650   ================
   639    651   
   640    652   ## About content encodings
   641    653   
   642    654    [HTTP/1.1][4] specifies that a client may request that a server encode its
   643    655    response. This is usually used to compress a response using one (or more)
   644    656    encodings from a set of commonly available compression techniques. These
   645         - schemes include 'deflate' (the zlib algorithm), 'gzip' 'br' (brotli) and
   646         - 'compress'. A client requests that the server perform an encoding by including
   647         - an Accept-Encoding header in the request document. The value of the header
   648         - should be one of the recognized tokens 'deflate', ... (there's a way to
          657  + schemes include `deflate` (the zlib algorithm), `gzip`, `br` (brotli) and
          658  + `compress`. A client requests that the server perform an encoding by including
          659  + an `Accept-Encoding` header in the request document. The value of the header
          660  + should be one of the recognized tokens `deflate`, ... (there's a way to
   649    661    register new schemes/tokens, see sec 3.5 of the spec). A server MAY honor
   650    662    the client's encoding request. When a response is encoded, the server
   651         - includes a Content-Encoding header in the response. The value of the
   652         - Content-Encoding header indicates which encodings were used to encode the
          663  + includes a `Content-Encoding` header in the response. The value of the
          664  + `Content-Encoding` header indicates which encodings were used to encode the
   653    665    data, in the order in which they were applied.
   654    666   
   655    667    It's also possible for a client to attach priorities to different schemes so
   656    668    that the server knows which it prefers. See sec 14.3 of RFC 2616 for more
   657         - information on the Accept-Encoding header. See sec [3.1.2.2 of RFC 7231][15]
   658         - for more information on the Content-Encoding header.
          669  + information on the `Accept-Encoding` header. See sec
          670  + [3.1.2.2 of RFC 7231][15] for more information on the `Content-Encoding`
          671  + header.
   659    672   
   660    673   ## Supported content encodings
   661    674   
   662         - The 'deflate', 'gzip' and 'br' content encodings are supported by libcurl.
          675  + The `deflate`, `gzip` and `br` content encodings are supported by libcurl.
   663    676    Both regular and chunked transfers work fine.  The zlib library is required
   664         - for the 'deflate' and 'gzip' encodings, while the brotli decoding library is
   665         - for the 'br' encoding.
          677  + for the `deflate` and `gzip` encodings, while the brotli decoding library is
          678  + for the `br` encoding.
   666    679   
   667    680   ## The libcurl interface
   668    681   
   669    682    To cause libcurl to request a content encoding use:
   670    683   
   671    684     [`curl_easy_setopt`][1](curl, [`CURLOPT_ACCEPT_ENCODING`][5], string)
   672    685   
   673         - where string is the intended value of the Accept-Encoding header.
          686  + where string is the intended value of the `Accept-Encoding` header.
   674    687   
   675    688    Currently, libcurl does support multiple encodings but only
   676         - understands how to process responses that use the "deflate", "gzip" and/or
   677         - "br" content encodings, so the only values for [`CURLOPT_ACCEPT_ENCODING`][5]
   678         - that will work (besides "identity," which does nothing) are "deflate",
   679         - "gzip" and "br". If a response is encoded using the "compress" or methods,
          689  + understands how to process responses that use the `deflate`, `gzip` and/or
          690  + `br` content encodings, so the only values for [`CURLOPT_ACCEPT_ENCODING`][5]
          691  + that will work (besides `identity`, which does nothing) are `deflate`,
          692  + `gzip` and `br`. If a response is encoded using the `compress` or methods,
   680    693    libcurl will return an error indicating that the response could
   681         - not be decoded.  If `<string>` is NULL no Accept-Encoding header is generated.
   682         - If `<string>` is a zero-length string, then an Accept-Encoding header
   683         - containing all supported encodings will be generated.
          694  + not be decoded.  If `<string>` is NULL no `Accept-Encoding` header is
          695  + generated. If `<string>` is a zero-length string, then an `Accept-Encoding`
          696  + header containing all supported encodings will be generated.
   684    697   
   685    698    The [`CURLOPT_ACCEPT_ENCODING`][5] must be set to any non-NULL value for
   686    699    content to be automatically decoded.  If it is not set and the server still
   687    700    sends encoded content (despite not having been asked), the data is returned
   688         - in its raw form and the Content-Encoding type is not checked.
          701  + in its raw form and the `Content-Encoding` type is not checked.
   689    702   
   690    703   ## The curl interface
   691    704   
   692         - Use the [--compressed][6] option with curl to cause it to ask servers to
          705  + Use the [`--compressed`][6] option with curl to cause it to ask servers to
   693    706    compress responses using any format supported by curl.
   694    707   
   695    708   <a name="hostip"></a>
   696         -hostip.c explained
   697         -==================
          709  +`hostip.c` explained
          710  +====================
   698    711   
   699         - The main compile-time defines to keep in mind when reading the host*.c source
   700         - file are these:
          712  + The main compile-time defines to keep in mind when reading the `host*.c`
          713  + source file are these:
   701    714   
   702    715   ## `CURLRES_IPV6`
   703    716   
   704         - this host has getaddrinfo() and family, and thus we use that. The host may
          717  + this host has `getaddrinfo()` and family, and thus we use that. The host may
   705    718    not be able to resolve IPv6, but we don't really have to take that into
   706    719    account. Hosts that aren't IPv6-enabled have `CURLRES_IPV4` defined.
   707    720   
   708    721   ## `CURLRES_ARES`
   709    722   
   710    723    is defined if libcurl is built to use c-ares for asynchronous name
   711         - resolves. This can be Windows or *nix.
          724  + resolves. This can be Windows or \*nix.
   712    725   
   713    726   ## `CURLRES_THREADED`
   714    727   
   715    728    is defined if libcurl is built to use threading for asynchronous name
   716    729    resolves. The name resolve will be done in a new thread, and the supported
   717    730    asynch API will be the same as for ares-builds. This is the default under
   718    731    (native) Windows.
   719    732   
   720    733    If any of the two previous are defined, `CURLRES_ASYNCH` is defined too. If
   721    734    libcurl is not built to use an asynchronous resolver, `CURLRES_SYNCH` is
   722    735    defined.
   723    736   
   724         -## host*.c sources
          737  +## `host*.c` sources
   725    738   
   726         - The host*.c sources files are split up like this:
          739  + The `host*.c` sources files are split up like this:
   727    740   
   728         - - hostip.c      - method-independent resolver functions and utility functions
   729         - - hostasyn.c    - functions for asynchronous name resolves
   730         - - hostsyn.c     - functions for synchronous name resolves
   731         - - asyn-ares.c   - functions for asynchronous name resolves using c-ares
   732         - - asyn-thread.c - functions for asynchronous name resolves using threads
   733         - - hostip4.c     - IPv4 specific functions
   734         - - hostip6.c     - IPv6 specific functions
          741  + - `hostip.c`      - method-independent resolver functions and utility functions
          742  + - `hostasyn.c`    - functions for asynchronous name resolves
          743  + - `hostsyn.c`     - functions for synchronous name resolves
          744  + - `asyn-ares.c`   - functions for asynchronous name resolves using c-ares
          745  + - `asyn-thread.c` - functions for asynchronous name resolves using threads
          746  + - `hostip4.c`     - IPv4 specific functions
          747  + - `hostip6.c`     - IPv6 specific functions
   735    748   
   736         - The hostip.h is the single united header file for all this. It defines the
   737         - `CURLRES_*` defines based on the config*.h and `curl_setup.h` defines.
          749  + The `hostip.h` is the single united header file for all this. It defines the
          750  + `CURLRES_*` defines based on the `config*.h` and `curl_setup.h` defines.
   738    751   
   739    752   <a name="memoryleak"></a>
   740    753   Track Down Memory Leaks
   741    754   =======================
   742    755   
   743    756   ## Single-threaded
   744    757   
   745    758     Please note that this memory leak system is not adjusted to work in more
   746    759     than one thread. If you want/need to use it in a multi-threaded app. Please
   747    760     adjust accordingly.
   748    761   
   749         -
   750    762   ## Build
   751    763   
   752         -  Rebuild libcurl with -DCURLDEBUG (usually, rerunning configure with
   753         -  --enable-debug fixes this). 'make clean' first, then 'make' so that all
          764  +  Rebuild libcurl with `-DCURLDEBUG` (usually, rerunning configure with
          765  +  `--enable-debug` fixes this). `make clean` first, then `make` so that all
   754    766     files are actually rebuilt properly. It will also make sense to build
   755         -  libcurl with the debug option (usually -g to the compiler) so that debugging
   756         -  it will be easier if you actually do find a leak in the library.
          767  +  libcurl with the debug option (usually `-g` to the compiler) so that
          768  +  debugging it will be easier if you actually do find a leak in the library.
   757    769   
   758    770     This will create a library that has memory debugging enabled.
   759    771   
   760    772   ## Modify Your Application
   761    773   
   762    774     Add a line in your application code:
   763    775   
................................................................................
   773    785     Run your program as usual. Watch the specified memory trace file grow.
   774    786   
   775    787     Make your program exit and use the proper libcurl cleanup functions etc. So
   776    788     that all non-leaks are returned/freed properly.
   777    789   
   778    790   ## Analyze the Flow
   779    791   
   780         -  Use the tests/memanalyze.pl perl script to analyze the dump file:
          792  +  Use the `tests/memanalyze.pl` perl script to analyze the dump file:
   781    793   
   782    794       tests/memanalyze.pl dump
   783    795   
   784    796     This now outputs a report on what resources that were allocated but never
   785    797     freed etc. This report is very fine for posting to the list!
   786    798   
   787    799     If this doesn't produce any output, no leak was detected in libcurl. Then
................................................................................
   789    801   
   790    802   <a name="multi_socket"></a>
   791    803   `multi_socket`
   792    804   ==============
   793    805   
   794    806    Implementation of the `curl_multi_socket` API
   795    807   
   796         -  The main ideas of this API are simply:
   797         -
   798         -   1 - The application can use whatever event system it likes as it gets info
   799         -       from libcurl about what file descriptors libcurl waits for what action
   800         -       on. (The previous API returns `fd_sets` which is very select()-centric).
   801         -
   802         -   2 - When the application discovers action on a single socket, it calls
   803         -       libcurl and informs that there was action on this particular socket and
   804         -       libcurl can then act on that socket/transfer only and not care about
   805         -       any other transfers. (The previous API always had to scan through all
   806         -       the existing transfers.)
   807         -
   808         -  The idea is that [`curl_multi_socket_action()`][7] calls a given callback
   809         -  with information about what socket to wait for what action on, and the
   810         -  callback only gets called if the status of that socket has changed.
   811         -
   812         -  We also added a timer callback that makes libcurl call the application when
   813         -  the timeout value changes, and you set that with [`curl_multi_setopt()`][9]
   814         -  and the [`CURLMOPT_TIMERFUNCTION`][10] option. To get this to work,
   815         -  Internally, there's an added struct to each easy handle in which we store
   816         -  an "expire time" (if any). The structs are then "splay sorted" so that we
   817         -  can add and remove times from the linked list and yet somewhat swiftly
   818         -  figure out both how long there is until the next nearest timer expires
   819         -  and which timer (handle) we should take care of now. Of course, the upside
   820         -  of all this is that we get a [`curl_multi_timeout()`][8] that should also
   821         -  work with old-style applications that use [`curl_multi_perform()`][11].
   822         -
   823         -  We created an internal "socket to easy handles" hash table that given
   824         -  a socket (file descriptor) returns the easy handle that waits for action on
   825         -  that socket.  This hash is made using the already existing hash code
   826         -  (previously only used for the DNS cache).
   827         -
   828         -  To make libcurl able to report plain sockets in the socket callback, we had
   829         -  to re-organize the internals of the [`curl_multi_fdset()`][12] etc so that
   830         -  the conversion from sockets to `fd_sets` for that function is only done in
   831         -  the last step before the data is returned. I also had to extend c-ares to
   832         -  get a function that can return plain sockets, as that library too returned
   833         -  only `fd_sets` and that is no longer good enough. The changes done to c-ares
   834         -  are available in c-ares 1.3.1 and later.
          808  + The main ideas of this API are simply:
          809  +
          810  + 1. The application can use whatever event system it likes as it gets info
          811  +    from libcurl about what file descriptors libcurl waits for what action
          812  +    on. (The previous API returns `fd_sets` which is very
          813  +    `select()`-centric).
          814  +
          815  + 2. When the application discovers action on a single socket, it calls
          816  +    libcurl and informs that there was action on this particular socket and
          817  +    libcurl can then act on that socket/transfer only and not care about
          818  +    any other transfers. (The previous API always had to scan through all
          819  +    the existing transfers.)
          820  +
          821  + The idea is that [`curl_multi_socket_action()`][7] calls a given callback
          822  + with information about what socket to wait for what action on, and the
          823  + callback only gets called if the status of that socket has changed.
          824  +
          825  + We also added a timer callback that makes libcurl call the application when
          826  + the timeout value changes, and you set that with [`curl_multi_setopt()`][9]
          827  + and the [`CURLMOPT_TIMERFUNCTION`][10] option. To get this to work,
          828  + Internally, there's an added struct to each easy handle in which we store
          829  + an "expire time" (if any). The structs are then "splay sorted" so that we
          830  + can add and remove times from the linked list and yet somewhat swiftly
          831  + figure out both how long there is until the next nearest timer expires
          832  + and which timer (handle) we should take care of now. Of course, the upside
          833  + of all this is that we get a [`curl_multi_timeout()`][8] that should also
          834  + work with old-style applications that use [`curl_multi_perform()`][11].
          835  +
          836  + We created an internal "socket to easy handles" hash table that given
          837  + a socket (file descriptor) returns the easy handle that waits for action on
          838  + that socket.  This hash is made using the already existing hash code
          839  + (previously only used for the DNS cache).
          840  +
          841  + To make libcurl able to report plain sockets in the socket callback, we had
          842  + to re-organize the internals of the [`curl_multi_fdset()`][12] etc so that
          843  + the conversion from sockets to `fd_sets` for that function is only done in
          844  + the last step before the data is returned. I also had to extend c-ares to
          845  + get a function that can return plain sockets, as that library too returned
          846  + only `fd_sets` and that is no longer good enough. The changes done to c-ares
          847  + are available in c-ares 1.3.1 and later.
   835    848   
   836    849   <a name="structs"></a>
   837    850   Structs in libcurl
   838    851   ==================
   839    852   
   840    853   This section should cover 7.32.0 pretty accurately, but will make sense even
   841    854   for older and later versions as things don't change drastically that often.
   842    855   
          856  +<a name="Curl_easy"></a>
   843    857   ## Curl_easy
   844    858   
   845    859     The `Curl_easy` struct is the one returned to the outside in the external API
   846         -  as a "CURL *". This is usually known as an easy handle in API documentations
          860  +  as a `CURL *`. This is usually known as an easy handle in API documentations
   847    861     and examples.
   848    862   
   849    863     Information and state that is related to the actual connection is in the
   850         -  'connectdata' struct. When a transfer is about to be made, libcurl will
          864  +  `connectdata` struct. When a transfer is about to be made, libcurl will
   851    865     either create a new connection or re-use an existing one. The particular
   852    866     connectdata that is used by this handle is pointed out by
   853    867     `Curl_easy->easy_conn`.
   854    868   
   855    869     Data and information that regard this particular single transfer is put in
   856         -  the SingleRequest sub-struct.
          870  +  the `SingleRequest` sub-struct.
   857    871   
   858    872     When the `Curl_easy` struct is added to a multi handle, as it must be in
   859         -  order to do any transfer, the ->multi member will point to the `Curl_multi`
   860         -  struct it belongs to. The ->prev and ->next members will then be used by the
   861         -  multi code to keep a linked list of `Curl_easy` structs that are added to
   862         -  that same multi handle. libcurl always uses multi so ->multi *will* point to
   863         -  a `Curl_multi` when a transfer is in progress.
          873  +  order to do any transfer, the `->multi` member will point to the `Curl_multi`
          874  +  struct it belongs to. The `->prev` and `->next` members will then be used by
          875  +  the multi code to keep a linked list of `Curl_easy` structs that are added to
          876  +  that same multi handle. libcurl always uses multi so `->multi` *will* point
          877  +  to a `Curl_multi` when a transfer is in progress.
   864    878   
   865         -  ->mstate is the multi state of this particular `Curl_easy`. When
          879  +  `->mstate` is the multi state of this particular `Curl_easy`. When
   866    880     `multi_runsingle()` is called, it will act on this handle according to which
   867    881     state it is in. The mstate is also what tells which sockets to return for a
   868    882     specific `Curl_easy` when [`curl_multi_fdset()`][12] is called etc.
   869    883   
   870         -  The libcurl source code generally use the name 'data' for the variable that
          884  +  The libcurl source code generally use the name `data` for the variable that
   871    885     points to the `Curl_easy`.
   872    886   
   873    887     When doing multiplexed HTTP/2 transfers, each `Curl_easy` is associated with
   874    888     an individual stream, sharing the same connectdata struct. Multiplexing
   875    889     makes it even more important to keep things associated with the right thing!
   876    890   
          891  +<a name="connectdata"></a>
   877    892   ## connectdata
   878    893   
   879    894     A general idea in libcurl is to keep connections around in a connection
   880    895     "cache" after they have been used in case they will be used again and then
   881    896     re-use an existing one instead of creating a new as it creates a significant
   882    897     performance boost.
   883    898   
   884         -  Each 'connectdata' identifies a single physical connection to a server. If
          899  +  Each `connectdata` identifies a single physical connection to a server. If
   885    900     the connection can't be kept alive, the connection will be closed after use
   886    901     and then this struct can be removed from the cache and freed.
   887    902   
   888    903     Thus, the same `Curl_easy` can be used multiple times and each time select
   889         -  another connectdata struct to use for the connection. Keep this in mind, as
   890         -  it is then important to consider if options or choices are based on the
          904  +  another `connectdata` struct to use for the connection. Keep this in mind,
          905  +  as it is then important to consider if options or choices are based on the
   891    906     connection or the `Curl_easy`.
   892    907   
   893         -  Functions in libcurl will assume that connectdata->data points to the
          908  +  Functions in libcurl will assume that `connectdata->data` points to the
   894    909     `Curl_easy` that uses this connection (for the moment).
   895    910   
   896    911     As a special complexity, some protocols supported by libcurl require a
   897    912     special disconnect procedure that is more than just shutting down the
   898    913     socket. It can involve sending one or more commands to the server before
   899    914     doing so. Since connections are kept in the connection cache after use, the
   900    915     original `Curl_easy` may no longer be around when the time comes to shut down
................................................................................
   901    916     a particular connection. For this purpose, libcurl holds a special dummy
   902    917     `closure_handle` `Curl_easy` in the `Curl_multi` struct to use when needed.
   903    918   
   904    919     FTP uses two TCP connections for a typical transfer but it keeps both in
   905    920     this single struct and thus can be considered a single connection for most
   906    921     internal concerns.
   907    922   
   908         -  The libcurl source code generally use the name 'conn' for the variable that
          923  +  The libcurl source code generally use the name `conn` for the variable that
   909    924     points to the connectdata.
   910    925   
          926  +<a name="Curl_multi"></a>
   911    927   ## Curl_multi
   912    928   
   913    929     Internally, the easy interface is implemented as a wrapper around multi
   914    930     interface functions. This makes everything multi interface.
   915    931   
   916         -  `Curl_multi` is the multi handle struct exposed as "CURLM *" in external
          932  +  `Curl_multi` is the multi handle struct exposed as `CURLM *` in external
   917    933     APIs.
   918    934   
   919    935     This struct holds a list of `Curl_easy` structs that have been added to this
   920    936     handle with [`curl_multi_add_handle()`][13]. The start of the list is
   921    937     `->easyp` and `->num_easy` is a counter of added `Curl_easy`s.
   922    938   
   923    939     `->msglist` is a linked list of messages to send back when
................................................................................
   936    952     `->sockhash` is a hash table to allow fast lookups of socket descriptor for
   937    953     which `Curl_easy` uses that descriptor. This is necessary for the
   938    954     `multi_socket` API.
   939    955   
   940    956     `->conn_cache` points to the connection cache. It keeps track of all
   941    957     connections that are kept after use. The cache has a maximum size.
   942    958   
   943         -  `->closure_handle` is described in the 'connectdata' section.
          959  +  `->closure_handle` is described in the `connectdata` section.
   944    960   
   945         -  The libcurl source code generally use the name 'multi' for the variable that
          961  +  The libcurl source code generally use the name `multi` for the variable that
   946    962     points to the `Curl_multi` struct.
   947    963   
          964  +<a name="Curl_handler"></a>
   948    965   ## Curl_handler
   949    966   
   950    967     Each unique protocol that is supported by libcurl needs to provide at least
   951    968     one `Curl_handler` struct. It defines what the protocol is called and what
   952    969     functions the main code should call to deal with protocol specific issues.
   953         -  In general, there's a source file named [protocol].c in which there's a
   954         -  "struct `Curl_handler` `Curl_handler_[protocol]`" declared. In url.c there's
          970  +  In general, there's a source file named `[protocol].c` in which there's a
          971  +  `struct Curl_handler Curl_handler_[protocol]` declared. In `url.c` there's
   955    972     then the main array with all individual `Curl_handler` structs pointed to
   956    973     from a single array which is scanned through when a URL is given to libcurl
   957    974     to work with.
   958    975   
   959    976     `->scheme` is the URL scheme name, usually spelled out in uppercase. That's
   960    977     "HTTP" or "FTP" etc. SSL versions of the protocol need their own
   961    978     `Curl_handler` setup so HTTPS separate from HTTP.
   962    979   
   963    980     `->setup_connection` is called to allow the protocol code to allocate
   964    981     protocol specific data that then gets associated with that `Curl_easy` for
   965    982     the rest of this transfer. It gets freed again at the end of the transfer.
   966         -  It will be called before the 'connectdata' for the transfer has been
          983  +  It will be called before the `connectdata` for the transfer has been
   967    984     selected/created. Most protocols will allocate its private
   968         -  'struct [PROTOCOL]' here and assign `Curl_easy->req.protop` to point to it.
          985  +  `struct [PROTOCOL]` here and assign `Curl_easy->req.protop` to point to it.
   969    986   
   970    987     `->connect_it` allows a protocol to do some specific actions after the TCP
   971    988     connect is done, that can still be considered part of the connection phase.
   972    989   
   973    990     Some protocols will alter the `connectdata->recv[]` and
   974    991     `connectdata->send[]` function pointers in this function.
   975    992   
................................................................................
   988   1005   
   989   1006     `->done` gets called when the transfer is complete and DONE. That's after the
   990   1007     main data has been transferred.
   991   1008   
   992   1009     `->do_more` gets called during the `DO_MORE` state. The FTP protocol uses
   993   1010     this state when setting up the second connection.
   994   1011   
   995         -  ->`proto_getsock`
   996         -  ->`doing_getsock`
   997         -  ->`domore_getsock`
   998         -  ->`perform_getsock`
         1012  +  `->proto_getsock`
         1013  +  `->doing_getsock`
         1014  +  `->domore_getsock`
         1015  +  `->perform_getsock`
   999   1016     Functions that return socket information. Which socket(s) to wait for which
  1000   1017     action(s) during the particular multi state.
  1001   1018   
  1002         -  ->disconnect is called immediately before the TCP connection is shutdown.
         1019  +  `->disconnect` is called immediately before the TCP connection is shutdown.
  1003   1020   
  1004         -  ->readwrite gets called during transfer to allow the protocol to do extra
         1021  +  `->readwrite` gets called during transfer to allow the protocol to do extra
  1005   1022     reads/writes
  1006   1023   
  1007         -  ->defport is the default report TCP or UDP port this protocol uses
         1024  +  `->defport` is the default report TCP or UDP port this protocol uses
  1008   1025   
  1009         -  ->protocol is one or more bits in the `CURLPROTO_*` set. The SSL versions
         1026  +  `->protocol` is one or more bits in the `CURLPROTO_*` set. The SSL versions
  1010   1027     have their "base" protocol set and then the SSL variation. Like
  1011   1028     "HTTP|HTTPS".
  1012   1029   
  1013         -  ->flags is a bitmask with additional information about the protocol that will
         1030  +  `->flags` is a bitmask with additional information about the protocol that will
  1014   1031     make it get treated differently by the generic engine:
  1015   1032   
  1016   1033     - `PROTOPT_SSL` - will make it connect and negotiate SSL
  1017   1034   
  1018   1035     - `PROTOPT_DUAL` - this protocol uses two connections
  1019   1036   
  1020   1037     - `PROTOPT_CLOSEACTION` - this protocol has actions to do before closing the
................................................................................
  1021   1038       connection. This flag is no longer used by code, yet still set for a bunch
  1022   1039       of protocol handlers.
  1023   1040   
  1024   1041     - `PROTOPT_DIRLOCK` - "direction lock". The SSH protocols set this bit to
  1025   1042       limit which "direction" of socket actions that the main engine will
  1026   1043       concern itself with.
  1027   1044   
  1028         -  - `PROTOPT_NONETWORK` - a protocol that doesn't use network (read file:)
         1045  +  - `PROTOPT_NONETWORK` - a protocol that doesn't use network (read `file:`)
  1029   1046   
  1030   1047     - `PROTOPT_NEEDSPWD` - this protocol needs a password and will use a default
  1031   1048       one unless one is provided
  1032   1049   
  1033   1050     - `PROTOPT_NOURLQUERY` - this protocol can't handle a query part on the URL
  1034   1051       (?foo=bar)
  1035   1052   
         1053  +<a name="conncache"></a>
  1036   1054   ## conncache
  1037   1055   
  1038   1056     Is a hash table with connections for later re-use. Each `Curl_easy` has a
  1039   1057     pointer to its connection cache. Each multi handle sets up a connection
  1040   1058     cache that all added `Curl_easy`s share by default.
  1041   1059   
         1060  +<a name="Curl_share"></a>
  1042   1061   ## Curl_share
  1043   1062   
  1044   1063     The libcurl share API allocates a `Curl_share` struct, exposed to the
  1045         -  external API as "CURLSH *".
         1064  +  external API as `CURLSH *`.
  1046   1065   
  1047   1066     The idea is that the struct can have a set of its own versions of caches and
  1048   1067     pools and then by providing this struct in the `CURLOPT_SHARE` option, those
  1049   1068     specific `Curl_easy`s will use the caches/pools that this share handle
  1050   1069     holds.
  1051   1070   
  1052   1071     Then individual `Curl_easy` structs can be made to share specific things
  1053   1072     that they otherwise wouldn't, such as cookies.
  1054   1073   
  1055   1074     The `Curl_share` struct can currently hold cookies, DNS cache and the SSL
  1056   1075     session cache.
  1057   1076   
         1077  +<a name="CookieInfo"></a>
  1058   1078   ## CookieInfo
  1059   1079   
  1060   1080     This is the main cookie struct. It holds all known cookies and related
  1061         -  information. Each `Curl_easy` has its own private CookieInfo even when
         1081  +  information. Each `Curl_easy` has its own private `CookieInfo` even when
  1062   1082     they are added to a multi handle. They can be made to share cookies by using
  1063   1083     the share API.
  1064   1084   
  1065   1085   
  1066   1086   [1]: https://curl.haxx.se/libcurl/c/curl_easy_setopt.html
  1067   1087   [2]: https://curl.haxx.se/libcurl/c/curl_easy_init.html
  1068   1088   [3]: https://c-ares.haxx.se/

Changes to jni/curl/docs/KNOWN_BUGS.

    15     15    1.1 CURLFORM_CONTENTLEN in an array
    16     16    1.2 Disabling HTTP Pipelining
    17     17    1.3 STARTTRANSFER time is wrong for HTTP POSTs
    18     18    1.4 multipart formposts file name encoding
    19     19    1.5 Expect-100 meets 417
    20     20    1.6 Unnecessary close when 401 received waiting for 100
    21     21    1.7 Deflate error after all content was received
           22  + 1.8 DoH isn't used for all name resolves when enabled
    22     23    1.9 HTTP/2 frames while in the connection pool kill reuse
    23     24    1.10 Strips trailing dot from host name
    24     25    1.11 CURLOPT_SEEKFUNCTION not called with CURLFORM_STREAM
    25     26   
    26     27    2. TLS
    27     28    2.1 CURLINFO_SSL_VERIFYRESULT has limited support
    28     29    2.2 DER in keychain
................................................................................
    42     43    4.1 -J and -O with %-encoded file names
    43     44    4.2 -J with -C - fails
    44     45    4.3 --retry and transfer timeouts
    45     46    4.4 --upload-file . hang if delay in STDIN
    46     47    4.5 Improve --data-urlencode space encoding
    47     48   
    48     49    5. Build and portability issues
    49         - 5.1 tests not compatible with python3
    50     50    5.2 curl-config --libs contains private details
    51     51    5.3 curl compiled on OSX 10.13 failed to run on OSX 10.10
    52     52    5.4 Cannot compile against a static build of OpenLDAP
    53     53    5.5 can't handle Unicode arguments in Windows
    54     54    5.6 cmake support gaps
    55     55    5.7 Visual Studio project gaps
    56     56    5.8 configure finding libs in wrong directory
................................................................................
   158    158    waiting for the the 100-continue response.
   159    159    https://curl.haxx.se/mail/lib-2008-08/0462.html
   160    160   
   161    161   1.7 Deflate error after all content was received
   162    162   
   163    163    There's a situation where we can get an error in a HTTP response that is
   164    164    compressed, when that error is detected after all the actual body contents
   165         - have been received and delivered to the appliction. This is tricky, but is
          165  + have been received and delivered to the application. This is tricky, but is
   166    166    ultimately a broken server.
   167    167   
   168    168    See https://github.com/curl/curl/issues/2719
          169  +
          170  +1.8 DoH isn't used for all name resolves when enabled
          171  +
          172  + Even if DoH is specified to be used, there are some name resolves that are
          173  + done without it. This should be fixed. When the internal function
          174  + `Curl_resolver_wait_resolv()` is called, it doesn't use DoH to complete the
          175  + resolve as it otherwise should.
          176  +
          177  + See https://github.com/curl/curl/pull/3857 and
          178  + https://github.com/curl/curl/pull/3850
   169    179   
   170    180   1.9 HTTP/2 frames while in the connection pool kill reuse
   171    181   
   172    182    If the server sends HTTP/2 frames (like for example an HTTP/2 PING frame) to
   173    183    curl while the connection is held in curl's connection pool, the socket will
   174    184    be found readable when considered for reuse and that makes curl think it is
   175    185    dead and then it will be closed and a new connection gets created instead.
................................................................................
   368    378    ASCII space characters in --data-urlencode are currently encoded as %20
   369    379    rather than +, which RFC 1866 says should be used.
   370    380   
   371    381    See https://github.com/curl/curl/issues/3229
   372    382   
   373    383   5. Build and portability issues
   374    384   
   375         -5.1 tests not compatible with python3
   376         -
   377         - The smb test server still needs python2.
   378         -
   379         - See https://github.com/curl/curl/issues/3289
   380         -
   381    385   5.2 curl-config --libs contains private details
   382    386   
   383    387    "curl-config --libs" will include details set in LDFLAGS when configure is
   384    388    run that might be needed only for building libcurl. Further, curl-config
   385    389    --cflags suffers from the same effects with CFLAGS/CPPFLAGS.
   386    390   
   387    391   5.3 curl compiled on OSX 10.13 failed to run on OSX 10.10

Changes to jni/curl/docs/Makefile.am.

    40     40   
    41     41   CLEANFILES = $(GENHTMLPAGES) $(PDFPAGES) $(MANDISTPAGES) curl.1
    42     42   
    43     43   EXTRA_DIST =                                    \
    44     44    $(noinst_man_MANS)                             \
    45     45    ALTSVC.md                                      \
    46     46    BINDINGS.md                                    \
           47  + BUG-BOUNTY.md                                  \
    47     48    BUGS                                           \
    48     49    CHECKSRC.md                                    \
    49     50    CIPHERS.md                                     \
    50     51    CMakeLists.txt                                 \
    51     52    CODE_OF_CONDUCT.md                             \
    52     53    CODE_STYLE.md                                  \
    53     54    CONTRIBUTE.md                                  \

Changes to jni/curl/docs/Makefile.in.

   467    467   SUBDIRS = . cmdline-opts
   468    468   DIST_SUBDIRS = $(SUBDIRS) examples libcurl
   469    469   CLEANFILES = $(GENHTMLPAGES) $(PDFPAGES) $(MANDISTPAGES) curl.1
   470    470   EXTRA_DIST = \
   471    471    $(noinst_man_MANS)                             \
   472    472    ALTSVC.md                                      \
   473    473    BINDINGS.md                                    \
          474  + BUG-BOUNTY.md                                  \
   474    475    BUGS                                           \
   475    476    CHECKSRC.md                                    \
   476    477    CIPHERS.md                                     \
   477    478    CMakeLists.txt                                 \
   478    479    CODE_OF_CONDUCT.md                             \
   479    480    CODE_STYLE.md                                  \
   480    481    CONTRIBUTE.md                                  \

Changes to jni/curl/docs/RELEASE-PROCEDURE.md.

    12     12   
    13     13   - tag the git repo in this style: `git tag -a curl-7_34_0`. -a annotates the
    14     14     tag and we use underscores instead of dots in the version number. Make sure
    15     15     the tag is GPG signed (using -s).
    16     16   
    17     17   - run "./maketgz 7.34.0" to build the release tarballs. It is important that
    18     18     you run this on a machine with the correct set of autotools etc installed
    19         -  as this is what then will be shipped and used by most users on *nix like
           19  +  as this is what then will be shipped and used by most users on \*nix like
    20     20     systems.
    21     21   
    22     22   - push the git commits and the new tag
    23     23   
    24     24   - gpg sign the 4 tarballs as maketgz suggests
    25     25   
    26     26   - upload the 8 resulting files to the primary download directory
................................................................................
    80     80   
    81     81   Coming dates
    82     82   ------------
    83     83   
    84     84   Based on the description above, here are some planned release dates (at the
    85     85   time of this writing):
    86     86   
    87         -- March 27, 2019
    88     87   - May 22, 2019
    89     88   - July 17, 2019
    90     89   - September 11, 2019
    91     90   - November 6, 2019
           91  +- January 8, 2020 (moved)
           92  +- February 27, 2020
           93  +- April 22, 2020
           94  +- June 17, 2020
           95  +
           96  +The above (and more) curl-related dates are published in
           97  +[iCalendar format](https://calendar.google.com/calendar/ical/c9u5d64odop9js55oltfarjk6g%40group.calendar.google.com/public/basic.ics)
           98  +as well.

Changes to jni/curl/docs/SECURITY-PROCESS.md.

     6      6   
     7      7   Publishing Information
     8      8   ----------------------
     9      9   
    10     10   All known and public curl or libcurl related vulnerabilities are listed on
    11     11   [the curl web site security page](https://curl.haxx.se/docs/security.html).
    12     12   
    13         -Security vulnerabilities should not be entered in the project's public bug
    14         -tracker unless the necessary configuration is in place to limit access to the
    15         -issue to only the reporter and the project's security team.
           13  +Security vulnerabilities **should not** be entered in the project's public bug
           14  +tracker.
    16     15   
    17     16   Vulnerability Handling
    18     17   ----------------------
    19     18   
    20     19   The typical process for handling a new security vulnerability is as follows.
    21     20   
    22     21   No information should be made public about a vulnerability until it is
    23     22   formally announced at the end of this process. That means, for example that a
    24     23   bug tracker entry must NOT be created to track the issue since that will make
    25     24   the issue public and it should not be discussed on any of the project's public
    26         -mailing lists. Also messages associated with any commits should not make
    27         -any reference to the security nature of the commit if done prior to the public
           25  +mailing lists. Also messages associated with any commits should not make any
           26  +reference to the security nature of the commit if done prior to the public
    28     27   announcement.
    29     28   
    30         -- The person discovering the issue, the reporter, reports the vulnerability
    31         -  privately to `curl-security@haxx.se`. That's an email alias that reaches a
    32         -  handful of selected and trusted people.
           29  +- The person discovering the issue, the reporter, reports the vulnerability on
           30  +  [https://hackerone.com/curl](https://hackerone.com/curl). Issues filed there
           31  +  reach a handful of selected and trusted people.
    33     32   
    34     33   - Messages that do not relate to the reporting or managing of an undisclosed
    35     34     security vulnerability in curl or libcurl are ignored and no further action
    36     35     is required.
    37     36   
    38         -- A person in the security team sends an e-mail to the original reporter to
    39         -  acknowledge the report.
           37  +- A person in the security team responds to the original report to acknowledge
           38  +  that a human has seen the report.
    40     39   
    41     40   - The security team investigates the report and either rejects it or accepts
    42     41     it.
    43     42   
    44     43   - If the report is rejected, the team writes to the reporter to explain why.
    45     44   
    46     45   - If the report is accepted, the team writes to the reporter to let him/her
................................................................................
    47     46     know it is accepted and that they are working on a fix.
    48     47   
    49     48   - The security team discusses the problem, works out a fix, considers the
    50     49     impact of the problem and suggests a release schedule. This discussion
    51     50     should involve the reporter as much as possible.
    52     51   
    53     52   - The release of the information should be "as soon as possible" and is most
    54         -  often synced with an upcoming release that contains the fix. If the
    55         -  reporter, or anyone else, thinks the next planned release is too far away
    56         -  then a separate earlier release for security reasons should be considered.
           53  +  often synchronized with an upcoming release that contains the fix. If the
           54  +  reporter, or anyone else involved, thinks the next planned release is too
           55  +  far away, then a separate earlier release should be considered.
    57     56   
    58     57   - Write a security advisory draft about the problem that explains what the
    59     58     problem is, its impact, which versions it affects, solutions or workarounds,
    60     59     when the release is out and make sure to credit all contributors properly.
    61     60     Figure out the CWE (Common Weakness Enumeration) number for the flaw.
    62     61   
    63     62   - Request a CVE number from
           63  +  [HackerOne](https://docs.hackerone.com/programs/cve-requests.html)
           64  +
           65  +- Consider informing
    64     66     [distros@openwall](https://oss-security.openwall.org/wiki/mailing-lists/distros)
    65         -  when also informing and preparing them for the upcoming public security
    66         -  vulnerability announcement - attach the advisory draft for information. Note
    67         -  that 'distros' won't accept an embargo longer than 14 days and they do not
    68         -  care for Windows-specific flaws. For windows-specific flaws, request CVE
    69         -  directly from MITRE.
           67  +  to prepare them about the upcoming public security vulnerability
           68  +  announcement - attach the advisory draft for information. Note that
           69  +  'distros' won't accept an embargo longer than 14 days and they do not care
           70  +  for Windows-specific flaws.
    70     71   
    71     72   - Update the "security advisory" with the CVE number.
    72     73   
    73     74   - The security team commits the fix in a private branch. The commit message
    74     75     should ideally contain the CVE number. This fix is usually also distributed
    75     76     to the 'distros' mailing list to allow them to use the fix prior to the
    76     77     public announcement.
................................................................................
    88     89     curl-announce, curl-library and curl-users mailing lists.
    89     90   
    90     91   - The security web page on the web site should get the new vulnerability
    91     92     mentioned.
    92     93   
    93     94   curl-security (at haxx dot se)
    94     95   ------------------------------
           96  +
           97  +This is a private mailing list for discussions on and about curl security
           98  +issues.
    95     99   
    96    100   Who is on this list? There are a couple of criteria you must meet, and then we
    97    101   might ask you to join the list or you can ask to join it. It really isn't very
    98    102   formal. We basically only require that you have a long-term presence in the
    99    103   curl project and you have shown an understanding for the project and its way
   100    104   of working. You must've been around for a good while and you should have no
   101    105   plans in vanishing in the near future.
................................................................................
   117    121      to the git repo.
   118    122   
   119    123   5. Run `make` in your local web checkout and verify that things look fine.
   120    124   
   121    125   6. On security advisory release day, push the changes on the curl-www
   122    126      repository's remote master branch.
   123    127   
   124         -Hackerone Internet Bug Bounty
   125         ------------------------------
          128  +Bug Bounty
          129  +----------
   126    130   
   127         -The curl project does not run any bounty program on its own, but there are
   128         -outside organizations that do. First report your issue the normal way and
   129         -proceed as described in this document.
   130         -
   131         -Then, if the issue is [critical](https://hackerone.com/ibb-data), you are
   132         -eligible to apply for a bounty from Hackerone for your find.
   133         -
   134         -Once your reported vulnerability has been publicly disclosed by the curl
   135         -project, you can submit a [report to them](https://hackerone.com/ibb-data).
          131  +See [BUG-BOUNTY](https://curl.haxx.se/docs/bugbounty.html) for details on the
          132  +bug bounty program.

Changes to jni/curl/docs/SSL-PROBLEMS.md.

    49     49   
    50     50     You may have to explicitly provide an alternative list of ciphers for curl
    51     51     to use to allow the server to use a WEAK cipher for you.
    52     52   
    53     53     Note that these weak ciphers are identified as flawed. For example, this
    54     54     includes symmetric ciphers with less than 128 bit keys and RC4.
    55     55   
    56         -  WinSSL in Windows XP is not able to connect to servers that no longer
           56  +  Schannel in Windows XP is not able to connect to servers that no longer
    57     57     support the legacy handshakes and algorithms used by those versions, so we
    58         -  advice against building curl to use WinSSL on really old Windows versions.
           58  +  advice against building curl to use Schannel on really old Windows versions.
    59     59   
    60     60     References:
    61     61   
    62     62     https://tools.ietf.org/html/draft-popov-tls-prohibiting-rc4-01
    63     63   
    64     64   ## Allow BEAST
    65     65   
................................................................................
    73     73     servers.
    74     74   
    75     75   ## Disabling certificate revocation checks
    76     76   
    77     77     Some SSL backends may do certificate revocation checks (CRL, OCSP, etc)
    78     78     depending on the OS or build configuration. The --ssl-no-revoke option was
    79     79     introduced in 7.44.0 to disable revocation checking but currently is only
    80         -  supported for WinSSL (the native Windows SSL library), with an exception in
    81         -  the case of Windows' Untrusted Publishers blacklist which it seems can't be
    82         -  bypassed. This option may have broader support to accommodate other SSL
           80  +  supported for Schannel (the native Windows SSL library), with an exception
           81  +  in the case of Windows' Untrusted Publishers blacklist which it seems can't
           82  +  be bypassed. This option may have broader support to accommodate other SSL
    83     83     backends in the future.
    84     84   
    85     85     References:
    86     86   
    87     87     https://curl.haxx.se/docs/ssl-compared.html

Changes to jni/curl/docs/THANKS.

   494    494   Edward Rudd
   495    495   Edward Sheldrake
   496    496   Edward Thomson
   497    497   Eelco Dolstra
   498    498   Eetu Ojanen
   499    499   Egon Eckert
   500    500   Eldar Zaitov
          501  +Eli Schwartz
   501    502   Elia Tufarolo
   502    503   Elliot Saba
   503    504   Ellis Pritchard
   504    505   Elmira A Semenova
   505    506   Emanuele Bovisio
   506    507   Emil Lerner
   507    508   Emil Romanus
................................................................................
   642    643   Grigory Entin
   643    644   Guenole Bescon
   644    645   Guido Berhoerster
   645    646   Guillaume Arluison
   646    647   Gunter Knauf
   647    648   Gustaf Hui
   648    649   Gustavo Grieco
          650  +Guy Poizat
   649    651   GwanYeong Kim
   650    652   Gwenole Beauchesne
   651    653   Gökhan Şengün
   652    654   Götz Babin-Ebell
   653    655   Hagai Auro
   654    656   Haibo Huang
   655    657   Hamish Mackenzie
................................................................................
   711    713   Inca R
   712    714   Ingmar Runge
   713    715   Ingo Ralf Blum
   714    716   Ingo Wilken
   715    717   Irfan Adilovic
   716    718   Irving Wolfe
   717    719   Isaac Boukris
          720  +Isaiah Norton
   718    721   Ishan SinghLevett
   719    722   Ithubg on github
   720    723   Ivan Avdeev
   721    724   Ivo Bellin Salarin
   722    725   Jack Zhang
   723    726   Jackarain on github
   724    727   Jacky Lam
................................................................................
   877    880   Jonas Forsman
   878    881   Jonas Minnberg
   879    882   Jonas Schnelli
   880    883   Jonatan Lander
   881    884   Jonatan Vela
   882    885   Jonathan Cardoso Machado
   883    886   Jonathan Hseu
          887  +Jonathan Moerman
   884    888   Jonathan Nieder
   885    889   Jongki Suwandi
          890  +Joombalaya on github
   886    891   Joonas Kuorilehto
   887    892   Jose Alf
   888    893   Jose Kahan
   889    894   Josef Wolf
   890    895   Josh Bialkowski
   891    896   Josh Kapell
   892    897   Joshua Kwan
................................................................................
   968    973   Konstantin Kushnir
   969    974   Kris Kennaway
   970    975   Krishnendu Majumdar
   971    976   Krister Johansen
   972    977   Kristian Gunstone
   973    978   Kristian Köhntopp
   974    979   Kristiyan Tsaklev
          980  +Kristoffer Gleditsch
   975    981   Kurt Fankhauser
   976    982   Kyle J. McKay
   977    983   Kyle L. Huff
   978    984   Kyle Sallee
   979    985   Kyselgov E.N
   980    986   Lachlan O'Dea
   981    987   Ladar Levison
................................................................................
  1159   1165   Maxim Perenesenko
  1160   1166   Maxim Prohorov
  1161   1167   Maxime Larocque
  1162   1168   Maxime Legros
  1163   1169   Mehmet Bozkurt
  1164   1170   Mekonikum
  1165   1171   Melissa Mears
         1172  +Mert Yazıcıoğlu
  1166   1173   Mettgut Jamalla
  1167   1174   Michael Anti
  1168   1175   Michael Benedict
  1169   1176   Michael Calmer
  1170   1177   Michael Cronenworth
  1171   1178   Michael Curtis
  1172   1179   Michael Day
................................................................................
  1280   1287   Octavio Schroeder
  1281   1288   Ofer
  1282   1289   Okhin Vasilij
  1283   1290   Ola Mork
  1284   1291   Olaf Flebbe
  1285   1292   Olaf Stüben
  1286   1293   Oleg Pudeyev
         1294  +Olen Andoni
  1287   1295   Oli Kingshott
  1288   1296   Oliver Gondža
  1289   1297   Oliver Graute
  1290   1298   Oliver Kuckertz
  1291   1299   Oliver Schindler
  1292   1300   Olivier Berger
  1293   1301   Olivier Brunel
         1302  +Omar Ramadan
  1294   1303   Orange Tsai
  1295   1304   Oren Souroujon
  1296   1305   Oren Tirosh
  1297   1306   Orgad Shaneh
  1298   1307   Ori Avtalion
  1299   1308   Oscar Koeroo
  1300   1309   Oscar Norlander
  1301   1310   Oskar Liljeblad
  1302   1311   Oumph on github
  1303   1312   P R Schaffner
  1304   1313   Palo Markovic
         1314  +Paolo Mossino
  1305   1315   Paolo Piacentini
  1306   1316   Paras Sethia
  1307   1317   Pascal Gaudette
  1308   1318   Pascal Terjan
  1309   1319   Pasha Kuznetsov
  1310   1320   Pasi Karkkainen
  1311   1321   Pat Ray
................................................................................
  1393   1403   Philippe Vaucher
  1394   1404   Pierre
  1395   1405   Pierre Brico
  1396   1406   Pierre Chapuis
  1397   1407   Pierre Joye
  1398   1408   Pierre Ynard
  1399   1409   Piotr Dobrogost
         1410  +Po-Chuan Hsieh
  1400   1411   Pooyan McSporran
         1412  +Poul T Lomholt
  1401   1413   Pramod Sharma
  1402   1414   Prash Dush
  1403   1415   Praveen Pvs
  1404   1416   Priyanka Shah
  1405   1417   Przemysław Tomaszewski
  1406   1418   Puneet Pawaia
  1407   1419   Quagmire
................................................................................
  1429   1441   Randy McMurchy
  1430   1442   Raphael Gozzo
  1431   1443   Ravi Pratap
  1432   1444   Ray Dassen
  1433   1445   Ray Pekowski
  1434   1446   Ray Satiro
  1435   1447   Razvan Cojocaru
         1448  +Reed Loden
  1436   1449   Reinhard Max
  1437   1450   Reinout van Schouwen
  1438   1451   Remco van Hooff
  1439   1452   Remi Gacogne
  1440   1453   Remo E
  1441   1454   Renato Botelho
  1442   1455   Renaud Allard
................................................................................
  1445   1458   Renaud Guillard
  1446   1459   Renaud Lehoux
  1447   1460   Rene Bernhardt
  1448   1461   Rene Rebe
  1449   1462   Reuven Wachtfogel
  1450   1463   Reza Arbab
  1451   1464   Ricardo Cadime
         1465  +Ricardo Gomes
  1452   1466   Rich Burridge
  1453   1467   Rich Gray
  1454   1468   Rich Rauenzahn
  1455   1469   Rich Turner
  1456   1470   Richard Adams
  1457   1471   Richard Alcock
  1458   1472   Richard Archer
................................................................................
  1471   1485   Richard van den Berg
  1472   1486   Richy Kim
  1473   1487   Rick Deist
  1474   1488   Rick Jones
  1475   1489   Rick Richardson
  1476   1490   Rick Welykochy
  1477   1491   Ricki Hirner
         1492  +Ricky Leverence
  1478   1493   Ricky-Tigg on github
  1479   1494   Rider Linden
  1480   1495   Rikard Falkeborn
  1481   1496   Rob Cotrone
  1482   1497   Rob Crittenden
  1483   1498   Rob Davies
  1484   1499   Rob Jones
................................................................................
  1518   1533   Roman Mamedov
  1519   1534   Romulo A. Ceccon
  1520   1535   Ron Eldor
  1521   1536   Ron Parker
  1522   1537   Ron Zapp
  1523   1538   Ronnie Mose
  1524   1539   Rosimildo da Silva
         1540  +Roy Bellingan
  1525   1541   Roy Shan
  1526   1542   Rune Kleveland
  1527   1543   Ruslan Baratov
  1528   1544   Ruslan Gazizov
  1529   1545   Rutger Hofman
  1530   1546   Ruurd Beerstra
  1531   1547   Ryan Braud
................................................................................
  1667   1683   Symeon Paraschoudis
  1668   1684   Sébastien Willemijns
  1669   1685   T. Bharath
  1670   1686   T. Yamada
  1671   1687   TJ Saunders
  1672   1688   Tae Hyoung Ahn
  1673   1689   Tae Wong
         1690  +Taiyu Len
  1674   1691   Taneli Vähäkangas
  1675   1692   Tanguy Fautre
  1676   1693   Tatsuhiro Tsujikawa
  1677   1694   Teemu Yli-Elsila
  1678   1695   Temprimus
  1679   1696   Terri Oda
  1680   1697   Terry Wu
................................................................................
  1760   1777   Toshio Kuratomi
  1761   1778   Toshiyuki Maezawa
  1762   1779   Traian Nicolescu
  1763   1780   Travis Burtrum
  1764   1781   Travis Obenhaus
  1765   1782   Troels Walsted Hansen
  1766   1783   Troy Engel
         1784  +Tseng Jun
  1767   1785   Tuomo Rinne
  1768   1786   Tupone Alfredo
  1769   1787   Tyler Hall
  1770   1788   Török Edwin
  1771   1789   Ulf Härnhammar
  1772   1790   Ulf Samuelsson
  1773   1791   Ulrich Doehner
................................................................................
  1803   1821   Vsevolod Novikov
  1804   1822   W. Mark Kubacki
  1805   1823   Waldek Kozba
  1806   1824   Walter J. Mack
  1807   1825   Ward Willats
  1808   1826   Warren Menzer
  1809   1827   Wayne Haigh
         1828  +Wenchao Li
  1810   1829   Wenxiang Qian
  1811   1830   Werner Koch
  1812   1831   Wesley Laxton
  1813   1832   Wesley Miaw
  1814   1833   Wez Furlong
  1815   1834   Wham Bang
  1816   1835   Wilfredo Sanchez
................................................................................
  1821   1840   Wojciech Zwiefka
  1822   1841   Wouter Van Rooy
  1823   1842   Wu Yongzheng
  1824   1843   Wyatt O'Day
  1825   1844   Xavier Bouchoux
  1826   1845   XhstormR on github
  1827   1846   Xiangbin Li
         1847  +XmiliaH on github
  1828   1848   Yaakov Selkowitz
  1829   1849   Yang Tse
  1830   1850   Yarram Sunil
  1831   1851   Yasuharu Yamada
  1832   1852   Yasuhiro Matsumoto
  1833   1853   Yehezkel Horowitz
  1834   1854   Yehoshua Hershberg
................................................................................
  1862   1882   arainchik on github
  1863   1883   asavah on github
  1864   1884   baumanj on github
  1865   1885   bobmitchell1956 on github
  1866   1886   bsammon on github
  1867   1887   buzo-ffm on github
  1868   1888   cbartl on github
         1889  +cclauss on github
  1869   1890   clbr on github
  1870   1891   cmfrolick on github
  1871   1892   d912e3 on github
  1872   1893   daboul on github
  1873   1894   dasimx on github
  1874   1895   destman on github
  1875   1896   dkjjr89 on github
................................................................................
  1889   1910   jnbr on github
  1890   1911   jonrumsey on github
  1891   1912   joshhe on github
  1892   1913   jungle-boogie on github
  1893   1914   jveazey on github
  1894   1915   ka7 on github
  1895   1916   kreshano on github
         1917  +l00p3r on Hackerone
  1896   1918   lijian996 on github
  1897   1919   lukaszgn on github
  1898   1920   madblobfish on github
  1899   1921   marc-groundctl on github
  1900   1922   masbug on github
  1901   1923   mccormickt12 on github
  1902   1924   mkzero on github
  1903   1925   moohoorama on github
  1904   1926   nedres on github
  1905   1927   neex on github
  1906   1928   neheb on github
         1929  +nevv on HackerOne/curl
  1907   1930   nianxuejie on github
         1931  +niner on github
  1908   1932   nk
  1909   1933   nopjmp on github
  1910   1934   olesteban on github
  1911   1935   omau on github
  1912   1936   ovidiu-benea on github
  1913   1937   patelvivekv1993 on github
  1914   1938   pszemus on github

Changes to jni/curl/docs/TODO.

    31     31    1.12 updated DNS server while running
    32     32    1.13 c-ares and CURLOPT_OPENSOCKETFUNCTION
    33     33    1.14 Typesafe curl_easy_setopt()
    34     34    1.15 Monitor connections in the connection pool
    35     35    1.16 Try to URL encode given URL
    36     36    1.17 Add support for IRIs
    37     37    1.18 try next proxy if one doesn't work
    38         - 1.19 Timeout idle connections from the pool
    39     38    1.20 SRV and URI DNS records
    40     39    1.21 Have the URL API offer IDN decoding
    41     40    1.22 CURLINFO_PAUSE_STATE
    42     41    1.23 Offer API to flush the connection pool
    43     42    1.24 TCP Fast Open for windows
    44     43    1.25 Expose tried IP addresses that failed
    45     44    1.26 CURL_REFUSE_CLEARTEXT
................................................................................
   146    145    18. Command line tool
   147    146    18.1 sync
   148    147    18.2 glob posts
   149    148    18.3 prevent file overwriting
   150    149    18.4 simultaneous parallel transfers
   151    150    18.5 UTF-8 filenames in Content-Disposition
   152    151    18.6 warning when setting an option
   153         - 18.7 warning if curl version is not in sync with libcurl version
   154    152    18.8 offer color-coded HTTP header output
   155    153    18.9 Choose the name of file in braces for complex URLs
   156    154    18.10 improve how curl works in a windows console window
   157    155    18.11 Windows: set attribute 'archive' for completed downloads
   158    156    18.12 keep running, read instructions from pipe/socket
   159    157    18.13 support metalink in http headers
   160    158    18.14 --fail without --location should treat 3xx as a failure
................................................................................
   256    254   
   257    255    Dynamically allocate buffer size depending on protocol in use in combination
   258    256    with freeing it after each individual transfer? Other suggestions?
   259    257   
   260    258   1.7 Support HTTP/2 for HTTP(S) proxies
   261    259   
   262    260    Support for doing HTTP/2 to HTTP and HTTPS proxies is still missing.
          261  +
          262  + See https://github.com/curl/curl/issues/3570
   263    263   
   264    264   1.8 CURLOPT_RESOLVE for any port number
   265    265   
   266    266    This option allows applications to set a replacement IP address for a given
   267    267    host + port pair. Consider making support for providing a replacement address
   268    268    for the host name on all port numbers.
   269    269   
................................................................................
   368    368    Allow an application to specify a list of proxies to try, and failing to
   369    369    connect to the first go on and try the next instead until the list is
   370    370    exhausted. Browsers support this feature at least when they specify proxies
   371    371    using PACs.
   372    372   
   373    373    https://github.com/curl/curl/issues/896
   374    374   
   375         -1.19 Timeout idle connections from the pool
   376         -
   377         - libcurl currently keeps connections in its connection pool for an indefinite
   378         - period of time, until it either gets reused, gets noticed that it has been
   379         - closed by the server or gets pruned to make room for a new connection.
   380         -
   381         - To reduce overhead (especially for when we add monitoring of the connections
   382         - in the pool), we should introduce a timeout so that connections that have
   383         - been idle for N seconds get closed.
   384         -
   385    375   1.20 SRV and URI DNS records
   386    376   
   387    377    Offer support for resolving SRV and URI DNS records for libcurl to know which
   388    378    server to connect to for various protocols (including HTTP!).
   389    379   
   390    380   1.21 Have the URL API offer IDN decoding
   391    381   
................................................................................
   603    593    which you give headers a value, and then when the HTTP request is built it
   604    594    sorts the headers based on that number. We could then have internally created
   605    595    headers use a default value so only headers that need to be moved have to be
   606    596    specified.
   607    597   
   608    598   5.4 Allow SAN names in HTTP/2 server push
   609    599   
   610         - curl only allows HTTP/2 push promise if the provided :autority header value
          600  + curl only allows HTTP/2 push promise if the provided :authority header value
   611    601    exactly matches the host name given in the URL. It could be extended to allow
   612    602    any name that would match the Subject Alternative Names in the server's TLS
   613    603    certificate.
   614    604   
   615    605    See https://github.com/curl/curl/pull/3581
   616    606   
   617    607   5.5 auth= in URLs
................................................................................
  1021   1011   
  1022   1012   18.6 warning when setting an option
  1023   1013   
  1024   1014    Display a warning when libcurl returns an error when setting an option.
  1025   1015    This can be useful to tell when support for a particular feature hasn't been
  1026   1016    compiled into the library.
  1027   1017   
  1028         -18.7 warning if curl version is not in sync with libcurl version
  1029         -
  1030         - This is usually a sign of a funny, weird or unexpected install situations
  1031         - that aren't always quickly nor easily detected by users. curl and libcurl are
  1032         - always released in sync and should use the same version numbers unless very
  1033         - special situations.
  1034         -
  1035   1018   18.8 offer color-coded HTTP header output
  1036   1019   
  1037   1020    By offering different color output on the header name and the header
  1038   1021    contents, they could be made more readable and thus help users working on
  1039   1022    HTTP services.
  1040   1023   
  1041   1024   18.9 Choose the name of file in braces for complex URLs

Changes to jni/curl/docs/cmdline-opts/alt-svc.d.

     6      6   ---
     7      7   WARNING: this option is experiemental. Do not use in production.
     8      8   
     9      9   This option enables the alt-svc parser in curl. If the file name points to an
    10     10   existing alt-svc cache file, that will be used. After a completed transfer,
    11     11   the cache will be saved to the file name again if it has been modified.
    12     12   
    13         -Specifiy a "" file name (zero length) to avoid loading/saving and make curl
           13  +Specify a "" file name (zero length) to avoid loading/saving and make curl
    14     14   just handle the cache in memory.
    15     15   
    16     16   If this option is used several times, curl will load contents from all the
    17     17   files but the the last one will be used for saving.

Changes to jni/curl/docs/cmdline-opts/config.d.

    11     11   Options and their parameters must be specified on the same line in the file,
    12     12   separated by whitespace, colon, or the equals sign. Long option names can
    13     13   optionally be given in the config file without the initial double dashes and
    14     14   if so, the colon or equals characters can be used as separators. If the option
    15     15   is specified with one or two dashes, there can be no colon or equals character
    16     16   between the option and its parameter.
    17     17   
    18         -If the parameter is to contain whitespace, the parameter must be enclosed
    19         -within quotes. Within double quotes, the following escape sequences are
    20         -available: \\\\, \\", \\t, \\n, \\r and \\v. A backslash preceding any other
    21         -letter is ignored. If the first column of a config line is a '#' character,
    22         -the rest of the line will be treated as a comment. Only write one option per
    23         -physical line in the config file.
           18  +If the parameter contains whitespace (or starts with : or =), the parameter
           19  +must be enclosed within quotes. Within double quotes, the following escape
           20  +sequences are available: \\\\, \\", \\t, \\n, \\r and \\v. A backslash
           21  +preceding any other letter is ignored. If the first column of a config line is
           22  +a '#' character, the rest of the line will be treated as a comment. Only write
           23  +one option per physical line in the config file.
    24     24   
    25     25   Specify the filename to --config as '-' to make curl read the file from stdin.
    26     26   
    27     27   Note that to be able to specify a URL in the config file, you need to specify
    28     28   it using the --url option, and not by simply writing the URL on its own
    29     29   line. So, it could look similar to this:
    30     30   

Changes to jni/curl/docs/curl-config.1.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH curl-config 1 "November 30, 2017" "Curl 7.64.1" "curl-config manual"
           23  +.TH curl-config 1 "November 30, 2017" "Curl 7.65.0" "curl-config manual"
    24     24   
    25     25   .SH NAME
    26     26   curl-config \- Get information about a libcurl installation
    27     27   .SH SYNOPSIS
    28     28   .B curl-config [options]
    29     29   .SH DESCRIPTION
    30     30   .B curl-config

Changes to jni/curl/docs/curl.1.

    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23     23   .\" DO NOT EDIT. Generated by the curl project gen.pl man page generator.
    24     24   .\"
    25         -.TH curl 1 "November 16, 2016" "Curl 7.64.1" "Curl Manual"
           25  +.TH curl 1 "November 16, 2016" "Curl 7.65.0" "Curl Manual"
    26     26   
    27     27   .SH NAME
    28     28   curl \- transfer a URL
    29     29   .SH SYNOPSIS
    30     30   .B curl [options / URLs]
    31     31   .SH DESCRIPTION
    32     32   .B curl
................................................................................
   149    149   .IP "--alt-svc <file name>"
   150    150   (HTTPS) WARNING: this option is experiemental. Do not use in production.
   151    151   
   152    152   This option enables the alt-svc parser in curl. If the file name points to an
   153    153   existing alt-svc cache file, that will be used. After a completed transfer,
   154    154   the cache will be saved to the file name again if it has been modified.
   155    155   
   156         -Specifiy a "" file name (zero length) to avoid loading/saving and make curl
          156  +Specify a "" file name (zero length) to avoid loading/saving and make curl
   157    157   just handle the cache in memory.
   158    158   
   159    159   If this option is used several times, curl will load contents from all the
   160    160   files but the the last one will be used for saving.
   161    161   
   162    162   Added in 7.64.1.
   163    163   .IP "--anyauth"
................................................................................
   317    317   Options and their parameters must be specified on the same line in the file,
   318    318   separated by whitespace, colon, or the equals sign. Long option names can
   319    319   optionally be given in the config file without the initial double dashes and
   320    320   if so, the colon or equals characters can be used as separators. If the option
   321    321   is specified with one or two dashes, there can be no colon or equals character
   322    322   between the option and its parameter.
   323    323   
   324         -If the parameter is to contain whitespace, the parameter must be enclosed
   325         -within quotes. Within double quotes, the following escape sequences are
   326         -available: \\\\, \\", \\t, \\n, \\r and \\v. A backslash preceding any other
   327         -letter is ignored. If the first column of a config line is a '#' character,
   328         -the rest of the line will be treated as a comment. Only write one option per
   329         -physical line in the config file.
          324  +If the parameter contains whitespace (or starts with : or =), the parameter
          325  +must be enclosed within quotes. Within double quotes, the following escape
          326  +sequences are available: \\\\, \\", \\t, \\n, \\r and \\v. A backslash
          327  +preceding any other letter is ignored. If the first column of a config line is
          328  +a '#' character, the rest of the line will be treated as a comment. Only write
          329  +one option per physical line in the config file.
   330    330   
   331    331   Specify the filename to \fI-K, --config\fP as '-' to make curl read the file from stdin.
   332    332   
   333    333   Note that to be able to specify a URL in the config file, you need to specify
   334    334   it using the \fI--url\fP option, and not by simply writing the URL on its own
   335    335   line. So, it could look similar to this:
   336    336   

Changes to jni/curl/docs/examples/cacertinmem.c.

    82     82       "r0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3otkYNbn5XOmeUwssfnHdK\n"
    83     83       "Z05phkOTOPu220+DkdRgfks+KzgHVZhepA==\n"
    84     84       "-----END CERTIFICATE-----\n";
    85     85   
    86     86     BIO *cbio = BIO_new_mem_buf(mypem, sizeof(mypem));
    87     87     X509_STORE  *cts = SSL_CTX_get_cert_store((SSL_CTX *)sslctx);
    88     88     X509_INFO *itmp;
    89         -  int i, count = 0;
           89  +  int i;
    90     90     STACK_OF(X509_INFO) *inf;
    91     91     (void)curl;
    92     92     (void)parm;
    93     93   
    94     94     if(!cts || !cbio) {
    95     95       return rv;
    96     96     }
................................................................................
   102    102       return rv;
   103    103     }
   104    104   
   105    105     for(i = 0; i < sk_X509_INFO_num(inf); i++) {
   106    106       itmp = sk_X509_INFO_value(inf, i);
   107    107       if(itmp->x509) {
   108    108         X509_STORE_add_cert(cts, itmp->x509);
   109         -      count++;
   110    109       }
   111    110       if(itmp->crl) {
   112    111         X509_STORE_add_crl(cts, itmp->crl);
   113         -      count++;
   114    112       }
   115    113     }
   116    114   
   117    115     sk_X509_INFO_pop_free(inf, X509_INFO_free);
   118    116     BIO_free(cbio);
   119    117   
   120    118     rv = CURLE_OK;

Changes to jni/curl/docs/examples/curlgtk.c.

    41     41     gdk_threads_leave();
    42     42     return 0;
    43     43   }
    44     44   
    45     45   void *my_thread(void *ptr)
    46     46   {
    47     47     CURL *curl;
    48         -  CURLcode res;
    49     48     FILE *outfile;
    50     49     gchar *url = ptr;
    51     50   
    52     51     curl = curl_easy_init();
    53     52     if(curl) {
    54     53       const char *filename = "test.curl";
    55     54       outfile = fopen(filename, "wb");
................................................................................
    58     57       curl_easy_setopt(curl, CURLOPT_WRITEDATA, outfile);
    59     58       curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, my_write_func);
    60     59       curl_easy_setopt(curl, CURLOPT_READFUNCTION, my_read_func);
    61     60       curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L);
    62     61       curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, my_progress_func);
    63     62       curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, Bar);
    64     63   
    65         -    res = curl_easy_perform(curl);
           64  +    curl_easy_perform(curl);
    66     65   
    67     66       fclose(outfile);
    68     67       /* always cleanup */
    69     68       curl_easy_cleanup(curl);
    70     69     }
    71     70   
    72     71     return NULL;

Changes to jni/curl/docs/examples/curlx.c.

   540    540   
   541    541   
   542    542     /* Perform the request, res will get the return code */
   543    543   
   544    544     BIO_printf(p.errorbio, "%d %s %d\n", __LINE__, "curl_easy_perform",
   545    545                res = curl_easy_perform(p.curl));
   546    546     {
   547         -    int result = curl_easy_getinfo(p.curl, CURLINFO_CONTENT_TYPE, &response);
          547  +    curl_easy_getinfo(p.curl, CURLINFO_CONTENT_TYPE, &response);
   548    548       if(mimetypeaccept && p.verbose) {
   549    549         if(!strcmp(mimetypeaccept, response))
   550    550           BIO_printf(p.errorbio, "the response has a correct mimetype : %s\n",
   551    551                      response);
   552    552         else
   553    553           BIO_printf(p.errorbio, "the response doesn\'t have an acceptable "
   554    554                      "mime type, it is %s instead of %s\n",

Changes to jni/curl/docs/examples/ephiperfifo.c.

   144    144   
   145    145   /* Update the timer after curl_multi library does it's thing. Curl will
   146    146    * inform us through this callback what it wants the new timeout to be,
   147    147    * after it does some work. */
   148    148   static int multi_timer_cb(CURLM *multi, long timeout_ms, GlobalInfo *g)
   149    149   {
   150    150     struct itimerspec its;
   151         -  CURLMcode rc;
   152    151   
   153    152     fprintf(MSG_OUT, "multi_timer_cb: Setting timeout to %ld ms\n", timeout_ms);
   154    153   
   155    154     if(timeout_ms > 0) {
   156    155       its.it_interval.tv_sec = 1;
   157    156       its.it_interval.tv_nsec = 0;
   158    157       its.it_value.tv_sec = timeout_ms / 1000;
................................................................................
   337    336   
   338    337   
   339    338   /* CURLOPT_WRITEFUNCTION */
   340    339   static size_t write_cb(void *ptr _Unused, size_t size, size_t nmemb,
   341    340                          void *data)
   342    341   {
   343    342     size_t realsize = size * nmemb;
   344         -  ConnInfo *conn _Unused = (ConnInfo*) data;
          343  +  (void)_Unused;
          344  +  (void)data;
   345    345   
   346    346     return realsize;
   347    347   }
   348    348   
   349    349   
   350    350   /* CURLOPT_PROGRESSFUNCTION */
   351    351   static int prog_cb(void *p, double dltotal, double dlnow, double ult _Unused,
................................................................................
   514    514   
   515    515     /* we don't call any curl_multi_socket*() function yet as we have no handles
   516    516        added! */
   517    517   
   518    518     fprintf(MSG_OUT, "Entering wait loop\n");
   519    519     fflush(MSG_OUT);
   520    520     while(!g_should_exit_) {
   521         -    /* TODO(josh): use epoll_pwait to avoid a race on the signal. Mask the
   522         -     * signal before the while loop, and then re-enable the signal during
   523         -     * epoll wait. Mask at the end of the loop. */
   524    521       err = epoll_wait(g.epfd, events, sizeof(events)/sizeof(struct epoll_event),
   525    522                        10000);
   526    523       if(err == -1) {
   527    524         if(errno == EINTR) {
   528    525           fprintf(MSG_OUT, "note: wait interrupted\n");
   529    526           continue;
   530    527         }

Changes to jni/curl/docs/examples/evhiperfifo.c.

   417    417     ev_io_start(g->loop, &g->fifo_event);
   418    418     return (0);
   419    419   }
   420    420   
   421    421   int main(int argc, char **argv)
   422    422   {
   423    423     GlobalInfo g;
   424         -  CURLMcode rc;
   425    424     (void)argc;
   426    425     (void)argv;
   427    426   
   428    427     memset(&g, 0, sizeof(GlobalInfo));
   429    428     g.loop = ev_default_loop(0);
   430    429   
   431    430     init_fifo(&g);

Changes to jni/curl/docs/examples/ftpgetinfo.c.

     1      1   /***************************************************************************
     2      2    *                                  _   _ ____  _
     3      3    *  Project                     ___| | | |  _ \| |
     4      4    *                             / __| | | | |_) | |
     5      5    *                            | (__| |_| |  _ <| |___
     6      6    *                             \___|\___/|_| \_\_____|
     7      7    *
     8         - * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
            8  + * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
     9      9    *
    10     10    * This software is licensed as described in the file COPYING, which
    11     11    * you should have received as part of this distribution. The terms
    12     12    * are also available at https://curl.haxx.se/docs/copyright.html.
    13     13    *
    14     14    * You may opt to use, copy, modify, merge, publish, distribute and/or sell
    15     15    * copies of the Software, and permit persons to whom the Software is
................................................................................
    52     52     curl = curl_easy_init();
    53     53     if(curl) {
    54     54       curl_easy_setopt(curl, CURLOPT_URL, ftpurl);
    55     55       /* No download if the file */
    56     56       curl_easy_setopt(curl, CURLOPT_NOBODY, 1L);
    57     57       /* Ask for filetime */
    58     58       curl_easy_setopt(curl, CURLOPT_FILETIME, 1L);
    59         -    /* No header output: TODO 14.1 http-style HEAD output for ftp */
    60     59       curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, throw_away);
    61     60       curl_easy_setopt(curl, CURLOPT_HEADER, 0L);
    62     61       /* Switch on full protocol/debug output */
    63     62       /* curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); */
    64     63   
    65     64       res = curl_easy_perform(curl);
    66     65   

Changes to jni/curl/docs/examples/ghiper.c.

   407    407   
   408    408     return socket;
   409    409   }
   410    410   
   411    411   int main(int argc, char **argv)
   412    412   {
   413    413     GlobalInfo *g;
   414         -  CURLMcode rc;
   415    414     GMainLoop*gmain;
   416    415     int fd;
   417    416     GIOChannel* ch;
   418    417     g = g_malloc0(sizeof(GlobalInfo));
   419    418   
   420    419     fd = init_fifo();
   421    420     ch = g_io_channel_unix_new(fd);

Changes to jni/curl/docs/examples/hiperfifo.c.

   303    303   
   304    304   
   305    305   /* CURLOPT_WRITEFUNCTION */
   306    306   static size_t write_cb(void *ptr _Unused, size_t size, size_t nmemb,
   307    307                          void *data)
   308    308   {
   309    309     size_t realsize = size * nmemb;
   310         -  ConnInfo *conn _Unused = (ConnInfo*) data;
          310  +  (void)_Unused;
          311  +  (void)data;
   311    312   
   312    313     return realsize;
   313    314   }
   314    315   
   315    316   
   316    317   /* CURLOPT_PROGRESSFUNCTION */
   317    318   static int prog_cb(void *p, double dltotal, double dlnow, double ult _Unused,

Changes to jni/curl/docs/examples/multithread.c.

    65     65      void * (*start_func)(void *), void *arg);
    66     66   */
    67     67   
    68     68   int main(int argc, char **argv)
    69     69   {
    70     70     pthread_t tid[NUMT];
    71     71     int i;
    72         -  int error;
    73     72   
    74     73     /* Must initialize libcurl before any threads are started */
    75     74     curl_global_init(CURL_GLOBAL_ALL);
    76     75   
    77     76     for(i = 0; i< NUMT; i++) {
    78         -    error = pthread_create(&tid[i],
    79         -                           NULL, /* default attributes please */
    80         -                           pull_one_url,
    81         -                           (void *)urls[i]);
           77  +    int error = pthread_create(&tid[i],
           78  +                               NULL, /* default attributes please */
           79  +                               pull_one_url,
           80  +                               (void *)urls[i]);
    82     81       if(0 != error)
    83     82         fprintf(stderr, "Couldn't run thread number %d, errno %d\n", i, error);
    84     83       else
    85     84         fprintf(stderr, "Thread %d, gets %s\n", i, urls[i]);
    86     85     }
    87     86   
    88     87     /* now wait for all threads to terminate */
    89     88     for(i = 0; i< NUMT; i++) {
    90         -    error = pthread_join(tid[i], NULL);
           89  +    pthread_join(tid[i], NULL);
    91     90       fprintf(stderr, "Thread %d terminated\n", i);
    92     91     }
    93     92   
    94     93     return 0;
    95     94   }

Changes to jni/curl/docs/examples/sampleconv.c.

    86     86       return CURLE_CONV_FAILED;
    87     87     }
    88     88   }
    89     89   
    90     90   int main(void)
    91     91   {
    92     92     CURL *curl;
    93         -  CURLcode res;
    94     93   
    95     94     curl = curl_easy_init();
    96     95     if(curl) {
    97     96       curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
    98     97   
    99     98       /* use platform-specific functions for codeset conversions */
   100     99       curl_easy_setopt(curl, CURLOPT_CONV_FROM_NETWORK_FUNCTION,
   101    100                        my_conv_from_ascii_to_ebcdic);
   102    101       curl_easy_setopt(curl, CURLOPT_CONV_TO_NETWORK_FUNCTION,
   103    102                        my_conv_from_ebcdic_to_ascii);
   104    103       curl_easy_setopt(curl, CURLOPT_CONV_FROM_UTF8_FUNCTION,
   105    104                        my_conv_from_utf8_to_ebcdic);
   106    105   
   107         -    res = curl_easy_perform(curl);
          106  +    curl_easy_perform(curl);
   108    107   
   109    108       /* always cleanup */
   110    109       curl_easy_cleanup(curl);
   111    110     }
   112    111     return 0;
   113    112   }

Changes to jni/curl/docs/examples/smooth-gtk-thread.c.

    64     64     return fwrite(ptr, size, nmemb, stream);
    65     65   }
    66     66   
    67     67   /* https://weather.com/weather/today/l/46214?cc=*&dayf=5&unit=i */
    68     68   void *pull_one_url(void *NaN)
    69     69   {
    70     70     CURL *curl;
    71         -  CURLcode res;
    72     71     gchar *http;
    73     72     FILE *outfile;
    74     73   
    75     74     /* Stop threads from entering unless j is incremented */
    76     75     pthread_mutex_lock(&lock);
    77     76     while(j < num_urls) {
    78     77       printf("j = %d\n", j);
................................................................................
    94     93         /* Write to the file */
    95     94         curl_easy_setopt(curl, CURLOPT_WRITEDATA, outfile);
    96     95         curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_file);
    97     96   
    98     97         j++;  /* critical line */
    99     98         pthread_mutex_unlock(&lock);
   100     99   
   101         -      res = curl_easy_perform(curl);
          100  +      curl_easy_perform(curl);
   102    101   
   103    102         fclose(outfile);
   104    103         printf("fclose\n");
   105    104   
   106    105         curl_easy_cleanup(curl);
   107    106       }
   108    107       g_free(http);
................................................................................
   127    126     return TRUE;
   128    127   }
   129    128   
   130    129   void *create_thread(void *progress_bar)
   131    130   {
   132    131     pthread_t tid[NUMT];
   133    132     int i;
   134         -  int error;
   135    133   
   136    134     /* Make sure I don't create more threads than urls. */
   137    135     for(i = 0; i < NUMT && i < num_urls ; i++) {
   138         -    error = pthread_create(&tid[i],
   139         -                           NULL, /* default attributes please */
   140         -                           pull_one_url,
   141         -                           NULL);
          136  +    int error = pthread_create(&tid[i],
          137  +                               NULL, /* default attributes please */
          138  +                               pull_one_url,
          139  +                               NULL);
   142    140       if(0 != error)
   143    141         fprintf(stderr, "Couldn't run thread number %d, errno %d\n", i, error);
   144    142       else
   145    143         fprintf(stderr, "Thread %d, gets %s\n", i, urls[i]);
   146    144     }
   147    145   
   148    146     /* Wait for all threads to terminate. */
   149    147     for(i = 0; i < NUMT && i < num_urls; i++) {
   150         -    error = pthread_join(tid[i], NULL);
          148  +    pthread_join(tid[i], NULL);
   151    149       fprintf(stderr, "Thread %d terminated\n", i);
   152    150     }
   153    151   
   154    152     /* This stops the pulsing if you have it turned on in the progress bar
   155    153        section */
   156    154     g_source_remove(GPOINTER_TO_INT(g_object_get_data(G_OBJECT(progress_bar),
   157    155                                                       "pulse_id")));

Changes to jni/curl/docs/examples/threaded-shared-conn.c.

   113    113     return NULL;
   114    114   }
   115    115   
   116    116   int main(void)
   117    117   {
   118    118     pthread_t tid[NUM_THREADS];
   119    119     int i;
   120         -  int error;
   121    120     CURLSH *share;
   122    121     struct initurl url[NUM_THREADS];
   123    122   
   124    123     /* Must initialize libcurl before any threads are started */
   125    124     curl_global_init(CURL_GLOBAL_ALL);
   126    125   
   127    126     share = curl_share_init();
................................................................................
   128    127     curl_share_setopt(share, CURLSHOPT_LOCKFUNC, lock_cb);
   129    128     curl_share_setopt(share, CURLSHOPT_UNLOCKFUNC, unlock_cb);
   130    129     curl_share_setopt(share, CURLSHOPT_SHARE, CURL_LOCK_DATA_CONNECT);
   131    130   
   132    131     init_locks();
   133    132   
   134    133     for(i = 0; i< NUM_THREADS; i++) {
          134  +    int error;
   135    135       url[i].url = URL;
   136    136       url[i].share = share;
   137    137       url[i].threadno = i;
   138    138       error = pthread_create(&tid[i], NULL, run_thread, &url[i]);
   139    139       if(0 != error)
   140    140         fprintf(stderr, "Couldn't run thread number %d, errno %d\n", i, error);
   141    141       else
   142    142         fprintf(stderr, "Thread %d, gets %s\n", i, URL);
   143    143     }
   144    144   
   145    145     /* now wait for all threads to terminate */
   146    146     for(i = 0; i< NUM_THREADS; i++) {
   147         -    error = pthread_join(tid[i], NULL);
          147  +    pthread_join(tid[i], NULL);
   148    148       fprintf(stderr, "Thread %d terminated\n", i);
   149    149     }
   150    150   
   151    151     kill_locks();
   152    152   
   153    153     curl_share_cleanup(share);
   154    154     curl_global_cleanup();
   155    155     return 0;
   156    156   }

Changes to jni/curl/docs/examples/threaded-ssl.c.

   131    131     return NULL;
   132    132   }
   133    133   
   134    134   int main(int argc, char **argv)
   135    135   {
   136    136     pthread_t tid[NUMT];
   137    137     int i;
   138         -  int error;
   139    138     (void)argc; /* we don't use any arguments in this example */
   140    139     (void)argv;
   141    140   
   142    141     /* Must initialize libcurl before any threads are started */
   143    142     curl_global_init(CURL_GLOBAL_ALL);
   144    143   
   145    144     init_locks();
   146    145   
   147    146     for(i = 0; i< NUMT; i++) {
   148         -    error = pthread_create(&tid[i],
   149         -                           NULL, /* default attributes please */
   150         -                           pull_one_url,
   151         -                           (void *)urls[i]);
          147  +    int error = pthread_create(&tid[i],
          148  +                               NULL, /* default attributes please */
          149  +                               pull_one_url,
          150  +                               (void *)urls[i]);
   152    151       if(0 != error)
   153    152         fprintf(stderr, "Couldn't run thread number %d, errno %d\n", i, error);
   154    153       else
   155    154         fprintf(stderr, "Thread %d, gets %s\n", i, urls[i]);
   156    155     }
   157    156   
   158    157     /* now wait for all threads to terminate */
   159    158     for(i = 0; i< NUMT; i++) {
   160         -    error = pthread_join(tid[i], NULL);
          159  +    pthread_join(tid[i], NULL);
   161    160       fprintf(stderr, "Thread %d terminated\n", i);
   162    161     }
   163    162   
   164    163     kill_locks();
   165    164   
   166    165     return 0;
   167    166   }

Changes to jni/curl/docs/libcurl/curl_easy_cleanup.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH curl_easy_cleanup 3 "August 09, 2018" "libcurl 7.64.1" "libcurl Manual"
           23  +.TH curl_easy_cleanup 3 "August 09, 2018" "libcurl 7.65.0" "libcurl Manual"
    24     24   
    25     25   .SH NAME
    26     26   curl_easy_cleanup - End a libcurl easy handle
    27     27   .SH SYNOPSIS
    28     28   .B #include <curl/curl.h>
    29     29   
    30     30   .BI "void curl_easy_cleanup(CURL *" handle ");"

Changes to jni/curl/docs/libcurl/curl_easy_duphandle.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_easy_duphandle 3 "March 01, 2019" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_easy_duphandle 3 "March 01, 2019" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_easy_duphandle - Clone a libcurl session handle
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   
    29     29   .BI "CURL *curl_easy_duphandle(CURL *"handle ");"

Changes to jni/curl/docs/libcurl/curl_easy_escape.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH curl_easy_escape 3 "August 12, 2017" "libcurl 7.64.1" "libcurl Manual"
           23  +.TH curl_easy_escape 3 "August 12, 2017" "libcurl 7.65.0" "libcurl Manual"
    24     24   
    25     25   .SH NAME
    26     26   curl_easy_escape - URL encodes the given string
    27     27   .SH SYNOPSIS
    28     28   .B #include <curl/curl.h>
    29     29   .sp
    30     30   .BI "char *curl_easy_escape( CURL *" curl ", const char *" string

Changes to jni/curl/docs/libcurl/curl_easy_getinfo.3.

     1      1   .\" **************************************************************************
     2      2   .\" *                                  _   _ ____  _
     3      3   .\" *  Project                     ___| | | |  _ \| |
     4      4   .\" *                             / __| | | | |_) | |
     5      5   .\" *                            | (__| |_| |  _ <| |___
     6      6   .\" *                             \___|\___/|_| \_\_____|
     7      7   .\" *
     8         -.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
            8  +.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
     9      9   .\" *
    10     10   .\" * This software is licensed as described in the file COPYING, which
    11     11   .\" * you should have received as part of this distribution. The terms
    12     12   .\" * are also available at https://curl.haxx.se/docs/copyright.html.
    13     13   .\" *
    14     14   .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
    15     15   .\" * copies of the Software, and permit persons to whom the Software is
................................................................................
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH curl_easy_getinfo 3 "May 17, 2018" "libcurl 7.64.1" "libcurl Manual"
           23  +.TH curl_easy_getinfo 3 "April 11, 2019" "libcurl 7.65.0" "libcurl Manual"
    24     24   
    25     25   .SH NAME
    26     26   curl_easy_getinfo - extract information from a curl handle
    27     27   .SH SYNOPSIS
    28     28   .B #include <curl/curl.h>
    29     29   
    30     30   .B "CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... );"
................................................................................
   239    239       |--|--|--APPCONNECT
   240    240       |--|--|--|--PRETRANSFER
   241    241       |--|--|--|--|--STARTTRANSFER
   242    242       |--|--|--|--|--|--TOTAL
   243    243       |--|--|--|--|--|--REDIRECT
   244    244   .fi
   245    245   .IP NAMELOOKUP
   246         -\fICURLINFO_NAMELOOKUP_TIME\fP and \fIfICURLINFO_NAMELOOKUP_TIME_T\fP.
          246  +\fICURLINFO_NAMELOOKUP_TIME\fP and \fICURLINFO_NAMELOOKUP_TIME_T\fP.
   247    247   The time it took from the start until the name resolving was completed.
   248    248   .IP CONNECT
   249    249   \fICURLINFO_CONNECT_TIME\fP and \fICURLINFO_CONNECT_TIME_T\fP.
   250    250   The time it took from the start until the connect
   251    251   to the remote host (or proxy) was completed.
   252    252   .IP APPCONNECT
   253    253   \fICURLINFO_APPCONNECT_TIME\fP and \fICURLINFO_APPCONNECT_TIME_T\fP.

Changes to jni/curl/docs/libcurl/curl_easy_init.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_easy_init 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_easy_init 3 "February 03, 2016" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_easy_init - Start a libcurl easy session
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   
    29     29   .BI "CURL *curl_easy_init( );"

Changes to jni/curl/docs/libcurl/curl_easy_pause.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_easy_pause 3 "May 01, 2016" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_easy_pause 3 "May 01, 2016" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_easy_pause - pause and unpause a connection
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   
    29     29   .BI "CURLcode curl_easy_pause(CURL *"handle ", int "bitmask " );"

Changes to jni/curl/docs/libcurl/curl_easy_perform.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_easy_perform 3 "September 23, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_easy_perform 3 "September 23, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_easy_perform - perform a blocking file transfer
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "CURLcode curl_easy_perform(CURL *" easy_handle ");"

Changes to jni/curl/docs/libcurl/curl_easy_recv.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH curl_easy_recv 3 "December 18, 2016" "libcurl 7.64.1" "libcurl Manual"
           23  +.TH curl_easy_recv 3 "December 18, 2016" "libcurl 7.65.0" "libcurl Manual"
    24     24   
    25     25   .SH NAME
    26     26   curl_easy_recv - receives raw data on an "easy" connection
    27     27   .SH SYNOPSIS
    28     28   .B #include <curl/easy.h>
    29     29   .sp
    30     30   .BI "CURLcode curl_easy_recv( CURL *" curl ", void *" buffer ","

Changes to jni/curl/docs/libcurl/curl_easy_reset.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_easy_reset 3 "September 23, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_easy_reset 3 "September 23, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_easy_reset - reset all options of a libcurl session handle
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   
    29     29   .BI "void curl_easy_reset(CURL *"handle ");"

Changes to jni/curl/docs/libcurl/curl_easy_send.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH curl_easy_send 3 "December 18, 2016" "libcurl 7.64.1" "libcurl Manual"
           23  +.TH curl_easy_send 3 "December 18, 2016" "libcurl 7.65.0" "libcurl Manual"
    24     24   
    25     25   .SH NAME
    26     26   curl_easy_send - sends raw data over an "easy" connection
    27     27   .SH SYNOPSIS
    28     28   .B #include <curl/easy.h>
    29     29   .sp
    30     30   .BI "CURLcode curl_easy_send( CURL *" curl ", const void *" buffer ","

Changes to jni/curl/docs/libcurl/curl_easy_setopt.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH curl_easy_setopt 3 "March 03, 2019" "libcurl 7.64.1" "libcurl Manual"
           23  +.TH curl_easy_setopt 3 "April 14, 2019" "libcurl 7.65.0" "libcurl Manual"
    24     24   
    25     25   .SH NAME
    26     26   curl_easy_setopt \- set options for a curl easy handle
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter);
................................................................................
   465    465   Cap the download speed to this. See \fICURLOPT_MAX_RECV_SPEED_LARGE(3)\fP
   466    466   .IP CURLOPT_MAXCONNECTS
   467    467   Maximum number of connections in the connection pool. See \fICURLOPT_MAXCONNECTS(3)\fP
   468    468   .IP CURLOPT_FRESH_CONNECT
   469    469   Use a new connection. \fICURLOPT_FRESH_CONNECT(3)\fP
   470    470   .IP CURLOPT_FORBID_REUSE
   471    471   Prevent subsequent connections from re-using this. See \fICURLOPT_FORBID_REUSE(3)\fP
          472  +.IP CURLOPT_MAXAGE_CONN
          473  +Limit the age of connections for reuse. See \fICURLOPT_MAXAGE_CONN(3)\fP
   472    474   .IP CURLOPT_CONNECTTIMEOUT
   473    475   Timeout for the connection phase. See \fICURLOPT_CONNECTTIMEOUT(3)\fP
   474    476   .IP CURLOPT_CONNECTTIMEOUT_MS
   475    477   Millisecond timeout for the connection phase. See \fICURLOPT_CONNECTTIMEOUT_MS(3)\fP
   476    478   .IP CURLOPT_IPRESOLVE
   477    479   IP version to resolve to. See \fICURLOPT_IPRESOLVE(3)\fP
   478    480   .IP CURLOPT_CONNECT_ONLY

Changes to jni/curl/docs/libcurl/curl_easy_strerror.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_easy_strerror 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_easy_strerror 3 "February 03, 2016" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_easy_strerror - return string describing error code
    26     26   .SH SYNOPSIS
    27     27   #include <curl/curl.h>
    28     28   
    29     29   const char *curl_easy_strerror(CURLcode errornum);

Changes to jni/curl/docs/libcurl/curl_easy_unescape.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH curl_easy_unescape 3 "October 04, 2016" "libcurl 7.64.1" "libcurl Manual"
           23  +.TH curl_easy_unescape 3 "October 04, 2016" "libcurl 7.65.0" "libcurl Manual"
    24     24   
    25     25   .SH NAME
    26     26   curl_easy_unescape - URL decodes the given string
    27     27   .SH SYNOPSIS
    28     28   .B #include <curl/curl.h>
    29     29   .sp
    30     30   .BI "char *curl_easy_unescape( CURL *" curl ", const char *" url

Changes to jni/curl/docs/libcurl/curl_escape.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_escape 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_escape 3 "February 03, 2016" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_escape - URL encodes the given string
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "char *curl_escape( const char *" url ", int "length " );"

Changes to jni/curl/docs/libcurl/curl_formadd.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_formadd 3 "December 11, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_formadd 3 "December 11, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_formadd - add a section to a multipart/formdata HTTP POST
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "CURLFORMcode curl_formadd(struct curl_httppost ** " firstitem,

Changes to jni/curl/docs/libcurl/curl_formfree.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_formfree 3 "August 09, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_formfree 3 "August 09, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_formfree - free a previously build multipart/formdata HTTP POST chain
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "void curl_formfree(struct curl_httppost *" form);

Changes to jni/curl/docs/libcurl/curl_formget.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_formget 3 "September 02, 2017" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_formget 3 "September 02, 2017" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_formget - serialize a previously built multipart/formdata HTTP POST chain
    26     26   .SH SYNOPSIS
    27     27   .nf
    28     28   .B #include <curl/curl.h>
    29     29   

Changes to jni/curl/docs/libcurl/curl_free.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_free 3 "August 09, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_free 3 "August 09, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_free - reclaim memory that has been obtained through a libcurl call
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "void curl_free( char *" ptr " );"

Changes to jni/curl/docs/libcurl/curl_getdate.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_getdate 3 "January 18, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_getdate 3 "January 18, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_getdate - Convert a date string to number of seconds
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "time_t curl_getdate(char *" datestring ", time_t *"now " );"

Changes to jni/curl/docs/libcurl/curl_getenv.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_getenv 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_getenv 3 "February 03, 2016" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_getenv - return value for environment name
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "char *curl_getenv(const char *" name ");"

Changes to jni/curl/docs/libcurl/curl_global_cleanup.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_global_cleanup 3 "September 20, 2016" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_global_cleanup 3 "September 20, 2016" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_global_cleanup - global libcurl cleanup
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "void curl_global_cleanup(void);"

Changes to jni/curl/docs/libcurl/curl_global_init.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_global_init 3 "April 17, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_global_init 3 "April 17, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_global_init - Global libcurl initialisation
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "CURLcode curl_global_init(long " flags ");"

Changes to jni/curl/docs/libcurl/curl_global_init_mem.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_global_init_mem 3 "September 23, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_global_init_mem 3 "September 23, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_global_init_mem - Global libcurl initialisation with memory callbacks
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .nf
    29     29   .B "CURLcode curl_global_init_mem(long " flags,

Changes to jni/curl/docs/libcurl/curl_global_sslset.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_global_sslset 3 "October 30, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_global_sslset 3 "October 30, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_global_sslset - Select SSL backend to use with libcurl
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .nf
    29     29   

Changes to jni/curl/docs/libcurl/curl_mime_addpart.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_mime_addpart 3 "September 22, 2017" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_mime_addpart 3 "September 22, 2017" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_mime_addpart - append a new empty part to a mime structure
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "curl_mimepart * curl_mime_addpart(curl_mime * " mime ");"

Changes to jni/curl/docs/libcurl/curl_mime_data.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_mime_data 3 "September 22, 2017" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_mime_data 3 "September 22, 2017" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_mime_data - set a mime part's body data from memory
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "CURLcode curl_mime_data(curl_mimepart * " part ", const char * " data

Changes to jni/curl/docs/libcurl/curl_mime_data_cb.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_mime_data_cb 3 "April 17, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_mime_data_cb 3 "April 17, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_mime_data_cb - set a callback-based data source for a mime part's body
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   size_t readfunc(char *buffer, size_t size, size_t nitems, void *arg);

Changes to jni/curl/docs/libcurl/curl_mime_encoder.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_mime_encoder 3 "September 05, 2017" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_mime_encoder 3 "September 05, 2017" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_mime_encoder - set a mime part's encoder and content transfer encoding
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "CURLcode curl_mime_encoder(curl_mimepart * " part ,

Changes to jni/curl/docs/libcurl/curl_mime_filedata.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_mime_filedata 3 "April 17, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_mime_filedata 3 "April 17, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_mime_filedata - set a mime part's body data from a file contents
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "CURLcode curl_mime_filedata(curl_mimepart * " part ,

Changes to jni/curl/docs/libcurl/curl_mime_filename.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_mime_filename 3 "September 22, 2017" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_mime_filename 3 "September 22, 2017" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_mime_filename - set a mime part's remote file name
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "CURLcode curl_mime_filename(curl_mimepart * " part ,

Changes to jni/curl/docs/libcurl/curl_mime_free.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_mime_free 3 "August 09, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_mime_free 3 "August 09, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_mime_free - free a previously built mime structure
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "void curl_mime_free(curl_mime *" mime);

Changes to jni/curl/docs/libcurl/curl_mime_headers.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_mime_headers 3 "September 22, 2017" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_mime_headers 3 "September 22, 2017" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_mime_headers - set a mime part's custom headers
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "CURLcode curl_mime_headers(curl_mimepart * " part ,

Changes to jni/curl/docs/libcurl/curl_mime_init.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_mime_init 3 "September 22, 2017" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_mime_init 3 "September 22, 2017" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_mime_init - create a mime handle
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "curl_mime * curl_mime_init(CURL * " easy_handle ");"

Changes to jni/curl/docs/libcurl/curl_mime_name.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_mime_name 3 "September 22, 2017" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_mime_name 3 "September 22, 2017" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_mime_name - set a mime part's name
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "CURLcode curl_mime_name(curl_mimepart * " part ", const char * " name ");"

Changes to jni/curl/docs/libcurl/curl_mime_subparts.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_mime_subparts 3 "September 05, 2017" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_mime_subparts 3 "September 05, 2017" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_mime_subparts - set subparts of a multipart mime part
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "CURLcode curl_mime_subparts(curl_mimepart * " part ,

Changes to jni/curl/docs/libcurl/curl_mime_type.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_mime_type 3 "April 17, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_mime_type 3 "April 17, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_mime_type - set a mime part's content type
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "CURLcode curl_mime_type(curl_mimepart * " part ,

Changes to jni/curl/docs/libcurl/curl_mprintf.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_printf 3 "April 01, 2016" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_printf 3 "April 01, 2016" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_maprintf, curl_mfprintf, curl_mprintf, curl_msnprintf, curl_msprintf
    26     26   curl_mvaprintf, curl_mvfprintf, curl_mvprintf, curl_mvsnprintf,
    27     27   curl_mvsprintf - formatted output conversion
    28     28   .SH SYNOPSIS
    29     29   .B #include <curl/mprintf.h>

Changes to jni/curl/docs/libcurl/curl_multi_add_handle.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_multi_add_handle 3 "June 30, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_multi_add_handle 3 "June 30, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_multi_add_handle - add an easy handle to a multi session
    26     26   .SH SYNOPSIS
    27     27   #include <curl/curl.h>
    28     28   
    29     29   CURLMcode curl_multi_add_handle(CURLM *multi_handle, CURL *easy_handle);

Changes to jni/curl/docs/libcurl/curl_multi_assign.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_multi_assign 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_multi_assign 3 "February 03, 2016" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_multi_assign \- set data to associate with an internal socket
    26     26   .SH SYNOPSIS
    27     27   #include <curl/curl.h>
    28     28   
    29     29   CURLMcode curl_multi_assign(CURLM *multi_handle, curl_socket_t sockfd,

Changes to jni/curl/docs/libcurl/curl_multi_cleanup.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_multi_cleanup 3 "August 09, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_multi_cleanup 3 "August 09, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_multi_cleanup - close down a multi session
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "CURLMcode curl_multi_cleanup( CURLM *multi_handle );"

Changes to jni/curl/docs/libcurl/curl_multi_fdset.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_multi_fdset 3 "November 09, 2017" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_multi_fdset 3 "November 09, 2017" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_multi_fdset - extracts file descriptor information from a multi handle
    26     26   .SH SYNOPSIS
    27     27   .nf
    28     28   #include <curl/curl.h>
    29     29   

Changes to jni/curl/docs/libcurl/curl_multi_info_read.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_multi_info_read 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_multi_info_read 3 "February 03, 2016" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_multi_info_read - read multi stack informationals
    26     26   .SH SYNOPSIS
    27     27   #include <curl/curl.h>
    28     28   
    29     29   CURLMsg *curl_multi_info_read( CURLM *multi_handle,

Changes to jni/curl/docs/libcurl/curl_multi_init.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_multi_init 3 "September 23, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_multi_init 3 "September 23, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_multi_init - create a multi handle
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "CURLM *curl_multi_init( );"

Changes to jni/curl/docs/libcurl/curl_multi_perform.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_multi_perform 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_multi_perform 3 "February 03, 2016" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_multi_perform - reads/writes available data from each easy handle
    26     26   .SH SYNOPSIS
    27     27   #include <curl/curl.h>
    28     28   
    29     29   CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles);

Changes to jni/curl/docs/libcurl/curl_multi_remove_handle.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_multi_remove_handle 3 "February 19, 2019" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_multi_remove_handle 3 "February 19, 2019" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_multi_remove_handle - remove an easy handle from a multi session
    26     26   .SH SYNOPSIS
    27     27   #include <curl/curl.h>
    28     28   
    29     29   CURLMcode curl_multi_remove_handle(CURLM *multi_handle, CURL *easy_handle);

Changes to jni/curl/docs/libcurl/curl_multi_setopt.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_multi_setopt 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_multi_setopt 3 "February 03, 2016" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_multi_setopt \- set options for a curl multi handle
    26     26   .SH SYNOPSIS
    27     27   #include <curl/curl.h>
    28     28   
    29     29   CURLMcode curl_multi_setopt(CURLM * multi_handle, CURLMoption option, param);

Changes to jni/curl/docs/libcurl/curl_multi_socket.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_multi_socket 3 "June 30, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_multi_socket 3 "June 30, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_multi_socket \- reads/writes available data
    26     26   .SH SYNOPSIS
    27     27   .nf
    28     28   #include <curl/curl.h>
    29     29   CURLMcode curl_multi_socket(CURLM * multi_handle, curl_socket_t sockfd,

Changes to jni/curl/docs/libcurl/curl_multi_socket_action.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_multi_socket_action 3 "June 30, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_multi_socket_action 3 "June 30, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_multi_socket_action \- reads/writes available data given an action
    26     26   .SH SYNOPSIS
    27     27   .nf
    28     28   #include <curl/curl.h>
    29     29   

Changes to jni/curl/docs/libcurl/curl_multi_strerror.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_multi_strerror 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_multi_strerror 3 "February 03, 2016" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_multi_strerror - return string describing error code
    26     26   .SH SYNOPSIS
    27     27   .nf
    28     28   .B #include <curl/curl.h>
    29     29   .BI "const char *curl_multi_strerror(CURLMcode " errornum ");"

Changes to jni/curl/docs/libcurl/curl_multi_timeout.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_multi_timeout 3 "September 23, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_multi_timeout 3 "September 23, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_multi_timeout \- how long to wait for action before proceeding
    26     26   .SH SYNOPSIS
    27     27   #include <curl/curl.h>
    28     28   
    29     29   CURLMcode curl_multi_timeout(CURLM *multi_handle, long *timeout);

Changes to jni/curl/docs/libcurl/curl_multi_wait.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_multi_wait 3 "March 09, 2016" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_multi_wait 3 "March 09, 2016" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_multi_wait - polls on all easy handles in a multi handle
    26     26   .SH SYNOPSIS
    27     27   .nf
    28     28   #include <curl/curl.h>
    29     29   

Changes to jni/curl/docs/libcurl/curl_share_cleanup.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_share_cleanup 3 "August 09, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_share_cleanup 3 "August 09, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_share_cleanup - Clean up a shared object
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "CURLSHcode curl_share_cleanup(CURLSH *" share_handle ");"

Changes to jni/curl/docs/libcurl/curl_share_init.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_share_init 3 "September 23, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_share_init 3 "September 23, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_share_init - Create a shared object
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "CURLSH *curl_share_init( );"

Changes to jni/curl/docs/libcurl/curl_share_setopt.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_share_setopt 3 "May 28, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_share_setopt 3 "May 28, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_share_setopt - Set options for a shared object
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   CURLSHcode curl_share_setopt(CURLSH *share, CURLSHoption option, parameter);

Changes to jni/curl/docs/libcurl/curl_share_strerror.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_share_strerror 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_share_strerror 3 "February 03, 2016" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_share_strerror - return string describing error code
    26     26   .SH SYNOPSIS
    27     27   .nf
    28     28   .B #include <curl/curl.h>
    29     29   .BI "const char *curl_share_strerror(CURLSHcode " errornum ");"

Changes to jni/curl/docs/libcurl/curl_slist_append.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_slist_append 3 "January 02, 2019" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_slist_append 3 "January 02, 2019" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_slist_append - add a string to an slist
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "struct curl_slist *curl_slist_append(struct curl_slist *" list,

Changes to jni/curl/docs/libcurl/curl_slist_free_all.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_slist_free_all 3 "September 23, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_slist_free_all 3 "September 23, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_slist_free_all - free an entire curl_slist list
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "void curl_slist_free_all(struct curl_slist *" list);

Changes to jni/curl/docs/libcurl/curl_strequal.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_strequal 3 "June 29, 2017" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_strequal 3 "June 29, 2017" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_strequal, curl_strnequal - case insensitive string comparisons
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "int curl_strequal(char *" str1 ", char *" str2 ");"

Changes to jni/curl/docs/libcurl/curl_unescape.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_unescape 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_unescape 3 "February 03, 2016" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_unescape - URL decodes the given string
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "char *curl_unescape( const char *" url ", int "length " );"

Changes to jni/curl/docs/libcurl/curl_url.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_url 3 "March 22, 2019" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_url 3 "March 22, 2019" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_url - returns a new CURLU handle
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   
    29     29   CURLU *curl_url();

Changes to jni/curl/docs/libcurl/curl_url_cleanup.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_url_cleanup 3 "September 08, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_url_cleanup 3 "September 08, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_url_cleanup - free a CURLU handle
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   
    29     29   void curl_url_cleanup(CURLU *handle);

Changes to jni/curl/docs/libcurl/curl_url_dup.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_url_dup 3 "September 08, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_url_dup 3 "September 08, 2018" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_url_dup - duplicate a CURLU handle
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   
    29     29   CURLU *curl_url_dup(CURLU *inhandle);

Changes to jni/curl/docs/libcurl/curl_url_get.3.

     1      1   .\" **************************************************************************
     2      2   .\" *                                  _   _ ____  _
     3      3   .\" *  Project                     ___| | | |  _ \| |
     4      4   .\" *                             / __| | | | |_) | |
     5      5   .\" *                            | (__| |_| |  _ <| |___
     6      6   .\" *                             \___|\___/|_| \_\_____|
     7      7   .\" *
     8         -.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
            8  +.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
     9      9   .\" *
    10     10   .\" * This software is licensed as described in the file COPYING, which
    11     11   .\" * you should have received as part of this distribution. The terms
    12     12   .\" * are also available at https://curl.haxx.se/docs/copyright.html.
    13     13   .\" *
    14     14   .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_url_get 3 "October 08, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_url_get 3 "May 03, 2019" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_url_get - extract a part from a URL
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   
    29     29   .nf
................................................................................
    73     73   normalized and possibly cleaned up version of what was previously parsed.
    74     74   .IP CURLUPART_SCHEME
    75     75   Scheme cannot be URL decoded on get.
    76     76   .IP CURLUPART_USER
    77     77   .IP CURLUPART_PASSWORD
    78     78   .IP CURLUPART_OPTIONS
    79     79   .IP CURLUPART_HOST
           80  +If the host part is an IPv6 numeric address, the zoneid will not be part of
           81  +the extracted host but is provided separately in \fICURLUPART_ZONEID\fP.
           82  +.IP CURLUPART_ZONEID
           83  +If the host name is a numeric IPv6 address, this field might also be set.
    80     84   .IP CURLUPART_PORT
    81     85   Port cannot be URL decoded on get.
    82     86   .IP CURLUPART_PATH
    83     87   .IP CURLUPART_QUERY
    84     88   The query part will also get pluses converted to space when asked to URL
    85     89   decode on get with the CURLU_URLDECODE bit.
    86     90   .IP CURLUPART_FRAGMENT
................................................................................
   101    105         printf("the scheme is %s\\n", scheme);
   102    106         curl_free(scheme);
   103    107       }
   104    108       curl_url_cleanup(url);
   105    109     }
   106    110   .fi
   107    111   .SH AVAILABILITY
   108         -Added in curl 7.62.0
          112  +Added in curl 7.62.0. CURLUPART_ZONEID was added in 7.65.0.
   109    113   .SH "SEE ALSO"
   110    114   .BR curl_url_cleanup "(3), " curl_url "(3), " curl_url_set "(3), "
   111    115   .BR curl_url_dup "(3), "

Changes to jni/curl/docs/libcurl/curl_url_set.3.

     1      1   .\" **************************************************************************
     2      2   .\" *                                  _   _ ____  _
     3      3   .\" *  Project                     ___| | | |  _ \| |
     4      4   .\" *                             / __| | | | |_) | |
     5      5   .\" *                            | (__| |_| |  _ <| |___
     6      6   .\" *                             \___|\___/|_| \_\_____|
     7      7   .\" *
     8         -.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
            8  +.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
     9      9   .\" *
    10     10   .\" * This software is licensed as described in the file COPYING, which
    11     11   .\" * you should have received as part of this distribution. The terms
    12     12   .\" * are also available at https://curl.haxx.se/docs/copyright.html.
    13     13   .\" *
    14     14   .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_url_set 3 "November 06, 2018" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_url_set 3 "May 03, 2019" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_url_set - set a URL part
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   
    29     29   CURLUcode curl_url_set(CURLU *url,
................................................................................
    59     59   Scheme cannot be URL decoded on set.
    60     60   .IP CURLUPART_USER
    61     61   .IP CURLUPART_PASSWORD
    62     62   .IP CURLUPART_OPTIONS
    63     63   .IP CURLUPART_HOST
    64     64   The host name can use IDNA. The string must then be encoded as your locale
    65     65   says or UTF-8 (when winidn is used).
           66  +.IP CURLUPART_ZONEID
           67  +If the host name is a numeric IPv6 address, this field can also be set.
    66     68   .IP CURLUPART_PORT
    67         -Port cannot be URL encoded on set.
           69  +Port cannot be URL encoded on set. The given port number is provided as a
           70  +string and the decimal number must be between 1 and 65535. Anything else will
           71  +return an error.
    68     72   .IP CURLUPART_PATH
    69     73   If a path is set in the URL without a leading slash, a slash will be inserted
    70     74   automatically when this URL is read from the handle.
    71     75   .IP CURLUPART_QUERY
    72     76   The query part will also get spaces converted to pluses when asked to URL
    73     77   encode on set with the CURLU_URLENCODE bit.
    74     78   
................................................................................
   122    126       char *scheme;
   123    127       /* change it to an FTP URL */
   124    128       rc = curl_url_set(url, CURLUPART_SCHEME, "ftp", 0);
   125    129     }
   126    130     curl_url_cleanup(url);
   127    131   .fi
   128    132   .SH AVAILABILITY
   129         -Added in curl 7.62.0
          133  +Added in curl 7.62.0. CURLUPART_ZONEID was added in 7.65.0.
   130    134   .SH "SEE ALSO"
   131    135   .BR curl_url_cleanup "(3), " curl_url "(3), " curl_url_get "(3), "
   132    136   .BR curl_url_dup "(3), "

Changes to jni/curl/docs/libcurl/curl_version.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH curl_version 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual"
           22  +.TH curl_version 3 "February 03, 2016" "libcurl 7.65.0" "libcurl Manual"
    23     23   
    24     24   .SH NAME
    25     25   curl_version - returns the libcurl version string
    26     26   .SH SYNOPSIS
    27     27   .B #include <curl/curl.h>
    28     28   .sp
    29     29   .BI "char *curl_version( );"

Changes to jni/curl/docs/libcurl/curl_version_info.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH curl_version_info 3 "January 29, 2019" "libcurl 7.64.1" "libcurl Manual"
           23  +.TH curl_version_info 3 "January 29, 2019" "libcurl 7.65.0" "libcurl Manual"
    24     24   
    25     25   .SH NAME
    26     26   curl_version_info - returns run-time libcurl version info
    27     27   .SH SYNOPSIS
    28     28   .B #include <curl/curl.h>
    29     29   .sp
    30     30   .BI "curl_version_info_data *curl_version_info( CURLversion "age ");"

Changes to jni/curl/docs/libcurl/libcurl-easy.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH libcurl 3 "February 03, 2016" "libcurl 7.64.1" "libcurl easy interface"
           22  +.TH libcurl 3 "February 03, 2016" "libcurl 7.65.0" "libcurl easy interface"
    23     23   
    24     24   .SH NAME
    25     25   libcurl-easy \- easy interface overview
    26     26   .SH DESCRIPTION
    27     27   When using libcurl's "easy" interface you init your session and get a handle
    28     28   (often referred to as an "easy handle"), which you use as input to the easy
    29     29   interface functions you use. Use \fIcurl_easy_init(3)\fP to get the handle.

Changes to jni/curl/docs/libcurl/libcurl-env.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH libcurl-env 3 "April 17, 2018" "libcurl 7.64.1" "libcurl environment variables"
           22  +.TH libcurl-env 3 "April 17, 2018" "libcurl 7.65.0" "libcurl environment variables"
    23     23   
    24     24   .SH NAME
    25     25   libcurl-env \- environment variables libcurl understands
    26     26   .SH DESCRIPTION
    27     27   libcurl reads and understands a set of environment variables that if set will
    28     28   control and change behaviors. This is the full list of variables to set and
    29     29   description of what they do. Also note that curl, the command line tool,

Changes to jni/curl/docs/libcurl/libcurl-errors.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH libcurl-errors 3 "November 19, 2018" "libcurl 7.64.1" "libcurl errors"
           23  +.TH libcurl-errors 3 "November 19, 2018" "libcurl 7.65.0" "libcurl errors"
    24     24   
    25     25   .SH NAME
    26     26   libcurl-errors \- error codes in libcurl
    27     27   .SH DESCRIPTION
    28     28   This man page includes most, if not all, available error codes in libcurl.
    29     29   Why they occur and possibly what you can do to fix the problem are also included.
    30     30   .SH "CURLcode"

Changes to jni/curl/docs/libcurl/libcurl-multi.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH libcurl-multi 3 "June 30, 2018" "libcurl 7.64.1" "libcurl multi interface"
           23  +.TH libcurl-multi 3 "June 30, 2018" "libcurl 7.65.0" "libcurl multi interface"
    24     24   
    25     25   .SH NAME
    26     26   libcurl-multi \- how to use the multi interface
    27     27   .SH DESCRIPTION
    28     28   This is an overview on how to use the libcurl multi interface in your C
    29     29   programs. There are specific man pages for each function mentioned in
    30     30   here. There's also the \fIlibcurl-tutorial(3)\fP man page for a complete

Changes to jni/curl/docs/libcurl/libcurl-security.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH libcurl-security 3 "September 23, 2018" "libcurl 7.64.1" "libcurl security"
           23  +.TH libcurl-security 3 "September 23, 2018" "libcurl 7.65.0" "libcurl security"
    24     24   
    25     25   .SH NAME
    26     26   libcurl-security \- security considerations when using libcurl
    27     27   .SH "Security"
    28     28   The libcurl project takes security seriously.  The library is written with
    29     29   caution and precautions are taken to mitigate many kinds of risks encountered
    30     30   while operating with potentially malicious servers on the Internet. It is a

Changes to jni/curl/docs/libcurl/libcurl-share.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH libcurl-share 3 "November 27, 2017" "libcurl 7.64.1" "libcurl share interface"
           22  +.TH libcurl-share 3 "November 27, 2017" "libcurl 7.65.0" "libcurl share interface"
    23     23   
    24     24   .SH NAME
    25     25   libcurl-share \- how to use the share interface
    26     26   .SH DESCRIPTION
    27     27   This is an overview on how to use the libcurl share interface in your C
    28     28   programs. There are specific man pages for each function mentioned in
    29     29   here.

Changes to jni/curl/docs/libcurl/libcurl-symbols.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH libcurl-symbols 3 "mar 27, 2019" "libcurl 7.41.0" "libcurl symbols"
           22  +.TH libcurl-symbols 3 "maj 22, 2019" "libcurl 7.41.0" "libcurl symbols"
    23     23   .SH NAME
    24     24   libcurl-symbols \- libcurl symbol version information
    25     25   .SH "libcurl symbols"
    26     26   This man page details version information for public symbols provided in the
    27     27   libcurl header files. This lists the first version in which the symbol was
    28     28   introduced and for some symbols two additional information pieces:
    29     29   
................................................................................
  1000   1000   Introduced in 7.1
  1001   1001   .IP CURLOPT_MAIL_AUTH
  1002   1002   Introduced in 7.25.0
  1003   1003   .IP CURLOPT_MAIL_FROM
  1004   1004   Introduced in 7.20.0
  1005   1005   .IP CURLOPT_MAIL_RCPT
  1006   1006   Introduced in 7.20.0
         1007  +.IP CURLOPT_MAXAGE_CONN
         1008  +Introduced in 7.65.0
  1007   1009   .IP CURLOPT_MAXCONNECTS
  1008   1010   Introduced in 7.7
  1009   1011   .IP CURLOPT_MAXFILESIZE
  1010   1012   Introduced in 7.10.8
  1011   1013   .IP CURLOPT_MAXFILESIZE_LARGE
  1012   1014   Introduced in 7.11.0
  1013   1015   .IP CURLOPT_MAXREDIRS
................................................................................
  1617   1619   Introduced in 7.62.0
  1618   1620   .IP CURLUPART_SCHEME
  1619   1621   Introduced in 7.62.0
  1620   1622   .IP CURLUPART_URL
  1621   1623   Introduced in 7.62.0
  1622   1624   .IP CURLUPART_USER
  1623   1625   Introduced in 7.62.0
         1626  +.IP CURLUPART_ZONEID
         1627  +Introduced in 7.65.0
  1624   1628   .IP CURLUSESSL_ALL
  1625   1629   Introduced in 7.17.0
  1626   1630   .IP CURLUSESSL_CONTROL
  1627   1631   Introduced in 7.17.0
  1628   1632   .IP CURLUSESSL_NONE
  1629   1633   Introduced in 7.17.0
  1630   1634   .IP CURLUSESSL_TRY

Changes to jni/curl/docs/libcurl/libcurl-thread.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH libcurl-thread 3 "October 30, 2018" "libcurl 7.64.1" "libcurl thread safety"
           23  +.TH libcurl-thread 3 "October 30, 2018" "libcurl 7.65.0" "libcurl thread safety"
    24     24   
    25     25   .SH NAME
    26     26   libcurl-thread \- libcurl thread safety
    27     27   .SH "Multi-threading with libcurl"
    28     28   libcurl is thread safe but has no internal thread synchronization. You may have
    29     29   to provide your own locking should you meet any of the thread safety exceptions
    30     30   below.

Changes to jni/curl/docs/libcurl/libcurl-tutorial.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH libcurl-tutorial 3 "September 23, 2018" "libcurl 7.64.1" "libcurl programming"
           23  +.TH libcurl-tutorial 3 "September 23, 2018" "libcurl 7.65.0" "libcurl programming"
    24     24   
    25     25   .SH NAME
    26     26   libcurl-tutorial \- libcurl programming tutorial
    27     27   .SH "Objective"
    28     28   This document attempts to describe the general principles and some basic
    29     29   approaches to consider when programming with libcurl. The text will focus
    30     30   mainly on the C interface but might apply fairly well on other interfaces as

Changes to jni/curl/docs/libcurl/libcurl-url.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH libcurl 3 "September 10, 2018" "libcurl 7.64.1" "libcurl url interface"
           22  +.TH libcurl 3 "September 10, 2018" "libcurl 7.65.0" "libcurl url interface"
    23     23   
    24     24   .SH NAME
    25     25   libcurl-url \- URL interface overview
    26     26   .SH DESCRIPTION
    27     27   The URL interface provides a set of functions for parsing and generating URLs.
    28     28   .SH INCLUDE
    29     29   You still only include <curl/curl.h> in your code. Note that the URL API was

Changes to jni/curl/docs/libcurl/libcurl.3.

    15     15   .\" * copies of the Software, and permit persons to whom the Software is
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22         -.TH libcurl 3 "July 15, 2017" "libcurl 7.64.1" "libcurl overview"
           22  +.TH libcurl 3 "July 15, 2017" "libcurl 7.65.0" "libcurl overview"
    23     23   
    24     24   .SH NAME
    25     25   libcurl \- client-side URL transfers
    26     26   .SH DESCRIPTION
    27     27   This is a short overview on how to use libcurl in your C programs. There are
    28     28   specific man pages for each function mentioned in here. There are also the
    29     29   \fIlibcurl-easy(3)\fP man page, the \fIlibcurl-multi(3)\fP man page, the

jni/curl/docs/libcurl/mksymbolsmanpage.pl became executable.


Changes to jni/curl/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_ACTIVESOCKET 3 "May 06, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_ACTIVESOCKET 3 "May 06, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_ACTIVESOCKET \- get the active socket
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_ACTIVESOCKET,

Changes to jni/curl/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_APPCONNECT_TIME 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_APPCONNECT_TIME 3 "May 17, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_APPCONNECT_TIME \- get the time until the SSL/SSH handshake is completed
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_APPCONNECT_TIME, double *timep);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME_T.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_APPCONNECT_TIME_T 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_APPCONNECT_TIME_T 3 "May 17, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_APPCONNECT_TIME_T \- get the time until the SSL/SSH handshake is completed
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_APPCONNECT_TIME_T, curl_off_t *timep);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_CERTINFO.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_CERTINFO 3 "November 07, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_CERTINFO 3 "November 07, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_CERTINFO \- get the TLS certificate chain
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CERTINFO,

Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_CONDITION_UNMET 3 "February 23, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_CONDITION_UNMET 3 "February 23, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_CONDITION_UNMET \- get info on unmet time conditional
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONDITION_UNMET, long *unmet);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONNECT_TIME.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_CONNECT_TIME 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_CONNECT_TIME 3 "May 17, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_CONNECT_TIME \- get the time until connect
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONNECT_TIME, double *timep);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONNECT_TIME_T.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_CONNECT_TIME_T 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_CONNECT_TIME_T 3 "May 17, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_CONNECT_TIME_T \- get the time until connect
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONNECT_TIME_T, curl_off_t *timep);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD 3 "June 15, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD 3 "June 15, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_CONTENT_LENGTH_DOWNLOAD \- get content-length of download
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD,

Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_CONTENT_LENGTH_DOWNLOAD_T \- get content-length of download
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T,

Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_CONTENT_LENGTH_UPLOAD 3 "June 15, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_CONTENT_LENGTH_UPLOAD 3 "June 15, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_CONTENT_LENGTH_UPLOAD \- get the specified size of the upload
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_UPLOAD,

Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_CONTENT_LENGTH_UPLOAD_T 3 "March 31, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_CONTENT_LENGTH_UPLOAD_T 3 "March 31, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_CONTENT_LENGTH_UPLOAD_T \- get the specified size of the upload
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_UPLOAD_T,

Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_CONTENT_TYPE 3 "May 06, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_CONTENT_TYPE 3 "May 06, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_CONTENT_TYPE \- get Content-Type
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_TYPE, char **ct);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_COOKIELIST.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_COOKIELIST 3 "March 20, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_COOKIELIST 3 "March 20, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_COOKIELIST \- get all known cookies
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_COOKIELIST,

Changes to jni/curl/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_EFFECTIVE_URL 3 "May 04, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_EFFECTIVE_URL 3 "May 04, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_EFFECTIVE_URL \- get the last used URL
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_EFFECTIVE_URL, char **urlp);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_FILETIME.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_FILETIME \- get the remote time of the retrieved document
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_FILETIME, long *timep);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_FILETIME_T.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_FILETIME_T \- get the remote time of the retrieved document
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_FILETIME_T, curl_off_t *timep);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_FTP_ENTRY_PATH 3 "May 06, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_FTP_ENTRY_PATH 3 "May 06, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_FTP_ENTRY_PATH \- get entry path in FTP server
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_FTP_ENTRY_PATH, char **path);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_HEADER_SIZE.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_HEADER_SIZE 3 "May 06, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_HEADER_SIZE 3 "May 06, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_HEADER_SIZE \- get size of retrieved headers
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HEADER_SIZE, long *sizep);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_HTTPAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_HTTPAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_HTTPAUTH_AVAIL \- get available HTTP authentication methods
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTPAUTH_AVAIL, long *authp);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_HTTP_CONNECTCODE 3 "May 06, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_HTTP_CONNECTCODE 3 "May 06, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_HTTP_CONNECTCODE \- get the CONNECT response code
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTP_CONNECTCODE, long *p);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_HTTP_VERSION.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_HTTP_VERSION 3 "May 11, 2016" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_HTTP_VERSION 3 "May 11, 2016" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_HTTP_VERSION \- get the http version used in the connection
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTP_VERSION, long *p);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_LASTSOCKET.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_LASTSOCKET 3 "May 06, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_LASTSOCKET 3 "May 06, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_LASTSOCKET \- get the last socket used
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LASTSOCKET, long *socket);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_LOCAL_IP.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_LOCAL_IP 3 "May 05, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_LOCAL_IP 3 "May 05, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_LOCAL_IP \- get local IP address of last connection
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LOCAL_IP, char **ip);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_LOCAL_PORT.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_LOCAL_PORT 3 "March 16, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_LOCAL_PORT 3 "March 16, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_LOCAL_PORT \- get the latest local port number
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LOCAL_PORT, long *portp);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_NAMELOOKUP_TIME 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_NAMELOOKUP_TIME 3 "May 17, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_NAMELOOKUP_TIME \- get the name lookup time
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_NAMELOOKUP_TIME, double *timep);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME_T.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_NAMELOOKUP_TIME_T 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_NAMELOOKUP_TIME_T 3 "May 17, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_NAMELOOKUP_TIME_T \- get the name lookup time in microseconds
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_NAMELOOKUP_TIME_T, curl_off_t *timep);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_NUM_CONNECTS 3 "May 06, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_NUM_CONNECTS 3 "May 06, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_NUM_CONNECTS \- get number of created connections
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_NUM_CONNECTS, long *nump);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_OS_ERRNO.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_OS_ERRNO 3 "November 07, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_OS_ERRNO 3 "November 07, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_OS_ERRNO \- get errno number from last connect failure
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_OS_ERRNO, long *errnop);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_PRETRANSFER_TIME 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_PRETRANSFER_TIME 3 "May 17, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_PRETRANSFER_TIME \- get the time until the file transfer start
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRETRANSFER_TIME, double *timep);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME_T.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_PRETRANSFER_TIME_T 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_PRETRANSFER_TIME_T 3 "May 17, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_PRETRANSFER_TIME_T \- get the time until the file transfer start
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRETRANSFER_TIME_T, curl_off_t *timep);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRIMARY_IP.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_PRIMARY_IP 3 "March 22, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_PRIMARY_IP 3 "March 22, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_PRIMARY_IP \- get IP address of last connection
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIMARY_IP, char **ip);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_PRIMARY_PORT 3 "May 06, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_PRIMARY_PORT 3 "May 06, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_PRIMARY_PORT \- get the latest destination port number
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIMARY_PORT, long *portp);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRIVATE.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_PRIVATE 3 "May 05, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_PRIVATE 3 "May 05, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_PRIVATE \- get the private pointer
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIVATE, char **private);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_PROTOCOL.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_PROTOCOL 3 "April 27, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_PROTOCOL 3 "April 27, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_PROTOCOL \- get the protocol used in the connection
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROTOCOL, long *p);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_PROXYAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_PROXYAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_PROXYAUTH_AVAIL \- get available HTTP proxy authentication methods
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROXYAUTH_AVAIL, long *authp);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_PROXY_SSL_VERIFYRESULT 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_PROXY_SSL_VERIFYRESULT 3 "May 31, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_PROXY_SSL_VERIFYRESULT \- get the result of the proxy certificate verification
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROXY_SSL_VERIFYRESULT, long *result);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_REDIRECT_COUNT 3 "May 05, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_REDIRECT_COUNT 3 "May 05, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_REDIRECT_COUNT \- get the number of redirects
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_COUNT, long *countp);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_REDIRECT_TIME 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_REDIRECT_TIME 3 "May 17, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_REDIRECT_TIME \- get the time for all redirection steps
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_TIME, double *timep);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_REDIRECT_TIME_T.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_REDIRECT_TIME_T 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_REDIRECT_TIME_T 3 "May 17, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_REDIRECT_TIME_T \- get the time for all redirection steps
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_TIME_T, curl_off_t *timep);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_REDIRECT_URL.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_REDIRECT_URL 3 "June 24, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_REDIRECT_URL 3 "June 24, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_REDIRECT_URL \- get the URL a redirect would go to
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_URL, char **urlp);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_REQUEST_SIZE 3 "May 06, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_REQUEST_SIZE 3 "May 06, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_REQUEST_SIZE \- get size of sent request
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REQUEST_SIZE, long *sizep);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_RESPONSE_CODE 3 "February 03, 2016" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_RESPONSE_CODE 3 "February 03, 2016" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_RESPONSE_CODE \- get the last response code
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RESPONSE_CODE, long *codep);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_RTSP_CLIENT_CSEQ 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_RTSP_CLIENT_CSEQ 3 "May 31, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_RTSP_CLIENT_CSEQ \- get the next RTSP client CSeq
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_CLIENT_CSEQ, long *cseq);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_RTSP_CSEQ_RECV 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_RTSP_CSEQ_RECV 3 "May 31, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_RTSP_CSEQ_RECV \- get the recently received CSeq
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_CSEQ_RECV, long *cseq);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_RTSP_SERVER_CSEQ \- get the next RTSP server CSeq
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_SERVER_CSEQ, long *cseq);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_RTSP_SESSION_ID \- get RTSP session ID
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_SESSION_ID, char **id);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_SCHEME.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_SCHEME 3 "April 08, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_SCHEME 3 "April 08, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_SCHEME \- get the URL scheme (sometimes called protocol) used in the connection
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SCHEME, char **scheme);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_SIZE_DOWNLOAD 3 "June 15, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_SIZE_DOWNLOAD 3 "June 15, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_SIZE_DOWNLOAD \- get the number of downloaded bytes
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_DOWNLOAD, double *dlp);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_SIZE_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_SIZE_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_SIZE_DOWNLOAD_T \- get the number of downloaded bytes
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_DOWNLOAD_T, curl_off_t *dlp);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_SIZE_UPLOAD 3 "June 15, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_SIZE_UPLOAD 3 "June 15, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_SIZE_UPLOAD \- get the number of uploaded bytes
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_UPLOAD, double *uploadp);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_SIZE_UPLOAD_T 3 "March 31, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_SIZE_UPLOAD_T 3 "March 31, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_SIZE_UPLOAD_T \- get the number of uploaded bytes
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_UPLOAD_T, curl_off_t *uploadp);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_SPEED_DOWNLOAD 3 "June 15, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_SPEED_DOWNLOAD 3 "June 15, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_SPEED_DOWNLOAD \- get download speed
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_DOWNLOAD, double *speed);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_SPEED_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_SPEED_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_SPEED_DOWNLOAD_T \- get download speed
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_DOWNLOAD_T, curl_off_t *speed);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_SPEED_UPLOAD 3 "June 15, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_SPEED_UPLOAD 3 "June 15, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_SPEED_UPLOAD \- get upload speed
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_UPLOAD, double *speed);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_SPEED_UPLOAD_T 3 "March 31, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_SPEED_UPLOAD_T 3 "March 31, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_SPEED_UPLOAD_T \- get upload speed
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_UPLOAD_T, curl_off_t *speed);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_SSL_ENGINES 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_SSL_ENGINES 3 "May 31, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_SSL_ENGINES \- get an slist of OpenSSL crypto-engines
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SSL_ENGINES,

Changes to jni/curl/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_SSL_VERIFYRESULT 3 "March 21, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_SSL_VERIFYRESULT 3 "March 21, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_SSL_VERIFYRESULT \- get the result of the certificate verification
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SSL_VERIFYRESULT, long *result);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_STARTTRANSFER_TIME 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_STARTTRANSFER_TIME 3 "May 17, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_STARTTRANSFER_TIME \- get the time until the first byte is received
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_STARTTRANSFER_TIME, double *timep);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME_T.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_STARTTRANSFER_TIME_T 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_STARTTRANSFER_TIME_T 3 "May 17, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_STARTTRANSFER_TIME_T \- get the time until the first byte is received
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_STARTTRANSFER_TIME_T, curl_off_t *timep);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_TLS_SESSION.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_TLS_SESSION 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_TLS_SESSION 3 "May 31, 2017" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_TLS_SESSION \- get TLS session info
    27     27   .SH SYNOPSIS
    28     28   .nf
    29     29   #include <curl/curl.h>
    30     30   

Changes to jni/curl/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_TLS_SSL_PTR 3 "January 29, 2019" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_TLS_SSL_PTR 3 "January 29, 2019" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_TLS_SESSION, CURLINFO_TLS_SSL_PTR \- get TLS session info
    27     27   .SH SYNOPSIS
    28     28   .nf
    29     29   #include <curl/curl.h>
    30     30   

Changes to jni/curl/docs/libcurl/opts/CURLINFO_TOTAL_TIME.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_TOTAL_TIME 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_TOTAL_TIME 3 "May 17, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_TOTAL_TIME \- get total time of previous transfer
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TOTAL_TIME, double *timep);

Changes to jni/curl/docs/libcurl/opts/CURLINFO_TOTAL_TIME_T.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLINFO_TOTAL_TIME_T 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options"
           23  +.TH CURLINFO_TOTAL_TIME_T 3 "May 17, 2018" "libcurl 7.65.0" "curl_easy_getinfo options"
    24     24   
    25     25   .SH NAME
    26     26   CURLINFO_TOTAL_TIME_T \- get total time of previous transfer in microseconds
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TOTAL_TIME_T, curl_off_t *timep);

Changes to jni/curl/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3.

     1      1   .\" **************************************************************************
     2      2   .\" *                                  _   _ ____  _
     3      3   .\" *  Project                     ___| | | |  _ \| |
     4      4   .\" *                             / __| | | | |_) | |
     5      5   .\" *                            | (__| |_| |  _ <| |___
     6      6   .\" *                             \___|\___/|_| \_\_____|
     7      7   .\" *
     8         -.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
            8  +.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
     9      9   .\" *
    10     10   .\" * This software is licensed as described in the file COPYING, which
    11     11   .\" * you should have received as part of this distribution. The terms
    12     12   .\" * are also available at https://curl.haxx.se/docs/copyright.html.
    13     13   .\" *
    14     14   .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
    15     15   .\" * copies of the Software, and permit persons to whom the Software is
................................................................................
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 3 "May 27, 2017" "libcurl 7.64.1" "curl_multi_setopt options"
           23  +.TH CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 3 "April 05, 2019" "libcurl 7.65.0" "curl_multi_setopt options"
    24     24   
    25     25   .SH NAME
    26     26   CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE \- chunk length threshold for pipelining
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, long size);
    31     31   .SH DESCRIPTION
           32  +No function since pipelining was removed in 7.62.0.
           33  +
    32     34   Pass a long with a \fBsize\fP in bytes. If a pipelined connection is currently
    33     35   processing a chunked (Transfer-encoding: chunked) request with a current chunk
    34     36   length larger than \fICURLMOPT_CHUNK_LENGTH_PENALTY_SIZE(3)\fP, that pipeline
    35     37   will not be considered for additional requests, even if it is shorter than
    36     38   \fICURLMOPT_MAX_PIPELINE_LENGTH(3)\fP.
    37     39   .SH DEFAULT
    38     40   The default value is 0, which means that the penalization is inactive.

Changes to jni/curl/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3.

     1      1   .\" **************************************************************************
     2      2   .\" *                                  _   _ ____  _
     3      3   .\" *  Project                     ___| | | |  _ \| |
     4      4   .\" *                             / __| | | | |_) | |
     5      5   .\" *                            | (__| |_| |  _ <| |___
     6      6   .\" *                             \___|\___/|_| \_\_____|
     7      7   .\" *
     8         -.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
            8  +.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
     9      9   .\" *
    10     10   .\" * This software is licensed as described in the file COPYING, which
    11     11   .\" * you should have received as part of this distribution. The terms
    12     12   .\" * are also available at https://curl.haxx.se/docs/copyright.html.
    13     13   .\" *
    14     14   .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
    15     15   .\" * copies of the Software, and permit persons to whom the Software is
................................................................................
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 3 "May 27, 2017" "libcurl 7.64.1" "curl_multi_setopt options"
           23  +.TH CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 3 "April 05, 2019" "libcurl 7.65.0" "curl_multi_setopt options"
    24     24   
    25     25   .SH NAME
    26     26   CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE \- size threshold for pipelining penalty
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, long size);
    31     31   .SH DESCRIPTION
           32  +No function since pipelining was removed in 7.62.0.
           33  +
    32     34   Pass a long with a \fBsize\fP in bytes. If a pipelined connection is currently
    33     35   processing a request with a Content-Length larger than this
    34     36   \fICURLMOPT_CONTENT_LENGTH_PENALTY_SIZE(3)\fP, that pipeline will then not be
    35     37   considered for additional requests, even if it is shorter than
    36     38   \fICURLMOPT_MAX_PIPELINE_LENGTH(3)\fP.
    37     39   .SH DEFAULT
    38     40   The default value is 0, which means that the size penalization is inactive.

Changes to jni/curl/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLMOPT_MAXCONNECTS 3 "September 23, 2018" "libcurl 7.64.1" "curl_multi_setopt options"
           23  +.TH CURLMOPT_MAXCONNECTS 3 "September 23, 2018" "libcurl 7.65.0" "curl_multi_setopt options"
    24     24   
    25     25   .SH NAME
    26     26   CURLMOPT_MAXCONNECTS \- set size of connection cache
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAXCONNECTS, long max);

Changes to jni/curl/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLMOPT_MAX_HOST_CONNECTIONS 3 "May 27, 2017" "libcurl 7.64.1" "curl_multi_setopt options"
           23  +.TH CURLMOPT_MAX_HOST_CONNECTIONS 3 "May 27, 2017" "libcurl 7.65.0" "curl_multi_setopt options"
    24     24   
    25     25   .SH NAME
    26     26   CURLMOPT_MAX_HOST_CONNECTIONS \- set max number of connections to a single host
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_HOST_CONNECTIONS, long max);

Changes to jni/curl/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3.

     1      1   .\" **************************************************************************
     2      2   .\" *                                  _   _ ____  _
     3      3   .\" *  Project                     ___| | | |  _ \| |
     4      4   .\" *                             / __| | | | |_) | |
     5      5   .\" *                            | (__| |_| |  _ <| |___
     6      6   .\" *                             \___|\___/|_| \_\_____|
     7      7   .\" *
     8         -.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
            8  +.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
     9      9   .\" *
    10     10   .\" * This software is licensed as described in the file COPYING, which
    11     11   .\" * you should have received as part of this distribution. The terms
    12     12   .\" * are also available at https://curl.haxx.se/docs/copyright.html.
    13     13   .\" *
    14     14   .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
    15     15   .\" * copies of the Software, and permit persons to whom the Software is
................................................................................
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLMOPT_MAX_PIPELINE_LENGTH 3 "May 27, 2017" "libcurl 7.64.1" "curl_multi_setopt options"
           23  +.TH CURLMOPT_MAX_PIPELINE_LENGTH 3 "April 05, 2019" "libcurl 7.65.0" "curl_multi_setopt options"
    24     24   
    25     25   .SH NAME
    26     26   CURLMOPT_MAX_PIPELINE_LENGTH \- maximum number of requests in a pipeline
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_PIPELINE_LENGTH, long max);
    31     31   .SH DESCRIPTION
           32  +No function since pipelining was removed in 7.62.0.
           33  +
    32     34   Pass a long. The set \fBmax\fP number will be used as the maximum amount of
    33     35   outstanding requests in an HTTP/1.1 pipelined connection. This option is only
    34     36   used for HTTP/1.1 pipelining, not for HTTP/2 multiplexing.
    35     37   
    36     38   When this limit is reached, libcurl will use another connection to the same
    37     39   host (see \fICURLMOPT_MAX_HOST_CONNECTIONS(3)\fP), or queue the request until
    38     40   one of the pipelines to the host is ready to accept a request.  Thus, the

Changes to jni/curl/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLMOPT_MAX_TOTAL_CONNECTIONS 3 "May 27, 2017" "libcurl 7.64.1" "curl_multi_setopt options"
           23  +.TH CURLMOPT_MAX_TOTAL_CONNECTIONS 3 "May 27, 2017" "libcurl 7.65.0" "curl_multi_setopt options"
    24     24   
    25     25   .SH NAME
    26     26   CURLMOPT_MAX_TOTAL_CONNECTIONS \- max simultaneously open connections
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_TOTAL_CONNECTIONS, long amount);

Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PIPELINING.3.

     1      1   .\" **************************************************************************
     2      2   .\" *                                  _   _ ____  _
     3      3   .\" *  Project                     ___| | | |  _ \| |
     4      4   .\" *                             / __| | | | |_) | |
     5      5   .\" *                            | (__| |_| |  _ <| |___
     6      6   .\" *                             \___|\___/|_| \_\_____|
     7      7   .\" *
     8         -.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
            8  +.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
     9      9   .\" *
    10     10   .\" * This software is licensed as described in the file COPYING, which
    11     11   .\" * you should have received as part of this distribution. The terms
    12     12   .\" * are also available at https://curl.haxx.se/docs/copyright.html.
    13     13   .\" *
    14     14   .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
    15     15   .\" * copies of the Software, and permit persons to whom the Software is
................................................................................
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLMOPT_PIPELINING 3 "March 25, 2019" "libcurl 7.64.1" "curl_multi_setopt options"
           23  +.TH CURLMOPT_PIPELINING 3 "April 05, 2019" "libcurl 7.65.0" "curl_multi_setopt options"
    24     24   
    25     25   .SH NAME
    26     26   CURLMOPT_PIPELINING \- enable HTTP pipelining and multiplexing
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING, long bitmask);
................................................................................
    68     68   
    69     69   Before that, default was \fBCURLPIPE_NOTHING\fP.
    70     70   .SH PROTOCOLS
    71     71   HTTP(S)
    72     72   .SH EXAMPLE
    73     73   .nf
    74     74   CURLM *m = curl_multi_init();
    75         -/* try HTTP/1 pipelining and HTTP/2 multiplexing */
    76         -curl_multi_setopt(m, CURLMOPT_PIPELINING, CURLPIPE_HTTP1 |
    77         -                                          CURLPIPE_MULTIPLEX);
           75  +/* try HTTP/2 multiplexing */
           76  +curl_multi_setopt(m, CURLMOPT_PIPELINING, CURLPIPE_MULTIPLEX);
    78     77   .fi
    79     78   .SH AVAILABILITY
    80         -Added in 7.16.0. Multiplex support bit added in 7.43.0.
           79  +Added in 7.16.0. Multiplex support bit added in 7.43.0. HTTP/1 Pipelining
           80  +support was disabled in 7.62.0.
    81     81   .SH RETURN VALUE
    82     82   Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.
    83     83   .SH "SEE ALSO"
    84     84   .BR CURLMOPT_MAX_PIPELINE_LENGTH "(3), "
    85     85   .BR CURLMOPT_PIPELINING_SITE_BL "(3), "
    86     86   .BR CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE "(3), "
    87     87   .BR CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE "(3), "
    88     88   .BR CURLMOPT_MAX_HOST_CONNECTIONS "(3), "
    89     89   .BR CURLMOPT_MAXCONNECTS "(3), "
    90     90   .BR CURLMOPT_MAX_HOST_CONNECTIONS "(3), "

Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3.

     1      1   .\" **************************************************************************
     2      2   .\" *                                  _   _ ____  _
     3      3   .\" *  Project                     ___| | | |  _ \| |
     4      4   .\" *                             / __| | | | |_) | |
     5      5   .\" *                            | (__| |_| |  _ <| |___
     6      6   .\" *                             \___|\___/|_| \_\_____|
     7      7   .\" *
     8         -.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
            8  +.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
     9      9   .\" *
    10     10   .\" * This software is licensed as described in the file COPYING, which
    11     11   .\" * you should have received as part of this distribution. The terms
    12     12   .\" * are also available at https://curl.haxx.se/docs/copyright.html.
    13     13   .\" *
    14     14   .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
    15     15   .\" * copies of the Software, and permit persons to whom the Software is
................................................................................
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLMOPT_PIPELINING_SERVER_BL 3 "September 23, 2018" "libcurl 7.64.1" "curl_multi_setopt options"
           23  +.TH CURLMOPT_PIPELINING_SERVER_BL 3 "April 05, 2019" "libcurl 7.65.0" "curl_multi_setopt options"
    24     24   
    25     25   .SH NAME
    26     26   CURLMOPT_PIPELINING_SERVER_BL \- pipelining server blacklist
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING_SERVER_BL, char **servers);
    31     31   .SH DESCRIPTION
           32  +No function since pipelining was removed in 7.62.0.
           33  +
    32     34   Pass a \fBservers\fP array of char *, ending with a NULL entry. This is a list
    33     35   of server types prefixes (in the Server: HTTP header) that are blacklisted
    34     36   from pipelining, i.e server types that are known to not support HTTP
    35     37   pipelining. The array is copied by libcurl.
    36     38   
    37     39   Note that the comparison matches if the Server: header begins with the string
    38     40   in the blacklist, i.e "Server: Ninja 1.2.3" and "Server: Ninja 1.4.0" can

Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3.

     1      1   .\" **************************************************************************
     2      2   .\" *                                  _   _ ____  _
     3      3   .\" *  Project                     ___| | | |  _ \| |
     4      4   .\" *                             / __| | | | |_) | |
     5      5   .\" *                            | (__| |_| |  _ <| |___
     6      6   .\" *                             \___|\___/|_| \_\_____|
     7      7   .\" *
     8         -.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
            8  +.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
     9      9   .\" *
    10     10   .\" * This software is licensed as described in the file COPYING, which
    11     11   .\" * you should have received as part of this distribution. The terms
    12     12   .\" * are also available at https://curl.haxx.se/docs/copyright.html.
    13     13   .\" *
    14     14   .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
    15     15   .\" * copies of the Software, and permit persons to whom the Software is
................................................................................
    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLMOPT_PIPELINING_SITE_BL 3 "February 03, 2016" "libcurl 7.64.1" "curl_multi_setopt options"
           23  +.TH CURLMOPT_PIPELINING_SITE_BL 3 "April 05, 2019" "libcurl 7.65.0" "curl_multi_setopt options"
    24     24   
    25     25   .SH NAME
    26     26   CURLMOPT_PIPELINING_SITE_BL \- pipelining host blacklist
    27     27   .SH SYNOPSIS
    28     28   #include <curl/curl.h>
    29     29   
    30     30   CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING_SITE_BL, char **hosts);
    31     31   .SH DESCRIPTION
           32  +No function since pipelining was removed in 7.62.0.
           33  +
    32     34   Pass a \fBhosts\fP array of char *, ending with a NULL entry. This is a list
    33     35   of sites that are blacklisted from pipelining, i.e sites that are known to not
    34     36   support HTTP pipelining. The array is copied by libcurl.
    35     37   
    36     38   Pass a NULL pointer to clear the blacklist.
    37     39   .SH DEFAULT
    38     40   The default value is NULL, which means that there is no blacklist.

Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PUSHDATA.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLMOPT_PUSHDATA 3 "May 27, 2017" "libcurl 7.64.1" "curl_multi_setopt options"
           23  +.TH CURLMOPT_PUSHDATA 3 "May 27, 2017" "libcurl 7.65.0" "curl_multi_setopt options"
    24     24   
    25     25   .SH NAME
    26     26   CURLMOPT_PUSHDATA \- pointer to pass to push callback
    27     27   .SH SYNOPSIS
    28     28   .nf
    29     29   #include <curl/curl.h>
    30     30   

Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17     17   .\" *
    18     18   .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
    19     19   .\" * KIND, either express or implied.
    20     20   .\" *
    21     21   .\" **************************************************************************
    22     22   .\"
    23         -.TH CURLMOPT_PUSHFUNCTION 3 "February 03, 2016" "libcurl 7.64.1" "curl_multi_setopt options"
           23  +.TH CURLMOPT_PUSHFUNCTION 3 "February 03, 2016" "libcurl 7.65.0" "curl_multi_setopt options"
    24     24   
    25     25   .SH NAME
    26     26   CURLMOPT_PUSHFUNCTION \- callback that approves or denies server pushes
    27     27   .SH SYNOPSIS
    28     28   .nf
    29     29   #include <curl/curl.h>
    30     30   

Changes to jni/curl/docs/libcurl/opts/CURLMOPT_SOCKETDATA.3.

    16     16   .\" * furnished to do so, under the terms of the COPYING file.
    17