Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | update curl to version 7.64.1 |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
84dcd3a7204bf26e87827be60d9824a9 |
User & Date: | chw 2019-04-10 11:31:51.400 |
Context
2019-04-10
| ||
11:33 | update macos build scripts for curl 7.64.1 check-in: 69aa75893b user: chw tags: trunk | |
11:31 | update curl to version 7.64.1 check-in: 84dcd3a720 user: chw tags: trunk | |
04:46 | add selected tcllib upstream changes check-in: 9872739d61 user: chw tags: trunk | |
Changes
Changes to jni/curl/CHANGES.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | _ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | | (__| |_| | _ <| |___ \___|\___/|_| \_\_____| Changelog Version 7.64.0 (6 Feb 2019) Daniel Stenberg (6 Feb 2019) - RELEASE-NOTES: 7.64.0 - RELEASE-PROCEDURE: update the release calendar | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 | _ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | | (__| |_| | _ <| |___ \___|\___/|_| \_\_____| Changelog Version 7.64.1 (27 Mar 2019) Daniel Stenberg (27 Mar 2019) - RELEASE: 7.64.1 - Revert "ntlm: remove USE_WIN32_CRYPTO check to get USE_NTLM2SESSION set" This reverts commit 9130ead9fcabdb6b8fbdb37c0b38be2d326adb00. Fixes #3708 - [Christian Schmitz brought this change] ntlm: remove USE_WIN32_CRYPTO check to get USE_NTLM2SESSION set Closes #3704 Jay Satiro (26 Mar 2019) - tool_cb_wrt: fix writing to Windows null device NUL - Improve console detection. Prior to this change WriteConsole could be called to write to a handle that may not be a console, which would cause an error. This issue is limited to character devices that are not also consoles such as the null device NUL. Bug: https://github.com/curl/curl/issues/3175#issuecomment-439068724 Reported-by: Gisle Vanem - CURLMOPT_PIPELINING.3: fix typo Daniel Stenberg (25 Mar 2019) - TODO: config file parsing Closes #3698 Jay Satiro (24 Mar 2019) - os400: Disable Alt-Svc by default since it's experimental Follow-up to 520f0b4 which added Alt-Svc support and enabled it by default for OS400. Since the feature is experimental, it should be disabled by default. Ref: https://github.com/curl/curl/commit/520f0b4#commitcomment-32792332 Ref: https://curl.haxx.se/mail/lib-2019-02/0008.html Closes https://github.com/curl/curl/pull/3688 Dan Fandrich (24 Mar 2019) - tests: Fixed XML validation errors in some test files. - tests: Fix some incorrect precheck error messages. [ci skip] Daniel Stenberg (22 Mar 2019) - curl_url.3: this is not experimental anymore - travis: bump the used wolfSSL version to 4.0.0 Test 311 is now fine, leaving only 313 (CRL) disabled. Test 313 details can be found here: https://github.com/wolfSSL/wolfssl/issues/1546 Closes #3697 Daniel Gustafsson (22 Mar 2019) - lib: Fix typos in comments David Woodhouse (20 Mar 2019) - openssl: if cert type is ENG and no key specified, key is ENG too Fixes #3692 Closes #3692 Daniel Stenberg (20 Mar 2019) - sectransp: tvOS 11 is required for ALPN support Reported-by: nianxuejie on github Assisted-by: Nick Zitzmann Assisted-by: Jay Satiro Fixes #3689 Closes #3690 - test1541: threaded connection sharing The threaded-shared-conn.c example turned into test case. Only works if pthread was detected. An attempt to detect future regressions such as e3a53e3efb942a5 Closes #3687 Patrick Monnerat (17 Mar 2019) - os400: alt-svc support. Although experimental, enable it in the platform config file. Upgrade ILE/RPG binding. Daniel Stenberg (17 Mar 2019) - conncache: use conn->data to know if a transfer owns it - make sure an already "owned" connection isn't returned unless multiplexed. - clear ->data when returning the connection to the cache again Regression since 7.62.0 (probably in commit 1b76c38904f0) Bug: https://curl.haxx.se/mail/lib-2019-03/0064.html Closes #3686 - RELEASE-NOTES: synced - [Chris Young brought this change] configure: add --with-amissl AmiSSL is an Amiga native library which provides a wrapper over OpenSSL. It also requires all programs using it to use bsdsocket.library directly, rather than accessing socket functions through clib, which libcurl was not necessarily doing previously. Configure will now check for the headers and ensure they are included if found. Closes #3677 - [Chris Young brought this change] vtls: rename some of the SSL functions ... in the SSL structure as AmiSSL is using macros for the socket API functions. - [Chris Young brought this change] tool_getpass: termios.h is present on AmigaOS 3, but no tcgetattr/tcsetattr - [Chris Young brought this change] tool_operate: build on AmigaOS - makefile: make checksrc and hugefile commands "silent" ... to match the style already used for compiling, linking etc. Acknowledges 'make V=1' to enable verbose. Closes #3681 - curl.1: --user and --proxy-user are hidden from ps output Suggested-by: Eric Curtin Improved-by: Dan Fandrich Ref: #3680 Closes #3683 - curl.1: mark the argument to --cookie as <data|filename> From a discussion in #3676 Suggested-by: Tim Rühsen Closes #3682 Dan Fandrich (14 Mar 2019) - fuzzer: Only clone the latest fuzzer code, for speed. Daniel Stenberg (14 Mar 2019) - [Dominik Hölzl brought this change] Negotiate: fix for HTTP POST with Negotiate * Adjusted unit tests 2056, 2057 * do not generally close connections with CURLAUTH_NEGOTIATE after every request * moved negotiatedata from UrlState to connectdata * Added stream rewind logic for CURLAUTH_NEGOTIATE * introduced negotiatedata::GSS_AUTHDONE and negotiatedata::GSS_AUTHSUCC * Consider authproblem state for CURLAUTH_NEGOTIATE * Consider reuse_forbid for CURLAUTH_NEGOTIATE * moved and adjusted negotiate authentication state handling from output_auth_headers into Curl_output_negotiate * Curl_output_negotiate: ensure auth done is always set * Curl_output_negotiate: Set auth done also if result code is GSS_S_CONTINUE_NEEDED/SEC_I_CONTINUE_NEEDED as this result code may also indicate the last challenge request (only works with disabled Expect: 100-continue and CURLOPT_KEEP_SENDING_ON_ERROR -> 1) * Consider "Persistent-Auth" header, detect if not present; Reset/Cleanup negotiate after authentication if no persistent authentication * apply changes introduced with #2546 for negotiate rewind logic Fixes #1261 Closes #1975 - [Marc Schlatter brought this change] http: send payload when (proxy) authentication is done The check that prevents payload from sending in case of authentication doesn't check properly if the authentication is done or not. They're cases where the proxy respond "200 OK" before sending authentication challenge. This change takes care of that. Fixes #2431 Closes #3669 - file: fix "Checking if unsigned variable 'readcount' is less than zero." Pointed out by codacy Closes #3672 - memdebug: log pointer before freeing its data Coverity warned for two potentional "Use after free" cases. Both are false positives because the memory wasn't used, it was only the actual pointer value that was logged. The fix still changes the order of execution to avoid the warnings. Coverity CID 1443033 and 1443034 Closes #3671 - RELEASE-NOTES: synced Marcel Raad (12 Mar 2019) - travis: actually use updated compiler versions For the Linux builds, GCC 8 and 7 and clang 7 were installed, but the new GCC versions were only used for the coverage build and for building nghttp2, while the new clang version was not used at all. BoringSSL needs to use the default GCC as it respects CC, but not CXX, so it would otherwise pass gcc 8 options to g++ 4.8 and fail. Also remove GCC 7, it's not needed anymore. Ref: https://docs.travis-ci.com/user/languages/c/#c11c11-and-beyond-and-toolchain-versioning Closes https://github.com/curl/curl/pull/3670 - travis: update clang to version 7 Closes https://github.com/curl/curl/pull/3670 Jay Satiro (11 Mar 2019) - [Andre Guibert de Bruet brought this change] examples/externalsocket: add missing close socket calls .. and for Windows also call WSACleanup since we call WSAStartup. The example is to demonstrate handling the socket independently of libcurl. In this case libcurl is not responsible for creating, opening or closing the socket, it is handled by the application (our example). Fixes https://github.com/curl/curl/pull/3663 Daniel Stenberg (11 Mar 2019) - multi: removed unused code for request retries This code was once used for the non multi-interface using code path, but ever since easy_perform was turned into a wrapper around the multi interface, this code path never runs. Closes #3666 Jay Satiro (11 Mar 2019) - doh: inherit some SSL options from user's easy handle - Inherit SSL options for the doh handle but not SSL client certs, SSL ALPN/NPN, SSL engine, SSL version, SSL issuer cert, SSL pinned public key, SSL ciphers, SSL id cache setting, SSL kerberos or SSL gss-api settings. - Fix inheritance of verbose setting. - Inherit NOSIGNAL. There is no way for the user to set options for the doh (DNS-over-HTTPS) handles and instead we inherit some options from the user's easy handle. My thinking for the SSL options not inherited is they are most likely not intended by the user for the DOH transfer. I did inherit insecure because I think that should still be in control of the user. Prior to this change doh did not work for me because CAINFO was not inherited. Also verbose was set always which AFAICT was a bug (#3660). Fixes https://github.com/curl/curl/issues/3660 Closes https://github.com/curl/curl/pull/3661 Daniel Stenberg (9 Mar 2019) - test331: verify set-cookie for dotless host name Reproduced bug #3649 Closes #3659 - Revert "cookies: extend domain checks to non psl builds" This reverts commit 3773de378d48b06c09931e44dca4d274d0bfdce0. Regression shipped in 7.64.0 Fixes #3649 - memdebug: make debug-specific functions use curl_dbg_ prefix To not "collide" or use up the regular curl_ name space. Also makes them easier to detect in helper scripts. Closes #3656 - cmdline-opts/proxytunnel.d: the option tunnnels all protocols Clarify the language and simplify. Reported-by: Daniel Lublin Closes #3658 - KNOWN_BUGS: Client cert (MTLS) issues with Schannel Closes #3145 - ROADMAP: updated to some more current things to work on - tests: fix multiple may be used uninitialized warnings - RELEASE-NOTES: synced - source: fix two 'nread' may be used uninitialized warnings Both seem to be false positives but we don't like warnings. Closes #3646 - gopher: remove check for path == NULL Since it can't be NULL and it makes Coverity believe we lack proper NULL checks. Verified by test 659, landed in commit 15401fa886b. Pointed out by Coverity CID 1442746. Assisted-by: Dan Fandrich Fixes #3617 Closes #3642 - examples: only include <curl/curl.h> That's the only public curl header we should encourage use of. Reviewed-by: Marcel Raad Closes #3645 - ssh: loop the state machine if not done and not blocking If the state machine isn't complete, didn't fail and it didn't return due to blocking it can just as well loop again. This addresses the problem with SFTP directory listings where we would otherwise return back to the parent and as the multi state machine doesn't have any code for using CURLM_CALL_MULTI_PERFORM for as long the doing phase isn't complete, it would return out when in reality there was more data to deal with. Fixes #3506 Closes #3644 Jay Satiro (5 Mar 2019) - multi: support verbose conncache closure handle - Change closure handle to receive verbose setting from the easy handle most recently added via curl_multi_add_handle. The closure handle is a special easy handle used for closing cached connections. It receives limited settings from the easy handle most recently added to the multi handle. Prior to this change that did not include verbose which was a problem because on connection shutdown verbose mode was not acknowledged. Ref: https://github.com/curl/curl/pull/3598 Co-authored-by: Daniel Stenberg Closes https://github.com/curl/curl/pull/3618 Daniel Stenberg (4 Mar 2019) - CURLU: fix NULL dereference when used over proxy Test 659 verifies Also fixed the test 658 name Closes #3641 - altsvc_out: check the return code from Curl_gmtime Pointed out by Coverity, CID 1442956. Closes #3640 - docs/ALTSVC.md: docs describing the approach Closes #3498 - alt-svc: add a travis build - alt-svc: add test 355 and 356 to verify with command line curl - alt-svc: the curl command line bits - alt-svc: the libcurl bits - travis: add build using gnutls Closes #3637 - RELEASE-NOTES: synced - [Simon Legner brought this change] scripts/completion.pl: also generate fish completion file This is the renamed script formerly known as zsh.pl Closes #3545 - gnutls: remove call to deprecated gnutls_compression_get_name It has been deprecated by GnuTLS since a year ago and now causes build warnings. Ref: https://gitlab.com/gnutls/gnutls/commit/b0041897d2846737f5fb0f Docs: https://www.gnutls.org/manual/html_node/Compatibility-API.html Closes #3636 Jay Satiro (2 Mar 2019) - system_win32: move win32_init here from easy.c .. since system_win32 is a more appropriate location for the functions and to extern the globals. Ref: https://github.com/curl/curl/commit/ca597ad#r32446578 Reported-by: Gisle Vanem Closes https://github.com/curl/curl/pull/3625 Daniel Stenberg (1 Mar 2019) - curl_easy_duphandle.3: clarify that a duped handle has no shares Reported-by: Sara Golemon Fixes #3592 Closes #3634 - 10-at-a-time.c: fix too long line - [Arnaud Rebillout brought this change] examples: various fixes in ephiperfifo.c The main change here is the timer value that was wrong, it was given in usecs (ms * 1000), while the itimerspec struct wants nsecs (ms * 1000 * 1000). This resulted in the callback being invoked WAY TOO OFTEN. As a quick check you can run this command before and after applying this commit: # shell 1 ./ephiperfifo 2>&1 | tee ephiperfifo.log # shell 2 echo http://hacking.elboulangero.com > hiper.fifo Then just compare the size of the logs files. Closes #3633 Fixes #3632 Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com> - urldata: simplify bytecounters - no need to have them protocol specific - no need to set pointers to them with the Curl_setup_transfer() call - make Curl_setup_transfer() operate on a transfer pointer, not connection - switch some counters from long to the more proper curl_off_t type Closes #3627 - examples/10-at-a-time.c: improve readability and simplify - use better variable names to explain their purposes - convert logic to curl_multi_wait() - threaded-resolver: shutdown the resolver thread without error message When a transfer is done, the resolver thread will be brought down. That could accidentally generate an error message in the error buffer even though this is not an error situationand the transfer would still return OK. An application that still reads the error buffer could find a "Could not resolve host: [host name]" message there and get confused. Reported-by: Michael Schmid Fixes #3629 Closes #3630 - [Ԝеѕ brought this change] docs: update max-redirs.d phrasing clarify redir - "in absurdum" doesn't seem to make sense in this context Closes #3631 - ssh: fix Condition '!status' is always true in the same sftp_done function in both SSH backends. Simplify them somewhat. Pointed out by Codacy. Closes #3628 - test578: make it read data from the correct test - Curl_easy: remove req.maxfd - never used! Introduced in 8b6314ccfb, but not used anymore in current code. Unclear since when. Closes #3626 - http: set state.infilesize when sending formposts Without it set, we would unwillingly triger the "HTTP error before end of send, stop sending" condition even if the entire POST body had been sent (since it wouldn't know the expected size) which would unnecessarily log that message and close the connection when it didn't have to. Reported-by: Matt McClure Bug: https://curl.haxx.se/mail/archive-2019-02/0023.html Closes #3624 - INSTALL: refer to the current TLS library names and configure options - FAQ: minor updates and spelling fixes - GOVERNANCE.md: minor spelling fixes - Secure Transport: no more "darwinssl" Everyone calls it Secure Transport, now we do too. Reviewed-by: Nick Zitzmann Closes #3619 Marcel Raad (27 Feb 2019) - AppVeyor: add classic MinGW build But use the MSYS2 shell rather than the default MSYS shell because of POSIX path conversion issues. Classic MinGW is only available on the Visual Studio 2015 image. Closes https://github.com/curl/curl/pull/3623 - AppVeyor: add MinGW-w64 build Add a MinGW-w64 build using CMake's MSYS Makefiles generator. Use the Visual Studio 2015 image as it has GCC 8, while the Visual Studio 2017 image only has GCC 7.2. Closes https://github.com/curl/curl/pull/3623 Daniel Stenberg (27 Feb 2019) - cookies: only save the cookie file if the engine is enabled Follow-up to 8eddb8f4259. If the cookieinfo pointer is NULL there really is nothing to save. Without this fix, we got a problem when a handle was using shared object with cookies and is told to "FLUSH" it to file (which worked) and then the share object was removed and when the easy handle was closed just afterwards it has no cookieinfo and no cookies so it decided to save an empty jar (overwriting the file just flushed). Test 1905 now verifies that this works. Assisted-by: Michael Wallner Assisted-by: Marcel Raad Closes #3621 - [DaVieS brought this change] cacertinmem.c: use multiple certificates for loading CA-chain Closes #3421 - urldata: convert bools to bitfields and move to end This allows the compiler to pack and align the structs better in memory. For a rather feature-complete build on x86_64 Linux, gcc 8.1.2 makes the Curl_easy struct 4.9% smaller. From 6312 bytes to 6000. Removed an unused struct field. No functionality changes. Closes #3610 - [Don J Olmstead brought this change] curl.h: use __has_declspec_attribute for shared builds Closes #3616 - curl: display --version features sorted alphabetically Closes #3611 - runtests: detect "schannel" as an alias for "winssl" Follow-up to 180501cb02 Reported-by: Marcel Raad Fixes #3609 Closes #3620 Marcel Raad (26 Feb 2019) - AppVeyor: update to Visual Studio 2017 Switch all Visual Studio 2015 builds to Visual Studio 2017. It's not a moving target anymore as the last update, Update 9, has been released. Closes https://github.com/curl/curl/pull/3606 - AppVeyor: switch VS 2015 builds to VS 2017 image The Visual Studio 2017 image has Visual Studio 2015 and 2017 installed. Closes https://github.com/curl/curl/pull/3606 - AppVeyor: explicitly select worker image Currently, we're using the default Visual Studio 2015 image for everything. Closes https://github.com/curl/curl/pull/3606 Daniel Stenberg (26 Feb 2019) - strerror: make the strerror function use local buffers Instead of using a fixed 256 byte buffer in the connectdata struct. In my build, this reduces the size of the connectdata struct by 11.8%, from 2160 to 1904 bytes with no functionality or performance loss. This also fixes a bug in schannel's Curl_verify_certificate where it called Curl_sspi_strerror when it should have called Curl_strerror for string from GetLastError. the only effect would have been no text or the wrong text being shown for the error. Co-authored-by: Jay Satiro Closes #3612 - [Michael Wallner brought this change] cookies: fix NULL dereference if flushing cookies with no CookieInfo set Regression brought by a52e46f3900fb0 (shipped in 7.63.0) Closes #3613 Marcel Raad (26 Feb 2019) - AppVeyor: re-enable test 500 It's passing now. Closes https://github.com/curl/curl/pull/3615 - AppVeyor: remove redundant builds Remove the Visual Studio 2012 and 2013 builds as they add little value. Ref: https://github.com/curl/curl/pull/3606 Closes https://github.com/curl/curl/pull/3614 Daniel Stenberg (25 Feb 2019) - RELEASE-NOTES: synced - [Bernd Mueller brought this change] OpenSSL: add support for TLS ASYNC state Closes #3591 Jay Satiro (25 Feb 2019) - [Michael Felt brought this change] acinclude: add additional libraries to check for LDAP support - Add an additional check for LDAP that also checks for OpenSSL since on AIX those libraries may be required to link LDAP properly. Fixes https://github.com/curl/curl/issues/3595 Closes https://github.com/curl/curl/pull/3596 - [georgeok brought this change] schannel: support CALG_ECDH_EPHEM algorithm Add support for Ephemeral elliptic curve Diffie-Hellman key exchange algorithm option when selecting ciphers. This became available on the Win10 SDK. Closes https://github.com/curl/curl/pull/3608 Daniel Stenberg (24 Feb 2019) - multi: call multi_done on connect timeouts Failing to do so would make the CURLINFO_TOTAL_TIME timeout to not get updated correctly and could end up getting reported to the application completely wrong (way too small). Reported-by: accountantM on github Fixes #3602 Closes #3605 - examples: remove recursive calls to curl_multi_socket_action From within the timer callbacks. Recursive is problematic for several reasons. They should still work, but this way the examples and the documentation becomes simpler. I don't think we need to encourage recursive calls. Discussed in #3537 Closes #3601 Marcel Raad (23 Feb 2019) - configure: remove CURL_CHECK_FUNC_FDOPEN call The macro itself has been removed in commit 11974ac859c5d82def59e837e0db56fef7f6794e. Closes https://github.com/curl/curl/pull/3604 Daniel Stenberg (23 Feb 2019) - wolfssl: stop custom-adding curves since wolfSSL PR https://github.com/wolfSSL/wolfssl/pull/717 (shipped in wolfSSL 3.10.2 and later) it sends these curves by default already. Pointed-out-by: David Garske Closes #3599 - configure: remove the unused fdopen macro and the two remaining #ifdefs for it Closes #3600 Jay Satiro (22 Feb 2019) - url: change conn shutdown order to unlink data as last step - Split off connection shutdown procedure from Curl_disconnect into new function conn_shutdown. - Change the shutdown procedure to close the sockets before disassociating the transfer. Prior to this change the sockets were closed after disassociating the transfer so SOCKETFUNCTION wasn't called since the transfer was already disassociated. That likely came about from recent work started in Jan 2019 (#3442) to separate transfers from connections. Bug: https://curl.haxx.se/mail/lib-2019-02/0101.html Reported-by: Pavel Löbl Closes https://github.com/curl/curl/issues/3597 Closes https://github.com/curl/curl/pull/3598 Marcel Raad (22 Feb 2019) - Fix strict-prototypes GCC warning As seen in the MinGW autobuilds. Caused by commit f26bc29cfec0be84c67cf74065cf8e5e78fd68b7. Dan Fandrich (21 Feb 2019) - tests: Fixed XML validation errors in some test files. Daniel Stenberg (20 Feb 2019) - TODO: Allow SAN names in HTTP/2 server push Suggested-by: Nicolas Grekas - RELEASE-NOTES: synced - curl: remove MANUAL from -M output ... and remove it from the dist tarball. It has served its time, it barely gets updated anymore and "everything curl" is now convering all this document once tried to include, and does it more and better. In the compressed scenario, this removes ~15K data from the binary, which is 25% of the -M output. It remains in the git repo for now for as long as the web site builds a page using that as source. It renders poorly on the site (especially for mobile users) so its not even good there. Closes #3587 - http2: verify :athority in push promise requests RFC 7540 says we should verify that the push is for an "authoritative" server. We make sure of this by only allowing push with an :athority header that matches the host that was asked for in the URL. Fixes #3577 Reported-by: Nicolas Grekas Bug: https://curl.haxx.se/mail/lib-2019-02/0057.html Closes #3581 - singlesocket: fix the 'sincebefore' placement The variable wasn't properly reset within the loop and thus could remain set for sockets that hadn't been set before and miss notifying the app. This is a follow-up to 4c35574 (shipped in curl 7.64.0) Reported-by: buzo-ffm on github Detected-by: Jan Alexander Steffens Fixes #3585 Closes #3589 - connection: never reuse CONNECT_ONLY conections and make CONNECT_ONLY conections never reuse any existing ones either. Reported-by: Pavel Löbl Bug: https://curl.haxx.se/mail/lib-2019-02/0064.html Closes #3586 Patrick Monnerat (19 Feb 2019) - cli tool: fix mime post with --disable-libcurl-option configure option Reported-by: Marcel Raad Fixes #3576 Closes #3583 Daniel Stenberg (19 Feb 2019) - x509asn1: cleanup and unify code layout - rename 'n' to buflen in functions, and use size_t for them. Don't pass in negative buffer lengths. - move most function comments to above the function starts like we use to - remove several unnecessary typecasts (especially of NULL) Reviewed-by: Patrick Monnerat Closes #3582 - curl_multi_remove_handle.3: use at any time, just not from within callbacks [ci skip] - http: make adding a blank header thread-safe Previously the function would edit the provided header in-place when a semicolon is used to signify an empty header. This made it impossible to use the same set of custom headers in multiple threads simultaneously. This approach now makes a local copy when it needs to edit the string. Reported-by: d912e3 on github Fixes #3578 Closes #3579 - unit1651: survive curl_easy_init() fails - [Frank Gevaerts brought this change] rand: Fix a mismatch between comments in source and header. Reported-by: Björn Stenberg <bjorn@haxx.se> Closes #3584 Patrick Monnerat (18 Feb 2019) - x509asn1: replace single char with an array Although safe in this context, using a single char as an array may cause invalid accesses to adjacent memory locations. Detected by Coverity. Daniel Stenberg (18 Feb 2019) - examples/http2-serverpush: add some sensible error checks To avoid NULL pointer dereferences etc in the case of problems. Closes #3580 Jay Satiro (18 Feb 2019) - easy: fix win32 init to work without CURL_GLOBAL_WIN32 - Change the behavior of win32_init so that the required initialization procedures are not affected by CURL_GLOBAL_WIN32 flag. libcurl via curl_global_init supports initializing for win32 with an optional flag CURL_GLOBAL_WIN32, which if omitted was meant to stop Winsock initialization. It did so internally by skipping win32_init() when that flag was set. Since then win32_init() has been expanded to include required initialization routines that are separate from Winsock and therefore must be called in all cases. This commit fixes it so that CURL_GLOBAL_WIN32 only controls the optional win32 initialization (which is Winsock initialization, according to our doc). The only users affected by this change are those that don't pass CURL_GLOBAL_WIN32 to curl_global_init. For them this commit removes the risk of a potential crash. Ref: https://github.com/curl/curl/pull/3573 Fixes https://github.com/curl/curl/issues/3313 Closes https://github.com/curl/curl/pull/3575 Daniel Gustafsson (17 Feb 2019) - cookie: Add support for cookie prefixes The draft-ietf-httpbis-rfc6265bis-02 draft, specify a set of prefixes and how they should affect cookie initialization, which has been adopted by the major browsers. This adds support for the two prefixes defined, __Host- and __Secure, and updates the testcase with the supplied examples from the draft. Closes #3554 Reviewed-by: Daniel Stenberg <daniel@haxx.se> - mbedtls: release sessionid resources on error If mbedtls_ssl_get_session() fails, it may still have allocated memory that needs to be freed to avoid leaking. Call the library API function to release session resources on this errorpath as well as on Curl_ssl_addsessionid() errors. Closes: #3574 Reported-by: Michał Antoniak <M.Antoniak@posnet.com> Reviewed-by: Daniel Stenberg <daniel@haxx.se> Patrick Monnerat (16 Feb 2019) - cli tool: refactor encoding conversion sequence for switch case fallthrough. - version.c: silent scan-build even when librtmp is not enabled Daniel Stenberg (15 Feb 2019) - RELEASE-NOTES: synced - Curl_now: figure out windows version in win32_init ... and avoid use of static variables that aren't thread safe. Fixes regression from e9ababd4f5a (present in the 7.64.0 release) Reported-by: Paul Groke Fixes #3572 Closes #3573 Marcel Raad (15 Feb 2019) - unit1307: just fail without FTP support I missed to check this in with commit 71786c0505926aaf7e9b2477b2fb7ee16a915ec6, which only disabled the test. This fixes the actual linker error. Closes https://github.com/curl/curl/pull/3568 Daniel Stenberg (15 Feb 2019) - travis: enable valgrind for the iconv tests too Closes #3571 - travis: add scan-build Closes #3564 - examples/sftpuploadresume: Value stored to 'result' is never read Detected by scan-build - examples/http2-upload: cleaned up Fix scan-build warnings, no globals, no silly handle scan. Also remove handles from the multi before cleaning up. - examples/http2-download: cleaned up To avoid scan-build warnings and global variables. - examples/postinmemory: Potential leak of memory pointed to by 'chunk.memory' Detected by scan-build - examples/httpcustomheader: Value stored to 'res' is never read Detected by scan-build - examples: remove superfluous null-pointer checks in ftpget, ftpsget and sftpget, so that scan-build stops warning for potential NULL pointer dereference below! Detected by scan-build - strip_trailing_dot: make sure NULL is never used for strlen scan-build warning: Null pointer passed as an argument to a 'nonnull' parameter - [Jay Satiro brought this change] connection_check: restore original conn->data after the check - Save the original conn->data before it's changed to the specified data transfer for the connection check and then restore it afterwards. This is a follow-up to 38d8e1b 2019-02-11. History: It was discovered a month ago that before checking whether to extract a dead connection that that connection should be associated with a "live" transfer for the check (ie original conn->data ignored and set to the passed in data). A fix was landed in 54b201b which did that and also cleared conn->data after the check. The original conn->data was not restored, so presumably it was thought that a valid conn->data was no longer needed. Several days later it was discovered that a valid conn->data was needed after the check and follow-up fix was landed in bbae24c which partially reverted the original fix and attempted to limit the scope of when conn->data was changed to only when pruning dead connections. In that case conn->data was not cleared and the original conn->data not restored. A month later it was discovered that the original fix was somewhat correct; a "live" transfer is needed for the check in all cases because original conn->data could be null which could cause a bad deref at arbitrary points in the check. A fix was landed in 38d8e1b which expanded the scope to all cases. conn->data was not cleared and the original conn->data not restored. A day later it was discovered that not restoring the original conn->data may lead to busy loops in applications that use the event interface, and given this observation it's a pretty safe assumption that there is some code path that still needs the original conn->data. This commit is the follow-up fix for that, it restores the original conn->data after the connection check. Assisted-by: tholin@users.noreply.github.com Reported-by: tholin@users.noreply.github.com Fixes https://github.com/curl/curl/issues/3542 Closes #3559 - memdebug: bring back curl_mark_sclose Used by debug builds with NSS. Reverted from 05b100aee247bb Patrick Monnerat (14 Feb 2019) - transfer.c: do not compute length of undefined hex buffer. On non-ascii platforms, the chunked hex header was measured for char code conversion length, even for chunked trailers that do not have an hex header. In addition, the efective length is already known: use it. Since the hex length can be zero, only convert if needed. Reported by valgrind. Daniel Stenberg (14 Feb 2019) - KNOWN_BUGS: Cannot compile against a static build of OpenLDAP Closes #2367 Patrick Monnerat (14 Feb 2019) - x509asn1: "Dereference of null pointer" Detected by scan-build (false positive). Daniel Stenberg (14 Feb 2019) - configure: show features as well in the final summary Closes #3569 - KNOWN_BUGS: curl compiled on OSX 10.13 failed to run on OSX 10.10 Closes #2905 - KNOWN_BUGS: Deflate error after all content was received Closes #2719 - gssapi: fix deprecated header warnings Heimdal includes on FreeBSD spewed out lots of them. Less so now. Closes #3566 - TODO: Upgrade to websockets Closes #3523 - TODO: cmake test suite improvements Closes #3109 Patrick Monnerat (13 Feb 2019) - curl: "Dereference of null pointer" Rephrase to satisfy scan-build. Marcel Raad (13 Feb 2019) - unit1307: require FTP support This test doesn't link without FTP support after fc7ab4835b5fd09d0a6f57000633bb6bb6edfda1, which made Curl_fnmatch unavailable without FTP support. Closes https://github.com/curl/curl/pull/3565 Daniel Stenberg (13 Feb 2019) - TODO: TFO support on Windows Nobody works on this now. Closes #3378 - multi: Dereference of null pointer Mostly a false positive, but this makes the code easier to read anyway. Detected by scan-build. Closes #3563 - urlglob: Argument with 'nonnull' attribute passed null Detected by scan-build. Jay Satiro (12 Feb 2019) - schannel: restore some debug output but only for debug builds Follow-up to 84c10dc from earlier today which wrapped a lot of the noisy debug output in DEBUGF but omitted a few lines. Ref: https://github.com/curl/curl/commit/84c10dc#r32292900 - examples/crawler: Fix the Accept-Encoding setting - Pass an empty string to CURLOPT_ACCEPT_ENCODING to use the default supported encodings. Prior to this change the specific encodings of gzip and deflate were set but there's no guarantee they'd be supported by the user's libcurl. Daniel Stenberg (12 Feb 2019) - mime: put the boundary buffer into the curl_mime struct ... instead of allocating it separately and point to it. It is fixed-size and always used for each part. Closes #3561 - schannel: be quiet Convert numerous infof() calls into debug-build only messages since they are annoyingly verbose for regular applications. Removed a few. Bug: https://curl.haxx.se/mail/lib-2019-02/0027.html Reported-by: Volker Schmid Closes #3552 - [Romain Geissler brought this change] Curl_resolv: fix a gcc -Werror=maybe-uninitialized warning Closes #3562 - http2: multi_connchanged() moved from multi.c, only used for h2 Closes #3557 - curl: "Function call argument is an uninitialized value" Follow-up to cac0e4a6ad14b42471eb Detected by scan-build Closes #3560 - pretransfer: don't strlen() POSTFIELDS set for GET requests ... since that data won't be used in the request anyway. Fixes #3548 Reported-by: Renaud Allard Close #3549 - multi: remove verbose "Expire in" ... messages Reported-by: James Brown Bug: https://curl.haxx.se/mail/archive-2019-02/0013.html Closes #3558 - mbedtls: make it build even if MBEDTLS_VERSION_C isn't set Reported-by: MAntoniak on github Fixes #3553 Closes #3556 Daniel Gustafsson (12 Feb 2019) - non-ascii.c: fix typos in comments Fix two occurrences of s/convers/converts/ spotted while reading code. Daniel Stenberg (12 Feb 2019) - fnmatch: disable if FTP is disabled Closes #3551 - curl_path: only enabled for SSH builds - [Frank Gevaerts brought this change] tests: add stderr comparison to the test suite The code is more or less copied from the stdout comparison code, maybe some better reuse is possible. test 1457 is adjusted to make the output actually match (by using --silent) test 506 used <stderr> without actually needing it, so that <stderr> block is removed Closes #3536 Patrick Monnerat (11 Feb 2019) - cli tool: do not use mime.h private structures. Option -F generates an intermediate representation of the mime structure that is used later to create the libcurl mime structure and generate the --libcurl statements. Reported-by: Daniel Stenberg Fixes #3532 Closes #3546 Daniel Stenberg (11 Feb 2019) - curlver: bump to 7.64.1-dev - RELEASE-NOTES: synced and bump the version in progress to 7.64.1. If we merge any "change" before the cut-off date, we update again. Daniel Gustafsson (11 Feb 2019) - curl: follow-up to 3f16990ec84 Commit 3f16990ec84cc4b followed-up a bug in b49652ac66cc0 but was inadvertently introducing a new bug in the ternary expression. Close #3555 Reviewed-by: Daniel Stenberg <daniel@haxx.se> - dns: release sharelock as soon as possible There is no benefit to holding the data sharelock when freeing the addrinfo in case it fails, so ensure releaseing it as soon as we can rather than holding on to it. This also aligns the code with other consumers of sharelocks. Closes #3516 Reviewed-by: Daniel Stenberg <daniel@haxx.se> Daniel Stenberg (11 Feb 2019) - curl: follow-up to b49652ac66cc0 On FreeBSD, return non-zero on error otherwise zero. Reported-by: Marcel Raad - multi: (void)-prefix when ignoring return values ... and added braces to two function calls which fixes warnings if they are replace by empty macros at build-time. - curl: fix FreeBSD compiler warning in the --xattr code Closes #3550 - connection_check: set ->data to the transfer doing the check The http2 code for connection checking needs a transfer to use. Make sure a working one is set before handler->connection_check() is called. Reported-by: jnbr on github Fixes #3541 Closes #3547 - hostip: make create_hostcache_id avoid alloc + free Closes #3544 - scripts/singleuse: script to use to track single-use functions That is functions that are declared global but are not used from outside of the file in which it is declared. Such functions should be made static or even at times be removed. It also verifies that all used curl_ prefixed functions are "blessed" Closes #3538 - cleanup: make local functions static urlapi: turn three local-only functions into statics conncache: make conncache_find_first_connection static multi: make detach_connnection static connect: make getaddressinfo static curl_ntlm_core: make hmac_md5 static http2: make two functions static http: make http_setup_conn static connect: make tcpnodelay static tests: make UNITTEST a thing to mark functions with, so they can be static for normal builds and non-static for unit test builds ... and mark Curl_shuffle_addr accordingly. url: make up_free static setopt: make vsetopt static curl_endian: make write32_le static rtsp: make rtsp_connisdead static warnless: remove unused functions memdebug: remove one unused function, made another static Dan Fandrich (10 Feb 2019) - cirrus: Added FreeBSD builds using Cirrus CI. The build logs will be at https://cirrus-ci.com/github/curl/curl Some tests are currently failing and so disabled for now. The SSH server isn't starting for the SSH tests due to unsupported options used in its config file. The DICT server also is failing on startup. Daniel Stenberg (9 Feb 2019) - url/idnconvert: remove scan for <= 32 ascii values The check was added back in fa939220df before the URL parser would catch these problems and therefore these will never trigger now. Closes #3539 - urlapi: reduce variable scope, remove unreachable 'break' Both nits pointed out by codacy.com Closes #3540 Alessandro Ghedini (7 Feb 2019) - zsh.pl: escape ':' character ':' is interpreted as separator by zsh, so if used as part of the argument or option's description it needs to be escaped. The problem can be reproduced as follows: % curl --reso<TAB> % curl -E <TAB> Bug: https://bugs.debian.org/921452 - zsh.pl: update regex to better match curl -h output The current regex fails to match '<...>' arguments properly (e.g. those with spaces in them), which causes an completion script with wrong descriptions for some options. Here's a diff of the generated completion script, comparing the previous version to the one with this fix: --- /usr/share/zsh/vendor-completions/_curl 2019-01-15 20:47:40.000000000 +0000 +++ _curl 2019-02-05 20:57:29.453349040 +0000 @@ -9,48 +9,48 @@ _arguments -C -S \ --happy-eyeballs-timeout-ms'[How long to wait in milliseconds for IPv6 before trying IPv4]':'<milliseconds>' \ + --resolve'[Resolve the host+port to this address]':'<host:port:address[,address]...>' \ {-c,--cookie-jar}'[Write cookies to <filename> after operation]':'<filename>':_files \ {-D,--dump-header}'[Write the received headers to <filename>]':'<filename>':_files \ {-y,--speed-time}'[Trigger '\''speed-limit'\'' abort after this time]':'<seconds>' \ --proxy-cacert'[CA certificate to verify peer against for proxy]':'<file>':_files \ - --tls13-ciphers'[of TLS 1.3 ciphersuites> TLS 1.3 cipher suites to use]':'<list' \ + --tls13-ciphers'[TLS 1.3 cipher suites to use]':'<list of TLS 1.3 ciphersuites>' \ {-E,--cert}'[Client certificate file and password]':'<certificate[:password]>' \ --libcurl'[Dump libcurl equivalent code of this command line]':'<file>':_files \ --proxy-capath'[CA directory to verify peer against for proxy]':'<dir>':_files \ - --proxy-negotiate'[HTTP Negotiate (SPNEGO) authentication on the proxy]':'Use' \ --proxy-pinnedpubkey'[FILE/HASHES public key to verify proxy with]':'<hashes>' \ --crlfile'[Get a CRL list in PEM format from the given file]':'<file>':_files \ - --proxy-insecure'[HTTPS proxy connections without verifying the proxy]':'Do' \ - --proxy-ssl-allow-beast'[security flaw for interop for HTTPS proxy]':'Allow' \ + --proxy-negotiate'[Use HTTP Negotiate (SPNEGO) authentication on the proxy]' \ --abstract-unix-socket'[Connect via abstract Unix domain socket]':'<path>' \ --pinnedpubkey'[FILE/HASHES Public key to verify peer against]':'<hashes>' \ + --proxy-insecure'[Do HTTPS proxy connections without verifying the proxy]' \ --proxy-pass'[Pass phrase for the private key for HTTPS proxy]':'<phrase>' \ + --proxy-ssl-allow-beast'[Allow security flaw for interop for HTTPS proxy]' \ {-p,--proxytunnel}'[Operate through an HTTP proxy tunnel (using CONNECT)]' \ --socks5-hostname'[SOCKS5 proxy, pass host name to proxy]':'<host[:port]>' \ --proto-default'[Use PROTOCOL for any URL missing a scheme]':'<protocol>' \ - --proxy-tls13-ciphers'[list> TLS 1.3 proxy cipher suites]':'<ciphersuite' \ + --proxy-tls13-ciphers'[TLS 1.3 proxy cipher suites]':'<ciphersuite list>' \ --socks5-gssapi-service'[SOCKS5 proxy service name for GSS-API]':'<name>' \ --ftp-alternative-to-user'[String to replace USER \[name\]]':'<command>' \ - --ftp-ssl-control'[SSL/TLS for FTP login, clear for transfer]':'Require' \ {-T,--upload-file}'[Transfer local FILE to destination]':'<file>':_files \ --local-port'[Force use of RANGE for local port numbers]':'<num/range>' \ --proxy-tlsauthtype'[TLS authentication type for HTTPS proxy]':'<type>' \ {-R,--remote-time}'[Set the remote file'\''s time on the local output]' \ - --retry-connrefused'[on connection refused (use with --retry)]':'Retry' \ - --suppress-connect-headers'[proxy CONNECT response headers]':'Suppress' \ - {-j,--junk-session-cookies}'[session cookies read from file]':'Ignore' \ - --location-trusted'[--location, and send auth to other hosts]':'Like' \ + --ftp-ssl-control'[Require SSL/TLS for FTP login, clear for transfer]' \ --proxy-cert-type'[Client certificate type for HTTPS proxy]':'<type>' \ {-O,--remote-name}'[Write output to a file named as the remote file]' \ + --retry-connrefused'[Retry on connection refused (use with --retry)]' \ + --suppress-connect-headers'[Suppress proxy CONNECT response headers]' \ --trace-ascii'[Like --trace, but without hex output]':'<file>':_files \ --connect-timeout'[Maximum time allowed for connection]':'<seconds>' \ --expect100-timeout'[How long to wait for 100-continue]':'<seconds>' \ {-g,--globoff}'[Disable URL sequences and ranges using {} and \[\]]' \ + {-j,--junk-session-cookies}'[Ignore session cookies read from file]' \ {-m,--max-time}'[Maximum time allowed for the transfer]':'<seconds>' \ --dns-ipv4-addr'[IPv4 address to use for DNS requests]':'<address>' \ --dns-ipv6-addr'[IPv6 address to use for DNS requests]':'<address>' \ - --ignore-content-length'[the size of the remote resource]':'Ignore' \ {-k,--insecure}'[Allow insecure server connections when using SSL]' \ + --location-trusted'[Like --location, and send auth to other hosts]' \ --mail-auth'[Originator address of the original email]':'<address>' \ --noproxy'[List of hosts which do not use proxy]':'<no-proxy-list>' \ --proto-redir'[Enable/disable PROTOCOLS on redirect]':'<protocols>' \ @@ -62,18 +62,19 @@ --socks5-basic'[Enable username/password auth for SOCKS5 proxies]' \ --cacert'[CA certificate to verify peer against]':'<file>':_files \ {-H,--header}'[Pass custom header(s) to server]':'<header/@file>' \ + --ignore-content-length'[Ignore the size of the remote resource]' \ {-i,--include}'[Include protocol response headers in the output]' \ --proxy-header'[Pass custom header(s) to proxy]':'<header/@file>' \ --unix-socket'[Connect through this Unix domain socket]':'<path>' \ {-w,--write-out}'[Use output FORMAT after completion]':'<format>' \ - --http2-prior-knowledge'[HTTP 2 without HTTP/1.1 Upgrade]':'Use' \ {-o,--output}'[Write to file instead of stdout]':'<file>':_files \ - {-J,--remote-header-name}'[the header-provided filename]':'Use' \ + --preproxy'[\[protocol://\]host\[:port\] Use this proxy first]' \ --socks4a'[SOCKS4a proxy on given host + port]':'<host[:port]>' \ {-Y,--speed-limit}'[Stop transfers slower than this]':'<speed>' \ {-z,--time-cond}'[Transfer based on a time condition]':'<time>' \ --capath'[CA directory to verify peer against]':'<dir>':_files \ {-f,--fail}'[Fail silently (no output at all) on HTTP errors]' \ + --http2-prior-knowledge'[Use HTTP 2 without HTTP/1.1 Upgrade]' \ --proxy-tlspassword'[TLS password for HTTPS proxy]':'<string>' \ {-U,--proxy-user}'[Proxy user and password]':'<user:password>' \ --proxy1.0'[Use HTTP/1.0 proxy on given port]':'<host[:port]>' \ @@ -81,52 +82,49 @@ {-A,--user-agent}'[Send User-Agent <name> to server]':'<name>' \ --egd-file'[EGD socket path for random data]':'<file>':_files \ --fail-early'[Fail on first transfer error, do not continue]' \ - --haproxy-protocol'[HAProxy PROXY protocol v1 header]':'Send' \ - --preproxy'[Use this proxy first]':'[protocol://]host[:port]' \ + {-J,--remote-header-name}'[Use the header-provided filename]' \ --retry-max-time'[Retry only within this period]':'<seconds>' \ --socks4'[SOCKS4 proxy on given host + port]':'<host[:port]>' \ --socks5'[SOCKS5 proxy on given host + port]':'<host[:port]>' \ - --socks5-gssapi-nec'[with NEC SOCKS5 server]':'Compatibility' \ - --ssl-allow-beast'[security flaw to improve interop]':'Allow' \ --cert-status'[Verify the status of the server certificate]' \ - --ftp-create-dirs'[the remote dirs if not present]':'Create' \ {-:,--next}'[Make next URL use its separate set of options]' \ --proxy-key-type'[Private key file type for proxy]':'<type>' \ - --remote-name-all'[the remote file name for all URLs]':'Use' \ {-X,--request}'[Specify request command to use]':'<command>' \ --retry'[Retry request if transient problems occur]':'<num>' \ - --ssl-no-revoke'[cert revocation checks (WinSSL)]':'Disable' \ --cert-type'[Certificate file type (DER/PEM/ENG)]':'<type>' \ --connect-to'[Connect to host]':'<HOST1:PORT1:HOST2:PORT2>' \ --create-dirs'[Create necessary local directory hierarchy]' \ + --haproxy-protocol'[Send HAProxy PROXY protocol v1 header]' \ --max-redirs'[Maximum number of redirects allowed]':'<num>' \ {-n,--netrc}'[Must read .netrc for user name and password]' \ + {-x,--proxy}'[\[protocol://\]host\[:port\] Use this proxy]' \ --proxy-crlfile'[Set a CRL list for proxy]':'<file>':_files \ --sasl-ir'[Enable initial response in SASL authentication]' \ - --socks5-gssapi'[GSS-API auth for SOCKS5 proxies]':'Enable' \ + --socks5-gssapi-nec'[Compatibility with NEC SOCKS5 server]' \ + --ssl-allow-beast'[Allow security flaw to improve interop]' \ + --ftp-create-dirs'[Create the remote dirs if not present]' \ --interface'[Use network INTERFACE (or address)]':'<name>' \ --key-type'[Private key file type (DER/PEM/ENG)]':'<type>' \ --netrc-file'[Specify FILE for netrc]':'<filename>':_files \ {-N,--no-buffer}'[Disable buffering of the output stream]' \ --proxy-service-name'[SPNEGO proxy service name]':'<name>' \ - --styled-output'[styled output for HTTP headers]':'Enable' \ + --remote-name-all'[Use the remote file name for all URLs]' \ + --ssl-no-revoke'[Disable cert revocation checks (WinSSL)]' \ --max-filesize'[Maximum file size to download]':'<bytes>' \ --negotiate'[Use HTTP Negotiate (SPNEGO) authentication]' \ --no-keepalive'[Disable TCP keepalive on the connection]' \ {-#,--progress-bar}'[Display transfer progress as a bar]' \ - {-x,--proxy}'[Use this proxy]':'[protocol://]host[:port]' \ - --proxy-anyauth'[any proxy authentication method]':'Pick' \ {-Q,--quote}'[Send command(s) to server before transfer]' \ - --request-target'[the target for this request]':'Specify' \ + --socks5-gssapi'[Enable GSS-API auth for SOCKS5 proxies]' \ {-u,--user}'[Server user and password]':'<user:password>' \ {-K,--config}'[Read config from a file]':'<file>':_files \ {-C,--continue-at}'[Resumed transfer offset]':'<offset>' \ --data-raw'[HTTP POST data, '\''@'\'' allowed]':'<data>' \ - --disallow-username-in-url'[username in url]':'Disallow' \ --krb'[Enable Kerberos with security <level>]':'<level>' \ --proxy-ciphers'[SSL ciphers to use for proxy]':'<list>' \ --proxy-digest'[Use Digest authentication on the proxy]' \ --proxy-tlsuser'[TLS username for HTTPS proxy]':'<name>' \ + --styled-output'[Enable styled output for HTTP headers]' \ {-b,--cookie}'[Send cookies from string/file]':'<data>' \ --data-urlencode'[HTTP POST data url encoded]':'<data>' \ --delegation'[GSS-API delegation permission]':'<LEVEL>' \ @@ -134,7 +132,10 @@ --post301'[Do not switch to GET after following a 301]' \ --post302'[Do not switch to GET after following a 302]' \ --post303'[Do not switch to GET after following a 303]' \ + --proxy-anyauth'[Pick any proxy authentication method]' \ + --request-target'[Specify the target for this request]' \ --trace-time'[Add time stamps to trace/verbose output]' \ + --disallow-username-in-url'[Disallow username in url]' \ --dns-servers'[DNS server addrs to use]':'<addresses>' \ {-G,--get}'[Put the post data in the URL and use GET]' \ --limit-rate'[Limit transfer speed to RATE]':'<speed>' \ @@ -148,21 +149,21 @@ --metalink'[Process given URLs as metalink XML file]' \ --tr-encoding'[Request compressed transfer encoding]' \ --xattr'[Store metadata in extended file attributes]' \ - --ftp-skip-pasv-ip'[the IP address for PASV]':'Skip' \ --pass'[Pass phrase for the private key]':'<phrase>' \ --proxy-ntlm'[Use NTLM authentication on the proxy]' \ {-S,--show-error}'[Show error even when -s is used]' \ - --ciphers'[of ciphers> SSL ciphers to use]':'<list' \ + --ciphers'[SSL ciphers to use]':'<list of ciphers>' \ --form-string'[Specify multipart MIME data]':'<name=string>' \ --login-options'[Server login options]':'<options>' \ --tftp-blksize'[Set TFTP BLKSIZE option]':'<value>' \ - --tftp-no-options'[not send any TFTP options]':'Do' \ {-v,--verbose}'[Make the operation more talkative]' \ + --ftp-skip-pasv-ip'[Skip the IP address for PASV]' \ --proxy-key'[Private key for HTTPS proxy]':'<key>' \ {-F,--form}'[Specify multipart MIME data]':'<name=content>' \ --mail-from'[Mail from this address]':'<address>' \ --oauth2-bearer'[OAuth 2 Bearer Token]':'<token>' \ --proto'[Enable/disable PROTOCOLS]':'<protocols>' \ + --tftp-no-options'[Do not send any TFTP options]' \ --tlsauthtype'[TLS authentication type]':'<type>' \ --doh-url'[Resolve host names over DOH]':'<URL>' \ --no-sessionid'[Disable SSL session-ID reusing]' \ @@ -173,14 +174,13 @@ --ftp-ssl-ccc'[Send CCC after authenticating]' \ {-4,--ipv4}'[Resolve names to IPv4 addresses]' \ {-6,--ipv6}'[Resolve names to IPv6 addresses]' \ - --netrc-optional'[either .netrc or URL]':'Use' \ --service-name'[SPNEGO service name]':'<name>' \ {-V,--version}'[Show version number and quit]' \ --data-ascii'[HTTP POST ASCII data]':'<data>' \ --ftp-account'[Account data string]':'<data>' \ - --compressed-ssh'[SSH compression]':'Enable' \ --disable-eprt'[Inhibit using EPRT or LPRT]' \ --ftp-method'[Control CWD usage]':'<method>' \ + --netrc-optional'[Use either .netrc or URL]' \ --pubkey'[SSH Public key file name]':'<key>' \ --raw'[Do HTTP "raw"; no transfer decoding]' \ --anyauth'[Pick any authentication method]' \ @@ -189,6 +189,7 @@ --no-alpn'[Disable the ALPN TLS extension]' \ --tcp-nodelay'[Use the TCP_NODELAY option]' \ {-B,--use-ascii}'[Use ASCII/text transfer]' \ + --compressed-ssh'[Enable SSH compression]' \ --digest'[Use HTTP Digest Authentication]' \ --proxy-tlsv1'[Use TLSv1 for HTTPS proxy]' \ --engine'[Crypto engine to use]':'<name>' \ Marcel Raad (7 Feb 2019) - tool_operate: fix typecheck warning Use long for CURLOPT_HTTP09_ALLOWED to fix the following warning: tool_operate.c: In function 'operate_do': ../include/curl/typecheck-gcc.h:47:9: error: call to '_curl_easy_setopt_err_long' declared with attribute warning: curl_easy_setopt expects a long argument for this option [-Werror] Closes https://github.com/curl/curl/pull/3534 Jay Satiro (6 Feb 2019) - [Chris Araman brought this change] url: close TLS before removing conn from cache - Fix potential crashes in schannel shutdown. Ensure any TLS shutdown messages are sent before removing the association between the connection and the easy handle. Reverts @bagder's previous partial fix for #3412. Fixes https://github.com/curl/curl/issues/3412 Fixes https://github.com/curl/curl/issues/3505 Closes https://github.com/curl/curl/pull/3531 Daniel Gustafsson (6 Feb 2019) - INTERNALS.md: fix subsection depth and link The Kerberos subsection was mistakenly a subsubsection under FTP, and the curlx subsection was missing an anchor for the TOC link. Closes #3529 Reviewed-by: Daniel Stenberg <daniel@haxx.se> Version 7.64.0 (6 Feb 2019) Daniel Stenberg (6 Feb 2019) - RELEASE-NOTES: 7.64.0 - RELEASE-PROCEDURE: update the release calendar |
︙ | ︙ | |||
6347 6348 6349 6350 6351 6352 6353 | Daniel Stenberg (12 May 2018) - smb: reject negative file sizes Assisted-by: Max Dymond Detected by OSS-Fuzz Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8245 | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 8006 8007 8008 8009 8010 8011 8012 | Daniel Stenberg (12 May 2018) - smb: reject negative file sizes Assisted-by: Max Dymond Detected by OSS-Fuzz Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8245 |
Changes to jni/curl/Makefile.am.
︙ | ︙ | |||
151 152 153 154 155 156 157 | projects/wolfssl_options.h \ projects/wolfssl_override.props WINBUILD_DIST = winbuild/BUILD.WINDOWS.txt winbuild/gen_resp_file.bat \ winbuild/MakefileBuild.vc winbuild/Makefile.vc EXTRA_DIST = CHANGES COPYING maketgz Makefile.dist curl-config.in \ | | | | 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | projects/wolfssl_options.h \ projects/wolfssl_override.props WINBUILD_DIST = winbuild/BUILD.WINDOWS.txt winbuild/gen_resp_file.bat \ winbuild/MakefileBuild.vc winbuild/Makefile.vc EXTRA_DIST = CHANGES COPYING maketgz Makefile.dist curl-config.in \ RELEASE-NOTES buildconf libcurl.pc.in MacOSX-Framework \ scripts/updatemanpages.pl $(CMAKE_DIST) $(VC_DIST) $(WINBUILD_DIST) \ lib/libcurl.vers.in buildconf.bat scripts/coverage.sh scripts/completion.pl CLEANFILES = $(VC6_LIBDSP) $(VC6_SRCDSP) $(VC7_LIBVCPROJ) $(VC7_SRCVCPROJ) \ $(VC71_LIBVCPROJ) $(VC71_SRCVCPROJ) $(VC8_LIBVCPROJ) $(VC8_SRCVCPROJ) \ $(VC9_LIBVCPROJ) $(VC9_SRCVCPROJ) $(VC10_LIBVCXPROJ) $(VC10_SRCVCXPROJ) \ $(VC11_LIBVCXPROJ) $(VC11_SRCVCXPROJ) $(VC12_LIBVCXPROJ) $(VC12_SRCVCXPROJ) \ $(VC14_LIBVCXPROJ) $(VC14_SRCVCXPROJ) $(VC15_LIBVCXPROJ) $(VC15_SRCVCXPROJ) |
︙ | ︙ |
Changes to jni/curl/Makefile.in.
︙ | ︙ | |||
39 40 41 42 43 44 45 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ | > > | 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ |
︙ | ︙ | |||
423 424 425 426 427 428 429 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ | < > | 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ |
︙ | ︙ | |||
620 621 622 623 624 625 626 | projects/wolfssl_options.h \ projects/wolfssl_override.props WINBUILD_DIST = winbuild/BUILD.WINDOWS.txt winbuild/gen_resp_file.bat \ winbuild/MakefileBuild.vc winbuild/Makefile.vc EXTRA_DIST = CHANGES COPYING maketgz Makefile.dist curl-config.in \ | | | | 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 | projects/wolfssl_options.h \ projects/wolfssl_override.props WINBUILD_DIST = winbuild/BUILD.WINDOWS.txt winbuild/gen_resp_file.bat \ winbuild/MakefileBuild.vc winbuild/Makefile.vc EXTRA_DIST = CHANGES COPYING maketgz Makefile.dist curl-config.in \ RELEASE-NOTES buildconf libcurl.pc.in MacOSX-Framework \ scripts/updatemanpages.pl $(CMAKE_DIST) $(VC_DIST) $(WINBUILD_DIST) \ lib/libcurl.vers.in buildconf.bat scripts/coverage.sh scripts/completion.pl CLEANFILES = $(VC6_LIBDSP) $(VC6_SRCDSP) $(VC7_LIBVCPROJ) $(VC7_SRCVCPROJ) \ $(VC71_LIBVCPROJ) $(VC71_SRCVCPROJ) $(VC8_LIBVCPROJ) $(VC8_SRCVCPROJ) \ $(VC9_LIBVCPROJ) $(VC9_SRCVCPROJ) $(VC10_LIBVCXPROJ) $(VC10_SRCVCXPROJ) \ $(VC11_LIBVCXPROJ) $(VC11_SRCVCXPROJ) $(VC12_LIBVCXPROJ) $(VC12_SRCVCXPROJ) \ $(VC14_LIBVCXPROJ) $(VC14_SRCVCXPROJ) $(VC15_LIBVCXPROJ) $(VC15_SRCVCXPROJ) |
︙ | ︙ | |||
644 645 646 647 648 649 650 | vauth/krb5_sspi.c vauth/ntlm.c vauth/ntlm_sspi.c vauth/oauth2.c \ vauth/spnego_gssapi.c vauth/spnego_sspi.c LIB_VAUTH_HFILES = vauth/vauth.h vauth/digest.h vauth/ntlm.h LIB_VTLS_CFILES = vtls/openssl.c vtls/gtls.c vtls/vtls.c vtls/nss.c \ vtls/polarssl.c vtls/polarssl_threadlock.c \ vtls/cyassl.c vtls/schannel.c vtls/schannel_verify.c \ | | | | | > | 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 | vauth/krb5_sspi.c vauth/ntlm.c vauth/ntlm_sspi.c vauth/oauth2.c \ vauth/spnego_gssapi.c vauth/spnego_sspi.c LIB_VAUTH_HFILES = vauth/vauth.h vauth/digest.h vauth/ntlm.h LIB_VTLS_CFILES = vtls/openssl.c vtls/gtls.c vtls/vtls.c vtls/nss.c \ vtls/polarssl.c vtls/polarssl_threadlock.c \ vtls/cyassl.c vtls/schannel.c vtls/schannel_verify.c \ vtls/sectransp.c vtls/gskit.c vtls/mbedtls.c vtls/mesalink.c LIB_VTLS_HFILES = vtls/openssl.h vtls/vtls.h vtls/gtls.h \ vtls/nssg.h vtls/polarssl.h vtls/polarssl_threadlock.h \ vtls/cyassl.h vtls/schannel.h vtls/sectransp.h vtls/gskit.h \ vtls/mbedtls.h vtls/mesalink.h LIB_CFILES = file.c timeval.c base64.c hostip.c progress.c formdata.c \ cookie.c http.c sendf.c ftp.c url.c dict.c if2ip.c speedcheck.c \ ldap.c version.c getenv.c escape.c mprintf.c telnet.c netrc.c \ getinfo.c transfer.c strcase.c easy.c security.c curl_fnmatch.c \ fileinfo.c ftplistparser.c wildcard.c krb5.c memdebug.c http_chunks.c \ strtok.c connect.c llist.c hash.c multi.c content_encoding.c share.c \ http_digest.c md4.c md5.c http_negotiate.c inet_pton.c strtoofft.c \ strerror.c amigaos.c hostasyn.c hostip4.c hostip6.c hostsyn.c \ inet_ntop.c parsedate.c select.c tftp.c splay.c strdup.c socks.c \ ssh.c ssh-libssh.c curl_addrinfo.c socks_gssapi.c socks_sspi.c \ curl_sspi.c slist.c nonblock.c curl_memrchr.c imap.c pop3.c smtp.c \ pingpong.c rtsp.c curl_threads.c warnless.c hmac.c curl_rtmp.c \ openldap.c curl_gethostname.c gopher.c idn_win32.c \ http_proxy.c non-ascii.c asyn-ares.c asyn-thread.c curl_gssapi.c \ http_ntlm.c curl_ntlm_wb.c curl_ntlm_core.c curl_sasl.c rand.c \ curl_multibyte.c hostcheck.c conncache.c pipeline.c dotdot.c \ x509asn1.c http2.c smb.c curl_endian.c curl_des.c system_win32.c \ mime.c sha256.c setopt.c curl_path.c curl_ctype.c curl_range.c psl.c \ doh.c urlapi.c altsvc.c LIB_HFILES = arpa_telnet.h netrc.h file.h timeval.h hostip.h progress.h \ formdata.h cookie.h http.h sendf.h ftp.h url.h dict.h if2ip.h \ speedcheck.h urldata.h curl_ldap.h escape.h telnet.h getinfo.h \ strcase.h curl_sec.h memdebug.h http_chunks.h curl_fnmatch.h \ wildcard.h fileinfo.h ftplistparser.h strtok.h connect.h llist.h \ hash.h content_encoding.h share.h curl_md4.h curl_md5.h http_digest.h \ http_negotiate.h inet_pton.h amigaos.h strtoofft.h strerror.h \ inet_ntop.h curlx.h curl_memory.h curl_setup.h transfer.h select.h \ easyif.h multiif.h parsedate.h tftp.h sockaddr.h splay.h strdup.h \ socks.h ssh.h curl_base64.h curl_addrinfo.h curl_sspi.h \ slist.h nonblock.h curl_memrchr.h imap.h pop3.h smtp.h pingpong.h \ rtsp.h curl_threads.h warnless.h curl_hmac.h curl_rtmp.h \ curl_gethostname.h gopher.h http_proxy.h non-ascii.h asyn.h \ http_ntlm.h curl_gssapi.h curl_ntlm_wb.h curl_ntlm_core.h \ curl_sasl.h curl_multibyte.h hostcheck.h conncache.h \ curl_setup_once.h multihandle.h setup-vms.h pipeline.h dotdot.h \ x509asn1.h http2.h sigpipe.h smb.h curl_endian.h curl_des.h \ curl_printf.h system_win32.h rand.h mime.h curl_sha256.h setopt.h \ curl_path.h curl_ctype.h curl_range.h psl.h doh.h urlapi-int.h \ altsvc.h LIB_RCFILES = libcurl.rc CSOURCES = $(LIB_CFILES) $(LIB_VAUTH_CFILES) $(LIB_VTLS_CFILES) HHEADERS = $(LIB_HFILES) $(LIB_VAUTH_HFILES) $(LIB_VTLS_HFILES) # libcurl has sources that provide functions named curlx_* that aren't part of # the official API, but we re-use the code here to avoid duplication. |
︙ | ︙ |
Changes to jni/curl/RELEASE-NOTES.
|
| | | | | | < | < | < | | | | | | | | > | | < | | | | | | > > > | | > > > > > > > < < < | < | < < < > > | > > > | > > | > | > > > | < > > > > > | > | < < > > > | > > > | > > > > | > | | | | < < < < < < < < > > | | | | < > > > | | > > | | < | | > | | | > > > | > > > > > | > | | | < > > > | < > > > > | | > | < | < | < | > | | > | < | | | | | | | | | | | | | | | | | | > > > > > > > > > > | | | | | | | > | | > | | | | | | | | > > | | > > > | > > > | | | | | | | | | | | | | | > | | | | | | | | | | | | | | | | | | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 | curl and libcurl 7.64.1 Public curl releases: 180 Command line options: 221 curl_easy_setopt() options: 267 Public functions in libcurl: 80 Contributors: 1929 This release includes the following changes: o alt-svc: experiemental support added [74] o configure: add --with-amissl [84] This release includes the following bugfixes: o AppVeyor: add MinGW-w64 and classic Mingw builds [55] o AppVeyor: switch VS 2015 builds to VS 2017 image [49] o CURLU: fix NULL dereference when used over proxy [73] o Curl_easy: remove req.maxfd - never used! [58] o Curl_now: figure out windows version in win32_init: [11] o Curl_resolv: fix a gcc -Werror=maybe-uninitialized warning [20] o DoH: inherit some SSL options from user's easy handle [80] o Secure Transport: no more "darwinssl" [56] o Secure Transport: tvOS 11 is required for ALPN support [94] o cirrus: Added FreeBSD builds using Cirrus CI o cleanup: make local functions static [5] o cli tool: do not use mime.h private structures [27] o cmdline-opts/proxytunnel.d: the option tunnnels all protocols [83] o configure: add additional libraries to check for LDAP support [45] o configure: remove the unused fdopen macro [40] o configure: show features as well in the final summary [15] o conncache: use conn->data to know if a transfer owns it [95] o connection: never reuse CONNECT_ONLY connections [35] o connection_check: restore original conn->data after the check [14] o connection_check: set ->data to the transfer doing the check [3] o cookie: Add support for cookie prefixes [29] o cookies: dotless names can set cookies again [81] o cookies: fix NULL dereference if flushing cookies with no CookieInfo set [47] o curl.1: --user and --proxy-user are hidden from ps output [86] o curl.1: mark the argument to --cookie as <data|filename> [87] o curl.h: use __has_declspec_attribute for shared builds [52] o curl: display --version features sorted alphabetically [51] o curl: fix FreeBSD compiler warning in the --xattr code [2] o curl: remove MANUAL from -M output [38] o curl_easy_duphandle.3: clarify that a duped handle has no shares [64] o curl_multi_remove_handle.3: use at any time, just not from within callbacks o curl_url.3: this API is not experimental anymore o dns: release sharelock as soon as possible [1] o docs: update max-redirs.d phrasing [59] o easy: fix win32 init to work without CURL_GLOBAL_WIN32 [30] o examples/10-at-a-time.c: improve readability and simplify o examples/cacertinmem.c: use multiple certificates for loading CA-chain [54] o examples/crawler: Fix the Accept-Encoding setting o examples/ephiperfifo.c: various fixes [63] o examples/externalsocket: add missing close socket calls [78] o examples/http2-download: cleaned up o examples/http2-serverpush: add some sensible error checks [31] o examples/http2-upload: cleaned up o examples/httpcustomheader: Value stored to 'res' is never read o examples/postinmemory: Potential leak of memory pointed to by 'chunk.memory' o examples/sftpuploadresume: Value stored to 'result' is never read o examples: only include <curl/curl.h> [70] o examples: remove recursive calls to curl_multi_socket_action [42] o examples: remove superfluous null-pointer checks o file: fix "Checking if unsigned variable 'readcount' is less than zero." [90] o fnmatch: disable if FTP is disabled [25] o gnutls: remove call to deprecated gnutls_compression_get_name [66] o gopher: remove check for path == NULL [69] o gssapi: fix deprecated header warnings [16] o hostip: make create_hostcache_id avoid alloc + free [4] o http2: multi_connchanged() moved from multi.c, only used for h2 [21] o http2: verify :athority in push promise requests [37] o http: make adding a blank header thread-safe [33] o http: send payload when (proxy) authentication is done [89] o http: set state.infilesize when sending multipart formposts [57] o makefile: make checksrc and hugefile commands "silent" [85] o mbedtls: make it build even if MBEDTLS_VERSION_C isn't set [24] o mbedtls: release sessionid resources on error [28] o memdebug: log pointer before freeing its data [91] o memdebug: make debug-specific functions use curl_dbg_ prefix [82] o mime: put the boundary buffer into the curl_mime struct [18] o multi: call multi_done on connect timeouts, fixes CURLINFO_TOTAL_TIME [43] o multi: remove verbose "Expire in" ... messages [23] o multi: removed unused code for request retries [79] o multi: support verbose conncache closure handle [72] o negotiate: fix for HTTP POST with Negotiate [88] o openssl: add support for TLS ASYNC state [46] o openssl: if cert type is ENG and no key specified, key is ENG too [93] o pretransfer: don't strlen() POSTFIELDS set for GET requests [22] o rand: Fix a mismatch between comments in source and header [32] o runtests: detect "schannel" as an alias for "winssl" [50] o schannel: be quiet - remove verbose output [19] o schannel: close TLS before removing conn from cache [10] o schannel: support CALG_ECDH_EPHEM algorithm [44] o scripts/completion.pl: also generate fish completion file [67] o singlesocket: fix the 'sincebefore' placement [36] o source: fix two 'nread' may be used uninitialized warnings [68] o ssh: fix Condition '!status' is always true [60] o ssh: loop the state machine if not done and not blocking [71] o strerror: make the strerror function use local buffers [48] o system_win32: move win32_init here from easy.c [65] o test578: make it read data from the correct test o tests: Fixed XML validation errors in some test files o tests: add stderr comparison to the test suite [26] o tests: fix multiple may be used uninitialized warnings o threaded-resolver: shutdown the resolver thread without error message [61] o tool_cb_wrt: fix writing to Windows null device NUL [96] o tool_getpass: termios.h is present on AmigaOS 3, but no tcgetattr/tcsetattr [84] o tool_operate: build on AmigaOS [84] o tool_operate: fix typecheck warning [9] o transfer.c: do not compute length of undefined hex buffer o travis: add build using gnutls [75] o travis: add scan-build [13] o travis: bump the used wolfSSL version to 4.0.0 [92] o travis: enable valgrind for the iconv tests [12] o travis: use updated compiler versions: clang 7 and gcc 8 [77] o unit1307: require FTP support [17] o unit1651: survive curl_easy_init() fails o url/idnconvert: remove scan for <= 32 ascii values [6] o url: change conn shutdown order to ensure SOCKETFUNCTION callbacks [39] o urlapi: reduce variable scope, remove unreachable 'break' [7] o urldata: convert bools to bitfields and move to end [53] o urldata: simplify bytecounters [62] o urlglob: Argument with 'nonnull' attribute passed null o version.c: silent scan-build even when librtmp is not enabled o vtls: rename some of the SSL functions [84] o wolfssl: stop custom-adding curves [41] o x509asn1: "Dereference of null pointer" o x509asn1: cleanup and unify code layout [34] o zsh.pl: escape ':' character [8] o zsh.pl: update regex to better match curl -h output [8] This release includes the following known bugs: o see docs/KNOWN_BUGS (https://curl.haxx.se/docs/knownbugs.html) This release would not have looked like this without help, code, reports and advice from friends like these: accountantM on github, Alessandro Ghedini, Andre Guibert de Bruet, Arnaud Rebillout, Bernd Mueller, Björn Stenberg, buzo-ffm on github, Chris Araman, Christian Schmitz, Chris Young, d912e3 on github, Dan Fandrich, Daniel Gustafsson, Daniel Lublin, Daniel Stenberg, David Garske, David Woodhouse, Dominik Hölzl, Don J Olmstead, Eric Curtin, Frank Gevaerts, Gisle Vanem, James Brown, Jan Alexander Steffens, jnbr on github, MAntoniak on github, Marcel Raad, Marc Schlatter, Matt McClure, Michael Felt, Michael Schmid, Michael Wallner, Michał Antoniak, nedres on github, nianxuejie on github, Nick Zitzmann, Nicolas Grekas, Patrick Monnerat, Paul Groke, Pavel Löbl, Ray Satiro, Renaud Allard, Romain Geissler, Sara Golemon, Simon Legner, tholin on github, Tim Rühsen, Volker Schmid, wesinator on github, (49 contributors) Thanks! (and sorry if I forgot to mention someone) References to bug reports and discussions on issues: [1] = https://curl.haxx.se/bug/?i=3516 [2] = https://curl.haxx.se/bug/?i=3550 [3] = https://curl.haxx.se/bug/?i=3541 [4] = https://curl.haxx.se/bug/?i=3544 [5] = https://curl.haxx.se/bug/?i=3538 [6] = https://curl.haxx.se/bug/?i=3539 [7] = https://curl.haxx.se/bug/?i=3540 [8] = https://bugs.debian.org/921452 [9] = https://curl.haxx.se/bug/?i=3534 [10] = https://curl.haxx.se/bug/?i=3412 [11] = https://curl.haxx.se/bug/?i=3572 [12] = https://curl.haxx.se/bug/?i=3571 [13] = https://curl.haxx.se/bug/?i=3564 [14] = https://curl.haxx.se/bug/?i=3542 [15] = https://curl.haxx.se/bug/?i=3569 [16] = https://curl.haxx.se/bug/?i=3566 [17] = https://curl.haxx.se/bug/?i=3565 [18] = https://curl.haxx.se/bug/?i=3561 [19] = https://curl.haxx.se/bug/?i=3552 [20] = https://curl.haxx.se/bug/?i=3562 [21] = https://curl.haxx.se/bug/?i=3557 [22] = https://curl.haxx.se/bug/?i=3548 [23] = https://curl.haxx.se/mail/archive-2019-02/0013.html [24] = https://curl.haxx.se/bug/?i=3553 [25] = https://curl.haxx.se/bug/?i=3551 [26] = https://curl.haxx.se/bug/?i=3536 [27] = https://curl.haxx.se/bug/?i=3532 [28] = https://curl.haxx.se/bug/?i=3574 [29] = https://curl.haxx.se/bug/?i=3554 [30] = https://curl.haxx.se/bug/?i=3313 [31] = https://curl.haxx.se/bug/?i=3580 [32] = https://curl.haxx.se/bug/?i=3584 [33] = https://curl.haxx.se/bug/?i=3578 [34] = https://curl.haxx.se/bug/?i=3582 [35] = https://curl.haxx.se/mail/lib-2019-02/0064.html [36] = https://curl.haxx.se/bug/?i=3585 [37] = https://curl.haxx.se/bug/?i=3577 [38] = https://curl.haxx.se/bug/?i=3587 [39] = https://curl.haxx.se/mail/lib-2019-02/0101.html [40] = https://curl.haxx.se/bug/?i=3600 [41] = https://curl.haxx.se/bug/?i=3599 [42] = https://curl.haxx.se/bug/?i=3537 [43] = https://curl.haxx.se/bug/?i=3602 [44] = https://curl.haxx.se/bug/?i=3608 [45] = https://curl.haxx.se/bug/?i=3595 [46] = https://curl.haxx.se/bug/?i=3591 [47] = https://curl.haxx.se/bug/?i=3613 [48] = https://curl.haxx.se/bug/?i=3612 [49] = https://curl.haxx.se/bug/?i=3606 [50] = https://curl.haxx.se/bug/?i=3609 [51] = https://curl.haxx.se/bug/?i=3611 [52] = https://curl.haxx.se/bug/?i=3616 [53] = https://curl.haxx.se/bug/?i=3610 [54] = https://curl.haxx.se/bug/?i=3421 [55] = https://curl.haxx.se/bug/?i=3623 [56] = https://curl.haxx.se/bug/?i=3619 [57] = https://curl.haxx.se/mail/archive-2019-02/0023.html [58] = https://curl.haxx.se/bug/?i=3626 [59] = https://curl.haxx.se/bug/?i=3631 [60] = https://curl.haxx.se/bug/?i=3628 [61] = https://curl.haxx.se/bug/?i=3629 [62] = https://curl.haxx.se/bug/?i=3627 [63] = https://curl.haxx.se/bug/?i=3632 [64] = https://curl.haxx.se/bug/?i=3592 [65] = https://curl.haxx.se/bug/?i=3625 [66] = https://curl.haxx.se/bug/?i=3636 [67] = https://curl.haxx.se/bug/?i=3545 [68] = https://curl.haxx.se/bug/?i=3546 [69] = https://curl.haxx.se/bug/?i=3617 [70] = https://curl.haxx.se/bug/?i=3645 [71] = https://curl.haxx.se/bug/?i=3506 [72] = https://curl.haxx.se/bug/?i=3618 [73] = https://curl.haxx.se/bug/?i=3641 [74] = https://curl.haxx.se/bug/?i=3498 [76] = https://curl.haxx.se/bug/?i=3637 [77] = https://curl.haxx.se/bug/?i=3670 [78] = https://curl.haxx.se/bug/?i=3663 [79] = https://curl.haxx.se/bug/?i=3666 [80] = https://curl.haxx.se/bug/?i=3660 [81] = https://curl.haxx.se/bug/?i=3649 [82] = https://curl.haxx.se/bug/?i=3656 [83] = https://curl.haxx.se/bug/?i=3658 [84] = https://curl.haxx.se/bug/?i=3677 [85] = https://curl.haxx.se/bug/?i=3681 [86] = https://curl.haxx.se/bug/?i=3680 [87] = https://curl.haxx.se/bug/?i=3682 [88] = https://curl.haxx.se/bug/?i=1261 [89] = https://curl.haxx.se/bug/?i=2431 [90] = https://curl.haxx.se/bug/?i=3672 [91] = https://curl.haxx.se/bug/?i=3671 [92] = https://curl.haxx.se/bug/?i=3697 [93] = https://curl.haxx.se/bug/?i=3692 [94] = https://curl.haxx.se/bug/?i=3689 [95] = https://curl.haxx.se/bug/?i=3686 [96] = https://github.com/curl/curl/issues/3175#issuecomment-439068724 |
Changes to jni/curl/acinclude.m4.
︙ | ︙ | |||
787 788 789 790 791 792 793 | curl_cv_ldap_LIBS="unknown" # for x_nlibs in '' "$u_libs" \ '-lldap' \ '-lldap -llber' \ '-llber -lldap' \ '-lldapssl -lldapx -lldapsdk' \ | | > > | 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 | curl_cv_ldap_LIBS="unknown" # for x_nlibs in '' "$u_libs" \ '-lldap' \ '-lldap -llber' \ '-llber -lldap' \ '-lldapssl -lldapx -lldapsdk' \ '-lldapsdk -lldapx -lldapssl' \ '-lldap -llber -lssl -lcrypto' ; do if test "$curl_cv_ldap_LIBS" = "unknown"; then if test -z "$x_nlibs"; then LIBS="$curl_cv_save_LIBS" else LIBS="$x_nlibs $curl_cv_save_LIBS" fi AC_LINK_IFELSE([ |
︙ | ︙ | |||
1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 | #include <winsock2.h> #else #ifdef HAVE_WINSOCK_H #include <winsock.h> #endif #endif #else #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif | > > > > | 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 | #include <winsock2.h> #else #ifdef HAVE_WINSOCK_H #include <winsock.h> #endif #endif #else #ifdef HAVE_PROTO_BSDSOCKET_H #include <proto/bsdsocket.h> struct Library *SocketBase = NULL; #endif #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif |
︙ | ︙ | |||
1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 | #else #ifdef HAVE_WINSOCK_H #include <winsock.h> #endif #endif #define RECVCALLCONV PASCAL #else #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #define RECVCALLCONV #endif extern $recv_retv RECVCALLCONV recv($recv_arg1, $recv_arg2, $recv_arg3, $recv_arg4); ]],[[ $recv_arg1 s=0; $recv_arg2 buf=0; $recv_arg3 len=0; $recv_arg4 flags=0; $recv_retv res = recv(s, buf, len, flags); ]]) | > > > > > > | 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 | #else #ifdef HAVE_WINSOCK_H #include <winsock.h> #endif #endif #define RECVCALLCONV PASCAL #else #ifdef HAVE_PROTO_BSDSOCKET_H #include <proto/bsdsocket.h> struct Library *SocketBase = NULL; #endif #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #define RECVCALLCONV #endif #ifndef HAVE_PROTO_BSDSOCKET_H extern $recv_retv RECVCALLCONV recv($recv_arg1, $recv_arg2, $recv_arg3, $recv_arg4); #endif ]],[[ $recv_arg1 s=0; $recv_arg2 buf=0; $recv_arg3 len=0; $recv_arg4 flags=0; $recv_retv res = recv(s, buf, len, flags); ]]) |
︙ | ︙ | |||
1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 | #include <winsock2.h> #else #ifdef HAVE_WINSOCK_H #include <winsock.h> #endif #endif #else #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif | > > > > | 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 | #include <winsock2.h> #else #ifdef HAVE_WINSOCK_H #include <winsock.h> #endif #endif #else #ifdef HAVE_PROTO_BSDSOCKET_H #include <proto/bsdsocket.h> struct Library *SocketBase = NULL; #endif #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif |
︙ | ︙ | |||
1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 | #else #ifdef HAVE_WINSOCK_H #include <winsock.h> #endif #endif #define SENDCALLCONV PASCAL #else #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #define SENDCALLCONV #endif extern $send_retv SENDCALLCONV send($send_arg1, $send_arg2, $send_arg3, $send_arg4); ]],[[ $send_arg1 s=0; $send_arg3 len=0; $send_arg4 flags=0; $send_retv res = send(s, 0, len, flags); ]]) ],[ | > > > > > > | 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 | #else #ifdef HAVE_WINSOCK_H #include <winsock.h> #endif #endif #define SENDCALLCONV PASCAL #else #ifdef HAVE_PROTO_BSDSOCKET_H #include <proto/bsdsocket.h> struct Library *SocketBase = NULL; #endif #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #define SENDCALLCONV #endif #ifndef HAVE_PROTO_BSDSOCKET_H extern $send_retv SENDCALLCONV send($send_arg1, $send_arg2, $send_arg3, $send_arg4); #endif ]],[[ $send_arg1 s=0; $send_arg3 len=0; $send_arg4 flags=0; $send_retv res = send(s, 0, len, flags); ]]) ],[ |
︙ | ︙ | |||
1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 | #include <winsock2.h> #else #ifdef HAVE_WINSOCK_H #include <winsock.h> #endif #endif #else #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif | > > > > | 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 | #include <winsock2.h> #else #ifdef HAVE_WINSOCK_H #include <winsock.h> #endif #endif #else #ifdef HAVE_PROTO_BSDSOCKET_H #include <proto/bsdsocket.h> struct Library *SocketBase = NULL; #endif #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif |
︙ | ︙ | |||
1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 | dnl CURL_CHECK_LIBS_CONNECT dnl ------------------------------------------------- dnl Verify if network connect function is already available dnl using current libraries or if another one is required. AC_DEFUN([CURL_CHECK_LIBS_CONNECT], [ AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl AC_MSG_CHECKING([for connect in libraries]) tst_connect_save_LIBS="$LIBS" tst_connect_need_LIBS="unknown" for tst_lib in '' '-lsocket' ; do if test "$tst_connect_need_LIBS" = "unknown"; then LIBS="$tst_lib $tst_connect_save_LIBS" AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 | > > | | 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 | dnl CURL_CHECK_LIBS_CONNECT dnl ------------------------------------------------- dnl Verify if network connect function is already available dnl using current libraries or if another one is required. AC_DEFUN([CURL_CHECK_LIBS_CONNECT], [ AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl AC_REQUIRE([CURL_INCLUDES_BSDSOCKET])dnl AC_MSG_CHECKING([for connect in libraries]) tst_connect_save_LIBS="$LIBS" tst_connect_need_LIBS="unknown" for tst_lib in '' '-lsocket' ; do if test "$tst_connect_need_LIBS" = "unknown"; then LIBS="$tst_lib $tst_connect_save_LIBS" AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket #if !defined(HAVE_WINDOWS_H) && !defined(HAVE_PROTO_BSDSOCKET_H) int connect(int, void*, int); #endif ]],[[ if(0 != connect(0, 0, 0)) return 1; ]]) ],[ |
︙ | ︙ | |||
1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 | #endif #else #ifdef HAVE_TIME_H #include <time.h> #endif #endif #ifndef HAVE_WINDOWS_H #ifdef HAVE_SYS_SELECT_H #include <sys/select.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif | > > > > > | 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 | #endif #else #ifdef HAVE_TIME_H #include <time.h> #endif #endif #ifndef HAVE_WINDOWS_H #ifdef HAVE_PROTO_BSDSOCKET_H #include <proto/bsdsocket.h> struct Library *SocketBase = NULL; #define select(a,b,c,d,e) WaitSelect(a,b,c,d,e,0) #endif #ifdef HAVE_SYS_SELECT_H #include <sys/select.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif |
︙ | ︙ | |||
1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 | #endif #else #ifdef HAVE_TIME_H #include <time.h> #endif #endif #ifndef HAVE_WINDOWS_H #ifdef HAVE_SYS_SELECT_H #include <sys/select.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #define SELECTCALLCONV #endif #ifndef HAVE_STRUCT_TIMEVAL struct timeval { long tv_sec; long tv_usec; }; #endif extern $sel_retv SELECTCALLCONV select($sel_arg1, $sel_arg234, $sel_arg234, $sel_arg234, $sel_arg5); ]],[[ $sel_arg1 nfds=0; $sel_arg234 rfds=0; $sel_arg234 wfds=0; $sel_arg234 efds=0; $sel_retv res = select(nfds, rfds, wfds, efds, 0); ]]) | > > > > > > > | 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 | #endif #else #ifdef HAVE_TIME_H #include <time.h> #endif #endif #ifndef HAVE_WINDOWS_H #ifdef HAVE_PROTO_BSDSOCKET_H #include <proto/bsdsocket.h> struct Library *SocketBase = NULL; #define select(a,b,c,d,e) WaitSelect(a,b,c,d,e,0) #endif #ifdef HAVE_SYS_SELECT_H #include <sys/select.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #define SELECTCALLCONV #endif #ifndef HAVE_STRUCT_TIMEVAL struct timeval { long tv_sec; long tv_usec; }; #endif #ifndef HAVE_PROTO_BSDSOCKET_H extern $sel_retv SELECTCALLCONV select($sel_arg1, $sel_arg234, $sel_arg234, $sel_arg234, $sel_arg5); #endif ]],[[ $sel_arg1 nfds=0; $sel_arg234 rfds=0; $sel_arg234 wfds=0; $sel_arg234 efds=0; $sel_retv res = select(nfds, rfds, wfds, efds, 0); ]]) |
︙ | ︙ |
Changes to jni/curl/configure.
︙ | ︙ | |||
899 900 901 902 903 904 905 906 907 908 909 910 911 912 | subdirs USE_MANUAL_FALSE USE_MANUAL_TRUE MANOPT NROFF PERL IPV6_ENABLED ZSH_FUNCTIONS_DIR USE_NGHTTP2 IDN_ENABLED CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS_FALSE CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS_TRUE CURL_LT_SHLIB_VERSIONED_FLAVOUR USE_LIBRTMP | > | 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 | subdirs USE_MANUAL_FALSE USE_MANUAL_TRUE MANOPT NROFF PERL IPV6_ENABLED FISH_FUNCTIONS_DIR ZSH_FUNCTIONS_DIR USE_NGHTTP2 IDN_ENABLED CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS_FALSE CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS_TRUE CURL_LT_SHLIB_VERSIONED_FLAVOUR USE_LIBRTMP |
︙ | ︙ | |||
928 929 930 931 932 933 934 | USE_POLARSSL HAVE_GNUTLS_SRP USE_GNUTLS_NETTLE USE_GNUTLS HAVE_OPENSSL_SRP RANDOM_FILE SSL_LIBS | | > | 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 | USE_POLARSSL HAVE_GNUTLS_SRP USE_GNUTLS_NETTLE USE_GNUTLS HAVE_OPENSSL_SRP RANDOM_FILE SSL_LIBS USE_SECTRANSP USE_WINDOWS_SSPI USE_SCHANNEL DEFAULT_SSL_BACKEND BUILD_STUB_GSS_FALSE BUILD_STUB_GSS_TRUE USE_OPENLDAP HAVE_BROTLI ZLIB_LIBS HAVE_LIBZ_FALSE HAVE_LIBZ_TRUE HAVE_LIBZ PKGCONFIG HAVE_PROTO_BSDSOCKET_H CURL_DISABLE_GOPHER CURL_DISABLE_SMTP CURL_DISABLE_SMB CURL_DISABLE_IMAP CURL_DISABLE_POP3 CURL_DISABLE_TFTP CURL_DISABLE_TELNET |
︙ | ︙ | |||
1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 | with_gssapi_includes with_gssapi_libs with_gssapi with_default_ssl_backend with_winssl with_schannel with_darwinssl with_ssl with_egd_socket with_random enable_openssl_auto_load_config with_gnutls with_polarssl with_mbedtls | > > | 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 | with_gssapi_includes with_gssapi_libs with_gssapi with_default_ssl_backend with_winssl with_schannel with_darwinssl with_secure_transport with_amissl with_ssl with_egd_socket with_random enable_openssl_auto_load_config with_gnutls with_polarssl with_mbedtls |
︙ | ︙ | |||
1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 | with_libssh with_librtmp enable_versioned_symbols with_winidn with_libidn2 with_nghttp2 with_zsh_functions_dir enable_threaded_resolver enable_pthreads enable_verbose enable_sspi enable_crypto_auth enable_ntlm_wb enable_tls_srp enable_unix_sockets enable_cookies ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS | > > | 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 | with_libssh with_librtmp enable_versioned_symbols with_winidn with_libidn2 with_nghttp2 with_zsh_functions_dir with_fish_functions_dir enable_threaded_resolver enable_pthreads enable_verbose enable_sspi enable_crypto_auth enable_ntlm_wb enable_tls_srp enable_unix_sockets enable_cookies enable_alt_svc ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS |
︙ | ︙ | |||
1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 | helper --enable-tls-srp Enable TLS-SRP authentication --disable-tls-srp Disable TLS-SRP authentication --enable-unix-sockets Enable Unix domain sockets --disable-unix-sockets Disable Unix domain sockets --enable-cookies Enable cookies support --disable-cookies Disable cookies support Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-aix-soname=aix|svr4|both | > > | 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 | helper --enable-tls-srp Enable TLS-SRP authentication --disable-tls-srp Disable TLS-SRP authentication --enable-unix-sockets Enable Unix domain sockets --disable-unix-sockets Disable Unix domain sockets --enable-cookies Enable cookies support --disable-cookies Disable cookies support --enable-alt-svc Enable alt-svc support --disable-alt-svc Disable alt-svc support Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-aix-soname=aix|svr4|both |
︙ | ︙ | |||
1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 | Use implicit default SSL backend --with-winssl enable Windows native SSL/TLS --without-winssl disable Windows native SSL/TLS --with-schannel enable Windows native SSL/TLS --without-schannel disable Windows native SSL/TLS --with-darwinssl enable Apple OS native SSL/TLS --without-darwinssl disable Apple OS native SSL/TLS --with-ssl=PATH Where to look for OpenSSL, PATH points to the SSL installation (default: /usr/local/ssl); when possible, set the PKG_CONFIG_PATH environment variable instead of using this option --without-ssl disable OpenSSL --with-egd-socket=FILE Entropy Gathering Daemon socket pathname --with-random=FILE read randomness from FILE (default=/dev/urandom) | > > > > > | 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 | Use implicit default SSL backend --with-winssl enable Windows native SSL/TLS --without-winssl disable Windows native SSL/TLS --with-schannel enable Windows native SSL/TLS --without-schannel disable Windows native SSL/TLS --with-darwinssl enable Apple OS native SSL/TLS --without-darwinssl disable Apple OS native SSL/TLS --with-secure-transport enable Apple OS native SSL/TLS --without-secure-transport disable Apple OS native SSL/TLS --with-amissl enable Amiga native SSL/TLS (AmiSSL) --without-amissl disable Amiga native SSL/TLS (AmiSSL) --with-ssl=PATH Where to look for OpenSSL, PATH points to the SSL installation (default: /usr/local/ssl); when possible, set the PKG_CONFIG_PATH environment variable instead of using this option --without-ssl disable OpenSSL --with-egd-socket=FILE Entropy Gathering Daemon socket pathname --with-random=FILE read randomness from FILE (default=/dev/urandom) |
︙ | ︙ | |||
2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 | --without-libidn2 Disable libidn2 usage --with-nghttp2=PATH Enable nghttp2 usage --without-nghttp2 Disable nghttp2 usage --with-zsh-functions-dir=PATH Install zsh completions to PATH --without-zsh-functions-dir Do not install zsh completions Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a nonstandard directory <lib dir> LIBS libraries to pass to the linker, e.g. -l<library> | > > > > | 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 | --without-libidn2 Disable libidn2 usage --with-nghttp2=PATH Enable nghttp2 usage --without-nghttp2 Disable nghttp2 usage --with-zsh-functions-dir=PATH Install zsh completions to PATH --without-zsh-functions-dir Do not install zsh completions --with-fish-functions-dir=PATH Install fish completions to PATH --without-fish-functions-dir Do not install fish completions Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a nonstandard directory <lib dir> LIBS libraries to pass to the linker, e.g. -l<library> |
︙ | ︙ | |||
5778 5779 5780 5781 5782 5783 5784 | PKGADD_PKG="HAXXcurl" PKGADD_NAME="curl - a client that groks URLs" PKGADD_VENDOR="curl.haxx.se" | | | 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 | PKGADD_PKG="HAXXcurl" PKGADD_NAME="curl - a client that groks URLs" PKGADD_VENDOR="curl.haxx.se" curl_ssl_msg="no (--with-{ssl,gnutls,nss,polarssl,mbedtls,cyassl,schannel,secure-transport,mesalink,amissl} )" curl_ssh_msg="no (--with-libssh2)" curl_zlib_msg="no (--with-zlib)" curl_brotli_msg="no (--with-brotli)" curl_gss_msg="no (--with-gssapi)" curl_tls_srp_msg="no (--enable-tls-srp)" curl_res_msg="default (--enable-ares / --enable-threaded-resolver)" curl_ipv6_msg="no (--enable-ipv6)" |
︙ | ︙ | |||
11798 11799 11800 11801 11802 11803 11804 11805 11806 11807 11808 11809 11810 11811 | linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in # old Intel for x86_64, which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' | > > > > > > | 11815 11816 11817 11818 11819 11820 11821 11822 11823 11824 11825 11826 11827 11828 11829 11830 11831 11832 11833 11834 | linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in # old Intel for x86_64, which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # flang / f18. f95 an alias for gfortran or flang on Debian flang* | f18* | f95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' |
︙ | ︙ | |||
18994 18995 18996 18997 18998 18999 19000 19001 19002 19003 19004 19005 19006 19007 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to support http" >&5 $as_echo_n "checking whether to support http... " >&6; } # Check whether --enable-http was given. if test "${enable_http+set}" = set; then : enableval=$enable_http; case "$enableval" in no) | > | 19017 19018 19019 19020 19021 19022 19023 19024 19025 19026 19027 19028 19029 19030 19031 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to support http" >&5 $as_echo_n "checking whether to support http... " >&6; } # Check whether --enable-http was given. if test "${enable_http+set}" = set; then : enableval=$enable_http; case "$enableval" in no) |
︙ | ︙ | |||
19836 19837 19838 19839 19840 19841 19842 19843 19844 19845 19846 19847 19848 19849 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi if test "$HAVE_GETHOSTBYNAME" != "1" then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnetwork" >&5 $as_echo_n "checking for gethostbyname in -lnetwork... " >&6; } if ${ac_cv_lib_network_gethostbyname+:} false; then : $as_echo_n "(cached) " >&6 | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 19860 19861 19862 19863 19864 19865 19866 19867 19868 19869 19870 19871 19872 19873 19874 19875 19876 19877 19878 19879 19880 19881 19882 19883 19884 19885 19886 19887 19888 19889 19890 19891 19892 19893 19894 19895 19896 19897 19898 19899 19900 19901 19902 19903 19904 19905 19906 19907 19908 19909 19910 19911 19912 19913 19914 19915 19916 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi if test "$HAVE_GETHOSTBYNAME" != "1" then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname for AmigaOS bsdsocket.library" >&5 $as_echo_n "checking for gethostbyname for AmigaOS bsdsocket.library... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <proto/bsdsocket.h> struct Library *SocketBase = NULL; int main (void) { gethostbyname("www.dummysite.com"); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } HAVE_GETHOSTBYNAME="1" HAVE_PROTO_BSDSOCKET_H="1" $as_echo "#define HAVE_PROTO_BSDSOCKET_H 1" >>confdefs.h HAVE_PROTO_BSDSOCKET_H=1 else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi if test "$HAVE_GETHOSTBYNAME" != "1" then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnetwork" >&5 $as_echo_n "checking for gethostbyname in -lnetwork... " >&6; } if ${ac_cv_lib_network_gethostbyname+:} false; then : $as_echo_n "(cached) " >&6 |
︙ | ︙ | |||
20114 20115 20116 20117 20118 20119 20120 | _ACEOF ;; esac | > > > > > > > > > > > > > > > > > > > > > > | > | | 20181 20182 20183 20184 20185 20186 20187 20188 20189 20190 20191 20192 20193 20194 20195 20196 20197 20198 20199 20200 20201 20202 20203 20204 20205 20206 20207 20208 20209 20210 20211 20212 20213 20214 20215 20216 20217 20218 20219 20220 20221 20222 20223 20224 20225 20226 20227 20228 20229 20230 | _ACEOF ;; esac curl_includes_bsdsocket="\ /* includes start */ #ifdef HAVE_PROTO_BSDSOCKET_H # include <proto/bsdsocket.h> struct Library *SocketBase = NULL; #endif /* includes end */" for ac_header in proto/bsdsocket.h do : ac_fn_c_check_header_compile "$LINENO" "proto/bsdsocket.h" "ac_cv_header_proto_bsdsocket_h" " $curl_includes_bsdsocket " if test "x$ac_cv_header_proto_bsdsocket_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_PROTO_BSDSOCKET_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in libraries" >&5 $as_echo_n "checking for connect in libraries... " >&6; } tst_connect_save_LIBS="$LIBS" tst_connect_need_LIBS="unknown" for tst_lib in '' '-lsocket' ; do if test "$tst_connect_need_LIBS" = "unknown"; then LIBS="$tst_lib $tst_connect_save_LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket #if !defined(HAVE_WINDOWS_H) && !defined(HAVE_PROTO_BSDSOCKET_H) int connect(int, void*, int); #endif int main (void) { if(0 != connect(0, 0, 0)) |
︙ | ︙ | |||
21431 21432 21433 21434 21435 21436 21437 | curl_cv_ldap_LIBS="unknown" # for x_nlibs in '' "$u_libs" \ '-lldap' \ '-lldap -llber' \ '-llber -lldap' \ '-lldapssl -lldapx -lldapsdk' \ | | > > | 21521 21522 21523 21524 21525 21526 21527 21528 21529 21530 21531 21532 21533 21534 21535 21536 21537 | curl_cv_ldap_LIBS="unknown" # for x_nlibs in '' "$u_libs" \ '-lldap' \ '-lldap -llber' \ '-llber -lldap' \ '-lldapssl -lldapx -lldapsdk' \ '-lldapsdk -lldapx -lldapssl' \ '-lldap -llber -lssl -lcrypto' ; do if test "$curl_cv_ldap_LIBS" = "unknown"; then if test -z "$x_nlibs"; then LIBS="$curl_cv_save_LIBS" else LIBS="$x_nlibs $curl_cv_save_LIBS" fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
︙ | ︙ | |||
22105 22106 22107 22108 22109 22110 22111 | fi test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi | | | > > > > > > > | | | | | | | | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 22197 22198 22199 22200 22201 22202 22203 22204 22205 22206 22207 22208 22209 22210 22211 22212 22213 22214 22215 22216 22217 22218 22219 22220 22221 22222 22223 22224 22225 22226 22227 22228 22229 22230 22231 22232 22233 22234 22235 22236 22237 22238 22239 22240 22241 22242 22243 22244 22245 22246 22247 22248 22249 22250 22251 22252 22253 22254 22255 22256 22257 22258 22259 22260 22261 22262 22263 22264 22265 22266 22267 22268 22269 22270 22271 22272 22273 22274 22275 22276 22277 22278 22279 22280 22281 22282 22283 22284 22285 22286 | fi test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi OPT_SECURETRANSPORT=no # Check whether --with-darwinssl was given. if test "${with_darwinssl+set}" = set; then : withval=$with_darwinssl; OPT_SECURETRANSPORT=$withval fi # Check whether --with-secure-transport was given. if test "${with_secure_transport+set}" = set; then : withval=$with_secure_transport; OPT_SECURETRANSPORT=$withval fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Secure Transport" >&5 $as_echo_n "checking whether to enable Secure Transport... " >&6; } if test -z "$ssl_backends" -o "x$OPT_SECURETRANSPORT" != xno; then if test "x$OPT_SECURETRANSPORT" != "xno" && test -d "/System/Library/Frameworks/Security.framework"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } $as_echo "#define USE_SECTRANSP 1" >>confdefs.h USE_SECTRANSP=1 ssl_msg="Secure Transport" test secure-transport != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes SECURETRANSPORT_ENABLED=1 LDFLAGS="$LDFLAGS -framework CoreFoundation -framework Security" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi OPT_AMISSL=no # Check whether --with-amissl was given. if test "${with_amissl+set}" = set; then : withval=$with_amissl; OPT_AMISSL=$withval fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Amiga native SSL/TLS (AmiSSL)" >&5 $as_echo_n "checking whether to enable Amiga native SSL/TLS (AmiSSL)... " >&6; } if test "$HAVE_PROTO_BSDSOCKET_H" == "1"; then if test -z "$ssl_backends" -o "x$OPT_AMISSL" != xno; then ssl_msg= if test "x$OPT_AMISSL" != "xno"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } ssl_msg="AmiSSL" test amissl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes AMISSL_ENABLED=1 LIBS="-lamisslauto $LIBS" $as_echo "#define USE_AMISSL 1" >>confdefs.h $as_echo "#define USE_OPENSSL 1" >>confdefs.h else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi OPT_SSL=off |
︙ | ︙ | |||
24723 24724 24725 24726 24727 24728 24729 | done LIBS="-l$cyassllibname -lm $LIBS" if test "x$cyassllibname" = "xwolfssl"; then for ac_func in wolfSSLv3_client_method \ | < | 24862 24863 24864 24865 24866 24867 24868 24869 24870 24871 24872 24873 24874 24875 | done LIBS="-l$cyassllibname -lm $LIBS" if test "x$cyassllibname" = "xwolfssl"; then for ac_func in wolfSSLv3_client_method \ wolfSSL_get_peer_certificate \ wolfSSL_UseALPN do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF |
︙ | ︙ | |||
25366 25367 25368 25369 25370 25371 25372 | fi fi fi test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" fi | | | | | 25504 25505 25506 25507 25508 25509 25510 25511 25512 25513 25514 25515 25516 25517 25518 25519 25520 25521 25522 25523 | fi fi fi test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" fi case "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED$POLARSSL_ENABLED$MBEDTLS_ENABLED$CYASSL_ENABLED$WINSSL_ENABLED$SECURETRANSPORT_ENABLED$MESALINK_ENABLED$AMISSL_ENABLED" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more." >&5 $as_echo "$as_me: WARNING: SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more." >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Use --with-ssl, --with-gnutls, --with-polarssl, --with-cyassl, --with-nss, --with-schannel, --with-secure-transport, --with-mesalink or --with-amissl to address this." >&5 $as_echo "$as_me: WARNING: Use --with-ssl, --with-gnutls, --with-polarssl, --with-cyassl, --with-nss, --with-schannel, --with-secure-transport, --with-mesalink or --with-amissl to address this." >&2;} ;; x1) # one SSL backend is enabled SSL_ENABLED="1" { $as_echo "$as_me:${as_lineno-$LINENO}: built with one SSL backend" >&5 $as_echo "$as_me: built with one SSL backend" >&6;} |
︙ | ︙ | |||
25638 25639 25640 25641 25642 25643 25644 | LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_psl_builtin" >&5 $as_echo "$ac_cv_search_psl_builtin" >&6; } ac_res=$ac_cv_search_psl_builtin if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" | | | | 25776 25777 25778 25779 25780 25781 25782 25783 25784 25785 25786 25787 25788 25789 25790 25791 25792 25793 25794 25795 25796 25797 25798 25799 25800 25801 25802 25803 25804 | LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_psl_builtin" >&5 $as_echo "$ac_cv_search_psl_builtin" >&6; } ac_res=$ac_cv_search_psl_builtin if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" curl_psl_msg="enabled"; $as_echo "#define USE_LIBPSL 1" >>confdefs.h else curl_psl_msg="no (libpsl not found)"; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libpsl was not found" >&5 $as_echo "$as_me: WARNING: libpsl was not found" >&2;} fi fi if test "$curl_psl_msg" = "enabled"; then USE_LIBPSL_TRUE= USE_LIBPSL_FALSE='#' else USE_LIBPSL_TRUE='#' USE_LIBPSL_FALSE= fi |
︙ | ︙ | |||
26822 26823 26824 26825 26826 26827 26828 | elif test "x$NSS_ENABLED" = "x1"; then versioned_symbols_flavour="NSS_" elif test "x$POLARSSL_ENABLED" = "x1"; then versioned_symbols_flavour="POLARSSL_" elif test "x$CYASSL_ENABLED" = "x1"; then versioned_symbols_flavour="CYASSL_" elif test "x$WINSSL_ENABLED" = "x1"; then | | | | | 26960 26961 26962 26963 26964 26965 26966 26967 26968 26969 26970 26971 26972 26973 26974 26975 26976 | elif test "x$NSS_ENABLED" = "x1"; then versioned_symbols_flavour="NSS_" elif test "x$POLARSSL_ENABLED" = "x1"; then versioned_symbols_flavour="POLARSSL_" elif test "x$CYASSL_ENABLED" = "x1"; then versioned_symbols_flavour="CYASSL_" elif test "x$WINSSL_ENABLED" = "x1"; then versioned_symbols_flavour="SCHANNEL_" elif test "x$SECURETRANSPORT_ENABLED" = "x1"; then versioned_symbols_flavour="SECURE_TRANSPORT_" else versioned_symbols_flavour="" fi versioned_symbols="yes" fi ;; |
︙ | ︙ | |||
27688 27689 27690 27691 27692 27693 27694 27695 27696 27697 27698 27699 27700 27701 | ;; *) ZSH_FUNCTIONS_DIR="$withval" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext | > > > > > > > > > > > > > > > > > > > > > | 27826 27827 27828 27829 27830 27831 27832 27833 27834 27835 27836 27837 27838 27839 27840 27841 27842 27843 27844 27845 27846 27847 27848 27849 27850 27851 27852 27853 27854 27855 27856 27857 27858 27859 27860 | ;; *) ZSH_FUNCTIONS_DIR="$withval" ;; esac OPT_FISH_FPATH=default # Check whether --with-fish-functions-dir was given. if test "${with_fish_functions_dir+set}" = set; then : withval=$with_fish_functions_dir; OPT_FISH_FPATH=$withval fi case "$OPT_FISH_FPATH" in no) ;; default|yes) FISH_FUNCTIONS_DIR="$datarootdir/fish/completions" ;; *) FISH_FUNCTIONS_DIR="$withval" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
︙ | ︙ | |||
28055 28056 28057 28058 28059 28060 28061 28062 28063 28064 28065 28066 28067 28068 | cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } if ${ac_cv_c_const+:} false; then : $as_echo_n "(cached) " >&6 else | > | 28214 28215 28216 28217 28218 28219 28220 28221 28222 28223 28224 28225 28226 28227 28228 | cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } if ${ac_cv_c_const+:} false; then : $as_echo_n "(cached) " >&6 else |
︙ | ︙ | |||
29239 29240 29241 29242 29243 29244 29245 29246 29247 29248 29249 29250 29251 29252 | #endif #else #ifdef HAVE_TIME_H #include <time.h> #endif #endif #ifndef HAVE_WINDOWS_H #ifdef HAVE_SYS_SELECT_H #include <sys/select.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif | > > > > > | 29399 29400 29401 29402 29403 29404 29405 29406 29407 29408 29409 29410 29411 29412 29413 29414 29415 29416 29417 | #endif #else #ifdef HAVE_TIME_H #include <time.h> #endif #endif #ifndef HAVE_WINDOWS_H #ifdef HAVE_PROTO_BSDSOCKET_H #include <proto/bsdsocket.h> struct Library *SocketBase = NULL; #define select(a,b,c,d,e) WaitSelect(a,b,c,d,e,0) #endif #ifdef HAVE_SYS_SELECT_H #include <sys/select.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif |
︙ | ︙ | |||
29319 29320 29321 29322 29323 29324 29325 29326 29327 29328 29329 29330 29331 29332 29333 29334 29335 29336 29337 29338 29339 29340 29341 29342 29343 29344 29345 29346 29347 29348 29349 29350 29351 29352 | #endif #else #ifdef HAVE_TIME_H #include <time.h> #endif #endif #ifndef HAVE_WINDOWS_H #ifdef HAVE_SYS_SELECT_H #include <sys/select.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #define SELECTCALLCONV #endif #ifndef HAVE_STRUCT_TIMEVAL struct timeval { long tv_sec; long tv_usec; }; #endif extern $sel_retv SELECTCALLCONV select($sel_arg1, $sel_arg234, $sel_arg234, $sel_arg234, $sel_arg5); int main (void) { $sel_arg1 nfds=0; $sel_arg234 rfds=0; $sel_arg234 wfds=0; | > > > > > > > | 29484 29485 29486 29487 29488 29489 29490 29491 29492 29493 29494 29495 29496 29497 29498 29499 29500 29501 29502 29503 29504 29505 29506 29507 29508 29509 29510 29511 29512 29513 29514 29515 29516 29517 29518 29519 29520 29521 29522 29523 29524 | #endif #else #ifdef HAVE_TIME_H #include <time.h> #endif #endif #ifndef HAVE_WINDOWS_H #ifdef HAVE_PROTO_BSDSOCKET_H #include <proto/bsdsocket.h> struct Library *SocketBase = NULL; #define select(a,b,c,d,e) WaitSelect(a,b,c,d,e,0) #endif #ifdef HAVE_SYS_SELECT_H #include <sys/select.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #define SELECTCALLCONV #endif #ifndef HAVE_STRUCT_TIMEVAL struct timeval { long tv_sec; long tv_usec; }; #endif #ifndef HAVE_PROTO_BSDSOCKET_H extern $sel_retv SELECTCALLCONV select($sel_arg1, $sel_arg234, $sel_arg234, $sel_arg234, $sel_arg5); #endif int main (void) { $sel_arg1 nfds=0; $sel_arg234 rfds=0; $sel_arg234 wfds=0; |
︙ | ︙ | |||
29483 29484 29485 29486 29487 29488 29489 29490 29491 29492 29493 29494 29495 29496 | #include <winsock2.h> #else #ifdef HAVE_WINSOCK_H #include <winsock.h> #endif #endif #else #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif | > > > > | 29655 29656 29657 29658 29659 29660 29661 29662 29663 29664 29665 29666 29667 29668 29669 29670 29671 29672 | #include <winsock2.h> #else #ifdef HAVE_WINSOCK_H #include <winsock.h> #endif #endif #else #ifdef HAVE_PROTO_BSDSOCKET_H #include <proto/bsdsocket.h> struct Library *SocketBase = NULL; #endif #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif |
︙ | ︙ | |||
29550 29551 29552 29553 29554 29555 29556 29557 29558 29559 29560 29561 29562 29563 29564 29565 29566 29567 29568 29569 29570 29571 29572 29573 | #else #ifdef HAVE_WINSOCK_H #include <winsock.h> #endif #endif #define RECVCALLCONV PASCAL #else #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #define RECVCALLCONV #endif extern $recv_retv RECVCALLCONV recv($recv_arg1, $recv_arg2, $recv_arg3, $recv_arg4); int main (void) { $recv_arg1 s=0; $recv_arg2 buf=0; $recv_arg3 len=0; | > > > > > > | 29726 29727 29728 29729 29730 29731 29732 29733 29734 29735 29736 29737 29738 29739 29740 29741 29742 29743 29744 29745 29746 29747 29748 29749 29750 29751 29752 29753 29754 29755 | #else #ifdef HAVE_WINSOCK_H #include <winsock.h> #endif #endif #define RECVCALLCONV PASCAL #else #ifdef HAVE_PROTO_BSDSOCKET_H #include <proto/bsdsocket.h> struct Library *SocketBase = NULL; #endif #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #define RECVCALLCONV #endif #ifndef HAVE_PROTO_BSDSOCKET_H extern $recv_retv RECVCALLCONV recv($recv_arg1, $recv_arg2, $recv_arg3, $recv_arg4); #endif int main (void) { $recv_arg1 s=0; $recv_arg2 buf=0; $recv_arg3 len=0; |
︙ | ︙ | |||
29671 29672 29673 29674 29675 29676 29677 29678 29679 29680 29681 29682 29683 29684 | #include <winsock2.h> #else #ifdef HAVE_WINSOCK_H #include <winsock.h> #endif #endif #else #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif | > > > > | 29853 29854 29855 29856 29857 29858 29859 29860 29861 29862 29863 29864 29865 29866 29867 29868 29869 29870 | #include <winsock2.h> #else #ifdef HAVE_WINSOCK_H #include <winsock.h> #endif #endif #else #ifdef HAVE_PROTO_BSDSOCKET_H #include <proto/bsdsocket.h> struct Library *SocketBase = NULL; #endif #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif |
︙ | ︙ | |||
29738 29739 29740 29741 29742 29743 29744 29745 29746 29747 29748 29749 29750 29751 29752 29753 29754 29755 29756 29757 29758 29759 29760 29761 | #else #ifdef HAVE_WINSOCK_H #include <winsock.h> #endif #endif #define SENDCALLCONV PASCAL #else #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #define SENDCALLCONV #endif extern $send_retv SENDCALLCONV send($send_arg1, $send_arg2, $send_arg3, $send_arg4); int main (void) { $send_arg1 s=0; $send_arg3 len=0; $send_arg4 flags=0; | > > > > > > | 29924 29925 29926 29927 29928 29929 29930 29931 29932 29933 29934 29935 29936 29937 29938 29939 29940 29941 29942 29943 29944 29945 29946 29947 29948 29949 29950 29951 29952 29953 | #else #ifdef HAVE_WINSOCK_H #include <winsock.h> #endif #endif #define SENDCALLCONV PASCAL #else #ifdef HAVE_PROTO_BSDSOCKET_H #include <proto/bsdsocket.h> struct Library *SocketBase = NULL; #endif #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #define SENDCALLCONV #endif #ifndef HAVE_PROTO_BSDSOCKET_H extern $send_retv SENDCALLCONV send($send_arg1, $send_arg2, $send_arg3, $send_arg4); #endif int main (void) { $send_arg1 s=0; $send_arg3 len=0; $send_arg4 flags=0; |
︙ | ︙ | |||
29898 29899 29900 29901 29902 29903 29904 29905 29906 29907 29908 29909 29910 29911 | #include <winsock2.h> #else #ifdef HAVE_WINSOCK_H #include <winsock.h> #endif #endif #else #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif | > > > > | 30090 30091 30092 30093 30094 30095 30096 30097 30098 30099 30100 30101 30102 30103 30104 30105 30106 30107 | #include <winsock2.h> #else #ifdef HAVE_WINSOCK_H #include <winsock.h> #endif #endif #else #ifdef HAVE_PROTO_BSDSOCKET_H #include <proto/bsdsocket.h> struct Library *SocketBase = NULL; #endif #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif |
︙ | ︙ | |||
30360 30361 30362 30363 30364 30365 30366 30367 30368 30369 30370 30371 30372 30373 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if closesocket can be linked" >&5 $as_echo_n "checking if closesocket can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_socket int main (void) { if(0 != closesocket(0)) return 1; | > | 30556 30557 30558 30559 30560 30561 30562 30563 30564 30565 30566 30567 30568 30569 30570 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if closesocket can be linked" >&5 $as_echo_n "checking if closesocket can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_socket int main (void) { if(0 != closesocket(0)) return 1; |
︙ | ︙ | |||
30396 30397 30398 30399 30400 30401 30402 30403 30404 30405 30406 30407 30408 30409 | if test "$tst_links_closesocket" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if closesocket is prototyped" >&5 $as_echo_n "checking if closesocket is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_socket _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "closesocket" >/dev/null 2>&1; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | > | 30593 30594 30595 30596 30597 30598 30599 30600 30601 30602 30603 30604 30605 30606 30607 | if test "$tst_links_closesocket" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if closesocket is prototyped" >&5 $as_echo_n "checking if closesocket is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_socket _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "closesocket" >/dev/null 2>&1; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
︙ | ︙ | |||
30425 30426 30427 30428 30429 30430 30431 30432 30433 30434 30435 30436 30437 30438 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if closesocket is compilable" >&5 $as_echo_n "checking if closesocket is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_socket int main (void) { if(0 != closesocket(0)) return 1; | > | 30623 30624 30625 30626 30627 30628 30629 30630 30631 30632 30633 30634 30635 30636 30637 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if closesocket is compilable" >&5 $as_echo_n "checking if closesocket is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_socket int main (void) { if(0 != closesocket(0)) return 1; |
︙ | ︙ | |||
30666 30667 30668 30669 30670 30671 30672 30673 30674 30675 30676 30677 30678 30679 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if connect can be linked" >&5 $as_echo_n "checking if connect can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_sys_socket $curl_includes_socket int main (void) { if(0 != connect(0, 0, 0)) | > | 30865 30866 30867 30868 30869 30870 30871 30872 30873 30874 30875 30876 30877 30878 30879 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if connect can be linked" >&5 $as_echo_n "checking if connect can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_sys_socket $curl_includes_socket int main (void) { if(0 != connect(0, 0, 0)) |
︙ | ︙ | |||
30703 30704 30705 30706 30707 30708 30709 30710 30711 30712 30713 30714 30715 30716 | if test "$tst_links_connect" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if connect is prototyped" >&5 $as_echo_n "checking if connect is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_sys_socket $curl_includes_socket _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "connect" >/dev/null 2>&1; then : | > | 30903 30904 30905 30906 30907 30908 30909 30910 30911 30912 30913 30914 30915 30916 30917 | if test "$tst_links_connect" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if connect is prototyped" >&5 $as_echo_n "checking if connect is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_sys_socket $curl_includes_socket _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "connect" >/dev/null 2>&1; then : |
︙ | ︙ | |||
30733 30734 30735 30736 30737 30738 30739 30740 30741 30742 30743 30744 30745 30746 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if connect is compilable" >&5 $as_echo_n "checking if connect is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_sys_socket $curl_includes_socket int main (void) { if(0 != connect(0, 0, 0)) | > | 30934 30935 30936 30937 30938 30939 30940 30941 30942 30943 30944 30945 30946 30947 30948 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if connect is compilable" >&5 $as_echo_n "checking if connect is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_sys_socket $curl_includes_socket int main (void) { if(0 != connect(0, 0, 0)) |
︙ | ︙ | |||
31054 31055 31056 31057 31058 31059 31060 | else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } curl_cv_func_fcntl="no" fi | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 31256 31257 31258 31259 31260 31261 31262 31263 31264 31265 31266 31267 31268 31269 | else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } curl_cv_func_fcntl="no" fi curl_includes_ws2tcpip="\ /* includes start */ #ifdef HAVE_WINDOWS_H # ifndef WIN32_LEAN_AND_MEAN # define WIN32_LEAN_AND_MEAN # endif |
︙ | ︙ | |||
32575 32576 32577 32578 32579 32580 32581 32582 32583 32584 32585 32586 32587 32588 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gai_strerror can be linked" >&5 $as_echo_n "checking if gai_strerror can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_netdb int main (void) { if(0 != gai_strerror(0)) return 1; | > | 32603 32604 32605 32606 32607 32608 32609 32610 32611 32612 32613 32614 32615 32616 32617 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gai_strerror can be linked" >&5 $as_echo_n "checking if gai_strerror can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_netdb int main (void) { if(0 != gai_strerror(0)) return 1; |
︙ | ︙ | |||
32611 32612 32613 32614 32615 32616 32617 32618 32619 32620 32621 32622 32623 32624 | if test "$tst_links_gai_strerror" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gai_strerror is prototyped" >&5 $as_echo_n "checking if gai_strerror is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_netdb _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "gai_strerror" >/dev/null 2>&1; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | > | 32640 32641 32642 32643 32644 32645 32646 32647 32648 32649 32650 32651 32652 32653 32654 | if test "$tst_links_gai_strerror" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gai_strerror is prototyped" >&5 $as_echo_n "checking if gai_strerror is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_netdb _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "gai_strerror" >/dev/null 2>&1; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
︙ | ︙ | |||
32640 32641 32642 32643 32644 32645 32646 32647 32648 32649 32650 32651 32652 32653 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gai_strerror is compilable" >&5 $as_echo_n "checking if gai_strerror is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_netdb int main (void) { if(0 != gai_strerror(0)) return 1; | > | 32670 32671 32672 32673 32674 32675 32676 32677 32678 32679 32680 32681 32682 32683 32684 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gai_strerror is compilable" >&5 $as_echo_n "checking if gai_strerror is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_netdb int main (void) { if(0 != gai_strerror(0)) return 1; |
︙ | ︙ | |||
32717 32718 32719 32720 32721 32722 32723 32724 32725 32726 32727 32728 32729 32730 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gethostbyaddr can be linked" >&5 $as_echo_n "checking if gethostbyaddr can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_netdb int main (void) { if(0 != gethostbyaddr(0, 0, 0)) return 1; | > | 32748 32749 32750 32751 32752 32753 32754 32755 32756 32757 32758 32759 32760 32761 32762 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gethostbyaddr can be linked" >&5 $as_echo_n "checking if gethostbyaddr can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_netdb int main (void) { if(0 != gethostbyaddr(0, 0, 0)) return 1; |
︙ | ︙ | |||
32753 32754 32755 32756 32757 32758 32759 32760 32761 32762 32763 32764 32765 32766 | if test "$tst_links_gethostbyaddr" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gethostbyaddr is prototyped" >&5 $as_echo_n "checking if gethostbyaddr is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_netdb _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "gethostbyaddr" >/dev/null 2>&1; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | > | 32785 32786 32787 32788 32789 32790 32791 32792 32793 32794 32795 32796 32797 32798 32799 | if test "$tst_links_gethostbyaddr" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gethostbyaddr is prototyped" >&5 $as_echo_n "checking if gethostbyaddr is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_netdb _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "gethostbyaddr" >/dev/null 2>&1; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
︙ | ︙ | |||
32782 32783 32784 32785 32786 32787 32788 32789 32790 32791 32792 32793 32794 32795 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gethostbyaddr is compilable" >&5 $as_echo_n "checking if gethostbyaddr is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_netdb int main (void) { if(0 != gethostbyaddr(0, 0, 0)) return 1; | > | 32815 32816 32817 32818 32819 32820 32821 32822 32823 32824 32825 32826 32827 32828 32829 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gethostbyaddr is compilable" >&5 $as_echo_n "checking if gethostbyaddr is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_netdb int main (void) { if(0 != gethostbyaddr(0, 0, 0)) return 1; |
︙ | ︙ | |||
33108 33109 33110 33111 33112 33113 33114 33115 33116 33117 33118 33119 33120 33121 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gethostbyname can be linked" >&5 $as_echo_n "checking if gethostbyname can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_netdb int main (void) { if(0 != gethostbyname(0)) return 1; | > | 33142 33143 33144 33145 33146 33147 33148 33149 33150 33151 33152 33153 33154 33155 33156 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gethostbyname can be linked" >&5 $as_echo_n "checking if gethostbyname can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_netdb int main (void) { if(0 != gethostbyname(0)) return 1; |
︙ | ︙ | |||
33144 33145 33146 33147 33148 33149 33150 33151 33152 33153 33154 33155 33156 33157 | if test "$tst_links_gethostbyname" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gethostbyname is prototyped" >&5 $as_echo_n "checking if gethostbyname is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_netdb _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "gethostbyname" >/dev/null 2>&1; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | > | 33179 33180 33181 33182 33183 33184 33185 33186 33187 33188 33189 33190 33191 33192 33193 | if test "$tst_links_gethostbyname" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gethostbyname is prototyped" >&5 $as_echo_n "checking if gethostbyname is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_netdb _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "gethostbyname" >/dev/null 2>&1; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
︙ | ︙ | |||
33173 33174 33175 33176 33177 33178 33179 33180 33181 33182 33183 33184 33185 33186 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gethostbyname is compilable" >&5 $as_echo_n "checking if gethostbyname is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_netdb int main (void) { if(0 != gethostbyname(0)) return 1; | > | 33209 33210 33211 33212 33213 33214 33215 33216 33217 33218 33219 33220 33221 33222 33223 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gethostbyname is compilable" >&5 $as_echo_n "checking if gethostbyname is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_netdb int main (void) { if(0 != gethostbyname(0)) return 1; |
︙ | ︙ | |||
33496 33497 33498 33499 33500 33501 33502 | # define FUNCALLCONV __stdcall #else # define FUNCALLCONV #endif /* preprocess end */" | | > | 33533 33534 33535 33536 33537 33538 33539 33540 33541 33542 33543 33544 33545 33546 33547 33548 33549 33550 33551 33552 33553 33554 33555 33556 33557 33558 33559 33560 | # define FUNCALLCONV __stdcall #else # define FUNCALLCONV #endif /* preprocess end */" # tst_links_gethostname="unknown" tst_proto_gethostname="unknown" tst_compi_gethostname="unknown" tst_allow_gethostname="unknown" # { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gethostname can be linked" >&5 $as_echo_n "checking if gethostname can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_unistd int main (void) { if(0 != gethostname(0, 0)) return 1; |
︙ | ︙ | |||
33545 33546 33547 33548 33549 33550 33551 33552 33553 33554 33555 33556 33557 33558 | if test "$tst_links_gethostname" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gethostname is prototyped" >&5 $as_echo_n "checking if gethostname is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_unistd _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "gethostname" >/dev/null 2>&1; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | > | 33583 33584 33585 33586 33587 33588 33589 33590 33591 33592 33593 33594 33595 33596 33597 | if test "$tst_links_gethostname" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gethostname is prototyped" >&5 $as_echo_n "checking if gethostname is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_unistd _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "gethostname" >/dev/null 2>&1; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
︙ | ︙ | |||
33574 33575 33576 33577 33578 33579 33580 33581 33582 33583 33584 33585 33586 33587 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gethostname is compilable" >&5 $as_echo_n "checking if gethostname is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_unistd int main (void) { if(0 != gethostname(0, 0)) return 1; | > | 33613 33614 33615 33616 33617 33618 33619 33620 33621 33622 33623 33624 33625 33626 33627 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gethostname is compilable" >&5 $as_echo_n "checking if gethostname is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_unistd int main (void) { if(0 != gethostname(0, 0)) return 1; |
︙ | ︙ | |||
33615 33616 33617 33618 33619 33620 33621 33622 33623 33624 33625 33626 33627 33628 | for tst_arg2 in 'int' 'unsigned int' 'size_t'; do if test "$tst_gethostname_type_arg2" = "unknown"; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_unistd $curl_preprocess_callconv extern int FUNCALLCONV gethostname($tst_arg1, $tst_arg2); int main (void) { | > | 33655 33656 33657 33658 33659 33660 33661 33662 33663 33664 33665 33666 33667 33668 33669 | for tst_arg2 in 'int' 'unsigned int' 'size_t'; do if test "$tst_gethostname_type_arg2" = "unknown"; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_unistd $curl_preprocess_callconv extern int FUNCALLCONV gethostname($tst_arg1, $tst_arg2); int main (void) { |
︙ | ︙ | |||
35473 35474 35475 35476 35477 35478 35479 35480 35481 35482 35483 35484 35485 35486 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ioctlsocket can be linked" >&5 $as_echo_n "checking if ioctlsocket can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 int main (void) { if(0 != ioctlsocket(0, 0, 0)) return 1; | > | 35514 35515 35516 35517 35518 35519 35520 35521 35522 35523 35524 35525 35526 35527 35528 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ioctlsocket can be linked" >&5 $as_echo_n "checking if ioctlsocket can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket int main (void) { if(0 != ioctlsocket(0, 0, 0)) return 1; |
︙ | ︙ | |||
35508 35509 35510 35511 35512 35513 35514 35515 35516 35517 35518 35519 35520 35521 | if test "$tst_links_ioctlsocket" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ioctlsocket is prototyped" >&5 $as_echo_n "checking if ioctlsocket is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "ioctlsocket" >/dev/null 2>&1; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } | > | 35550 35551 35552 35553 35554 35555 35556 35557 35558 35559 35560 35561 35562 35563 35564 | if test "$tst_links_ioctlsocket" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ioctlsocket is prototyped" >&5 $as_echo_n "checking if ioctlsocket is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "ioctlsocket" >/dev/null 2>&1; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } |
︙ | ︙ | |||
35536 35537 35538 35539 35540 35541 35542 35543 35544 35545 35546 35547 35548 35549 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ioctlsocket is compilable" >&5 $as_echo_n "checking if ioctlsocket is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 int main (void) { if(0 != ioctlsocket(0, 0, 0)) return 1; | > | 35579 35580 35581 35582 35583 35584 35585 35586 35587 35588 35589 35590 35591 35592 35593 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ioctlsocket is compilable" >&5 $as_echo_n "checking if ioctlsocket is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket int main (void) { if(0 != ioctlsocket(0, 0, 0)) return 1; |
︙ | ︙ | |||
35605 35606 35607 35608 35609 35610 35611 35612 35613 35614 35615 35616 35617 35618 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ioctlsocket FIONBIO is compilable" >&5 $as_echo_n "checking if ioctlsocket FIONBIO is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 int main (void) { int flags = 0; if(0 != ioctlsocket(0, FIONBIO, &flags)) return 1; | > | 35649 35650 35651 35652 35653 35654 35655 35656 35657 35658 35659 35660 35661 35662 35663 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ioctlsocket FIONBIO is compilable" >&5 $as_echo_n "checking if ioctlsocket FIONBIO is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket int main (void) { int flags = 0; if(0 != ioctlsocket(0, FIONBIO, &flags)) return 1; |
︙ | ︙ | |||
36531 36532 36533 36534 36535 36536 36537 36538 36539 36540 36541 36542 36543 36544 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if setsockopt can be linked" >&5 $as_echo_n "checking if setsockopt can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_sys_socket int main (void) { if(0 != setsockopt(0, 0, 0, 0, 0)) return 1; | > | 36576 36577 36578 36579 36580 36581 36582 36583 36584 36585 36586 36587 36588 36589 36590 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if setsockopt can be linked" >&5 $as_echo_n "checking if setsockopt can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_sys_socket int main (void) { if(0 != setsockopt(0, 0, 0, 0, 0)) return 1; |
︙ | ︙ | |||
36567 36568 36569 36570 36571 36572 36573 36574 36575 36576 36577 36578 36579 36580 | if test "$tst_links_setsockopt" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if setsockopt is prototyped" >&5 $as_echo_n "checking if setsockopt is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_sys_socket _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "setsockopt" >/dev/null 2>&1; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 | > | 36613 36614 36615 36616 36617 36618 36619 36620 36621 36622 36623 36624 36625 36626 36627 | if test "$tst_links_setsockopt" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if setsockopt is prototyped" >&5 $as_echo_n "checking if setsockopt is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_sys_socket _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "setsockopt" >/dev/null 2>&1; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
︙ | ︙ | |||
36596 36597 36598 36599 36600 36601 36602 36603 36604 36605 36606 36607 36608 36609 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if setsockopt is compilable" >&5 $as_echo_n "checking if setsockopt is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_sys_socket int main (void) { if(0 != setsockopt(0, 0, 0, 0, 0)) return 1; | > | 36643 36644 36645 36646 36647 36648 36649 36650 36651 36652 36653 36654 36655 36656 36657 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if setsockopt is compilable" >&5 $as_echo_n "checking if setsockopt is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_sys_socket int main (void) { if(0 != setsockopt(0, 0, 0, 0, 0)) return 1; |
︙ | ︙ | |||
36666 36667 36668 36669 36670 36671 36672 36673 36674 36675 36676 36677 36678 36679 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if setsockopt SO_NONBLOCK is compilable" >&5 $as_echo_n "checking if setsockopt SO_NONBLOCK is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_sys_socket int main (void) { if(0 != setsockopt(0, SOL_SOCKET, SO_NONBLOCK, 0, 0)) return 1; | > | 36714 36715 36716 36717 36718 36719 36720 36721 36722 36723 36724 36725 36726 36727 36728 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if setsockopt SO_NONBLOCK is compilable" >&5 $as_echo_n "checking if setsockopt SO_NONBLOCK is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_sys_socket int main (void) { if(0 != setsockopt(0, SOL_SOCKET, SO_NONBLOCK, 0, 0)) return 1; |
︙ | ︙ | |||
37434 37435 37436 37437 37438 37439 37440 37441 37442 37443 37444 37445 37446 37447 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if socket can be linked" >&5 $as_echo_n "checking if socket can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_sys_socket $curl_includes_socket int main (void) { if(0 != socket(0, 0, 0)) | > | 37483 37484 37485 37486 37487 37488 37489 37490 37491 37492 37493 37494 37495 37496 37497 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if socket can be linked" >&5 $as_echo_n "checking if socket can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_sys_socket $curl_includes_socket int main (void) { if(0 != socket(0, 0, 0)) |
︙ | ︙ | |||
37471 37472 37473 37474 37475 37476 37477 37478 37479 37480 37481 37482 37483 37484 | if test "$tst_links_socket" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if socket is prototyped" >&5 $as_echo_n "checking if socket is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_sys_socket $curl_includes_socket _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "socket" >/dev/null 2>&1; then : | > | 37521 37522 37523 37524 37525 37526 37527 37528 37529 37530 37531 37532 37533 37534 37535 | if test "$tst_links_socket" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if socket is prototyped" >&5 $as_echo_n "checking if socket is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_sys_socket $curl_includes_socket _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "socket" >/dev/null 2>&1; then : |
︙ | ︙ | |||
37501 37502 37503 37504 37505 37506 37507 37508 37509 37510 37511 37512 37513 37514 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if socket is compilable" >&5 $as_echo_n "checking if socket is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_sys_socket $curl_includes_socket int main (void) { if(0 != socket(0, 0, 0)) | > | 37552 37553 37554 37555 37556 37557 37558 37559 37560 37561 37562 37563 37564 37565 37566 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking if socket is compilable" >&5 $as_echo_n "checking if socket is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_sys_socket $curl_includes_socket int main (void) { if(0 != socket(0, 0, 0)) |
︙ | ︙ | |||
40899 40900 40901 40902 40903 40904 40905 40906 40907 40908 40909 40910 40911 40912 | else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether hiding of library internal symbols will actually happen" >&5 $as_echo_n "checking whether hiding of library internal symbols will actually happen... " >&6; } CFLAG_CURL_SYMBOL_HIDING="" doing_symbol_hiding="no" if test x"$curl_cv_native_windows" != "xyes" && test "$want_symbol_hiding" = "yes" && | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 40951 40952 40953 40954 40955 40956 40957 40958 40959 40960 40961 40962 40963 40964 40965 40966 40967 40968 40969 40970 40971 40972 40973 40974 40975 40976 40977 40978 40979 40980 40981 40982 40983 40984 40985 40986 40987 40988 40989 40990 40991 40992 40993 40994 40995 | else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi curl_altsvc_msg="no (--enable-alt-svc)"; { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to support alt-svc" >&5 $as_echo_n "checking whether to support alt-svc... " >&6; } # Check whether --enable-alt-svc was given. if test "${enable_alt_svc+set}" = set; then : enableval=$enable_alt_svc; case "$enableval" in no) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } curl_altsvc_msg="enabled"; enable_altsvc="yes" experimental="alt-svc" ;; esac else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "$enable_altsvc" = "yes"; then $as_echo "#define USE_ALTSVC 1" >>confdefs.h experimental="alt-svc" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether hiding of library internal symbols will actually happen" >&5 $as_echo_n "checking whether hiding of library internal symbols will actually happen... " >&6; } CFLAG_CURL_SYMBOL_HIDING="" doing_symbol_hiding="no" if test x"$curl_cv_native_windows" != "xyes" && test "$want_symbol_hiding" = "yes" && |
︙ | ︙ | |||
40989 40990 40991 40992 40993 40994 40995 | SUPPORT_FEATURES="$SUPPORT_FEATURES SSPI" fi if test "x$HAVE_GSSAPI" = "x1"; then SUPPORT_FEATURES="$SUPPORT_FEATURES GSS-API" fi | | > > > > | | 41072 41073 41074 41075 41076 41077 41078 41079 41080 41081 41082 41083 41084 41085 41086 41087 41088 41089 41090 41091 41092 41093 41094 41095 41096 41097 41098 41099 41100 41101 41102 41103 41104 41105 41106 41107 | SUPPORT_FEATURES="$SUPPORT_FEATURES SSPI" fi if test "x$HAVE_GSSAPI" = "x1"; then SUPPORT_FEATURES="$SUPPORT_FEATURES GSS-API" fi if test "x$curl_psl_msg" = "xenabled"; then SUPPORT_FEATURES="$SUPPORT_FEATURES PSL" fi if test "x$enable_altsvc" = "xyes"; then SUPPORT_FEATURES="$SUPPORT_FEATURES alt-svc" fi if test "x$CURL_DISABLE_CRYPTO_AUTH" != "x1" -a \ \( "x$HAVE_GSSAPI" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \); then SUPPORT_FEATURES="$SUPPORT_FEATURES SPNEGO" fi if test "x$CURL_DISABLE_CRYPTO_AUTH" != "x1" -a \ \( "x$HAVE_GSSAPI" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \); then SUPPORT_FEATURES="$SUPPORT_FEATURES Kerberos" fi if test "x$CURL_DISABLE_CRYPTO_AUTH" != "x1"; then if test "x$OPENSSL_ENABLED" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \ -o "x$GNUTLS_ENABLED" = "x1" -o "x$MBEDTLS_ENABLED" = "x1" \ -o "x$NSS_ENABLED" = "x1" -o "x$SECURETRANSPORT_ENABLED" = "x1"; then SUPPORT_FEATURES="$SUPPORT_FEATURES NTLM" if test "x$CURL_DISABLE_HTTP" != "x1" -a \ "x$NTLM_WB_ENABLED" = "x1"; then SUPPORT_FEATURES="$SUPPORT_FEATURES NTLM_WB" fi fi |
︙ | ︙ | |||
41087 41088 41089 41090 41091 41092 41093 | SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS IMAPS" fi fi if test "x$CURL_DISABLE_SMB" != "x1" \ -a "x$CURL_DISABLE_CRYPTO_AUTH" != "x1" \ -a \( "x$OPENSSL_ENABLED" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \ -o "x$GNUTLS_ENABLED" = "x1" -o "x$MBEDTLS_ENABLED" = "x1" \ | | | 41174 41175 41176 41177 41178 41179 41180 41181 41182 41183 41184 41185 41186 41187 41188 | SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS IMAPS" fi fi if test "x$CURL_DISABLE_SMB" != "x1" \ -a "x$CURL_DISABLE_CRYPTO_AUTH" != "x1" \ -a \( "x$OPENSSL_ENABLED" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \ -o "x$GNUTLS_ENABLED" = "x1" -o "x$MBEDTLS_ENABLED" = "x1" \ -o "x$NSS_ENABLED" = "x1" -o "x$SECURETRANSPORT_ENABLED" = "x1" \); then SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMB" if test "x$SSL_ENABLED" = "x1"; then SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMBS" fi fi if test "x$CURL_DISABLE_SMTP" != "x1"; then SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMTP" |
︙ | ︙ | |||
43976 43977 43978 43979 43980 43981 43982 | Compiler: ${CC} CFLAGS: ${CFLAGS} CPPFLAGS: ${CPPFLAGS} LDFLAGS: ${LDFLAGS} LIBS: ${LIBS} curl version: ${CURLVERSION} | | | | | | | | | | | | | | | | | > | > | | | | | | | | | | | | | | | | > | > > > > > > | 44063 44064 44065 44066 44067 44068 44069 44070 44071 44072 44073 44074 44075 44076 44077 44078 44079 44080 44081 44082 44083 44084 44085 44086 44087 44088 44089 44090 44091 44092 44093 44094 44095 44096 44097 44098 44099 44100 44101 44102 44103 44104 44105 44106 44107 44108 44109 44110 44111 44112 44113 44114 44115 44116 44117 44118 44119 44120 44121 44122 44123 44124 44125 44126 44127 44128 44129 44130 44131 44132 44133 44134 44135 44136 44137 44138 44139 44140 44141 44142 44143 44144 44145 | Compiler: ${CC} CFLAGS: ${CFLAGS} CPPFLAGS: ${CPPFLAGS} LDFLAGS: ${LDFLAGS} LIBS: ${LIBS} curl version: ${CURLVERSION} SSL: ${curl_ssl_msg} SSH: ${curl_ssh_msg} zlib: ${curl_zlib_msg} brotli: ${curl_brotli_msg} GSS-API: ${curl_gss_msg} TLS-SRP: ${curl_tls_srp_msg} resolver: ${curl_res_msg} IPv6: ${curl_ipv6_msg} Unix sockets: ${curl_unix_sockets_msg} IDN: ${curl_idn_msg} Build libcurl: Shared=${enable_shared}, Static=${enable_static} Built-in manual: ${curl_manual_msg} --libcurl option: ${curl_libcurl_msg} Verbose errors: ${curl_verbose_msg} Code coverage: ${curl_coverage_msg} SSPI: ${curl_sspi_msg} ca cert bundle: ${ca}${ca_warning} ca cert path: ${capath}${capath_warning} ca fallback: ${with_ca_fallback} LDAP: ${curl_ldap_msg} LDAPS: ${curl_ldaps_msg} RTSP: ${curl_rtsp_msg} RTMP: ${curl_rtmp_msg} Metalink: ${curl_mtlnk_msg} PSL: ${curl_psl_msg} Alt-svc: ${curl_altsvc_msg} HTTP2: ${curl_h2_msg} Protocols: ${SUPPORT_PROTOCOLS} Features: ${SUPPORT_FEATURES} " >&5 $as_echo "$as_me: Configured to build curl/libcurl: Host setup: ${host} Install prefix: ${prefix} Compiler: ${CC} CFLAGS: ${CFLAGS} CPPFLAGS: ${CPPFLAGS} LDFLAGS: ${LDFLAGS} LIBS: ${LIBS} curl version: ${CURLVERSION} SSL: ${curl_ssl_msg} SSH: ${curl_ssh_msg} zlib: ${curl_zlib_msg} brotli: ${curl_brotli_msg} GSS-API: ${curl_gss_msg} TLS-SRP: ${curl_tls_srp_msg} resolver: ${curl_res_msg} IPv6: ${curl_ipv6_msg} Unix sockets: ${curl_unix_sockets_msg} IDN: ${curl_idn_msg} Build libcurl: Shared=${enable_shared}, Static=${enable_static} Built-in manual: ${curl_manual_msg} --libcurl option: ${curl_libcurl_msg} Verbose errors: ${curl_verbose_msg} Code coverage: ${curl_coverage_msg} SSPI: ${curl_sspi_msg} ca cert bundle: ${ca}${ca_warning} ca cert path: ${capath}${capath_warning} ca fallback: ${with_ca_fallback} LDAP: ${curl_ldap_msg} LDAPS: ${curl_ldaps_msg} RTSP: ${curl_rtsp_msg} RTMP: ${curl_rtmp_msg} Metalink: ${curl_mtlnk_msg} PSL: ${curl_psl_msg} Alt-svc: ${curl_altsvc_msg} HTTP2: ${curl_h2_msg} Protocols: ${SUPPORT_PROTOCOLS} Features: ${SUPPORT_FEATURES} " >&6;} if test -n "$experimental"; then cat >&2 << _EOF WARNING: $experimental is enabled but marked EXPERIMENTAL. Use with caution! _EOF fi |
Changes to jni/curl/configure.ac.
︙ | ︙ | |||
151 152 153 154 155 156 157 | PKGADD_VENDOR="curl.haxx.se" AC_SUBST(PKGADD_PKG) AC_SUBST(PKGADD_NAME) AC_SUBST(PKGADD_VENDOR) dnl dnl initialize all the info variables | | | 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | PKGADD_VENDOR="curl.haxx.se" AC_SUBST(PKGADD_PKG) AC_SUBST(PKGADD_NAME) AC_SUBST(PKGADD_VENDOR) dnl dnl initialize all the info variables curl_ssl_msg="no (--with-{ssl,gnutls,nss,polarssl,mbedtls,cyassl,schannel,secure-transport,mesalink,amissl} )" curl_ssh_msg="no (--with-libssh2)" curl_zlib_msg="no (--with-zlib)" curl_brotli_msg="no (--with-brotli)" curl_gss_msg="no (--with-gssapi)" curl_tls_srp_msg="no (--enable-tls-srp)" curl_res_msg="default (--enable-ares / --enable-threaded-resolver)" curl_ipv6_msg="no (--enable-ipv6)" |
︙ | ︙ | |||
360 361 362 363 364 365 366 367 368 369 370 371 372 373 | curl_cv_header_winber_h="no" ;; esac CURL_CHECK_WIN32_LARGEFILE CURL_MAC_CFLAGS CURL_SUPPORTS_BUILTIN_AVAILABLE dnl ************************************************************ dnl switch off particular protocols dnl AC_MSG_CHECKING([whether to support http]) AC_ARG_ENABLE(http, AC_HELP_STRING([--enable-http],[Enable HTTP support]) | > | 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 | curl_cv_header_winber_h="no" ;; esac CURL_CHECK_WIN32_LARGEFILE CURL_MAC_CFLAGS CURL_SUPPORTS_BUILTIN_AVAILABLE dnl ************************************************************ dnl switch off particular protocols dnl AC_MSG_CHECKING([whether to support http]) AC_ARG_ENABLE(http, AC_HELP_STRING([--enable-http],[Enable HTTP support]) |
︙ | ︙ | |||
832 833 834 835 836 837 838 839 840 841 842 843 844 845 | ],[ AC_MSG_RESULT([yes]) HAVE_GETHOSTBYNAME="1" ],[ AC_MSG_RESULT([no]) ]) fi if test "$HAVE_GETHOSTBYNAME" != "1" then dnl gethostbyname in the network lib - for Haiku OS AC_CHECK_LIB(network, gethostbyname, [HAVE_GETHOSTBYNAME="1" LIBS="-lnetwork $LIBS" | > > > > > > > > > > > > > > > > > > > > > > | 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 | ],[ AC_MSG_RESULT([yes]) HAVE_GETHOSTBYNAME="1" ],[ AC_MSG_RESULT([no]) ]) fi if test "$HAVE_GETHOSTBYNAME" != "1" then dnl This is for AmigaOS with bsdsocket.library - needs testing before -lnet AC_MSG_CHECKING([for gethostbyname for AmigaOS bsdsocket.library]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ #include <proto/bsdsocket.h> struct Library *SocketBase = NULL; ]],[[ gethostbyname("www.dummysite.com"); ]]) ],[ AC_MSG_RESULT([yes]) HAVE_GETHOSTBYNAME="1" HAVE_PROTO_BSDSOCKET_H="1" AC_DEFINE(HAVE_PROTO_BSDSOCKET_H, 1, [if Amiga bsdsocket.library is in use]) AC_SUBST(HAVE_PROTO_BSDSOCKET_H, [1]) ],[ AC_MSG_RESULT([no]) ]) fi if test "$HAVE_GETHOSTBYNAME" != "1" then dnl gethostbyname in the network lib - for Haiku OS AC_CHECK_LIB(network, gethostbyname, [HAVE_GETHOSTBYNAME="1" LIBS="-lnetwork $LIBS" |
︙ | ︙ | |||
1505 1506 1507 1508 1509 1510 1511 | AC_MSG_RESULT(no) fi test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" else AC_MSG_RESULT(no) fi | | | > > > > > | | | | | | | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 | AC_MSG_RESULT(no) fi test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" else AC_MSG_RESULT(no) fi OPT_SECURETRANSPORT=no AC_ARG_WITH(darwinssl,dnl AC_HELP_STRING([--with-darwinssl],[enable Apple OS native SSL/TLS]) AC_HELP_STRING([--without-darwinssl], [disable Apple OS native SSL/TLS]), OPT_SECURETRANSPORT=$withval) AC_ARG_WITH(secure-transport,dnl AC_HELP_STRING([--with-secure-transport],[enable Apple OS native SSL/TLS]) AC_HELP_STRING([--without-secure-transport], [disable Apple OS native SSL/TLS]), OPT_SECURETRANSPORT=$withval) AC_MSG_CHECKING([whether to enable Secure Transport]) if test -z "$ssl_backends" -o "x$OPT_SECURETRANSPORT" != xno; then if test "x$OPT_SECURETRANSPORT" != "xno" && test -d "/System/Library/Frameworks/Security.framework"; then AC_MSG_RESULT(yes) AC_DEFINE(USE_SECTRANSP, 1, [enable Secure Transport]) AC_SUBST(USE_SECTRANSP, [1]) ssl_msg="Secure Transport" test secure-transport != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes SECURETRANSPORT_ENABLED=1 LDFLAGS="$LDFLAGS -framework CoreFoundation -framework Security" else AC_MSG_RESULT(no) fi test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" else AC_MSG_RESULT(no) fi OPT_AMISSL=no AC_ARG_WITH(amissl,dnl AC_HELP_STRING([--with-amissl],[enable Amiga native SSL/TLS (AmiSSL)]) AC_HELP_STRING([--without-amissl], [disable Amiga native SSL/TLS (AmiSSL)]), OPT_AMISSL=$withval) AC_MSG_CHECKING([whether to enable Amiga native SSL/TLS (AmiSSL)]) if test "$HAVE_PROTO_BSDSOCKET_H" == "1"; then if test -z "$ssl_backends" -o "x$OPT_AMISSL" != xno; then ssl_msg= if test "x$OPT_AMISSL" != "xno"; then AC_MSG_RESULT(yes) ssl_msg="AmiSSL" test amissl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes AMISSL_ENABLED=1 LIBS="-lamisslauto $LIBS" AC_DEFINE(USE_AMISSL, 1, [if AmiSSL is in use]) AC_DEFINE(USE_OPENSSL, 1, [if OpenSSL is in use]) else AC_MSG_RESULT(no) fi test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" else AC_MSG_RESULT(no) fi else AC_MSG_RESULT(no) fi dnl ********************************************************************** dnl Check for the presence of SSL libraries and headers dnl ********************************************************************** |
︙ | ︙ | |||
2380 2381 2382 2383 2384 2385 2386 | LIBS="-l$cyassllibname -lm $LIBS" if test "x$cyassllibname" = "xwolfssl"; then dnl Recent WolfSSL versions build without SSLv3 by default dnl WolfSSL needs configure --enable-opensslextra to have *get_peer* AC_CHECK_FUNCS(wolfSSLv3_client_method \ | < | 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 | LIBS="-l$cyassllibname -lm $LIBS" if test "x$cyassllibname" = "xwolfssl"; then dnl Recent WolfSSL versions build without SSLv3 by default dnl WolfSSL needs configure --enable-opensslextra to have *get_peer* AC_CHECK_FUNCS(wolfSSLv3_client_method \ wolfSSL_get_peer_certificate \ wolfSSL_UseALPN) else dnl Cyassl needs configure --enable-opensslextra to have *get_peer* AC_CHECK_FUNCS(CyaSSL_CTX_UseSupportedCurve \ CyaSSL_get_peer_certificate) fi |
︙ | ︙ | |||
2630 2631 2632 2633 2634 2635 2636 | fi dnl NSS found fi dnl NSS not disabled test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" fi | | | | 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 | fi dnl NSS found fi dnl NSS not disabled test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" fi case "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED$POLARSSL_ENABLED$MBEDTLS_ENABLED$CYASSL_ENABLED$WINSSL_ENABLED$SECURETRANSPORT_ENABLED$MESALINK_ENABLED$AMISSL_ENABLED" in x) AC_MSG_WARN([SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more.]) AC_MSG_WARN([Use --with-ssl, --with-gnutls, --with-polarssl, --with-cyassl, --with-nss, --with-schannel, --with-secure-transport, --with-mesalink or --with-amissl to address this.]) ;; x1) # one SSL backend is enabled AC_SUBST(SSL_ENABLED) SSL_ENABLED="1" AC_MSG_NOTICE([built with one SSL backend]) ;; |
︙ | ︙ | |||
2688 2689 2690 2691 2692 2693 2694 | AC_ARG_WITH(libpsl, AS_HELP_STRING([--without-libpsl], [disable support for libpsl cookie checking]), with_libpsl=$withval, with_libpsl=yes) if test $with_libpsl != "no"; then AC_SEARCH_LIBS(psl_builtin, psl, | | | | 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 | AC_ARG_WITH(libpsl, AS_HELP_STRING([--without-libpsl], [disable support for libpsl cookie checking]), with_libpsl=$withval, with_libpsl=yes) if test $with_libpsl != "no"; then AC_SEARCH_LIBS(psl_builtin, psl, [curl_psl_msg="enabled"; AC_DEFINE([USE_LIBPSL], [1], [PSL support enabled]) ], [curl_psl_msg="no (libpsl not found)"; AC_MSG_WARN([libpsl was not found]) ] ) fi AM_CONDITIONAL([USE_LIBPSL], [test "$curl_psl_msg" = "enabled"]) dnl ********************************************************************** dnl Check for libmetalink dnl ********************************************************************** OPT_LIBMETALINK=no |
︙ | ︙ | |||
3062 3063 3064 3065 3066 3067 3068 | elif test "x$NSS_ENABLED" = "x1"; then versioned_symbols_flavour="NSS_" elif test "x$POLARSSL_ENABLED" = "x1"; then versioned_symbols_flavour="POLARSSL_" elif test "x$CYASSL_ENABLED" = "x1"; then versioned_symbols_flavour="CYASSL_" elif test "x$WINSSL_ENABLED" = "x1"; then | | | | | 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 | elif test "x$NSS_ENABLED" = "x1"; then versioned_symbols_flavour="NSS_" elif test "x$POLARSSL_ENABLED" = "x1"; then versioned_symbols_flavour="POLARSSL_" elif test "x$CYASSL_ENABLED" = "x1"; then versioned_symbols_flavour="CYASSL_" elif test "x$WINSSL_ENABLED" = "x1"; then versioned_symbols_flavour="SCHANNEL_" elif test "x$SECURETRANSPORT_ENABLED" = "x1"; then versioned_symbols_flavour="SECURE_TRANSPORT_" else versioned_symbols_flavour="" fi versioned_symbols="yes" fi ;; |
︙ | ︙ | |||
3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 | ;; *) dnl --with-zsh-functions-dir option used with path ZSH_FUNCTIONS_DIR="$withval" AC_SUBST(ZSH_FUNCTIONS_DIR) ;; esac dnl ********************************************************************** dnl Back to "normal" configuring dnl ********************************************************************** dnl Checks for header files. AC_HEADER_STDC | > > > > > > > > > > > > > > > > > > > > > > > > > | 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 | ;; *) dnl --with-zsh-functions-dir option used with path ZSH_FUNCTIONS_DIR="$withval" AC_SUBST(ZSH_FUNCTIONS_DIR) ;; esac dnl ********************************************************************** dnl Check for fish completion path dnl ********************************************************************** OPT_FISH_FPATH=default AC_ARG_WITH(fish-functions-dir, AC_HELP_STRING([--with-fish-functions-dir=PATH],[Install fish completions to PATH]) AC_HELP_STRING([--without-fish-functions-dir],[Do not install fish completions]), [OPT_FISH_FPATH=$withval]) case "$OPT_FISH_FPATH" in no) dnl --without-fish-functions-dir option used ;; default|yes) dnl --with-fish-functions-dir option used without path FISH_FUNCTIONS_DIR="$datarootdir/fish/completions" AC_SUBST(FISH_FUNCTIONS_DIR) ;; *) dnl --with-fish-functions-dir option used with path FISH_FUNCTIONS_DIR="$withval" AC_SUBST(FISH_FUNCTIONS_DIR) ;; esac dnl ********************************************************************** dnl Back to "normal" configuring dnl ********************************************************************** dnl Checks for header files. AC_HEADER_STDC |
︙ | ︙ | |||
3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 | #include <netinet/in6.h> #endif #ifdef HAVE_SYS_UN_H #include <sys/un.h> #endif ] ) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST CURL_CHECK_VARIADIC_MACROS AC_TYPE_SIZE_T AC_HEADER_TIME CURL_CHECK_STRUCT_TIMEVAL | > | 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 | #include <netinet/in6.h> #endif #ifdef HAVE_SYS_UN_H #include <sys/un.h> #endif ] ) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST CURL_CHECK_VARIADIC_MACROS AC_TYPE_SIZE_T AC_HEADER_TIME CURL_CHECK_STRUCT_TIMEVAL |
︙ | ︙ | |||
3609 3610 3611 3612 3613 3614 3615 | CURL_CHECK_FUNC_ALARM CURL_CHECK_FUNC_BASENAME CURL_CHECK_FUNC_CLOSESOCKET CURL_CHECK_FUNC_CLOSESOCKET_CAMEL CURL_CHECK_FUNC_CONNECT CURL_CHECK_FUNC_FCNTL | < | 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 | CURL_CHECK_FUNC_ALARM CURL_CHECK_FUNC_BASENAME CURL_CHECK_FUNC_CLOSESOCKET CURL_CHECK_FUNC_CLOSESOCKET_CAMEL CURL_CHECK_FUNC_CONNECT CURL_CHECK_FUNC_FCNTL CURL_CHECK_FUNC_FREEADDRINFO CURL_CHECK_FUNC_FREEIFADDRS CURL_CHECK_FUNC_FSETXATTR CURL_CHECK_FUNC_FTRUNCATE CURL_CHECK_FUNC_GETADDRINFO CURL_CHECK_FUNC_GAI_STRERROR CURL_CHECK_FUNC_GETHOSTBYADDR |
︙ | ︙ | |||
4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 | AC_DEFINE(CURL_DISABLE_COOKIES, 1, [to disable cookies support]) ;; *) AC_MSG_RESULT(yes) ;; esac ], AC_MSG_RESULT(yes) ) dnl ************************************************************ dnl hiding of library internal symbols dnl CURL_CONFIGURE_SYMBOL_HIDING dnl | > > > > > > > > > > > > > > > > > > > > > > > > > > | 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 | AC_DEFINE(CURL_DISABLE_COOKIES, 1, [to disable cookies support]) ;; *) AC_MSG_RESULT(yes) ;; esac ], AC_MSG_RESULT(yes) ) dnl ************************************************************ dnl switch on/off alt-svc dnl curl_altsvc_msg="no (--enable-alt-svc)"; AC_MSG_CHECKING([whether to support alt-svc]) AC_ARG_ENABLE(alt-svc, AC_HELP_STRING([--enable-alt-svc],[Enable alt-svc support]) AC_HELP_STRING([--disable-alt-svc],[Disable alt-svc support]), [ case "$enableval" in no) AC_MSG_RESULT(no) ;; *) AC_MSG_RESULT(yes) curl_altsvc_msg="enabled"; enable_altsvc="yes" experimental="alt-svc" ;; esac ], AC_MSG_RESULT(no) ) if test "$enable_altsvc" = "yes"; then AC_DEFINE(USE_ALTSVC, 1, [to enable alt-svc]) experimental="alt-svc" fi dnl ************************************************************ dnl hiding of library internal symbols dnl CURL_CONFIGURE_SYMBOL_HIDING dnl |
︙ | ︙ | |||
4099 4100 4101 4102 4103 4104 4105 | SUPPORT_FEATURES="$SUPPORT_FEATURES SSPI" fi if test "x$HAVE_GSSAPI" = "x1"; then SUPPORT_FEATURES="$SUPPORT_FEATURES GSS-API" fi | | > > > > | | 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 | SUPPORT_FEATURES="$SUPPORT_FEATURES SSPI" fi if test "x$HAVE_GSSAPI" = "x1"; then SUPPORT_FEATURES="$SUPPORT_FEATURES GSS-API" fi if test "x$curl_psl_msg" = "xenabled"; then SUPPORT_FEATURES="$SUPPORT_FEATURES PSL" fi if test "x$enable_altsvc" = "xyes"; then SUPPORT_FEATURES="$SUPPORT_FEATURES alt-svc" fi if test "x$CURL_DISABLE_CRYPTO_AUTH" != "x1" -a \ \( "x$HAVE_GSSAPI" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \); then SUPPORT_FEATURES="$SUPPORT_FEATURES SPNEGO" fi if test "x$CURL_DISABLE_CRYPTO_AUTH" != "x1" -a \ \( "x$HAVE_GSSAPI" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \); then SUPPORT_FEATURES="$SUPPORT_FEATURES Kerberos" fi if test "x$CURL_DISABLE_CRYPTO_AUTH" != "x1"; then if test "x$OPENSSL_ENABLED" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \ -o "x$GNUTLS_ENABLED" = "x1" -o "x$MBEDTLS_ENABLED" = "x1" \ -o "x$NSS_ENABLED" = "x1" -o "x$SECURETRANSPORT_ENABLED" = "x1"; then SUPPORT_FEATURES="$SUPPORT_FEATURES NTLM" if test "x$CURL_DISABLE_HTTP" != "x1" -a \ "x$NTLM_WB_ENABLED" = "x1"; then SUPPORT_FEATURES="$SUPPORT_FEATURES NTLM_WB" fi fi |
︙ | ︙ | |||
4198 4199 4200 4201 4202 4203 4204 | SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS IMAPS" fi fi if test "x$CURL_DISABLE_SMB" != "x1" \ -a "x$CURL_DISABLE_CRYPTO_AUTH" != "x1" \ -a \( "x$OPENSSL_ENABLED" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \ -o "x$GNUTLS_ENABLED" = "x1" -o "x$MBEDTLS_ENABLED" = "x1" \ | | | 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 | SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS IMAPS" fi fi if test "x$CURL_DISABLE_SMB" != "x1" \ -a "x$CURL_DISABLE_CRYPTO_AUTH" != "x1" \ -a \( "x$OPENSSL_ENABLED" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \ -o "x$GNUTLS_ENABLED" = "x1" -o "x$MBEDTLS_ENABLED" = "x1" \ -o "x$NSS_ENABLED" = "x1" -o "x$SECURETRANSPORT_ENABLED" = "x1" \); then SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMB" if test "x$SSL_ENABLED" = "x1"; then SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMBS" fi fi if test "x$CURL_DISABLE_SMTP" != "x1"; then SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMTP" |
︙ | ︙ | |||
4298 4299 4300 4301 4302 4303 4304 | Compiler: ${CC} CFLAGS: ${CFLAGS} CPPFLAGS: ${CPPFLAGS} LDFLAGS: ${LDFLAGS} LIBS: ${LIBS} curl version: ${CURLVERSION} | | | | | | | | | | | | | | | | | > | > > > > > > | 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 | Compiler: ${CC} CFLAGS: ${CFLAGS} CPPFLAGS: ${CPPFLAGS} LDFLAGS: ${LDFLAGS} LIBS: ${LIBS} curl version: ${CURLVERSION} SSL: ${curl_ssl_msg} SSH: ${curl_ssh_msg} zlib: ${curl_zlib_msg} brotli: ${curl_brotli_msg} GSS-API: ${curl_gss_msg} TLS-SRP: ${curl_tls_srp_msg} resolver: ${curl_res_msg} IPv6: ${curl_ipv6_msg} Unix sockets: ${curl_unix_sockets_msg} IDN: ${curl_idn_msg} Build libcurl: Shared=${enable_shared}, Static=${enable_static} Built-in manual: ${curl_manual_msg} --libcurl option: ${curl_libcurl_msg} Verbose errors: ${curl_verbose_msg} Code coverage: ${curl_coverage_msg} SSPI: ${curl_sspi_msg} ca cert bundle: ${ca}${ca_warning} ca cert path: ${capath}${capath_warning} ca fallback: ${with_ca_fallback} LDAP: ${curl_ldap_msg} LDAPS: ${curl_ldaps_msg} RTSP: ${curl_rtsp_msg} RTMP: ${curl_rtmp_msg} Metalink: ${curl_mtlnk_msg} PSL: ${curl_psl_msg} Alt-svc: ${curl_altsvc_msg} HTTP2: ${curl_h2_msg} Protocols: ${SUPPORT_PROTOCOLS} Features: ${SUPPORT_FEATURES} ]) if test -n "$experimental"; then cat >&2 << _EOF WARNING: $experimental is enabled but marked EXPERIMENTAL. Use with caution! _EOF fi |
Added jni/curl/docs/ALTSVC.md.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | # Alt-Svc curl features **EXPERIMENTAL** support for the Alt-Svc: HTTP header. ## Experimental Experimental support in curl means: 1. Experimental features are provided to allow users to try them out and provide feedback on functionality and API etc before they ship and get "carved in stone". 2. You must enable the feature when invoking configure as otherwise curl will not be built with the feature present. 3. We strongly advice against using this feature in production. 4. **We reserve the right to change behavior** of the feature without sticking to our API/ABI rules as we do for regular features, as long as it is marked experimental. 5. Experimental features are clearly marked so in documentation. Beware. ## Enable Alt-Svc in build `./configure --enable-alt-svc` ## Standard [RFC 7838](https://tools.ietf.org/html/rfc7838) ## What works - read alt-svc file from disk - write alt-svc file from disk - parse `Alt-Svc:` response headers, including `ma`, `clear` and `persist`. - replaces old entries when new alternatives are received - unit tests to verify most of this functionality (test 1654) - act on `Alt-Svc:` response headers - build conditionally on `configure --enable-alt-svc` only, feature marked as **EXPERIMENTAL** - implement `CURLOPT_ALTSVC_CTRL` - implement `CURLOPT_ALTSVC` - document `CURLOPT_ALTSVC_CTRL` - document `CURLOPT_ALTSVC` - document `--alt-svc` - add `CURL_VERSION_ALTSVC` - make `curl -V` show 'alt-svc' as a feature if built-in - support `curl --alt-svc [file]` to enable caching, using that file - make `tests/runtests.pl` able to filter tests on the feature `alt-svc` - actually use the existing in-memory alt-svc cache for outgoing connections - alt-svc cache expiry - test 355 and 356 verify curl acting on Alt-Svc, received from header and loaded from cache. The latter needs a debug build since it enables Alt-Svc for plain HTTP. ## What is left - handle multiple response headers, when one of them says `clear` (should override them all) - using `Age:` value for caching age as per spec - `CURLALTSVC_IMMEDIATELY` support - `CURLALTSVC_ALTUSED` support |
Changes to jni/curl/docs/CIPHERS.md.
︙ | ︙ | |||
492 493 494 495 496 497 498 | `CALG_AES`, `CALG_SHA_256`, `CALG_SHA_384`, `CALG_SHA_512`, `CALG_ECDH`, `CALG_ECMQV`, `CALG_ECDSA`, | > | 492 493 494 495 496 497 498 499 | `CALG_AES`, `CALG_SHA_256`, `CALG_SHA_384`, `CALG_SHA_512`, `CALG_ECDH`, `CALG_ECMQV`, `CALG_ECDSA`, `CALG_ECDH_EPHEM`, |
Changes to jni/curl/docs/FAQ.
︙ | ︙ | |||
442 443 444 445 446 447 448 | 2.2 Does curl work/build with other SSL libraries? Curl has been written to use a generic SSL function layer internally, and that SSL functionality can then be provided by one out of many different SSL backends. curl can be built to use one of the following SSL alternatives: OpenSSL, | | | | | | 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 | 2.2 Does curl work/build with other SSL libraries? Curl has been written to use a generic SSL function layer internally, and that SSL functionality can then be provided by one out of many different SSL backends. curl can be built to use one of the following SSL alternatives: OpenSSL, libressl, BoringSSL, GnuTLS, wolfSSL, NSS, mbedTLS, MesaLink, Secure Transport (native iOS/OS X), Schannel (native Windows) or GSKit (native IBM i). They all have their pros and cons, and we try to maintain a comparison of them here: https://curl.haxx.se/docs/ssl-compared.html 2.3 Where can I find a copy of LIBEAY32.DLL? That is an OpenSSL binary built for Windows. Curl can be built with OpenSSL to do the SSL stuff. The LIBEAY32.DLL is then what curl needs on a windows machine to do https:// etc. Check out the curl |
︙ | ︙ | |||
479 480 481 482 483 484 485 | support. To get the https:// support into a curl that was previously built but that reports that https:// is not supported, you should dig through the document and logs and check out why the configure script doesn't find the SSL libs and/or include files. | | | 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 | support. To get the https:// support into a curl that was previously built but that reports that https:// is not supported, you should dig through the document and logs and check out why the configure script doesn't find the SSL libs and/or include files. Also, check out the other paragraph in this FAQ labeled "configure doesn't find OpenSSL even when it is installed". 3.2 How do I tell curl to resume a transfer? Curl supports resumed transfers both ways on both FTP and HTTP. Try the -C option. |
︙ | ︙ | |||
568 569 570 571 572 573 574 | All the various bindings to libcurl are made by other projects and people, outside of the cURL project. The cURL project itself only produces libcurl with its plain C API. If you don't find anywhere else to ask you can ask about bindings on the curl-library list too, but be prepared that people on that list may not know anything about bindings. | | | | > | | | | | 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 | All the various bindings to libcurl are made by other projects and people, outside of the cURL project. The cURL project itself only produces libcurl with its plain C API. If you don't find anywhere else to ask you can ask about bindings on the curl-library list too, but be prepared that people on that list may not know anything about bindings. In February 2019, there were interfaces available for the following languages: Ada95, Basic, C, C++, Ch, Cocoa, D, Delphi, Dylan, Eiffel, Euphoria, Falcon, Ferite, Gambas, glib/GTK+, Go, Guile, Harbour, Haskell, Java, Julia, Lisp, Lua, Mono, .NET, node.js, Object-Pascal, OCaml, Pascal, Perl, PHP, PostgreSQL, Python, R, Rexx, Ring, RPG, Ruby, Rust, Scheme, Scilab, S-Lang, Smalltalk, SP-Forth, SPL, Tcl, Visual Basic, Visual FoxPro, Q, wxwidgets, XBLite and Xoho. By the time you read this, additional ones may have appeared! 3.10 What about SOAP, WebDAV, XML-RPC or similar protocols over HTTP? Curl adheres to the HTTP spec, which basically means you can play with *any* protocol that is built on top of HTTP. Protocols such as SOAP, WEBDAV and XML-RPC are all such ones. You can use -X to set custom requests and -H to set custom headers (or replace internally generated ones). |
︙ | ︙ | |||
741 742 743 744 745 746 747 | 3.20 How to SFTP from my user's home directory? Contrary to how FTP works, SFTP and SCP URLs specify the exact directory to work with. It means that if you don't specify that you want the user's home directory, you get the actual root directory. To specify a file in your user's home directory, you need to use the correct | | | 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 | 3.20 How to SFTP from my user's home directory? Contrary to how FTP works, SFTP and SCP URLs specify the exact directory to work with. It means that if you don't specify that you want the user's home directory, you get the actual root directory. To specify a file in your user's home directory, you need to use the correct URL syntax which for SFTP might look similar to: curl -O -u user:password sftp://example.com/~/file.txt and for SCP it is just a different protocol prefix: curl -O -u user:password scp://example.com/~/file.txt |
︙ | ︙ | |||
1020 1021 1022 1023 1024 1025 1026 | mode. When a URL is used that starts with FTPS://, curl assumes implicit SSL on the control connection and will therefore immediately connect and try to speak SSL. FTPS:// connections default to port 990. To use explicit FTPS, you use a FTP:// URL and the --ftp-ssl option (or one | | | 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 | mode. When a URL is used that starts with FTPS://, curl assumes implicit SSL on the control connection and will therefore immediately connect and try to speak SSL. FTPS:// connections default to port 990. To use explicit FTPS, you use a FTP:// URL and the --ftp-ssl option (or one of its related flavors). This is the most common method, and the one mandated by RFC4217. This kind of connection will then of course use the standard FTP port 21 by default. 4.16 My HTTP POST or PUT requests are slow! libcurl makes all POST and PUT requests (except for POST requests with a very tiny request body) use the "Expect: 100-continue" header. This header |
︙ | ︙ | |||
1111 1112 1113 1114 1115 1116 1117 | falls too low, and --connect-timeout and --max-time can be used to put an overall timeout on the connection phase or the entire transfer. A libcurl-using application running in a known physical environment (e.g. an embedded device with only a single network connection) may want to act immediately if its lone network connection goes down. That can be achieved by having the application monitor the network connection on its own using an | | | 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 | falls too low, and --connect-timeout and --max-time can be used to put an overall timeout on the connection phase or the entire transfer. A libcurl-using application running in a known physical environment (e.g. an embedded device with only a single network connection) may want to act immediately if its lone network connection goes down. That can be achieved by having the application monitor the network connection on its own using an OS-specific mechanism, then signaling libcurl to abort (see also item 5.13). 4.20 curl doesn't return error for HTTP non-200 responses! Correct. Unless you use -f (--fail). When doing HTTP transfers, curl will perform exactly what you're asking it to do and if successful it will not return an error. You can use curl to |
︙ | ︙ |
Changes to jni/curl/docs/GOVERNANCE.md.
︙ | ︙ | |||
93 94 95 96 97 98 99 | merge changes into a git repository in the curl project. Anyone can aspire to become a curl maintainer. ### Duties There are no mandatory duties. We hope and wish that maintainers consider | | | | 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | merge changes into a git repository in the curl project. Anyone can aspire to become a curl maintainer. ### Duties There are no mandatory duties. We hope and wish that maintainers consider reviewing patches and help merging them, especially when the changes are within the area of personal expertise and experience. ### Requirements - only merge code that meets our quality and style guide requirements. - *never* merge code without doing a PR first, unless the change is "trivial" - if in doubt, ask for input/feedback from others ### Recommendations - please enable 2fa on your github account to reduce risk of malicious source code tampering - consider enabling signed git commits for additional verification of changes ### Merge advice When you're merging patches/PRs... |
︙ | ︙ |
Changes to jni/curl/docs/HTTP-COOKIES.md.
︙ | ︙ | |||
14 15 16 17 18 19 20 | Cookies are set to the client with the Set-Cookie: header and are sent to servers with the Cookie: header. For a very long time, the only spec explaining how to use cookies was the original [Netscape spec from 1994](https://curl.haxx.se/rfc/cookie_spec.html). In 2011, [RFC6265](https://www.ietf.org/rfc/rfc6265.txt) was finally | | > > > | > > > > | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | Cookies are set to the client with the Set-Cookie: header and are sent to servers with the Cookie: header. For a very long time, the only spec explaining how to use cookies was the original [Netscape spec from 1994](https://curl.haxx.se/rfc/cookie_spec.html). In 2011, [RFC6265](https://www.ietf.org/rfc/rfc6265.txt) was finally published and details how cookies work within HTTP. In 2016, an update which added support for prefixes was [proposed](https://tools.ietf.org/html/draft-ietf-httpbis-cookie-prefixes-00), and in 2017, another update was [drafted](https://tools.ietf.org/html/draft-ietf-httpbis-cookie-alone-01) to deprecate modification of 'secure' cookies from non-secure origins. Both of these drafs have been incorporated into a proposal to [replace](https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-02) RFC6265. Cookie prefixes and secure cookie modification protection has been implemented by curl. ## Cookies saved to disk Netscape once created a file format for storing cookies on disk so that they would survive browser restarts. curl adopted that file format to allow sharing the cookies with browsers, only to see browsers move away from that format. Modern browsers no longer use it, while curl still does. |
︙ | ︙ |
Changes to jni/curl/docs/INSTALL.md.
︙ | ︙ | |||
97 98 99 100 101 102 103 | ## Select TLS backend The default OpenSSL configure check will also detect and use BoringSSL or libressl. - GnuTLS: `--without-ssl --with-gnutls`. | | | | | 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | ## Select TLS backend The default OpenSSL configure check will also detect and use BoringSSL or libressl. - GnuTLS: `--without-ssl --with-gnutls`. - wolfSSL: `--without-ssl --with-wolfssl` - NSS: `--without-ssl --with-nss` - PolarSSL: `--without-ssl --with-polarssl` - mbedTLS: `--without-ssl --with-mbedtls` - schannel: `--without-ssl --with-schannel` - secure transport: `--without-ssl --with-secure-transport` - MesaLink: `--without-ssl --with-mesalink` # Windows ## Building Windows DLLs and C run-time (CRT) linkage issues As a general rule, building a DLL with static CRT linkage is highly |
︙ | ︙ |
Changes to jni/curl/docs/INTERNALS.md.
︙ | ︙ | |||
310 311 312 313 314 315 316 | `Curl_ftpsendf()` is used for sending FTP commands to the remote server. It was made a separate function to prevent us programmers from forgetting that they must be CRLF terminated. They must also be sent in one single write() to make firewalls and similar happy. <a name="kerberos"></a> Kerberos | < > | 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 | `Curl_ftpsendf()` is used for sending FTP commands to the remote server. It was made a separate function to prevent us programmers from forgetting that they must be CRLF terminated. They must also be sent in one single write() to make firewalls and similar happy. <a name="kerberos"></a> Kerberos ======== Kerberos support is mainly in lib/krb5.c and lib/security.c but also `curl_sasl_sspi.c` and `curl_sasl_gssapi.c` for the email protocols and `socks_gssapi.c` and `socks_sspi.c` for SOCKS5 proxy specifics. <a name="telnet"></a> TELNET |
︙ | ︙ | |||
586 587 588 589 590 591 592 593 594 595 596 597 598 599 | ========== `curl_off_t` is a data type provided by the external libcurl include headers. It is the type meant to be used for the [`curl_easy_setopt()`][1] options that end with LARGE. The type is 64bit large on most modern platforms. curlx ===== The libcurl source code offers a few functions by source only. They are not part of the official libcurl API, but the source files might be useful for others so apps can optionally compile/build with these sources to gain additional functions. | > | 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 | ========== `curl_off_t` is a data type provided by the external libcurl include headers. It is the type meant to be used for the [`curl_easy_setopt()`][1] options that end with LARGE. The type is 64bit large on most modern platforms. <a name="curlx"></a> curlx ===== The libcurl source code offers a few functions by source only. They are not part of the official libcurl API, but the source files might be useful for others so apps can optionally compile/build with these sources to gain additional functions. |
︙ | ︙ |
Changes to jni/curl/docs/KNOWN_BUGS.
︙ | ︙ | |||
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | 1. HTTP 1.1 CURLFORM_CONTENTLEN in an array 1.2 Disabling HTTP Pipelining 1.3 STARTTRANSFER time is wrong for HTTP POSTs 1.4 multipart formposts file name encoding 1.5 Expect-100 meets 417 1.6 Unnecessary close when 401 received waiting for 100 1.9 HTTP/2 frames while in the connection pool kill reuse 1.10 Strips trailing dot from host name 1.11 CURLOPT_SEEKFUNCTION not called with CURLFORM_STREAM 2. TLS 2.1 CURLINFO_SSL_VERIFYRESULT has limited support 2.2 DER in keychain 2.3 GnuTLS backend skips really long certificate fields 2.4 DarwinSSL won't import PKCS#12 client certificates without a password 2.5 Client cert handling with Issuer DN differs between backends 2.6 CURL_GLOBAL_SSL 3. Email protocols 3.1 IMAP SEARCH ALL truncated response 3.2 No disconnect command 3.3 SMTP to multiple recipients 3.4 POP3 expects "CRLF.CRLF" eob for some single-line responses 4. Command line 4.1 -J and -O with %-encoded file names 4.2 -J with -C - fails 4.3 --retry and transfer timeouts 4.4 --upload-file . hang if delay in STDIN 4.5 Improve --data-urlencode space encoding 5. Build and portability issues 5.1 tests not compatible with python3 5.2 curl-config --libs contains private details 5.5 can't handle Unicode arguments in Windows 5.6 cmake support gaps 5.7 Visual Studio project gaps 5.8 configure finding libs in wrong directory 5.9 Utilize Requires.private directives in libcurl.pc 6. Authentication | > > > > | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | 1. HTTP 1.1 CURLFORM_CONTENTLEN in an array 1.2 Disabling HTTP Pipelining 1.3 STARTTRANSFER time is wrong for HTTP POSTs 1.4 multipart formposts file name encoding 1.5 Expect-100 meets 417 1.6 Unnecessary close when 401 received waiting for 100 1.7 Deflate error after all content was received 1.9 HTTP/2 frames while in the connection pool kill reuse 1.10 Strips trailing dot from host name 1.11 CURLOPT_SEEKFUNCTION not called with CURLFORM_STREAM 2. TLS 2.1 CURLINFO_SSL_VERIFYRESULT has limited support 2.2 DER in keychain 2.3 GnuTLS backend skips really long certificate fields 2.4 DarwinSSL won't import PKCS#12 client certificates without a password 2.5 Client cert handling with Issuer DN differs between backends 2.6 CURL_GLOBAL_SSL 2.7 Client cert (MTLS) issues with Schannel 3. Email protocols 3.1 IMAP SEARCH ALL truncated response 3.2 No disconnect command 3.3 SMTP to multiple recipients 3.4 POP3 expects "CRLF.CRLF" eob for some single-line responses 4. Command line 4.1 -J and -O with %-encoded file names 4.2 -J with -C - fails 4.3 --retry and transfer timeouts 4.4 --upload-file . hang if delay in STDIN 4.5 Improve --data-urlencode space encoding 5. Build and portability issues 5.1 tests not compatible with python3 5.2 curl-config --libs contains private details 5.3 curl compiled on OSX 10.13 failed to run on OSX 10.10 5.4 Cannot compile against a static build of OpenLDAP 5.5 can't handle Unicode arguments in Windows 5.6 cmake support gaps 5.7 Visual Studio project gaps 5.8 configure finding libs in wrong directory 5.9 Utilize Requires.private directives in libcurl.pc 6. Authentication |
︙ | ︙ | |||
149 150 151 152 153 154 155 156 157 158 159 160 161 162 | https://curl.haxx.se/mail/archive-2008-02/0043.html 1.6 Unnecessary close when 401 received waiting for 100 libcurl closes the connection if an HTTP 401 reply is received while it is waiting for the the 100-continue response. https://curl.haxx.se/mail/lib-2008-08/0462.html 1.9 HTTP/2 frames while in the connection pool kill reuse If the server sends HTTP/2 frames (like for example an HTTP/2 PING frame) to curl while the connection is held in curl's connection pool, the socket will be found readable when considered for reuse and that makes curl think it is dead and then it will be closed and a new connection gets created instead. | > > > > > > > > > | 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | https://curl.haxx.se/mail/archive-2008-02/0043.html 1.6 Unnecessary close when 401 received waiting for 100 libcurl closes the connection if an HTTP 401 reply is received while it is waiting for the the 100-continue response. https://curl.haxx.se/mail/lib-2008-08/0462.html 1.7 Deflate error after all content was received There's a situation where we can get an error in a HTTP response that is compressed, when that error is detected after all the actual body contents have been received and delivered to the appliction. This is tricky, but is ultimately a broken server. See https://github.com/curl/curl/issues/2719 1.9 HTTP/2 frames while in the connection pool kill reuse If the server sends HTTP/2 frames (like for example an HTTP/2 PING frame) to curl while the connection is held in curl's connection pool, the socket will be found readable when considered for reuse and that makes curl think it is dead and then it will be closed and a new connection gets created instead. |
︙ | ︙ | |||
268 269 270 271 272 273 274 275 276 277 278 279 280 281 | However, in spite of the problems with the feature, there were some users who apparently depended on this feature and who now claim libcurl is broken for them. The fix for this situation is not obvious as a downright revert of the patch is totally ruled out due to those reasons above. https://github.com/curl/curl/issues/2276 3. Email protocols 3.1 IMAP SEARCH ALL truncated response IMAP "SEARCH ALL" truncates output on large boxes. "A quick search of the code reveals that pingpong.c contains some truncation code, at line 408, when | > > > > | 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 | However, in spite of the problems with the feature, there were some users who apparently depended on this feature and who now claim libcurl is broken for them. The fix for this situation is not obvious as a downright revert of the patch is totally ruled out due to those reasons above. https://github.com/curl/curl/issues/2276 2.7 Client cert (MTLS) issues with Schannel See https://github.com/curl/curl/issues/3145 3. Email protocols 3.1 IMAP SEARCH ALL truncated response IMAP "SEARCH ALL" truncates output on large boxes. "A quick search of the code reveals that pingpong.c contains some truncation code, at line 408, when |
︙ | ︙ | |||
362 363 364 365 366 367 368 369 370 371 372 373 374 375 | See https://github.com/curl/curl/issues/3289 5.2 curl-config --libs contains private details "curl-config --libs" will include details set in LDFLAGS when configure is run that might be needed only for building libcurl. Further, curl-config --cflags suffers from the same effects with CFLAGS/CPPFLAGS. 5.5 can't handle Unicode arguments in Windows If a URL or filename can't be encoded using the user's current codepage then it can only be encoded properly in the Unicode character set. Windows uses UTF-16 encoding for Unicode and stores it in wide characters, however curl and libcurl are not equipped for that at the moment. And, except for Cygwin, | > > > > > > > > | 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 | See https://github.com/curl/curl/issues/3289 5.2 curl-config --libs contains private details "curl-config --libs" will include details set in LDFLAGS when configure is run that might be needed only for building libcurl. Further, curl-config --cflags suffers from the same effects with CFLAGS/CPPFLAGS. 5.3 curl compiled on OSX 10.13 failed to run on OSX 10.10 See https://github.com/curl/curl/issues/2905 5.4 Cannot compile against a static build of OpenLDAP See https://github.com/curl/curl/issues/2367 5.5 can't handle Unicode arguments in Windows If a URL or filename can't be encoded using the user's current codepage then it can only be encoded properly in the Unicode character set. Windows uses UTF-16 encoding for Unicode and stores it in wide characters, however curl and libcurl are not equipped for that at the moment. And, except for Cygwin, |
︙ | ︙ |
Deleted jni/curl/docs/MANUAL.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Changes to jni/curl/docs/Makefile.am.
1 2 3 4 5 6 7 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
38 39 40 41 42 43 44 45 46 47 48 49 50 51 | SUBDIRS = . cmdline-opts DIST_SUBDIRS = $(SUBDIRS) examples libcurl CLEANFILES = $(GENHTMLPAGES) $(PDFPAGES) $(MANDISTPAGES) curl.1 EXTRA_DIST = \ $(noinst_man_MANS) \ BINDINGS.md \ BUGS \ CHECKSRC.md \ CIPHERS.md \ CMakeLists.txt \ CODE_OF_CONDUCT.md \ CODE_STYLE.md \ | > | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | SUBDIRS = . cmdline-opts DIST_SUBDIRS = $(SUBDIRS) examples libcurl CLEANFILES = $(GENHTMLPAGES) $(PDFPAGES) $(MANDISTPAGES) curl.1 EXTRA_DIST = \ $(noinst_man_MANS) \ ALTSVC.md \ BINDINGS.md \ BUGS \ CHECKSRC.md \ CIPHERS.md \ CMakeLists.txt \ CODE_OF_CONDUCT.md \ CODE_STYLE.md \ |
︙ | ︙ | |||
61 62 63 64 65 66 67 | INSTALL \ INSTALL.cmake \ INSTALL.md \ INTERNALS.md \ KNOWN_BUGS \ LICENSE-MIXING.md \ MAIL-ETIQUETTE \ | < | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | INSTALL \ INSTALL.cmake \ INSTALL.md \ INTERNALS.md \ KNOWN_BUGS \ LICENSE-MIXING.md \ MAIL-ETIQUETTE \ README.cmake \ README.md \ README.netware \ README.win32 \ RELEASE-PROCEDURE.md \ RESOURCES \ ROADMAP.md \ |
︙ | ︙ |
Changes to jni/curl/docs/Makefile.in.
︙ | ︙ | |||
17 18 19 20 21 22 23 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ | > > | 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ |
︙ | ︙ | |||
370 371 372 373 374 375 376 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ | < > | 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ |
︙ | ︙ | |||
463 464 465 466 467 468 469 470 471 472 473 474 475 476 | # Build targets in this file (.) before cmdline-opts to ensure that # the curl.1 rule below runs first SUBDIRS = . cmdline-opts DIST_SUBDIRS = $(SUBDIRS) examples libcurl CLEANFILES = $(GENHTMLPAGES) $(PDFPAGES) $(MANDISTPAGES) curl.1 EXTRA_DIST = \ $(noinst_man_MANS) \ BINDINGS.md \ BUGS \ CHECKSRC.md \ CIPHERS.md \ CMakeLists.txt \ CODE_OF_CONDUCT.md \ CODE_STYLE.md \ | > | 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 | # Build targets in this file (.) before cmdline-opts to ensure that # the curl.1 rule below runs first SUBDIRS = . cmdline-opts DIST_SUBDIRS = $(SUBDIRS) examples libcurl CLEANFILES = $(GENHTMLPAGES) $(PDFPAGES) $(MANDISTPAGES) curl.1 EXTRA_DIST = \ $(noinst_man_MANS) \ ALTSVC.md \ BINDINGS.md \ BUGS \ CHECKSRC.md \ CIPHERS.md \ CMakeLists.txt \ CODE_OF_CONDUCT.md \ CODE_STYLE.md \ |
︙ | ︙ | |||
486 487 488 489 490 491 492 | INSTALL \ INSTALL.cmake \ INSTALL.md \ INTERNALS.md \ KNOWN_BUGS \ LICENSE-MIXING.md \ MAIL-ETIQUETTE \ | < | 489 490 491 492 493 494 495 496 497 498 499 500 501 502 | INSTALL \ INSTALL.cmake \ INSTALL.md \ INTERNALS.md \ KNOWN_BUGS \ LICENSE-MIXING.md \ MAIL-ETIQUETTE \ README.cmake \ README.md \ README.netware \ README.win32 \ RELEASE-PROCEDURE.md \ RESOURCES \ ROADMAP.md \ |
︙ | ︙ |
Changes to jni/curl/docs/ROADMAP.md.
1 2 3 4 5 6 7 | curl the next few years - perhaps ================================= Roadmap of things Daniel Stenberg wants to work on next. It is intended to serve as a guideline for others for information, feedback and possible participation. | > > | > > > > > > > > > | | | | < > | > > > > | > < > | > | > < > | < > > > > < < | > < < > > | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | curl the next few years - perhaps ================================= Roadmap of things Daniel Stenberg wants to work on next. It is intended to serve as a guideline for others for information, feedback and possible participation. HTTP/3 ------ See the [QUIC and HTTP/3 wiki page](https://github.com/curl/curl/wiki/QUIC). ESNI (Encrypted SNI) -------------------- See Daniel's post on [Support of Encrypted SNI](https://curl.haxx.se/mail/lib-2019-03/0000.html) on the mailing list. HSTS ---- Complete and merge [the existing PR](https://github.com/curl/curl/pull/2682). Parallel transfers for the curl tool ------------------------------------ This will require several new command line options to enable and control. 1. switch to creating a list of all the transfers first before any transfer is done 2. make the transfers using the multi interface 3. optionally fire up more transfers before the previous has completed Option to refuse HTTPS => HTTP redirects ---------------------------------------- Possibly as a new bit to `CURLOPT_FOLLOWLOCATION` ? Option to let CURLOPT_CUSTOMREQUEST be overridden on redirect ------------------------------------------------------------- (This is a common problem for people using `-X` and `-L` together.) Possibly as a new bit to `CURLOPT_FOLLOWLOCATION` ? Hardcode “localhost” -------------------- No need to resolve it. Avoid a risk where this is resolved over the network and actually responds with something else than a local address. Some operating systems already do this. Also: https://tools.ietf.org/html/draft-ietf-dnsop-let-localhost-be-localhost-02 Consider "menu config"-style build feature selection ---------------------------------------------------- Allow easier building of custom libcurl versions with only a selected feature where the available features are easily browsable and toggle-able ON/OFF or similar. |
Changes to jni/curl/docs/THANKS.
︙ | ︙ | |||
148 149 150 151 152 153 154 155 156 157 158 159 160 161 | Antony74 on github Antti Hätälä Archangel_SDY on github Arkadiusz Miskiewicz Armel Asselin Arnaud Compan Arnaud Ebalard Aron Bergman Artak Galoyan Arthur Murray Arve Knudsen Arvid Norberg Ashish Shukla Ask Bjørn Hansen | > | 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | Antony74 on github Antti Hätälä Archangel_SDY on github Arkadiusz Miskiewicz Armel Asselin Arnaud Compan Arnaud Ebalard Arnaud Rebillout Aron Bergman Artak Galoyan Arthur Murray Arve Knudsen Arvid Norberg Ashish Shukla Ask Bjørn Hansen |
︙ | ︙ | |||
189 190 191 192 193 194 195 196 197 198 199 200 201 202 | Benjamin Kircher Benjamin Ritcey Benjamin Sergeant Benoit Neil Benoit Sigoure Bernard Leak Bernard Spil Bernhard Iselborn Bernhard M. Wiedemann Bernhard Reutner-Fischer Bernhard Walle Bert Huijben Bertrand Demiddelaer Bertrand Simonnet | > | 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 | Benjamin Kircher Benjamin Ritcey Benjamin Sergeant Benoit Neil Benoit Sigoure Bernard Leak Bernard Spil Bernd Mueller Bernhard Iselborn Bernhard M. Wiedemann Bernhard Reutner-Fischer Bernhard Walle Bert Huijben Bertrand Demiddelaer Bertrand Simonnet |
︙ | ︙ | |||
354 355 356 357 358 359 360 361 362 363 364 365 366 367 | Daniel Gustafsson Daniel Hwang Daniel Jeliński Daniel Johnson Daniel Kahn Gillmor Daniel Krügler Daniel Lee Hwang Daniel Melani Daniel Mentz Daniel Romero Daniel Schauenberg Daniel Seither Daniel Shahaf Daniel Steinberg | > | 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 | Daniel Gustafsson Daniel Hwang Daniel Jeliński Daniel Johnson Daniel Kahn Gillmor Daniel Krügler Daniel Lee Hwang Daniel Lublin Daniel Melani Daniel Mentz Daniel Romero Daniel Schauenberg Daniel Seither Daniel Shahaf Daniel Steinberg |
︙ | ︙ | |||
504 505 506 507 508 509 510 511 512 513 514 515 516 517 | Emil Romanus Emiliano Ida Emmanuel Tychon Enrico Scholz Enrik Berkhan Eramoto Masaya Eric Cooper Eric Gallager Eric Hu Eric Landes Eric Lavigne Eric Lubin Eric Melville Eric Mertens | > | 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 | Emil Romanus Emiliano Ida Emmanuel Tychon Enrico Scholz Enrik Berkhan Eramoto Masaya Eric Cooper Eric Curtin Eric Gallager Eric Hu Eric Landes Eric Lavigne Eric Lubin Eric Melville Eric Mertens |
︙ | ︙ | |||
722 723 724 725 726 727 728 729 730 731 732 733 734 735 | Jacob Moshenko Jactry Zeng Jad Chamcham Jaime Fullaondo Jakub Wilk Jakub Zakrzewski James Atwill James Bursa James Cheng James Clancy James Cone James Dury James Gallagher James Griffiths | > | 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 | Jacob Moshenko Jactry Zeng Jad Chamcham Jaime Fullaondo Jakub Wilk Jakub Zakrzewski James Atwill James Brown James Bursa James Cheng James Clancy James Cone James Dury James Gallagher James Griffiths |
︙ | ︙ | |||
1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 | Luke Dashjr Luo Jinghua Luong Dinh Dung Luz Paz Luật Nguyễn Lyman Epp Lyndon Hill Maciej Karpiuk Maciej Puzio Maciej W. Rozycki Mahmoud Samir Fayed Maks Naumov Maksim Kuzevanov Maksim Stsepanenka Mamoru Tasaka Mamta Upadhyay Mandy Wu Manfred Schwarb Manuel Massing Marc Aldorasi Marc Boucher Marc Deslauriers Marc Doughty Marc Hesse Marc Hörsken Marc Kleine-Budde Marc Renault Marc-Antoine Perennou Marcel Raad Marcel Roelofs Marcelo Echeverria Marcelo Juchem Marcin Adamski Marcin Gryszkalis | > > | 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 | Luke Dashjr Luo Jinghua Luong Dinh Dung Luz Paz Luật Nguyễn Lyman Epp Lyndon Hill MAntoniak on github Maciej Karpiuk Maciej Puzio Maciej W. Rozycki Mahmoud Samir Fayed Maks Naumov Maksim Kuzevanov Maksim Stsepanenka Mamoru Tasaka Mamta Upadhyay Mandy Wu Manfred Schwarb Manuel Massing Marc Aldorasi Marc Boucher Marc Deslauriers Marc Doughty Marc Hesse Marc Hörsken Marc Kleine-Budde Marc Renault Marc Schlatter Marc-Antoine Perennou Marcel Raad Marcel Roelofs Marcelo Echeverria Marcelo Juchem Marcin Adamski Marcin Gryszkalis |
︙ | ︙ | |||
1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 | Mateusz Loskot Mathias Axelsson Mathieu Legare Mats Lidell Matt Arsenault Matt Ford Matt Kraai Matt Veenstra Matt Witherspoon Matt Wixson Matteo Bignotti Matteo Bignottignotti Matteo Rocco Matthew Blain | > | 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 | Mateusz Loskot Mathias Axelsson Mathieu Legare Mats Lidell Matt Arsenault Matt Ford Matt Kraai Matt McClure Matt Veenstra Matt Witherspoon Matt Wixson Matteo Bignotti Matteo Bignottignotti Matteo Rocco Matthew Blain |
︙ | ︙ | |||
1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 | Michael Kilburn Michael Kujawa Michael König Michael Maltese Michael Mealling Michael Mueller Michael Osipov Michael Smith Michael Stapelberg Michael Steuer Michael Stillwell Michael Wallner Michal Bonino Michal Marek Michal Trybus Michał Fita Michał Górny Michał Janiszewski Michał Kowalczyk Michał Piechowski Michel Promonet Michele Bini | > > | 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 | Michael Kilburn Michael Kujawa Michael König Michael Maltese Michael Mealling Michael Mueller Michael Osipov Michael Schmid Michael Smith Michael Stapelberg Michael Steuer Michael Stillwell Michael Wallner Michal Bonino Michal Marek Michal Trybus Michał Antoniak Michał Fita Michał Górny Michał Janiszewski Michał Kowalczyk Michał Piechowski Michel Promonet Michele Bini |
︙ | ︙ | |||
1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 | Nick Miyake Nick Zitzmann Nicklas Avén Nico Baggus Nicolas Berloquin Nicolas Croiset Nicolas François Nicolas Morey-Chaisemartin Niels van Tongeren Nikita Schmidt Nikitinskit Dmitriy Niklas Angebrand Nikolai Kondrashov Nikos Mavrogiannopoulos | > | 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 | Nick Miyake Nick Zitzmann Nicklas Avén Nico Baggus Nicolas Berloquin Nicolas Croiset Nicolas François Nicolas Grekas Nicolas Morey-Chaisemartin Niels van Tongeren Nikita Schmidt Nikitinskit Dmitriy Niklas Angebrand Nikolai Kondrashov Nikos Mavrogiannopoulos |
︙ | ︙ | |||
1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 | Patrick Schlangen Patrick Scott Patrick Smith Patrick Watson Patrik Thunstrom Pau Garcia i Quiles Paul Donohue Paul Harrington Paul Harris Paul Howarth Paul Joyce Paul Marks Paul Marquis Paul Moore Paul Nolan Paul Oliver Paul Querna Paul Saab Pavel Cenek Pavel Gushchin Pavel Orehov Pavel Pavlov Pavel Raiskup Pavel Rochnyak Pavol Markovic Pawel A. Gajda Pawel Kierski | > > | 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 | Patrick Schlangen Patrick Scott Patrick Smith Patrick Watson Patrik Thunstrom Pau Garcia i Quiles Paul Donohue Paul Groke Paul Harrington Paul Harris Paul Howarth Paul Joyce Paul Marks Paul Marquis Paul Moore Paul Nolan Paul Oliver Paul Querna Paul Saab Pavel Cenek Pavel Gushchin Pavel Löbl Pavel Orehov Pavel Pavlov Pavel Raiskup Pavel Rochnyak Pavol Markovic Pawel A. Gajda Pawel Kierski |
︙ | ︙ | |||
1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 | Razvan Cojocaru Reinhard Max Reinout van Schouwen Remco van Hooff Remi Gacogne Remo E Renato Botelho Renaud Chaillat Renaud Duhaut Renaud Guillard Renaud Lehoux Rene Bernhardt Rene Rebe Reuven Wachtfogel | > | 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 | Razvan Cojocaru Reinhard Max Reinout van Schouwen Remco van Hooff Remi Gacogne Remo E Renato Botelho Renaud Allard Renaud Chaillat Renaud Duhaut Renaud Guillard Renaud Lehoux Rene Bernhardt Rene Rebe Reuven Wachtfogel |
︙ | ︙ | |||
1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 | Roger Leigh Roland Blom Roland Krikava Roland Zimmermann Rolland Dudemaine Romain Coltel Romain Fliedel Roman Koifman Roman Mamedov Romulo A. Ceccon Ron Eldor Ron Parker Ron Zapp Ronnie Mose | > | 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 | Roger Leigh Roland Blom Roland Krikava Roland Zimmermann Rolland Dudemaine Romain Coltel Romain Fliedel Romain Geissler Roman Koifman Roman Mamedov Romulo A. Ceccon Ron Eldor Ron Parker Ron Zapp Ronnie Mose |
︙ | ︙ | |||
1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 | Shmulik Regev Siddhartha Prakash Jain Sidney San Martín Siegfried Gyuricsko Simon Dick Simon H. Simon Josefsson Simon Liu Simon Warta Somnath Kundu Song Ma Sonia Subramanian Spacen Jasset Spiridonoff A.V | > | 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 | Shmulik Regev Siddhartha Prakash Jain Sidney San Martín Siegfried Gyuricsko Simon Dick Simon H. Simon Josefsson Simon Legner Simon Liu Simon Warta Somnath Kundu Song Ma Sonia Subramanian Spacen Jasset Spiridonoff A.V |
︙ | ︙ | |||
1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 | Vlad Ureche Vladimir Grishchenko Vladimir Kotal Vladimir Lazarenko Vojtech Janota Vojtech Minarik Vojtěch Král Vsevolod Novikov W. Mark Kubacki Waldek Kozba Walter J. Mack Ward Willats Warren Menzer Wayne Haigh | > | 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 | Vlad Ureche Vladimir Grishchenko Vladimir Kotal Vladimir Lazarenko Vojtech Janota Vojtech Minarik Vojtěch Král Volker Schmid Vsevolod Novikov W. Mark Kubacki Waldek Kozba Walter J. Mack Ward Willats Warren Menzer Wayne Haigh |
︙ | ︙ | |||
1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 | Zero King Zhao Yisha Zhaoyang Wu Zhibiao Wu Zhouyihai Ding Zmey Petroff Zvi Har'El adnn on github afrind on github ahodesuka on github anshnd on github arainchik on github asavah on github baumanj on github bobmitchell1956 on github bsammon on github cbartl on github clbr on github cmfrolick on github daboul on github dasimx on github destman on github dkjjr89 on github dnivras on github dpull on github dtmsecurity on github eXeC64 on github elelel on github elephoenix on github guitared on github hsiao yi imilli on github infinnovation-dev on github iz8mbw on github jakirkham on github jasal82 on github jonrumsey on github joshhe on github jungle-boogie on github jveazey on github ka7 on github kreshano on github lijian996 on github lukaszgn on github madblobfish on github marc-groundctl on github masbug on github mccormickt12 on github mkzero on github moohoorama on github neex on github neheb on github nk nopjmp on github olesteban on github omau on github ovidiu-benea on github patelvivekv1993 on github pszemus on github silveja1 on github steelman on github steini2000 on github stootill on github swalkaus at yahoo.com tarek112 on github tommink[at]post.pl tonystz on Github tpaukrt on github vanillajonathan on github wmsch on github wncboy on github youngchopin on github zelinchen on github zzq1015 on github İsmail Dönmez Łukasz Domeradzki Štefan Kremeň Никита Дорохин | > > > > > > > > | 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 | Zero King Zhao Yisha Zhaoyang Wu Zhibiao Wu Zhouyihai Ding Zmey Petroff Zvi Har'El accountantM on github adnn on github afrind on github ahodesuka on github anshnd on github arainchik on github asavah on github baumanj on github bobmitchell1956 on github bsammon on github buzo-ffm on github cbartl on github clbr on github cmfrolick on github d912e3 on github daboul on github dasimx on github destman on github dkjjr89 on github dnivras on github dpull on github dtmsecurity on github eXeC64 on github elelel on github elephoenix on github guitared on github hsiao yi imilli on github infinnovation-dev on github iz8mbw on github jakirkham on github jasal82 on github jnbr on github jonrumsey on github joshhe on github jungle-boogie on github jveazey on github ka7 on github kreshano on github lijian996 on github lukaszgn on github madblobfish on github marc-groundctl on github masbug on github mccormickt12 on github mkzero on github moohoorama on github nedres on github neex on github neheb on github nianxuejie on github nk nopjmp on github olesteban on github omau on github ovidiu-benea on github patelvivekv1993 on github pszemus on github silveja1 on github steelman on github steini2000 on github stootill on github swalkaus at yahoo.com tarek112 on github tholin on github tommink[at]post.pl tonystz on Github tpaukrt on github vanillajonathan on github wesinator on github wmsch on github wncboy on github youngchopin on github zelinchen on github zzq1015 on github İsmail Dönmez Łukasz Domeradzki Štefan Kremeň Никита Дорохин |
Changes to jni/curl/docs/TODO.
︙ | ︙ | |||
13 14 15 16 17 18 19 20 21 22 23 24 25 26 | things we could do. If you want to work on any of these areas, please consider bringing it up for discussions first on the mailing list so that we all agree it is still a good idea for the project! All bugs documented in the KNOWN_BUGS document are subject for fixing! 1. libcurl 1.2 More data sharing 1.3 struct lifreq 1.4 signal-based resolver timeouts 1.5 get rid of PATH_MAX 1.6 Modified buffer size approach 1.7 Support HTTP/2 for HTTP(S) proxies 1.8 CURLOPT_RESOLVE for any port number | > | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | things we could do. If you want to work on any of these areas, please consider bringing it up for discussions first on the mailing list so that we all agree it is still a good idea for the project! All bugs documented in the KNOWN_BUGS document are subject for fixing! 1. libcurl 1.1 TFO support on Windows 1.2 More data sharing 1.3 struct lifreq 1.4 signal-based resolver timeouts 1.5 get rid of PATH_MAX 1.6 Modified buffer size approach 1.7 Support HTTP/2 for HTTP(S) proxies 1.8 CURLOPT_RESOLVE for any port number |
︙ | ︙ | |||
40 41 42 43 44 45 46 47 48 49 50 51 52 53 | 1.22 CURLINFO_PAUSE_STATE 1.23 Offer API to flush the connection pool 1.24 TCP Fast Open for windows 1.25 Expose tried IP addresses that failed 1.26 CURL_REFUSE_CLEARTEXT 1.27 hardcode the "localhost" addresses 1.28 FD_CLOEXEC 2. libcurl - multi interface 2.1 More non-blocking 2.2 Better support for same name resolves 2.3 Non-blocking curl_multi_remove_handle() 2.4 Split connect and authentication process 2.5 Edge-triggered sockets should work | > > | 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | 1.22 CURLINFO_PAUSE_STATE 1.23 Offer API to flush the connection pool 1.24 TCP Fast Open for windows 1.25 Expose tried IP addresses that failed 1.26 CURL_REFUSE_CLEARTEXT 1.27 hardcode the "localhost" addresses 1.28 FD_CLOEXEC 1.29 Upgrade to websockets 1.30 config file parsing 2. libcurl - multi interface 2.1 More non-blocking 2.2 Better support for same name resolves 2.3 Non-blocking curl_multi_remove_handle() 2.4 Split connect and authentication process 2.5 Edge-triggered sockets should work |
︙ | ︙ | |||
66 67 68 69 70 71 72 73 74 75 76 77 78 79 | 4.7 STAT for LIST without data connection 4.8 Option to ignore private IP addresses in PASV response 5. HTTP 5.1 Better persistency for HTTP 1.0 5.2 support FF3 sqlite cookie files 5.3 Rearrange request header order 5.5 auth= in URLs 5.6 Refuse "downgrade" redirects 5.7 QUIC 6. TELNET 6.1 ditch stdin 6.2 ditch telnet-specific select | > | 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | 4.7 STAT for LIST without data connection 4.8 Option to ignore private IP addresses in PASV response 5. HTTP 5.1 Better persistency for HTTP 1.0 5.2 support FF3 sqlite cookie files 5.3 Rearrange request header order 5.4 Allow SAN names in HTTP/2 server push 5.5 auth= in URLs 5.6 Refuse "downgrade" redirects 5.7 QUIC 6. TELNET 6.1 ditch stdin 6.2 ditch telnet-specific select |
︙ | ︙ | |||
160 161 162 163 164 165 166 167 168 169 170 171 172 173 | 18.18 retry on network is unreachable 18.19 expand ~/ in config files 18.20 host name sections in config files 19. Build 19.1 roffit 19.2 Enable PIE and RELRO by default 20. Test suite 20.1 SSL tunnel 20.2 nicer lacking perl message 20.3 more protocols supported 20.4 more platforms supported 20.5 Add support for concurrent connections | > | 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | 18.18 retry on network is unreachable 18.19 expand ~/ in config files 18.20 host name sections in config files 19. Build 19.1 roffit 19.2 Enable PIE and RELRO by default 19.3 cmake test suite improvements 20. Test suite 20.1 SSL tunnel 20.2 nicer lacking perl message 20.3 more protocols supported 20.4 more platforms supported 20.5 Add support for concurrent connections |
︙ | ︙ | |||
188 189 190 191 192 193 194 195 196 197 198 199 200 201 | 22.7 remove progress meter from libcurl 22.8 remove 'curl_httppost' from public ============================================================================== 1. libcurl 1.2 More data sharing curl_share_* functions already exist and work, and they can be extended to share more. For example, enable sharing of the ares channel. 1.3 struct lifreq | > > > > > > > | 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | 22.7 remove progress meter from libcurl 22.8 remove 'curl_httppost' from public ============================================================================== 1. libcurl 1.1 TFO support on Windows TCP Fast Open is supported on several platforms but not on Windows. Work on this was once started but never finished. See https://github.com/curl/curl/pull/3378 1.2 More data sharing curl_share_* functions already exist and work, and they can be extended to share more. For example, enable sharing of the ares channel. 1.3 struct lifreq |
︙ | ︙ | |||
436 437 438 439 440 441 442 443 444 445 446 447 448 449 | It sets the close-on-exec flag for the file descriptor, which causes the file descriptor to be automatically (and atomically) closed when any of the exec-family functions succeed. Should probably be set by default? https://github.com/curl/curl/issues/2252 2. libcurl - multi interface 2.1 More non-blocking Make sure we don't ever loop because of non-blocking sockets returning EWOULDBLOCK or similar. Blocking cases include: | > > > > > > > > > > > > > > > > | 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 | It sets the close-on-exec flag for the file descriptor, which causes the file descriptor to be automatically (and atomically) closed when any of the exec-family functions succeed. Should probably be set by default? https://github.com/curl/curl/issues/2252 1.29 Upgrade to websockets libcurl could offer a smoother path to get to a websocket connection. See https://github.com/curl/curl/issues/3523 Michael Kaufmann suggestion here: https://curl.haxx.se/video/curlup-2017/2017-03-19_05_Michael_Kaufmann_Websocket_support_for_curl.mp4 1.30 config file parsing Consider providing an API, possibly in a separate companion library, for parsing a config file like curl's -K/--config option to allow applications to get the same ability to read curl options from files. See https://github.com/curl/curl/issues/3698 2. libcurl - multi interface 2.1 More non-blocking Make sure we don't ever loop because of non-blocking sockets returning EWOULDBLOCK or similar. Blocking cases include: |
︙ | ︙ | |||
573 574 575 576 577 578 579 580 581 582 583 584 585 586 | that libcurl is in fact used even when it tries to impersonate a browser, is the order of the request headers. I propose that we introduce a new option in which you give headers a value, and then when the HTTP request is built it sorts the headers based on that number. We could then have internally created headers use a default value so only headers that need to be moved have to be specified. 5.5 auth= in URLs Add the ability to specify the preferred authentication mechanism to use by using ;auth=<mech> in the login part of the URL. For example: | > > > > > > > > > | 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 | that libcurl is in fact used even when it tries to impersonate a browser, is the order of the request headers. I propose that we introduce a new option in which you give headers a value, and then when the HTTP request is built it sorts the headers based on that number. We could then have internally created headers use a default value so only headers that need to be moved have to be specified. 5.4 Allow SAN names in HTTP/2 server push curl only allows HTTP/2 push promise if the provided :autority header value exactly matches the host name given in the URL. It could be extended to allow any name that would match the Subject Alternative Names in the server's TLS certificate. See https://github.com/curl/curl/pull/3581 5.5 auth= in URLs Add the ability to specify the preferred authentication mechanism to use by using ;auth=<mech> in the login part of the URL. For example: |
︙ | ︙ | |||
1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 | required to conduct a successful attack. RELRO, on the other hand, masks different binary sections like the GOT as read-only and thus kills a handful of techniques that come in handy when attackers are able to arbitrarily overwrite memory. A few tests showed that enabling these features had close to no impact, neither on the performance nor on the general functionality of curl. 20. Test suite 20.1 SSL tunnel Make our own version of stunnel for simple port forwarding to enable HTTPS and FTP-SSL tests without the stunnel dependency, and it could allow us to | > > > > > > > | 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 | required to conduct a successful attack. RELRO, on the other hand, masks different binary sections like the GOT as read-only and thus kills a handful of techniques that come in handy when attackers are able to arbitrarily overwrite memory. A few tests showed that enabling these features had close to no impact, neither on the performance nor on the general functionality of curl. 19.3 cmake test suite improvements The cmake build doesn't support 'make show' so it doesn't know which tests are in the makefile or not (making appveyor builds do many false warnings about it) nor does it support running the test suite if building out-of-tree. See https://github.com/curl/curl/issues/3109 20. Test suite 20.1 SSL tunnel Make our own version of stunnel for simple port forwarding to enable HTTPS and FTP-SSL tests without the stunnel dependency, and it could allow us to |
︙ | ︙ |
Changes to jni/curl/docs/cmdline-opts/Makefile.in.
︙ | ︙ | |||
214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ | > > | 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ |
︙ | ︙ | |||
282 283 284 285 286 287 288 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ | < > | 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ |
︙ | ︙ | |||
360 361 362 363 364 365 366 367 368 369 370 371 372 373 | top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = foreign no-dependencies MANPAGE = $(top_builddir)/docs/curl.1 DPAGES = \ abstract-unix-socket.d \ anyauth.d \ append.d basic.d \ cacert.d capath.d \ cert-status.d \ cert-type.d \ cert.d \ ciphers.d \ | > | 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 | top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = foreign no-dependencies MANPAGE = $(top_builddir)/docs/curl.1 DPAGES = \ abstract-unix-socket.d \ alt-svc.d \ anyauth.d \ append.d basic.d \ cacert.d capath.d \ cert-status.d \ cert-type.d \ cert.d \ ciphers.d \ |
︙ | ︙ |
Changes to jni/curl/docs/cmdline-opts/Makefile.inc.
1 2 3 4 5 6 7 8 9 10 11 | # Shared between Makefile.am and CMakeLists.txt DPAGES = \ abstract-unix-socket.d \ anyauth.d \ append.d basic.d \ cacert.d capath.d \ cert-status.d \ cert-type.d \ cert.d \ ciphers.d \ | > | 1 2 3 4 5 6 7 8 9 10 11 12 | # Shared between Makefile.am and CMakeLists.txt DPAGES = \ abstract-unix-socket.d \ alt-svc.d \ anyauth.d \ append.d basic.d \ cacert.d capath.d \ cert-status.d \ cert-type.d \ cert.d \ ciphers.d \ |
︙ | ︙ |
Added jni/curl/docs/cmdline-opts/alt-svc.d.
> > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Long: alt-svc Arg: <file name> Protocols: HTTPS Help: Enable alt-svc with this cache file Added: 7.64.1 --- WARNING: this option is experiemental. Do not use in production. This option enables the alt-svc parser in curl. If the file name points to an existing alt-svc cache file, that will be used. After a completed transfer, the cache will be saved to the file name again if it has been modified. Specifiy a "" file name (zero length) to avoid loading/saving and make curl just handle the cache in memory. If this option is used several times, curl will load contents from all the files but the the last one will be used for saving. |
Changes to jni/curl/docs/cmdline-opts/cookie.d.
1 2 | Short: b Long: cookie | | | 1 2 3 4 5 6 7 8 9 10 | Short: b Long: cookie Arg: <data|filename> Protocols: HTTP Help: Send cookies from string/file --- Pass the data to the HTTP server in the Cookie header. It is supposedly the data previously received from the server in a "Set-Cookie:" line. The data should be in the format "NAME1=VALUE1; NAME2=VALUE2". |
︙ | ︙ |
Changes to jni/curl/docs/cmdline-opts/max-redirs.d.
1 2 3 4 5 6 | Long: max-redirs Arg: <num> Help: Maximum number of redirects allowed Protocols: HTTP --- Set maximum number of redirection-followings allowed. When --location is used, | | | < | 1 2 3 4 5 6 7 8 9 10 | Long: max-redirs Arg: <num> Help: Maximum number of redirects allowed Protocols: HTTP --- Set maximum number of redirection-followings allowed. When --location is used, is used to prevent curl from following redirections too much. By default, the limit is set to 50 redirections. Set this option to -1 to make it unlimited. If this option is used several times, the last one will be used. |
Changes to jni/curl/docs/cmdline-opts/proxy-user.d.
1 2 3 4 5 6 7 8 9 10 11 12 | Long: proxy-user Short: U Arg: <user:password> Help: Proxy user and password --- Specify the user name and password to use for proxy authentication. If you use a Windows SSPI-enabled curl binary and do either Negotiate or NTLM authentication then you can tell curl to select the user name and password from your environment by specifying a single colon with this option: "-U :". If this option is used several times, the last one will be used. | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Long: proxy-user Short: U Arg: <user:password> Help: Proxy user and password --- Specify the user name and password to use for proxy authentication. If you use a Windows SSPI-enabled curl binary and do either Negotiate or NTLM authentication then you can tell curl to select the user name and password from your environment by specifying a single colon with this option: "-U :". On systems where it works, curl will hide the given option argument from process listings. This is not enough to protect credentials from possibly getting seen by other users on the same system as they will still be visible for a brief moment before cleared. Such sensitive data should be retrieved from a file instead or similar and never used in clear text in a command line. If this option is used several times, the last one will be used. |
Changes to jni/curl/docs/cmdline-opts/proxytunnel.d.
1 2 3 4 5 | Long: proxytunnel Short: p Help: Operate through an HTTP proxy tunnel (using CONNECT) See-also: proxy --- | | < | | | | 1 2 3 4 5 6 7 8 9 10 11 12 | Long: proxytunnel Short: p Help: Operate through an HTTP proxy tunnel (using CONNECT) See-also: proxy --- When an HTTP proxy is used --proxy, this option will make curl tunnel through the proxy. The tunnel approach is made with the HTTP proxy CONNECT request and requires that the proxy allows direct connect to the remote port number curl wants to tunnel through to. To suppress proxy CONNECT response headers when curl is set to output headers use --suppress-connect-headers. |
Changes to jni/curl/docs/cmdline-opts/user.d.
︙ | ︙ | |||
8 9 10 11 12 13 14 15 16 17 18 19 20 21 | If you simply specify the user name, curl will prompt for a password. The user name and passwords are split up on the first colon, which makes it impossible to use a colon in the user name with this option. The password can, still. When using Kerberos V5 with a Windows based server you should include the Windows domain name in the user name, in order for the server to successfully obtain a Kerberos Ticket. If you don't then the initial authentication handshake may fail. When using NTLM, the user name can be specified simply as the user name, without the domain, if there is a single domain and forest in your setup | > > > > > > | 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | If you simply specify the user name, curl will prompt for a password. The user name and passwords are split up on the first colon, which makes it impossible to use a colon in the user name with this option. The password can, still. On systems where it works, curl will hide the given option argument from process listings. This is not enough to protect credentials from possibly getting seen by other users on the same system as they will still be visible for a brief moment before cleared. Such sensitive data should be retrieved from a file instead or similar and never used in clear text in a command line. When using Kerberos V5 with a Windows based server you should include the Windows domain name in the user name, in order for the server to successfully obtain a Kerberos Ticket. If you don't then the initial authentication handshake may fail. When using NTLM, the user name can be specified simply as the user name, without the domain, if there is a single domain and forest in your setup |
︙ | ︙ |
Changes to jni/curl/docs/curl-config.1.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl-config 1 "November 30, 2017" "Curl 7.64.1" "curl-config manual" .SH NAME curl-config \- Get information about a libcurl installation .SH SYNOPSIS .B curl-config [options] .SH DESCRIPTION .B curl-config |
︙ | ︙ |
Changes to jni/curl/docs/curl.1.
︙ | ︙ | |||
18 19 20 21 22 23 24 | .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .\" DO NOT EDIT. Generated by the curl project gen.pl man page generator. .\" | | | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .\" DO NOT EDIT. Generated by the curl project gen.pl man page generator. .\" .TH curl 1 "November 16, 2016" "Curl 7.64.1" "Curl Manual" .SH NAME curl \- transfer a URL .SH SYNOPSIS .B curl [options / URLs] .SH DESCRIPTION .B curl |
︙ | ︙ | |||
142 143 144 145 146 147 148 149 150 151 152 153 154 155 | same command line option.) .IP "--abstract-unix-socket <path>" (HTTP) Connect through an abstract Unix domain socket, instead of using the network. Note: netstat shows the path of an abstract socket prefixed with '@', however the <path> argument should not have this leading character. Added in 7.53.0. .IP "--anyauth" (HTTP) Tells curl to figure out authentication method by itself, and use the most secure one the remote site claims to support. This is done by first doing a request and checking the response-headers, thus possibly inducing an extra network round-trip. This is used instead of setting a specific authentication method, which you can do with \fI--basic\fP, \fI--digest\fP, \fI--ntlm\fP, and \fI--negotiate\fP. | > > > > > > > > > > > > > > | 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | same command line option.) .IP "--abstract-unix-socket <path>" (HTTP) Connect through an abstract Unix domain socket, instead of using the network. Note: netstat shows the path of an abstract socket prefixed with '@', however the <path> argument should not have this leading character. Added in 7.53.0. .IP "--alt-svc <file name>" (HTTPS) WARNING: this option is experiemental. Do not use in production. This option enables the alt-svc parser in curl. If the file name points to an existing alt-svc cache file, that will be used. After a completed transfer, the cache will be saved to the file name again if it has been modified. Specifiy a "" file name (zero length) to avoid loading/saving and make curl just handle the cache in memory. If this option is used several times, curl will load contents from all the files but the the last one will be used for saving. Added in 7.64.1. .IP "--anyauth" (HTTP) Tells curl to figure out authentication method by itself, and use the most secure one the remote site claims to support. This is done by first doing a request and checking the response-headers, thus possibly inducing an extra network round-trip. This is used instead of setting a specific authentication method, which you can do with \fI--basic\fP, \fI--digest\fP, \fI--ntlm\fP, and \fI--negotiate\fP. |
︙ | ︙ | |||
405 406 407 408 409 410 411 | If the cookie jar can't be created or written to, the whole curl operation won't fail or even report an error clearly. Using \fI-v, --verbose\fP will get a warning displayed, but that is the only visible feedback you get about this possibly lethal situation. If this option is used several times, the last specified file name will be used. | | | 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 | If the cookie jar can't be created or written to, the whole curl operation won't fail or even report an error clearly. Using \fI-v, --verbose\fP will get a warning displayed, but that is the only visible feedback you get about this possibly lethal situation. If this option is used several times, the last specified file name will be used. .IP "-b, --cookie <data|filename>" (HTTP) Pass the data to the HTTP server in the Cookie header. It is supposedly the data previously received from the server in a "Set-Cookie:" line. The data should be in the format "NAME1=VALUE1; NAME2=VALUE2". If no '=' symbol is used in the argument, it is instead treated as a filename to read previously stored cookie from. This option also activates the cookie engine which will make curl record incoming cookies, which may be handy if |
︙ | ︙ | |||
1291 1292 1293 1294 1295 1296 1297 | \fBNOTE:\fP The file size is not always known prior to download, and for such files this option has no effect even if the file transfer ends up being larger than this given limit. This concerns both FTP and HTTP transfers. See also \fI--limit-rate\fP. .IP "--max-redirs <num>" (HTTP) Set maximum number of redirection-followings allowed. When \fI-L, --location\fP is used, | | | < | 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 | \fBNOTE:\fP The file size is not always known prior to download, and for such files this option has no effect even if the file transfer ends up being larger than this given limit. This concerns both FTP and HTTP transfers. See also \fI--limit-rate\fP. .IP "--max-redirs <num>" (HTTP) Set maximum number of redirection-followings allowed. When \fI-L, --location\fP is used, is used to prevent curl from following redirections too much. By default, the limit is set to 50 redirections. Set this option to -1 to make it unlimited. If this option is used several times, the last one will be used. .IP "-m, --max-time <seconds>" Maximum time in seconds that you allow the whole operation to take. This is useful for preventing your batch jobs from hanging for hours due to slow networks or links going down. Since 7.32.0, this option accepts decimal values, but the actual timeout will decrease in accuracy as the specified |
︙ | ︙ | |||
1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 | .IP "-U, --proxy-user <user:password>" Specify the user name and password to use for proxy authentication. If you use a Windows SSPI-enabled curl binary and do either Negotiate or NTLM authentication then you can tell curl to select the user name and password from your environment by specifying a single colon with this option: "-U :". If this option is used several times, the last one will be used. .IP "-x, --proxy [protocol://]host[:port]" Use the specified proxy. The proxy string can be specified with a protocol:// prefix. No protocol specified or http:// will be treated as HTTP proxy. Use socks4://, socks4a://, socks5:// or socks5h:// to request a specific SOCKS version to be used. | > > > > > > | 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 | .IP "-U, --proxy-user <user:password>" Specify the user name and password to use for proxy authentication. If you use a Windows SSPI-enabled curl binary and do either Negotiate or NTLM authentication then you can tell curl to select the user name and password from your environment by specifying a single colon with this option: "-U :". On systems where it works, curl will hide the given option argument from process listings. This is not enough to protect credentials from possibly getting seen by other users on the same system as they will still be visible for a brief moment before cleared. Such sensitive data should be retrieved from a file instead or similar and never used in clear text in a command line. If this option is used several times, the last one will be used. .IP "-x, --proxy [protocol://]host[:port]" Use the specified proxy. The proxy string can be specified with a protocol:// prefix. No protocol specified or http:// will be treated as HTTP proxy. Use socks4://, socks4a://, socks5:// or socks5h:// to request a specific SOCKS version to be used. |
︙ | ︙ | |||
1829 1830 1831 1832 1833 1834 1835 | Use the specified HTTP 1.0 proxy. If the port number is not specified, it is assumed at port 1080. The only difference between this and the HTTP proxy option \fI-x, --proxy\fP, is that attempts to use CONNECT through the proxy will specify an HTTP 1.0 protocol instead of the default HTTP 1.1. .IP "-p, --proxytunnel" | | < | | | | 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 | Use the specified HTTP 1.0 proxy. If the port number is not specified, it is assumed at port 1080. The only difference between this and the HTTP proxy option \fI-x, --proxy\fP, is that attempts to use CONNECT through the proxy will specify an HTTP 1.0 protocol instead of the default HTTP 1.1. .IP "-p, --proxytunnel" When an HTTP proxy is used \fI-x, --proxy\fP, this option will make curl tunnel through the proxy. The tunnel approach is made with the HTTP proxy CONNECT request and requires that the proxy allows direct connect to the remote port number curl wants to tunnel through to. To suppress proxy CONNECT response headers when curl is set to output headers use \fI--suppress-connect-headers\fP. See also \fI-x, --proxy\fP. .IP "--pubkey <key>" (SFTP SCP) Public key file name. Allows you to provide your public key in this separate |
︙ | ︙ | |||
2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 | If you simply specify the user name, curl will prompt for a password. The user name and passwords are split up on the first colon, which makes it impossible to use a colon in the user name with this option. The password can, still. When using Kerberos V5 with a Windows based server you should include the Windows domain name in the user name, in order for the server to successfully obtain a Kerberos Ticket. If you don't then the initial authentication handshake may fail. When using NTLM, the user name can be specified simply as the user name, without the domain, if there is a single domain and forest in your setup | > > > > > > | 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 | If you simply specify the user name, curl will prompt for a password. The user name and passwords are split up on the first colon, which makes it impossible to use a colon in the user name with this option. The password can, still. On systems where it works, curl will hide the given option argument from process listings. This is not enough to protect credentials from possibly getting seen by other users on the same system as they will still be visible for a brief moment before cleared. Such sensitive data should be retrieved from a file instead or similar and never used in clear text in a command line. When using Kerberos V5 with a Windows based server you should include the Windows domain name in the user name, in order for the server to successfully obtain a Kerberos Ticket. If you don't then the initial authentication handshake may fail. When using NTLM, the user name can be specified simply as the user name, without the domain, if there is a single domain and forest in your setup |
︙ | ︙ |
Changes to jni/curl/docs/examples/10-at-a-time.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | < < | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ /* <DESC> * Download many files in parallel, in the same thread. * </DESC> */ #include <errno.h> #include <stdlib.h> #include <string.h> #ifndef WIN32 # include <unistd.h> #endif #include <curl/curl.h> static const char *urls[] = { "https://www.microsoft.com", "https://opensource.org", "https://www.google.com", "https://www.yahoo.com", "https://www.ibm.com", |
︙ | ︙ | |||
80 81 82 83 84 85 86 | "https://www.nbc.com/", "https://slashdot.org", "https://www.informationweek.com", "https://apache.org", "https://www.un.org", }; | | | | | | | < | < < < < | | | < < | < | | | | | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | | | < < | > > | | | 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | "https://www.nbc.com/", "https://slashdot.org", "https://www.informationweek.com", "https://apache.org", "https://www.un.org", }; #define MAX_PARALLEL 10 /* number of simultaneous transfers */ #define NUM_URLS sizeof(urls)/sizeof(char *) static size_t write_cb(char *data, size_t n, size_t l, void *userp) { /* take care of the data here, ignored in this example */ (void)data; (void)userp; return n*l; } static void add_transfer(CURLM *cm, int i) { CURL *eh = curl_easy_init(); curl_easy_setopt(eh, CURLOPT_WRITEFUNCTION, write_cb); curl_easy_setopt(eh, CURLOPT_URL, urls[i]); curl_easy_setopt(eh, CURLOPT_PRIVATE, urls[i]); curl_multi_add_handle(cm, eh); } int main(void) { CURLM *cm; CURLMsg *msg; unsigned int transfers = 0; int msgs_left = -1; int still_alive = 1; curl_global_init(CURL_GLOBAL_ALL); cm = curl_multi_init(); /* Limit the amount of simultaneous connections curl should allow: */ curl_multi_setopt(cm, CURLMOPT_MAXCONNECTS, (long)MAX_PARALLEL); for(transfers = 0; transfers < MAX_PARALLEL; transfers++) add_transfer(cm, transfers); do { curl_multi_perform(cm, &still_alive); while((msg = curl_multi_info_read(cm, &msgs_left))) { if(msg->msg == CURLMSG_DONE) { char *url; CURL *e = msg->easy_handle; curl_easy_getinfo(msg->easy_handle, CURLINFO_PRIVATE, &url); fprintf(stderr, "R: %d - %s <%s>\n", msg->data.result, curl_easy_strerror(msg->data.result), url); curl_multi_remove_handle(cm, e); curl_easy_cleanup(e); } else { fprintf(stderr, "E: CURLMsg (%d)\n", msg->msg); } if(transfers < NUM_URLS) add_transfer(cm, transfers++); } if(still_alive) curl_multi_wait(cm, NULL, 0, 1000, NULL); } while(still_alive || (transfers < NUM_URLS)); curl_multi_cleanup(cm); curl_global_cleanup(); return EXIT_SUCCESS; } |
Changes to jni/curl/docs/examples/Makefile.am.
1 2 3 4 5 6 7 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
57 58 59 60 61 62 63 64 | CFLAGS += @CURL_CFLAG_EXTRAS@ # Makefile.inc provides the check_PROGRAMS and COMPLICATED_EXAMPLES defines include Makefile.inc all: $(check_PROGRAMS) checksrc: | > > > > > | | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | CFLAGS += @CURL_CFLAG_EXTRAS@ # Makefile.inc provides the check_PROGRAMS and COMPLICATED_EXAMPLES defines include Makefile.inc all: $(check_PROGRAMS) CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) checksrc: $(CHECKSRC)(@PERL@ $(top_srcdir)/lib/checksrc.pl -ASNPRINTF $(srcdir)/*.c) |
Changes to jni/curl/docs/examples/Makefile.in.
︙ | ︙ | |||
17 18 19 20 21 22 23 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ | > > | 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ |
︙ | ︙ | |||
1054 1055 1056 1057 1058 1059 1060 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ | < > | 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ |
︙ | ︙ | |||
1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 | COMPLICATED_EXAMPLES = curlgtk.c curlx.c htmltitle.cpp cacertinmem.c \ ghiper.c hiperfifo.c htmltidy.c multithread.c opensslthreadlock.c \ sampleconv.c synctime.c threaded-ssl.c evhiperfifo.c \ smooth-gtk-thread.c version-check.pl href_extractor.c asiohiper.cpp \ multi-uv.c xmlstream.c usercertinmem.c sessioninfo.c \ threaded-shared-conn.c crawler.c ephiperfifo.c all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/Makefile.inc $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ | > > > > | 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 | COMPLICATED_EXAMPLES = curlgtk.c curlx.c htmltitle.cpp cacertinmem.c \ ghiper.c hiperfifo.c htmltidy.c multithread.c opensslthreadlock.c \ sampleconv.c synctime.c threaded-ssl.c evhiperfifo.c \ smooth-gtk-thread.c version-check.pl href_extractor.c asiohiper.cpp \ multi-uv.c xmlstream.c usercertinmem.c sessioninfo.c \ threaded-shared-conn.c crawler.c ephiperfifo.c CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/Makefile.inc $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ |
︙ | ︙ | |||
2052 2053 2054 2055 2056 2057 2058 | # Makefile.inc provides the check_PROGRAMS and COMPLICATED_EXAMPLES defines all: $(check_PROGRAMS) checksrc: | | | 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 | # Makefile.inc provides the check_PROGRAMS and COMPLICATED_EXAMPLES defines all: $(check_PROGRAMS) checksrc: $(CHECKSRC)(@PERL@ $(top_srcdir)/lib/checksrc.pl -ASNPRINTF $(srcdir)/*.c) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: |
Changes to jni/curl/docs/examples/cacertinmem.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
25 26 27 28 29 30 31 | */ #include <openssl/err.h> #include <openssl/ssl.h> #include <curl/curl.h> #include <stdio.h> | | | | < | < | > | < < > | > > | | | | | | | | | | | < < < < < < | | | | | | | | | | | | | > > > > > > > > > < < > | > > > | | < | < > | | < | | < | < > | | < | | | | | < < < > | < | < > | | | < > | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | */ #include <openssl/err.h> #include <openssl/ssl.h> #include <curl/curl.h> #include <stdio.h> static size_t writefunction(void *ptr, size_t size, size_t nmemb, void *stream) { fwrite(ptr, size, nmemb, (FILE *)stream); return (nmemb*size); } static CURLcode sslctx_function(CURL *curl, void *sslctx, void *parm) { CURLcode rv = CURLE_ABORTED_BY_CALLBACK; /** This example uses two (fake) certificates **/ static const char mypem[] = "-----BEGIN CERTIFICATE-----\n" "MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UE\n" "AwwJQUNDVlJBSVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQsw\n" "CQYDVQQGEwJFUzAeFw0xMTA1MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQ\n" "BgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUND\n" "VjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCb\n" "qau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gMjmoY\n" "HtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWo\n" "G2ioPej0RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpA\n" "0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDGWuzndN9wrqODJerWx5eH\n" "k6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs78yM2x/47\n" "JyCpZET/LtZ1qmxNYEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+m\n" "AM/EKXMRNt6GGT6d7hmKG9Ww7Y49nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepD\n" "vV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJTS+xJlsndQAJxGJ3KQhfnlms\n" "tn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3sCPdK6jT2iWH\n" "7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h\n" "I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szA\n" "h1xA2syVP1XgNce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xF\n" "d3+YJ5oyXSrjhO7FmGYvliAd3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2H\n" "pPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3pEfbRD0tVNEYqi4Y7\n" "-----END CERTIFICATE-----\n" "-----BEGIN CERTIFICATE-----\n" "MIIFtTCCA52gAwIBAgIIYY3HhjsBggUwDQYJKoZIhvcNAQEFBQAwRDEWMBQGA1UE\n" "AwwNQUNFRElDT00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00x\n" "CzAJBgNVBAYTAkVTMB4XDTA4MDQxODE2MjQyMloXDTI4MDQxMzE2MjQyMlowRDEW\n" "MBQGA1UEAwwNQUNFRElDT00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZF\n" "RElDT00xCzAJBgNVBAYTAkVTMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC\n" "AgEA/5KV4WgGdrQsyFhIyv2AVClVYyT/kGWbEHV7w2rbYgIB8hiGtXxaOLHkWLn7\n" "09gtn70yN78sFW2+tfQh0hOR2QetAQXW8713zl9CgQr5auODAKgrLlUTY4HKRxx7\n" "XBZXehuDYAQ6PmXDzQHe3qTWDLqO3tkE7hdWIpuPY/1NFgu3e3eM+SW10W2ZEi5P\n" "gvoFNTPhNahXwOf9jU8/kzJPeGYDdwdY6ZXIfj7QeQCM8htRM5u8lOk6e25SLTKe\n" "I6RF+7YuE7CLGLHdztUdp0J/Vb77W7tH1PwkzQSulgUV1qzOMPPKC8W64iLgpq0i\n" "5ALudBF/TP94HTXa5gI06xgSYXcGCRZj6hitoocf8seACQl1ThCojz2GuHURwCRi\n" "ipZ7SkXp7FnFvmuD5uHorLUwHv4FB4D54SMNUI8FmP8sX+g7tq3PgbUhh8oIKiMn\n" "MCArz+2UW6yyetLHKKGKC5tNSixthT8Jcjxn4tncB7rrZXtaAWPWkFtPF2Y9fwsZ\n" "o5NjEFIqnxQWWOLcpfShFosOkYuByptZ+thrkQdlVV9SH686+5DdaaVbnG0OLLb6\n" "zqylfDJKZ0DcMDQj3dcEI2bw/FWAp/tmGYI1Z2JwOV5vx+qQQEQIHriy1tvuWacN\n" "GHk0vFQYXlPKNFHtRQrmjseCNj6nOGOpMCwXEGCSn1WHElkQwg9naRHMTh5+Spqt\n" "r0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3otkYNbn5XOmeUwssfnHdK\n" "Z05phkOTOPu220+DkdRgfks+KzgHVZhepA==\n" "-----END CERTIFICATE-----\n"; BIO *cbio = BIO_new_mem_buf(mypem, sizeof(mypem)); X509_STORE *cts = SSL_CTX_get_cert_store((SSL_CTX *)sslctx); X509_INFO *itmp; int i, count = 0; STACK_OF(X509_INFO) *inf; (void)curl; (void)parm; if(!cts || !cbio) { return rv; } inf = PEM_X509_INFO_read_bio(cbio, NULL, NULL, NULL); if(!inf) { BIO_free(cbio); return rv; } for(i = 0; i < sk_X509_INFO_num(inf); i++) { itmp = sk_X509_INFO_value(inf, i); if(itmp->x509) { X509_STORE_add_cert(cts, itmp->x509); count++; } if(itmp->crl) { X509_STORE_add_crl(cts, itmp->crl); count++; } } sk_X509_INFO_pop_free(inf, X509_INFO_free); BIO_free(cbio); rv = CURLE_OK; return rv; } int main(void) { CURL *ch; CURLcode rv; |
︙ | ︙ | |||
138 139 140 141 142 143 144 | rv = curl_easy_setopt(ch, CURLOPT_WRITEDATA, stdout); rv = curl_easy_setopt(ch, CURLOPT_HEADERFUNCTION, *writefunction); rv = curl_easy_setopt(ch, CURLOPT_HEADERDATA, stderr); rv = curl_easy_setopt(ch, CURLOPT_SSLCERTTYPE, "PEM"); rv = curl_easy_setopt(ch, CURLOPT_SSL_VERIFYPEER, 1L); rv = curl_easy_setopt(ch, CURLOPT_URL, "https://www.example.com/"); | | | | | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | rv = curl_easy_setopt(ch, CURLOPT_WRITEDATA, stdout); rv = curl_easy_setopt(ch, CURLOPT_HEADERFUNCTION, *writefunction); rv = curl_easy_setopt(ch, CURLOPT_HEADERDATA, stderr); rv = curl_easy_setopt(ch, CURLOPT_SSLCERTTYPE, "PEM"); rv = curl_easy_setopt(ch, CURLOPT_SSL_VERIFYPEER, 1L); rv = curl_easy_setopt(ch, CURLOPT_URL, "https://www.example.com/"); /* Turn off the default CA locations, otherwise libcurl will load CA * certificates from the locations that were detected/specified at * build-time */ rv = curl_easy_setopt(ch, CURLOPT_CAINFO, NULL); rv = curl_easy_setopt(ch, CURLOPT_CAPATH, NULL); /* first try: retrieve page without ca certificates -> should fail * unless libcurl was built --with-ca-fallback enabled at build-time */ |
︙ | ︙ |
Changes to jni/curl/docs/examples/crawler.c.
︙ | ︙ | |||
77 78 79 80 81 82 83 | mem->size = 0; mem->buf = malloc(1); curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, grow_buffer); curl_easy_setopt(handle, CURLOPT_WRITEDATA, mem); curl_easy_setopt(handle, CURLOPT_PRIVATE, mem); /* For completeness */ | | | 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | mem->size = 0; mem->buf = malloc(1); curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, grow_buffer); curl_easy_setopt(handle, CURLOPT_WRITEDATA, mem); curl_easy_setopt(handle, CURLOPT_PRIVATE, mem); /* For completeness */ curl_easy_setopt(handle, CURLOPT_ACCEPT_ENCODING, ""); curl_easy_setopt(handle, CURLOPT_TIMEOUT, 5L); curl_easy_setopt(handle, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(handle, CURLOPT_MAXREDIRS, 10L); curl_easy_setopt(handle, CURLOPT_CONNECTTIMEOUT, 2L); curl_easy_setopt(handle, CURLOPT_COOKIEFILE, ""); curl_easy_setopt(handle, CURLOPT_FILETIME, 1L); curl_easy_setopt(handle, CURLOPT_USERAGENT, "mini crawler"); |
︙ | ︙ |
Changes to jni/curl/docs/examples/ephiperfifo.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
68 69 70 71 72 73 74 | #include <sys/time.h> #include <sys/timerfd.h> #include <sys/types.h> #include <time.h> #include <unistd.h> #include <curl/curl.h> | < | 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | #include <sys/time.h> #include <sys/timerfd.h> #include <sys/types.h> #include <time.h> #include <unistd.h> #include <curl/curl.h> #ifdef __GNUC__ #define _Unused __attribute__((unused)) #else #define _Unused #endif |
︙ | ︙ | |||
149 150 151 152 153 154 155 | static int multi_timer_cb(CURLM *multi, long timeout_ms, GlobalInfo *g) { struct itimerspec its; CURLMcode rc; fprintf(MSG_OUT, "multi_timer_cb: Setting timeout to %ld ms\n", timeout_ms); | < | < > | | | > > > < > > | 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | static int multi_timer_cb(CURLM *multi, long timeout_ms, GlobalInfo *g) { struct itimerspec its; CURLMcode rc; fprintf(MSG_OUT, "multi_timer_cb: Setting timeout to %ld ms\n", timeout_ms); if(timeout_ms > 0) { its.it_interval.tv_sec = 1; its.it_interval.tv_nsec = 0; its.it_value.tv_sec = timeout_ms / 1000; its.it_value.tv_nsec = (timeout_ms % 1000) * 1000 * 1000; } else if(timeout_ms == 0) { /* libcurl wants us to timeout now, however setting both fields of * new_value.it_value to zero disarms the timer. The closest we can * do is to schedule the timer to fire in 1 ns. */ its.it_interval.tv_sec = 1; its.it_interval.tv_nsec = 0; its.it_value.tv_sec = 0; its.it_value.tv_nsec = 1; } else { memset(&its, 0, sizeof(struct itimerspec)); } timerfd_settime(g->tfd, /*flags=*/0, &its, NULL); return 0; } /* Check for completed transfers, and remove their easy handles */ static void check_multi_info(GlobalInfo *g) { |
︙ | ︙ | |||
202 203 204 205 206 207 208 | /* Called by libevent when we get action on a multi socket filedescriptor*/ static void event_cb(GlobalInfo *g, int fd, int revents) { CURLMcode rc; struct itimerspec its; | | | | 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | /* Called by libevent when we get action on a multi socket filedescriptor*/ static void event_cb(GlobalInfo *g, int fd, int revents) { CURLMcode rc; struct itimerspec its; int action = (revents & EPOLLIN ? CURL_CSELECT_IN : 0) | (revents & EPOLLOUT ? CURL_CSELECT_OUT : 0); rc = curl_multi_socket_action(g->multi, fd, action, &g->still_running); mcode_or_die("event_cb: curl_multi_socket_action", rc); check_multi_info(g); if(g->still_running <= 0) { fprintf(MSG_OUT, "last transfer done, kill timeout\n"); |
︙ | ︙ |
Changes to jni/curl/docs/examples/evhiperfifo.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
115 116 117 118 119 120 121 | static void timer_cb(EV_P_ struct ev_timer *w, int revents); /* Update the event timer after curl_multi library calls */ static int multi_timer_cb(CURLM *multi, long timeout_ms, GlobalInfo *g) { DPRINT("%s %li\n", __PRETTY_FUNCTION__, timeout_ms); ev_timer_stop(g->loop, &g->timer_event); | | > < < | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | static void timer_cb(EV_P_ struct ev_timer *w, int revents); /* Update the event timer after curl_multi library calls */ static int multi_timer_cb(CURLM *multi, long timeout_ms, GlobalInfo *g) { DPRINT("%s %li\n", __PRETTY_FUNCTION__, timeout_ms); ev_timer_stop(g->loop, &g->timer_event); if(timeout_ms >= 0) { /* -1 means delete, other values are timeout times in milliseconds */ double t = timeout_ms / 1000; ev_timer_init(&g->timer_event, timer_cb, t, 0.); ev_timer_start(g->loop, &g->timer_event); } return 0; } /* Die if we get a bad CURLMcode somewhere */ static void mcode_or_die(const char *where, CURLMcode code) { if(CURLM_OK != code) { |
︙ | ︙ |
Changes to jni/curl/docs/examples/externalsocket.c.
︙ | ︙ | |||
120 121 122 123 124 125 126 | } memset(&servaddr, 0, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(PORTNUM); servaddr.sin_addr.s_addr = inet_addr(IPADDR); | | > > | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | } memset(&servaddr, 0, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(PORTNUM); servaddr.sin_addr.s_addr = inet_addr(IPADDR); if(INADDR_NONE == servaddr.sin_addr.s_addr) { close(sockfd); return 2; } if(connect(sockfd, (struct sockaddr *) &servaddr, sizeof(servaddr)) == -1) { close(sockfd); printf("client error: connect: %s\n", strerror(errno)); return 1; } |
︙ | ︙ | |||
153 154 155 156 157 158 159 160 161 162 163 164 165 166 | curl_easy_setopt(curl, CURLOPT_VERBOSE, 1); res = curl_easy_perform(curl); curl_easy_cleanup(curl); if(res) { printf("libcurl error: %d\n", res); return 4; } } return 0; } | > > > > > > | 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | curl_easy_setopt(curl, CURLOPT_VERBOSE, 1); res = curl_easy_perform(curl); curl_easy_cleanup(curl); close(sockfd); if(res) { printf("libcurl error: %d\n", res); return 4; } } #ifdef WIN32 WSACleanup(); #endif return 0; } |
Changes to jni/curl/docs/examples/ftpget.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
32 33 34 35 36 37 38 | const char *filename; FILE *stream; }; static size_t my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream) { struct FtpFile *out = (struct FtpFile *)stream; | | | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | const char *filename; FILE *stream; }; static size_t my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream) { struct FtpFile *out = (struct FtpFile *)stream; if(!out->stream) { /* open file for writing */ out->stream = fopen(out->filename, "wb"); if(!out->stream) return -1; /* failure, can't open file to write */ } return fwrite(buffer, size, nmemb, out->stream); } |
︙ | ︙ |
Changes to jni/curl/docs/examples/ftpsget.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
34 35 36 37 38 39 40 | FILE *stream; }; static size_t my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream) { struct FtpFile *out = (struct FtpFile *)stream; | | | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | FILE *stream; }; static size_t my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream) { struct FtpFile *out = (struct FtpFile *)stream; if(!out->stream) { /* open file for writing */ out->stream = fopen(out->filename, "wb"); if(!out->stream) return -1; /* failure, can't open file to write */ } return fwrite(buffer, size, nmemb, out->stream); } |
︙ | ︙ |
Changes to jni/curl/docs/examples/ghiper.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
159 160 161 162 163 164 165 | GlobalInfo *g = (GlobalInfo *)userp; timeout.tv_sec = timeout_ms/1000; timeout.tv_usec = (timeout_ms%1000)*1000; MSG_OUT("*** update_timeout_cb %ld => %ld:%ld ***\n", timeout_ms, timeout.tv_sec, timeout.tv_usec); | | < < < | | > | | 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | GlobalInfo *g = (GlobalInfo *)userp; timeout.tv_sec = timeout_ms/1000; timeout.tv_usec = (timeout_ms%1000)*1000; MSG_OUT("*** update_timeout_cb %ld => %ld:%ld ***\n", timeout_ms, timeout.tv_sec, timeout.tv_usec); /* * if timeout_ms is -1, just delete the timer * * For other values of timeout_ms, this should set or *update* the timer to * the new value */ if(timeout_ms >= 0) g->timer_event = g_timeout_add(timeout_ms, timer_cb, g); return 0; } /* Called by glib when we get action on a multi socket */ static gboolean event_cb(GIOChannel *ch, GIOCondition condition, gpointer data) { GlobalInfo *g = (GlobalInfo*) data; |
︙ | ︙ |
Changes to jni/curl/docs/examples/hiperfifo.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
148 149 150 151 152 153 154 | struct timeval timeout; CURLMcode rc; timeout.tv_sec = timeout_ms/1000; timeout.tv_usec = (timeout_ms%1000)*1000; fprintf(MSG_OUT, "multi_timer_cb: Setting timeout to %ld ms\n", timeout_ms); | | < < < | | < < < < < | | | 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | struct timeval timeout; CURLMcode rc; timeout.tv_sec = timeout_ms/1000; timeout.tv_usec = (timeout_ms%1000)*1000; fprintf(MSG_OUT, "multi_timer_cb: Setting timeout to %ld ms\n", timeout_ms); /* * if timeout_ms is -1, just delete the timer * * For all other values of timeout_ms, this should set or *update* the timer * to the new value */ if(timeout_ms == -1) evtimer_del(&g->timer_event); else /* includes timeout zero */ evtimer_add(&g->timer_event, &timeout); return 0; } /* Check for completed transfers, and remove their easy handles */ static void check_multi_info(GlobalInfo *g) |
︙ | ︙ |
Changes to jni/curl/docs/examples/http2-download.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
37 38 39 40 41 42 43 | #ifndef CURLPIPE_MULTIPLEX /* This little trick will just make sure that we don't enable pipelining for libcurls old enough to not have this symbol. It is _not_ defined to zero in a recent libcurl header. */ #define CURLPIPE_MULTIPLEX 0 #endif | < < < < < < | | < | < < | | < | > | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | #ifndef CURLPIPE_MULTIPLEX /* This little trick will just make sure that we don't enable pipelining for libcurls old enough to not have this symbol. It is _not_ defined to zero in a recent libcurl header. */ #define CURLPIPE_MULTIPLEX 0 #endif struct transfer { CURL *easy; unsigned int num; FILE *out; }; #define NUM_HANDLES 1000 static void dump(const char *text, int num, unsigned char *ptr, size_t size, char nohex) { size_t i; size_t c; |
︙ | ︙ | |||
109 110 111 112 113 114 115 | static int my_trace(CURL *handle, curl_infotype type, char *data, size_t size, void *userp) { const char *text; | > | | | 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | static int my_trace(CURL *handle, curl_infotype type, char *data, size_t size, void *userp) { const char *text; struct transfer *t = (struct transfer *)userp; unsigned int num = t->num; (void)handle; /* prevent compiler warning */ switch(type) { case CURLINFO_TEXT: fprintf(stderr, "== %d Info: %s", num, data); /* FALLTHROUGH */ default: /* in case a new one is introduced to shock us */ return 0; |
︙ | ︙ | |||
143 144 145 146 147 148 149 | break; } dump(text, num, (unsigned char *)data, size, 1); return 0; } | | < > > > | | > < < | | | | > > | < > | | < < | | | 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | break; } dump(text, num, (unsigned char *)data, size, 1); return 0; } static void setup(struct transfer *t, int num) { char filename[128]; CURL *hnd; hnd = t->easy = curl_easy_init(); snprintf(filename, 128, "dl-%d", num); t->out = fopen(filename, "wb"); /* write to this file */ curl_easy_setopt(hnd, CURLOPT_WRITEDATA, t->out); /* set the same URL */ curl_easy_setopt(hnd, CURLOPT_URL, "https://localhost:8443/index.html"); /* please be verbose */ curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L); curl_easy_setopt(hnd, CURLOPT_DEBUGFUNCTION, my_trace); curl_easy_setopt(hnd, CURLOPT_DEBUGDATA, t); /* HTTP/2 please */ curl_easy_setopt(hnd, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0); /* we use a self-signed test server, skip verification during debugging */ curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYHOST, 0L); #if (CURLPIPE_MULTIPLEX > 0) /* wait for pipe connection to confirm */ curl_easy_setopt(hnd, CURLOPT_PIPEWAIT, 1L); #endif } /* * Download many transfers over HTTP/2, using the same connection! */ int main(int argc, char **argv) { struct transfer trans[NUM_HANDLES]; CURLM *multi_handle; int i; int still_running = 0; /* keep number of running handles */ int num_transfers; if(argc > 1) { /* if given a number, do that many transfers */ num_transfers = atoi(argv[1]); if((num_transfers < 1) || (num_transfers > NUM_HANDLES)) num_transfers = 3; /* a suitable low default */ } else num_transfers = 3; /* suitable default */ /* init a multi stack */ multi_handle = curl_multi_init(); for(i = 0; i < num_transfers; i++) { setup(&trans[i], i); /* add the individual transfer */ curl_multi_add_handle(multi_handle, trans[i].easy); } curl_multi_setopt(multi_handle, CURLMOPT_PIPELINING, CURLPIPE_MULTIPLEX); /* we start some action by calling perform right away */ curl_multi_perform(multi_handle, &still_running); |
︙ | ︙ | |||
282 283 284 285 286 287 288 | default: /* timeout or readable/writable sockets */ curl_multi_perform(multi_handle, &still_running); break; } } | > | > | | | | 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 | default: /* timeout or readable/writable sockets */ curl_multi_perform(multi_handle, &still_running); break; } } for(i = 0; i < num_transfers; i++) { curl_multi_remove_handle(multi_handle, trans[i].easy); curl_easy_cleanup(trans[i].easy); } curl_multi_cleanup(multi_handle); return 0; } |
Changes to jni/curl/docs/examples/http2-serverpush.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
124 125 126 127 128 129 130 | dump(text, (unsigned char *)data, size, 1); return 0; } #define OUTPUTFILE "dl" | | > > > | 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | dump(text, (unsigned char *)data, size, 1); return 0; } #define OUTPUTFILE "dl" static int setup(CURL *hnd) { FILE *out = fopen(OUTPUTFILE, "wb"); if(!out) /* failed */ return 1; /* write to this file */ curl_easy_setopt(hnd, CURLOPT_WRITEDATA, out); /* set the same URL */ curl_easy_setopt(hnd, CURLOPT_URL, "https://localhost:8443/index.html"); |
︙ | ︙ | |||
149 150 151 152 153 154 155 | curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYHOST, 0L); #if (CURLPIPE_MULTIPLEX > 0) /* wait for pipe connection to confirm */ curl_easy_setopt(hnd, CURLOPT_PIPEWAIT, 1L); #endif | | | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYHOST, 0L); #if (CURLPIPE_MULTIPLEX > 0) /* wait for pipe connection to confirm */ curl_easy_setopt(hnd, CURLOPT_PIPEWAIT, 1L); #endif return 0; /* all is good */ } /* called when there's an incoming push */ static int server_push_callback(CURL *parent, CURL *easy, size_t num_headers, struct curl_pushheaders *headers, |
︙ | ︙ | |||
172 173 174 175 176 177 178 179 180 181 182 183 184 185 | (void)parent; /* we have no use for this */ snprintf(filename, 128, "push%u", count++); /* here's a new stream, save it in a new file for each new push */ out = fopen(filename, "wb"); /* write to this file */ curl_easy_setopt(easy, CURLOPT_WRITEDATA, out); fprintf(stderr, "**** push callback approves stream %u, got %lu headers!\n", count, (unsigned long)num_headers); | > > > > > | 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 | (void)parent; /* we have no use for this */ snprintf(filename, 128, "push%u", count++); /* here's a new stream, save it in a new file for each new push */ out = fopen(filename, "wb"); if(!out) { /* if we can't save it, deny it */ fprintf(stderr, "Failed to create output file for push\n"); return CURL_PUSH_DENY; } /* write to this file */ curl_easy_setopt(easy, CURLOPT_WRITEDATA, out); fprintf(stderr, "**** push callback approves stream %u, got %lu headers!\n", count, (unsigned long)num_headers); |
︙ | ︙ | |||
211 212 213 214 215 216 217 | /* init a multi stack */ multi_handle = curl_multi_init(); easy = curl_easy_init(); /* set options */ | | > > > | 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 | /* init a multi stack */ multi_handle = curl_multi_init(); easy = curl_easy_init(); /* set options */ if(setup(easy)) { fprintf(stderr, "failed\n"); return 1; } /* add the easy transfer */ curl_multi_add_handle(multi_handle, easy); curl_multi_setopt(multi_handle, CURLMOPT_PIPELINING, CURLPIPE_MULTIPLEX); curl_multi_setopt(multi_handle, CURLMOPT_PUSHFUNCTION, server_push_callback); curl_multi_setopt(multi_handle, CURLMOPT_PUSHDATA, &transfers); |
︙ | ︙ |
Changes to jni/curl/docs/examples/http2-upload.c.
︙ | ︙ | |||
41 42 43 44 45 46 47 | libcurls old enough to not have this symbol. It is _not_ defined to zero in a recent libcurl header. */ #define CURLPIPE_MULTIPLEX 0 #endif #define NUM_HANDLES 1000 | < | | < | | < | < < < | < < | 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | libcurls old enough to not have this symbol. It is _not_ defined to zero in a recent libcurl header. */ #define CURLPIPE_MULTIPLEX 0 #endif #define NUM_HANDLES 1000 struct input { FILE *in; size_t bytes_read; /* count up */ CURL *hnd; int num; }; static void dump(const char *text, int num, unsigned char *ptr, size_t size, char nohex) { size_t i; size_t c; |
︙ | ︙ | |||
111 112 113 114 115 116 117 | static int my_trace(CURL *handle, curl_infotype type, char *data, size_t size, void *userp) { char timebuf[60]; const char *text; | > | < < | 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | static int my_trace(CURL *handle, curl_infotype type, char *data, size_t size, void *userp) { char timebuf[60]; const char *text; struct input *i = (struct input *)userp; int num = i->num; static time_t epoch_offset; static int known_offset; struct timeval tv; time_t secs; struct tm *now; (void)handle; /* prevent compiler warning */ gettimeofday(&tv, NULL); if(!known_offset) { epoch_offset = time(NULL) - tv.tv_sec; known_offset = 1; } secs = epoch_offset + tv.tv_sec; |
︙ | ︙ | |||
162 163 164 165 166 167 168 | break; } dump(text, num, (unsigned char *)data, size, 1); return 0; } | < < < < < < < < | > > > | < | > < < | > | > > > | | | | < > | < < | | | 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 | break; } dump(text, num, (unsigned char *)data, size, 1); return 0; } static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *userp) { struct input *i = userp; size_t retcode = fread(ptr, size, nmemb, i->in); i->bytes_read += retcode; return retcode; } static void setup(struct input *i, int num, const char *upload) { FILE *out; char url[256]; char filename[128]; struct stat file_info; curl_off_t uploadsize; CURL *hnd; hnd = i->hnd = curl_easy_init(); i->num = num; snprintf(filename, 128, "dl-%d", num); out = fopen(filename, "wb"); snprintf(url, 256, "https://localhost:8443/upload-%d", num); /* get the file size of the local file */ stat(upload, &file_info); uploadsize = file_info.st_size; i->in = fopen(upload, "rb"); /* write to this file */ curl_easy_setopt(hnd, CURLOPT_WRITEDATA, out); /* we want to use our own read function */ curl_easy_setopt(hnd, CURLOPT_READFUNCTION, read_callback); /* read from this file */ curl_easy_setopt(hnd, CURLOPT_READDATA, i); /* provide the size of the upload */ curl_easy_setopt(hnd, CURLOPT_INFILESIZE_LARGE, uploadsize); /* send in the URL to store the upload as */ curl_easy_setopt(hnd, CURLOPT_URL, url); /* upload please */ curl_easy_setopt(hnd, CURLOPT_UPLOAD, 1L); /* please be verbose */ curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L); curl_easy_setopt(hnd, CURLOPT_DEBUGFUNCTION, my_trace); curl_easy_setopt(hnd, CURLOPT_DEBUGDATA, i); /* HTTP/2 please */ curl_easy_setopt(hnd, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0); /* we use a self-signed test server, skip verification during debugging */ curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYHOST, 0L); #if (CURLPIPE_MULTIPLEX > 0) /* wait for pipe connection to confirm */ curl_easy_setopt(hnd, CURLOPT_PIPEWAIT, 1L); #endif } /* * Upload all files over HTTP/2, using the same physical connection! */ int main(int argc, char **argv) { struct input trans[NUM_HANDLES]; CURLM *multi_handle; int i; int still_running = 0; /* keep number of running handles */ const char *filename = "index.html"; int num_transfers; if(argc > 1) { /* if given a number, do that many transfers */ num_transfers = atoi(argv[1]); if(!num_transfers || (num_transfers > NUM_HANDLES)) num_transfers = 3; /* a suitable low default */ if(argc > 2) /* if given a file name, upload this! */ filename = argv[2]; } else num_transfers = 3; /* init a multi stack */ multi_handle = curl_multi_init(); for(i = 0; i<num_transfers; i++) { setup(&trans[i], i, filename); /* add the individual transfer */ curl_multi_add_handle(multi_handle, trans[i].hnd); } curl_multi_setopt(multi_handle, CURLMOPT_PIPELINING, CURLPIPE_MULTIPLEX); /* We do HTTP/2 so let's stick to one connection per host */ curl_multi_setopt(multi_handle, CURLMOPT_MAX_HOST_CONNECTIONS, 1L); |
︙ | ︙ | |||
348 349 350 351 352 353 354 | curl_multi_perform(multi_handle, &still_running); break; } } curl_multi_cleanup(multi_handle); | | > | > | 334 335 336 337 338 339 340 341 342 343 344 345 346 347 | curl_multi_perform(multi_handle, &still_running); break; } } curl_multi_cleanup(multi_handle); for(i = 0; i<num_transfers; i++) { curl_multi_remove_handle(multi_handle, trans[i].hnd); curl_easy_cleanup(trans[i].hnd); } return 0; } |
Changes to jni/curl/docs/examples/httpcustomheader.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
45 46 47 48 49 50 51 | chunk = curl_slist_append(chunk, "Host: example.com"); /* Add a header with "blank" contents to the right of the colon. Note that we're then using a semicolon in the string we pass to curl! */ chunk = curl_slist_append(chunk, "X-silly-header;"); /* set our custom set of headers */ | | | 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | chunk = curl_slist_append(chunk, "Host: example.com"); /* Add a header with "blank" contents to the right of the colon. Note that we're then using a semicolon in the string we pass to curl! */ chunk = curl_slist_append(chunk, "X-silly-header;"); /* set our custom set of headers */ curl_easy_setopt(curl, CURLOPT_HTTPHEADER, chunk); curl_easy_setopt(curl, CURLOPT_URL, "localhost"); curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) |
︙ | ︙ |
Changes to jni/curl/docs/examples/postinmemory.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
63 64 65 66 67 68 69 | chunk.memory = malloc(1); /* will be grown as needed by realloc above */ chunk.size = 0; /* no data at this point */ curl_global_init(CURL_GLOBAL_ALL); curl = curl_easy_init(); if(curl) { | < | 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | chunk.memory = malloc(1); /* will be grown as needed by realloc above */ chunk.size = 0; /* no data at this point */ curl_global_init(CURL_GLOBAL_ALL); curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "https://www.example.org/"); /* send all data to this function */ curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteMemoryCallback); /* we pass our 'chunk' struct to the callback function */ curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&chunk); |
︙ | ︙ | |||
102 103 104 105 106 107 108 | */ printf("%s\n",chunk.memory); } /* always cleanup */ curl_easy_cleanup(curl); | < < > | 101 102 103 104 105 106 107 108 109 110 111 112 113 | */ printf("%s\n",chunk.memory); } /* always cleanup */ curl_easy_cleanup(curl); /* we're done with libcurl, so clean it up */ curl_global_cleanup(); } free(chunk.memory); return 0; } |
Changes to jni/curl/docs/examples/sftpget.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
43 44 45 46 47 48 49 | FILE *stream; }; static size_t my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream) { struct FtpFile *out = (struct FtpFile *)stream; | | | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | FILE *stream; }; static size_t my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream) { struct FtpFile *out = (struct FtpFile *)stream; if(!out->stream) { /* open file for writing */ out->stream = fopen(out->filename, "wb"); if(!out->stream) return -1; /* failure, can't open file to write */ } return fwrite(buffer, size, nmemb, out->stream); } |
︙ | ︙ |
Changes to jni/curl/docs/examples/sftpuploadresume.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
61 62 63 64 65 66 67 68 69 70 71 72 73 74 | curl_easy_setopt(curlHandlePtr, CURLOPT_FILETIME, 1); result = curl_easy_perform(curlHandlePtr); if(CURLE_OK == result) { result = curl_easy_getinfo(curlHandlePtr, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, &remoteFileSizeByte); printf("filesize: %" CURL_FORMAT_CURL_OFF_T "\n", remoteFileSizeByte); } curl_easy_cleanup(curlHandlePtr); return remoteFileSizeByte; } | > > | 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | curl_easy_setopt(curlHandlePtr, CURLOPT_FILETIME, 1); result = curl_easy_perform(curlHandlePtr); if(CURLE_OK == result) { result = curl_easy_getinfo(curlHandlePtr, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, &remoteFileSizeByte); if(result) return -1; printf("filesize: %" CURL_FORMAT_CURL_OFF_T "\n", remoteFileSizeByte); } curl_easy_cleanup(curlHandlePtr); return remoteFileSizeByte; } |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/Makefile.in.
︙ | ︙ | |||
484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ | > > | 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ |
︙ | ︙ | |||
552 553 554 555 556 557 558 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ | < > | 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_cleanup.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_easy_cleanup 3 "August 09, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_easy_cleanup - End a libcurl easy handle .SH SYNOPSIS .B #include <curl/curl.h> .BI "void curl_easy_cleanup(CURL *" handle ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_duphandle.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | > > | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_easy_duphandle 3 "March 01, 2019" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_easy_duphandle - Clone a libcurl session handle .SH SYNOPSIS .B #include <curl/curl.h> .BI "CURL *curl_easy_duphandle(CURL *"handle ");" .SH DESCRIPTION This function will return a new curl handle, a duplicate, using all the options previously set in the input curl \fIhandle\fP. Both handles can subsequently be used independently and they must both be freed with \fIcurl_easy_cleanup(3)\fP. All strings that the input handle has been told to point to (as opposed to copy) with previous calls to \fIcurl_easy_setopt(3)\fP using char * inputs, will be pointed to by the new handle as well. You must therefore make sure to keep the data around until both handles have been cleaned up. The new handle will \fBnot\fP inherit any state information, no connections, no SSL sessions and no cookies. It also will not inherit any share object states or options (it will be made as if \fICURLOPT_SHARE(3)\fP was set to NULL). In multi-threaded programs, this function must be called in a synchronous way, the input handle may not be in use when cloned. .SH RETURN VALUE If this function returns NULL, something went wrong and no valid handle was returned. .SH "SEE ALSO" .BR curl_easy_init "(3)," curl_easy_cleanup "(3)," curl_easy_reset "(3)," .BR curl_global_init "(3)" |
Changes to jni/curl/docs/libcurl/curl_easy_escape.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_easy_escape 3 "August 12, 2017" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_easy_escape - URL encodes the given string .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "char *curl_easy_escape( CURL *" curl ", const char *" string |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_getinfo.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_easy_getinfo 3 "May 17, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_easy_getinfo - extract information from a curl handle .SH SYNOPSIS .B #include <curl/curl.h> .B "CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_init.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_easy_init 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_easy_init - Start a libcurl easy session .SH SYNOPSIS .B #include <curl/curl.h> .BI "CURL *curl_easy_init( );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_pause.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_easy_pause 3 "May 01, 2016" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_easy_pause - pause and unpause a connection .SH SYNOPSIS .B #include <curl/curl.h> .BI "CURLcode curl_easy_pause(CURL *"handle ", int "bitmask " );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_perform.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_easy_perform 3 "September 23, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_easy_perform - perform a blocking file transfer .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_easy_perform(CURL *" easy_handle ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_recv.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_easy_recv 3 "December 18, 2016" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_easy_recv - receives raw data on an "easy" connection .SH SYNOPSIS .B #include <curl/easy.h> .sp .BI "CURLcode curl_easy_recv( CURL *" curl ", void *" buffer "," |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_reset.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_easy_reset 3 "September 23, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_easy_reset - reset all options of a libcurl session handle .SH SYNOPSIS .B #include <curl/curl.h> .BI "void curl_easy_reset(CURL *"handle ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_send.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_easy_send 3 "December 18, 2016" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_easy_send - sends raw data over an "easy" connection .SH SYNOPSIS .B #include <curl/easy.h> .sp .BI "CURLcode curl_easy_send( CURL *" curl ", const void *" buffer "," |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_setopt.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_easy_setopt 3 "March 03, 2019" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_easy_setopt \- set options for a curl easy handle .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter); |
︙ | ︙ | |||
310 311 312 313 314 315 316 317 318 319 320 321 322 323 | File to read cookies from. See \fICURLOPT_COOKIEFILE(3)\fP .IP CURLOPT_COOKIEJAR File to write cookies to. See \fICURLOPT_COOKIEJAR(3)\fP .IP CURLOPT_COOKIESESSION Start a new cookie session. See \fICURLOPT_COOKIESESSION(3)\fP .IP CURLOPT_COOKIELIST Add or control cookies. See \fICURLOPT_COOKIELIST(3)\fP .IP CURLOPT_HTTPGET Do an HTTP GET request. See \fICURLOPT_HTTPGET(3)\fP .IP CURLOPT_REQUEST_TARGET Set the request target. \fICURLOPT_REQUEST_TARGET(3)\fP .IP CURLOPT_HTTP_VERSION HTTP version to use. \fICURLOPT_HTTP_VERSION(3)\fP .IP CURLOPT_HTTP09_ALLOWED | > > > > | 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 | File to read cookies from. See \fICURLOPT_COOKIEFILE(3)\fP .IP CURLOPT_COOKIEJAR File to write cookies to. See \fICURLOPT_COOKIEJAR(3)\fP .IP CURLOPT_COOKIESESSION Start a new cookie session. See \fICURLOPT_COOKIESESSION(3)\fP .IP CURLOPT_COOKIELIST Add or control cookies. See \fICURLOPT_COOKIELIST(3)\fP .IP CURLOPT_ALTSVC Specify the Alt-Svc: cache file name. See \fICURLOPT_ALTSVC(3)\fP .IP CURLOPT_ALTSVC_CTRL Enable and configure Alt-Svc: treatment. See \fICURLOPT_ALTSVC_CTRL(3)\fP .IP CURLOPT_HTTPGET Do an HTTP GET request. See \fICURLOPT_HTTPGET(3)\fP .IP CURLOPT_REQUEST_TARGET Set the request target. \fICURLOPT_REQUEST_TARGET(3)\fP .IP CURLOPT_HTTP_VERSION HTTP version to use. \fICURLOPT_HTTP_VERSION(3)\fP .IP CURLOPT_HTTP09_ALLOWED |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_strerror.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_easy_strerror 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_easy_strerror - return string describing error code .SH SYNOPSIS #include <curl/curl.h> const char *curl_easy_strerror(CURLcode errornum); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_unescape.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_easy_unescape 3 "October 04, 2016" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_easy_unescape - URL decodes the given string .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "char *curl_easy_unescape( CURL *" curl ", const char *" url |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_escape.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_escape 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_escape - URL encodes the given string .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "char *curl_escape( const char *" url ", int "length " );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_formadd.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_formadd 3 "December 11, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_formadd - add a section to a multipart/formdata HTTP POST .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLFORMcode curl_formadd(struct curl_httppost ** " firstitem, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_formfree.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_formfree 3 "August 09, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_formfree - free a previously build multipart/formdata HTTP POST chain .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "void curl_formfree(struct curl_httppost *" form); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_formget.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_formget 3 "September 02, 2017" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_formget - serialize a previously built multipart/formdata HTTP POST chain .SH SYNOPSIS .nf .B #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_free.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_free 3 "August 09, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_free - reclaim memory that has been obtained through a libcurl call .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "void curl_free( char *" ptr " );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_getdate.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_getdate 3 "January 18, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_getdate - Convert a date string to number of seconds .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "time_t curl_getdate(char *" datestring ", time_t *"now " );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_getenv.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_getenv 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_getenv - return value for environment name .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "char *curl_getenv(const char *" name ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_global_cleanup.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_global_cleanup 3 "September 20, 2016" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_global_cleanup - global libcurl cleanup .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "void curl_global_cleanup(void);" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_global_init.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_global_init 3 "April 17, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_global_init - Global libcurl initialisation .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_global_init(long " flags ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_global_init_mem.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_global_init_mem 3 "September 23, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_global_init_mem - Global libcurl initialisation with memory callbacks .SH SYNOPSIS .B #include <curl/curl.h> .nf .B "CURLcode curl_global_init_mem(long " flags, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_global_sslset.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_global_sslset 3 "October 30, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_global_sslset - Select SSL backend to use with libcurl .SH SYNOPSIS .B #include <curl/curl.h> .nf |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_addpart.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_addpart 3 "September 22, 2017" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_mime_addpart - append a new empty part to a mime structure .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "curl_mimepart * curl_mime_addpart(curl_mime * " mime ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_data.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_data 3 "September 22, 2017" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_mime_data - set a mime part's body data from memory .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_data(curl_mimepart * " part ", const char * " data |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_data_cb.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_data_cb 3 "April 17, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_mime_data_cb - set a callback-based data source for a mime part's body .SH SYNOPSIS .B #include <curl/curl.h> .sp size_t readfunc(char *buffer, size_t size, size_t nitems, void *arg); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_encoder.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_encoder 3 "September 05, 2017" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_mime_encoder - set a mime part's encoder and content transfer encoding .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_encoder(curl_mimepart * " part , |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_filedata.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_filedata 3 "April 17, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_mime_filedata - set a mime part's body data from a file contents .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_filedata(curl_mimepart * " part , |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_filename.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_filename 3 "September 22, 2017" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_mime_filename - set a mime part's remote file name .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_filename(curl_mimepart * " part , |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_free.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_free 3 "August 09, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_mime_free - free a previously built mime structure .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "void curl_mime_free(curl_mime *" mime); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_headers.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_headers 3 "September 22, 2017" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_mime_headers - set a mime part's custom headers .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_headers(curl_mimepart * " part , |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_init.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_init 3 "September 22, 2017" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_mime_init - create a mime handle .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "curl_mime * curl_mime_init(CURL * " easy_handle ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_name.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_name 3 "September 22, 2017" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_mime_name - set a mime part's name .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_name(curl_mimepart * " part ", const char * " name ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_subparts.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_subparts 3 "September 05, 2017" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_mime_subparts - set subparts of a multipart mime part .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_subparts(curl_mimepart * " part , |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_type.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_type 3 "April 17, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_mime_type - set a mime part's content type .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_type(curl_mimepart * " part , |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mprintf.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_printf 3 "April 01, 2016" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_maprintf, curl_mfprintf, curl_mprintf, curl_msnprintf, curl_msprintf curl_mvaprintf, curl_mvfprintf, curl_mvprintf, curl_mvsnprintf, curl_mvsprintf - formatted output conversion .SH SYNOPSIS .B #include <curl/mprintf.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_add_handle.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_add_handle 3 "June 30, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_multi_add_handle - add an easy handle to a multi session .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_add_handle(CURLM *multi_handle, CURL *easy_handle); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_assign.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_assign 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_multi_assign \- set data to associate with an internal socket .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_assign(CURLM *multi_handle, curl_socket_t sockfd, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_cleanup.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_cleanup 3 "August 09, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_multi_cleanup - close down a multi session .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLMcode curl_multi_cleanup( CURLM *multi_handle );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_fdset.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_fdset 3 "November 09, 2017" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_multi_fdset - extracts file descriptor information from a multi handle .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_info_read.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_info_read 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_multi_info_read - read multi stack informationals .SH SYNOPSIS #include <curl/curl.h> CURLMsg *curl_multi_info_read( CURLM *multi_handle, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_init.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_init 3 "September 23, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_multi_init - create a multi handle .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLM *curl_multi_init( );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_perform.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_perform 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_multi_perform - reads/writes available data from each easy handle .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_remove_handle.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_remove_handle 3 "February 19, 2019" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_multi_remove_handle - remove an easy handle from a multi session .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_remove_handle(CURLM *multi_handle, CURL *easy_handle); .ad .SH DESCRIPTION Removes a given \fIeasy_handle\fP from the \fImulti_handle\fP. This will make the specified easy handle be removed from this multi handle's control. When the easy handle has been removed from a multi stack, it is again perfectly legal to invoke \fIcurl_easy_perform(3)\fP on this easy handle. Removing an easy handle while being used is perfectly legal and will effectively halt the transfer in progress involving that easy handle. All other easy handles and transfers will remain unaffected. It is fine to remove a handle at any time during a transfer, just not from within any libcurl callback function. .SH RETURN VALUE CURLMcode type, general libcurl multi interface error code. .SH "SEE ALSO" .BR curl_multi_cleanup "(3)," curl_multi_init "(3), " .BR curl_multi_add_handle "(3) " |
Changes to jni/curl/docs/libcurl/curl_multi_setopt.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_setopt 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_multi_setopt \- set options for a curl multi handle .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM * multi_handle, CURLMoption option, param); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_socket.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_socket 3 "June 30, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_multi_socket \- reads/writes available data .SH SYNOPSIS .nf #include <curl/curl.h> CURLMcode curl_multi_socket(CURLM * multi_handle, curl_socket_t sockfd, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_socket_action.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_socket_action 3 "June 30, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_multi_socket_action \- reads/writes available data given an action .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_strerror.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_strerror 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_multi_strerror - return string describing error code .SH SYNOPSIS .nf .B #include <curl/curl.h> .BI "const char *curl_multi_strerror(CURLMcode " errornum ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_timeout.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_timeout 3 "September 23, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_multi_timeout \- how long to wait for action before proceeding .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_timeout(CURLM *multi_handle, long *timeout); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_wait.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_wait 3 "March 09, 2016" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_multi_wait - polls on all easy handles in a multi handle .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_share_cleanup.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_share_cleanup 3 "August 09, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_share_cleanup - Clean up a shared object .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLSHcode curl_share_cleanup(CURLSH *" share_handle ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_share_init.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_share_init 3 "September 23, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_share_init - Create a shared object .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLSH *curl_share_init( );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_share_setopt.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_share_setopt 3 "May 28, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_share_setopt - Set options for a shared object .SH SYNOPSIS .B #include <curl/curl.h> .sp CURLSHcode curl_share_setopt(CURLSH *share, CURLSHoption option, parameter); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_share_strerror.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_share_strerror 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_share_strerror - return string describing error code .SH SYNOPSIS .nf .B #include <curl/curl.h> .BI "const char *curl_share_strerror(CURLSHcode " errornum ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_slist_append.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_slist_append 3 "January 02, 2019" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_slist_append - add a string to an slist .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "struct curl_slist *curl_slist_append(struct curl_slist *" list, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_slist_free_all.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_slist_free_all 3 "September 23, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_slist_free_all - free an entire curl_slist list .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "void curl_slist_free_all(struct curl_slist *" list); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_strequal.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_strequal 3 "June 29, 2017" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_strequal, curl_strnequal - case insensitive string comparisons .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "int curl_strequal(char *" str1 ", char *" str2 ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_unescape.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_unescape 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_unescape - URL decodes the given string .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "char *curl_unescape( const char *" url ", int "length " );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_url.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | < < < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_url 3 "March 22, 2019" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_url - returns a new CURLU handle .SH SYNOPSIS .B #include <curl/curl.h> CURLU *curl_url(); .SH DESCRIPTION This function will allocates and returns a pointer to a fresh CURLU handle, to be used for further use of the URL API. .SH RETURN VALUE Returns a \fBCURLU *\fP if successful, or NULL if out of memory. .SH EXAMPLE .nf |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_url_cleanup.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_url_cleanup 3 "September 08, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_url_cleanup - free a CURLU handle .SH SYNOPSIS .B #include <curl/curl.h> void curl_url_cleanup(CURLU *handle); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_url_dup.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_url_dup 3 "September 08, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_url_dup - duplicate a CURLU handle .SH SYNOPSIS .B #include <curl/curl.h> CURLU *curl_url_dup(CURLU *inhandle); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_url_get.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_url_get 3 "October 08, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_url_get - extract a part from a URL .SH SYNOPSIS .B #include <curl/curl.h> .nf |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_url_set.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_url_set 3 "November 06, 2018" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_url_set - set a URL part .SH SYNOPSIS .B #include <curl/curl.h> CURLUcode curl_url_set(CURLU *url, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_version.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_version 3 "February 03, 2016" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_version - returns the libcurl version string .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "char *curl_version( );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_version_info.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_version_info 3 "January 29, 2019" "libcurl 7.64.1" "libcurl Manual" .SH NAME curl_version_info - returns run-time libcurl version info .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "curl_version_info_data *curl_version_info( CURLversion "age ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-easy.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH libcurl 3 "February 03, 2016" "libcurl 7.64.1" "libcurl easy interface" .SH NAME libcurl-easy \- easy interface overview .SH DESCRIPTION When using libcurl's "easy" interface you init your session and get a handle (often referred to as an "easy handle"), which you use as input to the easy interface functions you use. Use \fIcurl_easy_init(3)\fP to get the handle. |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-env.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH libcurl-env 3 "April 17, 2018" "libcurl 7.64.1" "libcurl environment variables" .SH NAME libcurl-env \- environment variables libcurl understands .SH DESCRIPTION libcurl reads and understands a set of environment variables that if set will control and change behaviors. This is the full list of variables to set and description of what they do. Also note that curl, the command line tool, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-errors.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH libcurl-errors 3 "November 19, 2018" "libcurl 7.64.1" "libcurl errors" .SH NAME libcurl-errors \- error codes in libcurl .SH DESCRIPTION This man page includes most, if not all, available error codes in libcurl. Why they occur and possibly what you can do to fix the problem are also included. .SH "CURLcode" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-multi.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH libcurl-multi 3 "June 30, 2018" "libcurl 7.64.1" "libcurl multi interface" .SH NAME libcurl-multi \- how to use the multi interface .SH DESCRIPTION This is an overview on how to use the libcurl multi interface in your C programs. There are specific man pages for each function mentioned in here. There's also the \fIlibcurl-tutorial(3)\fP man page for a complete |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-security.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH libcurl-security 3 "September 23, 2018" "libcurl 7.64.1" "libcurl security" .SH NAME libcurl-security \- security considerations when using libcurl .SH "Security" The libcurl project takes security seriously. The library is written with caution and precautions are taken to mitigate many kinds of risks encountered while operating with potentially malicious servers on the Internet. It is a |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-share.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH libcurl-share 3 "November 27, 2017" "libcurl 7.64.1" "libcurl share interface" .SH NAME libcurl-share \- how to use the share interface .SH DESCRIPTION This is an overview on how to use the libcurl share interface in your C programs. There are specific man pages for each function mentioned in here. |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-symbols.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | > > > > > > > > > > > > | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH libcurl-symbols 3 "mar 27, 2019" "libcurl 7.41.0" "libcurl symbols" .SH NAME libcurl-symbols \- libcurl symbol version information .SH "libcurl symbols" This man page details version information for public symbols provided in the libcurl header files. This lists the first version in which the symbol was introduced and for some symbols two additional information pieces: The first version in which the symbol is marked "deprecated" - meaning that since that version no new code should be written to use the symbol as it is marked for getting removed in a future. The last version that featured the specific symbol. Using the symbol in source code will make it no longer compile error-free after that specified version. This man page is automatically generated from the symbols-in-versions file. .IP CURLALTSVC_ALTUSED Introduced in 7.64.1 .IP CURLALTSVC_H1 Introduced in 7.64.1 .IP CURLALTSVC_H2 Introduced in 7.64.1 .IP CURLALTSVC_H3 Introduced in 7.64.1 .IP CURLALTSVC_IMMEDIATELY Introduced in 7.64.1 .IP CURLALTSVC_READONLYFILE Introduced in 7.64.1 .IP CURLAUTH_ANY Introduced in 7.10.6 .IP CURLAUTH_ANYSAFE Introduced in 7.10.6 .IP CURLAUTH_BASIC Introduced in 7.10.6 .IP CURLAUTH_BEARER |
︙ | ︙ | |||
747 748 749 750 751 752 753 754 755 756 757 758 759 760 | Introduced in 7.53.0 .IP CURLOPT_ACCEPTTIMEOUT_MS Introduced in 7.24.0 .IP CURLOPT_ACCEPT_ENCODING Introduced in 7.21.6 .IP CURLOPT_ADDRESS_SCOPE Introduced in 7.19.0 .IP CURLOPT_APPEND Introduced in 7.17.0 .IP CURLOPT_AUTOREFERER Introduced in 7.1 .IP CURLOPT_BUFFERSIZE Introduced in 7.10 .IP CURLOPT_CAINFO | > > > > | 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 | Introduced in 7.53.0 .IP CURLOPT_ACCEPTTIMEOUT_MS Introduced in 7.24.0 .IP CURLOPT_ACCEPT_ENCODING Introduced in 7.21.6 .IP CURLOPT_ADDRESS_SCOPE Introduced in 7.19.0 .IP CURLOPT_ALTSVC Introduced in 7.64.1 .IP CURLOPT_ALTSVC_CTRL Introduced in 7.64.1 .IP CURLOPT_APPEND Introduced in 7.17.0 .IP CURLOPT_AUTOREFERER Introduced in 7.1 .IP CURLOPT_BUFFERSIZE Introduced in 7.10 .IP CURLOPT_CAINFO |
︙ | ︙ | |||
936 937 938 939 940 941 942 | Introduced in 7.1 .IP CURLOPT_HTTP_CONTENT_DECODING Introduced in 7.16.2 .IP CURLOPT_HTTP_TRANSFER_DECODING Introduced in 7.16.2 .IP CURLOPT_HTTP_VERSION Introduced in 7.9.1 | < < < < | 952 953 954 955 956 957 958 959 960 961 962 963 964 965 | Introduced in 7.1 .IP CURLOPT_HTTP_CONTENT_DECODING Introduced in 7.16.2 .IP CURLOPT_HTTP_TRANSFER_DECODING Introduced in 7.16.2 .IP CURLOPT_HTTP_VERSION Introduced in 7.9.1 .IP CURLOPT_IGNORE_CONTENT_LENGTH Introduced in 7.14.1 .IP CURLOPT_INFILE Introduced in 7.1 Deprecated since 7.9.7 .IP CURLOPT_INFILESIZE Introduced in 7.1 |
︙ | ︙ | |||
1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 | Introduced in 7.61.0 .IP CURLOPT_TLSAUTH_PASSWORD Introduced in 7.21.4 .IP CURLOPT_TLSAUTH_TYPE Introduced in 7.21.4 .IP CURLOPT_TLSAUTH_USERNAME Introduced in 7.21.4 .IP CURLOPT_TRANSFERTEXT Introduced in 7.1.1 .IP CURLOPT_TRANSFER_ENCODING Introduced in 7.21.6 .IP CURLOPT_UNIX_SOCKET_PATH Introduced in 7.40.0 .IP CURLOPT_UNRESTRICTED_AUTH | > > > > | 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 | Introduced in 7.61.0 .IP CURLOPT_TLSAUTH_PASSWORD Introduced in 7.21.4 .IP CURLOPT_TLSAUTH_TYPE Introduced in 7.21.4 .IP CURLOPT_TLSAUTH_USERNAME Introduced in 7.21.4 .IP CURLOPT_TRAILERDATA Introduced in 7.64.0 .IP CURLOPT_TRAILERFUNCTION Introduced in 7.64.0 .IP CURLOPT_TRANSFERTEXT Introduced in 7.1.1 .IP CURLOPT_TRANSFER_ENCODING Introduced in 7.21.6 .IP CURLOPT_UNIX_SOCKET_PATH Introduced in 7.40.0 .IP CURLOPT_UNRESTRICTED_AUTH |
︙ | ︙ | |||
1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 | Deprecated since 7.61.0 .IP CURLSSLBACKEND_BORINGSSL Introduced in 7.49.0 .IP CURLSSLBACKEND_CYASSL Introduced in 7.34.0 .IP CURLSSLBACKEND_DARWINSSL Introduced in 7.34.0 .IP CURLSSLBACKEND_GNUTLS Introduced in 7.34.0 .IP CURLSSLBACKEND_GSKIT Introduced in 7.34.0 .IP CURLSSLBACKEND_LIBRESSL Introduced in 7.49.0 .IP CURLSSLBACKEND_MBEDTLS | > | 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 | Deprecated since 7.61.0 .IP CURLSSLBACKEND_BORINGSSL Introduced in 7.49.0 .IP CURLSSLBACKEND_CYASSL Introduced in 7.34.0 .IP CURLSSLBACKEND_DARWINSSL Introduced in 7.34.0 Deprecated since 7.64.1 .IP CURLSSLBACKEND_GNUTLS Introduced in 7.34.0 .IP CURLSSLBACKEND_GSKIT Introduced in 7.34.0 .IP CURLSSLBACKEND_LIBRESSL Introduced in 7.49.0 .IP CURLSSLBACKEND_MBEDTLS |
︙ | ︙ | |||
1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 | Introduced in 7.34.0 .IP CURLSSLBACKEND_POLARSSL Introduced in 7.34.0 .IP CURLSSLBACKEND_QSOSSL Introduced in 7.34.0 .IP CURLSSLBACKEND_SCHANNEL Introduced in 7.34.0 .IP CURLSSLBACKEND_WOLFSSL Introduced in 7.49.0 .IP CURLSSLOPT_ALLOW_BEAST Introduced in 7.25.0 .IP CURLSSLOPT_NO_REVOKE Introduced in 7.44.0 .IP CURLSSLSET_NO_BACKENDS | > > | 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 | Introduced in 7.34.0 .IP CURLSSLBACKEND_POLARSSL Introduced in 7.34.0 .IP CURLSSLBACKEND_QSOSSL Introduced in 7.34.0 .IP CURLSSLBACKEND_SCHANNEL Introduced in 7.34.0 .IP CURLSSLBACKEND_SECURETRANSPORT Introduced in 7.64.1 .IP CURLSSLBACKEND_WOLFSSL Introduced in 7.49.0 .IP CURLSSLOPT_ALLOW_BEAST Introduced in 7.25.0 .IP CURLSSLOPT_NO_REVOKE Introduced in 7.44.0 .IP CURLSSLSET_NO_BACKENDS |
︙ | ︙ | |||
1806 1807 1808 1809 1810 1811 1812 | Introduced in 7.44.0 .IP CURL_PUSH_OK Introduced in 7.44.0 .IP CURL_READFUNC_ABORT Introduced in 7.12.1 .IP CURL_READFUNC_PAUSE Introduced in 7.18.0 | < < < < | 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 | Introduced in 7.44.0 .IP CURL_PUSH_OK Introduced in 7.44.0 .IP CURL_READFUNC_ABORT Introduced in 7.12.1 .IP CURL_READFUNC_PAUSE Introduced in 7.18.0 .IP CURL_REDIR_GET_ALL Introduced in 7.19.1 .IP CURL_REDIR_POST_301 Introduced in 7.19.1 .IP CURL_REDIR_POST_302 Introduced in 7.19.1 .IP CURL_REDIR_POST_303 |
︙ | ︙ | |||
1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 | Introduced in 7.9.7 .IP CURL_TIMECOND_NONE Introduced in 7.9.7 .IP CURL_TLSAUTH_NONE Introduced in 7.21.4 .IP CURL_TLSAUTH_SRP Introduced in 7.21.4 .IP CURL_UPKEEP_INTERVAL_DEFAULT Introduced in 7.62.0 .IP CURL_VERSION_ASYNCHDNS Introduced in 7.10.7 .IP CURL_VERSION_BROTLI Introduced in 7.57.0 .IP CURL_VERSION_CONV Introduced in 7.15.4 .IP CURL_VERSION_CURLDEBUG | > > > > > > | 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 | Introduced in 7.9.7 .IP CURL_TIMECOND_NONE Introduced in 7.9.7 .IP CURL_TLSAUTH_NONE Introduced in 7.21.4 .IP CURL_TLSAUTH_SRP Introduced in 7.21.4 .IP CURL_TRAILERFUNC_ABORT Introduced in 7.64.0 .IP CURL_TRAILERFUNC_OK Introduced in 7.64.0 .IP CURL_UPKEEP_INTERVAL_DEFAULT Introduced in 7.62.0 .IP CURL_VERSION_ALTSVC Introduced in 7.64.1 .IP CURL_VERSION_ASYNCHDNS Introduced in 7.10.7 .IP CURL_VERSION_BROTLI Introduced in 7.57.0 .IP CURL_VERSION_CONV Introduced in 7.15.4 .IP CURL_VERSION_CURLDEBUG |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-thread.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH libcurl-thread 3 "October 30, 2018" "libcurl 7.64.1" "libcurl thread safety" .SH NAME libcurl-thread \- libcurl thread safety .SH "Multi-threading with libcurl" libcurl is thread safe but has no internal thread synchronization. You may have to provide your own locking should you meet any of the thread safety exceptions below. |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-tutorial.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH libcurl-tutorial 3 "September 23, 2018" "libcurl 7.64.1" "libcurl programming" .SH NAME libcurl-tutorial \- libcurl programming tutorial .SH "Objective" This document attempts to describe the general principles and some basic approaches to consider when programming with libcurl. The text will focus mainly on the C interface but might apply fairly well on other interfaces as |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-url.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH libcurl 3 "September 10, 2018" "libcurl 7.64.1" "libcurl url interface" .SH NAME libcurl-url \- URL interface overview .SH DESCRIPTION The URL interface provides a set of functions for parsing and generating URLs. .SH INCLUDE 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 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH libcurl 3 "July 15, 2017" "libcurl 7.64.1" "libcurl overview" .SH NAME libcurl \- client-side URL transfers .SH DESCRIPTION This is a short overview on how to use libcurl in your C programs. There are specific man pages for each function mentioned in here. There are also the \fIlibcurl-easy(3)\fP man page, the \fIlibcurl-multi(3)\fP man page, the |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_ACTIVESOCKET 3 "May 06, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_ACTIVESOCKET \- get the active socket .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_ACTIVESOCKET, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_APPCONNECT_TIME 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_APPCONNECT_TIME \- get the time until the SSL/SSH handshake is completed .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_APPCONNECT_TIME, double *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_APPCONNECT_TIME_T 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_APPCONNECT_TIME_T \- get the time until the SSL/SSH handshake is completed .SH SYNOPSIS #include <curl/curl.h> 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 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CERTINFO 3 "November 07, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_CERTINFO \- get the TLS certificate chain .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CERTINFO, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONDITION_UNMET 3 "February 23, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_CONDITION_UNMET \- get info on unmet time conditional .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONDITION_UNMET, long *unmet); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONNECT_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONNECT_TIME 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_CONNECT_TIME \- get the time until connect .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONNECT_TIME, double *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONNECT_TIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONNECT_TIME_T 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_CONNECT_TIME_T \- get the time until connect .SH SYNOPSIS #include <curl/curl.h> 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 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_LENGTH_DOWNLOAD 3 "June 15, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_LENGTH_DOWNLOAD \- get content-length of download .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_LENGTH_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_LENGTH_DOWNLOAD_T \- get content-length of download .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_LENGTH_UPLOAD 3 "June 15, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_LENGTH_UPLOAD \- get the specified size of the upload .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_UPLOAD, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_LENGTH_UPLOAD_T 3 "March 31, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_LENGTH_UPLOAD_T \- get the specified size of the upload .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_UPLOAD_T, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_TYPE 3 "May 06, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_TYPE \- get Content-Type .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_TYPE, char **ct); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_COOKIELIST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_COOKIELIST 3 "March 20, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_COOKIELIST \- get all known cookies .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_COOKIELIST, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_EFFECTIVE_URL 3 "May 04, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_EFFECTIVE_URL \- get the last used URL .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_EFFECTIVE_URL, char **urlp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_FILETIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_FILETIME \- get the remote time of the retrieved document .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_FILETIME, long *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_FILETIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_FILETIME_T \- get the remote time of the retrieved document .SH SYNOPSIS #include <curl/curl.h> 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 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_FTP_ENTRY_PATH 3 "May 06, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_FTP_ENTRY_PATH \- get entry path in FTP server .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_FTP_ENTRY_PATH, char **path); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_HEADER_SIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_HEADER_SIZE 3 "May 06, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_HEADER_SIZE \- get size of retrieved headers .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HEADER_SIZE, long *sizep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_HTTPAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_HTTPAUTH_AVAIL \- get available HTTP authentication methods .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTPAUTH_AVAIL, long *authp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_HTTP_CONNECTCODE 3 "May 06, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_HTTP_CONNECTCODE \- get the CONNECT response code .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTP_CONNECTCODE, long *p); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_HTTP_VERSION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_HTTP_VERSION 3 "May 11, 2016" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_HTTP_VERSION \- get the http version used in the connection .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTP_VERSION, long *p); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_LASTSOCKET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_LASTSOCKET 3 "May 06, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_LASTSOCKET \- get the last socket used .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LASTSOCKET, long *socket); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_LOCAL_IP.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_LOCAL_IP 3 "May 05, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_LOCAL_IP \- get local IP address of last connection .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LOCAL_IP, char **ip); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_LOCAL_PORT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_LOCAL_PORT 3 "March 16, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_LOCAL_PORT \- get the latest local port number .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LOCAL_PORT, long *portp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_NAMELOOKUP_TIME 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_NAMELOOKUP_TIME \- get the name lookup time .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_NAMELOOKUP_TIME, double *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_NAMELOOKUP_TIME_T 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_NAMELOOKUP_TIME_T \- get the name lookup time in microseconds .SH SYNOPSIS #include <curl/curl.h> 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 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_NUM_CONNECTS 3 "May 06, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_NUM_CONNECTS \- get number of created connections .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_NUM_CONNECTS, long *nump); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_OS_ERRNO.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_OS_ERRNO 3 "November 07, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_OS_ERRNO \- get errno number from last connect failure .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_OS_ERRNO, long *errnop); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRETRANSFER_TIME 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_PRETRANSFER_TIME \- get the time until the file transfer start .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRETRANSFER_TIME, double *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRETRANSFER_TIME_T 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_PRETRANSFER_TIME_T \- get the time until the file transfer start .SH SYNOPSIS #include <curl/curl.h> 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 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRIMARY_IP 3 "March 22, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_PRIMARY_IP \- get IP address of last connection .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIMARY_IP, char **ip); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRIMARY_PORT 3 "May 06, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_PRIMARY_PORT \- get the latest destination port number .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIMARY_PORT, long *portp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRIVATE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRIVATE 3 "May 05, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_PRIVATE \- get the private pointer .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIVATE, char **private); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PROTOCOL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PROTOCOL 3 "April 27, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_PROTOCOL \- get the protocol used in the connection .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROTOCOL, long *p); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PROXYAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_PROXYAUTH_AVAIL \- get available HTTP proxy authentication methods .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROXYAUTH_AVAIL, long *authp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PROXY_SSL_VERIFYRESULT 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_PROXY_SSL_VERIFYRESULT \- get the result of the proxy certificate verification .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROXY_SSL_VERIFYRESULT, long *result); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_REDIRECT_COUNT 3 "May 05, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_REDIRECT_COUNT \- get the number of redirects .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_COUNT, long *countp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_REDIRECT_TIME 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_REDIRECT_TIME \- get the time for all redirection steps .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_TIME, double *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_REDIRECT_TIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_REDIRECT_TIME_T 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_REDIRECT_TIME_T \- get the time for all redirection steps .SH SYNOPSIS #include <curl/curl.h> 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 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_REDIRECT_URL 3 "June 24, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_REDIRECT_URL \- get the URL a redirect would go to .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_URL, char **urlp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_REQUEST_SIZE 3 "May 06, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_REQUEST_SIZE \- get size of sent request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REQUEST_SIZE, long *sizep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RESPONSE_CODE 3 "February 03, 2016" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_RESPONSE_CODE \- get the last response code .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RESPONSE_CODE, long *codep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RTSP_CLIENT_CSEQ 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_RTSP_CLIENT_CSEQ \- get the next RTSP client CSeq .SH SYNOPSIS #include <curl/curl.h> 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 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RTSP_CSEQ_RECV 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_RTSP_CSEQ_RECV \- get the recently received CSeq .SH SYNOPSIS #include <curl/curl.h> 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 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_RTSP_SERVER_CSEQ \- get the next RTSP server CSeq .SH SYNOPSIS #include <curl/curl.h> 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 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_RTSP_SESSION_ID \- get RTSP session ID .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_SESSION_ID, char **id); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SCHEME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SCHEME 3 "April 08, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_SCHEME \- get the URL scheme (sometimes called protocol) used in the connection .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SCHEME, char **scheme); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SIZE_DOWNLOAD 3 "June 15, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_SIZE_DOWNLOAD \- get the number of downloaded bytes .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_DOWNLOAD, double *dlp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SIZE_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_SIZE_DOWNLOAD_T \- get the number of downloaded bytes .SH SYNOPSIS #include <curl/curl.h> 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 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SIZE_UPLOAD 3 "June 15, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_SIZE_UPLOAD \- get the number of uploaded bytes .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_UPLOAD, double *uploadp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SIZE_UPLOAD_T 3 "March 31, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_SIZE_UPLOAD_T \- get the number of uploaded bytes .SH SYNOPSIS #include <curl/curl.h> 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 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SPEED_DOWNLOAD 3 "June 15, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_SPEED_DOWNLOAD \- get download speed .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_DOWNLOAD, double *speed); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SPEED_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_SPEED_DOWNLOAD_T \- get download speed .SH SYNOPSIS #include <curl/curl.h> 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 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SPEED_UPLOAD 3 "June 15, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_SPEED_UPLOAD \- get upload speed .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_UPLOAD, double *speed); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SPEED_UPLOAD_T 3 "March 31, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_SPEED_UPLOAD_T \- get upload speed .SH SYNOPSIS #include <curl/curl.h> 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 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SSL_ENGINES 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_SSL_ENGINES \- get an slist of OpenSSL crypto-engines .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SSL_ENGINES, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SSL_VERIFYRESULT 3 "March 21, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_SSL_VERIFYRESULT \- get the result of the certificate verification .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SSL_VERIFYRESULT, long *result); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_STARTTRANSFER_TIME 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_STARTTRANSFER_TIME \- get the time until the first byte is received .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_STARTTRANSFER_TIME, double *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_STARTTRANSFER_TIME_T 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_STARTTRANSFER_TIME_T \- get the time until the first byte is received .SH SYNOPSIS #include <curl/curl.h> 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 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_TLS_SESSION 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_TLS_SESSION \- get TLS session info .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_TLS_SSL_PTR 3 "January 29, 2019" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_TLS_SESSION, CURLINFO_TLS_SSL_PTR \- get TLS session info .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_TOTAL_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_TOTAL_TIME 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_TOTAL_TIME \- get total time of previous transfer .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TOTAL_TIME, double *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_TOTAL_TIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_TOTAL_TIME_T 3 "May 17, 2018" "libcurl 7.64.1" "curl_easy_getinfo options" .SH NAME CURLINFO_TOTAL_TIME_T \- get total time of previous transfer in microseconds .SH SYNOPSIS #include <curl/curl.h> 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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 3 "May 27, 2017" "libcurl 7.64.1" "curl_multi_setopt options" .SH NAME CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE \- chunk length threshold for pipelining .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, long size); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 3 "May 27, 2017" "libcurl 7.64.1" "curl_multi_setopt options" .SH NAME CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE \- size threshold for pipelining penalty .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, long size); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAXCONNECTS 3 "September 23, 2018" "libcurl 7.64.1" "curl_multi_setopt options" .SH NAME CURLMOPT_MAXCONNECTS \- set size of connection cache .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAXCONNECTS, long max); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAX_HOST_CONNECTIONS 3 "May 27, 2017" "libcurl 7.64.1" "curl_multi_setopt options" .SH NAME CURLMOPT_MAX_HOST_CONNECTIONS \- set max number of connections to a single host .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_HOST_CONNECTIONS, long max); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAX_PIPELINE_LENGTH 3 "May 27, 2017" "libcurl 7.64.1" "curl_multi_setopt options" .SH NAME CURLMOPT_MAX_PIPELINE_LENGTH \- maximum number of requests in a pipeline .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_PIPELINE_LENGTH, long max); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAX_TOTAL_CONNECTIONS 3 "May 27, 2017" "libcurl 7.64.1" "curl_multi_setopt options" .SH NAME CURLMOPT_MAX_TOTAL_CONNECTIONS \- max simultaneously open connections .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_TOTAL_CONNECTIONS, long amount); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PIPELINING.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PIPELINING 3 "March 25, 2019" "libcurl 7.64.1" "curl_multi_setopt options" .SH NAME CURLMOPT_PIPELINING \- enable HTTP pipelining and multiplexing .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING, long bitmask); |
︙ | ︙ | |||
60 61 62 63 64 65 66 | connections that are already established and in use to hosts. This bit is deprecated and has no effect since version 7.62.0. .IP CURLPIPE_MULTIPLEX (2) If this bit is set, libcurl will try to multiplex the new transfer over an existing connection if possible. This requires HTTP/2. .SH DEFAULT | | | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | connections that are already established and in use to hosts. This bit is deprecated and has no effect since version 7.62.0. .IP CURLPIPE_MULTIPLEX (2) If this bit is set, libcurl will try to multiplex the new transfer over an existing connection if possible. This requires HTTP/2. .SH DEFAULT Since 7.62.0, \fBCURLPIPE_MULTIPLEX\fP is enabled by default. Before that, default was \fBCURLPIPE_NOTHING\fP. .SH PROTOCOLS HTTP(S) .SH EXAMPLE .nf CURLM *m = curl_multi_init(); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PIPELINING_SERVER_BL 3 "September 23, 2018" "libcurl 7.64.1" "curl_multi_setopt options" .SH NAME CURLMOPT_PIPELINING_SERVER_BL \- pipelining server blacklist .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING_SERVER_BL, char **servers); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PIPELINING_SITE_BL 3 "February 03, 2016" "libcurl 7.64.1" "curl_multi_setopt options" .SH NAME CURLMOPT_PIPELINING_SITE_BL \- pipelining host blacklist .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING_SITE_BL, char **hosts); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PUSHDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PUSHDATA 3 "May 27, 2017" "libcurl 7.64.1" "curl_multi_setopt options" .SH NAME CURLMOPT_PUSHDATA \- pointer to pass to push callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PUSHFUNCTION 3 "February 03, 2016" "libcurl 7.64.1" "curl_multi_setopt options" .SH NAME CURLMOPT_PUSHFUNCTION \- callback that approves or denies server pushes .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_SOCKETDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_SOCKETDATA 3 "May 31, 2017" "libcurl 7.64.1" "curl_multi_setopt options" .SH NAME CURLMOPT_SOCKETDATA \- custom pointer passed to the socket callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_SOCKETFUNCTION 3 "September 23, 2018" "libcurl 7.64.1" "curl_multi_setopt options" .SH NAME CURLMOPT_SOCKETFUNCTION \- callback informed about what to wait for .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_TIMERDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_TIMERDATA 3 "May 27, 2017" "libcurl 7.64.1" "curl_multi_setopt options" .SH NAME CURLMOPT_TIMERDATA \- custom pointer to pass to timer callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | | | | < < < | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_TIMERFUNCTION 3 "February 22, 2019" "libcurl 7.64.1" "curl_multi_setopt options" .SH NAME CURLMOPT_TIMERFUNCTION \- set callback to receive timeout values .SH SYNOPSIS .nf #include <curl/curl.h> int timer_callback(CURLM *multi, /* multi handle */ long timeout_ms, /* timeout in number of ms */ void *userp); /* private callback pointer */ CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_TIMERFUNCTION, timer_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. Certain features, such as timeouts and retries, require you to call libcurl even when there is no activity on the file descriptors. Your callback function \fBtimer_callback\fP should install a non-repeating timer with an interval of \fBtimeout_ms\fP. When time that timer fires, call either \fIcurl_multi_socket_action(3)\fP or \fIcurl_multi_perform(3)\fP, depending on which interface you use. A \fBtimeout_ms\fP value of -1 passed to this callback means you should delete the timer. All other values are valid expire times in number of milliseconds. The \fBtimer_callback\fP will only be called when the timeout expire time is changed. The \fBuserp\fP pointer is set with \fICURLMOPT_TIMERDATA(3)\fP. The timer callback should return 0 on success, and -1 on error. This callback can be used instead of, or in addition to, \fIcurl_multi_timeout(3)\fP. .SH DEFAULT NULL |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ABSTRACT_UNIX_SOCKET 3 "January 09, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_ABSTRACT_UNIX_SOCKET \- set an abstract Unix domain socket .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ABSTRACT_UNIX_SOCKET, char *path); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ACCEPTTIMEOUT_MS 3 "March 06, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_ACCEPTTIMEOUT_MS \- timeout waiting for FTP server to connect back .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ACCEPTTIMEOUT_MS, long ms); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ACCEPT_ENCODING 3 "August 27, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_ACCEPT_ENCODING \- enables automatic decompression of HTTP downloads .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ACCEPT_ENCODING, char *enc); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ADDRESS_SCOPE 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_ADDRESS_SCOPE \- set scope for local IPv6 addresses .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ADDRESS_SCOPE, long scope); |
︙ | ︙ |
Added jni/curl/docs/libcurl/opts/CURLOPT_ALTSVC.3.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ALTSVC 3 "March 03, 2019" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_ALTSVC \- set alt-svc cache file name .SH SYNOPSIS .nf #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ALTSVC, char *filename); .fi .SH EXPERIMENTAL Warning: this feature is early code and is marked as experimental. It can only be enabled by explictly telling configure with \fB--enable-alt-svc\fP. You are advised to not ship this in production before the experimental label is removed. .SH DESCRIPTION Pass in a pointer to a \fIfilename\fP to instruct libcurl to use that file as the Alt-Svc cache to read existing cache contents from and possibly also write it back to a after a transfer, unless \fBCURLALTSVC_READONLYFILE\fP is set in \fICURLOPT_ALTSVC_CTRL(3)\fP. .SH DEFAULT NULL. The alt-svc cache is not read nor written to file. .SH PROTOCOLS HTTPS .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_ALTSVC_CTRL, CURLALTSVC_H1); curl_easy_setopt(curl, CURLOPT_ALTSVC, "altsvc-cache.txt"); curl_easy_perform(curl); } .fi .SH AVAILABILITY Added in 7.64.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_ALTSVC_CTRL "(3), " CURLOPT_CONNECT_TO "(3), " CURLOPT_RESOLVE "(3), " .BR CURLOPT_COOKIEFILE "(3), " |
Added jni/curl/docs/libcurl/opts/CURLOPT_ALTSVC_CTRL.3.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ALTSVC_CTRL 3 "March 03, 2019" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_ALTSVC_CTRL \- control alt-svc behavior .SH SYNOPSIS .nf #include <curl/curl.h> #define CURLALTSVC_IMMEDIATELY (1<<0) #define CURLALTSVC_ALTUSED (1<<1) #define CURLALTSVC_READONLYFILE (1<<2) #define CURLALTSVC_H1 (1<<3) #define CURLALTSVC_H2 (1<<4) #define CURLALTSVC_H3 (1<<5) CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ALTSVC_CTRL, long bitmask); .fi .SH EXPERIMENTAL Warning: this feature is early code and is marked as experimental. It can only be enabled by explictly telling configure with \fB--enable-alt-svc\fP. You are advised to not ship this in production before the experimental label is removed. .SH DESCRIPTION Populate the long \fIbitmask\fP with the correct set of features to instruct libcurl how to handle Alt-Svc for the transfers using this handle. libcurl will only accept Alt-Svc headers over a secure transport, meaning HTTPS. It will also only complete a request to an alternative origin if that origin is properly hosted over HTTPS. These requirements are there to make sure both the source and the destination are legitimate. Setting any bit will enable the alt-svc engine. .IP "CURLALTSVC_IMMEDIATELY" If an Alt-Svc: header is received, this instructs libcurl to switch to one of those alternatives asap rather than to save it and use for the next request. .IP "CURLALTSVC_ALTUSED" Issue the Alt-Used: header in all requests that have been redirected by alt-svc. .IP "CURLALTSVC_READONLYFILE" Do not write the alt-svc cache back to the file specified with \fICURLOPT_ALTSVC(3)\fP even if it gets updated. By default a file specified with that option will be read and written to as deemed necessary. .IP "CURLALTSVC_H1" Accept alternative services offered over HTTP/1.1. .IP "CURLALTSVC_H2" Accept alternative services offered over HTTP/2. This will only be used if libcurl was also built to actually support HTTP/2, otherwise this bit will be ignored. .IP "CURLALTSVC_H3" Accept alternative services offered over HTTP/3. This will only be used if libcurl was also built to actually support HTTP/3, otherwise this bit will be ignored. .SH DEFAULT 0. No Alt-Svc treatment. .SH PROTOCOLS HTTPS .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_ALTSVC_CTRL, CURLALTSVC_H1); curl_easy_setopt(curl, CURLOPT_ALTSVC, "altsvc-cache.txt"); curl_easy_perform(curl); } .fi .SH AVAILABILITY Added in 7.64.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_ALTSVC "(3), " CURLOPT_CONNECT_TO "(3), " CURLOPT_RESOLVE "(3), " |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_APPEND.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_APPEND 3 "March 06, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_APPEND \- enable appending to the remote file .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_APPEND, long append); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_AUTOREFERER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_AUTOREFERER 3 "May 05, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_AUTOREFERER \- automatically update the referer header .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_AUTOREFERER, long autorefer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_BUFFERSIZE 3 "May 13, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_BUFFERSIZE \- set preferred receive buffer size .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_BUFFERSIZE, long size); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CAINFO.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CAINFO 3 "January 29, 2019" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_CAINFO \- path to Certificate Authority (CA) bundle .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CAINFO, char *path); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CAPATH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CAPATH 3 "September 10, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_CAPATH \- specify directory holding CA certificates .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CAPATH, char *capath); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CERTINFO.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CERTINFO 3 "January 29, 2019" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_CERTINFO \- request SSL certificate information .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CERTINFO, long certinfo); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CHUNK_BGN_FUNCTION 3 "November 07, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_CHUNK_BGN_FUNCTION \- callback before a transfer with FTP wildcardmatch .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CHUNK_DATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CHUNK_DATA 3 "November 07, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_CHUNK_DATA \- custom pointer to the FTP chunk callbacks .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CHUNK_DATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CHUNK_END_FUNCTION 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_CHUNK_END_FUNCTION \- callback after a transfer with FTP wildcardmatch .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CLOSESOCKETDATA 3 "November 07, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_CLOSESOCKETDATA \- pointer passed to the socket close callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CLOSESOCKETDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CLOSESOCKETFUNCTION 3 "November 07, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_CLOSESOCKETFUNCTION \- callback to socket close replacement function .SH SYNOPSIS #include <curl/curl.h> int closesocket_callback(void *clientp, curl_socket_t item); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONNECTTIMEOUT 3 "October 03, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_CONNECTTIMEOUT \- timeout for the connect phase .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECTTIMEOUT, long timeout); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONNECTTIMEOUT_MS 3 "September 23, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_CONNECTTIMEOUT_MS \- timeout for the connect phase .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECTTIMEOUT_MS, long timeout); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONNECT_ONLY 3 "February 18, 2019" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_CONNECT_ONLY \- stop when connected to target server .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECT_ONLY, long only); .SH DESCRIPTION Pass a long. If the parameter equals 1, it tells the library to perform all the required proxy authentication and connection setup, but no data transfer, and then return. The option can be used to simply test a connection to a server, but is more useful when used with the \fICURLINFO_ACTIVESOCKET(3)\fP option to \fIcurl_easy_getinfo(3)\fP as the library can set up the connection and then the application can obtain the most recently used socket for special data transfers. Transfers marked connect only will not reuse any existing connections and connections marked connect only will not be allowed to get reused. .SH DEFAULT 0 .SH PROTOCOLS HTTP, SMTP, POP3 and IMAP .SH EXAMPLE .nf CURL *curl = curl_easy_init(); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CONNECT_TO.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONNECT_TO 3 "May 05, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_CONNECT_TO \- Connect to a specific host and port instead of the URL's host and port .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONV_FROM_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_CONV_FROM_NETWORK_FUNCTION \- convert data from network to host encoding .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONV_FROM_UTF8_FUNCTION 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_CONV_FROM_UTF8_FUNCTION \- convert data from UTF8 to host encoding .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONV_TO_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_CONV_TO_NETWORK_FUNCTION \- convert data to network from host encoding .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_COOKIE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIE 3 "December 21, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIE \- set contents of HTTP Cookie header .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIE, char *cookie); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_COOKIEFILE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIEFILE 3 "March 13, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIEFILE \- file name to read cookies from .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIEFILE, char *filename); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_COOKIEJAR.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIEJAR 3 "May 05, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIEJAR \- file name to store cookies to .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIEJAR, char *filename); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_COOKIELIST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIELIST 3 "April 26, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIELIST \- add to or manipulate cookies held in memory .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_COOKIESESSION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIESESSION 3 "May 05, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIESESSION \- start a new cookie session .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIESESSION, long init); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COPYPOSTFIELDS 3 "February 03, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_COPYPOSTFIELDS \- have libcurl copy data to POST .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COPYPOSTFIELDS, char *data); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CRLF.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CRLF 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_CRLF \- enable/disable CRLF conversion .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CRLF, long conv); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CRLFILE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CRLFILE 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_CRLFILE \- specify a Certificate Revocation List file .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CRLFILE, char *file); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CURLU.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CURLU 3 "January 16, 2019" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_CURLU \- set URL with CURLU * .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CURLU, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CUSTOMREQUEST 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_CUSTOMREQUEST \- custom string for request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CUSTOMREQUEST, char *request); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DEBUGDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DEBUGDATA 3 "February 03, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_DEBUGDATA \- custom pointer for debug callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DEBUGDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DEBUGFUNCTION 3 "October 06, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_DEBUGFUNCTION \- debug callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DEFAULT_PROTOCOL 3 "December 21, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_DEFAULT_PROTOCOL \- default protocol to use if the URL is missing a scheme name .SH SYNOPSIS #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DIRLISTONLY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DIRLISTONLY 3 "May 05, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_DIRLISTONLY \- ask for names only in a directory listing .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DIRLISTONLY, long listonly); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DISALLOW_USERNAME_IN_URL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DISALLOW_USERNAME_IN_URL 3 "February 25, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_DISALLOW_USERNAME_IN_URL \- disallow specifying username in the url .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DISALLOW_USERNAME_IN_URL, long disallow); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_CACHE_TIMEOUT 3 "December 09, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_CACHE_TIMEOUT \- set life-time for DNS cache entries .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_CACHE_TIMEOUT, long age); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_INTERFACE 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_INTERFACE \- set interface to speak DNS over .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_INTERFACE, char *ifname); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_LOCAL_IP4 3 "December 10, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_LOCAL_IP4 \- IPv4 address to bind DNS resolves to .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_LOCAL_IP4, char *address); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_LOCAL_IP6 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_LOCAL_IP6 \- IPv6 address to bind DNS resolves to .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_LOCAL_IP6, char *address); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_SERVERS 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_SERVERS \- set preferred DNS servers .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_SERVERS, char *servers); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_SHUFFLE_ADDRESSES.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_SHUFFLE_ADDRESSES 3 "March 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_SHUFFLE_ADDRESSES \- Shuffle addresses when a hostname returns more than one .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_USE_GLOBAL_CACHE 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_USE_GLOBAL_CACHE \- enable/disable global DNS cache .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_USE_GLOBAL_CACHE, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DOH_URL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DOH_URL 3 "September 06, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_DOH_URL \- provide the DNS-over-HTTPS URL .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DOH_URL, char *URL); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_EGDSOCKET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_EGDSOCKET 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_EGDSOCKET \- set EGD socket path .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_EGDSOCKET, char *path); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ERRORBUFFER 3 "March 13, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_ERRORBUFFER \- set error buffer for error messages .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ERRORBUFFER, char *buf); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_EXPECT_100_TIMEOUT_MS 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_EXPECT_100_TIMEOUT_MS \- timeout for Expect: 100-continue response .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FAILONERROR.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FAILONERROR 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_FAILONERROR \- request failure on HTTP response >= 400 .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FAILONERROR, long fail); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FILETIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FILETIME 3 "April 03, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_FILETIME \- get the modification time of the remote resource .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FILETIME, long gettime); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FNMATCH_DATA 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_FNMATCH_DATA \- custom pointer to fnmatch callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FNMATCH_FUNCTION 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_FNMATCH_FUNCTION \- wildcard matching function callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FOLLOWLOCATION 3 "May 02, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_FOLLOWLOCATION \- follow HTTP 3xx redirects .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FOLLOWLOCATION, long enable); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FORBID_REUSE 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_FORBID_REUSE \- make connection get closed at once after use .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FORBID_REUSE, long close); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FRESH_CONNECT 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_FRESH_CONNECT \- force a new connection to be used .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FRESH_CONNECT, long fresh); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTPPORT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTPPORT 3 "May 30, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_FTPPORT \- make FTP transfer active .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTPPORT, char *spec); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTPSSLAUTH 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_FTPSSLAUTH \- set order in which to attempt TLS vs SSL when using FTP .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTPSSLAUTH, long order); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_ACCOUNT 3 "May 05, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_ACCOUNT \- set account info for FTP .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_ACCOUNT, char *account); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_ALTERNATIVE_TO_USER 3 "May 05, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_ALTERNATIVE_TO_USER \- command to use instead of USER with FTP .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_CREATE_MISSING_DIRS 3 "May 05, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_CREATE_MISSING_DIRS \- create missing dirs for FTP and SFTP .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_FILEMETHOD 3 "May 05, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_FILEMETHOD \- select directory traversing method for FTP .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_RESPONSE_TIMEOUT 3 "October 03, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_RESPONSE_TIMEOUT \- time allowed to wait for FTP response .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_RESPONSE_TIMEOUT, long timeout); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_SKIP_PASV_IP 3 "May 05, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_SKIP_PASV_IP \- ignore the IP address in the PASV response .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_SKIP_PASV_IP, long skip); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_SSL_CCC 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_SSL_CCC \- switch off SSL again with FTP after auth .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_SSL_CCC, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_USE_EPRT 3 "February 03, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_USE_EPRT \- enable/disable use of EPRT with FTP .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_EPRT, long enabled); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_USE_EPSV 3 "May 05, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_USE_EPSV \- enable/disable use of EPSV .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_EPSV, long epsv); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_USE_PRET 3 "May 05, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_USE_PRET \- enable the PRET command .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_PRET, long enable); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_GSSAPI_DELEGATION 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_GSSAPI_DELEGATION \- set allowed GSS-API delegation .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_GSSAPI_DELEGATION, long level); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS 3 "February 21, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS \- head start for ipv6 for happy eyeballs .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, long timeout); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HAPROXYPROTOCOL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HAPROXYPROTOCOL 3 "May 18, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_HAPROXYPROTOCOL \- send HAProxy PROXY protocol v1 header .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HAPROXYPROTOCOL, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HEADER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HEADER 3 "October 03, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_HEADER \- pass headers to the data stream .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADER, long onoff); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HEADERDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HEADERDATA 3 "May 05, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_HEADERDATA \- pointer to pass to header callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADERDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HEADERFUNCTION 3 "November 22, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_HEADERFUNCTION \- callback that receives header data .SH SYNOPSIS #include <curl/curl.h> size_t header_callback(char *buffer, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HEADEROPT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HEADEROPT 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_HEADEROPT \- set how to send HTTP headers .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADEROPT, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTP09_ALLOWED.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP09_ALLOWED 3 "December 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP09 \- allow HTTP/0.9 response .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP09_ALLOWED, long allowed); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP200ALIASES 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP200ALIASES \- specify alternative matches for HTTP 200 OK .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTPAUTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPAUTH 3 "June 15, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPAUTH \- set HTTP server authentication methods to try .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTPGET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPGET 3 "May 21, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPGET \- ask for an HTTP GET request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPGET, long useget); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTPHEADER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPHEADER 3 "December 30, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPHEADER \- set custom HTTP headers .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPHEADER, struct curl_slist *headers); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTPPOST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPPOST 3 "September 02, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPPOST \- specify the multipart formpost content .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPPROXYTUNNEL 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPPROXYTUNNEL \- tunnel through HTTP proxy .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPPROXYTUNNEL, long tunnel); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP_CONTENT_DECODING 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP_CONTENT_DECODING \- enable/disable HTTP content decoding .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP_TRANSFER_DECODING 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP_TRANSFER_DECODING \- enable/disable HTTP transfer decoding .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTP_VERSION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP_VERSION 3 "December 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP_VERSION \- specify HTTP protocol version to use .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP_VERSION, long version); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_IGNORE_CONTENT_LENGTH 3 "February 03, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_IGNORE_CONTENT_LENGTH \- ignore content length .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_INFILESIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_INFILESIZE 3 "February 03, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_INFILESIZE \- set size of the input file to send off .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INFILESIZE, long filesize); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_INFILESIZE_LARGE 3 "September 23, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_INFILESIZE_LARGE \- set size of the input file to send off .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_INTERFACE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_INTERFACE 3 "June 18, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_INTERFACE \- source interface for outgoing traffic .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INTERFACE, char *interface); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_INTERLEAVEDATA 3 "September 15, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_INTERLEAVEDATA \- custom pointer passed to RTSP interleave callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INTERLEAVEDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_INTERLEAVEFUNCTION 3 "August 11, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_INTERLEAVEFUNCTION \- callback function for RTSP interleaved data .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_IOCTLDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_IOCTLDATA 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_IOCTLDATA \- custom pointer passed to I/O callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IOCTLDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_IOCTLFUNCTION 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_IOCTLFUNCTION \- callback for I/O operations .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_IPRESOLVE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_IPRESOLVE 3 "May 05, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_IPRESOLVE \- specify which IP protocol version to use .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IPRESOLVE, long resolve); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ISSUERCERT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ISSUERCERT 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_ISSUERCERT \- issuer SSL certificate filename .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ISSUERCERT, char *file); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_KEEP_SENDING_ON_ERROR 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_KEEP_SENDING_ON_ERROR \- keep sending on early HTTP response >= 300 .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_KEEP_SENDING_ON_ERROR, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_KEYPASSWD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_KEYPASSWD 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_KEYPASSWD \- set passphrase to private key .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_KEYPASSWD, char *pwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_KRBLEVEL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_KRBLEVEL 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_KRBLEVEL \- set FTP kerberos security level .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_KRBLEVEL, char *level); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_LOCALPORT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOCALPORT 3 "January 31, 2019" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_LOCALPORT \- set local port number to use for socket .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOCALPORT, long port); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOCALPORTRANGE 3 "January 31, 2019" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_LOCALPORTRANGE \- number of additional local ports to try .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOCALPORTRANGE, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOGIN_OPTIONS 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_LOGIN_OPTIONS \- set login options .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOGIN_OPTIONS, char *options); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOW_SPEED_LIMIT 3 "May 06, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_LOW_SPEED_LIMIT \- set low speed limit in bytes per second .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOW_SPEED_LIMIT, long speedlimit); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOW_SPEED_TIME 3 "May 06, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_LOW_SPEED_TIME \- set low speed limit time period .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOW_SPEED_TIME, long speedtime); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAIL_AUTH 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_MAIL_AUTH \- SMTP authentication address .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAIL_AUTH, char *auth); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAIL_FROM.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAIL_FROM 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_MAIL_FROM \- SMTP sender address .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAIL_FROM, char *from); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAIL_RCPT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAIL_RCPT 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_MAIL_RCPT \- list of SMTP mail recipients .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXCONNECTS 3 "May 30, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_MAXCONNECTS \- maximum connection cache size .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXCONNECTS, long amount); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAXFILESIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXFILESIZE 3 "May 30, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_MAXFILESIZE \- maximum file size allowed to download .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXFILESIZE, long size); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXFILESIZE_LARGE 3 "May 30, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_MAXFILESIZE_LARGE \- maximum file size allowed to download .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAXREDIRS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXREDIRS 3 "February 03, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_MAXREDIRS \- maximum number of redirects allowed .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXREDIRS, long amount); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAX_RECV_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_MAX_RECV_SPEED_LARGE \- rate limit data download speed .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAX_SEND_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_MAX_SEND_SPEED_LARGE \- rate limit data upload speed .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MIMEPOST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MIMEPOST 3 "September 04, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_MIMEPOST \- set post/send data from mime structure .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NETRC.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NETRC 3 "November 03, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_NETRC \- request that .netrc is used .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NETRC, long level); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NETRC_FILE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NETRC_FILE 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_NETRC_FILE \- file name to read .netrc info from .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NETRC_FILE, char *file); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NEW_DIRECTORY_PERMS 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_NEW_DIRECTORY_PERMS \- permissions for remotely created directories .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NEW_FILE_PERMS 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_NEW_FILE_PERMS \- permissions for remotely created files .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NOBODY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NOBODY 3 "June 21, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_NOBODY \- do the download request without getting the body .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOBODY, long opt); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NOPROGRESS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NOPROGRESS 3 "October 09, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_NOPROGRESS \- switch off the progress meter .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOPROGRESS, long onoff); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NOPROXY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NOPROXY 3 "August 24, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_NOPROXY \- disable proxy use for specific hosts .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOPROXY, char *noproxy); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NOSIGNAL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NOSIGNAL 3 "February 03, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_NOSIGNAL \- skip all signal handling .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOSIGNAL, long onoff); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_OPENSOCKETDATA 3 "May 15, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_OPENSOCKETDATA \- custom pointer passed to open socket callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_OPENSOCKETDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_OPENSOCKETFUNCTION 3 "May 15, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_OPENSOCKETFUNCTION \- set callback for opening sockets .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PASSWORD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PASSWORD 3 "September 23, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PASSWORD \- password to use in authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PASSWORD, char *pwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PATH_AS_IS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PATH_AS_IS 3 "September 23, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PATH_AS_IS \- do not handle dot dot sequences .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PATH_AS_IS, long leaveit); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PINNEDPUBLICKEY 3 "January 29, 2019" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PINNEDPUBLICKEY \- set pinned public key .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PINNEDPUBLICKEY, char *pinnedpubkey); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PIPEWAIT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PIPEWAIT 3 "May 01, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PIPEWAIT \- wait for pipelining/multiplexing .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PIPEWAIT, long wait); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PORT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PORT 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PORT \- set remote port number to work with .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PORT, long number); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POST 3 "May 21, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_POST \- request an HTTP POST .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POST, long post); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POSTFIELDS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTFIELDS 3 "May 21, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_POSTFIELDS \- specify data to POST to server .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTFIELDS, char *postdata); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTFIELDSIZE 3 "February 03, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_POSTFIELDSIZE \- size of POST data pointed to .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTFIELDSIZE, long size); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTFIELDSIZE_LARGE 3 "February 03, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_POSTFIELDSIZE_LARGE \- size of POST data pointed to .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POSTQUOTE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTQUOTE 3 "May 05, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_POSTQUOTE \- (S)FTP commands to run after the transfer .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTQUOTE, struct curl_slist *cmds); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POSTREDIR.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTREDIR 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_POSTREDIR \- how to act on an HTTP POST redirect .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PREQUOTE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PREQUOTE 3 "June 18, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PREQUOTE \- commands to run before an FTP transfer .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PREQUOTE, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PRE_PROXY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PRE_PROXY 3 "September 23, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PRE_PROXY \- set pre-proxy to use .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PRE_PROXY, char *preproxy); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PRIVATE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PRIVATE 3 "December 08, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PRIVATE \- store a private pointer .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PRIVATE, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROGRESSDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROGRESSDATA 3 "February 03, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROGRESSDATA \- custom pointer passed to the progress callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROGRESSDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROGRESSFUNCTION 3 "February 03, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROGRESSFUNCTION \- callback to progress meter function .SH SYNOPSIS #include <curl/curl.h> int progress_callback(void *clientp, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROTOCOLS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROTOCOLS 3 "February 03, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROTOCOLS \- set allowed protocols .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROTOCOLS, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY 3 "August 24, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY \- set proxy to use .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY, char *proxy); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYAUTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYAUTH 3 "May 30, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYAUTH \- set HTTP proxy authentication methods to try .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYAUTH, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYHEADER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYHEADER 3 "May 30, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYHEADER \- custom HTTP headers to pass to proxy .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYPASSWORD 3 "May 30, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYPASSWORD \- password to use with proxy authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYPASSWORD, char *pwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYPORT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYPORT 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYPORT \- port number the proxy listens on .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYPORT, long port); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYTYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYTYPE 3 "May 30, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYTYPE \- proxy protocol type .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYTYPE, long type); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYUSERNAME 3 "May 30, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYUSERNAME \- user name to use for proxy authentication .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYUSERPWD 3 "May 30, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYUSERPWD \- user name and password to use for proxy authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYUSERPWD, char *userpwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_CAINFO 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_CAINFO \- path to proxy Certificate Authority (CA) bundle .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_CAINFO, char *path); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_CAPATH 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_CAPATH \- specify directory holding proxy CA certificates .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_CAPATH, char *capath); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_CRLFILE 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_CRLFILE \- specify a proxy Certificate Revocation List file .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_CRLFILE, char *file); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_KEYPASSWD 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_KEYPASSWD \- set passphrase to proxy private key .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_KEYPASSWD, char *pwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_PINNEDPUBLICKEY 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_PINNEDPUBLICKEY \- set pinned public key for https proxy .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_PINNEDPUBLICKEY, char *pinnedpubkey); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SERVICE_NAME \- proxy authentication service name .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SERVICE_NAME, char *name); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLCERT 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLCERT \- set SSL proxy client certificate .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLCERT, char *cert); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLCERTTYPE 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLCERTTYPE \- specify type of the proxy client SSL certificate .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLCERTTYPE, char *type); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLKEY 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLKEY \- specify private keyfile for TLS and SSL proxy client cert .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLKEY, char *keyfile); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLKEYTYPE 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLKEYTYPE \- set type of the proxy private key file .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLKEYTYPE, char *type); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLVERSION 3 "October 30, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLVERSION \- set preferred proxy TLS/SSL version .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLVERSION, long version); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSL_CIPHER_LIST 3 "October 10, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSL_CIPHER_LIST \- specify ciphers to use for proxy TLS .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSL_CIPHER_LIST, char *list); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSL_OPTIONS 3 "January 29, 2019" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSL_OPTIONS \- set proxy SSL behavior options .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSL_OPTIONS, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSL_VERIFYHOST 3 "May 02, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSL_VERIFYHOST \- verify the proxy certificate's name against host .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSL_VERIFYHOST, long verify); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSL_VERIFYPEER 3 "December 16, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSL_VERIFYPEER \- verify the proxy's SSL certificate .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSL_VERIFYPEER, long verify); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_TLS13_CIPHERS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_TLS13_CIPHERS 3 "October 10, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_TLS13_CIPHERS \- ciphers suites for proxy TLS 1.3 .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TLS13_CIPHERS, char *list); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_TLSAUTH_PASSWORD \- password to use for proxy TLS authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TLSAUTH_PASSWORD, char *pwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_TLSAUTH_TYPE \- set proxy TLS authentication methods .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TLSAUTH_TYPE, char *type); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_TLSAUTH_USERNAME \- user name to use for proxy TLS authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TLSAUTH_USERNAME, char *user); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_TRANSFER_MODE 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_TRANSFER_MODE \- append FTP transfer mode to URL for proxy .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TRANSFER_MODE, long enabled); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PUT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PUT 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_PUT \- make an HTTP PUT request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PUT, long put); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_QUOTE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_QUOTE 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_QUOTE \- (S)FTP commands to run before transfer .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_QUOTE, struct curl_slist *cmds); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RANDOM_FILE 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_RANDOM_FILE \- specify a source for random data .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RANDOM_FILE, char *path); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RANGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RANGE 3 "December 21, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_RANGE \- set byte range to request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RANGE, char *range); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_READDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_READDATA 3 "August 11, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_READDATA \- custom pointer passed to the read callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_READDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_READFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_READFUNCTION 3 "August 11, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_READFUNCTION \- read callback for data uploads .SH SYNOPSIS #include <curl/curl.h> size_t read_callback(char *buffer, size_t size, size_t nitems, void *userdata); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_REDIR_PROTOCOLS 3 "September 21, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_REDIR_PROTOCOLS \- set protocols allowed to redirect to .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_REDIR_PROTOCOLS, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_REFERER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_REFERER 3 "December 21, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_REFERER \- set the HTTP referer header .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_REFERER, char *where); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_REQUEST_TARGET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_REQUEST_TARGET 3 "June 21, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_REQUEST_TARGET \- specify an alternative target for this request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_REQUEST_TARGET, string); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RESOLVE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESOLVE 3 "May 30, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_RESOLVE \- provide custom host name to IP address resolves .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RESOLVER_START_DATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESOLVER_START_DATA 3 "February 14, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_RESOLVER_START_DATA \- custom pointer passed to the resolver start callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESOLVER_START_DATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESOLVER_START_FUNCTION 3 "February 14, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_RESOLVER_START_FUNCTION \- set callback to be called before a new resolve request is started .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RESUME_FROM.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESUME_FROM 3 "February 03, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_RESUME_FROM \- set a point to resume transfer from .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESUME_FROM, long from); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESUME_FROM_LARGE 3 "February 03, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_RESUME_FROM_LARGE \- set a point to resume transfer from .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_CLIENT_CSEQ 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_CLIENT_CSEQ \- set the RTSP client CSEQ number .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_CLIENT_CSEQ, long cseq); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_REQUEST 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_REQUEST \- specify RTSP request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_REQUEST, long request); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_SERVER_CSEQ \- set the RTSP server CSEQ number .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_SERVER_CSEQ, long cseq); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_SESSION_ID \- set RTSP session ID .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_SESSION_ID, char *id); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_STREAM_URI 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_STREAM_URI \- set RTSP stream URI .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_STREAM_URI, char *URI); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_TRANSPORT 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_TRANSPORT \- set RTSP Transport: header .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SASL_IR.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SASL_IR 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SASL_IR \- enable sending initial response in first packet .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SASL_IR, long enable); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SEEKDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SEEKDATA 3 "August 12, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SEEKDATA \- custom pointer passed to the seek callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SEEKDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SEEKFUNCTION 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SEEKFUNCTION \- user callback for seeking in input stream .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SERVICE_NAME \- authentication service name .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SERVICE_NAME, char *name); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SHARE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SHARE 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SHARE \- specify share handle to use .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SHARE, CURLSH *share); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKOPTDATA 3 "May 15, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKOPTDATA \- custom pointer to pass to sockopt callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKOPTDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKOPTFUNCTION 3 "May 15, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKOPTFUNCTION \- set callback for setting socket options .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKS5_AUTH 3 "April 27, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKS5_AUTH \- set allowed methods for SOCKS5 proxy authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS5_AUTH, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKS5_GSSAPI_NEC 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKS5_GSSAPI_NEC \- set socks proxy gssapi negotiation protection .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS5_GSSAPI_NEC, long nec); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKS5_GSSAPI_SERVICE 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKS5_GSSAPI_SERVICE \- SOCKS5 proxy authentication service name .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS5_GSSAPI_SERVICE, char *name); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_AUTH_TYPES 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_AUTH_TYPES \- set desired auth types for SFTP and SCP .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_AUTH_TYPES, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_COMPRESSION 3 "August 10, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_COMPRESSION \- enables compression / decompression of SSH traffic .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_COMPRESSION, long enable); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 \- checksum of SSH server public key .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_KEYDATA 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_KEYDATA \- pointer to pass to the SSH key callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_KEYDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_KEYFUNCTION 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_KEYFUNCTION \- callback for known host matching logic .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_KNOWNHOSTS 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_KNOWNHOSTS \- file name holding the SSH known hosts .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_KNOWNHOSTS, char *fname); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_PRIVATE_KEYFILE 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_PRIVATE_KEYFILE \- set private key file for SSH auth .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_PUBLIC_KEYFILE 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_PUBLIC_KEYFILE \- set public key file for SSH auth .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLCERT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLCERT 3 "January 29, 2019" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSLCERT \- set SSL client certificate .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLCERT, char *cert); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLCERTTYPE 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSLCERTTYPE \- specify type of the client SSL certificate .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLCERTTYPE, char *type); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLENGINE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLENGINE 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSLENGINE \- set SSL engine identifier .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLENGINE, char *id); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLENGINE_DEFAULT 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSLENGINE_DEFAULT \- make SSL engine default .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLENGINE_DEFAULT, long val); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLKEY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLKEY 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSLKEY \- specify private keyfile for TLS and SSL client cert .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLKEY, char *keyfile); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLKEYTYPE 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSLKEYTYPE \- set type of the private key file .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLKEYTYPE, char *type); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLVERSION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLVERSION 3 "October 30, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSLVERSION \- set preferred TLS/SSL version .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLVERSION, long version); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_CIPHER_LIST 3 "October 10, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_CIPHER_LIST \- specify ciphers to use for TLS .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_CIPHER_LIST, char *list); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_CTX_DATA 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_CTX_DATA \- custom pointer passed to ssl_ctx callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_CTX_DATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_CTX_FUNCTION 3 "August 29, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_CTX_FUNCTION \- SSL context callback for OpenSSL, wolfSSL/CyaSSL or mbedTLS .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_ENABLE_ALPN 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_ENABLE_ALPN \- enable ALPN .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_ENABLE_ALPN, long npn); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_ENABLE_NPN 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_ENABLE_NPN \- enable NPN .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_ENABLE_NPN, long npn); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_FALSESTART 3 "May 15, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_FALSESTART \- enable TLS false start .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_FALSESTART, long enable); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_OPTIONS 3 "January 29, 2019" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_OPTIONS \- set SSL behavior options .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_OPTIONS, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_SESSIONID_CACHE 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_SESSIONID_CACHE \- enable/disable use of the SSL session-ID cache .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_VERIFYHOST 3 "February 02, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_VERIFYHOST \- verify the certificate's name against host .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_VERIFYHOST, long verify); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_VERIFYPEER 3 "June 24, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_VERIFYPEER \- verify the peer's SSL certificate .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_VERIFYPEER, long verify); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_VERIFYSTATUS 3 "October 09, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_VERIFYSTATUS \- verify the certificate's status .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_VERIFYSTATUS, long verify); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_STDERR.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_STDERR 3 "February 03, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_STDERR \- redirect stderr to another stream .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STDERR, FILE *stream); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_STREAM_DEPENDS 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_STREAM_DEPENDS \- set stream this transfer depends on .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_DEPENDS, CURL *dephandle); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_STREAM_DEPENDS_E 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_STREAM_DEPENDS_E \- set stream this transfer depends on exclusively .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_DEPENDS_E, CURL *dephandle); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_STREAM_WEIGHT 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_STREAM_WEIGHT \- set numerical stream weight .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_WEIGHT, long weight); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SUPPRESS_CONNECT_HEADERS 3 "April 28, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_SUPPRESS_CONNECT_HEADERS \- Suppress proxy CONNECT response headers from user callbacks .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_FASTOPEN 3 "May 15, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_FASTOPEN \- enable TCP Fast Open .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_FASTOPEN, long enable); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_KEEPALIVE 3 "February 03, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_KEEPALIVE \- enable TCP keep-alive probing .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_KEEPALIVE, long probe); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_KEEPIDLE 3 "January 02, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_KEEPIDLE \- set TCP keep-alive idle time wait .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_KEEPIDLE, long delay); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_KEEPINTVL 3 "January 02, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_KEEPINTVL \- set TCP keep-alive interval .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_KEEPINTVL, long interval); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TCP_NODELAY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_NODELAY 3 "January 15, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_NODELAY \- set the TCP_NODELAY option .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_NODELAY, long nodelay); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TELNETOPTIONS 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_TELNETOPTIONS \- custom telnet options .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TELNETOPTIONS, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TFTP_BLKSIZE 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_TFTP_BLKSIZE \- TFTP block size .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TFTP_BLKSIZE, long blocksize); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TFTP_NO_OPTIONS 3 "April 06, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_TFTP_NO_OPTIONS \- Do not send TFTP options requests. .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TFTP_NO_OPTIONS, long onoff); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TIMECONDITION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMECONDITION 3 "April 03, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_TIMECONDITION \- select condition for a time request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMECONDITION, long cond); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TIMEOUT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMEOUT 3 "October 03, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_TIMEOUT \- set maximum time the request is allowed to take .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEOUT, long timeout); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMEOUT_MS 3 "September 23, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_TIMEOUT_MS \- set maximum time the request is allowed to take .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEOUT_MS, long timeout); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TIMEVALUE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMEVALUE 3 "January 25, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_TIMEVALUE \- set time value for conditional .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEVALUE, long val); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMEVALUE_LARGE 3 "January 25, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_TIMEVALUE_LARGE \- set time value for conditional .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEVALUE_LARGE, curl_off_t val); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TLS13_CIPHERS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TLS13_CIPHERS 3 "October 10, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_TLS13_CIPHERS \- specify ciphers suites to use for TLS 1.3 .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLS13_CIPHERS, char *list); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_TLSAUTH_PASSWORD \- password to use for TLS authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLSAUTH_PASSWORD, char *pwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_TLSAUTH_TYPE \- set TLS authentication methods .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLSAUTH_TYPE, char *type); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_TLSAUTH_USERNAME \- user name to use for TLS authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLSAUTH_USERNAME, char *user); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TRAILERDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TRAILERDATA 3 "December 14, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME: CURLOPT_TRAILERDATA \- Custom pointer passed to the trailing headers callback .SH SYNOPSIS: #include <curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TRAILERDATA, void *userdata); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TRAILERFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TRAILERFUNCTION 3 "December 14, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME: CURLOPT_TRAILERFUNCTION \- Set callback for sending trailing headers .SH SYNOPSIS: #include <curl.h> int curl_trailer_callback(struct curl_slist ** list, void *userdata); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TRANSFERTEXT 3 "May 31, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_TRANSFERTEXT \- request a text based transfer for FTP .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TRANSFERTEXT, long text); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TRANSFER_ENCODING 3 "May 15, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_TRANSFER_ENCODING \- ask for HTTP Transfer Encoding .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TRANSFER_ENCODING, long enable); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_UNIX_SOCKET_PATH 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_UNIX_SOCKET_PATH \- set Unix domain socket .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UNIX_SOCKET_PATH, char *path); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_UNRESTRICTED_AUTH 3 "May 15, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_UNRESTRICTED_AUTH \- send credentials to other hosts too .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_UPLOAD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_UPLOAD 3 "April 17, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_UPLOAD \- enable data upload .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UPLOAD, long upload); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_UPLOAD_BUFFERSIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_UPLOAD_BUFFERSIZE 3 "August 18, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_UPLOAD_BUFFERSIZE \- set preferred upload buffer size .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UPLOAD_BUFFERSIZE, long size); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_URL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_URL 3 "November 11, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_URL \- provide the URL to use in the request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_URL, char *URL); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_USERAGENT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_USERAGENT 3 "December 21, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_USERAGENT \- set HTTP user-agent header .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USERAGENT, char *ua); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_USERNAME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_USERNAME 3 "May 05, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_USERNAME \- user name to use in authentication .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_USERPWD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_USERPWD 3 "August 24, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_USERPWD \- user name and password to use in authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USERPWD, char *userpwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_USE_SSL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_USE_SSL 3 "October 10, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_USE_SSL \- request using SSL / TLS for the transfer .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USE_SSL, long level); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_VERBOSE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_VERBOSE 3 "February 03, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_VERBOSE \- set verbose mode on/off .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_VERBOSE, long onoff); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_WILDCARDMATCH 3 "May 18, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_WILDCARDMATCH \- enable directory wildcard transfers .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_WILDCARDMATCH, long onoff); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_WRITEDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_WRITEDATA 3 "August 11, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_WRITEDATA \- custom pointer passed to the write callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_WRITEDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_WRITEFUNCTION 3 "November 23, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_WRITEFUNCTION \- set callback for writing received data .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_XFERINFODATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_XFERINFODATA 3 "October 09, 2017" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_XFERINFODATA \- custom pointer passed to the progress callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_XFERINFODATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_XFERINFOFUNCTION 3 "February 03, 2016" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_XFERINFOFUNCTION \- callback to progress meter function .SH SYNOPSIS #include <curl/curl.h> int progress_callback(void *clientp, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_XOAUTH2_BEARER 3 "May 22, 2018" "libcurl 7.64.1" "curl_easy_setopt options" .SH NAME CURLOPT_XOAUTH2_BEARER \- specify OAuth 2.0 access token .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_XOAUTH2_BEARER, char *token); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/Makefile.in.
︙ | ︙ | |||
244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ | > > | 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ |
︙ | ︙ | |||
312 313 314 315 316 317 318 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ | < > | 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ |
︙ | ︙ | |||
470 471 472 473 474 475 476 477 478 479 480 481 482 483 | CURLMOPT_SOCKETFUNCTION.3 \ CURLMOPT_TIMERDATA.3 \ CURLMOPT_TIMERFUNCTION.3 \ CURLOPT_ABSTRACT_UNIX_SOCKET.3 \ CURLOPT_ACCEPTTIMEOUT_MS.3 \ CURLOPT_ACCEPT_ENCODING.3 \ CURLOPT_ADDRESS_SCOPE.3 \ CURLOPT_APPEND.3 \ CURLOPT_AUTOREFERER.3 \ CURLOPT_BUFFERSIZE.3 \ CURLOPT_CAINFO.3 \ CURLOPT_CAPATH.3 \ CURLOPT_CERTINFO.3 \ CURLOPT_CHUNK_BGN_FUNCTION.3 \ | > > | 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 | CURLMOPT_SOCKETFUNCTION.3 \ CURLMOPT_TIMERDATA.3 \ CURLMOPT_TIMERFUNCTION.3 \ CURLOPT_ABSTRACT_UNIX_SOCKET.3 \ CURLOPT_ACCEPTTIMEOUT_MS.3 \ CURLOPT_ACCEPT_ENCODING.3 \ CURLOPT_ADDRESS_SCOPE.3 \ CURLOPT_ALTSVC.3 \ CURLOPT_ALTSVC_CTRL.3 \ CURLOPT_APPEND.3 \ CURLOPT_AUTOREFERER.3 \ CURLOPT_BUFFERSIZE.3 \ CURLOPT_CAINFO.3 \ CURLOPT_CAPATH.3 \ CURLOPT_CERTINFO.3 \ CURLOPT_CHUNK_BGN_FUNCTION.3 \ |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/Makefile.inc.
︙ | ︙ | |||
79 80 81 82 83 84 85 86 87 88 89 90 91 92 | CURLMOPT_SOCKETFUNCTION.3 \ CURLMOPT_TIMERDATA.3 \ CURLMOPT_TIMERFUNCTION.3 \ CURLOPT_ABSTRACT_UNIX_SOCKET.3 \ CURLOPT_ACCEPTTIMEOUT_MS.3 \ CURLOPT_ACCEPT_ENCODING.3 \ CURLOPT_ADDRESS_SCOPE.3 \ CURLOPT_APPEND.3 \ CURLOPT_AUTOREFERER.3 \ CURLOPT_BUFFERSIZE.3 \ CURLOPT_CAINFO.3 \ CURLOPT_CAPATH.3 \ CURLOPT_CERTINFO.3 \ CURLOPT_CHUNK_BGN_FUNCTION.3 \ | > > | 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | CURLMOPT_SOCKETFUNCTION.3 \ CURLMOPT_TIMERDATA.3 \ CURLMOPT_TIMERFUNCTION.3 \ CURLOPT_ABSTRACT_UNIX_SOCKET.3 \ CURLOPT_ACCEPTTIMEOUT_MS.3 \ CURLOPT_ACCEPT_ENCODING.3 \ CURLOPT_ADDRESS_SCOPE.3 \ CURLOPT_ALTSVC.3 \ CURLOPT_ALTSVC_CTRL.3 \ CURLOPT_APPEND.3 \ CURLOPT_AUTOREFERER.3 \ CURLOPT_BUFFERSIZE.3 \ CURLOPT_CAINFO.3 \ CURLOPT_CAPATH.3 \ CURLOPT_CERTINFO.3 \ CURLOPT_CHUNK_BGN_FUNCTION.3 \ |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/symbols-in-versions.
︙ | ︙ | |||
8 9 10 11 12 13 14 15 16 17 18 19 20 21 | with exact information about the first libcurl version that provides the symbol, the first version in which the symbol was marked as deprecated and for a few symbols the last version that featured it. The names appear in alphabetical order. Name Introduced Deprecated Removed CURLAUTH_ANY 7.10.6 CURLAUTH_ANYSAFE 7.10.6 CURLAUTH_BASIC 7.10.6 CURLAUTH_BEARER 7.61.0 CURLAUTH_DIGEST 7.10.6 CURLAUTH_DIGEST_IE 7.19.3 CURLAUTH_GSSAPI 7.55.0 | > > > > > > | 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | with exact information about the first libcurl version that provides the symbol, the first version in which the symbol was marked as deprecated and for a few symbols the last version that featured it. The names appear in alphabetical order. Name Introduced Deprecated Removed CURLALTSVC_ALTUSED 7.64.1 CURLALTSVC_H1 7.64.1 CURLALTSVC_H2 7.64.1 CURLALTSVC_H3 7.64.1 CURLALTSVC_IMMEDIATELY 7.64.1 CURLALTSVC_READONLYFILE 7.64.1 CURLAUTH_ANY 7.10.6 CURLAUTH_ANYSAFE 7.10.6 CURLAUTH_BASIC 7.10.6 CURLAUTH_BEARER 7.61.0 CURLAUTH_DIGEST 7.10.6 CURLAUTH_DIGEST_IE 7.19.3 CURLAUTH_GSSAPI 7.55.0 |
︙ | ︙ | |||
339 340 341 342 343 344 345 346 347 348 349 350 351 352 | CURLOPTTYPE_OBJECTPOINT 7.1 CURLOPTTYPE_OFF_T 7.11.0 CURLOPTTYPE_STRINGPOINT 7.46.0 CURLOPT_ABSTRACT_UNIX_SOCKET 7.53.0 CURLOPT_ACCEPTTIMEOUT_MS 7.24.0 CURLOPT_ACCEPT_ENCODING 7.21.6 CURLOPT_ADDRESS_SCOPE 7.19.0 CURLOPT_APPEND 7.17.0 CURLOPT_AUTOREFERER 7.1 CURLOPT_BUFFERSIZE 7.10 CURLOPT_CAINFO 7.4.2 CURLOPT_CAPATH 7.9.8 CURLOPT_CERTINFO 7.19.1 CURLOPT_CHUNK_BGN_FUNCTION 7.21.0 | > > | 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 | CURLOPTTYPE_OBJECTPOINT 7.1 CURLOPTTYPE_OFF_T 7.11.0 CURLOPTTYPE_STRINGPOINT 7.46.0 CURLOPT_ABSTRACT_UNIX_SOCKET 7.53.0 CURLOPT_ACCEPTTIMEOUT_MS 7.24.0 CURLOPT_ACCEPT_ENCODING 7.21.6 CURLOPT_ADDRESS_SCOPE 7.19.0 CURLOPT_ALTSVC 7.64.1 CURLOPT_ALTSVC_CTRL 7.64.1 CURLOPT_APPEND 7.17.0 CURLOPT_AUTOREFERER 7.1 CURLOPT_BUFFERSIZE 7.10 CURLOPT_CAINFO 7.4.2 CURLOPT_CAPATH 7.9.8 CURLOPT_CERTINFO 7.19.1 CURLOPT_CHUNK_BGN_FUNCTION 7.21.0 |
︙ | ︙ | |||
428 429 430 431 432 433 434 | CURLOPT_HTTPHEADER 7.1 CURLOPT_HTTPPOST 7.1 7.56.0 CURLOPT_HTTPPROXYTUNNEL 7.3 CURLOPT_HTTPREQUEST 7.1 - 7.15.5 CURLOPT_HTTP_CONTENT_DECODING 7.16.2 CURLOPT_HTTP_TRANSFER_DECODING 7.16.2 CURLOPT_HTTP_VERSION 7.9.1 | < < | 436 437 438 439 440 441 442 443 444 445 446 447 448 449 | CURLOPT_HTTPHEADER 7.1 CURLOPT_HTTPPOST 7.1 7.56.0 CURLOPT_HTTPPROXYTUNNEL 7.3 CURLOPT_HTTPREQUEST 7.1 - 7.15.5 CURLOPT_HTTP_CONTENT_DECODING 7.16.2 CURLOPT_HTTP_TRANSFER_DECODING 7.16.2 CURLOPT_HTTP_VERSION 7.9.1 CURLOPT_IGNORE_CONTENT_LENGTH 7.14.1 CURLOPT_INFILE 7.1 7.9.7 CURLOPT_INFILESIZE 7.1 CURLOPT_INFILESIZE_LARGE 7.11.0 CURLOPT_INTERFACE 7.3 CURLOPT_INTERLEAVEDATA 7.20.0 CURLOPT_INTERLEAVEFUNCTION 7.20.0 |
︙ | ︙ | |||
611 612 613 614 615 616 617 618 619 620 621 622 623 624 | CURLOPT_TIMEOUT_MS 7.16.2 CURLOPT_TIMEVALUE 7.1 CURLOPT_TIMEVALUE_LARGE 7.59.0 CURLOPT_TLS13_CIPHERS 7.61.0 CURLOPT_TLSAUTH_PASSWORD 7.21.4 CURLOPT_TLSAUTH_TYPE 7.21.4 CURLOPT_TLSAUTH_USERNAME 7.21.4 CURLOPT_TRANSFERTEXT 7.1.1 CURLOPT_TRANSFER_ENCODING 7.21.6 CURLOPT_UNIX_SOCKET_PATH 7.40.0 CURLOPT_UNRESTRICTED_AUTH 7.10.4 CURLOPT_UPKEEP_INTERVAL_MS 7.62.0 CURLOPT_UPLOAD 7.1 CURLOPT_UPLOAD_BUFFERSIZE 7.62.0 | > > | 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 | CURLOPT_TIMEOUT_MS 7.16.2 CURLOPT_TIMEVALUE 7.1 CURLOPT_TIMEVALUE_LARGE 7.59.0 CURLOPT_TLS13_CIPHERS 7.61.0 CURLOPT_TLSAUTH_PASSWORD 7.21.4 CURLOPT_TLSAUTH_TYPE 7.21.4 CURLOPT_TLSAUTH_USERNAME 7.21.4 CURLOPT_TRAILERDATA 7.64.0 CURLOPT_TRAILERFUNCTION 7.64.0 CURLOPT_TRANSFERTEXT 7.1.1 CURLOPT_TRANSFER_ENCODING 7.21.6 CURLOPT_UNIX_SOCKET_PATH 7.40.0 CURLOPT_UNRESTRICTED_AUTH 7.10.4 CURLOPT_UPKEEP_INTERVAL_MS 7.62.0 CURLOPT_UPLOAD 7.1 CURLOPT_UPLOAD_BUFFERSIZE 7.62.0 |
︙ | ︙ | |||
703 704 705 706 707 708 709 | CURLSSH_AUTH_KEYBOARD 7.16.1 CURLSSH_AUTH_NONE 7.16.1 CURLSSH_AUTH_PASSWORD 7.16.1 CURLSSH_AUTH_PUBLICKEY 7.16.1 CURLSSLBACKEND_AXTLS 7.38.0 7.61.0 CURLSSLBACKEND_BORINGSSL 7.49.0 CURLSSLBACKEND_CYASSL 7.34.0 | | > | 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 | CURLSSH_AUTH_KEYBOARD 7.16.1 CURLSSH_AUTH_NONE 7.16.1 CURLSSH_AUTH_PASSWORD 7.16.1 CURLSSH_AUTH_PUBLICKEY 7.16.1 CURLSSLBACKEND_AXTLS 7.38.0 7.61.0 CURLSSLBACKEND_BORINGSSL 7.49.0 CURLSSLBACKEND_CYASSL 7.34.0 CURLSSLBACKEND_DARWINSSL 7.34.0 7.64.1 CURLSSLBACKEND_GNUTLS 7.34.0 CURLSSLBACKEND_GSKIT 7.34.0 CURLSSLBACKEND_LIBRESSL 7.49.0 CURLSSLBACKEND_MBEDTLS 7.46.0 CURLSSLBACKEND_MESALINK 7.62.0 CURLSSLBACKEND_NONE 7.34.0 CURLSSLBACKEND_NSS 7.34.0 CURLSSLBACKEND_OPENSSL 7.34.0 CURLSSLBACKEND_POLARSSL 7.34.0 CURLSSLBACKEND_QSOSSL 7.34.0 - 7.38.1 CURLSSLBACKEND_SCHANNEL 7.34.0 CURLSSLBACKEND_SECURETRANSPORT 7.64.1 CURLSSLBACKEND_WOLFSSL 7.49.0 CURLSSLOPT_ALLOW_BEAST 7.25.0 CURLSSLOPT_NO_REVOKE 7.44.0 CURLSSLSET_NO_BACKENDS 7.56.0 CURLSSLSET_OK 7.56.0 CURLSSLSET_TOO_LATE 7.56.0 CURLSSLSET_UNKNOWN_BACKEND 7.56.0 |
︙ | ︙ | |||
850 851 852 853 854 855 856 | CURL_POLL_REMOVE 7.14.0 CURL_PROGRESS_BAR 7.1.1 - 7.4.1 CURL_PROGRESS_STATS 7.1.1 - 7.4.1 CURL_PUSH_DENY 7.44.0 CURL_PUSH_OK 7.44.0 CURL_READFUNC_ABORT 7.12.1 CURL_READFUNC_PAUSE 7.18.0 | < < | 859 860 861 862 863 864 865 866 867 868 869 870 871 872 | CURL_POLL_REMOVE 7.14.0 CURL_PROGRESS_BAR 7.1.1 - 7.4.1 CURL_PROGRESS_STATS 7.1.1 - 7.4.1 CURL_PUSH_DENY 7.44.0 CURL_PUSH_OK 7.44.0 CURL_READFUNC_ABORT 7.12.1 CURL_READFUNC_PAUSE 7.18.0 CURL_REDIR_GET_ALL 7.19.1 CURL_REDIR_POST_301 7.19.1 CURL_REDIR_POST_302 7.19.1 CURL_REDIR_POST_303 7.25.1 CURL_REDIR_POST_ALL 7.19.1 CURL_RTSPREQ_ANNOUNCE 7.20.0 CURL_RTSPREQ_DESCRIBE 7.20.0 |
︙ | ︙ | |||
898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 | CURL_STRICTER 7.50.2 CURL_TIMECOND_IFMODSINCE 7.9.7 CURL_TIMECOND_IFUNMODSINCE 7.9.7 CURL_TIMECOND_LASTMOD 7.9.7 CURL_TIMECOND_NONE 7.9.7 CURL_TLSAUTH_NONE 7.21.4 CURL_TLSAUTH_SRP 7.21.4 CURL_UPKEEP_INTERVAL_DEFAULT 7.62.0 CURL_VERSION_ASYNCHDNS 7.10.7 CURL_VERSION_BROTLI 7.57.0 CURL_VERSION_CONV 7.15.4 CURL_VERSION_CURLDEBUG 7.19.6 CURL_VERSION_DEBUG 7.10.6 CURL_VERSION_GSSAPI 7.38.0 CURL_VERSION_GSSNEGOTIATE 7.10.6 7.38.0 | > > > | 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 | CURL_STRICTER 7.50.2 CURL_TIMECOND_IFMODSINCE 7.9.7 CURL_TIMECOND_IFUNMODSINCE 7.9.7 CURL_TIMECOND_LASTMOD 7.9.7 CURL_TIMECOND_NONE 7.9.7 CURL_TLSAUTH_NONE 7.21.4 CURL_TLSAUTH_SRP 7.21.4 CURL_TRAILERFUNC_ABORT 7.64.0 CURL_TRAILERFUNC_OK 7.64.0 CURL_UPKEEP_INTERVAL_DEFAULT 7.62.0 CURL_VERSION_ALTSVC 7.64.1 CURL_VERSION_ASYNCHDNS 7.10.7 CURL_VERSION_BROTLI 7.57.0 CURL_VERSION_CONV 7.15.4 CURL_VERSION_CURLDEBUG 7.19.6 CURL_VERSION_DEBUG 7.10.6 CURL_VERSION_GSSAPI 7.38.0 CURL_VERSION_GSSNEGOTIATE 7.10.6 7.38.0 |
︙ | ︙ |
Changes to jni/curl/include/Makefile.in.
︙ | ︙ | |||
250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ | > > | 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ |
︙ | ︙ | |||
318 319 320 321 322 323 324 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ | < > | 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ |
︙ | ︙ |
Changes to jni/curl/include/curl/Makefile.am.
1 2 3 4 5 6 7 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | > > > > > | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is # furnished to do so, under the terms of the COPYING file. # # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY # KIND, either express or implied. # ########################################################################### pkginclude_HEADERS = \ curl.h curlver.h easy.h mprintf.h stdcheaders.h multi.h \ typecheck-gcc.h system.h urlapi.h pkgincludedir= $(includedir)/curl CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) checksrc: $(CHECKSRC)@PERL@ $(top_srcdir)/lib/checksrc.pl -D$(top_srcdir)/include/curl $(pkginclude_HEADERS) if CURLDEBUG # for debug builds, we scan the sources on all regular make invokes all-local: checksrc endif |
Changes to jni/curl/include/curl/Makefile.in.
︙ | ︙ | |||
237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ | > > | 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ |
︙ | ︙ | |||
305 306 307 308 309 310 311 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ | < > | 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ |
︙ | ︙ | |||
387 388 389 390 391 392 393 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | > > > > | | | 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is # furnished to do so, under the terms of the COPYING file. # # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY # KIND, either express or implied. # ########################################################################### pkginclude_HEADERS = \ curl.h curlver.h easy.h mprintf.h stdcheaders.h multi.h \ typecheck-gcc.h system.h urlapi.h CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/curl/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu include/curl/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ |
︙ | ︙ | |||
674 675 676 677 678 679 680 | mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-pkgincludeHEADERS .PRECIOUS: Makefile checksrc: | | | 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 | mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-pkgincludeHEADERS .PRECIOUS: Makefile checksrc: $(CHECKSRC)@PERL@ $(top_srcdir)/lib/checksrc.pl -D$(top_srcdir)/include/curl $(pkginclude_HEADERS) # for debug builds, we scan the sources on all regular make invokes @CURLDEBUG_TRUE@all-local: checksrc # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: |
Changes to jni/curl/include/curl/curl.h.
1 2 3 4 5 6 7 8 9 | #ifndef __CURL_CURL_H #define __CURL_CURL_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef __CURL_CURL_H #define __CURL_CURL_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | #if !defined(WIN32) && !defined(__WATCOMC__) && !defined(__VXWORKS__) #include <sys/time.h> #endif #ifdef __BEOS__ #include <support/SupportDefs.h> #endif #ifdef __cplusplus extern "C" { #endif #if defined(BUILDING_LIBCURL) || defined(CURL_STRICTER) typedef struct Curl_easy CURL; typedef struct Curl_share CURLSH; #else typedef void CURL; typedef void CURLSH; #endif /* * libcurl external API function linkage decorations. */ #ifdef CURL_STATICLIB # define CURL_EXTERN | > > > > > | > > | 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | #if !defined(WIN32) && !defined(__WATCOMC__) && !defined(__VXWORKS__) #include <sys/time.h> #endif #ifdef __BEOS__ #include <support/SupportDefs.h> #endif /* Compatibility for non-Clang compilers */ #ifndef __has_declspec_attribute # define __has_declspec_attribute(x) 0 #endif #ifdef __cplusplus extern "C" { #endif #if defined(BUILDING_LIBCURL) || defined(CURL_STRICTER) typedef struct Curl_easy CURL; typedef struct Curl_share CURLSH; #else typedef void CURL; typedef void CURLSH; #endif /* * libcurl external API function linkage decorations. */ #ifdef CURL_STATICLIB # define CURL_EXTERN #elif defined(WIN32) || defined(_WIN32) || defined(__SYMBIAN32__) || \ (__has_declspec_attribute(dllexport) && \ __has_declspec_attribute(dllimport)) # if defined(BUILDING_LIBCURL) # define CURL_EXTERN __declspec(dllexport) # else # define CURL_EXTERN __declspec(dllimport) # endif #elif defined(BUILDING_LIBCURL) && defined(CURL_HIDDEN_SYMBOLS) # define CURL_EXTERN CURL_EXTERN_SYMBOL |
︙ | ︙ | |||
140 141 142 143 144 145 146 | CURLSSLBACKEND_GNUTLS = 2, CURLSSLBACKEND_NSS = 3, CURLSSLBACKEND_OBSOLETE4 = 4, /* Was QSOSSL. */ CURLSSLBACKEND_GSKIT = 5, CURLSSLBACKEND_POLARSSL = 6, CURLSSLBACKEND_WOLFSSL = 7, CURLSSLBACKEND_SCHANNEL = 8, | | > > > | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | CURLSSLBACKEND_GNUTLS = 2, CURLSSLBACKEND_NSS = 3, CURLSSLBACKEND_OBSOLETE4 = 4, /* Was QSOSSL. */ CURLSSLBACKEND_GSKIT = 5, CURLSSLBACKEND_POLARSSL = 6, CURLSSLBACKEND_WOLFSSL = 7, CURLSSLBACKEND_SCHANNEL = 8, CURLSSLBACKEND_SECURETRANSPORT = 9, CURLSSLBACKEND_AXTLS = 10, /* never used since 7.63.0 */ CURLSSLBACKEND_MBEDTLS = 11, CURLSSLBACKEND_MESALINK = 12 } curl_sslbackend; /* aliases for library clones and renames */ #define CURLSSLBACKEND_LIBRESSL CURLSSLBACKEND_OPENSSL #define CURLSSLBACKEND_BORINGSSL CURLSSLBACKEND_OPENSSL /* deprecated names: */ #define CURLSSLBACKEND_CYASSL CURLSSLBACKEND_WOLFSSL #define CURLSSLBACKEND_DARWINSSL CURLSSLBACKEND_SECURETRANSPORT struct curl_httppost { struct curl_httppost *next; /* next entry in the list */ char *name; /* pointer to allocated name */ long namelength; /* length of name length */ char *contents; /* pointer to allocated data contents */ long contentslength; /* length of contents field, see also |
︙ | ︙ | |||
866 867 868 869 870 871 872 873 874 875 876 877 878 879 | CURLFTPMETHOD_SINGLECWD, /* one CWD to full dir, then work on file */ CURLFTPMETHOD_LAST /* not an option, never use */ } curl_ftpmethod; /* bitmask defines for CURLOPT_HEADEROPT */ #define CURLHEADER_UNIFIED 0 #define CURLHEADER_SEPARATE (1<<0) /* CURLPROTO_ defines are for the CURLOPT_*PROTOCOLS options */ #define CURLPROTO_HTTP (1<<0) #define CURLPROTO_HTTPS (1<<1) #define CURLPROTO_FTP (1<<2) #define CURLPROTO_FTPS (1<<3) #define CURLPROTO_SCP (1<<4) | > > > > > > > > | 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 | CURLFTPMETHOD_SINGLECWD, /* one CWD to full dir, then work on file */ CURLFTPMETHOD_LAST /* not an option, never use */ } curl_ftpmethod; /* bitmask defines for CURLOPT_HEADEROPT */ #define CURLHEADER_UNIFIED 0 #define CURLHEADER_SEPARATE (1<<0) /* CURLALTSVC_* are bits for the CURLOPT_ALTSVC_CTRL option */ #define CURLALTSVC_IMMEDIATELY (1<<0) #define CURLALTSVC_ALTUSED (1<<1) #define CURLALTSVC_READONLYFILE (1<<2) #define CURLALTSVC_H1 (1<<3) #define CURLALTSVC_H2 (1<<4) #define CURLALTSVC_H3 (1<<5) /* CURLPROTO_ defines are for the CURLOPT_*PROTOCOLS options */ #define CURLPROTO_HTTP (1<<0) #define CURLPROTO_HTTPS (1<<1) #define CURLPROTO_FTP (1<<2) #define CURLPROTO_FTPS (1<<3) #define CURLPROTO_SCP (1<<4) |
︙ | ︙ | |||
1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 | /* pointer to be passed to HTTP_TRAILER_FUNCTION */ CINIT(TRAILERDATA, OBJECTPOINT, 284), /* set this to 1L to allow HTTP/0.9 responses or 0L to disallow */ CINIT(HTTP09_ALLOWED, LONG, 285), CURLOPT_LASTENTRY /* the last unused */ } CURLoption; #ifndef CURL_NO_OLDIES /* define this to test if your app builds with all the obsolete stuff removed! */ /* Backwards compatibility with older names */ | > > > > > > | 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 | /* pointer to be passed to HTTP_TRAILER_FUNCTION */ CINIT(TRAILERDATA, OBJECTPOINT, 284), /* set this to 1L to allow HTTP/0.9 responses or 0L to disallow */ CINIT(HTTP09_ALLOWED, LONG, 285), /* alt-svc control bitmask */ CINIT(ALTSVC_CTRL, LONG, 286), /* alt-svc cache file name to possibly read from/write to */ CINIT(ALTSVC, STRINGPOINT, 287), CURLOPT_LASTENTRY /* the last unused */ } CURLoption; #ifndef CURL_NO_OLDIES /* define this to test if your app builds with all the obsolete stuff removed! */ /* Backwards compatibility with older names */ |
︙ | ︙ | |||
2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 | #define CURL_VERSION_KERBEROS5 (1<<18) /* Kerberos V5 auth is supported */ #define CURL_VERSION_UNIX_SOCKETS (1<<19) /* Unix domain sockets support */ #define CURL_VERSION_PSL (1<<20) /* Mozilla's Public Suffix List, used for cookie domain verification */ #define CURL_VERSION_HTTPS_PROXY (1<<21) /* HTTPS-proxy support built-in */ #define CURL_VERSION_MULTI_SSL (1<<22) /* Multiple SSL backends available */ #define CURL_VERSION_BROTLI (1<<23) /* Brotli features are present. */ /* * NAME curl_version_info() * * DESCRIPTION * * This function returns a pointer to a static copy of the version info | > | 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 | #define CURL_VERSION_KERBEROS5 (1<<18) /* Kerberos V5 auth is supported */ #define CURL_VERSION_UNIX_SOCKETS (1<<19) /* Unix domain sockets support */ #define CURL_VERSION_PSL (1<<20) /* Mozilla's Public Suffix List, used for cookie domain verification */ #define CURL_VERSION_HTTPS_PROXY (1<<21) /* HTTPS-proxy support built-in */ #define CURL_VERSION_MULTI_SSL (1<<22) /* Multiple SSL backends available */ #define CURL_VERSION_BROTLI (1<<23) /* Brotli features are present. */ #define CURL_VERSION_ALTSVC (1<<24) /* Alt-Svc handling built-in */ /* * NAME curl_version_info() * * DESCRIPTION * * This function returns a pointer to a static copy of the version info |
︙ | ︙ |
Changes to jni/curl/include/curl/curlver.h.
1 2 3 4 5 6 7 8 9 | #ifndef __CURL_CURLVER_H #define __CURL_CURLVER_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | #ifndef __CURL_CURLVER_H #define __CURL_CURLVER_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ /* This header file contains nothing but libcurl version info, generated by a script at release-time. This was made its own header file in 7.11.2 */ /* This is the global package copyright */ #define LIBCURL_COPYRIGHT "1996 - 2019 Daniel Stenberg, <daniel@haxx.se>." /* This is the version number of the libcurl package from which this header file origins: */ #define LIBCURL_VERSION "7.64.1" /* The numeric version number is also available "in parts" by using these defines: */ #define LIBCURL_VERSION_MAJOR 7 #define LIBCURL_VERSION_MINOR 64 #define LIBCURL_VERSION_PATCH 1 /* This is the numeric version of the libcurl version number, meant for easier parsing and comparions by programs. The LIBCURL_VERSION_NUM define will always follow this syntax: 0xXXYYZZ Where XX, YY and ZZ are the main version, release and patch numbers in hexadecimal (using 8 bits each). All three numbers are always represented using two digits. 1.2 would appear as "0x010200" while version 9.11.7 appears as "0x090b07". This 6-digit (24 bits) hexadecimal number does not show pre-release number, and it is always a greater number in a more recent release. It makes comparisons with greater than and less than work. Note: This define is the full hex number and _does not_ use the CURL_VERSION_BITS() macro since curl's own configure script greps for it and needs it to contain the full number. */ #define LIBCURL_VERSION_NUM 0x074001 /* * This is the date and time when the full source package was created. The * timestamp is not stored in git, as the timestamp is properly set in the * tarballs by the maketgz script. * * The format of the date follows this template: * * "2007-11-23" */ #define LIBCURL_TIMESTAMP "2019-03-27" #define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|z) #define CURL_AT_LEAST_VERSION(x,y,z) \ (LIBCURL_VERSION_NUM >= CURL_VERSION_BITS(x, y, z)) #endif /* __CURL_CURLVER_H */ |
Changes to jni/curl/include/curl/typecheck-gcc.h.
1 2 3 4 5 6 7 8 9 | #ifndef __CURL_TYPECHECK_GCC_H #define __CURL_TYPECHECK_GCC_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef __CURL_TYPECHECK_GCC_H #define __CURL_TYPECHECK_GCC_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
252 253 254 255 256 257 258 259 260 261 262 263 264 265 | #define _curl_is_off_t_option(option) \ ((option) > CURLOPTTYPE_OFF_T) /* evaluates to true if option takes a char* argument */ #define _curl_is_string_option(option) \ ((option) == CURLOPT_ABSTRACT_UNIX_SOCKET || \ (option) == CURLOPT_ACCEPT_ENCODING || \ (option) == CURLOPT_CAINFO || \ (option) == CURLOPT_CAPATH || \ (option) == CURLOPT_COOKIE || \ (option) == CURLOPT_COOKIEFILE || \ (option) == CURLOPT_COOKIEJAR || \ (option) == CURLOPT_COOKIELIST || \ (option) == CURLOPT_CRLFILE || \ | > | 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 | #define _curl_is_off_t_option(option) \ ((option) > CURLOPTTYPE_OFF_T) /* evaluates to true if option takes a char* argument */ #define _curl_is_string_option(option) \ ((option) == CURLOPT_ABSTRACT_UNIX_SOCKET || \ (option) == CURLOPT_ACCEPT_ENCODING || \ (option) == CURLOPT_ALTSVC || \ (option) == CURLOPT_CAINFO || \ (option) == CURLOPT_CAPATH || \ (option) == CURLOPT_COOKIE || \ (option) == CURLOPT_COOKIEFILE || \ (option) == CURLOPT_COOKIEJAR || \ (option) == CURLOPT_COOKIELIST || \ (option) == CURLOPT_CRLFILE || \ |
︙ | ︙ |
Changes to jni/curl/lib/Makefile.am.
︙ | ︙ | |||
127 128 129 130 131 132 133 134 | # Makefile.inc provides the CSOURCES and HHEADERS defines include Makefile.inc libcurl_la_SOURCES = $(CSOURCES) $(HHEADERS) libcurlu_la_SOURCES = $(CSOURCES) $(HHEADERS) checksrc: | > > > > > | | | 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | # Makefile.inc provides the CSOURCES and HHEADERS defines include Makefile.inc libcurl_la_SOURCES = $(CSOURCES) $(HHEADERS) libcurlu_la_SOURCES = $(CSOURCES) $(HHEADERS) CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) checksrc: $(CHECKSRC)(@PERL@ $(srcdir)/checksrc.pl -D$(srcdir) -W$(srcdir)/curl_config.h \ $(srcdir)/*.[ch] $(srcdir)/vauth/*.[ch] $(srcdir)/vtls/*.[ch]) if CURLDEBUG # for debug builds, we scan the sources on all regular make invokes all-local: checksrc endif # disable the tests that are mostly causing false positives |
︙ | ︙ |
Changes to jni/curl/lib/Makefile.in.
︙ | ︙ | |||
17 18 19 20 21 22 23 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
225 226 227 228 229 230 231 | libcurl_la-pipeline.lo libcurl_la-dotdot.lo \ libcurl_la-x509asn1.lo libcurl_la-http2.lo libcurl_la-smb.lo \ libcurl_la-curl_endian.lo libcurl_la-curl_des.lo \ libcurl_la-system_win32.lo libcurl_la-mime.lo \ libcurl_la-sha256.lo libcurl_la-setopt.lo \ libcurl_la-curl_path.lo libcurl_la-curl_ctype.lo \ libcurl_la-curl_range.lo libcurl_la-psl.lo libcurl_la-doh.lo \ | | | | 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 | libcurl_la-pipeline.lo libcurl_la-dotdot.lo \ libcurl_la-x509asn1.lo libcurl_la-http2.lo libcurl_la-smb.lo \ libcurl_la-curl_endian.lo libcurl_la-curl_des.lo \ libcurl_la-system_win32.lo libcurl_la-mime.lo \ libcurl_la-sha256.lo libcurl_la-setopt.lo \ libcurl_la-curl_path.lo libcurl_la-curl_ctype.lo \ libcurl_la-curl_range.lo libcurl_la-psl.lo libcurl_la-doh.lo \ libcurl_la-urlapi.lo libcurl_la-altsvc.lo am__dirstamp = $(am__leading_dot)dirstamp am__objects_2 = vauth/libcurl_la-vauth.lo \ vauth/libcurl_la-cleartext.lo vauth/libcurl_la-cram.lo \ vauth/libcurl_la-digest.lo vauth/libcurl_la-digest_sspi.lo \ vauth/libcurl_la-krb5_gssapi.lo vauth/libcurl_la-krb5_sspi.lo \ vauth/libcurl_la-ntlm.lo vauth/libcurl_la-ntlm_sspi.lo \ vauth/libcurl_la-oauth2.lo vauth/libcurl_la-spnego_gssapi.lo \ vauth/libcurl_la-spnego_sspi.lo am__objects_3 = vtls/libcurl_la-openssl.lo vtls/libcurl_la-gtls.lo \ vtls/libcurl_la-vtls.lo vtls/libcurl_la-nss.lo \ vtls/libcurl_la-polarssl.lo \ vtls/libcurl_la-polarssl_threadlock.lo \ vtls/libcurl_la-cyassl.lo vtls/libcurl_la-schannel.lo \ vtls/libcurl_la-schannel_verify.lo \ vtls/libcurl_la-sectransp.lo vtls/libcurl_la-gskit.lo \ vtls/libcurl_la-mbedtls.lo vtls/libcurl_la-mesalink.lo am__objects_4 = $(am__objects_1) $(am__objects_2) $(am__objects_3) am__objects_5 = am__objects_6 = $(am__objects_5) $(am__objects_5) $(am__objects_5) am_libcurl_la_OBJECTS = $(am__objects_4) $(am__objects_6) libcurl_la_OBJECTS = $(am_libcurl_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) |
︙ | ︙ | |||
307 308 309 310 311 312 313 | libcurlu_la-dotdot.lo libcurlu_la-x509asn1.lo \ libcurlu_la-http2.lo libcurlu_la-smb.lo \ libcurlu_la-curl_endian.lo libcurlu_la-curl_des.lo \ libcurlu_la-system_win32.lo libcurlu_la-mime.lo \ libcurlu_la-sha256.lo libcurlu_la-setopt.lo \ libcurlu_la-curl_path.lo libcurlu_la-curl_ctype.lo \ libcurlu_la-curl_range.lo libcurlu_la-psl.lo \ | | | | 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 | libcurlu_la-dotdot.lo libcurlu_la-x509asn1.lo \ libcurlu_la-http2.lo libcurlu_la-smb.lo \ libcurlu_la-curl_endian.lo libcurlu_la-curl_des.lo \ libcurlu_la-system_win32.lo libcurlu_la-mime.lo \ libcurlu_la-sha256.lo libcurlu_la-setopt.lo \ libcurlu_la-curl_path.lo libcurlu_la-curl_ctype.lo \ libcurlu_la-curl_range.lo libcurlu_la-psl.lo \ libcurlu_la-doh.lo libcurlu_la-urlapi.lo libcurlu_la-altsvc.lo am__objects_8 = vauth/libcurlu_la-vauth.lo \ vauth/libcurlu_la-cleartext.lo vauth/libcurlu_la-cram.lo \ vauth/libcurlu_la-digest.lo vauth/libcurlu_la-digest_sspi.lo \ vauth/libcurlu_la-krb5_gssapi.lo \ vauth/libcurlu_la-krb5_sspi.lo vauth/libcurlu_la-ntlm.lo \ vauth/libcurlu_la-ntlm_sspi.lo vauth/libcurlu_la-oauth2.lo \ vauth/libcurlu_la-spnego_gssapi.lo \ vauth/libcurlu_la-spnego_sspi.lo am__objects_9 = vtls/libcurlu_la-openssl.lo vtls/libcurlu_la-gtls.lo \ vtls/libcurlu_la-vtls.lo vtls/libcurlu_la-nss.lo \ vtls/libcurlu_la-polarssl.lo \ vtls/libcurlu_la-polarssl_threadlock.lo \ vtls/libcurlu_la-cyassl.lo vtls/libcurlu_la-schannel.lo \ vtls/libcurlu_la-schannel_verify.lo \ vtls/libcurlu_la-sectransp.lo vtls/libcurlu_la-gskit.lo \ vtls/libcurlu_la-mbedtls.lo vtls/libcurlu_la-mesalink.lo am__objects_10 = $(am__objects_7) $(am__objects_8) $(am__objects_9) am_libcurlu_la_OBJECTS = $(am__objects_10) $(am__objects_6) libcurlu_la_OBJECTS = $(am_libcurlu_la_OBJECTS) libcurlu_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libcurlu_la_CFLAGS) \ $(CFLAGS) $(libcurlu_la_LDFLAGS) $(LDFLAGS) -o $@ |
︙ | ︙ | |||
346 347 348 349 350 351 352 | AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = depcomp = $(SHELL) $(top_srcdir)/depcomp am__maybe_remake_depfiles = depfiles | | > | 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 | AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = depcomp = $(SHELL) $(top_srcdir)/depcomp am__maybe_remake_depfiles = depfiles am__depfiles_remade = ./$(DEPDIR)/libcurl_la-altsvc.Plo \ ./$(DEPDIR)/libcurl_la-amigaos.Plo \ ./$(DEPDIR)/libcurl_la-asyn-ares.Plo \ ./$(DEPDIR)/libcurl_la-asyn-thread.Plo \ ./$(DEPDIR)/libcurl_la-base64.Plo \ ./$(DEPDIR)/libcurl_la-conncache.Plo \ ./$(DEPDIR)/libcurl_la-connect.Plo \ ./$(DEPDIR)/libcurl_la-content_encoding.Plo \ ./$(DEPDIR)/libcurl_la-cookie.Plo \ |
︙ | ︙ | |||
453 454 455 456 457 458 459 460 461 462 463 464 465 466 | ./$(DEPDIR)/libcurl_la-transfer.Plo \ ./$(DEPDIR)/libcurl_la-url.Plo \ ./$(DEPDIR)/libcurl_la-urlapi.Plo \ ./$(DEPDIR)/libcurl_la-version.Plo \ ./$(DEPDIR)/libcurl_la-warnless.Plo \ ./$(DEPDIR)/libcurl_la-wildcard.Plo \ ./$(DEPDIR)/libcurl_la-x509asn1.Plo \ ./$(DEPDIR)/libcurlu_la-amigaos.Plo \ ./$(DEPDIR)/libcurlu_la-asyn-ares.Plo \ ./$(DEPDIR)/libcurlu_la-asyn-thread.Plo \ ./$(DEPDIR)/libcurlu_la-base64.Plo \ ./$(DEPDIR)/libcurlu_la-conncache.Plo \ ./$(DEPDIR)/libcurlu_la-connect.Plo \ ./$(DEPDIR)/libcurlu_la-content_encoding.Plo \ | > | 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 | ./$(DEPDIR)/libcurl_la-transfer.Plo \ ./$(DEPDIR)/libcurl_la-url.Plo \ ./$(DEPDIR)/libcurl_la-urlapi.Plo \ ./$(DEPDIR)/libcurl_la-version.Plo \ ./$(DEPDIR)/libcurl_la-warnless.Plo \ ./$(DEPDIR)/libcurl_la-wildcard.Plo \ ./$(DEPDIR)/libcurl_la-x509asn1.Plo \ ./$(DEPDIR)/libcurlu_la-altsvc.Plo \ ./$(DEPDIR)/libcurlu_la-amigaos.Plo \ ./$(DEPDIR)/libcurlu_la-asyn-ares.Plo \ ./$(DEPDIR)/libcurlu_la-asyn-thread.Plo \ ./$(DEPDIR)/libcurlu_la-base64.Plo \ ./$(DEPDIR)/libcurlu_la-conncache.Plo \ ./$(DEPDIR)/libcurlu_la-connect.Plo \ ./$(DEPDIR)/libcurlu_la-content_encoding.Plo \ |
︙ | ︙ | |||
589 590 591 592 593 594 595 | vauth/$(DEPDIR)/libcurlu_la-ntlm.Plo \ vauth/$(DEPDIR)/libcurlu_la-ntlm_sspi.Plo \ vauth/$(DEPDIR)/libcurlu_la-oauth2.Plo \ vauth/$(DEPDIR)/libcurlu_la-spnego_gssapi.Plo \ vauth/$(DEPDIR)/libcurlu_la-spnego_sspi.Plo \ vauth/$(DEPDIR)/libcurlu_la-vauth.Plo \ vtls/$(DEPDIR)/libcurl_la-cyassl.Plo \ | < | | | > | 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 | vauth/$(DEPDIR)/libcurlu_la-ntlm.Plo \ vauth/$(DEPDIR)/libcurlu_la-ntlm_sspi.Plo \ vauth/$(DEPDIR)/libcurlu_la-oauth2.Plo \ vauth/$(DEPDIR)/libcurlu_la-spnego_gssapi.Plo \ vauth/$(DEPDIR)/libcurlu_la-spnego_sspi.Plo \ vauth/$(DEPDIR)/libcurlu_la-vauth.Plo \ vtls/$(DEPDIR)/libcurl_la-cyassl.Plo \ vtls/$(DEPDIR)/libcurl_la-gskit.Plo \ vtls/$(DEPDIR)/libcurl_la-gtls.Plo \ vtls/$(DEPDIR)/libcurl_la-mbedtls.Plo \ vtls/$(DEPDIR)/libcurl_la-mesalink.Plo \ vtls/$(DEPDIR)/libcurl_la-nss.Plo \ vtls/$(DEPDIR)/libcurl_la-openssl.Plo \ vtls/$(DEPDIR)/libcurl_la-polarssl.Plo \ vtls/$(DEPDIR)/libcurl_la-polarssl_threadlock.Plo \ vtls/$(DEPDIR)/libcurl_la-schannel.Plo \ vtls/$(DEPDIR)/libcurl_la-schannel_verify.Plo \ vtls/$(DEPDIR)/libcurl_la-sectransp.Plo \ vtls/$(DEPDIR)/libcurl_la-vtls.Plo \ vtls/$(DEPDIR)/libcurlu_la-cyassl.Plo \ vtls/$(DEPDIR)/libcurlu_la-gskit.Plo \ vtls/$(DEPDIR)/libcurlu_la-gtls.Plo \ vtls/$(DEPDIR)/libcurlu_la-mbedtls.Plo \ vtls/$(DEPDIR)/libcurlu_la-mesalink.Plo \ vtls/$(DEPDIR)/libcurlu_la-nss.Plo \ vtls/$(DEPDIR)/libcurlu_la-openssl.Plo \ vtls/$(DEPDIR)/libcurlu_la-polarssl.Plo \ vtls/$(DEPDIR)/libcurlu_la-polarssl_threadlock.Plo \ vtls/$(DEPDIR)/libcurlu_la-schannel.Plo \ vtls/$(DEPDIR)/libcurlu_la-schannel_verify.Plo \ vtls/$(DEPDIR)/libcurlu_la-sectransp.Plo \ vtls/$(DEPDIR)/libcurlu_la-vtls.Plo am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ |
︙ | ︙ | |||
722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ | > > | 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ |
︙ | ︙ | |||
792 793 794 795 796 797 798 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ | < > | 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ |
︙ | ︙ | |||
948 949 950 951 952 953 954 | vauth/krb5_sspi.c vauth/ntlm.c vauth/ntlm_sspi.c vauth/oauth2.c \ vauth/spnego_gssapi.c vauth/spnego_sspi.c LIB_VAUTH_HFILES = vauth/vauth.h vauth/digest.h vauth/ntlm.h LIB_VTLS_CFILES = vtls/openssl.c vtls/gtls.c vtls/vtls.c vtls/nss.c \ vtls/polarssl.c vtls/polarssl_threadlock.c \ vtls/cyassl.c vtls/schannel.c vtls/schannel_verify.c \ | | | | | > > > > > | 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 | vauth/krb5_sspi.c vauth/ntlm.c vauth/ntlm_sspi.c vauth/oauth2.c \ vauth/spnego_gssapi.c vauth/spnego_sspi.c LIB_VAUTH_HFILES = vauth/vauth.h vauth/digest.h vauth/ntlm.h LIB_VTLS_CFILES = vtls/openssl.c vtls/gtls.c vtls/vtls.c vtls/nss.c \ vtls/polarssl.c vtls/polarssl_threadlock.c \ vtls/cyassl.c vtls/schannel.c vtls/schannel_verify.c \ vtls/sectransp.c vtls/gskit.c vtls/mbedtls.c vtls/mesalink.c LIB_VTLS_HFILES = vtls/openssl.h vtls/vtls.h vtls/gtls.h \ vtls/nssg.h vtls/polarssl.h vtls/polarssl_threadlock.h \ vtls/cyassl.h vtls/schannel.h vtls/sectransp.h vtls/gskit.h \ vtls/mbedtls.h vtls/mesalink.h LIB_CFILES = file.c timeval.c base64.c hostip.c progress.c formdata.c \ cookie.c http.c sendf.c ftp.c url.c dict.c if2ip.c speedcheck.c \ ldap.c version.c getenv.c escape.c mprintf.c telnet.c netrc.c \ getinfo.c transfer.c strcase.c easy.c security.c curl_fnmatch.c \ fileinfo.c ftplistparser.c wildcard.c krb5.c memdebug.c http_chunks.c \ strtok.c connect.c llist.c hash.c multi.c content_encoding.c share.c \ http_digest.c md4.c md5.c http_negotiate.c inet_pton.c strtoofft.c \ strerror.c amigaos.c hostasyn.c hostip4.c hostip6.c hostsyn.c \ inet_ntop.c parsedate.c select.c tftp.c splay.c strdup.c socks.c \ ssh.c ssh-libssh.c curl_addrinfo.c socks_gssapi.c socks_sspi.c \ curl_sspi.c slist.c nonblock.c curl_memrchr.c imap.c pop3.c smtp.c \ pingpong.c rtsp.c curl_threads.c warnless.c hmac.c curl_rtmp.c \ openldap.c curl_gethostname.c gopher.c idn_win32.c \ http_proxy.c non-ascii.c asyn-ares.c asyn-thread.c curl_gssapi.c \ http_ntlm.c curl_ntlm_wb.c curl_ntlm_core.c curl_sasl.c rand.c \ curl_multibyte.c hostcheck.c conncache.c pipeline.c dotdot.c \ x509asn1.c http2.c smb.c curl_endian.c curl_des.c system_win32.c \ mime.c sha256.c setopt.c curl_path.c curl_ctype.c curl_range.c psl.c \ doh.c urlapi.c altsvc.c LIB_HFILES = arpa_telnet.h netrc.h file.h timeval.h hostip.h progress.h \ formdata.h cookie.h http.h sendf.h ftp.h url.h dict.h if2ip.h \ speedcheck.h urldata.h curl_ldap.h escape.h telnet.h getinfo.h \ strcase.h curl_sec.h memdebug.h http_chunks.h curl_fnmatch.h \ wildcard.h fileinfo.h ftplistparser.h strtok.h connect.h llist.h \ hash.h content_encoding.h share.h curl_md4.h curl_md5.h http_digest.h \ http_negotiate.h inet_pton.h amigaos.h strtoofft.h strerror.h \ inet_ntop.h curlx.h curl_memory.h curl_setup.h transfer.h select.h \ easyif.h multiif.h parsedate.h tftp.h sockaddr.h splay.h strdup.h \ socks.h ssh.h curl_base64.h curl_addrinfo.h curl_sspi.h \ slist.h nonblock.h curl_memrchr.h imap.h pop3.h smtp.h pingpong.h \ rtsp.h curl_threads.h warnless.h curl_hmac.h curl_rtmp.h \ curl_gethostname.h gopher.h http_proxy.h non-ascii.h asyn.h \ http_ntlm.h curl_gssapi.h curl_ntlm_wb.h curl_ntlm_core.h \ curl_sasl.h curl_multibyte.h hostcheck.h conncache.h \ curl_setup_once.h multihandle.h setup-vms.h pipeline.h dotdot.h \ x509asn1.h http2.h sigpipe.h smb.h curl_endian.h curl_des.h \ curl_printf.h system_win32.h rand.h mime.h curl_sha256.h setopt.h \ curl_path.h curl_ctype.h curl_range.h psl.h doh.h urlapi-int.h \ altsvc.h LIB_RCFILES = libcurl.rc CSOURCES = $(LIB_CFILES) $(LIB_VAUTH_CFILES) $(LIB_VTLS_CFILES) HHEADERS = $(LIB_HFILES) $(LIB_VAUTH_HFILES) $(LIB_VTLS_HFILES) # Makefile.inc provides the CSOURCES and HHEADERS defines libcurl_la_SOURCES = $(CSOURCES) $(HHEADERS) libcurlu_la_SOURCES = $(CSOURCES) $(HHEADERS) CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) # disable the tests that are mostly causing false positives TIDYFLAGS = -checks=-clang-analyzer-security.insecureAPI.strcpy,-clang-analyzer-optin.performance.Padding,-clang-analyzer-valist.Uninitialized,-clang-analyzer-core.NonNullParamChecker,-clang-analyzer-core.NullDereference -quiet TIDY := clang-tidy all: curl_config.h $(MAKE) $(AM_MAKEFLAGS) all-am |
︙ | ︙ | |||
1158 1159 1160 1161 1162 1163 1164 | vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurl_la-cyassl.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurl_la-schannel.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurl_la-schannel_verify.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) | | | 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 | vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurl_la-cyassl.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurl_la-schannel.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurl_la-schannel_verify.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurl_la-sectransp.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurl_la-gskit.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurl_la-mbedtls.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurl_la-mesalink.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) |
︙ | ︙ | |||
1211 1212 1213 1214 1215 1216 1217 | vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurlu_la-cyassl.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurlu_la-schannel.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurlu_la-schannel_verify.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) | | | 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 | vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurlu_la-cyassl.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurlu_la-schannel.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurlu_la-schannel_verify.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurlu_la-sectransp.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurlu_la-gskit.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurlu_la-mbedtls.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurlu_la-mesalink.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) |
︙ | ︙ | |||
1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 | -rm -f vauth/*.lo -rm -f vtls/*.$(OBJEXT) -rm -f vtls/*.lo distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-amigaos.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-asyn-ares.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-asyn-thread.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-base64.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-conncache.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-connect.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-content_encoding.Plo@am__quote@ # am--include-marker | > | 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 | -rm -f vauth/*.lo -rm -f vtls/*.$(OBJEXT) -rm -f vtls/*.lo distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-altsvc.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-amigaos.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-asyn-ares.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-asyn-thread.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-base64.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-conncache.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-connect.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-content_encoding.Plo@am__quote@ # am--include-marker |
︙ | ︙ | |||
1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-transfer.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-url.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-urlapi.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-version.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-warnless.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-wildcard.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-x509asn1.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-amigaos.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-asyn-ares.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-asyn-thread.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-base64.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-conncache.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-connect.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-content_encoding.Plo@am__quote@ # am--include-marker | > | 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-transfer.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-url.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-urlapi.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-version.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-warnless.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-wildcard.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_la-x509asn1.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-altsvc.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-amigaos.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-asyn-ares.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-asyn-thread.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-base64.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-conncache.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-connect.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurlu_la-content_encoding.Plo@am__quote@ # am--include-marker |
︙ | ︙ | |||
1480 1481 1482 1483 1484 1485 1486 | @AMDEP_TRUE@@am__include@ @am__quote@vauth/$(DEPDIR)/libcurlu_la-ntlm.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vauth/$(DEPDIR)/libcurlu_la-ntlm_sspi.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vauth/$(DEPDIR)/libcurlu_la-oauth2.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vauth/$(DEPDIR)/libcurlu_la-spnego_gssapi.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vauth/$(DEPDIR)/libcurlu_la-spnego_sspi.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vauth/$(DEPDIR)/libcurlu_la-vauth.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-cyassl.Plo@am__quote@ # am--include-marker | < | | | > | 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 | @AMDEP_TRUE@@am__include@ @am__quote@vauth/$(DEPDIR)/libcurlu_la-ntlm.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vauth/$(DEPDIR)/libcurlu_la-ntlm_sspi.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vauth/$(DEPDIR)/libcurlu_la-oauth2.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vauth/$(DEPDIR)/libcurlu_la-spnego_gssapi.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vauth/$(DEPDIR)/libcurlu_la-spnego_sspi.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vauth/$(DEPDIR)/libcurlu_la-vauth.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-cyassl.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-gskit.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-gtls.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-mbedtls.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-mesalink.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-nss.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-openssl.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-polarssl.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-polarssl_threadlock.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-schannel.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-schannel_verify.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-sectransp.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-vtls.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-cyassl.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-gskit.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-gtls.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-mbedtls.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-mesalink.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-nss.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-openssl.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-polarssl.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-polarssl_threadlock.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-schannel.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-schannel_verify.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-sectransp.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-vtls.Plo@am__quote@ # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) @echo '# dummy' >$@-t && $(am__mv) $@-t $@ am--depfiles: $(am__depfiles_remade) |
︙ | ︙ | |||
2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 | libcurl_la-urlapi.lo: urlapi.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -MT libcurl_la-urlapi.lo -MD -MP -MF $(DEPDIR)/libcurl_la-urlapi.Tpo -c -o libcurl_la-urlapi.lo `test -f 'urlapi.c' || echo '$(srcdir)/'`urlapi.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcurl_la-urlapi.Tpo $(DEPDIR)/libcurl_la-urlapi.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='urlapi.c' object='libcurl_la-urlapi.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -c -o libcurl_la-urlapi.lo `test -f 'urlapi.c' || echo '$(srcdir)/'`urlapi.c vauth/libcurl_la-vauth.lo: vauth/vauth.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -MT vauth/libcurl_la-vauth.lo -MD -MP -MF vauth/$(DEPDIR)/libcurl_la-vauth.Tpo -c -o vauth/libcurl_la-vauth.lo `test -f 'vauth/vauth.c' || echo '$(srcdir)/'`vauth/vauth.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vauth/$(DEPDIR)/libcurl_la-vauth.Tpo vauth/$(DEPDIR)/libcurl_la-vauth.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vauth/vauth.c' object='vauth/libcurl_la-vauth.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -c -o vauth/libcurl_la-vauth.lo `test -f 'vauth/vauth.c' || echo '$(srcdir)/'`vauth/vauth.c | > > > > > > > | 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 | libcurl_la-urlapi.lo: urlapi.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -MT libcurl_la-urlapi.lo -MD -MP -MF $(DEPDIR)/libcurl_la-urlapi.Tpo -c -o libcurl_la-urlapi.lo `test -f 'urlapi.c' || echo '$(srcdir)/'`urlapi.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcurl_la-urlapi.Tpo $(DEPDIR)/libcurl_la-urlapi.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='urlapi.c' object='libcurl_la-urlapi.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -c -o libcurl_la-urlapi.lo `test -f 'urlapi.c' || echo '$(srcdir)/'`urlapi.c libcurl_la-altsvc.lo: altsvc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -MT libcurl_la-altsvc.lo -MD -MP -MF $(DEPDIR)/libcurl_la-altsvc.Tpo -c -o libcurl_la-altsvc.lo `test -f 'altsvc.c' || echo '$(srcdir)/'`altsvc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcurl_la-altsvc.Tpo $(DEPDIR)/libcurl_la-altsvc.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='altsvc.c' object='libcurl_la-altsvc.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -c -o libcurl_la-altsvc.lo `test -f 'altsvc.c' || echo '$(srcdir)/'`altsvc.c vauth/libcurl_la-vauth.lo: vauth/vauth.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -MT vauth/libcurl_la-vauth.lo -MD -MP -MF vauth/$(DEPDIR)/libcurl_la-vauth.Tpo -c -o vauth/libcurl_la-vauth.lo `test -f 'vauth/vauth.c' || echo '$(srcdir)/'`vauth/vauth.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vauth/$(DEPDIR)/libcurl_la-vauth.Tpo vauth/$(DEPDIR)/libcurl_la-vauth.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vauth/vauth.c' object='vauth/libcurl_la-vauth.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -c -o vauth/libcurl_la-vauth.lo `test -f 'vauth/vauth.c' || echo '$(srcdir)/'`vauth/vauth.c |
︙ | ︙ | |||
2460 2461 2462 2463 2464 2465 2466 | vtls/libcurl_la-schannel_verify.lo: vtls/schannel_verify.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -MT vtls/libcurl_la-schannel_verify.lo -MD -MP -MF vtls/$(DEPDIR)/libcurl_la-schannel_verify.Tpo -c -o vtls/libcurl_la-schannel_verify.lo `test -f 'vtls/schannel_verify.c' || echo '$(srcdir)/'`vtls/schannel_verify.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vtls/$(DEPDIR)/libcurl_la-schannel_verify.Tpo vtls/$(DEPDIR)/libcurl_la-schannel_verify.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vtls/schannel_verify.c' object='vtls/libcurl_la-schannel_verify.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -c -o vtls/libcurl_la-schannel_verify.lo `test -f 'vtls/schannel_verify.c' || echo '$(srcdir)/'`vtls/schannel_verify.c | | | | | | | 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 | vtls/libcurl_la-schannel_verify.lo: vtls/schannel_verify.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -MT vtls/libcurl_la-schannel_verify.lo -MD -MP -MF vtls/$(DEPDIR)/libcurl_la-schannel_verify.Tpo -c -o vtls/libcurl_la-schannel_verify.lo `test -f 'vtls/schannel_verify.c' || echo '$(srcdir)/'`vtls/schannel_verify.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vtls/$(DEPDIR)/libcurl_la-schannel_verify.Tpo vtls/$(DEPDIR)/libcurl_la-schannel_verify.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vtls/schannel_verify.c' object='vtls/libcurl_la-schannel_verify.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -c -o vtls/libcurl_la-schannel_verify.lo `test -f 'vtls/schannel_verify.c' || echo '$(srcdir)/'`vtls/schannel_verify.c vtls/libcurl_la-sectransp.lo: vtls/sectransp.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -MT vtls/libcurl_la-sectransp.lo -MD -MP -MF vtls/$(DEPDIR)/libcurl_la-sectransp.Tpo -c -o vtls/libcurl_la-sectransp.lo `test -f 'vtls/sectransp.c' || echo '$(srcdir)/'`vtls/sectransp.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vtls/$(DEPDIR)/libcurl_la-sectransp.Tpo vtls/$(DEPDIR)/libcurl_la-sectransp.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vtls/sectransp.c' object='vtls/libcurl_la-sectransp.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -c -o vtls/libcurl_la-sectransp.lo `test -f 'vtls/sectransp.c' || echo '$(srcdir)/'`vtls/sectransp.c vtls/libcurl_la-gskit.lo: vtls/gskit.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -MT vtls/libcurl_la-gskit.lo -MD -MP -MF vtls/$(DEPDIR)/libcurl_la-gskit.Tpo -c -o vtls/libcurl_la-gskit.lo `test -f 'vtls/gskit.c' || echo '$(srcdir)/'`vtls/gskit.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vtls/$(DEPDIR)/libcurl_la-gskit.Tpo vtls/$(DEPDIR)/libcurl_la-gskit.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vtls/gskit.c' object='vtls/libcurl_la-gskit.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -c -o vtls/libcurl_la-gskit.lo `test -f 'vtls/gskit.c' || echo '$(srcdir)/'`vtls/gskit.c |
︙ | ︙ | |||
3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 | libcurlu_la-urlapi.lo: urlapi.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -MT libcurlu_la-urlapi.lo -MD -MP -MF $(DEPDIR)/libcurlu_la-urlapi.Tpo -c -o libcurlu_la-urlapi.lo `test -f 'urlapi.c' || echo '$(srcdir)/'`urlapi.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcurlu_la-urlapi.Tpo $(DEPDIR)/libcurlu_la-urlapi.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='urlapi.c' object='libcurlu_la-urlapi.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -c -o libcurlu_la-urlapi.lo `test -f 'urlapi.c' || echo '$(srcdir)/'`urlapi.c vauth/libcurlu_la-vauth.lo: vauth/vauth.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -MT vauth/libcurlu_la-vauth.lo -MD -MP -MF vauth/$(DEPDIR)/libcurlu_la-vauth.Tpo -c -o vauth/libcurlu_la-vauth.lo `test -f 'vauth/vauth.c' || echo '$(srcdir)/'`vauth/vauth.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vauth/$(DEPDIR)/libcurlu_la-vauth.Tpo vauth/$(DEPDIR)/libcurlu_la-vauth.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vauth/vauth.c' object='vauth/libcurlu_la-vauth.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -c -o vauth/libcurlu_la-vauth.lo `test -f 'vauth/vauth.c' || echo '$(srcdir)/'`vauth/vauth.c | > > > > > > > | 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 | libcurlu_la-urlapi.lo: urlapi.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -MT libcurlu_la-urlapi.lo -MD -MP -MF $(DEPDIR)/libcurlu_la-urlapi.Tpo -c -o libcurlu_la-urlapi.lo `test -f 'urlapi.c' || echo '$(srcdir)/'`urlapi.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcurlu_la-urlapi.Tpo $(DEPDIR)/libcurlu_la-urlapi.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='urlapi.c' object='libcurlu_la-urlapi.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -c -o libcurlu_la-urlapi.lo `test -f 'urlapi.c' || echo '$(srcdir)/'`urlapi.c libcurlu_la-altsvc.lo: altsvc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -MT libcurlu_la-altsvc.lo -MD -MP -MF $(DEPDIR)/libcurlu_la-altsvc.Tpo -c -o libcurlu_la-altsvc.lo `test -f 'altsvc.c' || echo '$(srcdir)/'`altsvc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libcurlu_la-altsvc.Tpo $(DEPDIR)/libcurlu_la-altsvc.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='altsvc.c' object='libcurlu_la-altsvc.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -c -o libcurlu_la-altsvc.lo `test -f 'altsvc.c' || echo '$(srcdir)/'`altsvc.c vauth/libcurlu_la-vauth.lo: vauth/vauth.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -MT vauth/libcurlu_la-vauth.lo -MD -MP -MF vauth/$(DEPDIR)/libcurlu_la-vauth.Tpo -c -o vauth/libcurlu_la-vauth.lo `test -f 'vauth/vauth.c' || echo '$(srcdir)/'`vauth/vauth.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vauth/$(DEPDIR)/libcurlu_la-vauth.Tpo vauth/$(DEPDIR)/libcurlu_la-vauth.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vauth/vauth.c' object='vauth/libcurlu_la-vauth.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -c -o vauth/libcurlu_la-vauth.lo `test -f 'vauth/vauth.c' || echo '$(srcdir)/'`vauth/vauth.c |
︙ | ︙ | |||
3412 3413 3414 3415 3416 3417 3418 | vtls/libcurlu_la-schannel_verify.lo: vtls/schannel_verify.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -MT vtls/libcurlu_la-schannel_verify.lo -MD -MP -MF vtls/$(DEPDIR)/libcurlu_la-schannel_verify.Tpo -c -o vtls/libcurlu_la-schannel_verify.lo `test -f 'vtls/schannel_verify.c' || echo '$(srcdir)/'`vtls/schannel_verify.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vtls/$(DEPDIR)/libcurlu_la-schannel_verify.Tpo vtls/$(DEPDIR)/libcurlu_la-schannel_verify.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vtls/schannel_verify.c' object='vtls/libcurlu_la-schannel_verify.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -c -o vtls/libcurlu_la-schannel_verify.lo `test -f 'vtls/schannel_verify.c' || echo '$(srcdir)/'`vtls/schannel_verify.c | | | | | | | 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 | vtls/libcurlu_la-schannel_verify.lo: vtls/schannel_verify.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -MT vtls/libcurlu_la-schannel_verify.lo -MD -MP -MF vtls/$(DEPDIR)/libcurlu_la-schannel_verify.Tpo -c -o vtls/libcurlu_la-schannel_verify.lo `test -f 'vtls/schannel_verify.c' || echo '$(srcdir)/'`vtls/schannel_verify.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vtls/$(DEPDIR)/libcurlu_la-schannel_verify.Tpo vtls/$(DEPDIR)/libcurlu_la-schannel_verify.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vtls/schannel_verify.c' object='vtls/libcurlu_la-schannel_verify.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -c -o vtls/libcurlu_la-schannel_verify.lo `test -f 'vtls/schannel_verify.c' || echo '$(srcdir)/'`vtls/schannel_verify.c vtls/libcurlu_la-sectransp.lo: vtls/sectransp.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -MT vtls/libcurlu_la-sectransp.lo -MD -MP -MF vtls/$(DEPDIR)/libcurlu_la-sectransp.Tpo -c -o vtls/libcurlu_la-sectransp.lo `test -f 'vtls/sectransp.c' || echo '$(srcdir)/'`vtls/sectransp.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vtls/$(DEPDIR)/libcurlu_la-sectransp.Tpo vtls/$(DEPDIR)/libcurlu_la-sectransp.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vtls/sectransp.c' object='vtls/libcurlu_la-sectransp.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -c -o vtls/libcurlu_la-sectransp.lo `test -f 'vtls/sectransp.c' || echo '$(srcdir)/'`vtls/sectransp.c vtls/libcurlu_la-gskit.lo: vtls/gskit.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -MT vtls/libcurlu_la-gskit.lo -MD -MP -MF vtls/$(DEPDIR)/libcurlu_la-gskit.Tpo -c -o vtls/libcurlu_la-gskit.lo `test -f 'vtls/gskit.c' || echo '$(srcdir)/'`vtls/gskit.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vtls/$(DEPDIR)/libcurlu_la-gskit.Tpo vtls/$(DEPDIR)/libcurlu_la-gskit.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vtls/gskit.c' object='vtls/libcurlu_la-gskit.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -c -o vtls/libcurlu_la-gskit.lo `test -f 'vtls/gskit.c' || echo '$(srcdir)/'`vtls/gskit.c |
︙ | ︙ | |||
3581 3582 3583 3584 3585 3586 3587 | @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ clean-noinstLTLIBRARIES mostlyclean-am distclean: distclean-am | > | | 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 | @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ clean-noinstLTLIBRARIES mostlyclean-am distclean: distclean-am -rm -f ./$(DEPDIR)/libcurl_la-altsvc.Plo -rm -f ./$(DEPDIR)/libcurl_la-amigaos.Plo -rm -f ./$(DEPDIR)/libcurl_la-asyn-ares.Plo -rm -f ./$(DEPDIR)/libcurl_la-asyn-thread.Plo -rm -f ./$(DEPDIR)/libcurl_la-base64.Plo -rm -f ./$(DEPDIR)/libcurl_la-conncache.Plo -rm -f ./$(DEPDIR)/libcurl_la-connect.Plo -rm -f ./$(DEPDIR)/libcurl_la-content_encoding.Plo -rm -f ./$(DEPDIR)/libcurl_la-cookie.Plo |
︙ | ︙ | |||
3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 | -rm -f ./$(DEPDIR)/libcurl_la-transfer.Plo -rm -f ./$(DEPDIR)/libcurl_la-url.Plo -rm -f ./$(DEPDIR)/libcurl_la-urlapi.Plo -rm -f ./$(DEPDIR)/libcurl_la-version.Plo -rm -f ./$(DEPDIR)/libcurl_la-warnless.Plo -rm -f ./$(DEPDIR)/libcurl_la-wildcard.Plo -rm -f ./$(DEPDIR)/libcurl_la-x509asn1.Plo -rm -f ./$(DEPDIR)/libcurlu_la-amigaos.Plo -rm -f ./$(DEPDIR)/libcurlu_la-asyn-ares.Plo -rm -f ./$(DEPDIR)/libcurlu_la-asyn-thread.Plo -rm -f ./$(DEPDIR)/libcurlu_la-base64.Plo -rm -f ./$(DEPDIR)/libcurlu_la-conncache.Plo -rm -f ./$(DEPDIR)/libcurlu_la-connect.Plo -rm -f ./$(DEPDIR)/libcurlu_la-content_encoding.Plo | > | 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 | -rm -f ./$(DEPDIR)/libcurl_la-transfer.Plo -rm -f ./$(DEPDIR)/libcurl_la-url.Plo -rm -f ./$(DEPDIR)/libcurl_la-urlapi.Plo -rm -f ./$(DEPDIR)/libcurl_la-version.Plo -rm -f ./$(DEPDIR)/libcurl_la-warnless.Plo -rm -f ./$(DEPDIR)/libcurl_la-wildcard.Plo -rm -f ./$(DEPDIR)/libcurl_la-x509asn1.Plo -rm -f ./$(DEPDIR)/libcurlu_la-altsvc.Plo -rm -f ./$(DEPDIR)/libcurlu_la-amigaos.Plo -rm -f ./$(DEPDIR)/libcurlu_la-asyn-ares.Plo -rm -f ./$(DEPDIR)/libcurlu_la-asyn-thread.Plo -rm -f ./$(DEPDIR)/libcurlu_la-base64.Plo -rm -f ./$(DEPDIR)/libcurlu_la-conncache.Plo -rm -f ./$(DEPDIR)/libcurlu_la-connect.Plo -rm -f ./$(DEPDIR)/libcurlu_la-content_encoding.Plo |
︙ | ︙ | |||
3828 3829 3830 3831 3832 3833 3834 | -rm -f vauth/$(DEPDIR)/libcurlu_la-ntlm.Plo -rm -f vauth/$(DEPDIR)/libcurlu_la-ntlm_sspi.Plo -rm -f vauth/$(DEPDIR)/libcurlu_la-oauth2.Plo -rm -f vauth/$(DEPDIR)/libcurlu_la-spnego_gssapi.Plo -rm -f vauth/$(DEPDIR)/libcurlu_la-spnego_sspi.Plo -rm -f vauth/$(DEPDIR)/libcurlu_la-vauth.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-cyassl.Plo | < | | | > | 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 | -rm -f vauth/$(DEPDIR)/libcurlu_la-ntlm.Plo -rm -f vauth/$(DEPDIR)/libcurlu_la-ntlm_sspi.Plo -rm -f vauth/$(DEPDIR)/libcurlu_la-oauth2.Plo -rm -f vauth/$(DEPDIR)/libcurlu_la-spnego_gssapi.Plo -rm -f vauth/$(DEPDIR)/libcurlu_la-spnego_sspi.Plo -rm -f vauth/$(DEPDIR)/libcurlu_la-vauth.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-cyassl.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-gskit.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-gtls.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-mbedtls.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-mesalink.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-nss.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-openssl.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-polarssl.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-polarssl_threadlock.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-schannel.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-schannel_verify.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-sectransp.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-vtls.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-cyassl.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-gskit.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-gtls.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-mbedtls.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-mesalink.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-nss.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-openssl.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-polarssl.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-polarssl_threadlock.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-schannel.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-schannel_verify.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-sectransp.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-vtls.Plo -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-tags dvi: dvi-am |
︙ | ︙ | |||
3898 3899 3900 3901 3902 3903 3904 | install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am | > | | 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 | install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f ./$(DEPDIR)/libcurl_la-altsvc.Plo -rm -f ./$(DEPDIR)/libcurl_la-amigaos.Plo -rm -f ./$(DEPDIR)/libcurl_la-asyn-ares.Plo -rm -f ./$(DEPDIR)/libcurl_la-asyn-thread.Plo -rm -f ./$(DEPDIR)/libcurl_la-base64.Plo -rm -f ./$(DEPDIR)/libcurl_la-conncache.Plo -rm -f ./$(DEPDIR)/libcurl_la-connect.Plo -rm -f ./$(DEPDIR)/libcurl_la-content_encoding.Plo -rm -f ./$(DEPDIR)/libcurl_la-cookie.Plo |
︙ | ︙ | |||
4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 | -rm -f ./$(DEPDIR)/libcurl_la-transfer.Plo -rm -f ./$(DEPDIR)/libcurl_la-url.Plo -rm -f ./$(DEPDIR)/libcurl_la-urlapi.Plo -rm -f ./$(DEPDIR)/libcurl_la-version.Plo -rm -f ./$(DEPDIR)/libcurl_la-warnless.Plo -rm -f ./$(DEPDIR)/libcurl_la-wildcard.Plo -rm -f ./$(DEPDIR)/libcurl_la-x509asn1.Plo -rm -f ./$(DEPDIR)/libcurlu_la-amigaos.Plo -rm -f ./$(DEPDIR)/libcurlu_la-asyn-ares.Plo -rm -f ./$(DEPDIR)/libcurlu_la-asyn-thread.Plo -rm -f ./$(DEPDIR)/libcurlu_la-base64.Plo -rm -f ./$(DEPDIR)/libcurlu_la-conncache.Plo -rm -f ./$(DEPDIR)/libcurlu_la-connect.Plo -rm -f ./$(DEPDIR)/libcurlu_la-content_encoding.Plo | > | 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 | -rm -f ./$(DEPDIR)/libcurl_la-transfer.Plo -rm -f ./$(DEPDIR)/libcurl_la-url.Plo -rm -f ./$(DEPDIR)/libcurl_la-urlapi.Plo -rm -f ./$(DEPDIR)/libcurl_la-version.Plo -rm -f ./$(DEPDIR)/libcurl_la-warnless.Plo -rm -f ./$(DEPDIR)/libcurl_la-wildcard.Plo -rm -f ./$(DEPDIR)/libcurl_la-x509asn1.Plo -rm -f ./$(DEPDIR)/libcurlu_la-altsvc.Plo -rm -f ./$(DEPDIR)/libcurlu_la-amigaos.Plo -rm -f ./$(DEPDIR)/libcurlu_la-asyn-ares.Plo -rm -f ./$(DEPDIR)/libcurlu_la-asyn-thread.Plo -rm -f ./$(DEPDIR)/libcurlu_la-base64.Plo -rm -f ./$(DEPDIR)/libcurlu_la-conncache.Plo -rm -f ./$(DEPDIR)/libcurlu_la-connect.Plo -rm -f ./$(DEPDIR)/libcurlu_la-content_encoding.Plo |
︙ | ︙ | |||
4145 4146 4147 4148 4149 4150 4151 | -rm -f vauth/$(DEPDIR)/libcurlu_la-ntlm.Plo -rm -f vauth/$(DEPDIR)/libcurlu_la-ntlm_sspi.Plo -rm -f vauth/$(DEPDIR)/libcurlu_la-oauth2.Plo -rm -f vauth/$(DEPDIR)/libcurlu_la-spnego_gssapi.Plo -rm -f vauth/$(DEPDIR)/libcurlu_la-spnego_sspi.Plo -rm -f vauth/$(DEPDIR)/libcurlu_la-vauth.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-cyassl.Plo | < | | | > | 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 | -rm -f vauth/$(DEPDIR)/libcurlu_la-ntlm.Plo -rm -f vauth/$(DEPDIR)/libcurlu_la-ntlm_sspi.Plo -rm -f vauth/$(DEPDIR)/libcurlu_la-oauth2.Plo -rm -f vauth/$(DEPDIR)/libcurlu_la-spnego_gssapi.Plo -rm -f vauth/$(DEPDIR)/libcurlu_la-spnego_sspi.Plo -rm -f vauth/$(DEPDIR)/libcurlu_la-vauth.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-cyassl.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-gskit.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-gtls.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-mbedtls.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-mesalink.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-nss.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-openssl.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-polarssl.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-polarssl_threadlock.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-schannel.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-schannel_verify.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-sectransp.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-vtls.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-cyassl.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-gskit.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-gtls.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-mbedtls.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-mesalink.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-nss.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-openssl.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-polarssl.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-polarssl_threadlock.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-schannel.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-schannel_verify.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-sectransp.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-vtls.Plo -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ |
︙ | ︙ | |||
4210 4211 4212 4213 4214 4215 4216 | mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-libLTLIBRARIES .PRECIOUS: Makefile checksrc: | | | | 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 | mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-libLTLIBRARIES .PRECIOUS: Makefile checksrc: $(CHECKSRC)(@PERL@ $(srcdir)/checksrc.pl -D$(srcdir) -W$(srcdir)/curl_config.h \ $(srcdir)/*.[ch] $(srcdir)/vauth/*.[ch] $(srcdir)/vtls/*.[ch]) # for debug builds, we scan the sources on all regular make invokes @CURLDEBUG_TRUE@all-local: checksrc tidy: $(TIDY) $(CSOURCES) $(TIDYFLAGS) -- $(AM_CPPFLAGS) $(CPPFLAGS) -DHAVE_CONFIG_H # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: |
Changes to jni/curl/lib/Makefile.inc.
1 2 3 4 5 6 7 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
26 27 28 29 30 31 32 | vauth/spnego_gssapi.c vauth/spnego_sspi.c LIB_VAUTH_HFILES = vauth/vauth.h vauth/digest.h vauth/ntlm.h LIB_VTLS_CFILES = vtls/openssl.c vtls/gtls.c vtls/vtls.c vtls/nss.c \ vtls/polarssl.c vtls/polarssl_threadlock.c \ vtls/cyassl.c vtls/schannel.c vtls/schannel_verify.c \ | | | | | > | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | vauth/spnego_gssapi.c vauth/spnego_sspi.c LIB_VAUTH_HFILES = vauth/vauth.h vauth/digest.h vauth/ntlm.h LIB_VTLS_CFILES = vtls/openssl.c vtls/gtls.c vtls/vtls.c vtls/nss.c \ vtls/polarssl.c vtls/polarssl_threadlock.c \ vtls/cyassl.c vtls/schannel.c vtls/schannel_verify.c \ vtls/sectransp.c vtls/gskit.c vtls/mbedtls.c vtls/mesalink.c LIB_VTLS_HFILES = vtls/openssl.h vtls/vtls.h vtls/gtls.h \ vtls/nssg.h vtls/polarssl.h vtls/polarssl_threadlock.h \ vtls/cyassl.h vtls/schannel.h vtls/sectransp.h vtls/gskit.h \ vtls/mbedtls.h vtls/mesalink.h LIB_CFILES = file.c timeval.c base64.c hostip.c progress.c formdata.c \ cookie.c http.c sendf.c ftp.c url.c dict.c if2ip.c speedcheck.c \ ldap.c version.c getenv.c escape.c mprintf.c telnet.c netrc.c \ getinfo.c transfer.c strcase.c easy.c security.c curl_fnmatch.c \ fileinfo.c ftplistparser.c wildcard.c krb5.c memdebug.c http_chunks.c \ strtok.c connect.c llist.c hash.c multi.c content_encoding.c share.c \ http_digest.c md4.c md5.c http_negotiate.c inet_pton.c strtoofft.c \ strerror.c amigaos.c hostasyn.c hostip4.c hostip6.c hostsyn.c \ inet_ntop.c parsedate.c select.c tftp.c splay.c strdup.c socks.c \ ssh.c ssh-libssh.c curl_addrinfo.c socks_gssapi.c socks_sspi.c \ curl_sspi.c slist.c nonblock.c curl_memrchr.c imap.c pop3.c smtp.c \ pingpong.c rtsp.c curl_threads.c warnless.c hmac.c curl_rtmp.c \ openldap.c curl_gethostname.c gopher.c idn_win32.c \ http_proxy.c non-ascii.c asyn-ares.c asyn-thread.c curl_gssapi.c \ http_ntlm.c curl_ntlm_wb.c curl_ntlm_core.c curl_sasl.c rand.c \ curl_multibyte.c hostcheck.c conncache.c pipeline.c dotdot.c \ x509asn1.c http2.c smb.c curl_endian.c curl_des.c system_win32.c \ mime.c sha256.c setopt.c curl_path.c curl_ctype.c curl_range.c psl.c \ doh.c urlapi.c altsvc.c LIB_HFILES = arpa_telnet.h netrc.h file.h timeval.h hostip.h progress.h \ formdata.h cookie.h http.h sendf.h ftp.h url.h dict.h if2ip.h \ speedcheck.h urldata.h curl_ldap.h escape.h telnet.h getinfo.h \ strcase.h curl_sec.h memdebug.h http_chunks.h curl_fnmatch.h \ wildcard.h fileinfo.h ftplistparser.h strtok.h connect.h llist.h \ hash.h content_encoding.h share.h curl_md4.h curl_md5.h http_digest.h \ http_negotiate.h inet_pton.h amigaos.h strtoofft.h strerror.h \ inet_ntop.h curlx.h curl_memory.h curl_setup.h transfer.h select.h \ easyif.h multiif.h parsedate.h tftp.h sockaddr.h splay.h strdup.h \ socks.h ssh.h curl_base64.h curl_addrinfo.h curl_sspi.h \ slist.h nonblock.h curl_memrchr.h imap.h pop3.h smtp.h pingpong.h \ rtsp.h curl_threads.h warnless.h curl_hmac.h curl_rtmp.h \ curl_gethostname.h gopher.h http_proxy.h non-ascii.h asyn.h \ http_ntlm.h curl_gssapi.h curl_ntlm_wb.h curl_ntlm_core.h \ curl_sasl.h curl_multibyte.h hostcheck.h conncache.h \ curl_setup_once.h multihandle.h setup-vms.h pipeline.h dotdot.h \ x509asn1.h http2.h sigpipe.h smb.h curl_endian.h curl_des.h \ curl_printf.h system_win32.h rand.h mime.h curl_sha256.h setopt.h \ curl_path.h curl_ctype.h curl_range.h psl.h doh.h urlapi-int.h \ altsvc.h LIB_RCFILES = libcurl.rc CSOURCES = $(LIB_CFILES) $(LIB_VAUTH_CFILES) $(LIB_VTLS_CFILES) HHEADERS = $(LIB_HFILES) $(LIB_VAUTH_HFILES) $(LIB_VTLS_HFILES) |
Added jni/curl/lib/altsvc.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ /* * The Alt-Svc: header is defined in RFC 7838: * https://tools.ietf.org/html/rfc7838 */ #include "curl_setup.h" #if !defined(CURL_DISABLE_HTTP) && defined(USE_ALTSVC) #include <curl/curl.h> #include "urldata.h" #include "altsvc.h" #include "cookie.h" /* for Curl_get_line() */ #include "strcase.h" #include "parsedate.h" #include "sendf.h" #include "warnless.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" #define MAX_ALTSVC_LINE 4095 #define MAX_ALTSVC_DATELENSTR "64" #define MAX_ALTSVC_DATELEN 64 #define MAX_ALTSVC_HOSTLENSTR "512" #define MAX_ALTSVC_HOSTLEN 512 #define MAX_ALTSVC_ALPNLENSTR "10" #define MAX_ALTSVC_ALPNLEN 10 static enum alpnid alpn2alpnid(char *name) { if(strcasecompare(name, "h1")) return ALPN_h1; if(strcasecompare(name, "h2")) return ALPN_h2; if(strcasecompare(name, "h2c")) return ALPN_h2c; if(strcasecompare(name, "h3")) return ALPN_h3; return ALPN_none; /* unknown, probably rubbish input */ } /* Given the ALPN ID, return the name */ const char *Curl_alpnid2str(enum alpnid id) { switch(id) { case ALPN_h1: return "h1"; case ALPN_h2: return "h2"; case ALPN_h2c: return "h2c"; case ALPN_h3: return "h3"; default: return ""; /* bad */ } } static void altsvc_free(struct altsvc *as) { free(as->srchost); free(as->dsthost); free(as); } static struct altsvc *altsvc_createid(const char *srchost, const char *dsthost, enum alpnid srcalpnid, enum alpnid dstalpnid, unsigned int srcport, unsigned int dstport) { struct altsvc *as = calloc(sizeof(struct altsvc), 1); if(!as) return NULL; as->srchost = strdup(srchost); if(!as->srchost) goto error; as->dsthost = strdup(dsthost); if(!as->dsthost) goto error; as->srcalpnid = srcalpnid; as->dstalpnid = dstalpnid; as->srcport = curlx_ultous(srcport); as->dstport = curlx_ultous(dstport); return as; error: altsvc_free(as); return NULL; } static struct altsvc *altsvc_create(char *srchost, char *dsthost, char *srcalpn, char *dstalpn, unsigned int srcport, unsigned int dstport) { enum alpnid dstalpnid = alpn2alpnid(dstalpn); enum alpnid srcalpnid = alpn2alpnid(srcalpn); if(!srcalpnid || !dstalpnid) return NULL; return altsvc_createid(srchost, dsthost, srcalpnid, dstalpnid, srcport, dstport); } /* only returns SERIOUS errors */ static CURLcode altsvc_add(struct altsvcinfo *asi, char *line) { /* Example line: h2 example.com 443 h3 shiny.example.com 8443 "20191231 10:00:00" 1 */ char srchost[MAX_ALTSVC_HOSTLEN + 1]; char dsthost[MAX_ALTSVC_HOSTLEN + 1]; char srcalpn[MAX_ALTSVC_ALPNLEN + 1]; char dstalpn[MAX_ALTSVC_ALPNLEN + 1]; char date[MAX_ALTSVC_DATELEN + 1]; unsigned int srcport; unsigned int dstport; unsigned int prio; unsigned int persist; int rc; rc = sscanf(line, "%" MAX_ALTSVC_ALPNLENSTR "s %" MAX_ALTSVC_HOSTLENSTR "s %u " "%" MAX_ALTSVC_ALPNLENSTR "s %" MAX_ALTSVC_HOSTLENSTR "s %u " "\"%" MAX_ALTSVC_DATELENSTR "[^\"]\" %u %u", srcalpn, srchost, &srcport, dstalpn, dsthost, &dstport, date, &persist, &prio); if(9 == rc) { struct altsvc *as; time_t expires = curl_getdate(date, NULL); as = altsvc_create(srchost, dsthost, srcalpn, dstalpn, srcport, dstport); if(as) { as->expires = expires; as->prio = prio; as->persist = persist ? 1 : 0; Curl_llist_insert_next(&asi->list, asi->list.tail, as, &as->node); asi->num++; /* one more entry */ } } return CURLE_OK; } /* * Load alt-svc entries from the given file. The text based line-oriented file * format is documented here: * https://github.com/curl/curl/wiki/QUIC-implementation * * This function only returns error on major problems that prevents alt-svc * handling to work completely. It will ignore individual syntactical errors * etc. */ static CURLcode altsvc_load(struct altsvcinfo *asi, const char *file) { CURLcode result = CURLE_OK; char *line = NULL; FILE *fp = fopen(file, FOPEN_READTEXT); if(fp) { line = malloc(MAX_ALTSVC_LINE); if(!line) goto fail; while(Curl_get_line(line, MAX_ALTSVC_LINE, fp)) { char *lineptr = line; while(*lineptr && ISBLANK(*lineptr)) lineptr++; if(*lineptr == '#') /* skip commented lines */ continue; altsvc_add(asi, lineptr); } free(line); /* free the line buffer */ fclose(fp); } return result; fail: free(line); fclose(fp); return CURLE_OUT_OF_MEMORY; } /* * Write this single altsvc entry to a single output line */ static CURLcode altsvc_out(struct altsvc *as, FILE *fp) { struct tm stamp; CURLcode result = Curl_gmtime(as->expires, &stamp); if(result) return result; fprintf(fp, "%s %s %u " "%s %s %u " "\"%d%02d%02d " "%02d:%02d:%02d\" " "%u %d\n", Curl_alpnid2str(as->srcalpnid), as->srchost, as->srcport, Curl_alpnid2str(as->dstalpnid), as->dsthost, as->dstport, stamp.tm_year + 1900, stamp.tm_mon + 1, stamp.tm_mday, stamp.tm_hour, stamp.tm_min, stamp.tm_sec, as->persist, as->prio); return CURLE_OK; } /* ---- library-wide functions below ---- */ /* * Curl_altsvc_init() creates a new altsvc cache. * It returns the new instance or NULL if something goes wrong. */ struct altsvcinfo *Curl_altsvc_init(void) { struct altsvcinfo *asi = calloc(sizeof(struct altsvcinfo), 1); if(!asi) return NULL; Curl_llist_init(&asi->list, NULL); /* set default behavior */ asi->flags = CURLALTSVC_H1 #ifdef USE_NGHTTP2 | CURLALTSVC_H2 #endif #ifdef USE_HTTP3 /* TODO: adjust when known */ | CURLALTSVC_H3 #endif ; return asi; } /* * Curl_altsvc_load() loads alt-svc from file. */ CURLcode Curl_altsvc_load(struct altsvcinfo *asi, const char *file) { CURLcode result; DEBUGASSERT(asi); result = altsvc_load(asi, file); return result; } /* * Curl_altsvc_ctrl() passes on the external bitmask. */ CURLcode Curl_altsvc_ctrl(struct altsvcinfo *asi, const long ctrl) { DEBUGASSERT(asi); if(!ctrl) /* unexpected */ return CURLE_BAD_FUNCTION_ARGUMENT; asi->flags = ctrl; return CURLE_OK; } /* * Curl_altsvc_cleanup() frees an altsvc cache instance and all associated * resources. */ void Curl_altsvc_cleanup(struct altsvcinfo *altsvc) { struct curl_llist_element *e; struct curl_llist_element *n; if(altsvc) { for(e = altsvc->list.head; e; e = n) { struct altsvc *as = e->ptr; n = e->next; altsvc_free(as); } free(altsvc); } } /* * Curl_altsvc_save() writes the altsvc cache to a file. */ CURLcode Curl_altsvc_save(struct altsvcinfo *altsvc, const char *file) { struct curl_llist_element *e; struct curl_llist_element *n; CURLcode result = CURLE_OK; FILE *out; if(!altsvc) /* no cache activated */ return CURLE_OK; if((altsvc->flags & CURLALTSVC_READONLYFILE) || !file[0]) /* marked as read-only or zero length file name */ return CURLE_OK; out = fopen(file, FOPEN_WRITETEXT); if(!out) return CURLE_WRITE_ERROR; fputs("# Your alt-svc cache. https://curl.haxx.se/docs/alt-svc.html\n" "# This file was generated by libcurl! Edit at your own risk.\n", out); for(e = altsvc->list.head; e; e = n) { struct altsvc *as = e->ptr; n = e->next; result = altsvc_out(as, out); if(result) break; } fclose(out); return result; } static CURLcode getalnum(const char **ptr, char *alpnbuf, size_t buflen) { size_t len; const char *protop; const char *p = *ptr; while(*p && ISBLANK(*p)) p++; protop = p; while(*p && ISALNUM(*p)) p++; len = p - protop; if(!len || (len >= buflen)) return CURLE_BAD_FUNCTION_ARGUMENT; /* TODO: improve error code */ memcpy(alpnbuf, protop, len); alpnbuf[len] = 0; *ptr = p; return CURLE_OK; } /* altsvc_flush() removes all alternatives for this source origin from the list */ static void altsvc_flush(struct altsvcinfo *asi, enum alpnid srcalpnid, const char *srchost, unsigned short srcport) { struct curl_llist_element *e; struct curl_llist_element *n; for(e = asi->list.head; e; e = n) { struct altsvc *as = e->ptr; n = e->next; if((srcalpnid == as->srcalpnid) && (srcport == as->srcport) && strcasecompare(srchost, as->srchost)) { Curl_llist_remove(&asi->list, e, NULL); altsvc_free(as); asi->num--; } } } #ifdef DEBUGBUILD /* to play well with debug builds, we can *set* a fixed time this will return */ static time_t debugtime(void *unused) { char *timestr = getenv("CURL_TIME"); (void)unused; if(timestr) { unsigned long val = strtol(timestr, NULL, 10); return (time_t)val; } return time(NULL); } #define time(x) debugtime(x) #endif /* * Curl_altsvc_parse() takes an incoming alt-svc response header and stores * the data correctly in the cache. * * 'value' points to the header *value*. That's contents to the right of the * header name. */ CURLcode Curl_altsvc_parse(struct Curl_easy *data, struct altsvcinfo *asi, const char *value, enum alpnid srcalpnid, const char *srchost, unsigned short srcport) { const char *p = value; size_t len; enum alpnid dstalpnid = srcalpnid; /* the same by default */ char namebuf[MAX_ALTSVC_HOSTLEN] = ""; char alpnbuf[MAX_ALTSVC_ALPNLEN] = ""; struct altsvc *as; unsigned short dstport = srcport; /* the same by default */ const char *semip; time_t maxage = 24 * 3600; /* default is 24 hours */ bool persist = FALSE; CURLcode result = getalnum(&p, alpnbuf, sizeof(alpnbuf)); if(result) return result; DEBUGASSERT(asi); /* Flush all cached alternatives for this source origin, if any */ altsvc_flush(asi, srcalpnid, srchost, srcport); /* "clear" is a magic keyword */ if(strcasecompare(alpnbuf, "clear")) { /* TODO: clear whatever it is it should clear */ return CURLE_OK; } /* The 'ma' and 'persist' flags are annoyingly meant for all alternatives but are set after the list on the line. Scan for the semicolons and get those fields first! */ semip = p; do { semip = strchr(semip, ';'); if(semip) { char option[32]; unsigned long num; char *end_ptr; semip++; /* pass the semicolon */ result = getalnum(&semip, option, sizeof(option)); if(result) break; while(*semip && ISBLANK(*semip)) semip++; if(*semip != '=') continue; semip++; num = strtoul(semip, &end_ptr, 10); if(num < ULONG_MAX) { if(strcasecompare("ma", option)) maxage = num; else if(strcasecompare("persist", option) && (num == 1)) persist = TRUE; } semip = end_ptr; } } while(semip); do { if(*p == '=') { /* [protocol]="[host][:port]" */ dstalpnid = alpn2alpnid(alpnbuf); if(!dstalpnid) { infof(data, "Unknown alt-svc protocol \"%s\", ignoring...\n", alpnbuf); return CURLE_OK; } p++; if(*p == '\"') { const char *dsthost; p++; if(*p != ':') { /* host name starts here */ const char *hostp = p; while(*p && (ISALNUM(*p) || (*p == '.') || (*p == '-'))) p++; len = p - hostp; if(!len || (len >= MAX_ALTSVC_HOSTLEN)) return CURLE_BAD_FUNCTION_ARGUMENT; /* TODO: improve error code */ memcpy(namebuf, hostp, len); namebuf[len] = 0; dsthost = namebuf; } else { /* no destination name, use source host */ dsthost = srchost; } if(*p == ':') { /* a port number */ char *end_ptr; unsigned long port = strtoul(++p, &end_ptr, 10); if(port > USHRT_MAX || end_ptr == p || *end_ptr != '\"') { infof(data, "Unknown alt-svc port number, ignoring...\n"); return CURLE_OK; } p = end_ptr; dstport = curlx_ultous(port); } if(*p++ != '\"') return CURLE_BAD_FUNCTION_ARGUMENT; as = altsvc_createid(srchost, dsthost, srcalpnid, dstalpnid, srcport, dstport); if(as) { /* TODO: the expires time also needs to take the Age: value (if any) into account. [See RFC 7838 section 3.1] */ as->expires = maxage + time(NULL); as->persist = persist; Curl_llist_insert_next(&asi->list, asi->list.tail, as, &as->node); asi->num++; /* one more entry */ infof(data, "Added alt-svc: %s:%d over %s\n", dsthost, dstport, Curl_alpnid2str(dstalpnid)); } } /* after the double quote there can be a comma if there's another string or a semicolon if no more */ if(*p == ',') { /* comma means another alternative is presented */ p++; result = getalnum(&p, alpnbuf, sizeof(alpnbuf)); if(result) /* failed to parse, but since we already did at least one host we return OK */ return CURLE_OK; } } } while(*p && (*p != ';') && (*p != '\n') && (*p != '\r')); return CURLE_OK; } /* * Return TRUE on a match */ bool Curl_altsvc_lookup(struct altsvcinfo *asi, enum alpnid srcalpnid, const char *srchost, int srcport, enum alpnid *dstalpnid, const char **dsthost, int *dstport) { struct curl_llist_element *e; struct curl_llist_element *n; time_t now = time(NULL); DEBUGASSERT(asi); DEBUGASSERT(srchost); DEBUGASSERT(dsthost); for(e = asi->list.head; e; e = n) { struct altsvc *as = e->ptr; n = e->next; if(as->expires < now) { /* an expired entry, remove */ altsvc_free(as); continue; } if((as->srcalpnid == srcalpnid) && strcasecompare(as->srchost, srchost) && as->srcport == srcport) { /* match */ *dstalpnid = as->dstalpnid; *dsthost = as->dsthost; *dstport = as->dstport; return TRUE; } } return FALSE; } #endif /* CURL_DISABLE_HTTP || USE_ALTSVC */ |
Added jni/curl/lib/altsvc.h.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | #ifndef HEADER_CURL_ALTSVC_H #define HEADER_CURL_ALTSVC_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "curl_setup.h" #if !defined(CURL_DISABLE_HTTP) && defined(USE_ALTSVC) #include <curl/curl.h> #include "llist.h" enum alpnid { ALPN_none, ALPN_h1, ALPN_h2, ALPN_h2c, ALPN_h3 }; struct altsvc { char *srchost; char *dsthost; unsigned short srcport; unsigned short dstport; enum alpnid srcalpnid; enum alpnid dstalpnid; time_t expires; bool persist; int prio; struct curl_llist_element node; }; struct altsvcinfo { char *filename; struct curl_llist list; /* list of entries */ size_t num; /* number of alt-svc entries */ long flags; /* the publicly set bitmask */ }; const char *Curl_alpnid2str(enum alpnid id); struct altsvcinfo *Curl_altsvc_init(void); CURLcode Curl_altsvc_load(struct altsvcinfo *asi, const char *file); CURLcode Curl_altsvc_save(struct altsvcinfo *asi, const char *file); CURLcode Curl_altsvc_ctrl(struct altsvcinfo *asi, const long ctrl); void Curl_altsvc_cleanup(struct altsvcinfo *altsvc); CURLcode Curl_altsvc_parse(struct Curl_easy *data, struct altsvcinfo *altsvc, const char *value, enum alpnid srcalpn, const char *srchost, unsigned short srcport); bool Curl_altsvc_lookup(struct altsvcinfo *asi, enum alpnid srcalpnid, const char *srchost, int srcport, enum alpnid *dstalpnid, const char **dsthost, int *dstport); #else /* disabled */ #define Curl_altsvc_save(a,b) #endif /* CURL_DISABLE_HTTP || USE_ALTSVC */ #endif /* HEADER_CURL_ALTSVC_H */ |
Changes to jni/curl/lib/amigaos.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | | > | > > > > > > > | > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "curl_setup.h" #ifdef __AMIGA__ # include "amigaos.h" # if defined(HAVE_PROTO_BSDSOCKET_H) && !defined(USE_AMISSL) # include <amitcp/socketbasetags.h> # endif # ifdef __libnix__ # include <stabs.h> # endif #endif /* The last #include files should be: */ #include "curl_memory.h" #include "memdebug.h" #ifdef __AMIGA__ #if defined(HAVE_PROTO_BSDSOCKET_H) && !defined(USE_AMISSL) struct Library *SocketBase = NULL; extern int errno, h_errno; #ifdef __libnix__ void __request(const char *msg); #else # define __request(msg) Printf(msg "\n\a") #endif void Curl_amiga_cleanup() { |
︙ | ︙ | |||
70 71 72 73 74 75 76 | return TRUE; } #ifdef __libnix__ ADD2EXIT(Curl_amiga_cleanup, -50); #endif | > > > > > > > > | > | 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | return TRUE; } #ifdef __libnix__ ADD2EXIT(Curl_amiga_cleanup, -50); #endif #endif /* HAVE_PROTO_BSDSOCKET_H */ #ifdef USE_AMISSL void Curl_amiga_X509_free(X509 *a) { X509_free(a); } #endif /* USE_AMISSL */ #endif /* __AMIGA__ */ |
Changes to jni/curl/lib/amigaos.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_AMIGAOS_H #define HEADER_CURL_AMIGAOS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | #ifndef HEADER_CURL_AMIGAOS_H #define HEADER_CURL_AMIGAOS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "curl_setup.h" #if defined(__AMIGA__) && defined(HAVE_BSDSOCKET_H) && !defined(USE_AMISSL) bool Curl_amiga_init(); void Curl_amiga_cleanup(); #else #define Curl_amiga_init() 1 #define Curl_amiga_cleanup() Curl_nop_stmt #endif #ifdef USE_AMISSL #include <openssl/x509v3.h> void Curl_amiga_X509_free(X509 *a); #endif /* USE_AMISSL */ #endif /* HEADER_CURL_AMIGAOS_H */ |
Changes to jni/curl/lib/asyn-thread.c.
︙ | ︙ | |||
457 458 459 460 461 462 463 | failf(conn->data, "Could not resolve %s: %s", host_or_proxy, conn->async.hostname); return result; } | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | | > | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 | failf(conn->data, "Could not resolve %s: %s", host_or_proxy, conn->async.hostname); return result; } static CURLcode thread_wait_resolv(struct connectdata *conn, struct Curl_dns_entry **entry, bool report) { struct thread_data *td = (struct thread_data*) conn->async.os_specific; CURLcode result = CURLE_OK; DEBUGASSERT(conn && td); DEBUGASSERT(td->thread_hnd != curl_thread_t_null); /* wait for the thread to resolve the name */ if(Curl_thread_join(&td->thread_hnd)) { if(entry) result = getaddrinfo_complete(conn); } else DEBUGASSERT(0); conn->async.done = TRUE; if(entry) *entry = conn->async.dns; if(!conn->async.dns && report) /* a name was not resolved, report error */ result = resolver_error(conn); destroy_async_data(&conn->async); if(!conn->async.dns && report) connclose(conn, "asynch resolve failed"); return result; } /* * Until we gain a way to signal the resolver threads to stop early, we must * simply wait for them and ignore their results. */ void Curl_resolver_kill(struct connectdata *conn) { struct thread_data *td = (struct thread_data*) conn->async.os_specific; /* If we're still resolving, we must wait for the threads to fully clean up, unfortunately. Otherwise, we can simply cancel to clean up any resolver data. */ if(td && td->thread_hnd != curl_thread_t_null) (void)thread_wait_resolv(conn, NULL, FALSE); else Curl_resolver_cancel(conn); } /* * Curl_resolver_wait_resolv() * * Waits for a resolve to finish. This function should be avoided since using * this risk getting the multi interface to "hang". * * If 'entry' is non-NULL, make it point to the resolved dns entry * * Returns CURLE_COULDNT_RESOLVE_HOST if the host was not resolved, * CURLE_OPERATION_TIMEDOUT if a time-out occurred, or other errors. * * This is the version for resolves-in-a-thread. */ CURLcode Curl_resolver_wait_resolv(struct connectdata *conn, struct Curl_dns_entry **entry) { return thread_wait_resolv(conn, entry, TRUE); } /* * Curl_resolver_is_resolved() is called repeatedly to check if a previous * name resolve request has completed. It should also make sure to time-out if * the operation seems to take too long. */ CURLcode Curl_resolver_is_resolved(struct connectdata *conn, struct Curl_dns_entry **entry) |
︙ | ︙ |
Changes to jni/curl/lib/config-os400.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_CONFIG_OS400_H #define HEADER_CURL_CONFIG_OS400_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_CONFIG_OS400_H #define HEADER_CURL_CONFIG_OS400_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
420 421 422 423 424 425 426 427 428 429 430 431 432 433 | #define HAVE_STRUCT_SOCKADDR_STORAGE /* Define if you have the ANSI C header files. */ #define STDC_HEADERS /* Define if you can safely include both <sys/time.h> and <time.h>. */ #define TIME_WITH_SYS_TIME /* Version number of package */ #undef VERSION /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS | > > > | 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 | #define HAVE_STRUCT_SOCKADDR_STORAGE /* Define if you have the ANSI C header files. */ #define STDC_HEADERS /* Define if you can safely include both <sys/time.h> and <time.h>. */ #define TIME_WITH_SYS_TIME /* Define to enable alt-svc support (experimental) */ #undef USE_ALTSVC /* Version number of package */ #undef VERSION /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS |
︙ | ︙ |
Changes to jni/curl/lib/config-vxworks.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_CONFIG_VXWORKS_H #define HEADER_CURL_CONFIG_VXWORKS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_CONFIG_VXWORKS_H #define HEADER_CURL_CONFIG_VXWORKS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
157 158 159 160 161 162 163 | /* Define to 1 if you have the <fcntl.h> header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have a working fcntl O_NONBLOCK function. */ #define HAVE_FCNTL_O_NONBLOCK 1 | < < < | 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | /* Define to 1 if you have the <fcntl.h> header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have a working fcntl O_NONBLOCK function. */ #define HAVE_FCNTL_O_NONBLOCK 1 /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 /* Define to 1 if you have the freeaddrinfo function. */ #define HAVE_FREEADDRINFO 1 /* Define to 1 if you have the freeifaddrs function. */ |
︙ | ︙ |
Changes to jni/curl/lib/conncache.c.
︙ | ︙ | |||
388 389 390 391 392 393 394 | /* Return the first connection found in the cache. Used when closing all connections. NOTE: no locking is done here as this is presumably only done when cleaning up a cache! */ | | | | 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 | /* Return the first connection found in the cache. Used when closing all connections. NOTE: no locking is done here as this is presumably only done when cleaning up a cache! */ static struct connectdata * conncache_find_first_connection(struct conncache *connc) { struct curl_hash_iterator iter; struct curl_hash_element *he; struct connectbundle *bundle; Curl_hash_start_iterate(&connc->hash, &iter); |
︙ | ︙ | |||
429 430 431 432 433 434 435 436 437 438 439 440 441 442 | /* data->multi->maxconnects can be negative, deal with it. */ size_t maxconnects = (data->multi->maxconnects < 0) ? data->multi->num_easy * 4: data->multi->maxconnects; struct connectdata *conn_candidate = NULL; if(maxconnects > 0 && Curl_conncache_size(data) > maxconnects) { infof(data, "Connection cache is full, closing the oldest one.\n"); conn_candidate = Curl_conncache_extract_oldest(data); if(conn_candidate) { /* the winner gets the honour of being disconnected */ | > | 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 | /* data->multi->maxconnects can be negative, deal with it. */ size_t maxconnects = (data->multi->maxconnects < 0) ? data->multi->num_easy * 4: data->multi->maxconnects; struct connectdata *conn_candidate = NULL; conn->data = NULL; /* no owner anymore */ if(maxconnects > 0 && Curl_conncache_size(data) > maxconnects) { infof(data, "Connection cache is full, closing the oldest one.\n"); conn_candidate = Curl_conncache_extract_oldest(data); if(conn_candidate) { /* the winner gets the honour of being disconnected */ |
︙ | ︙ | |||
472 473 474 475 476 477 478 | now = Curl_now(); curr = bundle->conn_list.head; while(curr) { conn = curr->ptr; | | | 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 | now = Curl_now(); curr = bundle->conn_list.head; while(curr) { conn = curr->ptr; if(!CONN_INUSE(conn) && !conn->data) { /* Set higher score for the age passed since the connection was used */ score = Curl_timediff(now, conn->now); if(score > highscore) { highscore = score; conn_candidate = conn; } |
︙ | ︙ | |||
530 531 532 533 534 535 536 | bundle = he->ptr; curr = bundle->conn_list.head; while(curr) { conn = curr->ptr; | | | 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 | bundle = he->ptr; curr = bundle->conn_list.head; while(curr) { conn = curr->ptr; if(!CONN_INUSE(conn) && !conn->data) { /* Set higher score for the age passed since the connection was used */ score = Curl_timediff(now, conn->now); if(score > highscore) { highscore = score; conn_candidate = conn; bundle_candidate = bundle; |
︙ | ︙ | |||
562 563 564 565 566 567 568 | return conn_candidate; } void Curl_conncache_close_all_connections(struct conncache *connc) { struct connectdata *conn; | | | | 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 | return conn_candidate; } void Curl_conncache_close_all_connections(struct conncache *connc) { struct connectdata *conn; conn = conncache_find_first_connection(connc); while(conn) { SIGPIPE_VARIABLE(pipe_st); conn->data = connc->closure_handle; sigpipe_ignore(conn->data, &pipe_st); /* This will remove the connection from the cache */ connclose(conn, "kill all"); (void)Curl_disconnect(connc->closure_handle, conn, FALSE); sigpipe_restore(&pipe_st); conn = conncache_find_first_connection(connc); } if(connc->closure_handle) { SIGPIPE_VARIABLE(pipe_st); sigpipe_ignore(connc->closure_handle, &pipe_st); Curl_hostcache_clean(connc->closure_handle, |
︙ | ︙ |
Changes to jni/curl/lib/connect.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
442 443 444 445 446 447 448 449 450 | for(;;) { if(bind(sockfd, sock, sizeof_sa) >= 0) { /* we succeeded to bind */ struct Curl_sockaddr_storage add; curl_socklen_t size = sizeof(add); memset(&add, 0, sizeof(struct Curl_sockaddr_storage)); if(getsockname(sockfd, (struct sockaddr *) &add, &size) < 0) { data->state.os_errno = error = SOCKERRNO; failf(data, "getsockname() failed with errno %d: %s", | > | | 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 | for(;;) { if(bind(sockfd, sock, sizeof_sa) >= 0) { /* we succeeded to bind */ struct Curl_sockaddr_storage add; curl_socklen_t size = sizeof(add); memset(&add, 0, sizeof(struct Curl_sockaddr_storage)); if(getsockname(sockfd, (struct sockaddr *) &add, &size) < 0) { char buffer[STRERROR_LEN]; data->state.os_errno = error = SOCKERRNO; failf(data, "getsockname() failed with errno %d: %s", error, Curl_strerror(error, buffer, sizeof(buffer))); return CURLE_INTERFACE_FAILED; } infof(data, "Local port: %hu\n", port); conn->bits.bound = TRUE; return CURLE_OK; } |
︙ | ︙ | |||
466 467 468 469 470 471 472 | else si6->sin6_port = ntohs(port); #endif } else break; } | | > | | | > | 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 | else si6->sin6_port = ntohs(port); #endif } else break; } { char buffer[STRERROR_LEN]; data->state.os_errno = error = SOCKERRNO; failf(data, "bind failed with errno %d: %s", error, Curl_strerror(error, buffer, sizeof(buffer))); } return CURLE_INTERFACE_FAILED; } /* * verifyconnect() returns TRUE if the connect really has happened. */ |
︙ | ︙ | |||
612 613 614 615 616 617 618 619 620 621 | memcpy(conn->data->info.conn_primary_ip, conn->primary_ip, MAX_IPADR_LEN); memcpy(conn->data->info.conn_local_ip, conn->local_ip, MAX_IPADR_LEN); conn->data->info.conn_scheme = conn->handler->scheme; conn->data->info.conn_protocol = conn->handler->protocol; conn->data->info.conn_primary_port = conn->primary_port; conn->data->info.conn_local_port = conn->local_port; } /* retrieves ip address and port from a sockaddr structure. note it calls Curl_inet_ntop which sets errno on fail, not SOCKERRNO. */ | > > > | | | 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 | memcpy(conn->data->info.conn_primary_ip, conn->primary_ip, MAX_IPADR_LEN); memcpy(conn->data->info.conn_local_ip, conn->local_ip, MAX_IPADR_LEN); conn->data->info.conn_scheme = conn->handler->scheme; conn->data->info.conn_protocol = conn->handler->protocol; conn->data->info.conn_primary_port = conn->primary_port; conn->data->info.conn_local_port = conn->local_port; } UNITTEST bool getaddressinfo(struct sockaddr *sa, char *addr, long *port); /* retrieves ip address and port from a sockaddr structure. note it calls Curl_inet_ntop which sets errno on fail, not SOCKERRNO. */ UNITTEST bool getaddressinfo(struct sockaddr *sa, char *addr, long *port) { unsigned short us_port; struct sockaddr_in *si = NULL; #ifdef ENABLE_IPV6 struct sockaddr_in6 *si6 = NULL; #endif #if defined(HAVE_SYS_UN_H) && defined(AF_UNIX) |
︙ | ︙ | |||
679 680 681 682 683 684 685 686 687 688 689 | struct Curl_easy *data = conn->data; if(conn->socktype == SOCK_DGRAM) /* there's no connection! */ return; if(!conn->bits.reuse && !conn->bits.tcp_fastopen) { len = sizeof(struct Curl_sockaddr_storage); if(getpeername(sockfd, (struct sockaddr*) &ssrem, &len)) { int error = SOCKERRNO; failf(data, "getpeername() failed with errno %d: %s", | > | | | | | | | | | 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 | struct Curl_easy *data = conn->data; if(conn->socktype == SOCK_DGRAM) /* there's no connection! */ return; if(!conn->bits.reuse && !conn->bits.tcp_fastopen) { char buffer[STRERROR_LEN]; len = sizeof(struct Curl_sockaddr_storage); if(getpeername(sockfd, (struct sockaddr*) &ssrem, &len)) { int error = SOCKERRNO; failf(data, "getpeername() failed with errno %d: %s", error, Curl_strerror(error, buffer, sizeof(buffer))); return; } len = sizeof(struct Curl_sockaddr_storage); memset(&ssloc, 0, sizeof(ssloc)); if(getsockname(sockfd, (struct sockaddr*) &ssloc, &len)) { int error = SOCKERRNO; failf(data, "getsockname() failed with errno %d: %s", error, Curl_strerror(error, buffer, sizeof(buffer))); return; } if(!getaddressinfo((struct sockaddr*)&ssrem, conn->primary_ip, &conn->primary_port)) { failf(data, "ssrem inet_ntop() failed with errno %d: %s", errno, Curl_strerror(errno, buffer, sizeof(buffer))); return; } memcpy(conn->ip_addr_str, conn->primary_ip, MAX_IPADR_LEN); if(!getaddressinfo((struct sockaddr*)&ssloc, conn->local_ip, &conn->local_port)) { failf(data, "ssloc inet_ntop() failed with errno %d: %s", errno, Curl_strerror(errno, buffer, sizeof(buffer))); return; } } /* persist connection info in session handle */ Curl_persistconninfo(conn); |
︙ | ︙ | |||
832 833 834 835 836 837 838 839 840 | */ if(error) { data->state.os_errno = error; SET_SOCKERRNO(error); if(conn->tempaddr[i]) { CURLcode status; char ipaddress[MAX_IPADR_LEN]; Curl_printable_address(conn->tempaddr[i], ipaddress, MAX_IPADR_LEN); infof(data, "connect to %s port %ld failed: %s\n", | > | > < > | > | > | | > | > | 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 | */ if(error) { data->state.os_errno = error; SET_SOCKERRNO(error); if(conn->tempaddr[i]) { CURLcode status; char ipaddress[MAX_IPADR_LEN]; char buffer[STRERROR_LEN]; Curl_printable_address(conn->tempaddr[i], ipaddress, MAX_IPADR_LEN); infof(data, "connect to %s port %ld failed: %s\n", ipaddress, conn->port, Curl_strerror(error, buffer, sizeof(buffer))); conn->timeoutms_per_addr = conn->tempaddr[i]->ai_next == NULL ? allow : allow / 2; status = trynextip(conn, sockindex, i); if(status != CURLE_COULDNT_CONNECT || conn->tempsock[other] == CURL_SOCKET_BAD) /* the last attempt failed and no other sockets remain open */ result = status; } } } if(result) { /* no more addresses to try */ const char *hostname; char buffer[STRERROR_LEN]; /* if the first address family runs out of addresses to try before the happy eyeball timeout, go ahead and try the next family now */ if(conn->tempaddr[1] == NULL) { result = trynextip(conn, sockindex, 1); if(!result) return result; } if(conn->bits.socksproxy) hostname = conn->socks_proxy.host.name; else if(conn->bits.httpproxy) hostname = conn->http_proxy.host.name; else if(conn->bits.conn_to_host) hostname = conn->conn_to_host.name; else hostname = conn->host.name; failf(data, "Failed to connect to %s port %ld: %s", hostname, conn->port, Curl_strerror(error, buffer, sizeof(buffer))); } return result; } static void tcpnodelay(struct connectdata *conn, curl_socket_t sockfd) { #if defined(TCP_NODELAY) #if !defined(CURL_DISABLE_VERBOSE_STRINGS) struct Curl_easy *data = conn->data; #endif curl_socklen_t onoff = (curl_socklen_t) 1; int level = IPPROTO_TCP; char buffer[STRERROR_LEN]; #if defined(CURL_DISABLE_VERBOSE_STRINGS) (void) conn; #endif if(setsockopt(sockfd, level, TCP_NODELAY, (void *)&onoff, sizeof(onoff)) < 0) infof(data, "Could not set TCP_NODELAY: %s\n", Curl_strerror(SOCKERRNO, buffer, sizeof(buffer))); else infof(data, "TCP_NODELAY set\n"); #else (void)conn; (void)sockfd; #endif } #ifdef SO_NOSIGPIPE /* The preferred method on Mac OS X (10.2 and later) to prevent SIGPIPEs when sending data to a dead peer (instead of relying on the 4th argument to send being MSG_NOSIGNAL). Possibly also existing and in use on other BSD systems? */ static void nosigpipe(struct connectdata *conn, curl_socket_t sockfd) { struct Curl_easy *data = conn->data; int onoff = 1; if(setsockopt(sockfd, SOL_SOCKET, SO_NOSIGPIPE, (void *)&onoff, sizeof(onoff)) < 0) { char buffer[STRERROR_LEN]; infof(data, "Could not set SO_NOSIGPIPE: %s\n", Curl_strerror(SOCKERRNO, buffer, sizeof(buffer))); } } #else #define nosigpipe(x,y) Curl_nop_stmt #endif #ifdef USE_WINSOCK /* When you run a program that uses the Windows Sockets API, you may |
︙ | ︙ | |||
991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 | CURLcode result; char ipaddress[MAX_IPADR_LEN]; long port; bool is_tcp; #ifdef TCP_FASTOPEN_CONNECT int optval = 1; #endif *sockp = CURL_SOCKET_BAD; result = Curl_socket(conn, ai, &addr, &sockfd); if(result) /* Failed to create the socket, but still return OK since we signal the lack of socket as well. This allows the parent function to keep looping over alternative addresses/socket families etc. */ return CURLE_OK; /* store remote address and port used in this connection attempt */ | > | | | | | 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 | CURLcode result; char ipaddress[MAX_IPADR_LEN]; long port; bool is_tcp; #ifdef TCP_FASTOPEN_CONNECT int optval = 1; #endif char buffer[STRERROR_LEN]; *sockp = CURL_SOCKET_BAD; result = Curl_socket(conn, ai, &addr, &sockfd); if(result) /* Failed to create the socket, but still return OK since we signal the lack of socket as well. This allows the parent function to keep looping over alternative addresses/socket families etc. */ return CURLE_OK; /* store remote address and port used in this connection attempt */ if(!getaddressinfo((struct sockaddr*)&addr.sa_addr, ipaddress, &port)) { /* malformed address or bug in inet_ntop, try next address */ failf(data, "sa_addr inet_ntop() failed with errno %d: %s", errno, Curl_strerror(errno, buffer, sizeof(buffer))); Curl_closesocket(conn, sockfd); return CURLE_OK; } infof(data, " Trying %s...\n", ipaddress); #ifdef ENABLE_IPV6 is_tcp = (addr.family == AF_INET || addr.family == AF_INET6) && addr.socktype == SOCK_STREAM; #else is_tcp = (addr.family == AF_INET) && addr.socktype == SOCK_STREAM; #endif if(is_tcp && data->set.tcp_nodelay) tcpnodelay(conn, sockfd); nosigpipe(conn, sockfd); Curl_sndbufset(sockfd); if(is_tcp && data->set.tcp_keepalive) tcpkeepalive(data, sockfd); |
︙ | ︙ | |||
1142 1143 1144 1145 1146 1147 1148 | #endif result = CURLE_OK; break; default: /* unknown error, fallthrough and try another address! */ infof(data, "Immediate connect fail for %s: %s\n", | | | 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 | #endif result = CURLE_OK; break; default: /* unknown error, fallthrough and try another address! */ infof(data, "Immediate connect fail for %s: %s\n", ipaddress, Curl_strerror(error, buffer, sizeof(buffer))); data->state.os_errno = error; /* connect failed */ Curl_closesocket(conn, sockfd); result = CURLE_COULDNT_CONNECT; } } |
︙ | ︙ | |||
1416 1417 1418 1419 1420 1421 1422 | { /* close if a connection, or a stream that isn't multiplexed */ bool closeit = (ctrl == CONNCTRL_CONNECTION) || ((ctrl == CONNCTRL_STREAM) && !(conn->handler->flags & PROTOPT_STREAM)); if((ctrl == CONNCTRL_STREAM) && (conn->handler->flags & PROTOPT_STREAM)) DEBUGF(infof(conn->data, "Kill stream: %s\n", reason)); | | | 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 | { /* close if a connection, or a stream that isn't multiplexed */ bool closeit = (ctrl == CONNCTRL_CONNECTION) || ((ctrl == CONNCTRL_STREAM) && !(conn->handler->flags & PROTOPT_STREAM)); if((ctrl == CONNCTRL_STREAM) && (conn->handler->flags & PROTOPT_STREAM)) DEBUGF(infof(conn->data, "Kill stream: %s\n", reason)); else if((bit)closeit != conn->bits.close) { DEBUGF(infof(conn->data, "Marked for [%s]: %s\n", closeit?"closure":"keep alive", reason)); conn->bits.close = closeit; /* the only place in the source code that should assign this bit */ } } |
︙ | ︙ |
Changes to jni/curl/lib/connect.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_CONNECT_H #define HEADER_CURL_CONNECT_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_CONNECT_H #define HEADER_CURL_CONNECT_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
71 72 73 74 75 76 77 | #define Curl_sndbufset(y) Curl_nop_stmt #endif void Curl_updateconninfo(struct connectdata *conn, curl_socket_t sockfd); void Curl_persistconninfo(struct connectdata *conn); int Curl_closesocket(struct connectdata *conn, curl_socket_t sock); | < < < < < | 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | #define Curl_sndbufset(y) Curl_nop_stmt #endif void Curl_updateconninfo(struct connectdata *conn, curl_socket_t sockfd); void Curl_persistconninfo(struct connectdata *conn); int Curl_closesocket(struct connectdata *conn, curl_socket_t sock); /* * The Curl_sockaddr_ex structure is basically libcurl's external API * curl_sockaddr structure with enough space available to directly hold any * protocol-specific address structures. The variable declared here will be * used to pass / receive data to/from the fopensocket callback if this has * been set, before that, it is initialized from parameters. */ |
︙ | ︙ | |||
107 108 109 110 111 112 113 | * */ CURLcode Curl_socket(struct connectdata *conn, const Curl_addrinfo *ai, struct Curl_sockaddr_ex *addr, curl_socket_t *sockfd); | < < | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | * */ CURLcode Curl_socket(struct connectdata *conn, const Curl_addrinfo *ai, struct Curl_sockaddr_ex *addr, curl_socket_t *sockfd); /* * Curl_conncontrol() marks the end of a connection/stream. The 'closeit' * argument specifies if it is the end of a connection or a stream. * * For stream-based protocols (such as HTTP/2), a stream close will not cause * a connection close. Other protocols will close the connection for both * cases. |
︙ | ︙ |
Changes to jni/curl/lib/cookie.c.
︙ | ︙ | |||
523 524 525 526 527 528 529 530 531 532 533 534 535 536 | len--; } /* Skip leading whitespace from the 'what' */ whatptr = what; while(*whatptr && ISBLANK(*whatptr)) whatptr++; if(!co->name) { /* The very first name/value pair is the actual cookie name */ if(!sep) { /* Bad name/value pair. */ badcookie = TRUE; break; | > > > > > > > > > > > > > | 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 | len--; } /* Skip leading whitespace from the 'what' */ whatptr = what; while(*whatptr && ISBLANK(*whatptr)) whatptr++; /* * Check if we have a reserved prefix set before anything else, as we * otherwise have to test for the prefix in both the cookie name and * "the rest". Prefixes must start with '__' and end with a '-', so * only test for names where that can possibly be true. */ if(nlen > 3 && name[0] == '_' && name[1] == '_') { if(strncasecompare("__Secure-", name, 9)) co->prefix |= COOKIE_PREFIX__SECURE; else if(strncasecompare("__Host-", name, 7)) co->prefix |= COOKIE_PREFIX__HOST; } if(!co->name) { /* The very first name/value pair is the actual cookie name */ if(!sep) { /* Bad name/value pair. */ badcookie = TRUE; break; |
︙ | ︙ | |||
799 800 801 802 803 804 805 | switch(fields) { case 0: if(ptr[0]=='.') /* skip preceding dots */ ptr++; co->domain = strdup(ptr); if(!co->domain) badcookie = TRUE; | < < | 812 813 814 815 816 817 818 819 820 821 822 823 824 825 | switch(fields) { case 0: if(ptr[0]=='.') /* skip preceding dots */ ptr++; co->domain = strdup(ptr); if(!co->domain) badcookie = TRUE; break; case 1: /* This field got its explanation on the 23rd of May 2001 by Andrs Garca: flag: A TRUE/FALSE value indicating if all machines within a given domain can access the variable. This value is set automatically by |
︙ | ︙ | |||
858 859 860 861 862 863 864 865 866 867 868 869 870 871 | if(curlx_strtoofft(ptr, NULL, 10, &co->expires)) badcookie = TRUE; break; case 5: co->name = strdup(ptr); if(!co->name) badcookie = TRUE; break; case 6: co->value = strdup(ptr); if(!co->value) badcookie = TRUE; break; } | > > > > > | 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 | if(curlx_strtoofft(ptr, NULL, 10, &co->expires)) badcookie = TRUE; break; case 5: co->name = strdup(ptr); if(!co->name) badcookie = TRUE; /* For Netscape file format cookies we check prefix on the name */ if(strncasecompare("__Secure-", co->name, 9)) co->prefix |= COOKIE_PREFIX__SECURE; else if(strncasecompare("__Host-", co->name, 7)) co->prefix |= COOKIE_PREFIX__HOST; break; case 6: co->value = strdup(ptr); if(!co->value) badcookie = TRUE; break; } |
︙ | ︙ | |||
885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 | if(badcookie) { freecookie(co); return NULL; } } if(!c->running && /* read from a file */ c->newsession && /* clean session cookies */ !co->expires) { /* this is a session cookie since it doesn't expire! */ freecookie(co); return NULL; } co->livecookie = c->running; co->creationtime = ++c->lastct; /* now, we have parsed the incoming line, we must now check if this supersedes an already existing cookie, which it may if the previous have the same domain and path as this */ /* at first, remove expired cookies */ if(!noexpire) remove_expired(c); | > > > > > > > > > > > > > > > > > > > > < < > > > < < < | > | 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 | if(badcookie) { freecookie(co); return NULL; } } if(co->prefix & COOKIE_PREFIX__SECURE) { /* The __Secure- prefix only requires that the cookie be set secure */ if(!co->secure) { freecookie(co); return NULL; } } if(co->prefix & COOKIE_PREFIX__HOST) { /* * The __Host- prefix requires the cookie to be secure, have a "/" path * and not have a domain set. */ if(co->secure && co->path && strcmp(co->path, "/") == 0 && !co->tailmatch) ; else { freecookie(co); return NULL; } } if(!c->running && /* read from a file */ c->newsession && /* clean session cookies */ !co->expires) { /* this is a session cookie since it doesn't expire! */ freecookie(co); return NULL; } co->livecookie = c->running; co->creationtime = ++c->lastct; /* now, we have parsed the incoming line, we must now check if this supersedes an already existing cookie, which it may if the previous have the same domain and path as this */ /* at first, remove expired cookies */ if(!noexpire) remove_expired(c); #ifdef USE_LIBPSL /* Check if the domain is a Public Suffix and if yes, ignore the cookie. */ if(domain && co->domain && !isip(co->domain)) { const psl_ctx_t *psl = Curl_psl_use(data); int acceptable; if(psl) { acceptable = psl_is_cookie_domain_acceptable(psl, domain, co->domain); Curl_psl_release(data); } else acceptable = !bad_domain(domain); if(!acceptable) { infof(data, "cookie '%s' dropped, domain '%s' must not " "set cookies for '%s'\n", co->name, domain, co->domain); freecookie(co); return NULL; } } #endif myhash = cookiehash(co->domain); clist = c->cookies[myhash]; replace_old = FALSE; while(clist) { if(strcasecompare(clist->name, co->name)) { /* the names are identical */ |
︙ | ︙ | |||
1050 1051 1052 1053 1054 1055 1056 | return co; } /* * get_line() makes sure to only return complete whole lines that fit in 'len' * bytes and end with a newline. */ | | | 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 | return co; } /* * get_line() makes sure to only return complete whole lines that fit in 'len' * bytes and end with a newline. */ char *Curl_get_line(char *buf, int len, FILE *input) { bool partial = FALSE; while(1) { char *b = fgets(buf, len, input); if(b) { size_t rlen = strlen(b); if(rlen && (b[rlen-1] == '\n')) { |
︙ | ︙ | |||
1130 1131 1132 1133 1134 1135 1136 | if(fp) { char *lineptr; bool headerline; line = malloc(MAX_COOKIE_LINE); if(!line) goto fail; | | | 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 | if(fp) { char *lineptr; bool headerline; line = malloc(MAX_COOKIE_LINE); if(!line) goto fail; while(Curl_get_line(line, MAX_COOKIE_LINE, fp)) { if(checkprefix("Set-Cookie:", line)) { /* This is a cookie line, get it! */ lineptr = &line[11]; headerline = TRUE; } else { lineptr = line; |
︙ | ︙ | |||
1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 | FILE *out; bool use_stdout = FALSE; char *format_ptr; unsigned int i; unsigned int j; struct Cookie **array; /* at first, remove expired cookies */ remove_expired(c); if(!strcmp("-", dumphere)) { /* use stdout */ out = stdout; use_stdout = TRUE; | > > > > | 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 | FILE *out; bool use_stdout = FALSE; char *format_ptr; unsigned int i; unsigned int j; struct Cookie **array; if(!c) /* no cookie engine alive */ return 0; /* at first, remove expired cookies */ remove_expired(c); if(!strcmp("-", dumphere)) { /* use stdout */ out = stdout; use_stdout = TRUE; |
︙ | ︙ |
Changes to jni/curl/lib/cookie.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_COOKIE_H #define HEADER_CURL_COOKIE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_COOKIE_H #define HEADER_CURL_COOKIE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | char *version; /* Version = <value> */ char *maxage; /* Max-Age = <value> */ bool secure; /* whether the 'secure' keyword was used */ bool livecookie; /* updated from a server, not a stored file */ bool httponly; /* true if the httponly directive is present */ int creationtime; /* time when the cookie was written */ }; #define COOKIE_HASH_SIZE 256 struct CookieInfo { /* linked list of cookies we know of */ struct Cookie *cookies[COOKIE_HASH_SIZE]; char *filename; /* file we read from/write to */ | > > > > > > > > | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | char *version; /* Version = <value> */ char *maxage; /* Max-Age = <value> */ bool secure; /* whether the 'secure' keyword was used */ bool livecookie; /* updated from a server, not a stored file */ bool httponly; /* true if the httponly directive is present */ int creationtime; /* time when the cookie was written */ unsigned char prefix; /* bitmap fields indicating which prefix are set */ }; /* * Available cookie prefixes, as defined in * draft-ietf-httpbis-rfc6265bis-02 */ #define COOKIE_PREFIX__SECURE (1<<0) #define COOKIE_PREFIX__HOST (1<<1) #define COOKIE_HASH_SIZE 256 struct CookieInfo { /* linked list of cookies we know of */ struct Cookie *cookies[COOKIE_HASH_SIZE]; char *filename; /* file we read from/write to */ |
︙ | ︙ | |||
89 90 91 92 93 94 95 96 97 98 99 100 101 102 | bool secure); struct Cookie *Curl_cookie_getlist(struct CookieInfo *, const char *, const char *, bool); void Curl_cookie_freelist(struct Cookie *cookies); void Curl_cookie_clearall(struct CookieInfo *cookies); void Curl_cookie_clearsess(struct CookieInfo *cookies); #if defined(CURL_DISABLE_HTTP) || defined(CURL_DISABLE_COOKIES) #define Curl_cookie_list(x) NULL #define Curl_cookie_loadfiles(x) Curl_nop_stmt #define Curl_cookie_init(x,y,z,w) NULL #define Curl_cookie_cleanup(x) Curl_nop_stmt #define Curl_flush_cookies(x,y) Curl_nop_stmt | > | 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | bool secure); struct Cookie *Curl_cookie_getlist(struct CookieInfo *, const char *, const char *, bool); void Curl_cookie_freelist(struct Cookie *cookies); void Curl_cookie_clearall(struct CookieInfo *cookies); void Curl_cookie_clearsess(struct CookieInfo *cookies); char *Curl_get_line(char *buf, int len, FILE *input); #if defined(CURL_DISABLE_HTTP) || defined(CURL_DISABLE_COOKIES) #define Curl_cookie_list(x) NULL #define Curl_cookie_loadfiles(x) Curl_nop_stmt #define Curl_cookie_init(x,y,z,w) NULL #define Curl_cookie_cleanup(x) Curl_nop_stmt #define Curl_flush_cookies(x,y) Curl_nop_stmt |
︙ | ︙ |
Changes to jni/curl/lib/curl_addrinfo.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
535 536 537 538 539 540 541 | return ai; } #endif #if defined(CURLDEBUG) && defined(HAVE_GETADDRINFO) && \ defined(HAVE_FREEADDRINFO) /* | | | | > > < < | | | | | | | | | | | 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 | return ai; } #endif #if defined(CURLDEBUG) && defined(HAVE_GETADDRINFO) && \ defined(HAVE_FREEADDRINFO) /* * curl_dbg_freeaddrinfo() * * This is strictly for memory tracing and are using the same style as the * family otherwise present in memdebug.c. I put these ones here since they * require a bunch of structs I didn't want to include in memdebug.c */ void curl_dbg_freeaddrinfo(struct addrinfo *freethis, int line, const char *source) { curl_dbg_log("ADDR %s:%d freeaddrinfo(%p)\n", source, line, (void *)freethis); #ifdef USE_LWIPSOCK lwip_freeaddrinfo(freethis); #else (freeaddrinfo)(freethis); #endif } #endif /* defined(CURLDEBUG) && defined(HAVE_FREEADDRINFO) */ #if defined(CURLDEBUG) && defined(HAVE_GETADDRINFO) /* * curl_dbg_getaddrinfo() * * This is strictly for memory tracing and are using the same style as the * family otherwise present in memdebug.c. I put these ones here since they * require a bunch of structs I didn't want to include in memdebug.c */ int curl_dbg_getaddrinfo(const char *hostname, const char *service, const struct addrinfo *hints, struct addrinfo **result, int line, const char *source) { #ifdef USE_LWIPSOCK int res = lwip_getaddrinfo(hostname, service, hints, result); #else int res = (getaddrinfo)(hostname, service, hints, result); #endif if(0 == res) /* success */ curl_dbg_log("ADDR %s:%d getaddrinfo() = %p\n", source, line, (void *)*result); else curl_dbg_log("ADDR %s:%d getaddrinfo() failed\n", source, line); return res; } #endif /* defined(CURLDEBUG) && defined(HAVE_GETADDRINFO) */ #if defined(HAVE_GETADDRINFO) && defined(USE_RESOLVE_ON_IPS) /* * Work-arounds the sin6_port is always zero bug on iOS 9.3.2 and Mac OS X |
︙ | ︙ |
Changes to jni/curl/lib/curl_addrinfo.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_ADDRINFO_H #define HEADER_CURL_ADDRINFO_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_ADDRINFO_H #define HEADER_CURL_ADDRINFO_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
82 83 84 85 86 87 88 | #ifdef USE_UNIX_SOCKETS Curl_addrinfo *Curl_unix2addr(const char *path, bool *longpath, bool abstract); #endif #if defined(CURLDEBUG) && defined(HAVE_GETADDRINFO) && \ defined(HAVE_FREEADDRINFO) void | | < | < | < | | 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | #ifdef USE_UNIX_SOCKETS Curl_addrinfo *Curl_unix2addr(const char *path, bool *longpath, bool abstract); #endif #if defined(CURLDEBUG) && defined(HAVE_GETADDRINFO) && \ defined(HAVE_FREEADDRINFO) void curl_dbg_freeaddrinfo(struct addrinfo *freethis, int line, const char *source); #endif #if defined(CURLDEBUG) && defined(HAVE_GETADDRINFO) int curl_dbg_getaddrinfo(const char *hostname, const char *service, const struct addrinfo *hints, struct addrinfo **result, int line, const char *source); #endif #ifdef HAVE_GETADDRINFO #ifdef USE_RESOLVE_ON_IPS void Curl_addrinfo_set_port(Curl_addrinfo *addrinfo, int port); #else #define Curl_addrinfo_set_port(x,y) #endif #endif #endif /* HEADER_CURL_ADDRINFO_H */ |
Changes to jni/curl/lib/curl_config.h.in.
︙ | ︙ | |||
186 187 188 189 190 191 192 | /* Define to 1 if you have the <fcntl.h> header file. */ #undef HAVE_FCNTL_H /* Define to 1 if you have a working fcntl O_NONBLOCK function. */ #undef HAVE_FCNTL_O_NONBLOCK | < < < | 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | /* Define to 1 if you have the <fcntl.h> header file. */ #undef HAVE_FCNTL_H /* Define to 1 if you have a working fcntl O_NONBLOCK function. */ #undef HAVE_FCNTL_O_NONBLOCK /* Define to 1 if you have the `fnmatch' function. */ #undef HAVE_FNMATCH /* Define to 1 if you have the freeaddrinfo function. */ #undef HAVE_FREEADDRINFO /* Define to 1 if you have the freeifaddrs function. */ |
︙ | ︙ | |||
522 523 524 525 526 527 528 529 530 531 532 533 534 535 | /* Define to 1 if you have the <poll.h> header file. */ #undef HAVE_POLL_H /* Define to 1 if you have a working POSIX-style strerror_r function. */ #undef HAVE_POSIX_STRERROR_R /* if you have <pthread.h> */ #undef HAVE_PTHREAD_H /* Define to 1 if you have the <pwd.h> header file. */ #undef HAVE_PWD_H /* Define to 1 if you have the `RAND_egd' function. */ | > > > | 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 | /* Define to 1 if you have the <poll.h> header file. */ #undef HAVE_POLL_H /* Define to 1 if you have a working POSIX-style strerror_r function. */ #undef HAVE_POSIX_STRERROR_R /* Define to 1 if you have the <proto/bsdsocket.h> header file. */ #undef HAVE_PROTO_BSDSOCKET_H /* if you have <pthread.h> */ #undef HAVE_PTHREAD_H /* Define to 1 if you have the <pwd.h> header file. */ #undef HAVE_PWD_H /* Define to 1 if you have the `RAND_egd' function. */ |
︙ | ︙ | |||
612 613 614 615 616 617 618 | /* Define to 1 if you have the <stdbool.h> header file. */ #undef HAVE_STDBOOL_H /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H | < < < | 612 613 614 615 616 617 618 619 620 621 622 623 624 625 | /* Define to 1 if you have the <stdbool.h> header file. */ #undef HAVE_STDBOOL_H /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the <stdlib.h> header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the strcasecmp function. */ #undef HAVE_STRCASECMP /* Define to 1 if you have the strcmpi function. */ |
︙ | ︙ | |||
762 763 764 765 766 767 768 | /* Define to 1 if you have the winsock.h header file. */ #undef HAVE_WINSOCK_H /* Define to 1 if you have the `wolfSSLv3_client_method' function. */ #undef HAVE_WOLFSSLV3_CLIENT_METHOD | < < < | 759 760 761 762 763 764 765 766 767 768 769 770 771 772 | /* Define to 1 if you have the winsock.h header file. */ #undef HAVE_WINSOCK_H /* Define to 1 if you have the `wolfSSLv3_client_method' function. */ #undef HAVE_WOLFSSLV3_CLIENT_METHOD /* Define to 1 if you have the `wolfSSL_get_peer_certificate' function. */ #undef HAVE_WOLFSSL_GET_PEER_CERTIFICATE /* Define to 1 if you have the `wolfSSL_UseALPN' function. */ #undef HAVE_WOLFSSL_USEALPN /* Define this symbol if your OS supports changing the contents of argv */ |
︙ | ︙ | |||
920 921 922 923 924 925 926 927 928 929 930 931 932 933 | #undef STDC_HEADERS /* Define to the type of arg 3 for strerror_r. */ #undef STRERROR_R_TYPE_ARG3 /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ #undef TIME_WITH_SYS_TIME /* Define to enable c-ares support */ #undef USE_ARES /* if CyaSSL/WolfSSL is enabled */ #undef USE_CYASSL | > > > > > > < < < | 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 | #undef STDC_HEADERS /* Define to the type of arg 3 for strerror_r. */ #undef STRERROR_R_TYPE_ARG3 /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ #undef TIME_WITH_SYS_TIME /* to enable alt-svc */ #undef USE_ALTSVC /* if AmiSSL is in use */ #undef USE_AMISSL /* Define to enable c-ares support */ #undef USE_ARES /* if CyaSSL/WolfSSL is enabled */ #undef USE_CYASSL /* if GnuTLS is enabled */ #undef USE_GNUTLS /* if GnuTLS uses nettle as crypto backend */ #undef USE_GNUTLS_NETTLE /* PSL support enabled */ |
︙ | ︙ | |||
977 978 979 980 981 982 983 984 985 986 987 988 989 990 | #undef USE_OPENSSL /* if PolarSSL is enabled */ #undef USE_POLARSSL /* to enable Windows native SSL/TLS support */ #undef USE_SCHANNEL /* if you want POSIX threaded DNS lookup */ #undef USE_THREADS_POSIX /* if you want Win32 threaded DNS lookup */ #undef USE_THREADS_WIN32 | > > > | 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 | #undef USE_OPENSSL /* if PolarSSL is enabled */ #undef USE_POLARSSL /* to enable Windows native SSL/TLS support */ #undef USE_SCHANNEL /* enable Secure Transport */ #undef USE_SECTRANSP /* if you want POSIX threaded DNS lookup */ #undef USE_THREADS_POSIX /* if you want Win32 threaded DNS lookup */ #undef USE_THREADS_WIN32 |
︙ | ︙ |
Changes to jni/curl/lib/curl_endian.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
78 79 80 81 82 83 84 | unsigned short Curl_read16_be(const unsigned char *buf) { return (unsigned short)(((unsigned short)buf[0] << 8) | ((unsigned short)buf[1])); } /* | | | | 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | unsigned short Curl_read16_be(const unsigned char *buf) { return (unsigned short)(((unsigned short)buf[0] << 8) | ((unsigned short)buf[1])); } /* * write32_le() * * This function converts a 32-bit integer from the native endian format, * to little endian format ready for sending down the wire. * * Parameters: * * value [in] - The 32-bit integer value. * buffer [in] - A pointer to the output buffer. */ static void write32_le(const int value, unsigned char *buffer) { buffer[0] = (char)(value & 0x000000FF); buffer[1] = (char)((value & 0x0000FF00) >> 8); buffer[2] = (char)((value & 0x00FF0000) >> 16); buffer[3] = (char)((value & 0xFF000000) >> 24); } |
︙ | ︙ | |||
114 115 116 117 118 119 120 | */ #if defined(HAVE_LONGLONG) void Curl_write64_le(const long long value, unsigned char *buffer) #else void Curl_write64_le(const __int64 value, unsigned char *buffer) #endif { | | | | 114 115 116 117 118 119 120 121 122 123 124 | */ #if defined(HAVE_LONGLONG) void Curl_write64_le(const long long value, unsigned char *buffer) #else void Curl_write64_le(const __int64 value, unsigned char *buffer) #endif { write32_le((int)value, buffer); write32_le((int)(value >> 32), buffer + 4); } #endif /* CURL_SIZEOF_CURL_OFF_T > 4 */ |
Changes to jni/curl/lib/curl_fnmatch.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "curl_setup.h" #ifndef CURL_DISABLE_FTP #include <curl/curl.h> #include "curl_fnmatch.h" #include "curl_memory.h" /* The last #include file should be: */ #include "memdebug.h" |
︙ | ︙ | |||
390 391 392 393 394 395 396 | default: return CURL_FNMATCH_FAIL; } /* not reached */ } #endif | > > | 390 391 392 393 394 395 396 397 398 | default: return CURL_FNMATCH_FAIL; } /* not reached */ } #endif #endif /* if FTP is disabled */ |
Changes to jni/curl/lib/curl_gssapi.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_GSSAPI_H #define HEADER_CURL_GSSAPI_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | < < < < < < < < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #ifndef HEADER_CURL_GSSAPI_H #define HEADER_CURL_GSSAPI_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2011 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "curl_setup.h" #include "urldata.h" #ifdef HAVE_GSSAPI extern gss_OID_desc Curl_spnego_mech_oid; extern gss_OID_desc Curl_krb5_mech_oid; /* Common method for using GSS-API */ OM_uint32 Curl_gss_init_sec_context( struct Curl_easy *data, OM_uint32 *minor_status, |
︙ | ︙ | |||
67 68 69 70 71 72 73 | /* Define our privacy and integrity protection values */ #define GSSAUTH_P_NONE 1 #define GSSAUTH_P_INTEGRITY 2 #define GSSAUTH_P_PRIVACY 4 #endif /* HAVE_GSSAPI */ | < | 54 55 56 57 58 59 60 61 | /* Define our privacy and integrity protection values */ #define GSSAUTH_P_NONE 1 #define GSSAUTH_P_INTEGRITY 2 #define GSSAUTH_P_PRIVACY 4 #endif /* HAVE_GSSAPI */ #endif /* HEADER_CURL_GSSAPI_H */ |
Changes to jni/curl/lib/curl_ntlm_core.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
34 35 36 37 38 39 40 | /* Please keep the SSL backend-specific #if branches in this order: 1. USE_OPENSSL 2. USE_GNUTLS_NETTLE 3. USE_GNUTLS 4. USE_NSS 5. USE_MBEDTLS | | | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | /* Please keep the SSL backend-specific #if branches in this order: 1. USE_OPENSSL 2. USE_GNUTLS_NETTLE 3. USE_GNUTLS 4. USE_NSS 5. USE_MBEDTLS 6. USE_SECTRANSP 7. USE_OS400CRYPTO 8. USE_WIN32_CRYPTO This ensures that: - the same SSL branch gets activated throughout this source file even if multiple backends are enabled at the same time. - OpenSSL and NSS have higher priority than Windows Crypt, due |
︙ | ︙ | |||
97 98 99 100 101 102 103 | # include <mbedtls/des.h> # include <mbedtls/md4.h> # if !defined(MBEDTLS_MD4_C) # include "curl_md4.h" # endif | | | 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | # include <mbedtls/des.h> # include <mbedtls/md4.h> # if !defined(MBEDTLS_MD4_C) # include "curl_md4.h" # endif #elif defined(USE_SECTRANSP) # include <CommonCrypto/CommonCryptor.h> # include <CommonCrypto/CommonDigest.h> #elif defined(USE_OS400CRYPTO) # include "cipher.mih" /* mih/cipher */ # include "curl_md4.h" |
︙ | ︙ | |||
286 287 288 289 290 291 292 | /* Perform the encryption */ mbedtls_des_init(&ctx); mbedtls_des_setkey_enc(&ctx, (unsigned char *) key); return mbedtls_des_crypt_ecb(&ctx, in, out) == 0; } | | | 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 | /* Perform the encryption */ mbedtls_des_init(&ctx); mbedtls_des_setkey_enc(&ctx, (unsigned char *) key); return mbedtls_des_crypt_ecb(&ctx, in, out) == 0; } #elif defined(USE_SECTRANSP) static bool encrypt_des(const unsigned char *in, unsigned char *out, const unsigned char *key_56) { char key[8]; size_t out_len; CCCryptorStatus err; |
︙ | ︙ | |||
433 434 435 436 437 438 439 | gcry_cipher_encrypt(des, results + 8, 8, plaintext, 8); gcry_cipher_close(des); gcry_cipher_open(&des, GCRY_CIPHER_DES, GCRY_CIPHER_MODE_ECB, 0); setup_des_key(keys + 14, &des); gcry_cipher_encrypt(des, results + 16, 8, plaintext, 8); gcry_cipher_close(des); | | | 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 | gcry_cipher_encrypt(des, results + 8, 8, plaintext, 8); gcry_cipher_close(des); gcry_cipher_open(&des, GCRY_CIPHER_DES, GCRY_CIPHER_MODE_ECB, 0); setup_des_key(keys + 14, &des); gcry_cipher_encrypt(des, results + 16, 8, plaintext, 8); gcry_cipher_close(des); #elif defined(USE_NSS) || defined(USE_MBEDTLS) || defined(USE_SECTRANSP) \ || defined(USE_OS400CRYPTO) || defined(USE_WIN32_CRYPTO) encrypt_des(plaintext, results, keys); encrypt_des(plaintext, results + 8, keys + 7); encrypt_des(plaintext, results + 16, keys + 14); #endif } |
︙ | ︙ | |||
497 498 499 500 501 502 503 | gcry_cipher_encrypt(des, lmbuffer, 8, magic, 8); gcry_cipher_close(des); gcry_cipher_open(&des, GCRY_CIPHER_DES, GCRY_CIPHER_MODE_ECB, 0); setup_des_key(pw + 7, &des); gcry_cipher_encrypt(des, lmbuffer + 8, 8, magic, 8); gcry_cipher_close(des); | | | 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 | gcry_cipher_encrypt(des, lmbuffer, 8, magic, 8); gcry_cipher_close(des); gcry_cipher_open(&des, GCRY_CIPHER_DES, GCRY_CIPHER_MODE_ECB, 0); setup_des_key(pw + 7, &des); gcry_cipher_encrypt(des, lmbuffer + 8, 8, magic, 8); gcry_cipher_close(des); #elif defined(USE_NSS) || defined(USE_MBEDTLS) || defined(USE_SECTRANSP) \ || defined(USE_OS400CRYPTO) || defined(USE_WIN32_CRYPTO) encrypt_des(magic, lmbuffer, pw); encrypt_des(magic, lmbuffer + 8, pw + 7); #endif memset(lmbuffer + 16, 0, 21 - 16); } |
︙ | ︙ | |||
587 588 589 590 591 592 593 | Curl_md4it(ntbuffer, pw, 2 * len); #elif defined(USE_MBEDTLS) #if defined(MBEDTLS_MD4_C) mbedtls_md4(pw, 2 * len, ntbuffer); #else Curl_md4it(ntbuffer, pw, 2 * len); #endif | | | 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 | Curl_md4it(ntbuffer, pw, 2 * len); #elif defined(USE_MBEDTLS) #if defined(MBEDTLS_MD4_C) mbedtls_md4(pw, 2 * len, ntbuffer); #else Curl_md4it(ntbuffer, pw, 2 * len); #endif #elif defined(USE_SECTRANSP) (void)CC_MD4(pw, (CC_LONG)(2 * len), ntbuffer); #elif defined(USE_OS400CRYPTO) Curl_md4it(ntbuffer, pw, 2 * len); #elif defined(USE_WIN32_CRYPTO) HCRYPTPROV hprov; if(CryptAcquireContext(&hprov, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { |
︙ | ︙ | |||
617 618 619 620 621 622 623 | return CURLE_OK; } #if defined(USE_NTLM_V2) && !defined(USE_WINDOWS_SSPI) /* This returns the HMAC MD5 digest */ | | | | | 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 | return CURLE_OK; } #if defined(USE_NTLM_V2) && !defined(USE_WINDOWS_SSPI) /* This returns the HMAC MD5 digest */ static CURLcode hmac_md5(const unsigned char *key, unsigned int keylen, const unsigned char *data, unsigned int datalen, unsigned char *output) { HMAC_context *ctxt = Curl_HMAC_init(Curl_HMAC_MD5, key, keylen); if(!ctxt) return CURLE_OUT_OF_MEMORY; /* Update the digest with the given challenge */ |
︙ | ︙ | |||
664 665 666 667 668 669 670 | if(!identity) return CURLE_OUT_OF_MEMORY; ascii_uppercase_to_unicode_le(identity, user, userlen); ascii_to_unicode_le(identity + (userlen << 1), domain, domlen); | | | < | 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 | if(!identity) return CURLE_OUT_OF_MEMORY; ascii_uppercase_to_unicode_le(identity, user, userlen); ascii_to_unicode_le(identity + (userlen << 1), domain, domlen); result = hmac_md5(ntlmhash, 16, identity, curlx_uztoui(identity_len), ntlmv2hash); free(identity); return result; } /* * Curl_ntlm_core_mk_ntlmv2_resp() |
︙ | ︙ | |||
752 753 754 755 756 757 758 | Curl_write64_le(tw, ptr + 24); memcpy(ptr + 32, challenge_client, 8); memcpy(ptr + 44, ntlm->target_info, ntlm->target_info_len); /* Concatenate the Type 2 challenge with the BLOB and do HMAC MD5 */ memcpy(ptr + 8, &ntlm->nonce[0], 8); | | | | 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 | Curl_write64_le(tw, ptr + 24); memcpy(ptr + 32, challenge_client, 8); memcpy(ptr + 44, ntlm->target_info, ntlm->target_info_len); /* Concatenate the Type 2 challenge with the BLOB and do HMAC MD5 */ memcpy(ptr + 8, &ntlm->nonce[0], 8); result = hmac_md5(ntlmv2hash, NTLM_HMAC_MD5_LEN, ptr + 8, NTLMv2_BLOB_LEN + 8, hmac_output); if(result) { free(ptr); return result; } /* Concatenate the HMAC MD5 output with the BLOB */ memcpy(ptr, hmac_output, NTLM_HMAC_MD5_LEN); |
︙ | ︙ | |||
795 796 797 798 799 800 801 | unsigned char data[16]; unsigned char hmac_output[16]; CURLcode result = CURLE_OK; memcpy(&data[0], challenge_server, 8); memcpy(&data[8], challenge_client, 8); | | | 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 | unsigned char data[16]; unsigned char hmac_output[16]; CURLcode result = CURLE_OK; memcpy(&data[0], challenge_server, 8); memcpy(&data[8], challenge_client, 8); result = hmac_md5(ntlmv2hash, 16, &data[0], 16, hmac_output); if(result) return result; /* Concatenate the HMAC MD5 output with the client nonce */ memcpy(lmresp, hmac_output, 16); memcpy(lmresp + 16, challenge_client, 8); |
︙ | ︙ |
Changes to jni/curl/lib/curl_ntlm_wb.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
120 121 122 123 124 125 126 127 128 129 130 131 132 133 | char *slash, *domain = NULL; const char *ntlm_auth = NULL; char *ntlm_auth_alloc = NULL; #if defined(HAVE_GETPWUID_R) && defined(HAVE_GETEUID) struct passwd pw, *pw_res; char pwbuf[1024]; #endif /* Return if communication with ntlm_auth already set up */ if(conn->ntlm_auth_hlpr_socket != CURL_SOCKET_BAD || conn->ntlm_auth_hlpr_pid) return CURLE_OK; username = userp; | > | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | char *slash, *domain = NULL; const char *ntlm_auth = NULL; char *ntlm_auth_alloc = NULL; #if defined(HAVE_GETPWUID_R) && defined(HAVE_GETEUID) struct passwd pw, *pw_res; char pwbuf[1024]; #endif char buffer[STRERROR_LEN]; /* Return if communication with ntlm_auth already set up */ if(conn->ntlm_auth_hlpr_socket != CURL_SOCKET_BAD || conn->ntlm_auth_hlpr_pid) return CURLE_OK; username = userp; |
︙ | ︙ | |||
175 176 177 178 179 180 181 | ntlm_auth = ntlm_auth_alloc; else #endif ntlm_auth = NTLM_WB_FILE; if(access(ntlm_auth, X_OK) != 0) { failf(conn->data, "Could not access ntlm_auth: %s errno %d: %s", | | | | | | | | 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 | ntlm_auth = ntlm_auth_alloc; else #endif ntlm_auth = NTLM_WB_FILE; if(access(ntlm_auth, X_OK) != 0) { failf(conn->data, "Could not access ntlm_auth: %s errno %d: %s", ntlm_auth, errno, Curl_strerror(errno, buffer, sizeof(buffer))); goto done; } if(socketpair(AF_UNIX, SOCK_STREAM, 0, sockfds)) { failf(conn->data, "Could not open socket pair. errno %d: %s", errno, Curl_strerror(errno, buffer, sizeof(buffer))); goto done; } child_pid = fork(); if(child_pid == -1) { sclose(sockfds[0]); sclose(sockfds[1]); failf(conn->data, "Could not fork. errno %d: %s", errno, Curl_strerror(errno, buffer, sizeof(buffer))); goto done; } else if(!child_pid) { /* * child process */ /* Don't use sclose in the child since it fools the socket leak detector */ sclose_nolog(sockfds[0]); if(dup2(sockfds[1], STDIN_FILENO) == -1) { failf(conn->data, "Could not redirect child stdin. errno %d: %s", errno, Curl_strerror(errno, buffer, sizeof(buffer))); exit(1); } if(dup2(sockfds[1], STDOUT_FILENO) == -1) { failf(conn->data, "Could not redirect child stdout. errno %d: %s", errno, Curl_strerror(errno, buffer, sizeof(buffer))); exit(1); } if(domain) execl(ntlm_auth, ntlm_auth, "--helper-protocol", "ntlmssp-client-1", "--use-cached-creds", "--username", username, "--domain", domain, NULL); else execl(ntlm_auth, ntlm_auth, "--helper-protocol", "ntlmssp-client-1", "--use-cached-creds", "--username", username, NULL); sclose_nolog(sockfds[1]); failf(conn->data, "Could not execl(). errno %d: %s", errno, Curl_strerror(errno, buffer, sizeof(buffer))); exit(1); } sclose(sockfds[1]); conn->ntlm_auth_hlpr_socket = sockfds[0]; conn->ntlm_auth_hlpr_pid = child_pid; free(domain); |
︙ | ︙ |
Changes to jni/curl/lib/curl_path.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "curl_setup.h" #if defined(USE_LIBSSH2) || defined(USE_LIBSSH) #include <curl/curl.h> #include "curl_memory.h" #include "curl_path.h" #include "escape.h" #include "memdebug.h" |
︙ | ︙ | |||
189 190 191 192 193 194 195 | } return CURLE_OK; fail: Curl_safefree(*path); return CURLE_QUOTE_ERROR; } | > > | 191 192 193 194 195 196 197 198 199 | } return CURLE_OK; fail: Curl_safefree(*path); return CURLE_QUOTE_ERROR; } #endif /* if SSH is used */ |
Changes to jni/curl/lib/curl_rtmp.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2012 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 2010, Howard Chu, <hyc@highlandsun.com> * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell |
︙ | ︙ | |||
235 236 237 238 239 240 241 242 243 244 245 246 247 | conn->recv[FIRSTSOCKET] = rtmp_recv; conn->send[FIRSTSOCKET] = rtmp_send; return CURLE_OK; } static CURLcode rtmp_do(struct connectdata *conn, bool *done) { RTMP *r = conn->proto.generic; if(!RTMP_ConnectStream(r, 0)) return CURLE_FAILED_INIT; if(conn->data->set.upload) { | > | | | | 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 | conn->recv[FIRSTSOCKET] = rtmp_recv; conn->send[FIRSTSOCKET] = rtmp_send; return CURLE_OK; } static CURLcode rtmp_do(struct connectdata *conn, bool *done) { struct Curl_easy *data = conn->data; RTMP *r = conn->proto.generic; if(!RTMP_ConnectStream(r, 0)) return CURLE_FAILED_INIT; if(conn->data->set.upload) { Curl_pgrsSetUploadSize(data, data->state.infilesize); Curl_setup_transfer(data, -1, -1, FALSE, FIRSTSOCKET); } else Curl_setup_transfer(data, FIRSTSOCKET, -1, FALSE, -1); *done = TRUE; return CURLE_OK; } static CURLcode rtmp_done(struct connectdata *conn, CURLcode status, bool premature) { |
︙ | ︙ |
Changes to jni/curl/lib/curl_setup.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_SETUP_H #define HEADER_CURL_SETUP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_SETUP_H #define HEADER_CURL_SETUP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
306 307 308 309 310 311 312 | #ifdef __VXWORKS__ # include <sockLib.h> /* for generic BSD socket functions */ # include <ioLib.h> /* for basic I/O interface functions */ #endif #ifdef __AMIGA__ | < | | | | > > | 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 | #ifdef __VXWORKS__ # include <sockLib.h> /* for generic BSD socket functions */ # include <ioLib.h> /* for basic I/O interface functions */ #endif #ifdef __AMIGA__ # include <exec/types.h> # include <exec/execbase.h> # include <proto/exec.h> # include <proto/dos.h> # ifdef HAVE_PROTO_BSDSOCKET_H # include <proto/bsdsocket.h> /* ensure bsdsocket.library use */ # define select(a,b,c,d,e) WaitSelect(a,b,c,d,e,0) # endif #endif #include <stdio.h> #ifdef HAVE_ASSERT_H #include <assert.h> |
︙ | ︙ | |||
644 645 646 647 648 649 650 | #endif #define LIBIDN_REQUIRED_VERSION "0.4.1" #if defined(USE_GNUTLS) || defined(USE_OPENSSL) || defined(USE_NSS) || \ defined(USE_POLARSSL) || defined(USE_MBEDTLS) || \ defined(USE_CYASSL) || defined(USE_SCHANNEL) || \ | | | | 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 | #endif #define LIBIDN_REQUIRED_VERSION "0.4.1" #if defined(USE_GNUTLS) || defined(USE_OPENSSL) || defined(USE_NSS) || \ defined(USE_POLARSSL) || defined(USE_MBEDTLS) || \ defined(USE_CYASSL) || defined(USE_SCHANNEL) || \ defined(USE_SECTRANSP) || defined(USE_GSKIT) || defined(USE_MESALINK) #define USE_SSL /* SSL support has been enabled */ #endif /* Single point where USE_SPNEGO definition might be defined */ #if !defined(CURL_DISABLE_CRYPTO_AUTH) && \ (defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)) #define USE_SPNEGO #endif /* Single point where USE_KERBEROS5 definition might be defined */ #if !defined(CURL_DISABLE_CRYPTO_AUTH) && \ (defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)) #define USE_KERBEROS5 #endif /* Single point where USE_NTLM definition might be defined */ #if !defined(CURL_DISABLE_NTLM) && !defined(CURL_DISABLE_CRYPTO_AUTH) #if defined(USE_OPENSSL) || defined(USE_WINDOWS_SSPI) || \ defined(USE_GNUTLS) || defined(USE_NSS) || defined(USE_SECTRANSP) || \ defined(USE_OS400CRYPTO) || defined(USE_WIN32_CRYPTO) || \ defined(USE_MBEDTLS) #define USE_NTLM # if defined(USE_MBEDTLS) /* Get definition of MBEDTLS_MD4_C */ |
︙ | ︙ | |||
811 812 813 814 815 816 817 818 819 | /* Some versions of the Android SDK is missing the declaration */ #if defined(HAVE_GETPWUID_R) && defined(HAVE_DECL_GETPWUID_R_MISSING) struct passwd; int getpwuid_r(uid_t uid, struct passwd *pwd, char *buf, size_t buflen, struct passwd **result); #endif #endif /* HEADER_CURL_SETUP_H */ | > > > > > > | 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 | /* Some versions of the Android SDK is missing the declaration */ #if defined(HAVE_GETPWUID_R) && defined(HAVE_DECL_GETPWUID_R_MISSING) struct passwd; int getpwuid_r(uid_t uid, struct passwd *pwd, char *buf, size_t buflen, struct passwd **result); #endif #ifdef DEBUGBUILD #define UNITTEST #else #define UNITTEST static #endif #endif /* HEADER_CURL_SETUP_H */ |
Changes to jni/curl/lib/dict.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
133 134 135 136 137 138 139 | char *nthdef = NULL; /* This is not part of the protocol, but required by RFC 2229 */ CURLcode result = CURLE_OK; struct Curl_easy *data = conn->data; curl_socket_t sockfd = conn->sock[FIRSTSOCKET]; char *path = data->state.up.path; | < | 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | char *nthdef = NULL; /* This is not part of the protocol, but required by RFC 2229 */ CURLcode result = CURLE_OK; struct Curl_easy *data = conn->data; curl_socket_t sockfd = conn->sock[FIRSTSOCKET]; char *path = data->state.up.path; *done = TRUE; /* unconditionally */ if(conn->bits.user_passwd) { /* AUTH is missing */ } |
︙ | ︙ | |||
196 197 198 199 200 201 202 | free(eword); if(result) { failf(data, "Failed sending DICT request"); return result; } | | < | 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 | free(eword); if(result) { failf(data, "Failed sending DICT request"); return result; } Curl_setup_transfer(data, FIRSTSOCKET, -1, FALSE, -1); /* no upload */ } else if(strncasecompare(path, DICT_DEFINE, sizeof(DICT_DEFINE)-1) || strncasecompare(path, DICT_DEFINE2, sizeof(DICT_DEFINE2)-1) || strncasecompare(path, DICT_DEFINE3, sizeof(DICT_DEFINE3)-1)) { word = strchr(path, ':'); if(word) { |
︙ | ︙ | |||
243 244 245 246 247 248 249 | free(eword); if(result) { failf(data, "Failed sending DICT request"); return result; } | | < | 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 | free(eword); if(result) { failf(data, "Failed sending DICT request"); return result; } Curl_setup_transfer(data, FIRSTSOCKET, -1, FALSE, -1); } else { ppath = strchr(path, '/'); if(ppath) { int i; |
︙ | ︙ | |||
266 267 268 269 270 271 272 | "%s\r\n" "QUIT\r\n", ppath); if(result) { failf(data, "Failed sending DICT request"); return result; } | | | 263 264 265 266 267 268 269 270 271 272 273 274 275 276 | "%s\r\n" "QUIT\r\n", ppath); if(result) { failf(data, "Failed sending DICT request"); return result; } Curl_setup_transfer(data, FIRSTSOCKET, -1, FALSE, -1); } } return CURLE_OK; } #endif /*CURL_DISABLE_DICT*/ |
Changes to jni/curl/lib/doh.c.
︙ | ︙ | |||
169 170 171 172 173 174 175 | curl_slist_free_all(data->req.doh.headers); data->req.doh.headers = NULL; Curl_expire(data, 0, EXPIRE_RUN_NOW); } return 0; } | | > > | > > | 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | curl_slist_free_all(data->req.doh.headers); data->req.doh.headers = NULL; Curl_expire(data, 0, EXPIRE_RUN_NOW); } return 0; } #define ERROR_CHECK_SETOPT(x,y) \ do { \ result = curl_easy_setopt(doh, x, y); \ if(result) \ goto error; \ } WHILE_FALSE static CURLcode dohprobe(struct Curl_easy *data, struct dnsprobe *p, DNStype dnstype, const char *host, const char *url, CURLM *multi, struct curl_slist *headers) { |
︙ | ︙ | |||
238 239 240 241 242 243 244 | ERROR_CHECK_SETOPT(CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2TLS); #endif #ifndef CURLDEBUG /* enforce HTTPS if not debug */ ERROR_CHECK_SETOPT(CURLOPT_PROTOCOLS, CURLPROTO_HTTPS); #endif ERROR_CHECK_SETOPT(CURLOPT_TIMEOUT_MS, (long)timeout_ms); | > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 | ERROR_CHECK_SETOPT(CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2TLS); #endif #ifndef CURLDEBUG /* enforce HTTPS if not debug */ ERROR_CHECK_SETOPT(CURLOPT_PROTOCOLS, CURLPROTO_HTTPS); #endif ERROR_CHECK_SETOPT(CURLOPT_TIMEOUT_MS, (long)timeout_ms); if(data->set.verbose) ERROR_CHECK_SETOPT(CURLOPT_VERBOSE, 1L); if(data->set.no_signal) ERROR_CHECK_SETOPT(CURLOPT_NOSIGNAL, 1L); /* Inherit *some* SSL options from the user's transfer. This is a best-guess as to which options are needed for compatibility. #3661 */ if(data->set.ssl.falsestart) ERROR_CHECK_SETOPT(CURLOPT_SSL_FALSESTART, 1L); if(data->set.ssl.primary.verifyhost) ERROR_CHECK_SETOPT(CURLOPT_SSL_VERIFYHOST, 2L); if(data->set.proxy_ssl.primary.verifyhost) ERROR_CHECK_SETOPT(CURLOPT_PROXY_SSL_VERIFYHOST, 2L); if(data->set.ssl.primary.verifypeer) ERROR_CHECK_SETOPT(CURLOPT_SSL_VERIFYPEER, 1L); if(data->set.proxy_ssl.primary.verifypeer) ERROR_CHECK_SETOPT(CURLOPT_PROXY_SSL_VERIFYPEER, 1L); if(data->set.ssl.primary.verifystatus) ERROR_CHECK_SETOPT(CURLOPT_SSL_VERIFYSTATUS, 1L); if(data->set.str[STRING_SSL_CAFILE_ORIG]) { ERROR_CHECK_SETOPT(CURLOPT_CAINFO, data->set.str[STRING_SSL_CAFILE_ORIG]); } if(data->set.str[STRING_SSL_CAFILE_PROXY]) { ERROR_CHECK_SETOPT(CURLOPT_PROXY_CAINFO, data->set.str[STRING_SSL_CAFILE_PROXY]); } if(data->set.str[STRING_SSL_CAPATH_ORIG]) { ERROR_CHECK_SETOPT(CURLOPT_CAPATH, data->set.str[STRING_SSL_CAPATH_ORIG]); } if(data->set.str[STRING_SSL_CAPATH_PROXY]) { ERROR_CHECK_SETOPT(CURLOPT_PROXY_CAPATH, data->set.str[STRING_SSL_CAPATH_PROXY]); } if(data->set.str[STRING_SSL_CRLFILE_ORIG]) { ERROR_CHECK_SETOPT(CURLOPT_CRLFILE, data->set.str[STRING_SSL_CRLFILE_ORIG]); } if(data->set.str[STRING_SSL_CRLFILE_PROXY]) { ERROR_CHECK_SETOPT(CURLOPT_PROXY_CRLFILE, data->set.str[STRING_SSL_CRLFILE_PROXY]); } if(data->set.ssl.certinfo) ERROR_CHECK_SETOPT(CURLOPT_CERTINFO, 1L); if(data->set.str[STRING_SSL_RANDOM_FILE]) { ERROR_CHECK_SETOPT(CURLOPT_RANDOM_FILE, data->set.str[STRING_SSL_RANDOM_FILE]); } if(data->set.str[STRING_SSL_EGDSOCKET]) { ERROR_CHECK_SETOPT(CURLOPT_EGDSOCKET, data->set.str[STRING_SSL_EGDSOCKET]); } if(data->set.ssl.no_revoke) ERROR_CHECK_SETOPT(CURLOPT_SSL_OPTIONS, CURLSSLOPT_NO_REVOKE); if(data->set.proxy_ssl.no_revoke) ERROR_CHECK_SETOPT(CURLOPT_PROXY_SSL_OPTIONS, CURLSSLOPT_NO_REVOKE); if(data->set.ssl.fsslctx) ERROR_CHECK_SETOPT(CURLOPT_SSL_CTX_FUNCTION, data->set.ssl.fsslctx); if(data->set.ssl.fsslctxp) ERROR_CHECK_SETOPT(CURLOPT_SSL_CTX_DATA, data->set.ssl.fsslctxp); doh->set.fmultidone = Curl_doh_done; doh->set.dohfor = data; /* identify for which transfer this is done */ p->easy = doh; /* add this transfer to the multi handle */ if(curl_multi_add_handle(multi, doh)) goto error; |
︙ | ︙ |
Changes to jni/curl/lib/easy.c.
︙ | ︙ | |||
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | #include "non-ascii.h" #include "warnless.h" #include "multiif.h" #include "sigpipe.h" #include "ssh.h" #include "setopt.h" #include "http_digest.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" void Curl_version_init(void); | > < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | #include "non-ascii.h" #include "warnless.h" #include "multiif.h" #include "sigpipe.h" #include "ssh.h" #include "setopt.h" #include "http_digest.h" #include "system_win32.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" void Curl_version_init(void); /* true globals -- for curl_global_init() and curl_global_cleanup() */ static unsigned int initialized; static long init_flags; /* * strdup (and other memory functions) is redefined in complicated * ways, but at this point it must be defined as the system-supplied strdup |
︙ | ︙ | |||
219 220 221 222 223 224 225 | } if(!Curl_ssl_init()) { DEBUGF(fprintf(stderr, "Error: Curl_ssl_init failed\n")); return CURLE_FAILED_INIT; } | | | | | | > | 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | } if(!Curl_ssl_init()) { DEBUGF(fprintf(stderr, "Error: Curl_ssl_init failed\n")); return CURLE_FAILED_INIT; } #ifdef WIN32 if(Curl_win32_init(flags)) { DEBUGF(fprintf(stderr, "Error: win32_init failed\n")); return CURLE_FAILED_INIT; } #endif #ifdef __AMIGA__ if(!Curl_amiga_init()) { DEBUGF(fprintf(stderr, "Error: Curl_amiga_init failed\n")); return CURLE_FAILED_INIT; } #endif |
︙ | ︙ | |||
327 328 329 330 331 332 333 | if(--initialized) return; Curl_global_host_cache_dtor(); Curl_ssl_cleanup(); Curl_resolver_global_cleanup(); | | | > | 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 | if(--initialized) return; Curl_global_host_cache_dtor(); Curl_ssl_cleanup(); Curl_resolver_global_cleanup(); #ifdef WIN32 Curl_win32_cleanup(init_flags); #endif Curl_amiga_cleanup(); #if defined(USE_LIBSSH2) && defined(HAVE_LIBSSH2_EXIT) (void)libssh2_exit(); #endif |
︙ | ︙ |
Changes to jni/curl/lib/file.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
307 308 309 310 311 312 313 | size_t nread; size_t nwrite; size_t readcount; result = Curl_fillreadbuffer(conn, data->set.buffer_size, &readcount); if(result) break; | | | 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 | size_t nread; size_t nwrite; size_t readcount; result = Curl_fillreadbuffer(conn, data->set.buffer_size, &readcount); if(result) break; if(!readcount) break; nread = readcount; /*skip bytes before resume point*/ if(data->state.resume_from) { if((curl_off_t)nread <= data->state.resume_from) { |
︙ | ︙ |
Changes to jni/curl/lib/ftp.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
444 445 446 447 448 449 450 | * After connection from server is accepted this function is called to * setup transfer parameters and initiate the data transfer. * */ static CURLcode InitiateTransfer(struct connectdata *conn) { struct Curl_easy *data = conn->data; | < < < < | < | | < | 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 | * After connection from server is accepted this function is called to * setup transfer parameters and initiate the data transfer. * */ static CURLcode InitiateTransfer(struct connectdata *conn) { struct Curl_easy *data = conn->data; CURLcode result = CURLE_OK; if(conn->bits.ftp_use_data_ssl) { /* since we only have a plaintext TCP connection here, we must now * do the TLS stuff */ infof(data, "Doing the SSL/TLS handshake on the data stream\n"); result = Curl_ssl_connect(conn, SECONDARYSOCKET); if(result) return result; } if(conn->proto.ftpc.state_saved == FTP_STOR) { /* When we know we're uploading a specified file, we can get the file size prior to the actual upload. */ Curl_pgrsSetUploadSize(data, data->state.infilesize); /* set the SO_SNDBUF for the secondary socket for those who need it */ Curl_sndbufset(conn->sock[SECONDARYSOCKET]); Curl_setup_transfer(data, -1, -1, FALSE, SECONDARYSOCKET); } else { /* FTP download: */ Curl_setup_transfer(data, SECONDARYSOCKET, conn->proto.ftpc.retr_size_saved, FALSE, -1); } conn->proto.ftpc.pp.pending_resp = TRUE; /* expect server response */ state(conn, FTP_STOP); return CURLE_OK; } |
︙ | ︙ | |||
951 952 953 954 955 956 957 | char *host = NULL; char *string_ftpport = data->set.str[STRING_FTPPORT]; struct Curl_dns_entry *h = NULL; unsigned short port_min = 0; unsigned short port_max = 0; unsigned short port; bool possibly_non_local = TRUE; | | | 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 | char *host = NULL; char *string_ftpport = data->set.str[STRING_FTPPORT]; struct Curl_dns_entry *h = NULL; unsigned short port_min = 0; unsigned short port_max = 0; unsigned short port; bool possibly_non_local = TRUE; char buffer[STRERROR_LEN]; char *addr = NULL; /* Step 1, figure out what is requested, * accepted format : * (ipv4|ipv6|domain|interface)?(:port(-range)?)? */ |
︙ | ︙ | |||
1060 1061 1062 1063 1064 1065 1066 | /* there was only a port(-range) given, default the host */ host = NULL; } /* data->set.ftpport */ if(!host) { /* not an interface and not a host name, get default by extracting the IP from the control connection */ | < | | 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 | /* there was only a port(-range) given, default the host */ host = NULL; } /* data->set.ftpport */ if(!host) { /* not an interface and not a host name, get default by extracting the IP from the control connection */ sslen = sizeof(ss); if(getsockname(conn->sock[FIRSTSOCKET], sa, &sslen)) { failf(data, "getsockname() failed: %s", Curl_strerror(SOCKERRNO, buffer, sizeof(buffer))); free(addr); return CURLE_FTP_PORT_FAILED; } switch(sa->sa_family) { #ifdef ENABLE_IPV6 case AF_INET6: Curl_inet_ntop(sa->sa_family, &sa6->sin6_addr, hbuf, sizeof(hbuf)); |
︙ | ︙ | |||
1117 1118 1119 1120 1121 1122 1123 | if(result) { error = SOCKERRNO; continue; } break; } if(!ai) { | | > | 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 | if(result) { error = SOCKERRNO; continue; } break; } if(!ai) { failf(data, "socket failure: %s", Curl_strerror(error, buffer, sizeof(buffer))); return CURLE_FTP_PORT_FAILED; } /* step 3, bind to a suitable local address */ memcpy(sa, ai->ai_addr, ai->ai_addrlen); sslen = ai->ai_addrlen; |
︙ | ︙ | |||
1141 1142 1143 1144 1145 1146 1147 | if(bind(portsock, sa, sslen) ) { /* It failed. */ error = SOCKERRNO; if(possibly_non_local && (error == EADDRNOTAVAIL)) { /* The requested bind address is not local. Use the address used for * the control connection instead and restart the port loop */ | < | | | | 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 | if(bind(portsock, sa, sslen) ) { /* It failed. */ error = SOCKERRNO; if(possibly_non_local && (error == EADDRNOTAVAIL)) { /* The requested bind address is not local. Use the address used for * the control connection instead and restart the port loop */ infof(data, "bind(port=%hu) on non-local address failed: %s\n", port, Curl_strerror(error, buffer, sizeof(buffer))); sslen = sizeof(ss); if(getsockname(conn->sock[FIRSTSOCKET], sa, &sslen)) { failf(data, "getsockname() failed: %s", Curl_strerror(SOCKERRNO, buffer, sizeof(buffer))); Curl_closesocket(conn, portsock); return CURLE_FTP_PORT_FAILED; } port = port_min; possibly_non_local = FALSE; /* don't try this again */ continue; } if(error != EADDRINUSE && error != EACCES) { failf(data, "bind(port=%hu) failed: %s", port, Curl_strerror(error, buffer, sizeof(buffer))); Curl_closesocket(conn, portsock); return CURLE_FTP_PORT_FAILED; } } else break; |
︙ | ︙ | |||
1181 1182 1183 1184 1185 1186 1187 | } /* get the name again after the bind() so that we can extract the port number it uses now */ sslen = sizeof(ss); if(getsockname(portsock, (struct sockaddr *)sa, &sslen)) { failf(data, "getsockname() failed: %s", | | | > | 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 | } /* get the name again after the bind() so that we can extract the port number it uses now */ sslen = sizeof(ss); if(getsockname(portsock, (struct sockaddr *)sa, &sslen)) { failf(data, "getsockname() failed: %s", Curl_strerror(SOCKERRNO, buffer, sizeof(buffer))); Curl_closesocket(conn, portsock); return CURLE_FTP_PORT_FAILED; } /* step 4, listen on the socket */ if(listen(portsock, 1)) { failf(data, "socket failure: %s", Curl_strerror(SOCKERRNO, buffer, sizeof(buffer))); Curl_closesocket(conn, portsock); return CURLE_FTP_PORT_FAILED; } /* step 5, send the proper FTP command */ /* get a plain printable version of the numerical address to work with |
︙ | ︙ | |||
1654 1655 1656 1657 1658 1659 1660 | if(data->state.infilesize>0) { data->state.infilesize -= data->state.resume_from; if(data->state.infilesize <= 0) { infof(data, "File already completely uploaded\n"); /* no data to transfer */ | | | 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 | if(data->state.infilesize>0) { data->state.infilesize -= data->state.resume_from; if(data->state.infilesize <= 0) { infof(data, "File already completely uploaded\n"); /* no data to transfer */ Curl_setup_transfer(data, -1, -1, FALSE, -1); /* Set ->transfer so that we won't get any error in * ftp_done() because we didn't transfer anything! */ ftp->transfer = FTPTRANSFER_NONE; state(conn, FTP_STOP); return CURLE_OK; |
︙ | ︙ | |||
2226 2227 2228 2229 2230 2231 2232 | /* Now store the number of bytes we are expected to download */ ftp->downloadsize = filesize-data->state.resume_from; } } if(ftp->downloadsize == 0) { /* no data to transfer */ | | | 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 | /* Now store the number of bytes we are expected to download */ ftp->downloadsize = filesize-data->state.resume_from; } } if(ftp->downloadsize == 0) { /* no data to transfer */ Curl_setup_transfer(data, -1, -1, FALSE, -1); infof(data, "File already completely downloaded\n"); /* Set ->transfer so that we won't get any error in ftp_done() * because we didn't transfer the any file */ ftp->transfer = FTPTRANSFER_NONE; state(conn, FTP_STOP); return CURLE_OK; |
︙ | ︙ | |||
3304 3305 3306 3307 3308 3309 3310 | if(result || premature) /* the response code from the transfer showed an error already so no use checking further */ ; else if(data->set.upload) { if((-1 != data->state.infilesize) && | | | | | | | | | 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 | if(result || premature) /* the response code from the transfer showed an error already so no use checking further */ ; else if(data->set.upload) { if((-1 != data->state.infilesize) && (data->state.infilesize != data->req.writebytecount) && !data->set.crlf && (ftp->transfer == FTPTRANSFER_BODY)) { failf(data, "Uploaded unaligned file size (%" CURL_FORMAT_CURL_OFF_T " out of %" CURL_FORMAT_CURL_OFF_T " bytes)", data->req.bytecount, data->state.infilesize); result = CURLE_PARTIAL_FILE; } } else { if((-1 != data->req.size) && (data->req.size != data->req.bytecount) && #ifdef CURL_DO_LINEEND_CONV /* Most FTP servers don't adjust their file SIZE response for CRLFs, so * we'll check to see if the discrepancy can be explained by the number * of CRLFs we've changed to LFs. */ ((data->req.size + data->state.crlf_conversions) != data->req.bytecount) && #endif /* CURL_DO_LINEEND_CONV */ (data->req.maxdownload != data->req.bytecount)) { failf(data, "Received only partial file: %" CURL_FORMAT_CURL_OFF_T " bytes", data->req.bytecount); result = CURLE_PARTIAL_FILE; } else if(!ftpc->dont_check && !data->req.bytecount && (data->req.size>0)) { failf(data, "No data was received!"); result = CURLE_FTP_COULDNT_RETR_FILE; } } /* clear these for next connection */ |
︙ | ︙ | |||
3625 3626 3627 3628 3629 3630 3631 | } return result; } if(!result && (ftp->transfer != FTPTRANSFER_BODY)) /* no data to transfer. FIX: it feels like a kludge to have this here too! */ | | | 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 | } return result; } if(!result && (ftp->transfer != FTPTRANSFER_BODY)) /* no data to transfer. FIX: it feels like a kludge to have this here too! */ Curl_setup_transfer(data, -1, -1, FALSE, -1); if(!ftpc->wait_data_conn) { /* no waiting for the data connection so this is now complete */ *completep = 1; DEBUGF(infof(data, "DO-MORE phase ends with %d\n", (int)result)); } |
︙ | ︙ | |||
4304 4305 4306 4307 4308 4309 4310 | close_secondarysocket(conn); return result; } } if(ftp->transfer != FTPTRANSFER_BODY) /* no data to transfer */ | | | 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 | close_secondarysocket(conn); return result; } } if(ftp->transfer != FTPTRANSFER_BODY) /* no data to transfer */ Curl_setup_transfer(conn->data, -1, -1, FALSE, -1); else if(!connected) /* since we didn't connect now, we want do_more to get called */ conn->bits.do_more = TRUE; ftpc->ctl_valid = TRUE; /* seems good */ return CURLE_OK; |
︙ | ︙ | |||
4391 4392 4393 4394 4395 4396 4397 | struct FTP *ftp; conn->data->req.protop = ftp = calloc(sizeof(struct FTP), 1); if(NULL == ftp) return CURLE_OUT_OF_MEMORY; ftp->path = &data->state.up.path[1]; /* don't include the initial slash */ | < | 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 | struct FTP *ftp; conn->data->req.protop = ftp = calloc(sizeof(struct FTP), 1); if(NULL == ftp) return CURLE_OUT_OF_MEMORY; ftp->path = &data->state.up.path[1]; /* don't include the initial slash */ /* FTP URLs support an extension like ";type=<typecode>" that * we'll try to get now! */ type = strstr(ftp->path, ";type="); if(!type) type = strstr(conn->host.rawalloc, ";type="); |
︙ | ︙ | |||
4424 4425 4426 4427 4428 4429 4430 | /* switch off ASCII */ data->set.prefer_ascii = FALSE; break; } } /* get some initial data into the ftp struct */ | < | 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 | /* switch off ASCII */ data->set.prefer_ascii = FALSE; break; } } /* get some initial data into the ftp struct */ ftp->transfer = FTPTRANSFER_BODY; ftp->downloadsize = 0; /* No need to duplicate user+password, the connectdata struct won't change during a session, but we re-init them here since on subsequent inits since the conn struct may have changed or been replaced. */ |
︙ | ︙ |
Changes to jni/curl/lib/ftp.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_FTP_H #define HEADER_CURL_FTP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_FTP_H #define HEADER_CURL_FTP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
98 99 100 101 102 103 104 | } curl_ftpfile; /* This FTP struct is used in the Curl_easy. All FTP data that is connection-oriented must be in FTP_conn to properly deal with the fact that perhaps the Curl_easy is changed between the times the connection is used. */ struct FTP { | < | 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | } curl_ftpfile; /* This FTP struct is used in the Curl_easy. All FTP data that is connection-oriented must be in FTP_conn to properly deal with the fact that perhaps the Curl_easy is changed between the times the connection is used. */ struct FTP { char *user; /* user name string */ char *passwd; /* password string */ char *path; /* points to the urlpieces struct field */ char *pathalloc; /* if non-NULL a pointer to an allocated path */ /* transfer a file/body or not, done as a typedefed enum just to make debuggers display the full symbol and not just the numerical value */ |
︙ | ︙ |
Changes to jni/curl/lib/getinfo.c.
︙ | ︙ | |||
159 160 161 162 163 164 165 | *param_longp = LONG_MAX; else if(data->info.filetime < LONG_MIN) *param_longp = LONG_MIN; else *param_longp = (long)data->info.filetime; break; case CURLINFO_HEADER_SIZE: | | | | 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | *param_longp = LONG_MAX; else if(data->info.filetime < LONG_MIN) *param_longp = LONG_MIN; else *param_longp = (long)data->info.filetime; break; case CURLINFO_HEADER_SIZE: *param_longp = (long)data->info.header_size; break; case CURLINFO_REQUEST_SIZE: *param_longp = (long)data->info.request_size; break; case CURLINFO_SSL_VERIFYRESULT: *param_longp = data->set.ssl.certverifyresult; break; case CURLINFO_PROXY_SSL_VERIFYRESULT: *param_longp = data->set.proxy_ssl.certverifyresult; break; |
︙ | ︙ |
Changes to jni/curl/lib/gopher.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
74 75 76 77 78 79 80 | }; static CURLcode gopher_do(struct connectdata *conn, bool *done) { CURLcode result = CURLE_OK; struct Curl_easy *data = conn->data; curl_socket_t sockfd = conn->sock[FIRSTSOCKET]; | < < > > > | | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | }; static CURLcode gopher_do(struct connectdata *conn, bool *done) { CURLcode result = CURLE_OK; struct Curl_easy *data = conn->data; curl_socket_t sockfd = conn->sock[FIRSTSOCKET]; char *gopherpath; char *path = data->state.up.path; char *query = data->state.up.query; char *sel = NULL; char *sel_org = NULL; ssize_t amount, k; size_t len; *done = TRUE; /* unconditionally */ /* path is guaranteed non-NULL */ DEBUGASSERT(path); if(query) gopherpath = aprintf("%s?%s", path, query); else gopherpath = strdup(path); if(!gopherpath) return CURLE_OUT_OF_MEMORY; |
︙ | ︙ | |||
163 164 165 166 167 168 169 | failf(data, "Failed sending Gopher request"); return result; } result = Curl_client_write(conn, CLIENTWRITE_HEADER, (char *)"\r\n", 2); if(result) return result; | | < | 164 165 166 167 168 169 170 171 172 173 174 | failf(data, "Failed sending Gopher request"); return result; } result = Curl_client_write(conn, CLIENTWRITE_HEADER, (char *)"\r\n", 2); if(result) return result; Curl_setup_transfer(data, FIRSTSOCKET, -1, FALSE, -1); return CURLE_OK; } #endif /*CURL_DISABLE_GOPHER*/ |
Changes to jni/curl/lib/hostasyn.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
81 82 83 84 85 86 87 88 89 90 91 92 | if(data->share) Curl_share_lock(data, CURL_LOCK_DATA_DNS, CURL_LOCK_ACCESS_SINGLE); dns = Curl_cache_addr(data, ai, conn->async.hostname, conn->async.port); if(!dns) { /* failed to store, cleanup and return error */ Curl_freeaddrinfo(ai); result = CURLE_OUT_OF_MEMORY; } | > > > < < < | 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | if(data->share) Curl_share_lock(data, CURL_LOCK_DATA_DNS, CURL_LOCK_ACCESS_SINGLE); dns = Curl_cache_addr(data, ai, conn->async.hostname, conn->async.port); if(data->share) Curl_share_unlock(data, CURL_LOCK_DATA_DNS); if(!dns) { /* failed to store, cleanup and return error */ Curl_freeaddrinfo(ai); result = CURLE_OUT_OF_MEMORY; } } else { result = CURLE_OUT_OF_MEMORY; } } conn->async.dns = dns; |
︙ | ︙ |
Changes to jni/curl/lib/hostip.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
68 69 70 71 72 73 74 75 76 77 78 79 80 81 | #include "memdebug.h" #if defined(CURLRES_SYNCH) && \ defined(HAVE_ALARM) && defined(SIGALRM) && defined(HAVE_SIGSETJMP) /* alarm-based timeouts can only be used with all the dependencies satisfied */ #define USE_ALARM_TIMEOUT #endif /* * hostip.c explained * ================== * * The main COMPILE-TIME DEFINES to keep in mind when reading the host*.c * source file are these: | > > | 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | #include "memdebug.h" #if defined(CURLRES_SYNCH) && \ defined(HAVE_ALARM) && defined(SIGALRM) && defined(HAVE_SIGSETJMP) /* alarm-based timeouts can only be used with all the dependencies satisfied */ #define USE_ALARM_TIMEOUT #endif #define MAX_HOSTCACHE_LEN (255 + 7) /* max FQDN + colon + port number + zero */ /* * hostip.c explained * ================== * * The main COMPILE-TIME DEFINES to keep in mind when reading the host*.c * source file are these: |
︙ | ︙ | |||
194 195 196 197 198 199 200 | default: break; } return NULL; } /* | | | | | | | | < | | | | < < < | 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 | default: break; } return NULL; } /* * Create a hostcache id string for the provided host + port, to be used by * the DNS caching. Without alloc. */ static void create_hostcache_id(const char *name, int port, char *ptr, size_t buflen) { size_t len = strlen(name); if(len > (buflen - 7)) len = buflen - 7; /* store and lower case the name */ while(len--) *ptr++ = (char)TOLOWER(*name++); msnprintf(ptr, 7, ":%u", port); } struct hostcache_prune_data { long cache_timeout; time_t now; }; |
︙ | ︙ | |||
292 293 294 295 296 297 298 | /* lookup address, returns entry if found and not stale */ static struct Curl_dns_entry * fetch_addr(struct connectdata *conn, const char *hostname, int port) { | < > | < < < < < < < < < < | < < < < < < < < | 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 | /* lookup address, returns entry if found and not stale */ static struct Curl_dns_entry * fetch_addr(struct connectdata *conn, const char *hostname, int port) { struct Curl_dns_entry *dns = NULL; size_t entry_len; struct Curl_easy *data = conn->data; char entry_id[MAX_HOSTCACHE_LEN]; /* Create an entry id, based upon the hostname and port */ create_hostcache_id(hostname, port, entry_id, sizeof(entry_id)); entry_len = strlen(entry_id); /* See if its already in our dns cache */ dns = Curl_hash_pick(data->dns.hostcache, entry_id, entry_len + 1); /* No entry found in cache, check if we might have a wildcard entry */ if(!dns && data->change.wildcard_resolve) { create_hostcache_id("*", port, entry_id, sizeof(entry_id)); entry_len = strlen(entry_id); /* See if it's already in our dns cache */ dns = Curl_hash_pick(data->dns.hostcache, entry_id, entry_len + 1); } if(dns && (data->set.dns_cache_timeout != -1)) { /* See whether the returned entry is stale. Done before we release lock */ struct hostcache_prune_data user; time(&user.now); user.cache_timeout = data->set.dns_cache_timeout; if(hostcache_timestamp_remove(&user, dns)) { infof(data, "Hostname in DNS cache was stale, zapped\n"); dns = NULL; /* the memory deallocation is being handled by the hash */ Curl_hash_delete(data->dns.hostcache, entry_id, entry_len + 1); } } return dns; } /* * Curl_fetch_addr() fetches a 'Curl_dns_entry' already in the DNS cache. * * Curl_resolv() checks initially and multi_runsingle() checks each time |
︙ | ︙ | |||
384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 | if(data->share) Curl_share_unlock(data, CURL_LOCK_DATA_DNS); return dns; } /* * Curl_shuffle_addr() shuffles the order of addresses in a 'Curl_addrinfo' * struct by re-linking its linked list. * * The addr argument should be the address of a pointer to the head node of a * `Curl_addrinfo` list and it will be modified to point to the new head after * shuffling. * * Not declared static only to make it easy to use in a unit test! * * @unittest: 1608 */ | > > > | > | 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 | if(data->share) Curl_share_unlock(data, CURL_LOCK_DATA_DNS); return dns; } UNITTEST CURLcode Curl_shuffle_addr(struct Curl_easy *data, Curl_addrinfo **addr); /* * Curl_shuffle_addr() shuffles the order of addresses in a 'Curl_addrinfo' * struct by re-linking its linked list. * * The addr argument should be the address of a pointer to the head node of a * `Curl_addrinfo` list and it will be modified to point to the new head after * shuffling. * * Not declared static only to make it easy to use in a unit test! * * @unittest: 1608 */ UNITTEST CURLcode Curl_shuffle_addr(struct Curl_easy *data, Curl_addrinfo **addr) { CURLcode result = CURLE_OK; const int num_addrs = Curl_num_addresses(*addr); if(num_addrs > 1) { Curl_addrinfo **nodes; infof(data, "Shuffling %i addresses", num_addrs); |
︙ | ︙ | |||
463 464 465 466 467 468 469 | */ struct Curl_dns_entry * Curl_cache_addr(struct Curl_easy *data, Curl_addrinfo *addr, const char *hostname, int port) { | | < < < < < < < < > > > > < < < < < | 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 | */ struct Curl_dns_entry * Curl_cache_addr(struct Curl_easy *data, Curl_addrinfo *addr, const char *hostname, int port) { char entry_id[MAX_HOSTCACHE_LEN]; size_t entry_len; struct Curl_dns_entry *dns; struct Curl_dns_entry *dns2; /* shuffle addresses if requested */ if(data->set.dns_shuffle_addresses) { CURLcode result = Curl_shuffle_addr(data, &addr); if(result) return NULL; } /* Create a new cache entry */ dns = calloc(1, sizeof(struct Curl_dns_entry)); if(!dns) { return NULL; } /* Create an entry id, based upon the hostname and port */ create_hostcache_id(hostname, port, entry_id, sizeof(entry_id)); entry_len = strlen(entry_id); dns->inuse = 1; /* the cache has the first reference */ dns->addr = addr; /* this is the address(es) */ time(&dns->timestamp); if(dns->timestamp == 0) dns->timestamp = 1; /* zero indicates CURLOPT_RESOLVE entry */ /* Store the resolved data in our DNS cache. */ dns2 = Curl_hash_add(data->dns.hostcache, entry_id, entry_len + 1, (void *)dns); if(!dns2) { free(dns); return NULL; } dns = dns2; dns->inuse++; /* mark entry as in-use */ return dns; } /* * Curl_resolv() is the main name resolve function within libcurl. It resolves * a name and returns a pointer to the entry in the 'entry' argument (if one * is provided). This function might return immediately if we're using asynch |
︙ | ︙ | |||
564 565 566 567 568 569 570 | if(data->share) Curl_share_unlock(data, CURL_LOCK_DATA_DNS); if(!dns) { /* The entry was not in the cache. Resolve it to IP address */ Curl_addrinfo *addr; | | | 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 | if(data->share) Curl_share_unlock(data, CURL_LOCK_DATA_DNS); if(!dns) { /* The entry was not in the cache. Resolve it to IP address */ Curl_addrinfo *addr; int respwait = 0; /* Check what IP specifics the app has requested and if we can provide it. * If not, bail out. */ if(!Curl_ipvalid(conn)) return CURLRESOLV_ERROR; /* notify the resolver start callback */ |
︙ | ︙ | |||
892 893 894 895 896 897 898 899 900 901 | char hostname[256]; int port = 0; /* Default is no wildcard found */ data->change.wildcard_resolve = false; for(hostp = data->change.resolve; hostp; hostp = hostp->next) { if(!hostp->data) continue; if(hostp->data[0] == '-') { | > < | < < < < < < < < < | 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 | char hostname[256]; int port = 0; /* Default is no wildcard found */ data->change.wildcard_resolve = false; for(hostp = data->change.resolve; hostp; hostp = hostp->next) { char entry_id[MAX_HOSTCACHE_LEN]; if(!hostp->data) continue; if(hostp->data[0] == '-') { size_t entry_len; if(2 != sscanf(hostp->data + 1, "%255[^:]:%d", hostname, &port)) { infof(data, "Couldn't parse CURLOPT_RESOLVE removal entry '%s'!\n", hostp->data); continue; } /* Create an entry id, based upon the hostname and port */ create_hostcache_id(hostname, port, entry_id, sizeof(entry_id)); entry_len = strlen(entry_id); if(data->share) Curl_share_lock(data, CURL_LOCK_DATA_DNS, CURL_LOCK_ACCESS_SINGLE); /* delete entry, ignore if it didn't exist */ Curl_hash_delete(data->dns.hostcache, entry_id, entry_len + 1); if(data->share) Curl_share_unlock(data, CURL_LOCK_DATA_DNS); } else { struct Curl_dns_entry *dns; Curl_addrinfo *head = NULL, *tail = NULL; size_t entry_len; char address[64]; #if !defined(CURL_DISABLE_VERBOSE_STRINGS) char *addresses = NULL; #endif char *addr_begin; char *addr_end; |
︙ | ︙ | |||
1024 1025 1026 1027 1028 1029 1030 | infof(data, "Couldn't parse CURLOPT_RESOLVE entry '%s'!\n", hostp->data); Curl_freeaddrinfo(head); continue; } /* Create an entry id, based upon the hostname and port */ | | < < < < < < < | 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 | infof(data, "Couldn't parse CURLOPT_RESOLVE entry '%s'!\n", hostp->data); Curl_freeaddrinfo(head); continue; } /* Create an entry id, based upon the hostname and port */ create_hostcache_id(hostname, port, entry_id, sizeof(entry_id)); entry_len = strlen(entry_id); if(data->share) Curl_share_lock(data, CURL_LOCK_DATA_DNS, CURL_LOCK_ACCESS_SINGLE); /* See if its already in our dns cache */ dns = Curl_hash_pick(data->dns.hostcache, entry_id, entry_len + 1); if(dns) { infof(data, "RESOLVE %s:%d is - old addresses discarded!\n", hostname, port); /* delete old entry entry, there are two reasons for this 1. old entry may have different addresses. 2. even if entry with correct addresses is already in the cache, but if it is close to expire, then by the time next http request is made, it can get expired and pruned because old entry is not necessarily marked as added by CURLOPT_RESOLVE. */ Curl_hash_delete(data->dns.hostcache, entry_id, entry_len + 1); } /* put this new host in the cache */ dns = Curl_cache_addr(data, head, hostname, port); if(dns) { dns->timestamp = 0; /* mark as added by CURLOPT_RESOLVE */ /* release the returned reference; the cache itself will keep the * entry alive: */ |
︙ | ︙ |
Changes to jni/curl/lib/hostip.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_HOSTIP_H #define HEADER_CURL_HOSTIP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_HOSTIP_H #define HEADER_CURL_HOSTIP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
174 175 176 177 178 179 180 | * use, or we'll leak memory! */ struct Curl_dns_entry * Curl_fetch_addr(struct connectdata *conn, const char *hostname, int port); | < < < < < < < < < < | 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | * use, or we'll leak memory! */ struct Curl_dns_entry * Curl_fetch_addr(struct connectdata *conn, const char *hostname, int port); /* * Curl_cache_addr() stores a 'Curl_addrinfo' struct in the DNS cache. * * Returns the Curl_dns_entry entry pointer or NULL if the storage failed. */ struct Curl_dns_entry * Curl_cache_addr(struct Curl_easy *data, Curl_addrinfo *addr, |
︙ | ︙ |
Changes to jni/curl/lib/hostip6.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
97 98 99 100 101 102 103 | #if defined(CURLRES_SYNCH) #ifdef DEBUG_ADDRINFO static void dump_addrinfo(struct connectdata *conn, const Curl_addrinfo *ai) { printf("dump_addrinfo:\n"); for(; ai; ai = ai->ai_next) { | | | | > | 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | #if defined(CURLRES_SYNCH) #ifdef DEBUG_ADDRINFO static void dump_addrinfo(struct connectdata *conn, const Curl_addrinfo *ai) { printf("dump_addrinfo:\n"); for(; ai; ai = ai->ai_next) { char buf[INET6_ADDRSTRLEN]; char buffer[STRERROR_LEN]; printf(" fam %2d, CNAME %s, ", ai->ai_family, ai->ai_canonname ? ai->ai_canonname : "<none>"); if(Curl_printable_address(ai, buf, sizeof(buf))) printf("%s\n", buf); else printf("failed; %s\n", Curl_strerror(SOCKERRNO, buffer, sizeof(buffer))); } } #else #define dump_addrinfo(x,y) Curl_nop_stmt #endif /* |
︙ | ︙ |
Changes to jni/curl/lib/http.c.
︙ | ︙ | |||
73 74 75 76 77 78 79 80 81 82 83 84 85 86 | #include "http_proxy.h" #include "warnless.h" #include "non-ascii.h" #include "pipeline.h" #include "http2.h" #include "connect.h" #include "strdup.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" /* | > | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | #include "http_proxy.h" #include "warnless.h" #include "non-ascii.h" #include "pipeline.h" #include "http2.h" #include "connect.h" #include "strdup.h" #include "altsvc.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" /* |
︙ | ︙ | |||
98 99 100 101 102 103 104 105 106 107 108 109 110 | static CURLcode https_connecting(struct connectdata *conn, bool *done); static int https_getsock(struct connectdata *conn, curl_socket_t *socks, int numsocks); #else #define https_connecting(x,y) CURLE_COULDNT_CONNECT #endif /* * HTTP handler interface. */ const struct Curl_handler Curl_handler_http = { "HTTP", /* scheme */ | > | | 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | static CURLcode https_connecting(struct connectdata *conn, bool *done); static int https_getsock(struct connectdata *conn, curl_socket_t *socks, int numsocks); #else #define https_connecting(x,y) CURLE_COULDNT_CONNECT #endif static CURLcode http_setup_conn(struct connectdata *conn); /* * HTTP handler interface. */ const struct Curl_handler Curl_handler_http = { "HTTP", /* scheme */ http_setup_conn, /* setup_connection */ Curl_http, /* do_it */ Curl_http_done, /* done */ ZERO_NULL, /* do_more */ Curl_http_connect, /* connect_it */ ZERO_NULL, /* connecting */ ZERO_NULL, /* doing */ ZERO_NULL, /* proto_getsock */ |
︙ | ︙ | |||
129 130 131 132 133 134 135 | #ifdef USE_SSL /* * HTTPS handler interface. */ const struct Curl_handler Curl_handler_https = { "HTTPS", /* scheme */ | | | | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | #ifdef USE_SSL /* * HTTPS handler interface. */ const struct Curl_handler Curl_handler_https = { "HTTPS", /* scheme */ http_setup_conn, /* setup_connection */ Curl_http, /* do_it */ Curl_http_done, /* done */ ZERO_NULL, /* do_more */ Curl_http_connect, /* connect_it */ https_connecting, /* connecting */ ZERO_NULL, /* doing */ https_getsock, /* proto_getsock */ http_getsock_do, /* doing_getsock */ ZERO_NULL, /* domore_getsock */ ZERO_NULL, /* perform_getsock */ ZERO_NULL, /* disconnect */ ZERO_NULL, /* readwrite */ ZERO_NULL, /* connection_check */ PORT_HTTPS, /* defport */ CURLPROTO_HTTPS, /* protocol */ PROTOPT_SSL | PROTOPT_CREDSPERREQUEST | PROTOPT_ALPN_NPN /* flags */ }; #endif static CURLcode http_setup_conn(struct connectdata *conn) { /* allocate the HTTP-specific struct for the Curl_easy, only to survive during this request */ struct HTTP *http; struct Curl_easy *data = conn->data; DEBUGASSERT(data->req.protop == NULL); |
︙ | ︙ | |||
411 412 413 414 415 416 417 | case HTTPREQ_GET: case HTTPREQ_HEAD: return CURLE_OK; default: break; } | | | 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 | case HTTPREQ_GET: case HTTPREQ_HEAD: return CURLE_OK; default: break; } bytessent = data->req.writebytecount; if(conn->bits.authneg) { /* This is a state where we are known to be negotiating and we don't send any data then. */ expectsend = 0; } else if(!conn->bits.protoconnstart) { |
︙ | ︙ | |||
475 476 477 478 479 480 481 482 | return CURLE_OK; infof(data, "NTLM send, close instead of sending %" CURL_FORMAT_CURL_OFF_T " bytes\n", (curl_off_t)(expectsend - bytessent)); } #endif | > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 | return CURLE_OK; infof(data, "NTLM send, close instead of sending %" CURL_FORMAT_CURL_OFF_T " bytes\n", (curl_off_t)(expectsend - bytessent)); } #endif #if defined(USE_SPNEGO) /* There is still data left to send */ if((data->state.authproxy.picked == CURLAUTH_NEGOTIATE) || (data->state.authhost.picked == CURLAUTH_NEGOTIATE)) { if(((expectsend - bytessent) < 2000) || (conn->negotiate.state != GSS_AUTHNONE) || (conn->proxyneg.state != GSS_AUTHNONE)) { /* The NEGOTIATE-negotiation has started *OR* there is just a little (<2K) data left to send, keep on sending. */ /* rewind data when completely done sending! */ if(!conn->bits.authneg && (conn->writesockfd != CURL_SOCKET_BAD)) { conn->bits.rewindaftersend = TRUE; infof(data, "Rewind stream after send\n"); } return CURLE_OK; } if(conn->bits.close) /* this is already marked to get closed */ return CURLE_OK; infof(data, "NEGOTIATE send, close instead of sending %" CURL_FORMAT_CURL_OFF_T " bytes\n", (curl_off_t)(expectsend - bytessent)); } #endif /* This is not NEGOTIATE/NTLM or many bytes left to send: close */ streamclose(conn, "Mid-auth HTTP and much data left to send"); data->req.size = 0; /* don't download any more than 0 bytes */ /* There still is data left to send, but this connection is marked for closure so we can safely do the rewind right now */ } |
︙ | ︙ | |||
594 595 596 597 598 599 600 | bool proxy) { const char *auth = NULL; CURLcode result = CURLE_OK; #if !defined(CURL_DISABLE_VERBOSE_STRINGS) || defined(USE_SPNEGO) struct Curl_easy *data = conn->data; #endif | < < < < < | < < < | 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 | bool proxy) { const char *auth = NULL; CURLcode result = CURLE_OK; #if !defined(CURL_DISABLE_VERBOSE_STRINGS) || defined(USE_SPNEGO) struct Curl_easy *data = conn->data; #endif #ifdef CURL_DISABLE_CRYPTO_AUTH (void)request; (void)path; #endif #ifdef USE_SPNEGO if((authstatus->picked == CURLAUTH_NEGOTIATE)) { auth = "Negotiate"; result = Curl_output_negotiate(conn, proxy); if(result) return result; } else #endif #ifdef USE_NTLM if(authstatus->picked == CURLAUTH_NTLM) { auth = "NTLM"; result = Curl_output_ntlm(conn, proxy); |
︙ | ︙ | |||
746 747 748 749 750 751 752 | far by a proxy round-trip. Then we set the picked one to the want one, and if this is one single bit it'll be used instantly. */ authproxy->picked = authproxy->want; #ifndef CURL_DISABLE_PROXY /* Send proxy authentication header if needed */ if(conn->bits.httpproxy && | | | 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 | far by a proxy round-trip. Then we set the picked one to the want one, and if this is one single bit it'll be used instantly. */ authproxy->picked = authproxy->want; #ifndef CURL_DISABLE_PROXY /* Send proxy authentication header if needed */ if(conn->bits.httpproxy && (conn->bits.tunnel_proxy == (bit)proxytunnel)) { result = output_auth_headers(conn, authproxy, request, path, TRUE); if(result) return result; } else #else (void)proxytunnel; |
︙ | ︙ | |||
790 791 792 793 794 795 796 | /* * This resource requires authentication */ struct Curl_easy *data = conn->data; #ifdef USE_SPNEGO struct negotiatedata *negdata = proxy? | | | 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 | /* * This resource requires authentication */ struct Curl_easy *data = conn->data; #ifdef USE_SPNEGO struct negotiatedata *negdata = proxy? &conn->proxyneg:&conn->negotiate; #endif unsigned long *availp; struct auth *authp; if(proxy) { availp = &data->info.proxyauthavail; authp = &data->state.authproxy; |
︙ | ︙ | |||
829 830 831 832 833 834 835 | if(checkprefix("Negotiate", auth)) { if((authp->avail & CURLAUTH_NEGOTIATE) || Curl_auth_is_spnego_supported()) { *availp |= CURLAUTH_NEGOTIATE; authp->avail |= CURLAUTH_NEGOTIATE; if(authp->picked == CURLAUTH_NEGOTIATE) { | < < | | | | | | | | | | | | < | 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 | if(checkprefix("Negotiate", auth)) { if((authp->avail & CURLAUTH_NEGOTIATE) || Curl_auth_is_spnego_supported()) { *availp |= CURLAUTH_NEGOTIATE; authp->avail |= CURLAUTH_NEGOTIATE; if(authp->picked == CURLAUTH_NEGOTIATE) { CURLcode result = Curl_input_negotiate(conn, proxy, auth); if(!result) { DEBUGASSERT(!data->req.newurl); data->req.newurl = strdup(data->change.url); if(!data->req.newurl) return CURLE_OUT_OF_MEMORY; data->state.authproblem = FALSE; /* we received a GSS auth token and we dealt with it fine */ negdata->state = GSS_AUTHRECV; } else data->state.authproblem = TRUE; } } } else #endif #ifdef USE_NTLM /* NTLM support requires the SSL crypto libs */ |
︙ | ︙ | |||
1113 1114 1115 1116 1117 1118 1119 | * memory. Body data may be appended to the header data if desired. * * Returns CURLcode */ CURLcode Curl_add_buffer_send(Curl_send_buffer **inp, struct connectdata *conn, | | | | | < | 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 | * memory. Body data may be appended to the header data if desired. * * Returns CURLcode */ CURLcode Curl_add_buffer_send(Curl_send_buffer **inp, struct connectdata *conn, /* add the number of sent bytes to this counter */ curl_off_t *bytes_written, /* how much of the buffer contains body data */ size_t included_body_bytes, int socketindex) { ssize_t amount; CURLcode result; char *ptr; size_t size; struct Curl_easy *data = conn->data; struct HTTP *http = data->req.protop; |
︙ | ︙ | |||
1216 1217 1218 1219 1220 1221 1222 | signed 31 bit value should not cause problems even if ssize_t is 64bit */ *bytes_written += (long)amount; if(http) { /* if we sent a piece of the body here, up the byte counter for it accordingly */ | | > | 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 | signed 31 bit value should not cause problems even if ssize_t is 64bit */ *bytes_written += (long)amount; if(http) { /* if we sent a piece of the body here, up the byte counter for it accordingly */ data->req.writebytecount += bodylen; Curl_pgrsSetUploadCounter(data, data->req.writebytecount); if((size_t)amount != size) { /* The whole request could not be sent in one system call. We must queue it up and send it later when we get the chance. We must not loop here and wait until it might work again. */ size -= amount; |
︙ | ︙ | |||
1549 1550 1551 1552 1553 1554 1555 | /* Clear multipass flag. If authentication isn't done yet, then it will get * a chance to be set back to true when we output the next auth header */ data->state.authhost.multipass = FALSE; data->state.authproxy.multipass = FALSE; Curl_unencode_cleanup(conn); | < < < < < < < < < < < < < < < < < < < < < < < < | | 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 | /* Clear multipass flag. If authentication isn't done yet, then it will get * a chance to be set back to true when we output the next auth header */ data->state.authhost.multipass = FALSE; data->state.authproxy.multipass = FALSE; Curl_unencode_cleanup(conn); /* set the proper values (possibly modified on POST) */ conn->seek_func = data->set.seek_func; /* restore */ conn->seek_client = data->set.seek_client; /* restore */ if(!http) return CURLE_OK; if(http->send_buffer) { Curl_add_buffer_free(&http->send_buffer); } Curl_http2_done(conn, premature); Curl_mime_cleanpart(&http->form); if(status) return status; if(!premature && /* this check is pointless when DONE is called before the entire operation is complete */ !conn->bits.retry && !data->set.connect_only && (data->req.bytecount + data->req.headerbytecount - data->req.deductheadercount) <= 0) { /* If this connection isn't simply closed to be retried, AND nothing was read from the HTTP server (that counts), this can't be right so we return an error here */ failf(data, "Empty reply from server"); return CURLE_GOT_NOTHING; |
︙ | ︙ | |||
1785 1786 1787 1788 1789 1790 1791 | if(*ptr) { /* this may be used for something else in the future */ optr = NULL; } else { if(*(--ptr) == ';') { | > > | > > > > | > | > | | | | | | | | | | | 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 | if(*ptr) { /* this may be used for something else in the future */ optr = NULL; } else { if(*(--ptr) == ';') { /* copy the source */ semicolonp = strdup(headers->data); if(!semicolonp) { Curl_add_buffer_free(&req_buffer); return CURLE_OUT_OF_MEMORY; } /* put a colon where the semicolon is */ semicolonp[ptr - headers->data] = ':'; /* point at the colon */ optr = &semicolonp [ptr - headers->data]; } } ptr = optr; } } if(ptr) { /* we require a colon for this to be a true header */ ptr++; /* pass the colon */ while(*ptr && ISSPACE(*ptr)) ptr++; if(*ptr || semicolonp) { /* only send this if the contents was non-blank or done special */ CURLcode result = CURLE_OK; char *compare = semicolonp ? semicolonp : headers->data; if(conn->allocptr.host && /* a Host: header was sent already, don't pass on any custom Host: header as that will produce *two* in the same request! */ checkprefix("Host:", compare)) ; else if(data->set.httpreq == HTTPREQ_POST_FORM && /* this header (extended by formdata.c) is sent later */ checkprefix("Content-Type:", compare)) ; else if(data->set.httpreq == HTTPREQ_POST_MIME && /* this header is sent later */ checkprefix("Content-Type:", compare)) ; else if(conn->bits.authneg && /* while doing auth neg, don't allow the custom length since we will force length zero then */ checkprefix("Content-Length:", compare)) ; else if(conn->allocptr.te && /* when asking for Transfer-Encoding, don't pass on a custom Connection: */ checkprefix("Connection:", compare)) ; else if((conn->httpversion == 20) && checkprefix("Transfer-Encoding:", compare)) /* HTTP/2 doesn't support chunked requests */ ; else if((checkprefix("Authorization:", compare) || checkprefix("Cookie:", compare)) && /* be careful of sending this potentially sensitive header to other hosts */ (data->state.this_is_a_follow && data->state.first_host && !data->set.allow_auth_to_other_hosts && !strcasecompare(data->state.first_host, conn->host.name))) ; else { result = Curl_add_bufferf(&req_buffer, "%s\r\n", compare); } if(semicolonp) free(semicolonp); if(result) return result; } } headers = headers->next; } } |
︙ | ︙ | |||
1996 1997 1998 1999 2000 2001 2002 | data->state.first_host = strdup(conn->host.name); if(!data->state.first_host) return CURLE_OUT_OF_MEMORY; data->state.first_remote_port = conn->remote_port; } | < | 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 | data->state.first_host = strdup(conn->host.name); if(!data->state.first_host) return CURLE_OUT_OF_MEMORY; data->state.first_remote_port = conn->remote_port; } if((conn->handler->protocol&(PROTO_FAMILY_HTTP|CURLPROTO_FTP)) && data->set.upload) { httpreq = HTTPREQ_PUT; } /* Now set the 'request' pointer to the proper request string */ |
︙ | ︙ | |||
2057 2058 2059 2060 2061 2062 2063 | } result = Curl_http_output_auth(conn, request, (pq ? pq : path), FALSE); free(pq); if(result) return result; } | | > | 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 | } result = Curl_http_output_auth(conn, request, (pq ? pq : path), FALSE); free(pq); if(result) return result; } if(((data->state.authhost.multipass && !data->state.authhost.done) || (data->state.authproxy.multipass && !data->state.authproxy.done)) && (httpreq != HTTPREQ_GET) && (httpreq != HTTPREQ_HEAD)) { /* Auth is required and we are not authenticated yet. Make a PUT or POST with content-length zero as a "probe". */ conn->bits.authneg = TRUE; } else |
︙ | ︙ | |||
2693 2694 2695 2696 2697 2698 2699 | /* this sends the buffer and frees all the buffer resources */ result = Curl_add_buffer_send(&req_buffer, conn, &data->info.request_size, 0, FIRSTSOCKET); if(result) failf(data, "Failed sending PUT request"); else /* prepare for transfer */ | | | < | < | | 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 | /* this sends the buffer and frees all the buffer resources */ result = Curl_add_buffer_send(&req_buffer, conn, &data->info.request_size, 0, FIRSTSOCKET); if(result) failf(data, "Failed sending PUT request"); else /* prepare for transfer */ Curl_setup_transfer(data, FIRSTSOCKET, -1, TRUE, postsize?FIRSTSOCKET:-1); if(result) return result; break; case HTTPREQ_POST_FORM: case HTTPREQ_POST_MIME: /* This is form posting using mime data. */ if(conn->bits.authneg) { /* nothing to post! */ result = Curl_add_bufferf(&req_buffer, "Content-Length: 0\r\n\r\n"); if(result) return result; result = Curl_add_buffer_send(&req_buffer, conn, &data->info.request_size, 0, FIRSTSOCKET); if(result) failf(data, "Failed sending POST request"); else /* setup variables for the upcoming transfer */ Curl_setup_transfer(data, FIRSTSOCKET, -1, TRUE, -1); break; } data->state.infilesize = postsize = http->postsize; /* We only set Content-Length and allow a custom Content-Length if we don't upload data chunked, as RFC2616 forbids us to set both kinds of headers (Transfer-Encoding: chunked and Content-Length) */ if(postsize != -1 && !data->req.upload_chunky && (conn->bits.authneg || !Curl_checkheaders(conn, "Content-Length"))) { /* we allow replacing this header if not during auth negotiation, |
︙ | ︙ | |||
2784 2785 2786 2787 2788 2789 2790 | /* this sends the buffer and frees all the buffer resources */ result = Curl_add_buffer_send(&req_buffer, conn, &data->info.request_size, 0, FIRSTSOCKET); if(result) failf(data, "Failed sending POST request"); else /* prepare for transfer */ | | | < | 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 | /* this sends the buffer and frees all the buffer resources */ result = Curl_add_buffer_send(&req_buffer, conn, &data->info.request_size, 0, FIRSTSOCKET); if(result) failf(data, "Failed sending POST request"); else /* prepare for transfer */ Curl_setup_transfer(data, FIRSTSOCKET, -1, TRUE, postsize?FIRSTSOCKET:-1); if(result) return result; break; case HTTPREQ_POST: /* this is the simple POST, using x-www-form-urlencoded style */ |
︙ | ︙ | |||
2940 2941 2942 2943 2944 2945 2946 | /* issue the request */ result = Curl_add_buffer_send(&req_buffer, conn, &data->info.request_size, (size_t)included_body, FIRSTSOCKET); if(result) failf(data, "Failed sending HTTP POST request"); else | | | < | | < | | | | < < | 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 | /* issue the request */ result = Curl_add_buffer_send(&req_buffer, conn, &data->info.request_size, (size_t)included_body, FIRSTSOCKET); if(result) failf(data, "Failed sending HTTP POST request"); else Curl_setup_transfer(data, FIRSTSOCKET, -1, TRUE, http->postdata?FIRSTSOCKET:-1); break; default: result = Curl_add_buffer(&req_buffer, "\r\n", 2); if(result) return result; /* issue the request */ result = Curl_add_buffer_send(&req_buffer, conn, &data->info.request_size, 0, FIRSTSOCKET); if(result) failf(data, "Failed sending HTTP request"); else /* HTTP GET/HEAD download: */ Curl_setup_transfer(data, FIRSTSOCKET, -1, TRUE, http->postdata?FIRSTSOCKET:-1); } if(result) return result; if(data->req.writebytecount) { /* if a request-body has been sent off, we make sure this progress is noted properly */ Curl_pgrsSetUploadCounter(data, data->req.writebytecount); if(Curl_pgrsUpdate(conn)) result = CURLE_ABORTED_BY_CALLBACK; if(data->req.writebytecount >= postsize) { /* already sent the entire request body, mark the "upload" as complete */ infof(data, "upload completely sent off: %" CURL_FORMAT_CURL_OFF_T " out of %" CURL_FORMAT_CURL_OFF_T " bytes\n", data->req.writebytecount, postsize); data->req.upload_done = TRUE; data->req.keepon &= ~KEEP_SEND; /* we're done writing */ data->req.exp100 = EXP100_SEND_DATA; /* already sent */ Curl_expire_done(data, EXPIRE_100_TIMEOUT); } } if((conn->httpversion == 20) && data->req.upload_chunky) /* upload_chunky was set above to set up the request in a chunky fashion, but is disabled here again to avoid that the chunked encoded version is actually used when sending the request body over h2 */ data->req.upload_chunky = FALSE; |
︙ | ︙ | |||
3379 3380 3381 3382 3383 3384 3385 | (conn->ntlm.state == NTLMSTATE_TYPE2)) || ((data->req.httpcode == 407) && (conn->proxyntlm.state == NTLMSTATE_TYPE2)))) { infof(data, "Connection closure while negotiating auth (HTTP 1.0?)\n"); data->state.authproblem = TRUE; } #endif | > > > > > > > > | > > > > > > > > > | 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 | (conn->ntlm.state == NTLMSTATE_TYPE2)) || ((data->req.httpcode == 407) && (conn->proxyntlm.state == NTLMSTATE_TYPE2)))) { infof(data, "Connection closure while negotiating auth (HTTP 1.0?)\n"); data->state.authproblem = TRUE; } #endif #if defined(USE_SPNEGO) if(conn->bits.close && (((data->req.httpcode == 401) && (conn->negotiate.state == GSS_AUTHRECV)) || ((data->req.httpcode == 407) && (conn->proxyneg.state == GSS_AUTHRECV)))) { infof(data, "Connection closure while negotiating auth (HTTP 1.0?)\n"); data->state.authproblem = TRUE; } if((conn->negotiate.state == GSS_AUTHDONE) && (data->req.httpcode != 401)) { conn->negotiate.state = GSS_AUTHSUCC; } if((conn->proxyneg.state == GSS_AUTHDONE) && (data->req.httpcode != 407)) { conn->proxyneg.state = GSS_AUTHSUCC; } #endif /* * When all the headers have been parsed, see if we should give * up and return an error. */ if(http_should_fail(conn)) { failf(data, "The requested URL returned error: %d", k->httpcode); |
︙ | ︙ | |||
3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 | result = Curl_http_input_auth(conn, proxy, auth); free(auth); if(result) return result; } else if((k->httpcode >= 300 && k->httpcode < 400) && checkprefix("Location:", k->p) && !data->req.location) { /* this is the URL that the server advises us to use instead */ char *location = Curl_copy_header_value(k->p); if(!location) return CURLE_OUT_OF_MEMORY; | > > > > > > > > > > > > > > > > | 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 | result = Curl_http_input_auth(conn, proxy, auth); free(auth); if(result) return result; } #ifdef USE_SPNEGO else if(checkprefix("Persistent-Auth", k->p)) { struct negotiatedata *negdata = &conn->negotiate; struct auth *authp = &data->state.authhost; if(authp->picked == CURLAUTH_NEGOTIATE) { char *persistentauth = Curl_copy_header_value(k->p); if(!persistentauth) return CURLE_OUT_OF_MEMORY; negdata->noauthpersist = checkprefix("false", persistentauth); negdata->havenoauthpersist = TRUE; infof(data, "Negotiate: noauthpersist -> %d, header part: %s", negdata->noauthpersist, persistentauth); free(persistentauth); } } #endif else if((k->httpcode >= 300 && k->httpcode < 400) && checkprefix("Location:", k->p) && !data->req.location) { /* this is the URL that the server advises us to use instead */ char *location = Curl_copy_header_value(k->p); if(!location) return CURLE_OUT_OF_MEMORY; |
︙ | ︙ | |||
3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 | stream at this point */ result = http_perhapsrewind(conn); if(result) return result; } } } else if(conn->handler->protocol & CURLPROTO_RTSP) { result = Curl_rtsp_parseheader(conn, k->p); if(result) return result; } /* | > > > > > > > > > > > > > > > > > > > > > | 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 | stream at this point */ result = http_perhapsrewind(conn); if(result) return result; } } } #ifdef USE_ALTSVC /* If enabled, the header is incoming and this is over HTTPS */ else if(data->asi && checkprefix("Alt-Svc:", k->p) && ((conn->handler->flags & PROTOPT_SSL) || #ifdef CURLDEBUG /* allow debug builds to circumvent the HTTPS restriction */ getenv("CURL_ALTSVC_HTTP") #else 0 #endif )) { /* the ALPN of the current request */ enum alpnid id = (conn->httpversion == 20) ? ALPN_h2 : ALPN_h1; result = Curl_altsvc_parse(data, data->asi, &k->p[ strlen("Alt-Svc:") ], id, conn->host.name, curlx_uitous(conn->remote_port)); if(result) return result; } #endif else if(conn->handler->protocol & CURLPROTO_RTSP) { result = Curl_rtsp_parseheader(conn, k->p); if(result) return result; } /* |
︙ | ︙ |
Changes to jni/curl/lib/http.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_HTTP_H #define HEADER_CURL_HTTP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_HTTP_H #define HEADER_CURL_HTTP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
61 62 63 64 65 66 67 | void Curl_add_buffer_free(Curl_send_buffer **inp); CURLcode Curl_add_bufferf(Curl_send_buffer **inp, const char *fmt, ...) WARN_UNUSED_RESULT; CURLcode Curl_add_buffer(Curl_send_buffer **inp, const void *inptr, size_t size) WARN_UNUSED_RESULT; CURLcode Curl_add_buffer_send(Curl_send_buffer **inp, struct connectdata *conn, | | | 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | void Curl_add_buffer_free(Curl_send_buffer **inp); CURLcode Curl_add_bufferf(Curl_send_buffer **inp, const char *fmt, ...) WARN_UNUSED_RESULT; CURLcode Curl_add_buffer(Curl_send_buffer **inp, const void *inptr, size_t size) WARN_UNUSED_RESULT; CURLcode Curl_add_buffer_send(Curl_send_buffer **inp, struct connectdata *conn, curl_off_t *bytes_written, size_t included_body_bytes, int socketindex); CURLcode Curl_add_timecondition(struct Curl_easy *data, Curl_send_buffer *buf); CURLcode Curl_add_custom_headers(struct connectdata *conn, bool is_connect, |
︙ | ︙ | |||
135 136 137 138 139 140 141 | struct HTTP { curl_mimepart *sendit; curl_off_t postsize; /* off_t to handle large file sizes */ const char *postdata; const char *p_pragma; /* Pragma: string */ const char *p_accept; /* Accept: string */ | < < | 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | struct HTTP { curl_mimepart *sendit; curl_off_t postsize; /* off_t to handle large file sizes */ const char *postdata; const char *p_pragma; /* Pragma: string */ const char *p_accept; /* Accept: string */ /* For FORM posting */ curl_mimepart form; struct back { curl_read_callback fread_func; /* backup storage for fread pointer */ void *fread_in; /* backup storage for fread_in pointer */ |
︙ | ︙ |
Changes to jni/curl/lib/http2.c.
︙ | ︙ | |||
353 354 355 356 357 358 359 | return msnprintf(p, len, " nghttp2/%s", h2->version_str); } /* HTTP/2 error code to name based on the Error Code Registry. https://tools.ietf.org/html/rfc7540#page-77 nghttp2_error_code enums are identical. */ | | | 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 | return msnprintf(p, len, " nghttp2/%s", h2->version_str); } /* HTTP/2 error code to name based on the Error Code Registry. https://tools.ietf.org/html/rfc7540#page-77 nghttp2_error_code enums are identical. */ static const char *http2_strerror(uint32_t err) { #ifndef NGHTTP2_HAS_HTTP2_STRERROR const char *str[] = { "NO_ERROR", /* 0x0 */ "PROTOCOL_ERROR", /* 0x1 */ "INTERNAL_ERROR", /* 0x2 */ "FLOW_CONTROL_ERROR", /* 0x3 */ |
︙ | ︙ | |||
613 614 615 616 617 618 619 620 621 622 623 624 625 626 | else { H2BUGF(infof(data, "Got PUSH_PROMISE, ignore it!\n")); rv = 1; } fail: return rv; } static int on_frame_recv(nghttp2_session *session, const nghttp2_frame *frame, void *userp) { struct connectdata *conn = (struct connectdata *)userp; struct http_conn *httpc = &conn->proto.httpc; struct Curl_easy *data_s = NULL; | > > > > > > > > > > > > | 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 | else { H2BUGF(infof(data, "Got PUSH_PROMISE, ignore it!\n")); rv = 1; } fail: return rv; } /* * multi_connchanged() is called to tell that there is a connection in * this multi handle that has changed state (pipelining become possible, the * number of allowed streams changed or similar), and a subsequent use of this * multi handle should move CONNECT_PEND handles back to CONNECT to have them * retry. */ static void multi_connchanged(struct Curl_multi *multi) { multi->recheckstate = TRUE; } static int on_frame_recv(nghttp2_session *session, const nghttp2_frame *frame, void *userp) { struct connectdata *conn = (struct connectdata *)userp; struct http_conn *httpc = &conn->proto.httpc; struct Curl_easy *data_s = NULL; |
︙ | ︙ | |||
646 647 648 649 650 651 652 | H2BUGF(infof(conn->data, "ENABLE_PUSH == %s\n", httpc->settings.enable_push?"TRUE":"false")); if(max_conn != httpc->settings.max_concurrent_streams) { /* only signal change if the value actually changed */ infof(conn->data, "Connection state changed (MAX_CONCURRENT_STREAMS == %u)!\n", httpc->settings.max_concurrent_streams); | | | 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 | H2BUGF(infof(conn->data, "ENABLE_PUSH == %s\n", httpc->settings.enable_push?"TRUE":"false")); if(max_conn != httpc->settings.max_concurrent_streams) { /* only signal change if the value actually changed */ infof(conn->data, "Connection state changed (MAX_CONCURRENT_STREAMS == %u)!\n", httpc->settings.max_concurrent_streams); multi_connchanged(conn->data->multi); } } return 0; } data_s = nghttp2_session_get_stream_user_data(session, stream_id); if(!data_s) { H2BUGF(infof(conn->data, |
︙ | ︙ | |||
833 834 835 836 837 838 839 | data_s = nghttp2_session_get_stream_user_data(session, stream_id); if(!data_s) { /* We could get stream ID not in the hash. For example, if we decided to reject stream (e.g., PUSH_PROMISE). */ return 0; } H2BUGF(infof(data_s, "on_stream_close(), %s (err %d), stream %u\n", | | | 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 | data_s = nghttp2_session_get_stream_user_data(session, stream_id); if(!data_s) { /* We could get stream ID not in the hash. For example, if we decided to reject stream (e.g., PUSH_PROMISE). */ return 0; } H2BUGF(infof(data_s, "on_stream_close(), %s (err %d), stream %u\n", http2_strerror(error_code), error_code, stream_id)); stream = data_s->req.protop; if(!stream) return NGHTTP2_ERR_CALLBACK_FAILURE; stream->closed = TRUE; httpc = &conn->proto.httpc; drain_this(data_s, httpc); |
︙ | ︙ | |||
952 953 954 955 956 957 958 959 960 961 962 963 964 965 | return NGHTTP2_ERR_CALLBACK_FAILURE; } /* Store received PUSH_PROMISE headers to be used when the subsequent PUSH_PROMISE callback comes */ if(frame->hd.type == NGHTTP2_PUSH_PROMISE) { char *h; if(!stream->push_headers) { stream->push_headers_alloc = 10; stream->push_headers = malloc(stream->push_headers_alloc * sizeof(char *)); if(!stream->push_headers) return NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE; | > > > > > > > > > > > > > > > > > > > > > > | 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 | return NGHTTP2_ERR_CALLBACK_FAILURE; } /* Store received PUSH_PROMISE headers to be used when the subsequent PUSH_PROMISE callback comes */ if(frame->hd.type == NGHTTP2_PUSH_PROMISE) { char *h; if(!strcmp(":authority", (const char *)name)) { /* psuedo headers are lower case */ int rc = 0; char *check = aprintf("%s:%d", conn->host.name, conn->remote_port); if(!check) /* no memory */ return NGHTTP2_ERR_CALLBACK_FAILURE; if(!Curl_strcasecompare(check, (const char *)value)) { /* This is push is not for the same authority that was asked for in * the URL. RFC 7540 section 8.2 says: "A client MUST treat a * PUSH_PROMISE for which the server is not authoritative as a stream * error of type PROTOCOL_ERROR." */ (void)nghttp2_submit_rst_stream(session, NGHTTP2_FLAG_NONE, stream_id, NGHTTP2_PROTOCOL_ERROR); rc = NGHTTP2_ERR_CALLBACK_FAILURE; } free(check); if(rc) return rc; } if(!stream->push_headers) { stream->push_headers_alloc = 10; stream->push_headers = malloc(stream->push_headers_alloc * sizeof(char *)); if(!stream->push_headers) return NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE; |
︙ | ︙ | |||
1193 1194 1195 1196 1197 1198 1199 | http->stream_id = 0; } } /* * Initialize nghttp2 for a Curl connection */ | | | 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 | http->stream_id = 0; } } /* * Initialize nghttp2 for a Curl connection */ static CURLcode http2_init(struct connectdata *conn) { if(!conn->proto.httpc.h2) { int rc; nghttp2_session_callbacks *callbacks; conn->proto.httpc.inbuf = malloc(H2_BUFSIZE); if(conn->proto.httpc.inbuf == NULL) |
︙ | ︙ | |||
1427 1428 1429 1430 1431 1432 1433 | connclose(conn, "REFUSED_STREAM"); /* don't use this anymore */ data->state.refused_stream = TRUE; *err = CURLE_RECV_ERROR; /* trigger Curl_retry_request() later */ return -1; } else if(httpc->error_code != NGHTTP2_NO_ERROR) { failf(data, "HTTP/2 stream %d was not closed cleanly: %s (err %u)", | | | 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 | connclose(conn, "REFUSED_STREAM"); /* don't use this anymore */ data->state.refused_stream = TRUE; *err = CURLE_RECV_ERROR; /* trigger Curl_retry_request() later */ return -1; } else if(httpc->error_code != NGHTTP2_NO_ERROR) { failf(data, "HTTP/2 stream %d was not closed cleanly: %s (err %u)", stream->stream_id, http2_strerror(httpc->error_code), httpc->error_code); *err = CURLE_HTTP2_STREAM; return -1; } if(!stream->bodystarted) { failf(data, "HTTP/2 stream %d was closed cleanly, but before getting " |
︙ | ︙ | |||
2137 2138 2139 2140 2141 2142 2143 | return CURLE_OK; /* already done */ if(conn->handler->flags & PROTOPT_SSL) conn->handler = &Curl_handler_http2_ssl; else conn->handler = &Curl_handler_http2; | | | 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 | return CURLE_OK; /* already done */ if(conn->handler->flags & PROTOPT_SSL) conn->handler = &Curl_handler_http2_ssl; else conn->handler = &Curl_handler_http2; result = http2_init(conn); if(result) { Curl_add_buffer_free(&stream->header_recvbuf); return result; } infof(conn->data, "Using HTTP2, server supports multi-use\n"); stream->upload_left = 0; |
︙ | ︙ | |||
2159 2160 2161 2162 2163 2164 2165 | httpc->drain_total = 0; conn->bits.multiplex = TRUE; /* at least potentially multiplexed */ conn->httpversion = 20; conn->bundle->multiuse = BUNDLE_MULTIPLEX; infof(conn->data, "Connection state changed (HTTP/2 confirmed)\n"); | | | 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 | httpc->drain_total = 0; conn->bits.multiplex = TRUE; /* at least potentially multiplexed */ conn->httpversion = 20; conn->bundle->multiuse = BUNDLE_MULTIPLEX; infof(conn->data, "Connection state changed (HTTP/2 confirmed)\n"); multi_connchanged(conn->data->multi); return CURLE_OK; } CURLcode Curl_http2_switched(struct connectdata *conn, const char *mem, size_t nread) { |
︙ | ︙ |
Changes to jni/curl/lib/http2.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_HTTP2_H #define HEADER_CURL_HTTP2_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_HTTP2_H #define HEADER_CURL_HTTP2_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
59 60 61 62 63 64 65 | void Curl_http2_remove_child(struct Curl_easy *parent, struct Curl_easy *child); void Curl_http2_cleanup_dependencies(struct Curl_easy *data); /* returns true if the HTTP/2 stream error was HTTP_1_1_REQUIRED */ bool Curl_h2_http_1_1_error(struct connectdata *conn); #else /* USE_NGHTTP2 */ | < | 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | void Curl_http2_remove_child(struct Curl_easy *parent, struct Curl_easy *child); void Curl_http2_cleanup_dependencies(struct Curl_easy *data); /* returns true if the HTTP/2 stream error was HTTP_1_1_REQUIRED */ bool Curl_h2_http_1_1_error(struct connectdata *conn); #else /* USE_NGHTTP2 */ #define Curl_http2_send_request(x) CURLE_UNSUPPORTED_PROTOCOL #define Curl_http2_request_upgrade(x,y) CURLE_UNSUPPORTED_PROTOCOL #define Curl_http2_setup(x) CURLE_UNSUPPORTED_PROTOCOL #define Curl_http2_switched(x,y,z) CURLE_UNSUPPORTED_PROTOCOL #define Curl_http2_setup_conn(x) Curl_nop_stmt #define Curl_http2_setup_req(x) #define Curl_http2_init_state(x) |
︙ | ︙ |
Changes to jni/curl/lib/http_negotiate.c.
︙ | ︙ | |||
52 53 54 55 56 57 58 | if(proxy) { userp = conn->http_proxy.user; passwdp = conn->http_proxy.passwd; service = data->set.str[STRING_PROXY_SERVICE_NAME] ? data->set.str[STRING_PROXY_SERVICE_NAME] : "HTTP"; host = conn->http_proxy.host.name; | | | > < | > > > > | > | 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | if(proxy) { userp = conn->http_proxy.user; passwdp = conn->http_proxy.passwd; service = data->set.str[STRING_PROXY_SERVICE_NAME] ? data->set.str[STRING_PROXY_SERVICE_NAME] : "HTTP"; host = conn->http_proxy.host.name; neg_ctx = &conn->proxyneg; } else { userp = conn->user; passwdp = conn->passwd; service = data->set.str[STRING_SERVICE_NAME] ? data->set.str[STRING_SERVICE_NAME] : "HTTP"; host = conn->host.name; neg_ctx = &conn->negotiate; } /* Not set means empty */ if(!userp) userp = ""; if(!passwdp) passwdp = ""; /* Obtain the input token, if any */ header += strlen("Negotiate"); while(*header && ISSPACE(*header)) header++; len = strlen(header); neg_ctx->havenegdata = len != 0; if(!len) { if(neg_ctx->state == GSS_AUTHSUCC) { infof(conn->data, "Negotiate auth restarted\n"); Curl_cleanup_negotiate(conn); } else if(neg_ctx->state != GSS_AUTHNONE) { /* The server rejected our authentication and hasn't supplied any more negotiation mechanisms */ Curl_cleanup_negotiate(conn); return CURLE_LOGIN_DENIED; } } /* Supports SSL channel binding for Windows ISS extended protection */ #if defined(USE_WINDOWS_SSPI) && defined(SECPKG_ATTR_ENDPOINT_BINDINGS) neg_ctx->sslContext = conn->sslContext; |
︙ | ︙ | |||
102 103 104 105 106 107 108 | Curl_auth_spnego_cleanup(neg_ctx); return result; } CURLcode Curl_output_negotiate(struct connectdata *conn, bool proxy) { | | > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > | > | | | | | | | | | | | | | > | | > > > > > > > > > > > > > > > > > > > > > > > > > > > | | | | 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 | Curl_auth_spnego_cleanup(neg_ctx); return result; } CURLcode Curl_output_negotiate(struct connectdata *conn, bool proxy) { struct negotiatedata *neg_ctx = proxy ? &conn->proxyneg : &conn->negotiate; struct auth *authp = proxy ? &conn->data->state.authproxy : &conn->data->state.authhost; char *base64 = NULL; size_t len = 0; char *userp; CURLcode result; authp->done = FALSE; if(neg_ctx->state == GSS_AUTHRECV) { if(neg_ctx->havenegdata) { neg_ctx->havemultiplerequests = TRUE; } } else if(neg_ctx->state == GSS_AUTHSUCC) { if(!neg_ctx->havenoauthpersist) { neg_ctx->noauthpersist = !neg_ctx->havemultiplerequests; } } if(neg_ctx->noauthpersist || (neg_ctx->state != GSS_AUTHDONE && neg_ctx->state != GSS_AUTHSUCC)) { if(neg_ctx->noauthpersist && neg_ctx->state == GSS_AUTHSUCC) { infof(conn->data, "Curl_output_negotiate, " "no persistent authentication: cleanup existing context"); Curl_auth_spnego_cleanup(neg_ctx); } if(!neg_ctx->context) { result = Curl_input_negotiate(conn, proxy, "Negotiate"); if(result) return result; } result = Curl_auth_create_spnego_message(conn->data, neg_ctx, &base64, &len); if(result) return result; userp = aprintf("%sAuthorization: Negotiate %s\r\n", proxy ? "Proxy-" : "", base64); if(proxy) { Curl_safefree(conn->allocptr.proxyuserpwd); conn->allocptr.proxyuserpwd = userp; } else { Curl_safefree(conn->allocptr.userpwd); conn->allocptr.userpwd = userp; } free(base64); if(userp == NULL) { return CURLE_OUT_OF_MEMORY; } neg_ctx->state = GSS_AUTHSENT; #ifdef HAVE_GSSAPI if(neg_ctx->status == GSS_S_COMPLETE || neg_ctx->status == GSS_S_CONTINUE_NEEDED) { neg_ctx->state = GSS_AUTHDONE; } #else #ifdef USE_WINDOWS_SSPI if(neg_ctx->status == SEC_E_OK || neg_ctx->status == SEC_I_CONTINUE_NEEDED) { neg_ctx->state = GSS_AUTHDONE; } #endif #endif } if(neg_ctx->state == GSS_AUTHDONE || neg_ctx->state == GSS_AUTHSUCC) { /* connection is already authenticated, * don't send a header in future requests */ authp->done = TRUE; } neg_ctx->havenegdata = FALSE; return CURLE_OK; } void Curl_cleanup_negotiate(struct connectdata *conn) { Curl_auth_spnego_cleanup(&conn->negotiate); Curl_auth_spnego_cleanup(&conn->proxyneg); } #endif /* !CURL_DISABLE_HTTP && USE_SPNEGO */ |
Changes to jni/curl/lib/http_negotiate.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_HTTP_NEGOTIATE_H #define HEADER_CURL_HTTP_NEGOTIATE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_HTTP_NEGOTIATE_H #define HEADER_CURL_HTTP_NEGOTIATE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
27 28 29 30 31 32 33 | /* this is for Negotiate header input */ CURLcode Curl_input_negotiate(struct connectdata *conn, bool proxy, const char *header); /* this is for creating Negotiate header output */ CURLcode Curl_output_negotiate(struct connectdata *conn, bool proxy); | | | 27 28 29 30 31 32 33 34 35 36 37 38 | /* this is for Negotiate header input */ CURLcode Curl_input_negotiate(struct connectdata *conn, bool proxy, const char *header); /* this is for creating Negotiate header output */ CURLcode Curl_output_negotiate(struct connectdata *conn, bool proxy); void Curl_cleanup_negotiate(struct connectdata *conn); #endif /* USE_SPNEGO */ #endif /* HEADER_CURL_HTTP_NEGOTIATE_H */ |
Changes to jni/curl/lib/imap.c.
︙ | ︙ | |||
1173 1174 1175 1176 1177 1178 1179 | /* Reset the cache size */ pp->cache_size = 0; } } if(data->req.bytecount == size) /* The entire data is already transferred! */ | | | | 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 | /* Reset the cache size */ pp->cache_size = 0; } } if(data->req.bytecount == size) /* The entire data is already transferred! */ Curl_setup_transfer(data, -1, -1, FALSE, -1); else { /* IMAP download */ data->req.maxdownload = size; Curl_setup_transfer(data, FIRSTSOCKET, size, FALSE, -1); } } else { /* We don't know how to parse this line */ failf(pp->conn->data, "Failed to parse FETCH response."); result = CURLE_WEIRD_SERVER_REPLY; } |
︙ | ︙ | |||
1227 1228 1229 1230 1231 1232 1233 | result = CURLE_UPLOAD_FAILED; } else { /* Set the progress upload size */ Curl_pgrsSetUploadSize(data, data->state.infilesize); /* IMAP upload */ | | | 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 | result = CURLE_UPLOAD_FAILED; } else { /* Set the progress upload size */ Curl_pgrsSetUploadSize(data, data->state.infilesize); /* IMAP upload */ Curl_setup_transfer(data, -1, -1, FALSE, FIRSTSOCKET); /* End of DO phase */ state(conn, IMAP_STOP); } return result; } |
︙ | ︙ | |||
1656 1657 1658 1659 1660 1661 1662 | { struct IMAP *imap = conn->data->req.protop; (void)connected; if(imap->transfer != FTPTRANSFER_BODY) /* no data to transfer */ | | | 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 | { struct IMAP *imap = conn->data->req.protop; (void)connected; if(imap->transfer != FTPTRANSFER_BODY) /* no data to transfer */ Curl_setup_transfer(conn->data, -1, -1, FALSE, -1); return CURLE_OK; } /* Called from multi.c while DOing */ static CURLcode imap_doing(struct connectdata *conn, bool *dophase_done) { |
︙ | ︙ |
Changes to jni/curl/lib/ldap.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
740 741 742 743 744 745 746 | #endif /* HAVE_LDAP_SSL && CURL_HAS_NOVELL_LDAPSDK */ #if defined(USE_WIN32_LDAP) Curl_unicodefree(host); #endif /* no data to transfer */ | | | 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 | #endif /* HAVE_LDAP_SSL && CURL_HAS_NOVELL_LDAPSDK */ #if defined(USE_WIN32_LDAP) Curl_unicodefree(host); #endif /* no data to transfer */ Curl_setup_transfer(data, -1, -1, FALSE, -1); connclose(conn, "LDAP connection always disable re-use"); return result; } #ifdef DEBUG_LDAP static void _ldap_trace(const char *fmt, ...) |
︙ | ︙ |
Changes to jni/curl/lib/libcurl.plist.
︙ | ︙ | |||
11 12 13 14 15 16 17 | <key>CFBundleExecutable</key> <string>curl</string> <key>CFBundleIdentifier</key> <string>se.haxx.curl.libcurl</string> <key>CFBundleVersion</key> | | | | | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <key>CFBundleExecutable</key> <string>curl</string> <key>CFBundleIdentifier</key> <string>se.haxx.curl.libcurl</string> <key>CFBundleVersion</key> <string>7.64.1</string> <key>CFBundleName</key> <string>libcurl</string> <key>CFBundlePackageType</key> <string>FMWK</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleShortVersionString</key> <string>libcurl 7.64.1</string> <key>CFBundleGetInfoString</key> <string>libcurl.plist 7.64.1</string> </dict> </plist> |
Changes to jni/curl/lib/md5.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
79 80 81 82 83 84 85 | static void MD5_Final(unsigned char digest[16], MD5_CTX * ctx) { memcpy(digest, gcry_md_read(*ctx, 0), 16); gcry_md_close(*ctx); } | | | 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | static void MD5_Final(unsigned char digest[16], MD5_CTX * ctx) { memcpy(digest, gcry_md_read(*ctx, 0), 16); gcry_md_close(*ctx); } #elif defined(USE_OPENSSL) && !defined(USE_AMISSL) /* When OpenSSL is available we use the MD5-function from OpenSSL */ #include <openssl/md5.h> #include "curl_memory.h" /* The last #include file should be: */ #include "memdebug.h" #elif (defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && \ |
︙ | ︙ |
Changes to jni/curl/lib/memdebug.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
96 97 98 99 100 101 102 | * Note that these debug functions are very simple and they are meant to * remain so. For advanced analysis, record a log file and write perl scripts * to analyze them! * * Don't use these with multithreaded test programs! */ | < | | | | | | | | | | | | | | | | | | | | | | | | | | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 | * Note that these debug functions are very simple and they are meant to * remain so. For advanced analysis, record a log file and write perl scripts * to analyze them! * * Don't use these with multithreaded test programs! */ FILE *curl_dbg_logfile = NULL; static bool memlimit = FALSE; /* enable memory limit */ static long memsize = 0; /* set number of mallocs allowed */ /* this sets the log file name */ void curl_dbg_memdebug(const char *logname) { if(!curl_dbg_logfile) { if(logname && *logname) curl_dbg_logfile = fopen(logname, FOPEN_WRITETEXT); else curl_dbg_logfile = stderr; #ifdef MEMDEBUG_LOG_SYNC /* Flush the log file after every line so the log isn't lost in a crash */ if(logfile) setbuf(logfile, (char *)NULL); #endif } } /* This function sets the number of malloc() calls that should return successfully! */ void curl_dbg_memlimit(long limit) { if(!memlimit) { memlimit = TRUE; memsize = limit; } } /* returns TRUE if this isn't allowed! */ static bool countcheck(const char *func, int line, const char *source) { /* if source is NULL, then the call is made internally and this check should not be made */ if(memlimit && source) { if(!memsize) { if(source) { /* log to file */ curl_dbg_log("LIMIT %s:%d %s reached memlimit\n", source, line, func); /* log to stderr also */ fprintf(stderr, "LIMIT %s:%d %s reached memlimit\n", source, line, func); fflush(curl_dbg_logfile); /* because it might crash now */ } errno = ENOMEM; return TRUE; /* RETURN ERROR! */ } else memsize--; /* countdown */ } return FALSE; /* allow this */ } void *curl_dbg_malloc(size_t wantedsize, int line, const char *source) { struct memdebug *mem; size_t size; DEBUGASSERT(wantedsize != 0); if(countcheck("malloc", line, source)) return NULL; /* alloc at least 64 bytes */ size = sizeof(struct memdebug) + wantedsize; mem = (Curl_cmalloc)(size); if(mem) { /* fill memory with junk */ mt_malloc_fill(mem->mem, wantedsize); mem->size = wantedsize; } if(source) curl_dbg_log("MEM %s:%d malloc(%zu) = %p\n", source, line, wantedsize, mem ? (void *)mem->mem : (void *)0); return (mem ? mem->mem : NULL); } void *curl_dbg_calloc(size_t wanted_elements, size_t wanted_size, int line, const char *source) { struct memdebug *mem; size_t size, user_size; DEBUGASSERT(wanted_elements != 0); DEBUGASSERT(wanted_size != 0); if(countcheck("calloc", line, source)) return NULL; /* alloc at least 64 bytes */ user_size = wanted_size * wanted_elements; size = sizeof(struct memdebug) + user_size; mem = (Curl_ccalloc)(1, size); if(mem) mem->size = user_size; if(source) curl_dbg_log("MEM %s:%d calloc(%zu,%zu) = %p\n", source, line, wanted_elements, wanted_size, mem ? (void *)mem->mem : (void *)0); return (mem ? mem->mem : NULL); } char *curl_dbg_strdup(const char *str, int line, const char *source) { char *mem; size_t len; DEBUGASSERT(str != NULL); if(countcheck("strdup", line, source)) return NULL; len = strlen(str) + 1; mem = curl_dbg_malloc(len, 0, NULL); /* NULL prevents logging */ if(mem) memcpy(mem, str, len); if(source) curl_dbg_log("MEM %s:%d strdup(%p) (%zu) = %p\n", source, line, (const void *)str, len, (const void *)mem); return mem; } #if defined(WIN32) && defined(UNICODE) wchar_t *curl_dbg_wcsdup(const wchar_t *str, int line, const char *source) { wchar_t *mem; size_t wsiz, bsiz; DEBUGASSERT(str != NULL); if(countcheck("wcsdup", line, source)) return NULL; wsiz = wcslen(str) + 1; bsiz = wsiz * sizeof(wchar_t); mem = curl_dbg_malloc(bsiz, 0, NULL); /* NULL prevents logging */ if(mem) memcpy(mem, str, bsiz); if(source) curl_dbg_log("MEM %s:%d wcsdup(%p) (%zu) = %p\n", source, line, (void *)str, bsiz, (void *)mem); return mem; } #endif /* We provide a realloc() that accepts a NULL as pointer, which then performs a malloc(). In order to work with ares. */ void *curl_dbg_realloc(void *ptr, size_t wantedsize, int line, const char *source) { struct memdebug *mem = NULL; size_t size = sizeof(struct memdebug) + wantedsize; DEBUGASSERT(wantedsize != 0); |
︙ | ︙ | |||
289 290 291 292 293 294 295 | #ifdef __INTEL_COMPILER # pragma warning(pop) #endif mem = (Curl_crealloc)(mem, size); if(source) | | | | 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 | #ifdef __INTEL_COMPILER # pragma warning(pop) #endif mem = (Curl_crealloc)(mem, size); if(source) curl_dbg_log("MEM %s:%d realloc(%p, %zu) = %p\n", source, line, (void *)ptr, wantedsize, mem ? (void *)mem->mem : (void *)0); if(mem) { mem->size = wantedsize; return mem->mem; } return NULL; } void curl_dbg_free(void *ptr, int line, const char *source) { struct memdebug *mem; if(ptr) { #ifdef __INTEL_COMPILER # pragma warning(push) |
︙ | ︙ | |||
327 328 329 330 331 332 333 | mt_free_fill(mem->mem, mem->size); /* free for real */ (Curl_cfree)(mem); } if(source) | | | | | | | | | | | | | | | | | | | | | | | | | | | | < < < < < < < < < < < < < < | < < | | > > | | | | 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 | mt_free_fill(mem->mem, mem->size); /* free for real */ (Curl_cfree)(mem); } if(source) curl_dbg_log("MEM %s:%d free(%p)\n", source, line, (void *)ptr); } curl_socket_t curl_dbg_socket(int domain, int type, int protocol, int line, const char *source) { const char *fmt = (sizeof(curl_socket_t) == sizeof(int)) ? "FD %s:%d socket() = %d\n" : (sizeof(curl_socket_t) == sizeof(long)) ? "FD %s:%d socket() = %ld\n" : "FD %s:%d socket() = %zd\n"; curl_socket_t sockfd; if(countcheck("socket", line, source)) return CURL_SOCKET_BAD; sockfd = socket(domain, type, protocol); if(source && (sockfd != CURL_SOCKET_BAD)) curl_dbg_log(fmt, source, line, sockfd); return sockfd; } SEND_TYPE_RETV curl_dbg_send(SEND_TYPE_ARG1 sockfd, SEND_QUAL_ARG2 SEND_TYPE_ARG2 buf, SEND_TYPE_ARG3 len, SEND_TYPE_ARG4 flags, int line, const char *source) { SEND_TYPE_RETV rc; if(countcheck("send", line, source)) return -1; rc = send(sockfd, buf, len, flags); if(source) curl_dbg_log("SEND %s:%d send(%lu) = %ld\n", source, line, (unsigned long)len, (long)rc); return rc; } RECV_TYPE_RETV curl_dbg_recv(RECV_TYPE_ARG1 sockfd, RECV_TYPE_ARG2 buf, RECV_TYPE_ARG3 len, RECV_TYPE_ARG4 flags, int line, const char *source) { RECV_TYPE_RETV rc; if(countcheck("recv", line, source)) return -1; rc = recv(sockfd, buf, len, flags); if(source) curl_dbg_log("RECV %s:%d recv(%lu) = %ld\n", source, line, (unsigned long)len, (long)rc); return rc; } #ifdef HAVE_SOCKETPAIR int curl_dbg_socketpair(int domain, int type, int protocol, curl_socket_t socket_vector[2], int line, const char *source) { const char *fmt = (sizeof(curl_socket_t) == sizeof(int)) ? "FD %s:%d socketpair() = %d %d\n" : (sizeof(curl_socket_t) == sizeof(long)) ? "FD %s:%d socketpair() = %ld %ld\n" : "FD %s:%d socketpair() = %zd %zd\n"; int res = socketpair(domain, type, protocol, socket_vector); if(source && (0 == res)) curl_dbg_log(fmt, source, line, socket_vector[0], socket_vector[1]); return res; } #endif curl_socket_t curl_dbg_accept(curl_socket_t s, void *saddr, void *saddrlen, int line, const char *source) { const char *fmt = (sizeof(curl_socket_t) == sizeof(int)) ? "FD %s:%d accept() = %d\n" : (sizeof(curl_socket_t) == sizeof(long)) ? "FD %s:%d accept() = %ld\n" : "FD %s:%d accept() = %zd\n"; struct sockaddr *addr = (struct sockaddr *)saddr; curl_socklen_t *addrlen = (curl_socklen_t *)saddrlen; curl_socket_t sockfd = accept(s, addr, addrlen); if(source && (sockfd != CURL_SOCKET_BAD)) curl_dbg_log(fmt, source, line, sockfd); return sockfd; } /* separate function to allow libcurl to mark a "faked" close */ void curl_dbg_mark_sclose(curl_socket_t sockfd, int line, const char *source) { const char *fmt = (sizeof(curl_socket_t) == sizeof(int)) ? "FD %s:%d sclose(%d)\n": (sizeof(curl_socket_t) == sizeof(long)) ? "FD %s:%d sclose(%ld)\n": "FD %s:%d sclose(%zd)\n"; if(source) curl_dbg_log(fmt, source, line, sockfd); } /* this is our own defined way to close sockets on *ALL* platforms */ int curl_dbg_sclose(curl_socket_t sockfd, int line, const char *source) { int res = sclose(sockfd); curl_dbg_mark_sclose(sockfd, line, source); return res; } FILE *curl_dbg_fopen(const char *file, const char *mode, int line, const char *source) { FILE *res = fopen(file, mode); if(source) curl_dbg_log("FILE %s:%d fopen(\"%s\",\"%s\") = %p\n", source, line, file, mode, (void *)res); return res; } int curl_dbg_fclose(FILE *file, int line, const char *source) { int res; DEBUGASSERT(file != NULL); if(source) curl_dbg_log("FILE %s:%d fclose(%p)\n", source, line, (void *)file); res = fclose(file); return res; } #define LOGLINE_BUFSIZE 1024 /* this does the writing to the memory tracking log file */ void curl_dbg_log(const char *format, ...) { char *buf; int nchars; va_list ap; if(!curl_dbg_logfile) return; buf = (Curl_cmalloc)(LOGLINE_BUFSIZE); if(!buf) return; va_start(ap, format); nchars = mvsnprintf(buf, LOGLINE_BUFSIZE, format, ap); va_end(ap); if(nchars > LOGLINE_BUFSIZE - 1) nchars = LOGLINE_BUFSIZE - 1; if(nchars > 0) fwrite(buf, 1, (size_t)nchars, curl_dbg_logfile); (Curl_cfree)(buf); } #endif /* CURLDEBUG */ |
Changes to jni/curl/lib/memdebug.h.
1 2 3 4 5 6 7 8 9 10 | #ifndef HEADER_CURL_MEMDEBUG_H #define HEADER_CURL_MEMDEBUG_H #ifdef CURLDEBUG /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #ifndef HEADER_CURL_MEMDEBUG_H #define HEADER_CURL_MEMDEBUG_H #ifdef CURLDEBUG /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
26 27 28 29 30 31 32 | /* * CAUTION: this header is designed to work when included by the app-side * as well as the library. Do not mix with library internals! */ #define CURL_MT_LOGFNAME_BUFSIZE 512 | < < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | | | | < < < < | | | | | | | | | | | | | | | | | | | | | | | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | /* * CAUTION: this header is designed to work when included by the app-side * as well as the library. Do not mix with library internals! */ #define CURL_MT_LOGFNAME_BUFSIZE 512 extern FILE *curl_dbg_logfile; /* memory functions */ CURL_EXTERN void *curl_dbg_malloc(size_t size, int line, const char *source); CURL_EXTERN void *curl_dbg_calloc(size_t elements, size_t size, int line, const char *source); CURL_EXTERN void *curl_dbg_realloc(void *ptr, size_t size, int line, const char *source); CURL_EXTERN void curl_dbg_free(void *ptr, int line, const char *source); CURL_EXTERN char *curl_dbg_strdup(const char *str, int line, const char *src); #if defined(WIN32) && defined(UNICODE) CURL_EXTERN wchar_t *curl_dbg_wcsdup(const wchar_t *str, int line, const char *source); #endif CURL_EXTERN void curl_dbg_memdebug(const char *logname); CURL_EXTERN void curl_dbg_memlimit(long limit); CURL_EXTERN void curl_dbg_log(const char *format, ...); /* file descriptor manipulators */ CURL_EXTERN curl_socket_t curl_dbg_socket(int domain, int type, int protocol, int line, const char *source); CURL_EXTERN void curl_dbg_mark_sclose(curl_socket_t sockfd, int line, const char *source); CURL_EXTERN int curl_dbg_sclose(curl_socket_t sockfd, int line, const char *source); CURL_EXTERN curl_socket_t curl_dbg_accept(curl_socket_t s, void *a, void *alen, int line, const char *source); #ifdef HAVE_SOCKETPAIR CURL_EXTERN int curl_dbg_socketpair(int domain, int type, int protocol, curl_socket_t socket_vector[2], int line, const char *source); #endif /* send/receive sockets */ CURL_EXTERN SEND_TYPE_RETV curl_dbg_send(SEND_TYPE_ARG1 sockfd, SEND_QUAL_ARG2 SEND_TYPE_ARG2 buf, SEND_TYPE_ARG3 len, SEND_TYPE_ARG4 flags, int line, const char *source); CURL_EXTERN RECV_TYPE_RETV curl_dbg_recv(RECV_TYPE_ARG1 sockfd, RECV_TYPE_ARG2 buf, RECV_TYPE_ARG3 len, RECV_TYPE_ARG4 flags, int line, const char *source); /* FILE functions */ CURL_EXTERN FILE *curl_dbg_fopen(const char *file, const char *mode, int line, const char *source); CURL_EXTERN int curl_dbg_fclose(FILE *file, int line, const char *source); #ifndef MEMDEBUG_NODEFINES /* Set this symbol on the command-line, recompile all lib-sources */ #undef strdup #define strdup(ptr) curl_dbg_strdup(ptr, __LINE__, __FILE__) #define malloc(size) curl_dbg_malloc(size, __LINE__, __FILE__) #define calloc(nbelem,size) curl_dbg_calloc(nbelem, size, __LINE__, __FILE__) #define realloc(ptr,size) curl_dbg_realloc(ptr, size, __LINE__, __FILE__) #define free(ptr) curl_dbg_free(ptr, __LINE__, __FILE__) #define send(a,b,c,d) curl_dbg_send(a,b,c,d, __LINE__, __FILE__) #define recv(a,b,c,d) curl_dbg_recv(a,b,c,d, __LINE__, __FILE__) #ifdef WIN32 # ifdef UNICODE # undef wcsdup # define wcsdup(ptr) curl_dbg_wcsdup(ptr, __LINE__, __FILE__) # undef _wcsdup # define _wcsdup(ptr) curl_dbg_wcsdup(ptr, __LINE__, __FILE__) # undef _tcsdup # define _tcsdup(ptr) curl_dbg_wcsdup(ptr, __LINE__, __FILE__) # else # undef _tcsdup # define _tcsdup(ptr) curl_dbg_strdup(ptr, __LINE__, __FILE__) # endif #endif #undef socket #define socket(domain,type,protocol)\ curl_dbg_socket(domain, type, protocol, __LINE__, __FILE__) #undef accept /* for those with accept as a macro */ #define accept(sock,addr,len)\ curl_dbg_accept(sock, addr, len, __LINE__, __FILE__) #ifdef HAVE_SOCKETPAIR #define socketpair(domain,type,protocol,socket_vector)\ curl_dbg_socketpair(domain, type, protocol, socket_vector, __LINE__, __FILE__) #endif #ifdef HAVE_GETADDRINFO #if defined(getaddrinfo) && defined(__osf__) /* OSF/1 and Tru64 have getaddrinfo as a define already, so we cannot define our macro as for other platforms. Instead, we redefine the new name they define getaddrinfo to become! */ #define ogetaddrinfo(host,serv,hint,res) \ curl_dbg_getaddrinfo(host, serv, hint, res, __LINE__, __FILE__) #else #undef getaddrinfo #define getaddrinfo(host,serv,hint,res) \ curl_dbg_getaddrinfo(host, serv, hint, res, __LINE__, __FILE__) #endif #endif /* HAVE_GETADDRINFO */ #ifdef HAVE_FREEADDRINFO #undef freeaddrinfo #define freeaddrinfo(data) \ curl_dbg_freeaddrinfo(data, __LINE__, __FILE__) #endif /* HAVE_FREEADDRINFO */ /* sclose is probably already defined, redefine it! */ #undef sclose #define sclose(sockfd) curl_dbg_sclose(sockfd,__LINE__,__FILE__) #define fake_sclose(sockfd) curl_dbg_mark_sclose(sockfd,__LINE__,__FILE__) #undef fopen #define fopen(file,mode) curl_dbg_fopen(file,mode,__LINE__,__FILE__) #undef fdopen #define fdopen(file,mode) curl_dbg_fdopen(file,mode,__LINE__,__FILE__) #define fclose(file) curl_dbg_fclose(file,__LINE__,__FILE__) #endif /* MEMDEBUG_NODEFINES */ #endif /* CURLDEBUG */ /* ** Following section applies even when CURLDEBUG is not defined. |
︙ | ︙ |
Changes to jni/curl/lib/mime.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
1118 1119 1120 1121 1122 1123 1124 | mime_subparts_unbind(mime); /* Be sure it's not referenced anymore. */ while(mime->firstpart) { part = mime->firstpart; mime->firstpart = part->nextpart; Curl_mime_cleanpart(part); free(part); } | < < | 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 | mime_subparts_unbind(mime); /* Be sure it's not referenced anymore. */ while(mime->firstpart) { part = mime->firstpart; mime->firstpart = part->nextpart; Curl_mime_cleanpart(part); free(part); } free(mime); } } CURLcode Curl_mime_duppart(curl_mimepart *dst, const curl_mimepart *src) { curl_mime *mime; |
︙ | ︙ | |||
1216 1217 1218 1219 1220 1221 1222 | if(mime) { mime->easy = easy; mime->parent = NULL; mime->firstpart = NULL; mime->lastpart = NULL; | < < < < < < < | < | 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 | if(mime) { mime->easy = easy; mime->parent = NULL; mime->firstpart = NULL; mime->lastpart = NULL; memset(mime->boundary, '-', 24); if(Curl_rand_hex(easy, (unsigned char *) &mime->boundary[24], MIME_RAND_BOUNDARY_CHARS + 1)) { /* failed to get random separator, bail out */ free(mime); return NULL; } mimesetstate(&mime->state, MIMESTATE_BEGIN, NULL); } return mime; |
︙ | ︙ |
Changes to jni/curl/lib/mime.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_MIME_H #define HEADER_CURL_MIME_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_MIME_H #define HEADER_CURL_MIME_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
84 85 86 87 88 89 90 91 92 93 94 95 96 | /* Mime readback state. */ typedef struct { enum mimestate state; /* Current state token. */ void *ptr; /* State-dependent pointer. */ size_t offset; /* State-dependent offset. */ } mime_state; /* A mime multipart. */ struct curl_mime_s { struct Curl_easy *easy; /* The associated easy handle. */ curl_mimepart *parent; /* Parent part. */ curl_mimepart *firstpart; /* First part. */ curl_mimepart *lastpart; /* Last part. */ | > > > | | 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | /* Mime readback state. */ typedef struct { enum mimestate state; /* Current state token. */ void *ptr; /* State-dependent pointer. */ size_t offset; /* State-dependent offset. */ } mime_state; /* minimum buffer size for the boundary string */ #define MIME_BOUNDARY_LEN (24 + MIME_RAND_BOUNDARY_CHARS + 1) /* A mime multipart. */ struct curl_mime_s { struct Curl_easy *easy; /* The associated easy handle. */ curl_mimepart *parent; /* Parent part. */ curl_mimepart *firstpart; /* First part. */ curl_mimepart *lastpart; /* Last part. */ char boundary[MIME_BOUNDARY_LEN]; /* The part boundary. */ mime_state state; /* Current readback state. */ }; /* A mime part. */ struct curl_mimepart_s { struct Curl_easy *easy; /* The associated easy handle. */ curl_mime *parent; /* Parent mime structure. */ |
︙ | ︙ |
Changes to jni/curl/lib/multi.c.
︙ | ︙ | |||
76 77 78 79 80 81 82 83 84 85 86 87 88 89 | static CURLMcode add_next_timeout(struct curltime now, struct Curl_multi *multi, struct Curl_easy *d); static CURLMcode multi_timeout(struct Curl_multi *multi, long *timeout_ms); static void process_pending_handles(struct Curl_multi *multi); #ifdef DEBUGBUILD static const char * const statename[]={ "INIT", "CONNECT_PEND", "CONNECT", "WAITRESOLVE", | > | 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | static CURLMcode add_next_timeout(struct curltime now, struct Curl_multi *multi, struct Curl_easy *d); static CURLMcode multi_timeout(struct Curl_multi *multi, long *timeout_ms); static void process_pending_handles(struct Curl_multi *multi); static void detach_connnection(struct Curl_easy *data); #ifdef DEBUGBUILD static const char * const statename[]={ "INIT", "CONNECT_PEND", "CONNECT", "WAITRESOLVE", |
︙ | ︙ | |||
110 111 112 113 114 115 116 | static void Curl_init_completed(struct Curl_easy *data) { /* this is a completed transfer */ /* Important: reset the conn pointer so that we don't point to memory that could be freed anytime */ | | | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | static void Curl_init_completed(struct Curl_easy *data) { /* this is a completed transfer */ /* Important: reset the conn pointer so that we don't point to memory that could be freed anytime */ detach_connnection(data); Curl_expire_clear(data); /* stop all timers */ } /* always use this function to change state, to make debugging easier */ static void mstate(struct Curl_easy *data, CURLMstate state #ifdef DEBUGBUILD , int lineno |
︙ | ︙ | |||
492 493 494 495 496 497 498 499 500 501 502 503 504 505 | closure handle always has the same timeouts as the most recently added easy handle. */ data->state.conn_cache->closure_handle->set.timeout = data->set.timeout; data->state.conn_cache->closure_handle->set.server_response_timeout = data->set.server_response_timeout; data->state.conn_cache->closure_handle->set.no_signal = data->set.no_signal; update_timer(multi); return CURLM_OK; } #if 0 /* Debug-function, used like this: | > > | 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 | closure handle always has the same timeouts as the most recently added easy handle. */ data->state.conn_cache->closure_handle->set.timeout = data->set.timeout; data->state.conn_cache->closure_handle->set.server_response_timeout = data->set.server_response_timeout; data->state.conn_cache->closure_handle->set.no_signal = data->set.no_signal; data->state.conn_cache->closure_handle->set.verbose = data->set.verbose; update_timer(multi); return CURLM_OK; } #if 0 /* Debug-function, used like this: |
︙ | ︙ | |||
568 569 570 571 572 573 574 | result = CURLE_ABORTED_BY_CALLBACK; } process_pending_handles(data->multi); /* connection / multiplex */ if(conn->send_pipe.size || conn->recv_pipe.size) { /* Stop if pipeline is not empty . */ | | | 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 | result = CURLE_ABORTED_BY_CALLBACK; } process_pending_handles(data->multi); /* connection / multiplex */ if(conn->send_pipe.size || conn->recv_pipe.size) { /* Stop if pipeline is not empty . */ detach_connnection(data); DEBUGF(infof(data, "Connection still in use %zu/%zu, " "no more multi_done now!\n", conn->send_pipe.size, conn->recv_pipe.size)); return CURLE_OK; } data->state.done = TRUE; /* called just now! */ |
︙ | ︙ | |||
593 594 595 596 597 598 599 | for(i = 0; i < data->state.tempcount; i++) { free(data->state.tempwrite[i].buf); } data->state.tempcount = 0; /* if data->set.reuse_forbid is TRUE, it means the libcurl client has forced us to close this connection. This is ignored for requests taking | | > > > > | 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 | for(i = 0; i < data->state.tempcount; i++) { free(data->state.tempwrite[i].buf); } data->state.tempcount = 0; /* if data->set.reuse_forbid is TRUE, it means the libcurl client has forced us to close this connection. This is ignored for requests taking place in a NTLM/NEGOTIATE authentication handshake if conn->bits.close is TRUE, it means that the connection should be closed in spite of all our efforts to be nice, due to protocol restrictions in our or the server's end if premature is TRUE, it means this connection was said to be DONE before the entire request operation is complete and thus we can't know in what state it is for re-using, so we're forced to close it. In a perfect world we can add code that keep track of if we really must close it here or not, but currently we have no such detail knowledge. */ if((data->set.reuse_forbid #if defined(USE_NTLM) && !(conn->ntlm.state == NTLMSTATE_TYPE2 || conn->proxyntlm.state == NTLMSTATE_TYPE2) #endif #if defined(USE_SPNEGO) && !(conn->negotiate.state == GSS_AUTHRECV || conn->proxyneg.state == GSS_AUTHRECV) #endif ) || conn->bits.close || (premature && !(conn->handler->flags & PROTOPT_STREAM))) { CURLcode res2 = Curl_disconnect(data, conn, premature); /* If we had an error already, make sure we return that one. But if we got a new error, return that. */ if(!result && res2) |
︙ | ︙ | |||
641 642 643 644 645 646 647 | data->state.lastconnect = conn; infof(data, "%s\n", buffer); } else data->state.lastconnect = NULL; } | | | 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 | data->state.lastconnect = conn; infof(data, "%s\n", buffer); } else data->state.lastconnect = NULL; } detach_connnection(data); Curl_free_request_state(data); return result; } CURLMcode curl_multi_remove_handle(struct Curl_multi *multi, struct Curl_easy *data) { |
︙ | ︙ | |||
748 749 750 751 752 753 754 | data->mstate = CURLM_STATE_COMPLETED; singlesocket(multi, easy); /* to let the application know what sockets that vanish with this handle */ /* Remove the association between the connection and the handle */ if(data->conn) { data->conn->data = NULL; | | | 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 | data->mstate = CURLM_STATE_COMPLETED; singlesocket(multi, easy); /* to let the application know what sockets that vanish with this handle */ /* Remove the association between the connection and the handle */ if(data->conn) { data->conn->data = NULL; detach_connnection(data); } #ifdef USE_LIBPSL /* Remove the PSL association. */ if(data->psl == &multi->psl) data->psl = NULL; #endif |
︙ | ︙ | |||
800 801 802 803 804 805 806 | bool Curl_pipeline_wanted(const struct Curl_multi *multi, int bits) { return (multi && (multi->pipelining & bits)) ? TRUE : FALSE; } /* This is the only function that should clear data->conn. This will occasionally be called with the pointer already cleared. */ | | | 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 | bool Curl_pipeline_wanted(const struct Curl_multi *multi, int bits) { return (multi && (multi->pipelining & bits)) ? TRUE : FALSE; } /* This is the only function that should clear data->conn. This will occasionally be called with the pointer already cleared. */ static void detach_connnection(struct Curl_easy *data) { data->conn = NULL; } /* This is the only function that should assign data->conn */ void Curl_attach_connnection(struct Curl_easy *data, struct connectdata *conn) |
︙ | ︙ | |||
994 995 996 997 998 999 1000 | { struct Curl_easy *data; curl_socket_t sockbunch[MAX_SOCKSPEREASYHANDLE]; int bitmap; unsigned int i; unsigned int nfds = 0; unsigned int curlfds; | < > | 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 | { struct Curl_easy *data; curl_socket_t sockbunch[MAX_SOCKSPEREASYHANDLE]; int bitmap; unsigned int i; unsigned int nfds = 0; unsigned int curlfds; bool ufds_malloc = FALSE; long timeout_internal; int retcode = 0; struct pollfd a_few_on_stack[NUM_POLLS_ON_STACK]; struct pollfd *ufds = &a_few_on_stack[0]; if(gotsocket) *gotsocket = FALSE; if(!GOOD_MULTI_HANDLE(multi)) return CURLM_BAD_HANDLE; |
︙ | ︙ | |||
1043 1044 1045 1046 1047 1048 1049 | (void)multi_timeout(multi, &timeout_internal); if((timeout_internal >= 0) && (timeout_internal < (long)timeout_ms)) timeout_ms = (int)timeout_internal; curlfds = nfds; /* number of internal file descriptors */ nfds += extra_nfds; /* add the externally provided ones */ | < | | | | | | | | | < < < | 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 | (void)multi_timeout(multi, &timeout_internal); if((timeout_internal >= 0) && (timeout_internal < (long)timeout_ms)) timeout_ms = (int)timeout_internal; curlfds = nfds; /* number of internal file descriptors */ nfds += extra_nfds; /* add the externally provided ones */ if(nfds > NUM_POLLS_ON_STACK) { /* 'nfds' is a 32 bit value and 'struct pollfd' is typically 8 bytes big, so at 2^29 sockets this value might wrap. When a process gets the capability to actually handle over 500 million sockets this calculation needs a integer overflow check. */ ufds = malloc(nfds * sizeof(struct pollfd)); if(!ufds) return CURLM_OUT_OF_MEMORY; ufds_malloc = TRUE; } nfds = 0; /* only do the second loop if we found descriptors in the first stage run above */ if(curlfds) { |
︙ | ︙ | |||
1150 1151 1152 1153 1154 1155 1156 | struct curl_waitfd extra_fds[], unsigned int extra_nfds, int timeout_ms, int *ret) { return Curl_multi_wait(multi, extra_fds, extra_nfds, timeout_ms, ret, NULL); } | < < < < < < < < < < < | 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 | struct curl_waitfd extra_fds[], unsigned int extra_nfds, int timeout_ms, int *ret) { return Curl_multi_wait(multi, extra_fds, extra_nfds, timeout_ms, ret, NULL); } /* * multi_ischanged() is called * * Returns TRUE/FALSE whether the state is changed to trigger a CONNECT_PEND * => CONNECT action. * |
︙ | ︙ | |||
1203 1204 1205 1206 1207 1208 1209 | multistate(data, CURLM_STATE_PERFORM); Curl_attach_connnection(data, conn); k->keepon |= KEEP_RECV; /* setup to receive! */ } return rc; } | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 | multistate(data, CURLM_STATE_PERFORM); Curl_attach_connnection(data, conn); k->keepon |= KEEP_RECV; /* setup to receive! */ } return rc; } /* * do_complete is called when the DO actions are complete. * * We init chunking and trailer bits to their default values here immediately * before receiving any header data for the current request in the pipeline. */ static void do_complete(struct connectdata *conn) { conn->data->req.chunk = FALSE; Curl_pgrsTime(conn->data, TIMER_PRETRANSFER); } static CURLcode multi_do(struct Curl_easy *data, bool *done) { CURLcode result = CURLE_OK; struct connectdata *conn = data->conn; if(conn->handler->do_it) { /* generic protocol-specific function pointer set in curl_connect() */ result = conn->handler->do_it(conn, done); if(!result && *done) /* do_complete must be called after the protocol-specific DO function */ do_complete(conn); } return result; } |
︙ | ︙ | |||
1545 1546 1547 1548 1549 1550 1551 | /* Perform the next step in the connection phase, and then move on to the WAITCONNECT state */ result = Curl_once_resolved(data->conn, &protocol_connect); if(result) /* if Curl_once_resolved() returns failure, the connection struct is already freed and gone */ | | | 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 | /* Perform the next step in the connection phase, and then move on to the WAITCONNECT state */ result = Curl_once_resolved(data->conn, &protocol_connect); if(result) /* if Curl_once_resolved() returns failure, the connection struct is already freed and gone */ detach_connnection(data); /* no more connection */ else { /* call again please so that we get the next socket setup */ rc = CURLM_CALL_MULTI_PERFORM; if(protocol_connect) multistate(data, Curl_pipeline_wanted(multi, CURLPIPE_HTTP1)? CURLM_STATE_WAITDO:CURLM_STATE_DO); else { |
︙ | ︙ | |||
1616 1617 1618 1619 1620 1621 1622 | rc = CURLM_CALL_MULTI_PERFORM; multistate(data, data->conn->bits.tunnel_proxy? CURLM_STATE_WAITPROXYCONNECT: CURLM_STATE_SENDPROTOCONNECT); } else if(result) { /* failure detected */ | | > | 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 | rc = CURLM_CALL_MULTI_PERFORM; multistate(data, data->conn->bits.tunnel_proxy? CURLM_STATE_WAITPROXYCONNECT: CURLM_STATE_SENDPROTOCONNECT); } else if(result) { /* failure detected */ Curl_posttransfer(data); multi_done(data, result, TRUE); stream_error = TRUE; break; } break; case CURLM_STATE_SENDPROTOCONNECT: result = Curl_protocol_connect(data->conn, &protocol_connect); |
︙ | ︙ | |||
1929 1930 1931 1932 1933 1934 1935 | } /* read/write data if it is ready to do so */ result = Curl_readwrite(data->conn, data, &done, &comeback); k = &data->req; | | | > | > | 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 | } /* read/write data if it is ready to do so */ result = Curl_readwrite(data->conn, data, &done, &comeback); k = &data->req; if(!(k->keepon & KEEP_RECV)) { /* We're done receiving */ Curl_pipeline_leave_read(data->conn); } if(!(k->keepon & KEEP_SEND)) { /* We're done sending */ Curl_pipeline_leave_write(data->conn); } if(done || (result == CURLE_RECV_ERROR)) { /* If CURLE_RECV_ERROR happens early enough, we assume it was a race * condition and the server closed the re-used connection exactly when * we wanted to use it, so figure out if that is indeed the case. */ CURLcode ret = Curl_retry_request(data->conn, &newurl); |
︙ | ︙ | |||
2083 2084 2085 2086 2087 2088 2089 | /* * If there are other handles on the pipeline, multi_done won't set * conn to NULL. In such a case, curl_multi_remove_handle() can * access free'd data, if the connection is free'd and the handle * removed before we perform the processing in CURLM_STATE_COMPLETED */ if(data->conn) | | | 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 | /* * If there are other handles on the pipeline, multi_done won't set * conn to NULL. In such a case, curl_multi_remove_handle() can * access free'd data, if the connection is free'd and the handle * removed before we perform the processing in CURLM_STATE_COMPLETED */ if(data->conn) detach_connnection(data); } if(data->state.wildcardmatch) { if(data->wildcard.state != CURLWC_DONE) { /* if a wildcard is set and we are not ending -> lets start again with CURLM_STATE_INIT */ multistate(data, CURLM_STATE_INIT); |
︙ | ︙ | |||
2141 2142 2143 2144 2145 2146 2147 | bool dead_connection = result == CURLE_OPERATION_TIMEDOUT; /* disconnect properly */ Curl_disconnect(data, data->conn, dead_connection); /* This is where we make sure that the conn pointer is reset. We don't have to do this in every case block above where a failure is detected */ | | | 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 | bool dead_connection = result == CURLE_OPERATION_TIMEDOUT; /* disconnect properly */ Curl_disconnect(data, data->conn, dead_connection); /* This is where we make sure that the conn pointer is reset. We don't have to do this in every case block above where a failure is detected */ detach_connnection(data); } } else if(data->mstate == CURLM_STATE_CONNECT) { /* Curl_connect() failed */ (void)Curl_posttransfer(data); } |
︙ | ︙ | |||
2294 2295 2296 2297 2298 2299 2300 | Curl_llist_destroy(&multi->msglist, NULL); Curl_llist_destroy(&multi->pending, NULL); Curl_hash_destroy(&multi->hostcache); Curl_psl_destroy(&multi->psl); /* Free the blacklists by setting them to NULL */ | | | > | 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 | Curl_llist_destroy(&multi->msglist, NULL); Curl_llist_destroy(&multi->pending, NULL); Curl_hash_destroy(&multi->hostcache); Curl_psl_destroy(&multi->psl); /* Free the blacklists by setting them to NULL */ (void)Curl_pipeline_set_site_blacklist(NULL, &multi->pipelining_site_bl); (void)Curl_pipeline_set_server_blacklist(NULL, &multi->pipelining_server_bl); free(multi); return CURLM_OK; } return CURLM_BAD_HANDLE; } |
︙ | ︙ | |||
2356 2357 2358 2359 2360 2361 2362 | curl_socket_t socks[MAX_SOCKSPEREASYHANDLE]; int i; struct Curl_sh_entry *entry; curl_socket_t s; int num; unsigned int curraction; int actions[MAX_SOCKSPEREASYHANDLE]; | < < > > | 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 | curl_socket_t socks[MAX_SOCKSPEREASYHANDLE]; int i; struct Curl_sh_entry *entry; curl_socket_t s; int num; unsigned int curraction; int actions[MAX_SOCKSPEREASYHANDLE]; for(i = 0; i< MAX_SOCKSPEREASYHANDLE; i++) socks[i] = CURL_SOCKET_BAD; /* Fill in the 'current' struct with the state as it is now: what sockets to supervise and for what actions */ curraction = multi_getsock(data, socks, MAX_SOCKSPEREASYHANDLE); /* We have 0 .. N sockets already and we get to know about the 0 .. M sockets we should have from now on. Detect the differences, remove no longer supervised ones and add new ones */ /* walk over the sockets we got right now */ for(i = 0; (i< MAX_SOCKSPEREASYHANDLE) && (curraction & (GETSOCK_READSOCK(i) | GETSOCK_WRITESOCK(i))); i++) { unsigned int action = CURL_POLL_NONE; unsigned int prevaction = 0; unsigned int comboaction; bool sincebefore = FALSE; s = socks[i]; /* get it from the hash */ entry = sh_getentry(&multi->sockhash, s); if(curraction & GETSOCK_READSOCK(i)) |
︙ | ︙ | |||
3024 3025 3026 3027 3028 3029 3030 | /* this is only interesting while there is still an associated multi struct remaining! */ if(!multi) return; DEBUGASSERT(id < EXPIRE_LAST); | < < < | 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 | /* this is only interesting while there is still an associated multi struct remaining! */ if(!multi) return; DEBUGASSERT(id < EXPIRE_LAST); set = Curl_now(); set.tv_sec += milli/1000; set.tv_usec += (unsigned int)(milli%1000)*1000; if(set.tv_usec >= 1000000) { set.tv_sec++; set.tv_usec -= 1000000; |
︙ | ︙ |
Changes to jni/curl/lib/non-ascii.c.
︙ | ︙ | |||
74 75 76 77 78 79 80 | *outbuf = convbuf; /* return the converted buffer */ return CURLE_OK; } /* * Curl_convert_to_network() is an internal function for performing ASCII | | | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | *outbuf = convbuf; /* return the converted buffer */ return CURLE_OK; } /* * Curl_convert_to_network() is an internal function for performing ASCII * conversions on non-ASCII platforms. It converts the buffer _in place_. */ CURLcode Curl_convert_to_network(struct Curl_easy *data, char *buffer, size_t length) { if(data && data->set.convtonetwork) { /* use translation callback */ CURLcode result; |
︙ | ︙ | |||
140 141 142 143 144 145 146 | } return CURLE_OK; } /* * Curl_convert_from_network() is an internal function for performing ASCII | | | 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | } return CURLE_OK; } /* * Curl_convert_from_network() is an internal function for performing ASCII * conversions on non-ASCII platforms. It converts the buffer _in place_. */ CURLcode Curl_convert_from_network(struct Curl_easy *data, char *buffer, size_t length) { if(data && data->set.convfromnetwork) { /* use translation callback */ CURLcode result; |
︙ | ︙ |
Changes to jni/curl/lib/openldap.c.
1 2 3 4 5 6 7 8 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2010, Howard Chu, <hyc@openldap.org> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2010, Howard Chu, <hyc@openldap.org> * Copyright (C) 2011 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
410 411 412 413 414 415 416 | return CURLE_LDAP_SEARCH_FAILED; } lr = calloc(1, sizeof(ldapreqinfo)); if(!lr) return CURLE_OUT_OF_MEMORY; lr->msgid = msgid; data->req.protop = lr; | | | 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 | return CURLE_LDAP_SEARCH_FAILED; } lr = calloc(1, sizeof(ldapreqinfo)); if(!lr) return CURLE_OUT_OF_MEMORY; lr->msgid = msgid; data->req.protop = lr; Curl_setup_transfer(data, FIRSTSOCKET, -1, FALSE, -1); *done = TRUE; return CURLE_OK; } static CURLcode ldap_done(struct connectdata *conn, CURLcode res, bool premature) { |
︙ | ︙ |
Changes to jni/curl/lib/pop3.c.
︙ | ︙ | |||
908 909 910 911 912 913 914 | /* But since this initial CR LF pair is not part of the actual body, we set the strip counter here so that these bytes won't be delivered. */ pop3c->strip = 2; if(pop3->transfer == FTPTRANSFER_BODY) { /* POP3 download */ | | | 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 | /* But since this initial CR LF pair is not part of the actual body, we set the strip counter here so that these bytes won't be delivered. */ pop3c->strip = 2; if(pop3->transfer == FTPTRANSFER_BODY) { /* POP3 download */ Curl_setup_transfer(data, FIRSTSOCKET, -1, FALSE, -1); if(pp->cache) { /* The header "cache" contains a bunch of data that is actually body content so send it as such. Note that there may even be additional "headers" after the body */ if(!data->set.opt_no_body) { |
︙ | ︙ |
Changes to jni/curl/lib/rand.h.
︙ | ︙ | |||
35 36 37 38 39 40 41 | * * NOTE: 'data' may be passed in as NULL when coming from external API without * easy handle! * */ CURLcode Curl_rand(struct Curl_easy *data, unsigned char *rnd, size_t num); | | > > > | | 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | * * NOTE: 'data' may be passed in as NULL when coming from external API without * easy handle! * */ CURLcode Curl_rand(struct Curl_easy *data, unsigned char *rnd, size_t num); /* * Curl_rand_hex() fills the 'rnd' buffer with a given 'num' size with random * hexadecimal digits PLUS a zero terminating byte. It must be an odd number * size. */ CURLcode Curl_rand_hex(struct Curl_easy *data, unsigned char *rnd, size_t num); #endif /* HEADER_CURL_RAND_H */ |
Changes to jni/curl/lib/rtsp.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
76 77 78 79 80 81 82 | */ static CURLcode rtsp_rtp_readwrite(struct Curl_easy *data, struct connectdata *conn, ssize_t *nread, bool *readmore); static CURLcode rtsp_setup_connection(struct connectdata *conn); | < < | 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | */ static CURLcode rtsp_rtp_readwrite(struct Curl_easy *data, struct connectdata *conn, ssize_t *nread, bool *readmore); static CURLcode rtsp_setup_connection(struct connectdata *conn); static unsigned int rtsp_conncheck(struct connectdata *check, unsigned int checks_to_perform); /* this returns the socket to wait for in the DO and DOING state for the multi interface and then we're always _sending_ a request and thus we wait for the single socket to become writable only */ static int rtsp_getsock_do(struct connectdata *conn, |
︙ | ︙ | |||
143 144 145 146 147 148 149 | * The server may send us RTP data at any point, and RTSPREQ_RECEIVE does not * want to block the application forever while receiving a stream. Therefore, * we cannot assume that an RTSP socket is dead just because it is readable. * * Instead, if it is readable, run Curl_connalive() to peek at the socket * and distinguish between closed and data. */ | | | 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | * The server may send us RTP data at any point, and RTSPREQ_RECEIVE does not * want to block the application forever while receiving a stream. Therefore, * we cannot assume that an RTSP socket is dead just because it is readable. * * Instead, if it is readable, run Curl_connalive() to peek at the socket * and distinguish between closed and data. */ static bool rtsp_connisdead(struct connectdata *check) { int sval; bool ret_val = TRUE; sval = SOCKET_READABLE(check->sock[FIRSTSOCKET], 0); if(sval == 0) { /* timeout */ |
︙ | ︙ | |||
247 248 249 250 251 252 253 | static CURLcode rtsp_do(struct connectdata *conn, bool *done) { struct Curl_easy *data = conn->data; CURLcode result = CURLE_OK; Curl_RtspReq rtspreq = data->set.rtspreq; struct RTSP *rtsp = data->req.protop; | < < < < < | 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 | static CURLcode rtsp_do(struct connectdata *conn, bool *done) { struct Curl_easy *data = conn->data; CURLcode result = CURLE_OK; Curl_RtspReq rtspreq = data->set.rtspreq; struct RTSP *rtsp = data->req.protop; Curl_send_buffer *req_buffer; curl_off_t postsize = 0; /* for ANNOUNCE and SET_PARAMETER */ curl_off_t putsize = 0; /* for ANNOUNCE and SET_PARAMETER */ const char *p_request = NULL; const char *p_session_id = NULL; const char *p_accept = NULL; const char *p_accept_encoding = NULL; const char *p_range = NULL; const char *p_referrer = NULL; const char *p_stream_uri = NULL; const char *p_transport = NULL; const char *p_uagent = NULL; const char *p_proxyuserpwd = NULL; const char *p_userpwd = NULL; *done = TRUE; rtsp->CSeq_sent = data->state.rtsp_next_client_CSeq; rtsp->CSeq_recv = 0; /* Setup the 'p_request' pointer to the proper p_request string * Since all RTSP requests are included here, there is no need to * support custom requests like HTTP. **/ |
︙ | ︙ | |||
326 327 328 329 330 331 332 | break; case RTSPREQ_LAST: failf(data, "Got invalid RTSP request: RTSPREQ_LAST"); return CURLE_BAD_FUNCTION_ARGUMENT; } if(rtspreq == RTSPREQ_RECEIVE) { | | < | 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 | break; case RTSPREQ_LAST: failf(data, "Got invalid RTSP request: RTSPREQ_LAST"); return CURLE_BAD_FUNCTION_ARGUMENT; } if(rtspreq == RTSPREQ_RECEIVE) { Curl_setup_transfer(data, FIRSTSOCKET, -1, TRUE, -1); return result; } p_session_id = data->set.str[STRING_RTSP_SESSION_ID]; if(!p_session_id && (rtspreq & ~(RTSPREQ_OPTIONS | RTSPREQ_DESCRIBE | RTSPREQ_SETUP))) { |
︙ | ︙ | |||
595 596 597 598 599 600 601 | result = Curl_add_buffer_send(&req_buffer, conn, &data->info.request_size, 0, FIRSTSOCKET); if(result) { failf(data, "Failed sending RTSP request"); return result; } | < | < | | | 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 | result = Curl_add_buffer_send(&req_buffer, conn, &data->info.request_size, 0, FIRSTSOCKET); if(result) { failf(data, "Failed sending RTSP request"); return result; } Curl_setup_transfer(data, FIRSTSOCKET, -1, TRUE, putsize?FIRSTSOCKET:-1); /* Increment the CSeq on success */ data->state.rtsp_next_client_CSeq++; if(data->req.writebytecount) { /* if a request-body has been sent off, we make sure this progress is noted properly */ Curl_pgrsSetUploadCounter(data, data->req.writebytecount); if(Curl_pgrsUpdate(conn)) result = CURLE_ABORTED_BY_CALLBACK; } return result; } |
︙ | ︙ |
Changes to jni/curl/lib/security.c.
1 2 3 4 5 6 7 8 9 10 11 12 | /* This source code was modified by Martin Hedenfalk <mhe@stacken.kth.se> for * use in Curl. His latest changes were done 2000-09-18. * * It has since been patched and modified a lot by Daniel Stenberg * <daniel@haxx.se> to make it better applied to curl conditions, and to make * it not use globals, pollute name space and more. This source code awaits a * rewrite to work around the paragraph 2 in the BSD licenses as explained * below. * * Copyright (c) 1998, 1999, 2017 Kungliga Tekniska Hgskolan * (Royal Institute of Technology, Stockholm, Sweden). * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | /* This source code was modified by Martin Hedenfalk <mhe@stacken.kth.se> for * use in Curl. His latest changes were done 2000-09-18. * * It has since been patched and modified a lot by Daniel Stenberg * <daniel@haxx.se> to make it better applied to curl conditions, and to make * it not use globals, pollute name space and more. This source code awaits a * rewrite to work around the paragraph 2 in the BSD licenses as explained * below. * * Copyright (c) 1998, 1999, 2017 Kungliga Tekniska Hgskolan * (Royal Institute of Technology, Stockholm, Sweden). * * Copyright (C) 2001 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * |
︙ | ︙ | |||
138 139 140 141 142 143 144 | /* Read |len| from the socket |fd| and store it in |to|. Return a CURLcode saying whether an error occurred or CURLE_OK if |len| was read. */ static CURLcode socket_read(curl_socket_t fd, void *to, size_t len) { char *to_p = to; CURLcode result; | | | 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | /* Read |len| from the socket |fd| and store it in |to|. Return a CURLcode saying whether an error occurred or CURLE_OK if |len| was read. */ static CURLcode socket_read(curl_socket_t fd, void *to, size_t len) { char *to_p = to; CURLcode result; ssize_t nread = 0; while(len > 0) { result = Curl_read_plain(fd, to_p, len, &nread); if(!result) { len -= nread; to_p += nread; } |
︙ | ︙ |
Changes to jni/curl/lib/sendf.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
407 408 409 410 411 412 413 414 | #endif ) { /* this is just a case of EWOULDBLOCK */ bytes_written = 0; *code = CURLE_AGAIN; } else { failf(conn->data, "Send failure: %s", | > | | 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 | #endif ) { /* this is just a case of EWOULDBLOCK */ bytes_written = 0; *code = CURLE_AGAIN; } else { char buffer[STRERROR_LEN]; failf(conn->data, "Send failure: %s", Curl_strerror(err, buffer, sizeof(buffer))); conn->data->state.os_errno = err; *code = CURLE_SEND_ERROR; } } return bytes_written; } |
︙ | ︙ | |||
472 473 474 475 476 477 478 479 | (EWOULDBLOCK == err) || (EAGAIN == err) || (EINTR == err) #endif ) { /* this is just a case of EWOULDBLOCK */ *code = CURLE_AGAIN; } else { failf(conn->data, "Recv failure: %s", | > | | 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 | (EWOULDBLOCK == err) || (EAGAIN == err) || (EINTR == err) #endif ) { /* this is just a case of EWOULDBLOCK */ *code = CURLE_AGAIN; } else { char buffer[STRERROR_LEN]; failf(conn->data, "Recv failure: %s", Curl_strerror(err, buffer, sizeof(buffer))); conn->data->state.os_errno = err; *code = CURLE_RECV_ERROR; } } return nread; } |
︙ | ︙ |
Changes to jni/curl/lib/setopt.c.
︙ | ︙ | |||
40 41 42 43 44 45 46 47 48 49 50 51 52 53 | #include "share.h" #include "vtls/vtls.h" #include "warnless.h" #include "sendf.h" #include "http2.h" #include "setopt.h" #include "multiif.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" CURLcode Curl_setstropt(char **charp, const char *s) | > | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #include "share.h" #include "vtls/vtls.h" #include "warnless.h" #include "sendf.h" #include "http2.h" #include "setopt.h" #include "multiif.h" #include "altsvc.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" CURLcode Curl_setstropt(char **charp, const char *s) |
︙ | ︙ | |||
107 108 109 110 111 112 113 | return result; } #define C_SSLVERSION_VALUE(x) (x & 0xffff) #define C_SSLVERSION_MAX_VALUE(x) (x & 0xffff0000) | | | | 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | return result; } #define C_SSLVERSION_VALUE(x) (x & 0xffff) #define C_SSLVERSION_MAX_VALUE(x) (x & 0xffff0000) static CURLcode vsetopt(struct Curl_easy *data, CURLoption option, va_list param) { char *argptr; CURLcode result = CURLE_OK; long arg; curl_off_t bigsize; switch(option) { |
︙ | ︙ | |||
678 679 680 681 682 683 684 | break; case CURLOPT_HEADEROPT: /* * Set header option. */ arg = va_arg(param, long); | | | 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 | break; case CURLOPT_HEADEROPT: /* * Set header option. */ arg = va_arg(param, long); data->set.sep_headers = (bool)((arg & CURLHEADER_SEPARATE)? TRUE: FALSE); break; case CURLOPT_HTTP200ALIASES: /* * Set a list of aliases for HTTP 200 in response header */ data->set.http200aliases = va_arg(param, struct curl_slist *); |
︙ | ︙ | |||
880 881 882 883 884 885 886 | if(auth == CURLAUTH_NONE) { data->set.httpauth = auth; break; } /* the DIGEST_IE bit is only used to set a special marker, for all the rest we need to handle it as normal DIGEST */ | | > | 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 | if(auth == CURLAUTH_NONE) { data->set.httpauth = auth; break; } /* the DIGEST_IE bit is only used to set a special marker, for all the rest we need to handle it as normal DIGEST */ data->state.authhost.iestyle = (bool)((auth & CURLAUTH_DIGEST_IE) ? TRUE : FALSE); if(auth & CURLAUTH_DIGEST_IE) { auth |= CURLAUTH_DIGEST; /* set standard digest bit */ auth &= ~CURLAUTH_DIGEST_IE; /* unset ie digest bit */ } /* switch off bits we can't support */ |
︙ | ︙ | |||
963 964 965 966 967 968 969 | if(auth == CURLAUTH_NONE) { data->set.proxyauth = auth; break; } /* the DIGEST_IE bit is only used to set a special marker, for all the rest we need to handle it as normal DIGEST */ | | > | 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 | if(auth == CURLAUTH_NONE) { data->set.proxyauth = auth; break; } /* the DIGEST_IE bit is only used to set a special marker, for all the rest we need to handle it as normal DIGEST */ data->state.authproxy.iestyle = (bool)((auth & CURLAUTH_DIGEST_IE) ? TRUE : FALSE); if(auth & CURLAUTH_DIGEST_IE) { auth |= CURLAUTH_DIGEST; /* set standard digest bit */ auth &= ~CURLAUTH_DIGEST_IE; /* unset ie digest bit */ } /* switch off bits we can't support */ #ifndef USE_NTLM |
︙ | ︙ | |||
2072 2073 2074 2075 2076 2077 2078 | if((arg < CURLUSESSL_NONE) || (arg > CURLUSESSL_ALL)) return CURLE_BAD_FUNCTION_ARGUMENT; data->set.use_ssl = (curl_usessl)arg; break; case CURLOPT_SSL_OPTIONS: arg = va_arg(param, long); | | > | > | 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 | if((arg < CURLUSESSL_NONE) || (arg > CURLUSESSL_ALL)) return CURLE_BAD_FUNCTION_ARGUMENT; data->set.use_ssl = (curl_usessl)arg; break; case CURLOPT_SSL_OPTIONS: arg = va_arg(param, long); data->set.ssl.enable_beast = (bool)((arg&CURLSSLOPT_ALLOW_BEAST) ? TRUE : FALSE); data->set.ssl.no_revoke = !!(arg & CURLSSLOPT_NO_REVOKE); break; case CURLOPT_PROXY_SSL_OPTIONS: arg = va_arg(param, long); data->set.proxy_ssl.enable_beast = (bool)((arg&CURLSSLOPT_ALLOW_BEAST) ? TRUE : FALSE); data->set.proxy_ssl.no_revoke = !!(arg & CURLSSLOPT_NO_REVOKE); break; #endif case CURLOPT_FTPSSLAUTH: /* * Set a specific auth for FTP-SSL transfers. |
︙ | ︙ | |||
2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 | #endif break; case CURLOPT_TRAILERDATA: #ifndef CURL_DISABLE_HTTP data->set.trailer_data = va_arg(param, void *); #endif break; default: /* unknown tag and its companion, just ignore: */ result = CURLE_UNKNOWN_OPTION; break; } return result; | > > > > > > > > > > > > > > > > > > > > > > > > > | 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 | #endif break; case CURLOPT_TRAILERDATA: #ifndef CURL_DISABLE_HTTP data->set.trailer_data = va_arg(param, void *); #endif break; #ifdef USE_ALTSVC case CURLOPT_ALTSVC: if(!data->asi) { data->asi = Curl_altsvc_init(); if(!data->asi) return CURLE_OUT_OF_MEMORY; } argptr = va_arg(param, char *); result = Curl_setstropt(&data->set.str[STRING_ALTSVC], argptr); if(result) return result; (void)Curl_altsvc_load(data->asi, argptr); break; case CURLOPT_ALTSVC_CTRL: if(!data->asi) { data->asi = Curl_altsvc_init(); if(!data->asi) return CURLE_OUT_OF_MEMORY; } arg = va_arg(param, long); result = Curl_altsvc_ctrl(data->asi, arg); if(result) return result; break; #endif default: /* unknown tag and its companion, just ignore: */ result = CURLE_UNKNOWN_OPTION; break; } return result; |
︙ | ︙ | |||
2675 2676 2677 2678 2679 2680 2681 | CURLcode result; if(!data) return CURLE_BAD_FUNCTION_ARGUMENT; va_start(arg, tag); | | | 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 | CURLcode result; if(!data) return CURLE_BAD_FUNCTION_ARGUMENT; va_start(arg, tag); result = vsetopt(data, tag, arg); va_end(arg); return result; } |
Changes to jni/curl/lib/smtp.c.
︙ | ︙ | |||
955 956 957 958 959 960 961 | result = CURLE_SEND_ERROR; } else { /* Set the progress upload size */ Curl_pgrsSetUploadSize(data, data->state.infilesize); /* SMTP upload */ | | | 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 | result = CURLE_SEND_ERROR; } else { /* Set the progress upload size */ Curl_pgrsSetUploadSize(data, data->state.infilesize); /* SMTP upload */ Curl_setup_transfer(data, -1, -1, FALSE, FIRSTSOCKET); /* End of DO phase */ state(conn, SMTP_STOP); } return result; } |
︙ | ︙ | |||
1384 1385 1386 1387 1388 1389 1390 | { struct SMTP *smtp = conn->data->req.protop; (void)connected; if(smtp->transfer != FTPTRANSFER_BODY) /* no data to transfer */ | | | 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 | { struct SMTP *smtp = conn->data->req.protop; (void)connected; if(smtp->transfer != FTPTRANSFER_BODY) /* no data to transfer */ Curl_setup_transfer(conn->data, -1, -1, FALSE, -1); return CURLE_OK; } /* Called from multi.c while DOing */ static CURLcode smtp_doing(struct connectdata *conn, bool *dophase_done) { |
︙ | ︙ |
Changes to jni/curl/lib/socks.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
50 51 52 53 54 55 56 | */ int Curl_blockread_all(struct connectdata *conn, /* connection data */ curl_socket_t sockfd, /* read from this socket */ char *buf, /* store read data here */ ssize_t buffersize, /* max amount to read */ ssize_t *n) /* amount bytes read */ { | | | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | */ int Curl_blockread_all(struct connectdata *conn, /* connection data */ curl_socket_t sockfd, /* read from this socket */ char *buf, /* store read data here */ ssize_t buffersize, /* max amount to read */ ssize_t *n) /* amount bytes read */ { ssize_t nread = 0; ssize_t allread = 0; int result; *n = 0; for(;;) { timediff_t timeleft = Curl_timeleft(conn->data, NULL, TRUE); if(timeleft < 0) { /* we already got the timeout */ |
︙ | ︙ |
Changes to jni/curl/lib/socks_sspi.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2012 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 2009, 2011, Markus Moeller, <markus_moeller@compuserve.com> * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell |
︙ | ︙ | |||
47 48 49 50 51 52 53 54 | SECURITY_STATUS status, const char *function) { if(status != SEC_E_OK && status != SEC_I_COMPLETE_AND_CONTINUE && status != SEC_I_COMPLETE_NEEDED && status != SEC_I_CONTINUE_NEEDED) { failf(conn->data, "SSPI error: %s failed: %s", function, | > | | 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | SECURITY_STATUS status, const char *function) { if(status != SEC_E_OK && status != SEC_I_COMPLETE_AND_CONTINUE && status != SEC_I_COMPLETE_NEEDED && status != SEC_I_CONTINUE_NEEDED) { char buffer[STRERROR_LEN]; failf(conn->data, "SSPI error: %s failed: %s", function, Curl_sspi_strerror(status, buffer, sizeof(buffer))); return 1; } return 0; } /* This is the SSPI-using version of this function */ CURLcode Curl_SOCKS5_gssapi_negotiate(int sockindex, |
︙ | ︙ |
Changes to jni/curl/lib/ssh-libssh.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2017 - 2019 Red Hat, Inc. * * Authors: Nikos Mavrogiannopoulos, Tomas Mraz, Stanislav Zidek, * Robert Kolcun, Andreas Schneider * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. |
︙ | ︙ | |||
1196 1197 1198 1199 1200 1201 1202 | } } if(data->state.infilesize > 0) { data->req.size = data->state.infilesize; Curl_pgrsSetUploadSize(data, data->state.infilesize); } /* upload data */ | | | 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 | } } if(data->state.infilesize > 0) { data->req.size = data->state.infilesize; Curl_pgrsSetUploadSize(data, data->state.infilesize); } /* upload data */ Curl_setup_transfer(data, -1, -1, FALSE, FIRSTSOCKET); /* not set by Curl_setup_transfer to preserve keepon bits */ conn->sockfd = conn->writesockfd; /* store this original bitmask setup to use later on if we can't figure out a "real" bitmask */ sshc->orig_waitfor = data->req.keepon; |
︙ | ︙ | |||
1458 1459 1460 1461 1462 1463 1464 | break; case SSH_SFTP_READDIR_DONE: sftp_closedir(sshc->sftp_dir); sshc->sftp_dir = NULL; /* no data to transfer */ | | | 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 | break; case SSH_SFTP_READDIR_DONE: sftp_closedir(sshc->sftp_dir); sshc->sftp_dir = NULL; /* no data to transfer */ Curl_setup_transfer(data, -1, -1, FALSE, -1); state(conn, SSH_STOP); break; case SSH_SFTP_DOWNLOAD_INIT: /* * Work on getting the specified file */ |
︙ | ︙ | |||
1599 1600 1601 1602 1603 1604 1605 | } } } /* Setup the actual download */ if(data->req.size == 0) { /* no data to transfer */ | | | < | 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 | } } } /* Setup the actual download */ if(data->req.size == 0) { /* no data to transfer */ Curl_setup_transfer(data, -1, -1, FALSE, -1); infof(data, "File already completely downloaded\n"); state(conn, SSH_STOP); break; } Curl_setup_transfer(data, FIRSTSOCKET, data->req.size, FALSE, -1); /* not set by Curl_setup_transfer to preserve keepon bits */ conn->writesockfd = conn->sockfd; /* we want to use the _receiving_ function even when the socket turns out writableable as the underlying libssh recv function will deal with both accordingly */ |
︙ | ︙ | |||
1727 1728 1729 1730 1731 1732 1733 | if(rc != SSH_OK) { err_msg = ssh_get_error(sshc->ssh_session); failf(conn->data, "%s", err_msg); MOVE_TO_ERROR_STATE(CURLE_UPLOAD_FAILED); } /* upload data */ | | < | 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 | if(rc != SSH_OK) { err_msg = ssh_get_error(sshc->ssh_session); failf(conn->data, "%s", err_msg); MOVE_TO_ERROR_STATE(CURLE_UPLOAD_FAILED); } /* upload data */ Curl_setup_transfer(data, -1, data->req.size, FALSE, FIRSTSOCKET); /* not set by Curl_setup_transfer to preserve keepon bits */ conn->sockfd = conn->writesockfd; /* store this original bitmask setup to use later on if we can't figure out a "real" bitmask */ sshc->orig_waitfor = data->req.keepon; |
︙ | ︙ | |||
1771 1772 1773 1774 1775 1776 1777 | MOVE_TO_ERROR_STATE(CURLE_REMOTE_FILE_NOT_FOUND); break; } /* download data */ bytecount = ssh_scp_request_get_size(sshc->scp_session); data->req.maxdownload = (curl_off_t) bytecount; | | < | 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 | MOVE_TO_ERROR_STATE(CURLE_REMOTE_FILE_NOT_FOUND); break; } /* download data */ bytecount = ssh_scp_request_get_size(sshc->scp_session); data->req.maxdownload = (curl_off_t) bytecount; Curl_setup_transfer(data, FIRSTSOCKET, bytecount, FALSE, -1); /* not set by Curl_setup_transfer to preserve keepon bits */ conn->writesockfd = conn->sockfd; /* we want to use the _receiving_ function even when the socket turns out writableable as the underlying libssh recv function will deal with both accordingly */ |
︙ | ︙ | |||
2394 2395 2396 2397 2398 2399 2400 | { struct ssh_conn *sshc = &conn->proto.sshc; if(!status) { /* Post quote commands are executed after the SFTP_CLOSE state to avoid errors that could happen due to open file handles during POSTQUOTE operation */ | | < | < < < | 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 | { struct ssh_conn *sshc = &conn->proto.sshc; if(!status) { /* Post quote commands are executed after the SFTP_CLOSE state to avoid errors that could happen due to open file handles during POSTQUOTE operation */ if(!premature && conn->data->set.postquote && !conn->bits.retry) sshc->nextstate = SSH_SFTP_POSTQUOTE_INIT; state(conn, SSH_SFTP_CLOSE); } return myssh_done(conn, status); } /* return number of sent bytes */ static ssize_t sftp_send(struct connectdata *conn, int sockindex, const void *mem, size_t len, CURLcode *err) |
︙ | ︙ |
Changes to jni/curl/lib/ssh.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
77 78 79 80 81 82 83 84 85 86 87 | #include "inet_ntop.h" #include "parsedate.h" /* for the week day and month names */ #include "sockaddr.h" /* required for Curl_sockaddr_storage */ #include "strtoofft.h" #include "multiif.h" #include "select.h" #include "warnless.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" | > < | 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | #include "inet_ntop.h" #include "parsedate.h" /* for the week day and month names */ #include "sockaddr.h" /* required for Curl_sockaddr_storage */ #include "strtoofft.h" #include "multiif.h" #include "select.h" #include "warnless.h" #include "curl_path.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" #if LIBSSH2_VERSION_NUM >= 0x010206 /* libssh2_sftp_statvfs and friends were added in 1.2.6 */ #define HAS_STATVFS_SUPPORT 1 #endif |
︙ | ︙ | |||
1804 1805 1806 1807 1808 1809 1810 | SFTP_SEEK(sshc->sftp_handle, data->state.resume_from); } if(data->state.infilesize > 0) { data->req.size = data->state.infilesize; Curl_pgrsSetUploadSize(data, data->state.infilesize); } /* upload data */ | | | 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 | SFTP_SEEK(sshc->sftp_handle, data->state.resume_from); } if(data->state.infilesize > 0) { data->req.size = data->state.infilesize; Curl_pgrsSetUploadSize(data, data->state.infilesize); } /* upload data */ Curl_setup_transfer(data, -1, -1, FALSE, FIRSTSOCKET); /* not set by Curl_setup_transfer to preserve keepon bits */ conn->sockfd = conn->writesockfd; if(result) { state(conn, SSH_SFTP_CLOSE); sshc->actualcode = result; |
︙ | ︙ | |||
2101 2102 2103 2104 2105 2106 2107 | break; } sshc->sftp_handle = NULL; Curl_safefree(sshc->readdir_filename); Curl_safefree(sshc->readdir_longentry); /* no data to transfer */ | | | 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 | break; } sshc->sftp_handle = NULL; Curl_safefree(sshc->readdir_filename); Curl_safefree(sshc->readdir_longentry); /* no data to transfer */ Curl_setup_transfer(data, -1, -1, FALSE, -1); state(conn, SSH_STOP); break; case SSH_SFTP_DOWNLOAD_INIT: /* * Work on getting the specified file */ |
︙ | ︙ | |||
2241 2242 2243 2244 2245 2246 2247 | SFTP_SEEK(sshc->sftp_handle, data->state.resume_from); } } /* Setup the actual download */ if(data->req.size == 0) { /* no data to transfer */ | | | < | 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 | SFTP_SEEK(sshc->sftp_handle, data->state.resume_from); } } /* Setup the actual download */ if(data->req.size == 0) { /* no data to transfer */ Curl_setup_transfer(data, -1, -1, FALSE, -1); infof(data, "File already completely downloaded\n"); state(conn, SSH_STOP); break; } Curl_setup_transfer(data, FIRSTSOCKET, data->req.size, FALSE, -1); /* not set by Curl_setup_transfer to preserve keepon bits */ conn->writesockfd = conn->sockfd; /* we want to use the _receiving_ function even when the socket turns out writableable as the underlying libssh2 recv function will deal with both accordingly */ |
︙ | ︙ | |||
2391 2392 2393 2394 2395 2396 2397 | if(sshc->actualcode == CURLE_SSH || sshc->actualcode == CURLE_REMOTE_FILE_NOT_FOUND) sshc->actualcode = CURLE_UPLOAD_FAILED; break; } /* upload data */ | | < | 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 | if(sshc->actualcode == CURLE_SSH || sshc->actualcode == CURLE_REMOTE_FILE_NOT_FOUND) sshc->actualcode = CURLE_UPLOAD_FAILED; break; } /* upload data */ Curl_setup_transfer(data, -1, data->req.size, FALSE, FIRSTSOCKET); /* not set by Curl_setup_transfer to preserve keepon bits */ conn->sockfd = conn->writesockfd; if(result) { state(conn, SSH_SCP_CHANNEL_FREE); sshc->actualcode = result; |
︙ | ︙ | |||
2463 2464 2465 2466 2467 2468 2469 | sshc->actualcode = libssh2_session_error_to_CURLE(ssh_err); break; } /* download data */ bytecount = (curl_off_t)sb.st_size; data->req.maxdownload = (curl_off_t)sb.st_size; | | | 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 | sshc->actualcode = libssh2_session_error_to_CURLE(ssh_err); break; } /* download data */ bytecount = (curl_off_t)sb.st_size; data->req.maxdownload = (curl_off_t)sb.st_size; Curl_setup_transfer(data, FIRSTSOCKET, bytecount, FALSE, -1); /* not set by Curl_setup_transfer to preserve keepon bits */ conn->writesockfd = conn->sockfd; /* we want to use the _receiving_ function even when the socket turns out writableable as the underlying libssh2 recv function will deal with both accordingly */ |
︙ | ︙ | |||
2787 2788 2789 2790 2791 2792 2793 | /* called repeatedly until done from multi.c */ static CURLcode ssh_multi_statemach(struct connectdata *conn, bool *done) { struct ssh_conn *sshc = &conn->proto.sshc; CURLcode result = CURLE_OK; bool block; /* we store the status and use that to provide a ssh_getsock() implementation */ | | | | > > > | 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 | /* called repeatedly until done from multi.c */ static CURLcode ssh_multi_statemach(struct connectdata *conn, bool *done) { struct ssh_conn *sshc = &conn->proto.sshc; CURLcode result = CURLE_OK; bool block; /* we store the status and use that to provide a ssh_getsock() implementation */ do { result = ssh_statemach_act(conn, &block); *done = (sshc->state == SSH_STOP) ? TRUE : FALSE; /* if there's no error, it isn't done and it didn't EWOULDBLOCK, then try again */ } while(!result && !*done && !block); ssh_block2waitfor(conn, block); return result; } static CURLcode ssh_block_statemach(struct connectdata *conn, bool disconnect) |
︙ | ︙ | |||
3218 3219 3220 3221 3222 3223 3224 | { struct ssh_conn *sshc = &conn->proto.sshc; if(!status) { /* Post quote commands are executed after the SFTP_CLOSE state to avoid errors that could happen due to open file handles during POSTQUOTE operation */ | | < | < < < | 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 | { struct ssh_conn *sshc = &conn->proto.sshc; if(!status) { /* Post quote commands are executed after the SFTP_CLOSE state to avoid errors that could happen due to open file handles during POSTQUOTE operation */ if(!premature && conn->data->set.postquote && !conn->bits.retry) sshc->nextstate = SSH_SFTP_POSTQUOTE_INIT; state(conn, SSH_SFTP_CLOSE); } return ssh_done(conn, status); } /* return number of sent bytes */ static ssize_t sftp_send(struct connectdata *conn, int sockindex, const void *mem, size_t len, CURLcode *err) |
︙ | ︙ |
Changes to jni/curl/lib/strerror.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2004 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
642 643 644 645 646 647 648 | * as reported on this system. We do no range checking on the number before * we pass it to the "number-to-message" conversion function and there might * be systems that don't do proper range checking in there themselves. * * We don't do range checking (on systems other than Windows) since there is * no good reliable and portable way to do it. */ | | | < < | | 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 | * as reported on this system. We do no range checking on the number before * we pass it to the "number-to-message" conversion function and there might * be systems that don't do proper range checking in there themselves. * * We don't do range checking (on systems other than Windows) since there is * no good reliable and portable way to do it. */ const char *Curl_strerror(int err, char *buf, size_t buflen) { #ifdef PRESERVE_WINDOWS_ERROR_CODE DWORD old_win_err = GetLastError(); #endif int old_errno = errno; char *p; size_t max; DEBUGASSERT(err >= 0); max = buflen - 1; *buf = '\0'; #ifdef USE_WINSOCK #ifdef _WIN32_WCE { wchar_t wbuf[256]; |
︙ | ︙ | |||
753 754 755 756 757 758 759 | SetLastError(old_win_err); #endif return buf; } #ifdef USE_WINDOWS_SSPI | | | < < | | | 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 | SetLastError(old_win_err); #endif return buf; } #ifdef USE_WINDOWS_SSPI const char *Curl_sspi_strerror(int err, char *buf, size_t buflen) { #ifdef PRESERVE_WINDOWS_ERROR_CODE DWORD old_win_err = GetLastError(); #endif int old_errno = errno; const char *txt; char *outbuf; size_t outmax; #ifndef CURL_DISABLE_VERBOSE_STRINGS char txtbuf[80]; char msgbuf[256]; char *p, *str, *msg = NULL; bool msg_formatted = FALSE; #endif outbuf = buf; outmax = buflen - 1; *outbuf = '\0'; #ifndef CURL_DISABLE_VERBOSE_STRINGS switch(err) { case SEC_E_OK: txt = "No error"; |
︙ | ︙ |
Changes to jni/curl/lib/strerror.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_STRERROR_H #define HEADER_CURL_STRERROR_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | < < < | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #ifndef HEADER_CURL_STRERROR_H #define HEADER_CURL_STRERROR_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "urldata.h" #define STRERROR_LEN 128 /* a suitable length */ const char *Curl_strerror(int err, char *buf, size_t buflen); #ifdef USE_WINDOWS_SSPI const char *Curl_sspi_strerror(int err, char *buf, size_t buflen); #endif #endif /* HEADER_CURL_STRERROR_H */ |
Changes to jni/curl/lib/system_win32.c.
︙ | ︙ | |||
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #include "curl_setup.h" #if defined(WIN32) #include <curl/curl.h> #include "system_win32.h" #include "warnless.h" /* The last #include files should be: */ #include "curl_memory.h" #include "memdebug.h" #if defined(USE_WINDOWS_SSPI) || (!defined(CURL_DISABLE_TELNET) && \ defined(USE_WINSOCK)) #if !defined(LOAD_WITH_ALTERED_SEARCH_PATH) #define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008 | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 | #include "curl_setup.h" #if defined(WIN32) #include <curl/curl.h> #include "system_win32.h" #include "curl_sspi.h" #include "warnless.h" /* The last #include files should be: */ #include "curl_memory.h" #include "memdebug.h" LARGE_INTEGER Curl_freq; bool Curl_isVistaOrGreater; /* Curl_win32_init() performs win32 global initialization */ CURLcode Curl_win32_init(long flags) { /* CURL_GLOBAL_WIN32 controls the *optional* part of the initialization which is just for Winsock at the moment. Any required win32 initialization should take place after this block. */ if(flags & CURL_GLOBAL_WIN32) { #ifdef USE_WINSOCK WORD wVersionRequested; WSADATA wsaData; int res; #if defined(ENABLE_IPV6) && (USE_WINSOCK < 2) #error IPV6_requires_winsock2 #endif wVersionRequested = MAKEWORD(USE_WINSOCK, USE_WINSOCK); res = WSAStartup(wVersionRequested, &wsaData); if(res != 0) /* Tell the user that we couldn't find a usable */ /* winsock.dll. */ return CURLE_FAILED_INIT; /* Confirm that the Windows Sockets DLL supports what we need.*/ /* Note that if the DLL supports versions greater */ /* than wVersionRequested, it will still return */ /* wVersionRequested in wVersion. wHighVersion contains the */ /* highest supported version. */ if(LOBYTE(wsaData.wVersion) != LOBYTE(wVersionRequested) || HIBYTE(wsaData.wVersion) != HIBYTE(wVersionRequested) ) { /* Tell the user that we couldn't find a usable */ /* winsock.dll. */ WSACleanup(); return CURLE_FAILED_INIT; } /* The Windows Sockets DLL is acceptable. Proceed. */ #elif defined(USE_LWIPSOCK) lwip_init(); #endif } /* CURL_GLOBAL_WIN32 */ #ifdef USE_WINDOWS_SSPI { CURLcode result = Curl_sspi_global_init(); if(result) return result; } #endif if(Curl_verify_windows_version(6, 0, PLATFORM_WINNT, VERSION_GREATER_THAN_EQUAL)) { Curl_isVistaOrGreater = TRUE; QueryPerformanceFrequency(&Curl_freq); } else Curl_isVistaOrGreater = FALSE; return CURLE_OK; } /* Curl_win32_cleanup() is the opposite of Curl_win32_init() */ void Curl_win32_cleanup(long init_flags) { #ifdef USE_WINDOWS_SSPI Curl_sspi_global_cleanup(); #endif if(init_flags & CURL_GLOBAL_WIN32) { #ifdef USE_WINSOCK WSACleanup(); #endif } } #if defined(USE_WINDOWS_SSPI) || (!defined(CURL_DISABLE_TELNET) && \ defined(USE_WINSOCK)) #if !defined(LOAD_WITH_ALTERED_SEARCH_PATH) #define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008 |
︙ | ︙ |
Changes to jni/curl/lib/system_win32.h.
︙ | ︙ | |||
22 23 24 25 26 27 28 29 30 31 32 33 34 35 | * ***************************************************************************/ #include "curl_setup.h" #if defined(WIN32) /* Version condition */ typedef enum { VERSION_LESS_THAN, VERSION_LESS_THAN_EQUAL, VERSION_EQUAL, VERSION_GREATER_THAN_EQUAL, VERSION_GREATER_THAN | > > > > > > | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | * ***************************************************************************/ #include "curl_setup.h" #if defined(WIN32) extern LARGE_INTEGER Curl_freq; extern bool Curl_isVistaOrGreater; CURLcode Curl_win32_init(long flags); void Curl_win32_cleanup(long init_flags); /* Version condition */ typedef enum { VERSION_LESS_THAN, VERSION_LESS_THAN_EQUAL, VERSION_EQUAL, VERSION_GREATER_THAN_EQUAL, VERSION_GREATER_THAN |
︙ | ︙ |
Changes to jni/curl/lib/telnet.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
1688 1689 1690 1691 1692 1693 1694 | if(Curl_pgrsUpdate(conn)) { result = CURLE_ABORTED_BY_CALLBACK; break; } } #endif /* mark this as "no further transfer wanted" */ | | | 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 | if(Curl_pgrsUpdate(conn)) { result = CURLE_ABORTED_BY_CALLBACK; break; } } #endif /* mark this as "no further transfer wanted" */ Curl_setup_transfer(data, -1, -1, FALSE, -1); return result; } #endif |
Changes to jni/curl/lib/tftp.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
536 537 538 539 540 541 542 | /* the typecase for the 3rd argument is mostly for systems that do not have a size_t argument, like older unixes that want an 'int' */ senddata = sendto(state->sockfd, (void *)state->spacket.data, (SEND_TYPE_ARG3)sbytes, 0, state->conn->ip_addr->ai_addr, state->conn->ip_addr->ai_addrlen); if(senddata != (ssize_t)sbytes) { | > | | 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 | /* the typecase for the 3rd argument is mostly for systems that do not have a size_t argument, like older unixes that want an 'int' */ senddata = sendto(state->sockfd, (void *)state->spacket.data, (SEND_TYPE_ARG3)sbytes, 0, state->conn->ip_addr->ai_addr, state->conn->ip_addr->ai_addrlen); if(senddata != (ssize_t)sbytes) { char buffer[STRERROR_LEN]; failf(data, "%s", Curl_strerror(SOCKERRNO, buffer, sizeof(buffer))); } free(filename); break; case TFTP_EVENT_OACK: if(data->set.upload) { result = tftp_connect_for_tx(state, event); |
︙ | ︙ | |||
586 587 588 589 590 591 592 593 594 595 596 597 598 599 | * **********************************************************/ static CURLcode tftp_rx(tftp_state_data_t *state, tftp_event_t event) { ssize_t sbytes; int rblock; struct Curl_easy *data = state->conn->data; switch(event) { case TFTP_EVENT_DATA: /* Is this the block we expect? */ rblock = getrpacketblock(&state->rpacket); if(NEXT_BLOCKNUM(state->block) == rblock) { | > | 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 | * **********************************************************/ static CURLcode tftp_rx(tftp_state_data_t *state, tftp_event_t event) { ssize_t sbytes; int rblock; struct Curl_easy *data = state->conn->data; char buffer[STRERROR_LEN]; switch(event) { case TFTP_EVENT_DATA: /* Is this the block we expect? */ rblock = getrpacketblock(&state->rpacket); if(NEXT_BLOCKNUM(state->block) == rblock) { |
︙ | ︙ | |||
618 619 620 621 622 623 624 | setpacketevent(&state->spacket, TFTP_EVENT_ACK); setpacketblock(&state->spacket, state->block); sbytes = sendto(state->sockfd, (void *)state->spacket.data, 4, SEND_4TH_ARG, (struct sockaddr *)&state->remote_addr, state->remote_addrlen); if(sbytes < 0) { | | | 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 | setpacketevent(&state->spacket, TFTP_EVENT_ACK); setpacketblock(&state->spacket, state->block); sbytes = sendto(state->sockfd, (void *)state->spacket.data, 4, SEND_4TH_ARG, (struct sockaddr *)&state->remote_addr, state->remote_addrlen); if(sbytes < 0) { failf(data, "%s", Curl_strerror(SOCKERRNO, buffer, sizeof(buffer))); return CURLE_SEND_ERROR; } /* Check if completed (That is, a less than full packet is received) */ if(state->rbytes < (ssize_t)state->blksize + 4) { state->state = TFTP_STATE_FIN; } |
︙ | ︙ | |||
643 644 645 646 647 648 649 | setpacketevent(&state->spacket, TFTP_EVENT_ACK); setpacketblock(&state->spacket, state->block); sbytes = sendto(state->sockfd, (void *)state->spacket.data, 4, SEND_4TH_ARG, (struct sockaddr *)&state->remote_addr, state->remote_addrlen); if(sbytes < 0) { | | | 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 | setpacketevent(&state->spacket, TFTP_EVENT_ACK); setpacketblock(&state->spacket, state->block); sbytes = sendto(state->sockfd, (void *)state->spacket.data, 4, SEND_4TH_ARG, (struct sockaddr *)&state->remote_addr, state->remote_addrlen); if(sbytes < 0) { failf(data, "%s", Curl_strerror(SOCKERRNO, buffer, sizeof(buffer))); return CURLE_SEND_ERROR; } /* we're ready to RX data */ state->state = TFTP_STATE_RX; time(&state->rx_time); break; |
︙ | ︙ | |||
669 670 671 672 673 674 675 | else { /* Resend the previous ACK */ sbytes = sendto(state->sockfd, (void *)state->spacket.data, 4, SEND_4TH_ARG, (struct sockaddr *)&state->remote_addr, state->remote_addrlen); if(sbytes<0) { | | | 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 | else { /* Resend the previous ACK */ sbytes = sendto(state->sockfd, (void *)state->spacket.data, 4, SEND_4TH_ARG, (struct sockaddr *)&state->remote_addr, state->remote_addrlen); if(sbytes<0) { failf(data, "%s", Curl_strerror(SOCKERRNO, buffer, sizeof(buffer))); return CURLE_SEND_ERROR; } } break; case TFTP_EVENT_ERROR: setpacketevent(&state->spacket, TFTP_EVENT_ERROR); |
︙ | ︙ | |||
709 710 711 712 713 714 715 716 717 718 719 720 721 722 | static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event) { struct Curl_easy *data = state->conn->data; ssize_t sbytes; CURLcode result = CURLE_OK; struct SingleRequest *k = &data->req; size_t cb; /* Bytes currently read */ switch(event) { case TFTP_EVENT_ACK: case TFTP_EVENT_OACK: if(event == TFTP_EVENT_ACK) { /* Ack the packet */ | > | 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 | static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event) { struct Curl_easy *data = state->conn->data; ssize_t sbytes; CURLcode result = CURLE_OK; struct SingleRequest *k = &data->req; size_t cb; /* Bytes currently read */ char buffer[STRERROR_LEN]; switch(event) { case TFTP_EVENT_ACK: case TFTP_EVENT_OACK: if(event == TFTP_EVENT_ACK) { /* Ack the packet */ |
︙ | ︙ | |||
743 744 745 746 747 748 749 | /* Re-send the data packet */ sbytes = sendto(state->sockfd, (void *)state->spacket.data, 4 + state->sbytes, SEND_4TH_ARG, (struct sockaddr *)&state->remote_addr, state->remote_addrlen); /* Check all sbytes were sent */ if(sbytes<0) { | | > | 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 | /* Re-send the data packet */ sbytes = sendto(state->sockfd, (void *)state->spacket.data, 4 + state->sbytes, SEND_4TH_ARG, (struct sockaddr *)&state->remote_addr, state->remote_addrlen); /* Check all sbytes were sent */ if(sbytes<0) { failf(data, "%s", Curl_strerror(SOCKERRNO, buffer, sizeof(buffer))); result = CURLE_SEND_ERROR; } } return result; } /* This is the expected packet. Reset the counters and send the next |
︙ | ︙ | |||
787 788 789 790 791 792 793 | sbytes = sendto(state->sockfd, (void *) state->spacket.data, 4 + state->sbytes, SEND_4TH_ARG, (struct sockaddr *)&state->remote_addr, state->remote_addrlen); /* Check all sbytes were sent */ if(sbytes<0) { | | | 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 | sbytes = sendto(state->sockfd, (void *) state->spacket.data, 4 + state->sbytes, SEND_4TH_ARG, (struct sockaddr *)&state->remote_addr, state->remote_addrlen); /* Check all sbytes were sent */ if(sbytes<0) { failf(data, "%s", Curl_strerror(SOCKERRNO, buffer, sizeof(buffer))); return CURLE_SEND_ERROR; } /* Update the progress meter */ k->writebytecount += state->sbytes; Curl_pgrsSetUploadCounter(data, k->writebytecount); break; |
︙ | ︙ | |||
813 814 815 816 817 818 819 | /* Re-send the data packet */ sbytes = sendto(state->sockfd, (void *)state->spacket.data, 4 + state->sbytes, SEND_4TH_ARG, (struct sockaddr *)&state->remote_addr, state->remote_addrlen); /* Check all sbytes were sent */ if(sbytes<0) { | | | 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 | /* Re-send the data packet */ sbytes = sendto(state->sockfd, (void *)state->spacket.data, 4 + state->sbytes, SEND_4TH_ARG, (struct sockaddr *)&state->remote_addr, state->remote_addrlen); /* Check all sbytes were sent */ if(sbytes<0) { failf(data, "%s", Curl_strerror(SOCKERRNO, buffer, sizeof(buffer))); return CURLE_SEND_ERROR; } /* since this was a re-send, we remain at the still byte position */ Curl_pgrsSetUploadCounter(data, k->writebytecount); } break; |
︙ | ︙ | |||
1026 1027 1028 1029 1030 1031 1032 1033 | * Therefore we use the size from the address we connected to, which we * assume uses the same IP version and thus hopefully this works for both * IPv4 and IPv6... */ int rc = bind(state->sockfd, (struct sockaddr *)&state->local_addr, conn->ip_addr->ai_addrlen); if(rc) { failf(conn->data, "bind() failed; %s", | > | | 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 | * Therefore we use the size from the address we connected to, which we * assume uses the same IP version and thus hopefully this works for both * IPv4 and IPv6... */ int rc = bind(state->sockfd, (struct sockaddr *)&state->local_addr, conn->ip_addr->ai_addrlen); if(rc) { char buffer[STRERROR_LEN]; failf(conn->data, "bind() failed; %s", Curl_strerror(SOCKERRNO, buffer, sizeof(buffer))); return CURLE_COULDNT_CONNECT; } conn->bits.bound = TRUE; } Curl_pgrsStartNow(conn->data); |
︙ | ︙ | |||
1238 1239 1240 1241 1242 1243 1244 | if(event != TFTP_EVENT_NONE) { result = tftp_state_machine(state, event); if(result) return result; *done = (state->state == TFTP_STATE_FIN) ? TRUE : FALSE; if(*done) /* Tell curl we're done */ | | > | | | 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 | if(event != TFTP_EVENT_NONE) { result = tftp_state_machine(state, event); if(result) return result; *done = (state->state == TFTP_STATE_FIN) ? TRUE : FALSE; if(*done) /* Tell curl we're done */ Curl_setup_transfer(data, -1, -1, FALSE, -1); } else { /* no timeouts to handle, check our socket */ int rc = SOCKET_READABLE(state->sockfd, 0); if(rc == -1) { /* bail out */ int error = SOCKERRNO; char buffer[STRERROR_LEN]; failf(data, "%s", Curl_strerror(error, buffer, sizeof(buffer))); state->event = TFTP_EVENT_ERROR; } else if(rc != 0) { result = tftp_receive_packet(conn); if(result) return result; result = tftp_state_machine(state, state->event); if(result) return result; *done = (state->state == TFTP_STATE_FIN) ? TRUE : FALSE; if(*done) /* Tell curl we're done */ Curl_setup_transfer(data, -1, -1, FALSE, -1); } /* if rc == 0, then select() timed out */ } return result; } |
︙ | ︙ |
Changes to jni/curl/lib/timeval.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | > > > > < < < < < > | | > > > > > > | > > > | > > > > | | < < < < < | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "timeval.h" #if defined(WIN32) && !defined(MSDOS) /* set in win32_init() */ extern LARGE_INTEGER Curl_freq; extern bool Curl_isVistaOrGreater; struct curltime Curl_now(void) { struct curltime now; if(Curl_isVistaOrGreater) { /* QPC timer might have issues pre-Vista */ LARGE_INTEGER count; QueryPerformanceCounter(&count); now.tv_sec = (time_t)(count.QuadPart / Curl_freq.QuadPart); now.tv_usec = (int)((count.QuadPart % Curl_freq.QuadPart) * 1000000 / Curl_freq.QuadPart); } else { /* Disable /analyze warning that GetTickCount64 is preferred */ #if defined(_MSC_VER) #pragma warning(push) #pragma warning(disable:28159) #endif DWORD milliseconds = GetTickCount(); #if defined(_MSC_VER) #pragma warning(pop) #endif now.tv_sec = milliseconds / 1000; now.tv_usec = (milliseconds % 1000) * 1000; } return now; } #elif defined(HAVE_CLOCK_GETTIME_MONOTONIC) struct curltime Curl_now(void) { |
︙ | ︙ |
Changes to jni/curl/lib/transfer.c.
︙ | ︙ | |||
292 293 294 295 296 297 298 | portion must always be translated to the network encoding. To further complicate matters, line end conversion might be done later on, so we need to prevent CRLFs from becoming CRCRLFs if that's the case. To do this we use bare LFs here, knowing they'll become CRLFs later on. */ | | > < | 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 | portion must always be translated to the network encoding. To further complicate matters, line end conversion might be done later on, so we need to prevent CRLFs from becoming CRCRLFs if that's the case. To do this we use bare LFs here, knowing they'll become CRLFs later on. */ char hexbuffer[11] = ""; int hexlen = 0; const char *endofline_native; const char *endofline_network; if( #ifdef CURL_DO_LINEEND_CONV (data->set.prefer_ascii) || #endif (data->set.crlf)) { /* \n will become \r\n later on */ |
︙ | ︙ | |||
350 351 352 353 354 355 356 | CURLcode result; size_t length; if(data->set.prefer_ascii) /* translate the protocol and data */ length = nread; else /* just translate the protocol portion */ | | > | | | | | > | 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 | CURLcode result; size_t length; if(data->set.prefer_ascii) /* translate the protocol and data */ length = nread; else /* just translate the protocol portion */ length = hexlen; if(length) { result = Curl_convert_to_network(data, data->req.upload_fromhere, length); /* Curl_convert_to_network calls failf if unsuccessful */ if(result) return result; } } #endif /* CURL_DOES_CONVERSIONS */ #ifndef CURL_DISABLE_HTTP if(data->state.trailers_state == TRAILERS_SENDING && !Curl_trailers_left(data)) { Curl_add_buffer_free(&data->state.trailers_buf); |
︙ | ︙ | |||
1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 | if(data->set.verbose) /* show the data before we change the pointer upload_fromhere */ Curl_debug(data, CURLINFO_DATA_OUT, k->upload_fromhere, (size_t)bytes_written); k->writebytecount += bytes_written; if((!k->upload_chunky || k->forbidchunk) && (k->writebytecount == data->state.infilesize)) { /* we have sent all data we were supposed to */ k->upload_done = TRUE; infof(data, "We are completely uploaded and fine\n"); } | > | 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 | if(data->set.verbose) /* show the data before we change the pointer upload_fromhere */ Curl_debug(data, CURLINFO_DATA_OUT, k->upload_fromhere, (size_t)bytes_written); k->writebytecount += bytes_written; Curl_pgrsSetUploadCounter(data, k->writebytecount); if((!k->upload_chunky || k->forbidchunk) && (k->writebytecount == data->state.infilesize)) { /* we have sent all data we were supposed to */ k->upload_done = TRUE; infof(data, "We are completely uploaded and fine\n"); } |
︙ | ︙ | |||
1225 1226 1227 1228 1229 1230 1231 | if(k->upload_done) { result = done_sending(conn, k); if(result) return result; } } | < | 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 | if(k->upload_done) { result = done_sending(conn, k); if(result) return result; } } } WHILE_FALSE; /* just to break out from! */ return CURLE_OK; } /* |
︙ | ︙ | |||
1303 1304 1305 1306 1307 1308 1309 | result = readwrite_upload(data, conn, &didwhat); if(result) return result; } k->now = Curl_now(); if(didwhat) { | < < < < < > | 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 | result = readwrite_upload(data, conn, &didwhat); if(result) return result; } k->now = Curl_now(); if(didwhat) { ; } else { /* no read no write, this is a timeout? */ if(k->exp100 == EXP100_AWAITING_CONTINUE) { /* This should allow some time for the header to arrive, but only a very short time as otherwise it'll be too much wasted time too often. */ |
︙ | ︙ | |||
1522 1523 1524 1525 1526 1527 1528 | data->state.authhost.want = data->set.httpauth; data->state.authproxy.want = data->set.proxyauth; Curl_safefree(data->info.wouldredirect); data->info.wouldredirect = NULL; if(data->set.httpreq == HTTPREQ_PUT) data->state.infilesize = data->set.filesize; | | > > > | 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 | data->state.authhost.want = data->set.httpauth; data->state.authproxy.want = data->set.proxyauth; Curl_safefree(data->info.wouldredirect); data->info.wouldredirect = NULL; if(data->set.httpreq == HTTPREQ_PUT) data->state.infilesize = data->set.filesize; else if((data->set.httpreq != HTTPREQ_GET) && (data->set.httpreq != HTTPREQ_HEAD)) { data->state.infilesize = data->set.postfieldsize; if(data->set.postfields && (data->state.infilesize == -1)) data->state.infilesize = (curl_off_t)strlen(data->set.postfields); } else data->state.infilesize = 0; /* If there is a list of cookie files to read, do it now! */ if(data->change.cookielist) Curl_cookie_loadfiles(data); /* If there is a list of host pairs to deal with */ if(data->change.resolve) |
︙ | ︙ | |||
1848 1849 1850 1851 1852 1853 1854 | to retry. Marking it this way should prevent i.e HTTP transfers to return error just because nothing has been transferred! */ if(conn->handler->protocol&PROTO_FAMILY_HTTP) { | < | | < | < < | | < < < < < < | 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 | to retry. Marking it this way should prevent i.e HTTP transfers to return error just because nothing has been transferred! */ if(conn->handler->protocol&PROTO_FAMILY_HTTP) { if(data->req.writebytecount) { CURLcode result = Curl_readrewind(conn); if(result) { Curl_safefree(*url); return result; } } } } return CURLE_OK; } /* * Curl_setup_transfer() is called to setup some basic properties for the * upcoming transfer. */ void Curl_setup_transfer( struct Curl_easy *data, /* transfer */ int sockindex, /* socket index to read from or -1 */ curl_off_t size, /* -1 if unknown at this point */ bool getheader, /* TRUE if header parsing is wanted */ int writesockindex /* socket index to write to, it may very well be the same we read from. -1 disables */ ) { struct SingleRequest *k = &data->req; struct connectdata *conn = data->conn; DEBUGASSERT(conn != NULL); DEBUGASSERT((sockindex <= 1) && (sockindex >= -1)); if(conn->bits.multiplex || conn->httpversion == 20) { /* when multiplexing, the read/write sockets need to be the same! */ conn->sockfd = sockindex == -1 ? ((writesockindex == -1 ? CURL_SOCKET_BAD : conn->sock[writesockindex])) : conn->sock[sockindex]; conn->writesockfd = conn->sockfd; } else { conn->sockfd = sockindex == -1 ? CURL_SOCKET_BAD : conn->sock[sockindex]; conn->writesockfd = writesockindex == -1 ? CURL_SOCKET_BAD:conn->sock[writesockindex]; } k->getheader = getheader; k->size = size; /* The code sequence below is placed in this function just because all necessary input is not always known in do_complete() as this function may be called after that */ if(!k->getheader) { k->header = FALSE; |
︙ | ︙ |
Changes to jni/curl/lib/transfer.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TRANSFER_H #define HEADER_CURL_TRANSFER_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TRANSFER_H #define HEADER_CURL_TRANSFER_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
55 56 57 58 59 60 61 | size_t *nreadp); CURLcode Curl_retry_request(struct connectdata *conn, char **url); bool Curl_meets_timecondition(struct Curl_easy *data, time_t timeofdoc); CURLcode Curl_get_upload_buffer(struct Curl_easy *data); /* This sets up a forthcoming transfer */ void | | | | | < | | | < | | 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | size_t *nreadp); CURLcode Curl_retry_request(struct connectdata *conn, char **url); bool Curl_meets_timecondition(struct Curl_easy *data, time_t timeofdoc); CURLcode Curl_get_upload_buffer(struct Curl_easy *data); /* This sets up a forthcoming transfer */ void Curl_setup_transfer (struct Curl_easy *data, int sockindex, /* socket index to read from or -1 */ curl_off_t size, /* -1 if unknown at this point */ bool getheader, /* TRUE if header parsing is wanted */ int writesockindex /* socket index to write to. May be the same we read from. -1 disables */ ); #endif /* HEADER_CURL_TRANSFER_H */ |
Changes to jni/curl/lib/url.c.
︙ | ︙ | |||
116 117 118 119 120 121 122 123 124 125 126 127 128 129 | #include "http_proxy.h" #include "conncache.h" #include "multihandle.h" #include "pipeline.h" #include "dotdot.h" #include "strdup.h" #include "setopt.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" static void conn_free(struct connectdata *conn); | > | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | #include "http_proxy.h" #include "conncache.h" #include "multihandle.h" #include "pipeline.h" #include "dotdot.h" #include "strdup.h" #include "setopt.h" #include "altsvc.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" static void conn_free(struct connectdata *conn); |
︙ | ︙ | |||
288 289 290 291 292 293 294 | } data->change.url = NULL; Curl_mime_cleanpart(&data->set.mimepost); } /* free the URL pieces */ | | > | | 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 | } data->change.url = NULL; Curl_mime_cleanpart(&data->set.mimepost); } /* free the URL pieces */ static void up_free(struct Curl_easy *data) { struct urlpieces *up = &data->state.up; Curl_safefree(up->scheme); Curl_safefree(up->hostname); Curl_safefree(up->port); Curl_safefree(up->user); Curl_safefree(up->password); Curl_safefree(up->options); Curl_safefree(up->path); Curl_safefree(up->query); if(data->set.uh != data->state.uh) curl_url_cleanup(data->state.uh); data->state.uh = NULL; } /* * This is the internal function curl_easy_cleanup() calls. This should * cleanup and free all resources associated with this sessionhandle. * |
︙ | ︙ | |||
365 366 367 368 369 370 371 | if(data->change.referer_alloc) { Curl_safefree(data->change.referer); data->change.referer_alloc = FALSE; } data->change.referer = NULL; | | > > > > > | 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 | if(data->change.referer_alloc) { Curl_safefree(data->change.referer); data->change.referer_alloc = FALSE; } data->change.referer = NULL; up_free(data); Curl_safefree(data->state.buffer); Curl_safefree(data->state.headerbuff); Curl_safefree(data->state.ulbuf); Curl_flush_cookies(data, 1); #ifdef USE_ALTSVC Curl_altsvc_save(data->asi, data->set.str[STRING_ALTSVC]); Curl_altsvc_cleanup(data->asi); data->asi = NULL; #endif Curl_digest_cleanup(data); Curl_safefree(data->info.contenttype); Curl_safefree(data->info.wouldredirect); /* this destroys the channel and we cannot use it anymore after this */ Curl_resolver_cleanup(data->state.resolver); |
︙ | ︙ | |||
656 657 658 659 660 661 662 | conn_reset_postponed_data(conn, 1); } #else /* ! USE_RECV_BEFORE_SEND_WORKAROUND */ /* Use "do-nothing" macro instead of function when workaround not used */ #define conn_reset_all_postponed_data(c) do {} WHILE_FALSE #endif /* ! USE_RECV_BEFORE_SEND_WORKAROUND */ | > | > > > | 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 | conn_reset_postponed_data(conn, 1); } #else /* ! USE_RECV_BEFORE_SEND_WORKAROUND */ /* Use "do-nothing" macro instead of function when workaround not used */ #define conn_reset_all_postponed_data(c) do {} WHILE_FALSE #endif /* ! USE_RECV_BEFORE_SEND_WORKAROUND */ static void conn_shutdown(struct connectdata *conn) { if(!conn) return; infof(conn->data, "Closing connection %ld\n", conn->connection_id); DEBUGASSERT(conn->data); /* possible left-overs from the async name resolvers */ Curl_resolver_cancel(conn); /* close the SSL stuff before we close any sockets since they will/may write to the sockets */ Curl_ssl_close(conn, FIRSTSOCKET); |
︙ | ︙ | |||
683 684 685 686 687 688 689 690 691 692 693 694 695 696 | if(CURL_SOCKET_BAD != conn->tempsock[1]) Curl_closesocket(conn, conn->tempsock[1]); #if !defined(CURL_DISABLE_HTTP) && defined(USE_NTLM) && \ defined(NTLM_WB_ENABLED) Curl_ntlm_wb_cleanup(conn); #endif Curl_safefree(conn->user); Curl_safefree(conn->passwd); Curl_safefree(conn->oauth_bearer); Curl_safefree(conn->options); Curl_safefree(conn->http_proxy.user); Curl_safefree(conn->socks_proxy.user); | > > > > > > > > > > > > > > > | 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 | if(CURL_SOCKET_BAD != conn->tempsock[1]) Curl_closesocket(conn, conn->tempsock[1]); #if !defined(CURL_DISABLE_HTTP) && defined(USE_NTLM) && \ defined(NTLM_WB_ENABLED) Curl_ntlm_wb_cleanup(conn); #endif /* unlink ourselves. this should be called last since other shutdown procedures need a valid conn->data and this may clear it. */ Curl_conncache_remove_conn(conn->data, conn, TRUE); } static void conn_free(struct connectdata *conn) { if(!conn) return; free_idnconverted_hostname(&conn->host); free_idnconverted_hostname(&conn->conn_to_host); free_idnconverted_hostname(&conn->http_proxy.host); free_idnconverted_hostname(&conn->socks_proxy.host); Curl_safefree(conn->user); Curl_safefree(conn->passwd); Curl_safefree(conn->oauth_bearer); Curl_safefree(conn->options); Curl_safefree(conn->http_proxy.user); Curl_safefree(conn->socks_proxy.user); |
︙ | ︙ | |||
776 777 778 779 780 781 782 783 | Curl_hostcache_prune(data); /* kill old DNS cache entries */ #if !defined(CURL_DISABLE_HTTP) && defined(USE_NTLM) /* Cleanup NTLM connection-related data */ Curl_http_ntlm_cleanup(conn); #endif | > > > > | | > < < < | < < < < < < < < < | 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 | Curl_hostcache_prune(data); /* kill old DNS cache entries */ #if !defined(CURL_DISABLE_HTTP) && defined(USE_NTLM) /* Cleanup NTLM connection-related data */ Curl_http_ntlm_cleanup(conn); #endif #if !defined(CURL_DISABLE_HTTP) && defined(USE_SPNEGO) /* Cleanup NEGOTIATE connection-related data */ Curl_cleanup_negotiate(conn); #endif /* the protocol specific disconnect handler and conn_shutdown need a transfer for the connection! */ conn->data = data; if(conn->handler->disconnect) /* This is set if protocol-specific cleanups should be made */ conn->handler->disconnect(conn, dead_connection); conn_shutdown(conn); conn_free(conn); return CURLE_OK; } /* * This function should return TRUE if the socket is to be assumed to * be dead. Most commonly this happens when the server has closed the |
︙ | ︙ | |||
952 953 954 955 956 957 958 | * * Returns TRUE if the connection was dead and extracted. */ static bool extract_if_dead(struct connectdata *conn, struct Curl_easy *data) { size_t pipeLen = conn->send_pipe.size + conn->recv_pipe.size; | | > > > | 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 | * * Returns TRUE if the connection was dead and extracted. */ static bool extract_if_dead(struct connectdata *conn, struct Curl_easy *data) { size_t pipeLen = conn->send_pipe.size + conn->recv_pipe.size; if(!pipeLen && !CONN_INUSE(conn) && !conn->data) { /* The check for a dead socket makes sense only if there are no handles in pipeline and the connection isn't already marked in use */ bool dead; if(conn->handler->connection_check) { /* The protocol has a special method for checking the state of the connection. Use it to check if the connection is dead. */ unsigned int state; struct Curl_easy *olddata = conn->data; conn->data = data; /* use this transfer for now */ state = conn->handler->connection_check(conn, CONNCHECK_ISDEAD); conn->data = olddata; dead = (state & CONNRESULT_DEAD); } else { /* Use the general method for determining the death of a connection */ dead = SocketIsDead(conn->sock[FIRSTSOCKET]); } |
︙ | ︙ | |||
990 991 992 993 994 995 996 | /* * Wrapper to use extract_if_dead() function in Curl_conncache_foreach() * */ static int call_extract_if_dead(struct connectdata *conn, void *param) { struct prunedead *p = (struct prunedead *)param; | < | 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 | /* * Wrapper to use extract_if_dead() function in Curl_conncache_foreach() * */ static int call_extract_if_dead(struct connectdata *conn, void *param) { struct prunedead *p = (struct prunedead *)param; if(extract_if_dead(conn, p->data)) { /* stop the iteration here, pass back the connection that was extracted */ p->extracted = conn; return 1; } return 0; /* continue iteration */ } |
︙ | ︙ | |||
1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 | /* * Note that if we use a HTTP proxy in normal mode (no tunneling), we * check connections to that proxy and not to the actual remote server. */ check = curr->ptr; curr = curr->next; if(extract_if_dead(check, data)) { /* disconnect it */ (void)Curl_disconnect(data, check, /* dead_connection */TRUE); continue; } | > > > > | 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 | /* * Note that if we use a HTTP proxy in normal mode (no tunneling), we * check connections to that proxy and not to the actual remote server. */ check = curr->ptr; curr = curr->next; if(check->bits.connect_only) /* connect-only connections will not be reused */ continue; if(extract_if_dead(check, data)) { /* disconnect it */ (void)Curl_disconnect(data, check, /* dead_connection */TRUE); continue; } |
︙ | ︙ | |||
1258 1259 1260 1261 1262 1263 1264 | continue; if(check->ssl[FIRSTSOCKET].state != ssl_connection_complete) continue; } } } | | > | | | | 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 | continue; if(check->ssl[FIRSTSOCKET].state != ssl_connection_complete) continue; } } } if(!canpipe && check->data) /* this request can't be pipelined but the checked connection is already in use so we skip it */ continue; if(CONN_INUSE(check) && check->data && (check->data->multi != needle->data->multi)) /* this could be subject for pipeline/multiplex use, but only if they belong to the same multi handle */ continue; if(needle->localdev || needle->localport) { /* If we are bound to a specific local end (IP+port), we must not re-use a random other one, although if we didn't ask for a particular one we can reuse one that was bound. |
︙ | ︙ | |||
1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 | /* * Strip single trailing dot in the hostname, * primarily for SNI and http host header. */ static void strip_trailing_dot(struct hostname *host) { size_t len; len = strlen(host->name); if(len && (host->name[len-1] == '.')) host->name[len-1] = 0; } /* * Perform any necessary IDN conversion of hostname | > > | 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 | /* * Strip single trailing dot in the hostname, * primarily for SNI and http host header. */ static void strip_trailing_dot(struct hostname *host) { size_t len; if(!host || !host->name) return; len = strlen(host->name); if(len && (host->name[len-1] == '.')) host->name[len-1] = 0; } /* * Perform any necessary IDN conversion of hostname |
︙ | ︙ | |||
1745 1746 1747 1748 1749 1750 1751 | failf(data, "Failed to convert %s to ACE;\n", host->name); return CURLE_URL_MALFORMAT; } #else infof(data, "IDN support not present, can't parse Unicode domains\n"); #endif } | < < < < < < < < < | 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 | failf(data, "Failed to convert %s to ACE;\n", host->name); return CURLE_URL_MALFORMAT; } #else infof(data, "IDN support not present, can't parse Unicode domains\n"); #endif } return CURLE_OK; } /* * Frees data allocated by idnconvert_hostname() */ static void free_idnconverted_hostname(struct hostname *host) |
︙ | ︙ | |||
1895 1896 1897 1898 1899 1900 1901 | conn->ssl_config.verifystatus = data->set.ssl.primary.verifystatus; conn->ssl_config.verifypeer = data->set.ssl.primary.verifypeer; conn->ssl_config.verifyhost = data->set.ssl.primary.verifyhost; conn->proxy_ssl_config.verifystatus = data->set.proxy_ssl.primary.verifystatus; conn->proxy_ssl_config.verifypeer = data->set.proxy_ssl.primary.verifypeer; conn->proxy_ssl_config.verifyhost = data->set.proxy_ssl.primary.verifyhost; | < > | 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 | conn->ssl_config.verifystatus = data->set.ssl.primary.verifystatus; conn->ssl_config.verifypeer = data->set.ssl.primary.verifypeer; conn->ssl_config.verifyhost = data->set.ssl.primary.verifyhost; conn->proxy_ssl_config.verifystatus = data->set.proxy_ssl.primary.verifystatus; conn->proxy_ssl_config.verifypeer = data->set.proxy_ssl.primary.verifypeer; conn->proxy_ssl_config.verifyhost = data->set.proxy_ssl.primary.verifyhost; conn->ip_version = data->set.ipver; conn->bits.connect_only = data->set.connect_only; #if !defined(CURL_DISABLE_HTTP) && defined(USE_NTLM) && \ defined(NTLM_WB_ENABLED) conn->ntlm_auth_hlpr_socket = CURL_SOCKET_BAD; conn->ntlm_auth_hlpr_pid = 0; conn->challenge_header = NULL; conn->response_header = NULL; |
︙ | ︙ | |||
2025 2026 2027 2028 2029 2030 2031 | struct connectdata *conn) { CURLcode result; CURLU *uh; CURLUcode uc; char *hostname; | | | | 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 | struct connectdata *conn) { CURLcode result; CURLU *uh; CURLUcode uc; char *hostname; up_free(data); /* cleanup previous leftovers first */ /* parse the URL */ if(data->set.uh) { uh = data->state.uh = data->set.uh; } else { uh = data->state.uh = curl_url(); } if(!uh) return CURLE_OUT_OF_MEMORY; |
︙ | ︙ | |||
3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 | /* no "connect to port" */ conn->bits.conn_to_port = FALSE; port = -1; } conn_to_host = conn_to_host->next; } return result; } /************************************************************* * Resolve the address of the server or proxy *************************************************************/ static CURLcode resolve_server(struct Curl_easy *data, struct connectdata *conn, bool *async) { CURLcode result = CURLE_OK; timediff_t timeout_ms = Curl_timeleft(data, NULL, TRUE); /************************************************************* * Resolve the name of the server or proxy *************************************************************/ if(conn->bits.reuse) /* We're reusing the connection - no need to resolve anything, and idnconvert_hostname() was called already in create_conn() for the re-use case. */ | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 | /* no "connect to port" */ conn->bits.conn_to_port = FALSE; port = -1; } conn_to_host = conn_to_host->next; } #ifdef USE_ALTSVC if(data->asi && !host && (port == -1) && (conn->handler->protocol == CURLPROTO_HTTPS)) { /* no connect_to match, try alt-svc! */ const char *nhost; int nport; enum alpnid nalpnid; bool hit; host = conn->host.rawalloc; hit = Curl_altsvc_lookup(data->asi, ALPN_h1, host, conn->remote_port, /* from */ &nalpnid, &nhost, &nport /* to */); if(hit) { char *hostd = strdup((char *)nhost); if(!hostd) return CURLE_OUT_OF_MEMORY; conn->conn_to_host.rawalloc = hostd; conn->conn_to_host.name = hostd; conn->bits.conn_to_host = TRUE; conn->conn_to_port = nport; conn->bits.conn_to_port = TRUE; infof(data, "Alt-svc connecting from [%s]%s:%d to [%s]%s:%d\n", Curl_alpnid2str(ALPN_h1), host, conn->remote_port, Curl_alpnid2str(nalpnid), hostd, nport); } } #endif return result; } /************************************************************* * Resolve the address of the server or proxy *************************************************************/ static CURLcode resolve_server(struct Curl_easy *data, struct connectdata *conn, bool *async) { CURLcode result = CURLE_OK; timediff_t timeout_ms = Curl_timeleft(data, NULL, TRUE); DEBUGASSERT(conn); DEBUGASSERT(data); /************************************************************* * Resolve the name of the server or proxy *************************************************************/ if(conn->bits.reuse) /* We're reusing the connection - no need to resolve anything, and idnconvert_hostname() was called already in create_conn() for the re-use case. */ |
︙ | ︙ | |||
3785 3786 3787 3788 3789 3790 3791 | result = setup_range(data); if(result) { DEBUGASSERT(conn->handler->done); /* we ignore the return code for the protocol-specific DONE */ (void)conn->handler->done(conn, result, FALSE); goto out; } | | | < | 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 | result = setup_range(data); if(result) { DEBUGASSERT(conn->handler->done); /* we ignore the return code for the protocol-specific DONE */ (void)conn->handler->done(conn, result, FALSE); goto out; } Curl_attach_connnection(data, conn); Curl_setup_transfer(data, -1, -1, FALSE, -1); } /* since we skip do_init() */ Curl_init_do(data, conn); goto out; } |
︙ | ︙ | |||
3873 3874 3875 3876 3877 3878 3879 | DEBUGASSERT(conn->user); DEBUGASSERT(conn->passwd); /* reuse_fresh is TRUE if we are told to use a new connection by force, but we only acknowledge this option if this is not a re-used connection already (which happens due to follow-location or during a HTTP | | | > | 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 | DEBUGASSERT(conn->user); DEBUGASSERT(conn->passwd); /* reuse_fresh is TRUE if we are told to use a new connection by force, but we only acknowledge this option if this is not a re-used connection already (which happens due to follow-location or during a HTTP authentication phase). CONNECT_ONLY transfers also refuse reuse. */ if((data->set.reuse_fresh && !data->state.this_is_a_follow) || data->set.connect_only) reuse = FALSE; else reuse = ConnectionExists(data, conn, &conn_temp, &force_reuse, &waitpipe); /* If we found a reusable connection that is now marked as in use, we may still want to open a new connection if we are pipelining. */ if(reuse && !force_reuse && IsPipeliningPossible(data, conn_temp)) { |
︙ | ︙ | |||
4166 4167 4168 4169 4170 4171 4172 | return result; } else if(result && conn) { /* We're not allowed to return failure with memory left allocated in the connectdata struct, free those here */ Curl_disconnect(data, conn, TRUE); } | | > | 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 | return result; } else if(result && conn) { /* We're not allowed to return failure with memory left allocated in the connectdata struct, free those here */ Curl_disconnect(data, conn, TRUE); } else if(!data->conn) /* FILE: transfers already have the connection attached */ Curl_attach_connnection(data, conn); return result; } /* * Curl_init_do() inits the readwrite session. This is inited each time (in |
︙ | ︙ |
Changes to jni/curl/lib/urlapi.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
63 64 65 66 67 68 69 | char *scratch; /* temporary scratch area */ long portnum; /* the numerical version */ }; #define DEFAULT_SCHEME "https" | < < < < < < | 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | char *scratch; /* temporary scratch area */ long portnum; /* the numerical version */ }; #define DEFAULT_SCHEME "https" static void free_urlhandle(struct Curl_URL *u) { free(u->scheme); free(u->user); free(u->password); free(u->options); free(u->host); |
︙ | ︙ | |||
137 138 139 140 141 142 143 | /* * strlen_url() returns the length of the given URL if the spaces within the * URL were properly URL encoded. * URL encoding should be skipped for host names, otherwise IDN resolution * will fail. */ | | | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | /* * strlen_url() returns the length of the given URL if the spaces within the * URL were properly URL encoded. * URL encoding should be skipped for host names, otherwise IDN resolution * will fail. */ static size_t strlen_url(const char *url, bool relative) { const unsigned char *ptr; size_t newlen = 0; bool left = TRUE; /* left side of the ? */ const unsigned char *host_sep = (const unsigned char *) url; if(!relative) |
︙ | ︙ | |||
179 180 181 182 183 184 185 | } /* strcpy_url() copies a url to a output buffer and URL-encodes the spaces in * the source URL accordingly. * URL encoding should be skipped for host names, otherwise IDN resolution * will fail. */ | | | 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | } /* strcpy_url() copies a url to a output buffer and URL-encodes the spaces in * the source URL accordingly. * URL encoding should be skipped for host names, otherwise IDN resolution * will fail. */ static void strcpy_url(char *output, const char *url, bool relative) { /* we must add this with whitespace-replacing */ bool left = TRUE; const unsigned char *iptr; char *optr = output; const unsigned char *host_sep = (const unsigned char *) url; |
︙ | ︙ | |||
264 265 266 267 268 269 270 | /* * Concatenate a relative URL to a base URL making it absolute. * URL-encodes any spaces. * The returned pointer must be freed by the caller unless NULL * (returns NULL on out of memory). */ | | | 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 | /* * Concatenate a relative URL to a base URL making it absolute. * URL-encodes any spaces. * The returned pointer must be freed by the caller unless NULL * (returns NULL on out of memory). */ static char *concat_url(const char *base, const char *relurl) { /*** TRY to append this new path to the old URL to the right of the host part. Oh crap, this is doomed to cause problems in the future... */ char *newest; |
︙ | ︙ | |||
388 389 390 391 392 393 394 | } /* If the new part contains a space, this is a mighty stupid redirect but we still make an effort to do "right". To the left of a '?' letter we replace each space with %20 while it is replaced with '+' on the right side of the '?' letter. */ | | | 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 | } /* If the new part contains a space, this is a mighty stupid redirect but we still make an effort to do "right". To the left of a '?' letter we replace each space with %20 while it is replaced with '+' on the right side of the '?' letter. */ newlen = strlen_url(useurl, !host_changed); urllen = strlen(url_clone); newest = malloc(urllen + 1 + /* possible slash */ newlen + 1 /* zero byte */); if(!newest) { |
︙ | ︙ | |||
410 411 412 413 414 415 416 | /* check if we need to append a slash */ if(('/' == useurl[0]) || (protsep && !*protsep) || ('?' == useurl[0])) ; else newest[urllen++]='/'; /* then append the new piece on the right side */ | | | 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 | /* check if we need to append a slash */ if(('/' == useurl[0]) || (protsep && !*protsep) || ('?' == useurl[0])) ; else newest[urllen++]='/'; /* then append the new piece on the right side */ strcpy_url(&newest[urllen], useurl, !host_changed); free(url_clone); return newest; } /* |
︙ | ︙ | |||
570 571 572 573 574 575 576 | return CURLUE_OK; } /* scan for byte values < 31 or 127 */ static CURLUcode junkscan(char *part) { | > | | | | | | | | < | 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 | return CURLUE_OK; } /* scan for byte values < 31 or 127 */ static CURLUcode junkscan(char *part) { if(part) { static const char badbytes[]={ /* */ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x7f, 0x00 /* zero terminate */ }; size_t n = strlen(part); size_t nfine = strcspn(part, badbytes); if(nfine != n) /* since we don't know which part is scanned, return a generic error code */ return CURLUE_MALFORMED_INPUT; } |
︙ | ︙ | |||
1079 1080 1081 1082 1083 1084 1085 | u->fragment? "#": "", u->fragment? u->fragment : ""); } if(!url) return CURLUE_OUT_OF_MEMORY; *part = url; return CURLUE_OK; | < > | 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 | u->fragment? "#": "", u->fragment? u->fragment : ""); } if(!url) return CURLUE_OUT_OF_MEMORY; *part = url; return CURLUE_OK; } default: ptr = NULL; break; } if(ptr) { *part = strdup(ptr); if(!*part) return CURLUE_OUT_OF_MEMORY; if(plusdecode) { /* convert + to space */ |
︙ | ︙ | |||
1248 1249 1250 1251 1252 1253 1254 | mv_urlhandle(handle2, u); else curl_url_cleanup(handle2); return result; } /* apply the relative part to create a new URL */ | | | 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 | mv_urlhandle(handle2, u); else curl_url_cleanup(handle2); return result; } /* apply the relative part to create a new URL */ redired_url = concat_url(oldurl, part); free(oldurl); if(!redired_url) return CURLUE_OUT_OF_MEMORY; /* now parse the new URL */ handle2 = curl_url(); if(!handle2) { |
︙ | ︙ |
Changes to jni/curl/lib/urldata.h.
︙ | ︙ | |||
125 126 127 128 129 130 131 | #include "smb.h" #include "wildcard.h" #include "multihandle.h" #ifdef HAVE_GSSAPI # ifdef HAVE_GSSGNU # include <gss.h> | | > | | > | > > > | | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | #include "smb.h" #include "wildcard.h" #include "multihandle.h" #ifdef HAVE_GSSAPI # ifdef HAVE_GSSGNU # include <gss.h> # elif defined HAVE_GSSAPI_GSSAPI_H # include <gssapi/gssapi.h> # else # include <gssapi.h> # endif # ifdef HAVE_GSSAPI_GSSAPI_GENERIC_H # include <gssapi/gssapi_generic.h> # endif #endif #ifdef HAVE_LIBSSH2_H #include <libssh2.h> #include <libssh2_sftp.h> #endif /* HAVE_LIBSSH2_H */ /* The "master buffer" is for HTTP pipelining */ #define MASTERBUF_SIZE 16384 /* Initial size of the buffer to store headers in, it'll be enlarged in case of need. */ #define HEADERSIZE 256 #define CURLEASY_MAGIC_NUMBER 0xc0dedbadU #define GOOD_EASY_HANDLE(x) \ ((x) && ((x)->magic == CURLEASY_MAGIC_NUMBER)) /* the type we use for storing a single boolean bit */ typedef unsigned int bit; #ifdef HAVE_GSSAPI /* Types needed for krb5-ftp connections */ struct krb5buffer { void *data; size_t size; size_t index; bit eof_flag:1; }; enum protection_level { PROT_NONE, /* first in list */ PROT_CLEAR, PROT_SAFE, PROT_CONFIDENTIAL, |
︙ | ︙ | |||
194 195 196 197 198 199 200 | struct ssl_backend_data; /* struct for data related to each SSL connection */ struct ssl_connect_data { /* Use ssl encrypted communications TRUE/FALSE, not necessarily using it atm but at least asked to or meaning to use it. See 'state' for the exact current state of the connection. */ | < > < < < < > > > > < < < < < < < > > > > | 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 | struct ssl_backend_data; /* struct for data related to each SSL connection */ struct ssl_connect_data { /* Use ssl encrypted communications TRUE/FALSE, not necessarily using it atm but at least asked to or meaning to use it. See 'state' for the exact current state of the connection. */ ssl_connection_state state; ssl_connect_state connecting_state; #if defined(USE_SSL) struct ssl_backend_data *backend; #endif bit use:1; }; struct ssl_primary_config { long version; /* what version the client wants to use */ long version_max; /* max supported version the client wants to use*/ char *CApath; /* certificate dir (doesn't work on windows) */ char *CAfile; /* certificate to verify peer against */ char *clientcert; char *random_file; /* path to file containing "random" data */ char *egdsocket; /* path to file containing the EGD daemon socket */ char *cipher_list; /* list of ciphers to use */ char *cipher_list13; /* list of TLS 1.3 cipher suites to use */ bit verifypeer:1; /* set TRUE if this is desired */ bit verifyhost:1; /* set TRUE if CN/SAN must match hostname */ bit verifystatus:1; /* set TRUE if certificate status must be checked */ bit sessionid:1; /* cache session IDs or not */ }; struct ssl_config_data { struct ssl_primary_config primary; long certverifyresult; /* result from the certificate verification */ char *CRLfile; /* CRL to check certificate revocation */ char *issuercert;/* optional issuer certificate filename */ curl_ssl_ctx_callback fsslctx; /* function to initialize ssl ctx */ void *fsslctxp; /* parameter for call back */ char *cert; /* client certificate file name */ char *cert_type; /* format for certificate (default: PEM)*/ char *key; /* private key file name */ char *key_type; /* format for private key (default: PEM) */ char *key_passwd; /* plain text private key password */ #ifdef USE_TLS_SRP char *username; /* TLS username (for, e.g., SRP) */ char *password; /* TLS password (for, e.g., SRP) */ enum CURL_TLSAUTH authtype; /* TLS authentication type (default SRP) */ #endif bit certinfo:1; /* gather lots of certificate info */ bit falsestart:1; bit enable_beast:1; /* allow this flaw for interoperability's sake*/ bit no_revoke:1; /* disable SSL certificate revocation checks */ }; struct ssl_general_config { size_t max_ssl_sessions; /* SSL session id cache size */ }; /* information stored about one single SSL session */ |
︙ | ︙ | |||
280 281 282 283 284 285 286 | char *user; char *passwd; #else char *nonce; char *cnonce; char *realm; int algo; | < > | | 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 | char *user; char *passwd; #else char *nonce; char *cnonce; char *realm; int algo; char *opaque; char *qop; char *algorithm; int nc; /* nounce count */ bit stale:1; /* set true for re-negotiation */ bit userhash:1; #endif }; typedef enum { NTLMSTATE_NONE, NTLMSTATE_TYPE1, NTLMSTATE_TYPE2, |
︙ | ︙ | |||
352 353 354 355 356 357 358 | }; #endif #ifdef USE_SPNEGO struct negotiatedata { /* When doing Negotiate (SPNEGO) auth, we first need to send a token and then validate the received one. */ | > | > | 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 | }; #endif #ifdef USE_SPNEGO struct negotiatedata { /* When doing Negotiate (SPNEGO) auth, we first need to send a token and then validate the received one. */ enum { GSS_AUTHNONE, GSS_AUTHRECV, GSS_AUTHSENT, GSS_AUTHDONE, GSS_AUTHSUCC } state; #ifdef HAVE_GSSAPI OM_uint32 status; gss_ctx_id_t context; gss_name_t spn; gss_buffer_desc output_token; #else #ifdef USE_WINDOWS_SSPI |
︙ | ︙ | |||
374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 | SEC_WINNT_AUTH_IDENTITY *p_identity; TCHAR *spn; size_t token_max; BYTE *output_token; size_t output_token_length; #endif #endif }; #endif /* * Boolean values that concerns this connection. */ struct ConnectBits { /* always modify bits.close with the connclose() and connkeep() macros! */ | > > > > < < < < < < < < < < | < < < | < < > > > > > > > > > > > > > > > > | | < | | | | | | | | | | | | | | | | | < | | | | | | | | < | | | | | | | < | | | < < | > | 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 | SEC_WINNT_AUTH_IDENTITY *p_identity; TCHAR *spn; size_t token_max; BYTE *output_token; size_t output_token_length; #endif #endif bool noauthpersist; bool havenoauthpersist; bool havenegdata; bool havemultiplerequests; }; #endif /* * Boolean values that concerns this connection. */ struct ConnectBits { /* always modify bits.close with the connclose() and connkeep() macros! */ bool proxy_ssl_connected[2]; /* TRUE when SSL initialization for HTTPS proxy is complete */ bool tcpconnect[2]; /* the TCP layer (or similar) is connected, this is set the first time on the first connect function call */ bit close:1; /* if set, we close the connection after this request */ bit reuse:1; /* if set, this is a re-used connection */ bit conn_to_host:1; /* if set, this connection has a "connect to host" that overrides the host in the URL */ bit conn_to_port:1; /* if set, this connection has a "connect to port" that overrides the port in the URL (remote port) */ bit proxy:1; /* if set, this transfer is done through a proxy - any type */ bit httpproxy:1; /* if set, this transfer is done through a http proxy */ bit socksproxy:1; /* if set, this transfer is done through a socks proxy */ bit user_passwd:1; /* do we use user+password for this connection? */ bit proxy_user_passwd:1; /* user+password for the proxy? */ bit ipv6_ip:1; /* we communicate with a remote site specified with pure IPv6 IP address */ bit ipv6:1; /* we communicate with a site using an IPv6 address */ bit do_more:1; /* this is set TRUE if the ->curl_do_more() function is supposed to be called, after ->curl_do() */ bit protoconnstart:1;/* the protocol layer has STARTED its operation after the TCP layer connect */ bit retry:1; /* this connection is about to get closed and then re-attempted at another connection. */ bit tunnel_proxy:1; /* if CONNECT is used to "tunnel" through the proxy. This is implicit when SSL-protocols are used through proxies, but can also be enabled explicitly by apps */ bit authneg:1; /* TRUE when the auth phase has started, which means that we are creating a request with an auth header, but it is not the final request in the auth negotiation. */ bit rewindaftersend:1;/* TRUE when the sending couldn't be stopped even though it will be discarded. When the whole send operation is done, we must call the data rewind callback. */ bit ftp_use_epsv:1; /* As set with CURLOPT_FTP_USE_EPSV, but if we find out EPSV doesn't work we disable it for the forthcoming requests */ bit ftp_use_eprt:1; /* As set with CURLOPT_FTP_USE_EPRT, but if we find out EPRT doesn't work we disable it for the forthcoming requests */ bit ftp_use_data_ssl:1; /* Enabled SSL for the data connection */ bit netrc:1; /* name+password provided by netrc */ bit userpwd_in_url:1; /* name+password found in url */ bit stream_was_rewound:1; /* The stream was rewound after a request read past the end of its response byte boundary */ bit proxy_connect_closed:1; /* TRUE if a proxy disconnected the connection in a CONNECT request with auth, so that libcurl should reconnect and continue. */ bit bound:1; /* set true if bind() has already been done on this socket/ connection */ bit type_set:1; /* type= was used in the URL */ bit multiplex:1; /* connection is multiplexed */ bit tcp_fastopen:1; /* use TCP Fast Open */ bit tls_enable_npn:1; /* TLS NPN extension? */ bit tls_enable_alpn:1; /* TLS ALPN extension? */ bit socksproxy_connecting:1; /* connecting through a socks proxy */ bit connect_only:1; }; struct hostname { char *rawalloc; /* allocated "raw" version of the name */ char *encalloc; /* allocated IDN-encoded version of the name */ char *name; /* name to use internally, might be encoded, might be raw */ const char *dispname; /* name to display, as 'name' might be encoded */ |
︙ | ︙ | |||
472 473 474 475 476 477 478 | might still be data to write */ #define KEEP_RECV_PAUSE (1<<4) /* reading is paused */ #define KEEP_SEND_PAUSE (1<<5) /* writing is paused */ #define KEEP_RECVBITS (KEEP_RECV | KEEP_RECV_HOLD | KEEP_RECV_PAUSE) #define KEEP_SENDBITS (KEEP_SEND | KEEP_SEND_HOLD | KEEP_SEND_PAUSE) | < < > | 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 | might still be data to write */ #define KEEP_RECV_PAUSE (1<<4) /* reading is paused */ #define KEEP_SEND_PAUSE (1<<5) /* writing is paused */ #define KEEP_RECVBITS (KEEP_RECV | KEEP_RECV_HOLD | KEEP_RECV_PAUSE) #define KEEP_SENDBITS (KEEP_SEND | KEEP_SEND_HOLD | KEEP_SEND_PAUSE) struct Curl_async { char *hostname; int port; struct Curl_dns_entry *dns; int status; /* if done is TRUE, this is the status from the callback */ void *os_specific; /* 'struct thread_data' for Windows */ bit done:1; /* set TRUE when the lookup is complete */ }; #define FIRSTSOCKET 0 #define SECONDARYSOCKET 1 /* These function pointer types are here only to allow easier typecasting within the source when we need to cast between data pointers (such as NULL) |
︙ | ︙ | |||
537 538 539 540 541 542 543 | * these members were on the connectdata struct but since a conn struct may * now be shared between different Curl_easys, we store connection-specific * data here. This struct only keeps stuff that's interesting for *this* * request, as it will be cleared between multiple ones */ struct SingleRequest { curl_off_t size; /* -1 if unknown at this point */ | < < < < | | | | > | | < < < < < < < < < < < < < | | | | | > > > > > > > > > | | | | < | | | < < < < | 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 | * these members were on the connectdata struct but since a conn struct may * now be shared between different Curl_easys, we store connection-specific * data here. This struct only keeps stuff that's interesting for *this* * request, as it will be cleared between multiple ones */ struct SingleRequest { curl_off_t size; /* -1 if unknown at this point */ curl_off_t maxdownload; /* in bytes, the maximum amount of data to fetch, -1 means unlimited */ curl_off_t bytecount; /* total number of bytes read */ curl_off_t writebytecount; /* number of bytes written */ curl_off_t headerbytecount; /* only count received headers */ curl_off_t deductheadercount; /* this amount of bytes doesn't count when we check if anything has been transferred at the end of a connection. We use this counter to make only a 100 reply (without a following second response code) result in a CURLE_GOT_NOTHING error code */ struct curltime start; /* transfer started at this time */ struct curltime now; /* current time */ enum { HEADER_NORMAL, /* no bad header at all */ HEADER_PARTHEADER, /* part of the chunk is a bad header, the rest is normal data */ HEADER_ALLBAD /* all was believed to be header */ } badheader; /* the header was deemed bad and will be written as body */ int headerline; /* counts header lines to better track the first one */ char *hbufp; /* points at *end* of header line */ size_t hbuflen; char *str; /* within buf */ char *str_start; /* within buf */ char *end_ptr; /* within buf */ char *p; /* within headerbuff */ curl_off_t offset; /* possible resume offset read from the Content-Range: header */ int httpcode; /* error code from the 'HTTP/1.? XXX' or 'RTSP/1.? XXX' line */ struct curltime start100; /* time stamp to wait for the 100 code from */ enum expect100 exp100; /* expect 100 continue state */ enum upgrade101 upgr101; /* 101 upgrade state */ struct contenc_writer_s *writer_stack; /* Content unencoding stack. */ /* See sec 3.5, RFC2616. */ time_t timeofdoc; long bodywrites; char *buf; int keepon; char *location; /* This points to an allocated version of the Location: header data */ char *newurl; /* Set to the new URL to use when a redirect or a retry is wanted */ /* 'upload_present' is used to keep a byte counter of how much data there is still left in the buffer, aimed for upload. */ ssize_t upload_present; /* 'upload_fromhere' is used as a read-pointer when we uploaded parts of a buffer, so the next read should read from where this pointer points to, and the 'upload_present' contains the number of bytes available at this position */ char *upload_fromhere; void *protop; /* Allocated protocol-specific data. Each protocol handler makes sure this points to data it needs. */ struct dohdata doh; /* DoH specific data for this request */ bit header:1; /* incoming data has HTTP header */ bit content_range:1; /* set TRUE if Content-Range: was found */ bit upload_done:1; /* set to TRUE when doing chunked transfer-encoding upload and we're uploading the last chunk */ bit ignorebody:1; /* we read a response-body but we ignore it! */ bit ignorecl:1; /* This HTTP response has no body so we ignore the Content-Length: header */ bit chunk:1; /* if set, this is a chunked transfer-encoding */ bit upload_chunky:1; /* set TRUE if we are doing chunked transfer-encoding on upload */ bit getheader:1; /* TRUE if header parsing is wanted */ bit forbidchunk:1; /* used only to explicitly forbid chunk-upload for specific upload buffers. See readmoredata() in http.c for details. */ }; /* * Specific protocol handler. */ struct Curl_handler { |
︙ | ︙ | |||
771 772 773 774 775 776 777 | struct http_connect_state { char connect_buffer[CONNECT_BUFFER_SIZE]; int perline; /* count bytes per line */ int keepon; char *line_start; char *ptr; /* where to store more data */ curl_off_t cl; /* size of content to read and ignore */ | < > | | 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 | struct http_connect_state { char connect_buffer[CONNECT_BUFFER_SIZE]; int perline; /* count bytes per line */ int keepon; char *line_start; char *ptr; /* where to store more data */ curl_off_t cl; /* size of content to read and ignore */ enum { TUNNEL_INIT, /* init/default/no tunnel state */ TUNNEL_CONNECT, /* CONNECT has been sent off */ TUNNEL_COMPLETE /* CONNECT response received completely */ } tunnel_state; bit chunked_encoding:1; bit close_connection:1; }; /* * The connectdata struct contains all fields and variables that should be * unique for an entire connection. */ struct connectdata { |
︙ | ︙ | |||
894 895 896 897 898 899 900 | struct ssl_connect_data ssl[2]; /* this is for ssl-stuff */ struct ssl_connect_data proxy_ssl[2]; /* this is for proxy ssl-stuff */ #ifdef USE_SSL void *ssl_extra; /* separately allocated backend-specific data */ #endif struct ssl_primary_config ssl_config; struct ssl_primary_config proxy_ssl_config; | < < | 885 886 887 888 889 890 891 892 893 894 895 896 897 898 | struct ssl_connect_data ssl[2]; /* this is for ssl-stuff */ struct ssl_connect_data proxy_ssl[2]; /* this is for proxy ssl-stuff */ #ifdef USE_SSL void *ssl_extra; /* separately allocated backend-specific data */ #endif struct ssl_primary_config ssl_config; struct ssl_primary_config proxy_ssl_config; struct ConnectBits bits; /* various state-flags for this connection */ /* connecttime: when connect() is called on the current IP address. Used to be able to track when to move on to try next IP - but only when the multi interface is used. */ struct curltime connecttime; /* The two fields below get set in Curl_connecthost */ |
︙ | ︙ | |||
942 943 944 945 946 947 948 | char *host; char *cookiehost; char *rtsp_transport; char *te; /* TE: request header */ } allocptr; #ifdef HAVE_GSSAPI | | < < < < < < < < | 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 | char *host; char *cookiehost; char *rtsp_transport; char *te; /* TE: request header */ } allocptr; #ifdef HAVE_GSSAPI bit sec_complete:1; /* if Kerberos is enabled for this connection */ enum protection_level command_prot; enum protection_level data_prot; enum protection_level request_data_prot; size_t buffer_size; struct krb5buffer in_buffer; void *app_data; const struct Curl_sec_client_mech *mech; struct sockaddr_in local_addr; #endif #if defined(USE_KERBEROS5) /* Consider moving some of the above GSS-API */ struct kerberos5data krb5; /* variables into the structure definition, */ #endif /* however, some of them are ftp specific. */ struct curl_llist send_pipe; /* List of handles waiting to send on this pipeline */ struct curl_llist recv_pipe; /* List of handles waiting to read their responses on this pipeline */ char *master_buffer; /* The master buffer allocated on-demand; used for pipelining. */ size_t read_pos; /* Current read position in the master buffer */ |
︙ | ︙ | |||
998 999 1000 1001 1002 1003 1004 | curl_socket_t ntlm_auth_hlpr_socket; pid_t ntlm_auth_hlpr_pid; char *challenge_header; char *response_header; #endif #endif | > > > > | | 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 | curl_socket_t ntlm_auth_hlpr_socket; pid_t ntlm_auth_hlpr_pid; char *challenge_header; char *response_header; #endif #endif #ifdef USE_SPNEGO struct negotiatedata negotiate; /* state data for host Negotiate auth */ struct negotiatedata proxyneg; /* state data for proxy Negotiate auth */ #endif /* data used for the asynch name resolve callback */ struct Curl_async async; /* These three are used for chunked-encoding trailer support */ char *trailer; /* allocated buffer to store trailer in */ int trlMax; /* allocated buffer size */ int trlPos; /* index of where to store data */ |
︙ | ︙ | |||
1041 1042 1043 1044 1045 1046 1047 | int localportrange; struct http_connect_state *connect_state; /* for HTTP CONNECT */ struct connectbundle *bundle; /* The bundle we are member of */ int negnpn; /* APLN or NPN TLS negotiated protocol, CURL_HTTP_VERSION* */ #ifdef USE_UNIX_SOCKETS char *unix_domain_socket; | | > > > > > > > > < < | | < < < > > > < < > > < | 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 | int localportrange; struct http_connect_state *connect_state; /* for HTTP CONNECT */ struct connectbundle *bundle; /* The bundle we are member of */ int negnpn; /* APLN or NPN TLS negotiated protocol, CURL_HTTP_VERSION* */ #ifdef USE_UNIX_SOCKETS char *unix_domain_socket; bit abstract_unix_socket:1; #endif bit tls_upgraded:1; /* the two following *_inuse fields are only flags, not counters in any way. If TRUE it means the channel is in use, and if FALSE it means the channel is up for grabs by one. */ bit readchannel_inuse:1; /* whether the read channel is in use by an easy handle */ bit writechannel_inuse:1; /* whether the write channel is in use by an easy handle */ }; /* The end of connectdata. */ /* * Struct to keep statistical and informational data. * All variables in this struct must be initialized/reset in Curl_initinfo(). */ struct PureInfo { int httpcode; /* Recent HTTP, FTP, RTSP or SMTP response code */ int httpproxycode; /* response code from proxy when received separate */ int httpversion; /* the http version number X.Y = X*10+Y */ time_t filetime; /* If requested, this is might get set. Set to -1 if the time was unretrievable. */ curl_off_t header_size; /* size of read header(s) in bytes */ curl_off_t request_size; /* the amount of bytes sent in the request(s) */ unsigned long proxyauthavail; /* what proxy auth types were announced */ unsigned long httpauthavail; /* what host auth types were announced */ long numconnects; /* how many new connection did libcurl created */ char *contenttype; /* the content type of the object */ char *wouldredirect; /* URL this would've been redirected to if asked to */ /* PureInfo members 'conn_primary_ip', 'conn_primary_port', 'conn_local_ip' and, 'conn_local_port' are copied over from the connectdata struct in order to allow curl_easy_getinfo() to return this information even when the session handle is no longer associated with a connection, and also allow curl_easy_reset() to clear this information from the session handle without disturbing information which is still alive, and that might be reused, in the connection cache. */ char conn_primary_ip[MAX_IPADR_LEN]; long conn_primary_port; char conn_local_ip[MAX_IPADR_LEN]; long conn_local_port; const char *conn_scheme; unsigned int conn_protocol; struct curl_certinfo certs; /* info about the certs, only populated in OpenSSL builds. Asked for with CURLOPT_CERTINFO / CURLINFO_CERTINFO */ bit timecond:1; /* set to TRUE if the time condition didn't match, which thus made the document NOT get fetched */ }; struct Progress { time_t lastshow; /* time() of the last displayed progress meter or NULL to force redraw at next call */ curl_off_t size_dl; /* total expected size */ curl_off_t size_ul; /* total expected size */ curl_off_t downloaded; /* transferred so far */ curl_off_t uploaded; /* transferred so far */ curl_off_t current_speed; /* uses the currently fastest transfer */ int width; /* screen width at download start */ int flags; /* see progress.h */ time_t timespent; curl_off_t dlspeed; curl_off_t ulspeed; time_t t_nslookup; time_t t_connect; time_t t_appconnect; time_t t_pretransfer; time_t t_starttransfer; time_t t_redirect; struct curltime start; struct curltime t_startsingle; struct curltime t_startop; struct curltime t_acceptdata; /* upload speed limit */ struct curltime ul_limit_start; curl_off_t ul_limit_size; /* download speed limit */ struct curltime dl_limit_start; curl_off_t dl_limit_size; #define CURR_TIME (5 + 1) /* 6 entries for 5 seconds */ curl_off_t speeder[ CURR_TIME ]; struct curltime speeder_time[ CURR_TIME ]; int speeder_c; bit callback:1; /* set when progress callback is used */ bit is_t_startransfer_set:1; }; typedef enum { HTTPREQ_NONE, /* first in list */ HTTPREQ_GET, HTTPREQ_POST, HTTPREQ_POST_FORM, /* we make a difference internally */ HTTPREQ_POST_MIME, /* we make a difference internally */ HTTPREQ_PUT, HTTPREQ_HEAD, HTTPREQ_OPTIONS, HTTPREQ_LAST /* last in list */ } Curl_HttpReq; typedef enum { RTSPREQ_NONE, /* first in list */ RTSPREQ_OPTIONS, RTSPREQ_DESCRIBE, |
︙ | ︙ | |||
1183 1184 1185 1186 1187 1188 1189 | struct auth { unsigned long want; /* Bitmask set to the authentication methods wanted by app (with CURLOPT_HTTPAUTH or CURLOPT_PROXYAUTH). */ unsigned long picked; unsigned long avail; /* Bitmask for what the server reports to support for this resource */ | | | | | | | | 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 | struct auth { unsigned long want; /* Bitmask set to the authentication methods wanted by app (with CURLOPT_HTTPAUTH or CURLOPT_PROXYAUTH). */ unsigned long picked; unsigned long avail; /* Bitmask for what the server reports to support for this resource */ bit done:1; /* TRUE when the auth phase is done and ready to do the *actual* request */ bit multipass:1; /* TRUE if this is not yet authenticated but within the auth multipass negotiation */ bit iestyle:1; /* TRUE if digest should be done IE-style or FALSE if it should be RFC compliant */ }; struct Curl_http2_dep { struct Curl_http2_dep *next; struct Curl_easy *data; }; |
︙ | ︙ | |||
1259 1260 1261 1262 1263 1264 1265 | }; struct UrlState { /* Points to the connection cache */ struct conncache *conn_cache; | < < < < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < > > > > > > > > > > > > > > > > > > > > > > > > > > < < > > | > | 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 | }; struct UrlState { /* Points to the connection cache */ struct conncache *conn_cache; /* buffers to store authentication data in, as parsed from input options */ struct curltime keeps_speed; /* for the progress meter really */ struct connectdata *lastconnect; /* The last connection, NULL if undefined */ char *headerbuff; /* allocated buffer to store headers in */ size_t headersize; /* size of the allocation */ char *buffer; /* download buffer */ char *ulbuf; /* allocated upload buffer or NULL */ curl_off_t current_speed; /* the ProgressShow() function sets this, bytes / second */ char *first_host; /* host name of the first (not followed) request. if set, this should be the host name that we will sent authorization to, no else. Used to make Location: following not keep sending user+password... This is strdup() data. */ int first_remote_port; /* remote port of the first (not followed) request */ struct curl_ssl_session *session; /* array of 'max_ssl_sessions' size */ long sessionage; /* number of the most recent session */ unsigned int tempcount; /* number of entries in use in tempwrite, 0 - 3 */ struct tempbuf tempwrite[3]; /* BOTH, HEADER, BODY */ char *scratch; /* huge buffer[set.buffer_size*2] for upload CRLF replacing */ int os_errno; /* filled in with errno whenever an error occurs */ #ifdef HAVE_SIGNAL /* storage for the previous bag^H^H^HSIGPIPE signal handler :-) */ void (*prev_signal)(int sig); #endif struct digestdata digest; /* state data for host Digest auth */ struct digestdata proxydigest; /* state data for proxy Digest auth */ struct auth authhost; /* auth details for host */ struct auth authproxy; /* auth details for proxy */ void *resolver; /* resolver state, if it is used in the URL state - ares_channel f.e. */ #if defined(USE_OPENSSL) /* void instead of ENGINE to avoid bleeding OpenSSL into this header */ void *engine; #endif /* USE_OPENSSL */ struct curltime expiretime; /* set this with Curl_expire() only */ struct Curl_tree timenode; /* for the splay stuff */ struct curl_llist timeoutlist; /* list of pending timeouts */ struct time_node expires[EXPIRE_LAST]; /* nodes for each expire type */ /* a place to store the most recently set FTP entrypath */ char *most_recent_ftp_entrypath; int httpversion; /* the lowest HTTP version*10 reported by any server involved in this request */ #if !defined(WIN32) && !defined(MSDOS) && !defined(__EMX__) && \ !defined(__SYMBIAN32__) /* do FTP line-end conversions on most platforms */ #define CURL_DO_LINEEND_CONV /* for FTP downloads: track CRLF sequences that span blocks */ bit prev_block_had_trailing_cr:1; /* for FTP downloads: how many CRLFs did we converted to LFs? */ curl_off_t crlf_conversions; #endif char *range; /* range, if used. See README for detailed specification on this syntax. */ curl_off_t resume_from; /* continue [ftp] transfer from here */ /* This RTSP state information survives requests and connections */ long rtsp_next_client_CSeq; /* the session's next client CSeq */ long rtsp_next_server_CSeq; /* the session's next server CSeq */ long rtsp_CSeq_recv; /* most recent CSeq received */ curl_off_t infilesize; /* size of file to upload, -1 means unknown. Copied from set.filesize at start of operation */ size_t drain; /* Increased when this stream has data to read, even if its socket is not necessarily is readable. Decreased when checked. */ curl_read_callback fread_func; /* read callback/function */ void *in; /* CURLOPT_READDATA */ struct Curl_easy *stream_depends_on; int stream_weight; CURLU *uh; /* URL handle for the current parsed URL */ struct urlpieces up; #ifndef CURL_DISABLE_HTTP size_t trailers_bytes_sent; Curl_send_buffer *trailers_buf; /* a buffer containing the compiled trailing headers */ #endif trailers_state trailers_state; /* whether we are sending trailers and what stage are we at */ #ifdef CURLDEBUG bit conncache_lock:1; #endif /* when curl_easy_perform() is called, the multi handle is "owned" by the easy handle so curl_easy_cleanup() on such an easy handle will also close the multi handle! */ bit multi_owned_by_easy:1; bit this_is_a_follow:1; /* this is a followed Location: request */ bit refused_stream:1; /* this was refused, try again */ bit errorbuf:1; /* Set to TRUE if the error buffer is already filled in. This must be set to FALSE every time _easy_perform() is called. */ bit allow_port:1; /* Is set.use_port allowed to take effect or not. This is always set TRUE when curl_easy_perform() is called. */ bit authproblem:1; /* TRUE if there's some problem authenticating */ /* set after initial USER failure, to prevent an authentication loop */ bit ftp_trying_alternative:1; bit wildcardmatch:1; /* enable wildcard matching */ bit expect100header:1; /* TRUE if we added Expect: 100-continue */ bit use_range:1; bit rangestringalloc:1; /* the range string is malloc()'ed */ bit done:1; /* set to FALSE when Curl_init_do() is called and set to TRUE when multi_done() is called, to prevent multi_done() to get invoked twice when the multi interface is used. */ bit stream_depends_e:1; /* set or don't set the Exclusive bit */ }; /* * This 'DynamicStatic' struct defines dynamic states that actually change * values in the 'UserDefined' area, which MUST be taken into consideration * if the UserDefined struct is cloned or similar. You can probably just * copy these, but each one indicate a special action on other data. */ struct DynamicStatic { char *url; /* work URL, copied from UserDefined */ char *referer; /* referer string */ struct curl_slist *cookielist; /* list of cookie files set by curl_easy_setopt(COOKIEFILE) calls */ struct curl_slist *resolve; /* set to point to the set.resolve list when this should be dealt with in pretransfer */ bit url_alloc:1; /* URL string is malloc()'ed */ bit referer_alloc:1; /* referer string is malloc()ed */ bit wildcard_resolve:1; /* Set to true if any resolve change is a wildcard */ }; /* * This 'UserDefined' struct must only contain data that is set once to go * for many (perhaps) independent connections. Values that are generated or * calculated internally for the "session handle" MUST be defined within the * 'struct UrlState' instead. The only exceptions MUST note the changes in |
︙ | ︙ | |||
1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 | #endif STRING_BEARER, /* <bearer>, if used */ #ifdef USE_UNIX_SOCKETS STRING_UNIX_SOCKET_PATH, /* path to Unix socket, if used */ #endif STRING_TARGET, /* CURLOPT_REQUEST_TARGET */ STRING_DOH, /* CURLOPT_DOH_URL */ /* -- end of zero-terminated strings -- */ STRING_LASTZEROTERMINATED, /* -- below this are pointers to binary data that cannot be strdup'ed. --- */ STRING_COPYPOSTFIELDS, /* if POST, set the fields' values here */ | > > > | 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 | #endif STRING_BEARER, /* <bearer>, if used */ #ifdef USE_UNIX_SOCKETS STRING_UNIX_SOCKET_PATH, /* path to Unix socket, if used */ #endif STRING_TARGET, /* CURLOPT_REQUEST_TARGET */ STRING_DOH, /* CURLOPT_DOH_URL */ #ifdef USE_ALTSVC STRING_ALTSVC, /* CURLOPT_ALTSVC */ #endif /* -- end of zero-terminated strings -- */ STRING_LASTZEROTERMINATED, /* -- below this are pointers to binary data that cannot be strdup'ed. --- */ STRING_COPYPOSTFIELDS, /* if POST, set the fields' values here */ |
︙ | ︙ | |||
1535 1536 1537 1538 1539 1540 1541 | unsigned long socks5auth;/* kind of SOCKS5 authentication to use (bitmask) */ long followlocation; /* as in HTTP Location: */ long maxredirs; /* maximum no. of http(s) redirects to follow, set to -1 for infinity */ int keep_post; /* keep POSTs as POSTs after a 30x request; each bit represents a request, from 301 to 303 */ | < < < < | 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 | unsigned long socks5auth;/* kind of SOCKS5 authentication to use (bitmask) */ long followlocation; /* as in HTTP Location: */ long maxredirs; /* maximum no. of http(s) redirects to follow, set to -1 for infinity */ int keep_post; /* keep POSTs as POSTs after a 30x request; each bit represents a request, from 301 to 303 */ void *postfields; /* if POST, set the fields' values here */ curl_seek_callback seek_func; /* function that seeks the input */ curl_off_t postfieldsize; /* if POST, this might have a size to use instead of strlen(), and then the data *may* be binary (contain zero bytes) */ unsigned short localport; /* local port number to bind to */ int localportrange; /* number of additional port numbers to test in case the 'localport' one can't be bind()ed */ curl_write_callback fwrite_func; /* function that stores the output */ curl_write_callback fwrite_header; /* function that stores headers */ curl_write_callback fwrite_rtp; /* function that stores interleaved RTP */ curl_read_callback fread_func_set; /* function that reads the input */ curl_progress_callback fprogress; /* OLD and deprecated progress callback */ curl_xferinfo_callback fxferinfo; /* progress callback */ curl_debug_callback fdebug; /* function that write informational data */ curl_ioctl_callback ioctl_func; /* function for I/O control */ curl_sockopt_callback fsockopt; /* function for setting socket options */ void *sockopt_client; /* pointer to pass to the socket options callback */ curl_opensocket_callback fopensocket; /* function for checking/translating |
︙ | ︙ | |||
1582 1583 1584 1585 1586 1587 1588 | void *ioctl_client; /* pointer to pass to the ioctl callback */ long timeout; /* in milliseconds, 0 means no timeout */ long connecttimeout; /* in milliseconds, 0 means no timeout */ long accepttimeout; /* in milliseconds, 0 means no timeout */ long happy_eyeballs_timeout; /* in milliseconds, 0 is a valid value */ long server_response_timeout; /* in milliseconds, 0 means no timeout */ long tftp_blksize; /* in bytes, 0 means use default */ | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < > < < < < < < < | < < < < < < < < < < < < < < < < < < < < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 | void *ioctl_client; /* pointer to pass to the ioctl callback */ long timeout; /* in milliseconds, 0 means no timeout */ long connecttimeout; /* in milliseconds, 0 means no timeout */ long accepttimeout; /* in milliseconds, 0 means no timeout */ long happy_eyeballs_timeout; /* in milliseconds, 0 is a valid value */ long server_response_timeout; /* in milliseconds, 0 means no timeout */ long tftp_blksize; /* in bytes, 0 means use default */ curl_off_t filesize; /* size of file to upload, -1 means unknown */ long low_speed_limit; /* bytes/second */ long low_speed_time; /* number of seconds */ curl_off_t max_send_speed; /* high speed limit in bytes/second for upload */ curl_off_t max_recv_speed; /* high speed limit in bytes/second for download */ curl_off_t set_resume_from; /* continue [ftp] transfer from here */ struct curl_slist *headers; /* linked list of extra headers */ struct curl_slist *proxyheaders; /* linked list of extra CONNECT headers */ struct curl_httppost *httppost; /* linked list of old POST data */ curl_mimepart mimepost; /* MIME/POST data. */ struct curl_slist *quote; /* after connection is established */ struct curl_slist *postquote; /* after the transfer */ struct curl_slist *prequote; /* before the transfer, after type */ struct curl_slist *source_quote; /* 3rd party quote */ struct curl_slist *source_prequote; /* in 3rd party transfer mode - before the transfer on source host */ struct curl_slist *source_postquote; /* in 3rd party transfer mode - after the transfer on source host */ struct curl_slist *telnet_options; /* linked list of telnet options */ struct curl_slist *resolve; /* list of names to add/remove from DNS cache */ struct curl_slist *connect_to; /* list of host:port mappings to override the hostname and port to connect to */ curl_TimeCond timecondition; /* kind of time/date comparison */ time_t timevalue; /* what time to compare with */ Curl_HttpReq httpreq; /* what kind of HTTP request (if any) is this */ long httpversion; /* when non-zero, a specific HTTP version requested to be used in the library's request(s) */ struct ssl_config_data ssl; /* user defined SSL stuff */ struct ssl_config_data proxy_ssl; /* user defined SSL stuff for proxy */ struct ssl_general_config general_ssl; /* general user defined SSL stuff */ curl_proxytype proxytype; /* what kind of proxy that is in use */ long dns_cache_timeout; /* DNS cache timeout */ long buffer_size; /* size of receive buffer to use */ size_t upload_buffer_size; /* size of upload buffer to use, keep it >= CURL_MAX_WRITE_SIZE */ void *private_data; /* application-private data */ struct curl_slist *http200aliases; /* linked list of aliases for http200 */ long ipver; /* the CURL_IPRESOLVE_* defines in the public header file 0 - whatever, 1 - v2, 2 - v6 */ curl_off_t max_filesize; /* Maximum file size to download */ curl_ftpfile ftp_filemethod; /* how to get to a file when FTP is used */ int ftp_create_missing_dirs; /* 1 - create directories that don't exist 2 - the same but also allow MKD to fail once */ curl_sshkeycallback ssh_keyfunc; /* key matching callback */ void *ssh_keyfunc_userp; /* custom pointer to callback */ enum CURL_NETRC_OPTION use_netrc; /* defined in include/curl.h */ curl_usessl use_ssl; /* if AUTH TLS is to be attempted etc, for FTP or IMAP or POP3 or others! */ curl_ftpauth ftpsslauth; /* what AUTH XXX to be attempted */ curl_ftpccc ftp_ccc; /* FTP CCC options */ long new_file_perms; /* Permissions to use when creating remote files */ long new_directory_perms; /* Permissions to use when creating remote dirs */ long ssh_auth_types; /* allowed SSH auth types */ char *str[STRING_LAST]; /* array of strings, pointing to allocated memory */ unsigned int scope_id; /* Scope id for IPv6 */ long allowed_protocols; long redir_protocols; struct curl_slist *mail_rcpt; /* linked list of mail recipients */ /* Common RTSP header options */ Curl_RtspReq rtspreq; /* RTSP request type */ long rtspversion; /* like httpversion, for RTSP */ curl_chunk_bgn_callback chunk_bgn; /* called before part of transfer starts */ curl_chunk_end_callback chunk_end; /* called after part transferring stopped */ curl_fnmatch_callback fnmatch; /* callback to decide which file corresponds to pattern (e.g. if WILDCARDMATCH is on) */ void *fnmatch_data; long gssapi_delegation; /* GSS-API credential delegation, see the documentation of CURLOPT_GSSAPI_DELEGATION */ long tcp_keepidle; /* seconds in idle before sending keepalive probe */ long tcp_keepintvl; /* seconds between TCP keepalive probes */ size_t maxconnects; /* Max idle connections in the connection cache */ long expect_100_timeout; /* in milliseconds */ struct Curl_easy *stream_depends_on; int stream_weight; struct Curl_http2_dep *stream_dependents; curl_resolver_start_callback resolver_start; /* optional callback called before resolver start */ void *resolver_start_client; /* pointer to pass to resolver start callback */ long upkeep_interval_ms; /* Time between calls for connection upkeep. */ multidone_func fmultidone; struct Curl_easy *dohfor; /* this is a DoH request for that transfer */ CURLU *uh; /* URL handle for the current parsed URL */ void *trailer_data; /* pointer to pass to trailer data callback */ curl_trailer_callback trailer_callback; /* trailing data callback */ bit is_fread_set:1; /* has read callback been set to non-NULL? */ bit is_fwrite_set:1; /* has write callback been set to non-NULL? */ bit free_referer:1; /* set TRUE if 'referer' points to a string we allocated */ bit tftp_no_options:1; /* do not send TFTP options requests */ bit sep_headers:1; /* handle host and proxy headers separately */ bit cookiesession:1; /* new cookie session? */ bit crlf:1; /* convert crlf on ftp upload(?) */ bit strip_path_slash:1; /* strip off initial slash from path */ bit ssh_compression:1; /* enable SSH compression */ /* Here follows boolean settings that define how to behave during this session. They are STATIC, set by libcurl users or at least initially and they don't change during operations. */ bit get_filetime:1; /* get the time and get of the remote file */ bit tunnel_thru_httpproxy:1; /* use CONNECT through a HTTP proxy */ bit prefer_ascii:1; /* ASCII rather than binary */ bit ftp_append:1; /* append, not overwrite, on upload */ bit ftp_list_only:1; /* switch FTP command for listing directories */ bit ftp_use_port:1; /* use the FTP PORT command */ bit hide_progress:1; /* don't use the progress meter */ bit http_fail_on_error:1; /* fail on HTTP error codes >= 400 */ bit http_keep_sending_on_error:1; /* for HTTP status codes >= 300 */ bit http_follow_location:1; /* follow HTTP redirects */ bit http_transfer_encoding:1; /* request compressed HTTP transfer-encoding */ bit allow_auth_to_other_hosts:1; bit include_header:1; /* include received protocol headers in data output */ bit http_set_referer:1; /* is a custom referer used */ bit http_auto_referer:1; /* set "correct" referer when following location: */ bit opt_no_body:1; /* as set with CURLOPT_NOBODY */ bit upload:1; /* upload request */ bit verbose:1; /* output verbosity */ bit krb:1; /* Kerberos connection requested */ bit reuse_forbid:1; /* forbidden to be reused, close after use */ bit reuse_fresh:1; /* do not re-use an existing connection */ bit ftp_use_epsv:1; /* if EPSV is to be attempted or not */ bit ftp_use_eprt:1; /* if EPRT is to be attempted or not */ bit ftp_use_pret:1; /* if PRET is to be used before PASV or not */ bit no_signal:1; /* do not use any signal/alarm handler */ bit global_dns_cache:1; /* subject for future removal */ bit tcp_nodelay:1; /* whether to enable TCP_NODELAY or not */ bit ignorecl:1; /* ignore content length */ bit ftp_skip_ip:1; /* skip the IP address the FTP server passes on to us */ bit connect_only:1; /* make connection, let application use the socket */ bit http_te_skip:1; /* pass the raw body data to the user, even when transfer-encoded (chunked, compressed) */ bit http_ce_skip:1; /* pass the raw body data to the user, even when content-encoded (chunked, compressed) */ bit proxy_transfer_mode:1; /* set transfer mode (;type=<a|i>) when doing FTP via an HTTP proxy */ #if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI) bit socks5_gssapi_nec:1; /* Flag to support NEC SOCKS5 server */ #endif bit sasl_ir:1; /* Enable/disable SASL initial response */ bit wildcard_enabled:1; /* enable wildcard matching */ bit tcp_keepalive:1; /* use TCP keepalives */ bit tcp_fastopen:1; /* use TCP Fast Open */ bit ssl_enable_npn:1; /* TLS NPN extension? */ bit ssl_enable_alpn:1;/* TLS ALPN extension? */ bit path_as_is:1; /* allow dotdots? */ bit pipewait:1; /* wait for pipe/multiplex status before starting a new connection */ bit suppress_connect_headers:1; /* suppress proxy CONNECT response headers from user callbacks */ bit dns_shuffle_addresses:1; /* whether to shuffle addresses before use */ bit stream_depends_e:1; /* set or don't set the Exclusive bit */ bit haproxyprotocol:1; /* whether to send HAProxy PROXY protocol v1 header */ bit abstract_unix_socket:1; bit disallow_username_in_url:1; /* disallow username in url */ bit doh:1; /* DNS-over-HTTPS enabled */ bit doh_get:1; /* use GET for DoH requests, instead of POST */ bit http09_allowed:1; /* allow HTTP/0.9 responses */ }; struct Names { struct curl_hash *hostcache; enum { HCACHE_NONE, /* not pointing to anything */ HCACHE_GLOBAL, /* points to the (shrug) global one */ |
︙ | ︙ | |||
1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 | struct SingleRequest req; /* Request-specific data */ struct UserDefined set; /* values set by the libcurl user */ struct DynamicStatic change; /* possibly modified userdefined data */ struct CookieInfo *cookies; /* the cookies, read from files and servers. NOTE that the 'cookie' field in the UserDefined struct defines if the "engine" is to be used or not. */ struct Progress progress; /* for all the progress meter data */ struct UrlState state; /* struct for fields used for state info and other dynamic purposes */ struct WildcardData wildcard; /* wildcard download state info */ struct PureInfo info; /* stats, reports and info data */ struct curl_tlssessioninfo tsi; /* Information about the TLS session, only valid after a client has asked for it */ | > > > | 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 | struct SingleRequest req; /* Request-specific data */ struct UserDefined set; /* values set by the libcurl user */ struct DynamicStatic change; /* possibly modified userdefined data */ struct CookieInfo *cookies; /* the cookies, read from files and servers. NOTE that the 'cookie' field in the UserDefined struct defines if the "engine" is to be used or not. */ #ifdef USE_ALTSVC struct altsvcinfo *asi; /* the alt-svc cache */ #endif struct Progress progress; /* for all the progress meter data */ struct UrlState state; /* struct for fields used for state info and other dynamic purposes */ struct WildcardData wildcard; /* wildcard download state info */ struct PureInfo info; /* stats, reports and info data */ struct curl_tlssessioninfo tsi; /* Information about the TLS session, only valid after a client has asked for it */ |
︙ | ︙ |
Changes to jni/curl/lib/vauth/spnego_gssapi.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
269 270 271 272 273 274 275 276 277 278 | if(nego->spn != GSS_C_NO_NAME) { gss_release_name(&minor_status, &nego->spn); nego->spn = GSS_C_NO_NAME; } /* Reset any variables */ nego->status = 0; } #endif /* HAVE_GSSAPI && USE_SPNEGO */ | > > > > > | 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 | if(nego->spn != GSS_C_NO_NAME) { gss_release_name(&minor_status, &nego->spn); nego->spn = GSS_C_NO_NAME; } /* Reset any variables */ nego->status = 0; nego->state = GSS_AUTHNONE; nego->noauthpersist = FALSE; nego->havenoauthpersist = FALSE; nego->havenegdata = FALSE; nego->havemultiplerequests = FALSE; } #endif /* HAVE_GSSAPI && USE_SPNEGO */ |
Changes to jni/curl/lib/vauth/spnego_sspi.c.
︙ | ︙ | |||
244 245 246 247 248 249 250 251 | &resp_desc, &attrs, &expiry); /* Free the decoded challenge as it is not required anymore */ free(chlg); if(GSS_ERROR(nego->status)) { failf(data, "InitializeSecurityContext failed: %s", | > | | 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 | &resp_desc, &attrs, &expiry); /* Free the decoded challenge as it is not required anymore */ free(chlg); if(GSS_ERROR(nego->status)) { char buffer[STRERROR_LEN]; failf(data, "InitializeSecurityContext failed: %s", Curl_sspi_strerror(nego->status, buffer, sizeof(buffer))); return CURLE_OUT_OF_MEMORY; } if(nego->status == SEC_I_COMPLETE_NEEDED || nego->status == SEC_I_COMPLETE_AND_CONTINUE) { nego->status = s_pSecFn->CompleteAuthToken(nego->context, &resp_desc); if(GSS_ERROR(nego->status)) { |
︙ | ︙ | |||
338 339 340 341 342 343 344 345 346 347 | /* Free the SPN and output token */ Curl_safefree(nego->spn); Curl_safefree(nego->output_token); /* Reset any variables */ nego->status = 0; nego->token_max = 0; } #endif /* USE_WINDOWS_SSPI && USE_SPNEGO */ | > > > > > | 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 | /* Free the SPN and output token */ Curl_safefree(nego->spn); Curl_safefree(nego->output_token); /* Reset any variables */ nego->status = 0; nego->token_max = 0; nego->state = GSS_AUTHNONE; nego->noauthpersist = FALSE; nego->havenoauthpersist = FALSE; nego->havenegdata = FALSE; nego->havemultiplerequests = FALSE; } #endif /* USE_WINDOWS_SSPI && USE_SPNEGO */ |
Changes to jni/curl/lib/version.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
207 208 209 210 211 212 213 214 215 216 217 218 219 220 | len = what msnprintf() returned left -= len; ptr += len; */ } #endif initialized = true; return version; } /* data for curl_version_info | > > > > | 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 | len = what msnprintf() returned left -= len; ptr += len; */ } #endif /* Silent scan-build even if librtmp is not enabled. */ (void) left; (void) ptr; initialized = true; return version; } /* data for curl_version_info |
︙ | ︙ | |||
361 362 363 364 365 366 367 368 369 370 371 372 373 374 | | CURL_VERSION_PSL #endif #if defined(CURL_WITH_MULTI_SSL) | CURL_VERSION_MULTI_SSL #endif #if defined(HAVE_BROTLI) | CURL_VERSION_BROTLI #endif , NULL, /* ssl_version */ 0, /* ssl_version_num, this is kept at zero */ NULL, /* zlib_version */ protocols, NULL, /* c-ares version */ | > > > | 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 | | CURL_VERSION_PSL #endif #if defined(CURL_WITH_MULTI_SSL) | CURL_VERSION_MULTI_SSL #endif #if defined(HAVE_BROTLI) | CURL_VERSION_BROTLI #endif #if defined(USE_ALTSVC) | CURL_VERSION_ALTSVC #endif , NULL, /* ssl_version */ 0, /* ssl_version_num, this is kept at zero */ NULL, /* zlib_version */ protocols, NULL, /* c-ares version */ |
︙ | ︙ |
Changes to jni/curl/lib/vtls/cyassl.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
61 62 63 64 65 66 67 | options.h, but is only seen in >= 3.6.6 since that's when they started disabling SSLv3 by default. */ #ifndef WOLFSSL_ALLOW_SSLV3 #if (LIBCYASSL_VERSION_HEX < 0x03006006) || \ defined(HAVE_WOLFSSLV3_CLIENT_METHOD) #define WOLFSSL_ALLOW_SSLV3 #endif | < < < < < < < < < | 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | options.h, but is only seen in >= 3.6.6 since that's when they started disabling SSLv3 by default. */ #ifndef WOLFSSL_ALLOW_SSLV3 #if (LIBCYASSL_VERSION_HEX < 0x03006006) || \ defined(HAVE_WOLFSSLV3_CLIENT_METHOD) #define WOLFSSL_ALLOW_SSLV3 #endif #endif #include <limits.h> #include "urldata.h" #include "sendf.h" #include "inet_pton.h" |
︙ | ︙ | |||
360 361 362 363 364 365 366 | (unsigned short)hostname_len) != 1)) { infof(data, "WARNING: failed to configure server name indication (SNI) " "TLS extension\n"); } } #endif | < < < < < < < < < < | 351 352 353 354 355 356 357 358 359 360 361 362 363 364 | (unsigned short)hostname_len) != 1)) { infof(data, "WARNING: failed to configure server name indication (SNI) " "TLS extension\n"); } } #endif /* give application a chance to interfere with SSL set up. */ if(data->set.ssl.fsslctx) { CURLcode result = CURLE_OK; result = (*data->set.ssl.fsslctx)(data, BACKEND->ctx, data->set.ssl.fsslctxp); if(result) { failf(data, "error signaled by ssl ctx callback"); |
︙ | ︙ |
Deleted jni/curl/lib/vtls/darwinssl.c.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted jni/curl/lib/vtls/darwinssl.h.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Changes to jni/curl/lib/vtls/gtls.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
1419 1420 1421 1422 1423 1424 1425 | certclock = gnutls_x509_crt_get_expiration_time(x509_cert); showtime(data, "expire date", certclock); size = sizeof(certbuf); gnutls_x509_crt_get_issuer_dn(x509_cert, certbuf, &size); infof(data, "\t issuer: %s\n", certbuf); | < < < < < | 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 | certclock = gnutls_x509_crt_get_expiration_time(x509_cert); showtime(data, "expire date", certclock); size = sizeof(certbuf); gnutls_x509_crt_get_issuer_dn(x509_cert, certbuf, &size); infof(data, "\t issuer: %s\n", certbuf); #endif gnutls_x509_crt_deinit(x509_cert); #ifdef HAS_ALPN if(conn->bits.tls_enable_alpn) { rc = gnutls_alpn_get_selected_protocol(session, &proto); |
︙ | ︙ |
Changes to jni/curl/lib/vtls/mbedtls.c.
︙ | ︙ | |||
712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 | if(!our_ssl_sessionid) return CURLE_OUT_OF_MEMORY; mbedtls_ssl_session_init(our_ssl_sessionid); ret = mbedtls_ssl_get_session(&BACKEND->ssl, our_ssl_sessionid); if(ret) { free(our_ssl_sessionid); failf(data, "mbedtls_ssl_get_session returned -0x%x", -ret); return CURLE_SSL_CONNECT_ERROR; } /* If there's already a matching session in the cache, delete it */ Curl_ssl_sessionid_lock(conn); if(!Curl_ssl_getsessionid(conn, &old_ssl_sessionid, NULL, sockindex)) Curl_ssl_delsessionid(conn, old_ssl_sessionid); retcode = Curl_ssl_addsessionid(conn, our_ssl_sessionid, 0, sockindex); Curl_ssl_sessionid_unlock(conn); if(retcode) { free(our_ssl_sessionid); failf(data, "failed to store ssl session"); return retcode; } } connssl->connecting_state = ssl_connect_done; | > > > | 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 | if(!our_ssl_sessionid) return CURLE_OUT_OF_MEMORY; mbedtls_ssl_session_init(our_ssl_sessionid); ret = mbedtls_ssl_get_session(&BACKEND->ssl, our_ssl_sessionid); if(ret) { if(ret != MBEDTLS_ERR_SSL_ALLOC_FAILED) mbedtls_ssl_session_free(our_ssl_sessionid); free(our_ssl_sessionid); failf(data, "mbedtls_ssl_get_session returned -0x%x", -ret); return CURLE_SSL_CONNECT_ERROR; } /* If there's already a matching session in the cache, delete it */ Curl_ssl_sessionid_lock(conn); if(!Curl_ssl_getsessionid(conn, &old_ssl_sessionid, NULL, sockindex)) Curl_ssl_delsessionid(conn, old_ssl_sessionid); retcode = Curl_ssl_addsessionid(conn, our_ssl_sessionid, 0, sockindex); Curl_ssl_sessionid_unlock(conn); if(retcode) { mbedtls_ssl_session_free(our_ssl_sessionid); free(our_ssl_sessionid); failf(data, "failed to store ssl session"); return retcode; } } connssl->connecting_state = ssl_connect_done; |
︙ | ︙ | |||
809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 | { mbedtls_ssl_session_free(ptr); free(ptr); } static size_t Curl_mbedtls_version(char *buffer, size_t size) { unsigned int version = mbedtls_version_get_number(); return msnprintf(buffer, size, "mbedTLS/%u.%u.%u", version>>24, (version>>16)&0xff, (version>>8)&0xff); } static CURLcode Curl_mbedtls_random(struct Curl_easy *data, unsigned char *entropy, size_t length) { #if defined(MBEDTLS_CTR_DRBG_C) int ret = -1; | > > > > > | 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 | { mbedtls_ssl_session_free(ptr); free(ptr); } static size_t Curl_mbedtls_version(char *buffer, size_t size) { #ifdef MBEDTLS_VERSION_C /* if mbedtls_version_get_number() is available it is better */ unsigned int version = mbedtls_version_get_number(); return msnprintf(buffer, size, "mbedTLS/%u.%u.%u", version>>24, (version>>16)&0xff, (version>>8)&0xff); #else return msnprintf(buffer, size, "mbedTLS/%s", MBEDTLS_VERSION_STRING); #endif } static CURLcode Curl_mbedtls_random(struct Curl_easy *data, unsigned char *entropy, size_t length) { #if defined(MBEDTLS_CTR_DRBG_C) int ret = -1; |
︙ | ︙ |
Changes to jni/curl/lib/vtls/openssl.c.
︙ | ︙ | |||
60 61 62 63 64 65 66 67 68 69 70 71 72 73 | #include <openssl/md5.h> #include <openssl/conf.h> #include <openssl/bn.h> #include <openssl/rsa.h> #include <openssl/bio.h> #include <openssl/buffer.h> #include <openssl/pkcs12.h> #if (OPENSSL_VERSION_NUMBER >= 0x0090808fL) && !defined(OPENSSL_NO_OCSP) #include <openssl/ocsp.h> #endif #if (OPENSSL_VERSION_NUMBER >= 0x0090700fL) && /* 0.9.7 or later */ \ !defined(OPENSSL_NO_ENGINE) | > > > > | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | #include <openssl/md5.h> #include <openssl/conf.h> #include <openssl/bn.h> #include <openssl/rsa.h> #include <openssl/bio.h> #include <openssl/buffer.h> #include <openssl/pkcs12.h> #ifdef USE_AMISSL #include "amigaos.h" #endif #if (OPENSSL_VERSION_NUMBER >= 0x0090808fL) && !defined(OPENSSL_NO_OCSP) #include <openssl/ocsp.h> #endif #if (OPENSSL_VERSION_NUMBER >= 0x0090700fL) && /* 0.9.7 or later */ \ !defined(OPENSSL_NO_ENGINE) |
︙ | ︙ | |||
816 817 818 819 820 821 822 823 | } } cert_done = 1; fail: EVP_PKEY_free(pri); X509_free(x509); sk_X509_pop_free(ca, X509_free); | > > > | > > > | < < < | 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 | } } cert_done = 1; fail: EVP_PKEY_free(pri); X509_free(x509); #ifdef USE_AMISSL sk_X509_pop_free(ca, Curl_amiga_X509_free); #else sk_X509_pop_free(ca, X509_free); #endif if(!cert_done) return 0; /* failure! */ break; } default: failf(data, "not supported file type '%s' for certificate", cert_type); return 0; } if(!key_file) key_file = cert_file; else file_type = do_file_type(key_type); switch(file_type) { case SSL_FILETYPE_PEM: if(cert_done) break; /* FALLTHROUGH */ case SSL_FILETYPE_ASN1: if(SSL_CTX_use_PrivateKey_file(ctx, key_file, file_type) != 1) { failf(data, "unable to set private key file: '%s' type %s", key_file, key_type?key_type:"PEM"); return 0; } |
︙ | ︙ | |||
2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 | connssl->connecting_state = ssl_connect_2_reading; return CURLE_OK; } if(SSL_ERROR_WANT_WRITE == detail) { connssl->connecting_state = ssl_connect_2_writing; return CURLE_OK; } else { /* untreated error */ unsigned long errdetail; char error_buffer[256]=""; CURLcode result; long lerr; int lib; | > > > > > > | 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 | connssl->connecting_state = ssl_connect_2_reading; return CURLE_OK; } if(SSL_ERROR_WANT_WRITE == detail) { connssl->connecting_state = ssl_connect_2_writing; return CURLE_OK; } #ifdef SSL_ERROR_WANT_ASYNC if(SSL_ERROR_WANT_ASYNC == detail) { connssl->connecting_state = ssl_connect_2; return CURLE_OK; } #endif else { /* untreated error */ unsigned long errdetail; char error_buffer[256]=""; CURLcode result; long lerr; int lib; |
︙ | ︙ |
Changes to jni/curl/lib/vtls/schannel.c.
︙ | ︙ | |||
320 321 322 323 324 325 326 327 328 329 330 331 332 333 | #endif #ifdef CALG_ECMQV CIPHEROPTION(CALG_ECMQV); #endif #ifdef CALG_ECDSA CIPHEROPTION(CALG_ECDSA); #endif return 0; } static CURLcode set_ssl_ciphers(SCHANNEL_CRED *schannel_cred, char *ciphers) { char *startCur = ciphers; | > > > | 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 | #endif #ifdef CALG_ECMQV CIPHEROPTION(CALG_ECMQV); #endif #ifdef CALG_ECDSA CIPHEROPTION(CALG_ECDSA); #endif #ifdef CALG_ECDH_EPHEM CIPHEROPTION(CALG_ECDH_EPHEM); #endif return 0; } static CURLcode set_ssl_ciphers(SCHANNEL_CRED *schannel_cred, char *ciphers) { char *startCur = ciphers; |
︙ | ︙ | |||
429 430 431 432 433 434 435 | struct in6_addr addr6; #endif TCHAR *host_name; CURLcode result; char * const hostname = SSL_IS_PROXY() ? conn->http_proxy.host.name : conn->host.name; | > | | | 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 | struct in6_addr addr6; #endif TCHAR *host_name; CURLcode result; char * const hostname = SSL_IS_PROXY() ? conn->http_proxy.host.name : conn->host.name; DEBUGF(infof(data, "schannel: SSL/TLS connection with %s port %hu (step 1/3)\n", hostname, conn->remote_port)); if(Curl_verify_windows_version(5, 1, PLATFORM_WINNT, VERSION_LESS_THAN_EQUAL)) { /* Schannel in Windows XP (OS version 5.1) uses legacy handshakes and algorithms that may not be supported by all servers. */ infof(data, "schannel: Windows version is old and may not be able to " "connect to some servers due to lack of SNI, algorithms, etc.\n"); |
︙ | ︙ | |||
490 491 492 493 494 495 496 | BACKEND->cred = NULL; /* check for an existing re-usable credential handle */ if(SSL_SET_OPTION(primary.sessionid)) { Curl_ssl_sessionid_lock(conn); if(!Curl_ssl_getsessionid(conn, (void **)&old_cred, NULL, sockindex)) { BACKEND->cred = old_cred; | | > | | | 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 | BACKEND->cred = NULL; /* check for an existing re-usable credential handle */ if(SSL_SET_OPTION(primary.sessionid)) { Curl_ssl_sessionid_lock(conn); if(!Curl_ssl_getsessionid(conn, (void **)&old_cred, NULL, sockindex)) { BACKEND->cred = old_cred; DEBUGF(infof(data, "schannel: re-using existing credential handle\n")); /* increment the reference counter of the credential/session handle */ BACKEND->cred->refcount++; DEBUGF(infof(data, "schannel: incremented credential handle refcount = %d\n", BACKEND->cred->refcount)); } Curl_ssl_sessionid_unlock(conn); } if(!BACKEND->cred) { /* setup Schannel API options */ memset(&schannel_cred, 0, sizeof(schannel_cred)); |
︙ | ︙ | |||
518 519 520 521 522 523 524 | schannel_cred.dwFlags = SCH_CRED_AUTO_CRED_VALIDATION; /* TODO s/data->set.ssl.no_revoke/SSL_SET_OPTION(no_revoke)/g */ if(data->set.ssl.no_revoke) { schannel_cred.dwFlags |= SCH_CRED_IGNORE_NO_REVOCATION_CHECK | SCH_CRED_IGNORE_REVOCATION_OFFLINE; | | | > | > | | | | | 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 | schannel_cred.dwFlags = SCH_CRED_AUTO_CRED_VALIDATION; /* TODO s/data->set.ssl.no_revoke/SSL_SET_OPTION(no_revoke)/g */ if(data->set.ssl.no_revoke) { schannel_cred.dwFlags |= SCH_CRED_IGNORE_NO_REVOCATION_CHECK | SCH_CRED_IGNORE_REVOCATION_OFFLINE; DEBUGF(infof(data, "schannel: disabled server certificate revocation " "checks\n")); } else { schannel_cred.dwFlags |= SCH_CRED_REVOCATION_CHECK_CHAIN; DEBUGF(infof(data, "schannel: checking server certificate revocation\n")); } } else { schannel_cred.dwFlags = SCH_CRED_MANUAL_CRED_VALIDATION | SCH_CRED_IGNORE_NO_REVOCATION_CHECK | SCH_CRED_IGNORE_REVOCATION_OFFLINE; DEBUGF(infof(data, "schannel: disabled server cert revocation checks\n")); } if(!conn->ssl_config.verifyhost) { schannel_cred.dwFlags |= SCH_CRED_NO_SERVERNAME_CHECK; DEBUGF(infof(data, "schannel: verifyhost setting prevents Schannel from " "comparing the supplied target name with the subject " "names in server certificates.\n")); } switch(conn->ssl_config.version) { case CURL_SSLVERSION_DEFAULT: case CURL_SSLVERSION_TLSv1: schannel_cred.grbitEnabledProtocols = SP_PROT_TLS1_0_CLIENT | SP_PROT_TLS1_1_CLIENT | |
︙ | ︙ | |||
676 677 678 679 680 681 682 683 | &BACKEND->cred->cred_handle, &BACKEND->cred->time_stamp); if(client_certs[0]) CertFreeCertificateContext(client_certs[0]); if(sspi_status != SEC_E_OK) { failf(data, "schannel: AcquireCredentialsHandle failed: %s", | > | | 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 | &BACKEND->cred->cred_handle, &BACKEND->cred->time_stamp); if(client_certs[0]) CertFreeCertificateContext(client_certs[0]); if(sspi_status != SEC_E_OK) { char buffer[STRERROR_LEN]; failf(data, "schannel: AcquireCredentialsHandle failed: %s", Curl_sspi_strerror(sspi_status, buffer, sizeof(buffer))); Curl_safefree(BACKEND->cred); switch(sspi_status) { case SEC_E_INSUFFICIENT_MEMORY: return CURLE_OUT_OF_MEMORY; case SEC_E_NO_CREDENTIALS: case SEC_E_SECPKG_NOT_FOUND: case SEC_E_NOT_OWNER: |
︙ | ︙ | |||
792 793 794 795 796 797 798 799 800 801 802 | (BACKEND->use_alpn ? &inbuf_desc : NULL), 0, &BACKEND->ctxt->ctxt_handle, &outbuf_desc, &BACKEND->ret_flags, &BACKEND->ctxt->time_stamp); Curl_unicodefree(host_name); if(sspi_status != SEC_I_CONTINUE_NEEDED) { Curl_safefree(BACKEND->ctxt); switch(sspi_status) { case SEC_E_INSUFFICIENT_MEMORY: failf(data, "schannel: initial InitializeSecurityContext failed: %s", | > | | | | | | | | 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 | (BACKEND->use_alpn ? &inbuf_desc : NULL), 0, &BACKEND->ctxt->ctxt_handle, &outbuf_desc, &BACKEND->ret_flags, &BACKEND->ctxt->time_stamp); Curl_unicodefree(host_name); if(sspi_status != SEC_I_CONTINUE_NEEDED) { char buffer[STRERROR_LEN]; Curl_safefree(BACKEND->ctxt); switch(sspi_status) { case SEC_E_INSUFFICIENT_MEMORY: failf(data, "schannel: initial InitializeSecurityContext failed: %s", Curl_sspi_strerror(sspi_status, buffer, sizeof(buffer))); return CURLE_OUT_OF_MEMORY; case SEC_E_WRONG_PRINCIPAL: failf(data, "schannel: SNI or certificate check failed: %s", Curl_sspi_strerror(sspi_status, buffer, sizeof(buffer))); return CURLE_PEER_FAILED_VERIFICATION; /* case SEC_E_INVALID_HANDLE: case SEC_E_INVALID_TOKEN: case SEC_E_LOGON_DENIED: case SEC_E_TARGET_UNKNOWN: case SEC_E_NO_AUTHENTICATING_AUTHORITY: case SEC_E_INTERNAL_ERROR: case SEC_E_NO_CREDENTIALS: case SEC_E_UNSUPPORTED_FUNCTION: case SEC_E_APPLICATION_PROTOCOL_MISMATCH: */ default: failf(data, "schannel: initial InitializeSecurityContext failed: %s", Curl_sspi_strerror(sspi_status, buffer, sizeof(buffer))); return CURLE_SSL_CONNECT_ERROR; } } DEBUGF(infof(data, "schannel: sending initial handshake data: " "sending %lu bytes...\n", outbuf.cbBuffer)); /* send initial handshake data which is now stored in output buffer */ result = Curl_write_plain(conn, conn->sock[sockindex], outbuf.pvBuffer, outbuf.cbBuffer, &written); s_pSecFn->FreeContextBuffer(outbuf.pvBuffer); if((result != CURLE_OK) || (outbuf.cbBuffer != (size_t) written)) { failf(data, "schannel: failed to send initial handshake data: " "sent %zd of %lu bytes", written, outbuf.cbBuffer); return CURLE_SSL_CONNECT_ERROR; } DEBUGF(infof(data, "schannel: sent initial handshake data: " "sent %zd bytes\n", written)); BACKEND->recv_unrecoverable_err = CURLE_OK; BACKEND->recv_sspi_close_notify = false; BACKEND->recv_connection_closed = false; BACKEND->encdata_is_incomplete = false; /* continue to second handshake step */ |
︙ | ︙ | |||
870 871 872 873 874 875 876 | bool doread; char * const hostname = SSL_IS_PROXY() ? conn->http_proxy.host.name : conn->host.name; const char *pubkey_ptr; doread = (connssl->connecting_state != ssl_connect_2_writing) ? TRUE : FALSE; | > | | | 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 | bool doread; char * const hostname = SSL_IS_PROXY() ? conn->http_proxy.host.name : conn->host.name; const char *pubkey_ptr; doread = (connssl->connecting_state != ssl_connect_2_writing) ? TRUE : FALSE; DEBUGF(infof(data, "schannel: SSL/TLS connection with %s port %hu (step 2/3)\n", hostname, conn->remote_port)); if(!BACKEND->cred || !BACKEND->ctxt) return CURLE_SSL_CONNECT_ERROR; /* buffer to store previously received and decrypted data */ if(BACKEND->decdata_buffer == NULL) { BACKEND->decdata_offset = 0; |
︙ | ︙ | |||
930 931 932 933 934 935 936 | BACKEND->encdata_offset), BACKEND->encdata_length - BACKEND->encdata_offset, &nread); if(result == CURLE_AGAIN) { if(connssl->connecting_state != ssl_connect_2_writing) connssl->connecting_state = ssl_connect_2_reading; | | | | > | | | 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 | BACKEND->encdata_offset), BACKEND->encdata_length - BACKEND->encdata_offset, &nread); if(result == CURLE_AGAIN) { if(connssl->connecting_state != ssl_connect_2_writing) connssl->connecting_state = ssl_connect_2_reading; DEBUGF(infof(data, "schannel: failed to receive handshake, " "need more data\n")); return CURLE_OK; } else if((result != CURLE_OK) || (nread == 0)) { failf(data, "schannel: failed to receive handshake, " "SSL/TLS connection failed"); return CURLE_SSL_CONNECT_ERROR; } /* increase encrypted data buffer offset */ BACKEND->encdata_offset += nread; BACKEND->encdata_is_incomplete = false; DEBUGF(infof(data, "schannel: encrypted data got %zd\n", nread)); } DEBUGF(infof(data, "schannel: encrypted data buffer: offset %zu length %zu\n", BACKEND->encdata_offset, BACKEND->encdata_length)); /* setup input buffers */ InitSecBuffer(&inbuf[0], SECBUFFER_TOKEN, malloc(BACKEND->encdata_offset), curlx_uztoul(BACKEND->encdata_offset)); InitSecBuffer(&inbuf[1], SECBUFFER_EMPTY, NULL, 0); InitSecBufferDesc(&inbuf_desc, inbuf, 2); |
︙ | ︙ | |||
990 991 992 993 994 995 996 | /* free buffer for received handshake data */ Curl_safefree(inbuf[0].pvBuffer); /* check if the handshake was incomplete */ if(sspi_status == SEC_E_INCOMPLETE_MESSAGE) { BACKEND->encdata_is_incomplete = true; connssl->connecting_state = ssl_connect_2_reading; | > | > | | | > | | | | > | 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 | /* free buffer for received handshake data */ Curl_safefree(inbuf[0].pvBuffer); /* check if the handshake was incomplete */ if(sspi_status == SEC_E_INCOMPLETE_MESSAGE) { BACKEND->encdata_is_incomplete = true; connssl->connecting_state = ssl_connect_2_reading; DEBUGF(infof(data, "schannel: received incomplete message, need more data\n")); return CURLE_OK; } /* If the server has requested a client certificate, attempt to continue the handshake without one. This will allow connections to servers which request a client certificate but do not require it. */ if(sspi_status == SEC_I_INCOMPLETE_CREDENTIALS && !(BACKEND->req_flags & ISC_REQ_USE_SUPPLIED_CREDS)) { BACKEND->req_flags |= ISC_REQ_USE_SUPPLIED_CREDS; connssl->connecting_state = ssl_connect_2_writing; DEBUGF(infof(data, "schannel: a client certificate has been requested\n")); return CURLE_OK; } /* check if the handshake needs to be continued */ if(sspi_status == SEC_I_CONTINUE_NEEDED || sspi_status == SEC_E_OK) { for(i = 0; i < 3; i++) { /* search for handshake tokens that need to be send */ if(outbuf[i].BufferType == SECBUFFER_TOKEN && outbuf[i].cbBuffer > 0) { DEBUGF(infof(data, "schannel: sending next handshake data: " "sending %lu bytes...\n", outbuf[i].cbBuffer)); /* send handshake token to server */ result = Curl_write_plain(conn, conn->sock[sockindex], outbuf[i].pvBuffer, outbuf[i].cbBuffer, &written); if((result != CURLE_OK) || (outbuf[i].cbBuffer != (size_t) written)) { failf(data, "schannel: failed to send next handshake data: " "sent %zd of %lu bytes", written, outbuf[i].cbBuffer); return CURLE_SSL_CONNECT_ERROR; } } /* free obsolete buffer */ if(outbuf[i].pvBuffer != NULL) { s_pSecFn->FreeContextBuffer(outbuf[i].pvBuffer); } } } else { char buffer[STRERROR_LEN]; switch(sspi_status) { case SEC_E_INSUFFICIENT_MEMORY: failf(data, "schannel: next InitializeSecurityContext failed: %s", Curl_sspi_strerror(sspi_status, buffer, sizeof(buffer))); return CURLE_OUT_OF_MEMORY; case SEC_E_WRONG_PRINCIPAL: failf(data, "schannel: SNI or certificate check failed: %s", Curl_sspi_strerror(sspi_status, buffer, sizeof(buffer))); return CURLE_PEER_FAILED_VERIFICATION; /* case SEC_E_INVALID_HANDLE: case SEC_E_INVALID_TOKEN: case SEC_E_LOGON_DENIED: case SEC_E_TARGET_UNKNOWN: case SEC_E_NO_AUTHENTICATING_AUTHORITY: case SEC_E_INTERNAL_ERROR: case SEC_E_NO_CREDENTIALS: case SEC_E_UNSUPPORTED_FUNCTION: case SEC_E_APPLICATION_PROTOCOL_MISMATCH: */ default: failf(data, "schannel: next InitializeSecurityContext failed: %s", Curl_sspi_strerror(sspi_status, buffer, sizeof(buffer))); return CURLE_SSL_CONNECT_ERROR; } } /* check if there was additional remaining encrypted data */ if(inbuf[1].BufferType == SECBUFFER_EXTRA && inbuf[1].cbBuffer > 0) { DEBUGF(infof(data, "schannel: encrypted data length: %lu\n", inbuf[1].cbBuffer)); /* There are two cases where we could be getting extra data here: 1) If we're renegotiating a connection and the handshake is already complete (from the server perspective), it can encrypted app data (not handshake data) in an extra buffer at this point. 2) (sspi_status == SEC_I_CONTINUE_NEEDED) We are negotiating a connection and this extra data is part of the handshake. |
︙ | ︙ | |||
1100 1101 1102 1103 1104 1105 1106 | connssl->connecting_state = ssl_connect_2_reading; return CURLE_OK; } /* check if the handshake is complete */ if(sspi_status == SEC_E_OK) { connssl->connecting_state = ssl_connect_3; | | | 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 | connssl->connecting_state = ssl_connect_2_reading; return CURLE_OK; } /* check if the handshake is complete */ if(sspi_status == SEC_E_OK) { connssl->connecting_state = ssl_connect_3; DEBUGF(infof(data, "schannel: SSL/TLS handshake complete\n")); } pubkey_ptr = SSL_IS_PROXY() ? data->set.str[STRING_SSL_PINNEDPUBLICKEY_PROXY] : data->set.str[STRING_SSL_PINNEDPUBLICKEY_ORIG]; if(pubkey_ptr) { result = pkp_pin_peer_pubkey(conn, sockindex, pubkey_ptr); |
︙ | ︙ | |||
1186 1187 1188 1189 1190 1191 1192 | schannel_connect_step3(struct connectdata *conn, int sockindex) { CURLcode result = CURLE_OK; struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; SECURITY_STATUS sspi_status = SEC_E_OK; CERT_CONTEXT *ccert_context = NULL; | | > | | | 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 | schannel_connect_step3(struct connectdata *conn, int sockindex) { CURLcode result = CURLE_OK; struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; SECURITY_STATUS sspi_status = SEC_E_OK; CERT_CONTEXT *ccert_context = NULL; #ifdef DEBUGBUILD const char * const hostname = SSL_IS_PROXY() ? conn->http_proxy.host.name : conn->host.name; #endif #ifdef HAS_ALPN SecPkgContext_ApplicationProtocol alpn_result; #endif DEBUGASSERT(ssl_connect_3 == connssl->connecting_state); DEBUGF(infof(data, "schannel: SSL/TLS connection with %s port %hu (step 3/3)\n", hostname, conn->remote_port)); if(!BACKEND->cred) return CURLE_SSL_CONNECT_ERROR; /* check if the required context attributes are met */ if(BACKEND->ret_flags != BACKEND->req_flags) { if(!(BACKEND->ret_flags & ISC_RET_SEQUENCE_DETECT)) |
︙ | ︙ | |||
1262 1263 1264 1265 1266 1267 1268 | struct curl_schannel_cred *old_cred = NULL; Curl_ssl_sessionid_lock(conn); incache = !(Curl_ssl_getsessionid(conn, (void **)&old_cred, NULL, sockindex)); if(incache) { if(old_cred != BACKEND->cred) { | > | > | | 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 | struct curl_schannel_cred *old_cred = NULL; Curl_ssl_sessionid_lock(conn); incache = !(Curl_ssl_getsessionid(conn, (void **)&old_cred, NULL, sockindex)); if(incache) { if(old_cred != BACKEND->cred) { DEBUGF(infof(data, "schannel: old credential handle is stale, removing\n")); /* we're not taking old_cred ownership here, no refcount++ is needed */ Curl_ssl_delsessionid(conn, (void *)old_cred); incache = FALSE; } } if(!incache) { result = Curl_ssl_addsessionid(conn, (void *)BACKEND->cred, sizeof(struct curl_schannel_cred), sockindex); if(result) { Curl_ssl_sessionid_unlock(conn); failf(data, "schannel: failed to store credential handle"); return result; } else { /* this cred session is now also referenced by sessionid cache */ BACKEND->cred->refcount++; DEBUGF(infof(data, "schannel: stored credential handle in session cache\n")); } } Curl_ssl_sessionid_unlock(conn); } if(data->set.ssl.certinfo) { int certs_count = 0; |
︙ | ︙ | |||
1611 1612 1613 1614 1615 1616 1617 | * * Our priority is to always return as much decrypted data to the caller as * possible, even if an error occurs. The state of the decrypted buffer must * always be valid. Transfer of decrypted data to the caller's buffer is * handled in the cleanup. */ | | | 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 | * * Our priority is to always return as much decrypted data to the caller as * possible, even if an error occurs. The state of the decrypted buffer must * always be valid. Transfer of decrypted data to the caller's buffer is * handled in the cleanup. */ DEBUGF(infof(data, "schannel: client wants to read %zu bytes\n", len)); *err = CURLE_OK; if(len && len <= BACKEND->decdata_offset) { infof(data, "schannel: enough decrypted data is already available\n"); goto cleanup; } else if(BACKEND->recv_unrecoverable_err) { |
︙ | ︙ | |||
1656 1657 1658 1659 1660 1661 1662 | failf(data, "schannel: unable to re-allocate memory"); goto cleanup; } BACKEND->encdata_buffer = reallocated_buffer; BACKEND->encdata_length = reallocated_length; size = BACKEND->encdata_length - BACKEND->encdata_offset; | | | > | | > | | | > | | | 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 | failf(data, "schannel: unable to re-allocate memory"); goto cleanup; } BACKEND->encdata_buffer = reallocated_buffer; BACKEND->encdata_length = reallocated_length; size = BACKEND->encdata_length - BACKEND->encdata_offset; DEBUGF(infof(data, "schannel: encdata_buffer resized %zu\n", BACKEND->encdata_length)); } DEBUGF(infof(data, "schannel: encrypted data buffer: offset %zu length %zu\n", BACKEND->encdata_offset, BACKEND->encdata_length)); /* read encrypted data from socket */ *err = Curl_read_plain(conn->sock[sockindex], (char *)(BACKEND->encdata_buffer + BACKEND->encdata_offset), size, &nread); if(*err) { nread = -1; if(*err == CURLE_AGAIN) DEBUGF(infof(data, "schannel: Curl_read_plain returned CURLE_AGAIN\n")); else if(*err == CURLE_RECV_ERROR) infof(data, "schannel: Curl_read_plain returned CURLE_RECV_ERROR\n"); else infof(data, "schannel: Curl_read_plain returned error %d\n", *err); } else if(nread == 0) { BACKEND->recv_connection_closed = true; DEBUGF(infof(data, "schannel: server closed the connection\n")); } else if(nread > 0) { BACKEND->encdata_offset += (size_t)nread; BACKEND->encdata_is_incomplete = false; DEBUGF(infof(data, "schannel: encrypted data got %zd\n", nread)); } } DEBUGF(infof(data, "schannel: encrypted data buffer: offset %zu length %zu\n", BACKEND->encdata_offset, BACKEND->encdata_length)); /* decrypt loop */ while(BACKEND->encdata_offset > 0 && sspi_status == SEC_E_OK && (!len || BACKEND->decdata_offset < len || BACKEND->recv_connection_closed)) { /* prepare data buffer for DecryptMessage call */ InitSecBuffer(&inbuf[0], SECBUFFER_DATA, BACKEND->encdata_buffer, |
︙ | ︙ | |||
1717 1718 1719 1720 1721 1722 1723 | /* check if everything went fine (server may want to renegotiate or shutdown the connection context) */ if(sspi_status == SEC_E_OK || sspi_status == SEC_I_RENEGOTIATE || sspi_status == SEC_I_CONTEXT_EXPIRED) { /* check for successfully decrypted data, even before actual renegotiation or shutdown of the connection context */ if(inbuf[1].BufferType == SECBUFFER_DATA) { | | | | 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 | /* check if everything went fine (server may want to renegotiate or shutdown the connection context) */ if(sspi_status == SEC_E_OK || sspi_status == SEC_I_RENEGOTIATE || sspi_status == SEC_I_CONTEXT_EXPIRED) { /* check for successfully decrypted data, even before actual renegotiation or shutdown of the connection context */ if(inbuf[1].BufferType == SECBUFFER_DATA) { DEBUGF(infof(data, "schannel: decrypted data length: %lu\n", inbuf[1].cbBuffer)); /* increase buffer in order to fit the received amount of data */ size = inbuf[1].cbBuffer > CURL_SCHANNEL_BUFFER_FREE_SIZE ? inbuf[1].cbBuffer : CURL_SCHANNEL_BUFFER_FREE_SIZE; if(BACKEND->decdata_length - BACKEND->decdata_offset < size || BACKEND->decdata_length < len) { /* increase internal decrypted data buffer */ |
︙ | ︙ | |||
1750 1751 1752 1753 1754 1755 1756 | size = inbuf[1].cbBuffer; if(size) { memcpy(BACKEND->decdata_buffer + BACKEND->decdata_offset, inbuf[1].pvBuffer, size); BACKEND->decdata_offset += size; } | | > | | | | > | | | 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 | size = inbuf[1].cbBuffer; if(size) { memcpy(BACKEND->decdata_buffer + BACKEND->decdata_offset, inbuf[1].pvBuffer, size); BACKEND->decdata_offset += size; } DEBUGF(infof(data, "schannel: decrypted data added: %zu\n", size)); DEBUGF(infof(data, "schannel: decrypted cached: offset %zu length %zu\n", BACKEND->decdata_offset, BACKEND->decdata_length)); } /* check for remaining encrypted data */ if(inbuf[3].BufferType == SECBUFFER_EXTRA && inbuf[3].cbBuffer > 0) { DEBUGF(infof(data, "schannel: encrypted data length: %lu\n", inbuf[3].cbBuffer)); /* check if the remaining data is less than the total amount * and therefore begins after the already processed data */ if(BACKEND->encdata_offset > inbuf[3].cbBuffer) { /* move remaining encrypted data forward to the beginning of buffer */ memmove(BACKEND->encdata_buffer, (BACKEND->encdata_buffer + BACKEND->encdata_offset) - inbuf[3].cbBuffer, inbuf[3].cbBuffer); BACKEND->encdata_offset = inbuf[3].cbBuffer; } DEBUGF(infof(data, "schannel: encrypted cached: offset %zu length %zu\n", BACKEND->encdata_offset, BACKEND->encdata_length)); } else { /* reset encrypted buffer offset, because there is no data remaining */ BACKEND->encdata_offset = 0; } /* check if server wants to renegotiate the connection context */ |
︙ | ︙ | |||
1827 1828 1829 1830 1831 1832 1833 1834 1835 | BACKEND->encdata_is_incomplete = true; if(!*err) *err = CURLE_AGAIN; infof(data, "schannel: failed to decrypt data, need more data\n"); goto cleanup; } else { *err = CURLE_RECV_ERROR; infof(data, "schannel: failed to read data from server: %s\n", | > | > | | > | | | | 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 | BACKEND->encdata_is_incomplete = true; if(!*err) *err = CURLE_AGAIN; infof(data, "schannel: failed to decrypt data, need more data\n"); goto cleanup; } else { char buffer[STRERROR_LEN]; *err = CURLE_RECV_ERROR; infof(data, "schannel: failed to read data from server: %s\n", Curl_sspi_strerror(sspi_status, buffer, sizeof(buffer))); goto cleanup; } } DEBUGF(infof(data, "schannel: encrypted data buffer: offset %zu length %zu\n", BACKEND->encdata_offset, BACKEND->encdata_length)); DEBUGF(infof(data, "schannel: decrypted data buffer: offset %zu length %zu\n", BACKEND->decdata_offset, BACKEND->decdata_length)); cleanup: /* Warning- there is no guarantee the encdata state is valid at this point */ DEBUGF(infof(data, "schannel: schannel_recv cleanup\n")); /* Error if the connection has closed without a close_notify. Behavior here is a matter of debate. We don't want to be vulnerable to a truncation attack however there's some browser precedent for ignoring the close_notify for compatibility reasons. Additionally, Windows 2000 (v5.0) is a special case since it seems it doesn't return close_notify. In that case if the connection was closed we assume it |
︙ | ︙ | |||
1875 1876 1877 1878 1879 1880 1881 | size = len < BACKEND->decdata_offset ? len : BACKEND->decdata_offset; if(size) { memcpy(buf, BACKEND->decdata_buffer, size); memmove(BACKEND->decdata_buffer, BACKEND->decdata_buffer + size, BACKEND->decdata_offset - size); BACKEND->decdata_offset -= size; | < | > | | | 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 | size = len < BACKEND->decdata_offset ? len : BACKEND->decdata_offset; if(size) { memcpy(buf, BACKEND->decdata_buffer, size); memmove(BACKEND->decdata_buffer, BACKEND->decdata_buffer + size, BACKEND->decdata_offset - size); BACKEND->decdata_offset -= size; DEBUGF(infof(data, "schannel: decrypted data returned %zu\n", size)); DEBUGF(infof(data, "schannel: decrypted data buffer: offset %zu length %zu\n", BACKEND->decdata_offset, BACKEND->decdata_length)); *err = CURLE_OK; return (ssize_t)size; } if(!*err && !BACKEND->recv_connection_closed) *err = CURLE_AGAIN; |
︙ | ︙ | |||
1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 | /* See https://msdn.microsoft.com/en-us/library/windows/desktop/aa380138.aspx * Shutting Down an Schannel Connection */ struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; char * const hostname = SSL_IS_PROXY() ? conn->http_proxy.host.name : conn->host.name; infof(data, "schannel: shutting down SSL/TLS connection with %s port %hu\n", hostname, conn->remote_port); if(BACKEND->cred && BACKEND->ctxt) { SecBufferDesc BuffDesc; SecBuffer Buffer; SECURITY_STATUS sspi_status; SecBuffer outbuf; SecBufferDesc outbuf_desc; CURLcode result; TCHAR *host_name; DWORD dwshut = SCHANNEL_SHUTDOWN; InitSecBuffer(&Buffer, SECBUFFER_TOKEN, &dwshut, sizeof(dwshut)); InitSecBufferDesc(&BuffDesc, &Buffer, 1); sspi_status = s_pSecFn->ApplyControlToken(&BACKEND->ctxt->ctxt_handle, &BuffDesc); | > > | > | > | 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 | /* See https://msdn.microsoft.com/en-us/library/windows/desktop/aa380138.aspx * Shutting Down an Schannel Connection */ struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; char * const hostname = SSL_IS_PROXY() ? conn->http_proxy.host.name : conn->host.name; DEBUGASSERT(data); infof(data, "schannel: shutting down SSL/TLS connection with %s port %hu\n", hostname, conn->remote_port); if(BACKEND->cred && BACKEND->ctxt) { SecBufferDesc BuffDesc; SecBuffer Buffer; SECURITY_STATUS sspi_status; SecBuffer outbuf; SecBufferDesc outbuf_desc; CURLcode result; TCHAR *host_name; DWORD dwshut = SCHANNEL_SHUTDOWN; InitSecBuffer(&Buffer, SECBUFFER_TOKEN, &dwshut, sizeof(dwshut)); InitSecBufferDesc(&BuffDesc, &Buffer, 1); sspi_status = s_pSecFn->ApplyControlToken(&BACKEND->ctxt->ctxt_handle, &BuffDesc); if(sspi_status != SEC_E_OK) { char buffer[STRERROR_LEN]; failf(data, "schannel: ApplyControlToken failure: %s", Curl_sspi_strerror(sspi_status, buffer, sizeof(buffer))); } host_name = Curl_convert_UTF8_to_tchar(hostname); if(!host_name) return CURLE_OUT_OF_MEMORY; /* setup output buffer */ InitSecBuffer(&outbuf, SECBUFFER_EMPTY, NULL, 0); |
︙ | ︙ | |||
2019 2020 2021 2022 2023 2024 2025 | " (bytes written: %zd)\n", curl_easy_strerror(result), written); } } } /* free SSPI Schannel API security context handle */ if(BACKEND->ctxt) { | | < | < | | 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 | " (bytes written: %zd)\n", curl_easy_strerror(result), written); } } } /* free SSPI Schannel API security context handle */ if(BACKEND->ctxt) { DEBUGF(infof(data, "schannel: clear security context handle\n")); s_pSecFn->DeleteSecurityContext(&BACKEND->ctxt->ctxt_handle); Curl_safefree(BACKEND->ctxt); } /* free SSPI Schannel API credential handle */ if(BACKEND->cred) { /* * When this function is called from Curl_schannel_close() the connection * might not have an associated transfer so the check for conn->data is * necessary. */ Curl_ssl_sessionid_lock(conn); Curl_schannel_session_free(BACKEND->cred); Curl_ssl_sessionid_unlock(conn); BACKEND->cred = NULL; } /* free internal buffer for received encrypted data */ if(BACKEND->encdata_buffer != NULL) { Curl_safefree(BACKEND->encdata_buffer); BACKEND->encdata_length = 0; |
︙ | ︙ | |||
2097 2098 2099 2100 2101 2102 2103 | CryptReleaseContext(hCryptProv, 0UL); return CURLE_OK; } static CURLcode pkp_pin_peer_pubkey(struct connectdata *conn, int sockindex, const char *pinnedpubkey) { | | > | | | | > | | 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 | CryptReleaseContext(hCryptProv, 0UL); return CURLE_OK; } static CURLcode pkp_pin_peer_pubkey(struct connectdata *conn, int sockindex, const char *pinnedpubkey) { SECURITY_STATUS sspi_status; struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; CERT_CONTEXT *pCertContextServer = NULL; const char *x509_der; DWORD x509_der_len; curl_X509certificate x509_parsed; curl_asn1Element *pubkey; /* Result is returned to caller */ CURLcode result = CURLE_SSL_PINNEDPUBKEYNOTMATCH; /* if a path wasn't specified, don't pin */ if(!pinnedpubkey) return CURLE_OK; do { sspi_status = s_pSecFn->QueryContextAttributes(&BACKEND->ctxt->ctxt_handle, SECPKG_ATTR_REMOTE_CERT_CONTEXT, &pCertContextServer); if((sspi_status != SEC_E_OK) || (pCertContextServer == NULL)) { char buffer[STRERROR_LEN]; failf(data, "schannel: Failed to read remote certificate context: %s", Curl_sspi_strerror(sspi_status, buffer, sizeof(buffer))); break; /* failed */ } if(!(((pCertContextServer->dwCertEncodingType & X509_ASN_ENCODING) != 0) && (pCertContextServer->cbCertEncoded > 0))) break; |
︙ | ︙ |
Changes to jni/curl/lib/vtls/schannel_verify.c.
︙ | ︙ | |||
92 93 94 95 96 97 98 99 100 | DWORD total_bytes_read = 0; bool more_certs = 0; int num_certs = 0; size_t END_CERT_LEN; ca_file_tstr = Curl_convert_UTF8_to_tchar((char *)ca_file); if(!ca_file_tstr) { failf(data, "schannel: invalid path name for CA file '%s': %s", | > | > | > | | 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | DWORD total_bytes_read = 0; bool more_certs = 0; int num_certs = 0; size_t END_CERT_LEN; ca_file_tstr = Curl_convert_UTF8_to_tchar((char *)ca_file); if(!ca_file_tstr) { char buffer[STRERROR_LEN]; failf(data, "schannel: invalid path name for CA file '%s': %s", ca_file, Curl_strerror(GetLastError(), buffer, sizeof(buffer))); result = CURLE_SSL_CACERT_BADFILE; goto cleanup; } /* * Read the CA file completely into memory before parsing it. This * optimizes for the common case where the CA file will be relatively * small ( < 1 MiB ). */ ca_file_handle = CreateFile(ca_file_tstr, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if(ca_file_handle == INVALID_HANDLE_VALUE) { char buffer[STRERROR_LEN]; failf(data, "schannel: failed to open CA file '%s': %s", ca_file, Curl_strerror(GetLastError(), buffer, sizeof(buffer))); result = CURLE_SSL_CACERT_BADFILE; goto cleanup; } if(!GetFileSizeEx(ca_file_handle, &file_size)) { char buffer[STRERROR_LEN]; failf(data, "schannel: failed to determine size of CA file '%s': %s", ca_file, Curl_strerror(GetLastError(), buffer, sizeof(buffer))); result = CURLE_SSL_CACERT_BADFILE; goto cleanup; } if(file_size.QuadPart > MAX_CAFILE_SIZE) { failf(data, "schannel: CA file exceeds max size of %u bytes", |
︙ | ︙ | |||
149 150 151 152 153 154 155 | result = CURLE_OK; while(total_bytes_read < ca_file_bufsize) { DWORD bytes_to_read = (DWORD)(ca_file_bufsize - total_bytes_read); DWORD bytes_read = 0; if(!ReadFile(ca_file_handle, ca_file_buffer + total_bytes_read, bytes_to_read, &bytes_read, NULL)) { | | | | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | result = CURLE_OK; while(total_bytes_read < ca_file_bufsize) { DWORD bytes_to_read = (DWORD)(ca_file_bufsize - total_bytes_read); DWORD bytes_read = 0; if(!ReadFile(ca_file_handle, ca_file_buffer + total_bytes_read, bytes_to_read, &bytes_read, NULL)) { char buffer[STRERROR_LEN]; failf(data, "schannel: failed to read from CA file '%s': %s", ca_file, Curl_strerror(GetLastError(), buffer, sizeof(buffer))); result = CURLE_SSL_CACERT_BADFILE; goto cleanup; } if(bytes_read == 0) { /* Premature EOF -- adjust the bufsize to the new value */ ca_file_bufsize = total_bytes_read; } |
︙ | ︙ | |||
211 212 213 214 215 216 217 | 0, NULL, &actual_content_type, NULL, NULL, NULL, (const void **)&cert_context)) { | | | > | 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | 0, NULL, &actual_content_type, NULL, NULL, NULL, (const void **)&cert_context)) { char buffer[STRERROR_LEN]; failf(data, "schannel: failed to extract certificate from CA file " "'%s': %s", ca_file, Curl_strerror(GetLastError(), buffer, sizeof(buffer))); result = CURLE_SSL_CACERT_BADFILE; more_certs = 0; } else { current_ca_file_ptr = begin_cert_ptr + cert_size; /* Sanity check that the cert_context object is the right type */ |
︙ | ︙ | |||
239 240 241 242 243 244 245 246 247 248 | add_cert_result = CertAddCertificateContextToStore(trust_store, cert_context, CERT_STORE_ADD_ALWAYS, NULL); CertFreeCertificateContext(cert_context); if(!add_cert_result) { failf(data, "schannel: failed to add certificate from CA file '%s' " "to certificate store: %s", | > | > | 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 | add_cert_result = CertAddCertificateContextToStore(trust_store, cert_context, CERT_STORE_ADD_ALWAYS, NULL); CertFreeCertificateContext(cert_context); if(!add_cert_result) { char buffer[STRERROR_LEN]; failf(data, "schannel: failed to add certificate from CA file '%s' " "to certificate store: %s", ca_file, Curl_strerror(GetLastError(), buffer, sizeof(buffer))); result = CURLE_SSL_CACERT_BADFILE; more_certs = 0; } else { num_certs++; } } |
︙ | ︙ | |||
404 405 406 407 408 409 410 | Curl_unicodefree(cert_hostname_buff); return result; } CURLcode Curl_verify_certificate(struct connectdata *conn, int sockindex) { | | > | | | | > | | 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 | Curl_unicodefree(cert_hostname_buff); return result; } CURLcode Curl_verify_certificate(struct connectdata *conn, int sockindex) { SECURITY_STATUS sspi_status; struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; CURLcode result = CURLE_OK; CERT_CONTEXT *pCertContextServer = NULL; const CERT_CHAIN_CONTEXT *pChainContext = NULL; HCERTCHAINENGINE cert_chain_engine = NULL; HCERTSTORE trust_store = NULL; const char * const conn_hostname = SSL_IS_PROXY() ? conn->http_proxy.host.name : conn->host.name; sspi_status = s_pSecFn->QueryContextAttributes(&BACKEND->ctxt->ctxt_handle, SECPKG_ATTR_REMOTE_CERT_CONTEXT, &pCertContextServer); if((sspi_status != SEC_E_OK) || (pCertContextServer == NULL)) { char buffer[STRERROR_LEN]; failf(data, "schannel: Failed to read remote certificate context: %s", Curl_sspi_strerror(sspi_status, buffer, sizeof(buffer))); result = CURLE_PEER_FAILED_VERIFICATION; } if(result == CURLE_OK && SSL_CONN_CONFIG(CAfile) && BACKEND->use_manual_cred_validation) { /* * Create a chain engine that uses the certificates in the CA file as |
︙ | ︙ | |||
446 447 448 449 450 451 452 453 | /* Open the certificate store */ trust_store = CertOpenStore(CERT_STORE_PROV_MEMORY, 0, (HCRYPTPROV)NULL, CERT_STORE_CREATE_NEW_FLAG, NULL); if(!trust_store) { failf(data, "schannel: failed to create certificate store: %s", | > | | 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 | /* Open the certificate store */ trust_store = CertOpenStore(CERT_STORE_PROV_MEMORY, 0, (HCRYPTPROV)NULL, CERT_STORE_CREATE_NEW_FLAG, NULL); if(!trust_store) { char buffer[STRERROR_LEN]; failf(data, "schannel: failed to create certificate store: %s", Curl_strerror(GetLastError(), buffer, sizeof(buffer))); result = CURLE_SSL_CACERT_BADFILE; } else { result = add_certs_to_store(trust_store, SSL_CONN_CONFIG(CAfile), conn); } } |
︙ | ︙ | |||
473 474 475 476 477 478 479 480 481 | * does not match the expected size. When this occurs, it indicates that * CAINFO is not supported on the version of Windows in use. */ create_engine_result = CertCreateCertificateChainEngine( (CERT_CHAIN_ENGINE_CONFIG *)&engine_config, &cert_chain_engine); if(!create_engine_result) { failf(data, "schannel: failed to create certificate chain engine: %s", | > | > | | 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 | * does not match the expected size. When this occurs, it indicates that * CAINFO is not supported on the version of Windows in use. */ create_engine_result = CertCreateCertificateChainEngine( (CERT_CHAIN_ENGINE_CONFIG *)&engine_config, &cert_chain_engine); if(!create_engine_result) { char buffer[STRERROR_LEN]; failf(data, "schannel: failed to create certificate chain engine: %s", Curl_strerror(GetLastError(), buffer, sizeof(buffer))); result = CURLE_SSL_CACERT_BADFILE; } } } if(result == CURLE_OK) { CERT_CHAIN_PARA ChainPara; memset(&ChainPara, 0, sizeof(ChainPara)); ChainPara.cbSize = sizeof(ChainPara); if(!CertGetCertificateChain(cert_chain_engine, pCertContextServer, NULL, pCertContextServer->hCertStore, &ChainPara, (data->set.ssl.no_revoke ? 0 : CERT_CHAIN_REVOCATION_CHECK_CHAIN), NULL, &pChainContext)) { char buffer[STRERROR_LEN]; failf(data, "schannel: CertGetCertificateChain failed: %s", Curl_strerror(GetLastError(), buffer, sizeof(buffer))); pChainContext = NULL; result = CURLE_PEER_FAILED_VERIFICATION; } if(result == CURLE_OK) { CERT_SIMPLE_CHAIN *pSimpleChain = pChainContext->rgpChain[0]; DWORD dwTrustErrorMask = ~(DWORD)(CERT_TRUST_IS_NOT_TIME_NESTED); |
︙ | ︙ |
Added jni/curl/lib/vtls/sectransp.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2012 - 2017, Nick Zitzmann, <nickzman@gmail.com>. * Copyright (C) 2012 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ /* * Source file for all iOS and macOS SecureTransport-specific code for the * TLS/SSL layer. No code but vtls.c should ever call or use these functions. */ #include "curl_setup.h" #include "urldata.h" /* for the Curl_easy definition */ #include "curl_base64.h" #include "strtok.h" #ifdef USE_SECTRANSP #ifdef __clang__ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wtautological-pointer-compare" #endif /* __clang__ */ #include <limits.h> #include <Security/Security.h> /* For some reason, when building for iOS, the omnibus header above does * not include SecureTransport.h as of iOS SDK 5.1. */ #include <Security/SecureTransport.h> #include <CoreFoundation/CoreFoundation.h> #include <CommonCrypto/CommonDigest.h> /* The Security framework has changed greatly between iOS and different macOS versions, and we will try to support as many of them as we can (back to Leopard and iOS 5) by using macros and weak-linking. In general, you want to build this using the most recent OS SDK, since some features require curl to be built against the latest SDK. TLS 1.1 and 1.2 support, for instance, require the macOS 10.8 SDK or later. TLS 1.3 requires the macOS 10.13 or iOS 11 SDK or later. */ #if (TARGET_OS_MAC && !(TARGET_OS_EMBEDDED || TARGET_OS_IPHONE)) #if MAC_OS_X_VERSION_MAX_ALLOWED < 1050 #error "The Secure Transport back-end requires Leopard or later." #endif /* MAC_OS_X_VERSION_MAX_ALLOWED < 1050 */ #define CURL_BUILD_IOS 0 #define CURL_BUILD_IOS_7 0 #define CURL_BUILD_IOS_9 0 #define CURL_BUILD_IOS_11 0 #define CURL_BUILD_MAC 1 /* This is the maximum API level we are allowed to use when building: */ #define CURL_BUILD_MAC_10_5 MAC_OS_X_VERSION_MAX_ALLOWED >= 1050 #define CURL_BUILD_MAC_10_6 MAC_OS_X_VERSION_MAX_ALLOWED >= 1060 #define CURL_BUILD_MAC_10_7 MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 #define CURL_BUILD_MAC_10_8 MAC_OS_X_VERSION_MAX_ALLOWED >= 1080 #define CURL_BUILD_MAC_10_9 MAC_OS_X_VERSION_MAX_ALLOWED >= 1090 #define CURL_BUILD_MAC_10_11 MAC_OS_X_VERSION_MAX_ALLOWED >= 101100 #define CURL_BUILD_MAC_10_13 MAC_OS_X_VERSION_MAX_ALLOWED >= 101300 /* These macros mean "the following code is present to allow runtime backward compatibility with at least this cat or earlier": (You set this at build-time using the compiler command line option "-mmacos-version-min.") */ #define CURL_SUPPORT_MAC_10_5 MAC_OS_X_VERSION_MIN_REQUIRED <= 1050 #define CURL_SUPPORT_MAC_10_6 MAC_OS_X_VERSION_MIN_REQUIRED <= 1060 #define CURL_SUPPORT_MAC_10_7 MAC_OS_X_VERSION_MIN_REQUIRED <= 1070 #define CURL_SUPPORT_MAC_10_8 MAC_OS_X_VERSION_MIN_REQUIRED <= 1080 #define CURL_SUPPORT_MAC_10_9 MAC_OS_X_VERSION_MIN_REQUIRED <= 1090 #elif TARGET_OS_EMBEDDED || TARGET_OS_IPHONE #define CURL_BUILD_IOS 1 #define CURL_BUILD_IOS_7 __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000 #define CURL_BUILD_IOS_9 __IPHONE_OS_VERSION_MAX_ALLOWED >= 90000 #define CURL_BUILD_IOS_11 __IPHONE_OS_VERSION_MAX_ALLOWED >= 110000 #define CURL_BUILD_MAC 0 #define CURL_BUILD_MAC_10_5 0 #define CURL_BUILD_MAC_10_6 0 #define CURL_BUILD_MAC_10_7 0 #define CURL_BUILD_MAC_10_8 0 #define CURL_BUILD_MAC_10_9 0 #define CURL_BUILD_MAC_10_11 0 #define CURL_BUILD_MAC_10_13 0 #define CURL_SUPPORT_MAC_10_5 0 #define CURL_SUPPORT_MAC_10_6 0 #define CURL_SUPPORT_MAC_10_7 0 #define CURL_SUPPORT_MAC_10_8 0 #define CURL_SUPPORT_MAC_10_9 0 #else #error "The Secure Transport back-end requires iOS or macOS." #endif /* (TARGET_OS_MAC && !(TARGET_OS_EMBEDDED || TARGET_OS_IPHONE)) */ #if CURL_BUILD_MAC #include <sys/sysctl.h> #endif /* CURL_BUILD_MAC */ #include "urldata.h" #include "sendf.h" #include "inet_pton.h" #include "connect.h" #include "select.h" #include "vtls.h" #include "sectransp.h" #include "curl_printf.h" #include "strdup.h" #include "curl_memory.h" /* The last #include file should be: */ #include "memdebug.h" /* From MacTypes.h (which we can't include because it isn't present in iOS: */ #define ioErr -36 #define paramErr -50 struct ssl_backend_data { SSLContextRef ssl_ctx; curl_socket_t ssl_sockfd; bool ssl_direction; /* true if writing, false if reading */ size_t ssl_write_buffered_length; }; #define BACKEND connssl->backend /* pinned public key support tests */ /* version 1 supports macOS 10.12+ and iOS 10+ */ #if ((TARGET_OS_IPHONE && __IPHONE_OS_VERSION_MIN_REQUIRED >= 100000) || \ (!TARGET_OS_IPHONE && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200)) #define SECTRANSP_PINNEDPUBKEY_V1 1 #endif /* version 2 supports MacOSX 10.7+ */ #if (!TARGET_OS_IPHONE && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070) #define SECTRANSP_PINNEDPUBKEY_V2 1 #endif #if defined(SECTRANSP_PINNEDPUBKEY_V1) || defined(SECTRANSP_PINNEDPUBKEY_V2) /* this backend supports CURLOPT_PINNEDPUBLICKEY */ #define SECTRANSP_PINNEDPUBKEY 1 #endif /* SECTRANSP_PINNEDPUBKEY */ #ifdef SECTRANSP_PINNEDPUBKEY /* both new and old APIs return rsa keys missing the spki header (not DER) */ static const unsigned char rsa4096SpkiHeader[] = { 0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00}; static const unsigned char rsa2048SpkiHeader[] = { 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00}; #ifdef SECTRANSP_PINNEDPUBKEY_V1 /* the *new* version doesn't return DER encoded ecdsa certs like the old... */ static const unsigned char ecDsaSecp256r1SpkiHeader[] = { 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00}; static const unsigned char ecDsaSecp384r1SpkiHeader[] = { 0x30, 0x76, 0x30, 0x10, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x22, 0x03, 0x62, 0x00}; #endif /* SECTRANSP_PINNEDPUBKEY_V1 */ #endif /* SECTRANSP_PINNEDPUBKEY */ /* The following two functions were ripped from Apple sample code, * with some modifications: */ static OSStatus SocketRead(SSLConnectionRef connection, void *data, /* owned by * caller, data * RETURNED */ size_t *dataLength) /* IN/OUT */ { size_t bytesToGo = *dataLength; size_t initLen = bytesToGo; UInt8 *currData = (UInt8 *)data; /*int sock = *(int *)connection;*/ struct ssl_connect_data *connssl = (struct ssl_connect_data *)connection; int sock = BACKEND->ssl_sockfd; OSStatus rtn = noErr; size_t bytesRead; ssize_t rrtn; int theErr; *dataLength = 0; for(;;) { bytesRead = 0; rrtn = read(sock, currData, bytesToGo); if(rrtn <= 0) { /* this is guesswork... */ theErr = errno; if(rrtn == 0) { /* EOF = server hung up */ /* the framework will turn this into errSSLClosedNoNotify */ rtn = errSSLClosedGraceful; } else /* do the switch */ switch(theErr) { case ENOENT: /* connection closed */ rtn = errSSLClosedGraceful; break; case ECONNRESET: rtn = errSSLClosedAbort; break; case EAGAIN: rtn = errSSLWouldBlock; BACKEND->ssl_direction = false; break; default: rtn = ioErr; break; } break; } else { bytesRead = rrtn; } bytesToGo -= bytesRead; currData += bytesRead; if(bytesToGo == 0) { /* filled buffer with incoming data, done */ break; } } *dataLength = initLen - bytesToGo; return rtn; } static OSStatus SocketWrite(SSLConnectionRef connection, const void *data, size_t *dataLength) /* IN/OUT */ { size_t bytesSent = 0; /*int sock = *(int *)connection;*/ struct ssl_connect_data *connssl = (struct ssl_connect_data *)connection; int sock = BACKEND->ssl_sockfd; ssize_t length; size_t dataLen = *dataLength; const UInt8 *dataPtr = (UInt8 *)data; OSStatus ortn; int theErr; *dataLength = 0; do { length = write(sock, (char *)dataPtr + bytesSent, dataLen - bytesSent); } while((length > 0) && ( (bytesSent += length) < dataLen) ); if(length <= 0) { theErr = errno; if(theErr == EAGAIN) { ortn = errSSLWouldBlock; BACKEND->ssl_direction = true; } else { ortn = ioErr; } } else { ortn = noErr; } *dataLength = bytesSent; return ortn; } #ifndef CURL_DISABLE_VERBOSE_STRINGS CF_INLINE const char *SSLCipherNameForNumber(SSLCipherSuite cipher) { switch(cipher) { /* SSL version 3.0 */ case SSL_RSA_WITH_NULL_MD5: return "SSL_RSA_WITH_NULL_MD5"; break; case SSL_RSA_WITH_NULL_SHA: return "SSL_RSA_WITH_NULL_SHA"; break; case SSL_RSA_EXPORT_WITH_RC4_40_MD5: return "SSL_RSA_EXPORT_WITH_RC4_40_MD5"; break; case SSL_RSA_WITH_RC4_128_MD5: return "SSL_RSA_WITH_RC4_128_MD5"; break; case SSL_RSA_WITH_RC4_128_SHA: return "SSL_RSA_WITH_RC4_128_SHA"; break; case SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5: return "SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5"; break; case SSL_RSA_WITH_IDEA_CBC_SHA: return "SSL_RSA_WITH_IDEA_CBC_SHA"; break; case SSL_RSA_EXPORT_WITH_DES40_CBC_SHA: return "SSL_RSA_EXPORT_WITH_DES40_CBC_SHA"; break; case SSL_RSA_WITH_DES_CBC_SHA: return "SSL_RSA_WITH_DES_CBC_SHA"; break; case SSL_RSA_WITH_3DES_EDE_CBC_SHA: return "SSL_RSA_WITH_3DES_EDE_CBC_SHA"; break; case SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA: return "SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA"; break; case SSL_DH_DSS_WITH_DES_CBC_SHA: return "SSL_DH_DSS_WITH_DES_CBC_SHA"; break; case SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA: return "SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA"; break; case SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA: return "SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA"; break; case SSL_DH_RSA_WITH_DES_CBC_SHA: return "SSL_DH_RSA_WITH_DES_CBC_SHA"; break; case SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA: return "SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA"; break; case SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA: return "SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA"; break; case SSL_DHE_DSS_WITH_DES_CBC_SHA: return "SSL_DHE_DSS_WITH_DES_CBC_SHA"; break; case SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA: return "SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA"; break; case SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA: return "SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA"; break; case SSL_DHE_RSA_WITH_DES_CBC_SHA: return "SSL_DHE_RSA_WITH_DES_CBC_SHA"; break; case SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA: return "SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA"; break; case SSL_DH_anon_EXPORT_WITH_RC4_40_MD5: return "SSL_DH_anon_EXPORT_WITH_RC4_40_MD5"; break; case SSL_DH_anon_WITH_RC4_128_MD5: return "SSL_DH_anon_WITH_RC4_128_MD5"; break; case SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA: return "SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA"; break; case SSL_DH_anon_WITH_DES_CBC_SHA: return "SSL_DH_anon_WITH_DES_CBC_SHA"; break; case SSL_DH_anon_WITH_3DES_EDE_CBC_SHA: return "SSL_DH_anon_WITH_3DES_EDE_CBC_SHA"; break; case SSL_FORTEZZA_DMS_WITH_NULL_SHA: return "SSL_FORTEZZA_DMS_WITH_NULL_SHA"; break; case SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA: return "SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA"; break; /* TLS 1.0 with AES (RFC 3268) (Apparently these are used in SSLv3 implementations as well.) */ case TLS_RSA_WITH_AES_128_CBC_SHA: return "TLS_RSA_WITH_AES_128_CBC_SHA"; break; case TLS_DH_DSS_WITH_AES_128_CBC_SHA: return "TLS_DH_DSS_WITH_AES_128_CBC_SHA"; break; case TLS_DH_RSA_WITH_AES_128_CBC_SHA: return "TLS_DH_RSA_WITH_AES_128_CBC_SHA"; break; case TLS_DHE_DSS_WITH_AES_128_CBC_SHA: return "TLS_DHE_DSS_WITH_AES_128_CBC_SHA"; break; case TLS_DHE_RSA_WITH_AES_128_CBC_SHA: return "TLS_DHE_RSA_WITH_AES_128_CBC_SHA"; break; case TLS_DH_anon_WITH_AES_128_CBC_SHA: return "TLS_DH_anon_WITH_AES_128_CBC_SHA"; break; case TLS_RSA_WITH_AES_256_CBC_SHA: return "TLS_RSA_WITH_AES_256_CBC_SHA"; break; case TLS_DH_DSS_WITH_AES_256_CBC_SHA: return "TLS_DH_DSS_WITH_AES_256_CBC_SHA"; break; case TLS_DH_RSA_WITH_AES_256_CBC_SHA: return "TLS_DH_RSA_WITH_AES_256_CBC_SHA"; break; case TLS_DHE_DSS_WITH_AES_256_CBC_SHA: return "TLS_DHE_DSS_WITH_AES_256_CBC_SHA"; break; case TLS_DHE_RSA_WITH_AES_256_CBC_SHA: return "TLS_DHE_RSA_WITH_AES_256_CBC_SHA"; break; case TLS_DH_anon_WITH_AES_256_CBC_SHA: return "TLS_DH_anon_WITH_AES_256_CBC_SHA"; break; /* SSL version 2.0 */ case SSL_RSA_WITH_RC2_CBC_MD5: return "SSL_RSA_WITH_RC2_CBC_MD5"; break; case SSL_RSA_WITH_IDEA_CBC_MD5: return "SSL_RSA_WITH_IDEA_CBC_MD5"; break; case SSL_RSA_WITH_DES_CBC_MD5: return "SSL_RSA_WITH_DES_CBC_MD5"; break; case SSL_RSA_WITH_3DES_EDE_CBC_MD5: return "SSL_RSA_WITH_3DES_EDE_CBC_MD5"; break; } return "SSL_NULL_WITH_NULL_NULL"; } CF_INLINE const char *TLSCipherNameForNumber(SSLCipherSuite cipher) { switch(cipher) { /* TLS 1.0 with AES (RFC 3268) */ case TLS_RSA_WITH_AES_128_CBC_SHA: return "TLS_RSA_WITH_AES_128_CBC_SHA"; break; case TLS_DH_DSS_WITH_AES_128_CBC_SHA: return "TLS_DH_DSS_WITH_AES_128_CBC_SHA"; break; case TLS_DH_RSA_WITH_AES_128_CBC_SHA: return "TLS_DH_RSA_WITH_AES_128_CBC_SHA"; break; case TLS_DHE_DSS_WITH_AES_128_CBC_SHA: return "TLS_DHE_DSS_WITH_AES_128_CBC_SHA"; break; case TLS_DHE_RSA_WITH_AES_128_CBC_SHA: return "TLS_DHE_RSA_WITH_AES_128_CBC_SHA"; break; case TLS_DH_anon_WITH_AES_128_CBC_SHA: return "TLS_DH_anon_WITH_AES_128_CBC_SHA"; break; case TLS_RSA_WITH_AES_256_CBC_SHA: return "TLS_RSA_WITH_AES_256_CBC_SHA"; break; case TLS_DH_DSS_WITH_AES_256_CBC_SHA: return "TLS_DH_DSS_WITH_AES_256_CBC_SHA"; break; case TLS_DH_RSA_WITH_AES_256_CBC_SHA: return "TLS_DH_RSA_WITH_AES_256_CBC_SHA"; break; case TLS_DHE_DSS_WITH_AES_256_CBC_SHA: return "TLS_DHE_DSS_WITH_AES_256_CBC_SHA"; break; case TLS_DHE_RSA_WITH_AES_256_CBC_SHA: return "TLS_DHE_RSA_WITH_AES_256_CBC_SHA"; break; case TLS_DH_anon_WITH_AES_256_CBC_SHA: return "TLS_DH_anon_WITH_AES_256_CBC_SHA"; break; #if CURL_BUILD_MAC_10_6 || CURL_BUILD_IOS /* TLS 1.0 with ECDSA (RFC 4492) */ case TLS_ECDH_ECDSA_WITH_NULL_SHA: return "TLS_ECDH_ECDSA_WITH_NULL_SHA"; break; case TLS_ECDH_ECDSA_WITH_RC4_128_SHA: return "TLS_ECDH_ECDSA_WITH_RC4_128_SHA"; break; case TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA: return "TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA"; break; case TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA: return "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA"; break; case TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA: return "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA"; break; case TLS_ECDHE_ECDSA_WITH_NULL_SHA: return "TLS_ECDHE_ECDSA_WITH_NULL_SHA"; break; case TLS_ECDHE_ECDSA_WITH_RC4_128_SHA: return "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA"; break; case TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA: return "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA"; break; case TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: return "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA"; break; case TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: return "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA"; break; case TLS_ECDH_RSA_WITH_NULL_SHA: return "TLS_ECDH_RSA_WITH_NULL_SHA"; break; case TLS_ECDH_RSA_WITH_RC4_128_SHA: return "TLS_ECDH_RSA_WITH_RC4_128_SHA"; break; case TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA: return "TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA"; break; case TLS_ECDH_RSA_WITH_AES_128_CBC_SHA: return "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA"; break; case TLS_ECDH_RSA_WITH_AES_256_CBC_SHA: return "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA"; break; case TLS_ECDHE_RSA_WITH_NULL_SHA: return "TLS_ECDHE_RSA_WITH_NULL_SHA"; break; case TLS_ECDHE_RSA_WITH_RC4_128_SHA: return "TLS_ECDHE_RSA_WITH_RC4_128_SHA"; break; case TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA: return "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA"; break; case TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA: return "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"; break; case TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA: return "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"; break; case TLS_ECDH_anon_WITH_NULL_SHA: return "TLS_ECDH_anon_WITH_NULL_SHA"; break; case TLS_ECDH_anon_WITH_RC4_128_SHA: return "TLS_ECDH_anon_WITH_RC4_128_SHA"; break; case TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA: return "TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA"; break; case TLS_ECDH_anon_WITH_AES_128_CBC_SHA: return "TLS_ECDH_anon_WITH_AES_128_CBC_SHA"; break; case TLS_ECDH_anon_WITH_AES_256_CBC_SHA: return "TLS_ECDH_anon_WITH_AES_256_CBC_SHA"; break; #endif /* CURL_BUILD_MAC_10_6 || CURL_BUILD_IOS */ #if CURL_BUILD_MAC_10_8 || CURL_BUILD_IOS /* TLS 1.2 (RFC 5246) */ case TLS_RSA_WITH_NULL_MD5: return "TLS_RSA_WITH_NULL_MD5"; break; case TLS_RSA_WITH_NULL_SHA: return "TLS_RSA_WITH_NULL_SHA"; break; case TLS_RSA_WITH_RC4_128_MD5: return "TLS_RSA_WITH_RC4_128_MD5"; break; case TLS_RSA_WITH_RC4_128_SHA: return "TLS_RSA_WITH_RC4_128_SHA"; break; case TLS_RSA_WITH_3DES_EDE_CBC_SHA: return "TLS_RSA_WITH_3DES_EDE_CBC_SHA"; break; case TLS_RSA_WITH_NULL_SHA256: return "TLS_RSA_WITH_NULL_SHA256"; break; case TLS_RSA_WITH_AES_128_CBC_SHA256: return "TLS_RSA_WITH_AES_128_CBC_SHA256"; break; case TLS_RSA_WITH_AES_256_CBC_SHA256: return "TLS_RSA_WITH_AES_256_CBC_SHA256"; break; case TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA: return "TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA"; break; case TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA: return "TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA"; break; case TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA: return "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA"; break; case TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA: return "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA"; break; case TLS_DH_DSS_WITH_AES_128_CBC_SHA256: return "TLS_DH_DSS_WITH_AES_128_CBC_SHA256"; break; case TLS_DH_RSA_WITH_AES_128_CBC_SHA256: return "TLS_DH_RSA_WITH_AES_128_CBC_SHA256"; break; case TLS_DHE_DSS_WITH_AES_128_CBC_SHA256: return "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256"; break; case TLS_DHE_RSA_WITH_AES_128_CBC_SHA256: return "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256"; break; case TLS_DH_DSS_WITH_AES_256_CBC_SHA256: return "TLS_DH_DSS_WITH_AES_256_CBC_SHA256"; break; case TLS_DH_RSA_WITH_AES_256_CBC_SHA256: return "TLS_DH_RSA_WITH_AES_256_CBC_SHA256"; break; case TLS_DHE_DSS_WITH_AES_256_CBC_SHA256: return "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256"; break; case TLS_DHE_RSA_WITH_AES_256_CBC_SHA256: return "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256"; break; case TLS_DH_anon_WITH_RC4_128_MD5: return "TLS_DH_anon_WITH_RC4_128_MD5"; break; case TLS_DH_anon_WITH_3DES_EDE_CBC_SHA: return "TLS_DH_anon_WITH_3DES_EDE_CBC_SHA"; break; case TLS_DH_anon_WITH_AES_128_CBC_SHA256: return "TLS_DH_anon_WITH_AES_128_CBC_SHA256"; break; case TLS_DH_anon_WITH_AES_256_CBC_SHA256: return "TLS_DH_anon_WITH_AES_256_CBC_SHA256"; break; /* TLS 1.2 with AES GCM (RFC 5288) */ case TLS_RSA_WITH_AES_128_GCM_SHA256: return "TLS_RSA_WITH_AES_128_GCM_SHA256"; break; case TLS_RSA_WITH_AES_256_GCM_SHA384: return "TLS_RSA_WITH_AES_256_GCM_SHA384"; break; case TLS_DHE_RSA_WITH_AES_128_GCM_SHA256: return "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256"; break; case TLS_DHE_RSA_WITH_AES_256_GCM_SHA384: return "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384"; break; case TLS_DH_RSA_WITH_AES_128_GCM_SHA256: return "TLS_DH_RSA_WITH_AES_128_GCM_SHA256"; break; case TLS_DH_RSA_WITH_AES_256_GCM_SHA384: return "TLS_DH_RSA_WITH_AES_256_GCM_SHA384"; break; case TLS_DHE_DSS_WITH_AES_128_GCM_SHA256: return "TLS_DHE_DSS_WITH_AES_128_GCM_SHA256"; break; case TLS_DHE_DSS_WITH_AES_256_GCM_SHA384: return "TLS_DHE_DSS_WITH_AES_256_GCM_SHA384"; break; case TLS_DH_DSS_WITH_AES_128_GCM_SHA256: return "TLS_DH_DSS_WITH_AES_128_GCM_SHA256"; break; case TLS_DH_DSS_WITH_AES_256_GCM_SHA384: return "TLS_DH_DSS_WITH_AES_256_GCM_SHA384"; break; case TLS_DH_anon_WITH_AES_128_GCM_SHA256: return "TLS_DH_anon_WITH_AES_128_GCM_SHA256"; break; case TLS_DH_anon_WITH_AES_256_GCM_SHA384: return "TLS_DH_anon_WITH_AES_256_GCM_SHA384"; break; /* TLS 1.2 with elliptic curve ciphers (RFC 5289) */ case TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: return "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"; break; case TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384: return "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384"; break; case TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256: return "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256"; break; case TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384: return "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384"; break; case TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256: return "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"; break; case TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384: return "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"; break; case TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256: return "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256"; break; case TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384: return "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384"; break; case TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: return "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"; break; case TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: return "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"; break; case TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256: return "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256"; break; case TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384: return "TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384"; break; case TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256: return "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"; break; case TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: return "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"; break; case TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256: return "TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256"; break; case TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384: return "TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384"; break; case TLS_EMPTY_RENEGOTIATION_INFO_SCSV: return "TLS_EMPTY_RENEGOTIATION_INFO_SCSV"; break; #else case SSL_RSA_WITH_NULL_MD5: return "TLS_RSA_WITH_NULL_MD5"; break; case SSL_RSA_WITH_NULL_SHA: return "TLS_RSA_WITH_NULL_SHA"; break; case SSL_RSA_WITH_RC4_128_MD5: return "TLS_RSA_WITH_RC4_128_MD5"; break; case SSL_RSA_WITH_RC4_128_SHA: return "TLS_RSA_WITH_RC4_128_SHA"; break; case SSL_RSA_WITH_3DES_EDE_CBC_SHA: return "TLS_RSA_WITH_3DES_EDE_CBC_SHA"; break; case SSL_DH_anon_WITH_RC4_128_MD5: return "TLS_DH_anon_WITH_RC4_128_MD5"; break; case SSL_DH_anon_WITH_3DES_EDE_CBC_SHA: return "TLS_DH_anon_WITH_3DES_EDE_CBC_SHA"; break; #endif /* CURL_BUILD_MAC_10_8 || CURL_BUILD_IOS */ #if CURL_BUILD_MAC_10_9 || CURL_BUILD_IOS_7 /* TLS PSK (RFC 4279): */ case TLS_PSK_WITH_RC4_128_SHA: return "TLS_PSK_WITH_RC4_128_SHA"; break; case TLS_PSK_WITH_3DES_EDE_CBC_SHA: return "TLS_PSK_WITH_3DES_EDE_CBC_SHA"; break; case TLS_PSK_WITH_AES_128_CBC_SHA: return "TLS_PSK_WITH_AES_128_CBC_SHA"; break; case TLS_PSK_WITH_AES_256_CBC_SHA: return "TLS_PSK_WITH_AES_256_CBC_SHA"; break; case TLS_DHE_PSK_WITH_RC4_128_SHA: return "TLS_DHE_PSK_WITH_RC4_128_SHA"; break; case TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA: return "TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA"; break; case TLS_DHE_PSK_WITH_AES_128_CBC_SHA: return "TLS_DHE_PSK_WITH_AES_128_CBC_SHA"; break; case TLS_DHE_PSK_WITH_AES_256_CBC_SHA: return "TLS_DHE_PSK_WITH_AES_256_CBC_SHA"; break; case TLS_RSA_PSK_WITH_RC4_128_SHA: return "TLS_RSA_PSK_WITH_RC4_128_SHA"; break; case TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA: return "TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA"; break; case TLS_RSA_PSK_WITH_AES_128_CBC_SHA: return "TLS_RSA_PSK_WITH_AES_128_CBC_SHA"; break; case TLS_RSA_PSK_WITH_AES_256_CBC_SHA: return "TLS_RSA_PSK_WITH_AES_256_CBC_SHA"; break; /* More TLS PSK (RFC 4785): */ case TLS_PSK_WITH_NULL_SHA: return "TLS_PSK_WITH_NULL_SHA"; break; case TLS_DHE_PSK_WITH_NULL_SHA: return "TLS_DHE_PSK_WITH_NULL_SHA"; break; case TLS_RSA_PSK_WITH_NULL_SHA: return "TLS_RSA_PSK_WITH_NULL_SHA"; break; /* Even more TLS PSK (RFC 5487): */ case TLS_PSK_WITH_AES_128_GCM_SHA256: return "TLS_PSK_WITH_AES_128_GCM_SHA256"; break; case TLS_PSK_WITH_AES_256_GCM_SHA384: return "TLS_PSK_WITH_AES_256_GCM_SHA384"; break; case TLS_DHE_PSK_WITH_AES_128_GCM_SHA256: return "TLS_DHE_PSK_WITH_AES_128_GCM_SHA256"; break; case TLS_DHE_PSK_WITH_AES_256_GCM_SHA384: return "TLS_DHE_PSK_WITH_AES_256_GCM_SHA384"; break; case TLS_RSA_PSK_WITH_AES_128_GCM_SHA256: return "TLS_RSA_PSK_WITH_AES_128_GCM_SHA256"; break; case TLS_RSA_PSK_WITH_AES_256_GCM_SHA384: return "TLS_PSK_WITH_AES_256_GCM_SHA384"; break; case TLS_PSK_WITH_AES_128_CBC_SHA256: return "TLS_PSK_WITH_AES_128_CBC_SHA256"; break; case TLS_PSK_WITH_AES_256_CBC_SHA384: return "TLS_PSK_WITH_AES_256_CBC_SHA384"; break; case TLS_PSK_WITH_NULL_SHA256: return "TLS_PSK_WITH_NULL_SHA256"; break; case TLS_PSK_WITH_NULL_SHA384: return "TLS_PSK_WITH_NULL_SHA384"; break; case TLS_DHE_PSK_WITH_AES_128_CBC_SHA256: return "TLS_DHE_PSK_WITH_AES_128_CBC_SHA256"; break; case TLS_DHE_PSK_WITH_AES_256_CBC_SHA384: return "TLS_DHE_PSK_WITH_AES_256_CBC_SHA384"; break; case TLS_DHE_PSK_WITH_NULL_SHA256: return "TLS_DHE_PSK_WITH_NULL_SHA256"; break; case TLS_DHE_PSK_WITH_NULL_SHA384: return "TLS_RSA_PSK_WITH_NULL_SHA384"; break; case TLS_RSA_PSK_WITH_AES_128_CBC_SHA256: return "TLS_RSA_PSK_WITH_AES_128_CBC_SHA256"; break; case TLS_RSA_PSK_WITH_AES_256_CBC_SHA384: return "TLS_RSA_PSK_WITH_AES_256_CBC_SHA384"; break; case TLS_RSA_PSK_WITH_NULL_SHA256: return "TLS_RSA_PSK_WITH_NULL_SHA256"; break; case TLS_RSA_PSK_WITH_NULL_SHA384: return "TLS_RSA_PSK_WITH_NULL_SHA384"; break; #endif /* CURL_BUILD_MAC_10_9 || CURL_BUILD_IOS_7 */ #if CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11 /* New ChaCha20+Poly1305 cipher-suites used by TLS 1.3: */ case TLS_AES_128_GCM_SHA256: return "TLS_AES_128_GCM_SHA256"; break; case TLS_AES_256_GCM_SHA384: return "TLS_AES_256_GCM_SHA384"; break; case TLS_CHACHA20_POLY1305_SHA256: return "TLS_CHACHA20_POLY1305_SHA256"; break; case TLS_AES_128_CCM_SHA256: return "TLS_AES_128_CCM_SHA256"; break; case TLS_AES_128_CCM_8_SHA256: return "TLS_AES_128_CCM_8_SHA256"; break; case TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256: return "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256"; break; case TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256: return "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256"; break; #endif /* CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11 */ } return "TLS_NULL_WITH_NULL_NULL"; } #endif /* !CURL_DISABLE_VERBOSE_STRINGS */ #if CURL_BUILD_MAC CF_INLINE void GetDarwinVersionNumber(int *major, int *minor) { int mib[2]; char *os_version; size_t os_version_len; char *os_version_major, *os_version_minor; char *tok_buf; /* Get the Darwin kernel version from the kernel using sysctl(): */ mib[0] = CTL_KERN; mib[1] = KERN_OSRELEASE; if(sysctl(mib, 2, NULL, &os_version_len, NULL, 0) == -1) return; os_version = malloc(os_version_len*sizeof(char)); if(!os_version) return; if(sysctl(mib, 2, os_version, &os_version_len, NULL, 0) == -1) { free(os_version); return; } /* Parse the version: */ os_version_major = strtok_r(os_version, ".", &tok_buf); os_version_minor = strtok_r(NULL, ".", &tok_buf); *major = atoi(os_version_major); *minor = atoi(os_version_minor); free(os_version); } #endif /* CURL_BUILD_MAC */ /* Apple provides a myriad of ways of getting information about a certificate into a string. Some aren't available under iOS or newer cats. So here's a unified function for getting a string describing the certificate that ought to work in all cats starting with Leopard. */ CF_INLINE CFStringRef getsubject(SecCertificateRef cert) { CFStringRef server_cert_summary = CFSTR("(null)"); #if CURL_BUILD_IOS /* iOS: There's only one way to do this. */ server_cert_summary = SecCertificateCopySubjectSummary(cert); #else #if CURL_BUILD_MAC_10_7 /* Lion & later: Get the long description if we can. */ if(SecCertificateCopyLongDescription != NULL) server_cert_summary = SecCertificateCopyLongDescription(NULL, cert, NULL); else #endif /* CURL_BUILD_MAC_10_7 */ #if CURL_BUILD_MAC_10_6 /* Snow Leopard: Get the certificate summary. */ if(SecCertificateCopySubjectSummary != NULL) server_cert_summary = SecCertificateCopySubjectSummary(cert); else #endif /* CURL_BUILD_MAC_10_6 */ /* Leopard is as far back as we go... */ (void)SecCertificateCopyCommonName(cert, &server_cert_summary); #endif /* CURL_BUILD_IOS */ return server_cert_summary; } static CURLcode CopyCertSubject(struct Curl_easy *data, SecCertificateRef cert, char **certp) { CFStringRef c = getsubject(cert); CURLcode result = CURLE_OK; const char *direct; char *cbuf = NULL; *certp = NULL; if(!c) { failf(data, "SSL: invalid CA certificate subject"); return CURLE_PEER_FAILED_VERIFICATION; } /* If the subject is already available as UTF-8 encoded (ie 'direct') then use that, else convert it. */ direct = CFStringGetCStringPtr(c, kCFStringEncodingUTF8); if(direct) { *certp = strdup(direct); if(!*certp) { failf(data, "SSL: out of memory"); result = CURLE_OUT_OF_MEMORY; } } else { size_t cbuf_size = ((size_t)CFStringGetLength(c) * 4) + 1; cbuf = calloc(cbuf_size, 1); if(cbuf) { if(!CFStringGetCString(c, cbuf, cbuf_size, kCFStringEncodingUTF8)) { failf(data, "SSL: invalid CA certificate subject"); result = CURLE_PEER_FAILED_VERIFICATION; } else /* pass back the buffer */ *certp = cbuf; } else { failf(data, "SSL: couldn't allocate %zu bytes of memory", cbuf_size); result = CURLE_OUT_OF_MEMORY; } } if(result) free(cbuf); CFRelease(c); return result; } #if CURL_SUPPORT_MAC_10_6 /* The SecKeychainSearch API was deprecated in Lion, and using it will raise deprecation warnings, so let's not compile this unless it's necessary: */ static OSStatus CopyIdentityWithLabelOldSchool(char *label, SecIdentityRef *out_c_a_k) { OSStatus status = errSecItemNotFound; SecKeychainAttributeList attr_list; SecKeychainAttribute attr; SecKeychainSearchRef search = NULL; SecCertificateRef cert = NULL; /* Set up the attribute list: */ attr_list.count = 1L; attr_list.attr = &attr; /* Set up our lone search criterion: */ attr.tag = kSecLabelItemAttr; attr.data = label; attr.length = (UInt32)strlen(label); /* Start searching: */ status = SecKeychainSearchCreateFromAttributes(NULL, kSecCertificateItemClass, &attr_list, &search); if(status == noErr) { status = SecKeychainSearchCopyNext(search, (SecKeychainItemRef *)&cert); if(status == noErr && cert) { /* If we found a certificate, does it have a private key? */ status = SecIdentityCreateWithCertificate(NULL, cert, out_c_a_k); CFRelease(cert); } } if(search) CFRelease(search); return status; } #endif /* CURL_SUPPORT_MAC_10_6 */ static OSStatus CopyIdentityWithLabel(char *label, SecIdentityRef *out_cert_and_key) { OSStatus status = errSecItemNotFound; #if CURL_BUILD_MAC_10_7 || CURL_BUILD_IOS CFArrayRef keys_list; CFIndex keys_list_count; CFIndex i; CFStringRef common_name; /* SecItemCopyMatching() was introduced in iOS and Snow Leopard. kSecClassIdentity was introduced in Lion. If both exist, let's use them to find the certificate. */ if(SecItemCopyMatching != NULL && kSecClassIdentity != NULL) { CFTypeRef keys[5]; CFTypeRef values[5]; CFDictionaryRef query_dict; CFStringRef label_cf = CFStringCreateWithCString(NULL, label, kCFStringEncodingUTF8); /* Set up our search criteria and expected results: */ values[0] = kSecClassIdentity; /* we want a certificate and a key */ keys[0] = kSecClass; values[1] = kCFBooleanTrue; /* we want a reference */ keys[1] = kSecReturnRef; values[2] = kSecMatchLimitAll; /* kSecMatchLimitOne would be better if the * label matching below worked correctly */ keys[2] = kSecMatchLimit; /* identity searches need a SecPolicyRef in order to work */ values[3] = SecPolicyCreateSSL(false, NULL); keys[3] = kSecMatchPolicy; /* match the name of the certificate (doesn't work in macOS 10.12.1) */ values[4] = label_cf; keys[4] = kSecAttrLabel; query_dict = CFDictionaryCreate(NULL, (const void **)keys, (const void **)values, 5L, &kCFCopyStringDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks); CFRelease(values[3]); /* Do we have a match? */ status = SecItemCopyMatching(query_dict, (CFTypeRef *) &keys_list); /* Because kSecAttrLabel matching doesn't work with kSecClassIdentity, * we need to find the correct identity ourselves */ if(status == noErr) { keys_list_count = CFArrayGetCount(keys_list); *out_cert_and_key = NULL; status = 1; for(i = 0; i<keys_list_count; i++) { OSStatus err = noErr; SecCertificateRef cert = NULL; SecIdentityRef identity = (SecIdentityRef) CFArrayGetValueAtIndex(keys_list, i); err = SecIdentityCopyCertificate(identity, &cert); if(err == noErr) { #if CURL_BUILD_IOS common_name = SecCertificateCopySubjectSummary(cert); #elif CURL_BUILD_MAC_10_7 SecCertificateCopyCommonName(cert, &common_name); #endif if(CFStringCompare(common_name, label_cf, 0) == kCFCompareEqualTo) { CFRelease(cert); CFRelease(common_name); CFRetain(identity); *out_cert_and_key = identity; status = noErr; break; } CFRelease(common_name); } CFRelease(cert); } } if(keys_list) CFRelease(keys_list); CFRelease(query_dict); CFRelease(label_cf); } else { #if CURL_SUPPORT_MAC_10_6 /* On Leopard and Snow Leopard, fall back to SecKeychainSearch. */ status = CopyIdentityWithLabelOldSchool(label, out_cert_and_key); #endif /* CURL_SUPPORT_MAC_10_6 */ } #elif CURL_SUPPORT_MAC_10_6 /* For developers building on older cats, we have no choice but to fall back to SecKeychainSearch. */ status = CopyIdentityWithLabelOldSchool(label, out_cert_and_key); #endif /* CURL_BUILD_MAC_10_7 || CURL_BUILD_IOS */ return status; } static OSStatus CopyIdentityFromPKCS12File(const char *cPath, const char *cPassword, SecIdentityRef *out_cert_and_key) { OSStatus status = errSecItemNotFound; CFURLRef pkcs_url = CFURLCreateFromFileSystemRepresentation(NULL, (const UInt8 *)cPath, strlen(cPath), false); CFStringRef password = cPassword ? CFStringCreateWithCString(NULL, cPassword, kCFStringEncodingUTF8) : NULL; CFDataRef pkcs_data = NULL; /* We can import P12 files on iOS or OS X 10.7 or later: */ /* These constants are documented as having first appeared in 10.6 but they raise linker errors when used on that cat for some reason. */ #if CURL_BUILD_MAC_10_7 || CURL_BUILD_IOS if(CFURLCreateDataAndPropertiesFromResource(NULL, pkcs_url, &pkcs_data, NULL, NULL, &status)) { CFArrayRef items = NULL; /* On iOS SecPKCS12Import will never add the client certificate to the * Keychain. * * It gives us back a SecIdentityRef that we can use directly. */ #if CURL_BUILD_IOS const void *cKeys[] = {kSecImportExportPassphrase}; const void *cValues[] = {password}; CFDictionaryRef options = CFDictionaryCreate(NULL, cKeys, cValues, password ? 1L : 0L, NULL, NULL); if(options != NULL) { status = SecPKCS12Import(pkcs_data, options, &items); CFRelease(options); } /* On macOS SecPKCS12Import will always add the client certificate to * the Keychain. * * As this doesn't match iOS, and apps may not want to see their client * certificate saved in the the user's keychain, we use SecItemImport * with a NULL keychain to avoid importing it. * * This returns a SecCertificateRef from which we can construct a * SecIdentityRef. */ #elif CURL_BUILD_MAC_10_7 SecItemImportExportKeyParameters keyParams; SecExternalFormat inputFormat = kSecFormatPKCS12; SecExternalItemType inputType = kSecItemTypeCertificate; memset(&keyParams, 0x00, sizeof(keyParams)); keyParams.version = SEC_KEY_IMPORT_EXPORT_PARAMS_VERSION; keyParams.passphrase = password; status = SecItemImport(pkcs_data, NULL, &inputFormat, &inputType, 0, &keyParams, NULL, &items); #endif /* Extract the SecIdentityRef */ if(status == errSecSuccess && items && CFArrayGetCount(items)) { CFIndex i, count; count = CFArrayGetCount(items); for(i = 0; i < count; i++) { CFTypeRef item = (CFTypeRef) CFArrayGetValueAtIndex(items, i); CFTypeID itemID = CFGetTypeID(item); if(itemID == CFDictionaryGetTypeID()) { CFTypeRef identity = (CFTypeRef) CFDictionaryGetValue( (CFDictionaryRef) item, kSecImportItemIdentity); CFRetain(identity); *out_cert_and_key = (SecIdentityRef) identity; break; } #if CURL_BUILD_MAC_10_7 else if(itemID == SecCertificateGetTypeID()) { status = SecIdentityCreateWithCertificate(NULL, (SecCertificateRef) item, out_cert_and_key); break; } #endif } } if(items) CFRelease(items); CFRelease(pkcs_data); } #endif /* CURL_BUILD_MAC_10_7 || CURL_BUILD_IOS */ if(password) CFRelease(password); CFRelease(pkcs_url); return status; } /* This code was borrowed from nss.c, with some modifications: * Determine whether the nickname passed in is a filename that needs to * be loaded as a PEM or a regular NSS nickname. * * returns 1 for a file * returns 0 for not a file */ CF_INLINE bool is_file(const char *filename) { struct_stat st; if(filename == NULL) return false; if(stat(filename, &st) == 0) return S_ISREG(st.st_mode); return false; } #if CURL_BUILD_MAC_10_8 || CURL_BUILD_IOS static CURLcode sectransp_version_from_curl(SSLProtocol *darwinver, long ssl_version) { switch(ssl_version) { case CURL_SSLVERSION_TLSv1_0: *darwinver = kTLSProtocol1; return CURLE_OK; case CURL_SSLVERSION_TLSv1_1: *darwinver = kTLSProtocol11; return CURLE_OK; case CURL_SSLVERSION_TLSv1_2: *darwinver = kTLSProtocol12; return CURLE_OK; case CURL_SSLVERSION_TLSv1_3: /* TLS 1.3 support first appeared in iOS 11 and macOS 10.13 */ #if (CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11) && HAVE_BUILTIN_AVAILABLE == 1 if(__builtin_available(macOS 10.13, iOS 11.0, *)) { *darwinver = kTLSProtocol13; return CURLE_OK; } #endif /* (CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11) && HAVE_BUILTIN_AVAILABLE == 1 */ break; } return CURLE_SSL_CONNECT_ERROR; } #endif static CURLcode set_ssl_version_min_max(struct connectdata *conn, int sockindex) { struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; long ssl_version = SSL_CONN_CONFIG(version); long ssl_version_max = SSL_CONN_CONFIG(version_max); long max_supported_version_by_os; /* macOS 10.5-10.7 supported TLS 1.0 only. macOS 10.8 and later, and iOS 5 and later, added TLS 1.1 and 1.2. macOS 10.13 and later, and iOS 11 and later, added TLS 1.3. */ #if (CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11) && HAVE_BUILTIN_AVAILABLE == 1 if(__builtin_available(macOS 10.13, iOS 11.0, *)) { max_supported_version_by_os = CURL_SSLVERSION_MAX_TLSv1_3; } else { max_supported_version_by_os = CURL_SSLVERSION_MAX_TLSv1_2; } #else max_supported_version_by_os = CURL_SSLVERSION_MAX_TLSv1_2; #endif /* (CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11) && HAVE_BUILTIN_AVAILABLE == 1 */ switch(ssl_version) { case CURL_SSLVERSION_DEFAULT: case CURL_SSLVERSION_TLSv1: ssl_version = CURL_SSLVERSION_TLSv1_0; break; } switch(ssl_version_max) { case CURL_SSLVERSION_MAX_NONE: case CURL_SSLVERSION_MAX_DEFAULT: ssl_version_max = max_supported_version_by_os; break; } #if CURL_BUILD_MAC_10_8 || CURL_BUILD_IOS if(SSLSetProtocolVersionMax != NULL) { SSLProtocol darwin_ver_min = kTLSProtocol1; SSLProtocol darwin_ver_max = kTLSProtocol1; CURLcode result = sectransp_version_from_curl(&darwin_ver_min, ssl_version); if(result) { failf(data, "unsupported min version passed via CURLOPT_SSLVERSION"); return result; } result = sectransp_version_from_curl(&darwin_ver_max, ssl_version_max >> 16); if(result) { failf(data, "unsupported max version passed via CURLOPT_SSLVERSION"); return result; } (void)SSLSetProtocolVersionMin(BACKEND->ssl_ctx, darwin_ver_min); (void)SSLSetProtocolVersionMax(BACKEND->ssl_ctx, darwin_ver_max); return result; } else { #if CURL_SUPPORT_MAC_10_8 long i = ssl_version; (void)SSLSetProtocolVersionEnabled(BACKEND->ssl_ctx, kSSLProtocolAll, false); for(; i <= (ssl_version_max >> 16); i++) { switch(i) { case CURL_SSLVERSION_TLSv1_0: (void)SSLSetProtocolVersionEnabled(BACKEND->ssl_ctx, kTLSProtocol1, true); break; case CURL_SSLVERSION_TLSv1_1: (void)SSLSetProtocolVersionEnabled(BACKEND->ssl_ctx, kTLSProtocol11, true); break; case CURL_SSLVERSION_TLSv1_2: (void)SSLSetProtocolVersionEnabled(BACKEND->ssl_ctx, kTLSProtocol12, true); break; case CURL_SSLVERSION_TLSv1_3: failf(data, "Your version of the OS does not support TLSv1.3"); return CURLE_SSL_CONNECT_ERROR; } } return CURLE_OK; #endif /* CURL_SUPPORT_MAC_10_8 */ } #endif /* CURL_BUILD_MAC_10_8 || CURL_BUILD_IOS */ failf(data, "Secure Transport: cannot set SSL protocol"); return CURLE_SSL_CONNECT_ERROR; } static CURLcode sectransp_connect_step1(struct connectdata *conn, int sockindex) { struct Curl_easy *data = conn->data; curl_socket_t sockfd = conn->sock[sockindex]; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; const char * const ssl_cafile = SSL_CONN_CONFIG(CAfile); const bool verifypeer = SSL_CONN_CONFIG(verifypeer); char * const ssl_cert = SSL_SET_OPTION(cert); const char * const hostname = SSL_IS_PROXY() ? conn->http_proxy.host.name : conn->host.name; const long int port = SSL_IS_PROXY() ? conn->port : conn->remote_port; #ifdef ENABLE_IPV6 struct in6_addr addr; #else struct in_addr addr; #endif /* ENABLE_IPV6 */ size_t all_ciphers_count = 0UL, allowed_ciphers_count = 0UL, i; SSLCipherSuite *all_ciphers = NULL, *allowed_ciphers = NULL; OSStatus err = noErr; #if CURL_BUILD_MAC int darwinver_maj = 0, darwinver_min = 0; GetDarwinVersionNumber(&darwinver_maj, &darwinver_min); #endif /* CURL_BUILD_MAC */ #if CURL_BUILD_MAC_10_8 || CURL_BUILD_IOS if(SSLCreateContext != NULL) { /* use the newer API if available */ if(BACKEND->ssl_ctx) CFRelease(BACKEND->ssl_ctx); BACKEND->ssl_ctx = SSLCreateContext(NULL, kSSLClientSide, kSSLStreamType); if(!BACKEND->ssl_ctx) { failf(data, "SSL: couldn't create a context!"); return CURLE_OUT_OF_MEMORY; } } else { /* The old ST API does not exist under iOS, so don't compile it: */ #if CURL_SUPPORT_MAC_10_8 if(BACKEND->ssl_ctx) (void)SSLDisposeContext(BACKEND->ssl_ctx); err = SSLNewContext(false, &(BACKEND->ssl_ctx)); if(err != noErr) { failf(data, "SSL: couldn't create a context: OSStatus %d", err); return CURLE_OUT_OF_MEMORY; } #endif /* CURL_SUPPORT_MAC_10_8 */ } #else if(BACKEND->ssl_ctx) (void)SSLDisposeContext(BACKEND->ssl_ctx); err = SSLNewContext(false, &(BACKEND->ssl_ctx)); if(err != noErr) { failf(data, "SSL: couldn't create a context: OSStatus %d", err); return CURLE_OUT_OF_MEMORY; } #endif /* CURL_BUILD_MAC_10_8 || CURL_BUILD_IOS */ BACKEND->ssl_write_buffered_length = 0UL; /* reset buffered write length */ /* check to see if we've been told to use an explicit SSL/TLS version */ #if CURL_BUILD_MAC_10_8 || CURL_BUILD_IOS if(SSLSetProtocolVersionMax != NULL) { switch(conn->ssl_config.version) { case CURL_SSLVERSION_TLSv1: (void)SSLSetProtocolVersionMin(BACKEND->ssl_ctx, kTLSProtocol1); #if (CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11) && HAVE_BUILTIN_AVAILABLE == 1 if(__builtin_available(macOS 10.13, iOS 11.0, *)) { (void)SSLSetProtocolVersionMax(BACKEND->ssl_ctx, kTLSProtocol13); } else { (void)SSLSetProtocolVersionMax(BACKEND->ssl_ctx, kTLSProtocol12); } #else (void)SSLSetProtocolVersionMax(BACKEND->ssl_ctx, kTLSProtocol12); #endif /* (CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11) && HAVE_BUILTIN_AVAILABLE == 1 */ break; case CURL_SSLVERSION_DEFAULT: case CURL_SSLVERSION_TLSv1_0: case CURL_SSLVERSION_TLSv1_1: case CURL_SSLVERSION_TLSv1_2: case CURL_SSLVERSION_TLSv1_3: { CURLcode result = set_ssl_version_min_max(conn, sockindex); if(result != CURLE_OK) return result; break; } case CURL_SSLVERSION_SSLv3: err = SSLSetProtocolVersionMin(BACKEND->ssl_ctx, kSSLProtocol3); if(err != noErr) { failf(data, "Your version of the OS does not support SSLv3"); return CURLE_SSL_CONNECT_ERROR; } (void)SSLSetProtocolVersionMax(BACKEND->ssl_ctx, kSSLProtocol3); break; case CURL_SSLVERSION_SSLv2: err = SSLSetProtocolVersionMin(BACKEND->ssl_ctx, kSSLProtocol2); if(err != noErr) { failf(data, "Your version of the OS does not support SSLv2"); return CURLE_SSL_CONNECT_ERROR; } (void)SSLSetProtocolVersionMax(BACKEND->ssl_ctx, kSSLProtocol2); break; default: failf(data, "Unrecognized parameter passed via CURLOPT_SSLVERSION"); return CURLE_SSL_CONNECT_ERROR; } } else { #if CURL_SUPPORT_MAC_10_8 (void)SSLSetProtocolVersionEnabled(BACKEND->ssl_ctx, kSSLProtocolAll, false); switch(conn->ssl_config.version) { case CURL_SSLVERSION_DEFAULT: case CURL_SSLVERSION_TLSv1: (void)SSLSetProtocolVersionEnabled(BACKEND->ssl_ctx, kTLSProtocol1, true); (void)SSLSetProtocolVersionEnabled(BACKEND->ssl_ctx, kTLSProtocol11, true); (void)SSLSetProtocolVersionEnabled(BACKEND->ssl_ctx, kTLSProtocol12, true); break; case CURL_SSLVERSION_TLSv1_0: case CURL_SSLVERSION_TLSv1_1: case CURL_SSLVERSION_TLSv1_2: case CURL_SSLVERSION_TLSv1_3: { CURLcode result = set_ssl_version_min_max(conn, sockindex); if(result != CURLE_OK) return result; break; } case CURL_SSLVERSION_SSLv3: err = SSLSetProtocolVersionEnabled(BACKEND->ssl_ctx, kSSLProtocol3, true); if(err != noErr) { failf(data, "Your version of the OS does not support SSLv3"); return CURLE_SSL_CONNECT_ERROR; } break; case CURL_SSLVERSION_SSLv2: err = SSLSetProtocolVersionEnabled(BACKEND->ssl_ctx, kSSLProtocol2, true); if(err != noErr) { failf(data, "Your version of the OS does not support SSLv2"); return CURLE_SSL_CONNECT_ERROR; } break; default: failf(data, "Unrecognized parameter passed via CURLOPT_SSLVERSION"); return CURLE_SSL_CONNECT_ERROR; } #endif /* CURL_SUPPORT_MAC_10_8 */ } #else if(conn->ssl_config.version_max != CURL_SSLVERSION_MAX_NONE) { failf(data, "Your version of the OS does not support to set maximum" " SSL/TLS version"); return CURLE_SSL_CONNECT_ERROR; } (void)SSLSetProtocolVersionEnabled(BACKEND->ssl_ctx, kSSLProtocolAll, false); switch(conn->ssl_config.version) { case CURL_SSLVERSION_DEFAULT: case CURL_SSLVERSION_TLSv1: case CURL_SSLVERSION_TLSv1_0: (void)SSLSetProtocolVersionEnabled(BACKEND->ssl_ctx, kTLSProtocol1, true); break; case CURL_SSLVERSION_TLSv1_1: failf(data, "Your version of the OS does not support TLSv1.1"); return CURLE_SSL_CONNECT_ERROR; case CURL_SSLVERSION_TLSv1_2: failf(data, "Your version of the OS does not support TLSv1.2"); return CURLE_SSL_CONNECT_ERROR; case CURL_SSLVERSION_TLSv1_3: failf(data, "Your version of the OS does not support TLSv1.3"); return CURLE_SSL_CONNECT_ERROR; case CURL_SSLVERSION_SSLv2: err = SSLSetProtocolVersionEnabled(BACKEND->ssl_ctx, kSSLProtocol2, true); if(err != noErr) { failf(data, "Your version of the OS does not support SSLv2"); return CURLE_SSL_CONNECT_ERROR; } break; case CURL_SSLVERSION_SSLv3: err = SSLSetProtocolVersionEnabled(BACKEND->ssl_ctx, kSSLProtocol3, true); if(err != noErr) { failf(data, "Your version of the OS does not support SSLv3"); return CURLE_SSL_CONNECT_ERROR; } break; default: failf(data, "Unrecognized parameter passed via CURLOPT_SSLVERSION"); return CURLE_SSL_CONNECT_ERROR; } #endif /* CURL_BUILD_MAC_10_8 || CURL_BUILD_IOS */ #if (CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11) && HAVE_BUILTIN_AVAILABLE == 1 if(conn->bits.tls_enable_alpn) { if(__builtin_available(macOS 10.13.4, iOS 11, tvOS 11, *)) { CFMutableArrayRef alpnArr = CFArrayCreateMutable(NULL, 0, &kCFTypeArrayCallBacks); #ifdef USE_NGHTTP2 if(data->set.httpversion >= CURL_HTTP_VERSION_2 && (!SSL_IS_PROXY() || !conn->bits.tunnel_proxy)) { CFArrayAppendValue(alpnArr, CFSTR(NGHTTP2_PROTO_VERSION_ID)); infof(data, "ALPN, offering %s\n", NGHTTP2_PROTO_VERSION_ID); } #endif CFArrayAppendValue(alpnArr, CFSTR(ALPN_HTTP_1_1)); infof(data, "ALPN, offering %s\n", ALPN_HTTP_1_1); /* expects length prefixed preference ordered list of protocols in wire * format */ err = SSLSetALPNProtocols(BACKEND->ssl_ctx, alpnArr); if(err != noErr) infof(data, "WARNING: failed to set ALPN protocols; OSStatus %d\n", err); CFRelease(alpnArr); } } #endif if(SSL_SET_OPTION(key)) { infof(data, "WARNING: SSL: CURLOPT_SSLKEY is ignored by Secure " "Transport. The private key must be in the Keychain.\n"); } if(ssl_cert) { SecIdentityRef cert_and_key = NULL; bool is_cert_file = is_file(ssl_cert); /* User wants to authenticate with a client cert. Look for it: If we detect that this is a file on disk, then let's load it. Otherwise, assume that the user wants to use an identity loaded from the Keychain. */ if(is_cert_file) { if(!SSL_SET_OPTION(cert_type)) infof(data, "WARNING: SSL: Certificate type not set, assuming " "PKCS#12 format.\n"); else if(strncmp(SSL_SET_OPTION(cert_type), "P12", strlen(SSL_SET_OPTION(cert_type))) != 0) infof(data, "WARNING: SSL: The Security framework only supports " "loading identities that are in PKCS#12 format.\n"); err = CopyIdentityFromPKCS12File(ssl_cert, SSL_SET_OPTION(key_passwd), &cert_and_key); } else err = CopyIdentityWithLabel(ssl_cert, &cert_and_key); if(err == noErr && cert_and_key) { SecCertificateRef cert = NULL; CFTypeRef certs_c[1]; CFArrayRef certs; /* If we found one, print it out: */ err = SecIdentityCopyCertificate(cert_and_key, &cert); if(err == noErr) { char *certp; CURLcode result = CopyCertSubject(data, cert, &certp); if(!result) { infof(data, "Client certificate: %s\n", certp); free(certp); } CFRelease(cert); if(result == CURLE_PEER_FAILED_VERIFICATION) return CURLE_SSL_CERTPROBLEM; if(result) return result; } certs_c[0] = cert_and_key; certs = CFArrayCreate(NULL, (const void **)certs_c, 1L, &kCFTypeArrayCallBacks); err = SSLSetCertificate(BACKEND->ssl_ctx, certs); if(certs) CFRelease(certs); if(err != noErr) { failf(data, "SSL: SSLSetCertificate() failed: OSStatus %d", err); return CURLE_SSL_CERTPROBLEM; } CFRelease(cert_and_key); } else { switch(err) { case errSecAuthFailed: case -25264: /* errSecPkcs12VerifyFailure */ failf(data, "SSL: Incorrect password for the certificate \"%s\" " "and its private key.", ssl_cert); break; case -26275: /* errSecDecode */ case -25257: /* errSecUnknownFormat */ failf(data, "SSL: Couldn't make sense of the data in the " "certificate \"%s\" and its private key.", ssl_cert); break; case -25260: /* errSecPassphraseRequired */ failf(data, "SSL The certificate \"%s\" requires a password.", ssl_cert); break; case errSecItemNotFound: failf(data, "SSL: Can't find the certificate \"%s\" and its private " "key in the Keychain.", ssl_cert); break; default: failf(data, "SSL: Can't load the certificate \"%s\" and its private " "key: OSStatus %d", ssl_cert, err); break; } return CURLE_SSL_CERTPROBLEM; } } /* SSL always tries to verify the peer, this only says whether it should * fail to connect if the verification fails, or if it should continue * anyway. In the latter case the result of the verification is checked with * SSL_get_verify_result() below. */ #if CURL_BUILD_MAC_10_6 || CURL_BUILD_IOS /* Snow Leopard introduced the SSLSetSessionOption() function, but due to a library bug with the way the kSSLSessionOptionBreakOnServerAuth flag works, it doesn't work as expected under Snow Leopard, Lion or Mountain Lion. So we need to call SSLSetEnableCertVerify() on those older cats in order to disable certificate validation if the user turned that off. (SecureTransport will always validate the certificate chain by default.) Note: Darwin 11.x.x is Lion (10.7) Darwin 12.x.x is Mountain Lion (10.8) Darwin 13.x.x is Mavericks (10.9) Darwin 14.x.x is Yosemite (10.10) Darwin 15.x.x is El Capitan (10.11) */ #if CURL_BUILD_MAC if(SSLSetSessionOption != NULL && darwinver_maj >= 13) { #else if(SSLSetSessionOption != NULL) { #endif /* CURL_BUILD_MAC */ bool break_on_auth = !conn->ssl_config.verifypeer || ssl_cafile; err = SSLSetSessionOption(BACKEND->ssl_ctx, kSSLSessionOptionBreakOnServerAuth, break_on_auth); if(err != noErr) { failf(data, "SSL: SSLSetSessionOption() failed: OSStatus %d", err); return CURLE_SSL_CONNECT_ERROR; } } else { #if CURL_SUPPORT_MAC_10_8 err = SSLSetEnableCertVerify(BACKEND->ssl_ctx, conn->ssl_config.verifypeer?true:false); if(err != noErr) { failf(data, "SSL: SSLSetEnableCertVerify() failed: OSStatus %d", err); return CURLE_SSL_CONNECT_ERROR; } #endif /* CURL_SUPPORT_MAC_10_8 */ } #else err = SSLSetEnableCertVerify(BACKEND->ssl_ctx, conn->ssl_config.verifypeer?true:false); if(err != noErr) { failf(data, "SSL: SSLSetEnableCertVerify() failed: OSStatus %d", err); return CURLE_SSL_CONNECT_ERROR; } #endif /* CURL_BUILD_MAC_10_6 || CURL_BUILD_IOS */ if(ssl_cafile && verifypeer) { bool is_cert_file = is_file(ssl_cafile); if(!is_cert_file) { failf(data, "SSL: can't load CA certificate file %s", ssl_cafile); return CURLE_SSL_CACERT_BADFILE; } } /* Configure hostname check. SNI is used if available. * Both hostname check and SNI require SSLSetPeerDomainName(). * Also: the verifyhost setting influences SNI usage */ if(conn->ssl_config.verifyhost) { err = SSLSetPeerDomainName(BACKEND->ssl_ctx, hostname, strlen(hostname)); if(err != noErr) { infof(data, "WARNING: SSL: SSLSetPeerDomainName() failed: OSStatus %d\n", err); } if((Curl_inet_pton(AF_INET, hostname, &addr)) #ifdef ENABLE_IPV6 || (Curl_inet_pton(AF_INET6, hostname, &addr)) #endif ) { infof(data, "WARNING: using IP address, SNI is being disabled by " "the OS.\n"); } } else { infof(data, "WARNING: disabling hostname validation also disables SNI.\n"); } /* Disable cipher suites that ST supports but are not safe. These ciphers are unlikely to be used in any case since ST gives other ciphers a much higher priority, but it's probably better that we not connect at all than to give the user a false sense of security if the server only supports insecure ciphers. (Note: We don't care about SSLv2-only ciphers.) */ err = SSLGetNumberSupportedCiphers(BACKEND->ssl_ctx, &all_ciphers_count); if(err != noErr) { failf(data, "SSL: SSLGetNumberSupportedCiphers() failed: OSStatus %d", err); return CURLE_SSL_CIPHER; } all_ciphers = malloc(all_ciphers_count*sizeof(SSLCipherSuite)); if(!all_ciphers) { failf(data, "SSL: Failed to allocate memory for all ciphers"); return CURLE_OUT_OF_MEMORY; } allowed_ciphers = malloc(all_ciphers_count*sizeof(SSLCipherSuite)); if(!allowed_ciphers) { Curl_safefree(all_ciphers); failf(data, "SSL: Failed to allocate memory for allowed ciphers"); return CURLE_OUT_OF_MEMORY; } err = SSLGetSupportedCiphers(BACKEND->ssl_ctx, all_ciphers, &all_ciphers_count); if(err != noErr) { Curl_safefree(all_ciphers); Curl_safefree(allowed_ciphers); return CURLE_SSL_CIPHER; } for(i = 0UL ; i < all_ciphers_count ; i++) { #if CURL_BUILD_MAC /* There's a known bug in early versions of Mountain Lion where ST's ECC ciphers (cipher suite 0xC001 through 0xC032) simply do not work. Work around the problem here by disabling those ciphers if we are running in an affected version of OS X. */ if(darwinver_maj == 12 && darwinver_min <= 3 && all_ciphers[i] >= 0xC001 && all_ciphers[i] <= 0xC032) { continue; } #endif /* CURL_BUILD_MAC */ switch(all_ciphers[i]) { /* Disable NULL ciphersuites: */ case SSL_NULL_WITH_NULL_NULL: case SSL_RSA_WITH_NULL_MD5: case SSL_RSA_WITH_NULL_SHA: case 0x003B: /* TLS_RSA_WITH_NULL_SHA256 */ case SSL_FORTEZZA_DMS_WITH_NULL_SHA: case 0xC001: /* TLS_ECDH_ECDSA_WITH_NULL_SHA */ case 0xC006: /* TLS_ECDHE_ECDSA_WITH_NULL_SHA */ case 0xC00B: /* TLS_ECDH_RSA_WITH_NULL_SHA */ case 0xC010: /* TLS_ECDHE_RSA_WITH_NULL_SHA */ case 0x002C: /* TLS_PSK_WITH_NULL_SHA */ case 0x002D: /* TLS_DHE_PSK_WITH_NULL_SHA */ case 0x002E: /* TLS_RSA_PSK_WITH_NULL_SHA */ case 0x00B0: /* TLS_PSK_WITH_NULL_SHA256 */ case 0x00B1: /* TLS_PSK_WITH_NULL_SHA384 */ case 0x00B4: /* TLS_DHE_PSK_WITH_NULL_SHA256 */ case 0x00B5: /* TLS_DHE_PSK_WITH_NULL_SHA384 */ case 0x00B8: /* TLS_RSA_PSK_WITH_NULL_SHA256 */ case 0x00B9: /* TLS_RSA_PSK_WITH_NULL_SHA384 */ /* Disable anonymous ciphersuites: */ case SSL_DH_anon_EXPORT_WITH_RC4_40_MD5: case SSL_DH_anon_WITH_RC4_128_MD5: case SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA: case SSL_DH_anon_WITH_DES_CBC_SHA: case SSL_DH_anon_WITH_3DES_EDE_CBC_SHA: case TLS_DH_anon_WITH_AES_128_CBC_SHA: case TLS_DH_anon_WITH_AES_256_CBC_SHA: case 0xC015: /* TLS_ECDH_anon_WITH_NULL_SHA */ case 0xC016: /* TLS_ECDH_anon_WITH_RC4_128_SHA */ case 0xC017: /* TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA */ case 0xC018: /* TLS_ECDH_anon_WITH_AES_128_CBC_SHA */ case 0xC019: /* TLS_ECDH_anon_WITH_AES_256_CBC_SHA */ case 0x006C: /* TLS_DH_anon_WITH_AES_128_CBC_SHA256 */ case 0x006D: /* TLS_DH_anon_WITH_AES_256_CBC_SHA256 */ case 0x00A6: /* TLS_DH_anon_WITH_AES_128_GCM_SHA256 */ case 0x00A7: /* TLS_DH_anon_WITH_AES_256_GCM_SHA384 */ /* Disable weak key ciphersuites: */ case SSL_RSA_EXPORT_WITH_RC4_40_MD5: case SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5: case SSL_RSA_EXPORT_WITH_DES40_CBC_SHA: case SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA: case SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA: case SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA: case SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA: case SSL_RSA_WITH_DES_CBC_SHA: case SSL_DH_DSS_WITH_DES_CBC_SHA: case SSL_DH_RSA_WITH_DES_CBC_SHA: case SSL_DHE_DSS_WITH_DES_CBC_SHA: case SSL_DHE_RSA_WITH_DES_CBC_SHA: /* Disable IDEA: */ case SSL_RSA_WITH_IDEA_CBC_SHA: case SSL_RSA_WITH_IDEA_CBC_MD5: /* Disable RC4: */ case SSL_RSA_WITH_RC4_128_MD5: case SSL_RSA_WITH_RC4_128_SHA: case 0xC002: /* TLS_ECDH_ECDSA_WITH_RC4_128_SHA */ case 0xC007: /* TLS_ECDHE_ECDSA_WITH_RC4_128_SHA*/ case 0xC00C: /* TLS_ECDH_RSA_WITH_RC4_128_SHA */ case 0xC011: /* TLS_ECDHE_RSA_WITH_RC4_128_SHA */ case 0x008A: /* TLS_PSK_WITH_RC4_128_SHA */ case 0x008E: /* TLS_DHE_PSK_WITH_RC4_128_SHA */ case 0x0092: /* TLS_RSA_PSK_WITH_RC4_128_SHA */ break; default: /* enable everything else */ allowed_ciphers[allowed_ciphers_count++] = all_ciphers[i]; break; } } err = SSLSetEnabledCiphers(BACKEND->ssl_ctx, allowed_ciphers, allowed_ciphers_count); Curl_safefree(all_ciphers); Curl_safefree(allowed_ciphers); if(err != noErr) { failf(data, "SSL: SSLSetEnabledCiphers() failed: OSStatus %d", err); return CURLE_SSL_CIPHER; } #if CURL_BUILD_MAC_10_9 || CURL_BUILD_IOS_7 /* We want to enable 1/n-1 when using a CBC cipher unless the user specifically doesn't want us doing that: */ if(SSLSetSessionOption != NULL) { /* TODO s/data->set.ssl.enable_beast/SSL_SET_OPTION(enable_beast)/g */ SSLSetSessionOption(BACKEND->ssl_ctx, kSSLSessionOptionSendOneByteRecord, !data->set.ssl.enable_beast); SSLSetSessionOption(BACKEND->ssl_ctx, kSSLSessionOptionFalseStart, data->set.ssl.falsestart); /* false start support */ } #endif /* CURL_BUILD_MAC_10_9 || CURL_BUILD_IOS_7 */ /* Check if there's a cached ID we can/should use here! */ if(SSL_SET_OPTION(primary.sessionid)) { char *ssl_sessionid; size_t ssl_sessionid_len; Curl_ssl_sessionid_lock(conn); if(!Curl_ssl_getsessionid(conn, (void **)&ssl_sessionid, &ssl_sessionid_len, sockindex)) { /* we got a session id, use it! */ err = SSLSetPeerID(BACKEND->ssl_ctx, ssl_sessionid, ssl_sessionid_len); Curl_ssl_sessionid_unlock(conn); if(err != noErr) { failf(data, "SSL: SSLSetPeerID() failed: OSStatus %d", err); return CURLE_SSL_CONNECT_ERROR; } /* Informational message */ infof(data, "SSL re-using session ID\n"); } /* If there isn't one, then let's make one up! This has to be done prior to starting the handshake. */ else { CURLcode result; ssl_sessionid = aprintf("%s:%d:%d:%s:%hu", ssl_cafile, verifypeer, SSL_CONN_CONFIG(verifyhost), hostname, port); ssl_sessionid_len = strlen(ssl_sessionid); err = SSLSetPeerID(BACKEND->ssl_ctx, ssl_sessionid, ssl_sessionid_len); if(err != noErr) { Curl_ssl_sessionid_unlock(conn); failf(data, "SSL: SSLSetPeerID() failed: OSStatus %d", err); return CURLE_SSL_CONNECT_ERROR; } result = Curl_ssl_addsessionid(conn, ssl_sessionid, ssl_sessionid_len, sockindex); Curl_ssl_sessionid_unlock(conn); if(result) { failf(data, "failed to store ssl session"); return result; } } } err = SSLSetIOFuncs(BACKEND->ssl_ctx, SocketRead, SocketWrite); if(err != noErr) { failf(data, "SSL: SSLSetIOFuncs() failed: OSStatus %d", err); return CURLE_SSL_CONNECT_ERROR; } /* pass the raw socket into the SSL layers */ /* We need to store the FD in a constant memory address, because * SSLSetConnection() will not copy that address. I've found that * conn->sock[sockindex] may change on its own. */ BACKEND->ssl_sockfd = sockfd; err = SSLSetConnection(BACKEND->ssl_ctx, connssl); if(err != noErr) { failf(data, "SSL: SSLSetConnection() failed: %d", err); return CURLE_SSL_CONNECT_ERROR; } connssl->connecting_state = ssl_connect_2; return CURLE_OK; } static long pem_to_der(const char *in, unsigned char **out, size_t *outlen) { char *sep_start, *sep_end, *cert_start, *cert_end; size_t i, j, err; size_t len; unsigned char *b64; /* Jump through the separators at the beginning of the certificate. */ sep_start = strstr(in, "-----"); if(sep_start == NULL) return 0; cert_start = strstr(sep_start + 1, "-----"); if(cert_start == NULL) return -1; cert_start += 5; /* Find separator after the end of the certificate. */ cert_end = strstr(cert_start, "-----"); if(cert_end == NULL) return -1; sep_end = strstr(cert_end + 1, "-----"); if(sep_end == NULL) return -1; sep_end += 5; len = cert_end - cert_start; b64 = malloc(len + 1); if(!b64) return -1; /* Create base64 string without linefeeds. */ for(i = 0, j = 0; i < len; i++) { if(cert_start[i] != '\r' && cert_start[i] != '\n') b64[j++] = cert_start[i]; } b64[j] = '\0'; err = Curl_base64_decode((const char *)b64, out, outlen); free(b64); if(err) { free(*out); return -1; } return sep_end - in; } static int read_cert(const char *file, unsigned char **out, size_t *outlen) { int fd; ssize_t n, len = 0, cap = 512; unsigned char buf[512], *data; fd = open(file, 0); if(fd < 0) return -1; data = malloc(cap); if(!data) { close(fd); return -1; } for(;;) { n = read(fd, buf, sizeof(buf)); if(n < 0) { close(fd); free(data); return -1; } else if(n == 0) { close(fd); break; } if(len + n >= cap) { cap *= 2; data = Curl_saferealloc(data, cap); if(!data) { close(fd); return -1; } } memcpy(data + len, buf, n); len += n; } data[len] = '\0'; *out = data; *outlen = len; return 0; } static int append_cert_to_array(struct Curl_easy *data, unsigned char *buf, size_t buflen, CFMutableArrayRef array) { CFDataRef certdata = CFDataCreate(kCFAllocatorDefault, buf, buflen); char *certp; CURLcode result; if(!certdata) { failf(data, "SSL: failed to allocate array for CA certificate"); return CURLE_OUT_OF_MEMORY; } SecCertificateRef cacert = SecCertificateCreateWithData(kCFAllocatorDefault, certdata); CFRelease(certdata); if(!cacert) { failf(data, "SSL: failed to create SecCertificate from CA certificate"); return CURLE_SSL_CACERT_BADFILE; } /* Check if cacert is valid. */ result = CopyCertSubject(data, cacert, &certp); switch(result) { case CURLE_OK: break; case CURLE_PEER_FAILED_VERIFICATION: return CURLE_SSL_CACERT_BADFILE; case CURLE_OUT_OF_MEMORY: default: return result; } free(certp); CFArrayAppendValue(array, cacert); CFRelease(cacert); return CURLE_OK; } static int verify_cert(const char *cafile, struct Curl_easy *data, SSLContextRef ctx) { int n = 0, rc; long res; unsigned char *certbuf, *der; size_t buflen, derlen, offset = 0; if(read_cert(cafile, &certbuf, &buflen) < 0) { failf(data, "SSL: failed to read or invalid CA certificate"); return CURLE_SSL_CACERT_BADFILE; } /* * Certbuf now contains the contents of the certificate file, which can be * - a single DER certificate, * - a single PEM certificate or * - a bunch of PEM certificates (certificate bundle). * * Go through certbuf, and convert any PEM certificate in it into DER * format. */ CFMutableArrayRef array = CFArrayCreateMutable(kCFAllocatorDefault, 0, &kCFTypeArrayCallBacks); if(array == NULL) { free(certbuf); failf(data, "SSL: out of memory creating CA certificate array"); return CURLE_OUT_OF_MEMORY; } while(offset < buflen) { n++; /* * Check if the certificate is in PEM format, and convert it to DER. If * this fails, we assume the certificate is in DER format. */ res = pem_to_der((const char *)certbuf + offset, &der, &derlen); if(res < 0) { free(certbuf); CFRelease(array); failf(data, "SSL: invalid CA certificate #%d (offset %d) in bundle", n, offset); return CURLE_SSL_CACERT_BADFILE; } offset += res; if(res == 0 && offset == 0) { /* This is not a PEM file, probably a certificate in DER format. */ rc = append_cert_to_array(data, certbuf, buflen, array); free(certbuf); if(rc != CURLE_OK) { CFRelease(array); return rc; } break; } else if(res == 0) { /* No more certificates in the bundle. */ free(certbuf); break; } rc = append_cert_to_array(data, der, derlen, array); free(der); if(rc != CURLE_OK) { free(certbuf); CFRelease(array); return rc; } } SecTrustRef trust; OSStatus ret = SSLCopyPeerTrust(ctx, &trust); if(trust == NULL) { failf(data, "SSL: error getting certificate chain"); CFRelease(array); return CURLE_PEER_FAILED_VERIFICATION; } else if(ret != noErr) { CFRelease(array); failf(data, "SSLCopyPeerTrust() returned error %d", ret); return CURLE_PEER_FAILED_VERIFICATION; } ret = SecTrustSetAnchorCertificates(trust, array); if(ret != noErr) { CFRelease(array); CFRelease(trust); failf(data, "SecTrustSetAnchorCertificates() returned error %d", ret); return CURLE_PEER_FAILED_VERIFICATION; } ret = SecTrustSetAnchorCertificatesOnly(trust, true); if(ret != noErr) { CFRelease(array); CFRelease(trust); failf(data, "SecTrustSetAnchorCertificatesOnly() returned error %d", ret); return CURLE_PEER_FAILED_VERIFICATION; } SecTrustResultType trust_eval = 0; ret = SecTrustEvaluate(trust, &trust_eval); CFRelease(array); CFRelease(trust); if(ret != noErr) { failf(data, "SecTrustEvaluate() returned error %d", ret); return CURLE_PEER_FAILED_VERIFICATION; } switch(trust_eval) { case kSecTrustResultUnspecified: case kSecTrustResultProceed: return CURLE_OK; case kSecTrustResultRecoverableTrustFailure: case kSecTrustResultDeny: default: failf(data, "SSL: certificate verification failed (result: %d)", trust_eval); return CURLE_PEER_FAILED_VERIFICATION; } } #ifdef SECTRANSP_PINNEDPUBKEY static CURLcode pkp_pin_peer_pubkey(struct Curl_easy *data, SSLContextRef ctx, const char *pinnedpubkey) { /* Scratch */ size_t pubkeylen, realpubkeylen, spkiHeaderLength = 24; unsigned char *pubkey = NULL, *realpubkey = NULL; const unsigned char *spkiHeader = NULL; CFDataRef publicKeyBits = NULL; /* Result is returned to caller */ CURLcode result = CURLE_SSL_PINNEDPUBKEYNOTMATCH; /* if a path wasn't specified, don't pin */ if(!pinnedpubkey) return CURLE_OK; if(!ctx) return result; do { SecTrustRef trust; OSStatus ret = SSLCopyPeerTrust(ctx, &trust); if(ret != noErr || trust == NULL) break; SecKeyRef keyRef = SecTrustCopyPublicKey(trust); CFRelease(trust); if(keyRef == NULL) break; #ifdef SECTRANSP_PINNEDPUBKEY_V1 publicKeyBits = SecKeyCopyExternalRepresentation(keyRef, NULL); CFRelease(keyRef); if(publicKeyBits == NULL) break; #elif SECTRANSP_PINNEDPUBKEY_V2 OSStatus success = SecItemExport(keyRef, kSecFormatOpenSSL, 0, NULL, &publicKeyBits); CFRelease(keyRef); if(success != errSecSuccess || publicKeyBits == NULL) break; #endif /* SECTRANSP_PINNEDPUBKEY_V2 */ pubkeylen = CFDataGetLength(publicKeyBits); pubkey = (unsigned char *)CFDataGetBytePtr(publicKeyBits); switch(pubkeylen) { case 526: /* 4096 bit RSA pubkeylen == 526 */ spkiHeader = rsa4096SpkiHeader; break; case 270: /* 2048 bit RSA pubkeylen == 270 */ spkiHeader = rsa2048SpkiHeader; break; #ifdef SECTRANSP_PINNEDPUBKEY_V1 case 65: /* ecDSA secp256r1 pubkeylen == 65 */ spkiHeader = ecDsaSecp256r1SpkiHeader; spkiHeaderLength = 26; break; case 97: /* ecDSA secp384r1 pubkeylen == 97 */ spkiHeader = ecDsaSecp384r1SpkiHeader; spkiHeaderLength = 23; break; default: infof(data, "SSL: unhandled public key length: %d\n", pubkeylen); #elif SECTRANSP_PINNEDPUBKEY_V2 default: /* ecDSA secp256r1 pubkeylen == 91 header already included? * ecDSA secp384r1 header already included too * we assume rest of algorithms do same, so do nothing */ result = Curl_pin_peer_pubkey(data, pinnedpubkey, pubkey, pubkeylen); #endif /* SECTRANSP_PINNEDPUBKEY_V2 */ continue; /* break from loop */ } realpubkeylen = pubkeylen + spkiHeaderLength; realpubkey = malloc(realpubkeylen); if(!realpubkey) break; memcpy(realpubkey, spkiHeader, spkiHeaderLength); memcpy(realpubkey + spkiHeaderLength, pubkey, pubkeylen); result = Curl_pin_peer_pubkey(data, pinnedpubkey, realpubkey, realpubkeylen); } while(0); Curl_safefree(realpubkey); if(publicKeyBits != NULL) CFRelease(publicKeyBits); return result; } #endif /* SECTRANSP_PINNEDPUBKEY */ static CURLcode sectransp_connect_step2(struct connectdata *conn, int sockindex) { struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; OSStatus err; SSLCipherSuite cipher; SSLProtocol protocol = 0; const char * const hostname = SSL_IS_PROXY() ? conn->http_proxy.host.name : conn->host.name; DEBUGASSERT(ssl_connect_2 == connssl->connecting_state || ssl_connect_2_reading == connssl->connecting_state || ssl_connect_2_writing == connssl->connecting_state); /* Here goes nothing: */ err = SSLHandshake(BACKEND->ssl_ctx); if(err != noErr) { switch(err) { case errSSLWouldBlock: /* they're not done with us yet */ connssl->connecting_state = BACKEND->ssl_direction ? ssl_connect_2_writing : ssl_connect_2_reading; return CURLE_OK; /* The below is errSSLServerAuthCompleted; it's not defined in Leopard's headers */ case -9841: if(SSL_CONN_CONFIG(CAfile) && SSL_CONN_CONFIG(verifypeer)) { int res = verify_cert(SSL_CONN_CONFIG(CAfile), data, BACKEND->ssl_ctx); if(res != CURLE_OK) return res; } /* the documentation says we need to call SSLHandshake() again */ return sectransp_connect_step2(conn, sockindex); /* Problem with encrypt / decrypt */ case errSSLPeerDecodeError: failf(data, "Decode failed"); break; case errSSLDecryptionFail: case errSSLPeerDecryptionFail: failf(data, "Decryption failed"); break; case errSSLPeerDecryptError: failf(data, "A decryption error occurred"); break; case errSSLBadCipherSuite: failf(data, "A bad SSL cipher suite was encountered"); break; case errSSLCrypto: failf(data, "An underlying cryptographic error was encountered"); break; #if CURL_BUILD_MAC_10_11 || CURL_BUILD_IOS_9 case errSSLWeakPeerEphemeralDHKey: failf(data, "Indicates a weak ephemeral Diffie-Hellman key"); break; #endif /* Problem with the message record validation */ case errSSLBadRecordMac: case errSSLPeerBadRecordMac: failf(data, "A record with a bad message authentication code (MAC) " "was encountered"); break; case errSSLRecordOverflow: case errSSLPeerRecordOverflow: failf(data, "A record overflow occurred"); break; /* Problem with zlib decompression */ case errSSLPeerDecompressFail: failf(data, "Decompression failed"); break; /* Problem with access */ case errSSLPeerAccessDenied: failf(data, "Access was denied"); break; case errSSLPeerInsufficientSecurity: failf(data, "There is insufficient security for this operation"); break; /* These are all certificate problems with the server: */ case errSSLXCertChainInvalid: failf(data, "SSL certificate problem: Invalid certificate chain"); return CURLE_PEER_FAILED_VERIFICATION; case errSSLUnknownRootCert: failf(data, "SSL certificate problem: Untrusted root certificate"); return CURLE_PEER_FAILED_VERIFICATION; case errSSLNoRootCert: failf(data, "SSL certificate problem: No root certificate"); return CURLE_PEER_FAILED_VERIFICATION; case errSSLCertNotYetValid: failf(data, "SSL certificate problem: The certificate chain had a " "certificate that is not yet valid"); return CURLE_PEER_FAILED_VERIFICATION; case errSSLCertExpired: case errSSLPeerCertExpired: failf(data, "SSL certificate problem: Certificate chain had an " "expired certificate"); return CURLE_PEER_FAILED_VERIFICATION; case errSSLBadCert: case errSSLPeerBadCert: failf(data, "SSL certificate problem: Couldn't understand the server " "certificate format"); return CURLE_PEER_FAILED_VERIFICATION; case errSSLPeerUnsupportedCert: failf(data, "SSL certificate problem: An unsupported certificate " "format was encountered"); return CURLE_PEER_FAILED_VERIFICATION; case errSSLPeerCertRevoked: failf(data, "SSL certificate problem: The certificate was revoked"); return CURLE_PEER_FAILED_VERIFICATION; case errSSLPeerCertUnknown: failf(data, "SSL certificate problem: The certificate is unknown"); return CURLE_PEER_FAILED_VERIFICATION; /* These are all certificate problems with the client: */ case errSecAuthFailed: failf(data, "SSL authentication failed"); break; case errSSLPeerHandshakeFail: failf(data, "SSL peer handshake failed, the server most likely " "requires a client certificate to connect"); break; case errSSLPeerUnknownCA: failf(data, "SSL server rejected the client certificate due to " "the certificate being signed by an unknown certificate " "authority"); break; /* This error is raised if the server's cert didn't match the server's host name: */ case errSSLHostNameMismatch: failf(data, "SSL certificate peer verification failed, the " "certificate did not match \"%s\"\n", conn->host.dispname); return CURLE_PEER_FAILED_VERIFICATION; /* Problem with SSL / TLS negotiation */ case errSSLNegotiation: failf(data, "Could not negotiate an SSL cipher suite with the server"); break; case errSSLBadConfiguration: failf(data, "A configuration error occurred"); break; case errSSLProtocol: failf(data, "SSL protocol error"); break; case errSSLPeerProtocolVersion: failf(data, "A bad protocol version was encountered"); break; case errSSLPeerNoRenegotiation: failf(data, "No renegotiation is allowed"); break; /* Generic handshake errors: */ case errSSLConnectionRefused: failf(data, "Server dropped the connection during the SSL handshake"); break; case errSSLClosedAbort: failf(data, "Server aborted the SSL handshake"); break; case errSSLClosedGraceful: failf(data, "The connection closed gracefully"); break; case errSSLClosedNoNotify: failf(data, "The server closed the session with no notification"); break; /* Sometimes paramErr happens with buggy ciphers: */ case paramErr: case errSSLInternal: case errSSLPeerInternalError: failf(data, "Internal SSL engine error encountered during the " "SSL handshake"); break; case errSSLFatalAlert: failf(data, "Fatal SSL engine error encountered during the SSL " "handshake"); break; /* Unclassified error */ case errSSLBufferOverflow: failf(data, "An insufficient buffer was provided"); break; case errSSLIllegalParam: failf(data, "An illegal parameter was encountered"); break; case errSSLModuleAttach: failf(data, "Module attach failure"); break; case errSSLSessionNotFound: failf(data, "An attempt to restore an unknown session failed"); break; case errSSLPeerExportRestriction: failf(data, "An export restriction occurred"); break; case errSSLPeerUserCancelled: failf(data, "The user canceled the operation"); break; case errSSLPeerUnexpectedMsg: failf(data, "Peer rejected unexpected message"); break; #if CURL_BUILD_MAC_10_11 || CURL_BUILD_IOS_9 /* Treaing non-fatal error as fatal like before */ case errSSLClientHelloReceived: failf(data, "A non-fatal result for providing a server name " "indication"); break; #endif /* Error codes defined in the enum but should never be returned. We list them here just in case. */ #if CURL_BUILD_MAC_10_6 /* Only returned when kSSLSessionOptionBreakOnCertRequested is set */ case errSSLClientCertRequested: failf(data, "The server has requested a client certificate"); break; #endif #if CURL_BUILD_MAC_10_9 /* Alias for errSSLLast, end of error range */ case errSSLUnexpectedRecord: failf(data, "Unexpected (skipped) record in DTLS"); break; #endif default: /* May also return codes listed in Security Framework Result Codes */ failf(data, "Unknown SSL protocol error in connection to %s:%d", hostname, err); break; } return CURLE_SSL_CONNECT_ERROR; } else { /* we have been connected fine, we're not waiting for anything else. */ connssl->connecting_state = ssl_connect_3; #ifdef SECTRANSP_PINNEDPUBKEY if(data->set.str[STRING_SSL_PINNEDPUBLICKEY_ORIG]) { CURLcode result = pkp_pin_peer_pubkey(data, BACKEND->ssl_ctx, data->set.str[STRING_SSL_PINNEDPUBLICKEY_ORIG]); if(result) { failf(data, "SSL: public key does not match pinned public key!"); return result; } } #endif /* SECTRANSP_PINNEDPUBKEY */ /* Informational message */ (void)SSLGetNegotiatedCipher(BACKEND->ssl_ctx, &cipher); (void)SSLGetNegotiatedProtocolVersion(BACKEND->ssl_ctx, &protocol); switch(protocol) { case kSSLProtocol2: infof(data, "SSL 2.0 connection using %s\n", SSLCipherNameForNumber(cipher)); break; case kSSLProtocol3: infof(data, "SSL 3.0 connection using %s\n", SSLCipherNameForNumber(cipher)); break; case kTLSProtocol1: infof(data, "TLS 1.0 connection using %s\n", TLSCipherNameForNumber(cipher)); break; #if CURL_BUILD_MAC_10_8 || CURL_BUILD_IOS case kTLSProtocol11: infof(data, "TLS 1.1 connection using %s\n", TLSCipherNameForNumber(cipher)); break; case kTLSProtocol12: infof(data, "TLS 1.2 connection using %s\n", TLSCipherNameForNumber(cipher)); break; #endif /* CURL_BUILD_MAC_10_8 || CURL_BUILD_IOS */ #if CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11 case kTLSProtocol13: infof(data, "TLS 1.3 connection using %s\n", TLSCipherNameForNumber(cipher)); break; #endif /* CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11 */ default: infof(data, "Unknown protocol connection\n"); break; } #if(CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11) && HAVE_BUILTIN_AVAILABLE == 1 if(conn->bits.tls_enable_alpn) { if(__builtin_available(macOS 10.13.4, iOS 11, tvOS 11, *)) { CFArrayRef alpnArr = NULL; CFStringRef chosenProtocol = NULL; err = SSLCopyALPNProtocols(BACKEND->ssl_ctx, &alpnArr); if(err == noErr && alpnArr && CFArrayGetCount(alpnArr) >= 1) chosenProtocol = CFArrayGetValueAtIndex(alpnArr, 0); #ifdef USE_NGHTTP2 if(chosenProtocol && !CFStringCompare(chosenProtocol, CFSTR(NGHTTP2_PROTO_VERSION_ID), 0)) { conn->negnpn = CURL_HTTP_VERSION_2; } else #endif if(chosenProtocol && !CFStringCompare(chosenProtocol, CFSTR(ALPN_HTTP_1_1), 0)) { conn->negnpn = CURL_HTTP_VERSION_1_1; } else infof(data, "ALPN, server did not agree to a protocol\n"); /* chosenProtocol is a reference to the string within alpnArr and doesn't need to be freed separately */ if(alpnArr) CFRelease(alpnArr); } } #endif return CURLE_OK; } } #ifndef CURL_DISABLE_VERBOSE_STRINGS /* This should be called during step3 of the connection at the earliest */ static void show_verbose_server_cert(struct connectdata *conn, int sockindex) { struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; CFArrayRef server_certs = NULL; SecCertificateRef server_cert; OSStatus err; CFIndex i, count; SecTrustRef trust = NULL; if(!BACKEND->ssl_ctx) return; #if CURL_BUILD_MAC_10_7 || CURL_BUILD_IOS #if CURL_BUILD_IOS #pragma unused(server_certs) err = SSLCopyPeerTrust(BACKEND->ssl_ctx, &trust); /* For some reason, SSLCopyPeerTrust() can return noErr and yet return a null trust, so be on guard for that: */ if(err == noErr && trust) { count = SecTrustGetCertificateCount(trust); for(i = 0L ; i < count ; i++) { CURLcode result; char *certp; server_cert = SecTrustGetCertificateAtIndex(trust, i); result = CopyCertSubject(data, server_cert, &certp); if(!result) { infof(data, "Server certificate: %s\n", certp); free(certp); } } CFRelease(trust); } #else /* SSLCopyPeerCertificates() is deprecated as of Mountain Lion. The function SecTrustGetCertificateAtIndex() is officially present in Lion, but it is unfortunately also present in Snow Leopard as private API and doesn't work as expected. So we have to look for a different symbol to make sure this code is only executed under Lion or later. */ if(SecTrustEvaluateAsync != NULL) { #pragma unused(server_certs) err = SSLCopyPeerTrust(BACKEND->ssl_ctx, &trust); /* For some reason, SSLCopyPeerTrust() can return noErr and yet return a null trust, so be on guard for that: */ if(err == noErr && trust) { count = SecTrustGetCertificateCount(trust); for(i = 0L ; i < count ; i++) { char *certp; CURLcode result; server_cert = SecTrustGetCertificateAtIndex(trust, i); result = CopyCertSubject(data, server_cert, &certp); if(!result) { infof(data, "Server certificate: %s\n", certp); free(certp); } } CFRelease(trust); } } else { #if CURL_SUPPORT_MAC_10_8 err = SSLCopyPeerCertificates(BACKEND->ssl_ctx, &server_certs); /* Just in case SSLCopyPeerCertificates() returns null too... */ if(err == noErr && server_certs) { count = CFArrayGetCount(server_certs); for(i = 0L ; i < count ; i++) { char *certp; CURLcode result; server_cert = (SecCertificateRef)CFArrayGetValueAtIndex(server_certs, i); result = CopyCertSubject(data, server_cert, &certp); if(!result) { infof(data, "Server certificate: %s\n", certp); free(certp); } } CFRelease(server_certs); } #endif /* CURL_SUPPORT_MAC_10_8 */ } #endif /* CURL_BUILD_IOS */ #else #pragma unused(trust) err = SSLCopyPeerCertificates(BACKEND->ssl_ctx, &server_certs); if(err == noErr) { count = CFArrayGetCount(server_certs); for(i = 0L ; i < count ; i++) { CURLcode result; char *certp; server_cert = (SecCertificateRef)CFArrayGetValueAtIndex(server_certs, i); result = CopyCertSubject(data, server_cert, &certp); if(!result) { infof(data, "Server certificate: %s\n", certp); free(certp); } } CFRelease(server_certs); } #endif /* CURL_BUILD_MAC_10_7 || CURL_BUILD_IOS */ } #endif /* !CURL_DISABLE_VERBOSE_STRINGS */ static CURLcode sectransp_connect_step3(struct connectdata *conn, int sockindex) { struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; /* There is no step 3! * Well, okay, if verbose mode is on, let's print the details of the * server certificates. */ #ifndef CURL_DISABLE_VERBOSE_STRINGS if(data->set.verbose) show_verbose_server_cert(conn, sockindex); #endif connssl->connecting_state = ssl_connect_done; return CURLE_OK; } static Curl_recv sectransp_recv; static Curl_send sectransp_send; static CURLcode sectransp_connect_common(struct connectdata *conn, int sockindex, bool nonblocking, bool *done) { CURLcode result; struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; curl_socket_t sockfd = conn->sock[sockindex]; long timeout_ms; int what; /* check if the connection has already been established */ if(ssl_connection_complete == connssl->state) { *done = TRUE; return CURLE_OK; } if(ssl_connect_1 == connssl->connecting_state) { /* Find out how much more time we're allowed */ timeout_ms = Curl_timeleft(data, NULL, TRUE); if(timeout_ms < 0) { /* no need to continue if time already is up */ failf(data, "SSL connection timeout"); return CURLE_OPERATION_TIMEDOUT; } result = sectransp_connect_step1(conn, sockindex); if(result) return result; } while(ssl_connect_2 == connssl->connecting_state || ssl_connect_2_reading == connssl->connecting_state || ssl_connect_2_writing == connssl->connecting_state) { /* check allowed time left */ timeout_ms = Curl_timeleft(data, NULL, TRUE); if(timeout_ms < 0) { /* no need to continue if time already is up */ failf(data, "SSL connection timeout"); return CURLE_OPERATION_TIMEDOUT; } /* if ssl is expecting something, check if it's available. */ if(connssl->connecting_state == ssl_connect_2_reading || connssl->connecting_state == ssl_connect_2_writing) { curl_socket_t writefd = ssl_connect_2_writing == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; curl_socket_t readfd = ssl_connect_2_reading == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; what = Curl_socket_check(readfd, CURL_SOCKET_BAD, writefd, nonblocking?0:timeout_ms); if(what < 0) { /* fatal error */ failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO); return CURLE_SSL_CONNECT_ERROR; } else if(0 == what) { if(nonblocking) { *done = FALSE; return CURLE_OK; } else { /* timeout */ failf(data, "SSL connection timeout"); return CURLE_OPERATION_TIMEDOUT; } } /* socket is readable or writable */ } /* Run transaction, and return to the caller if it failed or if this * connection is done nonblocking and this loop would execute again. This * permits the owner of a multi handle to abort a connection attempt * before step2 has completed while ensuring that a client using select() * or epoll() will always have a valid fdset to wait on. */ result = sectransp_connect_step2(conn, sockindex); if(result || (nonblocking && (ssl_connect_2 == connssl->connecting_state || ssl_connect_2_reading == connssl->connecting_state || ssl_connect_2_writing == connssl->connecting_state))) return result; } /* repeat step2 until all transactions are done. */ if(ssl_connect_3 == connssl->connecting_state) { result = sectransp_connect_step3(conn, sockindex); if(result) return result; } if(ssl_connect_done == connssl->connecting_state) { connssl->state = ssl_connection_complete; conn->recv[sockindex] = sectransp_recv; conn->send[sockindex] = sectransp_send; *done = TRUE; } else *done = FALSE; /* Reset our connect state machine */ connssl->connecting_state = ssl_connect_1; return CURLE_OK; } static CURLcode Curl_sectransp_connect_nonblocking(struct connectdata *conn, int sockindex, bool *done) { return sectransp_connect_common(conn, sockindex, TRUE, done); } static CURLcode Curl_sectransp_connect(struct connectdata *conn, int sockindex) { CURLcode result; bool done = FALSE; result = sectransp_connect_common(conn, sockindex, FALSE, &done); if(result) return result; DEBUGASSERT(done); return CURLE_OK; } static void Curl_sectransp_close(struct connectdata *conn, int sockindex) { struct ssl_connect_data *connssl = &conn->ssl[sockindex]; if(BACKEND->ssl_ctx) { (void)SSLClose(BACKEND->ssl_ctx); #if CURL_BUILD_MAC_10_8 || CURL_BUILD_IOS if(SSLCreateContext != NULL) CFRelease(BACKEND->ssl_ctx); #if CURL_SUPPORT_MAC_10_8 else (void)SSLDisposeContext(BACKEND->ssl_ctx); #endif /* CURL_SUPPORT_MAC_10_8 */ #else (void)SSLDisposeContext(BACKEND->ssl_ctx); #endif /* CURL_BUILD_MAC_10_8 || CURL_BUILD_IOS */ BACKEND->ssl_ctx = NULL; } BACKEND->ssl_sockfd = 0; } static int Curl_sectransp_shutdown(struct connectdata *conn, int sockindex) { struct ssl_connect_data *connssl = &conn->ssl[sockindex]; struct Curl_easy *data = conn->data; ssize_t nread; int what; int rc; char buf[120]; if(!BACKEND->ssl_ctx) return 0; if(data->set.ftp_ccc != CURLFTPSSL_CCC_ACTIVE) return 0; Curl_sectransp_close(conn, sockindex); rc = 0; what = SOCKET_READABLE(conn->sock[sockindex], SSL_SHUTDOWN_TIMEOUT); for(;;) { if(what < 0) { /* anything that gets here is fatally bad */ failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO); rc = -1; break; } if(!what) { /* timeout */ failf(data, "SSL shutdown timeout"); break; } /* Something to read, let's do it and hope that it is the close notify alert from the server. No way to SSL_Read now, so use read(). */ nread = read(conn->sock[sockindex], buf, sizeof(buf)); if(nread < 0) { failf(data, "read: %s", strerror(errno)); rc = -1; } if(nread <= 0) break; what = SOCKET_READABLE(conn->sock[sockindex], 0); } return rc; } static void Curl_sectransp_session_free(void *ptr) { /* ST, as of iOS 5 and Mountain Lion, has no public method of deleting a cached session ID inside the Security framework. There is a private function that does this, but I don't want to have to explain to you why I got your application rejected from the App Store due to the use of a private API, so the best we can do is free up our own char array that we created way back in sectransp_connect_step1... */ Curl_safefree(ptr); } static size_t Curl_sectransp_version(char *buffer, size_t size) { return msnprintf(buffer, size, "SecureTransport"); } /* * This function uses SSLGetSessionState to determine connection status. * * Return codes: * 1 means the connection is still in place * 0 means the connection has been closed * -1 means the connection status is unknown */ static int Curl_sectransp_check_cxn(struct connectdata *conn) { struct ssl_connect_data *connssl = &conn->ssl[FIRSTSOCKET]; OSStatus err; SSLSessionState state; if(BACKEND->ssl_ctx) { err = SSLGetSessionState(BACKEND->ssl_ctx, &state); if(err == noErr) return state == kSSLConnected || state == kSSLHandshake; return -1; } return 0; } static bool Curl_sectransp_data_pending(const struct connectdata *conn, int connindex) { const struct ssl_connect_data *connssl = &conn->ssl[connindex]; OSStatus err; size_t buffer; if(BACKEND->ssl_ctx) { /* SSL is in use */ err = SSLGetBufferedReadSize(BACKEND->ssl_ctx, &buffer); if(err == noErr) return buffer > 0UL; return false; } else return false; } static CURLcode Curl_sectransp_random(struct Curl_easy *data UNUSED_PARAM, unsigned char *entropy, size_t length) { /* arc4random_buf() isn't available on cats older than Lion, so let's do this manually for the benefit of the older cats. */ size_t i; u_int32_t random_number = 0; (void)data; for(i = 0 ; i < length ; i++) { if(i % sizeof(u_int32_t) == 0) random_number = arc4random(); entropy[i] = random_number & 0xFF; random_number >>= 8; } i = random_number = 0; return CURLE_OK; } static CURLcode Curl_sectransp_md5sum(unsigned char *tmp, /* input */ size_t tmplen, unsigned char *md5sum, /* output */ size_t md5len) { (void)md5len; (void)CC_MD5(tmp, (CC_LONG)tmplen, md5sum); return CURLE_OK; } static CURLcode Curl_sectransp_sha256sum(const unsigned char *tmp, /* input */ size_t tmplen, unsigned char *sha256sum, /* output */ size_t sha256len) { assert(sha256len >= CURL_SHA256_DIGEST_LENGTH); (void)CC_SHA256(tmp, (CC_LONG)tmplen, sha256sum); return CURLE_OK; } static bool Curl_sectransp_false_start(void) { #if CURL_BUILD_MAC_10_9 || CURL_BUILD_IOS_7 if(SSLSetSessionOption != NULL) return TRUE; #endif return FALSE; } static ssize_t sectransp_send(struct connectdata *conn, int sockindex, const void *mem, size_t len, CURLcode *curlcode) { /*struct Curl_easy *data = conn->data;*/ struct ssl_connect_data *connssl = &conn->ssl[sockindex]; size_t processed = 0UL; OSStatus err; /* The SSLWrite() function works a little differently than expected. The fourth argument (processed) is currently documented in Apple's documentation as: "On return, the length, in bytes, of the data actually written." Now, one could interpret that as "written to the socket," but actually, it returns the amount of data that was written to a buffer internal to the SSLContextRef instead. So it's possible for SSLWrite() to return errSSLWouldBlock and a number of bytes "written" because those bytes were encrypted and written to a buffer, not to the socket. So if this happens, then we need to keep calling SSLWrite() over and over again with no new data until it quits returning errSSLWouldBlock. */ /* Do we have buffered data to write from the last time we were called? */ if(BACKEND->ssl_write_buffered_length) { /* Write the buffered data: */ err = SSLWrite(BACKEND->ssl_ctx, NULL, 0UL, &processed); switch(err) { case noErr: /* processed is always going to be 0 because we didn't write to the buffer, so return how much was written to the socket */ processed = BACKEND->ssl_write_buffered_length; BACKEND->ssl_write_buffered_length = 0UL; break; case errSSLWouldBlock: /* argh, try again */ *curlcode = CURLE_AGAIN; return -1L; default: failf(conn->data, "SSLWrite() returned error %d", err); *curlcode = CURLE_SEND_ERROR; return -1L; } } else { /* We've got new data to write: */ err = SSLWrite(BACKEND->ssl_ctx, mem, len, &processed); if(err != noErr) { switch(err) { case errSSLWouldBlock: /* Data was buffered but not sent, we have to tell the caller to try sending again, and remember how much was buffered */ BACKEND->ssl_write_buffered_length = len; *curlcode = CURLE_AGAIN; return -1L; default: failf(conn->data, "SSLWrite() returned error %d", err); *curlcode = CURLE_SEND_ERROR; return -1L; } } } return (ssize_t)processed; } static ssize_t sectransp_recv(struct connectdata *conn, int num, char *buf, size_t buffersize, CURLcode *curlcode) { /*struct Curl_easy *data = conn->data;*/ struct ssl_connect_data *connssl = &conn->ssl[num]; size_t processed = 0UL; OSStatus err = SSLRead(BACKEND->ssl_ctx, buf, buffersize, &processed); if(err != noErr) { switch(err) { case errSSLWouldBlock: /* return how much we read (if anything) */ if(processed) return (ssize_t)processed; *curlcode = CURLE_AGAIN; return -1L; break; /* errSSLClosedGraceful - server gracefully shut down the SSL session errSSLClosedNoNotify - server hung up on us instead of sending a closure alert notice, read() is returning 0 Either way, inform the caller that the server disconnected. */ case errSSLClosedGraceful: case errSSLClosedNoNotify: *curlcode = CURLE_OK; return -1L; break; default: failf(conn->data, "SSLRead() return error %d", err); *curlcode = CURLE_RECV_ERROR; return -1L; break; } } return (ssize_t)processed; } static void *Curl_sectransp_get_internals(struct ssl_connect_data *connssl, CURLINFO info UNUSED_PARAM) { (void)info; return BACKEND->ssl_ctx; } const struct Curl_ssl Curl_ssl_sectransp = { { CURLSSLBACKEND_SECURETRANSPORT, "secure-transport" }, /* info */ #ifdef SECTRANSP_PINNEDPUBKEY SSLSUPP_PINNEDPUBKEY, #else 0, #endif /* SECTRANSP_PINNEDPUBKEY */ sizeof(struct ssl_backend_data), Curl_none_init, /* init */ Curl_none_cleanup, /* cleanup */ Curl_sectransp_version, /* version */ Curl_sectransp_check_cxn, /* check_cxn */ Curl_sectransp_shutdown, /* shutdown */ Curl_sectransp_data_pending, /* data_pending */ Curl_sectransp_random, /* random */ Curl_none_cert_status_request, /* cert_status_request */ Curl_sectransp_connect, /* connect */ Curl_sectransp_connect_nonblocking, /* connect_nonblocking */ Curl_sectransp_get_internals, /* get_internals */ Curl_sectransp_close, /* close_one */ Curl_none_close_all, /* close_all */ Curl_sectransp_session_free, /* session_free */ Curl_none_set_engine, /* set_engine */ Curl_none_set_engine_default, /* set_engine_default */ Curl_none_engines_list, /* engines_list */ Curl_sectransp_false_start, /* false_start */ Curl_sectransp_md5sum, /* md5sum */ Curl_sectransp_sha256sum /* sha256sum */ }; #ifdef __clang__ #pragma clang diagnostic pop #endif #endif /* USE_SECTRANSP */ |
Added jni/curl/lib/vtls/sectransp.h.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #ifndef HEADER_CURL_SECTRANSP_H #define HEADER_CURL_SECTRANSP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2012 - 2014, Nick Zitzmann, <nickzman@gmail.com>. * Copyright (C) 2012 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "curl_setup.h" #ifdef USE_SECTRANSP extern const struct Curl_ssl Curl_ssl_sectransp; #endif /* USE_SECTRANSP */ #endif /* HEADER_CURL_SECTRANSP_H */ |
Changes to jni/curl/lib/vtls/vtls.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
244 245 246 247 248 249 250 | if(!ssl_prefs_check(conn->data)) return CURLE_SSL_CONNECT_ERROR; /* mark this is being ssl-enabled from here on. */ conn->ssl[sockindex].use = TRUE; conn->ssl[sockindex].state = ssl_connection_negotiating; | | | 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 | if(!ssl_prefs_check(conn->data)) return CURLE_SSL_CONNECT_ERROR; /* mark this is being ssl-enabled from here on. */ conn->ssl[sockindex].use = TRUE; conn->ssl[sockindex].state = ssl_connection_negotiating; result = Curl_ssl->connect_blocking(conn, sockindex); if(!result) Curl_pgrsTime(conn->data, TIMER_APPCONNECT); /* SSL is connected */ return result; } |
︙ | ︙ | |||
509 510 511 512 513 514 515 | Curl_safefree(data->state.session); } Curl_ssl->close_all(data); } #if defined(USE_OPENSSL) || defined(USE_GNUTLS) || defined(USE_SCHANNEL) || \ | | | 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 | Curl_safefree(data->state.session); } Curl_ssl->close_all(data); } #if defined(USE_OPENSSL) || defined(USE_GNUTLS) || defined(USE_SCHANNEL) || \ defined(USE_SECTRANSP) || defined(USE_POLARSSL) || defined(USE_NSS) || \ defined(USE_MBEDTLS) || defined(USE_CYASSL) int Curl_ssl_getsock(struct connectdata *conn, curl_socket_t *socks, int numsocks) { struct ssl_connect_data *connssl = &conn->ssl[FIRSTSOCKET]; if(!numsocks) |
︙ | ︙ | |||
542 543 544 545 546 547 548 | int numsocks) { (void)conn; (void)socks; (void)numsocks; return GETSOCK_BLANK; } | | | | 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 | int numsocks) { (void)conn; (void)socks; (void)numsocks; return GETSOCK_BLANK; } /* USE_OPENSSL || USE_GNUTLS || USE_SCHANNEL || USE_SECTRANSP || USE_NSS */ #endif void Curl_ssl_close(struct connectdata *conn, int sockindex) { DEBUGASSERT((sockindex <= 1) && (sockindex >= -1)); Curl_ssl->close_one(conn, sockindex); } CURLcode Curl_ssl_shutdown(struct connectdata *conn, int sockindex) { if(Curl_ssl->shut_down(conn, sockindex)) return CURLE_SSL_SHUTDOWN_FAILED; conn->ssl[sockindex].use = FALSE; /* get back to ordinary socket usage */ conn->ssl[sockindex].state = ssl_connection_none; conn->recv[sockindex] = Curl_recv_plain; conn->send[sockindex] = Curl_send_plain; |
︙ | ︙ | |||
1110 1111 1112 1113 1114 1115 1116 | return Curl_ssl->init(); } static CURLcode Curl_multissl_connect(struct connectdata *conn, int sockindex) { if(multissl_init(NULL)) return CURLE_FAILED_INIT; | | | 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 | return Curl_ssl->init(); } static CURLcode Curl_multissl_connect(struct connectdata *conn, int sockindex) { if(multissl_init(NULL)) return CURLE_FAILED_INIT; return Curl_ssl->connect_blocking(conn, sockindex); } static CURLcode Curl_multissl_connect_nonblocking(struct connectdata *conn, int sockindex, bool *done) { if(multissl_init(NULL)) return CURLE_FAILED_INIT; |
︙ | ︙ | |||
1168 1169 1170 1171 1172 1173 1174 | }; const struct Curl_ssl *Curl_ssl = #if defined(CURL_WITH_MULTI_SSL) &Curl_ssl_multi; #elif defined(USE_CYASSL) &Curl_ssl_cyassl; | | | | 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 | }; const struct Curl_ssl *Curl_ssl = #if defined(CURL_WITH_MULTI_SSL) &Curl_ssl_multi; #elif defined(USE_CYASSL) &Curl_ssl_cyassl; #elif defined(USE_SECTRANSP) &Curl_ssl_sectransp; #elif defined(USE_GNUTLS) &Curl_ssl_gnutls; #elif defined(USE_GSKIT) &Curl_ssl_gskit; #elif defined(USE_MBEDTLS) &Curl_ssl_mbedtls; #elif defined(USE_NSS) |
︙ | ︙ | |||
1194 1195 1196 1197 1198 1199 1200 | #error "Missing struct Curl_ssl for selected SSL backend" #endif static const struct Curl_ssl *available_backends[] = { #if defined(USE_CYASSL) &Curl_ssl_cyassl, #endif | | | | 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 | #error "Missing struct Curl_ssl for selected SSL backend" #endif static const struct Curl_ssl *available_backends[] = { #if defined(USE_CYASSL) &Curl_ssl_cyassl, #endif #if defined(USE_SECTRANSP) &Curl_ssl_sectransp, #endif #if defined(USE_GNUTLS) &Curl_ssl_gnutls, #endif #if defined(USE_GSKIT) &Curl_ssl_gskit, #endif |
︙ | ︙ |
Changes to jni/curl/lib/vtls/vtls.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_VTLS_H #define HEADER_CURL_VTLS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_VTLS_H #define HEADER_CURL_VTLS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
43 44 45 46 47 48 49 | size_t sizeof_ssl_backend_data; int (*init)(void); void (*cleanup)(void); size_t (*version)(char *buffer, size_t size); int (*check_cxn)(struct connectdata *cxn); | | | | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | size_t sizeof_ssl_backend_data; int (*init)(void); void (*cleanup)(void); size_t (*version)(char *buffer, size_t size); int (*check_cxn)(struct connectdata *cxn); int (*shut_down)(struct connectdata *conn, int sockindex); bool (*data_pending)(const struct connectdata *conn, int connindex); /* return 0 if a find random is filled in */ CURLcode (*random)(struct Curl_easy *data, unsigned char *entropy, size_t length); bool (*cert_status_request)(void); CURLcode (*connect_blocking)(struct connectdata *conn, int sockindex); CURLcode (*connect_nonblocking)(struct connectdata *conn, int sockindex, bool *done); void *(*get_internals)(struct ssl_connect_data *connssl, CURLINFO info); void (*close_one)(struct connectdata *conn, int sockindex); void (*close_all)(struct Curl_easy *data); void (*session_free)(void *ptr); |
︙ | ︙ | |||
101 102 103 104 105 106 107 | #include "openssl.h" /* OpenSSL versions */ #include "gtls.h" /* GnuTLS versions */ #include "nssg.h" /* NSS versions */ #include "gskit.h" /* Global Secure ToolKit versions */ #include "polarssl.h" /* PolarSSL versions */ #include "cyassl.h" /* CyaSSL versions */ #include "schannel.h" /* Schannel SSPI version */ | | | 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | #include "openssl.h" /* OpenSSL versions */ #include "gtls.h" /* GnuTLS versions */ #include "nssg.h" /* NSS versions */ #include "gskit.h" /* Global Secure ToolKit versions */ #include "polarssl.h" /* PolarSSL versions */ #include "cyassl.h" /* CyaSSL versions */ #include "schannel.h" /* Schannel SSPI version */ #include "sectransp.h" /* SecureTransport (Darwin) version */ #include "mbedtls.h" /* mbedTLS versions */ #include "mesalink.h" /* MesaLink versions */ #ifndef MAX_PINNED_PUBKEY_SIZE #define MAX_PINNED_PUBKEY_SIZE 1048576 /* 1MB */ #endif |
︙ | ︙ |
Changes to jni/curl/lib/warnless.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
391 392 393 394 395 396 397 | # pragma warning(push) # pragma warning(disable:810) /* conversion may lose significant bits */ #endif DEBUGASSERT(uinum <= (unsigned int) CURL_MASK_USHORT); return (unsigned short) (uinum & (unsigned int) CURL_MASK_USHORT); | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 391 392 393 394 395 396 397 398 399 400 401 402 403 404 | # pragma warning(push) # pragma warning(disable:810) /* conversion may lose significant bits */ #endif DEBUGASSERT(uinum <= (unsigned int) CURL_MASK_USHORT); return (unsigned short) (uinum & (unsigned int) CURL_MASK_USHORT); #ifdef __INTEL_COMPILER # pragma warning(pop) #endif } /* ** signed int to unsigned size_t |
︙ | ︙ |
Changes to jni/curl/lib/warnless.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_WARNLESS_H #define HEADER_CURL_WARNLESS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_WARNLESS_H #define HEADER_CURL_WARNLESS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
53 54 55 56 57 58 59 | size_t curlx_sotouz(curl_off_t sonum); int curlx_sztosi(ssize_t sznum); unsigned short curlx_uitous(unsigned int uinum); | < < < < | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | size_t curlx_sotouz(curl_off_t sonum); int curlx_sztosi(ssize_t sznum); unsigned short curlx_uitous(unsigned int uinum); size_t curlx_sitouz(int sinum); #ifdef USE_WINSOCK int curlx_sktosi(curl_socket_t s); curl_socket_t curlx_sitosk(int i); |
︙ | ︙ |
Changes to jni/curl/lib/x509asn1.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
116 117 118 119 120 121 122 | /* Get a single ASN.1 element into `elem', parse ASN.1 string at `beg' ending at `end'. Returns a pointer in source string after the parsed element, or NULL if an error occurs. */ if(!beg || !end || beg >= end || !*beg || (size_t)(end - beg) > CURL_ASN1_MAX) | | | | | | | | | | > > > > < < < < | < < > | | | > > > | > > > > < < < | > > > > > < < < < | > > > > > > > < < < < < < | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 | /* Get a single ASN.1 element into `elem', parse ASN.1 string at `beg' ending at `end'. Returns a pointer in source string after the parsed element, or NULL if an error occurs. */ if(!beg || !end || beg >= end || !*beg || (size_t)(end - beg) > CURL_ASN1_MAX) return NULL; /* Process header byte. */ elem->header = beg; b = (unsigned char) *beg++; elem->constructed = (b & 0x20) != 0; elem->class = (b >> 6) & 3; b &= 0x1F; if(b == 0x1F) return NULL; /* Long tag values not supported here. */ elem->tag = b; /* Process length. */ if(beg >= end) return NULL; b = (unsigned char) *beg++; if(!(b & 0x80)) len = b; else if(!(b &= 0x7F)) { /* Unspecified length. Since we have all the data, we can determine the effective length by skipping element until an end element is found. */ if(!elem->constructed) return NULL; elem->beg = beg; while(beg < end && *beg) { beg = getASN1Element(&lelem, beg, end); if(!beg) return NULL; } if(beg >= end) return NULL; elem->end = beg; return beg + 1; } else if((unsigned)b > (size_t)(end - beg)) return NULL; /* Does not fit in source. */ else { /* Get long length. */ len = 0; do { if(len & 0xFF000000L) return NULL; /* Lengths > 32 bits are not supported. */ len = (len << 8) | (unsigned char) *beg++; } while(--b); } if(len > (size_t)(end - beg)) return NULL; /* Element data does not fit in source. */ elem->beg = beg; elem->end = beg + len; return elem->end; } /* * Search the null terminated OID or OID identifier in local table. * Return the table entry pointer or NULL if not found. */ static const curl_OID * searchOID(const char *oid) { const curl_OID *op; for(op = OIDtable; op->numoid; op++) if(!strcmp(op->numoid, oid) || strcasecompare(op->textoid, oid)) return op; return NULL; } /* * Convert an ASN.1 Boolean value into its string representation. Return the * dynamically allocated string, or NULL if source is not an ASN.1 Boolean * value. */ static const char *bool2str(const char *beg, const char *end) { if(end - beg != 1) return NULL; return strdup(*beg? "TRUE": "FALSE"); } /* * Convert an ASN.1 octet string to a printable string. * Return the dynamically allocated string, or NULL if an error occurs. */ static const char *octet2str(const char *beg, const char *end) { size_t n = end - beg; char *buf = NULL; if(n <= (SIZE_T_MAX - 1) / 3) { buf = malloc(3 * n + 1); if(buf) for(n = 0; beg < end; n += 3) msnprintf(buf + n, 4, "%02x:", *(const unsigned char *) beg++); } return buf; } static const char *bit2str(const char *beg, const char *end) { /* Convert an ASN.1 bit string to a printable string. Return the dynamically allocated string, or NULL if an error occurs. */ if(++beg > end) return NULL; return octet2str(beg, end); } /* * Convert an ASN.1 integer value into its string representation. * Return the dynamically allocated string, or NULL if source is not an * ASN.1 integer value. */ static const char *int2str(const char *beg, const char *end) { unsigned long val = 0; size_t n = end - beg; if(!n) return NULL; if(n > 4) return octet2str(beg, end); /* Represent integers <= 32-bit as a single value. */ if(*beg & 0x80) val = ~val; do val = (val << 8) | *(const unsigned char *) beg++; while(beg < end); return curl_maprintf("%s%lx", val >= 10? "0x": "", val); } /* * Perform a lazy conversion from an ASN.1 typed string to UTF8. Allocate the * destination buffer dynamically. The allocation size will normally be too * large: this is to avoid buffer overflows. * Terminate the string with a nul byte and return the converted * string length. */ static ssize_t utf8asn1str(char **to, int type, const char *from, const char *end) { size_t inlength = end - from; int size = 1; size_t outlength; int charsize; unsigned int wc; char *buf; *to = NULL; switch(type) { case CURL_ASN1_BMP_STRING: size = 2; break; case CURL_ASN1_UNIVERSAL_STRING: size = 4; break; |
︙ | ︙ | |||
337 338 339 340 341 342 343 344 345 346 | } } buf[outlength] = '\0'; *to = buf; return outlength; } static const char *string2str(int type, const char *beg, const char *end) { char *buf; | > > > > < < < < | > > > > > | | < < < | | | > > > > > > | | < < < < | | > > > | | | > > > | | < < < < < | | | > > > > | | | | | | | 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 | } } buf[outlength] = '\0'; *to = buf; return outlength; } /* * Convert an ASN.1 String into its UTF-8 string representation. * Return the dynamically allocated string, or NULL if an error occurs. */ static const char *string2str(int type, const char *beg, const char *end) { char *buf; if(utf8asn1str(&buf, type, beg, end) < 0) return NULL; return buf; } /* * Decimal ASCII encode unsigned integer `x' into the buflen sized buffer at * buf. Return the total number of encoded digits, even if larger than * `buflen'. */ static size_t encodeUint(char *buf, size_t buflen, unsigned int x) { size_t i = 0; unsigned int y = x / 10; if(y) { i = encodeUint(buf, buflen, y); x -= y * 10; } if(i < buflen) buf[i] = (char) ('0' + x); i++; if(i < buflen) buf[i] = '\0'; /* Store a terminator if possible. */ return i; } /* * Convert an ASN.1 OID into its dotted string representation. * Store the result in th `n'-byte buffer at `buf'. * Return the converted string length, or 0 on errors. */ static size_t encodeOID(char *buf, size_t buflen, const char *beg, const char *end) { size_t i; unsigned int x; unsigned int y; /* Process the first two numbers. */ y = *(const unsigned char *) beg++; x = y / 40; y -= x * 40; i = encodeUint(buf, buflen, x); if(i < buflen) buf[i] = '.'; i++; if(i >= buflen) i += encodeUint(NULL, 0, y); else i += encodeUint(buf + i, buflen - i, y); /* Process the trailing numbers. */ while(beg < end) { if(i < buflen) buf[i] = '.'; i++; x = 0; do { if(x & 0xFF000000) return 0; y = *(const unsigned char *) beg++; x = (x << 7) | (y & 0x7F); } while(y & 0x80); if(i >= buflen) i += encodeUint(NULL, 0, x); else i += encodeUint(buf + i, buflen - i, x); } if(i < buflen) buf[i] = '\0'; return i; } /* * Convert an ASN.1 OID into its dotted or symbolic string representation. * Return the dynamically allocated string, or NULL if an error occurs. */ static const char *OID2str(const char *beg, const char *end, bool symbolic) { char *buf = NULL; if(beg < end) { size_t buflen = encodeOID(NULL, 0, beg, end); if(buflen) { buf = malloc(buflen + 1); /* one extra for the zero byte */ if(buf) { encodeOID(buf, buflen, beg, end); buf[buflen] = '\0'; if(symbolic) { const curl_OID *op = searchOID(buf); if(op) { free(buf); buf = strdup(op->textoid); } } } } |
︙ | ︙ | |||
466 467 468 469 470 471 472 | case 2: sec1 = fracp[-2]; /* FALLTHROUGH */ case 1: sec2 = fracp[-1]; break; default: | | | 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 | case 2: sec1 = fracp[-2]; /* FALLTHROUGH */ case 1: sec2 = fracp[-1]; break; default: return NULL; } /* Scan for timezone, measure fractional seconds. */ tzp = fracp; fracl = 0; if(fracp < end && (*fracp == '.' || *fracp == ',')) { fracp++; |
︙ | ︙ | |||
502 503 504 505 506 507 508 509 510 511 512 513 514 | return curl_maprintf("%.4s-%.2s-%.2s %.2s:%.2s:%c%c%s%.*s%s%.*s", beg, beg + 4, beg + 6, beg + 8, beg + 10, sec1, sec2, fracl? ".": "", fracl, fracp, sep, tzl, tzp); } static const char *UTime2str(const char *beg, const char *end) { const char *tzp; size_t tzl; const char *sec; | > > > > < < < | | < < > | | > > | | | 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 | return curl_maprintf("%.4s-%.2s-%.2s %.2s:%.2s:%c%c%s%.*s%s%.*s", beg, beg + 4, beg + 6, beg + 8, beg + 10, sec1, sec2, fracl? ".": "", fracl, fracp, sep, tzl, tzp); } /* * Convert an ASN.1 UTC time to a printable string. * Return the dynamically allocated string, or NULL if an error occurs. */ static const char *UTime2str(const char *beg, const char *end) { const char *tzp; size_t tzl; const char *sec; for(tzp = beg; tzp < end && *tzp >= '0' && *tzp <= '9'; tzp++) ; /* Get the seconds. */ sec = beg + 10; switch(tzp - sec) { case 0: sec = "00"; case 2: break; default: return NULL; } /* Process timezone. */ if(tzp >= end) return NULL; if(*tzp == 'Z') { tzp = "GMT"; end = tzp + 3; } else tzp++; tzl = end - tzp; return curl_maprintf("%u%.2s-%.2s-%.2s %.2s:%.2s:%.2s %.*s", 20 - (*beg >= '5'), beg, beg + 2, beg + 4, beg + 6, beg + 8, sec, tzl, tzp); } /* * Convert an ASN.1 element to a printable string. * Return the dynamically allocated string, or NULL if an error occurs. */ static const char *ASN1tostr(curl_asn1Element *elem, int type) { if(elem->constructed) return NULL; /* No conversion of structured elements. */ if(!type) type = elem->tag; /* Type not forced: use element tag as type. */ switch(type) { case CURL_ASN1_BOOLEAN: return bool2str(elem->beg, elem->end); |
︙ | ︙ | |||
581 582 583 584 585 586 587 | case CURL_ASN1_IA5_STRING: case CURL_ASN1_VISIBLE_STRING: case CURL_ASN1_UNIVERSAL_STRING: case CURL_ASN1_BMP_STRING: return string2str(type, elem->beg, elem->end); } | | > > > > | < < < | 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 | case CURL_ASN1_IA5_STRING: case CURL_ASN1_VISIBLE_STRING: case CURL_ASN1_UNIVERSAL_STRING: case CURL_ASN1_BMP_STRING: return string2str(type, elem->beg, elem->end); } return NULL; /* Unsupported. */ } /* * ASCII encode distinguished name at `dn' into the `buflen'-sized buffer at * `buf'. Return the total string length, even if larger than `buflen'. */ static ssize_t encodeDN(char *buf, size_t buflen, curl_asn1Element *dn) { curl_asn1Element rdn; curl_asn1Element atv; curl_asn1Element oid; curl_asn1Element value; size_t l = 0; const char *p1; const char *p2; const char *p3; const char *str; for(p1 = dn->beg; p1 < dn->end;) { p1 = getASN1Element(&rdn, p1, dn->end); if(!p1) return -1; for(p2 = rdn.beg; p2 < rdn.end;) { p2 = getASN1Element(&atv, p2, rdn.end); if(!p2) |
︙ | ︙ | |||
622 623 624 625 626 627 628 | /* Encode delimiter. If attribute has a short uppercase name, delimiter is ", ". */ if(l) { for(p3 = str; isupper(*p3); p3++) ; for(p3 = (*p3 || p3 - str > 2)? "/": ", "; *p3; p3++) { | | | | | > > > > | | < < < | | | | | | > > < < < < < | 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 | /* Encode delimiter. If attribute has a short uppercase name, delimiter is ", ". */ if(l) { for(p3 = str; isupper(*p3); p3++) ; for(p3 = (*p3 || p3 - str > 2)? "/": ", "; *p3; p3++) { if(l < buflen) buf[l] = *p3; l++; } } /* Encode attribute name. */ for(p3 = str; *p3; p3++) { if(l < buflen) buf[l] = *p3; l++; } free((char *) str); /* Generate equal sign. */ if(l < buflen) buf[l] = '='; l++; /* Generate value. */ str = ASN1tostr(&value, 0); if(!str) return -1; for(p3 = str; *p3; p3++) { if(l < buflen) buf[l] = *p3; l++; } free((char *) str); } } return l; } /* * Convert an ASN.1 distinguished name into a printable string. * Return the dynamically allocated string, or NULL if an error occurs. */ static const char *DNtostr(curl_asn1Element *dn) { char *buf = NULL; ssize_t buflen = encodeDN(NULL, 0, dn); if(buflen >= 0) { buf = malloc(buflen + 1); if(buf) { encodeDN(buf, buflen + 1, dn); buf[buflen] = '\0'; } } return buf; } /* * ASN.1 parse an X509 certificate into structure subfields. * Syntax is assumed to have already been checked by the SSL backend. * See RFC 5280. */ int Curl_parseX509(curl_X509certificate *cert, const char *beg, const char *end) { curl_asn1Element elem; curl_asn1Element tbsCertificate; const char *ccp; static const char defaultVersion = 0; /* v1. */ cert->certificate.header = NULL; cert->certificate.beg = beg; cert->certificate.end = end; /* Get the sequence content. */ if(!getASN1Element(&elem, beg, end)) return -1; /* Invalid bounds/size. */ |
︙ | ︙ | |||
797 798 799 800 801 802 803 804 805 806 | } if(elem.tag == 3) if(!getASN1Element(&cert->extensions, elem.beg, elem.end)) return -1; return 0; } static size_t copySubstring(char *to, const char *from) { size_t i; | > > > > > < < < < | 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 | } if(elem.tag == 3) if(!getASN1Element(&cert->extensions, elem.beg, elem.end)) return -1; return 0; } /* * Copy at most 64-characters, terminate with a newline and returns the * effective number of stored characters. */ static size_t copySubstring(char *to, const char *from) { size_t i; for(i = 0; i < 64; i++) { to[i] = *from; if(!*from++) break; } to[i++] = '\n'; |
︙ | ︙ | |||
1100 1101 1102 1103 1104 1105 1106 | bool matched; /* Check if first ASN.1 element at `beg' is the given OID. Return a pointer in the source after the OID if found, else NULL. */ ccp = getASN1Element(&e, beg, end); if(!ccp || e.tag != CURL_ASN1_OBJECT_IDENTIFIER) | | | | | 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 | bool matched; /* Check if first ASN.1 element at `beg' is the given OID. Return a pointer in the source after the OID if found, else NULL. */ ccp = getASN1Element(&e, beg, end); if(!ccp || e.tag != CURL_ASN1_OBJECT_IDENTIFIER) return NULL; p = OID2str(e.beg, e.end, FALSE); if(!p) return NULL; matched = !strcmp(p, oid); free((char *) p); return matched? ccp: NULL; } CURLcode Curl_verifyhost(struct connectdata *conn, const char *beg, const char *end) { struct Curl_easy *data = conn->data; curl_X509certificate cert; |
︙ | ︙ |
Changes to jni/curl/ltmain.sh.
︙ | ︙ | |||
27 28 29 30 31 32 33 | # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. PROGRAM=libtool PACKAGE=libtool | | | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. PROGRAM=libtool PACKAGE=libtool VERSION="2.4.6 Debian-2.4.6-10" package_revision=2.4.6 ## ------ ## ## Usage. ## ## ------ ## |
︙ | ︙ | |||
2137 2138 2139 2140 2141 2142 2143 | include the following information: host-triplet: $host shell: $SHELL compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) | | | 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 | include the following information: host-triplet: $host shell: $SHELL compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) version: $progname $scriptversion Debian-2.4.6-10 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` Report bugs to <bug-libtool@gnu.org>. GNU libtool home page: <http://www.gnu.org/s/libtool/>. General help using GNU software: <http://www.gnu.org/gethelp/>." exit 0 |
︙ | ︙ |
Changes to jni/curl/m4/curl-functions.m4.
︙ | ︙ | |||
540 541 542 543 544 545 546 547 548 549 550 551 552 553 | #endif /* includes end */" CURL_CHECK_HEADER_WINDOWS CURL_CHECK_HEADER_WINSOCK2 CURL_CHECK_HEADER_WS2TCPIP ]) dnl CURL_PREPROCESS_CALLCONV dnl ------------------------------------------------- dnl Set up variable with a preprocessor block which dnl defines function calling convention. AC_DEFUN([CURL_PREPROCESS_CALLCONV], [ | > > > > > > > > > > > > > > > > > > > | 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 | #endif /* includes end */" CURL_CHECK_HEADER_WINDOWS CURL_CHECK_HEADER_WINSOCK2 CURL_CHECK_HEADER_WS2TCPIP ]) dnl CURL_INCLUDES_BSDSOCKET dnl ------------------------------------------------- dnl Set up variable with list of headers that must be dnl included when bsdsocket.h is to be included. AC_DEFUN([CURL_INCLUDES_BSDSOCKET], [ curl_includes_bsdsocket="\ /* includes start */ #ifdef HAVE_PROTO_BSDSOCKET_H # include <proto/bsdsocket.h> struct Library *SocketBase = NULL; #endif /* includes end */" AC_CHECK_HEADERS( proto/bsdsocket.h, [], [], [ $curl_includes_bsdsocket]) ]) dnl CURL_PREPROCESS_CALLCONV dnl ------------------------------------------------- dnl Set up variable with a preprocessor block which dnl defines function calling convention. AC_DEFUN([CURL_PREPROCESS_CALLCONV], [ |
︙ | ︙ | |||
755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 | tst_compi_closesocket="unknown" tst_allow_closesocket="unknown" # AC_MSG_CHECKING([if closesocket can be linked]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_socket ]],[[ if(0 != closesocket(0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_links_closesocket="yes" ],[ AC_MSG_RESULT([no]) tst_links_closesocket="no" ]) # if test "$tst_links_closesocket" = "yes"; then AC_MSG_CHECKING([if closesocket is prototyped]) AC_EGREP_CPP([closesocket],[ $curl_includes_winsock2 $curl_includes_socket ],[ AC_MSG_RESULT([yes]) tst_proto_closesocket="yes" ],[ AC_MSG_RESULT([no]) tst_proto_closesocket="no" ]) fi # if test "$tst_proto_closesocket" = "yes"; then AC_MSG_CHECKING([if closesocket is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_socket ]],[[ if(0 != closesocket(0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) | > > > | 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 | tst_compi_closesocket="unknown" tst_allow_closesocket="unknown" # AC_MSG_CHECKING([if closesocket can be linked]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_socket ]],[[ if(0 != closesocket(0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_links_closesocket="yes" ],[ AC_MSG_RESULT([no]) tst_links_closesocket="no" ]) # if test "$tst_links_closesocket" = "yes"; then AC_MSG_CHECKING([if closesocket is prototyped]) AC_EGREP_CPP([closesocket],[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_socket ],[ AC_MSG_RESULT([yes]) tst_proto_closesocket="yes" ],[ AC_MSG_RESULT([no]) tst_proto_closesocket="no" ]) fi # if test "$tst_proto_closesocket" = "yes"; then AC_MSG_CHECKING([if closesocket is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_socket ]],[[ if(0 != closesocket(0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) |
︙ | ︙ | |||
940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 | tst_compi_connect="unknown" tst_allow_connect="unknown" # AC_MSG_CHECKING([if connect can be linked]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_sys_socket $curl_includes_socket ]],[[ if(0 != connect(0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_links_connect="yes" ],[ AC_MSG_RESULT([no]) tst_links_connect="no" ]) # if test "$tst_links_connect" = "yes"; then AC_MSG_CHECKING([if connect is prototyped]) AC_EGREP_CPP([connect],[ $curl_includes_winsock2 $curl_includes_sys_socket $curl_includes_socket ],[ AC_MSG_RESULT([yes]) tst_proto_connect="yes" ],[ AC_MSG_RESULT([no]) tst_proto_connect="no" ]) fi # if test "$tst_proto_connect" = "yes"; then AC_MSG_CHECKING([if connect is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_sys_socket $curl_includes_socket ]],[[ if(0 != connect(0, 0, 0)) return 1; ]]) ],[ | > > > | 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 | tst_compi_connect="unknown" tst_allow_connect="unknown" # AC_MSG_CHECKING([if connect can be linked]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_sys_socket $curl_includes_socket ]],[[ if(0 != connect(0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_links_connect="yes" ],[ AC_MSG_RESULT([no]) tst_links_connect="no" ]) # if test "$tst_links_connect" = "yes"; then AC_MSG_CHECKING([if connect is prototyped]) AC_EGREP_CPP([connect],[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_sys_socket $curl_includes_socket ],[ AC_MSG_RESULT([yes]) tst_proto_connect="yes" ],[ AC_MSG_RESULT([no]) tst_proto_connect="no" ]) fi # if test "$tst_proto_connect" = "yes"; then AC_MSG_CHECKING([if connect is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_sys_socket $curl_includes_socket ]],[[ if(0 != connect(0, 0, 0)) return 1; ]]) ],[ |
︙ | ︙ | |||
1163 1164 1165 1166 1167 1168 1169 | [Define to 1 if you have a working fcntl O_NONBLOCK function.]) curl_cv_func_fcntl_o_nonblock="yes" else AC_MSG_RESULT([no]) curl_cv_func_fcntl_o_nonblock="no" fi ]) | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 | [Define to 1 if you have a working fcntl O_NONBLOCK function.]) curl_cv_func_fcntl_o_nonblock="yes" else AC_MSG_RESULT([no]) curl_cv_func_fcntl_o_nonblock="no" fi ]) dnl CURL_CHECK_FUNC_FGETXATTR dnl ------------------------------------------------- dnl Verify if fgetxattr is available, prototyped, and dnl can be compiled. If all of these are true, and dnl usage has not been previously disallowed with dnl shell variable curl_disallow_fgetxattr, then |
︙ | ︙ | |||
2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 | tst_compi_gethostbyaddr="unknown" tst_allow_gethostbyaddr="unknown" # AC_MSG_CHECKING([if gethostbyaddr can be linked]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_netdb ]],[[ if(0 != gethostbyaddr(0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_links_gethostbyaddr="yes" ],[ AC_MSG_RESULT([no]) tst_links_gethostbyaddr="no" ]) # if test "$tst_links_gethostbyaddr" = "yes"; then AC_MSG_CHECKING([if gethostbyaddr is prototyped]) AC_EGREP_CPP([gethostbyaddr],[ $curl_includes_winsock2 $curl_includes_netdb ],[ AC_MSG_RESULT([yes]) tst_proto_gethostbyaddr="yes" ],[ AC_MSG_RESULT([no]) tst_proto_gethostbyaddr="no" ]) fi # if test "$tst_proto_gethostbyaddr" = "yes"; then AC_MSG_CHECKING([if gethostbyaddr is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_netdb ]],[[ if(0 != gethostbyaddr(0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) | > > > | 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 | tst_compi_gethostbyaddr="unknown" tst_allow_gethostbyaddr="unknown" # AC_MSG_CHECKING([if gethostbyaddr can be linked]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_netdb ]],[[ if(0 != gethostbyaddr(0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_links_gethostbyaddr="yes" ],[ AC_MSG_RESULT([no]) tst_links_gethostbyaddr="no" ]) # if test "$tst_links_gethostbyaddr" = "yes"; then AC_MSG_CHECKING([if gethostbyaddr is prototyped]) AC_EGREP_CPP([gethostbyaddr],[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_netdb ],[ AC_MSG_RESULT([yes]) tst_proto_gethostbyaddr="yes" ],[ AC_MSG_RESULT([no]) tst_proto_gethostbyaddr="no" ]) fi # if test "$tst_proto_gethostbyaddr" = "yes"; then AC_MSG_CHECKING([if gethostbyaddr is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_netdb ]],[[ if(0 != gethostbyaddr(0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) |
︙ | ︙ | |||
2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 | tst_compi_gai_strerror="unknown" tst_allow_gai_strerror="unknown" # AC_MSG_CHECKING([if gai_strerror can be linked]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_netdb ]],[[ if(0 != gai_strerror(0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_links_gai_strerror="yes" ],[ AC_MSG_RESULT([no]) tst_links_gai_strerror="no" ]) # if test "$tst_links_gai_strerror" = "yes"; then AC_MSG_CHECKING([if gai_strerror is prototyped]) AC_EGREP_CPP([gai_strerror],[ $curl_includes_winsock2 $curl_includes_netdb ],[ AC_MSG_RESULT([yes]) tst_proto_gai_strerror="yes" ],[ AC_MSG_RESULT([no]) tst_proto_gai_strerror="no" ]) fi # if test "$tst_proto_gai_strerror" = "yes"; then AC_MSG_CHECKING([if gai_strerror is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_netdb ]],[[ if(0 != gai_strerror(0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) | > > > | 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 | tst_compi_gai_strerror="unknown" tst_allow_gai_strerror="unknown" # AC_MSG_CHECKING([if gai_strerror can be linked]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_netdb ]],[[ if(0 != gai_strerror(0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_links_gai_strerror="yes" ],[ AC_MSG_RESULT([no]) tst_links_gai_strerror="no" ]) # if test "$tst_links_gai_strerror" = "yes"; then AC_MSG_CHECKING([if gai_strerror is prototyped]) AC_EGREP_CPP([gai_strerror],[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_netdb ],[ AC_MSG_RESULT([yes]) tst_proto_gai_strerror="yes" ],[ AC_MSG_RESULT([no]) tst_proto_gai_strerror="no" ]) fi # if test "$tst_proto_gai_strerror" = "yes"; then AC_MSG_CHECKING([if gai_strerror is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_netdb ]],[[ if(0 != gai_strerror(0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) |
︙ | ︙ | |||
2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 | tst_compi_gethostbyname="unknown" tst_allow_gethostbyname="unknown" # AC_MSG_CHECKING([if gethostbyname can be linked]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_netdb ]],[[ if(0 != gethostbyname(0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_links_gethostbyname="yes" ],[ AC_MSG_RESULT([no]) tst_links_gethostbyname="no" ]) # if test "$tst_links_gethostbyname" = "yes"; then AC_MSG_CHECKING([if gethostbyname is prototyped]) AC_EGREP_CPP([gethostbyname],[ $curl_includes_winsock2 $curl_includes_netdb ],[ AC_MSG_RESULT([yes]) tst_proto_gethostbyname="yes" ],[ AC_MSG_RESULT([no]) tst_proto_gethostbyname="no" ]) fi # if test "$tst_proto_gethostbyname" = "yes"; then AC_MSG_CHECKING([if gethostbyname is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_netdb ]],[[ if(0 != gethostbyname(0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) | > > > | 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 | tst_compi_gethostbyname="unknown" tst_allow_gethostbyname="unknown" # AC_MSG_CHECKING([if gethostbyname can be linked]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_netdb ]],[[ if(0 != gethostbyname(0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_links_gethostbyname="yes" ],[ AC_MSG_RESULT([no]) tst_links_gethostbyname="no" ]) # if test "$tst_links_gethostbyname" = "yes"; then AC_MSG_CHECKING([if gethostbyname is prototyped]) AC_EGREP_CPP([gethostbyname],[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_netdb ],[ AC_MSG_RESULT([yes]) tst_proto_gethostbyname="yes" ],[ AC_MSG_RESULT([no]) tst_proto_gethostbyname="no" ]) fi # if test "$tst_proto_gethostbyname" = "yes"; then AC_MSG_CHECKING([if gethostbyname is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_netdb ]],[[ if(0 != gethostbyname(0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) |
︙ | ︙ | |||
2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 | dnl shell variable curl_disallow_gethostname, then dnl HAVE_GETHOSTNAME will be defined. AC_DEFUN([CURL_CHECK_FUNC_GETHOSTNAME], [ AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl AC_REQUIRE([CURL_INCLUDES_UNISTD])dnl AC_REQUIRE([CURL_PREPROCESS_CALLCONV])dnl # tst_links_gethostname="unknown" tst_proto_gethostname="unknown" tst_compi_gethostname="unknown" tst_allow_gethostname="unknown" # AC_MSG_CHECKING([if gethostname can be linked]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_unistd ]],[[ if(0 != gethostname(0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_links_gethostname="yes" ],[ AC_MSG_RESULT([no]) tst_links_gethostname="no" ]) # if test "$tst_links_gethostname" = "yes"; then AC_MSG_CHECKING([if gethostname is prototyped]) AC_EGREP_CPP([gethostname],[ $curl_includes_winsock2 $curl_includes_unistd ],[ AC_MSG_RESULT([yes]) tst_proto_gethostname="yes" ],[ AC_MSG_RESULT([no]) tst_proto_gethostname="no" ]) fi # if test "$tst_proto_gethostname" = "yes"; then AC_MSG_CHECKING([if gethostname is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_unistd ]],[[ if(0 != gethostname(0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) | > > > > | 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 | dnl shell variable curl_disallow_gethostname, then dnl HAVE_GETHOSTNAME will be defined. AC_DEFUN([CURL_CHECK_FUNC_GETHOSTNAME], [ AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl AC_REQUIRE([CURL_INCLUDES_UNISTD])dnl AC_REQUIRE([CURL_PREPROCESS_CALLCONV])dnl AC_REQUIRE([CURL_INCLUDES_BSDSOCKET])dnl # tst_links_gethostname="unknown" tst_proto_gethostname="unknown" tst_compi_gethostname="unknown" tst_allow_gethostname="unknown" # AC_MSG_CHECKING([if gethostname can be linked]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_unistd ]],[[ if(0 != gethostname(0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_links_gethostname="yes" ],[ AC_MSG_RESULT([no]) tst_links_gethostname="no" ]) # if test "$tst_links_gethostname" = "yes"; then AC_MSG_CHECKING([if gethostname is prototyped]) AC_EGREP_CPP([gethostname],[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_unistd ],[ AC_MSG_RESULT([yes]) tst_proto_gethostname="yes" ],[ AC_MSG_RESULT([no]) tst_proto_gethostname="no" ]) fi # if test "$tst_proto_gethostname" = "yes"; then AC_MSG_CHECKING([if gethostname is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_unistd ]],[[ if(0 != gethostname(0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) |
︙ | ︙ | |||
2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 | tst_gethostname_type_arg2="unknown" for tst_arg1 in 'char *' 'unsigned char *' 'void *'; do for tst_arg2 in 'int' 'unsigned int' 'size_t'; do if test "$tst_gethostname_type_arg2" = "unknown"; then AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_unistd $curl_preprocess_callconv extern int FUNCALLCONV gethostname($tst_arg1, $tst_arg2); ]],[[ if(0 != gethostname(0, 0)) return 1; ]]) | > | 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 | tst_gethostname_type_arg2="unknown" for tst_arg1 in 'char *' 'unsigned char *' 'void *'; do for tst_arg2 in 'int' 'unsigned int' 'size_t'; do if test "$tst_gethostname_type_arg2" = "unknown"; then AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_unistd $curl_preprocess_callconv extern int FUNCALLCONV gethostname($tst_arg1, $tst_arg2); ]],[[ if(0 != gethostname(0, 0)) return 1; ]]) |
︙ | ︙ | |||
4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 | tst_compi_ioctlsocket="unknown" tst_allow_ioctlsocket="unknown" # AC_MSG_CHECKING([if ioctlsocket can be linked]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 ]],[[ if(0 != ioctlsocket(0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_links_ioctlsocket="yes" ],[ AC_MSG_RESULT([no]) tst_links_ioctlsocket="no" ]) # if test "$tst_links_ioctlsocket" = "yes"; then AC_MSG_CHECKING([if ioctlsocket is prototyped]) AC_EGREP_CPP([ioctlsocket],[ $curl_includes_winsock2 ],[ AC_MSG_RESULT([yes]) tst_proto_ioctlsocket="yes" ],[ AC_MSG_RESULT([no]) tst_proto_ioctlsocket="no" ]) fi # if test "$tst_proto_ioctlsocket" = "yes"; then AC_MSG_CHECKING([if ioctlsocket is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 ]],[[ if(0 != ioctlsocket(0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_compi_ioctlsocket="yes" | > > > | 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 | tst_compi_ioctlsocket="unknown" tst_allow_ioctlsocket="unknown" # AC_MSG_CHECKING([if ioctlsocket can be linked]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket ]],[[ if(0 != ioctlsocket(0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_links_ioctlsocket="yes" ],[ AC_MSG_RESULT([no]) tst_links_ioctlsocket="no" ]) # if test "$tst_links_ioctlsocket" = "yes"; then AC_MSG_CHECKING([if ioctlsocket is prototyped]) AC_EGREP_CPP([ioctlsocket],[ $curl_includes_winsock2 $curl_includes_bsdsocket ],[ AC_MSG_RESULT([yes]) tst_proto_ioctlsocket="yes" ],[ AC_MSG_RESULT([no]) tst_proto_ioctlsocket="no" ]) fi # if test "$tst_proto_ioctlsocket" = "yes"; then AC_MSG_CHECKING([if ioctlsocket is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket ]],[[ if(0 != ioctlsocket(0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_compi_ioctlsocket="yes" |
︙ | ︙ | |||
4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 | tst_allow_ioctlsocket_fionbio="unknown" # if test "$curl_cv_func_ioctlsocket" = "yes"; then AC_MSG_CHECKING([if ioctlsocket FIONBIO is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 ]],[[ int flags = 0; if(0 != ioctlsocket(0, FIONBIO, &flags)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) | > | 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 | tst_allow_ioctlsocket_fionbio="unknown" # if test "$curl_cv_func_ioctlsocket" = "yes"; then AC_MSG_CHECKING([if ioctlsocket FIONBIO is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket ]],[[ int flags = 0; if(0 != ioctlsocket(0, FIONBIO, &flags)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) |
︙ | ︙ | |||
5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 | tst_compi_setsockopt="unknown" tst_allow_setsockopt="unknown" # AC_MSG_CHECKING([if setsockopt can be linked]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_sys_socket ]],[[ if(0 != setsockopt(0, 0, 0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_links_setsockopt="yes" ],[ AC_MSG_RESULT([no]) tst_links_setsockopt="no" ]) # if test "$tst_links_setsockopt" = "yes"; then AC_MSG_CHECKING([if setsockopt is prototyped]) AC_EGREP_CPP([setsockopt],[ $curl_includes_winsock2 $curl_includes_sys_socket ],[ AC_MSG_RESULT([yes]) tst_proto_setsockopt="yes" ],[ AC_MSG_RESULT([no]) tst_proto_setsockopt="no" ]) fi # if test "$tst_proto_setsockopt" = "yes"; then AC_MSG_CHECKING([if setsockopt is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_sys_socket ]],[[ if(0 != setsockopt(0, 0, 0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) | > > > | 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 | tst_compi_setsockopt="unknown" tst_allow_setsockopt="unknown" # AC_MSG_CHECKING([if setsockopt can be linked]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_sys_socket ]],[[ if(0 != setsockopt(0, 0, 0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_links_setsockopt="yes" ],[ AC_MSG_RESULT([no]) tst_links_setsockopt="no" ]) # if test "$tst_links_setsockopt" = "yes"; then AC_MSG_CHECKING([if setsockopt is prototyped]) AC_EGREP_CPP([setsockopt],[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_sys_socket ],[ AC_MSG_RESULT([yes]) tst_proto_setsockopt="yes" ],[ AC_MSG_RESULT([no]) tst_proto_setsockopt="no" ]) fi # if test "$tst_proto_setsockopt" = "yes"; then AC_MSG_CHECKING([if setsockopt is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_sys_socket ]],[[ if(0 != setsockopt(0, 0, 0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) |
︙ | ︙ | |||
5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 | tst_allow_setsockopt_so_nonblock="unknown" # if test "$curl_cv_func_setsockopt" = "yes"; then AC_MSG_CHECKING([if setsockopt SO_NONBLOCK is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_sys_socket ]],[[ if(0 != setsockopt(0, SOL_SOCKET, SO_NONBLOCK, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) | > | 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 | tst_allow_setsockopt_so_nonblock="unknown" # if test "$curl_cv_func_setsockopt" = "yes"; then AC_MSG_CHECKING([if setsockopt SO_NONBLOCK is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_sys_socket ]],[[ if(0 != setsockopt(0, SOL_SOCKET, SO_NONBLOCK, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) |
︙ | ︙ | |||
5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 | tst_compi_socket="unknown" tst_allow_socket="unknown" # AC_MSG_CHECKING([if socket can be linked]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_sys_socket $curl_includes_socket ]],[[ if(0 != socket(0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_links_socket="yes" ],[ AC_MSG_RESULT([no]) tst_links_socket="no" ]) # if test "$tst_links_socket" = "yes"; then AC_MSG_CHECKING([if socket is prototyped]) AC_EGREP_CPP([socket],[ $curl_includes_winsock2 $curl_includes_sys_socket $curl_includes_socket ],[ AC_MSG_RESULT([yes]) tst_proto_socket="yes" ],[ AC_MSG_RESULT([no]) tst_proto_socket="no" ]) fi # if test "$tst_proto_socket" = "yes"; then AC_MSG_CHECKING([if socket is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_sys_socket $curl_includes_socket ]],[[ if(0 != socket(0, 0, 0)) return 1; ]]) ],[ | > > > | 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 | tst_compi_socket="unknown" tst_allow_socket="unknown" # AC_MSG_CHECKING([if socket can be linked]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_sys_socket $curl_includes_socket ]],[[ if(0 != socket(0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_links_socket="yes" ],[ AC_MSG_RESULT([no]) tst_links_socket="no" ]) # if test "$tst_links_socket" = "yes"; then AC_MSG_CHECKING([if socket is prototyped]) AC_EGREP_CPP([socket],[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_sys_socket $curl_includes_socket ],[ AC_MSG_RESULT([yes]) tst_proto_socket="yes" ],[ AC_MSG_RESULT([no]) tst_proto_socket="no" ]) fi # if test "$tst_proto_socket" = "yes"; then AC_MSG_CHECKING([if socket is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 $curl_includes_bsdsocket $curl_includes_sys_socket $curl_includes_socket ]],[[ if(0 != socket(0, 0, 0)) return 1; ]]) ],[ |
︙ | ︙ |
Changes to jni/curl/m4/libtool.m4.
︙ | ︙ | |||
4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 | linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in # old Intel for x86_64, which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' | > > > > > > | 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 | linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) case $cc_basename in # old Intel for x86_64, which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # flang / f18. f95 an alias for gfortran or flang on Debian flang* | f18* | f95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' |
︙ | ︙ |
Changes to jni/curl/packages/Makefile.in.
︙ | ︙ | |||
248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ | > > | 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ |
︙ | ︙ | |||
316 317 318 319 320 321 322 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ | < > | 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ |
︙ | ︙ | |||
433 434 435 436 437 438 439 | case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ | | | | 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 | case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu packages/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu packages/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ |
︙ | ︙ |
Changes to jni/curl/packages/OS400/README.OS400.
︙ | ︙ | |||
60 61 62 63 64 65 66 67 68 69 70 71 72 73 | designer. CCSID 0 can be used to select the current job's CCSID. Wrapper procedures with variable arguments are described below: _ curl_easy_setopt_ccsid() Variable arguments are a string pointer and a CCSID (unsigned int) for options: CURLOPT_ABSTRACT_UNIX_SOCKET CURLOPT_CAINFO CURLOPT_CAPATH CURLOPT_COOKIE CURLOPT_COOKIEFILE CURLOPT_COOKIEJAR CURLOPT_COOKIELIST CURLOPT_COPYPOSTFIELDS | > | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | designer. CCSID 0 can be used to select the current job's CCSID. Wrapper procedures with variable arguments are described below: _ curl_easy_setopt_ccsid() Variable arguments are a string pointer and a CCSID (unsigned int) for options: CURLOPT_ABSTRACT_UNIX_SOCKET CURLOPT_ALTSVC CURLOPT_CAINFO CURLOPT_CAPATH CURLOPT_COOKIE CURLOPT_COOKIEFILE CURLOPT_COOKIEJAR CURLOPT_COOKIELIST CURLOPT_COPYPOSTFIELDS |
︙ | ︙ |
Changes to jni/curl/packages/OS400/ccsidcurl.c.
︙ | ︙ | |||
1128 1129 1130 1131 1132 1133 1134 | We (try to) do it only once: there is no need to issue several times the same message; but since threadsafeness is not handled here, this may occur (and we don't care!). */ if(testwarn) { testwarn = 0; | > > > > | > > | 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 | We (try to) do it only once: there is no need to issue several times the same message; but since threadsafeness is not handled here, this may occur (and we don't care!). */ if(testwarn) { testwarn = 0; if( #ifdef USE_ALTSVC (int) STRING_LASTZEROTERMINATED != (int) STRING_ALTSVC + 1 || #else (int) STRING_LASTZEROTERMINATED != (int) STRING_DOH + 1 || #endif (int) STRING_LAST != (int) STRING_COPYPOSTFIELDS + 1) curl_mfprintf(stderr, "*** WARNING: curl_easy_setopt_ccsid() should be reworked ***\n"); } data = (struct Curl_easy *) curl; va_start(arg, tag); switch (tag) { case CURLOPT_ABSTRACT_UNIX_SOCKET: case CURLOPT_ALTSVC: case CURLOPT_CAINFO: case CURLOPT_CAPATH: case CURLOPT_COOKIE: case CURLOPT_COOKIEFILE: case CURLOPT_COOKIEJAR: case CURLOPT_COOKIELIST: case CURLOPT_CRLFILE: |
︙ | ︙ |
Changes to jni/curl/packages/OS400/curl.inc.in.
1 2 3 4 5 6 7 | ************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
130 131 132 133 134 135 136 137 138 139 140 141 142 143 | d c X'00080000' d CURL_VERSION_PSL... d c X'00100000' d CURL_VERSION_HTTPS_PROXY... d c X'00200000' d CURL_VERSION_MULTI_SSL... d c X'00400000' * d CURL_HTTPPOST_FILENAME... d c X'00000001' d CURL_HTTPPOST_READFILE... d c X'00000002' d CURL_HTTPPOST_PTRNAME... d c X'00000004' | > > > > | 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | d c X'00080000' d CURL_VERSION_PSL... d c X'00100000' d CURL_VERSION_HTTPS_PROXY... d c X'00200000' d CURL_VERSION_MULTI_SSL... d c X'00400000' d CURL_VERSION_BROTLI... d c X'00800000' d CURL_VERSION_ALTSVC... d c X'01000000' * d CURL_HTTPPOST_FILENAME... d c X'00000001' d CURL_HTTPPOST_READFILE... d c X'00000002' d CURL_HTTPPOST_PTRNAME... d c X'00000004' |
︙ | ︙ | |||
810 811 812 813 814 815 816 817 818 819 820 821 822 823 | d c 3 * d CURLHEADER_UNIFIED... d c X'00000000' d CURLHEADER_SEPARATE... d c X'00000001' * d CURLPROTO_HTTP... d c X'00000001' d CURLPROTO_HTTPS... d c X'00000002' d CURLPROTO_FTP... d c X'00000004' d CURLPROTO_FTPS... | > > > > > > > > > > > > > | 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 | d c 3 * d CURLHEADER_UNIFIED... d c X'00000000' d CURLHEADER_SEPARATE... d c X'00000001' * d CURLALTSVC_IMMEDIATELY... d c X'00000001' d CURLALTSVC_ALTUSED... d c X'00000002' d CURLALTSVC_READONLYFILE... d c X'00000004' d CURLALTSVC_H1... d c X'00000008' d CURLALTSVC_H2... d c X'00000010' d CURLALTSVC_H3... d c X'00000020' * d CURLPROTO_HTTP... d c X'00000001' d CURLPROTO_HTTPS... d c X'00000002' d CURLPROTO_FTP... d c X'00000004' d CURLPROTO_FTPS... |
︙ | ︙ | |||
1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 | d CURLOPT_CURLU c 10282 d CURLOPT_TRAILERFUNCTION... d c 20283 d CURLOPT_TRAILERDATA... d c 10284 d CURLOPT_HTTP09_ALLOWED... d c 00285 * /if not defined(CURL_NO_OLDIES) d CURLOPT_FILE c 10001 d CURLOPT_INFILE... d c 10009 d CURLOPT_SSLKEYPASSWD... d c 10026 | > > > > | 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 | d CURLOPT_CURLU c 10282 d CURLOPT_TRAILERFUNCTION... d c 20283 d CURLOPT_TRAILERDATA... d c 10284 d CURLOPT_HTTP09_ALLOWED... d c 00285 d CURLOPT_ALTSVC_CTRL... d c 00286 d CURLOPT_ALTSVC... d c 10287 * /if not defined(CURL_NO_OLDIES) d CURLOPT_FILE c 10001 d CURLOPT_INFILE... d c 10009 d CURLOPT_SSLKEYPASSWD... d c 10026 |
︙ | ︙ |
Changes to jni/curl/packages/vms/Makefile.in.
︙ | ︙ | |||
188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ | > > | 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ |
︙ | ︙ | |||
256 257 258 259 260 261 262 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ | < > | 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ |
︙ | ︙ | |||
379 380 381 382 383 384 385 | case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ | | | | 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 | case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu packages/vms/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu packages/vms/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC10/lib/libcurl.vcxproj.
︙ | ︙ | |||
2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 | </ResourceCompile> <Lib> <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile> <TargetMachine>MachineX64</TargetMachine> </Lib> </ItemDefinitionGroup> <ItemGroup> <ClCompile Include="..\..\..\..\lib\amigaos.c" /> <ClCompile Include="..\..\..\..\lib\asyn-ares.c" /> <ClCompile Include="..\..\..\..\lib\asyn-thread.c" /> <ClCompile Include="..\..\..\..\lib\base64.c" /> <ClCompile Include="..\..\..\..\lib\conncache.c" /> <ClCompile Include="..\..\..\..\lib\connect.c" /> <ClCompile Include="..\..\..\..\lib\content_encoding.c" /> | > | 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 | </ResourceCompile> <Lib> <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile> <TargetMachine>MachineX64</TargetMachine> </Lib> </ItemDefinitionGroup> <ItemGroup> <ClCompile Include="..\..\..\..\lib\altsvc.c" /> <ClCompile Include="..\..\..\..\lib\amigaos.c" /> <ClCompile Include="..\..\..\..\lib\asyn-ares.c" /> <ClCompile Include="..\..\..\..\lib\asyn-thread.c" /> <ClCompile Include="..\..\..\..\lib\base64.c" /> <ClCompile Include="..\..\..\..\lib\conncache.c" /> <ClCompile Include="..\..\..\..\lib\connect.c" /> <ClCompile Include="..\..\..\..\lib\content_encoding.c" /> |
︙ | ︙ | |||
2443 2444 2445 2446 2447 2448 2449 | <ClCompile Include="..\..\..\..\lib\vauth\ntlm.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\oauth2.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\vauth.c" /> <ClCompile Include="..\..\..\..\lib\vtls\cyassl.c" /> | < > > | 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 | <ClCompile Include="..\..\..\..\lib\vauth\ntlm.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\oauth2.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\vauth.c" /> <ClCompile Include="..\..\..\..\lib\vtls\cyassl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gskit.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mbedtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mesalink.c" /> <ClCompile Include="..\..\..\..\lib\vtls\nss.c" /> <ClCompile Include="..\..\..\..\lib\vtls\openssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\polarssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\polarssl_threadlock.c" /> <ClCompile Include="..\..\..\..\lib\vtls\schannel.c" /> <ClCompile Include="..\..\..\..\lib\vtls\schannel_verify.c" /> <ClCompile Include="..\..\..\..\lib\vtls\sectransp.c" /> <ClCompile Include="..\..\..\..\lib\vtls\vtls.c" /> </ItemGroup> <ItemGroup> <ClInclude Include="..\..\..\..\lib\altsvc.h" /> <ClInclude Include="..\..\..\..\lib\amigaos.h" /> <ClInclude Include="..\..\..\..\lib\arpa_telnet.h" /> <ClInclude Include="..\..\..\..\lib\asyn.h" /> <ClInclude Include="..\..\..\..\lib\config-win32.h" /> <ClInclude Include="..\..\..\..\lib\conncache.h" /> <ClInclude Include="..\..\..\..\lib\connect.h" /> <ClInclude Include="..\..\..\..\lib\content_encoding.h" /> |
︙ | ︙ | |||
2570 2571 2572 2573 2574 2575 2576 | <ClInclude Include="..\..\..\..\lib\warnless.h" /> <ClInclude Include="..\..\..\..\lib\wildcard.h" /> <ClInclude Include="..\..\..\..\lib\x509asn1.h" /> <ClInclude Include="..\..\..\..\lib\vauth\digest.h" /> <ClInclude Include="..\..\..\..\lib\vauth\ntlm.h" /> <ClInclude Include="..\..\..\..\lib\vauth\vauth.h" /> <ClInclude Include="..\..\..\..\lib\vtls\cyassl.h" /> | < > | 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 | <ClInclude Include="..\..\..\..\lib\warnless.h" /> <ClInclude Include="..\..\..\..\lib\wildcard.h" /> <ClInclude Include="..\..\..\..\lib\x509asn1.h" /> <ClInclude Include="..\..\..\..\lib\vauth\digest.h" /> <ClInclude Include="..\..\..\..\lib\vauth\ntlm.h" /> <ClInclude Include="..\..\..\..\lib\vauth\vauth.h" /> <ClInclude Include="..\..\..\..\lib\vtls\cyassl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\gskit.h" /> <ClInclude Include="..\..\..\..\lib\vtls\gtls.h" /> <ClInclude Include="..\..\..\..\lib\vtls\mbedtls.h" /> <ClInclude Include="..\..\..\..\lib\vtls\mesalink.h" /> <ClInclude Include="..\..\..\..\lib\vtls\nssg.h" /> <ClInclude Include="..\..\..\..\lib\vtls\openssl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\polarssl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\polarssl_threadlock.h" /> <ClInclude Include="..\..\..\..\lib\vtls\schannel.h" /> <ClInclude Include="..\..\..\..\lib\vtls\sectransp.h" /> <ClInclude Include="..\..\..\..\lib\vtls\vtls.h" /> </ItemGroup> <ItemGroup> <ResourceCompile Include="..\..\..\..\lib\libcurl.rc" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> </ImportGroup> </Project> |
Changes to jni/curl/projects/Windows/VC11/lib/libcurl.vcxproj.
︙ | ︙ | |||
2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 | </ResourceCompile> <Lib> <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile> <TargetMachine>MachineX64</TargetMachine> </Lib> </ItemDefinitionGroup> <ItemGroup> <ClCompile Include="..\..\..\..\lib\amigaos.c" /> <ClCompile Include="..\..\..\..\lib\asyn-ares.c" /> <ClCompile Include="..\..\..\..\lib\asyn-thread.c" /> <ClCompile Include="..\..\..\..\lib\base64.c" /> <ClCompile Include="..\..\..\..\lib\conncache.c" /> <ClCompile Include="..\..\..\..\lib\connect.c" /> <ClCompile Include="..\..\..\..\lib\content_encoding.c" /> | > | 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 | </ResourceCompile> <Lib> <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile> <TargetMachine>MachineX64</TargetMachine> </Lib> </ItemDefinitionGroup> <ItemGroup> <ClCompile Include="..\..\..\..\lib\altsvc.c" /> <ClCompile Include="..\..\..\..\lib\amigaos.c" /> <ClCompile Include="..\..\..\..\lib\asyn-ares.c" /> <ClCompile Include="..\..\..\..\lib\asyn-thread.c" /> <ClCompile Include="..\..\..\..\lib\base64.c" /> <ClCompile Include="..\..\..\..\lib\conncache.c" /> <ClCompile Include="..\..\..\..\lib\connect.c" /> <ClCompile Include="..\..\..\..\lib\content_encoding.c" /> |
︙ | ︙ | |||
2499 2500 2501 2502 2503 2504 2505 | <ClCompile Include="..\..\..\..\lib\vauth\ntlm.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\oauth2.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\vauth.c" /> <ClCompile Include="..\..\..\..\lib\vtls\cyassl.c" /> | < > > | 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 | <ClCompile Include="..\..\..\..\lib\vauth\ntlm.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\oauth2.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\vauth.c" /> <ClCompile Include="..\..\..\..\lib\vtls\cyassl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gskit.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mbedtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mesalink.c" /> <ClCompile Include="..\..\..\..\lib\vtls\nss.c" /> <ClCompile Include="..\..\..\..\lib\vtls\openssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\polarssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\polarssl_threadlock.c" /> <ClCompile Include="..\..\..\..\lib\vtls\schannel.c" /> <ClCompile Include="..\..\..\..\lib\vtls\schannel_verify.c" /> <ClCompile Include="..\..\..\..\lib\vtls\sectransp.c" /> <ClCompile Include="..\..\..\..\lib\vtls\vtls.c" /> </ItemGroup> <ItemGroup> <ClInclude Include="..\..\..\..\lib\altsvc.h" /> <ClInclude Include="..\..\..\..\lib\amigaos.h" /> <ClInclude Include="..\..\..\..\lib\arpa_telnet.h" /> <ClInclude Include="..\..\..\..\lib\asyn.h" /> <ClInclude Include="..\..\..\..\lib\config-win32.h" /> <ClInclude Include="..\..\..\..\lib\conncache.h" /> <ClInclude Include="..\..\..\..\lib\connect.h" /> <ClInclude Include="..\..\..\..\lib\content_encoding.h" /> |
︙ | ︙ | |||
2626 2627 2628 2629 2630 2631 2632 | <ClInclude Include="..\..\..\..\lib\warnless.h" /> <ClInclude Include="..\..\..\..\lib\wildcard.h" /> <ClInclude Include="..\..\..\..\lib\x509asn1.h" /> <ClInclude Include="..\..\..\..\lib\vauth\digest.h" /> <ClInclude Include="..\..\..\..\lib\vauth\ntlm.h" /> <ClInclude Include="..\..\..\..\lib\vauth\vauth.h" /> <ClInclude Include="..\..\..\..\lib\vtls\cyassl.h" /> | < > | 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 | <ClInclude Include="..\..\..\..\lib\warnless.h" /> <ClInclude Include="..\..\..\..\lib\wildcard.h" /> <ClInclude Include="..\..\..\..\lib\x509asn1.h" /> <ClInclude Include="..\..\..\..\lib\vauth\digest.h" /> <ClInclude Include="..\..\..\..\lib\vauth\ntlm.h" /> <ClInclude Include="..\..\..\..\lib\vauth\vauth.h" /> <ClInclude Include="..\..\..\..\lib\vtls\cyassl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\gskit.h" /> <ClInclude Include="..\..\..\..\lib\vtls\gtls.h" /> <ClInclude Include="..\..\..\..\lib\vtls\mbedtls.h" /> <ClInclude Include="..\..\..\..\lib\vtls\mesalink.h" /> <ClInclude Include="..\..\..\..\lib\vtls\nssg.h" /> <ClInclude Include="..\..\..\..\lib\vtls\openssl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\polarssl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\polarssl_threadlock.h" /> <ClInclude Include="..\..\..\..\lib\vtls\schannel.h" /> <ClInclude Include="..\..\..\..\lib\vtls\sectransp.h" /> <ClInclude Include="..\..\..\..\lib\vtls\vtls.h" /> </ItemGroup> <ItemGroup> <ResourceCompile Include="..\..\..\..\lib\libcurl.rc" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> </ImportGroup> </Project> |
Changes to jni/curl/projects/Windows/VC12/lib/libcurl.vcxproj.
︙ | ︙ | |||
2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 | </ResourceCompile> <Lib> <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile> <TargetMachine>MachineX64</TargetMachine> </Lib> </ItemDefinitionGroup> <ItemGroup> <ClCompile Include="..\..\..\..\lib\amigaos.c" /> <ClCompile Include="..\..\..\..\lib\asyn-ares.c" /> <ClCompile Include="..\..\..\..\lib\asyn-thread.c" /> <ClCompile Include="..\..\..\..\lib\base64.c" /> <ClCompile Include="..\..\..\..\lib\conncache.c" /> <ClCompile Include="..\..\..\..\lib\connect.c" /> <ClCompile Include="..\..\..\..\lib\content_encoding.c" /> | > | 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 | </ResourceCompile> <Lib> <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile> <TargetMachine>MachineX64</TargetMachine> </Lib> </ItemDefinitionGroup> <ItemGroup> <ClCompile Include="..\..\..\..\lib\altsvc.c" /> <ClCompile Include="..\..\..\..\lib\amigaos.c" /> <ClCompile Include="..\..\..\..\lib\asyn-ares.c" /> <ClCompile Include="..\..\..\..\lib\asyn-thread.c" /> <ClCompile Include="..\..\..\..\lib\base64.c" /> <ClCompile Include="..\..\..\..\lib\conncache.c" /> <ClCompile Include="..\..\..\..\lib\connect.c" /> <ClCompile Include="..\..\..\..\lib\content_encoding.c" /> |
︙ | ︙ | |||
2499 2500 2501 2502 2503 2504 2505 | <ClCompile Include="..\..\..\..\lib\vauth\ntlm.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\oauth2.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\vauth.c" /> <ClCompile Include="..\..\..\..\lib\vtls\cyassl.c" /> | < > > | 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 | <ClCompile Include="..\..\..\..\lib\vauth\ntlm.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\oauth2.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\vauth.c" /> <ClCompile Include="..\..\..\..\lib\vtls\cyassl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gskit.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mbedtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mesalink.c" /> <ClCompile Include="..\..\..\..\lib\vtls\nss.c" /> <ClCompile Include="..\..\..\..\lib\vtls\openssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\polarssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\polarssl_threadlock.c" /> <ClCompile Include="..\..\..\..\lib\vtls\schannel.c" /> <ClCompile Include="..\..\..\..\lib\vtls\schannel_verify.c" /> <ClCompile Include="..\..\..\..\lib\vtls\sectransp.c" /> <ClCompile Include="..\..\..\..\lib\vtls\vtls.c" /> </ItemGroup> <ItemGroup> <ClInclude Include="..\..\..\..\lib\altsvc.h" /> <ClInclude Include="..\..\..\..\lib\amigaos.h" /> <ClInclude Include="..\..\..\..\lib\arpa_telnet.h" /> <ClInclude Include="..\..\..\..\lib\asyn.h" /> <ClInclude Include="..\..\..\..\lib\config-win32.h" /> <ClInclude Include="..\..\..\..\lib\conncache.h" /> <ClInclude Include="..\..\..\..\lib\connect.h" /> <ClInclude Include="..\..\..\..\lib\content_encoding.h" /> |
︙ | ︙ | |||
2626 2627 2628 2629 2630 2631 2632 | <ClInclude Include="..\..\..\..\lib\warnless.h" /> <ClInclude Include="..\..\..\..\lib\wildcard.h" /> <ClInclude Include="..\..\..\..\lib\x509asn1.h" /> <ClInclude Include="..\..\..\..\lib\vauth\digest.h" /> <ClInclude Include="..\..\..\..\lib\vauth\ntlm.h" /> <ClInclude Include="..\..\..\..\lib\vauth\vauth.h" /> <ClInclude Include="..\..\..\..\lib\vtls\cyassl.h" /> | < > | 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 | <ClInclude Include="..\..\..\..\lib\warnless.h" /> <ClInclude Include="..\..\..\..\lib\wildcard.h" /> <ClInclude Include="..\..\..\..\lib\x509asn1.h" /> <ClInclude Include="..\..\..\..\lib\vauth\digest.h" /> <ClInclude Include="..\..\..\..\lib\vauth\ntlm.h" /> <ClInclude Include="..\..\..\..\lib\vauth\vauth.h" /> <ClInclude Include="..\..\..\..\lib\vtls\cyassl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\gskit.h" /> <ClInclude Include="..\..\..\..\lib\vtls\gtls.h" /> <ClInclude Include="..\..\..\..\lib\vtls\mbedtls.h" /> <ClInclude Include="..\..\..\..\lib\vtls\mesalink.h" /> <ClInclude Include="..\..\..\..\lib\vtls\nssg.h" /> <ClInclude Include="..\..\..\..\lib\vtls\openssl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\polarssl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\polarssl_threadlock.h" /> <ClInclude Include="..\..\..\..\lib\vtls\schannel.h" /> <ClInclude Include="..\..\..\..\lib\vtls\sectransp.h" /> <ClInclude Include="..\..\..\..\lib\vtls\vtls.h" /> </ItemGroup> <ItemGroup> <ResourceCompile Include="..\..\..\..\lib\libcurl.rc" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> </ImportGroup> </Project> |
Changes to jni/curl/projects/Windows/VC14/lib/libcurl.vcxproj.
︙ | ︙ | |||
2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 | </ResourceCompile> <Lib> <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile> <TargetMachine>MachineX64</TargetMachine> </Lib> </ItemDefinitionGroup> <ItemGroup> <ClCompile Include="..\..\..\..\lib\amigaos.c" /> <ClCompile Include="..\..\..\..\lib\asyn-ares.c" /> <ClCompile Include="..\..\..\..\lib\asyn-thread.c" /> <ClCompile Include="..\..\..\..\lib\base64.c" /> <ClCompile Include="..\..\..\..\lib\conncache.c" /> <ClCompile Include="..\..\..\..\lib\connect.c" /> <ClCompile Include="..\..\..\..\lib\content_encoding.c" /> | > | 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 | </ResourceCompile> <Lib> <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile> <TargetMachine>MachineX64</TargetMachine> </Lib> </ItemDefinitionGroup> <ItemGroup> <ClCompile Include="..\..\..\..\lib\altsvc.c" /> <ClCompile Include="..\..\..\..\lib\amigaos.c" /> <ClCompile Include="..\..\..\..\lib\asyn-ares.c" /> <ClCompile Include="..\..\..\..\lib\asyn-thread.c" /> <ClCompile Include="..\..\..\..\lib\base64.c" /> <ClCompile Include="..\..\..\..\lib\conncache.c" /> <ClCompile Include="..\..\..\..\lib\connect.c" /> <ClCompile Include="..\..\..\..\lib\content_encoding.c" /> |
︙ | ︙ | |||
2499 2500 2501 2502 2503 2504 2505 | <ClCompile Include="..\..\..\..\lib\vauth\ntlm.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\oauth2.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\vauth.c" /> <ClCompile Include="..\..\..\..\lib\vtls\cyassl.c" /> | < > > | 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 | <ClCompile Include="..\..\..\..\lib\vauth\ntlm.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\oauth2.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\vauth.c" /> <ClCompile Include="..\..\..\..\lib\vtls\cyassl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gskit.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mbedtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mesalink.c" /> <ClCompile Include="..\..\..\..\lib\vtls\nss.c" /> <ClCompile Include="..\..\..\..\lib\vtls\openssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\polarssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\polarssl_threadlock.c" /> <ClCompile Include="..\..\..\..\lib\vtls\schannel.c" /> <ClCompile Include="..\..\..\..\lib\vtls\schannel_verify.c" /> <ClCompile Include="..\..\..\..\lib\vtls\sectransp.c" /> <ClCompile Include="..\..\..\..\lib\vtls\vtls.c" /> </ItemGroup> <ItemGroup> <ClInclude Include="..\..\..\..\lib\altsvc.h" /> <ClInclude Include="..\..\..\..\lib\amigaos.h" /> <ClInclude Include="..\..\..\..\lib\arpa_telnet.h" /> <ClInclude Include="..\..\..\..\lib\asyn.h" /> <ClInclude Include="..\..\..\..\lib\config-win32.h" /> <ClInclude Include="..\..\..\..\lib\conncache.h" /> <ClInclude Include="..\..\..\..\lib\connect.h" /> <ClInclude Include="..\..\..\..\lib\content_encoding.h" /> |
︙ | ︙ | |||
2626 2627 2628 2629 2630 2631 2632 | <ClInclude Include="..\..\..\..\lib\warnless.h" /> <ClInclude Include="..\..\..\..\lib\wildcard.h" /> <ClInclude Include="..\..\..\..\lib\x509asn1.h" /> <ClInclude Include="..\..\..\..\lib\vauth\digest.h" /> <ClInclude Include="..\..\..\..\lib\vauth\ntlm.h" /> <ClInclude Include="..\..\..\..\lib\vauth\vauth.h" /> <ClInclude Include="..\..\..\..\lib\vtls\cyassl.h" /> | < > | 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 | <ClInclude Include="..\..\..\..\lib\warnless.h" /> <ClInclude Include="..\..\..\..\lib\wildcard.h" /> <ClInclude Include="..\..\..\..\lib\x509asn1.h" /> <ClInclude Include="..\..\..\..\lib\vauth\digest.h" /> <ClInclude Include="..\..\..\..\lib\vauth\ntlm.h" /> <ClInclude Include="..\..\..\..\lib\vauth\vauth.h" /> <ClInclude Include="..\..\..\..\lib\vtls\cyassl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\gskit.h" /> <ClInclude Include="..\..\..\..\lib\vtls\gtls.h" /> <ClInclude Include="..\..\..\..\lib\vtls\mbedtls.h" /> <ClInclude Include="..\..\..\..\lib\vtls\mesalink.h" /> <ClInclude Include="..\..\..\..\lib\vtls\nssg.h" /> <ClInclude Include="..\..\..\..\lib\vtls\openssl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\polarssl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\polarssl_threadlock.h" /> <ClInclude Include="..\..\..\..\lib\vtls\schannel.h" /> <ClInclude Include="..\..\..\..\lib\vtls\sectransp.h" /> <ClInclude Include="..\..\..\..\lib\vtls\vtls.h" /> </ItemGroup> <ItemGroup> <ResourceCompile Include="..\..\..\..\lib\libcurl.rc" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> </ImportGroup> </Project> |
Changes to jni/curl/projects/Windows/VC15/lib/libcurl.vcxproj.
︙ | ︙ | |||
2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 | </ResourceCompile> <Lib> <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile> <TargetMachine>MachineX64</TargetMachine> </Lib> </ItemDefinitionGroup> <ItemGroup> <ClCompile Include="..\..\..\..\lib\amigaos.c" /> <ClCompile Include="..\..\..\..\lib\asyn-ares.c" /> <ClCompile Include="..\..\..\..\lib\asyn-thread.c" /> <ClCompile Include="..\..\..\..\lib\base64.c" /> <ClCompile Include="..\..\..\..\lib\conncache.c" /> <ClCompile Include="..\..\..\..\lib\connect.c" /> <ClCompile Include="..\..\..\..\lib\content_encoding.c" /> | > | 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 | </ResourceCompile> <Lib> <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile> <TargetMachine>MachineX64</TargetMachine> </Lib> </ItemDefinitionGroup> <ItemGroup> <ClCompile Include="..\..\..\..\lib\altsvc.c" /> <ClCompile Include="..\..\..\..\lib\amigaos.c" /> <ClCompile Include="..\..\..\..\lib\asyn-ares.c" /> <ClCompile Include="..\..\..\..\lib\asyn-thread.c" /> <ClCompile Include="..\..\..\..\lib\base64.c" /> <ClCompile Include="..\..\..\..\lib\conncache.c" /> <ClCompile Include="..\..\..\..\lib\connect.c" /> <ClCompile Include="..\..\..\..\lib\content_encoding.c" /> |
︙ | ︙ | |||
2471 2472 2473 2474 2475 2476 2477 | <ClCompile Include="..\..\..\..\lib\vauth\ntlm.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\oauth2.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\vauth.c" /> <ClCompile Include="..\..\..\..\lib\vtls\cyassl.c" /> | < > > | 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 | <ClCompile Include="..\..\..\..\lib\vauth\ntlm.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\oauth2.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\vauth.c" /> <ClCompile Include="..\..\..\..\lib\vtls\cyassl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gskit.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mbedtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mesalink.c" /> <ClCompile Include="..\..\..\..\lib\vtls\nss.c" /> <ClCompile Include="..\..\..\..\lib\vtls\openssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\polarssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\polarssl_threadlock.c" /> <ClCompile Include="..\..\..\..\lib\vtls\schannel.c" /> <ClCompile Include="..\..\..\..\lib\vtls\schannel_verify.c" /> <ClCompile Include="..\..\..\..\lib\vtls\sectransp.c" /> <ClCompile Include="..\..\..\..\lib\vtls\vtls.c" /> </ItemGroup> <ItemGroup> <ClInclude Include="..\..\..\..\lib\altsvc.h" /> <ClInclude Include="..\..\..\..\lib\amigaos.h" /> <ClInclude Include="..\..\..\..\lib\arpa_telnet.h" /> <ClInclude Include="..\..\..\..\lib\asyn.h" /> <ClInclude Include="..\..\..\..\lib\config-win32.h" /> <ClInclude Include="..\..\..\..\lib\conncache.h" /> <ClInclude Include="..\..\..\..\lib\connect.h" /> <ClInclude Include="..\..\..\..\lib\content_encoding.h" /> |
︙ | ︙ | |||
2598 2599 2600 2601 2602 2603 2604 | <ClInclude Include="..\..\..\..\lib\warnless.h" /> <ClInclude Include="..\..\..\..\lib\wildcard.h" /> <ClInclude Include="..\..\..\..\lib\x509asn1.h" /> <ClInclude Include="..\..\..\..\lib\vauth\digest.h" /> <ClInclude Include="..\..\..\..\lib\vauth\ntlm.h" /> <ClInclude Include="..\..\..\..\lib\vauth\vauth.h" /> <ClInclude Include="..\..\..\..\lib\vtls\cyassl.h" /> | < > | 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 | <ClInclude Include="..\..\..\..\lib\warnless.h" /> <ClInclude Include="..\..\..\..\lib\wildcard.h" /> <ClInclude Include="..\..\..\..\lib\x509asn1.h" /> <ClInclude Include="..\..\..\..\lib\vauth\digest.h" /> <ClInclude Include="..\..\..\..\lib\vauth\ntlm.h" /> <ClInclude Include="..\..\..\..\lib\vauth\vauth.h" /> <ClInclude Include="..\..\..\..\lib\vtls\cyassl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\gskit.h" /> <ClInclude Include="..\..\..\..\lib\vtls\gtls.h" /> <ClInclude Include="..\..\..\..\lib\vtls\mbedtls.h" /> <ClInclude Include="..\..\..\..\lib\vtls\mesalink.h" /> <ClInclude Include="..\..\..\..\lib\vtls\nssg.h" /> <ClInclude Include="..\..\..\..\lib\vtls\openssl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\polarssl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\polarssl_threadlock.h" /> <ClInclude Include="..\..\..\..\lib\vtls\schannel.h" /> <ClInclude Include="..\..\..\..\lib\vtls\sectransp.h" /> <ClInclude Include="..\..\..\..\lib\vtls\vtls.h" /> </ItemGroup> <ItemGroup> <ResourceCompile Include="..\..\..\..\lib\libcurl.rc" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> </ImportGroup> </Project> |
Changes to jni/curl/projects/Windows/VC6/lib/libcurl.dsp.
︙ | ︙ | |||
725 726 727 728 729 730 731 732 733 734 735 736 737 738 | # Name "libcurl - Win32 LIB Release DLL Windows SSPI DLL WinIDN" # Name "libcurl - Win32 LIB Release LIB OpenSSL" # Name "libcurl - Win32 LIB Release LIB OpenSSL LIB LibSSH2" # Begin Group "Source Files" # PROP Default_Filter "" # Begin Source File SOURCE=..\..\..\..\lib\amigaos.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\asyn-ares.c # End Source File | > > > > | 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 | # Name "libcurl - Win32 LIB Release DLL Windows SSPI DLL WinIDN" # Name "libcurl - Win32 LIB Release LIB OpenSSL" # Name "libcurl - Win32 LIB Release LIB OpenSSL LIB LibSSH2" # Begin Group "Source Files" # PROP Default_Filter "" # Begin Source File SOURCE=..\..\..\..\lib\altsvc.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\amigaos.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\asyn-ares.c # End Source File |
︙ | ︙ | |||
1222 1223 1224 1225 1226 1227 1228 | # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\cyassl.c # End Source File # Begin Source File | < < < < | 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 | # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\cyassl.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\gskit.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\gtls.c # End Source File # Begin Source File |
︙ | ︙ | |||
1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 | SOURCE=..\..\..\..\lib\vtls\schannel.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\schannel_verify.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\vtls.c # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "" # Begin Source File SOURCE=..\..\..\..\lib\amigaos.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\arpa_telnet.h # End Source File | > > > > > > > > | 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 | SOURCE=..\..\..\..\lib\vtls\schannel.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\schannel_verify.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\sectransp.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\vtls.c # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "" # Begin Source File SOURCE=..\..\..\..\lib\altsvc.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\amigaos.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\arpa_telnet.h # End Source File |
︙ | ︙ | |||
1726 1727 1728 1729 1730 1731 1732 | # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\cyassl.h # End Source File # Begin Source File | < < < < | 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 | # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\cyassl.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\gskit.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\gtls.h # End Source File # Begin Source File |
︙ | ︙ | |||
1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 | SOURCE=..\..\..\..\lib\vtls\polarssl_threadlock.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\schannel.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\vtls.h # End Source File # End Group # Begin Group "Resource Files" # PROP Default_Filter "" | > > > > | 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 | SOURCE=..\..\..\..\lib\vtls\polarssl_threadlock.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\schannel.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\sectransp.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\vtls.h # End Source File # End Group # Begin Group "Resource Files" # PROP Default_Filter "" |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC7.1/lib/libcurl.vcproj.
︙ | ︙ | |||
1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 | </Configurations> <References> </References> <Files> <Filter Name="Source Files" Filter=""> <File RelativePath="..\..\..\..\lib\amigaos.c"> </File> <File RelativePath="..\..\..\..\lib\asyn-ares.c"> </File> <File | > > > | 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 | </Configurations> <References> </References> <Files> <Filter Name="Source Files" Filter=""> <File RelativePath="..\..\..\..\lib\altsvc.c"> </File> <File RelativePath="..\..\..\..\lib\amigaos.c"> </File> <File RelativePath="..\..\..\..\lib\asyn-ares.c"> </File> <File |
︙ | ︙ | |||
1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 | <File RelativePath="..\..\..\..\lib\x509asn1.c"> </File> </Filter> <Filter Name="Header Files" Filter=""> <File RelativePath="..\..\..\..\lib\amigaos.h"> </File> <File RelativePath="..\..\..\..\lib\arpa_telnet.h"> </File> <File | > > > | 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 | <File RelativePath="..\..\..\..\lib\x509asn1.c"> </File> </Filter> <Filter Name="Header Files" Filter=""> <File RelativePath="..\..\..\..\lib\altsvc.h"> </File> <File RelativePath="..\..\..\..\lib\amigaos.h"> </File> <File RelativePath="..\..\..\..\lib\arpa_telnet.h"> </File> <File |
︙ | ︙ | |||
1990 1991 1992 1993 1994 1995 1996 | <Filter Name="Source Files" Filter=""> <File RelativePath="..\..\..\..\lib\vtls\cyassl.c"> </File> <File | < < < | 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 | <Filter Name="Source Files" Filter=""> <File RelativePath="..\..\..\..\lib\vtls\cyassl.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\gskit.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\mbedtls.c"> |
︙ | ︙ | |||
2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 | </File> <File RelativePath="..\..\..\..\lib\vtls\schannel.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\schannel_verify.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\vtls.c"> </File> </Filter> <Filter Name="Header Files" Filter=""> <File RelativePath="..\..\..\..\lib\vtls\cyassl.h"> </File> <File | > > > < < < | 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 | </File> <File RelativePath="..\..\..\..\lib\vtls\schannel.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\schannel_verify.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\sectransp.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\vtls.c"> </File> </Filter> <Filter Name="Header Files" Filter=""> <File RelativePath="..\..\..\..\lib\vtls\cyassl.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\gskit.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\mbedtls.h"> |
︙ | ︙ | |||
2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 | </File> <File RelativePath="..\..\..\..\lib\vtls\polarssl_threadlock.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\schannel.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\vtls.h"> </File> </Filter> </Filter> </Files> <Globals> </Globals> </VisualStudioProject> | > > > | 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 | </File> <File RelativePath="..\..\..\..\lib\vtls\polarssl_threadlock.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\schannel.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\sectransp.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\vtls.h"> </File> </Filter> </Filter> </Files> <Globals> </Globals> </VisualStudioProject> |
Changes to jni/curl/projects/Windows/VC7/lib/libcurl.vcproj.
︙ | ︙ | |||
1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 | Name="VCWebServiceProxyGeneratorTool"/> </Configuration> </Configurations> <Files> <Filter Name="Source Files" Filter=""> <File RelativePath="..\..\..\..\lib\amigaos.c"> </File> <File RelativePath="..\..\..\..\lib\asyn-ares.c"> </File> <File | > > > | 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 | Name="VCWebServiceProxyGeneratorTool"/> </Configuration> </Configurations> <Files> <Filter Name="Source Files" Filter=""> <File RelativePath="..\..\..\..\lib\altsvc.c"> </File> <File RelativePath="..\..\..\..\lib\amigaos.c"> </File> <File RelativePath="..\..\..\..\lib\asyn-ares.c"> </File> <File |
︙ | ︙ | |||
1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 | <File RelativePath="..\..\..\..\lib\x509asn1.c"> </File> </Filter> <Filter Name="Header Files" Filter=""> <File RelativePath="..\..\..\..\lib\amigaos.h"> </File> <File RelativePath="..\..\..\..\lib\arpa_telnet.h"> </File> <File | > > > | 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 | <File RelativePath="..\..\..\..\lib\x509asn1.c"> </File> </Filter> <Filter Name="Header Files" Filter=""> <File RelativePath="..\..\..\..\lib\altsvc.h"> </File> <File RelativePath="..\..\..\..\lib\amigaos.h"> </File> <File RelativePath="..\..\..\..\lib\arpa_telnet.h"> </File> <File |
︙ | ︙ | |||
1844 1845 1846 1847 1848 1849 1850 | <Filter Name="Source Files" Filter=""> <File RelativePath="..\..\..\..\lib\vtls\cyassl.c"> </File> <File | < < < | 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 | <Filter Name="Source Files" Filter=""> <File RelativePath="..\..\..\..\lib\vtls\cyassl.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\gskit.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\mbedtls.c"> |
︙ | ︙ | |||
1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 | </File> <File RelativePath="..\..\..\..\lib\vtls\schannel.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\schannel_verify.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\vtls.c"> </File> </Filter> <Filter Name="Header Files" Filter=""> <File RelativePath="..\..\..\..\lib\vtls\cyassl.h"> </File> <File | > > > < < < | 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 | </File> <File RelativePath="..\..\..\..\lib\vtls\schannel.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\schannel_verify.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\sectransp.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\vtls.c"> </File> </Filter> <Filter Name="Header Files" Filter=""> <File RelativePath="..\..\..\..\lib\vtls\cyassl.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\gskit.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\mbedtls.h"> |
︙ | ︙ | |||
1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 | </File> <File RelativePath="..\..\..\..\lib\vtls\polarssl_threadlock.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\schannel.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\vtls.h"> </File> </Filter> </Filter> </Files> <Globals> </Globals> </VisualStudioProject> | > > > | 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 | </File> <File RelativePath="..\..\..\..\lib\vtls\polarssl_threadlock.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\schannel.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\sectransp.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\vtls.h"> </File> </Filter> </Filter> </Files> <Globals> </Globals> </VisualStudioProject> |
Changes to jni/curl/projects/Windows/VC8/lib/libcurl.vcproj.
︙ | ︙ | |||
3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 | </Configurations> <References> </References> <Files> <Filter Name="Source Files" > <File RelativePath="..\..\..\..\lib\amigaos.c" > </File> <File RelativePath="..\..\..\..\lib\asyn-ares.c" > | > > > > | 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 | </Configurations> <References> </References> <Files> <Filter Name="Source Files" > <File RelativePath="..\..\..\..\lib\altsvc.c" > </File> <File RelativePath="..\..\..\..\lib\amigaos.c" > </File> <File RelativePath="..\..\..\..\lib\asyn-ares.c" > |
︙ | ︙ | |||
4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 | RelativePath="..\..\..\..\lib\x509asn1.c" > </File> </Filter> <Filter Name="Header Files" > <File RelativePath="..\..\..\..\lib\amigaos.h" > </File> <File RelativePath="..\..\..\..\lib\arpa_telnet.h" > | > > > > | 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 | RelativePath="..\..\..\..\lib\x509asn1.c" > </File> </Filter> <Filter Name="Header Files" > <File RelativePath="..\..\..\..\lib\altsvc.h" > </File> <File RelativePath="..\..\..\..\lib\amigaos.h" > </File> <File RelativePath="..\..\..\..\lib\arpa_telnet.h" > |
︙ | ︙ | |||
4586 4587 4588 4589 4590 4591 4592 | > <Filter Name="Source Files" > <File RelativePath="..\..\..\..\lib\vtls\cyassl.c" > | < < < < | 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 | > <Filter Name="Source Files" > <File RelativePath="..\..\..\..\lib\vtls\cyassl.c" > </File> <File RelativePath="..\..\..\..\lib\vtls\gskit.c" > </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.c" |
︙ | ︙ | |||
4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 | <File RelativePath="..\..\..\..\lib\vtls\schannel.c" > </File> <File RelativePath="..\..\..\..\lib\vtls\schannel_verify.c" > </File> <File RelativePath="..\..\..\..\lib\vtls\vtls.c" > </File> </Filter> <Filter Name="Header Files" > <File RelativePath="..\..\..\..\lib\vtls\cyassl.h" > | > > > > < < < < | 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 | <File RelativePath="..\..\..\..\lib\vtls\schannel.c" > </File> <File RelativePath="..\..\..\..\lib\vtls\schannel_verify.c" > </File> <File RelativePath="..\..\..\..\lib\vtls\sectransp.c" > </File> <File RelativePath="..\..\..\..\lib\vtls\vtls.c" > </File> </Filter> <Filter Name="Header Files" > <File RelativePath="..\..\..\..\lib\vtls\cyassl.h" > </File> <File RelativePath="..\..\..\..\lib\vtls\gskit.h" > </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.h" |
︙ | ︙ | |||
4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 | <File RelativePath="..\..\..\..\lib\vtls\polarssl_threadlock.h" > </File> <File RelativePath="..\..\..\..\lib\vtls\schannel.h" > </File> <File RelativePath="..\..\..\..\lib\vtls\vtls.h" > </File> </Filter> </Filter> </Files> <Globals> </Globals> </VisualStudioProject> | > > > > | 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 | <File RelativePath="..\..\..\..\lib\vtls\polarssl_threadlock.h" > </File> <File RelativePath="..\..\..\..\lib\vtls\schannel.h" > </File> <File RelativePath="..\..\..\..\lib\vtls\sectransp.h" > </File> <File RelativePath="..\..\..\..\lib\vtls\vtls.h" > </File> </Filter> </Filter> </Files> <Globals> </Globals> </VisualStudioProject> |
Changes to jni/curl/projects/Windows/VC9/lib/libcurl.vcproj.
︙ | ︙ | |||
3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 | </Configurations> <References> </References> <Files> <Filter Name="Source Files" > <File RelativePath="..\..\..\..\lib\amigaos.c" > </File> <File RelativePath="..\..\..\..\lib\asyn-ares.c" > | > > > > | 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 | </Configurations> <References> </References> <Files> <Filter Name="Source Files" > <File RelativePath="..\..\..\..\lib\altsvc.c" > </File> <File RelativePath="..\..\..\..\lib\amigaos.c" > </File> <File RelativePath="..\..\..\..\lib\asyn-ares.c" > |
︙ | ︙ | |||
4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 | RelativePath="..\..\..\..\lib\x509asn1.c" > </File> </Filter> <Filter Name="Header Files" > <File RelativePath="..\..\..\..\lib\amigaos.h" > </File> <File RelativePath="..\..\..\..\lib\arpa_telnet.h" > | > > > > | 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 | RelativePath="..\..\..\..\lib\x509asn1.c" > </File> </Filter> <Filter Name="Header Files" > <File RelativePath="..\..\..\..\lib\altsvc.h" > </File> <File RelativePath="..\..\..\..\lib\amigaos.h" > </File> <File RelativePath="..\..\..\..\lib\arpa_telnet.h" > |
︙ | ︙ | |||
4527 4528 4529 4530 4531 4532 4533 | > <Filter Name="Source Files" > <File RelativePath="..\..\..\..\lib\vtls\cyassl.c" > | < < < < | 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 | > <Filter Name="Source Files" > <File RelativePath="..\..\..\..\lib\vtls\cyassl.c" > </File> <File RelativePath="..\..\..\..\lib\vtls\gskit.c" > </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.c" |
︙ | ︙ | |||
4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 | <File RelativePath="..\..\..\..\lib\vtls\schannel.c" > </File> <File RelativePath="..\..\..\..\lib\vtls\schannel_verify.c" > </File> <File RelativePath="..\..\..\..\lib\vtls\vtls.c" > </File> </Filter> <Filter Name="Header Files" > <File RelativePath="..\..\..\..\lib\vtls\cyassl.h" > | > > > > < < < < | 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 | <File RelativePath="..\..\..\..\lib\vtls\schannel.c" > </File> <File RelativePath="..\..\..\..\lib\vtls\schannel_verify.c" > </File> <File RelativePath="..\..\..\..\lib\vtls\sectransp.c" > </File> <File RelativePath="..\..\..\..\lib\vtls\vtls.c" > </File> </Filter> <Filter Name="Header Files" > <File RelativePath="..\..\..\..\lib\vtls\cyassl.h" > </File> <File RelativePath="..\..\..\..\lib\vtls\gskit.h" > </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.h" |
︙ | ︙ | |||
4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 | <File RelativePath="..\..\..\..\lib\vtls\polarssl_threadlock.h" > </File> <File RelativePath="..\..\..\..\lib\vtls\schannel.h" > </File> <File RelativePath="..\..\..\..\lib\vtls\vtls.h" > </File> </Filter> </Filter> </Files> <Globals> </Globals> </VisualStudioProject> | > > > > | 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 | <File RelativePath="..\..\..\..\lib\vtls\polarssl_threadlock.h" > </File> <File RelativePath="..\..\..\..\lib\vtls\schannel.h" > </File> <File RelativePath="..\..\..\..\lib\vtls\sectransp.h" > </File> <File RelativePath="..\..\..\..\lib\vtls\vtls.h" > </File> </Filter> </Filter> </Files> <Globals> </Globals> </VisualStudioProject> |
Changes to jni/curl/scripts/Makefile.am.
︙ | ︙ | |||
16 17 18 19 20 21 22 23 24 25 26 | # furnished to do so, under the terms of the COPYING file. # # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY # KIND, either express or implied. # ########################################################################### ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ PERL = @PERL@ ZSH_COMPLETION_FUNCTION_FILENAME = _curl | > > | | | | | > > > > > > > > > > | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | # furnished to do so, under the terms of the COPYING file. # # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY # KIND, either express or implied. # ########################################################################### ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@ PERL = @PERL@ ZSH_COMPLETION_FUNCTION_FILENAME = _curl FISH_COMPLETION_FUNCTION_FILENAME = curl.fish CLEANFILES = $(ZSH_COMPLETION_FUNCTION_FILENAME) $(FISH_COMPLETION_FUNCTION_FILENAME) all-local: $(ZSH_COMPLETION_FUNCTION_FILENAME) $(FISH_COMPLETION_FUNCTION_FILENAME) $(ZSH_COMPLETION_FUNCTION_FILENAME): completion.pl if CROSSCOMPILING @echo "NOTICE: we can't generate zsh completion when cross-compiling!" else # if not cross-compiling: @if ! test -x "$(PERL)"; then echo "No perl: can't install completion.pl"; exit 0; fi $(PERL) $(srcdir)/completion.pl --curl $(top_builddir)/src/curl$(EXEEXT) --shell zsh > $@ endif $(FISH_COMPLETION_FUNCTION_FILENAME): completion.pl if CROSSCOMPILING @echo "NOTICE: we can't generate fish completion when cross-compiling!" else # if not cross-compiling: @if ! test -x "$(PERL)"; then echo "No perl: can't install completion.pl"; exit 0; fi $(PERL) $(srcdir)/completion.pl --curl $(top_builddir)/src/curl$(EXEEXT) --shell fish > $@ endif install-data-local: if CROSSCOMPILING @echo "NOTICE: we can't install zsh completion when cross-compiling!" else # if not cross-compiling: $(MKDIR_P) $(DESTDIR)$(ZSH_FUNCTIONS_DIR) $(MKDIR_P) $(DESTDIR)$(FISH_FUNCTIONS_DIR) $(INSTALL_DATA) $(ZSH_COMPLETION_FUNCTION_FILENAME) $(DESTDIR)$(ZSH_FUNCTIONS_DIR)/$(ZSH_COMPLETION_FUNCTION_FILENAME) $(INSTALL_DATA) $(FISH_COMPLETION_FUNCTION_FILENAME) $(DESTDIR)$(FISH_FUNCTIONS_DIR)/$(FISH_COMPLETION_FUNCTION_FILENAME) endif |
Changes to jni/curl/scripts/Makefile.in.
︙ | ︙ | |||
188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ | > > | 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ |
︙ | ︙ | |||
256 257 258 259 260 261 262 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ | < > | 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ #*************************************************************************** |
︙ | ︙ | |||
353 354 355 356 357 358 359 | subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ZSH_COMPLETION_FUNCTION_FILENAME = _curl | > | | | | 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 | subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ZSH_COMPLETION_FUNCTION_FILENAME = _curl FISH_COMPLETION_FUNCTION_FILENAME = curl.fish CLEANFILES = $(ZSH_COMPLETION_FUNCTION_FILENAME) $(FISH_COMPLETION_FUNCTION_FILENAME) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu scripts/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu scripts/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ |
︙ | ︙ | |||
551 552 553 554 555 556 557 | maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am .PRECIOUS: Makefile | | | | | > > > > > > > | 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 | maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am .PRECIOUS: Makefile all-local: $(ZSH_COMPLETION_FUNCTION_FILENAME) $(FISH_COMPLETION_FUNCTION_FILENAME) $(ZSH_COMPLETION_FUNCTION_FILENAME): completion.pl @CROSSCOMPILING_TRUE@ @echo "NOTICE: we can't generate zsh completion when cross-compiling!" @CROSSCOMPILING_FALSE@ @if ! test -x "$(PERL)"; then echo "No perl: can't install completion.pl"; exit 0; fi @CROSSCOMPILING_FALSE@ $(PERL) $(srcdir)/completion.pl --curl $(top_builddir)/src/curl$(EXEEXT) --shell zsh > $@ $(FISH_COMPLETION_FUNCTION_FILENAME): completion.pl @CROSSCOMPILING_TRUE@ @echo "NOTICE: we can't generate fish completion when cross-compiling!" @CROSSCOMPILING_FALSE@ @if ! test -x "$(PERL)"; then echo "No perl: can't install completion.pl"; exit 0; fi @CROSSCOMPILING_FALSE@ $(PERL) $(srcdir)/completion.pl --curl $(top_builddir)/src/curl$(EXEEXT) --shell fish > $@ install-data-local: @CROSSCOMPILING_TRUE@ @echo "NOTICE: we can't install zsh completion when cross-compiling!" @CROSSCOMPILING_FALSE@ $(MKDIR_P) $(DESTDIR)$(ZSH_FUNCTIONS_DIR) @CROSSCOMPILING_FALSE@ $(MKDIR_P) $(DESTDIR)$(FISH_FUNCTIONS_DIR) @CROSSCOMPILING_FALSE@ $(INSTALL_DATA) $(ZSH_COMPLETION_FUNCTION_FILENAME) $(DESTDIR)$(ZSH_FUNCTIONS_DIR)/$(ZSH_COMPLETION_FUNCTION_FILENAME) @CROSSCOMPILING_FALSE@ $(INSTALL_DATA) $(FISH_COMPLETION_FUNCTION_FILENAME) $(DESTDIR)$(FISH_FUNCTIONS_DIR)/$(FISH_COMPLETION_FUNCTION_FILENAME) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: |
Added jni/curl/scripts/completion.pl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | #!/usr/bin/env perl use strict; use warnings; use Getopt::Long(); use Pod::Usage(); my $curl = 'curl'; my $shell = 'zsh'; my $help = 0; Getopt::Long::GetOptions( 'curl=s' => \$curl, 'shell=s' => \$shell, 'help' => \$help, ) or Pod::Usage::pod2usage(); Pod::Usage::pod2usage() if $help; my $regex = '\s+(?:(-[^\s]+),\s)?(--[^\s]+)\s*(\<.+?\>)?\s+(.*)'; my @opts = parse_main_opts('--help', $regex); if ($shell eq 'fish') { print "# curl fish completion\n\n"; print qq{$_ \n} foreach (@opts); } elsif ($shell eq 'zsh') { my $opts_str; $opts_str .= qq{ $_ \\\n} foreach (@opts); chomp $opts_str; my $tmpl = <<"EOS"; #compdef curl # curl zsh completion local curcontext="\$curcontext" state state_descr line typeset -A opt_args local rc=1 _arguments -C -S \\ $opts_str '*:URL:_urls' && rc=0 return rc EOS print $tmpl; } else { die("Unsupported shell: $shell"); } sub parse_main_opts { my ($cmd, $regex) = @_; my @list; my @lines = call_curl($cmd); foreach my $line (@lines) { my ($short, $long, $arg, $desc) = ($line =~ /^$regex/) or next; my $option = ''; $arg =~ s/\:/\\\:/g if defined $arg; $desc =~ s/'/'\\''/g if defined $desc; $desc =~ s/\[/\\\[/g if defined $desc; $desc =~ s/\]/\\\]/g if defined $desc; $desc =~ s/\:/\\\:/g if defined $desc; if ($shell eq 'fish') { $option .= "complete --command curl"; $option .= " --short-option '" . strip_dash(trim($short)) . "'" if defined $short; $option .= " --long-option '" . strip_dash(trim($long)) . "'" if defined $long; $option .= " --description '" . strip_dash(trim($desc)) . "'" if defined $desc; } elsif ($shell eq 'zsh') { $option .= '{' . trim($short) . ',' if defined $short; $option .= trim($long) if defined $long; $option .= '}' if defined $short; $option .= '\'[' . trim($desc) . ']\'' if defined $desc; $option .= ":'$arg'" if defined $arg; $option .= ':_files' if defined $arg and ($arg eq '<file>' || $arg eq '<filename>' || $arg eq '<dir>'); } push @list, $option; } # Sort longest first, because zsh won't complete an option listed # after one that's a prefix of it. @list = sort { $a =~ /([^=]*)/; my $ma = $1; $b =~ /([^=]*)/; my $mb = $1; length($mb) <=> length($ma) } @list if $shell eq 'zsh'; return @list; } sub trim { my $s = shift; $s =~ s/^\s+|\s+$//g; return $s }; sub strip_dash { my $s = shift; $s =~ s/^-+//g; return $s }; sub call_curl { my ($cmd) = @_; my $output = `"$curl" $cmd`; if ($? == -1) { die "Could not run curl: $!"; } elsif ((my $exit_code = $? >> 8) != 0) { die "curl returned $exit_code with output:\n$output"; } return split /\n/, $output; } __END__ =head1 NAME completion.pl - Generates tab-completion files for various shells =head1 SYNOPSIS completion.pl [options...] --curl path to curl executable --shell zsh/fish --help prints this help =cut |
Deleted jni/curl/scripts/zsh.pl.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Changes to jni/curl/src/CMakeLists.txt.
1 2 3 4 5 6 7 8 9 10 11 | set(EXE_NAME curl) if(USE_MANUAL) # Use the C locale to ensure that only ASCII characters appear in the # embedded text. NROFF and MANOPT are set in the parent CMakeLists.txt add_custom_command( OUTPUT tool_hugehelp.c COMMAND ${CMAKE_COMMAND} -E echo "#include \"tool_setup.h\"" > tool_hugehelp.c COMMAND ${CMAKE_COMMAND} -E echo "#ifndef HAVE_LIBZ" >> tool_hugehelp.c COMMAND env LC_ALL=C "${NROFF}" ${NROFF_MANOPT} "${CURL_BINARY_DIR}/docs/curl.1" | | | < | < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | set(EXE_NAME curl) if(USE_MANUAL) # Use the C locale to ensure that only ASCII characters appear in the # embedded text. NROFF and MANOPT are set in the parent CMakeLists.txt add_custom_command( OUTPUT tool_hugehelp.c COMMAND ${CMAKE_COMMAND} -E echo "#include \"tool_setup.h\"" > tool_hugehelp.c COMMAND ${CMAKE_COMMAND} -E echo "#ifndef HAVE_LIBZ" >> tool_hugehelp.c COMMAND env LC_ALL=C "${NROFF}" ${NROFF_MANOPT} "${CURL_BINARY_DIR}/docs/curl.1" | "${PERL_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/mkhelp.pl" >> tool_hugehelp.c COMMAND ${CMAKE_COMMAND} -E echo "#else" >> tool_hugehelp.c COMMAND env LC_ALL=C "${NROFF}" ${NROFF_MANOPT} "${CURL_BINARY_DIR}/docs/curl.1" | "${PERL_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/mkhelp.pl" -c >> tool_hugehelp.c COMMAND ${CMAKE_COMMAND} -E echo "#endif /* HAVE_LIBZ */" >> tool_hugehelp.c DEPENDS generate-curl.1 "${CURL_BINARY_DIR}/docs/curl.1" "${CMAKE_CURRENT_SOURCE_DIR}/mkhelp.pl" "${CMAKE_CURRENT_SOURCE_DIR}/tool_hugehelp.h" VERBATIM) else() add_custom_command( |
︙ | ︙ |
Changes to jni/curl/src/Makefile.am.
︙ | ︙ | |||
87 88 89 90 91 92 93 | EXTRA_DIST = mkhelp.pl makefile.dj \ Makefile.m32 macos/curl.mcp.xml.sit.hqx macos/MACINSTALL.TXT \ macos/src/curl_GUSIConfig.cpp macos/src/macos_main.cpp makefile.amiga \ curl.rc Makefile.netware Makefile.inc Makefile.Watcom CMakeLists.txt # Use absolute directory to disable VPATH MANPAGE=$(abs_top_builddir)/docs/curl.1 | < > > > > > > > > > > | | | | | | | | | | | | | | | | 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | EXTRA_DIST = mkhelp.pl makefile.dj \ Makefile.m32 macos/curl.mcp.xml.sit.hqx macos/MACINSTALL.TXT \ macos/src/curl_GUSIConfig.cpp macos/src/macos_main.cpp makefile.amiga \ curl.rc Makefile.netware Makefile.inc Makefile.Watcom CMakeLists.txt # Use absolute directory to disable VPATH MANPAGE=$(abs_top_builddir)/docs/curl.1 MKHELP=$(top_srcdir)/src/mkhelp.pl HUGE=tool_hugehelp.c HUGECMD = $(HUGEIT_$(V)) HUGEIT_0 = @echo " HUGE " $@; HUGEIT_1 = HUGEIT_ = $(HUGEIT_0) CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) if USE_MANUAL # Here are the stuff to create a built-in manual $(MANPAGE): cd $(top_builddir)/docs && $(MAKE) if HAVE_LIBZ # This generates the tool_hugehelp.c file in both uncompressed and # compressed formats. $(HUGE): $(MANPAGE) $(MKHELP) $(HUGECMD) (echo '#include "tool_setup.h"' > $(HUGE); \ echo '#ifndef HAVE_LIBZ' >> $(HUGE); \ $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) >> $(HUGE); \ echo '#else' >> $(HUGE); \ $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) -c >> $(HUGE); \ echo '#endif /* HAVE_LIBZ */' >> $(HUGE) ) else # HAVE_LIBZ # This generates the tool_hugehelp.c file uncompressed only $(HUGE): $(MANPAGE) $(MKHELP) $(HUGECMD)(echo '#include "tool_setup.h"' > $(HUGE): \ $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) >> $(HUGE) ) endif else # USE_MANUAL # built-in manual has been disabled, make a blank file $(HUGE): $(HUGECMD)(echo "/* built-in manual is disabled, blank function */" > $(HUGE); \ echo '#include "tool_hugehelp.h"' >> $(HUGE); \ echo "void hugehelp(void) {}" >>$(HUGE) ) endif # ignore tool_hugehelp.c since it is generated source code and it plays # by slightly different rules! checksrc: $(CHECKSRC)(@PERL@ $(top_srcdir)/lib/checksrc.pl -D$(srcdir) \ -W$(srcdir)/tool_hugehelp.c $(srcdir)/*.[ch]) if CURLDEBUG # for debug builds, we scan the sources on all regular make invokes all-local: checksrc endif # disable the tests that are mostly causing false positives |
︙ | ︙ |
Changes to jni/curl/src/Makefile.in.
︙ | ︙ | |||
464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ | > > | 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ |
︙ | ︙ | |||
536 537 538 539 540 541 542 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ | < > | 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ |
︙ | ︙ | |||
778 779 780 781 782 783 784 | Makefile.m32 macos/curl.mcp.xml.sit.hqx macos/MACINSTALL.TXT \ macos/src/curl_GUSIConfig.cpp macos/src/macos_main.cpp makefile.amiga \ curl.rc Makefile.netware Makefile.inc Makefile.Watcom CMakeLists.txt # Use absolute directory to disable VPATH MANPAGE = $(abs_top_builddir)/docs/curl.1 | < > > > > > > > > | 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 | Makefile.m32 macos/curl.mcp.xml.sit.hqx macos/MACINSTALL.TXT \ macos/src/curl_GUSIConfig.cpp macos/src/macos_main.cpp makefile.amiga \ curl.rc Makefile.netware Makefile.inc Makefile.Watcom CMakeLists.txt # Use absolute directory to disable VPATH MANPAGE = $(abs_top_builddir)/docs/curl.1 MKHELP = $(top_srcdir)/src/mkhelp.pl HUGE = tool_hugehelp.c HUGECMD = $(HUGEIT_$(V)) HUGEIT_0 = @echo " HUGE " $@; HUGEIT_1 = HUGEIT_ = $(HUGEIT_0) CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) # disable the tests that are mostly causing false positives TIDYFLAGS = -checks=-clang-analyzer-security.insecureAPI.strcpy,-clang-analyzer-optin.performance.Padding,-clang-analyzer-valist.Uninitialized,-clang-analyzer-core.NonNullParamChecker,-clang-analyzer-core.NullDereference TIDY := clang-tidy all: all-recursive .SUFFIXES: |
︙ | ︙ | |||
2415 2416 2417 2418 2419 2420 2421 | # Here are the stuff to create a built-in manual @USE_MANUAL_TRUE@$(MANPAGE): @USE_MANUAL_TRUE@ cd $(top_builddir)/docs && $(MAKE) # This generates the tool_hugehelp.c file in both uncompressed and # compressed formats. | | | | | | | | | | | | | | | | | 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 | # Here are the stuff to create a built-in manual @USE_MANUAL_TRUE@$(MANPAGE): @USE_MANUAL_TRUE@ cd $(top_builddir)/docs && $(MAKE) # This generates the tool_hugehelp.c file in both uncompressed and # compressed formats. @HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@$(HUGE): $(MANPAGE) $(MKHELP) @HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@ $(HUGECMD) (echo '#include "tool_setup.h"' > $(HUGE); \ @HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@ echo '#ifndef HAVE_LIBZ' >> $(HUGE); \ @HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@ $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) >> $(HUGE); \ @HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@ echo '#else' >> $(HUGE); \ @HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@ $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) -c >> $(HUGE); \ @HAVE_LIBZ_TRUE@@USE_MANUAL_TRUE@ echo '#endif /* HAVE_LIBZ */' >> $(HUGE) ) # This generates the tool_hugehelp.c file uncompressed only @HAVE_LIBZ_FALSE@@USE_MANUAL_TRUE@$(HUGE): $(MANPAGE) $(MKHELP) @HAVE_LIBZ_FALSE@@USE_MANUAL_TRUE@ $(HUGECMD)(echo '#include "tool_setup.h"' > $(HUGE): \ @HAVE_LIBZ_FALSE@@USE_MANUAL_TRUE@ $(NROFF) $(MANPAGE) | $(PERL) $(MKHELP) >> $(HUGE) ) # built-in manual has been disabled, make a blank file @USE_MANUAL_FALSE@$(HUGE): @USE_MANUAL_FALSE@ $(HUGECMD)(echo "/* built-in manual is disabled, blank function */" > $(HUGE); \ @USE_MANUAL_FALSE@ echo '#include "tool_hugehelp.h"' >> $(HUGE); \ @USE_MANUAL_FALSE@ echo "void hugehelp(void) {}" >>$(HUGE) ) # ignore tool_hugehelp.c since it is generated source code and it plays # by slightly different rules! checksrc: $(CHECKSRC)(@PERL@ $(top_srcdir)/lib/checksrc.pl -D$(srcdir) \ -W$(srcdir)/tool_hugehelp.c $(srcdir)/*.[ch]) # for debug builds, we scan the sources on all regular make invokes @CURLDEBUG_TRUE@all-local: checksrc tidy: $(TIDY) $(CURL_CFILES) $(TIDYFLAGS) -- $(curl_CPPFLAGS) $(CPPFLAGS) -DHAVE_CONFIG_H # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: |
Changes to jni/curl/src/mkhelp.pl.
1 2 3 4 5 6 7 8 | #!/usr/bin/env perl #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #!/usr/bin/env perl #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
28 29 30 31 32 33 34 | # Get readme file as parameter: if($ARGV[0] eq "-c") { $c=1; shift @ARGV; } | < < < < < < < < | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | # Get readme file as parameter: if($ARGV[0] eq "-c") { $c=1; shift @ARGV; } push @out, " _ _ ____ _\n"; push @out, " Project ___| | | | _ \\| |\n"; push @out, " / __| | | | |_) | |\n"; push @out, " | (__| |_| | _ <| |___\n"; push @out, " \\___|\\___/|_| \\_\\_____|\n"; |
︙ | ︙ | |||
85 86 87 88 89 90 91 | $wline = 0; push @out, "\n"; } push @out, $line; } push @out, "\n"; # just an extra newline | < < < < < < < < < < < < < | 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | $wline = 0; push @out, "\n"; } push @out, $line; } push @out, "\n"; # just an extra newline print <<HEAD /* * NEVER EVER edit this manually, fix the mkhelp.pl script instead! */ #ifdef USE_MANUAL #include "tool_hugehelp.h" HEAD |
︙ | ︙ |
Changes to jni/curl/src/tool_cb_wrt.c.
︙ | ︙ | |||
75 76 77 78 79 80 81 82 83 84 85 86 87 88 | size_t tool_write_cb(char *buffer, size_t sz, size_t nmemb, void *userdata) { size_t rc; struct OutStruct *outs = userdata; struct OperationConfig *config = outs->config; size_t bytes = sz * nmemb; bool is_tty = config->global->isatty; /* * Once that libcurl has called back tool_write_cb() the returned value * is checked against the amount that was intended to be written, if * it does not match then it fails with CURLE_WRITE_ERROR. So at this * point returning a value different from sz*nmemb indicates failure. */ | > > > | 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | size_t tool_write_cb(char *buffer, size_t sz, size_t nmemb, void *userdata) { size_t rc; struct OutStruct *outs = userdata; struct OperationConfig *config = outs->config; size_t bytes = sz * nmemb; bool is_tty = config->global->isatty; #ifdef WIN32 CONSOLE_SCREEN_BUFFER_INFO console_info; #endif /* * Once that libcurl has called back tool_write_cb() the returned value * is checked against the amount that was intended to be written, if * it does not match then it fails with CURLE_WRITE_ERROR. So at this * point returning a value different from sz*nmemb indicates failure. */ |
︙ | ︙ | |||
152 153 154 155 156 157 158 | "anyway, or consider \"--output <FILE>\" to save to a file.\n"); config->synthetic_error = ERR_BINARY_TERMINAL; return failure; } } #ifdef _WIN32 | | > > | 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | "anyway, or consider \"--output <FILE>\" to save to a file.\n"); config->synthetic_error = ERR_BINARY_TERMINAL; return failure; } } #ifdef _WIN32 if(isatty(fileno(outs->stream)) && GetConsoleScreenBufferInfo( (HANDLE)_get_osfhandle(fileno(outs->stream)), &console_info)) { DWORD in_len = (DWORD)(sz * nmemb); wchar_t* wc_buf; DWORD wc_len; intptr_t fhnd; /* calculate buffer size for wide characters */ wc_len = MultiByteToWideChar(CP_UTF8, 0, buffer, in_len, NULL, 0); |
︙ | ︙ |
Changes to jni/curl/src/tool_cfgable.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
49 50 51 52 53 54 55 56 57 58 59 60 61 62 | static void free_config_fields(struct OperationConfig *config) { struct getout *urlnode; Curl_safefree(config->random_file); Curl_safefree(config->egd_file); Curl_safefree(config->useragent); Curl_safefree(config->cookie); Curl_safefree(config->cookiejar); Curl_safefree(config->cookiefile); Curl_safefree(config->postfields); Curl_safefree(config->referer); | > | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | static void free_config_fields(struct OperationConfig *config) { struct getout *urlnode; Curl_safefree(config->random_file); Curl_safefree(config->egd_file); Curl_safefree(config->useragent); Curl_safefree(config->altsvc); Curl_safefree(config->cookie); Curl_safefree(config->cookiejar); Curl_safefree(config->cookiefile); Curl_safefree(config->postfields); Curl_safefree(config->referer); |
︙ | ︙ | |||
140 141 142 143 144 145 146 | curl_slist_free_all(config->quote); curl_slist_free_all(config->postquote); curl_slist_free_all(config->prequote); curl_slist_free_all(config->headers); curl_slist_free_all(config->proxyheaders); | < | | < > > | 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | curl_slist_free_all(config->quote); curl_slist_free_all(config->postquote); curl_slist_free_all(config->prequote); curl_slist_free_all(config->headers); curl_slist_free_all(config->proxyheaders); curl_mime_free(config->mimepost); config->mimepost = NULL; tool_mime_free(config->mimeroot); config->mimeroot = NULL; config->mimecurrent = NULL; curl_slist_free_all(config->telnet_options); curl_slist_free_all(config->resolve); curl_slist_free_all(config->connect_to); Curl_safefree(config->preproxy); |
︙ | ︙ |
Changes to jni/curl/src/tool_cfgable.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_CFGABLE_H #define HEADER_CURL_TOOL_CFGABLE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | #ifndef HEADER_CURL_TOOL_CFGABLE_H #define HEADER_CURL_TOOL_CFGABLE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "tool_setup.h" #include "tool_sdecls.h" #include "tool_metalink.h" #include "tool_formparse.h" typedef enum { ERR_NONE, ERR_BINARY_TERMINAL = 1, /* binary to terminal detected */ ERR_LAST } curl_error; struct GlobalConfig; struct OperationConfig { CURL *easy; /* A copy of the handle from GlobalConfig */ bool remote_time; char *random_file; char *egd_file; char *useragent; char *cookie; /* single line with specified cookies */ char *cookiejar; /* write to this file */ char *cookiefile; /* read from this file */ char *altsvc; /* alt-svc cache file name */ bool cookiesession; /* new session? */ bool encoding; /* Accept-Encoding please */ bool tr_encoding; /* Transfer-Encoding please */ unsigned long authtype; /* auth bitmask */ bool use_resume; bool resume_from_current; bool disable_epsv; |
︙ | ︙ | |||
172 173 174 175 176 177 178 | long ssl_version_max; long proxy_ssl_version; long ip_version; curl_TimeCond timecond; curl_off_t condtime; struct curl_slist *headers; struct curl_slist *proxyheaders; | | > | | 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 | long ssl_version_max; long proxy_ssl_version; long ip_version; curl_TimeCond timecond; curl_off_t condtime; struct curl_slist *headers; struct curl_slist *proxyheaders; tool_mime *mimeroot; tool_mime *mimecurrent; curl_mime *mimepost; struct curl_slist *telnet_options; struct curl_slist *resolve; struct curl_slist *connect_to; HttpReq httpreq; /* for bandwidth limiting features: */ curl_off_t sendpersecond; /* send to peer */ |
︙ | ︙ |
Changes to jni/curl/src/tool_convert.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
118 119 120 121 122 123 124 | /* determine how this specific character should be displayed */ switch(infotype) { case CURLINFO_DATA_IN: case CURLINFO_DATA_OUT: case CURLINFO_SSL_DATA_IN: case CURLINFO_SSL_DATA_OUT: /* data, treat as ASCII */ | | < < < < > > | | 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | /* determine how this specific character should be displayed */ switch(infotype) { case CURLINFO_DATA_IN: case CURLINFO_DATA_OUT: case CURLINFO_SSL_DATA_IN: case CURLINFO_SSL_DATA_OUT: /* data, treat as ASCII */ if(this_char < 0x20 || this_char >= 0x7f) { /* non-printable ASCII, use a replacement character */ return UNPRINTABLE_CHAR; } /* printable ASCII hex value: convert to host encoding */ (void)convert_from_network(&this_char, 1); /* FALLTHROUGH */ default: /* treat as host encoding */ if(ISPRINT(this_char) && (this_char != '\t') && (this_char != '\r') && (this_char != '\n')) { /* printable characters excluding tabs and line end characters */ |
︙ | ︙ |
Changes to jni/curl/src/tool_formparse.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | < > > > | > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | > | > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "tool_setup.h" #include "strcase.h" #define ENABLE_CURLX_PRINTF /* use our own printf() functions */ #include "curlx.h" #include "tool_cfgable.h" #include "tool_convert.h" #include "tool_msgs.h" #include "tool_binmode.h" #include "tool_getparam.h" #include "tool_paramhlp.h" #include "tool_formparse.h" #include "memdebug.h" /* keep this as LAST include */ /* Macros to free const pointers. */ #define CONST_FREE(x) free((void *) (x)) #define CONST_SAFEFREE(x) Curl_safefree(*((void **) &(x))) /* tool_mime functions. */ static tool_mime *tool_mime_new(tool_mime *parent, toolmimekind kind) { tool_mime *m = (tool_mime *) calloc(1, sizeof(*m)); if(m) { m->kind = kind; m->parent = parent; if(parent) { m->prev = parent->subparts; parent->subparts = m; } } return m; } static tool_mime *tool_mime_new_parts(tool_mime *parent) { return tool_mime_new(parent, TOOLMIME_PARTS); } static tool_mime *tool_mime_new_data(tool_mime *parent, const char *data) { tool_mime *m = NULL; data = strdup(data); if(data) { m = tool_mime_new(parent, TOOLMIME_DATA); if(!m) CONST_FREE(data); else m->data = data; } return m; } static tool_mime *tool_mime_new_filedata(tool_mime *parent, const char *filename, bool isremotefile, CURLcode *errcode) { CURLcode result = CURLE_OK; tool_mime *m = NULL; *errcode = CURLE_OUT_OF_MEMORY; if(strcmp(filename, "-")) { /* This is a normal file. */ filename = strdup(filename); if(filename) { m = tool_mime_new(parent, TOOLMIME_FILE); if(!m) CONST_FREE(filename); else { m->data = filename; if(!isremotefile) m->kind = TOOLMIME_FILEDATA; *errcode = CURLE_OK; } } } else { /* Standard input. */ int fd = fileno(stdin); char *data = NULL; curl_off_t size; curl_off_t origin; struct_stat sbuf; set_binmode(stdin); origin = ftell(stdin); /* If stdin is a regular file, do not buffer data but read it when needed. */ if(fd >= 0 && origin >= 0 && !fstat(fd, &sbuf) && #ifdef __VMS sbuf.st_fab_rfm != FAB$C_VAR && sbuf.st_fab_rfm != FAB$C_VFC && #endif S_ISREG(sbuf.st_mode)) { size = sbuf.st_size - origin; if(size < 0) size = 0; } else { /* Not suitable for direct use, buffer stdin data. */ size_t stdinsize = 0; if(file2memory(&data, &stdinsize, stdin) != PARAM_OK) { /* Out of memory. */ return m; } if(ferror(stdin)) { result = CURLE_READ_ERROR; Curl_safefree(data); data = NULL; } else if(!stdinsize) { /* Zero-length data has been freed. Re-create it. */ data = strdup(""); if(!data) return m; } size = curlx_uztoso(stdinsize); origin = 0; } m = tool_mime_new(parent, TOOLMIME_STDIN); if(!m) Curl_safefree(data); else { m->data = data; m->origin = origin; m->size = size; m->curpos = 0; if(!isremotefile) m->kind = TOOLMIME_STDINDATA; *errcode = result; } } return m; } void tool_mime_free(tool_mime *mime) { if(mime) { if(mime->subparts) tool_mime_free(mime->subparts); if(mime->prev) tool_mime_free(mime->prev); CONST_SAFEFREE(mime->name); CONST_SAFEFREE(mime->filename); CONST_SAFEFREE(mime->type); CONST_SAFEFREE(mime->encoder); CONST_SAFEFREE(mime->data); curl_slist_free_all(mime->headers); free(mime); } } /* Mime part callbacks for stdin. */ size_t tool_mime_stdin_read(char *buffer, size_t size, size_t nitems, void *arg) { tool_mime *sip = (tool_mime *) arg; curl_off_t bytesleft; (void) size; /* Always 1: ignored. */ if(sip->size >= 0) { if(sip->curpos >= sip->size) return 0; /* At eof. */ bytesleft = sip->size - sip->curpos; if(curlx_uztoso(nitems) > bytesleft) nitems = curlx_sotouz(bytesleft); } if(nitems) { if(sip->data) { /* Return data from memory. */ memcpy(buffer, sip->data + curlx_sotouz(sip->curpos), nitems); } else { /* Read from stdin. */ nitems = fread(buffer, 1, nitems, stdin); if(ferror(stdin)) { /* Show error only once. */ if(sip->config) { warnf(sip->config, "stdin: %s\n", strerror(errno)); sip->config = NULL; } return CURL_READFUNC_ABORT; } } sip->curpos += curlx_uztoso(nitems); } return nitems; } int tool_mime_stdin_seek(void *instream, curl_off_t offset, int whence) { tool_mime *sip = (tool_mime *) instream; switch(whence) { case SEEK_CUR: offset += sip->curpos; break; case SEEK_END: offset += sip->size; break; } if(offset < 0) return CURL_SEEKFUNC_CANTSEEK; if(!sip->data) { if(fseek(stdin, (long) (offset + sip->origin), SEEK_SET)) return CURL_SEEKFUNC_CANTSEEK; } sip->curpos = offset; return CURL_SEEKFUNC_OK; } /* Translate an internal mime tree into a libcurl mime tree. */ static CURLcode tool2curlparts(CURL *curl, tool_mime *m, curl_mime *mime) { CURLcode ret = CURLE_OK; curl_mimepart *part = NULL; curl_mime *submime = NULL; const char *filename = NULL; if(m) { ret = tool2curlparts(curl, m->prev, mime); if(!ret) { part = curl_mime_addpart(mime); if(!part) ret = CURLE_OUT_OF_MEMORY; } if(!ret) { filename = m->filename; switch(m->kind) { case TOOLMIME_PARTS: ret = tool2curlmime(curl, m, &submime); if(!ret) { ret = curl_mime_subparts(part, submime); if(ret) curl_mime_free(submime); } break; case TOOLMIME_DATA: #ifdef CURL_DOES_CONVERSIONS /* Our data is always textual: convert it to ASCII. */ { size_t size = strlen(m->data); char *cp = malloc(size + 1); if(!cp) ret = CURLE_OUT_OF_MEMORY; else { memcpy(cp, m->data, size + 1); ret = convert_to_network(cp, size); if(!ret) ret = curl_mime_data(part, cp, CURL_ZERO_TERMINATED); free(cp); } } #else ret = curl_mime_data(part, m->data, CURL_ZERO_TERMINATED); #endif break; case TOOLMIME_FILE: case TOOLMIME_FILEDATA: ret = curl_mime_filedata(part, m->data); if(!ret && m->kind == TOOLMIME_FILEDATA && !filename) ret = curl_mime_filename(part, NULL); break; case TOOLMIME_STDIN: if(!filename) filename = "-"; /* FALLTHROUGH */ case TOOLMIME_STDINDATA: ret = curl_mime_data_cb(part, m->size, (curl_read_callback) tool_mime_stdin_read, (curl_seek_callback) tool_mime_stdin_seek, NULL, m); break; default: /* Other cases not possible in this context. */ break; } } if(!ret && filename) ret = curl_mime_filename(part, filename); if(!ret) ret = curl_mime_type(part, m->type); if(!ret) ret = curl_mime_headers(part, m->headers, 0); if(!ret) ret = curl_mime_encoder(part, m->encoder); if(!ret) ret = curl_mime_name(part, m->name); } return ret; } CURLcode tool2curlmime(CURL *curl, tool_mime *m, curl_mime **mime) { CURLcode ret = CURLE_OK; *mime = curl_mime_init(curl); if(!*mime) ret = CURLE_OUT_OF_MEMORY; else ret = tool2curlparts(curl, m->subparts, *mime); if(ret) { curl_mime_free(*mime); *mime = NULL; } return ret; } /* * helper function to get a word from form param * after call get_parm_word, str either point to string end * or point to any of end chars. */ static char *get_param_word(char **str, char **end_pos, char endchar) |
︙ | ︙ | |||
374 375 376 377 378 379 380 | curl_slist_free_all(headers); } *str = p; return sep & 0xFF; } | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < > > > | 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 | curl_slist_free_all(headers); } *str = p; return sep & 0xFF; } /*************************************************************************** * * formparse() * * Reads a 'name=value' parameter and builds the appropriate linked list. * * If the value is of the form '<filename', field data is read from the * given file. * Specify files to upload with 'name=@filename', or 'name=@"filename"' * in case the filename contain ',' or ';'. Supports specified * given Content-Type of the files. Such as ';type=<content-type>'. * * If literal_value is set, any initial '@' or '<' in the value string * loses its special meaning, as does any embedded ';type='. * |
︙ | ︙ | |||
535 536 537 538 539 540 541 | * 'name=@filename;filename=/dev/null' or quote the faked filename like: * 'name=@filename;filename="play, play, and play.txt"' * * If filename/path contains ',' or ';', it must be quoted by double-quotes, * else curl will fail to figure out the correct filename. if the filename * tobe quoted contains '"' or '\', '"' and '\' must be escaped by backslash. * | | < | < > > > > > > > > > > > > > > | | | | | < < < < | | < < < < < < < < < < < < < | < < < < < < < < < < < < < < | | < | < < < | < < < | < | | | | | < < | | < | < < < < | | < | < < | < < | < < < < | | < | | < < < < < | > | < | | < < < > | < | < | | < | | < < | < < < | < < < < < < | < < < < < < < < | < < < < < < < < < < < < < < < < | > > | | | < < | < | > | < | | < > | > > > > | < | < < < < < | < < < < < < < | < < < < | | < | < < < < | < < < < | < < < < | < < < < | | 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 | * 'name=@filename;filename=/dev/null' or quote the faked filename like: * 'name=@filename;filename="play, play, and play.txt"' * * If filename/path contains ',' or ';', it must be quoted by double-quotes, * else curl will fail to figure out the correct filename. if the filename * tobe quoted contains '"' or '\', '"' and '\' must be escaped by backslash. * ***************************************************************************/ /* Convenience macros for null pointer check. */ #define NULL_CHECK(ptr, init, retcode) { \ (ptr) = (init); \ if(!(ptr)) { \ warnf(config->global, "out of memory!\n"); \ curl_slist_free_all(headers); \ Curl_safefree(contents); \ return retcode; \ } \ } #define SET_TOOL_MIME_PTR(m, field, retcode) { \ if(field) \ NULL_CHECK((m)->field, strdup(field), retcode); \ } int formparse(struct OperationConfig *config, const char *input, tool_mime **mimeroot, tool_mime **mimecurrent, bool literal_value) { /* input MUST be a string in the format 'name=contents' and we'll build a linked list with the info */ char *name = NULL; char *contents = NULL; char *contp; char *data; char *type = NULL; char *filename = NULL; char *encoder = NULL; struct curl_slist *headers = NULL; tool_mime *part = NULL; CURLcode res; /* Allocate the main mime structure if needed. */ if(!*mimecurrent) { NULL_CHECK(*mimeroot, tool_mime_new_parts(NULL), 1); *mimecurrent = *mimeroot; } /* Make a copy we can overwrite. */ NULL_CHECK(contents, strdup(input), 2); /* Scan for the end of the name. */ contp = strchr(contents, '='); if(contp) { int sep = '\0'; if(contp > contents) name = contents; *contp++ = '\0'; if(*contp == '(' && !literal_value) { /* Starting a multipart. */ sep = get_param_part(config, '\0', &contp, &data, &type, NULL, NULL, &headers); if(sep < 0) { Curl_safefree(contents); return 3; } NULL_CHECK(part, tool_mime_new_parts(*mimecurrent), 4); *mimecurrent = part; part->headers = headers; headers = NULL; SET_TOOL_MIME_PTR(part, type, 5); } else if(!name && !strcmp(contp, ")") && !literal_value) { /* Ending a multipart. */ if(*mimecurrent == *mimeroot) { warnf(config->global, "no multipart to terminate!\n"); Curl_safefree(contents); return 6; } *mimecurrent = (*mimecurrent)->parent; } else if('@' == contp[0] && !literal_value) { /* we use the @-letter to indicate file name(s) */ tool_mime *subparts = NULL; do { /* since this was a file, it may have a content-type specifier at the end too, or a filename. Or both. */ ++contp; sep = get_param_part(config, ',', &contp, &data, &type, &filename, &encoder, &headers); if(sep < 0) { Curl_safefree(contents); return 7; } /* now contp point to comma or string end. If more files to come, make sure we have multiparts. */ if(!subparts) { if(sep != ',') /* If there is a single file. */ subparts = *mimecurrent; else NULL_CHECK(subparts, tool_mime_new_parts(*mimecurrent), 8); } /* Store that file in a part. */ NULL_CHECK(part, tool_mime_new_filedata(subparts, data, TRUE, &res), 9); part->headers = headers; headers = NULL; part->config = config->global; if(res == CURLE_READ_ERROR) { /* An error occurred while reading stdin: if read has started, issue the error now. Else, delay it until processed by libcurl. */ if(part->size > 0) { warnf(config->global, "error while reading standard input\n"); Curl_safefree(contents); return 10; } CONST_SAFEFREE(part->data); part->data = NULL; part->size = -1; res = CURLE_OK; } SET_TOOL_MIME_PTR(part, filename, 11); SET_TOOL_MIME_PTR(part, type, 12); SET_TOOL_MIME_PTR(part, encoder, 13); /* *contp could be '\0', so we just check with the delimiter */ } while(sep); /* loop if there's another file name */ part = (*mimecurrent)->subparts; /* Set name on group. */ } else { if(*contp == '<' && !literal_value) { ++contp; sep = get_param_part(config, '\0', &contp, &data, &type, NULL, &encoder, &headers); if(sep < 0) { Curl_safefree(contents); return 14; } NULL_CHECK(part, tool_mime_new_filedata(*mimecurrent, data, FALSE, &res), 15); part->headers = headers; headers = NULL; part->config = config->global; if(res == CURLE_READ_ERROR) { /* An error occurred while reading stdin: if read has started, issue the error now. Else, delay it until processed by libcurl. */ if(part->size > 0) { warnf(config->global, "error while reading standard input\n"); Curl_safefree(contents); return 16; } CONST_SAFEFREE(part->data); part->data = NULL; part->size = -1; res = CURLE_OK; } } else { if(literal_value) data = contp; else { sep = get_param_part(config, '\0', &contp, &data, &type, &filename, &encoder, &headers); if(sep < 0) { Curl_safefree(contents); return 17; } } NULL_CHECK(part, tool_mime_new_data(*mimecurrent, data), 18); part->headers = headers; headers = NULL; } SET_TOOL_MIME_PTR(part, filename, 19); SET_TOOL_MIME_PTR(part, type, 20); SET_TOOL_MIME_PTR(part, encoder, 21); if(sep) { *contp = (char) sep; warnf(config->global, "garbage at end of field specification: %s\n", contp); } } /* Set part name. */ SET_TOOL_MIME_PTR(part, name, 22); } else { warnf(config->global, "Illegally formatted input field!\n"); Curl_safefree(contents); return 23; } Curl_safefree(contents); return 0; } |
Changes to jni/curl/src/tool_formparse.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_FORMPARSE_H #define HEADER_CURL_TOOL_FORMPARSE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | #ifndef HEADER_CURL_TOOL_FORMPARSE_H #define HEADER_CURL_TOOL_FORMPARSE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "tool_setup.h" /* Private structure for mime/parts. */ typedef enum { TOOLMIME_NONE = 0, TOOLMIME_PARTS, TOOLMIME_DATA, TOOLMIME_FILE, TOOLMIME_FILEDATA, TOOLMIME_STDIN, TOOLMIME_STDINDATA } toolmimekind; typedef struct tool_mime tool_mime; struct tool_mime { /* Structural fields. */ toolmimekind kind; /* Part kind. */ tool_mime *parent; /* Parent item. */ tool_mime *prev; /* Previous sibling (reverse order link). */ /* Common fields. */ const char *data; /* Actual data or data filename. */ const char *name; /* Part name. */ const char *filename; /* Part's filename. */ const char *type; /* Part's mime type. */ const char *encoder; /* Part's requested encoding. */ struct curl_slist *headers; /* User-defined headers. */ /* TOOLMIME_PARTS fields. */ tool_mime *subparts; /* Part's subparts. */ /* TOOLMIME_STDIN/TOOLMIME_STDINDATA fields. */ curl_off_t origin; /* Stdin read origin offset. */ curl_off_t size; /* Stdin data size. */ curl_off_t curpos; /* Stdin current read position. */ struct GlobalConfig *config; /* For access from callback. */ }; size_t tool_mime_stdin_read(char *buffer, size_t size, size_t nitems, void *arg); int tool_mime_stdin_seek(void *instream, curl_off_t offset, int whence); int formparse(struct OperationConfig *config, const char *input, tool_mime **mimeroot, tool_mime **mimecurrent, bool literal_value); CURLcode tool2curlmime(CURL *curl, tool_mime *m, curl_mime **mime); void tool_mime_free(tool_mime *mime); #endif /* HEADER_CURL_TOOL_FORMPARSE_H */ |
Changes to jni/curl/src/tool_getparam.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
210 211 212 213 214 215 216 217 218 219 220 221 222 223 | {"2", "sslv2", ARG_NONE}, {"3", "sslv3", ARG_NONE}, {"4", "ipv4", ARG_NONE}, {"6", "ipv6", ARG_NONE}, {"a", "append", ARG_BOOL}, {"A", "user-agent", ARG_STRING}, {"b", "cookie", ARG_STRING}, {"B", "use-ascii", ARG_BOOL}, {"c", "cookie-jar", ARG_STRING}, {"C", "continue-at", ARG_STRING}, {"d", "data", ARG_STRING}, {"dr", "data-raw", ARG_STRING}, {"da", "data-ascii", ARG_STRING}, {"db", "data-binary", ARG_STRING}, | > | 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 | {"2", "sslv2", ARG_NONE}, {"3", "sslv3", ARG_NONE}, {"4", "ipv4", ARG_NONE}, {"6", "ipv6", ARG_NONE}, {"a", "append", ARG_BOOL}, {"A", "user-agent", ARG_STRING}, {"b", "cookie", ARG_STRING}, {"ba", "alt-svc", ARG_STRING}, {"B", "use-ascii", ARG_BOOL}, {"c", "cookie-jar", ARG_STRING}, {"C", "continue-at", ARG_STRING}, {"d", "data", ARG_STRING}, {"dr", "data-raw", ARG_STRING}, {"da", "data-ascii", ARG_STRING}, {"db", "data-binary", ARG_STRING}, |
︙ | ︙ | |||
1240 1241 1242 1243 1244 1245 1246 | /* This makes the FTP sessions use APPE instead of STOR */ config->ftp_append = toggle; break; case 'A': /* This specifies the User-Agent name */ GetStr(&config->useragent, nextarg); break; | > > > > > | | | | | | | | | | | > | 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 | /* This makes the FTP sessions use APPE instead of STOR */ config->ftp_append = toggle; break; case 'A': /* This specifies the User-Agent name */ GetStr(&config->useragent, nextarg); break; case 'b': switch(subletter) { case 'a': /* --alt-svc */ GetStr(&config->altsvc, nextarg); break; default: /* --cookie string coming up: */ if(nextarg[0] == '@') { nextarg++; } else if(strchr(nextarg, '=')) { /* A cookie string must have a =-letter */ GetStr(&config->cookie, nextarg); break; } /* We have a cookie file to read from! */ GetStr(&config->cookiefile, nextarg); } break; case 'B': /* use ASCII/text when transferring */ config->use_ascii = toggle; break; case 'c': /* get the file name to dump all cookies in */ |
︙ | ︙ | |||
1687 1688 1689 1690 1691 1692 1693 | } break; case 'F': /* "form data" simulation, this is a little advanced so lets do our best to sort this out slowly and carefully */ if(formparse(config, nextarg, | | | 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 | } break; case 'F': /* "form data" simulation, this is a little advanced so lets do our best to sort this out slowly and carefully */ if(formparse(config, nextarg, &config->mimeroot, &config->mimecurrent, (subletter == 's')?TRUE:FALSE)) /* 's' is literal string */ return PARAM_BAD_USE; if(SetHTTPrequest(config, HTTPREQ_MIMEPOST, &config->httpreq)) return PARAM_BAD_USE; break; |
︙ | ︙ |
Changes to jni/curl/src/tool_getpass.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "tool_setup.h" #if defined(__AMIGA__) && !defined(__amigaos4__) # undef HAVE_TERMIOS_H #endif #ifndef HAVE_GETPASS_R /* this file is only for systems without getpass_r() */ #ifdef HAVE_FCNTL_H # include <fcntl.h> #endif |
︙ | ︙ |
Changes to jni/curl/src/tool_help.c.
︙ | ︙ | |||
44 45 46 47 48 49 50 51 52 53 54 55 56 57 | const char *opt; const char *desc; }; static const struct helptxt helptext[] = { {" --abstract-unix-socket <path>", "Connect via abstract Unix domain socket"}, {" --anyauth", "Pick any authentication method"}, {"-a, --append", "Append to target file when uploading"}, {" --basic", "Use HTTP Basic Authentication"}, {" --cacert <file>", | > > | 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | const char *opt; const char *desc; }; static const struct helptxt helptext[] = { {" --abstract-unix-socket <path>", "Connect via abstract Unix domain socket"}, {" --alt-svc <file name>", "Enable alt-svc with this cache file"}, {" --anyauth", "Pick any authentication method"}, {"-a, --append", "Append to target file when uploading"}, {" --basic", "Use HTTP Basic Authentication"}, {" --cacert <file>", |
︙ | ︙ | |||
74 75 76 77 78 79 80 | "Read config from a file"}, {" --connect-timeout <seconds>", "Maximum time allowed for connection"}, {" --connect-to <HOST1:PORT1:HOST2:PORT2>", "Connect to host"}, {"-C, --continue-at <offset>", "Resumed transfer offset"}, | | | 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | "Read config from a file"}, {" --connect-timeout <seconds>", "Maximum time allowed for connection"}, {" --connect-to <HOST1:PORT1:HOST2:PORT2>", "Connect to host"}, {"-C, --continue-at <offset>", "Resumed transfer offset"}, {"-b, --cookie <data|filename>", "Send cookies from string/file"}, {"-c, --cookie-jar <filename>", "Write cookies to <filename> after operation"}, {" --create-dirs", "Create necessary local directory hierarchy"}, {" --crlf", "Convert LF to CRLF in upload"}, |
︙ | ︙ | |||
521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 | {"CharConv", CURL_VERSION_CONV}, {"TLS-SRP", CURL_VERSION_TLSAUTH_SRP}, {"HTTP2", CURL_VERSION_HTTP2}, {"UnixSockets", CURL_VERSION_UNIX_SOCKETS}, {"HTTPS-proxy", CURL_VERSION_HTTPS_PROXY}, {"MultiSSL", CURL_VERSION_MULTI_SSL}, {"PSL", CURL_VERSION_PSL}, }; void tool_help(void) { int i; puts("Usage: curl [options...] <url>"); for(i = 0; helptext[i].opt; i++) { printf(" %-19s %s\n", helptext[i].opt, helptext[i].desc); #ifdef PRINT_LINES_PAUSE if(i && ((i % PRINT_LINES_PAUSE) == 0)) tool_pressanykey(); #endif } } void tool_version_info(void) { const char *const *proto; printf(CURL_ID "%s\n", curl_version()); #ifdef CURL_PATCHSTAMP printf("Release-Date: %s, security patched: %s\n", LIBCURL_TIMESTAMP, CURL_PATCHSTAMP); #else printf("Release-Date: %s\n", LIBCURL_TIMESTAMP); #endif if(curlinfo->protocols) { printf("Protocols: "); for(proto = curlinfo->protocols; *proto; ++proto) { printf("%s ", *proto); } puts(""); /* newline */ } if(curlinfo->features) { unsigned int i; | > > > > > > > > > > > > > > > > > > | | | > > > | 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 | {"CharConv", CURL_VERSION_CONV}, {"TLS-SRP", CURL_VERSION_TLSAUTH_SRP}, {"HTTP2", CURL_VERSION_HTTP2}, {"UnixSockets", CURL_VERSION_UNIX_SOCKETS}, {"HTTPS-proxy", CURL_VERSION_HTTPS_PROXY}, {"MultiSSL", CURL_VERSION_MULTI_SSL}, {"PSL", CURL_VERSION_PSL}, {"alt-svc", CURL_VERSION_ALTSVC}, }; void tool_help(void) { int i; puts("Usage: curl [options...] <url>"); for(i = 0; helptext[i].opt; i++) { printf(" %-19s %s\n", helptext[i].opt, helptext[i].desc); #ifdef PRINT_LINES_PAUSE if(i && ((i % PRINT_LINES_PAUSE) == 0)) tool_pressanykey(); #endif } } static int featcomp(const void *p1, const void *p2) { /* The arguments to this function are "pointers to pointers to char", but the comparison arguments are "pointers to char", hence the following cast plus dereference */ #ifdef HAVE_STRCASECMP return strcasecmp(* (char * const *) p1, * (char * const *) p2); #elif defined(HAVE_STRCMPI) return strcmpi(* (char * const *) p1, * (char * const *) p2); #else return strcmp(* (char * const *) p1, * (char * const *) p2); #endif } void tool_version_info(void) { const char *const *proto; printf(CURL_ID "%s\n", curl_version()); #ifdef CURL_PATCHSTAMP printf("Release-Date: %s, security patched: %s\n", LIBCURL_TIMESTAMP, CURL_PATCHSTAMP); #else printf("Release-Date: %s\n", LIBCURL_TIMESTAMP); #endif if(curlinfo->protocols) { printf("Protocols: "); for(proto = curlinfo->protocols; *proto; ++proto) { printf("%s ", *proto); } puts(""); /* newline */ } if(curlinfo->features) { char *featp[ sizeof(feats) / sizeof(feats[0]) + 1]; size_t numfeat = 0; unsigned int i; printf("Features:"); for(i = 0; i < sizeof(feats)/sizeof(feats[0]); i++) { if(curlinfo->features & feats[i].bitmask) featp[numfeat++] = (char *)feats[i].name; } #ifdef USE_METALINK featp[numfeat++] = (char *)"Metalink"; #endif qsort(&featp[0], numfeat, sizeof(char *), featcomp); for(i = 0; i< numfeat; i++) printf(" %s", featp[i]); puts(""); /* newline */ } } void tool_list_engines(CURL *curl) { struct curl_slist *engines = NULL; |
︙ | ︙ |
Changes to jni/curl/src/tool_hugehelp.c.
more than 10,000 changes
Changes to jni/curl/src/tool_main.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
108 109 110 111 112 113 114 | if(env) { /* use the value as file name */ char fname[CURL_MT_LOGFNAME_BUFSIZE]; if(strlen(env) >= CURL_MT_LOGFNAME_BUFSIZE) env[CURL_MT_LOGFNAME_BUFSIZE-1] = '\0'; strcpy(fname, env); curl_free(env); | | | | 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | if(env) { /* use the value as file name */ char fname[CURL_MT_LOGFNAME_BUFSIZE]; if(strlen(env) >= CURL_MT_LOGFNAME_BUFSIZE) env[CURL_MT_LOGFNAME_BUFSIZE-1] = '\0'; strcpy(fname, env); curl_free(env); curl_dbg_memdebug(fname); /* this weird stuff here is to make curl_free() get called before curl_memdebug() as otherwise memory tracking will log a free() without an alloc! */ } /* if CURL_MEMLIMIT is set, this enables fail-on-alloc-number-N feature */ env = curlx_getenv("CURL_MEMLIMIT"); if(env) { char *endptr; long num = strtol(env, &endptr, 10); if((endptr != env) && (endptr == env + strlen(env)) && (num > 0)) curl_dbg_memlimit(num); curl_free(env); } } #else # define memory_tracking_init() Curl_nop_stmt #endif |
︙ | ︙ |
Changes to jni/curl/src/tool_operate.c.
︙ | ︙ | |||
28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #ifdef HAVE_LOCALE_H # include <locale.h> #endif #ifdef __VMS # include <fabdef.h> #endif #include "strcase.h" #define ENABLE_CURLX_PRINTF /* use our own printf() functions */ #include "curlx.h" | > > > > | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #ifdef HAVE_LOCALE_H # include <locale.h> #endif #ifdef __VMS # include <fabdef.h> #endif #ifdef __AMIGA__ # include <proto/dos.h> #endif #include "strcase.h" #define ENABLE_CURLX_PRINTF /* use our own printf() functions */ #include "curlx.h" |
︙ | ︙ | |||
941 942 943 944 945 946 947 948 949 950 951 952 953 954 | case HTTPREQ_SIMPLEPOST: my_setopt_str(curl, CURLOPT_POSTFIELDS, config->postfields); my_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, config->postfieldsize); break; case HTTPREQ_MIMEPOST: my_setopt_mimepost(curl, CURLOPT_MIMEPOST, config->mimepost); break; default: break; } /* new in libcurl 7.10.6 (default is Basic) */ | > > > | 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 | case HTTPREQ_SIMPLEPOST: my_setopt_str(curl, CURLOPT_POSTFIELDS, config->postfields); my_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, config->postfieldsize); break; case HTTPREQ_MIMEPOST: result = tool2curlmime(curl, config->mimeroot, &config->mimepost); if(result) goto show_error; my_setopt_mimepost(curl, CURLOPT_MIMEPOST, config->mimepost); break; default: break; } /* new in libcurl 7.10.6 (default is Basic) */ |
︙ | ︙ | |||
1002 1003 1004 1005 1006 1007 1008 | if(config->encoding) my_setopt_str(curl, CURLOPT_ACCEPT_ENCODING, ""); /* new in libcurl 7.21.6 */ if(config->tr_encoding) my_setopt(curl, CURLOPT_TRANSFER_ENCODING, 1L); /* new in libcurl 7.64.0 */ | | > | 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 | if(config->encoding) my_setopt_str(curl, CURLOPT_ACCEPT_ENCODING, ""); /* new in libcurl 7.21.6 */ if(config->tr_encoding) my_setopt(curl, CURLOPT_TRANSFER_ENCODING, 1L); /* new in libcurl 7.64.0 */ my_setopt(curl, CURLOPT_HTTP09_ALLOWED, config->http09_allowed ? 1L : 0L); } /* (built_in_protos & CURLPROTO_HTTP) */ my_setopt_str(curl, CURLOPT_FTPPORT, config->ftpport); my_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, config->low_speed_limit); my_setopt(curl, CURLOPT_LOW_SPEED_TIME, config->low_speed_time); |
︙ | ︙ | |||
1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 | /* new in 7.60.0 */ if(config->haproxy_protocol) my_setopt(curl, CURLOPT_HAPROXYPROTOCOL, 1L); if(config->disallow_username_in_url) my_setopt(curl, CURLOPT_DISALLOW_USERNAME_IN_URL, 1L); /* initialize retry vars for loop below */ retry_sleep_default = (config->retry_delay) ? config->retry_delay*1000L : RETRY_SLEEP_DEFAULT; /* ms */ retry_numretries = config->req_retry; retry_sleep = retry_sleep_default; /* ms */ | > > > > > > | 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 | /* new in 7.60.0 */ if(config->haproxy_protocol) my_setopt(curl, CURLOPT_HAPROXYPROTOCOL, 1L); if(config->disallow_username_in_url) my_setopt(curl, CURLOPT_DISALLOW_USERNAME_IN_URL, 1L); #ifdef USE_ALTSVC /* only if explicitly enabled in configure */ if(config->altsvc) my_setopt_str(curl, CURLOPT_ALTSVC, config->altsvc); #endif /* initialize retry vars for loop below */ retry_sleep_default = (config->retry_delay) ? config->retry_delay*1000L : RETRY_SLEEP_DEFAULT; /* ms */ retry_numretries = config->req_retry; retry_sleep = retry_sleep_default; /* ms */ |
︙ | ︙ | |||
1852 1853 1854 1855 1856 1857 1858 | fprintf(global->errors, "(%d) Failed writing body\n", result); } } #ifdef __AMIGA__ if(!result && outs.s_isreg && outs.filename) { /* Set the url (up to 80 chars) as comment for the file */ | | | | | 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 | fprintf(global->errors, "(%d) Failed writing body\n", result); } } #ifdef __AMIGA__ if(!result && outs.s_isreg && outs.filename) { /* Set the url (up to 80 chars) as comment for the file */ if(strlen(urlnode->url) > 78) urlnode->url[79] = '\0'; SetComment(outs.filename, urlnode->url); } #endif /* File time can only be set _after_ the file has been closed */ if(!result && config->remote_time && outs.s_isreg && outs.filename) { /* Ask libcurl if we got a remote file time */ curl_off_t filetime = -1; |
︙ | ︙ |
Changes to jni/curl/src/tool_setopt.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
28 29 30 31 32 33 34 | #include "curlx.h" #include "tool_cfgable.h" #include "tool_easysrc.h" #include "tool_setopt.h" #include "tool_convert.h" | < | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #include "curlx.h" #include "tool_cfgable.h" #include "tool_easysrc.h" #include "tool_setopt.h" #include "tool_convert.h" #include "memdebug.h" /* keep this as LAST include */ /* Lookup tables for converting setopt values back to symbols */ /* For enums, values may be in any order. */ /* For bit masks, put combinations first, then single bits, */ /* and finally any "NONE" value. */ |
︙ | ︙ | |||
182 183 184 185 186 187 188 189 190 191 192 193 194 195 | if(ret) \ goto nomem; \ } WHILE_FALSE #define ADDF(args) do { \ ret = easysrc_addf args; \ if(ret) \ goto nomem; \ } WHILE_FALSE #define DECL0(s) ADD((&easysrc_decl, s)) #define DECL1(f,a) ADDF((&easysrc_decl, f,a)) #define DATA0(s) ADD((&easysrc_data, s)) #define DATA1(f,a) ADDF((&easysrc_data, f,a)) | > > > > > > | 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 | if(ret) \ goto nomem; \ } WHILE_FALSE #define ADDF(args) do { \ ret = easysrc_addf args; \ if(ret) \ goto nomem; \ } WHILE_FALSE #define NULL_CHECK(p) do { \ if(!p) { \ ret = CURLE_OUT_OF_MEMORY; \ goto nomem; \ } \ } WHILE_FALSE #define DECL0(s) ADD((&easysrc_decl, s)) #define DECL1(f,a) ADDF((&easysrc_decl, f,a)) #define DATA0(s) ADD((&easysrc_data, s)) #define DATA1(f,a) ADDF((&easysrc_data, f,a)) |
︙ | ︙ | |||
402 403 404 405 406 407 408 | } nomem: Curl_safefree(escaped); return ret; } | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | > > > < < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < | < < < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < < < < < < | < < < < < < < < < | < < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | > | < < | > | | 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 | } nomem: Curl_safefree(escaped); return ret; } static CURLcode libcurl_generate_mime(CURL *curl, struct GlobalConfig *config, tool_mime *toolmime, int *mimeno); /* Forward. */ /* Wrapper to generate source code for a mime part. */ static CURLcode libcurl_generate_mime_part(CURL *curl, struct GlobalConfig *config, tool_mime *part, int mimeno) { CURLcode ret = CURLE_OK; int submimeno = 0; char *escaped = NULL; const char *data = NULL; const char *filename = part->filename; /* Parts are linked in reverse order. */ if(part->prev) { ret = libcurl_generate_mime_part(curl, config, part->prev, mimeno); if(ret) return ret; } /* Create the part. */ CODE2("part%d = curl_mime_addpart(mime%d);", mimeno, mimeno); switch(part->kind) { case TOOLMIME_PARTS: ret = libcurl_generate_mime(curl, config, part, &submimeno); if(!ret) { CODE2("curl_mime_subparts(part%d, mime%d);", mimeno, submimeno); CODE1("mime%d = NULL;", submimeno); /* Avoid freeing in CLEAN. */ } break; case TOOLMIME_DATA: #ifdef CURL_DOES_CONVERSIONS /* Data will be set in ASCII, thus issue a comment with clear text. */ escaped = c_escape(part->data, CURL_ZERO_TERMINATED); NULL_CHECK(escaped); CODE1("/* \"%s\" */", escaped); /* Our data is always textual: convert it to ASCII. */ { size_t size = strlen(part->data); char *cp = malloc(size + 1); NULL_CHECK(cp); memcpy(cp, part->data, size + 1); ret = convert_to_network(cp, size); data = cp; } #else data = part->data; #endif if(!ret) { Curl_safefree(escaped); escaped = c_escape(data, CURL_ZERO_TERMINATED); NULL_CHECK(escaped); CODE2("curl_mime_data(part%d, \"%s\", CURL_ZERO_TERMINATED);", mimeno, escaped); } break; case TOOLMIME_FILE: case TOOLMIME_FILEDATA: escaped = c_escape(part->data, CURL_ZERO_TERMINATED); NULL_CHECK(escaped); CODE2("curl_mime_filedata(part%d, \"%s\");", mimeno, escaped); if(part->kind == TOOLMIME_FILEDATA && !filename) { CODE1("curl_mime_filename(part%d, NULL);", mimeno); } break; case TOOLMIME_STDIN: if(!filename) filename = "-"; /* FALLTHROUGH */ case TOOLMIME_STDINDATA: /* Can only be reading stdin in the current context. */ CODE1("curl_mime_data_cb(part%d, -1, (curl_read_callback) fread, \\", mimeno); CODE0(" (curl_seek_callback) fseek, NULL, stdin);"); break; default: /* Other cases not possible in this context. */ break; } if(!ret && part->encoder) { Curl_safefree(escaped); escaped = c_escape(part->encoder, CURL_ZERO_TERMINATED); NULL_CHECK(escaped); CODE2("curl_mime_encoder(part%d, \"%s\");", mimeno, escaped); } if(!ret && filename) { Curl_safefree(escaped); escaped = c_escape(filename, CURL_ZERO_TERMINATED); NULL_CHECK(escaped); CODE2("curl_mime_filename(part%d, \"%s\");", mimeno, escaped); } if(!ret && part->name) { Curl_safefree(escaped); escaped = c_escape(part->name, CURL_ZERO_TERMINATED); NULL_CHECK(escaped); CODE2("curl_mime_name(part%d, \"%s\");", mimeno, escaped); } if(!ret && part->type) { Curl_safefree(escaped); escaped = c_escape(part->type, CURL_ZERO_TERMINATED); NULL_CHECK(escaped); CODE2("curl_mime_type(part%d, \"%s\");", mimeno, escaped); } if(!ret && part->headers) { int slistno; ret = libcurl_generate_slist(part->headers, &slistno); if(!ret) { CODE2("curl_mime_headers(part%d, slist%d, 1);", mimeno, slistno); CODE1("slist%d = NULL;", slistno); /* Prevent CLEANing. */ } } nomem: #ifdef CURL_DOES_CONVERSIONS if(data) free((char *) data); #endif Curl_safefree(escaped); return ret; } /* Wrapper to generate source code for a mime structure. */ static CURLcode libcurl_generate_mime(CURL *curl, struct GlobalConfig *config, tool_mime *toolmime, int *mimeno) { CURLcode ret = CURLE_OK; /* May need several mime variables, so invent name. */ *mimeno = ++easysrc_mime_count; DECL1("curl_mime *mime%d;", *mimeno); DATA1("mime%d = NULL;", *mimeno); CODE1("mime%d = curl_mime_init(hnd);", *mimeno); CLEAN1("curl_mime_free(mime%d);", *mimeno); CLEAN1("mime%d = NULL;", *mimeno); if(toolmime->subparts) { DECL1("curl_mimepart *part%d;", *mimeno); ret = libcurl_generate_mime_part(curl, config, toolmime->subparts, *mimeno); } nomem: return ret; } /* setopt wrapper for CURLOPT_MIMEPOST */ CURLcode tool_setopt_mimepost(CURL *curl, struct GlobalConfig *config, const char *name, CURLoption tag, curl_mime *mimepost) { CURLcode ret = curl_easy_setopt(curl, tag, mimepost); int mimeno = 0; if(!ret && config->libcurl) { ret = libcurl_generate_mime(curl, config, config->current->mimeroot, &mimeno); if(!ret) CODE2("curl_easy_setopt(hnd, %s, mime%d);", name, mimeno); } nomem: return ret; } /* setopt wrapper for curl_slist options */ |
︙ | ︙ | |||
681 682 683 684 685 686 687 | /* we only use this for real if --libcurl was used */ if(remark) REM2("%s set to a %s", name, value); else { if(escape) { escaped = c_escape(value, CURL_ZERO_TERMINATED); | | < < < | 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 | /* we only use this for real if --libcurl was used */ if(remark) REM2("%s set to a %s", name, value); else { if(escape) { escaped = c_escape(value, CURL_ZERO_TERMINATED); NULL_CHECK(escaped); CODE2("curl_easy_setopt(hnd, %s, \"%s\");", name, escaped); } else CODE2("curl_easy_setopt(hnd, %s, %s);", name, value); } } nomem: Curl_safefree(escaped); return ret; } #endif /* CURL_DISABLE_LIBCURL_OPTION */ |
Changes to jni/curl/src/tool_setopt.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_SETOPT_H #define HEADER_CURL_TOOL_SETOPT_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #ifndef HEADER_CURL_TOOL_SETOPT_H #define HEADER_CURL_TOOL_SETOPT_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "tool_setup.h" #include "tool_formparse.h" /* * Macros used in operate() */ #define SETOPT_CHECK(v) do { \ result = (v); \ |
︙ | ︙ |
Changes to jni/curl/src/tool_urlglob.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
599 600 601 602 603 604 605 | } CURLcode glob_match_url(char **result, char *filename, URLGlob *glob) { char *target; size_t allocsize; char numbuf[18]; | | | 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 | } CURLcode glob_match_url(char **result, char *filename, URLGlob *glob) { char *target; size_t allocsize; char numbuf[18]; char *appendthis = (char *)""; size_t appendlen = 0; size_t stringlen = 0; *result = NULL; /* We cannot use the glob_buffer for storage here since the filename may * be longer than the URL we use. We allocate a good start size, then |
︙ | ︙ |
Changes to jni/curl/src/tool_version.h.
︙ | ︙ | |||
21 22 23 24 25 26 27 | * KIND, either express or implied. * ***************************************************************************/ #include <curl/curlver.h> #define CURL_NAME "curl" #define CURL_COPYRIGHT LIBCURL_COPYRIGHT | | | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | * KIND, either express or implied. * ***************************************************************************/ #include <curl/curlver.h> #define CURL_NAME "curl" #define CURL_COPYRIGHT LIBCURL_COPYRIGHT #define CURL_VERSION "7.64.1" #define CURL_VERSION_MAJOR LIBCURL_VERSION_MAJOR #define CURL_VERSION_MINOR LIBCURL_VERSION_MINOR #define CURL_VERSION_PATCH LIBCURL_VERSION_PATCH #define CURL_ID CURL_NAME " " CURL_VERSION " (" OS ") " #endif /* HEADER_CURL_TOOL_VERSION_H */ |
Changes to jni/curl/src/tool_xattr.c.
︙ | ︙ | |||
107 108 109 110 111 112 113 | freeptr = stripcredentials(&value); if(value) { #ifdef HAVE_FSETXATTR_6 err = fsetxattr(fd, mappings[i].attr, value, strlen(value), 0, 0); #elif defined(HAVE_FSETXATTR_5) err = fsetxattr(fd, mappings[i].attr, value, strlen(value), 0); #elif defined(__FreeBSD_version) | > | | | | | > | 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | freeptr = stripcredentials(&value); if(value) { #ifdef HAVE_FSETXATTR_6 err = fsetxattr(fd, mappings[i].attr, value, strlen(value), 0, 0); #elif defined(HAVE_FSETXATTR_5) err = fsetxattr(fd, mappings[i].attr, value, strlen(value), 0); #elif defined(__FreeBSD_version) { ssize_t rc = extattr_set_fd(fd, EXTATTR_NAMESPACE_USER, mappings[i].attr, value, strlen(value)); /* FreeBSD's extattr_set_fd returns the length of the extended attribute */ err = (rc < 0 ? -1 : 0); } #endif if(freeptr) curl_free(value); } } i++; } |
︙ | ︙ |
Changes to jni/curl/tests/FILEFORMAT.
︙ | ︙ | |||
245 246 247 248 249 250 251 252 253 254 255 256 257 258 | TLS-SRP TrackMemory threaded-resolver unittest unix-sockets WinSSL ld_preload as well as each protocol that curl supports. A protocol only needs to be specified if it is different from the server (useful when the server is 'none'). </features> <killserver> | > | 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 | TLS-SRP TrackMemory threaded-resolver unittest unix-sockets WinSSL ld_preload alt-svc as well as each protocol that curl supports. A protocol only needs to be specified if it is different from the server (useful when the server is 'none'). </features> <killserver> |
︙ | ︙ |
Changes to jni/curl/tests/Makefile.in.
︙ | ︙ | |||
269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ | > > | 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ |
︙ | ︙ | |||
337 338 339 340 341 342 343 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ | < > | 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ |
︙ | ︙ | |||
468 469 470 471 472 473 474 | case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ | | | | 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 | case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tests/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ |
︙ | ︙ |
Changes to jni/curl/tests/certs/Makefile.in.
︙ | ︙ | |||
248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ | > > | 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ |
︙ | ︙ | |||
316 317 318 319 320 321 322 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ | < > | 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ |
︙ | ︙ |
Changes to jni/curl/tests/certs/scripts/Makefile.in.
︙ | ︙ | |||
188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ | > > | 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ |
︙ | ︙ | |||
256 257 258 259 260 261 262 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ | < > | 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ |
︙ | ︙ |
Changes to jni/curl/tests/data/Makefile.in.
︙ | ︙ | |||
210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ | > > | 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ |
︙ | ︙ | |||
278 279 280 281 282 283 284 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ | < > | 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ |
︙ | ︙ | |||
389 390 391 392 393 394 395 | test262 test263 test264 test265 test266 test267 test268 test269 test270 \ test271 test272 test273 test274 test275 test276 test277 test278 test279 \ test280 test281 test282 test283 test284 test285 test286 test287 test288 \ test289 test290 test291 test292 test293 test294 test295 test296 test297 \ test298 test299 test300 test301 test302 test303 test304 test305 test306 \ test307 test308 test309 test310 test311 test312 test313 test314 test315 \ test316 test317 test318 test319 test320 test321 test322 test323 test324 \ | | | | 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 | test262 test263 test264 test265 test266 test267 test268 test269 test270 \ test271 test272 test273 test274 test275 test276 test277 test278 test279 \ test280 test281 test282 test283 test284 test285 test286 test287 test288 \ test289 test290 test291 test292 test293 test294 test295 test296 test297 \ test298 test299 test300 test301 test302 test303 test304 test305 test306 \ test307 test308 test309 test310 test311 test312 test313 test314 test315 \ test316 test317 test318 test319 test320 test321 test322 test323 test324 \ test325 test326 test327 test328 test329 test330 test331 \ \ test340 \ \ test350 test351 test352 test353 test354 test355 test356 \ test393 test394 test395 \ \ test400 test401 test402 test403 test404 test405 test406 test407 test408 \ test409 \ \ test500 test501 test502 test503 test504 test505 test506 test507 test508 \ test509 test510 test511 test512 test513 test514 test515 test516 test517 \ |
︙ | ︙ | |||
416 417 418 419 420 421 422 | test590 test591 test592 test593 test594 test595 test596 test597 test598 \ test599 test600 test601 test602 test603 test604 test605 test606 test607 \ test608 test609 test610 test611 test612 test613 test614 test615 test616 \ test617 test618 test619 test620 test621 test622 test623 test624 test625 \ test626 test627 test628 test629 test630 test631 test632 test633 test634 \ test635 test636 test637 test638 test639 test640 test641 test642 \ test643 test644 test645 test646 test647 test648 test649 test650 test651 \ | | | 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 | test590 test591 test592 test593 test594 test595 test596 test597 test598 \ test599 test600 test601 test602 test603 test604 test605 test606 test607 \ test608 test609 test610 test611 test612 test613 test614 test615 test616 \ test617 test618 test619 test620 test621 test622 test623 test624 test625 \ test626 test627 test628 test629 test630 test631 test632 test633 test634 \ test635 test636 test637 test638 test639 test640 test641 test642 \ test643 test644 test645 test646 test647 test648 test649 test650 test651 \ test652 test653 test654 test655 test656 test658 test659 \ \ test700 test701 test702 test703 test704 test705 test706 test707 test708 \ test709 test710 test711 test712 test713 test714 test715 \ \ test800 test801 test802 test803 test804 test805 test806 test807 test808 \ test809 test810 test811 test812 test813 test814 test815 test816 test817 \ test818 test819 test820 test821 test822 test823 test824 test825 test826 \ |
︙ | ︙ | |||
507 508 509 510 511 512 513 | test1452 test1453 test1454 test1455 test1456 test1457 test1458\ test1500 test1501 test1502 test1503 test1504 test1505 test1506 test1507 \ test1508 test1509 test1510 test1511 test1512 test1513 test1514 test1515 \ test1516 test1517 test1518 test1519 test1520 test1521 test1522 \ \ test1525 test1526 test1527 test1528 test1529 test1530 test1531 test1532 \ test1533 test1534 test1535 test1536 test1537 test1538 \ | | | | | 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 | test1452 test1453 test1454 test1455 test1456 test1457 test1458\ test1500 test1501 test1502 test1503 test1504 test1505 test1506 test1507 \ test1508 test1509 test1510 test1511 test1512 test1513 test1514 test1515 \ test1516 test1517 test1518 test1519 test1520 test1521 test1522 \ \ test1525 test1526 test1527 test1528 test1529 test1530 test1531 test1532 \ test1533 test1534 test1535 test1536 test1537 test1538 \ test1540 test1541 \ test1550 test1551 test1552 test1553 test1554 test1555 test1556 test1557 \ test1558 test1560 test1561 test1562 \ \ test1590 test1591 test1592 \ \ test1600 test1601 test1602 test1603 test1604 test1605 test1606 test1607 \ test1608 test1609 test1620 test1621 \ \ test1650 test1651 test1652 test1653 test1654 \ \ test1700 test1701 test1702 \ \ test1800 test1801 \ \ test1900 test1901 test1902 test1903 test1904 test1905 \ \ test2000 test2001 test2002 test2003 test2004 test2005 test2006 test2007 \ test2008 test2009 test2010 test2011 test2012 test2013 test2014 test2015 \ test2016 test2017 test2018 test2019 test2020 test2021 test2022 test2023 \ test2024 test2025 test2026 test2027 test2028 test2029 test2030 test2031 \ test2032 test2033 test2034 test2035 test2036 test2037 test2038 test2039 \ test2040 test2041 test2042 test2043 test2044 test2045 test2046 test2047 \ |
︙ | ︙ | |||
554 555 556 557 558 559 560 | case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ | | | | 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 | case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/data/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tests/data/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ |
︙ | ︙ |
Changes to jni/curl/tests/data/Makefile.inc.
︙ | ︙ | |||
52 53 54 55 56 57 58 | test262 test263 test264 test265 test266 test267 test268 test269 test270 \ test271 test272 test273 test274 test275 test276 test277 test278 test279 \ test280 test281 test282 test283 test284 test285 test286 test287 test288 \ test289 test290 test291 test292 test293 test294 test295 test296 test297 \ test298 test299 test300 test301 test302 test303 test304 test305 test306 \ test307 test308 test309 test310 test311 test312 test313 test314 test315 \ test316 test317 test318 test319 test320 test321 test322 test323 test324 \ | | | | 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | test262 test263 test264 test265 test266 test267 test268 test269 test270 \ test271 test272 test273 test274 test275 test276 test277 test278 test279 \ test280 test281 test282 test283 test284 test285 test286 test287 test288 \ test289 test290 test291 test292 test293 test294 test295 test296 test297 \ test298 test299 test300 test301 test302 test303 test304 test305 test306 \ test307 test308 test309 test310 test311 test312 test313 test314 test315 \ test316 test317 test318 test319 test320 test321 test322 test323 test324 \ test325 test326 test327 test328 test329 test330 test331 \ \ test340 \ \ test350 test351 test352 test353 test354 test355 test356 \ test393 test394 test395 \ \ test400 test401 test402 test403 test404 test405 test406 test407 test408 \ test409 \ \ test500 test501 test502 test503 test504 test505 test506 test507 test508 \ test509 test510 test511 test512 test513 test514 test515 test516 test517 \ |
︙ | ︙ | |||
79 80 81 82 83 84 85 | test590 test591 test592 test593 test594 test595 test596 test597 test598 \ test599 test600 test601 test602 test603 test604 test605 test606 test607 \ test608 test609 test610 test611 test612 test613 test614 test615 test616 \ test617 test618 test619 test620 test621 test622 test623 test624 test625 \ test626 test627 test628 test629 test630 test631 test632 test633 test634 \ test635 test636 test637 test638 test639 test640 test641 test642 \ test643 test644 test645 test646 test647 test648 test649 test650 test651 \ | | | 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | test590 test591 test592 test593 test594 test595 test596 test597 test598 \ test599 test600 test601 test602 test603 test604 test605 test606 test607 \ test608 test609 test610 test611 test612 test613 test614 test615 test616 \ test617 test618 test619 test620 test621 test622 test623 test624 test625 \ test626 test627 test628 test629 test630 test631 test632 test633 test634 \ test635 test636 test637 test638 test639 test640 test641 test642 \ test643 test644 test645 test646 test647 test648 test649 test650 test651 \ test652 test653 test654 test655 test656 test658 test659 \ \ test700 test701 test702 test703 test704 test705 test706 test707 test708 \ test709 test710 test711 test712 test713 test714 test715 \ \ test800 test801 test802 test803 test804 test805 test806 test807 test808 \ test809 test810 test811 test812 test813 test814 test815 test816 test817 \ test818 test819 test820 test821 test822 test823 test824 test825 test826 \ |
︙ | ︙ | |||
170 171 172 173 174 175 176 | test1452 test1453 test1454 test1455 test1456 test1457 test1458\ test1500 test1501 test1502 test1503 test1504 test1505 test1506 test1507 \ test1508 test1509 test1510 test1511 test1512 test1513 test1514 test1515 \ test1516 test1517 test1518 test1519 test1520 test1521 test1522 \ \ test1525 test1526 test1527 test1528 test1529 test1530 test1531 test1532 \ test1533 test1534 test1535 test1536 test1537 test1538 \ | | | | | 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | test1452 test1453 test1454 test1455 test1456 test1457 test1458\ test1500 test1501 test1502 test1503 test1504 test1505 test1506 test1507 \ test1508 test1509 test1510 test1511 test1512 test1513 test1514 test1515 \ test1516 test1517 test1518 test1519 test1520 test1521 test1522 \ \ test1525 test1526 test1527 test1528 test1529 test1530 test1531 test1532 \ test1533 test1534 test1535 test1536 test1537 test1538 \ test1540 test1541 \ test1550 test1551 test1552 test1553 test1554 test1555 test1556 test1557 \ test1558 test1560 test1561 test1562 \ \ test1590 test1591 test1592 \ \ test1600 test1601 test1602 test1603 test1604 test1605 test1606 test1607 \ test1608 test1609 test1620 test1621 \ \ test1650 test1651 test1652 test1653 test1654 \ \ test1700 test1701 test1702 \ \ test1800 test1801 \ \ test1900 test1901 test1902 test1903 test1904 test1905 \ \ test2000 test2001 test2002 test2003 test2004 test2005 test2006 test2007 \ test2008 test2009 test2010 test2011 test2012 test2013 test2014 test2015 \ test2016 test2017 test2018 test2019 test2020 test2021 test2022 test2023 \ test2024 test2025 test2026 test2027 test2028 test2029 test2030 test2031 \ test2032 test2033 test2034 test2035 test2036 test2037 test2038 test2039 \ test2040 test2041 test2042 test2043 test2044 test2045 test2046 test2047 \ |
︙ | ︙ |
Changes to jni/curl/tests/data/test1026.
︙ | ︙ | |||
24 25 26 27 28 29 30 | </name> <command> --manual </command> # Search for these two sentinel lines in the manual output; if they are found, # then chances are good the entire manual is there. <postcheck> | | | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | </name> <command> --manual </command> # Search for these two sentinel lines in the manual output; if they are found, # then chances are good the entire manual is there. <postcheck> perl -e 'open(IN,$ARGV[0]); my $lines=grep(/(curl\s*-\s*transfer\sa\s*URL)|(CONTRIBUTORS)/, <IN>); exit ($lines != 2); # Let this file pass an XML syntax check: </IN>' log/stdout1026 </postcheck> </client> # # Verify data after the test has been "shot" <verify> <errorcode> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1034.
1 2 3 4 5 6 7 | <testcase> <info> <keywords> HTTP HTTP GET HTTP proxy IDN | > | 1 2 3 4 5 6 7 8 | <?xml version="1.0" encoding="ISO-8859-1"?> <testcase> <info> <keywords> HTTP HTTP GET HTTP proxy IDN |
︙ | ︙ |
Changes to jni/curl/tests/data/test1046.
︙ | ︙ | |||
36 37 38 39 40 41 42 | HTTP-IPv6 GET with numeric localhost --interface </name> <command> -g "http://%HOST6IP:%HTTP6PORT/1046" --interface ::1 </command> # --interface doesn't accept an address surrounded by [] so %CLIENT6IP is out <precheck> | | | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | HTTP-IPv6 GET with numeric localhost --interface </name> <command> -g "http://%HOST6IP:%HTTP6PORT/1046" --interface ::1 </command> # --interface doesn't accept an address surrounded by [] so %CLIENT6IP is out <precheck> perl -e "print 'Test requires default test client host address' if ( '%CLIENT6IP' ne '[::1]' );" </precheck> </client> # # Verify data after the test has been "shot" <verify> <strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1048.
︙ | ︙ | |||
44 45 46 47 48 49 50 | FTP-IPv6 dir list PASV with localhost --interface </name> <command> -g "ftp://%HOST6IP:%FTP6PORT/" --interface ::1 </command> # --interface doesn't accept an address surrounded by [] so %CLIENT6IP is out <precheck> | | | 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | FTP-IPv6 dir list PASV with localhost --interface </name> <command> -g "ftp://%HOST6IP:%FTP6PORT/" --interface ::1 </command> # --interface doesn't accept an address surrounded by [] so %CLIENT6IP is out <precheck> perl -e "print 'Test requires default test client host address' if ( '%CLIENT6IP' ne '[::1]' );" </precheck> </client> # # Verify data after the test has been "shot" <verify> <protocol> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1050.
︙ | ︙ | |||
39 40 41 42 43 44 45 | FTP-IPv6 dir list, EPRT with specified IP </name> <command> -g "ftp://%HOST6IP:%FTP6PORT/" -P ::1 </command> # --interface doesn't accept an address surrounded by [] so %CLIENT6IP is out <precheck> | | | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | FTP-IPv6 dir list, EPRT with specified IP </name> <command> -g "ftp://%HOST6IP:%FTP6PORT/" -P ::1 </command> # --interface doesn't accept an address surrounded by [] so %CLIENT6IP is out <precheck> perl -e "print 'Test requires default test client host address' if ( '%CLIENT6IP' ne '[::1]' );" </precheck> </client> # Verify data after the test has been "shot" <verify> # Strip all valid kinds of EPRT that curl can send <strippart> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1082.
︙ | ︙ | |||
31 32 33 34 35 36 37 | <name> HTTP GET with localhost --interface </name> <command> http://%HOSTIP:%HTTPPORT/1082 --interface localhost </command> <precheck> | | | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <name> HTTP GET with localhost --interface </name> <command> http://%HOSTIP:%HTTPPORT/1082 --interface localhost </command> <precheck> perl -e "print 'Test requires default test client host address' if ( '%CLIENTIP' ne '127.0.0.1' );" </precheck> </client> # # Verify data after the test has been "shot" <verify> <strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1083.
︙ | ︙ | |||
35 36 37 38 39 40 41 | <name> HTTP-IPv6 GET with ip6-localhost --interface </name> <command> -g "http://%HOST6IP:%HTTP6PORT/1083" --interface ip6-localhost </command> <precheck> | | | 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | <name> HTTP-IPv6 GET with ip6-localhost --interface </name> <command> -g "http://%HOST6IP:%HTTP6PORT/1083" --interface ip6-localhost </command> <precheck> perl -e "if ('%CLIENT6IP' ne '[::1]') {print 'Test requires default test client host address';} else {exec './server/resolve --ipv6 ip6-localhost'; print 'Cannot run precheck resolve';}" </precheck> </client> # # Verify data after the test has been "shot" <verify> <strip> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1097.
︙ | ︙ | |||
56 57 58 59 60 61 62 | </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent: curl/.* </strip> | | | > | 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent: curl/.* </strip> <protocol nonewline="yes"> CONNECT test.a.galaxy.far.far.away.1097:%HTTPPORT HTTP/1.1 Host: test.a.galaxy.far.far.away.1097:%HTTPPORT Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA= User-Agent: curl/7.19.5-CVS (i686-pc-linux-gnu) libcurl/7.19.5-CVS OpenSSL/0.9.8g zlib/1.2.3.3 c-ares/1.6.1-CVS libidn/1.12 libssh2/1.0.1_CVS Proxy-Connection: Keep-Alive POST /1097 HTTP/1.1 User-Agent: curl/7.19.5-CVS (i686-pc-linux-gnu) libcurl/7.19.5-CVS OpenSSL/0.9.8g zlib/1.2.3.3 c-ares/1.6.1-CVS libidn/1.12 libssh2/1.0.1_CVS Host: test.a.galaxy.far.far.away.1097:%HTTPPORT Accept: */* Content-Length: 11 Content-Type: application/x-www-form-urlencoded dummy=value </protocol> </verify> </testcase> |
Changes to jni/curl/tests/data/test1133.
︙ | ︙ | |||
25 26 27 28 29 30 31 | <name> HTTP RFC1867-type formposting with filename/data contains ',', ';', '"' </name> <command> http://%HOSTIP:%HTTPPORT/we/want/1133 -F "file=@\"log/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/test1133,and;.txt"' -F 'file3=@"log/test1133,and;.txt";type=m/f,"log/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' </command> # We create this file before the command is invoked! | | | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <name> HTTP RFC1867-type formposting with filename/data contains ',', ';', '"' </name> <command> http://%HOSTIP:%HTTPPORT/we/want/1133 -F "file=@\"log/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/test1133,and;.txt"' -F 'file3=@"log/test1133,and;.txt";type=m/f,"log/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' </command> # We create this file before the command is invoked! <file name="log/test1133,and;.txt"> foo bar This is a bar foo bar foo </file> </client> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1149.
|
| < > | 1 2 3 4 5 6 7 8 9 | <testcase> # based on test1010 <info> <keywords> FTP PASV LIST </keywords> </info> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1156.
︙ | ︙ | |||
63 64 65 66 67 68 69 70 | </client> # Verify data after the test has been "shot" <verify> <errorcode> 0 </errorcode> </testcase> | > | 63 64 65 66 67 68 69 70 71 | </client> # Verify data after the test has been "shot" <verify> <errorcode> 0 </errorcode> </verify> </testcase> |
Changes to jni/curl/tests/data/test1160.
1 2 3 4 5 6 7 | <testcase> <info> <keywords> HTTP HTTP GET cookies </keywords> | > | 1 2 3 4 5 6 7 8 | <?xml version="1.0" encoding="ISO-8859-1"?> <testcase> <info> <keywords> HTTP HTTP GET cookies </keywords> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1262.
|
| < > | 1 2 3 4 5 6 7 8 9 | <testcase> # similar to test 139 but with a reversed time condition <info> <keywords> FTP RETR -z </keywords> </info> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1263.
|
| < > | 1 2 3 4 5 6 7 8 9 | <testcase> # similar to test 1260 <info> <keywords> HTTP HTTP GET </keywords> </info> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1291.
1 2 | # This test case is primarily meant to verify that parsing and adding the 100K # files is a swift operation. | > < < | 1 2 3 4 5 6 7 8 9 10 | <testcase> # This test case is primarily meant to verify that parsing and adding the 100K # files is a swift operation. <info> <keywords> HTTP HTTP PUT </keywords> </info> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1307.
︙ | ︙ | |||
11 12 13 14 15 16 17 18 19 20 21 22 23 24 | # Client-side <client> <server> none </server> <features> unittest </features> <name> internal Curl_fnmatch() testing </name> <tool> unit1307 </tool> | > | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | # Client-side <client> <server> none </server> <features> unittest ftp </features> <name> internal Curl_fnmatch() testing </name> <tool> unit1307 </tool> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1404.
︙ | ︙ | |||
90 91 92 93 94 95 96 97 98 99 100 101 102 103 | # curl's default user-agent varies with version, libraries etc. s/(USERAGENT, \")[^\"]+/${1}stripped/ # CURLOPT_SSL_VERIFYPEER, SSH_KNOWNHOSTS and HTTP_VERSION vary with # configurations - just ignore them $_ = '' if /CURLOPT_SSL_VERIFYPEER/ $_ = '' if /CURLOPT_SSH_KNOWNHOSTS/ $_ = '' if /CURLOPT_HTTP_VERSION/ </stripfile> <file name="log/test1404.c" mode="text"> /********* Sample code generated by the curl command line tool ********** * All curl_easy_setopt() options are documented at: * https://curl.haxx.se/libcurl/c/curl_easy_setopt.html ************************************************************************/ #include <curl/curl.h> | > > | 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | # curl's default user-agent varies with version, libraries etc. s/(USERAGENT, \")[^\"]+/${1}stripped/ # CURLOPT_SSL_VERIFYPEER, SSH_KNOWNHOSTS and HTTP_VERSION vary with # configurations - just ignore them $_ = '' if /CURLOPT_SSL_VERIFYPEER/ $_ = '' if /CURLOPT_SSH_KNOWNHOSTS/ $_ = '' if /CURLOPT_HTTP_VERSION/ # CURL_DOES_CONVERSION generates an extra comment. $_ = '' if /\/\* "value" \*\// </stripfile> <file name="log/test1404.c" mode="text"> /********* Sample code generated by the curl command line tool ********** * All curl_easy_setopt() options are documented at: * https://curl.haxx.se/libcurl/c/curl_easy_setopt.html ************************************************************************/ #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1425.
cannot compute difference between binary files
Changes to jni/curl/tests/data/test1426.
cannot compute difference between binary files
Changes to jni/curl/tests/data/test1449.
|
| < > | 1 2 3 4 5 6 7 8 9 | <testcase> # initially based on test110 <info> <keywords> FTP PASV RETR Resume </keywords> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1455.
1 2 3 4 5 6 7 8 9 10 11 | <testcase> <info> <keywords> HTTP HTTP GET </keywords> </info> # # Server-side <reply name="1455"> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <testcase> <info> <keywords> HTTP HTTP GET </keywords> </info> # # Server-side <reply name="1455"> <data nocheck="yes"> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ETag: "21025-dc7-39462498" Accept-Ranges: bytes Content-Length: 6 |
︙ | ︙ |
Changes to jni/curl/tests/data/test1456.
1 2 3 4 5 6 7 8 9 10 11 | <testcase> <info> <keywords> HTTP HTTP GET IPv6 </keywords> </info> # # Server-side <reply> | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <testcase> <info> <keywords> HTTP HTTP GET IPv6 </keywords> </info> # # Server-side <reply> <data nocheck="yes"> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ETag: "21025-dc7-39462498" Accept-Ranges: bytes Content-Length: 6 Connection: close Content-Type: text/html Funny-head: yesyes These data aren't actually sent to the client </data> </reply> # # Client-side <client> <features> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1457.
︙ | ︙ | |||
25 26 27 28 29 30 31 | http </server> <name> Check if %{stderr} and %{stdout} switch between stdout and stderr. </name> <command> | | < | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | http </server> <name> Check if %{stderr} and %{stdout} switch between stdout and stderr. </name> <command> http://%HOSTIP:%HTTPPORT/1457 --silent --write-out 'line1%{stderr}line2%{stdout}line3' </command> </client> # Verify data <verify> <stdout nonewline="yes"> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Content-Length: 9 Connection: close Content-Type: text/plain testdata line1line3 </stdout> <stderr nonewline="yes"> line2 </stderr> <protocol> GET /1457 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* |
︙ | ︙ |
Changes to jni/curl/tests/data/test1506.
︙ | ︙ | |||
84 85 86 87 88 89 90 91 92 93 94 95 96 | </strip> <file name="log/stderr1506" mode="text"> * Connection #0 to host server1.example.com left intact * Connection #1 to host server2.example.com left intact * Connection #2 to host server3.example.com left intact * Closing connection 0 * Connection #3 to host server4.example.com left intact </file> <stripfile> $_ = '' if (($_ !~ /left intact/) && ($_ !~ /Closing connection/)) </stripfile> </verify> </testcase> | > > > > | 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | </strip> <file name="log/stderr1506" mode="text"> * Connection #0 to host server1.example.com left intact * Connection #1 to host server2.example.com left intact * Connection #2 to host server3.example.com left intact * Closing connection 0 * Connection #3 to host server4.example.com left intact * Closing connection * Closing connection * Closing connection </file> <stripfile> $_ = '' if (($_ !~ /left intact/) && ($_ !~ /Closing connection/)) s/^(\* Closing connection) [123](?=\r?\n)/$1/ </stripfile> </verify> </testcase> |
Added jni/curl/tests/data/test1541.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | <testcase> <info> <keywords> HTTP HTTP GET multi-threaded connection-sharing </keywords> </info> # Server-side <reply> </reply> # Client-side <client> <server> http </server> <tool> lib1541 </tool> <name> connection sharing using 67 parallel threads for 7 seconds </name> <command> http://%HOSTIP:%HTTPPORT/1 </command> </client> # Verify data after the test has been "shot" <verify> </verify> </testcase> |
Changes to jni/curl/tests/data/test1561.
︙ | ︙ | |||
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | <reply> <data1> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Set-Cookie: super=secret; domain=example.com; path=/1561; secure; Set-Cookie: supersuper=secret; domain=example.com; path=/1561/login/; secure; Content-Length: 7 nomnom </data1> <data2> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Set-Cookie: super=secret; domain=example.com; path=/1561; httponly; Set-Cookie: super=secret; domain=example.com; path=/1561/; httponly; Set-Cookie: super=secret; domain=example.com; path=/15; httponly; Set-Cookie: public=yes; domain=example.com; path=/foo; Set-Cookie: supersuper=secret; domain=example.com; path=/1561/login/en; Set-Cookie: supersuper=secret; domain=example.com; path=/1561/login; Set-Cookie: secureoverhttp=yes; domain=example.com; path=/1561; secure; Content-Length: 7 nomnom </data2> </reply> # Client-side | > > > > > > > > > > > > > > > > > | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | <reply> <data1> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Set-Cookie: super=secret; domain=example.com; path=/1561; secure; Set-Cookie: supersuper=secret; domain=example.com; path=/1561/login/; secure; Set-Cookie: __Secure-SID=12345; Domain=example.com Set-Cookie: __Secure-SID=12346; Secure; Domain=example.com Set-Cookie: supersupersuper=secret; __Secure-SID=12346; Secure; Domain=example.com Set-Cookie: __Host-SID=22345 Set-Cookie: __Host-SID=22346; Secure Set-Cookie: __Host-SID=22347; Domain=example.com Set-Cookie: __Host-SID=22348; Domain=example.com; Path=/ Set-Cookie: __Host-SID=22349; Secure; Domain=example.com; Path=/ Set-Cookie: __Host-SID=12346; Secure; Path=/ Content-Length: 7 nomnom </data1> <data2> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Set-Cookie: super=secret; domain=example.com; path=/1561; httponly; Set-Cookie: super=secret; domain=example.com; path=/1561/; httponly; Set-Cookie: super=secret; domain=example.com; path=/15; httponly; Set-Cookie: public=yes; domain=example.com; path=/foo; Set-Cookie: supersuper=secret; domain=example.com; path=/1561/login/en; Set-Cookie: supersuper=secret; domain=example.com; path=/1561/login; Set-Cookie: secureoverhttp=yes; domain=example.com; path=/1561; secure; Set-Cookie: __Secure-SID=22345; Domain=example.com Set-Cookie: __Secure-SID=22346; Secure; Domain=example.com Set-Cookie: __Host-SID=32345 Set-Cookie: __Host-SID=32346; Secure Set-Cookie: __Host-SID=32347; Domain=example.com Set-Cookie: __Host-SID=32348; Domain=example.com; Path=/ Set-Cookie: __Host-SID=32349; Secure; Domain=example.com; Path=/ Set-Cookie: __Host-SID=32350; Secure; Path=/ Content-Length: 7 nomnom </data2> </reply> # Client-side |
︙ | ︙ | |||
73 74 75 76 77 78 79 80 81 82 83 84 85 86 | </protocol> <file name="log/jar1561.txt" mode="text"> # Netscape HTTP Cookie File # https://curl.haxx.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. .example.com TRUE /foo FALSE 0 public yes .example.com TRUE /1561/login/ TRUE 0 supersuper secret #HttpOnly_.example.com TRUE /15 FALSE 0 super secret </file> </verify> </testcase> | > > > | 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | </protocol> <file name="log/jar1561.txt" mode="text"> # Netscape HTTP Cookie File # https://curl.haxx.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. .example.com TRUE /foo FALSE 0 public yes www.example.com FALSE / TRUE 0 __Host-SID 12346 .example.com TRUE / TRUE 0 supersupersuper secret .example.com TRUE / TRUE 0 __Secure-SID 12346 .example.com TRUE /1561/login/ TRUE 0 supersuper secret #HttpOnly_.example.com TRUE /15 FALSE 0 super secret </file> </verify> </testcase> |
Added jni/curl/tests/data/test1654.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | <testcase> <info> <keywords> unittest alt-svc altsvc </keywords> </info> <client> <server> none </server> <features> unittest alt-svc </features> # This date is exactly "20190124 22:34:21" UTC <setenv> CURL_TIME=1548369261 </setenv> <name> alt-svc </name> <command> log/1654 </command> <tool> unit1654 </tool> <file name="log/1654" mode="text"> h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 1 # a comment h2c example.com 443 h3 shiny.example.com 8443 "20291231 23:30:00" 0 1 h1 example.com 443 h3 shiny.example.com 8443 "20121231 00:00:01" 0 1 h3 example.com 443 h3 shiny.example.com 8443 "20131231 00:00:00" 0 1 # also a comment bad example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 1 rubbish </file> </client> <verify> <file name="log/1654-out" mode="text"> # Your alt-svc cache. https://curl.haxx.se/docs/alt-svc.html # This file was generated by libcurl! Edit at your own risk. h2 example.com 443 h3 shiny.example.com 8443 "20191231 00:00:00" 0 1 h2c example.com 443 h3 shiny.example.com 8443 "20291231 23:30:00" 0 1 h1 example.com 443 h3 shiny.example.com 8443 "20121231 00:00:01" 0 1 h3 example.com 443 h3 shiny.example.com 8443 "20131231 00:00:00" 0 1 h1 example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0 h1 2.example.org 8080 h3 2.example.org 8080 "20190125 22:34:21" 0 0 h1 3.example.org 8080 h2 example.com 8080 "20190125 22:34:21" 0 0 h1 3.example.org 8080 h3 yesyes.com 8080 "20190125 22:34:21" 0 0 h2c example.org 80 h2 example.com 443 "20190124 22:36:21" 0 0 </file> </verify> </testcase> |
Added jni/curl/tests/data/test1905.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | <testcase> <info> <keywords> HTTP cookies FLUSH </keywords> </info> # Server-side <reply> <data nocheck="yes"> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Content-Type: text/html Funny-head: yesyes swsclose Set-Cookie: foobar=name; Set-Cookie: secondcookie=present; </data> </reply> # Client-side <client> <server> http </server> <name> CURLOPT_COOKIELIST set to "FLUSH" of a shared cookie object </name> <tool> lib1905 </tool> <command> http://%HOSTIP:%HTTPPORT/we/want/1905 </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> GET /we/want/1905 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* </protocol> <file name="log/cookies1905" mode="text"> # Netscape HTTP Cookie File # https://curl.haxx.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. %HOSTIP FALSE /we/want/ FALSE 0 secondcookie present %HOSTIP FALSE /we/want/ FALSE 0 foobar name </file> </verify> </testcase> |
Changes to jni/curl/tests/data/test2056.
1 2 3 4 5 6 7 8 9 10 | <testcase> <info> <keywords> HTTP HTTP GET HTTP Negotiate auth (stub krb5) </keywords> </info> # Server-side <reply> | | < < < < < < < < < < < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <testcase> <info> <keywords> HTTP HTTP GET HTTP Negotiate auth (stub krb5) </keywords> </info> # Server-side <reply> <!-- First request, expect success in one shot --> <data1> HTTP/1.1 200 Things are fine in server land Server: Microsoft-IIS/7.0 Content-Type: text/html; charset=iso-8859-1 WWW-Authenticate: Negotiate RA== Content-Length: 15 Nice auth sir! </data1> <datacheck> HTTP/1.1 200 Things are fine in server land Server: Microsoft-IIS/7.0 Content-Type: text/html; charset=iso-8859-1 WWW-Authenticate: Negotiate RA== Content-Length: 15 Nice auth sir! |
︙ | ︙ | |||
69 70 71 72 73 74 75 | # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> | < < < < | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> GET /2056 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Authorization: Negotiate IktSQjVfQWxpY2UiOkhUVFBAMTI3LjAuMC4xOjE6QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQ== Accept: */* </protocol> </verify> </testcase> |
Changes to jni/curl/tests/data/test2057.
1 2 3 4 5 6 7 8 9 10 | <testcase> <info> <keywords> HTTP HTTP GET HTTP Negotiate auth (stub ntlm) </keywords> </info> # Server-side <reply> | | < < < < < < < < < < | < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | <testcase> <info> <keywords> HTTP HTTP GET HTTP Negotiate auth (stub ntlm) </keywords> </info> # Server-side <reply> <!-- First request, expect 401 (ntlm challenge) --> <data1> HTTP/1.1 401 Authorization Required Server: Microsoft-IIS/7.0 Content-Type: text/html; charset=iso-8859-1 WWW-Authenticate: Negotiate Qw== Content-Length: 19 Still not yet sir! </data1> <!-- Second request, expect success --> <data2> HTTP/1.1 200 Things are fine in server land Server: Microsoft-IIS/7.0 Content-Type: text/html; charset=iso-8859-1 WWW-Authenticate: Negotiate RA== Content-Length: 15 Nice auth sir! </data2> <datacheck> HTTP/1.1 401 Authorization Required Server: Microsoft-IIS/7.0 Content-Type: text/html; charset=iso-8859-1 WWW-Authenticate: Negotiate Qw== Content-Length: 19 HTTP/1.1 200 Things are fine in server land |
︙ | ︙ | |||
85 86 87 88 89 90 91 | # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> | < < < < | 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> GET /2057 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Authorization: Negotiate Ik5UTE1fQWxpY2UiOkhUVFBAMTI3LjAuMC4xOjI6QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQ== Accept: */* GET /2057 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Authorization: Negotiate Ik5UTE1fQWxpY2UiOkhUVFBAMTI3LjAuMC4xOjM6QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQ== Accept: */* </protocol> </verify> </testcase> |
Changes to jni/curl/tests/data/test327.
︙ | ︙ | |||
27 28 29 30 31 32 33 | HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Content-Type: text/html Funny-head: yesyes swsclose Set-Cookie: foobar=name; expires=Thu, 01 Jan 1970 00:00:00 GMT; | | | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Content-Type: text/html Funny-head: yesyes swsclose Set-Cookie: foobar=name; expires=Thu, 01 Jan 1970 00:00:00 GMT; </data2> </reply> # Client-side <client> <server> http </server> |
︙ | ︙ |
Added jni/curl/tests/data/test331.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | <testcase> <info> <keywords> HTTP HTTP GET cookies </keywords> </info> # Server-side <reply> <data> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Content-Type: text/html Content-Length: 4 Set-Cookie: moo=yes; hej </data> <data2> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Content-Type: text/html Content-Length: 0 Funny-head: yesyes swsclose </data2> </reply> # Client-side <client> <server> http </server> <name> HTTP with cookie using host name 'moo' </name> <command> -x http://%HOSTIP:%HTTPPORT http://moo/we/want/331 -b none http://moo/we/want/3310002 </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> GET http://moo/we/want/331 HTTP/1.1 Host: moo Accept: */* Proxy-Connection: Keep-Alive GET http://moo/we/want/3310002 HTTP/1.1 Host: moo Accept: */* Proxy-Connection: Keep-Alive Cookie: moo=yes </protocol> </verify> </testcase> |
Added jni/curl/tests/data/test355.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | <testcase> <info> <keywords> HTTP Alt-Svc </keywords> </info> # # Server-side <reply> <data> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Content-Length: 6 Connection: close Content-Type: text/html Funny-head: yesyes -foo- </data> </reply> # # Client-side <client> <features> alt-svc </features> <server> http </server> <name> load Alt-Svc from file and use </name> <command> http://%HOSTIP:%HTTPPORT/355 --alt-svc "" </command> <file name="log/altsvc-355"> h1 example.com 80 h1 %HOSTIP %HTTPPORT "20290222 22:19:28" 0 0 </file> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> GET /355 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* </protocol> </verify> </testcase> |
Added jni/curl/tests/data/test356.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | <testcase> <info> <keywords> HTTP Alt-Svc </keywords> </info> # # Server-side <reply> <data> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Content-Length: 6 Connection: close Content-Type: text/html Funny-head: yesyes Alt-Svc: h1="nowhere.foo:81" -foo- </data> </reply> # # Client-side <client> <features> debug alt-svc </features> <server> http </server> <name> parse incoming Alt-Svc and save to file </name> <setenv> # make debug-curl accept Alt-Svc over plain HTTP CURL_ALTSVC_HTTP="yeah" </setenv> <command> http://%HOSTIP:%HTTPPORT/356 --alt-svc "log/altsvc-356" </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> GET /356 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* </protocol> <stripfile> # strip out the (dynamic) expire date from the file so that the rest # matches s/\"([^\"]*)\"/TIMESTAMP/ </stripfile> <file name="log/altsvc-356"> # Your alt-svc cache. https://curl.haxx.se/docs/alt-svc.html # This file was generated by libcurl! Edit at your own risk. h1 %HOSTIP %HTTPPORT h1 nowhere.foo 81 TIMESTAMP 0 0 </file> </verify> </testcase> |
Changes to jni/curl/tests/data/test506.
︙ | ︙ | |||
224 225 226 227 228 229 230 | lock: share [Pigs in space]: 92 unlock: share [Pigs in space]: 93 SHARE_CLEANUP lock: share [Pigs in space]: 94 unlock: share [Pigs in space]: 95 GLOBAL_CLEANUP </stdout> | < < < | 224 225 226 227 228 229 230 231 232 233 234 235 236 237 | lock: share [Pigs in space]: 92 unlock: share [Pigs in space]: 93 SHARE_CLEANUP lock: share [Pigs in space]: 94 unlock: share [Pigs in space]: 95 GLOBAL_CLEANUP </stdout> <file name="log/jar506" mode="text"> # Netscape HTTP Cookie File # https://curl.haxx.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. www.host.foo.com FALSE / FALSE 1993463787 test6 six_more .www.host.foo.com TRUE / FALSE 1993463787 test6 six |
︙ | ︙ |
Changes to jni/curl/tests/data/test578.
︙ | ︙ | |||
34 35 36 37 38 39 40 | lib578 </tool> <name> HTTP POST lower than MAX_INITIAL_POST_SIZE with progress callback </name> <command> | | | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | lib578 </tool> <name> HTTP POST lower than MAX_INITIAL_POST_SIZE with progress callback </name> <command> http://%HOSTIP:%HTTPPORT/578 log/ip578 </command> </client> # # Verify data after the test has been "shot" <verify> <file name="log/ip578"> |
︙ | ︙ |
Changes to jni/curl/tests/data/test597.
︙ | ︙ | |||
27 28 29 30 31 32 33 | # # Verify data after the test has been "shot" <verify> <protocol> USER anonymous PASS ftp@example.com PWD | < | 27 28 29 30 31 32 33 34 35 36 | # # Verify data after the test has been "shot" <verify> <protocol> USER anonymous PASS ftp@example.com PWD </protocol> </verify> </testcase> |
Changes to jni/curl/tests/data/test658.
1 2 3 4 5 6 7 8 9 10 11 12 | <testcase> <info> <keywords> HTTP HTTP GET </keywords> </info> <reply> <data nocheck="yes"> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <testcase> <info> <keywords> HTTP HTTP GET CURLOPT_CURLU </keywords> </info> <reply> <data nocheck="yes"> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake |
︙ | ︙ | |||
25 26 27 28 29 30 31 | <server> http </server> <tool> lib658 </tool> <name> | | > | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | <server> http </server> <tool> lib658 </tool> <name> Pass URL to libcurl with CURLOPT_CURLU </name> <command> http://%HOSTIP:%HTTPPORT/658 </command> </client> <verify> <strip> ^User-Agent:.* </strip> <protocol> GET /658 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* </protocol> </verify> </testcase> |
Added jni/curl/tests/data/test659.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | <testcase> <info> <keywords> HTTP HTTP GET CURLOPT_CURLU proxy </keywords> </info> <reply> <data nocheck="yes"> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ETag: "21025-dc7-39462498" Accept-Ranges: bytes Content-Length: 6 Connection: close Content-Type: text/html Funny-head: yesyes -foo- </data> </reply> <client> <server> http </server> <tool> lib659 </tool> <name> CURLOPT_CURLU without the path set - over proxy </name> <command> http://%HOSTIP:%HTTPPORT </command> </client> <verify> <strip> ^User-Agent:.* </strip> <protocol> GET http://www.example.com:80/ HTTP/1.1 Host: www.example.com Accept: */* Proxy-Connection: Keep-Alive </protocol> </verify> </testcase> |
Changes to jni/curl/tests/data/test8.
︙ | ︙ | |||
42 43 44 45 46 47 48 | Set-Cookie: cookie=yes; path=/we; Set-Cookie: cookie=perhaps; path=/we/want; Set-Cookie: name with space=is weird but; path=/we/want; Set-Cookie: trailingspace = removed; path=/we/want; Set-Cookie: nocookie=yes; path=/WE; Set-Cookie: blexp=yesyes; domain=%HOSTIP; domain=%HOSTIP; expiry=totally bad; Set-Cookie: partialip=nono; domain=.0.0.1; | < | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | Set-Cookie: cookie=yes; path=/we; Set-Cookie: cookie=perhaps; path=/we/want; Set-Cookie: name with space=is weird but; path=/we/want; Set-Cookie: trailingspace = removed; path=/we/want; Set-Cookie: nocookie=yes; path=/WE; Set-Cookie: blexp=yesyes; domain=%HOSTIP; domain=%HOSTIP; expiry=totally bad; Set-Cookie: partialip=nono; domain=.0.0.1; </file> <precheck> perl -e 'if ("%HOSTIP" !~ /\.0\.0\.1$/) {print "Test only works for HOSTIPs ending with .0.0.1"; exit(1)}' </precheck> </client> |
︙ | ︙ |
Changes to jni/curl/tests/libtest/Makefile.am.
1 2 3 4 5 6 7 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
127 128 129 130 131 132 133 134 | libstubgss_la_DEPENDENCIES = endif lib1521.c: $(top_srcdir)/tests/libtest/mk-lib1521.pl $(top_srcdir)/include/curl/curl.h @PERL@ $(top_srcdir)/tests/libtest/mk-lib1521.pl < $(top_srcdir)/include/curl/curl.h > lib1521.c checksrc: | > > > > > | | 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | libstubgss_la_DEPENDENCIES = endif lib1521.c: $(top_srcdir)/tests/libtest/mk-lib1521.pl $(top_srcdir)/include/curl/curl.h @PERL@ $(top_srcdir)/tests/libtest/mk-lib1521.pl < $(top_srcdir)/include/curl/curl.h > lib1521.c CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) checksrc: $(CHECKSRC)@PERL@ $(top_srcdir)/lib/checksrc.pl $(srcdir)/*.c if CURLDEBUG # for debug builds, we scan the sources on all regular make invokes all-local: checksrc endif |
Changes to jni/curl/tests/libtest/Makefile.in.
︙ | ︙ | |||
116 117 118 119 120 121 122 | lib578$(EXEEXT) lib579$(EXEEXT) lib582$(EXEEXT) \ lib583$(EXEEXT) lib585$(EXEEXT) lib586$(EXEEXT) \ lib587$(EXEEXT) lib589$(EXEEXT) lib590$(EXEEXT) \ lib591$(EXEEXT) lib597$(EXEEXT) lib598$(EXEEXT) \ lib599$(EXEEXT) lib643$(EXEEXT) lib644$(EXEEXT) \ lib645$(EXEEXT) lib650$(EXEEXT) lib651$(EXEEXT) \ lib652$(EXEEXT) lib653$(EXEEXT) lib654$(EXEEXT) \ | | | | | | | | | | | | | | > | | | | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | lib578$(EXEEXT) lib579$(EXEEXT) lib582$(EXEEXT) \ lib583$(EXEEXT) lib585$(EXEEXT) lib586$(EXEEXT) \ lib587$(EXEEXT) lib589$(EXEEXT) lib590$(EXEEXT) \ lib591$(EXEEXT) lib597$(EXEEXT) lib598$(EXEEXT) \ lib599$(EXEEXT) lib643$(EXEEXT) lib644$(EXEEXT) \ lib645$(EXEEXT) lib650$(EXEEXT) lib651$(EXEEXT) \ lib652$(EXEEXT) lib653$(EXEEXT) lib654$(EXEEXT) \ lib655$(EXEEXT) lib658$(EXEEXT) lib659$(EXEEXT) \ lib1156$(EXEEXT) lib1500$(EXEEXT) lib1501$(EXEEXT) \ lib1502$(EXEEXT) lib1503$(EXEEXT) lib1504$(EXEEXT) \ lib1505$(EXEEXT) lib1506$(EXEEXT) lib1507$(EXEEXT) \ lib1508$(EXEEXT) lib1509$(EXEEXT) lib1510$(EXEEXT) \ lib1511$(EXEEXT) lib1512$(EXEEXT) lib1513$(EXEEXT) \ lib1514$(EXEEXT) lib1515$(EXEEXT) lib1517$(EXEEXT) \ lib1518$(EXEEXT) lib1520$(EXEEXT) lib1521$(EXEEXT) \ lib1522$(EXEEXT) lib1525$(EXEEXT) lib1526$(EXEEXT) \ lib1527$(EXEEXT) lib1528$(EXEEXT) lib1529$(EXEEXT) \ lib1530$(EXEEXT) lib1531$(EXEEXT) lib1532$(EXEEXT) \ lib1533$(EXEEXT) lib1534$(EXEEXT) lib1535$(EXEEXT) \ lib1536$(EXEEXT) lib1537$(EXEEXT) lib1538$(EXEEXT) \ lib1540$(EXEEXT) lib1541$(EXEEXT) lib1550$(EXEEXT) \ lib1551$(EXEEXT) lib1552$(EXEEXT) lib1553$(EXEEXT) \ lib1554$(EXEEXT) lib1555$(EXEEXT) lib1556$(EXEEXT) \ lib1557$(EXEEXT) lib1558$(EXEEXT) lib1560$(EXEEXT) \ lib1591$(EXEEXT) lib1592$(EXEEXT) lib1900$(EXEEXT) \ lib1905$(EXEEXT) lib2033$(EXEEXT) @USE_CPPFLAG_CURL_STATICLIB_TRUE@am__append_1 = -DCURL_STATICLIB @CURL_LT_SHLIB_USE_NO_UNDEFINED_TRUE@am__append_2 = -no-undefined @CURL_LT_SHLIB_USE_MIMPURE_TEXT_TRUE@am__append_3 = -mimpure-text @DOING_CURL_SYMBOL_HIDING_TRUE@am__append_4 = -DCURL_HIDDEN_SYMBOLS @DOING_CURL_SYMBOL_HIDING_TRUE@am__append_5 = $(CFLAG_CURL_SYMBOL_HIDING) # Build a stub gssapi implementation for testing |
︙ | ︙ | |||
454 455 456 457 458 459 460 | am__objects_98 = lib1540-first.$(OBJEXT) am__objects_99 = lib1540-testutil.$(OBJEXT) am__objects_100 = ../../lib/lib1540-warnless.$(OBJEXT) am_lib1540_OBJECTS = lib1540-lib1540.$(OBJEXT) $(am__objects_98) \ $(am__objects_99) $(am__objects_100) lib1540_OBJECTS = $(am_lib1540_OBJECTS) lib1540_DEPENDENCIES = $(am__DEPENDENCIES_1) | | > > > > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > > > > | | | | | | | 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 | am__objects_98 = lib1540-first.$(OBJEXT) am__objects_99 = lib1540-testutil.$(OBJEXT) am__objects_100 = ../../lib/lib1540-warnless.$(OBJEXT) am_lib1540_OBJECTS = lib1540-lib1540.$(OBJEXT) $(am__objects_98) \ $(am__objects_99) $(am__objects_100) lib1540_OBJECTS = $(am_lib1540_OBJECTS) lib1540_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_101 = lib1541-first.$(OBJEXT) am__objects_102 = lib1541-testutil.$(OBJEXT) am__objects_103 = ../../lib/lib1541-warnless.$(OBJEXT) am_lib1541_OBJECTS = lib1541-lib1541.$(OBJEXT) $(am__objects_101) \ $(am__objects_102) $(am__objects_103) lib1541_OBJECTS = $(am_lib1541_OBJECTS) lib1541_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_104 = lib1550-first.$(OBJEXT) am_lib1550_OBJECTS = lib1550-lib1550.$(OBJEXT) $(am__objects_104) lib1550_OBJECTS = $(am_lib1550_OBJECTS) lib1550_LDADD = $(LDADD) lib1550_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_105 = lib1551-first.$(OBJEXT) am_lib1551_OBJECTS = lib1551-lib1551.$(OBJEXT) $(am__objects_105) lib1551_OBJECTS = $(am_lib1551_OBJECTS) lib1551_LDADD = $(LDADD) lib1551_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_106 = lib1552-first.$(OBJEXT) am__objects_107 = lib1552-testutil.$(OBJEXT) am_lib1552_OBJECTS = lib1552-lib1552.$(OBJEXT) $(am__objects_106) \ $(am__objects_107) lib1552_OBJECTS = $(am_lib1552_OBJECTS) lib1552_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_108 = lib1553-first.$(OBJEXT) am__objects_109 = lib1553-testutil.$(OBJEXT) am_lib1553_OBJECTS = lib1553-lib1553.$(OBJEXT) $(am__objects_108) \ $(am__objects_109) lib1553_OBJECTS = $(am_lib1553_OBJECTS) lib1553_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_110 = lib1554-first.$(OBJEXT) am_lib1554_OBJECTS = lib1554-lib1554.$(OBJEXT) $(am__objects_110) lib1554_OBJECTS = $(am_lib1554_OBJECTS) lib1554_LDADD = $(LDADD) lib1554_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_111 = lib1555-first.$(OBJEXT) am__objects_112 = lib1555-testutil.$(OBJEXT) am__objects_113 = ../../lib/lib1555-warnless.$(OBJEXT) am_lib1555_OBJECTS = lib1555-lib1555.$(OBJEXT) $(am__objects_111) \ $(am__objects_112) $(am__objects_113) lib1555_OBJECTS = $(am_lib1555_OBJECTS) lib1555_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_114 = lib1556-first.$(OBJEXT) am__objects_115 = lib1556-testutil.$(OBJEXT) am__objects_116 = ../../lib/lib1556-warnless.$(OBJEXT) am_lib1556_OBJECTS = lib1556-lib1556.$(OBJEXT) $(am__objects_114) \ $(am__objects_115) $(am__objects_116) lib1556_OBJECTS = $(am_lib1556_OBJECTS) lib1556_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_117 = lib1557-first.$(OBJEXT) am__objects_118 = lib1557-testutil.$(OBJEXT) am__objects_119 = ../../lib/lib1557-warnless.$(OBJEXT) am_lib1557_OBJECTS = lib1557-lib1557.$(OBJEXT) $(am__objects_117) \ $(am__objects_118) $(am__objects_119) lib1557_OBJECTS = $(am_lib1557_OBJECTS) lib1557_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_120 = first.$(OBJEXT) am__objects_121 = testutil.$(OBJEXT) am__objects_122 = ../../lib/warnless.$(OBJEXT) am_lib1558_OBJECTS = lib1558.$(OBJEXT) $(am__objects_120) \ $(am__objects_121) $(am__objects_122) lib1558_OBJECTS = $(am_lib1558_OBJECTS) lib1558_DEPENDENCIES = $(am__DEPENDENCIES_1) am_lib1560_OBJECTS = lib1560.$(OBJEXT) $(am__objects_120) \ $(am__objects_121) $(am__objects_122) lib1560_OBJECTS = $(am_lib1560_OBJECTS) lib1560_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_123 = lib1591-first.$(OBJEXT) am__objects_124 = lib1591-testutil.$(OBJEXT) am__objects_125 = ../../lib/lib1591-warnless.$(OBJEXT) am_lib1591_OBJECTS = lib1591-lib1591.$(OBJEXT) $(am__objects_123) \ $(am__objects_124) $(am__objects_125) lib1591_OBJECTS = $(am_lib1591_OBJECTS) lib1591_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_126 = lib1592-first.$(OBJEXT) am__objects_127 = lib1592-testutil.$(OBJEXT) am__objects_128 = ../../lib/lib1592-warnless.$(OBJEXT) am_lib1592_OBJECTS = lib1592-lib1592.$(OBJEXT) $(am__objects_126) \ $(am__objects_127) $(am__objects_128) lib1592_OBJECTS = $(am_lib1592_OBJECTS) lib1592_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_129 = lib1900-first.$(OBJEXT) am__objects_130 = lib1900-testutil.$(OBJEXT) am__objects_131 = ../../lib/lib1900-warnless.$(OBJEXT) am_lib1900_OBJECTS = lib1900-lib1900.$(OBJEXT) $(am__objects_129) \ $(am__objects_130) $(am__objects_131) lib1900_OBJECTS = $(am_lib1900_OBJECTS) lib1900_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_132 = lib1905-first.$(OBJEXT) am__objects_133 = lib1905-testutil.$(OBJEXT) am__objects_134 = ../../lib/lib1905-warnless.$(OBJEXT) am_lib1905_OBJECTS = lib1905-lib1905.$(OBJEXT) $(am__objects_132) \ $(am__objects_133) $(am__objects_134) lib1905_OBJECTS = $(am_lib1905_OBJECTS) lib1905_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_135 = lib2033-first.$(OBJEXT) am__objects_136 = lib2033-testutil.$(OBJEXT) am__objects_137 = ../../lib/lib2033-warnless.$(OBJEXT) am_lib2033_OBJECTS = lib2033-libntlmconnect.$(OBJEXT) \ $(am__objects_135) $(am__objects_136) $(am__objects_137) lib2033_OBJECTS = $(am_lib2033_OBJECTS) lib2033_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_138 = lib500-first.$(OBJEXT) am__objects_139 = lib500-testutil.$(OBJEXT) am__objects_140 = lib500-testtrace.$(OBJEXT) am_lib500_OBJECTS = lib500-lib500.$(OBJEXT) $(am__objects_138) \ $(am__objects_139) $(am__objects_140) lib500_OBJECTS = $(am_lib500_OBJECTS) lib500_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_141 = lib501-first.$(OBJEXT) am_lib501_OBJECTS = lib501-lib501.$(OBJEXT) $(am__objects_141) lib501_OBJECTS = $(am_lib501_OBJECTS) lib501_LDADD = $(LDADD) lib501_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_142 = lib502-first.$(OBJEXT) am__objects_143 = lib502-testutil.$(OBJEXT) am__objects_144 = ../../lib/lib502-warnless.$(OBJEXT) am_lib502_OBJECTS = lib502-lib502.$(OBJEXT) $(am__objects_142) \ $(am__objects_143) $(am__objects_144) lib502_OBJECTS = $(am_lib502_OBJECTS) lib502_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_145 = lib503-first.$(OBJEXT) am__objects_146 = lib503-testutil.$(OBJEXT) am__objects_147 = ../../lib/lib503-warnless.$(OBJEXT) am_lib503_OBJECTS = lib503-lib503.$(OBJEXT) $(am__objects_145) \ $(am__objects_146) $(am__objects_147) lib503_OBJECTS = $(am_lib503_OBJECTS) lib503_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_148 = lib504-first.$(OBJEXT) am__objects_149 = lib504-testutil.$(OBJEXT) am__objects_150 = ../../lib/lib504-warnless.$(OBJEXT) am_lib504_OBJECTS = lib504-lib504.$(OBJEXT) $(am__objects_148) \ $(am__objects_149) $(am__objects_150) lib504_OBJECTS = $(am_lib504_OBJECTS) lib504_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_151 = lib505-first.$(OBJEXT) am_lib505_OBJECTS = lib505-lib505.$(OBJEXT) $(am__objects_151) lib505_OBJECTS = $(am_lib505_OBJECTS) lib505_LDADD = $(LDADD) lib505_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_152 = lib506-first.$(OBJEXT) am_lib506_OBJECTS = lib506-lib506.$(OBJEXT) $(am__objects_152) lib506_OBJECTS = $(am_lib506_OBJECTS) lib506_LDADD = $(LDADD) lib506_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_153 = lib507-first.$(OBJEXT) am__objects_154 = lib507-testutil.$(OBJEXT) am__objects_155 = ../../lib/lib507-warnless.$(OBJEXT) am_lib507_OBJECTS = lib507-lib507.$(OBJEXT) $(am__objects_153) \ $(am__objects_154) $(am__objects_155) lib507_OBJECTS = $(am_lib507_OBJECTS) lib507_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_156 = lib508-first.$(OBJEXT) am_lib508_OBJECTS = lib508-lib508.$(OBJEXT) $(am__objects_156) lib508_OBJECTS = $(am_lib508_OBJECTS) lib508_LDADD = $(LDADD) lib508_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_157 = lib509-first.$(OBJEXT) am_lib509_OBJECTS = lib509-lib509.$(OBJEXT) $(am__objects_157) lib509_OBJECTS = $(am_lib509_OBJECTS) lib509_LDADD = $(LDADD) lib509_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_158 = lib510-first.$(OBJEXT) am_lib510_OBJECTS = lib510-lib510.$(OBJEXT) $(am__objects_158) lib510_OBJECTS = $(am_lib510_OBJECTS) lib510_LDADD = $(LDADD) lib510_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_159 = lib511-first.$(OBJEXT) am_lib511_OBJECTS = lib511-lib511.$(OBJEXT) $(am__objects_159) lib511_OBJECTS = $(am_lib511_OBJECTS) lib511_LDADD = $(LDADD) lib511_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_160 = lib512-first.$(OBJEXT) am_lib512_OBJECTS = lib512-lib512.$(OBJEXT) $(am__objects_160) lib512_OBJECTS = $(am_lib512_OBJECTS) lib512_LDADD = $(LDADD) lib512_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_161 = lib513-first.$(OBJEXT) am_lib513_OBJECTS = lib513-lib513.$(OBJEXT) $(am__objects_161) lib513_OBJECTS = $(am_lib513_OBJECTS) lib513_LDADD = $(LDADD) lib513_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_162 = lib514-first.$(OBJEXT) am_lib514_OBJECTS = lib514-lib514.$(OBJEXT) $(am__objects_162) lib514_OBJECTS = $(am_lib514_OBJECTS) lib514_LDADD = $(LDADD) lib514_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_163 = lib515-first.$(OBJEXT) am_lib515_OBJECTS = lib515-lib515.$(OBJEXT) $(am__objects_163) lib515_OBJECTS = $(am_lib515_OBJECTS) lib515_LDADD = $(LDADD) lib515_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_164 = lib516-first.$(OBJEXT) am_lib516_OBJECTS = lib516-lib516.$(OBJEXT) $(am__objects_164) lib516_OBJECTS = $(am_lib516_OBJECTS) lib516_LDADD = $(LDADD) lib516_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_165 = lib517-first.$(OBJEXT) am_lib517_OBJECTS = lib517-lib517.$(OBJEXT) $(am__objects_165) lib517_OBJECTS = $(am_lib517_OBJECTS) lib517_LDADD = $(LDADD) lib517_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_166 = lib518-first.$(OBJEXT) am__objects_167 = ../../lib/lib518-warnless.$(OBJEXT) am_lib518_OBJECTS = lib518-lib518.$(OBJEXT) $(am__objects_166) \ $(am__objects_167) lib518_OBJECTS = $(am_lib518_OBJECTS) lib518_LDADD = $(LDADD) lib518_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_168 = lib519-first.$(OBJEXT) am_lib519_OBJECTS = lib519-lib519.$(OBJEXT) $(am__objects_168) lib519_OBJECTS = $(am_lib519_OBJECTS) lib519_LDADD = $(LDADD) lib519_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_169 = lib520-first.$(OBJEXT) am_lib520_OBJECTS = lib520-lib520.$(OBJEXT) $(am__objects_169) lib520_OBJECTS = $(am_lib520_OBJECTS) lib520_LDADD = $(LDADD) lib520_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_170 = lib521-first.$(OBJEXT) am_lib521_OBJECTS = lib521-lib521.$(OBJEXT) $(am__objects_170) lib521_OBJECTS = $(am_lib521_OBJECTS) lib521_LDADD = $(LDADD) lib521_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_171 = lib523-first.$(OBJEXT) am_lib523_OBJECTS = lib523-lib523.$(OBJEXT) $(am__objects_171) lib523_OBJECTS = $(am_lib523_OBJECTS) lib523_LDADD = $(LDADD) lib523_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_172 = lib524-first.$(OBJEXT) am_lib524_OBJECTS = lib524-lib524.$(OBJEXT) $(am__objects_172) lib524_OBJECTS = $(am_lib524_OBJECTS) lib524_LDADD = $(LDADD) lib524_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_173 = lib525-first.$(OBJEXT) am__objects_174 = lib525-testutil.$(OBJEXT) am__objects_175 = ../../lib/lib525-warnless.$(OBJEXT) am_lib525_OBJECTS = lib525-lib525.$(OBJEXT) $(am__objects_173) \ $(am__objects_174) $(am__objects_175) lib525_OBJECTS = $(am_lib525_OBJECTS) lib525_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_176 = lib526-first.$(OBJEXT) am__objects_177 = lib526-testutil.$(OBJEXT) am__objects_178 = ../../lib/lib526-warnless.$(OBJEXT) am_lib526_OBJECTS = lib526-lib526.$(OBJEXT) $(am__objects_176) \ $(am__objects_177) $(am__objects_178) lib526_OBJECTS = $(am_lib526_OBJECTS) lib526_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_179 = lib527-first.$(OBJEXT) am__objects_180 = lib527-testutil.$(OBJEXT) am__objects_181 = ../../lib/lib527-warnless.$(OBJEXT) am_lib527_OBJECTS = lib527-lib526.$(OBJEXT) $(am__objects_179) \ $(am__objects_180) $(am__objects_181) lib527_OBJECTS = $(am_lib527_OBJECTS) lib527_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_182 = lib529-first.$(OBJEXT) am__objects_183 = lib529-testutil.$(OBJEXT) am__objects_184 = ../../lib/lib529-warnless.$(OBJEXT) am_lib529_OBJECTS = lib529-lib525.$(OBJEXT) $(am__objects_182) \ $(am__objects_183) $(am__objects_184) lib529_OBJECTS = $(am_lib529_OBJECTS) lib529_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_185 = lib530-first.$(OBJEXT) am__objects_186 = lib530-testutil.$(OBJEXT) am__objects_187 = ../../lib/lib530-warnless.$(OBJEXT) am_lib530_OBJECTS = lib530-lib530.$(OBJEXT) $(am__objects_185) \ $(am__objects_186) $(am__objects_187) lib530_OBJECTS = $(am_lib530_OBJECTS) lib530_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_188 = lib532-first.$(OBJEXT) am__objects_189 = lib532-testutil.$(OBJEXT) am__objects_190 = ../../lib/lib532-warnless.$(OBJEXT) am_lib532_OBJECTS = lib532-lib526.$(OBJEXT) $(am__objects_188) \ $(am__objects_189) $(am__objects_190) lib532_OBJECTS = $(am_lib532_OBJECTS) lib532_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_191 = lib533-first.$(OBJEXT) am__objects_192 = lib533-testutil.$(OBJEXT) am__objects_193 = ../../lib/lib533-warnless.$(OBJEXT) am_lib533_OBJECTS = lib533-lib533.$(OBJEXT) $(am__objects_191) \ $(am__objects_192) $(am__objects_193) lib533_OBJECTS = $(am_lib533_OBJECTS) lib533_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_194 = lib536-first.$(OBJEXT) am__objects_195 = lib536-testutil.$(OBJEXT) am__objects_196 = ../../lib/lib536-warnless.$(OBJEXT) am_lib536_OBJECTS = lib536-lib536.$(OBJEXT) $(am__objects_194) \ $(am__objects_195) $(am__objects_196) lib536_OBJECTS = $(am_lib536_OBJECTS) lib536_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_197 = lib537-first.$(OBJEXT) am__objects_198 = ../../lib/lib537-warnless.$(OBJEXT) am_lib537_OBJECTS = lib537-lib537.$(OBJEXT) $(am__objects_197) \ $(am__objects_198) lib537_OBJECTS = $(am_lib537_OBJECTS) lib537_LDADD = $(LDADD) lib537_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_199 = lib539-first.$(OBJEXT) am_lib539_OBJECTS = lib539-lib539.$(OBJEXT) $(am__objects_199) lib539_OBJECTS = $(am_lib539_OBJECTS) lib539_LDADD = $(LDADD) lib539_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_200 = lib540-first.$(OBJEXT) am__objects_201 = lib540-testutil.$(OBJEXT) am__objects_202 = ../../lib/lib540-warnless.$(OBJEXT) am_lib540_OBJECTS = lib540-lib540.$(OBJEXT) $(am__objects_200) \ $(am__objects_201) $(am__objects_202) lib540_OBJECTS = $(am_lib540_OBJECTS) lib540_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_203 = lib541-first.$(OBJEXT) am_lib541_OBJECTS = lib541-lib541.$(OBJEXT) $(am__objects_203) lib541_OBJECTS = $(am_lib541_OBJECTS) lib541_LDADD = $(LDADD) lib541_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_204 = lib542-first.$(OBJEXT) am_lib542_OBJECTS = lib542-lib542.$(OBJEXT) $(am__objects_204) lib542_OBJECTS = $(am_lib542_OBJECTS) lib542_LDADD = $(LDADD) lib542_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_205 = lib543-first.$(OBJEXT) am_lib543_OBJECTS = lib543-lib543.$(OBJEXT) $(am__objects_205) lib543_OBJECTS = $(am_lib543_OBJECTS) lib543_LDADD = $(LDADD) lib543_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_206 = lib544-first.$(OBJEXT) am_lib544_OBJECTS = lib544-lib544.$(OBJEXT) $(am__objects_206) lib544_OBJECTS = $(am_lib544_OBJECTS) lib544_LDADD = $(LDADD) lib544_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_207 = lib545-first.$(OBJEXT) am_lib545_OBJECTS = lib545-lib544.$(OBJEXT) $(am__objects_207) lib545_OBJECTS = $(am_lib545_OBJECTS) lib545_LDADD = $(LDADD) lib545_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_208 = lib547-first.$(OBJEXT) am_lib547_OBJECTS = lib547-lib547.$(OBJEXT) $(am__objects_208) lib547_OBJECTS = $(am_lib547_OBJECTS) lib547_LDADD = $(LDADD) lib547_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_209 = lib548-first.$(OBJEXT) am_lib548_OBJECTS = lib548-lib547.$(OBJEXT) $(am__objects_209) lib548_OBJECTS = $(am_lib548_OBJECTS) lib548_LDADD = $(LDADD) lib548_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_210 = lib549-first.$(OBJEXT) am_lib549_OBJECTS = lib549-lib549.$(OBJEXT) $(am__objects_210) lib549_OBJECTS = $(am_lib549_OBJECTS) lib549_LDADD = $(LDADD) lib549_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_211 = lib552-first.$(OBJEXT) am__objects_212 = ../../lib/lib552-warnless.$(OBJEXT) am_lib552_OBJECTS = lib552-lib552.$(OBJEXT) $(am__objects_211) \ $(am__objects_212) lib552_OBJECTS = $(am_lib552_OBJECTS) lib552_LDADD = $(LDADD) lib552_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_213 = lib553-first.$(OBJEXT) am_lib553_OBJECTS = lib553-lib553.$(OBJEXT) $(am__objects_213) lib553_OBJECTS = $(am_lib553_OBJECTS) lib553_LDADD = $(LDADD) lib553_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_214 = lib554-first.$(OBJEXT) am_lib554_OBJECTS = lib554-lib554.$(OBJEXT) $(am__objects_214) lib554_OBJECTS = $(am_lib554_OBJECTS) lib554_LDADD = $(LDADD) lib554_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_215 = lib555-first.$(OBJEXT) am__objects_216 = lib555-testutil.$(OBJEXT) am__objects_217 = ../../lib/lib555-warnless.$(OBJEXT) am_lib555_OBJECTS = lib555-lib555.$(OBJEXT) $(am__objects_215) \ $(am__objects_216) $(am__objects_217) lib555_OBJECTS = $(am_lib555_OBJECTS) lib555_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_218 = lib556-first.$(OBJEXT) am__objects_219 = ../../lib/lib556-warnless.$(OBJEXT) am_lib556_OBJECTS = lib556-lib556.$(OBJEXT) $(am__objects_218) \ $(am__objects_219) lib556_OBJECTS = $(am_lib556_OBJECTS) lib556_LDADD = $(LDADD) lib556_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_220 = lib557-first.$(OBJEXT) am_lib557_OBJECTS = lib557-lib557.$(OBJEXT) $(am__objects_220) lib557_OBJECTS = $(am_lib557_OBJECTS) lib557_LDADD = $(LDADD) lib557_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_221 = lib558-first.$(OBJEXT) am_lib558_OBJECTS = lib558-lib558.$(OBJEXT) $(am__objects_221) lib558_OBJECTS = $(am_lib558_OBJECTS) lib558_LDADD = $(LDADD) lib558_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_222 = lib559-first.$(OBJEXT) am_lib559_OBJECTS = lib559-lib559.$(OBJEXT) $(am__objects_222) lib559_OBJECTS = $(am_lib559_OBJECTS) lib559_LDADD = $(LDADD) lib559_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_223 = lib560-first.$(OBJEXT) am__objects_224 = lib560-testutil.$(OBJEXT) am__objects_225 = ../../lib/lib560-warnless.$(OBJEXT) am_lib560_OBJECTS = lib560-lib560.$(OBJEXT) $(am__objects_223) \ $(am__objects_224) $(am__objects_225) lib560_OBJECTS = $(am_lib560_OBJECTS) lib560_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_226 = lib562-first.$(OBJEXT) am_lib562_OBJECTS = lib562-lib562.$(OBJEXT) $(am__objects_226) lib562_OBJECTS = $(am_lib562_OBJECTS) lib562_LDADD = $(LDADD) lib562_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_227 = lib564-first.$(OBJEXT) am__objects_228 = lib564-testutil.$(OBJEXT) am__objects_229 = ../../lib/lib564-warnless.$(OBJEXT) am_lib564_OBJECTS = lib564-lib564.$(OBJEXT) $(am__objects_227) \ $(am__objects_228) $(am__objects_229) lib564_OBJECTS = $(am_lib564_OBJECTS) lib564_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_230 = lib565-first.$(OBJEXT) am_lib565_OBJECTS = lib565-lib510.$(OBJEXT) $(am__objects_230) lib565_OBJECTS = $(am_lib565_OBJECTS) lib565_LDADD = $(LDADD) lib565_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_231 = lib566-first.$(OBJEXT) am_lib566_OBJECTS = lib566-lib566.$(OBJEXT) $(am__objects_231) lib566_OBJECTS = $(am_lib566_OBJECTS) lib566_LDADD = $(LDADD) lib566_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_232 = lib567-first.$(OBJEXT) am_lib567_OBJECTS = lib567-lib567.$(OBJEXT) $(am__objects_232) lib567_OBJECTS = $(am_lib567_OBJECTS) lib567_LDADD = $(LDADD) lib567_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_233 = lib568-first.$(OBJEXT) am_lib568_OBJECTS = lib568-lib568.$(OBJEXT) $(am__objects_233) lib568_OBJECTS = $(am_lib568_OBJECTS) lib568_LDADD = $(LDADD) lib568_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_234 = lib569-first.$(OBJEXT) am_lib569_OBJECTS = lib569-lib569.$(OBJEXT) $(am__objects_234) lib569_OBJECTS = $(am_lib569_OBJECTS) lib569_LDADD = $(LDADD) lib569_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_235 = lib570-first.$(OBJEXT) am_lib570_OBJECTS = lib570-lib570.$(OBJEXT) $(am__objects_235) lib570_OBJECTS = $(am_lib570_OBJECTS) lib570_LDADD = $(LDADD) lib570_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_236 = lib571-first.$(OBJEXT) am__objects_237 = ../../lib/lib571-warnless.$(OBJEXT) am_lib571_OBJECTS = lib571-lib571.$(OBJEXT) $(am__objects_236) \ $(am__objects_237) lib571_OBJECTS = $(am_lib571_OBJECTS) lib571_LDADD = $(LDADD) lib571_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_238 = lib572-first.$(OBJEXT) am_lib572_OBJECTS = lib572-lib572.$(OBJEXT) $(am__objects_238) lib572_OBJECTS = $(am_lib572_OBJECTS) lib572_LDADD = $(LDADD) lib572_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_239 = lib573-first.$(OBJEXT) am__objects_240 = lib573-testutil.$(OBJEXT) am__objects_241 = ../../lib/lib573-warnless.$(OBJEXT) am__objects_242 = lib573-testtrace.$(OBJEXT) am_lib573_OBJECTS = lib573-lib573.$(OBJEXT) $(am__objects_239) \ $(am__objects_240) $(am__objects_241) $(am__objects_242) lib573_OBJECTS = $(am_lib573_OBJECTS) lib573_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_243 = lib574-first.$(OBJEXT) am_lib574_OBJECTS = lib574-lib574.$(OBJEXT) $(am__objects_243) lib574_OBJECTS = $(am_lib574_OBJECTS) lib574_LDADD = $(LDADD) lib574_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_244 = lib575-first.$(OBJEXT) am__objects_245 = lib575-testutil.$(OBJEXT) am__objects_246 = ../../lib/lib575-warnless.$(OBJEXT) am_lib575_OBJECTS = lib575-lib575.$(OBJEXT) $(am__objects_244) \ $(am__objects_245) $(am__objects_246) lib575_OBJECTS = $(am_lib575_OBJECTS) lib575_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_247 = lib576-first.$(OBJEXT) am_lib576_OBJECTS = lib576-lib576.$(OBJEXT) $(am__objects_247) lib576_OBJECTS = $(am_lib576_OBJECTS) lib576_LDADD = $(LDADD) lib576_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_248 = lib578-first.$(OBJEXT) am_lib578_OBJECTS = lib578-lib578.$(OBJEXT) $(am__objects_248) lib578_OBJECTS = $(am_lib578_OBJECTS) lib578_LDADD = $(LDADD) lib578_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_249 = lib579-first.$(OBJEXT) am_lib579_OBJECTS = lib579-lib579.$(OBJEXT) $(am__objects_249) lib579_OBJECTS = $(am_lib579_OBJECTS) lib579_LDADD = $(LDADD) lib579_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_250 = lib582-first.$(OBJEXT) am__objects_251 = lib582-testutil.$(OBJEXT) am__objects_252 = ../../lib/lib582-warnless.$(OBJEXT) am_lib582_OBJECTS = lib582-lib582.$(OBJEXT) $(am__objects_250) \ $(am__objects_251) $(am__objects_252) lib582_OBJECTS = $(am_lib582_OBJECTS) lib582_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_253 = lib583-first.$(OBJEXT) am_lib583_OBJECTS = lib583-lib583.$(OBJEXT) $(am__objects_253) lib583_OBJECTS = $(am_lib583_OBJECTS) lib583_LDADD = $(LDADD) lib583_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_254 = lib585-first.$(OBJEXT) am__objects_255 = lib585-testutil.$(OBJEXT) am__objects_256 = lib585-testtrace.$(OBJEXT) am_lib585_OBJECTS = lib585-lib500.$(OBJEXT) $(am__objects_254) \ $(am__objects_255) $(am__objects_256) lib585_OBJECTS = $(am_lib585_OBJECTS) lib585_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_257 = lib586-first.$(OBJEXT) am_lib586_OBJECTS = lib586-lib586.$(OBJEXT) $(am__objects_257) lib586_OBJECTS = $(am_lib586_OBJECTS) lib586_LDADD = $(LDADD) lib586_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_258 = lib587-first.$(OBJEXT) am_lib587_OBJECTS = lib587-lib554.$(OBJEXT) $(am__objects_258) lib587_OBJECTS = $(am_lib587_OBJECTS) lib587_LDADD = $(LDADD) lib587_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_259 = lib589-first.$(OBJEXT) am_lib589_OBJECTS = lib589-lib589.$(OBJEXT) $(am__objects_259) lib589_OBJECTS = $(am_lib589_OBJECTS) lib589_LDADD = $(LDADD) lib589_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_260 = lib590-first.$(OBJEXT) am_lib590_OBJECTS = lib590-lib590.$(OBJEXT) $(am__objects_260) lib590_OBJECTS = $(am_lib590_OBJECTS) lib590_LDADD = $(LDADD) lib590_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_261 = lib591-first.$(OBJEXT) am__objects_262 = lib591-testutil.$(OBJEXT) am__objects_263 = ../../lib/lib591-warnless.$(OBJEXT) am_lib591_OBJECTS = lib591-lib591.$(OBJEXT) $(am__objects_261) \ $(am__objects_262) $(am__objects_263) lib591_OBJECTS = $(am_lib591_OBJECTS) lib591_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_264 = lib597-first.$(OBJEXT) am__objects_265 = lib597-testutil.$(OBJEXT) am__objects_266 = ../../lib/lib597-warnless.$(OBJEXT) am_lib597_OBJECTS = lib597-lib597.$(OBJEXT) $(am__objects_264) \ $(am__objects_265) $(am__objects_266) lib597_OBJECTS = $(am_lib597_OBJECTS) lib597_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_267 = lib598-first.$(OBJEXT) am_lib598_OBJECTS = lib598-lib598.$(OBJEXT) $(am__objects_267) lib598_OBJECTS = $(am_lib598_OBJECTS) lib598_LDADD = $(LDADD) lib598_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_268 = lib599-first.$(OBJEXT) am_lib599_OBJECTS = lib599-lib599.$(OBJEXT) $(am__objects_268) lib599_OBJECTS = $(am_lib599_OBJECTS) lib599_LDADD = $(LDADD) lib599_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_269 = lib643-first.$(OBJEXT) am_lib643_OBJECTS = lib643-lib643.$(OBJEXT) $(am__objects_269) lib643_OBJECTS = $(am_lib643_OBJECTS) lib643_LDADD = $(LDADD) lib643_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_270 = lib644-first.$(OBJEXT) am_lib644_OBJECTS = lib644-lib643.$(OBJEXT) $(am__objects_270) lib644_OBJECTS = $(am_lib644_OBJECTS) lib644_LDADD = $(LDADD) lib644_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_271 = lib645-first.$(OBJEXT) am_lib645_OBJECTS = lib645-lib643.$(OBJEXT) $(am__objects_271) lib645_OBJECTS = $(am_lib645_OBJECTS) lib645_LDADD = $(LDADD) lib645_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_272 = lib650-first.$(OBJEXT) am_lib650_OBJECTS = lib650-lib650.$(OBJEXT) $(am__objects_272) lib650_OBJECTS = $(am_lib650_OBJECTS) lib650_LDADD = $(LDADD) lib650_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_273 = lib651-first.$(OBJEXT) am_lib651_OBJECTS = lib651-lib651.$(OBJEXT) $(am__objects_273) lib651_OBJECTS = $(am_lib651_OBJECTS) lib651_LDADD = $(LDADD) lib651_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_274 = lib652-first.$(OBJEXT) am_lib652_OBJECTS = lib652-lib652.$(OBJEXT) $(am__objects_274) lib652_OBJECTS = $(am_lib652_OBJECTS) lib652_LDADD = $(LDADD) lib652_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_275 = lib653-first.$(OBJEXT) am_lib653_OBJECTS = lib653-lib653.$(OBJEXT) $(am__objects_275) lib653_OBJECTS = $(am_lib653_OBJECTS) lib653_LDADD = $(LDADD) lib653_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_276 = lib654-first.$(OBJEXT) am_lib654_OBJECTS = lib654-lib654.$(OBJEXT) $(am__objects_276) lib654_OBJECTS = $(am_lib654_OBJECTS) lib654_LDADD = $(LDADD) lib654_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_277 = lib655-first.$(OBJEXT) am_lib655_OBJECTS = lib655-lib655.$(OBJEXT) $(am__objects_277) lib655_OBJECTS = $(am_lib655_OBJECTS) lib655_LDADD = $(LDADD) lib655_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_278 = lib658-first.$(OBJEXT) am__objects_279 = lib658-testutil.$(OBJEXT) am__objects_280 = ../../lib/lib658-warnless.$(OBJEXT) am_lib658_OBJECTS = lib658-lib658.$(OBJEXT) $(am__objects_278) \ $(am__objects_279) $(am__objects_280) lib658_OBJECTS = $(am_lib658_OBJECTS) lib658_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_281 = lib659-first.$(OBJEXT) am__objects_282 = lib659-testutil.$(OBJEXT) am__objects_283 = ../../lib/lib659-warnless.$(OBJEXT) am_lib659_OBJECTS = lib659-lib659.$(OBJEXT) $(am__objects_281) \ $(am__objects_282) $(am__objects_283) lib659_OBJECTS = $(am_lib659_OBJECTS) lib659_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_284 = libauthretry-first.$(OBJEXT) am_libauthretry_OBJECTS = libauthretry-libauthretry.$(OBJEXT) \ $(am__objects_284) libauthretry_OBJECTS = $(am_libauthretry_OBJECTS) libauthretry_LDADD = $(LDADD) libauthretry_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_285 = libntlmconnect-first.$(OBJEXT) am__objects_286 = libntlmconnect-testutil.$(OBJEXT) am__objects_287 = ../../lib/libntlmconnect-warnless.$(OBJEXT) am_libntlmconnect_OBJECTS = libntlmconnect-libntlmconnect.$(OBJEXT) \ $(am__objects_285) $(am__objects_286) $(am__objects_287) libntlmconnect_OBJECTS = $(am_libntlmconnect_OBJECTS) libntlmconnect_DEPENDENCIES = $(am__DEPENDENCIES_1) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) |
︙ | ︙ | |||
1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 | ../../lib/$(DEPDIR)/lib1533-warnless.Po \ ../../lib/$(DEPDIR)/lib1534-warnless.Po \ ../../lib/$(DEPDIR)/lib1535-warnless.Po \ ../../lib/$(DEPDIR)/lib1536-warnless.Po \ ../../lib/$(DEPDIR)/lib1537-warnless.Po \ ../../lib/$(DEPDIR)/lib1538-warnless.Po \ ../../lib/$(DEPDIR)/lib1540-warnless.Po \ ../../lib/$(DEPDIR)/lib1555-warnless.Po \ ../../lib/$(DEPDIR)/lib1556-warnless.Po \ ../../lib/$(DEPDIR)/lib1557-warnless.Po \ ../../lib/$(DEPDIR)/lib1591-warnless.Po \ ../../lib/$(DEPDIR)/lib1592-warnless.Po \ ../../lib/$(DEPDIR)/lib1900-warnless.Po \ ../../lib/$(DEPDIR)/lib2033-warnless.Po \ ../../lib/$(DEPDIR)/lib502-warnless.Po \ ../../lib/$(DEPDIR)/lib503-warnless.Po \ ../../lib/$(DEPDIR)/lib504-warnless.Po \ ../../lib/$(DEPDIR)/lib507-warnless.Po \ ../../lib/$(DEPDIR)/lib518-warnless.Po \ ../../lib/$(DEPDIR)/lib525-warnless.Po \ | > > | 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 | ../../lib/$(DEPDIR)/lib1533-warnless.Po \ ../../lib/$(DEPDIR)/lib1534-warnless.Po \ ../../lib/$(DEPDIR)/lib1535-warnless.Po \ ../../lib/$(DEPDIR)/lib1536-warnless.Po \ ../../lib/$(DEPDIR)/lib1537-warnless.Po \ ../../lib/$(DEPDIR)/lib1538-warnless.Po \ ../../lib/$(DEPDIR)/lib1540-warnless.Po \ ../../lib/$(DEPDIR)/lib1541-warnless.Po \ ../../lib/$(DEPDIR)/lib1555-warnless.Po \ ../../lib/$(DEPDIR)/lib1556-warnless.Po \ ../../lib/$(DEPDIR)/lib1557-warnless.Po \ ../../lib/$(DEPDIR)/lib1591-warnless.Po \ ../../lib/$(DEPDIR)/lib1592-warnless.Po \ ../../lib/$(DEPDIR)/lib1900-warnless.Po \ ../../lib/$(DEPDIR)/lib1905-warnless.Po \ ../../lib/$(DEPDIR)/lib2033-warnless.Po \ ../../lib/$(DEPDIR)/lib502-warnless.Po \ ../../lib/$(DEPDIR)/lib503-warnless.Po \ ../../lib/$(DEPDIR)/lib504-warnless.Po \ ../../lib/$(DEPDIR)/lib507-warnless.Po \ ../../lib/$(DEPDIR)/lib518-warnless.Po \ ../../lib/$(DEPDIR)/lib525-warnless.Po \ |
︙ | ︙ | |||
1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 | ../../lib/$(DEPDIR)/lib571-warnless.Po \ ../../lib/$(DEPDIR)/lib573-warnless.Po \ ../../lib/$(DEPDIR)/lib575-warnless.Po \ ../../lib/$(DEPDIR)/lib582-warnless.Po \ ../../lib/$(DEPDIR)/lib591-warnless.Po \ ../../lib/$(DEPDIR)/lib597-warnless.Po \ ../../lib/$(DEPDIR)/lib658-warnless.Po \ ../../lib/$(DEPDIR)/libntlmconnect-warnless.Po \ ../../lib/$(DEPDIR)/warnless.Po \ ./$(DEPDIR)/chkdecimalpoint-chkdecimalpoint.Po \ ./$(DEPDIR)/chkhostname-chkhostname.Po ./$(DEPDIR)/first.Po \ ./$(DEPDIR)/lib1156-first.Po ./$(DEPDIR)/lib1156-lib1156.Po \ ./$(DEPDIR)/lib1156-testutil.Po ./$(DEPDIR)/lib1500-first.Po \ ./$(DEPDIR)/lib1500-lib1500.Po ./$(DEPDIR)/lib1500-testutil.Po \ | > | 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 | ../../lib/$(DEPDIR)/lib571-warnless.Po \ ../../lib/$(DEPDIR)/lib573-warnless.Po \ ../../lib/$(DEPDIR)/lib575-warnless.Po \ ../../lib/$(DEPDIR)/lib582-warnless.Po \ ../../lib/$(DEPDIR)/lib591-warnless.Po \ ../../lib/$(DEPDIR)/lib597-warnless.Po \ ../../lib/$(DEPDIR)/lib658-warnless.Po \ ../../lib/$(DEPDIR)/lib659-warnless.Po \ ../../lib/$(DEPDIR)/libntlmconnect-warnless.Po \ ../../lib/$(DEPDIR)/warnless.Po \ ./$(DEPDIR)/chkdecimalpoint-chkdecimalpoint.Po \ ./$(DEPDIR)/chkhostname-chkhostname.Po ./$(DEPDIR)/first.Po \ ./$(DEPDIR)/lib1156-first.Po ./$(DEPDIR)/lib1156-lib1156.Po \ ./$(DEPDIR)/lib1156-testutil.Po ./$(DEPDIR)/lib1500-first.Po \ ./$(DEPDIR)/lib1500-lib1500.Po ./$(DEPDIR)/lib1500-testutil.Po \ |
︙ | ︙ | |||
1199 1200 1201 1202 1203 1204 1205 | ./$(DEPDIR)/lib1535-lib1535.Po ./$(DEPDIR)/lib1535-testutil.Po \ ./$(DEPDIR)/lib1536-first.Po ./$(DEPDIR)/lib1536-lib1536.Po \ ./$(DEPDIR)/lib1536-testutil.Po ./$(DEPDIR)/lib1537-first.Po \ ./$(DEPDIR)/lib1537-lib1537.Po ./$(DEPDIR)/lib1537-testutil.Po \ ./$(DEPDIR)/lib1538-first.Po ./$(DEPDIR)/lib1538-lib1538.Po \ ./$(DEPDIR)/lib1538-testutil.Po ./$(DEPDIR)/lib1540-first.Po \ ./$(DEPDIR)/lib1540-lib1540.Po ./$(DEPDIR)/lib1540-testutil.Po \ | > > | | | | | | | | | | | | | | | | > | 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 | ./$(DEPDIR)/lib1535-lib1535.Po ./$(DEPDIR)/lib1535-testutil.Po \ ./$(DEPDIR)/lib1536-first.Po ./$(DEPDIR)/lib1536-lib1536.Po \ ./$(DEPDIR)/lib1536-testutil.Po ./$(DEPDIR)/lib1537-first.Po \ ./$(DEPDIR)/lib1537-lib1537.Po ./$(DEPDIR)/lib1537-testutil.Po \ ./$(DEPDIR)/lib1538-first.Po ./$(DEPDIR)/lib1538-lib1538.Po \ ./$(DEPDIR)/lib1538-testutil.Po ./$(DEPDIR)/lib1540-first.Po \ ./$(DEPDIR)/lib1540-lib1540.Po ./$(DEPDIR)/lib1540-testutil.Po \ ./$(DEPDIR)/lib1541-first.Po ./$(DEPDIR)/lib1541-lib1541.Po \ ./$(DEPDIR)/lib1541-testutil.Po ./$(DEPDIR)/lib1550-first.Po \ ./$(DEPDIR)/lib1550-lib1550.Po ./$(DEPDIR)/lib1551-first.Po \ ./$(DEPDIR)/lib1551-lib1551.Po ./$(DEPDIR)/lib1552-first.Po \ ./$(DEPDIR)/lib1552-lib1552.Po ./$(DEPDIR)/lib1552-testutil.Po \ ./$(DEPDIR)/lib1553-first.Po ./$(DEPDIR)/lib1553-lib1553.Po \ ./$(DEPDIR)/lib1553-testutil.Po ./$(DEPDIR)/lib1554-first.Po \ ./$(DEPDIR)/lib1554-lib1554.Po ./$(DEPDIR)/lib1555-first.Po \ ./$(DEPDIR)/lib1555-lib1555.Po ./$(DEPDIR)/lib1555-testutil.Po \ ./$(DEPDIR)/lib1556-first.Po ./$(DEPDIR)/lib1556-lib1556.Po \ ./$(DEPDIR)/lib1556-testutil.Po ./$(DEPDIR)/lib1557-first.Po \ ./$(DEPDIR)/lib1557-lib1557.Po ./$(DEPDIR)/lib1557-testutil.Po \ ./$(DEPDIR)/lib1558.Po ./$(DEPDIR)/lib1560.Po \ ./$(DEPDIR)/lib1591-first.Po ./$(DEPDIR)/lib1591-lib1591.Po \ ./$(DEPDIR)/lib1591-testutil.Po ./$(DEPDIR)/lib1592-first.Po \ ./$(DEPDIR)/lib1592-lib1592.Po ./$(DEPDIR)/lib1592-testutil.Po \ ./$(DEPDIR)/lib1900-first.Po ./$(DEPDIR)/lib1900-lib1900.Po \ ./$(DEPDIR)/lib1900-testutil.Po ./$(DEPDIR)/lib1905-first.Po \ ./$(DEPDIR)/lib1905-lib1905.Po ./$(DEPDIR)/lib1905-testutil.Po \ ./$(DEPDIR)/lib2033-first.Po \ ./$(DEPDIR)/lib2033-libntlmconnect.Po \ ./$(DEPDIR)/lib2033-testutil.Po ./$(DEPDIR)/lib500-first.Po \ ./$(DEPDIR)/lib500-lib500.Po ./$(DEPDIR)/lib500-testtrace.Po \ ./$(DEPDIR)/lib500-testutil.Po ./$(DEPDIR)/lib501-first.Po \ ./$(DEPDIR)/lib501-lib501.Po ./$(DEPDIR)/lib502-first.Po \ ./$(DEPDIR)/lib502-lib502.Po ./$(DEPDIR)/lib502-testutil.Po \ |
︙ | ︙ | |||
1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 | ./$(DEPDIR)/lib650-lib650.Po ./$(DEPDIR)/lib651-first.Po \ ./$(DEPDIR)/lib651-lib651.Po ./$(DEPDIR)/lib652-first.Po \ ./$(DEPDIR)/lib652-lib652.Po ./$(DEPDIR)/lib653-first.Po \ ./$(DEPDIR)/lib653-lib653.Po ./$(DEPDIR)/lib654-first.Po \ ./$(DEPDIR)/lib654-lib654.Po ./$(DEPDIR)/lib655-first.Po \ ./$(DEPDIR)/lib655-lib655.Po ./$(DEPDIR)/lib658-first.Po \ ./$(DEPDIR)/lib658-lib658.Po ./$(DEPDIR)/lib658-testutil.Po \ ./$(DEPDIR)/libauthretry-first.Po \ ./$(DEPDIR)/libauthretry-libauthretry.Po \ ./$(DEPDIR)/libhostname_la-sethostname.Plo \ ./$(DEPDIR)/libntlmconnect-first.Po \ ./$(DEPDIR)/libntlmconnect-libntlmconnect.Po \ ./$(DEPDIR)/libntlmconnect-testutil.Po \ ./$(DEPDIR)/libstubgss_la-stub_gssapi.Plo \ | > > | 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 | ./$(DEPDIR)/lib650-lib650.Po ./$(DEPDIR)/lib651-first.Po \ ./$(DEPDIR)/lib651-lib651.Po ./$(DEPDIR)/lib652-first.Po \ ./$(DEPDIR)/lib652-lib652.Po ./$(DEPDIR)/lib653-first.Po \ ./$(DEPDIR)/lib653-lib653.Po ./$(DEPDIR)/lib654-first.Po \ ./$(DEPDIR)/lib654-lib654.Po ./$(DEPDIR)/lib655-first.Po \ ./$(DEPDIR)/lib655-lib655.Po ./$(DEPDIR)/lib658-first.Po \ ./$(DEPDIR)/lib658-lib658.Po ./$(DEPDIR)/lib658-testutil.Po \ ./$(DEPDIR)/lib659-first.Po ./$(DEPDIR)/lib659-lib659.Po \ ./$(DEPDIR)/lib659-testutil.Po \ ./$(DEPDIR)/libauthretry-first.Po \ ./$(DEPDIR)/libauthretry-libauthretry.Po \ ./$(DEPDIR)/libhostname_la-sethostname.Plo \ ./$(DEPDIR)/libntlmconnect-first.Po \ ./$(DEPDIR)/libntlmconnect-libntlmconnect.Po \ ./$(DEPDIR)/libntlmconnect-testutil.Po \ ./$(DEPDIR)/libstubgss_la-stub_gssapi.Plo \ |
︙ | ︙ | |||
1362 1363 1364 1365 1366 1367 1368 | $(lib1518_SOURCES) $(lib1520_SOURCES) \ $(nodist_lib1521_SOURCES) $(lib1522_SOURCES) \ $(lib1525_SOURCES) $(lib1526_SOURCES) $(lib1527_SOURCES) \ $(lib1528_SOURCES) $(lib1529_SOURCES) $(lib1530_SOURCES) \ $(lib1531_SOURCES) $(lib1532_SOURCES) $(lib1533_SOURCES) \ $(lib1534_SOURCES) $(lib1535_SOURCES) $(lib1536_SOURCES) \ $(lib1537_SOURCES) $(lib1538_SOURCES) $(lib1540_SOURCES) \ | | | | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 | $(lib1518_SOURCES) $(lib1520_SOURCES) \ $(nodist_lib1521_SOURCES) $(lib1522_SOURCES) \ $(lib1525_SOURCES) $(lib1526_SOURCES) $(lib1527_SOURCES) \ $(lib1528_SOURCES) $(lib1529_SOURCES) $(lib1530_SOURCES) \ $(lib1531_SOURCES) $(lib1532_SOURCES) $(lib1533_SOURCES) \ $(lib1534_SOURCES) $(lib1535_SOURCES) $(lib1536_SOURCES) \ $(lib1537_SOURCES) $(lib1538_SOURCES) $(lib1540_SOURCES) \ $(lib1541_SOURCES) $(lib1550_SOURCES) $(lib1551_SOURCES) \ $(lib1552_SOURCES) $(lib1553_SOURCES) $(lib1554_SOURCES) \ $(lib1555_SOURCES) $(lib1556_SOURCES) $(lib1557_SOURCES) \ $(lib1558_SOURCES) $(lib1560_SOURCES) $(lib1591_SOURCES) \ $(lib1592_SOURCES) $(lib1900_SOURCES) $(lib1905_SOURCES) \ $(lib2033_SOURCES) $(lib500_SOURCES) $(lib501_SOURCES) \ $(lib502_SOURCES) $(lib503_SOURCES) $(lib504_SOURCES) \ $(lib505_SOURCES) $(lib506_SOURCES) $(lib507_SOURCES) \ $(lib508_SOURCES) $(lib509_SOURCES) $(lib510_SOURCES) \ $(lib511_SOURCES) $(lib512_SOURCES) $(lib513_SOURCES) \ $(lib514_SOURCES) $(lib515_SOURCES) $(lib516_SOURCES) \ $(lib517_SOURCES) $(lib518_SOURCES) $(lib519_SOURCES) \ $(lib520_SOURCES) $(lib521_SOURCES) $(lib523_SOURCES) \ $(lib524_SOURCES) $(lib525_SOURCES) $(lib526_SOURCES) \ $(lib527_SOURCES) $(lib529_SOURCES) $(lib530_SOURCES) \ $(lib532_SOURCES) $(lib533_SOURCES) $(lib536_SOURCES) \ $(lib537_SOURCES) $(lib539_SOURCES) $(lib540_SOURCES) \ $(lib541_SOURCES) $(lib542_SOURCES) $(lib543_SOURCES) \ $(lib544_SOURCES) $(lib545_SOURCES) $(lib547_SOURCES) \ $(lib548_SOURCES) $(lib549_SOURCES) $(lib552_SOURCES) \ $(lib553_SOURCES) $(lib554_SOURCES) $(lib555_SOURCES) \ $(lib556_SOURCES) $(lib557_SOURCES) $(lib558_SOURCES) \ $(lib559_SOURCES) $(lib560_SOURCES) $(lib562_SOURCES) \ $(lib564_SOURCES) $(lib565_SOURCES) $(lib566_SOURCES) \ $(lib567_SOURCES) $(lib568_SOURCES) $(lib569_SOURCES) \ $(lib570_SOURCES) $(lib571_SOURCES) $(lib572_SOURCES) \ $(lib573_SOURCES) $(lib574_SOURCES) $(lib575_SOURCES) \ $(lib576_SOURCES) $(lib578_SOURCES) $(lib579_SOURCES) \ $(lib582_SOURCES) $(lib583_SOURCES) $(lib585_SOURCES) \ $(lib586_SOURCES) $(lib587_SOURCES) $(lib589_SOURCES) \ $(lib590_SOURCES) $(lib591_SOURCES) $(lib597_SOURCES) \ $(lib598_SOURCES) $(lib599_SOURCES) $(lib643_SOURCES) \ $(lib644_SOURCES) $(lib645_SOURCES) $(lib650_SOURCES) \ $(lib651_SOURCES) $(lib652_SOURCES) $(lib653_SOURCES) \ $(lib654_SOURCES) $(lib655_SOURCES) $(lib658_SOURCES) \ $(lib659_SOURCES) $(libauthretry_SOURCES) \ $(libntlmconnect_SOURCES) DIST_SOURCES = $(libhostname_la_SOURCES) \ $(am__libstubgss_la_SOURCES_DIST) $(chkdecimalpoint_SOURCES) \ $(chkhostname_SOURCES) $(lib1156_SOURCES) $(lib1500_SOURCES) \ $(lib1501_SOURCES) $(lib1502_SOURCES) $(lib1503_SOURCES) \ $(lib1504_SOURCES) $(lib1505_SOURCES) $(lib1506_SOURCES) \ $(lib1507_SOURCES) $(lib1508_SOURCES) $(lib1509_SOURCES) \ $(lib1510_SOURCES) $(lib1511_SOURCES) $(lib1512_SOURCES) \ $(lib1513_SOURCES) $(lib1514_SOURCES) $(lib1515_SOURCES) \ $(lib1517_SOURCES) $(lib1518_SOURCES) $(lib1520_SOURCES) \ $(lib1522_SOURCES) $(lib1525_SOURCES) $(lib1526_SOURCES) \ $(lib1527_SOURCES) $(lib1528_SOURCES) $(lib1529_SOURCES) \ $(lib1530_SOURCES) $(lib1531_SOURCES) $(lib1532_SOURCES) \ $(lib1533_SOURCES) $(lib1534_SOURCES) $(lib1535_SOURCES) \ $(lib1536_SOURCES) $(lib1537_SOURCES) $(lib1538_SOURCES) \ $(lib1540_SOURCES) $(lib1541_SOURCES) $(lib1550_SOURCES) \ $(lib1551_SOURCES) $(lib1552_SOURCES) $(lib1553_SOURCES) \ $(lib1554_SOURCES) $(lib1555_SOURCES) $(lib1556_SOURCES) \ $(lib1557_SOURCES) $(lib1558_SOURCES) $(lib1560_SOURCES) \ $(lib1591_SOURCES) $(lib1592_SOURCES) $(lib1900_SOURCES) \ $(lib1905_SOURCES) $(lib2033_SOURCES) $(lib500_SOURCES) \ $(lib501_SOURCES) $(lib502_SOURCES) $(lib503_SOURCES) \ $(lib504_SOURCES) $(lib505_SOURCES) $(lib506_SOURCES) \ $(lib507_SOURCES) $(lib508_SOURCES) $(lib509_SOURCES) \ $(lib510_SOURCES) $(lib511_SOURCES) $(lib512_SOURCES) \ $(lib513_SOURCES) $(lib514_SOURCES) $(lib515_SOURCES) \ $(lib516_SOURCES) $(lib517_SOURCES) $(lib518_SOURCES) \ $(lib519_SOURCES) $(lib520_SOURCES) $(lib521_SOURCES) \ |
︙ | ︙ | |||
1396 1397 1398 1399 1400 1401 1402 | $(lib579_SOURCES) $(lib582_SOURCES) $(lib583_SOURCES) \ $(lib585_SOURCES) $(lib586_SOURCES) $(lib587_SOURCES) \ $(lib589_SOURCES) $(lib590_SOURCES) $(lib591_SOURCES) \ $(lib597_SOURCES) $(lib598_SOURCES) $(lib599_SOURCES) \ $(lib643_SOURCES) $(lib644_SOURCES) $(lib645_SOURCES) \ $(lib650_SOURCES) $(lib651_SOURCES) $(lib652_SOURCES) \ $(lib653_SOURCES) $(lib654_SOURCES) $(lib655_SOURCES) \ | | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 | $(lib579_SOURCES) $(lib582_SOURCES) $(lib583_SOURCES) \ $(lib585_SOURCES) $(lib586_SOURCES) $(lib587_SOURCES) \ $(lib589_SOURCES) $(lib590_SOURCES) $(lib591_SOURCES) \ $(lib597_SOURCES) $(lib598_SOURCES) $(lib599_SOURCES) \ $(lib643_SOURCES) $(lib644_SOURCES) $(lib645_SOURCES) \ $(lib650_SOURCES) $(lib651_SOURCES) $(lib652_SOURCES) \ $(lib653_SOURCES) $(lib654_SOURCES) $(lib655_SOURCES) \ $(lib658_SOURCES) $(lib659_SOURCES) $(libauthretry_SOURCES) \ $(libntlmconnect_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) |
︙ | ︙ | |||
1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ | > > | 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ |
︙ | ︙ | |||
1601 1602 1603 1604 1605 1606 1607 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ | < > | 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ |
︙ | ︙ | |||
1683 1684 1685 1686 1687 1688 1689 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | | 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 | lib654_SOURCES = lib654.c $(SUPPORTFILES) lib654_CPPFLAGS = $(AM_CPPFLAGS) lib655_SOURCES = lib655.c $(SUPPORTFILES) lib655_CPPFLAGS = $(AM_CPPFLAGS) lib658_SOURCES = lib658.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib658_LDADD = $(TESTUTIL_LIBS) lib658_CPPFLAGS = $(AM_CPPFLAGS) lib1500_SOURCES = lib1500.c $(SUPPORTFILES) $(TESTUTIL) lib1500_LDADD = $(TESTUTIL_LIBS) lib1500_CPPFLAGS = $(AM_CPPFLAGS) lib1501_SOURCES = lib1501.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1501_LDADD = $(TESTUTIL_LIBS) lib1501_CPPFLAGS = $(AM_CPPFLAGS) lib1502_SOURCES = lib1502.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) | > > > | 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 | lib654_SOURCES = lib654.c $(SUPPORTFILES) lib654_CPPFLAGS = $(AM_CPPFLAGS) lib655_SOURCES = lib655.c $(SUPPORTFILES) lib655_CPPFLAGS = $(AM_CPPFLAGS) lib658_SOURCES = lib658.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib658_LDADD = $(TESTUTIL_LIBS) lib658_CPPFLAGS = $(AM_CPPFLAGS) lib659_SOURCES = lib659.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib659_LDADD = $(TESTUTIL_LIBS) lib659_CPPFLAGS = $(AM_CPPFLAGS) lib1500_SOURCES = lib1500.c $(SUPPORTFILES) $(TESTUTIL) lib1500_LDADD = $(TESTUTIL_LIBS) lib1500_CPPFLAGS = $(AM_CPPFLAGS) lib1501_SOURCES = lib1501.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1501_LDADD = $(TESTUTIL_LIBS) lib1501_CPPFLAGS = $(AM_CPPFLAGS) lib1502_SOURCES = lib1502.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) |
︙ | ︙ | |||
2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 | lib1537_CPPFLAGS = $(AM_CPPFLAGS) lib1538_SOURCES = lib1538.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1538_LDADD = $(TESTUTIL_LIBS) lib1538_CPPFLAGS = $(AM_CPPFLAGS) lib1540_SOURCES = lib1540.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1540_LDADD = $(TESTUTIL_LIBS) lib1540_CPPFLAGS = $(AM_CPPFLAGS) lib1550_SOURCES = lib1550.c $(SUPPORTFILES) lib1550_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1517 lib1551_SOURCES = lib1551.c $(SUPPORTFILES) lib1551_CPPFLAGS = $(AM_CPPFLAGS) lib1552_SOURCES = lib1552.c $(SUPPORTFILES) $(TESTUTIL) lib1552_LDADD = $(TESTUTIL_LIBS) lib1552_CPPFLAGS = $(AM_CPPFLAGS) | > > > | 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 | lib1537_CPPFLAGS = $(AM_CPPFLAGS) lib1538_SOURCES = lib1538.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1538_LDADD = $(TESTUTIL_LIBS) lib1538_CPPFLAGS = $(AM_CPPFLAGS) lib1540_SOURCES = lib1540.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1540_LDADD = $(TESTUTIL_LIBS) lib1540_CPPFLAGS = $(AM_CPPFLAGS) lib1541_SOURCES = lib1541.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1541_LDADD = $(TESTUTIL_LIBS) lib1541_CPPFLAGS = $(AM_CPPFLAGS) lib1550_SOURCES = lib1550.c $(SUPPORTFILES) lib1550_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1517 lib1551_SOURCES = lib1551.c $(SUPPORTFILES) lib1551_CPPFLAGS = $(AM_CPPFLAGS) lib1552_SOURCES = lib1552.c $(SUPPORTFILES) $(TESTUTIL) lib1552_LDADD = $(TESTUTIL_LIBS) lib1552_CPPFLAGS = $(AM_CPPFLAGS) |
︙ | ︙ | |||
2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 | lib1591_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1591 lib1592_SOURCES = lib1592.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1592_LDADD = $(TESTUTIL_LIBS) lib1592_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1592 lib1900_SOURCES = lib1900.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1900_LDADD = $(TESTUTIL_LIBS) lib1900_CPPFLAGS = $(AM_CPPFLAGS) lib2033_SOURCES = libntlmconnect.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib2033_LDADD = $(TESTUTIL_LIBS) lib2033_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_PIPELINING @BUILD_LIBHOSTNAME_FALSE@noinst_LTLIBRARIES = $(am__append_6) # Makefile.inc provides the source defines (TESTUTIL, SUPPORTFILES, # noinst_PROGRAMS, lib*_SOURCES, and lib*_CFLAGS) | > > > | 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 | lib1591_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1591 lib1592_SOURCES = lib1592.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1592_LDADD = $(TESTUTIL_LIBS) lib1592_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1592 lib1900_SOURCES = lib1900.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1900_LDADD = $(TESTUTIL_LIBS) lib1900_CPPFLAGS = $(AM_CPPFLAGS) lib1905_SOURCES = lib1905.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1905_LDADD = $(TESTUTIL_LIBS) lib1905_CPPFLAGS = $(AM_CPPFLAGS) lib2033_SOURCES = libntlmconnect.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib2033_LDADD = $(TESTUTIL_LIBS) lib2033_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_PIPELINING @BUILD_LIBHOSTNAME_FALSE@noinst_LTLIBRARIES = $(am__append_6) # Makefile.inc provides the source defines (TESTUTIL, SUPPORTFILES, # noinst_PROGRAMS, lib*_SOURCES, and lib*_CFLAGS) |
︙ | ︙ | |||
2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 | libhostname_la_DEPENDENCIES = @BUILD_STUB_GSS_TRUE@libstubgss_la_CPPFLAGS = $(AM_CPPFLAGS) @BUILD_STUB_GSS_TRUE@libstubgss_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version -rpath /nowhere @BUILD_STUB_GSS_TRUE@libstubgss_la_CFLAGS = $(AM_CFLAGS) -g @BUILD_STUB_GSS_TRUE@libstubgss_la_SOURCES = stub_gssapi.c stub_gssapi.h @BUILD_STUB_GSS_TRUE@libstubgss_la_LIBADD = @BUILD_STUB_GSS_TRUE@libstubgss_la_DEPENDENCIES = all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/Makefile.inc $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ | > > > > | 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 | libhostname_la_DEPENDENCIES = @BUILD_STUB_GSS_TRUE@libstubgss_la_CPPFLAGS = $(AM_CPPFLAGS) @BUILD_STUB_GSS_TRUE@libstubgss_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version -rpath /nowhere @BUILD_STUB_GSS_TRUE@libstubgss_la_CFLAGS = $(AM_CFLAGS) -g @BUILD_STUB_GSS_TRUE@libstubgss_la_SOURCES = stub_gssapi.c stub_gssapi.h @BUILD_STUB_GSS_TRUE@libstubgss_la_LIBADD = @BUILD_STUB_GSS_TRUE@libstubgss_la_DEPENDENCIES = CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/Makefile.inc $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ |
︙ | ︙ | |||
2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 | $(AM_V_CCLD)$(LINK) $(lib1538_OBJECTS) $(lib1538_LDADD) $(LIBS) ../../lib/lib1540-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib1540$(EXEEXT): $(lib1540_OBJECTS) $(lib1540_DEPENDENCIES) $(EXTRA_lib1540_DEPENDENCIES) @rm -f lib1540$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1540_OBJECTS) $(lib1540_LDADD) $(LIBS) lib1550$(EXEEXT): $(lib1550_OBJECTS) $(lib1550_DEPENDENCIES) $(EXTRA_lib1550_DEPENDENCIES) @rm -f lib1550$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1550_OBJECTS) $(lib1550_LDADD) $(LIBS) lib1551$(EXEEXT): $(lib1551_OBJECTS) $(lib1551_DEPENDENCIES) $(EXTRA_lib1551_DEPENDENCIES) @rm -f lib1551$(EXEEXT) | > > > > > > | 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 | $(AM_V_CCLD)$(LINK) $(lib1538_OBJECTS) $(lib1538_LDADD) $(LIBS) ../../lib/lib1540-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib1540$(EXEEXT): $(lib1540_OBJECTS) $(lib1540_DEPENDENCIES) $(EXTRA_lib1540_DEPENDENCIES) @rm -f lib1540$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1540_OBJECTS) $(lib1540_LDADD) $(LIBS) ../../lib/lib1541-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib1541$(EXEEXT): $(lib1541_OBJECTS) $(lib1541_DEPENDENCIES) $(EXTRA_lib1541_DEPENDENCIES) @rm -f lib1541$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1541_OBJECTS) $(lib1541_LDADD) $(LIBS) lib1550$(EXEEXT): $(lib1550_OBJECTS) $(lib1550_DEPENDENCIES) $(EXTRA_lib1550_DEPENDENCIES) @rm -f lib1550$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1550_OBJECTS) $(lib1550_LDADD) $(LIBS) lib1551$(EXEEXT): $(lib1551_OBJECTS) $(lib1551_DEPENDENCIES) $(EXTRA_lib1551_DEPENDENCIES) @rm -f lib1551$(EXEEXT) |
︙ | ︙ | |||
2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 | $(AM_V_CCLD)$(LINK) $(lib1592_OBJECTS) $(lib1592_LDADD) $(LIBS) ../../lib/lib1900-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib1900$(EXEEXT): $(lib1900_OBJECTS) $(lib1900_DEPENDENCIES) $(EXTRA_lib1900_DEPENDENCIES) @rm -f lib1900$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1900_OBJECTS) $(lib1900_LDADD) $(LIBS) ../../lib/lib2033-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib2033$(EXEEXT): $(lib2033_OBJECTS) $(lib2033_DEPENDENCIES) $(EXTRA_lib2033_DEPENDENCIES) @rm -f lib2033$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib2033_OBJECTS) $(lib2033_LDADD) $(LIBS) | > > > > > > | 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 | $(AM_V_CCLD)$(LINK) $(lib1592_OBJECTS) $(lib1592_LDADD) $(LIBS) ../../lib/lib1900-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib1900$(EXEEXT): $(lib1900_OBJECTS) $(lib1900_DEPENDENCIES) $(EXTRA_lib1900_DEPENDENCIES) @rm -f lib1900$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1900_OBJECTS) $(lib1900_LDADD) $(LIBS) ../../lib/lib1905-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib1905$(EXEEXT): $(lib1905_OBJECTS) $(lib1905_DEPENDENCIES) $(EXTRA_lib1905_DEPENDENCIES) @rm -f lib1905$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1905_OBJECTS) $(lib1905_LDADD) $(LIBS) ../../lib/lib2033-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib2033$(EXEEXT): $(lib2033_OBJECTS) $(lib2033_DEPENDENCIES) $(EXTRA_lib2033_DEPENDENCIES) @rm -f lib2033$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib2033_OBJECTS) $(lib2033_LDADD) $(LIBS) |
︙ | ︙ | |||
2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 | $(AM_V_CCLD)$(LINK) $(lib655_OBJECTS) $(lib655_LDADD) $(LIBS) ../../lib/lib658-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib658$(EXEEXT): $(lib658_OBJECTS) $(lib658_DEPENDENCIES) $(EXTRA_lib658_DEPENDENCIES) @rm -f lib658$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib658_OBJECTS) $(lib658_LDADD) $(LIBS) libauthretry$(EXEEXT): $(libauthretry_OBJECTS) $(libauthretry_DEPENDENCIES) $(EXTRA_libauthretry_DEPENDENCIES) @rm -f libauthretry$(EXEEXT) $(AM_V_CCLD)$(LINK) $(libauthretry_OBJECTS) $(libauthretry_LDADD) $(LIBS) ../../lib/libntlmconnect-warnless.$(OBJEXT): \ ../../lib/$(am__dirstamp) ../../lib/$(DEPDIR)/$(am__dirstamp) | > > > > > > | 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 | $(AM_V_CCLD)$(LINK) $(lib655_OBJECTS) $(lib655_LDADD) $(LIBS) ../../lib/lib658-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib658$(EXEEXT): $(lib658_OBJECTS) $(lib658_DEPENDENCIES) $(EXTRA_lib658_DEPENDENCIES) @rm -f lib658$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib658_OBJECTS) $(lib658_LDADD) $(LIBS) ../../lib/lib659-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib659$(EXEEXT): $(lib659_OBJECTS) $(lib659_DEPENDENCIES) $(EXTRA_lib659_DEPENDENCIES) @rm -f lib659$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib659_OBJECTS) $(lib659_LDADD) $(LIBS) libauthretry$(EXEEXT): $(libauthretry_OBJECTS) $(libauthretry_DEPENDENCIES) $(EXTRA_libauthretry_DEPENDENCIES) @rm -f libauthretry$(EXEEXT) $(AM_V_CCLD)$(LINK) $(libauthretry_OBJECTS) $(libauthretry_LDADD) $(LIBS) ../../lib/libntlmconnect-warnless.$(OBJEXT): \ ../../lib/$(am__dirstamp) ../../lib/$(DEPDIR)/$(am__dirstamp) |
︙ | ︙ | |||
2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 | @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1533-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1534-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1535-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1536-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1537-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1538-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1540-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1555-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1556-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1557-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1591-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1592-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1900-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib2033-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib502-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib503-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib504-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib507-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib518-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib525-warnless.Po@am__quote@ # am--include-marker | > > | 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 | @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1533-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1534-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1535-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1536-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1537-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1538-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1540-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1541-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1555-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1556-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1557-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1591-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1592-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1900-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1905-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib2033-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib502-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib503-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib504-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib507-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib518-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib525-warnless.Po@am__quote@ # am--include-marker |
︙ | ︙ | |||
2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 | @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib571-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib573-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib575-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib582-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib591-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib597-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib658-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/libntlmconnect-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chkdecimalpoint-chkdecimalpoint.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chkhostname-chkhostname.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1156-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1156-lib1156.Po@am__quote@ # am--include-marker | > | 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 | @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib571-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib573-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib575-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib582-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib591-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib597-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib658-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib659-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/libntlmconnect-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chkdecimalpoint-chkdecimalpoint.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chkhostname-chkhostname.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1156-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1156-lib1156.Po@am__quote@ # am--include-marker |
︙ | ︙ | |||
3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1537-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1538-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1538-lib1538.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1538-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1540-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1540-lib1540.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1540-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1550-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1550-lib1550.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1551-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1551-lib1551.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1552-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1552-lib1552.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1552-testutil.Po@am__quote@ # am--include-marker | > > > | 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1537-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1538-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1538-lib1538.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1538-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1540-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1540-lib1540.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1540-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1541-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1541-lib1541.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1541-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1550-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1550-lib1550.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1551-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1551-lib1551.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1552-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1552-lib1552.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1552-testutil.Po@am__quote@ # am--include-marker |
︙ | ︙ | |||
3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1591-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1592-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1592-lib1592.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1592-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1900-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1900-lib1900.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1900-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib2033-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib2033-libntlmconnect.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib2033-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib500-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib500-lib500.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib500-testtrace.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib500-testutil.Po@am__quote@ # am--include-marker | > > > | 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1591-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1592-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1592-lib1592.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1592-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1900-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1900-lib1900.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1900-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1905-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1905-lib1905.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1905-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib2033-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib2033-libntlmconnect.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib2033-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib500-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib500-lib500.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib500-testtrace.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib500-testutil.Po@am__quote@ # am--include-marker |
︙ | ︙ | |||
3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib654-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib654-lib654.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib655-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib655-lib655.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib658-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib658-lib658.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib658-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libauthretry-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libauthretry-libauthretry.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhostname_la-sethostname.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libntlmconnect-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libntlmconnect-libntlmconnect.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libntlmconnect-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstubgss_la-stub_gssapi.Plo@am__quote@ # am--include-marker | > > > | 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib654-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib654-lib654.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib655-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib655-lib655.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib658-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib658-lib658.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib658-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib659-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib659-lib659.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib659-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libauthretry-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libauthretry-libauthretry.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhostname_la-sethostname.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libntlmconnect-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libntlmconnect-libntlmconnect.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libntlmconnect-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libstubgss_la-stub_gssapi.Plo@am__quote@ # am--include-marker |
︙ | ︙ | |||
5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 | ../../lib/lib1540-warnless.obj: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1540_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib1540-warnless.obj -MD -MP -MF ../../lib/$(DEPDIR)/lib1540-warnless.Tpo -c -o ../../lib/lib1540-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib1540-warnless.Tpo ../../lib/$(DEPDIR)/lib1540-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib1540-warnless.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1540_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib1540-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` lib1550-lib1550.o: lib1550.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1550_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1550-lib1550.o -MD -MP -MF $(DEPDIR)/lib1550-lib1550.Tpo -c -o lib1550-lib1550.o `test -f 'lib1550.c' || echo '$(srcdir)/'`lib1550.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1550-lib1550.Tpo $(DEPDIR)/lib1550-lib1550.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib1550.c' object='lib1550-lib1550.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1550_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1550-lib1550.o `test -f 'lib1550.c' || echo '$(srcdir)/'`lib1550.c | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 | ../../lib/lib1540-warnless.obj: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1540_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib1540-warnless.obj -MD -MP -MF ../../lib/$(DEPDIR)/lib1540-warnless.Tpo -c -o ../../lib/lib1540-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib1540-warnless.Tpo ../../lib/$(DEPDIR)/lib1540-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib1540-warnless.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1540_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib1540-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` lib1541-lib1541.o: lib1541.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1541_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1541-lib1541.o -MD -MP -MF $(DEPDIR)/lib1541-lib1541.Tpo -c -o lib1541-lib1541.o `test -f 'lib1541.c' || echo '$(srcdir)/'`lib1541.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1541-lib1541.Tpo $(DEPDIR)/lib1541-lib1541.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib1541.c' object='lib1541-lib1541.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1541_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1541-lib1541.o `test -f 'lib1541.c' || echo '$(srcdir)/'`lib1541.c lib1541-lib1541.obj: lib1541.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1541_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1541-lib1541.obj -MD -MP -MF $(DEPDIR)/lib1541-lib1541.Tpo -c -o lib1541-lib1541.obj `if test -f 'lib1541.c'; then $(CYGPATH_W) 'lib1541.c'; else $(CYGPATH_W) '$(srcdir)/lib1541.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1541-lib1541.Tpo $(DEPDIR)/lib1541-lib1541.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib1541.c' object='lib1541-lib1541.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1541_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1541-lib1541.obj `if test -f 'lib1541.c'; then $(CYGPATH_W) 'lib1541.c'; else $(CYGPATH_W) '$(srcdir)/lib1541.c'; fi` lib1541-first.o: first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1541_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1541-first.o -MD -MP -MF $(DEPDIR)/lib1541-first.Tpo -c -o lib1541-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1541-first.Tpo $(DEPDIR)/lib1541-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='first.c' object='lib1541-first.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1541_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1541-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c lib1541-first.obj: first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1541_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1541-first.obj -MD -MP -MF $(DEPDIR)/lib1541-first.Tpo -c -o lib1541-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1541-first.Tpo $(DEPDIR)/lib1541-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='first.c' object='lib1541-first.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1541_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1541-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi` lib1541-testutil.o: testutil.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1541_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1541-testutil.o -MD -MP -MF $(DEPDIR)/lib1541-testutil.Tpo -c -o lib1541-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1541-testutil.Tpo $(DEPDIR)/lib1541-testutil.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutil.c' object='lib1541-testutil.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1541_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1541-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c lib1541-testutil.obj: testutil.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1541_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1541-testutil.obj -MD -MP -MF $(DEPDIR)/lib1541-testutil.Tpo -c -o lib1541-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1541-testutil.Tpo $(DEPDIR)/lib1541-testutil.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutil.c' object='lib1541-testutil.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1541_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1541-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi` ../../lib/lib1541-warnless.o: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1541_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib1541-warnless.o -MD -MP -MF ../../lib/$(DEPDIR)/lib1541-warnless.Tpo -c -o ../../lib/lib1541-warnless.o `test -f '../../lib/warnless.c' || echo '$(srcdir)/'`../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib1541-warnless.Tpo ../../lib/$(DEPDIR)/lib1541-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib1541-warnless.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1541_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib1541-warnless.o `test -f '../../lib/warnless.c' || echo '$(srcdir)/'`../../lib/warnless.c ../../lib/lib1541-warnless.obj: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1541_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib1541-warnless.obj -MD -MP -MF ../../lib/$(DEPDIR)/lib1541-warnless.Tpo -c -o ../../lib/lib1541-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib1541-warnless.Tpo ../../lib/$(DEPDIR)/lib1541-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib1541-warnless.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1541_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib1541-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` lib1550-lib1550.o: lib1550.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1550_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1550-lib1550.o -MD -MP -MF $(DEPDIR)/lib1550-lib1550.Tpo -c -o lib1550-lib1550.o `test -f 'lib1550.c' || echo '$(srcdir)/'`lib1550.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1550-lib1550.Tpo $(DEPDIR)/lib1550-lib1550.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib1550.c' object='lib1550-lib1550.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1550_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1550-lib1550.o `test -f 'lib1550.c' || echo '$(srcdir)/'`lib1550.c |
︙ | ︙ | |||
5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 | ../../lib/lib1900-warnless.obj: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1900_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib1900-warnless.obj -MD -MP -MF ../../lib/$(DEPDIR)/lib1900-warnless.Tpo -c -o ../../lib/lib1900-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib1900-warnless.Tpo ../../lib/$(DEPDIR)/lib1900-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib1900-warnless.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1900_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib1900-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` lib2033-libntlmconnect.o: libntlmconnect.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib2033_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib2033-libntlmconnect.o -MD -MP -MF $(DEPDIR)/lib2033-libntlmconnect.Tpo -c -o lib2033-libntlmconnect.o `test -f 'libntlmconnect.c' || echo '$(srcdir)/'`libntlmconnect.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib2033-libntlmconnect.Tpo $(DEPDIR)/lib2033-libntlmconnect.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libntlmconnect.c' object='lib2033-libntlmconnect.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib2033_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib2033-libntlmconnect.o `test -f 'libntlmconnect.c' || echo '$(srcdir)/'`libntlmconnect.c | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 | ../../lib/lib1900-warnless.obj: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1900_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib1900-warnless.obj -MD -MP -MF ../../lib/$(DEPDIR)/lib1900-warnless.Tpo -c -o ../../lib/lib1900-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib1900-warnless.Tpo ../../lib/$(DEPDIR)/lib1900-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib1900-warnless.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1900_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib1900-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` lib1905-lib1905.o: lib1905.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1905_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1905-lib1905.o -MD -MP -MF $(DEPDIR)/lib1905-lib1905.Tpo -c -o lib1905-lib1905.o `test -f 'lib1905.c' || echo '$(srcdir)/'`lib1905.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1905-lib1905.Tpo $(DEPDIR)/lib1905-lib1905.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib1905.c' object='lib1905-lib1905.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1905_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1905-lib1905.o `test -f 'lib1905.c' || echo '$(srcdir)/'`lib1905.c lib1905-lib1905.obj: lib1905.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1905_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1905-lib1905.obj -MD -MP -MF $(DEPDIR)/lib1905-lib1905.Tpo -c -o lib1905-lib1905.obj `if test -f 'lib1905.c'; then $(CYGPATH_W) 'lib1905.c'; else $(CYGPATH_W) '$(srcdir)/lib1905.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1905-lib1905.Tpo $(DEPDIR)/lib1905-lib1905.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib1905.c' object='lib1905-lib1905.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1905_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1905-lib1905.obj `if test -f 'lib1905.c'; then $(CYGPATH_W) 'lib1905.c'; else $(CYGPATH_W) '$(srcdir)/lib1905.c'; fi` lib1905-first.o: first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1905_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1905-first.o -MD -MP -MF $(DEPDIR)/lib1905-first.Tpo -c -o lib1905-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1905-first.Tpo $(DEPDIR)/lib1905-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='first.c' object='lib1905-first.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1905_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1905-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c lib1905-first.obj: first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1905_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1905-first.obj -MD -MP -MF $(DEPDIR)/lib1905-first.Tpo -c -o lib1905-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1905-first.Tpo $(DEPDIR)/lib1905-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='first.c' object='lib1905-first.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1905_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1905-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi` lib1905-testutil.o: testutil.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1905_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1905-testutil.o -MD -MP -MF $(DEPDIR)/lib1905-testutil.Tpo -c -o lib1905-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1905-testutil.Tpo $(DEPDIR)/lib1905-testutil.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutil.c' object='lib1905-testutil.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1905_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1905-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c lib1905-testutil.obj: testutil.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1905_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1905-testutil.obj -MD -MP -MF $(DEPDIR)/lib1905-testutil.Tpo -c -o lib1905-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1905-testutil.Tpo $(DEPDIR)/lib1905-testutil.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutil.c' object='lib1905-testutil.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1905_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1905-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi` ../../lib/lib1905-warnless.o: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1905_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib1905-warnless.o -MD -MP -MF ../../lib/$(DEPDIR)/lib1905-warnless.Tpo -c -o ../../lib/lib1905-warnless.o `test -f '../../lib/warnless.c' || echo '$(srcdir)/'`../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib1905-warnless.Tpo ../../lib/$(DEPDIR)/lib1905-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib1905-warnless.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1905_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib1905-warnless.o `test -f '../../lib/warnless.c' || echo '$(srcdir)/'`../../lib/warnless.c ../../lib/lib1905-warnless.obj: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1905_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib1905-warnless.obj -MD -MP -MF ../../lib/$(DEPDIR)/lib1905-warnless.Tpo -c -o ../../lib/lib1905-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib1905-warnless.Tpo ../../lib/$(DEPDIR)/lib1905-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib1905-warnless.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1905_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib1905-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` lib2033-libntlmconnect.o: libntlmconnect.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib2033_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib2033-libntlmconnect.o -MD -MP -MF $(DEPDIR)/lib2033-libntlmconnect.Tpo -c -o lib2033-libntlmconnect.o `test -f 'libntlmconnect.c' || echo '$(srcdir)/'`libntlmconnect.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib2033-libntlmconnect.Tpo $(DEPDIR)/lib2033-libntlmconnect.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libntlmconnect.c' object='lib2033-libntlmconnect.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib2033_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib2033-libntlmconnect.o `test -f 'libntlmconnect.c' || echo '$(srcdir)/'`libntlmconnect.c |
︙ | ︙ | |||
9186 9187 9188 9189 9190 9191 9192 9193 9194 9195 9196 9197 9198 9199 | ../../lib/lib658-warnless.obj: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib658_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib658-warnless.obj -MD -MP -MF ../../lib/$(DEPDIR)/lib658-warnless.Tpo -c -o ../../lib/lib658-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib658-warnless.Tpo ../../lib/$(DEPDIR)/lib658-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib658-warnless.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib658_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib658-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` libauthretry-libauthretry.o: libauthretry.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libauthretry_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libauthretry-libauthretry.o -MD -MP -MF $(DEPDIR)/libauthretry-libauthretry.Tpo -c -o libauthretry-libauthretry.o `test -f 'libauthretry.c' || echo '$(srcdir)/'`libauthretry.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libauthretry-libauthretry.Tpo $(DEPDIR)/libauthretry-libauthretry.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libauthretry.c' object='libauthretry-libauthretry.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libauthretry_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libauthretry-libauthretry.o `test -f 'libauthretry.c' || echo '$(srcdir)/'`libauthretry.c | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 9375 9376 9377 9378 9379 9380 9381 9382 9383 9384 9385 9386 9387 9388 9389 9390 9391 9392 9393 9394 9395 9396 9397 9398 9399 9400 9401 9402 9403 9404 9405 9406 9407 9408 9409 9410 9411 9412 9413 9414 9415 9416 9417 9418 9419 9420 9421 9422 9423 9424 9425 9426 9427 9428 9429 9430 9431 9432 9433 9434 9435 9436 9437 9438 9439 9440 9441 9442 9443 9444 | ../../lib/lib658-warnless.obj: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib658_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib658-warnless.obj -MD -MP -MF ../../lib/$(DEPDIR)/lib658-warnless.Tpo -c -o ../../lib/lib658-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib658-warnless.Tpo ../../lib/$(DEPDIR)/lib658-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib658-warnless.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib658_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib658-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` lib659-lib659.o: lib659.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib659_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib659-lib659.o -MD -MP -MF $(DEPDIR)/lib659-lib659.Tpo -c -o lib659-lib659.o `test -f 'lib659.c' || echo '$(srcdir)/'`lib659.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib659-lib659.Tpo $(DEPDIR)/lib659-lib659.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib659.c' object='lib659-lib659.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib659_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib659-lib659.o `test -f 'lib659.c' || echo '$(srcdir)/'`lib659.c lib659-lib659.obj: lib659.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib659_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib659-lib659.obj -MD -MP -MF $(DEPDIR)/lib659-lib659.Tpo -c -o lib659-lib659.obj `if test -f 'lib659.c'; then $(CYGPATH_W) 'lib659.c'; else $(CYGPATH_W) '$(srcdir)/lib659.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib659-lib659.Tpo $(DEPDIR)/lib659-lib659.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib659.c' object='lib659-lib659.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib659_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib659-lib659.obj `if test -f 'lib659.c'; then $(CYGPATH_W) 'lib659.c'; else $(CYGPATH_W) '$(srcdir)/lib659.c'; fi` lib659-first.o: first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib659_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib659-first.o -MD -MP -MF $(DEPDIR)/lib659-first.Tpo -c -o lib659-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib659-first.Tpo $(DEPDIR)/lib659-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='first.c' object='lib659-first.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib659_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib659-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c lib659-first.obj: first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib659_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib659-first.obj -MD -MP -MF $(DEPDIR)/lib659-first.Tpo -c -o lib659-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib659-first.Tpo $(DEPDIR)/lib659-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='first.c' object='lib659-first.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib659_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib659-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi` lib659-testutil.o: testutil.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib659_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib659-testutil.o -MD -MP -MF $(DEPDIR)/lib659-testutil.Tpo -c -o lib659-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib659-testutil.Tpo $(DEPDIR)/lib659-testutil.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutil.c' object='lib659-testutil.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib659_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib659-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c lib659-testutil.obj: testutil.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib659_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib659-testutil.obj -MD -MP -MF $(DEPDIR)/lib659-testutil.Tpo -c -o lib659-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib659-testutil.Tpo $(DEPDIR)/lib659-testutil.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutil.c' object='lib659-testutil.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib659_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib659-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi` ../../lib/lib659-warnless.o: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib659_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib659-warnless.o -MD -MP -MF ../../lib/$(DEPDIR)/lib659-warnless.Tpo -c -o ../../lib/lib659-warnless.o `test -f '../../lib/warnless.c' || echo '$(srcdir)/'`../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib659-warnless.Tpo ../../lib/$(DEPDIR)/lib659-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib659-warnless.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib659_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib659-warnless.o `test -f '../../lib/warnless.c' || echo '$(srcdir)/'`../../lib/warnless.c ../../lib/lib659-warnless.obj: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib659_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib659-warnless.obj -MD -MP -MF ../../lib/$(DEPDIR)/lib659-warnless.Tpo -c -o ../../lib/lib659-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib659-warnless.Tpo ../../lib/$(DEPDIR)/lib659-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib659-warnless.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib659_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib659-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` libauthretry-libauthretry.o: libauthretry.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libauthretry_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libauthretry-libauthretry.o -MD -MP -MF $(DEPDIR)/libauthretry-libauthretry.Tpo -c -o libauthretry-libauthretry.o `test -f 'libauthretry.c' || echo '$(srcdir)/'`libauthretry.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libauthretry-libauthretry.Tpo $(DEPDIR)/libauthretry-libauthretry.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libauthretry.c' object='libauthretry-libauthretry.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libauthretry_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libauthretry-libauthretry.o `test -f 'libauthretry.c' || echo '$(srcdir)/'`libauthretry.c |
︙ | ︙ | |||
9439 9440 9441 9442 9443 9444 9445 9446 9447 9448 9449 9450 9451 9452 9453 9454 9455 9456 9457 9458 | -rm -f ../../lib/$(DEPDIR)/lib1533-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1534-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1535-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1536-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1537-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1538-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1540-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1555-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1556-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1557-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1591-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1592-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1900-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib2033-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib502-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib503-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib504-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib507-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib518-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib525-warnless.Po | > > | 9684 9685 9686 9687 9688 9689 9690 9691 9692 9693 9694 9695 9696 9697 9698 9699 9700 9701 9702 9703 9704 9705 | -rm -f ../../lib/$(DEPDIR)/lib1533-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1534-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1535-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1536-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1537-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1538-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1540-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1541-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1555-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1556-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1557-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1591-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1592-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1900-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1905-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib2033-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib502-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib503-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib504-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib507-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib518-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib525-warnless.Po |
︙ | ︙ | |||
9473 9474 9475 9476 9477 9478 9479 9480 9481 9482 9483 9484 9485 9486 | -rm -f ../../lib/$(DEPDIR)/lib571-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib573-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib575-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib582-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib591-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib597-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib658-warnless.Po -rm -f ../../lib/$(DEPDIR)/libntlmconnect-warnless.Po -rm -f ../../lib/$(DEPDIR)/warnless.Po -rm -f ./$(DEPDIR)/chkdecimalpoint-chkdecimalpoint.Po -rm -f ./$(DEPDIR)/chkhostname-chkhostname.Po -rm -f ./$(DEPDIR)/first.Po -rm -f ./$(DEPDIR)/lib1156-first.Po -rm -f ./$(DEPDIR)/lib1156-lib1156.Po | > | 9720 9721 9722 9723 9724 9725 9726 9727 9728 9729 9730 9731 9732 9733 9734 | -rm -f ../../lib/$(DEPDIR)/lib571-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib573-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib575-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib582-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib591-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib597-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib658-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib659-warnless.Po -rm -f ../../lib/$(DEPDIR)/libntlmconnect-warnless.Po -rm -f ../../lib/$(DEPDIR)/warnless.Po -rm -f ./$(DEPDIR)/chkdecimalpoint-chkdecimalpoint.Po -rm -f ./$(DEPDIR)/chkhostname-chkhostname.Po -rm -f ./$(DEPDIR)/first.Po -rm -f ./$(DEPDIR)/lib1156-first.Po -rm -f ./$(DEPDIR)/lib1156-lib1156.Po |
︙ | ︙ | |||
9584 9585 9586 9587 9588 9589 9590 9591 9592 9593 9594 9595 9596 9597 | -rm -f ./$(DEPDIR)/lib1537-testutil.Po -rm -f ./$(DEPDIR)/lib1538-first.Po -rm -f ./$(DEPDIR)/lib1538-lib1538.Po -rm -f ./$(DEPDIR)/lib1538-testutil.Po -rm -f ./$(DEPDIR)/lib1540-first.Po -rm -f ./$(DEPDIR)/lib1540-lib1540.Po -rm -f ./$(DEPDIR)/lib1540-testutil.Po -rm -f ./$(DEPDIR)/lib1550-first.Po -rm -f ./$(DEPDIR)/lib1550-lib1550.Po -rm -f ./$(DEPDIR)/lib1551-first.Po -rm -f ./$(DEPDIR)/lib1551-lib1551.Po -rm -f ./$(DEPDIR)/lib1552-first.Po -rm -f ./$(DEPDIR)/lib1552-lib1552.Po -rm -f ./$(DEPDIR)/lib1552-testutil.Po | > > > | 9832 9833 9834 9835 9836 9837 9838 9839 9840 9841 9842 9843 9844 9845 9846 9847 9848 | -rm -f ./$(DEPDIR)/lib1537-testutil.Po -rm -f ./$(DEPDIR)/lib1538-first.Po -rm -f ./$(DEPDIR)/lib1538-lib1538.Po -rm -f ./$(DEPDIR)/lib1538-testutil.Po -rm -f ./$(DEPDIR)/lib1540-first.Po -rm -f ./$(DEPDIR)/lib1540-lib1540.Po -rm -f ./$(DEPDIR)/lib1540-testutil.Po -rm -f ./$(DEPDIR)/lib1541-first.Po -rm -f ./$(DEPDIR)/lib1541-lib1541.Po -rm -f ./$(DEPDIR)/lib1541-testutil.Po -rm -f ./$(DEPDIR)/lib1550-first.Po -rm -f ./$(DEPDIR)/lib1550-lib1550.Po -rm -f ./$(DEPDIR)/lib1551-first.Po -rm -f ./$(DEPDIR)/lib1551-lib1551.Po -rm -f ./$(DEPDIR)/lib1552-first.Po -rm -f ./$(DEPDIR)/lib1552-lib1552.Po -rm -f ./$(DEPDIR)/lib1552-testutil.Po |
︙ | ︙ | |||
9616 9617 9618 9619 9620 9621 9622 9623 9624 9625 9626 9627 9628 9629 | -rm -f ./$(DEPDIR)/lib1591-testutil.Po -rm -f ./$(DEPDIR)/lib1592-first.Po -rm -f ./$(DEPDIR)/lib1592-lib1592.Po -rm -f ./$(DEPDIR)/lib1592-testutil.Po -rm -f ./$(DEPDIR)/lib1900-first.Po -rm -f ./$(DEPDIR)/lib1900-lib1900.Po -rm -f ./$(DEPDIR)/lib1900-testutil.Po -rm -f ./$(DEPDIR)/lib2033-first.Po -rm -f ./$(DEPDIR)/lib2033-libntlmconnect.Po -rm -f ./$(DEPDIR)/lib2033-testutil.Po -rm -f ./$(DEPDIR)/lib500-first.Po -rm -f ./$(DEPDIR)/lib500-lib500.Po -rm -f ./$(DEPDIR)/lib500-testtrace.Po -rm -f ./$(DEPDIR)/lib500-testutil.Po | > > > | 9867 9868 9869 9870 9871 9872 9873 9874 9875 9876 9877 9878 9879 9880 9881 9882 9883 | -rm -f ./$(DEPDIR)/lib1591-testutil.Po -rm -f ./$(DEPDIR)/lib1592-first.Po -rm -f ./$(DEPDIR)/lib1592-lib1592.Po -rm -f ./$(DEPDIR)/lib1592-testutil.Po -rm -f ./$(DEPDIR)/lib1900-first.Po -rm -f ./$(DEPDIR)/lib1900-lib1900.Po -rm -f ./$(DEPDIR)/lib1900-testutil.Po -rm -f ./$(DEPDIR)/lib1905-first.Po -rm -f ./$(DEPDIR)/lib1905-lib1905.Po -rm -f ./$(DEPDIR)/lib1905-testutil.Po -rm -f ./$(DEPDIR)/lib2033-first.Po -rm -f ./$(DEPDIR)/lib2033-libntlmconnect.Po -rm -f ./$(DEPDIR)/lib2033-testutil.Po -rm -f ./$(DEPDIR)/lib500-first.Po -rm -f ./$(DEPDIR)/lib500-lib500.Po -rm -f ./$(DEPDIR)/lib500-testtrace.Po -rm -f ./$(DEPDIR)/lib500-testutil.Po |
︙ | ︙ | |||
9824 9825 9826 9827 9828 9829 9830 9831 9832 9833 9834 9835 9836 9837 | -rm -f ./$(DEPDIR)/lib654-first.Po -rm -f ./$(DEPDIR)/lib654-lib654.Po -rm -f ./$(DEPDIR)/lib655-first.Po -rm -f ./$(DEPDIR)/lib655-lib655.Po -rm -f ./$(DEPDIR)/lib658-first.Po -rm -f ./$(DEPDIR)/lib658-lib658.Po -rm -f ./$(DEPDIR)/lib658-testutil.Po -rm -f ./$(DEPDIR)/libauthretry-first.Po -rm -f ./$(DEPDIR)/libauthretry-libauthretry.Po -rm -f ./$(DEPDIR)/libhostname_la-sethostname.Plo -rm -f ./$(DEPDIR)/libntlmconnect-first.Po -rm -f ./$(DEPDIR)/libntlmconnect-libntlmconnect.Po -rm -f ./$(DEPDIR)/libntlmconnect-testutil.Po -rm -f ./$(DEPDIR)/libstubgss_la-stub_gssapi.Plo | > > > | 10078 10079 10080 10081 10082 10083 10084 10085 10086 10087 10088 10089 10090 10091 10092 10093 10094 | -rm -f ./$(DEPDIR)/lib654-first.Po -rm -f ./$(DEPDIR)/lib654-lib654.Po -rm -f ./$(DEPDIR)/lib655-first.Po -rm -f ./$(DEPDIR)/lib655-lib655.Po -rm -f ./$(DEPDIR)/lib658-first.Po -rm -f ./$(DEPDIR)/lib658-lib658.Po -rm -f ./$(DEPDIR)/lib658-testutil.Po -rm -f ./$(DEPDIR)/lib659-first.Po -rm -f ./$(DEPDIR)/lib659-lib659.Po -rm -f ./$(DEPDIR)/lib659-testutil.Po -rm -f ./$(DEPDIR)/libauthretry-first.Po -rm -f ./$(DEPDIR)/libauthretry-libauthretry.Po -rm -f ./$(DEPDIR)/libhostname_la-sethostname.Plo -rm -f ./$(DEPDIR)/libntlmconnect-first.Po -rm -f ./$(DEPDIR)/libntlmconnect-libntlmconnect.Po -rm -f ./$(DEPDIR)/libntlmconnect-testutil.Po -rm -f ./$(DEPDIR)/libstubgss_la-stub_gssapi.Plo |
︙ | ︙ | |||
9911 9912 9913 9914 9915 9916 9917 9918 9919 9920 9921 9922 9923 9924 9925 9926 9927 9928 9929 9930 | -rm -f ../../lib/$(DEPDIR)/lib1533-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1534-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1535-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1536-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1537-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1538-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1540-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1555-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1556-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1557-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1591-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1592-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1900-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib2033-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib502-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib503-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib504-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib507-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib518-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib525-warnless.Po | > > | 10168 10169 10170 10171 10172 10173 10174 10175 10176 10177 10178 10179 10180 10181 10182 10183 10184 10185 10186 10187 10188 10189 | -rm -f ../../lib/$(DEPDIR)/lib1533-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1534-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1535-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1536-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1537-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1538-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1540-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1541-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1555-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1556-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1557-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1591-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1592-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1900-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1905-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib2033-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib502-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib503-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib504-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib507-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib518-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib525-warnless.Po |
︙ | ︙ | |||
9945 9946 9947 9948 9949 9950 9951 9952 9953 9954 9955 9956 9957 9958 | -rm -f ../../lib/$(DEPDIR)/lib571-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib573-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib575-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib582-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib591-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib597-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib658-warnless.Po -rm -f ../../lib/$(DEPDIR)/libntlmconnect-warnless.Po -rm -f ../../lib/$(DEPDIR)/warnless.Po -rm -f ./$(DEPDIR)/chkdecimalpoint-chkdecimalpoint.Po -rm -f ./$(DEPDIR)/chkhostname-chkhostname.Po -rm -f ./$(DEPDIR)/first.Po -rm -f ./$(DEPDIR)/lib1156-first.Po -rm -f ./$(DEPDIR)/lib1156-lib1156.Po | > | 10204 10205 10206 10207 10208 10209 10210 10211 10212 10213 10214 10215 10216 10217 10218 | -rm -f ../../lib/$(DEPDIR)/lib571-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib573-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib575-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib582-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib591-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib597-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib658-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib659-warnless.Po -rm -f ../../lib/$(DEPDIR)/libntlmconnect-warnless.Po -rm -f ../../lib/$(DEPDIR)/warnless.Po -rm -f ./$(DEPDIR)/chkdecimalpoint-chkdecimalpoint.Po -rm -f ./$(DEPDIR)/chkhostname-chkhostname.Po -rm -f ./$(DEPDIR)/first.Po -rm -f ./$(DEPDIR)/lib1156-first.Po -rm -f ./$(DEPDIR)/lib1156-lib1156.Po |
︙ | ︙ | |||
10056 10057 10058 10059 10060 10061 10062 10063 10064 10065 10066 10067 10068 10069 | -rm -f ./$(DEPDIR)/lib1537-testutil.Po -rm -f ./$(DEPDIR)/lib1538-first.Po -rm -f ./$(DEPDIR)/lib1538-lib1538.Po -rm -f ./$(DEPDIR)/lib1538-testutil.Po -rm -f ./$(DEPDIR)/lib1540-first.Po -rm -f ./$(DEPDIR)/lib1540-lib1540.Po -rm -f ./$(DEPDIR)/lib1540-testutil.Po -rm -f ./$(DEPDIR)/lib1550-first.Po -rm -f ./$(DEPDIR)/lib1550-lib1550.Po -rm -f ./$(DEPDIR)/lib1551-first.Po -rm -f ./$(DEPDIR)/lib1551-lib1551.Po -rm -f ./$(DEPDIR)/lib1552-first.Po -rm -f ./$(DEPDIR)/lib1552-lib1552.Po -rm -f ./$(DEPDIR)/lib1552-testutil.Po | > > > | 10316 10317 10318 10319 10320 10321 10322 10323 10324 10325 10326 10327 10328 10329 10330 10331 10332 | -rm -f ./$(DEPDIR)/lib1537-testutil.Po -rm -f ./$(DEPDIR)/lib1538-first.Po -rm -f ./$(DEPDIR)/lib1538-lib1538.Po -rm -f ./$(DEPDIR)/lib1538-testutil.Po -rm -f ./$(DEPDIR)/lib1540-first.Po -rm -f ./$(DEPDIR)/lib1540-lib1540.Po -rm -f ./$(DEPDIR)/lib1540-testutil.Po -rm -f ./$(DEPDIR)/lib1541-first.Po -rm -f ./$(DEPDIR)/lib1541-lib1541.Po -rm -f ./$(DEPDIR)/lib1541-testutil.Po -rm -f ./$(DEPDIR)/lib1550-first.Po -rm -f ./$(DEPDIR)/lib1550-lib1550.Po -rm -f ./$(DEPDIR)/lib1551-first.Po -rm -f ./$(DEPDIR)/lib1551-lib1551.Po -rm -f ./$(DEPDIR)/lib1552-first.Po -rm -f ./$(DEPDIR)/lib1552-lib1552.Po -rm -f ./$(DEPDIR)/lib1552-testutil.Po |
︙ | ︙ | |||
10088 10089 10090 10091 10092 10093 10094 10095 10096 10097 10098 10099 10100 10101 | -rm -f ./$(DEPDIR)/lib1591-testutil.Po -rm -f ./$(DEPDIR)/lib1592-first.Po -rm -f ./$(DEPDIR)/lib1592-lib1592.Po -rm -f ./$(DEPDIR)/lib1592-testutil.Po -rm -f ./$(DEPDIR)/lib1900-first.Po -rm -f ./$(DEPDIR)/lib1900-lib1900.Po -rm -f ./$(DEPDIR)/lib1900-testutil.Po -rm -f ./$(DEPDIR)/lib2033-first.Po -rm -f ./$(DEPDIR)/lib2033-libntlmconnect.Po -rm -f ./$(DEPDIR)/lib2033-testutil.Po -rm -f ./$(DEPDIR)/lib500-first.Po -rm -f ./$(DEPDIR)/lib500-lib500.Po -rm -f ./$(DEPDIR)/lib500-testtrace.Po -rm -f ./$(DEPDIR)/lib500-testutil.Po | > > > | 10351 10352 10353 10354 10355 10356 10357 10358 10359 10360 10361 10362 10363 10364 10365 10366 10367 | -rm -f ./$(DEPDIR)/lib1591-testutil.Po -rm -f ./$(DEPDIR)/lib1592-first.Po -rm -f ./$(DEPDIR)/lib1592-lib1592.Po -rm -f ./$(DEPDIR)/lib1592-testutil.Po -rm -f ./$(DEPDIR)/lib1900-first.Po -rm -f ./$(DEPDIR)/lib1900-lib1900.Po -rm -f ./$(DEPDIR)/lib1900-testutil.Po -rm -f ./$(DEPDIR)/lib1905-first.Po -rm -f ./$(DEPDIR)/lib1905-lib1905.Po -rm -f ./$(DEPDIR)/lib1905-testutil.Po -rm -f ./$(DEPDIR)/lib2033-first.Po -rm -f ./$(DEPDIR)/lib2033-libntlmconnect.Po -rm -f ./$(DEPDIR)/lib2033-testutil.Po -rm -f ./$(DEPDIR)/lib500-first.Po -rm -f ./$(DEPDIR)/lib500-lib500.Po -rm -f ./$(DEPDIR)/lib500-testtrace.Po -rm -f ./$(DEPDIR)/lib500-testutil.Po |
︙ | ︙ | |||
10296 10297 10298 10299 10300 10301 10302 10303 10304 10305 10306 10307 10308 10309 | -rm -f ./$(DEPDIR)/lib654-first.Po -rm -f ./$(DEPDIR)/lib654-lib654.Po -rm -f ./$(DEPDIR)/lib655-first.Po -rm -f ./$(DEPDIR)/lib655-lib655.Po -rm -f ./$(DEPDIR)/lib658-first.Po -rm -f ./$(DEPDIR)/lib658-lib658.Po -rm -f ./$(DEPDIR)/lib658-testutil.Po -rm -f ./$(DEPDIR)/libauthretry-first.Po -rm -f ./$(DEPDIR)/libauthretry-libauthretry.Po -rm -f ./$(DEPDIR)/libhostname_la-sethostname.Plo -rm -f ./$(DEPDIR)/libntlmconnect-first.Po -rm -f ./$(DEPDIR)/libntlmconnect-libntlmconnect.Po -rm -f ./$(DEPDIR)/libntlmconnect-testutil.Po -rm -f ./$(DEPDIR)/libstubgss_la-stub_gssapi.Plo | > > > | 10562 10563 10564 10565 10566 10567 10568 10569 10570 10571 10572 10573 10574 10575 10576 10577 10578 | -rm -f ./$(DEPDIR)/lib654-first.Po -rm -f ./$(DEPDIR)/lib654-lib654.Po -rm -f ./$(DEPDIR)/lib655-first.Po -rm -f ./$(DEPDIR)/lib655-lib655.Po -rm -f ./$(DEPDIR)/lib658-first.Po -rm -f ./$(DEPDIR)/lib658-lib658.Po -rm -f ./$(DEPDIR)/lib658-testutil.Po -rm -f ./$(DEPDIR)/lib659-first.Po -rm -f ./$(DEPDIR)/lib659-lib659.Po -rm -f ./$(DEPDIR)/lib659-testutil.Po -rm -f ./$(DEPDIR)/libauthretry-first.Po -rm -f ./$(DEPDIR)/libauthretry-libauthretry.Po -rm -f ./$(DEPDIR)/libhostname_la-sethostname.Plo -rm -f ./$(DEPDIR)/libntlmconnect-first.Po -rm -f ./$(DEPDIR)/libntlmconnect-libntlmconnect.Po -rm -f ./$(DEPDIR)/libntlmconnect-testutil.Po -rm -f ./$(DEPDIR)/libstubgss_la-stub_gssapi.Plo |
︙ | ︙ | |||
10346 10347 10348 10349 10350 10351 10352 | .PRECIOUS: Makefile lib1521.c: $(top_srcdir)/tests/libtest/mk-lib1521.pl $(top_srcdir)/include/curl/curl.h @PERL@ $(top_srcdir)/tests/libtest/mk-lib1521.pl < $(top_srcdir)/include/curl/curl.h > lib1521.c checksrc: | | | 10615 10616 10617 10618 10619 10620 10621 10622 10623 10624 10625 10626 10627 10628 10629 | .PRECIOUS: Makefile lib1521.c: $(top_srcdir)/tests/libtest/mk-lib1521.pl $(top_srcdir)/include/curl/curl.h @PERL@ $(top_srcdir)/tests/libtest/mk-lib1521.pl < $(top_srcdir)/include/curl/curl.h > lib1521.c checksrc: $(CHECKSRC)@PERL@ $(top_srcdir)/lib/checksrc.pl $(srcdir)/*.c # for debug builds, we scan the sources on all regular make invokes @CURLDEBUG_TRUE@all-local: checksrc # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: |
Changes to jni/curl/tests/libtest/Makefile.inc.
︙ | ︙ | |||
18 19 20 21 22 23 24 25 26 27 28 29 30 | lib520 lib521 lib523 lib524 lib525 lib526 lib527 lib529 lib530 lib532 \ lib533 lib536 lib537 lib539 lib540 lib541 lib542 lib543 lib544 lib545 \ lib547 lib548 lib549 lib552 lib553 lib554 lib555 lib556 lib557 lib558 \ lib559 lib560 lib562 lib564 lib565 lib566 lib567 lib568 lib569 lib570 \ lib571 lib572 lib573 lib574 lib575 lib576 lib578 lib579 lib582 \ lib583 lib585 lib586 lib587 lib589 lib590 lib591 lib597 lib598 lib599 \ lib643 lib644 lib645 lib650 lib651 lib652 lib653 lib654 lib655 lib658 \ lib1156 \ lib1500 lib1501 lib1502 lib1503 lib1504 lib1505 lib1506 lib1507 lib1508 \ lib1509 lib1510 lib1511 lib1512 lib1513 lib1514 lib1515 lib1517 \ lib1518 lib1520 lib1521 lib1522 \ lib1525 lib1526 lib1527 lib1528 lib1529 lib1530 lib1531 lib1532 lib1533 \ lib1534 lib1535 lib1536 lib1537 lib1538 \ | > | | | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | lib520 lib521 lib523 lib524 lib525 lib526 lib527 lib529 lib530 lib532 \ lib533 lib536 lib537 lib539 lib540 lib541 lib542 lib543 lib544 lib545 \ lib547 lib548 lib549 lib552 lib553 lib554 lib555 lib556 lib557 lib558 \ lib559 lib560 lib562 lib564 lib565 lib566 lib567 lib568 lib569 lib570 \ lib571 lib572 lib573 lib574 lib575 lib576 lib578 lib579 lib582 \ lib583 lib585 lib586 lib587 lib589 lib590 lib591 lib597 lib598 lib599 \ lib643 lib644 lib645 lib650 lib651 lib652 lib653 lib654 lib655 lib658 \ lib659 \ lib1156 \ lib1500 lib1501 lib1502 lib1503 lib1504 lib1505 lib1506 lib1507 lib1508 \ lib1509 lib1510 lib1511 lib1512 lib1513 lib1514 lib1515 lib1517 \ lib1518 lib1520 lib1521 lib1522 \ lib1525 lib1526 lib1527 lib1528 lib1529 lib1530 lib1531 lib1532 lib1533 \ lib1534 lib1535 lib1536 lib1537 lib1538 \ lib1540 lib1541 \ lib1550 lib1551 lib1552 lib1553 lib1554 lib1555 lib1556 lib1557 \ lib1558 \ lib1560 \ lib1591 lib1592 \ lib1900 lib1905 \ lib2033 chkdecimalpoint_SOURCES = chkdecimalpoint.c ../../lib/mprintf.c \ ../../lib/curl_ctype.c chkdecimalpoint_LDADD = chkdecimalpoint_CPPFLAGS = $(AM_CPPFLAGS) -DCURL_STATICLIB \ -DCURLX_NO_MEMORY_CALLBACKS |
︙ | ︙ | |||
340 341 342 343 344 345 346 347 348 349 350 351 352 353 | lib655_SOURCES = lib655.c $(SUPPORTFILES) lib655_CPPFLAGS = $(AM_CPPFLAGS) lib658_SOURCES = lib658.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib658_LDADD = $(TESTUTIL_LIBS) lib658_CPPFLAGS = $(AM_CPPFLAGS) lib1500_SOURCES = lib1500.c $(SUPPORTFILES) $(TESTUTIL) lib1500_LDADD = $(TESTUTIL_LIBS) lib1500_CPPFLAGS = $(AM_CPPFLAGS) lib1501_SOURCES = lib1501.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1501_LDADD = $(TESTUTIL_LIBS) | > > > > | 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 | lib655_SOURCES = lib655.c $(SUPPORTFILES) lib655_CPPFLAGS = $(AM_CPPFLAGS) lib658_SOURCES = lib658.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib658_LDADD = $(TESTUTIL_LIBS) lib658_CPPFLAGS = $(AM_CPPFLAGS) lib659_SOURCES = lib659.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib659_LDADD = $(TESTUTIL_LIBS) lib659_CPPFLAGS = $(AM_CPPFLAGS) lib1500_SOURCES = lib1500.c $(SUPPORTFILES) $(TESTUTIL) lib1500_LDADD = $(TESTUTIL_LIBS) lib1500_CPPFLAGS = $(AM_CPPFLAGS) lib1501_SOURCES = lib1501.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1501_LDADD = $(TESTUTIL_LIBS) |
︙ | ︙ | |||
483 484 485 486 487 488 489 490 491 492 493 494 495 496 | lib1538_SOURCES = lib1538.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1538_LDADD = $(TESTUTIL_LIBS) lib1538_CPPFLAGS = $(AM_CPPFLAGS) lib1540_SOURCES = lib1540.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1540_LDADD = $(TESTUTIL_LIBS) lib1540_CPPFLAGS = $(AM_CPPFLAGS) lib1550_SOURCES = lib1550.c $(SUPPORTFILES) lib1550_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1517 lib1551_SOURCES = lib1551.c $(SUPPORTFILES) lib1551_CPPFLAGS = $(AM_CPPFLAGS) | > > > > | 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 | lib1538_SOURCES = lib1538.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1538_LDADD = $(TESTUTIL_LIBS) lib1538_CPPFLAGS = $(AM_CPPFLAGS) lib1540_SOURCES = lib1540.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1540_LDADD = $(TESTUTIL_LIBS) lib1540_CPPFLAGS = $(AM_CPPFLAGS) lib1541_SOURCES = lib1541.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1541_LDADD = $(TESTUTIL_LIBS) lib1541_CPPFLAGS = $(AM_CPPFLAGS) lib1550_SOURCES = lib1550.c $(SUPPORTFILES) lib1550_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1517 lib1551_SOURCES = lib1551.c $(SUPPORTFILES) lib1551_CPPFLAGS = $(AM_CPPFLAGS) |
︙ | ︙ | |||
530 531 532 533 534 535 536 537 538 539 540 | lib1592_SOURCES = lib1592.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1592_LDADD = $(TESTUTIL_LIBS) lib1592_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1592 lib1900_SOURCES = lib1900.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1900_LDADD = $(TESTUTIL_LIBS) lib1900_CPPFLAGS = $(AM_CPPFLAGS) lib2033_SOURCES = libntlmconnect.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib2033_LDADD = $(TESTUTIL_LIBS) lib2033_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_PIPELINING | > > > > | 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 | lib1592_SOURCES = lib1592.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1592_LDADD = $(TESTUTIL_LIBS) lib1592_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1592 lib1900_SOURCES = lib1900.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1900_LDADD = $(TESTUTIL_LIBS) lib1900_CPPFLAGS = $(AM_CPPFLAGS) lib1905_SOURCES = lib1905.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1905_LDADD = $(TESTUTIL_LIBS) lib1905_CPPFLAGS = $(AM_CPPFLAGS) lib2033_SOURCES = libntlmconnect.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib2033_LDADD = $(TESTUTIL_LIBS) lib2033_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_PIPELINING |
Changes to jni/curl/tests/libtest/first.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
92 93 94 95 96 97 98 | if(env) { /* use the value as file name */ char fname[CURL_MT_LOGFNAME_BUFSIZE]; if(strlen(env) >= CURL_MT_LOGFNAME_BUFSIZE) env[CURL_MT_LOGFNAME_BUFSIZE-1] = '\0'; strcpy(fname, env); curl_free(env); | | | | 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | if(env) { /* use the value as file name */ char fname[CURL_MT_LOGFNAME_BUFSIZE]; if(strlen(env) >= CURL_MT_LOGFNAME_BUFSIZE) env[CURL_MT_LOGFNAME_BUFSIZE-1] = '\0'; strcpy(fname, env); curl_free(env); curl_dbg_memdebug(fname); /* this weird stuff here is to make curl_free() get called before curl_memdebug() as otherwise memory tracking will log a free() without an alloc! */ } /* if CURL_MEMLIMIT is set, this enables fail-on-alloc-number-N feature */ env = curl_getenv("CURL_MEMLIMIT"); if(env) { char *endptr; long num = strtol(env, &endptr, 10); if((endptr != env) && (endptr == env + strlen(env)) && (num > 0)) curl_dbg_memlimit(num); curl_free(env); } } #else # define memory_tracking_init() Curl_nop_stmt #endif |
︙ | ︙ |
Changes to jni/curl/tests/libtest/lib1537.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
26 27 28 29 30 31 32 | int test(char *URL) { const unsigned char a[] = {0x2f, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x91, 0xa2, 0xb3, 0xc4, 0xd5, 0xe6, 0xf7}; CURLcode res = CURLE_OK; char *ptr = NULL; int asize; | | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | int test(char *URL) { const unsigned char a[] = {0x2f, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x91, 0xa2, 0xb3, 0xc4, 0xd5, 0xe6, 0xf7}; CURLcode res = CURLE_OK; char *ptr = NULL; int asize; int outlen = 0; char *raw; (void)URL; /* we don't use this */ if(curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) { fprintf(stderr, "curl_global_init() failed\n"); return TEST_ERR_MAJOR_BAD; |
︙ | ︙ |
Added jni/curl/tests/libtest/lib1541.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "test.h" #include "testutil.h" #include "warnless.h" #include "memdebug.h" #ifdef HAVE_PTHREAD_H #include <pthread.h> #include <time.h> /* number of threads to fire up in parallel */ #define NUM_THREADS 67 /* for how many seconds each thread will loop */ #define RUN_FOR_SECONDS 7 static pthread_mutex_t connlock; static size_t write_db(void *ptr, size_t size, size_t nmemb, void *data) { /* not interested in the downloaded bytes, return the size */ (void)ptr; /* unused */ (void)data; /* unused */ return (size_t)(size * nmemb); } static void lock_cb(CURL *handle, curl_lock_data data, curl_lock_access access, void *userptr) { (void)access; /* unused */ (void)userptr; /* unused */ (void)handle; /* unused */ (void)data; /* unused */ pthread_mutex_lock(&connlock); } static void unlock_cb(CURL *handle, curl_lock_data data, void *userptr) { (void)userptr; /* unused */ (void)handle; /* unused */ (void)data; /* unused */ pthread_mutex_unlock(&connlock); } static void init_locks(void) { pthread_mutex_init(&connlock, NULL); } static void kill_locks(void) { pthread_mutex_destroy(&connlock); } struct initurl { const char *url; CURLSH *share; int threadno; }; static void *run_thread(void *ptr) { struct initurl *u = (struct initurl *)ptr; int i; time_t end = time(NULL) + RUN_FOR_SECONDS; for(i = 0; time(NULL) < end; i++) { CURL *curl = curl_easy_init(); curl_easy_setopt(curl, CURLOPT_URL, u->url); curl_easy_setopt(curl, CURLOPT_VERBOSE, 0L); curl_easy_setopt(curl, CURLOPT_SHARE, u->share); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_db); curl_easy_perform(curl); /* ignores error */ curl_easy_cleanup(curl); fprintf(stderr, "Thread %d transfer %d\n", u->threadno, i); } return NULL; } int test(char *URL) { pthread_t tid[NUM_THREADS]; int i; int error; CURLSH *share; struct initurl url[NUM_THREADS]; /* Must initialize libcurl before any threads are started */ curl_global_init(CURL_GLOBAL_ALL); share = curl_share_init(); curl_share_setopt(share, CURLSHOPT_LOCKFUNC, lock_cb); curl_share_setopt(share, CURLSHOPT_UNLOCKFUNC, unlock_cb); curl_share_setopt(share, CURLSHOPT_SHARE, CURL_LOCK_DATA_CONNECT); init_locks(); for(i = 0; i< NUM_THREADS; i++) { url[i].url = URL; url[i].share = share; url[i].threadno = i; error = pthread_create(&tid[i], NULL, run_thread, &url[i]); if(0 != error) fprintf(stderr, "Couldn't run thread number %d, errno %d\n", i, error); else fprintf(stderr, "Thread %d, gets %s\n", i, URL); } /* now wait for all threads to terminate */ for(i = 0; i< NUM_THREADS; i++) { error = pthread_join(tid[i], NULL); fprintf(stderr, "Thread %d terminated\n", i); } kill_locks(); curl_share_cleanup(share); curl_global_cleanup(); return 0; } #else /* without pthread, this test doesn't work */ int test(char *URL) { (void)URL; return 0; } #endif |
Changes to jni/curl/tests/libtest/lib1555.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
32 33 34 35 36 37 38 39 40 41 42 43 | static int progressCallback(void *arg, double dltotal, double dlnow, double ultotal, double ulnow) { CURLcode res = 0; (void)arg; (void)dltotal; (void)dlnow; (void)ultotal; (void)ulnow; | > > | | | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | static int progressCallback(void *arg, double dltotal, double dlnow, double ultotal, double ulnow) { CURLcode res = 0; char buffer[256]; size_t n = 0; (void)arg; (void)dltotal; (void)dlnow; (void)ultotal; (void)ulnow; res = curl_easy_recv(curl, buffer, 256, &n); printf("curl_easy_recv returned %d\n", res); res = curl_easy_send(curl, buffer, n, &n); printf("curl_easy_send returned %d\n", res); return 1; } int test(char *URL) { |
︙ | ︙ |
Changes to jni/curl/tests/libtest/lib1900.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2013 - 2019, Linus Nielsen Feltzing, <linus@haxx.se> * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
134 135 136 137 138 139 140 | int test(char *URL) { int res = 0; CURLM *m = NULL; CURLMsg *msg; /* for picking up messages with the transfer status */ int msgs_left; /* how many messages are left */ | | | 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | int test(char *URL) { int res = 0; CURLM *m = NULL; CURLMsg *msg; /* for picking up messages with the transfer status */ int msgs_left; /* how many messages are left */ int running = 0; int handlenum = 0; struct timeval last_handle_add; if(parse_url_file(libtest_arg2) <= 0) goto test_cleanup; start_test_timing(); |
︙ | ︙ |
Added jni/curl/tests/libtest/lib1905.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "test.h" #include "testutil.h" #include "warnless.h" #include "memdebug.h" int test(char *URL) { CURLM *cm = NULL; CURLSH *sh = NULL; CURL *ch = NULL; int unfinished; cm = curl_multi_init(); if(!cm) return 1; sh = curl_share_init(); if(!sh) goto cleanup; curl_share_setopt(sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE); curl_share_setopt(sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE); ch = curl_easy_init(); if(!ch) goto cleanup; curl_easy_setopt(ch, CURLOPT_SHARE, sh); curl_easy_setopt(ch, CURLOPT_URL, URL); curl_easy_setopt(ch, CURLOPT_COOKIEFILE, "log/cookies1905"); curl_easy_setopt(ch, CURLOPT_COOKIEJAR, "log/cookies1905"); curl_multi_add_handle(cm, ch); unfinished = 1; while(unfinished) { int MAX = 0; long max_tout; fd_set R, W, E; struct timeval timeout; FD_ZERO(&R); FD_ZERO(&W); FD_ZERO(&E); curl_multi_perform(cm, &unfinished); curl_multi_fdset(cm, &R, &W, &E, &MAX); curl_multi_timeout(cm, &max_tout); if(max_tout > 0) { timeout.tv_sec = max_tout / 1000; timeout.tv_usec = (max_tout % 1000) * 1000; } else { timeout.tv_sec = 0; timeout.tv_usec = 1000; } select(MAX + 1, &R, &W, &E, &timeout); } curl_easy_setopt(ch, CURLOPT_COOKIELIST, "FLUSH"); curl_easy_setopt(ch, CURLOPT_SHARE, NULL); curl_multi_remove_handle(cm, ch); cleanup: curl_easy_cleanup(ch); curl_share_cleanup(sh); curl_multi_cleanup(cm); return 0; } |
Changes to jni/curl/tests/libtest/lib556.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
66 67 68 69 70 71 72 | "\x47\x45\x54\x20\x2f\x35\x35\x36\x20\x48\x54\x54\x50\x2f\x31\x2e" "\x32\x0d\x0a\x48\x6f\x73\x74\x3a\x20\x6e\x69\x6e\x6a\x61\x0d\x0a" "\x0d\x0a"; #else "GET /556 HTTP/1.2\r\n" "Host: ninja\r\n\r\n"; #endif | | | 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | "\x47\x45\x54\x20\x2f\x35\x35\x36\x20\x48\x54\x54\x50\x2f\x31\x2e" "\x32\x0d\x0a\x48\x6f\x73\x74\x3a\x20\x6e\x69\x6e\x6a\x61\x0d\x0a" "\x0d\x0a"; #else "GET /556 HTTP/1.2\r\n" "Host: ninja\r\n\r\n"; #endif size_t iolen = 0; res = curl_easy_send(curl, request, strlen(request), &iolen); if(!res) { /* we assume that sending always work */ do { |
︙ | ︙ |
Changes to jni/curl/tests/libtest/lib597.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
28 29 30 31 32 33 34 | #include "memdebug.h" #define TEST_HANG_TIMEOUT 5 * 1000 /* * Test case for below scenario: * - Connect to an FTP server using CONNECT_ONLY option | < < < < < < < < < < | | | | < < | < < < < < < < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | #include "memdebug.h" #define TEST_HANG_TIMEOUT 5 * 1000 /* * Test case for below scenario: * - Connect to an FTP server using CONNECT_ONLY option * * The test case originated for verifying CONNECT_ONLY option shall not * block after protocol connect is done, but it returns the message * with function curl_multi_info_read(). */ int test(char *URL) { CURL *easy = NULL; CURLM *multi = NULL; int res = 0; int running; int msgs_left; CURLMsg *msg; start_test_timing(); global_init(CURL_GLOBAL_ALL); easy_init(easy); multi_init(multi); /* go verbose */ easy_setopt(easy, CURLOPT_VERBOSE, 1L); /* specify target */ easy_setopt(easy, CURLOPT_URL, URL); easy_setopt(easy, CURLOPT_CONNECT_ONLY, 1L); multi_add_handle(multi, easy); for(;;) { struct timeval interval; fd_set fdread; fd_set fdwrite; fd_set fdexcep; long timeout = -99; int maxfd = -99; multi_perform(multi, &running); abort_on_test_timeout(); if(!running) break; /* done */ FD_ZERO(&fdread); FD_ZERO(&fdwrite); FD_ZERO(&fdexcep); multi_fdset(multi, &fdread, &fdwrite, &fdexcep, &maxfd); /* At this point, maxfd is guaranteed to be greater or equal than -1. */ multi_timeout(multi, &timeout); /* At this point, timeout is guaranteed to be greater or equal than -1. */ if(timeout != -1L) { int itimeout = (timeout > (long)INT_MAX) ? INT_MAX : (int)timeout; interval.tv_sec = itimeout/1000; interval.tv_usec = (itimeout%1000)*1000; } else { interval.tv_sec = TEST_HANG_TIMEOUT/1000 + 1; interval.tv_usec = 0; } select_test(maxfd + 1, &fdread, &fdwrite, &fdexcep, &interval); abort_on_test_timeout(); } msg = curl_multi_info_read(multi, &msgs_left); if(msg) res = msg->data.result; multi_remove_handle(multi, easy); test_cleanup: /* undocumented cleanup sequence - type UA */ curl_multi_cleanup(multi); curl_easy_cleanup(easy); curl_global_cleanup(); return res; } |
Added jni/curl/tests/libtest/lib659.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "test.h" #include "testutil.h" #include "warnless.h" #include "memdebug.h" /* * Get a single URL without select(). */ int test(char *URL) { CURL *handle = NULL; CURLcode res = 0; CURLU *urlp = NULL; global_init(CURL_GLOBAL_ALL); easy_init(handle); urlp = curl_url(); if(!urlp) { fprintf(stderr, "problem init URL api."); goto test_cleanup; } /* this doesn't set the PATH part */ if(curl_url_set(urlp, CURLUPART_HOST, "www.example.com", 0) || curl_url_set(urlp, CURLUPART_SCHEME, "http", 0) || curl_url_set(urlp, CURLUPART_PORT, "80", 0)) { fprintf(stderr, "problem setting CURLUPART"); goto test_cleanup; } easy_setopt(handle, CURLOPT_CURLU, urlp); easy_setopt(handle, CURLOPT_VERBOSE, 1L); easy_setopt(handle, CURLOPT_PROXY, URL); res = curl_easy_perform(handle); if(res) { fprintf(stderr, "%s:%d curl_easy_perform() failed with code %d (%s)\n", __FILE__, __LINE__, res, curl_easy_strerror(res)); goto test_cleanup; } test_cleanup: curl_url_cleanup(urlp); curl_easy_cleanup(handle); curl_global_cleanup(); return res; } |
Changes to jni/curl/tests/libtest/stub_gssapi.c.
︙ | ︙ | |||
40 41 42 43 44 45 46 | GSS_INVALID_CREDS, GSS_INVALID_CTX, GSS_SERVER_ERR, GSS_NO_MECH, GSS_LAST }; | | | | | | | | | | | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | GSS_INVALID_CREDS, GSS_INVALID_CTX, GSS_SERVER_ERR, GSS_NO_MECH, GSS_LAST }; static const char *min_err_table[] = { "stub-gss: no error", "stub-gss: no memory", "stub-gss: invalid arguments", "stub-gss: invalid credentials", "stub-gss: invalid context", "stub-gss: server returned error", "stub-gss: cannot find a mechanism", NULL }; struct gss_ctx_id_t_desc_struct { enum { NONE, KRB5, NTLM1, NTLM3 } sent; int have_krb5; int have_ntlm; OM_uint32 flags; |
︙ | ︙ |
Changes to jni/curl/tests/runtests.1.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH runtests.pl 1 "May 05, 2017" "Curl 7.64.1" "runtests" .SH NAME runtests.pl \- run one or more test cases .SH SYNOPSIS .B runtests.pl [options] [test number] [!test number] [key word] [!key word] .SH DESCRIPTION \fIruntests.pl\fP runs one, several or all the existing test cases in curl's |
︙ | ︙ |
Changes to jni/curl/tests/runtests.pl.
1 2 3 4 5 6 7 8 | #!/usr/bin/env perl #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #!/usr/bin/env perl #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
229 230 231 232 233 234 235 236 237 238 239 240 241 242 | my $has_tls_srp; # set if libcurl is built with TLS-SRP support my $has_metalink; # set if curl is built with Metalink support my $has_http2; # set if libcurl is built with HTTP2 support my $has_crypto; # set if libcurl is built with cryptographic support my $has_cares; # set if built with c-ares my $has_threadedres;# set if built with threaded resolver my $has_psl; # set if libcurl is built with PSL support my $has_ldpreload; # set if curl is built for systems supporting LD_PRELOAD my $has_multissl; # set if curl is build with MultiSSL support my $has_manual; # set if curl is built with built-in manual # this version is decided by the particular nghttp2 library that is being used my $h2cver = "h2c"; | > | 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 | my $has_tls_srp; # set if libcurl is built with TLS-SRP support my $has_metalink; # set if curl is built with Metalink support my $has_http2; # set if libcurl is built with HTTP2 support my $has_crypto; # set if libcurl is built with cryptographic support my $has_cares; # set if built with c-ares my $has_threadedres;# set if built with threaded resolver my $has_psl; # set if libcurl is built with PSL support my $has_altsvc; # set if libcurl is built with alt-svc support my $has_ldpreload; # set if curl is built for systems supporting LD_PRELOAD my $has_multissl; # set if curl is build with MultiSSL support my $has_manual; # set if curl is built with built-in manual # this version is decided by the particular nghttp2 library that is being used my $h2cver = "h2c"; |
︙ | ︙ | |||
253 254 255 256 257 258 259 | my $has_mesalink; # built with MesaLink my $has_sslpinning; # built with a TLS backend that supports pinning my $has_shared = "unknown"; # built shared my $resolver; # name of the resolver backend (for human presentation) | < | 254 255 256 257 258 259 260 261 262 263 264 265 266 267 | my $has_mesalink; # built with MesaLink my $has_sslpinning; # built with a TLS backend that supports pinning my $has_shared = "unknown"; # built shared my $resolver; # name of the resolver backend (for human presentation) my $has_textaware; # set if running on a system that has a text mode concept # on files. Windows for example my @protocols; # array of lowercase supported protocol servers my $skipped=0; # number of tests skipped; reported in main loop |
︙ | ︙ | |||
2684 2685 2686 2687 2688 2689 2690 | $has_ldpreload = 1; } if($curl =~ /win32|Windows|mingw(32|64)/) { # This is a Windows MinGW build or native build, we need to use # Win32-style path. $pwd = pathhelp::sys_native_current_path(); } | | < < < < < < < < < < < | 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 | $has_ldpreload = 1; } if($curl =~ /win32|Windows|mingw(32|64)/) { # This is a Windows MinGW build or native build, we need to use # Win32-style path. $pwd = pathhelp::sys_native_current_path(); } if ($libcurl =~ /(winssl|schannel)/i) { $has_winssl=1; $has_sslpinning=1; } elsif ($libcurl =~ /openssl/i) { $has_openssl=1; $has_sslpinning=1; } elsif ($libcurl =~ /gnutls/i) { $has_gnutls=1; $has_sslpinning=1; } elsif ($libcurl =~ /nss/i) { $has_nss=1; $has_sslpinning=1; } elsif ($libcurl =~ /(yassl|wolfssl)/i) { $has_yassl=1; $has_sslpinning=1; } elsif ($libcurl =~ /polarssl/i) { $has_polarssl=1; $has_sslpinning=1; } elsif ($libcurl =~ /securetransport/i) { $has_darwinssl=1; $has_sslpinning=1; } elsif ($libcurl =~ /BoringSSL/i) { $has_boringssl=1; $has_sslpinning=1; } elsif ($libcurl =~ /libressl/i) { $has_libressl=1; $has_sslpinning=1; } elsif ($libcurl =~ /mbedTLS/i) { $has_mbedtls=1; $has_sslpinning=1; } if ($libcurl =~ /ares/i) { $has_cares=1; $resolver="c-ares"; } if ($libcurl =~ /mesalink/i) { $has_mesalink=1; } } elsif($_ =~ /^Protocols: (.*)/i) { # these are the protocols compiled in to this libcurl @protocols = split(' ', lc($1)); # Generate a "proto-ipv6" version of each protocol to match the |
︙ | ︙ | |||
2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 | if($feat =~ /Metalink/i) { # Metalink enabled $has_metalink=1; } if($feat =~ /PSL/i) { # PSL enabled $has_psl=1; } if($feat =~ /AsynchDNS/i) { if(!$has_cares) { # this means threaded resolver $has_threadedres=1; $resolver="threaded"; } | > > > > | 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 | if($feat =~ /Metalink/i) { # Metalink enabled $has_metalink=1; } if($feat =~ /PSL/i) { # PSL enabled $has_psl=1; } if($feat =~ /alt-svc/i) { # alt-svc enabled $has_altsvc=1; } if($feat =~ /AsynchDNS/i) { if(!$has_cares) { # this means threaded resolver $has_threadedres=1; $resolver="threaded"; } |
︙ | ︙ | |||
3275 3276 3277 3278 3279 3280 3281 | } } elsif($1 eq "NSS") { if($has_nss) { next; } } | | | 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 | } } elsif($1 eq "NSS") { if($has_nss) { next; } } elsif(($1 eq "WinSSL") || ($1 eq "Schannel")) { if($has_winssl) { next; } } elsif($1 eq "DarwinSSL") { if($has_darwinssl) { next; |
︙ | ︙ | |||
3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 | next; } } elsif($1 eq "PSL") { if($has_psl) { next; } } elsif($1 eq "manual") { if($has_manual) { next; } } elsif($1 eq "socks") { | > > > > > | 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 | next; } } elsif($1 eq "PSL") { if($has_psl) { next; } } elsif($1 eq "alt-svc") { if($has_altsvc) { next; } } elsif($1 eq "manual") { if($has_manual) { next; } } elsif($1 eq "socks") { |
︙ | ︙ | |||
3448 3449 3450 3451 3452 3453 3454 | } } elsif($1 eq "NSS") { if(!$has_nss) { next; } } | | | 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 | } } elsif($1 eq "NSS") { if(!$has_nss) { next; } } elsif(($1 eq "WinSSL") || ($1 eq "Schannel")) { if(!$has_winssl) { next; } } elsif($1 eq "DarwinSSL") { if(!$has_darwinssl) { next; |
︙ | ︙ | |||
3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 | # redirected stdout/stderr to these files $STDOUT="$LOGDIR/stdout$testnum"; $STDERR="$LOGDIR/stderr$testnum"; # if this section exists, we verify that the stdout contained this: my @validstdout = fixarray ( getpart("verify", "stdout") ); # if this section exists, we verify upload my @upload = getpart("verify", "upload"); if(@upload) { my %hash = getpartattr("verify", "upload"); if($hash{'nonewline'}) { # cut off the final newline from the final line of the upload data | > | 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 | # redirected stdout/stderr to these files $STDOUT="$LOGDIR/stdout$testnum"; $STDERR="$LOGDIR/stderr$testnum"; # if this section exists, we verify that the stdout contained this: my @validstdout = fixarray ( getpart("verify", "stdout") ); my @validstderr = fixarray ( getpart("verify", "stderr") ); # if this section exists, we verify upload my @upload = getpart("verify", "upload"); if(@upload) { my %hash = getpartattr("verify", "upload"); if($hash{'nonewline'}) { # cut off the final newline from the final line of the upload data |
︙ | ︙ | |||
4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 | return 1; } $ok .= "s"; } else { $ok .= "-"; # stdout not checked } if(@protocol) { # Verify the sent request my @out = loadarray($SERVERIN); # what to cut off from the live protocol sent by curl my @strip = getpart("verify", "strip"); | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 | return 1; } $ok .= "s"; } else { $ok .= "-"; # stdout not checked } if (@validstderr) { # verify redirected stderr my @actual = loadarray($STDERR); # what parts to cut off from stderr my @stripfile = getpart("verify", "stripfile"); foreach my $strip (@stripfile) { chomp $strip; my @newgen; for(@actual) { eval $strip; if($_) { push @newgen, $_; } } # this is to get rid of array entries that vanished (zero # length) because of replacements @actual = @newgen; } # variable-replace in the stderr we have from the test case file @validstderr = fixarray(@validstderr); # get all attributes my %hash = getpartattr("verify", "stderr"); # get the mode attribute my $filemode=$hash{'mode'}; if($filemode && ($filemode eq "text") && $has_textaware) { # text mode when running on windows: fix line endings map s/\r\n/\n/g, @validstderr; map s/\n/\r\n/g, @validstderr; } if($hash{'nonewline'}) { # Yes, we must cut off the final newline from the final line # of the protocol data chomp($validstderr[$#validstderr]); } $res = compare($testnum, $testname, "stderr", \@actual, \@validstderr); if($res) { return 1; } $ok .= "r"; } else { $ok .= "-"; # stderr not checked } if(@protocol) { # Verify the sent request my @out = loadarray($SERVERIN); # what to cut off from the live protocol sent by curl my @strip = getpart("verify", "strip"); |
︙ | ︙ |
Changes to jni/curl/tests/server/Makefile.am.
1 2 3 4 5 6 7 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
52 53 54 55 56 57 58 59 | endif # Makefile.inc provides neat definitions include Makefile.inc EXTRA_DIST = base64.pl Makefile.inc CMakeLists.txt checksrc: | > > > > > | | 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | endif # Makefile.inc provides neat definitions include Makefile.inc EXTRA_DIST = base64.pl Makefile.inc CMakeLists.txt CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) checksrc: $(CHECKSRC)@PERL@ $(top_srcdir)/lib/checksrc.pl $(srcdir)/*.c if CURLDEBUG # for debug builds, we scan the sources on all regular make invokes all-local: checksrc endif |
Changes to jni/curl/tests/server/Makefile.in.
︙ | ︙ | |||
421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ | > > | 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ |
︙ | ︙ | |||
491 492 493 494 495 496 497 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ | < > | 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ |
︙ | ︙ | |||
573 574 575 576 577 578 579 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | | 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
679 680 681 682 683 684 685 686 687 688 689 690 691 692 | fake_ntlm.c fake_ntlm_LDADD = @CURL_NETWORK_AND_TIME_LIBS@ fake_ntlm_CFLAGS = $(AM_CFLAGS) # Makefile.inc provides neat definitions EXTRA_DIST = base64.pl Makefile.inc CMakeLists.txt all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/Makefile.inc $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ | > > > > | 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 | fake_ntlm.c fake_ntlm_LDADD = @CURL_NETWORK_AND_TIME_LIBS@ fake_ntlm_CFLAGS = $(AM_CFLAGS) # Makefile.inc provides neat definitions EXTRA_DIST = base64.pl Makefile.inc CMakeLists.txt CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/Makefile.inc $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ |
︙ | ︙ | |||
2321 2322 2323 2324 2325 2326 2327 | mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am .PRECIOUS: Makefile checksrc: | | | 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 | mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am .PRECIOUS: Makefile checksrc: $(CHECKSRC)@PERL@ $(top_srcdir)/lib/checksrc.pl $(srcdir)/*.c # for debug builds, we scan the sources on all regular make invokes @CURLDEBUG_TRUE@all-local: checksrc # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: |
Changes to jni/curl/tests/testcurl.1.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH testcurl.pl 1 "October 22, 2016" "Curl 7.64.1" "testcurl" .SH NAME testcurl.pl \- (automatically) test curl .SH SYNOPSIS .B testcurl.pl [options] [dir] > output .SH DESCRIPTION \fItestcurl.pl\fP is the master script to use for automatic testing of curl |
︙ | ︙ |
Changes to jni/curl/tests/unit/Makefile.am.
1 2 3 4 5 6 7 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
60 61 62 63 64 65 66 67 | @LDFLAGS@ @LIBCURL_LIBS@ AM_CPPFLAGS += -DCURL_STATICLIB -DUNITTESTS # Makefile.inc provides neat definitions include Makefile.inc checksrc: | > > > > > | | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | @LDFLAGS@ @LIBCURL_LIBS@ AM_CPPFLAGS += -DCURL_STATICLIB -DUNITTESTS # Makefile.inc provides neat definitions include Makefile.inc CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) checksrc: $(CHECKSRC)@PERL@ $(top_srcdir)/lib/checksrc.pl $(srcdir)/*.c if BUILD_UNITTESTS noinst_PROGRAMS = $(UNITPROGS) else noinst_PROGRAMS = endif |
Changes to jni/curl/tests/unit/Makefile.in.
︙ | ︙ | |||
124 125 126 127 128 129 130 | unit1323$(EXEEXT) unit1330$(EXEEXT) unit1394$(EXEEXT) \ unit1395$(EXEEXT) unit1396$(EXEEXT) unit1397$(EXEEXT) \ unit1398$(EXEEXT) unit1399$(EXEEXT) unit1600$(EXEEXT) \ unit1601$(EXEEXT) unit1602$(EXEEXT) unit1603$(EXEEXT) \ unit1604$(EXEEXT) unit1605$(EXEEXT) unit1606$(EXEEXT) \ unit1607$(EXEEXT) unit1608$(EXEEXT) unit1609$(EXEEXT) \ unit1620$(EXEEXT) unit1621$(EXEEXT) unit1650$(EXEEXT) \ | | > | 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | unit1323$(EXEEXT) unit1330$(EXEEXT) unit1394$(EXEEXT) \ unit1395$(EXEEXT) unit1396$(EXEEXT) unit1397$(EXEEXT) \ unit1398$(EXEEXT) unit1399$(EXEEXT) unit1600$(EXEEXT) \ unit1601$(EXEEXT) unit1602$(EXEEXT) unit1603$(EXEEXT) \ unit1604$(EXEEXT) unit1605$(EXEEXT) unit1606$(EXEEXT) \ unit1607$(EXEEXT) unit1608$(EXEEXT) unit1609$(EXEEXT) \ unit1620$(EXEEXT) unit1621$(EXEEXT) unit1650$(EXEEXT) \ unit1651$(EXEEXT) unit1652$(EXEEXT) unit1653$(EXEEXT) \ unit1654$(EXEEXT) PROGRAMS = $(noinst_PROGRAMS) am__dirstamp = $(am__leading_dot)dirstamp am__objects_1 = ../libtest/unit1300-first.$(OBJEXT) am_unit1300_OBJECTS = unit1300-unit1300.$(OBJEXT) $(am__objects_1) unit1300_OBJECTS = $(am_unit1300_OBJECTS) unit1300_LDADD = $(LDADD) unit1300_DEPENDENCIES = $(top_builddir)/src/libcurltool.la \ |
︙ | ︙ | |||
329 330 331 332 333 334 335 336 337 338 339 340 341 342 | $(top_builddir)/lib/libcurlu.la am__objects_33 = ../libtest/unit1653-first.$(OBJEXT) am_unit1653_OBJECTS = unit1653-unit1653.$(OBJEXT) $(am__objects_33) unit1653_OBJECTS = $(am_unit1653_OBJECTS) unit1653_LDADD = $(LDADD) unit1653_DEPENDENCIES = $(top_builddir)/src/libcurltool.la \ $(top_builddir)/lib/libcurlu.la AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; | > > > > > > | 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 | $(top_builddir)/lib/libcurlu.la am__objects_33 = ../libtest/unit1653-first.$(OBJEXT) am_unit1653_OBJECTS = unit1653-unit1653.$(OBJEXT) $(am__objects_33) unit1653_OBJECTS = $(am_unit1653_OBJECTS) unit1653_LDADD = $(LDADD) unit1653_DEPENDENCIES = $(top_builddir)/src/libcurltool.la \ $(top_builddir)/lib/libcurlu.la am__objects_34 = ../libtest/unit1654-first.$(OBJEXT) am_unit1654_OBJECTS = unit1654-unit1654.$(OBJEXT) $(am__objects_34) unit1654_OBJECTS = $(am_unit1654_OBJECTS) unit1654_LDADD = $(LDADD) unit1654_DEPENDENCIES = $(top_builddir)/src/libcurltool.la \ $(top_builddir)/lib/libcurlu.la AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; |
︙ | ︙ | |||
377 378 379 380 381 382 383 384 385 386 387 388 389 390 | ../libtest/$(DEPDIR)/unit1609-first.Po \ ../libtest/$(DEPDIR)/unit1620-first.Po \ ../libtest/$(DEPDIR)/unit1621-first.Po \ ../libtest/$(DEPDIR)/unit1650-first.Po \ ../libtest/$(DEPDIR)/unit1651-first.Po \ ../libtest/$(DEPDIR)/unit1652-first.Po \ ../libtest/$(DEPDIR)/unit1653-first.Po \ ./$(DEPDIR)/unit1300-unit1300.Po \ ./$(DEPDIR)/unit1301-unit1301.Po \ ./$(DEPDIR)/unit1302-unit1302.Po \ ./$(DEPDIR)/unit1303-unit1303.Po \ ./$(DEPDIR)/unit1304-unit1304.Po \ ./$(DEPDIR)/unit1305-unit1305.Po \ ./$(DEPDIR)/unit1307-unit1307.Po \ | > | 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 | ../libtest/$(DEPDIR)/unit1609-first.Po \ ../libtest/$(DEPDIR)/unit1620-first.Po \ ../libtest/$(DEPDIR)/unit1621-first.Po \ ../libtest/$(DEPDIR)/unit1650-first.Po \ ../libtest/$(DEPDIR)/unit1651-first.Po \ ../libtest/$(DEPDIR)/unit1652-first.Po \ ../libtest/$(DEPDIR)/unit1653-first.Po \ ../libtest/$(DEPDIR)/unit1654-first.Po \ ./$(DEPDIR)/unit1300-unit1300.Po \ ./$(DEPDIR)/unit1301-unit1301.Po \ ./$(DEPDIR)/unit1302-unit1302.Po \ ./$(DEPDIR)/unit1303-unit1303.Po \ ./$(DEPDIR)/unit1304-unit1304.Po \ ./$(DEPDIR)/unit1305-unit1305.Po \ ./$(DEPDIR)/unit1307-unit1307.Po \ |
︙ | ︙ | |||
409 410 411 412 413 414 415 | ./$(DEPDIR)/unit1608-unit1608.Po \ ./$(DEPDIR)/unit1609-unit1609.Po \ ./$(DEPDIR)/unit1620-unit1620.Po \ ./$(DEPDIR)/unit1621-unit1621.Po \ ./$(DEPDIR)/unit1650-unit1650.Po \ ./$(DEPDIR)/unit1651-unit1651.Po \ ./$(DEPDIR)/unit1652-unit1652.Po \ | | > | 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 | ./$(DEPDIR)/unit1608-unit1608.Po \ ./$(DEPDIR)/unit1609-unit1609.Po \ ./$(DEPDIR)/unit1620-unit1620.Po \ ./$(DEPDIR)/unit1621-unit1621.Po \ ./$(DEPDIR)/unit1650-unit1650.Po \ ./$(DEPDIR)/unit1651-unit1651.Po \ ./$(DEPDIR)/unit1652-unit1652.Po \ ./$(DEPDIR)/unit1653-unit1653.Po \ ./$(DEPDIR)/unit1654-unit1654.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) |
︙ | ︙ | |||
439 440 441 442 443 444 445 | $(unit1323_SOURCES) $(unit1330_SOURCES) $(unit1394_SOURCES) \ $(unit1395_SOURCES) $(unit1396_SOURCES) $(unit1397_SOURCES) \ $(unit1398_SOURCES) $(unit1399_SOURCES) $(unit1600_SOURCES) \ $(unit1601_SOURCES) $(unit1602_SOURCES) $(unit1603_SOURCES) \ $(unit1604_SOURCES) $(unit1605_SOURCES) $(unit1606_SOURCES) \ $(unit1607_SOURCES) $(unit1608_SOURCES) $(unit1609_SOURCES) \ $(unit1620_SOURCES) $(unit1621_SOURCES) $(unit1650_SOURCES) \ | | > | | 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 | $(unit1323_SOURCES) $(unit1330_SOURCES) $(unit1394_SOURCES) \ $(unit1395_SOURCES) $(unit1396_SOURCES) $(unit1397_SOURCES) \ $(unit1398_SOURCES) $(unit1399_SOURCES) $(unit1600_SOURCES) \ $(unit1601_SOURCES) $(unit1602_SOURCES) $(unit1603_SOURCES) \ $(unit1604_SOURCES) $(unit1605_SOURCES) $(unit1606_SOURCES) \ $(unit1607_SOURCES) $(unit1608_SOURCES) $(unit1609_SOURCES) \ $(unit1620_SOURCES) $(unit1621_SOURCES) $(unit1650_SOURCES) \ $(unit1651_SOURCES) $(unit1652_SOURCES) $(unit1653_SOURCES) \ $(unit1654_SOURCES) DIST_SOURCES = $(unit1300_SOURCES) $(unit1301_SOURCES) \ $(unit1302_SOURCES) $(unit1303_SOURCES) $(unit1304_SOURCES) \ $(unit1305_SOURCES) $(unit1307_SOURCES) $(unit1308_SOURCES) \ $(unit1309_SOURCES) $(unit1323_SOURCES) $(unit1330_SOURCES) \ $(unit1394_SOURCES) $(unit1395_SOURCES) $(unit1396_SOURCES) \ $(unit1397_SOURCES) $(unit1398_SOURCES) $(unit1399_SOURCES) \ $(unit1600_SOURCES) $(unit1601_SOURCES) $(unit1602_SOURCES) \ $(unit1603_SOURCES) $(unit1604_SOURCES) $(unit1605_SOURCES) \ $(unit1606_SOURCES) $(unit1607_SOURCES) $(unit1608_SOURCES) \ $(unit1609_SOURCES) $(unit1620_SOURCES) $(unit1621_SOURCES) \ $(unit1650_SOURCES) $(unit1651_SOURCES) $(unit1652_SOURCES) \ $(unit1653_SOURCES) $(unit1654_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, |
︙ | ︙ | |||
535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ | > > | 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 | ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FISH_FUNCTIONS_DIR = @FISH_FUNCTIONS_DIR@ GCOV = @GCOV@ GREP = @GREP@ HAVE_BROTLI = @HAVE_BROTLI@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ HAVE_PROTO_BSDSOCKET_H = @HAVE_PROTO_BSDSOCKET_H@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ |
︙ | ︙ | |||
605 606 607 608 609 610 611 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ | < > | 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 | SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_CYASSL = @USE_CYASSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ |
︙ | ︙ | |||
687 688 689 690 691 692 693 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | | 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
744 745 746 747 748 749 750 | # These are all unit test programs UNITPROGS = unit1300 unit1301 unit1302 unit1303 unit1304 unit1305 unit1307 \ unit1308 unit1309 unit1323 \ unit1330 unit1394 unit1395 unit1396 unit1397 unit1398 \ unit1399 \ unit1600 unit1601 unit1602 unit1603 unit1604 unit1605 unit1606 unit1607 \ unit1608 unit1609 unit1620 unit1621 \ | | | 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 | # These are all unit test programs UNITPROGS = unit1300 unit1301 unit1302 unit1303 unit1304 unit1305 unit1307 \ unit1308 unit1309 unit1323 \ unit1330 unit1394 unit1395 unit1396 unit1397 unit1398 \ unit1399 \ unit1600 unit1601 unit1602 unit1603 unit1604 unit1605 unit1606 unit1607 \ unit1608 unit1609 unit1620 unit1621 \ unit1650 unit1651 unit1652 unit1653 unit1654 unit1300_SOURCES = unit1300.c $(UNITFILES) unit1300_CPPFLAGS = $(AM_CPPFLAGS) unit1301_SOURCES = unit1301.c $(UNITFILES) unit1301_CPPFLAGS = $(AM_CPPFLAGS) unit1302_SOURCES = unit1302.c $(UNITFILES) unit1302_CPPFLAGS = $(AM_CPPFLAGS) |
︙ | ︙ | |||
816 817 818 819 820 821 822 823 824 825 826 827 828 829 | unit1650_CPPFLAGS = $(AM_CPPFLAGS) unit1651_SOURCES = unit1651.c $(UNITFILES) unit1651_CPPFLAGS = $(AM_CPPFLAGS) unit1652_SOURCES = unit1652.c $(UNITFILES) unit1652_CPPFLAGS = $(AM_CPPFLAGS) unit1653_SOURCES = unit1653.c $(UNITFILES) unit1653_CPPFLAGS = $(AM_CPPFLAGS) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/Makefile.inc $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ | > > > > > > > > | 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 | unit1650_CPPFLAGS = $(AM_CPPFLAGS) unit1651_SOURCES = unit1651.c $(UNITFILES) unit1651_CPPFLAGS = $(AM_CPPFLAGS) unit1652_SOURCES = unit1652.c $(UNITFILES) unit1652_CPPFLAGS = $(AM_CPPFLAGS) unit1653_SOURCES = unit1653.c $(UNITFILES) unit1653_CPPFLAGS = $(AM_CPPFLAGS) unit1654_SOURCES = unit1654.c $(UNITFILES) unit1654_CPPFLAGS = $(AM_CPPFLAGS) # Makefile.inc provides neat definitions CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/Makefile.inc $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ |
︙ | ︙ | |||
1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 | $(AM_V_CCLD)$(LINK) $(unit1652_OBJECTS) $(unit1652_LDADD) $(LIBS) ../libtest/unit1653-first.$(OBJEXT): ../libtest/$(am__dirstamp) \ ../libtest/$(DEPDIR)/$(am__dirstamp) unit1653$(EXEEXT): $(unit1653_OBJECTS) $(unit1653_DEPENDENCIES) $(EXTRA_unit1653_DEPENDENCIES) @rm -f unit1653$(EXEEXT) $(AM_V_CCLD)$(LINK) $(unit1653_OBJECTS) $(unit1653_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) -rm -f ../libtest/*.$(OBJEXT) distclean-compile: -rm -f *.tab.c | > > > > > > | 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 | $(AM_V_CCLD)$(LINK) $(unit1652_OBJECTS) $(unit1652_LDADD) $(LIBS) ../libtest/unit1653-first.$(OBJEXT): ../libtest/$(am__dirstamp) \ ../libtest/$(DEPDIR)/$(am__dirstamp) unit1653$(EXEEXT): $(unit1653_OBJECTS) $(unit1653_DEPENDENCIES) $(EXTRA_unit1653_DEPENDENCIES) @rm -f unit1653$(EXEEXT) $(AM_V_CCLD)$(LINK) $(unit1653_OBJECTS) $(unit1653_LDADD) $(LIBS) ../libtest/unit1654-first.$(OBJEXT): ../libtest/$(am__dirstamp) \ ../libtest/$(DEPDIR)/$(am__dirstamp) unit1654$(EXEEXT): $(unit1654_OBJECTS) $(unit1654_DEPENDENCIES) $(EXTRA_unit1654_DEPENDENCIES) @rm -f unit1654$(EXEEXT) $(AM_V_CCLD)$(LINK) $(unit1654_OBJECTS) $(unit1654_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) -rm -f ../libtest/*.$(OBJEXT) distclean-compile: -rm -f *.tab.c |
︙ | ︙ | |||
1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 | @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1609-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1620-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1621-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1650-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1651-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1652-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1653-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1300-unit1300.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1301-unit1301.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1302-unit1302.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1303-unit1303.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1304-unit1304.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1305-unit1305.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1307-unit1307.Po@am__quote@ # am--include-marker | > | 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 | @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1609-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1620-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1621-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1650-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1651-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1652-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1653-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../libtest/$(DEPDIR)/unit1654-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1300-unit1300.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1301-unit1301.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1302-unit1302.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1303-unit1303.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1304-unit1304.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1305-unit1305.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1307-unit1307.Po@am__quote@ # am--include-marker |
︙ | ︙ | |||
1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1609-unit1609.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1620-unit1620.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1621-unit1621.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1650-unit1650.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1651-unit1651.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1652-unit1652.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1653-unit1653.Po@am__quote@ # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) @echo '# dummy' >$@-t && $(am__mv) $@-t $@ am--depfiles: $(am__depfiles_remade) | > | 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1609-unit1609.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1620-unit1620.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1621-unit1621.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1650-unit1650.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1651-unit1651.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1652-unit1652.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1653-unit1653.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit1654-unit1654.Po@am__quote@ # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) @echo '# dummy' >$@-t && $(am__mv) $@-t $@ am--depfiles: $(am__depfiles_remade) |
︙ | ︙ | |||
2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 | ../libtest/unit1653-first.obj: ../libtest/first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1653_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../libtest/unit1653-first.obj -MD -MP -MF ../libtest/$(DEPDIR)/unit1653-first.Tpo -c -o ../libtest/unit1653-first.obj `if test -f '../libtest/first.c'; then $(CYGPATH_W) '../libtest/first.c'; else $(CYGPATH_W) '$(srcdir)/../libtest/first.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../libtest/$(DEPDIR)/unit1653-first.Tpo ../libtest/$(DEPDIR)/unit1653-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../libtest/first.c' object='../libtest/unit1653-first.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1653_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../libtest/unit1653-first.obj `if test -f '../libtest/first.c'; then $(CYGPATH_W) '../libtest/first.c'; else $(CYGPATH_W) '$(srcdir)/../libtest/first.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) | > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 | ../libtest/unit1653-first.obj: ../libtest/first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1653_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../libtest/unit1653-first.obj -MD -MP -MF ../libtest/$(DEPDIR)/unit1653-first.Tpo -c -o ../libtest/unit1653-first.obj `if test -f '../libtest/first.c'; then $(CYGPATH_W) '../libtest/first.c'; else $(CYGPATH_W) '$(srcdir)/../libtest/first.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../libtest/$(DEPDIR)/unit1653-first.Tpo ../libtest/$(DEPDIR)/unit1653-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../libtest/first.c' object='../libtest/unit1653-first.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1653_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../libtest/unit1653-first.obj `if test -f '../libtest/first.c'; then $(CYGPATH_W) '../libtest/first.c'; else $(CYGPATH_W) '$(srcdir)/../libtest/first.c'; fi` unit1654-unit1654.o: unit1654.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1654_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT unit1654-unit1654.o -MD -MP -MF $(DEPDIR)/unit1654-unit1654.Tpo -c -o unit1654-unit1654.o `test -f 'unit1654.c' || echo '$(srcdir)/'`unit1654.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/unit1654-unit1654.Tpo $(DEPDIR)/unit1654-unit1654.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='unit1654.c' object='unit1654-unit1654.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1654_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o unit1654-unit1654.o `test -f 'unit1654.c' || echo '$(srcdir)/'`unit1654.c unit1654-unit1654.obj: unit1654.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1654_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT unit1654-unit1654.obj -MD -MP -MF $(DEPDIR)/unit1654-unit1654.Tpo -c -o unit1654-unit1654.obj `if test -f 'unit1654.c'; then $(CYGPATH_W) 'unit1654.c'; else $(CYGPATH_W) '$(srcdir)/unit1654.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/unit1654-unit1654.Tpo $(DEPDIR)/unit1654-unit1654.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='unit1654.c' object='unit1654-unit1654.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1654_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o unit1654-unit1654.obj `if test -f 'unit1654.c'; then $(CYGPATH_W) 'unit1654.c'; else $(CYGPATH_W) '$(srcdir)/unit1654.c'; fi` ../libtest/unit1654-first.o: ../libtest/first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1654_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../libtest/unit1654-first.o -MD -MP -MF ../libtest/$(DEPDIR)/unit1654-first.Tpo -c -o ../libtest/unit1654-first.o `test -f '../libtest/first.c' || echo '$(srcdir)/'`../libtest/first.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../libtest/$(DEPDIR)/unit1654-first.Tpo ../libtest/$(DEPDIR)/unit1654-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../libtest/first.c' object='../libtest/unit1654-first.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1654_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../libtest/unit1654-first.o `test -f '../libtest/first.c' || echo '$(srcdir)/'`../libtest/first.c ../libtest/unit1654-first.obj: ../libtest/first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1654_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../libtest/unit1654-first.obj -MD -MP -MF ../libtest/$(DEPDIR)/unit1654-first.Tpo -c -o ../libtest/unit1654-first.obj `if test -f '../libtest/first.c'; then $(CYGPATH_W) '../libtest/first.c'; else $(CYGPATH_W) '$(srcdir)/../libtest/first.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../libtest/$(DEPDIR)/unit1654-first.Tpo ../libtest/$(DEPDIR)/unit1654-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../libtest/first.c' object='../libtest/unit1654-first.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(unit1654_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../libtest/unit1654-first.obj `if test -f '../libtest/first.c'; then $(CYGPATH_W) '../libtest/first.c'; else $(CYGPATH_W) '$(srcdir)/../libtest/first.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) |
︙ | ︙ | |||
2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 | -rm -f ../libtest/$(DEPDIR)/unit1609-first.Po -rm -f ../libtest/$(DEPDIR)/unit1620-first.Po -rm -f ../libtest/$(DEPDIR)/unit1621-first.Po -rm -f ../libtest/$(DEPDIR)/unit1650-first.Po -rm -f ../libtest/$(DEPDIR)/unit1651-first.Po -rm -f ../libtest/$(DEPDIR)/unit1652-first.Po -rm -f ../libtest/$(DEPDIR)/unit1653-first.Po -rm -f ./$(DEPDIR)/unit1300-unit1300.Po -rm -f ./$(DEPDIR)/unit1301-unit1301.Po -rm -f ./$(DEPDIR)/unit1302-unit1302.Po -rm -f ./$(DEPDIR)/unit1303-unit1303.Po -rm -f ./$(DEPDIR)/unit1304-unit1304.Po -rm -f ./$(DEPDIR)/unit1305-unit1305.Po -rm -f ./$(DEPDIR)/unit1307-unit1307.Po | > | 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 | -rm -f ../libtest/$(DEPDIR)/unit1609-first.Po -rm -f ../libtest/$(DEPDIR)/unit1620-first.Po -rm -f ../libtest/$(DEPDIR)/unit1621-first.Po -rm -f ../libtest/$(DEPDIR)/unit1650-first.Po -rm -f ../libtest/$(DEPDIR)/unit1651-first.Po -rm -f ../libtest/$(DEPDIR)/unit1652-first.Po -rm -f ../libtest/$(DEPDIR)/unit1653-first.Po -rm -f ../libtest/$(DEPDIR)/unit1654-first.Po -rm -f ./$(DEPDIR)/unit1300-unit1300.Po -rm -f ./$(DEPDIR)/unit1301-unit1301.Po -rm -f ./$(DEPDIR)/unit1302-unit1302.Po -rm -f ./$(DEPDIR)/unit1303-unit1303.Po -rm -f ./$(DEPDIR)/unit1304-unit1304.Po -rm -f ./$(DEPDIR)/unit1305-unit1305.Po -rm -f ./$(DEPDIR)/unit1307-unit1307.Po |
︙ | ︙ | |||
2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 | -rm -f ./$(DEPDIR)/unit1609-unit1609.Po -rm -f ./$(DEPDIR)/unit1620-unit1620.Po -rm -f ./$(DEPDIR)/unit1621-unit1621.Po -rm -f ./$(DEPDIR)/unit1650-unit1650.Po -rm -f ./$(DEPDIR)/unit1651-unit1651.Po -rm -f ./$(DEPDIR)/unit1652-unit1652.Po -rm -f ./$(DEPDIR)/unit1653-unit1653.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: | > | 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 | -rm -f ./$(DEPDIR)/unit1609-unit1609.Po -rm -f ./$(DEPDIR)/unit1620-unit1620.Po -rm -f ./$(DEPDIR)/unit1621-unit1621.Po -rm -f ./$(DEPDIR)/unit1650-unit1650.Po -rm -f ./$(DEPDIR)/unit1651-unit1651.Po -rm -f ./$(DEPDIR)/unit1652-unit1652.Po -rm -f ./$(DEPDIR)/unit1653-unit1653.Po -rm -f ./$(DEPDIR)/unit1654-unit1654.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: |
︙ | ︙ | |||
2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 | -rm -f ../libtest/$(DEPDIR)/unit1609-first.Po -rm -f ../libtest/$(DEPDIR)/unit1620-first.Po -rm -f ../libtest/$(DEPDIR)/unit1621-first.Po -rm -f ../libtest/$(DEPDIR)/unit1650-first.Po -rm -f ../libtest/$(DEPDIR)/unit1651-first.Po -rm -f ../libtest/$(DEPDIR)/unit1652-first.Po -rm -f ../libtest/$(DEPDIR)/unit1653-first.Po -rm -f ./$(DEPDIR)/unit1300-unit1300.Po -rm -f ./$(DEPDIR)/unit1301-unit1301.Po -rm -f ./$(DEPDIR)/unit1302-unit1302.Po -rm -f ./$(DEPDIR)/unit1303-unit1303.Po -rm -f ./$(DEPDIR)/unit1304-unit1304.Po -rm -f ./$(DEPDIR)/unit1305-unit1305.Po -rm -f ./$(DEPDIR)/unit1307-unit1307.Po | > | 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 | -rm -f ../libtest/$(DEPDIR)/unit1609-first.Po -rm -f ../libtest/$(DEPDIR)/unit1620-first.Po -rm -f ../libtest/$(DEPDIR)/unit1621-first.Po -rm -f ../libtest/$(DEPDIR)/unit1650-first.Po -rm -f ../libtest/$(DEPDIR)/unit1651-first.Po -rm -f ../libtest/$(DEPDIR)/unit1652-first.Po -rm -f ../libtest/$(DEPDIR)/unit1653-first.Po -rm -f ../libtest/$(DEPDIR)/unit1654-first.Po -rm -f ./$(DEPDIR)/unit1300-unit1300.Po -rm -f ./$(DEPDIR)/unit1301-unit1301.Po -rm -f ./$(DEPDIR)/unit1302-unit1302.Po -rm -f ./$(DEPDIR)/unit1303-unit1303.Po -rm -f ./$(DEPDIR)/unit1304-unit1304.Po -rm -f ./$(DEPDIR)/unit1305-unit1305.Po -rm -f ./$(DEPDIR)/unit1307-unit1307.Po |
︙ | ︙ | |||
2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 | -rm -f ./$(DEPDIR)/unit1609-unit1609.Po -rm -f ./$(DEPDIR)/unit1620-unit1620.Po -rm -f ./$(DEPDIR)/unit1621-unit1621.Po -rm -f ./$(DEPDIR)/unit1650-unit1650.Po -rm -f ./$(DEPDIR)/unit1651-unit1651.Po -rm -f ./$(DEPDIR)/unit1652-unit1652.Po -rm -f ./$(DEPDIR)/unit1653-unit1653.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool | > | 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 | -rm -f ./$(DEPDIR)/unit1609-unit1609.Po -rm -f ./$(DEPDIR)/unit1620-unit1620.Po -rm -f ./$(DEPDIR)/unit1621-unit1621.Po -rm -f ./$(DEPDIR)/unit1650-unit1650.Po -rm -f ./$(DEPDIR)/unit1651-unit1651.Po -rm -f ./$(DEPDIR)/unit1652-unit1652.Po -rm -f ./$(DEPDIR)/unit1653-unit1653.Po -rm -f ./$(DEPDIR)/unit1654-unit1654.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool |
︙ | ︙ | |||
2439 2440 2441 2442 2443 2444 2445 | maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am .PRECIOUS: Makefile | < < | | 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 | maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am .PRECIOUS: Makefile checksrc: $(CHECKSRC)@PERL@ $(top_srcdir)/lib/checksrc.pl $(srcdir)/*.c # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: |
Changes to jni/curl/tests/unit/Makefile.inc.
1 2 3 4 5 6 7 8 9 10 11 12 13 | # these files are used in every single unit test program UNITFILES = curlcheck.h \ ../libtest/test.h \ ../libtest/first.c # These are all unit test programs UNITPROGS = unit1300 unit1301 unit1302 unit1303 unit1304 unit1305 unit1307 \ unit1308 unit1309 unit1323 \ unit1330 unit1394 unit1395 unit1396 unit1397 unit1398 \ unit1399 \ unit1600 unit1601 unit1602 unit1603 unit1604 unit1605 unit1606 unit1607 \ unit1608 unit1609 unit1620 unit1621 \ | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | # these files are used in every single unit test program UNITFILES = curlcheck.h \ ../libtest/test.h \ ../libtest/first.c # These are all unit test programs UNITPROGS = unit1300 unit1301 unit1302 unit1303 unit1304 unit1305 unit1307 \ unit1308 unit1309 unit1323 \ unit1330 unit1394 unit1395 unit1396 unit1397 unit1398 \ unit1399 \ unit1600 unit1601 unit1602 unit1603 unit1604 unit1605 unit1606 unit1607 \ unit1608 unit1609 unit1620 unit1621 \ unit1650 unit1651 unit1652 unit1653 unit1654 unit1300_SOURCES = unit1300.c $(UNITFILES) unit1300_CPPFLAGS = $(AM_CPPFLAGS) unit1301_SOURCES = unit1301.c $(UNITFILES) unit1301_CPPFLAGS = $(AM_CPPFLAGS) |
︙ | ︙ | |||
111 112 113 114 115 116 117 | unit1651_CPPFLAGS = $(AM_CPPFLAGS) unit1652_SOURCES = unit1652.c $(UNITFILES) unit1652_CPPFLAGS = $(AM_CPPFLAGS) unit1653_SOURCES = unit1653.c $(UNITFILES) unit1653_CPPFLAGS = $(AM_CPPFLAGS) | > > > | 111 112 113 114 115 116 117 118 119 120 | unit1651_CPPFLAGS = $(AM_CPPFLAGS) unit1652_SOURCES = unit1652.c $(UNITFILES) unit1652_CPPFLAGS = $(AM_CPPFLAGS) unit1653_SOURCES = unit1653.c $(UNITFILES) unit1653_CPPFLAGS = $(AM_CPPFLAGS) unit1654_SOURCES = unit1654.c $(UNITFILES) unit1654_CPPFLAGS = $(AM_CPPFLAGS) |
Changes to jni/curl/tests/unit/unit1307.c.
︙ | ︙ | |||
19 20 21 22 23 24 25 26 27 28 29 30 31 32 | * KIND, either express or implied. * ***************************************************************************/ #include "curlcheck.h" #include "curl_fnmatch.h" /* CURL_FNMATCH_MATCH 0 CURL_FNMATCH_NOMATCH 1 CURL_FNMATCH_FAIL 2 */ #define MATCH CURL_FNMATCH_MATCH | > > > > > > > > > > > | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | * KIND, either express or implied. * ***************************************************************************/ #include "curlcheck.h" #include "curl_fnmatch.h" static CURLcode unit_setup(void) { return CURLE_OK; } static void unit_stop(void) { } #ifndef CURL_DISABLE_FTP /* CURL_FNMATCH_MATCH 0 CURL_FNMATCH_NOMATCH 1 CURL_FNMATCH_FAIL 2 */ #define MATCH CURL_FNMATCH_MATCH |
︙ | ︙ | |||
235 236 237 238 239 240 241 | { "", "", MATCH}, {"**]*[*[\x13]**[*\x13)]*]*[**[*\x13~r-]*]**[.*]*[\xe3\xe3\xe3\xe3\xe3\xe3" "\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3" "\xe3\xe3\xe3\xe3\xe3*[\x13]**[*\x13)]*]*[*[\x13]*[~r]*]*\xba\x13\xa6~b-]*", "a", NOMATCH|LINUX_FAIL} }; | < < < < < < < < < | 246 247 248 249 250 251 252 253 254 255 256 257 258 259 | { "", "", MATCH}, {"**]*[*[\x13]**[*\x13)]*]*[**[*\x13~r-]*]**[.*]*[\xe3\xe3\xe3\xe3\xe3\xe3" "\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3" "\xe3\xe3\xe3\xe3\xe3*[\x13]**[*\x13)]*]*[*[\x13]*[~r]*]*\xba\x13\xa6~b-]*", "a", NOMATCH|LINUX_FAIL} }; static const char *ret2name(int i) { switch(i) { case 0: return "MATCH"; case 1: return "NOMATCH"; |
︙ | ︙ | |||
304 305 306 307 308 309 310 | tests[i].pattern, tests[i].string, ret2name(result), ret2name(rc), i); fail("pattern mismatch"); } } } UNITTEST_STOP | > > > > > > > > > > > | 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 | tests[i].pattern, tests[i].string, ret2name(result), ret2name(rc), i); fail("pattern mismatch"); } } } UNITTEST_STOP #else UNITTEST_START { /* nothing to do, just fail */ return 1; } UNITTEST_STOP #endif |
Changes to jni/curl/tests/unit/unit1607.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "curlcheck.h" #include "urldata.h" #include "connect.h" #include "share.h" /* retrieves ip address and port from a sockaddr structure. note it calls Curl_inet_ntop which sets errno on fail, not SOCKERRNO. */ bool getaddressinfo(struct sockaddr *sa, char *addr, long *port); #include "memdebug.h" /* LAST include file */ static struct Curl_easy *easy; static struct curl_hash *hostcache; static void unit_stop(void) { |
︙ | ︙ | |||
155 156 157 158 159 160 161 | if(!addr && !tests[i].address[j]) break; if(tests[i].address[j] == &skip) continue; | | | | 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | if(!addr && !tests[i].address[j]) break; if(tests[i].address[j] == &skip) continue; if(addr && !getaddressinfo(addr->ai_addr, ipaddress, &port)) { fprintf(stderr, "%s:%d tests[%d] failed. getaddressinfo failed.\n", __FILE__, __LINE__, i); problem = true; break; } if(addr && !tests[i].address[j]) { |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1608.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "curlcheck.h" #include "hostip.h" CURLcode Curl_shuffle_addr(struct Curl_easy *data, Curl_addrinfo **addr); #define NUM_ADDRS 8 static struct Curl_addrinfo addrs[NUM_ADDRS]; static CURLcode unit_setup(void) { int i; |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1609.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "curlcheck.h" #include "urldata.h" #include "connect.h" #include "share.h" /* retrieves ip address and port from a sockaddr structure. note it calls Curl_inet_ntop which sets errno on fail, not SOCKERRNO. */ bool getaddressinfo(struct sockaddr *sa, char *addr, long *port); #include "memdebug.h" /* LAST include file */ static struct Curl_easy *easy; static struct curl_hash *hostcache; static void unit_stop(void) { |
︙ | ︙ | |||
154 155 156 157 158 159 160 | for(j = 0; j < addressnum; ++j) { long port = 0; char ipaddress[MAX_IPADR_LEN] = {0}; if(!addr && !tests[i].address[j]) break; | | | | 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | for(j = 0; j < addressnum; ++j) { long port = 0; char ipaddress[MAX_IPADR_LEN] = {0}; if(!addr && !tests[i].address[j]) break; if(addr && !getaddressinfo(addr->ai_addr, ipaddress, &port)) { fprintf(stderr, "%s:%d tests[%d] failed. getaddressinfo failed.\n", __FILE__, __LINE__, i); problem = true; break; } if(addr && !tests[i].address[j]) { |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1650.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2018 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
148 149 150 151 152 153 154 | DNS_TYPE_AAAA, DOH_OK, "2020:2020:0000:0000:0000:0000:0000:2020 " }, }; UNITTEST_START { | | | 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | DNS_TYPE_AAAA, DOH_OK, "2020:2020:0000:0000:0000:0000:0000:2020 " }, }; UNITTEST_START { size_t size = 0; unsigned char buffer[256]; size_t i; unsigned char *p; for(i = 0; i < sizeof(req) / sizeof(req[0]); i++) { int rc = doh_encode(req[i].name, req[i].type, buffer, sizeof(buffer), &size); if(rc != req[i].rc) { |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1651.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2018 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
348 349 350 351 352 353 354 355 356 357 358 359 360 361 | CURLcode result; struct connectdata conn; const char *beg = (const char *)&cert[0]; const char *end = (const char *)&cert[sizeof(cert)]; struct Curl_easy *data = curl_easy_init(); int i; int byte; memset(&conn, 0, sizeof(struct connectdata)); /* this is a lot of assuming, but we expect the parsing function to only really need the easy handle pointer */ conn.data = data; result = Curl_extract_certinfo(&conn, 0, beg, end); | > > | 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 | CURLcode result; struct connectdata conn; const char *beg = (const char *)&cert[0]; const char *end = (const char *)&cert[sizeof(cert)]; struct Curl_easy *data = curl_easy_init(); int i; int byte; if(!data) return 2; memset(&conn, 0, sizeof(struct connectdata)); /* this is a lot of assuming, but we expect the parsing function to only really need the easy handle pointer */ conn.data = data; result = Curl_extract_certinfo(&conn, 0, beg, end); |
︙ | ︙ |
Added jni/curl/tests/unit/unit1654.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "curlcheck.h" #include "urldata.h" #include "altsvc.h" static CURLcode unit_setup(void) { return CURLE_OK; } static void unit_stop(void) { curl_global_cleanup(); } #if defined(CURL_DISABLE_HTTP) || !defined(USE_ALTSVC) UNITTEST_START { return 0; /* nothing to do when HTTP is disabled or alt-svc support is missing */ } UNITTEST_STOP #else UNITTEST_START { char outname[256]; CURL *curl; CURLcode result; struct altsvcinfo *asi = Curl_altsvc_init(); if(!asi) return 1; result = Curl_altsvc_load(asi, arg); if(result) return result; curl = curl_easy_init(); if(!curl) goto fail; fail_unless(asi->num == 4, "wrong number of entries"); msnprintf(outname, sizeof(outname), "%s-out", arg); result = Curl_altsvc_parse(curl, asi, "h2=\"example.com:8080\"", ALPN_h1, "example.org", 8080); if(result) { fprintf(stderr, "Curl_altsvc_parse() failed!\n"); unitfail++; } fail_unless(asi->num == 5, "wrong number of entries"); result = Curl_altsvc_parse(curl, asi, "h3=\":8080\"", ALPN_h1, "2.example.org", 8080); if(result) { fprintf(stderr, "Curl_altsvc_parse(2) failed!\n"); unitfail++; } fail_unless(asi->num == 6, "wrong number of entries"); result = Curl_altsvc_parse(curl, asi, "h2=\"example.com:8080\", h3=\"yesyes.com\"", ALPN_h1, "3.example.org", 8080); if(result) { fprintf(stderr, "Curl_altsvc_parse(3) failed!\n"); unitfail++; } /* that one should make two entries */ fail_unless(asi->num == 8, "wrong number of entries"); result = Curl_altsvc_parse(curl, asi, "h2=\"example.com:443\"; ma = 120;", ALPN_h2c, "example.org", 80); if(result) { fprintf(stderr, "Curl_altsvc_parse(4) failed!\n"); unitfail++; } fail_unless(asi->num == 9, "wrong number of entries"); result = Curl_altsvc_parse(curl, asi, "h2=\":443\", h3=\":443\"; ma = 120; persist = 1", ALPN_h1, "curl.haxx.se", 80); if(result) { fprintf(stderr, "Curl_altsvc_parse(5) failed!\n"); unitfail++; } fail_unless(asi->num == 11, "wrong number of entries"); /* clear that one again and decrease the counter */ result = Curl_altsvc_parse(curl, asi, "clear;", ALPN_h1, "curl.haxx.se", 80); if(result) { fprintf(stderr, "Curl_altsvc_parse(6) failed!\n"); unitfail++; } fail_unless(asi->num == 9, "wrong number of entries"); Curl_altsvc_save(asi, outname); curl_easy_cleanup(curl); fail: Curl_altsvc_cleanup(asi); return unitfail; } UNITTEST_STOP #endif |