Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | update curl to version 7.85.0 |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
509ae17ed09e9e5c5f466fa472ae5700 |
User & Date: | chw 2022-08-31 16:29:09.699 |
Context
2022-09-01
| ||
19:16 | add selected tcl upstream changes check-in: 759d911f56 user: chw tags: trunk | |
2022-08-31
| ||
16:29 | update curl to version 7.85.0 check-in: 509ae17ed0 user: chw tags: trunk | |
07:37 | fix compile error in tk on macosx check-in: b037e676bb user: chw tags: trunk | |
Changes
Changes to jni/curl/CHANGES.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | _ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | | (__| |_| | _ <| |___ \___|\___/|_| \_\_____| Changelog Version 7.84.0 (27 Jun 2022) Daniel Stenberg (27 Jun 2022) - RELEASE-NOTES: synced Version 7.84.0 release | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | _ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | | (__| |_| | _ <| |___ \___|\___/|_| \_\_____| Changelog Version 7.85.0 (31 Aug 2022) Daniel Stenberg (31 Aug 2022) - RELEASE-NOTES: synced curl 7.85.0 release - THANKS: add contributors from the 7.85.0 release - getparam: correctly clean args Follow-up to bf7e887b2442783ab52 The previous fix for #9128 was incomplete and caused #9397. Fixes #9397 Closes #9399 - zuul: remove the clang-tidy job Turns out we don't see the warnings, but the warnings right now are plain ridiculous and unhelpful so we can just as well just kill this job. Closes #9390 - cmake: set feature PSL if present ... make test 1014 pass when libpsl is used. Closes #9391 - lib530: simplify realloc failure exit path To make code analyzers happier Closes #9392 - [Orgad Shaneh brought this change] tests: add tests for netrc login/password combinations Covers the following PRs: - #9066 - #9247 - #9248 Closes #9256 - [Orgad Shaneh brought this change] url: really use the user provided in the url when netrc entry exists If the user is specified as part of the URL, and the same user exists in .netrc, Authorization header was not sent at all. The user and password fields were assigned in conn->user and password but the user was not assigned to data->state.aptr, which is the field that is used in output_auth_headers and friends. Fix by assigning the user also to aptr. Amends commit d1237ac906ae7e3cd7a22c3a2d3a135a97edfbf5. Fixes #9243 - [Orgad Shaneh brought this change] netrc: Use the password from lines without login If netrc entry has password with empty login, use it for any username. Example: .netrc: machine example.com password 123456 curl -vn http://user@example.com/ Fix it by initializing state_our_login to TRUE, and reset it only when finding an entry with the same host and different login. Closes #9248 - [Jay Satiro brought this change] url: treat missing usernames in netrc as empty - If, after parsing netrc, there is a password with no username then set a blank username. This used to be the case prior to 7d600ad (precedes 7.82). Note parseurlandfillconn already does the same thing for URLs. Reported-by: Raivis <standsed@users.noreply.github.com> Testing-by: Domen Kožar Fixes https://github.com/curl/curl/issues/8653 Closes #9334 Closes #9066 - test8: verify that "ctrl-byte cookies" are ignored - cookie: reject cookies with "control bytes" Rejects 0x01 - 0x1f (except 0x09) plus 0x7f Reported-by: Axel Chong Bug: https://curl.se/docs/CVE-2022-35252.html CVE-2022-35252 Closes #9381 - libssh: ignore deprecation warnings libssh 0.10.0 marks all SCP functions as "deprecated" which causes compiler warnings and errors in our CI jobs and elsewhere. Ignore deprecation warnings if 0.10.0 or later is found in the build. If they actually remove the functions at a later point, then someone can deal with that pain and functionality break then. Fixes #9382 Closes #9383 - Revert "schannel: when importing PFX, disable key persistence" This reverts commit 70d010d285315e5f1cad6bdb4953e167b069b692. Due to further reports in #9300 that indicate this commit might introduce problems. - multi: use larger dns hash table for multi interface Have curl_multi_init() use a much larger DNS hash table than used for the easy interface to scale and perform better when used with _many_ host names. curl_share_init() sets an in-between size. Inspired-by: Ivan Tsybulin See #9340 Closes #9376 Marc Hoersken (28 Aug 2022) - CI/runtests.pl: add param for dedicated curl to talk to APIs This should make it possible to also report test failures if our freshly build curl binary is not fully functional. Reviewed-by: Daniel Stenberg Closes #9360 Daniel Stenberg (27 Aug 2022) - [Jacob Tolar brought this change] openssl: add cert path in error message Closes #9349 - [Jacob Tolar brought this change] cert.d: clarify that escape character works for file paths Closes #9349 - gha: move over ngtcp2-gnutls CI job from zuul Closes #9331 Marc Hoersken (26 Aug 2022) - cmake: add detection of threadsafe feature Avoids failing test 1014 by replicating configure checks for HAVE_ATOMIC and _WIN32_WINNT with custom CMake tests. Reviewed-by: Marcel Raad Follow up to #8680 Closes #9312 Daniel Stenberg (26 Aug 2022) - RELEASE-NOTES: synced Marc Hoersken (26 Aug 2022) - CI/azure: align torture shallowness with GHA There 25 is used with FTP tests skipped, and 20 for FTP tests. This should make torture tests stay within the 60min timeout. Reviewed-by: Daniel Stenberg Closes #9371 - multi_wait: fix and improve Curl_poll error handling on Windows First check for errors and return CURLM_UNRECOVERABLE_POLL before moving forward and waiting on socket readiness events. Reviewed-by: Jay Satiro Reviewed-by: Marcel Raad Reported-by: Daniel Stenberg Ref: #9361 Follow up to #8961 Closes #9372 - multi_wait: fix skipping to populate revents for extra_fds On Windows revents was not populated for extra_fds if multi_wait had to wait due to the Curl_poll pre-check not signalling any readiness. This commit fixes that. Reviewed-by: Marcel Raad Reviewed-by: Jay Satiro Closes #9361 - CI/appveyor: disable TLS in msys2-native autotools builds Schannel cannot be used from msys2-native Linux-emulated builds. Reviewed-by: Marcel Raad Reviewed-by: Daniel Stenberg Follow up to #9367 Closes #9370 Jay Satiro (25 Aug 2022) - tests: fix http2 tests to use CRLF headers Prior to this change some tests that rely on nghttpx proxy did not use CRLF headers everywhere. A recent change in nghttp2, which updated its version of llhttp (HTTP parser), requires curl's HTTP/1.1 test server to use CRLF headers. Ref: https://github.com/nghttp2/nghttp2/commit/9d389e8 Fixes https://github.com/curl/curl/issues/9364 Closes https://github.com/curl/curl/pull/9365 Daniel Stenberg (25 Aug 2022) - [rcombs brought this change] multi: use a pipe instead of a socketpair on apple platforms Sockets may be shut down by the kernel when the app is moved to the background, but pipes are not. Removed from KNOWN_BUGS Fixes #6132 Closes #9368 - [Somnath Kundu brought this change] libssh2: provide symlink name in SFTP dir listing When reading the symbolic link name for a file, we need to add the file name to base path name. Closes #9369 - configure: if asked to use TLS, fail if no TLS lib was detected Previously the configure script would just warn about this fact and continue with TLS disabled build which is not always helpful. TLS should be explicitly disabled if that is what the user wants. Closes #9367 - [Dustin Howett brought this change] schannel: when importing PFX, disable key persistence By default, the PFXImportCertStore API persists the key in the user's key store (as though the certificate was being imported for permanent, ongoing use.) The documentation specifies that keys that are not to be persisted should be imported with the flag `PKCS12_NO_PERSIST_KEY`. NOTE: this flag is only supported on versions of Windows newer than XP and Server 2003. Fixes #9300 Closes #9363 - unit1303: four tests should have TRUE for 'connecting' To match the comments. Reported-by: Wu Zheng See #9355 Closes #9356 - CURLOPT_BUFFERSIZE.3: add upload buffersize to see also Closes #9354 - [Fabian Fischer brought this change] HTTP3.md: add missing autoreconf command for building with wolfssl Closes #9353 - RELEASE-NOTES: synced - multi: have curl_multi_remove_handle close CONNECT_ONLY transfer Ẃhen it has been used in the multi interface, it is otherwise left in the connection cache, can't be reused and nothing will close them since the easy handle loses the association with the multi handle and thus the connection cache - until the multi handle is closed or it gets pruned because the cache is full. Reported-by: Dominik Thalhammer Fixes #9335 Closes #9342 - docs/cmdline-opts: remove \& escapes from all .d files gen.pl escapes them itself now - docs/cmdline-opts/gen.pl: encode leading single and double quotes As "(aq" and "(dq" to prevent them from implying a meaning in the nroff output. This removes the need for using \& escapes in the .d files' description parts. Closes #9352 Marc Hoersken (23 Aug 2022) - tests/server/sockfilt.c: avoid race condition without a mutex Avoid loosing any triggered handles by first aborting and joining the waiting threads before evaluating the individual signal state. This removes the race condition and therefore need for a mutex. Closes #9023 Daniel Stenberg (22 Aug 2022) - [Emil Engler brought this change] url: output the maximum when rejecting a url This commit changes the failf message to output the maximum length, when curl refuses to process a URL because it is too long. See: #9317 Closes: #9327 - [Chris Paulson-Ellis brought this change] configure: fix broken m4 syntax in TLS options Commit b589696f added lines to some shell within AC_ARG_WITH macros, but inadvertently failed to move the final closing ). Quote the script section using braces. So, if these problems have been around for a while, how did I find them? Only because I did a configure including these options: $ ./configure --with-openssl --without-rustls SSL: enabled (OpenSSL) Closes #9344 - tests/data/CMakeLists: remove making the 'show' makefile target It is not used by runtests since 3c0f462 Closes #9333 - tests/data/Makefile: remove 'filecheck' target No practical use anymore since 3c0f4622cdfd6 Closes #9332 - libssh2: make atime/mtime date overflow return error Closes #9328 - libssh: make atime/mtime date overflow return error Closes #9328 - examples/curlx.c: remove This example is a bit convoluted to use as an example, combined with the special license for it makes it unsuitable. Closes #9330 - [Tobias Nygren brought this change] curl.h: include <sys/select.h> on SunOS It is needed for fd_set to be visible to downstream consumers that use <curl/multi.h>. Header is known to exist at least as far back as Solaris 2.6. Closes #9329 - DEPRECATE.md: push the NSS deprecation date forward one year to 2023 URL: https://curl.se/mail/lib-2022-08/0016.html - libssh2: setting atime or mtime >32bit on 4-bytes-long systems Since the libssh2 API uses 'long' to store the timestamp, it cannot transfer >32bit times on Windows and 32bit architecture builds. Avoid nasty surprises by instead not setting such time. Spotted by Coverity Closes #9325 - libssh: setting atime or mtime > 32bit is now just skipped The libssh API used caps the time to an unsigned 32bit variable. Avoid nasty surprises by instead not setting such time. Spotted by Coverity. Closes #9324 Jay Satiro (16 Aug 2022) - KNOWN_BUGS: Windows Unicode builds use homedir in current locale Bug: https://github.com/curl/curl/pull/7252 Reported-by: dEajL3kA@users.noreply.github.com Ref: https://github.com/curl/curl/pull/7281 Closes https://github.com/curl/curl/pull/9305 Daniel Stenberg (16 Aug 2022) - test399: switch it to use a config file instead ... as using a 65535 bytes host name in a URL does not fit on the command line on some systems - like Windows. Reported-by: Marcel Raad Fixes #9321 Closes #9322 - RELEASE-NOTES: synced - asyn-ares: make a single alloc out of hostname + async data This saves one alloc per name resolve and simplifies the exit path. Closes #9310 - Curl_close: call Curl_resolver_cancel to avoid memory-leak There might be a pending (c-ares) resolve that isn't free'd up yet. Closes #9310 - asyn-thread: fix socket leak on OOM Closes #9310 - GHA: mv CI torture test from Zuul Closes #9310 - ngtcp2-wolfssl.yml: add GHA to build ngtcp2 + wolfSSL Closes #9318 - test399: verify check of too long host name - url: reject URLs with hostnames longer than 65535 bytes It *probably* causes other problems too since DNS can't resolve such long names, but the SNI field in TLS is limited to 16 bits length. Closes #9317 - curl_multi_perform.3: minor language fix Closes #9316 - ngtcp2: fix picky compiler warnings with wolfSSL for QUIC Follow-up to 8a13be227eede2 Closes #9315 - ngtcp2: remove leftover variable Mistake leftover from my edit before push. Follow-up from 8a13be227eede2601c2b3b Reported-by: Viktor Szakats Bug: https://github.com/curl/curl/pull/9290#issuecomment-1214569167 Viktor Szakats (15 Aug 2022) - Makefile.m32: allow -nghttp3/-ngtcp2 without -ssl [ci skip] Before this patch `-nghttp3`/`-ngtcp2` had an effect only when `-ssl` was also enabled. `-ssl` meaning OpenSSL (and its forks). After 8a13be227eede2601c2b3b1c63e08b3dc9b35dd5 nghttp3/ngtcp2 can also be used together with wolfSSL. This patch adds the ability to enable `-nghttp3`/`-ngtcp2` independently from `-ssl` (OpenSSL), allowing to use it with wolfSSL or other, future TLS backends. Before this patch, it was fine to enable `-nghttp3`/`-ngtcp2` unconditionally. After this patch, this is no longer the case, and now it's the user's responsibility to enable `-nghttp3`/`-ngtcp2` only together with a compatible TLS backend. When using a TLS backend other than OpenSSL, the TLS-specific ngtcp2 library must be configured manually, e.g.: `export CURL_LDFLAG_EXTRAS=-lngtcp2_crypto_wolfssl` (or via `NGTCP2_LIBS`) Closes #9314 Daniel Stenberg (15 Aug 2022) - [Stefan Eissing brought this change] quic: add support via wolfSSL - based on ngtcp2 PR https://github.com/ngtcp2/ngtcp2/pull/505 - configure adapted to build against ngtcp2 wolfssl crypto lib - quic code added for creation of WOLFSSL* instances Closes #9290 Marcel Raad (14 Aug 2022) - [David Carlier brought this change] memdebug: add annotation attributes memory debug tracking annotates whether the returned pointer does not `alias`, hints where the size required is, for Windows to be better debugged via Visual Studio. Closes https://github.com/curl/curl/pull/9306 Daniel Stenberg (14 Aug 2022) - GHA: move libressl CI from zuul to GitHub Closes #9309 - KNOWN_BUGS: FTPS directory listing hangs on Windows with Schannel Closes #9161 - KNOWN_BUGS: CURLOPT_CERTINFO results in CURLE_OUT_OF_MEMORY with Schannel Closes #8741 - KNOWN_BUGS: libssh blocking and infinite loop problem Closes #8632 - RELEASE-NOTES: synced - msh3: fix the QUIC disconnect function And free request related memory better in 'done'. Fixes a memory-leak. Reported-by: Gisle Vanem Fixes #8915 Closes #9304 - connect: close the happy eyeballs loser connection when using QUIC Reviewed-by: Nick Banks Closes #9303 - [Emil Engler brought this change] refactor: split resolve_server() into functions This commit splits the branch-heavy resolve_server() function into various sub-functions, in order to reduce the amount of nested if/else-statements. Beside this, it also removes many else-sequences, by returning in the previous if-statement. Closes #9283 - schannel: re-indent to use curl style better Only white space changes Closes #9301 - [Emanuele Torre brought this change] docs/cmdline-opts: fix example and categories for --form-escape The example was missing a "--form" argument I also replaced "--form" with "-F" to shorten the line a bit since it was already very long. And I also moved --form-escape from the "post" category to the "upload" category (this is what I originally wanted to fix, before also noticing the mistake in the example). Closes #9298 - [Nick Banks brought this change] HTTP3.md: update to msh3 v0.4.0 Closes #9297 - hostip: resolve *.localhost to 127.0.0.1/::1 Following the footsteps of other clients like Firefox/Chrome. RFC 6761 says clients SHOULD do this. Add test 389 to verify. Reported-by: TheKnarf on github Fixes #9192 Closes #9296 Jay Satiro (11 Aug 2022) - KNOWN_BUGS: long paths are not fully supported on Windows Bug: https://github.com/curl/curl/issues/8361 Reported-by: Gisle Vanem Closes https://github.com/curl/curl/pull/9288 Daniel Stenberg (11 Aug 2022) - config: remove the check for and use of SIZEOF_SHORT shorts are 2 bytes on all platforms curl runs and have ever run on. Closes #9291 - configure: introduce CURL_SIZEOF This is a rewrite of the previously used GPLv3+exception licensed file. With this change, there is no more reference to GPL so we can remove that from LICENSES/. Ref: #9220 Closes #9291 - [Sean McArthur brought this change] hyper: customize test1274 to how hyper unfolds headers Closes #9217 - [Orgad Shaneh brought this change] curl-config: quote directories with potential space On Windows (at least with CMake), the default prefix is C:/Program Files (x86)/CURL. Closes #9253 - [Oliver Roberts brought this change] amigaos: fix threaded resolver on AmigaOS 4.x Replace ip4 resolution function on AmigaOS 4.x, as it requires runtime feature detection and extra code to make it thread safe. Closes #9265 - [Emil Engler brought this change] imap: use ISALNUM() for alphanumeric checks This commit replaces a self-made character check for alphanumeric characters within imap_is_bchar() with the ISALNUM() macro, as it is reduces the size of the code and makes the performance better, due to ASCII arithmetic. Closes #9289 - RELEASE-NOTES: synced - [Cering on github brought this change] connect: add quic connection information Fixes #9286 Closes #9287 - [Philip H brought this change] cirrus/freebsd-ci: bootstrap the pip installer Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com> Closes #9213 - urldata: move smaller fields down in connectdata struct By (almost) sorting the struct fields in connectdata in a decending size order, having the single char ones last, we reduce the number of holes in the struct and thus the amount of storage needed. Closes #9280 - ldap: adapt to conn->port now being an 'int' Remove typecasts. Fix printf() formats. Follow-up from 764c6bd3bf. Pointed out by Coverity CID 1507858. Closes #9281 - KNOWN_BUGS: Negotiate authentication against Hadoop HDFS Closes #8264 - [Oliver Roberts brought this change] file: add handling of native AmigaOS paths On AmigaOS 4.x, handle native absolute paths, whilst blocking relative paths. Also allow unix style paths if feature enabled at link time. Inspiration-from: Michael Trebilcock Closes #9259 - KNOWN_BUGS: cmake build is not thread-safe The cmake build does not check for and verify presence of a working Atomic type, which then makes curl_global_init() to not build thread-safe on non-Windows platforms. Closes https://github.com/curl/curl/issues/8973 Closes https://github.com/curl/curl/pull/8982 - [Oliver Roberts brought this change] configure: fixup bsdsocket detection code for AmigaOS 4.x The code that detects bsdsocket.library for AmigaOS did not work for AmigaOS 4.x. This has been fixed and also cleaned up a little to reduce duplication. Wasn't technically necessary before, but is required when building with AmiSSL instead of OpenSSL. Closes #9268 - [Oliver Roberts brought this change] tool: reintroduce set file comment code for AmigaOS Amiga specific code which put the URL in the file comment was perhaps accidentally removed in b88940850002a3f1c25bc6488b95ad30eb80d696 having originally been added in 5c215bdbdfde8b2350cdcbac82aae0c914da5314. Reworked to fit the code changes and added it back in. Reported-by: Michael Trebilcock Originally-added-by: Chris Young Closes #9258 - urldata: make 'negnpn' use less storage The connectdata struct field 'negnpn' never holds a value larger than 30, so an unsigned char saves 3 bytes struct space. Closes #9279 - urldata: make three *_proto struct fields smaller Use 'unsigned char' for storage instead of the enum, for three GSSAPI related fields in the connectdata struct. Closes #9278 - connect: set socktype/protocol correctly So that an address used from the DNS cache that was previously used for QUIC can be reused for TCP and vice versa. To make this possible, set conn->transport to "unix" for unix domain connections ... and store the transport struct field in an unsigned char to use less space. Reported-by: ウさん Fixes #9274 Closes #9276 - [Oliver Roberts brought this change] amissl: allow AmiSSL to be used with AmigaOS 4.x builds Enable AmiSSL to be used instead of static OpenSSL link libraries. for AmigaOS 4.x, as it already is in the AmigaOS 3.x build. Closes #9269 - [opensignature on github brought this change] openssl: add details to "unable to set client certificate" error from: "curl: (58) unable to set client certificate" to: curl: (58) unable to set client certificate [error:0A00018F:SSL routines::ee key too small] Closes #9228 - [Oliver Roberts brought this change] amissl: make AmiSSL v5 a minimum requirement AmiSSL v5 is the latest version, featuring a port of OpenSSL 3.0. Support for previous OpenSSL 1.1.x versions has been dropped, so makes sense to enforce v5 as the minimum requirement. This also allows all the AmiSSL stub workarounds to be removed as they are now provided in a link library in the AmiSSL SDK. Closes #9267 - [Oliver Roberts brought this change] configure: -pthread not available on AmigaOS 4.x The most recent GCC builds for AmigaOS 4.x do not allow -pthread and exit with an error. Instead, need to explictly specify -lpthread. Closes #9266 - digest: pass over leading spaces in qop values When parsing the "qop=" parameter of the digest authentication, and the value is provided within quotes, the list of values can have leading white space which the parser previously did not handle correctly. Add test case 388 to verify. Reported-by: vlubart on github Fixes #9264 Closes #9270 - [Evgeny Grin (Karlson2k) brought this change] digest: reject broken header with session protocol but without qop Closes #9077 - CURLINFO_SPEED_UPLOAD/DOWNLOAD.3: fix examples Reported-by: jvvprasad78 on github Assisted-by: Jay Satiro Fixes #9239 Closes #9241 - [Fabian Keil brought this change] test44[2-4]: add '--resolve' to the keywords ... so the tests can be automatically skipped when using an external proxy like Privoxy. Closes #9250 - RELEASE-NOTES: synced - CURLOPT_CONNECT_ONLY.3: clarify multi API use Reported-by: Maxim Ivanov Fixes #9244 Closes #9262 - [Andrew Lambert brought this change] curl_easy_header: Add CURLH_PSEUDO to sanity check Fixes #9235 Closes #9236 - [Emil Engler brought this change] docs: add dns category to --resolve This commit adds the dns category to the --resolve command line option, because it can be interpreted as both: a low-level connection option and an option related to the resolving of a hostname. It is also not common for dns options to belong to the connection category and vice versa. --ipv4 and --ipv6 are both good examples. Closes #9229 Jay Satiro (2 Aug 2022) - [Wyatt O'Day brought this change] schannel: Add TLS 1.3 support - Support TLS 1.3 as the default max TLS version for Windows Server 2022 and Windows 11. - Support specifying TLS 1.3 ciphers via existing option CURLOPT_TLS13_CIPHERS (tool: --tls13-ciphers). Closes https://github.com/curl/curl/pull/8419 Daniel Stenberg (2 Aug 2022) - [Emil Engler brought this change] cmdline-opts/gen.pl: improve performance On some systems, the gen.pl script takes nearly two minutes for the generation of the main-page, which is a completely unacceptable time. The slow performance has two causes: 1. Use of a regex locale operator 2. Useless invokations of loops The commit addresses the first issue by replacing the "\W" wiht [^a-zA-Z0-9_], which is, according to regex101.com, functionally equivalent to the previous operation, except that it is obviously limited to ASCII only, which is fine, as the curl project is English-only anyway. The second issue is being addressed by only running the loop if the line contains a "--" in it. The loop may be completeley removed in the future. Co-authored-by: Emanuele Torre <torreemanuele6@gmail.com> See #8299 Fixes #9230 Closes #9232 - docs/cmdline: mark fail and fail-with-body as mutually exclusive Reported-by: Andreas Sommer Fixes #9221 Closes #9222 - [Nao Yonashiro brought this change] quiche: fix build failure Reviewed-by: Alessandro Ghedini Closes #9223 Viktor Szakats (2 Aug 2022) - configure.ac: drop references to deleted functions follow-up from 4d73854462f30948acab12984b611e9e33ee41e6 Reported-by: Oliver Roberts Fixes #9238 Closes #9240 Daniel Stenberg (28 Jul 2022) - [Sean McArthur brought this change] hyper: enable obs-folded multiline headers Closes #9216 - connect: revert the use of IP*_RECVERR The options were added in #6341 and d13179d, but cause problems: Lots of POLLIN event occurs but recvfrom read nothing. Reported-by: Tatsuhiro Tsujikawa Fixes #9209 Closes #9215 - [Marco Kamner brought this change] docs: remove him/her/he/she from documentation Closes #9208 - RELEASE-NOTES: synced - tool_getparam: make --doh-url "" switch it off A possible future addition could be to parse the URL first too to verify that it is valid before trying to use it. Assisted-by: Jay Satiro Closes #9207 - mailmap: add rzrymiak on github Jay Satiro (26 Jul 2022) - ngtcp2: Fix build error due to change in nghttp3 prototypes ngtcp2/nghttp3@4a066b2 changed nghttp3_conn_block_stream and nghttp3_conn_shutdown_stream_write return from int to void. Reported-by: jurisuk@users.noreply.github.com Fixes https://github.com/curl/curl/issues/9204 Closes https://github.com/curl/curl/pull/9200 Daniel Stenberg (26 Jul 2022) - [rzrymiak on github brought this change] BUGS.md: improve language Closes #9205 - [Philip H brought this change] cirrus.yml: replace py38-pip with py39-pip Reported-by: Jay Satiro Fixes #9201 Closes #9202 - tool_getparam: fix cleanarg() for unicode builds Use the correct type, and make cleanarg an empty macro if the cleaning ability is absent. Fixes #9195 Closes #9196 Reviewed-by: Jay Satiro Reviewed-by: Marcel Raad Marc Hoersken (25 Jul 2022) - test3026: add support for Windows using native Win32 threads Reviewed-by: Viktor Szakats Reviewed-by: Jay Satiro Reviewed-by: Daniel Stenberg Follow up to 7ade9c50b35d95d47a43880c3097bebab7a7e690 Closes #9012 Jay Satiro (25 Jul 2022) - [Evgeny Grin (Karlson2k) brought this change] digest: fix memory leak, fix not quoted 'opaque' Fix leak regression introduced by 3a6fe0c. Closes https://github.com/curl/curl/pull/9199 Daniel Stenberg (23 Jul 2022) - tests: several enumerated type cleanups To please icc Closes #9179 - tool_paramhlp: fix "enumerated type mixed with another type" Warning by icc Closes #9179 - tool_writeout: fix enumerated type mixed with another type Closes #9179 - tool_cfgable: make 'synthetic_error' a plain bool The specific reason was not used. Closes #9179 - tool_paramhlp: make check_protocol return ParameterError "enumerated type mixed with another type" Closes #9179 - tool_formparse: fix variable may be used before its value is set Warning by icc Closes #9179 - sendf: skip storing HTTP headers if HTTP disabled Closes #9179 - url: enumerated type mixed with another type Follow-up to 1c58e7ae99ce2030213f28b Closes #9179 - urldata: change second proxytype field to unsigned char to match To avoid "enumerated type mixed with another type" Closes #9179 - http: typecast the httpreq assignment to avoid icc compiler warning error #188: enumerated type mixed with another type Closes #9179 - urldata: make state.httpreq an unsigned char To match set.method used for the same purpose. Closes #9179 - splay: avoid using -1 in unsigned variable To fix icc compiler warning integer conversion resulted in a change of sign Closes #9179 - sendf: store the header type in an usigned char to avoid icc warnings Closes #9179 - multi: fix the return code from Curl_pgrsDone() It does not return a CURLcode. Detected by the icc compiler warning "enumerated type mixed with another type" Closes #9179 - sendf: make Curl_debug a void function As virtually no called checked the return code, and those that did wrongly treated it as a CURLcode. Detected by the icc compiler warning: enumerated type mixed with another type Closes #9179 - http_chunks: remove an assign + typecast As it caused icc to complain: "pointer cast involving 64-bit pointed-to type" Closes #9179 - vtls: make Curl_ssl_backend() return the enum type curl_sslbackend To fix the icc warning enumerated type mixed with another type Closes #9179 - curl-compilers.m4: make icc use -diag* options and disable two warnings -wd and -we are deprecated and are now -diag-disable and -diag-error Disable warning 1024 and 2259 Closes #9179 - [Matthew Thompson brought this change] GHA: add two Intel compiler CI jobs Closes #9179 - [Daniel Katz brought this change] curl-functions.m4: check whether atomics can link rather than just compile Some build toolchains support C11 atomics (i.e., _Atomic types), but will not link the associated atomics runtime unless a flag is passed. In such an environment, linking an application with libcurl.a can fail due to undefined symbols for atomic load/store functions. I encountered this behavior when upgrading curl to 7.84.0 and attempting to build with Solaris Studio 12.6. Solaris provides the flag -xatomic=[gcc | studio], allowing users to link to one of two atomics runtime implementations. However, if the user does not provide this flag, then neither runtime is linked. This led to builds failing in CI. Closes #9190 - [Rosen Penev brought this change] curl-wolfssl.m4: add options header when building test code Needed for certain configurations of wolfSSL. Otherwise, missing header error may occur. Tested with OpenWrt. Closes #9187 - ftp: use a correct expire ID for timer expiry This was an accurate error pointed out by the icc warning: enumerated type mixed with another type Ref: #9179 Closes #9184 - sendf: fix paused header writes since after the header API Regression since d1e4a67 Reported-by: Sergey Ogryzkov Fixes #9180 Closes #9182 - mprintf: fix *dyn_vprintf() when out-of-memory Follow-up to 0e48ac1f99a. Torture-testing 1455 would lead to a memory leak otherwise. Closes #9185 - curl-confopts: remove leftover AC_REQUIREs configure.ac:3488: warning: CURL_CHECK_FUNC_IOCTL is m4_require'd but not m4_defun'd configure.ac:3488: warning: CURL_CHECK_FUNC_SETSOCKOPT is m4_require'd but not m4_defun'd follow-up from 4d73854462f30 Closes #9183 - file: fix icc enumerated type mixed with another type warning Ref: #9179 Closes #9181 Viktor Szakats (19 Jul 2022) - tidy-up: delete unused build configuration macros Most of them feature guards: - `CURL_INCLUDES_SYS_UIO` [1] - `HAVE_ALLOCA_H` [2] - `HAVE_CRYPTO_CLEANUP_ALL_EX_DATA` (unused since de71e68000c8624ea13f90b136f8734dd0fb1bdc) - `HAVE_DLFCN_H` - `HAVE_DLOPEN` - `HAVE_DOPRNT` - `HAVE_FCNTL` - `HAVE_GETHOSTBYNAME` [3] - `HAVE_GETOPT_H` - `HAVE_GETPASS` - `HAVE_GETPROTOBYNAME` - `HAVE_GETSERVBYNAME` - `HAVE_IDN_FREE*` - `HAVE_INET_ADDR` - `HAVE_IOCTL` - `HAVE_KRB4` - `HAVE_KRB_GET_OUR_IP_FOR_REALM` - `HAVE_KRB_H` - `HAVE_LDAPSSL_H` - `HAVE_LDAP_INIT_FD` - `HAVE_LIBDL` - `HAVE_LIBNSL` - `HAVE_LIBRESOLV*` - `HAVE_LIBUCB` - `HAVE_LL` - `HAVE_LOCALTIME_R` - `HAVE_MALLOC_H` - `HAVE_MEMCPY` - `HAVE_MEMORY_H` - `HAVE_NETINET_IF_ETHER_H` - `HAVE_NI_WITHSCOPEID` - `HAVE_OPENSSL_CRYPTO_H` - `HAVE_OPENSSL_ERR_H` - `HAVE_OPENSSL_PEM_H` - `HAVE_OPENSSL_PKCS12_H` - `HAVE_OPENSSL_RAND_H` - `HAVE_OPENSSL_RSA_H` - `HAVE_OPENSSL_SSL_H` - `HAVE_OPENSSL_X509_H` - `HAVE_PEM_H` - `HAVE_POLL` - `HAVE_RAND_SCREEN` - `HAVE_RAND_STATUS` - `HAVE_RECVFROM` - `HAVE_SETSOCKOPT` - `HAVE_SETVBUF` - `HAVE_SIZEOF_LONG_DOUBLE` - `HAVE_SOCKIO_H` - `HAVE_SOCK_OPTS` - `HAVE_STDIO_H` - `HAVE_STRCASESTR` - `HAVE_STRFTIME` - `HAVE_STRLCAT` - `HAVE_STRNCMPI` - `HAVE_STRNICMP` - `HAVE_STRSTR` - `HAVE_STRUCT_IN6_ADDR` - `HAVE_TLD_H` - `HAVE_TLD_STRERROR` - `HAVE_UNAME` - `HAVE_USLEEP` - `HAVE_WINBER_H` - `HAVE_WRITEV` - `HAVE_X509_H` - `LT_OBJDIR` - `NEED_BASENAME_PROTO` - `NOT_NEED_LIBNSL` - `OPENSSL_NO_KRB5` - `RECVFROM_TYPE*` - `SIZEOF_LONG_DOUBLE` - `STRERROR_R_TYPE_ARG3` - `USE_YASSLEMUL` - `_USRDLL` (from CMake) [4] [1] Related parts in `m4/curl-functions.m4` and `configure.ac` might also be deleted. [2] Related comment can possibly be deleted in `packages/vms/generate_config_vms_h_curl.com`. [3] There are more instances of this in autotools, but I did not dare to touch those. Looked like it's used to detect socket support. [4] This is necessary for MFC (Microsoft Foundation Class) DLLs to force linking MFC components statically to the DLL. `libcurl.dll` does not use MFC, so we can delete this define. Ref: https://docs.microsoft.com/cpp/build/regular-dlls-statically-linked-to-mfc Script that can help finding unused settings like above: ```shell autoheader configure.ac # generate lib/curl_config.h.in { grep -o -E 'set\([A-Z][A-Z0-9_]{3,}' CMake/Platforms/WindowsCache.cmake | sed -E 's|set\(||g' grep -o -E -h '#define +[A-Z][A-Z0-9_]{3,}' lib/config-*.h | sed -E 's|#define +||g' grep -o -E '#cmakedefine +[A-Z][A-Z0-9_]{3,}' lib/curl_config.h.cmake | sed -E 's|#cmakedefine +||g' grep -o -E '#undef +[A-Z][A-Z0-9_]{3,}' lib/curl_config.h.in | sed -E 's|#undef +||g' } | sort -u | grep -v -F 'HEADER_CURL_' | while read -r def; do c="$(git grep -w -F "${def}" | grep -v -E -c '(/libcurl\.tmpl|^lib/config-|^lib/curl_config\.h\.cmake|^CMakeLists\.txt|^CMake/Platforms/WindowsCache\.cmake|^packages/vms/config_h\.com|^m4/curl-functions\.m4|^acinclude\.m4|^configure\.ac)')" if [ "${c}" = '0' ]; then echo "${def}" fi done ``` Reviewed-by: Daniel Stenberg Closes #9044 Daniel Stenberg (19 Jul 2022) - RELEASE-NOTES: synced - cookie: treat a blank domain in Set-Cookie: as non-existing This matches what RFC 6265 section 5.2.3 says. Extended test 31 to verify. Fixes #9164 Reported-by: Gwen Shapira Closes #9177 - [Patrick Monnerat brought this change] base64: base64url encoding has no padding See RFC4648 section 5 and RFC7540 section 3.2.1. Suppress generation of '=' padding of base64url encoding. This is accomplished by considering the string beginning at offset 64 in the character table as the padding: this is "=" for base64, "" for base64url. Also use strchr() to replace character search loops where possible. Suppress erroneous comments about empty encoding results. Adjust unit test 1302 to unpadded base64url encoding and add tests for empty results. Closes #9139 - easyoptions: fix icc warning easyoptions.c(360): error #188: enumerated type mixed with another type Ref: #9156 Reported-by: Matthew Thompson Closes #9176 - [lwthiker brought this change] h2h3: fix overriding the 'TE: Trailers' header A 'TE: Trailers' header is explicitly replaced by 'te: trailers' (lowercase) in Curl_pseudo_headers() when building the list of HTTP/2 or HTTP/3 headers. However, this is then replaced again by the original value due to a bug, resulting in the uppercased version being sent. Some HTTP/2 servers reject the whole HTTP/2 stream when this is the case. Closes #9170 - lib3026: reduce the number of threads to 100 Down from 1000, to make it run and work in more systems. Fixes #9172 Reported-by: Érico Nogueira Rolim Closes #9173 - doh: move doh related struct definitions to doh.h and make 'dnstype' in 'struct dnsprobe' use the DNStype to fix the icc compiler warning: doh.c(924): error #188: enumerated type mixed with another type Reported-by: Matthew Thompson Ref #9156 Closes #9174 Viktor Szakats (17 Jul 2022) - Makefile.m32: stop trying to build libcares.a [ci skip] Before this patch, `lib/Makefile.m32` had a rule to build `libcares.a` in `-cares`-enabled builds, via c-ares's own `Makefile.m32`. Committed in 2007 [1]. The commit message doesn't specifically address this particular change. This logic comes from the times when c-ares was part of the curl source tree, hence the special treatment. This feature creates problems when building c-ares first, using CMake and pointing `LIBCARES_PATH` to its install prefix, where `Makefile.m32` is missing in such case. A sub-build for c-ares is undesired also when c-ares had already been build via its own `Makefile.m32`. To avoid the sub-build, this patch deletes its Makefile rule. After this patch `libcares.a` needs to be manually built before using it in `Makefile.m32`. Aligning it with the rest of dependencies. [1] 46c92c0b806da041d7a5c6fb64dbcdc474d99b31 Reviewed-by: Daniel Stenberg Closes #9169 Daniel Stenberg (17 Jul 2022) - curl: writeout: fix repeated header outputs The function stored a terminating zero into the buffer for convenience, but when on repeated calls that would cause problems. Starting now, the passed in buffer is not modified. Reported-by: highmtworks on github Fixes #9150 Closes #9152 - curl_multi_timeout.3: clarify usage Fixes #9155 Closes #9157 Reported-by: jvvprasad78 on github - mprintf: make dprintf_formatf never return negative This function no longer returns a negative value if the formatting string is bad since the return value would sometimes be propagated as a return code from the mprintf* functions and they are documented to return the length of the output. Which cannot be negative. Fixes #9149 Closes #9151 Reported-by: yiyuaner on github Viktor Szakats (17 Jul 2022) - trace: 0x7F character is non-printable `0x7F` is `DEL`, a non-printable symbol, so print it as `UNPRINTABLE_CHAR`. Reported-by: MasterInQuestion on github Fixes #9162 Closes #9166 - doh: use https protocol by default The only allowed protocol is https, so it makes sense to use that by default if not passed explicitly by the user. Reported-by: MasterInQuestion on github Reviewed-by: Jay Satiro Fixes #9163 Closes #9165 - openssl: fix BoringSSL symbol conflicts with LDAP and Schannel Same issue as here [1], but this time when building curl with BoringSSL for Windows with LDAP(S) or Schannel support enabled. Apply the same fix [2] for these source files as well. This can also be fixed by moving `#include "urldata.h"` _before_ including `winldap.h` and `schnlsp.h` respectively. This seems like a cleaner fix, though I'm not sure why it works and if it has any downside. [1] https://github.com/curl/curl/issues/5669 [2] https://github.com/curl/curl/commit/fbe07c6829ba8c5793c84c2856526e19e9029ab9 Co-authored-by: Jay Satiro Closes #9110 Daniel Stenberg (13 Jul 2022) - asyn-thread: make getaddrinfo_complete return CURLcode ... as the only caller that cares about what it returns assumes that anyway. This caused icc to warn: asyn-thread.c(505): error #188: enumerated type mixed with another type result = getaddrinfo_complete(data); Repoorted-by: Matthew Thompson Bug: https://github.com/curl/curl/issues/9081#issuecomment-1182143076 Closes #9146 - easy_lock: fix build with icc The Intel compiler tries to look like GCC *and* clang *and* it lies in its __has_builtin() function (returns true when it should return false), so override it. Reported-by: Matthew Thompson Fixes #9081 Closes #9144 - configure: fix --disable-headers-api Reported-by: Michał Antoniak Fixes #9134 Closes #9143 - test3026: require 'threadsafe' Reported-by: Sukanya Hanumanthu Fixes #9141 Closes #9142 - [Even Rouault brought this change] CMake: link curl to its dependencies with PRIVATE The current PUBLIC visibility causes issues for downstream users. Cf https://github.com/OSGeo/PROJ/pull/3172#issuecomment-1157942986 Reviewed-by: Jakub Zakrzewski Closes #9125 - [Even Rouault brought this change] CMake: remove APPEND in export(TARGETS) When running cmake several times, new content was appended to already existing generated files, which is not appropriate Reviewed-by: Jakub Zakrzewski Closes #9124 - [Tatsuhiro Tsujikawa brought this change] ngtcp2: implement cb_h3_stop_sending and cb_h3_reset_stream callbacks Closes #9135 - RELEASE-NOTES: synced Viktor Szakats (11 Jul 2022) - build: improve OS string in CMake and `config-win32.h` This patch makes CMake fill the "OS string" with the value of `CMAKE_C_COMPILER_TARGET`, if passed. This typically contains a triplet, the same we can pass to `./configure` via `--host=`. For non-CMake, non-autotools, Windows builds, this patch adds the ability to override the default `OS` value in `lib/config-win32.h`. With these its possible to get the same OS string across the three build systems. This patch supersedes the earlier, partial, CMake-only solution: 435f395f3f8c11eebfcc243ca55ebcc11a19b8b8, thus retiring the `CURL_OS_SUFFIX` CMake option. Reviewed-by: Jay Satiro Closes #9117 - Makefile.m32: add `CURL_RC` and `CURL_STRIP` variables [ci skip] They allow to override the hardcoded values for the `windres` and `strip` tools, complementing the existing set of `CURL_{CC,AR,RANLIB}` variables. `CURL_RC` comes handy when using LLVM tools with `CROSSPREFIX=llvm-` and `CURL_CC=clang` set on current latest debian:unstable or earlier, where `llvm-windres` is missing, and a `CURL_RC=<triplet>-windres` fixes it. Hopefully this will be fixed in the llvm package. FWIW `llvm-windres` does exist in Homebrew llvm, MSYS2 llvm and llvm-mingw. Reviewed-by: Daniel Stenberg Closes #9132 Daniel Stenberg (10 Jul 2022) - [Tatsuhiro Tsujikawa brought this change] ngtcp2: fix stall or busy loop on STOP_SENDING with upload data Fixes #9122 Closes #9123 - [Xiaoke Wang brought this change] tool_operate: better cleanup of easy handle in exit path Closes #9114 - [Xiaoke Wang brought this change] getinfo: return better error on NULL as first argument Closes #9114 - tool_getparam: repair cleanarg Regression since 9e5669f. Make sure the "cleaning" of command line arguments is done on the original argv[] pointers. As a bonus, it also exits better on out of memory error. Reported-by: Litter White Fixes #9128 Closes #9130 Jay Satiro (10 Jul 2022) - docs: explain curl_easy_escape/unescape curl handle is ignored 26101421 (precedes 7.82.0) removed character conversion support used by very old legacy operating systems and since then the curl handle passed to curl_easy_escape/unescape is always ignored. Bug: https://github.com/curl/curl/discussions/9115 Reported-by: Ted Lyngmo Closes https://github.com/curl/curl/pull/9121 Viktor Szakats (8 Jul 2022) - openssl: add `CURL_BORINGSSL_VERSION` to identify BoringSSL BoringSSL doesn't keep a version number, and doesn't self-identify itself via any other revision number via its own headers. We can identify BoringSSL revisions by their commit hash. This hash is typically known by the builder. This patch adds a way to pass this hash to libcurl, so that it can display in the curl version string: For example: `CFLAGS=-DCURL_BORINGSSL_VERSION="c239ffd0"` ``` curl 7.84.0 (x86_64-w64-mingw32) libcurl/7.84.0 BoringSSL/c239ffd0 (Schannel) zlib/1.2.12 [...] Release-Date: 2022-06-27 Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 [...] Features: alt-svc AsynchDNS brotli gsasl HSTS HTTP2 HTTP3 HTTPS-proxy IDN IPv6 Kerberos [...] ``` The setting is optional, and if not passed, BoringSSL will appear without a version number, like before this patch. Closes #9113 Jay Satiro (8 Jul 2022) - escape: remove outdated comment Bug: https://github.com/curl/curl/discussions/9115 Reported-by: Ted Lyngmo - [Tatsuhiro Tsujikawa brought this change] ngtcp2: Fix missing initialization of nghttp3_nv.flags Closes https://github.com/curl/curl/pull/9118 Daniel Stenberg (6 Jul 2022) - [Brad Forschinger brought this change] netrc.d: remove spurious quote Closes #9111 Viktor Szakats (6 Jul 2022) - Makefile.m32: add `NGTCP2_LIBS` option [ci skip] Makefile.m32's ngtcp2 has its two libs hardwired for OpenSSL. Add `NGTCP2_LIBS` envvar to override them with a custom list, making it possible to use BoringSSL, or any other backend. Closes #9109 Jay Satiro (6 Jul 2022) - [Evgeny Grin (Karlson2k) brought this change] digest: fix missing increment of 'nc' value for auth-int - Increment nc regardless of qop type. Prior to this change nc was only incremented for qop type auth even though libcurl sends nc with any qop. Closes https://github.com/curl/curl/pull/9090 Daniel Stenberg (5 Jul 2022) - RELEASE-NOTES: synced Bumped to 7.85.0 - urldata: reduce size of four ftp related members ftp_filemethod, ftpsslauth and ftp_ccc are now uchars accepttimeout is now unsigned int - almost 50 days ought to be enough for this value. Closes #9106 - urldata: reduce three type-members from int to uchar - timecondition - proxytype - method ... previously used their enum type in the struct, which made them unnecesarily large. Closes #9105 - CURLOPT_SERVER_RESPONSE_TIMEOUT: the new name Starting now, CURLOPT_FTP_RESPONSE_TIMEOUT is the alias instead of the other way around. Since 7.20.0, CURLOPT_SERVER_RESPONSE_TIMEOUT has existed as an alias but since the option is for more protocols than FTP the more "correct" version of the option is the "server" one so now we switch. Closes #9104 - urldata: make 'ftp_create_missing_dirs' a uchar It only ever holds the values 0-2. Closes #9103 - [Don J Olmstead brought this change] cmake: support ngtcp2 boringssl backend Update the ngtcp2 find module to detect the boringssl backend. Determine if the underlying OpenSSL implementation is BoringSSL and if so use that as the ngtcp2 backend. Reviewed-by: Jakub Zakrzewski Closes #9065 - urldata: change 4 timeouts to unsigned int from long They're not used for that long times anyway, 32 bit milliseconds is long enough. Closes #9101 - urldata: make 'use_netrc' a uchar Closes #9102 - urldata: make 'buffer_size' an unsigned int It is already capped at READBUFFER_MAX which fits easily in 32 bits. Closes #9098 - urldata: remove the unused 'rtspversion' struct member Closes #9100 - urldata: make 'use_port' an usigned short ... instead of a long. It is already enforced to not attempt to set any value outside of 16 bits unsigned. Closes #9099 - urldata: store dns cache timeout in an int 68 years ought to be enough for most. Closes #9097 - curl: proto2num: make sure obuf is inited Detected by Coverity. CID 1507052. Closes #9096 - cookie: use %zu to infof() for size_t values Detected by Coverity. CID 1507051 Closes #9095 Viktor Szakats (4 Jul 2022) - makefile.m32: add support for custom ARCH [ci skip] When building curl for target platform other than x64 and x86, it is now possible to pass `ARCH=custom`, that will omit all hardcoded logic for setting up CFLAGS/LDFLAGS/RCFLAGS for these platforms, and let these be customized via `CURL_CFLAG_EXTRAS`, `CURL_LDFLAG_EXTRAS`, and a newly added one for the resource compiler: `CURL_RCFLAG_EXTRAS`. This makes it possible to use `makefile.m32` to build for ARM64 for example. Reviewed-by: Daniel Stenberg Closes #9092 - cmake: do not force Windows target versions The goal of this patch is to avoid CMake forcing specific Windows versions and rely on toolchain defaults or manual selection instead. This gives back control to the user. This also brings CMake closer to how autotools and `Makefile.m32` behaves in this regard. - CMake had a setting `ENABLE_INET_PTON` defaulting to `ON`, which did nothing else than fixing the Windows build target to Vista. This also happened when the toolchain did not have Vista support (e.g. original MinGW), breaking such builds. In other environments it did not make a user-facing difference, because libcurl has its own pton() implementation, so it works well with or without Vista's inet_pton(). This patch drops this setting. inet_pton() is now used whenever building for Vista or newer, either when requested manually or by default with modern toolchains (e.g. mingw-w64). Older envs will fall back to curl's pton(). Ref: https://github.com/curl/curl/pull/9027#issuecomment-1164157604 Ref: https://github.com/curl/curl/pull/8997#issuecomment-1164344155 - When the user did no select a Windows target version manually, stop explicitly targeting Windows XP, and instead use the toolchain default. This may pose an issue with old toolchains defaulting to pre-XP targets. In such case you must manually target Windows XP via: `-DCURL_TARGET_WINDOWS_VERSION=0x0501` or `-DCMAKE_C_FLAGS=-D_WIN32_WINNT=0x0501` Reviewed-by: Jay Satiro Reviewed-by: Marcel Raad Closes #9046 - windows: improve random source - Use the Windows API to seed the fallback random generator. This ensures to always have a random seed, even when libcurl is built with a vtls backend lacking a random generator API, such as rustls (experimental), GSKit and certain mbedTLS builds, or, when libcurl is built without a TLS backend. We reuse the Windows-specific random function from the Schannel backend. - Implement support for `BCryptGenRandom()` [1] on Windows, as a replacement for the deprecated `CryptGenRandom()` [2] function. It is used as the secure random generator for Schannel, and also to provide entropy for libcurl's fallback random generator. The new function is supported on Vista and newer via its `bcrypt.dll`. It is used automatically when building for supported versions. It also works in UWP apps (the old function did not). - Clear entropy buffer before calling the Windows random generator. This avoids using arbitrary application memory as entropy (with `CryptGenRandom()`) and makes sure to return in a predictable state when an API call fails. [1] https://docs.microsoft.com/windows/win32/api/bcrypt/nf-bcrypt-bcryptgenrandom [2] https://docs.microsoft.com/windows/win32/api/wincrypt/nf-wincrypt-cryptgenrandom Closes #9027 Daniel Stenberg (4 Jul 2022) - setopt: add CURLOPT_PROTOCOLS_STR and CURLOPT_REDIR_PROTOCOLS_STR ... as replacements for deprecated CURLOPT_PROTOCOLS and CURLOPT_REDIR_PROTOCOLS as these new ones do not risk running into the 32 bit limit the old ones are facing. CURLINFO_PROTCOOL is now deprecated. The curl tool is updated to use the new options. Added test 1597 to verify the libcurl protocol parser. Closes #8992 - digest: simplify a switch() to a simple if - digest: provide a special bit for "sess" algos Also shortened the names and moved them to the .c file since they are private for this source file only. Also made them #defines instead of enum. Closes #9079 Jay Satiro (4 Jul 2022) - [Thomas Weißschuh brought this change] select: do not return fatal error on EINTR from poll() The same was done for select() in 5912da25 but poll() was missed. Bug: https://bugs.archlinux.org/task/75201 Reported-by: Alexandre Bury (gyscos at archlinux) Ref: https://github.com/curl/curl/issues/8921 Ref: https://github.com/curl/curl/pull/8961 Ref: https://github.com/curl/curl/commit/5912da25#r77584294 Closes https://github.com/curl/curl/pull/9091 - [Kai Pastor brought this change] cmake: fix build for mingw cross compile - Change normaliz lib name to all lowercase. This is from a standing patch in vcpkg: Mingw has libnormaliz.a. For case-sensitive file systems (e.g. cross builds from Linux), the spelling must match exactly. Closes https://github.com/curl/curl/pull/9084 - easy_lock: fix build for mingw - Define SRWLOCK symbols missing in some mingw environments. Closes https://github.com/curl/curl/pull/8997 Daniel Stenberg (2 Jul 2022) - tool_progress: avoid division by zero in parallel progress meter Reported-by: Brian Carpenter Fixes #9082 Closes #9083 - http_aws_sigv4.c: remove two unusued includes Closes #9080 - .mailmap: additional edit Follow-up to 861e2a8aca6c7 so that Evgeny appears with the same in git logs even when using old email. - RELEASE-NOTES: synced bumped to 7.84.1 - [Evgeny Grin (Karlson2k) brought this change] .mailmap: updated - [Evgeny Grin (Karlson2k) brought this change] THANKS: merged two entries for Evgeny Grin Also updated THANKS-filter file Closes #9076 - [Jilayne Lovejoy brought this change] lib/curl_path.c: add ISC to license expression THe text of the ISC license is in this file, so the SPDX license expression should be updated Closes #9073 - [Sean McArthur brought this change] hyper: use wakers for curl pause/resume Closes #9070 Viktor Szakats (30 Jun 2022) - Makefile.m32: do not set the libcurl.rc debug flag [ci skip] Delete `-DDEBUGBUILD=0` windres option. This was likely meant to disable VS_FF_DEBUG in FILEFLAGS, but any assigned value enabled it instead. Delete this unnecessary option and thus sync up with how CMake compiles libcurl.rc by default. Reviewed-by: Jay Satiro Closes #9069 Daniel Stenberg (29 Jun 2022) - curl.h: CURLE_CONV_FAILED is obsoleted The last use was removed in 7.82.0. Updated some docs too to reflect the current error code situation. Closes #9067 - curl: output warning when a cookie is dropped due to size Dropped from the request, that is. Closes #9064 - curl_mime_data.3: polish the wording Closes #9063 - configure: check for the stdatomic.h header in configure ... and only set HAVE_ATOMIC if that header exists since we use typedefes set in it. Reported-by: Ryan Schmidt Fixes #9059 Closes #9060 - easy_lock: fix the #ifdef conditional for ia32_pause To work better with new and old clang compilers. Reported-by: Ryan Schmidt Assisted-by: Joshua Root Fixes #9058 Closes #9062 - easy_lock: switch to using atomic_int instead of bool To work with more compilers without requiring separate libs to link. Like with gcc-12 for RISC-V on Linux. Reported-by: Adam Sampson Fixes #9055 Closes #9061 - [vvb2060 brought this change] ngtcp2: fix incompatible function pointer types Closes #9056 - [vvb2060 brought this change] easy_lock.h: use __asm__ instead of asm to fix build Closes #9056 - [Samuel Henrique brought this change] libcurl-security.3: fix typo on macro "SH_" During the packaging of the latest curl release for Debian, Lintian warned me about a typo which causes the section name "Secrets in memory" to not be rendered in the manpage due to "SH_" not being recognized as a header. Closes #9057 - easy_lock.h: include sched.h if available to fix build Patched-by: Harry Sintonen Closes #9054 Version 7.84.0 (27 Jun 2022) Daniel Stenberg (27 Jun 2022) - RELEASE-NOTES: synced Version 7.84.0 release |
︙ | ︙ | |||
744 745 746 747 748 749 750 | project maintainer. This label means that in addition to meeting all other checks and qualifications this pull request must also receive proven support/thumbs-ups from more community members to be considered for merging. Closes #8910 | | | | | 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 | project maintainer. This label means that in addition to meeting all other checks and qualifications this pull request must also receive proven support/thumbs-ups from more community members to be considered for merging. Closes #8910 - [Evgeny Grin (Karlson2k) brought this change] digest: tolerate missing "realm" Server headers may not define "realm", avoid NULL pointer dereference in such cases. Closes #8912 - [Evgeny Grin (Karlson2k) brought this change] digest: added detection of more syntax error in server headers Invalid headers should not be processed otherwise they may create a security risk. Closes #8912 - [Evgeny Grin (Karlson2k) brought this change] digest: unquote realm and nonce before processing RFC 7616 (and 2617) requires values to be "unquoted" before used for digest calculations. The only place where unquoting can be done correctly is header parsing function (realm="DOMAIN\\host" and realm=DOMAN\\host are different realms). |
︙ | ︙ | |||
5688 5689 5690 5691 5692 5693 5694 | Closes #8181 - [Stefan Huber brought this change] README: label the link to the support document Closes #8185 | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 7778 7779 7780 7781 7782 7783 7784 | Closes #8181 - [Stefan Huber brought this change] README: label the link to the support document Closes #8185 |
Changes to jni/curl/CMake/CurlTests.c.
︙ | ︙ | |||
511 512 513 514 515 516 517 518 | main() { int res3 = gcc_vmacro3(1, 2, 3); int res2 = gcc_vmacro2(1, 2); (void)res3; (void)res2; return 0; } #endif | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | main() { int res3 = gcc_vmacro3(1, 2, 3); int res2 = gcc_vmacro2(1, 2); (void)res3; (void)res2; return 0; } #endif #ifdef HAVE_ATOMIC /* includes start */ #ifdef HAVE_SYS_TYPES_H # include <sys/types.h> #endif #ifdef HAVE_UNISTD_H # include <unistd.h> #endif #ifdef HAVE_STDATOMIC_H # include <stdatomic.h> #endif /* includes end */ int main() { _Atomic int i = 1; i = 0; // Force an atomic-write operation. return i; } #endif #ifdef HAVE_WIN32_WINNT /* includes start */ #ifdef WIN32 /* * Don't include unneeded stuff in Windows headers to avoid compiler * warnings and macro clashes. * Make sure to define this macro before including any Windows headers. */ # ifndef WIN32_LEAN_AND_MEAN # define WIN32_LEAN_AND_MEAN # endif # ifndef NOGDI # define NOGDI # endif # include "../lib/setup-win32.h" #endif /* includes end */ #define enquote(x) #x #define expand(x) enquote(x) #pragma message("_WIN32_WINNT=" expand(_WIN32_WINNT)) int main() { return 0; } #endif |
Changes to jni/curl/CMake/FindNGTCP2.cmake.
︙ | ︙ | |||
67 68 69 70 71 72 73 | if(PC_NGTCP2_VERSION) set(NGTCP2_VERSION ${PC_NGTCP2_VERSION}) endif() if(NGTCP2_FIND_COMPONENTS) set(NGTCP2_CRYPTO_BACKEND "") foreach(component IN LISTS NGTCP2_FIND_COMPONENTS) | | | 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | if(PC_NGTCP2_VERSION) set(NGTCP2_VERSION ${PC_NGTCP2_VERSION}) endif() if(NGTCP2_FIND_COMPONENTS) set(NGTCP2_CRYPTO_BACKEND "") foreach(component IN LISTS NGTCP2_FIND_COMPONENTS) if(component MATCHES "^(BoringSSL|OpenSSL|GnuTLS)") if(NGTCP2_CRYPTO_BACKEND) message(FATAL_ERROR "NGTCP2: Only one crypto library can be selected") endif() set(NGTCP2_CRYPTO_BACKEND ${component}) endif() endforeach() |
︙ | ︙ |
Changes to jni/curl/CMake/Platforms/WindowsCache.cmake.
︙ | ︙ | |||
19 20 21 22 23 24 25 | # KIND, either express or implied. # # SPDX-License-Identifier: curl # ########################################################################### if(NOT UNIX) if(WIN32) | < < < < < < < < < < < < < < < < < < < < < < < < < < | 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 | # KIND, either express or implied. # # SPDX-License-Identifier: curl # ########################################################################### if(NOT UNIX) if(WIN32) set(HAVE_LIBSOCKET 0) set(HAVE_GETHOSTNAME 1) set(HAVE_LIBZ 0) set(HAVE_ARPA_INET_H 0) set(HAVE_FCNTL_H 1) set(HAVE_INTTYPES_H 0) set(HAVE_IO_H 1) set(HAVE_NETDB_H 0) set(HAVE_NETINET_IN_H 0) set(HAVE_NET_IF_H 0) set(HAVE_PROCESS_H 1) set(HAVE_PWD_H 0) set(HAVE_SETJMP_H 1) set(HAVE_SIGNAL_H 1) set(HAVE_STDINT_H 0) set(HAVE_STDLIB_H 1) set(HAVE_STRINGS_H 0) set(HAVE_STRING_H 1) set(HAVE_SYS_PARAM_H 0) set(HAVE_SYS_POLL_H 0) set(HAVE_SYS_SELECT_H 0) set(HAVE_SYS_SOCKET_H 0) set(HAVE_SYS_SOCKIO_H 0) set(HAVE_SYS_STAT_H 1) set(HAVE_SYS_TIME_H 0) set(HAVE_SYS_TYPES_H 1) set(HAVE_SYS_UTIME_H 1) set(HAVE_TERMIOS_H 0) set(HAVE_TERMIO_H 0) set(HAVE_TIME_H 1) set(HAVE_UNISTD_H 0) set(HAVE_UTIME_H 0) set(HAVE_ZLIB_H 0) set(HAVE_SOCKET 1) set(HAVE_SELECT 1) set(HAVE_STRDUP 1) set(HAVE_STRTOK_R 0) set(HAVE_STRCASECMP 0) set(HAVE_STRICMP 1) set(HAVE_STRCMPI 1) set(HAVE_GETTIMEOFDAY 0) set(HAVE_CLOSESOCKET 1) set(HAVE_SIGSETJMP 0) set(HAVE_GETPASS_R 0) set(HAVE_GETPWUID 0) set(HAVE_GETEUID 0) set(HAVE_UTIME 1) set(HAVE_RAND_EGD 0) set(HAVE_GMTIME_R 0) set(HAVE_GETHOSTBYNAME_R 0) set(HAVE_SIGNAL_FUNC 1) set(HAVE_SIGNAL_MACRO 0) set(HAVE_GETHOSTBYNAME_R_3 0) set(HAVE_GETHOSTBYNAME_R_3_REENTRANT 0) set(HAVE_GETHOSTBYNAME_R_5 0) |
︙ | ︙ |
Changes to jni/curl/CMakeLists.txt.
︙ | ︙ | |||
63 64 65 66 67 68 69 | message(STATUS "curl version=[${CURL_VERSION}]") # SET(PACKAGE_TARNAME "curl") # SET(PACKAGE_NAME "curl") # SET(PACKAGE_VERSION "-") # SET(PACKAGE_STRING "curl-") # SET(PACKAGE_BUGREPORT "a suitable curl mailing list => https://curl.se/mail/") set(OPERATING_SYSTEM "${CMAKE_SYSTEM_NAME}") | > > > | > < < < < < < < < < | 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 | message(STATUS "curl version=[${CURL_VERSION}]") # SET(PACKAGE_TARNAME "curl") # SET(PACKAGE_NAME "curl") # SET(PACKAGE_VERSION "-") # SET(PACKAGE_STRING "curl-") # SET(PACKAGE_BUGREPORT "a suitable curl mailing list => https://curl.se/mail/") set(OPERATING_SYSTEM "${CMAKE_SYSTEM_NAME}") if(CMAKE_C_COMPILER_TARGET) set(OS "\"${CMAKE_C_COMPILER_TARGET}\"") else() set(OS "\"${CMAKE_SYSTEM_NAME}\"") endif() include_directories(${CURL_SOURCE_DIR}/include) option(CURL_WERROR "Turn compiler warnings into errors" OFF) option(PICKY_COMPILER "Enable picky compiler options" ON) option(BUILD_CURL_EXE "Set to ON to build curl executable." ON) option(BUILD_SHARED_LIBS "Build shared libraries" ON) option(ENABLE_ARES "Set to ON to enable c-ares support" OFF) if(WIN32) option(CURL_STATIC_CRT "Set to ON to build libcurl with static CRT on Windows (/MT)." OFF) option(ENABLE_UNICODE "Set to ON to use the Unicode version of the Windows API functions" OFF) set(CURL_TARGET_WINDOWS_VERSION "" CACHE STRING "Minimum target Windows version as hex string") if(CURL_TARGET_WINDOWS_VERSION) add_definitions(-D_WIN32_WINNT=${CURL_TARGET_WINDOWS_VERSION}) set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -D_WIN32_WINNT=${CURL_TARGET_WINDOWS_VERSION}") endif() if(ENABLE_UNICODE) add_definitions(-DUNICODE -D_UNICODE) if(MINGW) add_compile_options(-municode) endif() endif() |
︙ | ︙ | |||
328 329 330 331 332 333 334 | set(USE_THREADS_POSIX ${CMAKE_USE_PTHREADS_INIT}) set(HAVE_PTHREAD_H ${CMAKE_USE_PTHREADS_INIT}) endif() set(CURL_LIBS ${CURL_LIBS} ${CMAKE_THREAD_LIBS_INIT}) endif() # Check for all needed libraries | < < < < < < | 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 | set(USE_THREADS_POSIX ${CMAKE_USE_PTHREADS_INIT}) set(HAVE_PTHREAD_H ${CMAKE_USE_PTHREADS_INIT}) endif() set(CURL_LIBS ${CURL_LIBS} ${CMAKE_THREAD_LIBS_INIT}) endif() # Check for all needed libraries check_library_exists_concat("socket" connect HAVE_LIBSOCKET) check_function_exists(gethostname HAVE_GETHOSTNAME) if(WIN32) check_library_exists_concat("ws2_32" getch HAVE_LIBWS2_32) check_library_exists_concat("winmm" getch HAVE_LIBWINMM) endif() |
︙ | ︙ | |||
446 447 448 449 450 451 452 | list(APPEND CURL_LIBS OpenSSL::SSL OpenSSL::Crypto) else() list(APPEND CURL_LIBS ${OPENSSL_LIBRARIES}) include_directories(${OPENSSL_INCLUDE_DIR}) endif() set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) | < < < < < < < | | < | 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 | list(APPEND CURL_LIBS OpenSSL::SSL OpenSSL::Crypto) else() list(APPEND CURL_LIBS ${OPENSSL_LIBRARIES}) include_directories(${OPENSSL_INCLUDE_DIR}) endif() set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR}) check_symbol_exists(RAND_egd "${CURL_INCLUDES}" HAVE_RAND_EGD) check_symbol_exists(OPENSSL_IS_BORINGSSL "openssl/base.h" HAVE_BORINGSSL) add_definitions(-DOPENSSL_SUPPRESS_DEPRECATED) endif() if(CURL_USE_MBEDTLS) find_package(MbedTLS REQUIRED) set(SSL_ENABLED ON) |
︙ | ︙ | |||
511 512 513 514 515 516 517 | function(CheckQuicSupportInOpenSSL) # Be sure that the OpenSSL library actually supports QUIC. cmake_push_check_state() set(CMAKE_REQUIRED_INCLUDES "${OPENSSL_INCLUDE_DIR}") set(CMAKE_REQUIRED_LIBRARIES "${OPENSSL_LIBRARIES}") check_symbol_exists(SSL_CTX_set_quic_method "openssl/ssl.h" HAVE_SSL_CTX_SET_QUIC_METHOD) if(NOT HAVE_SSL_CTX_SET_QUIC_METHOD) | | > > > | > | 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 | function(CheckQuicSupportInOpenSSL) # Be sure that the OpenSSL library actually supports QUIC. cmake_push_check_state() set(CMAKE_REQUIRED_INCLUDES "${OPENSSL_INCLUDE_DIR}") set(CMAKE_REQUIRED_LIBRARIES "${OPENSSL_LIBRARIES}") check_symbol_exists(SSL_CTX_set_quic_method "openssl/ssl.h" HAVE_SSL_CTX_SET_QUIC_METHOD) if(NOT HAVE_SSL_CTX_SET_QUIC_METHOD) message(FATAL_ERROR "QUIC support is missing in OpenSSL/BoringSSL. Try setting -DOPENSSL_ROOT_DIR") endif() cmake_pop_check_state() endfunction() option(USE_NGTCP2 "Use ngtcp2 and nghttp3 libraries for HTTP/3 support" OFF) if(USE_NGTCP2) if(USE_OPENSSL) if(HAVE_BORINGSSL) find_package(NGTCP2 REQUIRED BoringSSL) else() find_package(NGTCP2 REQUIRED OpenSSL) endif() CheckQuicSupportInOpenSSL() elseif(USE_GNUTLS) # TODO add GnuTLS support as vtls library. find_package(NGTCP2 REQUIRED GnuTLS) else() message(FATAL_ERROR "ngtcp2 requires OpenSSL or GnuTLS") endif() |
︙ | ︙ | |||
587 588 589 590 591 592 593 | if(CURL_USE_OPENLDAP AND USE_WIN32_LDAP) message(FATAL_ERROR "Cannot use USE_WIN32_LDAP and CURL_USE_OPENLDAP at the same time") endif() # Now that we know, we're not using windows LDAP... if(USE_WIN32_LDAP) check_include_file_concat("winldap.h" HAVE_WINLDAP_H) | < | 572 573 574 575 576 577 578 579 580 581 582 583 584 585 | if(CURL_USE_OPENLDAP AND USE_WIN32_LDAP) message(FATAL_ERROR "Cannot use USE_WIN32_LDAP and CURL_USE_OPENLDAP at the same time") endif() # Now that we know, we're not using windows LDAP... if(USE_WIN32_LDAP) check_include_file_concat("winldap.h" HAVE_WINLDAP_H) else() # Check for LDAP set(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES}) check_library_exists_concat(${CMAKE_LDAP_LIB} ldap_init HAVE_LIBLDAP) check_library_exists_concat(${CMAKE_LBER_LIB} ber_init HAVE_LIBLBER) set(CMAKE_REQUIRED_INCLUDES_BAK ${CMAKE_REQUIRED_INCLUDES}) |
︙ | ︙ | |||
670 671 672 673 674 675 676 | message(STATUS "LDAP needs to be enabled to support LDAPS") set(CURL_DISABLE_LDAPS ON CACHE BOOL "" FORCE) endif() endif() if(NOT CURL_DISABLE_LDAPS) check_include_file_concat("ldap_ssl.h" HAVE_LDAP_SSL_H) | < | < < < | 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 | message(STATUS "LDAP needs to be enabled to support LDAPS") set(CURL_DISABLE_LDAPS ON CACHE BOOL "" FORCE) endif() endif() if(NOT CURL_DISABLE_LDAPS) check_include_file_concat("ldap_ssl.h" HAVE_LDAP_SSL_H) endif() # Check for idn2 option(USE_LIBIDN2 "Use libidn2 for IDN support" ON) if(USE_LIBIDN2) check_library_exists_concat("idn2" idn2_lookup_ul HAVE_LIBIDN2) else() set(HAVE_LIBIDN2 OFF) endif() if(WIN32) option(USE_WIN32_IDN "Use WinIDN for IDN support" OFF) if(USE_WIN32_IDN) list(APPEND CURL_LIBS "normaliz") set(WANT_IDN_PROTOTYPES ON) endif() endif() set(HAVE_LIBZ OFF) set(HAVE_ZLIB_H OFF) set(USE_ZLIB OFF) optional_dependency(ZLIB) if(ZLIB_FOUND) set(HAVE_ZLIB_H ON) set(HAVE_LIBZ ON) |
︙ | ︙ | |||
962 963 964 965 966 967 968 | if(NOT UNIX) check_include_file_concat("windows.h" HAVE_WINDOWS_H) check_include_file_concat("ws2tcpip.h" HAVE_WS2TCPIP_H) check_include_file_concat("winsock2.h" HAVE_WINSOCK2_H) check_include_file_concat("wincrypt.h" HAVE_WINCRYPT_H) endif() | < < < < < > < < < < < < < < < < < < < < < < < < < < < < < < < < < | 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 | if(NOT UNIX) check_include_file_concat("windows.h" HAVE_WINDOWS_H) check_include_file_concat("ws2tcpip.h" HAVE_WS2TCPIP_H) check_include_file_concat("winsock2.h" HAVE_WINSOCK2_H) check_include_file_concat("wincrypt.h" HAVE_WINCRYPT_H) endif() check_include_file_concat("inttypes.h" HAVE_INTTYPES_H) check_include_file_concat("sys/filio.h" HAVE_SYS_FILIO_H) check_include_file_concat("sys/ioctl.h" HAVE_SYS_IOCTL_H) check_include_file_concat("sys/param.h" HAVE_SYS_PARAM_H) check_include_file_concat("sys/poll.h" HAVE_SYS_POLL_H) check_include_file_concat("sys/resource.h" HAVE_SYS_RESOURCE_H) check_include_file_concat("sys/select.h" HAVE_SYS_SELECT_H) check_include_file_concat("sys/socket.h" HAVE_SYS_SOCKET_H) check_include_file_concat("sys/sockio.h" HAVE_SYS_SOCKIO_H) check_include_file_concat("sys/stat.h" HAVE_SYS_STAT_H) check_include_file_concat("sys/time.h" HAVE_SYS_TIME_H) check_include_file_concat("sys/types.h" HAVE_SYS_TYPES_H) check_include_file_concat("sys/un.h" HAVE_SYS_UN_H) check_include_file_concat("sys/utime.h" HAVE_SYS_UTIME_H) check_include_file_concat("sys/xattr.h" HAVE_SYS_XATTR_H) check_include_file_concat("arpa/inet.h" HAVE_ARPA_INET_H) check_include_file_concat("arpa/tftp.h" HAVE_ARPA_TFTP_H) check_include_file_concat("assert.h" HAVE_ASSERT_H) check_include_file_concat("errno.h" HAVE_ERRNO_H) check_include_file_concat("fcntl.h" HAVE_FCNTL_H) check_include_file_concat("idn2.h" HAVE_IDN2_H) check_include_file_concat("ifaddrs.h" HAVE_IFADDRS_H) check_include_file_concat("io.h" HAVE_IO_H) check_include_file_concat("libgen.h" HAVE_LIBGEN_H) check_include_file_concat("locale.h" HAVE_LOCALE_H) check_include_file_concat("net/if.h" HAVE_NET_IF_H) check_include_file_concat("netdb.h" HAVE_NETDB_H) check_include_file_concat("netinet/in.h" HAVE_NETINET_IN_H) check_include_file_concat("netinet/tcp.h" HAVE_NETINET_TCP_H) check_include_file("linux/tcp.h" HAVE_LINUX_TCP_H) check_include_file_concat("poll.h" HAVE_POLL_H) check_include_file_concat("pwd.h" HAVE_PWD_H) check_include_file_concat("setjmp.h" HAVE_SETJMP_H) check_include_file_concat("signal.h" HAVE_SIGNAL_H) check_include_file_concat("ssl.h" HAVE_SSL_H) check_include_file_concat("stdatomic.h" HAVE_STDATOMIC_H) check_include_file_concat("stdbool.h" HAVE_STDBOOL_H) check_include_file_concat("stdint.h" HAVE_STDINT_H) check_include_file_concat("stdlib.h" HAVE_STDLIB_H) check_include_file_concat("string.h" HAVE_STRING_H) check_include_file_concat("strings.h" HAVE_STRINGS_H) check_include_file_concat("stropts.h" HAVE_STROPTS_H) check_include_file_concat("termio.h" HAVE_TERMIO_H) check_include_file_concat("termios.h" HAVE_TERMIOS_H) check_include_file_concat("time.h" HAVE_TIME_H) check_include_file_concat("unistd.h" HAVE_UNISTD_H) check_include_file_concat("utime.h" HAVE_UTIME_H) check_include_file_concat("process.h" HAVE_PROCESS_H) check_include_file_concat("stddef.h" HAVE_STDDEF_H) check_include_file_concat("stdint.h" HAVE_STDINT_H) check_include_file_concat("sys/utsname.h" HAVE_SYS_UTSNAME_H) check_type_size(size_t SIZEOF_SIZE_T) check_type_size(ssize_t SIZEOF_SSIZE_T) check_type_size("long long" SIZEOF_LONG_LONG) check_type_size("long" SIZEOF_LONG) check_type_size("int" SIZEOF_INT) check_type_size("__int64" SIZEOF___INT64) check_type_size("time_t" SIZEOF_TIME_T) if(NOT HAVE_SIZEOF_SSIZE_T) if(SIZEOF_LONG EQUAL SIZEOF_SIZE_T) set(ssize_t long) endif() if(NOT ssize_t AND SIZEOF___INT64 EQUAL SIZEOF_SIZE_T) set(ssize_t __int64) endif() endif() # off_t is sized later, after the HAVE_FILE_OFFSET_BITS test if(HAVE_SIZEOF_LONG_LONG) set(HAVE_LONGLONG 1) endif() if(NOT CMAKE_CROSSCOMPILING) find_file(RANDOM_FILE urandom /dev) mark_as_advanced(RANDOM_FILE) endif() # Check for some functions that are used if(HAVE_LIBWS2_32) set(CMAKE_REQUIRED_LIBRARIES ws2_32) elseif(HAVE_LIBSOCKET) set(CMAKE_REQUIRED_LIBRARIES socket) endif() check_symbol_exists(fchmod "${CURL_INCLUDES}" HAVE_FCHMOD) check_symbol_exists(basename "${CURL_INCLUDES}" HAVE_BASENAME) check_symbol_exists(socket "${CURL_INCLUDES}" HAVE_SOCKET) check_symbol_exists(select "${CURL_INCLUDES}" HAVE_SELECT) check_symbol_exists(strdup "${CURL_INCLUDES}" HAVE_STRDUP) check_symbol_exists(strtok_r "${CURL_INCLUDES}" HAVE_STRTOK_R) check_symbol_exists(strcasecmp "${CURL_INCLUDES}" HAVE_STRCASECMP) check_symbol_exists(stricmp "${CURL_INCLUDES}" HAVE_STRICMP) check_symbol_exists(strcmpi "${CURL_INCLUDES}" HAVE_STRCMPI) check_symbol_exists(alarm "${CURL_INCLUDES}" HAVE_ALARM) check_symbol_exists(getppid "${CURL_INCLUDES}" HAVE_GETPPID) check_symbol_exists(utimes "${CURL_INCLUDES}" HAVE_UTIMES) check_symbol_exists(gettimeofday "${CURL_INCLUDES}" HAVE_GETTIMEOFDAY) check_symbol_exists(closesocket "${CURL_INCLUDES}" HAVE_CLOSESOCKET) check_symbol_exists(sigsetjmp "${CURL_INCLUDES}" HAVE_SIGSETJMP) check_symbol_exists(getpass_r "${CURL_INCLUDES}" HAVE_GETPASS_R) check_symbol_exists(getpwuid "${CURL_INCLUDES}" HAVE_GETPWUID) check_symbol_exists(getpwuid_r "${CURL_INCLUDES}" HAVE_GETPWUID_R) check_symbol_exists(geteuid "${CURL_INCLUDES}" HAVE_GETEUID) check_symbol_exists(utime "${CURL_INCLUDES}" HAVE_UTIME) check_symbol_exists(gmtime_r "${CURL_INCLUDES}" HAVE_GMTIME_R) check_symbol_exists(gethostbyname_r "${CURL_INCLUDES}" HAVE_GETHOSTBYNAME_R) check_symbol_exists(signal "${CURL_INCLUDES}" HAVE_SIGNAL_FUNC) check_symbol_exists(SIGALRM "${CURL_INCLUDES}" HAVE_SIGNAL_MACRO) if(HAVE_SIGNAL_FUNC AND HAVE_SIGNAL_MACRO) set(HAVE_SIGNAL 1) endif() check_symbol_exists(strtoll "${CURL_INCLUDES}" HAVE_STRTOLL) check_symbol_exists(_strtoi64 "${CURL_INCLUDES}" HAVE__STRTOI64) check_symbol_exists(strerror_r "${CURL_INCLUDES}" HAVE_STRERROR_R) check_symbol_exists(siginterrupt "${CURL_INCLUDES}" HAVE_SIGINTERRUPT) check_symbol_exists(getaddrinfo "${CURL_INCLUDES}" HAVE_GETADDRINFO) check_symbol_exists(freeaddrinfo "${CURL_INCLUDES}" HAVE_FREEADDRINFO) check_symbol_exists(pipe "${CURL_INCLUDES}" HAVE_PIPE) check_symbol_exists(ftruncate "${CURL_INCLUDES}" HAVE_FTRUNCATE) check_symbol_exists(getpeername "${CURL_INCLUDES}" HAVE_GETPEERNAME) check_symbol_exists(getsockname "${CURL_INCLUDES}" HAVE_GETSOCKNAME) check_symbol_exists(if_nametoindex "${CURL_INCLUDES}" HAVE_IF_NAMETOINDEX) check_symbol_exists(getrlimit "${CURL_INCLUDES}" HAVE_GETRLIMIT) check_symbol_exists(setlocale "${CURL_INCLUDES}" HAVE_SETLOCALE) check_symbol_exists(setmode "${CURL_INCLUDES}" HAVE_SETMODE) check_symbol_exists(setrlimit "${CURL_INCLUDES}" HAVE_SETRLIMIT) check_function_exists(mach_absolute_time HAVE_MACH_ABSOLUTE_TIME) check_symbol_exists(inet_pton "${CURL_INCLUDES}" HAVE_INET_PTON) check_symbol_exists(fsetxattr "${CURL_INCLUDES}" HAVE_FSETXATTR) if(HAVE_FSETXATTR) foreach(CURL_TEST HAVE_FSETXATTR_5 HAVE_FSETXATTR_6) curl_internal_test(${CURL_TEST}) |
︙ | ︙ | |||
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 | HAVE_IN_ADDR_T HAVE_BOOL_T STDC_HEADERS HAVE_GETADDRINFO HAVE_FILE_OFFSET_BITS HAVE_VARIADIC_MACROS_C99 HAVE_VARIADIC_MACROS_GCC ) curl_internal_test(${CURL_TEST}) endforeach() if(HAVE_FILE_OFFSET_BITS) set(_FILE_OFFSET_BITS 64) set(CMAKE_REQUIRED_FLAGS "-D_FILE_OFFSET_BITS=64") endif() check_type_size("off_t" SIZEOF_OFF_T) # include this header to get the type set(CMAKE_REQUIRED_INCLUDES "${CURL_SOURCE_DIR}/include") set(CMAKE_EXTRA_INCLUDE_FILES "curl/system.h") check_type_size("curl_off_t" SIZEOF_CURL_OFF_T) set(CMAKE_EXTRA_INCLUDE_FILES "") set(CMAKE_REQUIRED_FLAGS) foreach(CURL_TEST HAVE_GLIBC_STRERROR_R HAVE_POSIX_STRERROR_R ) | > > > > > > > > > > > > > > | 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 | HAVE_IN_ADDR_T HAVE_BOOL_T STDC_HEADERS HAVE_GETADDRINFO HAVE_FILE_OFFSET_BITS HAVE_VARIADIC_MACROS_C99 HAVE_VARIADIC_MACROS_GCC HAVE_ATOMIC ) curl_internal_test(${CURL_TEST}) endforeach() if(HAVE_FILE_OFFSET_BITS) set(_FILE_OFFSET_BITS 64) set(CMAKE_REQUIRED_FLAGS "-D_FILE_OFFSET_BITS=64") endif() check_type_size("off_t" SIZEOF_OFF_T) # include this header to get the type set(CMAKE_REQUIRED_INCLUDES "${CURL_SOURCE_DIR}/include") set(CMAKE_EXTRA_INCLUDE_FILES "curl/system.h") check_type_size("curl_off_t" SIZEOF_CURL_OFF_T) set(CMAKE_EXTRA_INCLUDE_FILES "") if(WIN32) # detect actual value of _WIN32_WINNT and store as HAVE_WIN32_WINNT curl_internal_test(HAVE_WIN32_WINNT) if(HAVE_WIN32_WINNT) string(REGEX MATCH ".*_WIN32_WINNT=0x[0-9a-fA-F]+" OUTPUT "${OUTPUT}") string(REGEX REPLACE ".*_WIN32_WINNT=" "" OUTPUT "${OUTPUT}") math(EXPR HAVE_WIN32_WINNT "${OUTPUT}" OUTPUT_FORMAT DECIMAL) message(STATUS "Found _WIN32_WINNT=${OUTPUT} (${HAVE_WIN32_WINNT})") endif() # avoid storing HAVE_WIN32_WINNT in CMake cache unset(HAVE_WIN32_WINNT CACHE) endif() set(CMAKE_REQUIRED_FLAGS) foreach(CURL_TEST HAVE_GLIBC_STRERROR_R HAVE_POSIX_STRERROR_R ) |
︙ | ︙ | |||
1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 | set(USE_WIN32_CRYPTO ON) endif() # Link required libraries for USE_WIN32_CRYPTO or USE_SCHANNEL if(USE_WIN32_CRYPTO OR USE_SCHANNEL) list(APPEND CURL_LIBS "advapi32" "crypt32") endif() endif() if(MSVC) # Disable default manifest added by CMake set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MANIFEST:NO") add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE) | > > | 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 | set(USE_WIN32_CRYPTO ON) endif() # Link required libraries for USE_WIN32_CRYPTO or USE_SCHANNEL if(USE_WIN32_CRYPTO OR USE_SCHANNEL) list(APPEND CURL_LIBS "advapi32" "crypt32") endif() list(APPEND CURL_LIBS "bcrypt") endif() if(MSVC) # Disable default manifest added by CMake set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MANIFEST:NO") add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE) |
︙ | ︙ | |||
1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 | _add_if("TLS-SRP" USE_TLS_SRP) # TODO option --with-nghttp2 tests for nghttp2 lib and nghttp2/nghttp2.h header _add_if("HTTP2" USE_NGHTTP2) _add_if("HTTP3" USE_NGTCP2 OR USE_QUICHE) _add_if("MultiSSL" CURL_WITH_MULTI_SSL) _add_if("HTTPS-proxy" SSL_ENABLED AND (USE_OPENSSL OR USE_GNUTLS OR USE_NSS)) _add_if("unicode" ENABLE_UNICODE) string(REPLACE ";" " " SUPPORT_FEATURES "${_items}") message(STATUS "Enabled features: ${SUPPORT_FEATURES}") # Clear list and try to detect available protocols set(_items) _add_if("HTTP" NOT CURL_DISABLE_HTTP) _add_if("HTTPS" NOT CURL_DISABLE_HTTP AND SSL_ENABLED) | > > > | 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 | _add_if("TLS-SRP" USE_TLS_SRP) # TODO option --with-nghttp2 tests for nghttp2 lib and nghttp2/nghttp2.h header _add_if("HTTP2" USE_NGHTTP2) _add_if("HTTP3" USE_NGTCP2 OR USE_QUICHE) _add_if("MultiSSL" CURL_WITH_MULTI_SSL) _add_if("HTTPS-proxy" SSL_ENABLED AND (USE_OPENSSL OR USE_GNUTLS OR USE_NSS)) _add_if("unicode" ENABLE_UNICODE) _add_if("threadsafe" HAVE_ATOMIC OR (WIN32 AND HAVE_WIN32_WINNT GREATER_EQUAL 0x600)) _add_if("PSL" USE_LIBPSL) string(REPLACE ";" " " SUPPORT_FEATURES "${_items}") message(STATUS "Enabled features: ${SUPPORT_FEATURES}") # Clear list and try to detect available protocols set(_items) _add_if("HTTP" NOT CURL_DISABLE_HTTP) _add_if("HTTPS" NOT CURL_DISABLE_HTTP AND SSL_ENABLED) |
︙ | ︙ |
Changes to jni/curl/Makefile.in.
︙ | ︙ | |||
166 167 168 169 170 171 172 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | | < | 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \ $(top_srcdir)/m4/curl-bearssl.m4 \ $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-gnutls.m4 \ $(top_srcdir)/m4/curl-mbedtls.m4 $(top_srcdir)/m4/curl-nss.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ |
︙ | ︙ | |||
476 477 478 479 480 481 482 483 484 485 486 487 488 489 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ | > | 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ |
︙ | ︙ |
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 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 | curl and libcurl 7.85.0 Public curl releases: 210 Command line options: 248 curl_easy_setopt() options: 299 Public functions in libcurl: 88 Contributors: 2690 This release includes the following changes: o quic: add support via wolfSSL [142] o schannel: Add TLS 1.3 support [96] o setopt: add CURLOPT_PROTOCOLS_STR and CURLOPT_REDIR_PROTOCOLS_STR [30] This release includes the following bugfixes: o amigaos: fix threaded resolver on AmigaOS 4.x [133] o amissl: allow AmiSSL to be used with AmigaOS 4.x builds [115] o amissl: make AmiSSL v5 a minimum requirement [117] o asyn-ares: make a single alloc out of hostname + async data [123] o asyn-thread: fix socket leak on OOM [128] o asyn-thread: make getaddrinfo_complete return CURLcode [53] o base64: base64url encoding has no padding [41] o BUGS.md: improve language [62] o build: improve OS string in CMake and `config-win32.h` [15] o cert.d: clarify that escape character works for file paths [161] o cirrus.yml: replace py38-pip with py39-pip [63] o cirrus/freebsd-ci: bootstrap the pip installer [104] o cmake: add detection of threadsafe feature [163] o cmake: do not force Windows target versions [28] o cmake: fix build for mingw cross compile [33] o cmake: link curl to its dependencies with PRIVATE [57] o cmake: remove APPEND in export(TARGETS) [58] o cmake: set feature PSL if present [168] o cmake: support ngtcp2 boringssl backend [18] o cmdline-opts/gen.pl: improve performance [97] o config: remove the check for and use of SIZEOF_SHORT [129] o configure: -pthread not available on AmigaOS 4.x [118] o configure: check for the stdatomic.h header in configure [7] o configure: fix --disable-headers-api [55] o configure: fix broken m4 syntax in TLS options [145] o configure: fixup bsdsocket detection code for AmigaOS 4.x [110] o configure: if asked to use TLS, fail if no TLS lib was detected [156] o configure: introduce CURL_SIZEOF [130] o connect: add quic connection information [100] o connect: close the happy eyeballs loser connection when using QUIC [109] o connect: revert the use of IP*_RECVERR [102] o connect: set socktype/protocol correctly [114] o cookie: reject cookies with "control bytes" [152] o cookie: treat a blank domain in Set-Cookie: as non-existing [40] o cookie: use %zu to infof() for size_t values [26] o curl-compilers.m4: make icc use -diag* options and disable two warnings [84] o curl-config: quote directories with potential space [132] o curl-confopts: remove leftover AC_REQUIREs [91] o curl-functions.m4: check whether atomics can link [86] o curl-wolfssl.m4: add options header when building test code [87] o curl.h: CURLE_CONV_FAILED is obsoleted [4] o curl.h: include <sys/select.h> on SunOS [151] o curl: output warning when a cookie is dropped due to size [5] o curl: writeout: fix repeated header outputs [47] o Curl_close: call Curl_resolver_cancel to avoid memory-leak [124] o curl_easy_header: Add CURLH_PSEUDO to sanity check [94] o curl_mime_data.3: polish the wording [6] o curl_multi_timeout.3: clarify usage [48] o CURLINFO_SPEED_UPLOAD/DOWNLOAD.3: fix examples [121] o CURLOPT_BUFFERSIZE.3: add upload buffersize to see also [159] o CURLOPT_CONNECT_ONLY.3: clarify multi API use [64] o CURLOPT_SERVER_RESPONSE_TIMEOUT: the new name [16] o digest: fix memory leak, fix not quoted 'opaque' [66] o digest: fix missing increment of 'nc' value for auth-int [39] o digest: pass over leading spaces in qop values [119] o digest: reject broken header with session protocol but without qop [120] o docs/cmdline-opts/gen.pl: encode leading single and double quotes [138] o docs/cmdline-opts: fix example and categories for --form-escape [125] o docs/cmdline: mark fail and fail-with-body as mutually exclusive [98] o docs: add dns category to --resolve [95] o docs: explain curl_easy_escape/unescape curl handle is ignored [23] o docs: remove him/her/he/she from documentation [103] o doh: move doh related struct definitions to doh.h [45] o doh: use https protocol by default [51] o easy_lock.h: include sched.h if available to fix build [13] o easy_lock.h: use __asm__ instead of asm to fix build [11] o easy_lock: fix build for mingw [34] o easy_lock: fix build with icc [54] o easy_lock: fix the #ifdef conditional for ia32_pause [8] o easy_lock: switch to using atomic_int instead of bool [9] o easyoptions: fix icc warning [42] o escape: remove outdated comment [25] o examples/curlx.c: remove [150] o file: add handling of native AmigaOS paths [108] o file: fix icc enumerated type mixed with another type warning [92] o ftp: use a correct expire ID for timer expiry [88] o getinfo: return better error on NULL as first argument [21] o GHA: add two Intel compiler CI jobs [85] o GHA: move libressl CI from zuul to GitHub [144] o gha: move over ngtcp2-gnutls CI job from zuul [162] o GHA: mv CI torture test from Zuul [135] o h2h3: fix overriding the 'TE: Trailers' header [43] o hostip: resolve *.localhost to 127.0.0.1/::1 [127] o HTTP3.md: update to msh3 v0.4.0 [126] o http: typecast the httpreq assignment to avoid icc compiler warning [76] o http_aws_sigv4.c: remove two unusued includes [36] o http_chunks: remove an assign + typecast [82] o hyper: customize test1274 to how hyper unfolds headers [131] o hyper: enable obs-folded multiline headers [101] o hyper: use wakers for curl pause/resume [2] o imap: use ISALNUM() for alphanumeric checks [134] o ldap: adapt to conn->port now being an 'int' [106] o lib/curl_path.c: add ISC to license expression [1] o lib3026: reduce the number of threads to 100 [44] o libcurl-security.3: fix typo on macro "SH_" [12] o libssh2: make atime/mtime date overflow return error [148] o libssh2: provide symlink name in SFTP dir listing [155] o libssh: ignore deprecation warnings [157] o libssh: make atime/mtime date overflow return error [149] o Makefile.m32: add `CURL_RC` and `CURL_STRIP` variables [ci skip] [17] o Makefile.m32: add `NGTCP2_LIBS` option [ci skip] [38] o makefile.m32: add support for custom ARCH [ci skip] [27] o Makefile.m32: allow -nghttp3/-ngtcp2 without -ssl [ci skip] [141] o Makefile.m32: do not set the libcurl.rc debug flag [ci skip] [3] o Makefile.m32: stop trying to build libcares.a [ci skip] [46] o memdebug: add annotation attributes [143] o mprintf: fix *dyn_vprintf() when out-of-memory [90] o mprintf: make dprintf_formatf never return negative [49] o msh3: fix the QUIC disconnect function [107] o multi: fix the return code from Curl_pgrsDone() [80] o multi: have curl_multi_remove_handle close CONNECT_ONLY transfer [136] o multi: use a pipe instead of a socketpair on apple platforms [154] o multi: use larger dns hash table for multi interface [140] o multi_wait: fix and improve Curl_poll error handling on Windows [146] o multi_wait: fix skipping to populate revents for extra_fds [147] o netrc.d: remove spurious quote [37] o netrc: Use the password from lines without login [166] o ngtcp2: Fix build error due to change in nghttp3 prototypes [61] o ngtcp2: fix incompatible function pointer types [10] o ngtcp2: Fix missing initialization of nghttp3_nv.flags [31] o ngtcp2: fix stall or busy loop on STOP_SENDING with upload data [19] o ngtcp2: implement cb_h3_stop_sending and cb_h3_reset_stream callbacks [59] o openssl: add `CURL_BORINGSSL_VERSION` to identify BoringSSL [24] o openssl: add cert path in error message [160] o openssl: add details to "unable to set client certificate" error [116] o openssl: fix BoringSSL symbol conflicts with LDAP and Schannel [52] o quiche: fix build failure [99] o select: do not return fatal error on EINTR from poll() [32] o sendf: fix paused header writes since after the header API [89] o sendf: make Curl_debug a void function [81] o sendf: skip storing HTTP headers if HTTP disabled [73] o sendf: store the header type in an usigned char to avoid icc warnings [79] o splay: avoid using -1 in unsigned variable [78] o test3026: add support for Windows using native Win32 threads [65] o test3026: require 'threadsafe' [56] o test44[2-4]: add '--resolve' to the keywords [122] o tests/server/sockfilt.c: avoid race condition without a mutex [139] o tests: fix http2 tests to use CRLF headers [153] o tests: several enumerated type cleanups [67] o THANKS: merged two entries for Evgeny Grin o tidy-up: delete unused build configuration macros [93] o tool: reintroduce set file comment code for AmigaOS [111] o tool_cfgable: make 'synthetic_error' a plain bool [70] o tool_formparse: fix variable may be used before its value is set [72] o tool_getparam: make --doh-url "" switch it off [60] o tool_getparam: repair cleanarg [22] o tool_operate: better cleanup of easy handle in exit path [20] o tool_paramhlp: fix "enumerated type mixed with another type" [68] o tool_paramhlp: make check_protocol return ParameterError [71] o tool_progress: avoid division by zero in parallel progress meter [35] o tool_writeout: fix enumerated type mixed with another type [69] o trace: 0x7F character is non-printable [50] o unit1303: four tests should have TRUE for 'connecting' [158] o url: enumerated type mixed with another type [74] o url: really use the user provided in the url when netrc entry exists [165] o url: reject URLs with hostnames longer than 65535 bytes [137] o url: treat missing usernames in netrc as empty [167] o urldata: change second proxytype field to unsigned char to match [75] o urldata: make 'negnpn' use less storage [112] o urldata: make state.httpreq an unsigned char [77] o urldata: make three *_proto struct fields smaller [113] o urldata: move smaller fields down in connectdata struct [105] o urldata: reduce size of several struct fields [14] o vtls: make Curl_ssl_backend() return the enum type curl_sslbackend [83] o windows: improve random source [29] This release includes the following known bugs: o see docs/KNOWN_BUGS (https://curl.se/docs/knownbugs.html) This release would not have looked like this without help, code, reports and advice from friends like these: Adam Sampson, Alessandro Ghedini, Alexandre Bury, Andreas Sommer, Andrew Lambert, Axel Chong, Brad Forschinger, Brian Carpenter, Cering on github, Chris Paulson-Ellis, Chris Young, Daniel Katz, Daniel Stenberg, David Carlier, dEajL3kA on github, Domen Kožar, Dominik Thalhammer, Don J Olmstead, Dustin Howett, Emanuele Torre, Emil Engler, Érico Nogueira Rolim, Even Rouault, Evgeny Grin (Karlson2k), Fabian Fischer, Fabian Keil, Gisle Vanem, Gwen Shapira, Harry Sintonen, highmtworks on github, Ivan Tsybulin, Jacob Tolar, Jakub Zakrzewski, Jilayne Lovejoy, Joshua Root, jurisuk on github, jvvprasad78 on github, Kai Pastor, Litter White, lwthiker on github, Marcel Raad, Marc Hörsken, Marco Kamner, MasterInQuestion on github, Matthew Thompson, Maxim Ivanov, Michael Trebilcock, Michał Antoniak, Nao Yonashiro, Nick Banks, Oliver Roberts, opensignature on github, Orgad Shaneh, Patrick Monnerat, Philip H, privetryan on github, Ray Satiro, rcombs on github, Rosen Penev, Ryan Schmidt, Ryan Sleevi, rzrymiak on github, Samuel Henrique, Sean McArthur, Sergey Ogryzkov, Somnath Kundu, Stefan Eissing, Sukanya Hanumanthu, Tatsuhiro Tsujikawa, Ted Lyngmo, TheKnarf on github, Thomas Weißschuh, Tobias Nygren, Viktor Szakats, vlubart on github, Wu Zheng, Wyatt O'Day, Xiaoke Wang, yiyuaner on github (79 contributors) References to bug reports and discussions on issues: [1] = https://curl.se/bug/?i=9073 [2] = https://curl.se/bug/?i=9070 [3] = https://curl.se/bug/?i=9069 [4] = https://curl.se/bug/?i=9067 [5] = https://curl.se/bug/?i=9064 [6] = https://curl.se/bug/?i=9063 [7] = https://curl.se/bug/?i=9059 [8] = https://curl.se/bug/?i=9058 [9] = https://curl.se/bug/?i=9055 [10] = https://curl.se/bug/?i=9056 [11] = https://curl.se/bug/?i=9056 [12] = https://curl.se/bug/?i=9057 [13] = https://curl.se/bug/?i=9054 [14] = https://curl.se/bug/?i=9106 [15] = https://curl.se/bug/?i=9117 [16] = https://curl.se/bug/?i=9104 [17] = https://curl.se/bug/?i=9132 [18] = https://curl.se/bug/?i=9065 [19] = https://curl.se/bug/?i=9122 [20] = https://curl.se/bug/?i=9114 [21] = https://curl.se/bug/?i=9114 [22] = https://curl.se/bug/?i=9128 [23] = https://curl.se/bug/?i=9115 [24] = https://curl.se/bug/?i=9113 [25] = https://curl.se/bug/?i=9115 [26] = https://curl.se/bug/?i=9095 [27] = https://curl.se/bug/?i=9092 [28] = https://curl.se/bug/?i=9046 [29] = https://curl.se/bug/?i=9027 [30] = https://curl.se/bug/?i=8992 [31] = https://curl.se/bug/?i=9118 [32] = https://bugs.archlinux.org/task/75201 [33] = https://curl.se/bug/?i=9084 [34] = https://curl.se/bug/?i=8997 [35] = https://curl.se/bug/?i=9082 [36] = https://curl.se/bug/?i=9080 [37] = https://curl.se/bug/?i=9111 [38] = https://curl.se/bug/?i=9109 [39] = https://curl.se/bug/?i=9090 [40] = https://curl.se/bug/?i=9164 [41] = https://curl.se/bug/?i=9139 [42] = https://curl.se/bug/?i=9176 [43] = https://curl.se/bug/?i=9170 [44] = https://curl.se/bug/?i=9172 [45] = https://curl.se/bug/?i=9174 [46] = https://curl.se/bug/?i=9169 [47] = https://curl.se/bug/?i=9150 [48] = https://curl.se/bug/?i=9155 [49] = https://curl.se/bug/?i=9149 [50] = https://curl.se/bug/?i=9162 [51] = https://curl.se/bug/?i=9163 [52] = https://curl.se/bug/?i=9110 [53] = https://curl.se/bug/?i=9081 [54] = https://curl.se/bug/?i=9081 [55] = https://curl.se/bug/?i=9134 [56] = https://curl.se/bug/?i=9141 [57] = https://curl.se/bug/?i=9125 [58] = https://curl.se/bug/?i=9124 [59] = https://curl.se/bug/?i=9135 [60] = https://curl.se/bug/?i=9207 [61] = https://curl.se/bug/?i=9204 [62] = https://curl.se/bug/?i=9205 [63] = https://curl.se/bug/?i=9201 [64] = https://curl.se/bug/?i=9244 [65] = https://curl.se/bug/?i=9012 [66] = https://curl.se/bug/?i=9199 [67] = https://curl.se/bug/?i=9179 [68] = https://curl.se/bug/?i=9179 [69] = https://curl.se/bug/?i=9179 [70] = https://curl.se/bug/?i=9179 [71] = https://curl.se/bug/?i=9179 [72] = https://curl.se/bug/?i=9179 [73] = https://curl.se/bug/?i=9179 [74] = https://curl.se/bug/?i=9179 [75] = https://curl.se/bug/?i=9179 [76] = https://curl.se/bug/?i=9179 [77] = https://curl.se/bug/?i=9179 [78] = https://curl.se/bug/?i=9179 [79] = https://curl.se/bug/?i=9179 [80] = https://curl.se/bug/?i=9179 [81] = https://curl.se/bug/?i=9179 [82] = https://curl.se/bug/?i=9179 [83] = https://curl.se/bug/?i=9179 [84] = https://curl.se/bug/?i=9179 [85] = https://curl.se/bug/?i=9179 [86] = https://curl.se/bug/?i=9190 [87] = https://curl.se/bug/?i=9187 [88] = https://curl.se/bug/?i=9184 [89] = https://curl.se/bug/?i=9180 [90] = https://curl.se/bug/?i=9185 [91] = https://curl.se/bug/?i=9183 [92] = https://curl.se/bug/?i=9181 [93] = https://curl.se/bug/?i=9044 [94] = https://curl.se/bug/?i=9235 [95] = https://curl.se/bug/?i=9229 [96] = https://curl.se/bug/?i=8419 [97] = https://curl.se/bug/?i=9230 [98] = https://curl.se/bug/?i=9221 [99] = https://curl.se/bug/?i=9223 [100] = https://curl.se/bug/?i=9286 [101] = https://curl.se/bug/?i=9216 [102] = https://curl.se/bug/?i=9209 [103] = https://curl.se/bug/?i=9208 [104] = https://curl.se/bug/?i=9213 [105] = https://curl.se/bug/?i=9280 [106] = https://curl.se/bug/?i=9281 [107] = https://curl.se/bug/?i=8915 [108] = https://curl.se/bug/?i=9259 [109] = https://curl.se/bug/?i=9303 [110] = https://curl.se/bug/?i=9268 [111] = https://curl.se/bug/?i=9258 [112] = https://curl.se/bug/?i=9279 [113] = https://curl.se/bug/?i=9278 [114] = https://curl.se/bug/?i=9274 [115] = https://curl.se/bug/?i=9269 [116] = https://curl.se/bug/?i=9228 [117] = https://curl.se/bug/?i=9267 [118] = https://curl.se/bug/?i=9266 [119] = https://curl.se/bug/?i=9264 [120] = https://curl.se/bug/?i=9077 [121] = https://curl.se/bug/?i=9239 [122] = https://curl.se/bug/?i=9250 [123] = https://curl.se/bug/?i=9310 [124] = https://curl.se/bug/?i=9310 [125] = https://curl.se/bug/?i=9298 [126] = https://curl.se/bug/?i=9297 [127] = https://curl.se/bug/?i=9192 [128] = https://curl.se/bug/?i=9310 [129] = https://curl.se/bug/?i=9291 [130] = https://curl.se/bug/?i=9291 [131] = https://curl.se/bug/?i=9217 [132] = https://curl.se/bug/?i=9253 [133] = https://curl.se/bug/?i=9265 [134] = https://curl.se/bug/?i=9289 [135] = https://curl.se/bug/?i=9310 [136] = https://curl.se/bug/?i=9335 [137] = https://curl.se/bug/?i=9317 [138] = https://curl.se/bug/?i=9352 [139] = https://curl.se/bug/?i=9023 [140] = https://curl.se/bug/?i=9376 [141] = https://curl.se/bug/?i=9314 [142] = https://curl.se/bug/?i=9290 [143] = https://curl.se/bug/?i=9306 [144] = https://curl.se/bug/?i=9309 [145] = https://curl.se/bug/?i=9344 [146] = https://curl.se/bug/?i=9372 [147] = https://curl.se/bug/?i=9361 [148] = https://curl.se/bug/?i=9328 [149] = https://curl.se/bug/?i=9328 [150] = https://curl.se/bug/?i=9330 [151] = https://curl.se/bug/?i=9329 [152] = https://curl.se/docs/CVE-2022-35252.html [153] = https://curl.se/bug/?i=9364 [154] = https://curl.se/bug/?i=6132 [155] = https://curl.se/bug/?i=9369 [156] = https://curl.se/bug/?i=9367 [157] = https://curl.se/bug/?i=9382 [158] = https://curl.se/bug/?i=9356 [159] = https://curl.se/bug/?i=9354 [160] = https://curl.se/bug/?i=9349 [161] = https://curl.se/bug/?i=9349 [162] = https://curl.se/bug/?i=9331 [163] = https://curl.se/bug/?i=9312 [165] = https://curl.se/bug/?i=9243 [166] = https://curl.se/bug/?i=9248 [167] = https://curl.se/bug/?i=8653 [168] = https://curl.se/bug/?i=9391 |
Changes to jni/curl/acinclude.m4.
︙ | ︙ | |||
380 381 382 383 384 385 386 | yes) AC_DEFINE_UNQUOTED(HAVE_WINLDAP_H, 1, [Define to 1 if you have the winldap.h header file.]) ;; esac ]) | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 380 381 382 383 384 385 386 387 388 389 390 391 392 393 | yes) AC_DEFINE_UNQUOTED(HAVE_WINLDAP_H, 1, [Define to 1 if you have the winldap.h header file.]) ;; esac ]) dnl CURL_CHECK_HEADER_LBER dnl ------------------------------------------------- dnl Check for compilable and valid lber.h header, dnl and check if it is needed even with ldap.h AC_DEFUN([CURL_CHECK_HEADER_LBER], [ |
︙ | ︙ | |||
597 598 599 600 601 602 603 | yes) AC_DEFINE_UNQUOTED(HAVE_LDAP_SSL_H, 1, [Define to 1 if you have the ldap_ssl.h header file.]) ;; esac ]) | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 555 556 557 558 559 560 561 562 563 564 565 566 567 568 | yes) AC_DEFINE_UNQUOTED(HAVE_LDAP_SSL_H, 1, [Define to 1 if you have the ldap_ssl.h header file.]) ;; esac ]) dnl CURL_CHECK_LIBS_WINLDAP dnl ------------------------------------------------- dnl Check for libraries needed for WINLDAP support, dnl and prepended to LIBS any needed libraries. dnl This macro can take an optional parameter with a dnl whitespace separated list of libraries to check |
︙ | ︙ | |||
854 855 856 857 858 859 860 | AC_MSG_RESULT([$curl_cv_ldap_LIBS]) ;; esac # ]) | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 760 761 762 763 764 765 766 767 768 769 770 771 772 773 | AC_MSG_RESULT([$curl_cv_ldap_LIBS]) ;; esac # ]) dnl TYPE_SOCKADDR_STORAGE dnl ------------------------------------------------- dnl Check for struct sockaddr_storage. Most IPv6-enabled dnl hosts have it, but AIX 4.3 is one known exception. AC_DEFUN([TYPE_SOCKADDR_STORAGE], [ |
︙ | ︙ | |||
1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 | dnl will be defined, defining the types of the arguments dnl in RECV_TYPE_ARG1, RECV_TYPE_ARG2, RECV_TYPE_ARG3 dnl and RECV_TYPE_ARG4, defining the type of the function dnl return value in RECV_TYPE_RETV. AC_DEFUN([CURL_CHECK_FUNC_RECV], [ AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl AC_CHECK_HEADERS(sys/types.h sys/socket.h) # AC_MSG_CHECKING([for recv]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ #undef inline #ifdef HAVE_WINDOWS_H #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #endif #include <windows.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #else | > < | < < | 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 | dnl will be defined, defining the types of the arguments dnl in RECV_TYPE_ARG1, RECV_TYPE_ARG2, RECV_TYPE_ARG3 dnl and RECV_TYPE_ARG4, defining the type of the function dnl return value in RECV_TYPE_RETV. AC_DEFUN([CURL_CHECK_FUNC_RECV], [ AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl AC_REQUIRE([CURL_INCLUDES_BSDSOCKET])dnl AC_CHECK_HEADERS(sys/types.h sys/socket.h) # AC_MSG_CHECKING([for recv]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ #undef inline #ifdef HAVE_WINDOWS_H #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #endif #include <windows.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #else $curl_includes_bsdsocket #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif |
︙ | ︙ | |||
1065 1066 1067 1068 1069 1070 1071 | #endif #include <windows.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #define RECVCALLCONV PASCAL #else | < | < < | 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 | #endif #include <windows.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #define RECVCALLCONV PASCAL #else $curl_includes_bsdsocket #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #define RECVCALLCONV |
︙ | ︙ | |||
1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 | dnl in SEND_TYPE_ARG1, SEND_TYPE_ARG2, SEND_TYPE_ARG3 dnl and SEND_TYPE_ARG4, defining the type of the function dnl return value in SEND_TYPE_RETV, and also defining the dnl type qualifier of second argument in SEND_QUAL_ARG2. AC_DEFUN([CURL_CHECK_FUNC_SEND], [ AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl AC_CHECK_HEADERS(sys/types.h sys/socket.h) # AC_MSG_CHECKING([for send]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ #undef inline #ifdef HAVE_WINDOWS_H #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #endif #include <windows.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #else | > < | < < | 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 | dnl in SEND_TYPE_ARG1, SEND_TYPE_ARG2, SEND_TYPE_ARG3 dnl and SEND_TYPE_ARG4, defining the type of the function dnl return value in SEND_TYPE_RETV, and also defining the dnl type qualifier of second argument in SEND_QUAL_ARG2. AC_DEFUN([CURL_CHECK_FUNC_SEND], [ AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl AC_REQUIRE([CURL_INCLUDES_BSDSOCKET])dnl AC_CHECK_HEADERS(sys/types.h sys/socket.h) # AC_MSG_CHECKING([for send]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ #undef inline #ifdef HAVE_WINDOWS_H #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #endif #include <windows.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #else $curl_includes_bsdsocket #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif |
︙ | ︙ | |||
1200 1201 1202 1203 1204 1205 1206 | #endif #include <windows.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #define SENDCALLCONV PASCAL #else | < | < < | 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 | #endif #include <windows.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #define SENDCALLCONV PASCAL #else $curl_includes_bsdsocket #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #define SENDCALLCONV |
︙ | ︙ | |||
1313 1314 1315 1316 1317 1318 1319 | #define WIN32_LEAN_AND_MEAN #endif #include <windows.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #else | < < < < | 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 | #define WIN32_LEAN_AND_MEAN #endif #include <windows.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #else #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif |
︙ | ︙ | |||
1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 | dnl and SELECT_TYPE_ARG5, defining the type of the dnl function return value in SELECT_TYPE_RETV, and dnl also defining the type qualifier of fifth argument dnl in SELECT_QUAL_ARG5. AC_DEFUN([CURL_CHECK_FUNC_SELECT], [ AC_REQUIRE([CURL_CHECK_STRUCT_TIMEVAL])dnl AC_CHECK_HEADERS(sys/select.h sys/socket.h) # AC_MSG_CHECKING([for select]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ #undef inline #ifdef HAVE_WINDOWS_H | > | 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 | dnl and SELECT_TYPE_ARG5, defining the type of the dnl function return value in SELECT_TYPE_RETV, and dnl also defining the type qualifier of fifth argument dnl in SELECT_QUAL_ARG5. AC_DEFUN([CURL_CHECK_FUNC_SELECT], [ AC_REQUIRE([CURL_CHECK_STRUCT_TIMEVAL])dnl AC_REQUIRE([CURL_INCLUDES_BSDSOCKET])dnl AC_CHECK_HEADERS(sys/select.h sys/socket.h) # AC_MSG_CHECKING([for select]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ #undef inline #ifdef HAVE_WINDOWS_H |
︙ | ︙ | |||
1767 1768 1769 1770 1771 1772 1773 | #include <sys/select.h> #elif defined(HAVE_UNISTD_H) #include <unistd.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif | < | < < < | 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 | #include <sys/select.h> #elif defined(HAVE_UNISTD_H) #include <unistd.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif $curl_includes_bsdsocket #endif ]],[[ select(0, 0, 0, 0, 0); ]]) ],[ AC_MSG_RESULT([yes]) curl_cv_select="yes" |
︙ | ︙ | |||
1822 1823 1824 1825 1826 1827 1828 | #include <sys/select.h> #elif defined(HAVE_UNISTD_H) #include <unistd.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif | < | < < < | 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 | #include <sys/select.h> #elif defined(HAVE_UNISTD_H) #include <unistd.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif $curl_includes_bsdsocket #define SELECTCALLCONV #endif #ifndef HAVE_STRUCT_TIMEVAL struct timeval { long tv_sec; long tv_usec; }; |
︙ | ︙ |
Changes to jni/curl/aclocal.m4.
︙ | ︙ | |||
1180 1181 1182 1183 1184 1185 1186 | AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR | < | 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 | AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([m4/curl-amissl.m4]) m4_include([m4/curl-bearssl.m4]) m4_include([m4/curl-compilers.m4]) m4_include([m4/curl-confopts.m4]) m4_include([m4/curl-functions.m4]) m4_include([m4/curl-gnutls.m4]) m4_include([m4/curl-mbedtls.m4]) |
︙ | ︙ |
Changes to jni/curl/configure.
︙ | ︙ | |||
927 928 929 930 931 932 933 934 935 936 937 938 939 940 | NROFF PERL FISH_FUNCTIONS_DIR ZSH_FUNCTIONS_DIR USE_MSH3 USE_QUICHE USE_NGHTTP3 USE_NGTCP2_CRYPTO_GNUTLS USE_NGTCP2_CRYPTO_OPENSSL USE_NGTCP2 USE_NGHTTP2 IDN_ENABLED CURL_PLIST_VERSION CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS_FALSE | > | 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 | NROFF PERL FISH_FUNCTIONS_DIR ZSH_FUNCTIONS_DIR USE_MSH3 USE_QUICHE USE_NGHTTP3 USE_NGTCP2_CRYPTO_WOLFSSL USE_NGTCP2_CRYPTO_GNUTLS USE_NGTCP2_CRYPTO_OPENSSL USE_NGTCP2 USE_NGHTTP2 IDN_ENABLED CURL_PLIST_VERSION CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS_FALSE |
︙ | ︙ | |||
2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 | ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 printf %s "checking for $2... " >&6; } if eval test \${$3+y} then : printf %s "(cached) " >&6 else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO" then : eval "$3=yes" else $as_nop eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi eval ac_res=\$$3 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext |
︙ | ︙ | |||
2367 2368 2369 2370 2371 2372 2373 | # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 | # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 |
︙ | ︙ | |||
2496 2497 2498 2499 2500 2501 2502 | fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run | | | | 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 | fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_type LINENO SIZEOF_LONG_LONG VAR INCLUDES # ------------------------------------------------------- # Tests whether TYPE exists after having included INCLUDES, setting cache # variable VAR accordingly. ac_fn_c_check_type () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 printf %s "checking for $2... " >&6; } |
︙ | ︙ | |||
5581 5582 5583 5584 5585 5586 5587 5588 | CPPFLAGS=$xc_prog_cc_prev_CPPFLAGS | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | | | > | | | | | | > > > > > | 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 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 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 | CPPFLAGS=$xc_prog_cc_prev_CPPFLAGS ac_header= ac_cache= for ac_item in $ac_header_c_list do if test $ac_cache; then ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then printf "%s\n" "#define $ac_item 1" >> confdefs.h fi ac_header= ac_cache= elif test $ac_header; then ac_cache=$ac_item else ac_header=$ac_item fi done if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes then : printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h fi for ac_header in stdatomic.h do : ac_fn_c_check_header_compile "$LINENO" "stdatomic.h" "ac_cv_header_stdatomic_h" "$ac_includes_default" if test "x$ac_cv_header_stdatomic_h" = xyes then : printf "%s\n" "#define HAVE_STDATOMIC_H 1" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if _Atomic is available" >&5 printf %s "checking if _Atomic is available... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_unistd int main (void) { _Atomic int i = 0; i = 4; // Force an atomic-write operation. ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } printf "%s\n" "#define HAVE_ATOMIC 1" >>confdefs.h tst_atomic="yes" else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } tst_atomic="no" fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext fi done { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 printf %s "checking for a sed that does not truncate output... " >&6; } if test ${ac_cv_path_SED+y} then : printf %s "(cached) " >&6 |
︙ | ︙ | |||
6618 6619 6620 6621 6622 6623 6624 | OPT_SECURETRANSPORT=no # Check whether --with-secure-transport was given. if test ${with_secure_transport+y} then : | | > | < < | > | | < | > | | | | | > | > | < < | | > | > | < < | | > | > | < < | | > | > | < < | | > | > | < < | | > | > | < | | < | > | 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 | OPT_SECURETRANSPORT=no # Check whether --with-secure-transport was given. if test ${with_secure_transport+y} then : withval=$with_secure_transport; OPT_SECURETRANSPORT=$withval TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }Secure-Transport" fi OPT_AMISSL=no # Check whether --with-amissl was given. if test ${with_amissl+y} then : withval=$with_amissl; OPT_AMISSL=$withval TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }AmiSSL" fi OPT_OPENSSL=no ca="no" # Check whether --with-ssl was given. if test ${with_ssl+y} then : withval=$with_ssl; OPT_SSL=$withval OPT_OPENSSL=$withval if test X"$withval" != Xno; then TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }OpenSSL" else SSL_DISABLED="D" fi fi # Check whether --with-openssl was given. if test ${with_openssl+y} then : withval=$with_openssl; OPT_OPENSSL=$withval if test X"$withval" != Xno; then TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }OpenSSL" fi fi OPT_GNUTLS=no # Check whether --with-gnutls was given. if test ${with_gnutls+y} then : withval=$with_gnutls; OPT_GNUTLS=$withval if test X"$withval" != Xno; then TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }GnuTLS" fi fi OPT_MBEDTLS=no # Check whether --with-mbedtls was given. if test ${with_mbedtls+y} then : withval=$with_mbedtls; OPT_MBEDTLS=$withval if test X"$withval" != Xno; then TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }mbedTLS" fi fi OPT_WOLFSSL=no # Check whether --with-wolfssl was given. if test ${with_wolfssl+y} then : withval=$with_wolfssl; OPT_WOLFSSL=$withval if test X"$withval" != Xno; then TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }wolfSSL" fi fi OPT_BEARSSL=no # Check whether --with-bearssl was given. if test ${with_bearssl+y} then : withval=$with_bearssl; OPT_BEARSSL=$withval if test X"$withval" != Xno; then TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }BearSSL" fi fi OPT_RUSTLS=no # Check whether --with-rustls was given. if test ${with_rustls+y} then : withval=$with_rustls; OPT_RUSTLS=$withval if test X"$withval" != Xno; then TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }rustls" experimental="$experimental rustls" fi fi OPT_NSS_AWARE=no # Check whether --with-nss-deprecated was given. if test ${with_nss_deprecated+y} then : withval=$with_nss_deprecated; if test X"$withval" != Xno; then |
︙ | ︙ | |||
6762 6763 6764 6765 6766 6767 6768 | withval=$with_nss; OPT_NSS=$withval if test X"$withval" != Xno; then if test X"$OPT_NSS_AWARE" = "Xno" ; then as_fn_error $? "NSS use must be confirmed using --with-nss-deprecated. NSS support will be dropped from curl in August 2022. See docs/DEPRECATE.md" "$LINENO" 5 fi | | < < | 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 | withval=$with_nss; OPT_NSS=$withval if test X"$withval" != Xno; then if test X"$OPT_NSS_AWARE" = "Xno" ; then as_fn_error $? "NSS use must be confirmed using --with-nss-deprecated. NSS support will be dropped from curl in August 2022. See docs/DEPRECATE.md" "$LINENO" 5 fi TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }NSS" fi fi if test -z "$TLSCHOICE"; then if test "x$OPT_SSL" != "xno"; then |
︙ | ︙ | |||
11572 11573 11574 11575 11576 11577 11578 | ;; *) eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" ;; esac } | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 11614 11615 11616 11617 11618 11619 11620 11621 11622 11623 11624 11625 11626 11627 | ;; *) eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" ;; esac } ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default " if test "x$ac_cv_header_dlfcn_h" = xyes then : printf "%s\n" "#define HAVE_DLFCN_H 1" >>confdefs.h fi |
︙ | ︙ | |||
17875 17876 17877 17878 17879 17880 17881 | tmp_CPPFLAGS="$tmp_CPPFLAGS -qnoansialias" tmp_CPPFLAGS="$tmp_CPPFLAGS -qhalt=e" ;; # INTEL_UNIX_C) # tmp_CFLAGS="$tmp_CFLAGS -std=gnu89" | | | | 17888 17889 17890 17891 17892 17893 17894 17895 17896 17897 17898 17899 17900 17901 17902 17903 | tmp_CPPFLAGS="$tmp_CPPFLAGS -qnoansialias" tmp_CPPFLAGS="$tmp_CPPFLAGS -qhalt=e" ;; # INTEL_UNIX_C) # tmp_CFLAGS="$tmp_CFLAGS -std=gnu89" tmp_CPPFLAGS="$tmp_CPPFLAGS -diag-error 140,147,165,266" tmp_CPPFLAGS="$tmp_CPPFLAGS -diag-disable 279,981,1025,1469,2259" ;; # INTEL_WINDOWS_C) # tmp_CFLAGS="$tmp_CFLAGS" ;; # |
︙ | ︙ | |||
20330 20331 20332 20333 20334 20335 20336 20337 20338 20339 20340 20341 20342 20343 | printf "%s\n" "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for windows.h" >&5 printf %s "checking for windows.h... " >&6; } if test ${curl_cv_header_windows_h+y} then : | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 20343 20344 20345 20346 20347 20348 20349 20350 20351 20352 20353 20354 20355 20356 20357 20358 20359 20360 20361 20362 20363 20364 20365 20366 20367 20368 20369 20370 20371 20372 20373 20374 20375 20376 20377 20378 20379 20380 20381 20382 20383 20384 20385 20386 20387 20388 20389 20390 20391 20392 20393 20394 20395 20396 20397 | printf "%s\n" "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac # Detect original MinGW (not MinGW-w64) curl_mingw_original=no case $host in *-*-mingw32*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking using original MinGW (not MinGW-w64)" >&5 printf %s "checking using original MinGW (not MinGW-w64)... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <_mingw.h> int main (void) { #if defined(__MINGW64_VERSION_MAJOR) #error #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : curl_mingw_original=yes { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for windows.h" >&5 printf %s "checking for windows.h... " >&6; } if test ${curl_cv_header_windows_h+y} then : |
︙ | ︙ | |||
20669 20670 20671 20672 20673 20674 20675 | yes) printf "%s\n" "#define HAVE_WINLDAP_H 1" >>confdefs.h ;; esac | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < | 20723 20724 20725 20726 20727 20728 20729 20730 20731 20732 20733 20734 20735 20736 20737 20738 20739 20740 20741 20742 | yes) printf "%s\n" "#define HAVE_WINLDAP_H 1" >>confdefs.h ;; esac ;; *) curl_cv_header_winsock2_h="no" curl_cv_header_ws2tcpip_h="no" curl_cv_header_wincrypt_h="no" curl_cv_header_winldap_h="no" ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build target supports WIN32 file API" >&5 printf %s "checking whether build target supports WIN32 file API... " >&6; } curl_win32_file_api="no" if test "$curl_cv_header_windows_h" = "yes"; then |
︙ | ︙ | |||
22227 22228 22229 22230 22231 22232 22233 22234 22235 22236 22237 22238 22239 22240 22241 22242 | then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gethostbyname for AmigaOS bsdsocket.library" >&5 printf %s "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"); ; | > > > > > | 22219 22220 22221 22222 22223 22224 22225 22226 22227 22228 22229 22230 22231 22232 22233 22234 22235 22236 22237 22238 22239 | then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for gethostbyname for AmigaOS bsdsocket.library" >&5 printf %s "checking for gethostbyname for AmigaOS bsdsocket.library... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define __USE_INLINE__ #include <proto/bsdsocket.h> #ifdef __amigaos4__ struct SocketIFace *ISocket = NULL; #else struct Library *SocketBase = NULL; #endif int main (void) { gethostbyname("www.dummysite.com"); ; |
︙ | ︙ | |||
22441 22442 22443 22444 22445 22446 22447 | ;; esac curl_includes_bsdsocket="\ /* includes start */ | | > > > > > > > > | > > | | 22438 22439 22440 22441 22442 22443 22444 22445 22446 22447 22448 22449 22450 22451 22452 22453 22454 22455 22456 22457 22458 22459 22460 22461 22462 22463 22464 22465 22466 22467 | ;; esac curl_includes_bsdsocket="\ /* includes start */ #if defined(HAVE_PROTO_BSDSOCKET_H) # define __NO_NET_API # define __USE_INLINE__ # include <proto/bsdsocket.h> # ifdef HAVE_SYS_IOCTL_H # include <sys/ioctl.h> # endif # ifdef __amigaos4__ struct SocketIFace *ISocket = NULL; # else struct Library *SocketBase = NULL; # endif # define select(a,b,c,d,e) WaitSelect(a,b,c,d,e,0) #endif /* includes end */" 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 : printf "%s\n" "#define HAVE_PROTO_BSDSOCKET_H 1" >>confdefs.h fi |
︙ | ︙ | |||
23854 23855 23856 23857 23858 23859 23860 | yes) printf "%s\n" "#define HAVE_LDAP_H 1" >>confdefs.h ;; esac | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 23861 23862 23863 23864 23865 23866 23867 23868 23869 23870 23871 23872 23873 23874 | yes) printf "%s\n" "#define HAVE_LDAP_H 1" >>confdefs.h ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ldap_ssl.h" >&5 printf %s "checking for ldap_ssl.h... " >&6; } if test ${curl_cv_header_ldap_ssl_h+y} then : printf %s "(cached) " >&6 else $as_nop |
︙ | ︙ | |||
24265 24266 24267 24268 24269 24270 24271 | if test x$CURL_DISABLE_LDAP != x1 ; then ac_fn_c_check_func "$LINENO" "ldap_url_parse" "ac_cv_func_ldap_url_parse" if test "x$ac_cv_func_ldap_url_parse" = xyes then : printf "%s\n" "#define HAVE_LDAP_URL_PARSE 1" >>confdefs.h | < < < < < < | 24201 24202 24203 24204 24205 24206 24207 24208 24209 24210 24211 24212 24213 24214 | if test x$CURL_DISABLE_LDAP != x1 ; then ac_fn_c_check_func "$LINENO" "ldap_url_parse" "ac_cv_func_ldap_url_parse" if test "x$ac_cv_func_ldap_url_parse" = xyes then : printf "%s\n" "#define HAVE_LDAP_URL_PARSE 1" >>confdefs.h fi if test "$LDAPLIBNAME" = "wldap32"; then curl_ldap_msg="enabled (winldap)" printf "%s\n" "#define USE_WIN32_LDAP 1" >>confdefs.h |
︙ | ︙ | |||
25441 25442 25443 25444 25445 25446 25447 | else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi | | | > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | > > | > | 25371 25372 25373 25374 25375 25376 25377 25378 25379 25380 25381 25382 25383 25384 25385 25386 25387 25388 25389 25390 25391 25392 25393 25394 25395 25396 25397 25398 25399 25400 25401 25402 25403 25404 25405 25406 25407 25408 25409 25410 25411 25412 25413 25414 25415 25416 25417 25418 25419 25420 25421 25422 25423 25424 25425 25426 25427 25428 25429 25430 25431 25432 25433 25434 25435 25436 25437 25438 25439 25440 25441 25442 25443 25444 25445 25446 25447 25448 25449 25450 25451 25452 25453 25454 25455 25456 25457 25458 25459 25460 25461 25462 25463 25464 25465 25466 25467 25468 25469 25470 25471 25472 25473 25474 25475 25476 25477 25478 25479 25480 | else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable Amiga native SSL/TLS (AmiSSL v5)" >&5 printf %s "checking whether to enable Amiga native SSL/TLS (AmiSSL v5)... " >&6; } if test "$HAVE_PROTO_BSDSOCKET_H" = "1"; then if test "x$OPT_AMISSL" != xno; then ssl_msg= cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <libraries/amisslmaster.h> #include <openssl/opensslv.h> int main (void) { #if defined(AMISSL_CURRENT_VERSION) && (AMISSL_CURRENT_VERSION >= AMISSL_V303) && \ defined(OPENSSL_VERSION_MAJOR) && (OPENSSL_VERSION_MAJOR >= 3) && \ defined(PROTO_AMISSL_H) return 0; #else #error not AmiSSL v5 / OpenSSL 3 #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } ssl_msg="AmiSSL" test amissl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes AMISSL_ENABLED=1 OPENSSL_ENABLED=1 # Use AmiSSL's built-in ca bundle check_for_ca_bundle=1 with_ca_fallback=yes LIBS="-lamisslstubs -lamisslauto $LIBS" printf "%s\n" "#define USE_AMISSL 1" >>confdefs.h printf "%s\n" "#define USE_OPENSSL 1" >>confdefs.h printf "%s\n" "#define HAVE_OPENSSL3 1" >>confdefs.h ac_fn_c_check_header_compile "$LINENO" "openssl/x509.h" "ac_cv_header_openssl_x509_h" "$ac_includes_default" if test "x$ac_cv_header_openssl_x509_h" = xyes then : printf "%s\n" "#define HAVE_OPENSSL_X509_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "openssl/rsa.h" "ac_cv_header_openssl_rsa_h" "$ac_includes_default" if test "x$ac_cv_header_openssl_rsa_h" = xyes then : printf "%s\n" "#define HAVE_OPENSSL_RSA_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "openssl/crypto.h" "ac_cv_header_openssl_crypto_h" "$ac_includes_default" if test "x$ac_cv_header_openssl_crypto_h" = xyes then : printf "%s\n" "#define HAVE_OPENSSL_CRYPTO_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "openssl/pem.h" "ac_cv_header_openssl_pem_h" "$ac_includes_default" if test "x$ac_cv_header_openssl_pem_h" = xyes then : printf "%s\n" "#define HAVE_OPENSSL_PEM_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "openssl/ssl.h" "ac_cv_header_openssl_ssl_h" "$ac_includes_default" if test "x$ac_cv_header_openssl_ssl_h" = xyes then : printf "%s\n" "#define HAVE_OPENSSL_SSL_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "openssl/err.h" "ac_cv_header_openssl_err_h" "$ac_includes_default" if test "x$ac_cv_header_openssl_err_h" = xyes then : printf "%s\n" "#define HAVE_OPENSSL_ERR_H 1" >>confdefs.h fi CPPFLAGS="$CPPFLAGS -DOPENSSL_SUPPRESS_DEPRECATED" else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 |
︙ | ︙ | |||
27174 27175 27176 27177 27178 27179 27180 27181 27182 27183 27184 27185 27186 27187 | /* end confdefs.h. */ /* These aren't needed for detection and confuse WolfSSL. They are set up properly later if it is detected. */ #undef SIZEOF_LONG #undef SIZEOF_LONG_LONG #include <wolfssl/ssl.h> int main (void) { return wolfSSL_Init(); | > | 27178 27179 27180 27181 27182 27183 27184 27185 27186 27187 27188 27189 27190 27191 27192 | /* end confdefs.h. */ /* These aren't needed for detection and confuse WolfSSL. They are set up properly later if it is detected. */ #undef SIZEOF_LONG #undef SIZEOF_LONG_LONG #include <wolfssl/options.h> #include <wolfssl/ssl.h> int main (void) { return wolfSSL_Init(); |
︙ | ︙ | |||
27220 27221 27222 27223 27224 27225 27226 | fi if test "x$USE_WOLFSSL" = "xyes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: detected wolfSSL" >&5 printf "%s\n" "$as_me: detected wolfSSL" >&6;} check_for_ca_bundle=1 | > > | < < | < | | > > > > | | > > > > | < | | | | | | | | > > > | > | 27225 27226 27227 27228 27229 27230 27231 27232 27233 27234 27235 27236 27237 27238 27239 27240 27241 27242 27243 27244 27245 27246 27247 27248 27249 27250 27251 27252 27253 27254 27255 27256 27257 27258 27259 27260 27261 27262 27263 27264 27265 27266 27267 27268 27269 27270 27271 27272 27273 27274 27275 27276 27277 27278 27279 27280 27281 27282 27283 27284 27285 | fi if test "x$USE_WOLFSSL" = "xyes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: detected wolfSSL" >&5 printf "%s\n" "$as_me: detected wolfSSL" >&6;} check_for_ca_bundle=1 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5 printf %s "checking size of long long... " >&6; } r=0 for typesize in 8 4 2 16 1; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> int main (void) { switch(0) { case 0: case (sizeof(long long) == $typesize):; } ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : r=$typesize else $as_nop r=0 fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext if test $r -gt 0; then break; fi done if test $r -eq 0; then as_fn_error $? "Failed to find size of long long" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $r" >&5 printf "%s\n" "$r" >&6; } tname=$(echo "ac_cv_sizeof_long long" | tr A-Z a-z | tr " " "_") eval "$tname=$r" printf "%s\n" "#define SIZEOF_LONG_LONG $r" >>confdefs.h LIBS="$addlib -lm $LIBS" ac_fn_c_check_func "$LINENO" "wolfSSL_get_peer_certificate" "ac_cv_func_wolfSSL_get_peer_certificate" if test "x$ac_cv_func_wolfSSL_get_peer_certificate" = xyes |
︙ | ︙ | |||
28075 28076 28077 28078 28079 28080 28081 | if test "x$USE_WIN32_CRYPTO" = "x1" -o "x$USE_SCHANNEL" = "x1"; then LIBS="-ladvapi32 -lcrypt32 $LIBS" fi | > > > > > | < | < | > > > | 28090 28091 28092 28093 28094 28095 28096 28097 28098 28099 28100 28101 28102 28103 28104 28105 28106 28107 28108 28109 28110 28111 28112 28113 28114 28115 28116 28117 28118 28119 28120 28121 28122 28123 28124 | if test "x$USE_WIN32_CRYPTO" = "x1" -o "x$USE_SCHANNEL" = "x1"; then LIBS="-ladvapi32 -lcrypt32 $LIBS" fi if test "x$curl_cv_native_windows" = "xyes" && test "x$curl_mingw_original" = "xno"; then LIBS="-lbcrypt $LIBS" fi case "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED$MBEDTLS_ENABLED$WOLFSSL_ENABLED$SCHANNEL_ENABLED$SECURETRANSPORT_ENABLED$BEARSSL_ENABLED$RUSTLS_ENABLED$SSL_DISABLED" in x) as_fn_error $? "TLS not detected, you will not be able to use HTTPS, FTPS, NTLM and more. Use --with-openssl, --with-gnutls, --with-wolfssl, --with-mbedtls, --with-nss, --with-schannel, --with-secure-transport, --with-amissl, --with-bearssl or --with-rustls to address this." "$LINENO" 5 ;; x1) # one SSL backend is enabled SSL_ENABLED="1" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: built with one SSL backend" >&5 printf "%s\n" "$as_me: built with one SSL backend" >&6;} ;; xD) # explicitly built without TLS ;; *) # more than one SSL backend is enabled SSL_ENABLED="1" CURL_WITH_MULTI_SSL="1" |
︙ | ︙ | |||
31091 31092 31093 31094 31095 31096 31097 31098 31099 31100 31101 31102 31103 31104 | else if test X"$want_tcp2" != Xdefault; then as_fn_error $? "--with-ngtcp2 was specified but could not find ngtcp2_crypto_gnutls pkg-config file." "$LINENO" 5 fi fi fi OPT_NGHTTP3="yes" if test "x$NGTCP2_ENABLED" = "x"; then # without ngtcp2, nghttp3 is of no use for us OPT_NGHTTP3="no" fi | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 31112 31113 31114 31115 31116 31117 31118 31119 31120 31121 31122 31123 31124 31125 31126 31127 31128 31129 31130 31131 31132 31133 31134 31135 31136 31137 31138 31139 31140 31141 31142 31143 31144 31145 31146 31147 31148 31149 31150 31151 31152 31153 31154 31155 31156 31157 31158 31159 31160 31161 31162 31163 31164 31165 31166 31167 31168 31169 31170 31171 31172 31173 31174 31175 31176 31177 31178 31179 31180 31181 31182 31183 31184 31185 31186 31187 31188 31189 31190 31191 31192 31193 31194 31195 31196 31197 31198 31199 31200 31201 31202 31203 31204 31205 31206 31207 31208 31209 31210 31211 31212 31213 31214 31215 31216 31217 31218 31219 31220 31221 31222 31223 31224 31225 31226 31227 31228 31229 31230 31231 31232 31233 31234 31235 31236 31237 31238 31239 31240 31241 31242 31243 31244 31245 31246 31247 31248 31249 31250 31251 31252 31253 31254 31255 31256 31257 31258 31259 31260 31261 31262 31263 31264 31265 31266 31267 31268 31269 31270 31271 31272 31273 31274 31275 31276 31277 31278 31279 31280 31281 31282 31283 31284 31285 31286 31287 31288 31289 31290 31291 31292 31293 31294 31295 31296 31297 31298 31299 31300 31301 31302 31303 31304 31305 31306 31307 31308 31309 31310 31311 31312 31313 31314 31315 31316 31317 31318 31319 31320 31321 31322 31323 31324 31325 31326 31327 31328 31329 31330 31331 31332 31333 31334 31335 31336 31337 31338 31339 31340 31341 31342 31343 31344 31345 31346 31347 31348 31349 31350 31351 31352 31353 31354 31355 31356 31357 31358 31359 31360 31361 31362 31363 31364 31365 31366 31367 31368 31369 31370 31371 31372 31373 31374 31375 31376 31377 31378 | else if test X"$want_tcp2" != Xdefault; then as_fn_error $? "--with-ngtcp2 was specified but could not find ngtcp2_crypto_gnutls pkg-config file." "$LINENO" 5 fi fi fi if test "x$NGTCP2_ENABLED" = "x1" -a "x$WOLFSSL_ENABLED" = "x1"; then CLEANLDFLAGS="$LDFLAGS" CLEANCPPFLAGS="$CPPFLAGS" CLEANLIBS="$LIBS" if test -n "$PKG_CONFIG"; then PKGCONFIG="$PKG_CONFIG" else if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_PKGCONFIG+y} then : printf %s "(cached) " >&6 else $as_nop case $PKGCONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKGCONFIG="$PKGCONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_dummy="$PATH:/usr/bin:/usr/local/bin" for as_dir in $as_dummy do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_path_PKGCONFIG="$as_dir$ac_word$ac_exec_ext" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKGCONFIG=$ac_cv_path_PKGCONFIG if test -n "$PKGCONFIG"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5 printf "%s\n" "$PKGCONFIG" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi fi if test -z "$ac_cv_path_PKGCONFIG"; then ac_pt_PKGCONFIG=$PKGCONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } if test ${ac_cv_path_ac_pt_PKGCONFIG+y} then : printf %s "(cached) " >&6 else $as_nop case $ac_pt_PKGCONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKGCONFIG="$ac_pt_PKGCONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_dummy="$PATH:/usr/bin:/usr/local/bin" for as_dir in $as_dummy do IFS=$as_save_IFS case $as_dir in #((( '') as_dir=./ ;; */) ;; *) as_dir=$as_dir/ ;; esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_PKGCONFIG="$as_dir$ac_word$ac_exec_ext" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKGCONFIG=$ac_cv_path_ac_pt_PKGCONFIG if test -n "$ac_pt_PKGCONFIG"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKGCONFIG" >&5 printf "%s\n" "$ac_pt_PKGCONFIG" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi if test "x$ac_pt_PKGCONFIG" = x; then PKGCONFIG="no" else case $cross_compiling:$ac_tool_warned in yes:) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKGCONFIG=$ac_pt_PKGCONFIG fi else PKGCONFIG="$ac_cv_path_PKGCONFIG" fi fi if test "x$PKGCONFIG" != "xno"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libngtcp2_crypto_wolfssl options with pkg-config" >&5 printf %s "checking for libngtcp2_crypto_wolfssl options with pkg-config... " >&6; } itexists=` if test -n "$want_tcp2_path"; then PKG_CONFIG_LIBDIR="$want_tcp2_path" export PKG_CONFIG_LIBDIR fi $PKGCONFIG --exists libngtcp2_crypto_wolfssl >/dev/null 2>&1 && echo 1` if test -z "$itexists"; then PKGCONFIG="no" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found" >&5 printf "%s\n" "found" >&6; } fi fi if test "$PKGCONFIG" != "no" ; then LIB_NGTCP2_CRYPTO_WOLFSSL=` if test -n "$want_tcp2_path"; then PKG_CONFIG_LIBDIR="$want_tcp2_path" export PKG_CONFIG_LIBDIR fi $PKGCONFIG --libs-only-l libngtcp2_crypto_wolfssl` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: -l is $LIB_NGTCP2_CRYPTO_WOLFSSL" >&5 printf "%s\n" "$as_me: -l is $LIB_NGTCP2_CRYPTO_WOLFSSL" >&6;} CPP_NGTCP2_CRYPTO_WOLFSSL=` if test -n "$want_tcp2_path"; then PKG_CONFIG_LIBDIR="$want_tcp2_path" export PKG_CONFIG_LIBDIR fi $PKGCONFIG --cflags-only-I libngtcp2_crypto_wolfssl` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: -I is $CPP_NGTCP2_CRYPTO_WOLFSSL" >&5 printf "%s\n" "$as_me: -I is $CPP_NGTCP2_CRYPTO_WOLFSSL" >&6;} LD_NGTCP2_CRYPTO_WOLFSSL=` if test -n "$want_tcp2_path"; then PKG_CONFIG_LIBDIR="$want_tcp2_path" export PKG_CONFIG_LIBDIR fi $PKGCONFIG --libs-only-L libngtcp2_crypto_wolfssl` { printf "%s\n" "$as_me:${as_lineno-$LINENO}: -L is $LD_NGTCP2_CRYPTO_WOLFSSL" >&5 printf "%s\n" "$as_me: -L is $LD_NGTCP2_CRYPTO_WOLFSSL" >&6;} LDFLAGS="$LDFLAGS $LD_NGTCP2_CRYPTO_WOLFSSL" CPPFLAGS="$CPPFLAGS $CPP_NGTCP2_CRYPTO_WOLFSSL" LIBS="$LIB_NGTCP2_CRYPTO_WOLFSSL $LIBS" if test "x$cross_compiling" != "xyes"; then DIR_NGTCP2_CRYPTO_WOLFSSL=`echo $LD_NGTCP2_CRYPTO_WOLFSSL | $SED -e 's/^-L//'` fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ngtcp2_crypto_recv_client_initial_cb in -lngtcp2_crypto_wolfssl" >&5 printf %s "checking for ngtcp2_crypto_recv_client_initial_cb in -lngtcp2_crypto_wolfssl... " >&6; } if test ${ac_cv_lib_ngtcp2_crypto_wolfssl_ngtcp2_crypto_recv_client_initial_cb+y} then : printf %s "(cached) " >&6 else $as_nop ac_check_lib_save_LIBS=$LIBS LIBS="-lngtcp2_crypto_wolfssl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __cplusplus extern "C" #endif char ngtcp2_crypto_recv_client_initial_cb (); int main (void) { return ngtcp2_crypto_recv_client_initial_cb (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : ac_cv_lib_ngtcp2_crypto_wolfssl_ngtcp2_crypto_recv_client_initial_cb=yes else $as_nop ac_cv_lib_ngtcp2_crypto_wolfssl_ngtcp2_crypto_recv_client_initial_cb=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ngtcp2_crypto_wolfssl_ngtcp2_crypto_recv_client_initial_cb" >&5 printf "%s\n" "$ac_cv_lib_ngtcp2_crypto_wolfssl_ngtcp2_crypto_recv_client_initial_cb" >&6; } if test "x$ac_cv_lib_ngtcp2_crypto_wolfssl_ngtcp2_crypto_recv_client_initial_cb" = xyes then : for ac_header in ngtcp2/ngtcp2_crypto.h do : ac_fn_c_check_header_compile "$LINENO" "ngtcp2/ngtcp2_crypto.h" "ac_cv_header_ngtcp2_ngtcp2_crypto_h" "$ac_includes_default" if test "x$ac_cv_header_ngtcp2_ngtcp2_crypto_h" = xyes then : printf "%s\n" "#define HAVE_NGTCP2_NGTCP2_CRYPTO_H 1" >>confdefs.h NGTCP2_ENABLED=1 printf "%s\n" "#define USE_NGTCP2_CRYPTO_WOLFSSL 1" >>confdefs.h USE_NGTCP2_CRYPTO_WOLFSSL=1 CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_NGTCP2_CRYPTO_WOLFSSL" export CURL_LIBRARY_PATH { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Added $DIR_NGTCP2_CRYPTO_WOLFSSL to CURL_LIBRARY_PATH" >&5 printf "%s\n" "$as_me: Added $DIR_NGTCP2_CRYPTO_WOLFSSL to CURL_LIBRARY_PATH" >&6;} fi done else $as_nop LDFLAGS=$CLEANLDFLAGS CPPFLAGS=$CLEANCPPFLAGS LIBS=$CLEANLIBS fi else if test X"$want_tcp2" != Xdefault; then as_fn_error $? "--with-ngtcp2 was specified but could not find ngtcp2_crypto_wolfssl pkg-config file." "$LINENO" 5 fi fi fi OPT_NGHTTP3="yes" if test "x$NGTCP2_ENABLED" = "x"; then # without ngtcp2, nghttp3 is of no use for us OPT_NGHTTP3="no" fi |
︙ | ︙ | |||
31979 31980 31981 31982 31983 31984 31985 | ;; *) FISH_FUNCTIONS_DIR="$withval" ;; esac | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 32253 32254 32255 32256 32257 32258 32259 32260 32261 32262 32263 32264 32265 32266 | ;; *) FISH_FUNCTIONS_DIR="$withval" ;; esac ac_fn_c_check_header_compile "$LINENO" "sys/types.h" "ac_cv_header_sys_types_h" " #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_TIME_H #include <sys/time.h> #endif |
︙ | ︙ | |||
32921 32922 32923 32924 32925 32926 32927 | " if test "x$ac_cv_header_fcntl_h" = xyes then : printf "%s\n" "#define HAVE_FCNTL_H 1" >>confdefs.h | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 33020 33021 33022 33023 33024 33025 33026 33027 33028 33029 33030 33031 33032 33033 | " if test "x$ac_cv_header_fcntl_h" = xyes then : printf "%s\n" "#define HAVE_FCNTL_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "io.h" "ac_cv_header_io_h" " #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_TIME_H #include <sys/time.h> |
︙ | ︙ | |||
33839 33840 33841 33842 33843 33844 33845 | ;; esac fi | > > | < < | < | | > > > > | | > > > > | < | | | | | | | | > > > | > > > | < < < < > | | > > > > | | > > > > | < | | | | | | | | > > > | > > > | < < < < > | | > > > > | | > > > > | < | | | | | | | | | < | < < < < < < < < < < < < < < < < < < | < < < < < < < < < < < < < < | < < < < > | | > > > > | | > > > > | < | | | | | | | | > > > | > > > | < < < < > | | > > > > | | > > > > | < | | | | | | | | > > > | > > > | < < | < | | > > > > | | > > > > | < | | | | | | | | > > > | > < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 33906 33907 33908 33909 33910 33911 33912 33913 33914 33915 33916 33917 33918 33919 33920 33921 33922 33923 33924 33925 33926 33927 33928 33929 33930 33931 33932 33933 33934 33935 33936 33937 33938 33939 33940 33941 33942 33943 33944 33945 33946 33947 33948 33949 33950 33951 33952 33953 33954 33955 33956 33957 33958 33959 33960 33961 33962 33963 33964 33965 33966 33967 33968 33969 33970 33971 33972 33973 33974 33975 33976 33977 33978 33979 33980 33981 33982 33983 33984 33985 33986 33987 33988 33989 33990 33991 33992 33993 33994 33995 33996 33997 33998 33999 34000 34001 34002 34003 34004 34005 34006 34007 34008 34009 34010 34011 34012 34013 34014 34015 34016 34017 34018 34019 34020 34021 34022 34023 34024 34025 34026 34027 34028 34029 34030 34031 34032 34033 34034 34035 34036 34037 34038 34039 34040 34041 34042 34043 34044 34045 34046 34047 34048 34049 34050 34051 34052 34053 34054 34055 34056 34057 34058 34059 34060 34061 34062 34063 34064 34065 34066 34067 34068 34069 34070 34071 34072 34073 34074 34075 34076 34077 34078 34079 34080 34081 34082 34083 34084 34085 34086 34087 34088 34089 34090 34091 34092 34093 34094 34095 34096 34097 34098 34099 34100 34101 34102 34103 34104 34105 34106 34107 34108 34109 34110 34111 34112 34113 34114 34115 34116 34117 34118 34119 34120 34121 34122 34123 34124 34125 34126 34127 34128 34129 34130 34131 34132 34133 34134 34135 34136 34137 34138 34139 34140 34141 34142 34143 34144 34145 34146 34147 34148 34149 34150 34151 34152 34153 34154 34155 34156 34157 34158 34159 34160 34161 34162 34163 34164 34165 34166 34167 34168 34169 34170 34171 34172 34173 34174 34175 34176 34177 34178 34179 34180 34181 34182 34183 34184 34185 34186 34187 34188 34189 34190 34191 34192 34193 34194 34195 34196 34197 34198 34199 34200 34201 34202 34203 34204 34205 34206 34207 34208 34209 34210 34211 34212 34213 34214 34215 34216 34217 34218 34219 34220 34221 34222 34223 34224 34225 34226 34227 34228 34229 34230 34231 | ;; esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5 printf %s "checking size of size_t... " >&6; } r=0 for typesize in 8 4 2 16 1; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> int main (void) { switch(0) { case 0: case (sizeof(size_t) == $typesize):; } ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : r=$typesize else $as_nop r=0 fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext if test $r -gt 0; then break; fi done if test $r -eq 0; then as_fn_error $? "Failed to find size of size_t" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $r" >&5 printf "%s\n" "$r" >&6; } tname=$(echo "ac_cv_sizeof_size_t" | tr A-Z a-z | tr " " "_") eval "$tname=$r" printf "%s\n" "#define SIZEOF_SIZE_T $r" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 printf %s "checking size of long... " >&6; } r=0 for typesize in 8 4 2 16 1; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> int main (void) { switch(0) { case 0: case (sizeof(long) == $typesize):; } ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : r=$typesize else $as_nop r=0 fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext if test $r -gt 0; then break; fi done if test $r -eq 0; then as_fn_error $? "Failed to find size of long" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $r" >&5 printf "%s\n" "$r" >&6; } tname=$(echo "ac_cv_sizeof_long" | tr A-Z a-z | tr " " "_") eval "$tname=$r" printf "%s\n" "#define SIZEOF_LONG $r" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 printf %s "checking size of int... " >&6; } r=0 for typesize in 8 4 2 16 1; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> int main (void) { switch(0) { case 0: case (sizeof(int) == $typesize):; } ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : r=$typesize else $as_nop r=0 fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext if test $r -gt 0; then break; fi done if test $r -eq 0; then as_fn_error $? "Failed to find size of int" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $r" >&5 printf "%s\n" "$r" >&6; } tname=$(echo "ac_cv_sizeof_int" | tr A-Z a-z | tr " " "_") eval "$tname=$r" printf "%s\n" "#define SIZEOF_INT $r" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of time_t" >&5 printf %s "checking size of time_t... " >&6; } r=0 for typesize in 8 4 2 16 1; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> int main (void) { switch(0) { case 0: case (sizeof(time_t) == $typesize):; } ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : r=$typesize else $as_nop r=0 fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext if test $r -gt 0; then break; fi done if test $r -eq 0; then as_fn_error $? "Failed to find size of time_t" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $r" >&5 printf "%s\n" "$r" >&6; } tname=$(echo "ac_cv_sizeof_time_t" | tr A-Z a-z | tr " " "_") eval "$tname=$r" printf "%s\n" "#define SIZEOF_TIME_T $r" >>confdefs.h { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5 printf %s "checking size of off_t... " >&6; } r=0 for typesize in 8 4 2 16 1; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> int main (void) { switch(0) { case 0: case (sizeof(off_t) == $typesize):; } ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : r=$typesize else $as_nop r=0 fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext if test $r -gt 0; then break; fi done if test $r -eq 0; then as_fn_error $? "Failed to find size of off_t" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $r" >&5 printf "%s\n" "$r" >&6; } tname=$(echo "ac_cv_sizeof_off_t" | tr A-Z a-z | tr " " "_") eval "$tname=$r" printf "%s\n" "#define SIZEOF_OFF_T $r" >>confdefs.h o=$CPPFLAGS CPPFLAGS="-I$srcdir/include $CPPFLAGS" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of curl_off_t" >&5 printf %s "checking size of curl_off_t... " >&6; } r=0 for typesize in 8 4 2 16 1; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <curl/system.h> int main (void) { switch(0) { case 0: case (sizeof(curl_off_t) == $typesize):; } ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO" then : r=$typesize else $as_nop r=0 fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext if test $r -gt 0; then break; fi done if test $r -eq 0; then as_fn_error $? "Failed to find size of curl_off_t" "$LINENO" 5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $r" >&5 printf "%s\n" "$r" >&6; } tname=$(echo "ac_cv_sizeof_curl_off_t" | tr A-Z a-z | tr " " "_") eval "$tname=$r" printf "%s\n" "#define SIZEOF_CURL_OFF_T $r" >>confdefs.h CPPFLAGS=$o ac_fn_c_check_type "$LINENO" "long long" "ac_cv_type_long_long" "$ac_includes_default" if test "x$ac_cv_type_long_long" = xyes then : printf "%s\n" "#define HAVE_LONGLONG 1" >>confdefs.h longlong="yes" fi # check for ssize_t ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" if test "x$ac_cv_type_ssize_t" = xyes then : else $as_nop |
︙ | ︙ | |||
34564 34565 34566 34567 34568 34569 34570 | printf "%s\n" "#define HAVE_STRUCT_SOCKADDR_STORAGE 1" >>confdefs.h fi | | | 34616 34617 34618 34619 34620 34621 34622 34623 34624 34625 34626 34627 34628 34629 34630 | printf "%s\n" "#define HAVE_STRUCT_SOCKADDR_STORAGE 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/select.h" "ac_cv_header_sys_select_h" "$ac_includes_default" if test "x$ac_cv_header_sys_select_h" = xyes then : printf "%s\n" "#define HAVE_SYS_SELECT_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" if test "x$ac_cv_header_sys_socket_h" = xyes |
︙ | ︙ | |||
34610 34611 34612 34613 34614 34615 34616 | #include <sys/select.h> #elif defined(HAVE_UNISTD_H) #include <unistd.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif | < | < < < | 34662 34663 34664 34665 34666 34667 34668 34669 34670 34671 34672 34673 34674 34675 34676 | #include <sys/select.h> #elif defined(HAVE_UNISTD_H) #include <unistd.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif $curl_includes_bsdsocket #endif int main (void) { select(0, 0, 0, 0, 0); |
︙ | ︙ | |||
34689 34690 34691 34692 34693 34694 34695 | #include <sys/select.h> #elif defined(HAVE_UNISTD_H) #include <unistd.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif | < | < < < | 34737 34738 34739 34740 34741 34742 34743 34744 34745 34746 34747 34748 34749 34750 34751 | #include <sys/select.h> #elif defined(HAVE_UNISTD_H) #include <unistd.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif $curl_includes_bsdsocket #define SELECTCALLCONV #endif #ifndef HAVE_STRUCT_TIMEVAL struct timeval { long tv_sec; long tv_usec; }; |
︙ | ︙ | |||
34809 34810 34811 34812 34813 34814 34815 | curl_cv_func_select="yes" fi fi | | | 34853 34854 34855 34856 34857 34858 34859 34860 34861 34862 34863 34864 34865 34866 34867 | curl_cv_func_select="yes" fi fi ac_fn_c_check_header_compile "$LINENO" "sys/types.h" "ac_cv_header_sys_types_h" "$ac_includes_default" if test "x$ac_cv_header_sys_types_h" = xyes then : printf "%s\n" "#define HAVE_SYS_TYPES_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" if test "x$ac_cv_header_sys_socket_h" = xyes |
︙ | ︙ | |||
34839 34840 34841 34842 34843 34844 34845 | #define WIN32_LEAN_AND_MEAN #endif #include <windows.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #else | < | < < | 34883 34884 34885 34886 34887 34888 34889 34890 34891 34892 34893 34894 34895 34896 34897 | #define WIN32_LEAN_AND_MEAN #endif #include <windows.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #else $curl_includes_bsdsocket #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif |
︙ | ︙ | |||
34908 34909 34910 34911 34912 34913 34914 | #endif #include <windows.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #define RECVCALLCONV PASCAL #else | < | < < | 34949 34950 34951 34952 34953 34954 34955 34956 34957 34958 34959 34960 34961 34962 34963 | #endif #include <windows.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #define RECVCALLCONV PASCAL #else $curl_includes_bsdsocket #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #define RECVCALLCONV |
︙ | ︙ | |||
34990 34991 34992 34993 34994 34995 34996 | curl_cv_func_recv="yes" fi else as_fn_error $? "Unable to link function recv" "$LINENO" 5 fi | | | 35028 35029 35030 35031 35032 35033 35034 35035 35036 35037 35038 35039 35040 35041 35042 | curl_cv_func_recv="yes" fi else as_fn_error $? "Unable to link function recv" "$LINENO" 5 fi ac_fn_c_check_header_compile "$LINENO" "sys/types.h" "ac_cv_header_sys_types_h" "$ac_includes_default" if test "x$ac_cv_header_sys_types_h" = xyes then : printf "%s\n" "#define HAVE_SYS_TYPES_H 1" >>confdefs.h fi ac_fn_c_check_header_compile "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" if test "x$ac_cv_header_sys_socket_h" = xyes |
︙ | ︙ | |||
35020 35021 35022 35023 35024 35025 35026 | #define WIN32_LEAN_AND_MEAN #endif #include <windows.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #else | < | < < | 35058 35059 35060 35061 35062 35063 35064 35065 35066 35067 35068 35069 35070 35071 35072 | #define WIN32_LEAN_AND_MEAN #endif #include <windows.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #else $curl_includes_bsdsocket #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif |
︙ | ︙ | |||
35089 35090 35091 35092 35093 35094 35095 | #endif #include <windows.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #define SENDCALLCONV PASCAL #else | < | < < | 35124 35125 35126 35127 35128 35129 35130 35131 35132 35133 35134 35135 35136 35137 35138 | #endif #include <windows.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #define SENDCALLCONV PASCAL #else $curl_includes_bsdsocket #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #define SENDCALLCONV |
︙ | ︙ | |||
35239 35240 35241 35242 35243 35244 35245 | #define WIN32_LEAN_AND_MEAN #endif #include <windows.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #else | < < < < | 35271 35272 35273 35274 35275 35276 35277 35278 35279 35280 35281 35282 35283 35284 | #define WIN32_LEAN_AND_MEAN #endif #include <windows.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #endif #else #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif #endif |
︙ | ︙ | |||
35717 35718 35719 35720 35721 35722 35723 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if closesocket can be linked" >&5 printf %s "checking if closesocket can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 | < | 35745 35746 35747 35748 35749 35750 35751 35752 35753 35754 35755 35756 35757 35758 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if closesocket can be linked" >&5 printf %s "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; |
︙ | ︙ | |||
35755 35756 35757 35758 35759 35760 35761 | if test "$tst_links_closesocket" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if closesocket is prototyped" >&5 printf %s "checking if closesocket is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 | < | 35782 35783 35784 35785 35786 35787 35788 35789 35790 35791 35792 35793 35794 35795 | if test "$tst_links_closesocket" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if closesocket is prototyped" >&5 printf %s "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 : |
︙ | ︙ | |||
35786 35787 35788 35789 35790 35791 35792 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if closesocket is compilable" >&5 printf %s "checking if closesocket is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 | < | 35812 35813 35814 35815 35816 35817 35818 35819 35820 35821 35822 35823 35824 35825 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if closesocket is compilable" >&5 printf %s "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; |
︙ | ︙ | |||
35876 35877 35878 35879 35880 35881 35882 | then : printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h fi | | > | 35901 35902 35903 35904 35905 35906 35907 35908 35909 35910 35911 35912 35913 35914 35915 35916 35917 35918 35919 35920 35921 35922 35923 35924 35925 35926 35927 | then : printf "%s\n" "#define HAVE_SYS_SOCKET_H 1" >>confdefs.h fi # tst_links_closesocket_camel="unknown" tst_proto_closesocket_camel="unknown" tst_compi_closesocket_camel="unknown" tst_allow_closesocket_camel="unknown" # { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if CloseSocket can be linked" >&5 printf %s "checking if CloseSocket can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_bsdsocket $curl_includes_sys_socket int main (void) { if(0 != CloseSocket(0)) return 1; |
︙ | ︙ | |||
35924 35925 35926 35927 35928 35929 35930 35931 35932 35933 35934 35935 35936 35937 | # if test "$tst_links_closesocket_camel" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if CloseSocket is prototyped" >&5 printf %s "checking if CloseSocket is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_sys_socket _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "CloseSocket" >/dev/null 2>&1 then : | > | 35950 35951 35952 35953 35954 35955 35956 35957 35958 35959 35960 35961 35962 35963 35964 | # if test "$tst_links_closesocket_camel" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if CloseSocket is prototyped" >&5 printf %s "checking if CloseSocket is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_bsdsocket $curl_includes_sys_socket _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "CloseSocket" >/dev/null 2>&1 then : |
︙ | ︙ | |||
35953 35954 35955 35956 35957 35958 35959 35960 35961 35962 35963 35964 35965 35966 | if test "$tst_proto_closesocket_camel" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if CloseSocket is compilable" >&5 printf %s "checking if CloseSocket is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_sys_socket int main (void) { if(0 != CloseSocket(0)) return 1; | > | 35980 35981 35982 35983 35984 35985 35986 35987 35988 35989 35990 35991 35992 35993 35994 | if test "$tst_proto_closesocket_camel" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if CloseSocket is compilable" >&5 printf %s "checking if CloseSocket is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_bsdsocket $curl_includes_sys_socket int main (void) { if(0 != CloseSocket(0)) return 1; |
︙ | ︙ | |||
36016 36017 36018 36019 36020 36021 36022 | else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } curl_cv_func_closesocket_camel="no" fi | | | 36044 36045 36046 36047 36048 36049 36050 36051 36052 36053 36054 36055 36056 36057 36058 | else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } curl_cv_func_closesocket_camel="no" fi # tst_links_connect="unknown" tst_proto_connect="unknown" tst_compi_connect="unknown" tst_allow_connect="unknown" # { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if connect can be linked" >&5 printf %s "checking if connect can be linked... " >&6; } |
︙ | ︙ | |||
36100 36101 36102 36103 36104 36105 36106 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if connect is compilable" >&5 printf %s "checking if connect is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 | | | 36128 36129 36130 36131 36132 36133 36134 36135 36136 36137 36138 36139 36140 36141 36142 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if connect is compilable" >&5 printf %s "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)) |
︙ | ︙ | |||
37746 37747 37748 37749 37750 37751 37752 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gethostbyname is compilable" >&5 printf %s "checking if gethostbyname is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 | | | 37774 37775 37776 37777 37778 37779 37780 37781 37782 37783 37784 37785 37786 37787 37788 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gethostbyname is compilable" >&5 printf %s "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; |
︙ | ︙ | |||
37900 37901 37902 37903 37904 37905 37906 37907 37908 37909 37910 37911 37912 37913 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gethostbyname_r takes 3 args." >&5 printf %s "checking if gethostbyname_r takes 3 args.... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_netdb int main (void) { if(0 != gethostbyname_r(0, 0, 0)) return 1; | > | 37928 37929 37930 37931 37932 37933 37934 37935 37936 37937 37938 37939 37940 37941 37942 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gethostbyname_r takes 3 args." >&5 printf %s "checking if gethostbyname_r takes 3 args.... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_netdb $curl_includes_bsdsocket int main (void) { if(0 != gethostbyname_r(0, 0, 0)) return 1; |
︙ | ︙ | |||
37937 37938 37939 37940 37941 37942 37943 37944 37945 37946 37947 37948 37949 37950 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gethostbyname_r takes 5 args." >&5 printf %s "checking if gethostbyname_r takes 5 args.... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_netdb int main (void) { if(0 != gethostbyname_r(0, 0, 0, 0, 0)) return 1; | > | 37966 37967 37968 37969 37970 37971 37972 37973 37974 37975 37976 37977 37978 37979 37980 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gethostbyname_r takes 5 args." >&5 printf %s "checking if gethostbyname_r takes 5 args.... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_netdb $curl_includes_bsdsocket int main (void) { if(0 != gethostbyname_r(0, 0, 0, 0, 0)) return 1; |
︙ | ︙ | |||
37974 37975 37976 37977 37978 37979 37980 37981 37982 37983 37984 37985 37986 37987 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gethostbyname_r takes 6 args." >&5 printf %s "checking if gethostbyname_r takes 6 args.... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_netdb int main (void) { if(0 != gethostbyname_r(0, 0, 0, 0, 0, 0)) return 1; | > | 38004 38005 38006 38007 38008 38009 38010 38011 38012 38013 38014 38015 38016 38017 38018 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gethostbyname_r takes 6 args." >&5 printf %s "checking if gethostbyname_r takes 6 args.... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_netdb $curl_includes_bsdsocket int main (void) { if(0 != gethostbyname_r(0, 0, 0, 0, 0, 0)) return 1; |
︙ | ︙ | |||
38085 38086 38087 38088 38089 38090 38091 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gethostname can be linked" >&5 printf %s "checking if gethostname can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 | | | | 38116 38117 38118 38119 38120 38121 38122 38123 38124 38125 38126 38127 38128 38129 38130 38131 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gethostname can be linked" >&5 printf %s "checking if gethostname can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_unistd $curl_includes_bsdsocket int main (void) { if(0 != gethostname(0, 0)) return 1; |
︙ | ︙ | |||
38123 38124 38125 38126 38127 38128 38129 | if test "$tst_links_gethostname" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gethostname is prototyped" >&5 printf %s "checking if gethostname is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 | | | | 38154 38155 38156 38157 38158 38159 38160 38161 38162 38163 38164 38165 38166 38167 38168 38169 | if test "$tst_links_gethostname" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gethostname is prototyped" >&5 printf %s "checking if gethostname is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_unistd $curl_includes_bsdsocket _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "gethostname" >/dev/null 2>&1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
︙ | ︙ | |||
38154 38155 38156 38157 38158 38159 38160 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gethostname is compilable" >&5 printf %s "checking if gethostname is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 | | | | 38185 38186 38187 38188 38189 38190 38191 38192 38193 38194 38195 38196 38197 38198 38199 38200 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gethostname is compilable" >&5 printf %s "checking if gethostname is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 $curl_includes_unistd $curl_includes_bsdsocket int main (void) { if(0 != gethostname(0, 0)) return 1; |
︙ | ︙ | |||
38197 38198 38199 38200 38201 38202 38203 | 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 | | | | 38228 38229 38230 38231 38232 38233 38234 38235 38236 38237 38238 38239 38240 38241 38242 38243 | 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_includes_bsdsocket $curl_preprocess_callconv extern int FUNCALLCONV gethostname($tst_arg1, $tst_arg2); int main (void) { if(0 != gethostname(0, 0)) |
︙ | ︙ | |||
40053 40054 40055 40056 40057 40058 40059 | curl_cv_func_inet_pton="yes" else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } curl_cv_func_inet_pton="no" fi | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 40084 40085 40086 40087 40088 40089 40090 40091 40092 40093 40094 40095 40096 40097 40098 40099 40100 40101 40102 40103 40104 40105 40106 40107 40108 40109 40110 40111 | curl_cv_func_inet_pton="yes" else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } curl_cv_func_inet_pton="no" fi # tst_links_ioctlsocket="unknown" tst_proto_ioctlsocket="unknown" tst_compi_ioctlsocket="unknown" tst_allow_ioctlsocket="unknown" # { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ioctlsocket can be linked" >&5 printf %s "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; |
︙ | ︙ | |||
40457 40458 40459 40460 40461 40462 40463 | if test "$tst_links_ioctlsocket" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ioctlsocket is prototyped" >&5 printf %s "checking if ioctlsocket is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 | < | 40134 40135 40136 40137 40138 40139 40140 40141 40142 40143 40144 40145 40146 40147 | if test "$tst_links_ioctlsocket" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ioctlsocket is prototyped" >&5 printf %s "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 : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
︙ | ︙ | |||
40487 40488 40489 40490 40491 40492 40493 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ioctlsocket is compilable" >&5 printf %s "checking if ioctlsocket is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 | < | 40163 40164 40165 40166 40167 40168 40169 40170 40171 40172 40173 40174 40175 40176 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ioctlsocket is compilable" >&5 printf %s "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; |
︙ | ︙ | |||
40556 40557 40558 40559 40560 40561 40562 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ioctlsocket FIONBIO is compilable" >&5 printf %s "checking if ioctlsocket FIONBIO is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 | < | 40231 40232 40233 40234 40235 40236 40237 40238 40239 40240 40241 40242 40243 40244 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if ioctlsocket FIONBIO is compilable" >&5 printf %s "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; |
︙ | ︙ | |||
40636 40637 40638 40639 40640 40641 40642 | # { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if IoctlSocket can be linked" >&5 printf %s "checking if IoctlSocket can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ | < < | < < < < < < < < < < < > | > | 40310 40311 40312 40313 40314 40315 40316 40317 40318 40319 40320 40321 40322 40323 40324 40325 40326 40327 40328 40329 40330 | # { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if IoctlSocket can be linked" >&5 printf %s "checking if IoctlSocket can be linked... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_bsdsocket int main (void) { IoctlSocket(0, 0, 0); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : |
︙ | ︙ | |||
40682 40683 40684 40685 40686 40687 40688 | # if test "$tst_links_ioctlsocket_camel" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if IoctlSocket is prototyped" >&5 printf %s "checking if IoctlSocket is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ | | | 40345 40346 40347 40348 40349 40350 40351 40352 40353 40354 40355 40356 40357 40358 40359 | # if test "$tst_links_ioctlsocket_camel" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if IoctlSocket is prototyped" >&5 printf %s "checking if IoctlSocket is prototyped... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_bsdsocket _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "IoctlSocket" >/dev/null 2>&1 then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 |
︙ | ︙ | |||
40711 40712 40713 40714 40715 40716 40717 | if test "$tst_proto_ioctlsocket_camel" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if IoctlSocket is compilable" >&5 printf %s "checking if IoctlSocket is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ | | | 40374 40375 40376 40377 40378 40379 40380 40381 40382 40383 40384 40385 40386 40387 40388 | if test "$tst_proto_ioctlsocket_camel" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if IoctlSocket is compilable" >&5 printf %s "checking if IoctlSocket is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_bsdsocket int main (void) { if(0 != IoctlSocket(0, 0, 0)) return 1; |
︙ | ︙ | |||
40768 40769 40770 40771 40772 40773 40774 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } printf "%s\n" "#define HAVE_IOCTLSOCKET_CAMEL 1" >>confdefs.h curl_cv_func_ioctlsocket_camel="yes" | | | | 40431 40432 40433 40434 40435 40436 40437 40438 40439 40440 40441 40442 40443 40444 40445 40446 40447 40448 40449 40450 40451 40452 40453 40454 40455 40456 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } printf "%s\n" "#define HAVE_IOCTLSOCKET_CAMEL 1" >>confdefs.h curl_cv_func_ioctlsocket_camel="yes" # tst_compi_ioctlsocket_camel_fionbio="unknown" tst_allow_ioctlsocket_camel_fionbio="unknown" # if test "$curl_cv_func_ioctlsocket_camel" = "yes"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if IoctlSocket FIONBIO is compilable" >&5 printf %s "checking if IoctlSocket FIONBIO is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_bsdsocket int main (void) { long flags = 0; if(0 != IoctlSocket(0, FIONBIO, &flags)) return 1; |
︙ | ︙ | |||
40846 40847 40848 40849 40850 40851 40852 | else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } curl_cv_func_ioctlsocket_camel="no" fi | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 40509 40510 40511 40512 40513 40514 40515 40516 40517 40518 40519 40520 40521 40522 | else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } curl_cv_func_ioctlsocket_camel="no" fi # tst_links_memrchr="unknown" tst_macro_memrchr="unknown" tst_proto_memrchr="unknown" tst_compi_memrchr="unknown" tst_allow_memrchr="unknown" |
︙ | ︙ | |||
41577 41578 41579 41580 41581 41582 41583 | if test "$tst_links_poll" = "yes" && test "$tst_proto_poll" = "yes" && test "$tst_compi_poll" = "yes" && test "$tst_allow_poll" = "yes" && test "$tst_works_poll" != "no"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 40975 40976 40977 40978 40979 40980 40981 40982 40983 40984 40985 40986 40987 40988 40989 40990 40991 40992 40993 40994 40995 40996 40997 40998 | if test "$tst_links_poll" = "yes" && test "$tst_proto_poll" = "yes" && test "$tst_compi_poll" = "yes" && test "$tst_allow_poll" = "yes" && test "$tst_works_poll" != "no"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } printf "%s\n" "#define HAVE_POLL_FINE 1" >>confdefs.h curl_cv_func_poll="yes" else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } curl_cv_func_poll="no" fi curl_includes_signal="\ /* includes start */ #ifdef HAVE_SYS_TYPES_H # include <sys/types.h> #endif #ifdef HAVE_SIGNAL_H |
︙ | ︙ | |||
42589 42590 42591 42592 42593 42594 42595 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if socket is compilable" >&5 printf %s "checking if socket is compilable... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $curl_includes_winsock2 | | | 41764 41765 41766 41767 41768 41769 41770 41771 41772 41773 41774 41775 41776 41777 41778 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if socket is compilable" >&5 printf %s "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)) |
︙ | ︙ | |||
43756 43757 43758 43759 43760 43761 43762 | if test "$tst_glibc_strerror_r" = "yes"; then printf "%s\n" "#define HAVE_STRERROR_R 1" >>confdefs.h printf "%s\n" "#define HAVE_GLIBC_STRERROR_R 1" >>confdefs.h | < < < < < < | 42931 42932 42933 42934 42935 42936 42937 42938 42939 42940 42941 42942 42943 42944 42945 42946 42947 42948 42949 42950 42951 42952 | if test "$tst_glibc_strerror_r" = "yes"; then printf "%s\n" "#define HAVE_STRERROR_R 1" >>confdefs.h printf "%s\n" "#define HAVE_GLIBC_STRERROR_R 1" >>confdefs.h fi if test "$tst_posix_strerror_r" = "yes"; then printf "%s\n" "#define HAVE_STRERROR_R 1" >>confdefs.h printf "%s\n" "#define HAVE_POSIX_STRERROR_R 1" >>confdefs.h fi curl_cv_func_strerror_r="yes" else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } curl_cv_func_strerror_r="no" fi |
︙ | ︙ | |||
43935 43936 43937 43938 43939 43940 43941 | curl_cv_func_stricmp="yes" else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } curl_cv_func_stricmp="no" fi | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 43104 43105 43106 43107 43108 43109 43110 43111 43112 43113 43114 43115 43116 43117 | curl_cv_func_stricmp="yes" else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } curl_cv_func_stricmp="no" fi # tst_links_strtok_r="unknown" tst_proto_strtok_r="unknown" tst_compi_strtok_r="unknown" tst_allow_strtok_r="unknown" # |
︙ | ︙ | |||
44685 44686 44687 44688 44689 44690 44691 | curl_cv_func_strtoll="yes" else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } curl_cv_func_strtoll="no" fi | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 43404 43405 43406 43407 43408 43409 43410 43411 43412 43413 43414 43415 43416 43417 | curl_cv_func_strtoll="yes" else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } curl_cv_func_strtoll="no" fi case $host in *msdosdjgpp) ac_cv_func_pipe=no skipcheck_pipe=yes { printf "%s\n" "$as_me:${as_lineno-$LINENO}: skip check for pipe on msdosdjgpp" >&5 printf "%s\n" "$as_me: skip check for pipe on msdosdjgpp" >&6;} |
︙ | ︙ | |||
44971 44972 44973 44974 44975 44976 44977 | printf "%s\n" "#define HAVE_DECL_GETPWUID_R_MISSING 1" >>confdefs.h fi | | | 43514 43515 43516 43517 43518 43519 43520 43521 43522 43523 43524 43525 43526 43527 43528 | printf "%s\n" "#define HAVE_DECL_GETPWUID_R_MISSING 1" >>confdefs.h fi for ac_func in fnmatch fchmod geteuid getpass_r getppid getpwuid getpwuid_r getrlimit gettimeofday if_nametoindex mach_absolute_time pipe sched_yield sendmsg setlocale setmode setrlimit utime utimes do : as_ac_var=`printf "%s\n" "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 #define `printf "%s\n" "HAVE_$ac_func" | $as_tr_cpp` 1 |
︙ | ︙ | |||
45031 45032 45033 45034 45035 45036 45037 | fi fi done | | | 43574 43575 43576 43577 43578 43579 43580 43581 43582 43583 43584 43585 43586 43587 43588 | fi fi done # tst_method="unknown" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to set a socket into non-blocking mode" >&5 printf %s "checking how to set a socket into non-blocking mode... " >&6; } if test "x$curl_cv_func_fcntl_o_nonblock" = "xyes"; then tst_method="fcntl O_NONBLOCK" elif test "x$curl_cv_func_ioctl_fionbio" = "xyes"; then |
︙ | ︙ | |||
45713 45714 45715 45716 45717 45718 45719 45720 45721 45722 45723 45724 45725 45726 45727 45728 45729 45730 45731 45732 | ;; *) ;; esac if test "$USE_THREADS_POSIX" != "1" then case $host in *-ibm-aix*) COMPILER_VERSION=`"$CC" -qversion 2>/dev/null` if test x"$COMPILER_VERSION" = "x"; then CFLAGS="$CFLAGS -pthread" else CFLAGS="$CFLAGS -qthreaded" fi ;; *) CFLAGS="$CFLAGS -pthread" ;; esac | > > > > > > < < | 44256 44257 44258 44259 44260 44261 44262 44263 44264 44265 44266 44267 44268 44269 44270 44271 44272 44273 44274 44275 44276 44277 44278 44279 44280 44281 44282 44283 44284 44285 44286 44287 44288 | ;; *) ;; esac if test "$USE_THREADS_POSIX" != "1" then # assign PTHREAD for pkg-config use PTHREAD=" -pthread" case $host in *-ibm-aix*) COMPILER_VERSION=`"$CC" -qversion 2>/dev/null` if test x"$COMPILER_VERSION" = "x"; then CFLAGS="$CFLAGS -pthread" else CFLAGS="$CFLAGS -qthreaded" fi ;; powerpc-*amigaos*) PTHREAD=" -lpthread" ;; *) CFLAGS="$CFLAGS -pthread" ;; esac { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5 printf %s "checking for pthread_create in -lpthread... " >&6; } if test ${ac_cv_lib_pthread_pthread_create+y} then : printf %s "(cached) " >&6 else $as_nop ac_check_lib_save_LIBS=$LIBS |
︙ | ︙ | |||
46363 46364 46365 46366 46367 46368 46369 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to support headers-api" >&5 printf %s "checking whether to support headers-api... " >&6; } # Check whether --enable-headers-api was given. if test ${enable_headers_api+y} then : enableval=$enable_headers_api; case "$enableval" in | < < < < > > > > | 44910 44911 44912 44913 44914 44915 44916 44917 44918 44919 44920 44921 44922 44923 44924 44925 44926 44927 44928 44929 44930 44931 44932 44933 44934 | { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to support headers-api" >&5 printf %s "checking whether to support headers-api... " >&6; } # Check whether --enable-headers-api was given. if test ${enable_headers_api+y} then : enableval=$enable_headers_api; case "$enableval" in no) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } curl_headers_msg="no (--enable-headers-api)" printf "%s\n" "#define CURL_DISABLE_HEADERS_API 1" >>confdefs.h ;; *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } ;; esac else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } fi |
︙ | ︙ |
Changes to jni/curl/configure.ac.
︙ | ︙ | |||
192 193 194 195 196 197 198 | AC_ARG_WITH(schannel,dnl AS_HELP_STRING([--with-schannel],[enable Windows native SSL/TLS]), OPT_SCHANNEL=$withval TLSCHOICE="schannel") OPT_SECURETRANSPORT=no AC_ARG_WITH(secure-transport,dnl | | | < > | | > | | > > > | | > | | > | | > | | > | | > | | > | | 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 | AC_ARG_WITH(schannel,dnl AS_HELP_STRING([--with-schannel],[enable Windows native SSL/TLS]), OPT_SCHANNEL=$withval TLSCHOICE="schannel") OPT_SECURETRANSPORT=no AC_ARG_WITH(secure-transport,dnl AS_HELP_STRING([--with-secure-transport],[enable Apple OS native SSL/TLS]),[ OPT_SECURETRANSPORT=$withval TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }Secure-Transport" ]) OPT_AMISSL=no AC_ARG_WITH(amissl,dnl AS_HELP_STRING([--with-amissl],[enable Amiga native SSL/TLS (AmiSSL)]),[ OPT_AMISSL=$withval TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }AmiSSL" ]) OPT_OPENSSL=no dnl Default to no CA bundle ca="no" AC_ARG_WITH(ssl,dnl AS_HELP_STRING([--with-ssl=PATH],[old version of --with-openssl]) AS_HELP_STRING([--without-ssl], [build without any TLS library]),[ OPT_SSL=$withval OPT_OPENSSL=$withval if test X"$withval" != Xno; then TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }OpenSSL" else SSL_DISABLED="D" fi ]) AC_ARG_WITH(openssl,dnl AS_HELP_STRING([--with-openssl=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]),[ OPT_OPENSSL=$withval if test X"$withval" != Xno; then TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }OpenSSL" fi ]) OPT_GNUTLS=no AC_ARG_WITH(gnutls,dnl AS_HELP_STRING([--with-gnutls=PATH],[where to look for GnuTLS, PATH points to the installation root]),[ OPT_GNUTLS=$withval if test X"$withval" != Xno; then TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }GnuTLS" fi ]) OPT_MBEDTLS=no AC_ARG_WITH(mbedtls,dnl AS_HELP_STRING([--with-mbedtls=PATH],[where to look for mbedTLS, PATH points to the installation root]),[ OPT_MBEDTLS=$withval if test X"$withval" != Xno; then TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }mbedTLS" fi ]) OPT_WOLFSSL=no AC_ARG_WITH(wolfssl,dnl AS_HELP_STRING([--with-wolfssl=PATH],[where to look for WolfSSL, PATH points to the installation root (default: system lib default)]),[ OPT_WOLFSSL=$withval if test X"$withval" != Xno; then TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }wolfSSL" fi ]) OPT_BEARSSL=no AC_ARG_WITH(bearssl,dnl AS_HELP_STRING([--with-bearssl=PATH],[where to look for BearSSL, PATH points to the installation root]),[ OPT_BEARSSL=$withval if test X"$withval" != Xno; then TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }BearSSL" fi ]) OPT_RUSTLS=no AC_ARG_WITH(rustls,dnl AS_HELP_STRING([--with-rustls=PATH],[where to look for rustls, PATH points to the installation root]),[ OPT_RUSTLS=$withval if test X"$withval" != Xno; then TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }rustls" experimental="$experimental rustls" fi ]) OPT_NSS_AWARE=no AC_ARG_WITH(nss-deprecated,dnl AS_HELP_STRING([--with-nss-deprecated],[confirm you realize NSS is going away]), if test X"$withval" != Xno; then OPT_NSS_AWARE=$withval fi ) OPT_NSS=no AC_ARG_WITH(nss,dnl AS_HELP_STRING([--with-nss=PATH],[where to look for NSS, PATH points to the installation root]), OPT_NSS=$withval if test X"$withval" != Xno; then if test X"$OPT_NSS_AWARE" = "Xno" ; then AC_MSG_ERROR([NSS use must be confirmed using --with-nss-deprecated. NSS support will be dropped from curl in August 2022. See docs/DEPRECATE.md]) fi [TLSCHOICE="${TLSCHOICE:+$TLSCHOICE, }NSS"] fi ) dnl If no TLS choice has been made, check if it was explicitly disabled or dnl error out to force the user to decide. if test -z "$TLSCHOICE"; then if test "x$OPT_SSL" != "xno"; then |
︙ | ︙ | |||
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 | CPPFLAGS="$CPPFLAGS -DWINVER=0x501" AC_MSG_RESULT([yes]) ],[ AC_MSG_RESULT([no]) ]) ;; esac dnl ********************************************************************** dnl Compilation based checks should not be done before this point. dnl ********************************************************************** dnl ********************************************************************** dnl Make sure that our checks for headers windows.h winsock2.h dnl and ws2tcpip.h take precedence over any other further checks which dnl could be done later using AC_CHECK_HEADER or AC_CHECK_HEADERS for dnl this specific header files. And do them before its results are used. dnl ********************************************************************** CURL_CHECK_HEADER_WINDOWS CURL_CHECK_NATIVE_WINDOWS case X-"$curl_cv_native_windows" in X-yes) CURL_CHECK_HEADER_WINSOCK2 CURL_CHECK_HEADER_WS2TCPIP CURL_CHECK_HEADER_WINCRYPT CURL_CHECK_HEADER_WINLDAP | > > > > > > > > > > > > > > > > > > > > > > < < | 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 | CPPFLAGS="$CPPFLAGS -DWINVER=0x501" AC_MSG_RESULT([yes]) ],[ AC_MSG_RESULT([no]) ]) ;; esac # Detect original MinGW (not MinGW-w64) curl_mingw_original=no case $host in *-*-mingw32*) AC_MSG_CHECKING([using original MinGW (not MinGW-w64)]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ #include <_mingw.h> ]],[[ #if defined(__MINGW64_VERSION_MAJOR) #error #endif ]]) ],[ curl_mingw_original=yes AC_MSG_RESULT([yes]) ],[ AC_MSG_RESULT([no]) ]) ;; esac dnl ********************************************************************** dnl Compilation based checks should not be done before this point. dnl ********************************************************************** dnl ********************************************************************** dnl Make sure that our checks for headers windows.h winsock2.h dnl and ws2tcpip.h take precedence over any other further checks which dnl could be done later using AC_CHECK_HEADER or AC_CHECK_HEADERS for dnl this specific header files. And do them before its results are used. dnl ********************************************************************** CURL_CHECK_HEADER_WINDOWS CURL_CHECK_NATIVE_WINDOWS case X-"$curl_cv_native_windows" in X-yes) CURL_CHECK_HEADER_WINSOCK2 CURL_CHECK_HEADER_WS2TCPIP CURL_CHECK_HEADER_WINCRYPT CURL_CHECK_HEADER_WINLDAP ;; *) curl_cv_header_winsock2_h="no" curl_cv_header_ws2tcpip_h="no" curl_cv_header_wincrypt_h="no" curl_cv_header_winldap_h="no" ;; esac CURL_CHECK_WIN32_LARGEFILE CURL_CHECK_WIN32_CRYPTO CURL_DARWIN_CFLAGS CURL_DARWIN_SYSTEMCONFIGURATION |
︙ | ︙ | |||
1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 | if test "$HAVE_GETHOSTBYNAME" != "1" -o "${with_amissl+set}" = set 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" | > > > > > | 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 | if test "$HAVE_GETHOSTBYNAME" != "1" -o "${with_amissl+set}" = set 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([[ #define __USE_INLINE__ #include <proto/bsdsocket.h> #ifdef __amigaos4__ struct SocketIFace *ISocket = NULL; #else struct Library *SocketBase = NULL; #endif ]],[[ gethostbyname("www.dummysite.com"); ]]) ],[ AC_MSG_RESULT([yes]) HAVE_GETHOSTBYNAME="1" HAVE_PROTO_BSDSOCKET_H="1" |
︙ | ︙ | |||
1476 1477 1478 1479 1480 1481 1482 | AS_HELP_STRING([--with-lber-lib=libname],[Specify name of lber lib file]), [LBERLIBNAME="$withval"]) if test x$CURL_DISABLE_LDAP != x1 ; then CURL_CHECK_HEADER_LBER CURL_CHECK_HEADER_LDAP | < | 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 | AS_HELP_STRING([--with-lber-lib=libname],[Specify name of lber lib file]), [LBERLIBNAME="$withval"]) if test x$CURL_DISABLE_LDAP != x1 ; then CURL_CHECK_HEADER_LBER CURL_CHECK_HEADER_LDAP CURL_CHECK_HEADER_LDAP_SSL if test -z "$LDAPLIBNAME" ; then if test "$curl_cv_native_windows" = "yes"; then dnl Windows uses a single and unique LDAP library name LDAPLIBNAME="wldap32" LBERLIBNAME="no" |
︙ | ︙ | |||
1532 1533 1534 1535 1536 1537 1538 | AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS]) AC_SUBST(CURL_DISABLE_LDAPS, [1])]) fi fi fi if test x$CURL_DISABLE_LDAP != x1 ; then | | | 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 | AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS]) AC_SUBST(CURL_DISABLE_LDAPS, [1])]) fi fi fi if test x$CURL_DISABLE_LDAP != x1 ; then AC_CHECK_FUNCS([ldap_url_parse]) if test "$LDAPLIBNAME" = "wldap32"; then curl_ldap_msg="enabled (winldap)" AC_DEFINE(USE_WIN32_LDAP, 1, [Use Windows LDAP implementation]) else curl_ldap_msg="enabled (OpenLDAP)" if test "x$ac_cv_func_ldap_init_fd" = "xyes"; then |
︙ | ︙ | |||
1913 1914 1915 1916 1917 1918 1919 | CURL_WITH_NSS dnl link required libraries for USE_WIN32_CRYPTO or USE_SCHANNEL if test "x$USE_WIN32_CRYPTO" = "x1" -o "x$USE_SCHANNEL" = "x1"; then LIBS="-ladvapi32 -lcrypt32 $LIBS" fi | > > > > > > | | | > > > | 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 | CURL_WITH_NSS dnl link required libraries for USE_WIN32_CRYPTO or USE_SCHANNEL if test "x$USE_WIN32_CRYPTO" = "x1" -o "x$USE_SCHANNEL" = "x1"; then LIBS="-ladvapi32 -lcrypt32 $LIBS" fi dnl link bcrypt for BCryptGenRandom() (used when building for Vista or newer) if test "x$curl_cv_native_windows" = "xyes" && test "x$curl_mingw_original" = "xno"; then LIBS="-lbcrypt $LIBS" fi case "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED$MBEDTLS_ENABLED$WOLFSSL_ENABLED$SCHANNEL_ENABLED$SECURETRANSPORT_ENABLED$BEARSSL_ENABLED$RUSTLS_ENABLED$SSL_DISABLED" in x) AC_MSG_ERROR([TLS not detected, you will not be able to use HTTPS, FTPS, NTLM and more. Use --with-openssl, --with-gnutls, --with-wolfssl, --with-mbedtls, --with-nss, --with-schannel, --with-secure-transport, --with-amissl, --with-bearssl or --with-rustls to address this.]) ;; x1) # one SSL backend is enabled AC_SUBST(SSL_ENABLED) SSL_ENABLED="1" AC_MSG_NOTICE([built with one SSL backend]) ;; xD) # explicitly built without TLS ;; *) # more than one SSL backend is enabled AC_SUBST(SSL_ENABLED) SSL_ENABLED="1" AC_SUBST(CURL_WITH_MULTI_SSL) CURL_WITH_MULTI_SSL="1" AC_DEFINE(CURL_WITH_MULTI_SSL, 1, [built with multiple SSL backends]) |
︙ | ︙ | |||
2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 | if test X"$want_tcp2" != Xdefault; then dnl To avoid link errors, we do not allow --with-ngtcp2 without dnl a pkgconfig file AC_MSG_ERROR([--with-ngtcp2 was specified but could not find ngtcp2_crypto_gnutls pkg-config file.]) fi fi fi dnl ********************************************************************** dnl Check for nghttp3 (HTTP/3 with ngtcp2) dnl ********************************************************************** OPT_NGHTTP3="yes" | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | if test X"$want_tcp2" != Xdefault; then dnl To avoid link errors, we do not allow --with-ngtcp2 without dnl a pkgconfig file AC_MSG_ERROR([--with-ngtcp2 was specified but could not find ngtcp2_crypto_gnutls pkg-config file.]) fi fi fi if test "x$NGTCP2_ENABLED" = "x1" -a "x$WOLFSSL_ENABLED" = "x1"; then dnl backup the pre-ngtcp2_crypto_wolfssl variables CLEANLDFLAGS="$LDFLAGS" CLEANCPPFLAGS="$CPPFLAGS" CLEANLIBS="$LIBS" CURL_CHECK_PKGCONFIG(libngtcp2_crypto_wolfssl, $want_tcp2_path) if test "$PKGCONFIG" != "no" ; then LIB_NGTCP2_CRYPTO_WOLFSSL=`CURL_EXPORT_PCDIR([$want_tcp2_path]) $PKGCONFIG --libs-only-l libngtcp2_crypto_wolfssl` AC_MSG_NOTICE([-l is $LIB_NGTCP2_CRYPTO_WOLFSSL]) CPP_NGTCP2_CRYPTO_WOLFSSL=`CURL_EXPORT_PCDIR([$want_tcp2_path]) dnl $PKGCONFIG --cflags-only-I libngtcp2_crypto_wolfssl` AC_MSG_NOTICE([-I is $CPP_NGTCP2_CRYPTO_WOLFSSL]) LD_NGTCP2_CRYPTO_WOLFSSL=`CURL_EXPORT_PCDIR([$want_tcp2_path]) $PKGCONFIG --libs-only-L libngtcp2_crypto_wolfssl` AC_MSG_NOTICE([-L is $LD_NGTCP2_CRYPTO_WOLFSSL]) LDFLAGS="$LDFLAGS $LD_NGTCP2_CRYPTO_WOLFSSL" CPPFLAGS="$CPPFLAGS $CPP_NGTCP2_CRYPTO_WOLFSSL" LIBS="$LIB_NGTCP2_CRYPTO_WOLFSSL $LIBS" if test "x$cross_compiling" != "xyes"; then DIR_NGTCP2_CRYPTO_WOLFSSL=`echo $LD_NGTCP2_CRYPTO_WOLFSSL | $SED -e 's/^-L//'` fi AC_CHECK_LIB(ngtcp2_crypto_wolfssl, ngtcp2_crypto_recv_client_initial_cb, [ AC_CHECK_HEADERS(ngtcp2/ngtcp2_crypto.h, NGTCP2_ENABLED=1 AC_DEFINE(USE_NGTCP2_CRYPTO_WOLFSSL, 1, [if ngtcp2_crypto_wolfssl is in use]) AC_SUBST(USE_NGTCP2_CRYPTO_WOLFSSL, [1]) CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_NGTCP2_CRYPTO_WOLFSSL" export CURL_LIBRARY_PATH AC_MSG_NOTICE([Added $DIR_NGTCP2_CRYPTO_WOLFSSL to CURL_LIBRARY_PATH]) ) ], dnl not found, revert back to clean variables LDFLAGS=$CLEANLDFLAGS CPPFLAGS=$CLEANCPPFLAGS LIBS=$CLEANLIBS ) else dnl no ngtcp2_crypto_wolfssl pkg-config found, deal with it if test X"$want_tcp2" != Xdefault; then dnl To avoid link errors, we do not allow --with-ngtcp2 without dnl a pkgconfig file AC_MSG_ERROR([--with-ngtcp2 was specified but could not find ngtcp2_crypto_wolfssl pkg-config file.]) fi fi fi dnl ********************************************************************** dnl Check for nghttp3 (HTTP/3 with ngtcp2) dnl ********************************************************************** OPT_NGHTTP3="yes" |
︙ | ︙ | |||
3172 3173 3174 3175 3176 3177 3178 | *) dnl --with-fish-functions-dir option used with path FISH_FUNCTIONS_DIR="$withval" AC_SUBST(FISH_FUNCTIONS_DIR) ;; esac | < < < | 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 | *) dnl --with-fish-functions-dir option used with path FISH_FUNCTIONS_DIR="$withval" AC_SUBST(FISH_FUNCTIONS_DIR) ;; esac dnl Now check for the very most basic headers. Then we can use these dnl ones as default-headers when checking for the rest! AC_CHECK_HEADERS( sys/types.h \ sys/time.h \ sys/select.h \ sys/socket.h \ |
︙ | ︙ | |||
3202 3203 3204 3205 3206 3207 3208 | netdb.h \ sys/sockio.h \ sys/stat.h \ sys/param.h \ termios.h \ termio.h \ fcntl.h \ | < | 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 | netdb.h \ sys/sockio.h \ sys/stat.h \ sys/param.h \ termios.h \ termio.h \ fcntl.h \ io.h \ pwd.h \ utime.h \ sys/utime.h \ sys/poll.h \ poll.h \ socket.h \ |
︙ | ︙ | |||
3260 3261 3262 3263 3264 3265 3266 | AC_C_CONST CURL_CHECK_VARIADIC_MACROS AC_TYPE_SIZE_T CURL_CHECK_STRUCT_TIMEVAL CURL_VERIFY_RUNTIMELIBS | | | | < | | | < < < < < < < < < < < < < < < | 3354 3355 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 3384 3385 3386 | AC_C_CONST CURL_CHECK_VARIADIC_MACROS AC_TYPE_SIZE_T CURL_CHECK_STRUCT_TIMEVAL CURL_VERIFY_RUNTIMELIBS CURL_SIZEOF(size_t) CURL_SIZEOF(long) CURL_SIZEOF(int) CURL_SIZEOF(time_t) CURL_SIZEOF(off_t) o=$CPPFLAGS CPPFLAGS="-I$srcdir/include $CPPFLAGS" CURL_SIZEOF(curl_off_t, [ #include <curl/system.h> ]) CPPFLAGS=$o AC_CHECK_TYPE(long long, [AC_DEFINE(HAVE_LONGLONG, 1, [Define to 1 if the compiler supports the 'long long' data type.])] longlong="yes" ) # check for ssize_t AC_CHECK_TYPE(ssize_t, , AC_DEFINE(ssize_t, int, [the signed version of size_t])) # check for bool type AC_CHECK_TYPE([bool],[ |
︙ | ︙ | |||
3395 3396 3397 3398 3399 3400 3401 | CURL_CHECK_FUNC_GETPEERNAME CURL_CHECK_FUNC_GETSOCKNAME CURL_CHECK_FUNC_IF_NAMETOINDEX CURL_CHECK_FUNC_GETIFADDRS CURL_CHECK_FUNC_GMTIME_R CURL_CHECK_FUNC_INET_NTOP CURL_CHECK_FUNC_INET_PTON | < < < < < < < | 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 3498 3499 3500 3501 3502 3503 | CURL_CHECK_FUNC_GETPEERNAME CURL_CHECK_FUNC_GETSOCKNAME CURL_CHECK_FUNC_IF_NAMETOINDEX CURL_CHECK_FUNC_GETIFADDRS CURL_CHECK_FUNC_GMTIME_R CURL_CHECK_FUNC_INET_NTOP CURL_CHECK_FUNC_INET_PTON CURL_CHECK_FUNC_IOCTLSOCKET CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL CURL_CHECK_FUNC_MEMRCHR CURL_CHECK_FUNC_POLL CURL_CHECK_FUNC_SIGACTION CURL_CHECK_FUNC_SIGINTERRUPT CURL_CHECK_FUNC_SIGNAL CURL_CHECK_FUNC_SIGSETJMP CURL_CHECK_FUNC_SOCKET CURL_CHECK_FUNC_SOCKETPAIR CURL_CHECK_FUNC_STRCASECMP CURL_CHECK_FUNC_STRCMPI CURL_CHECK_FUNC_STRDUP CURL_CHECK_FUNC_STRERROR_R CURL_CHECK_FUNC_STRICMP CURL_CHECK_FUNC_STRTOK_R CURL_CHECK_FUNC_STRTOLL case $host in *msdosdjgpp) ac_cv_func_pipe=no skipcheck_pipe=yes AC_MSG_NOTICE([skip check for pipe on msdosdjgpp]) ;; |
︙ | ︙ | |||
3450 3451 3452 3453 3454 3455 3456 | mach_absolute_time \ pipe \ sched_yield \ sendmsg \ setlocale \ setmode \ setrlimit \ | < | 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 | mach_absolute_time \ pipe \ sched_yield \ sendmsg \ setlocale \ setmode \ setrlimit \ utime \ utimes ],[ ],[ func="$ac_func" eval skipcheck=\$skipcheck_$func if test "x$skipcheck" != "xyes"; then |
︙ | ︙ | |||
3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 | *) ;; esac dnl if it wasn't found without lib, search for it in pthread lib if test "$USE_THREADS_POSIX" != "1" then case $host in *-ibm-aix*) dnl Check if compiler is xlC COMPILER_VERSION=`"$CC" -qversion 2>/dev/null` if test x"$COMPILER_VERSION" = "x"; then CFLAGS="$CFLAGS -pthread" else CFLAGS="$CFLAGS -qthreaded" fi ;; *) CFLAGS="$CFLAGS -pthread" ;; esac | > > > > > > > < < | 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 | *) ;; esac dnl if it wasn't found without lib, search for it in pthread lib if test "$USE_THREADS_POSIX" != "1" then # assign PTHREAD for pkg-config use PTHREAD=" -pthread" case $host in *-ibm-aix*) dnl Check if compiler is xlC COMPILER_VERSION=`"$CC" -qversion 2>/dev/null` if test x"$COMPILER_VERSION" = "x"; then CFLAGS="$CFLAGS -pthread" else CFLAGS="$CFLAGS -qthreaded" fi ;; powerpc-*amigaos*) dnl No -pthread option, but link with -lpthread PTHREAD=" -lpthread" ;; *) CFLAGS="$CFLAGS -pthread" ;; esac AC_CHECK_LIB(pthread, pthread_create, [USE_THREADS_POSIX=1], [ CFLAGS="$save_CFLAGS"]) fi if test "x$USE_THREADS_POSIX" = "x1" then |
︙ | ︙ | |||
4025 4026 4027 4028 4029 4030 4031 | dnl switch on/off headers-api dnl AC_MSG_CHECKING([whether to support headers-api]) AC_ARG_ENABLE(headers-api, AS_HELP_STRING([--enable-headers-api],[Enable headers-api support]) AS_HELP_STRING([--disable-headers-api],[Disable headers-api support]), [ case "$enableval" in | < < < > > > | 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 | dnl switch on/off headers-api dnl AC_MSG_CHECKING([whether to support headers-api]) AC_ARG_ENABLE(headers-api, AS_HELP_STRING([--enable-headers-api],[Enable headers-api support]) AS_HELP_STRING([--disable-headers-api],[Disable headers-api support]), [ case "$enableval" in no) AC_MSG_RESULT(no) curl_headers_msg="no (--enable-headers-api)" AC_DEFINE(CURL_DISABLE_HEADERS_API, 1, [disable headers-api]) ;; *) AC_MSG_RESULT(yes) ;; esac ], AC_MSG_RESULT(yes) ) dnl only check for HSTS if there's SSL present if test -n "$SSL_ENABLED"; then |
︙ | ︙ |
Changes to jni/curl/curl-config.in.
︙ | ︙ | |||
19 20 21 22 23 24 25 | # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY # KIND, either express or implied. # # SPDX-License-Identifier: curl # ########################################################################### | | | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY # KIND, either express or implied. # # SPDX-License-Identifier: curl # ########################################################################### prefix="@prefix@" exec_prefix=@exec_prefix@ includedir=@includedir@ cppflag_curl_staticlib=@CPPFLAG_CURL_STATICLIB@ usage() { cat <<EOF |
︙ | ︙ | |||
170 171 172 173 174 175 176 | ;; --ssl-backends) echo "@SSL_BACKENDS@" ;; --static-libs) if test "X@ENABLE_STATIC@" != "Xno" ; then | | | 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 | ;; --ssl-backends) echo "@SSL_BACKENDS@" ;; --static-libs) if test "X@ENABLE_STATIC@" != "Xno" ; then echo "@libdir@/libcurl.@libext@" @LDFLAGS@ @LIBCURL_LIBS@ else echo "curl was built with static libraries disabled" >&2 exit 1 fi ;; --configure) |
︙ | ︙ |
Changes to jni/curl/docs/BUGS.md.
1 2 3 4 5 | # BUGS ## There are still bugs Curl and libcurl keep being developed. Adding features and changing code | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | # BUGS ## There are still bugs Curl and libcurl keep being developed. Adding features and changing code means that bugs will sneak in, no matter how hard we try to keep them out. Of course there are lots of bugs left. And lots of misfeatures. To help us make curl the stable and solid product we want it to be, we need bug reports and bug fixes. ## Where to report |
︙ | ︙ | |||
40 41 42 43 44 45 46 | The curl project's process for handling security related issues is [documented separately](https://curl.se/dev/secprocess.html). ## What to report When reporting a bug, you should include all information that will help us | | | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | The curl project's process for handling security related issues is [documented separately](https://curl.se/dev/secprocess.html). ## What to report When reporting a bug, you should include all information that will help us understand what is wrong, what you expected to happen and how to repeat the bad behavior. You therefore need to tell us: - your operating system's name and version number - what version of curl you are using (`curl -V` is fine) - versions of the used libraries that libcurl is built to use |
︙ | ︙ | |||
195 196 197 198 199 200 201 | You should then respond to these follow-up questions and provide more info about the problem, so that we can help you figure it out. Or maybe you can help us figure it out. An active back-and-forth communication is important and the key for finding a cure and landing a fix. ## Not reproducible | > | | < < | | 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 | You should then respond to these follow-up questions and provide more info about the problem, so that we can help you figure it out. Or maybe you can help us figure it out. An active back-and-forth communication is important and the key for finding a cure and landing a fix. ## Not reproducible We may require further work from you who actually see or experience the problem if we cannot reproduce it and cannot understand it even after having gotten all the info we need and having studied the source code over again. ## Unresponsive If the problem have not been understood or reproduced, and there is nobody responding to follow-up questions or questions asking for clarifications or for discussing possible ways to move forward with the task, we take that as a strong suggestion that the bug is unimportant. Unimportant issues will be closed as inactive sooner or later as they cannot be fixed. The inactivity period (waiting for responses) should not be shorter than two weeks but may extend months. |
︙ | ︙ |
Changes to jni/curl/docs/CIPHERS.md.
1 2 3 4 5 6 7 8 | # Ciphers With curl's options [`CURLOPT_SSL_CIPHER_LIST`](https://curl.se/libcurl/c/CURLOPT_SSL_CIPHER_LIST.html) and [`--ciphers`](https://curl.se/docs/manpage.html#--ciphers) users can control which ciphers to consider when negotiating TLS connections. | | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # Ciphers With curl's options [`CURLOPT_SSL_CIPHER_LIST`](https://curl.se/libcurl/c/CURLOPT_SSL_CIPHER_LIST.html) and [`--ciphers`](https://curl.se/docs/manpage.html#--ciphers) users can control which ciphers to consider when negotiating TLS connections. TLS 1.3 ciphers are supported since curl 7.61 for OpenSSL 1.1.1+, and since curl 7.85 for SChannel with options [`CURLOPT_TLS13_CIPHERS`](https://curl.se/libcurl/c/CURLOPT_TLS13_CIPHERS.html) and [`--tls13-ciphers`](https://curl.se/docs/manpage.html#--tls13-ciphers) . If you are using a different SSL backend you can try setting TLS 1.3 cipher suites by using the respective regular cipher option. The names of the known ciphers differ depending on which TLS backend that |
︙ | ︙ | |||
516 517 518 519 520 521 522 523 524 525 526 527 528 529 | `CALG_ECDH_EPHEM`, As of curl 7.77.0, you can also pass `SCH_USE_STRONG_CRYPTO` as a cipher name to [constrain the set of available ciphers as specified in the schannel documentation](https://docs.microsoft.com/en-us/windows/win32/secauthn/tls-cipher-suites-in-windows-server-2022). Note that the supported ciphers in this case follow the OS version, so if you are running an outdated OS you might still be supporting weak ciphers. ## BearSSL BearSSL ciphers can be specified by either the OpenSSL name (`ECDHE-RSA-AES128-GCM-SHA256`) or the IANA name (`TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256`). Since BearSSL 0.1: | > > > > > > > > > > | 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 | `CALG_ECDH_EPHEM`, As of curl 7.77.0, you can also pass `SCH_USE_STRONG_CRYPTO` as a cipher name to [constrain the set of available ciphers as specified in the schannel documentation](https://docs.microsoft.com/en-us/windows/win32/secauthn/tls-cipher-suites-in-windows-server-2022). Note that the supported ciphers in this case follow the OS version, so if you are running an outdated OS you might still be supporting weak ciphers. ### TLS 1.3 cipher suites (Note these ciphers are set with `CURLOPT_TLS13_CIPHERS` and `--tls13-ciphers`) `TLS_AES_256_GCM_SHA384` `TLS_AES_128_GCM_SHA256` `TLS_CHACHA20_POLY1305_SHA256` `TLS_AES_128_CCM_8_SHA256` `TLS_AES_128_CCM_SHA256` ## BearSSL BearSSL ciphers can be specified by either the OpenSSL name (`ECDHE-RSA-AES128-GCM-SHA256`) or the IANA name (`TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256`). Since BearSSL 0.1: |
︙ | ︙ |
Changes to jni/curl/docs/DEPRECATE.md.
1 2 3 4 5 6 7 8 9 10 | # Items to be removed from future curl releases If any of these deprecated features is a cause for concern for you, please email the [curl-library mailing list](https://lists.haxx.se/listinfo/curl-library) as soon as possible and explain to us why this is a problem for you and how your use case cannot be satisfied properly using a workaround. ## NSS | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # Items to be removed from future curl releases If any of these deprecated features is a cause for concern for you, please email the [curl-library mailing list](https://lists.haxx.se/listinfo/curl-library) as soon as possible and explain to us why this is a problem for you and how your use case cannot be satisfied properly using a workaround. ## NSS We remove support for building curl with the NSS TLS library in August 2023. - There are very few users left who use curl+NSS - NSS has very few users outside of curl as well (primarily Firefox) - NSS is harder than ever to find documentation for - NSS was always "best" used with Red Hat Linux when they provided additional features on top of the regular NSS that is not shipped by the vanilla library |
︙ | ︙ |
Changes to jni/curl/docs/HTTP3.md.
︙ | ︙ | |||
106 107 108 109 110 111 112 113 114 115 116 117 118 119 | % git clone https://github.com/curl/curl % cd curl % autoreconf -fi % ./configure --without-openssl --with-gnutls=<somewhere1> --with-nghttp3=<somewhere2> --with-ngtcp2=<somewhere3> % make % make install # quiche version ## build Build quiche and BoringSSL: % git clone --recursive https://github.com/cloudflare/quiche | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | % git clone https://github.com/curl/curl % cd curl % autoreconf -fi % ./configure --without-openssl --with-gnutls=<somewhere1> --with-nghttp3=<somewhere2> --with-ngtcp2=<somewhere3> % make % make install ## Build with wolfSSL Build wolfSSL % git clone https://github.com/wolfSSL/wolfssl.git % cd wolfssl % autoreconf -fi % ./configure --prefix=<somewhere1> --enable-quic --enable-session-ticket --enable-earlydata --enable-psk --enable-harden --enable-altcertchains % make % make install Build nghttp3 % cd .. % git clone https://github.com/ngtcp2/nghttp3 % cd nghttp3 % autoreconf -fi % ./configure --prefix=<somewhere2> --enable-lib-only % make % make install Build ngtcp2 (once https://github.com/ngtcp2/ngtcp2/pull/505 is merged) % cd .. % git clone https://github.com/ngtcp2/ngtcp2 % cd ngtcp2 % autoreconf -fi % ./configure PKG_CONFIG_PATH=<somewhere1>/lib/pkgconfig:<somewhere2>/lib/pkgconfig LDFLAGS="-Wl,-rpath,<somewhere1>/lib" --prefix=<somewhere3> --enable-lib-only --with-wolfssl % make % make install Build curl % cd .. % git clone https://github.com/curl/curl % cd curl % autoreconf -fi % ./configure --without-openssl --with-wolfssl=<somewhere1> --with-nghttp3=<somewhere2> --with-ngtcp2=<somewhere3> % make % make install # quiche version ## build Build quiche and BoringSSL: % git clone --recursive https://github.com/cloudflare/quiche |
︙ | ︙ | |||
136 137 138 139 140 141 142 | # msh3 (msquic) version ## Build Linux (with quictls fork of OpenSSL) Build msh3: | | | | 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 | # msh3 (msquic) version ## Build Linux (with quictls fork of OpenSSL) Build msh3: % git clone -b v0.4.0 --depth 1 --recursive https://github.com/nibanks/msh3 % cd msh3 && mkdir build && cd build % cmake -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE=RelWithDebInfo .. % cmake --build . % cmake --install . Build curl: % git clone https://github.com/curl/curl % cd curl % autoreconf -fi % ./configure LDFLAGS="-Wl,-rpath,/usr/local/lib" --with-msh3=/usr/local --with-openssl % make % make install Run from `/usr/local/bin/curl`. ## Build Windows Build msh3: % git clone -b v0.4.0 --depth 1 --recursive https://github.com/nibanks/msh3 % cd msh3 && mkdir build && cd build % cmake -G 'Visual Studio 17 2022' -DCMAKE_BUILD_TYPE=RelWithDebInfo .. % cmake --build . --config Release % cmake --install . --config Release **Note** - On Windows, Schannel will be used for TLS support by default. If you with to use (the quictls fork of) OpenSSL, specify the `-DQUIC_TLS=openssl` |
︙ | ︙ |
Changes to jni/curl/docs/KNOWN_BUGS.
︙ | ︙ | |||
30 31 32 33 34 35 36 37 38 39 40 41 42 43 | 2.6 CURL_GLOBAL_SSL 2.7 Client cert (MTLS) issues with Schannel 2.8 Schannel disable CURLOPT_SSL_VERIFYPEER and verify hostname 2.9 TLS session cache does not work with TFO 2.10 Store TLS context per transfer instead of per connection 2.11 Schannel TLS 1.2 handshake bug in old Windows versions 2.12 FTPS with Schannel times out file list operation 2.14 Secure Transport disabling hostname validation also disables SNI 2.15 Renegotiate from server may cause hang for OpenSSL backend 3. Email protocols 3.1 IMAP SEARCH ALL truncated response 3.2 No disconnect command 3.3 POP3 expects "CRLF.CRLF" eob for some single-line responses | > | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | 2.6 CURL_GLOBAL_SSL 2.7 Client cert (MTLS) issues with Schannel 2.8 Schannel disable CURLOPT_SSL_VERIFYPEER and verify hostname 2.9 TLS session cache does not work with TFO 2.10 Store TLS context per transfer instead of per connection 2.11 Schannel TLS 1.2 handshake bug in old Windows versions 2.12 FTPS with Schannel times out file list operation 2.13 CURLOPT_CERTINFO results in CURLE_OUT_OF_MEMORY with Schannel 2.14 Secure Transport disabling hostname validation also disables SNI 2.15 Renegotiate from server may cause hang for OpenSSL backend 3. Email protocols 3.1 IMAP SEARCH ALL truncated response 3.2 No disconnect command 3.3 POP3 expects "CRLF.CRLF" eob for some single-line responses |
︙ | ︙ | |||
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 | 5.6 make distclean loops forever 5.7 Visual Studio project gaps 5.8 configure finding libs in wrong directory 5.9 Utilize Requires.private directives in libcurl.pc 5.10 curl hangs on SMB upload over stdin 5.11 configure --with-gssapi with Heimdal is ignored on macOS 5.12 flaky Windows CI builds 6. Authentication 6.1 NTLM authentication and unicode 6.2 MIT Kerberos for Windows build 6.3 NTLM in system context uses wrong name 6.4 Negotiate and Kerberos V5 need a fake user name 6.5 NTLM does not support password with § character 6.6 libcurl can fail to try alternatives with --proxy-any 6.7 Do not clear digest for single realm 6.8 RTSP authentication breaks without redirect support 6.9 SHA-256 digest not supported in Windows SSPI builds 6.10 curl never completes Negotiate over HTTP 6.11 Negotiate on Windows fails 6.12 cannot use Secure Transport with Crypto Token Kit 7. FTP 7.1 FTP without or slow 220 response 7.2 FTP with CONNECT and slow server 7.3 FTP with NOBODY and FAILONERROR 7.4 FTP with ACCT 7.5 ASCII FTP 7.6 FTP with NULs in URL parts 7.7 FTP and empty path parts in the URL 7.8 Premature transfer end but healthy control channel 7.9 Passive transfer tries only one IP address 7.10 FTPS needs session reuse 7.11 FTPS upload data loss with TLS 1.3 8. TELNET 8.1 TELNET and time limitations do not work 8.2 Microsoft telnet server 9. SFTP and SCP 9.1 SFTP does not do CURLOPT_POSTQUOTE correct 9.2 wolfssh: publickey auth does not work 9.3 Remote recursive folder creation with SFTP 10. SOCKS 10.3 FTPS over SOCKS 10.4 active FTP over a SOCKS 11. Internals 11.1 Curl leaks .onion hostnames in DNS 11.2 error buffer not set if connection to multiple addresses fails 11.3 Disconnects do not do verbose 11.4 HTTP test server 'connection-monitor' problems 11.5 Connection information when using TCP Fast Open 11.7 signal-based resolver timeouts 11.8 DoH leaks memory after followlocation 11.9 DoH does not inherit all transfer options 11.10 Blocking socket operations in non-blocking API 11.11 A shared connection cache is not thread-safe 11.12 'no_proxy' string-matches IPv6 numerical addresses | > > > > > < | 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 | 5.6 make distclean loops forever 5.7 Visual Studio project gaps 5.8 configure finding libs in wrong directory 5.9 Utilize Requires.private directives in libcurl.pc 5.10 curl hangs on SMB upload over stdin 5.11 configure --with-gssapi with Heimdal is ignored on macOS 5.12 flaky Windows CI builds 5.13 long paths are not fully supported on Windows 5.14 Windows Unicode builds use homedir in current locale 6. Authentication 6.1 NTLM authentication and unicode 6.2 MIT Kerberos for Windows build 6.3 NTLM in system context uses wrong name 6.4 Negotiate and Kerberos V5 need a fake user name 6.5 NTLM does not support password with § character 6.6 libcurl can fail to try alternatives with --proxy-any 6.7 Do not clear digest for single realm 6.8 RTSP authentication breaks without redirect support 6.9 SHA-256 digest not supported in Windows SSPI builds 6.10 curl never completes Negotiate over HTTP 6.11 Negotiate on Windows fails 6.12 cannot use Secure Transport with Crypto Token Kit 6.13 Negotiate against Hadoop HDFS 7. FTP 7.1 FTP without or slow 220 response 7.2 FTP with CONNECT and slow server 7.3 FTP with NOBODY and FAILONERROR 7.4 FTP with ACCT 7.5 ASCII FTP 7.6 FTP with NULs in URL parts 7.7 FTP and empty path parts in the URL 7.8 Premature transfer end but healthy control channel 7.9 Passive transfer tries only one IP address 7.10 FTPS needs session reuse 7.11 FTPS upload data loss with TLS 1.3 7.12 FTPS directory listing hangs on Windows with Schannel 8. TELNET 8.1 TELNET and time limitations do not work 8.2 Microsoft telnet server 9. SFTP and SCP 9.1 SFTP does not do CURLOPT_POSTQUOTE correct 9.2 wolfssh: publickey auth does not work 9.3 Remote recursive folder creation with SFTP 9.4 libssh blocking and infinite loop problem 10. SOCKS 10.3 FTPS over SOCKS 10.4 active FTP over a SOCKS 11. Internals 11.1 Curl leaks .onion hostnames in DNS 11.2 error buffer not set if connection to multiple addresses fails 11.3 Disconnects do not do verbose 11.4 HTTP test server 'connection-monitor' problems 11.5 Connection information when using TCP Fast Open 11.7 signal-based resolver timeouts 11.8 DoH leaks memory after followlocation 11.9 DoH does not inherit all transfer options 11.10 Blocking socket operations in non-blocking API 11.11 A shared connection cache is not thread-safe 11.12 'no_proxy' string-matches IPv6 numerical addresses 11.14 Multi perform hangs waiting for threaded resolver 11.15 CURLOPT_OPENSOCKETPAIRFUNCTION is missing 11.16 libcurl uses renames instead of locking for atomic operations 12. LDAP 12.1 OpenLDAP hangs after returning results 12.2 LDAP on Windows does authentication wrong? |
︙ | ︙ | |||
142 143 144 145 146 147 148 149 150 151 152 153 154 155 | 15.7 generated .pc file contains strange entries 15.8 libcurl.pc uses absolute library paths 15.9 cert paths autodetected when cross-compiling 15.10 libpsl is not supported 15.11 ExternalProject_Add does not set CURL_CA_PATH 15.12 cannot enable LDAPS on Windows 15.13 CMake build with MIT Kerberos does not work 16. Applications 17. HTTP/2 17.1 Excessive HTTP/2 packets with TCP_NODELAY 17.2 HTTP/2 frames while in the connection pool kill reuse 17.3 ENHANCE_YOUR_CALM causes infinite retries | > | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | 15.7 generated .pc file contains strange entries 15.8 libcurl.pc uses absolute library paths 15.9 cert paths autodetected when cross-compiling 15.10 libpsl is not supported 15.11 ExternalProject_Add does not set CURL_CA_PATH 15.12 cannot enable LDAPS on Windows 15.13 CMake build with MIT Kerberos does not work 15.14 cmake build is not thread-safe 16. Applications 17. HTTP/2 17.1 Excessive HTTP/2 packets with TCP_NODELAY 17.2 HTTP/2 frames while in the connection pool kill reuse 17.3 ENHANCE_YOUR_CALM causes infinite retries |
︙ | ︙ | |||
325 326 327 328 329 330 331 332 333 334 335 336 337 338 | https://github.com/curl/curl/issues/5488 2.12 FTPS with Schannel times out file list operation "Instead of the command completing, it just sits there until the timeout expires." - the same command line seems to work with other TLS backends and other operating systems. See https://github.com/curl/curl/issues/5284. 2.14 Secure Transport disabling hostname validation also disables SNI SNI is the hostname that is sent by the TLS library to the server as part of the TLS handshake. Secure Transport does not send SNI when hostname validation is disabled. Servers that host multiple websites may not know which certificate to serve without SNI or which backend server to connect to. The | > > > > | 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 | https://github.com/curl/curl/issues/5488 2.12 FTPS with Schannel times out file list operation "Instead of the command completing, it just sits there until the timeout expires." - the same command line seems to work with other TLS backends and other operating systems. See https://github.com/curl/curl/issues/5284. 2.13 CURLOPT_CERTINFO results in CURLE_OUT_OF_MEMORY with Schannel https://github.com/curl/curl/issues/8741 2.14 Secure Transport disabling hostname validation also disables SNI SNI is the hostname that is sent by the TLS library to the server as part of the TLS handshake. Secure Transport does not send SNI when hostname validation is disabled. Servers that host multiple websites may not know which certificate to serve without SNI or which backend server to connect to. The |
︙ | ︙ | |||
531 532 533 534 535 536 537 538 539 540 541 542 543 544 | number of the Windows builds are flaky. This means that we rarely get all CI builds go green and complete without errors. This is unfortunate as it makes us sometimes miss actual build problems and it is surprising to newcomers to the project who (rightfully) do not expect this. See https://github.com/curl/curl/issues/6972 6. Authentication 6.1 NTLM authentication and unicode NTLM authentication involving unicode user name or password only works properly if built with UNICODE defined together with the Schannel backend. The original problem was mentioned in: | > > > > > > > > > > > > > > > > > > > | 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 | number of the Windows builds are flaky. This means that we rarely get all CI builds go green and complete without errors. This is unfortunate as it makes us sometimes miss actual build problems and it is surprising to newcomers to the project who (rightfully) do not expect this. See https://github.com/curl/curl/issues/6972 5.13 long paths are not fully supported on Windows curl on Windows cannot access long paths (paths longer than 260 characters). However, as a workaround, the Windows path prefix \\?\ which disables all path interpretation may work to allow curl to access the path. For example: \\?\c:\longpath. See https://github.com/curl/curl/issues/8361 5.14 Windows Unicode builds use homedir in current locale The Windows Unicode builds of curl use the current locale, but expect Unicode UTF-8 encoded paths for internal use such as open, access and stat. The user's home directory is retrieved via curl_getenv in the current locale and not as UTF-8 encoded Unicode. See https://github.com/curl/curl/pull/7252 and https://github.com/curl/curl/pull/7281 6. Authentication 6.1 NTLM authentication and unicode NTLM authentication involving unicode user name or password only works properly if built with UNICODE defined together with the Schannel backend. The original problem was mentioned in: |
︙ | ︙ | |||
624 625 626 627 628 629 630 631 632 633 634 635 636 637 | in Unix/Linux. https://github.com/curl/curl/issues/5881 6.12 cannot use Secure Transport with Crypto Token Kit https://github.com/curl/curl/issues/7048 7. FTP 7.1 FTP without or slow 220 response If a connection is made to an FTP server but the server then just never sends the 220 response or otherwise is dead slow, libcurl will not acknowledge the | > > > > | 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 | in Unix/Linux. https://github.com/curl/curl/issues/5881 6.12 cannot use Secure Transport with Crypto Token Kit https://github.com/curl/curl/issues/7048 6.13 Negotiate authentication against Hadoop HDFS https://github.com/curl/curl/issues/8264 7. FTP 7.1 FTP without or slow 220 response If a connection is made to an FTP server but the server then just never sends the 220 response or otherwise is dead slow, libcurl will not acknowledge the |
︙ | ︙ | |||
739 740 741 742 743 744 745 746 747 748 749 750 751 752 | Since 7.78.0 this is mostly fixed. curl will do a single read before closing TLS connections (which causes the TLS library to read handshake messages), however there is still possibility of an RST if more messages need to be read or a message arrives after the read but before close (network race condition). https://github.com/curl/curl/issues/6149 8. TELNET 8.1 TELNET and time limitations do not work When using telnet, the time limitation options do not work. https://curl.se/bug/view.cgi?id=846 | > > > > | 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 | Since 7.78.0 this is mostly fixed. curl will do a single read before closing TLS connections (which causes the TLS library to read handshake messages), however there is still possibility of an RST if more messages need to be read or a message arrives after the read but before close (network race condition). https://github.com/curl/curl/issues/6149 7.12 FTPS directory listing hangs on Windows with Schannel https://github.com/curl/curl/issues/9161 8. TELNET 8.1 TELNET and time limitations do not work When using telnet, the time limitation options do not work. https://curl.se/bug/view.cgi?id=846 |
︙ | ︙ | |||
777 778 779 780 781 782 783 784 785 786 787 788 789 790 | 9.3 Remote recursive folder creation with SFTP On this servers, the curl fails to create directories on the remote server even when the CURLOPT_FTP_CREATE_MISSING_DIRS option is set. See https://github.com/curl/curl/issues/5204 10. SOCKS 10.3 FTPS over SOCKS libcurl does not support FTPS over a SOCKS proxy. | > > > > > > > > | 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 | 9.3 Remote recursive folder creation with SFTP On this servers, the curl fails to create directories on the remote server even when the CURLOPT_FTP_CREATE_MISSING_DIRS option is set. See https://github.com/curl/curl/issues/5204 9.4 libssh blocking and infinite loop problem In the SSH_SFTP_INIT state for libssh, the ssh session working mode is set to blocking mode. If the network is suddenly disconnected during sftp transmission, curl will be stuck, even if curl is configured with a timeout. https://github.com/curl/curl/issues/8632 10. SOCKS 10.3 FTPS over SOCKS libcurl does not support FTPS over a SOCKS proxy. |
︙ | ︙ | |||
889 890 891 892 893 894 895 | 11.12 'no_proxy' string-matches IPv6 numerical addresses This has the downside that "::1" for example does not match "::0:1" even though they are in fact the same address. See https://github.com/curl/curl/issues/5745 | < < < < < < < < < < < < | 934 935 936 937 938 939 940 941 942 943 944 945 946 947 | 11.12 'no_proxy' string-matches IPv6 numerical addresses This has the downside that "::1" for example does not match "::0:1" even though they are in fact the same address. See https://github.com/curl/curl/issues/5745 11.14 Multi perform hangs waiting for threaded resolver If a threaded resolver takes a long time to complete, libcurl can be blocked waiting for it for a longer time than expected - and longer than the set timeouts. See https://github.com/curl/curl/issues/2975 and |
︙ | ︙ | |||
1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 | MIT Kerberos detection sets few variables to potentially weird mix of space, and ;-separated flags. It had to blow up at some point. All the CMake checks that involve compilation are doomed from that point, the configured tree cannot be built. https://github.com/curl/curl/issues/6904 16. Applications 17. HTTP/2 17.1 Excessive HTTP/2 packets with TCP_NODELAY Because of how curl sets TCP_NODELAY by default, HTTP/2 requests are issued | > > > > > > > > > | 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 | MIT Kerberos detection sets few variables to potentially weird mix of space, and ;-separated flags. It had to blow up at some point. All the CMake checks that involve compilation are doomed from that point, the configured tree cannot be built. https://github.com/curl/curl/issues/6904 15.14 cmake build is not thread-safe The cmake build does not check for and verify presence of a working Atomic type, which then makes curl_global_init() to not build thread-safe on non-Windows platforms. Bug: https://github.com/curl/curl/issues/8973 Partial fix: https://github.com/curl/curl/pull/8982 16. Applications 17. HTTP/2 17.1 Excessive HTTP/2 packets with TCP_NODELAY Because of how curl sets TCP_NODELAY by default, HTTP/2 requests are issued |
︙ | ︙ |
Changes to jni/curl/docs/MAIL-ETIQUETTE.
︙ | ︙ | |||
101 102 103 104 105 106 107 | Troll - "someone who posts inflammatory, extraneous, or off-topic messages in an online community" Spam - "use of electronic messaging systems to send unsolicited bulk messages" No matter what, we NEVER EVER respond to trolls or spammers on the list. If | | | 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | Troll - "someone who posts inflammatory, extraneous, or off-topic messages in an online community" Spam - "use of electronic messaging systems to send unsolicited bulk messages" No matter what, we NEVER EVER respond to trolls or spammers on the list. If you believe the list admin should do something in particular, contact them off-list. The subject will be taken care of as much as possible to prevent repeated offenses, but responding on the list to such messages never leads to anything good and only puts the light even more on the offender: which was the entire purpose of it getting sent to the list in the first place. Do not feed the trolls. |
︙ | ︙ | |||
273 274 275 276 277 278 279 | Many people mail questions to the list, people spend some of their time and make an effort in providing good answers to these questions. If you are the one who asks, please consider responding once more in case one of the hints was what solved your problems. The guys who write answers feel good to know that they provided a good answer and that you fixed the problem. Far too often, the person who asked the question is never heard from | | | 273 274 275 276 277 278 279 280 281 282 283 284 285 | Many people mail questions to the list, people spend some of their time and make an effort in providing good answers to these questions. If you are the one who asks, please consider responding once more in case one of the hints was what solved your problems. The guys who write answers feel good to know that they provided a good answer and that you fixed the problem. Far too often, the person who asked the question is never heard from again, and we never get to know if they are gone because the problem was solved or perhaps because the problem was unsolvable. Getting the solution posted also helps other users that experience the same problem(s). They get to see (possibly in the web archives) that the suggested fixes actually have helped at least one person. |
Changes to jni/curl/docs/Makefile.in.
︙ | ︙ | |||
109 110 111 112 113 114 115 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = docs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | | < | 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = docs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \ $(top_srcdir)/m4/curl-bearssl.m4 \ $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-gnutls.m4 \ $(top_srcdir)/m4/curl-mbedtls.m4 $(top_srcdir)/m4/curl-nss.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ |
︙ | ︙ | |||
398 399 400 401 402 403 404 405 406 407 408 409 410 411 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ | > | 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ |
︙ | ︙ |
Changes to jni/curl/docs/SECURITY-PROCESS.md.
︙ | ︙ | |||
36 37 38 39 40 41 42 | - The security team investigates the report and either rejects it or accepts it. See below for examples of problems that are not considered vulnerabilities. - If the report is rejected, the team writes to the reporter to explain why. | | | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | - The security team investigates the report and either rejects it or accepts it. See below for examples of problems that are not considered vulnerabilities. - If the report is rejected, the team writes to the reporter to explain why. - If the report is accepted, the team writes to the reporter to let them know it is accepted and that they are working on a fix. - The security team discusses the problem, works out a fix, considers the impact of the problem and suggests a release schedule. This discussion should involve the reporter as much as possible. - The release of the information should be "as soon as possible" and is most |
︙ | ︙ |
Changes to jni/curl/docs/THANKS.
︙ | ︙ | |||
96 97 98 99 100 101 102 103 104 105 106 107 108 109 | Alexander Lazic Alexander Pepper Alexander Peslyak Alexander Sinditskiy Alexander Traud Alexander V. Tikhonov Alexander Zhuravlev Alexandre Pion Alexey Borzov Alexey Eremikhin Alexey Melnichuk Alexey Pesternikov Alexey Simak Alexey Zakhlestin | > | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | Alexander Lazic Alexander Pepper Alexander Peslyak Alexander Sinditskiy Alexander Traud Alexander V. Tikhonov Alexander Zhuravlev Alexandre Bury Alexandre Pion Alexey Borzov Alexey Eremikhin Alexey Melnichuk Alexey Pesternikov Alexey Simak Alexey Zakhlestin |
︙ | ︙ | |||
140 141 142 143 144 145 146 147 148 149 150 151 152 153 | Andreas Malzahn Andreas Ntaflos Andreas Olsson Andreas Rieke Andreas Roth Andreas Schneider Andreas Schuldei Andreas Streichardt Andreas Wurf Andrei Benea Andrei Bica Andrei Cipu Andrei Karas Andrei Kurushin | > | 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | Andreas Malzahn Andreas Ntaflos Andreas Olsson Andreas Rieke Andreas Roth Andreas Schneider Andreas Schuldei Andreas Sommer Andreas Streichardt Andreas Wurf Andrei Benea Andrei Bica Andrei Cipu Andrei Karas Andrei Kurushin |
︙ | ︙ | |||
317 318 319 320 321 322 323 324 325 326 327 328 329 330 | bobmitchell1956 on github Bodo Bergmann Bogdan Nicula Boris Rasin Boris Verkhovskiy Brad Burdick Brad Fitzpatrick Brad Harder Brad Hards Brad King Brad Spencer Bradford Bruce bramus on github Brandon Casey | > | 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 | bobmitchell1956 on github Bodo Bergmann Bogdan Nicula Boris Rasin Boris Verkhovskiy Brad Burdick Brad Fitzpatrick Brad Forschinger Brad Harder Brad Hards Brad King Brad Spencer Bradford Bruce bramus on github Brandon Casey |
︙ | ︙ | |||
382 383 384 385 386 387 388 389 390 391 392 393 394 395 | Carlos ORyan Carsten Lange Casey O'Donnell Catalin Patulea causal-agent on github cbartl on github cclauss on github Cesar Eduardo Barros Chad Monroe Chandrakant Bagul Charles Cazabon Charles Kerr Charles Romestant Chen Prog | > | 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 | Carlos ORyan Carsten Lange Casey O'Donnell Catalin Patulea causal-agent on github cbartl on github cclauss on github Cering on github Cesar Eduardo Barros Chad Monroe Chandrakant Bagul Charles Cazabon Charles Kerr Charles Romestant Chen Prog |
︙ | ︙ | |||
515 516 517 518 519 520 521 522 523 524 525 526 527 528 | Daniel Cater Daniel Egger Daniel Gustafsson Daniel Hwang Daniel Jeliński Daniel Johnson Daniel Kahn Gillmor Daniel Krügler Daniel Kurečka Daniel Lee Hwang Daniel Lublin Daniel Marjamäki Daniel Melani Daniel Mentz | > | 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 | Daniel Cater Daniel Egger Daniel Gustafsson Daniel Hwang Daniel Jeliński Daniel Johnson Daniel Kahn Gillmor Daniel Katz Daniel Krügler Daniel Kurečka Daniel Lee Hwang Daniel Lublin Daniel Marjamäki Daniel Melani Daniel Mentz |
︙ | ︙ | |||
553 554 555 556 557 558 559 560 561 562 563 564 565 566 | Davey Shafik David Bau David Benjamin David Binderman David Blaikie David Bohman David Byron David Cohen David Cook David Demelier David E. Narváez David Earl David Eriksson David Garske | > | 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 | Davey Shafik David Bau David Benjamin David Binderman David Blaikie David Bohman David Byron David Carlier David Cohen David Cook David Demelier David E. Narváez David Earl David Eriksson David Garske |
︙ | ︙ | |||
647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 | Dmitry Mikhirev Dmitry Popov Dmitry Rechkin Dmitry S. Baikov Dmitry Wagin dnivras on github Dolbneff A.V Domenico Andreoli Dominick Meglio Dominik Hölzl Dominique Leuenberger Don J Olmstead Dongliang Mu Doron Behar Doug Kaufman Doug Porter Douglas Creager | > > | 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 | Dmitry Mikhirev Dmitry Popov Dmitry Rechkin Dmitry S. Baikov Dmitry Wagin dnivras on github Dolbneff A.V Domen Kožar Domenico Andreoli Dominick Meglio Dominik Hölzl Dominik Thalhammer Dominique Leuenberger Don J Olmstead Dongliang Mu Doron Behar Doug Kaufman Doug Porter Douglas Creager |
︙ | ︙ | |||
671 672 673 674 675 676 677 678 679 680 681 682 683 684 | dpull on github Drake Arconis dtmsecurity on github Duane Cathey Duncan Mac-Vicar Prett Duncan Wilcox Dustin Boswell Dusty Mabe Duy Phan Thanh Dwarakanath Yadavalli Dylan Ellicott Dylan Salisbury Dániel Bakai Early Ehlinger | > | 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 | dpull on github Drake Arconis dtmsecurity on github Duane Cathey Duncan Mac-Vicar Prett Duncan Wilcox Dustin Boswell Dustin Howett Dusty Mabe Duy Phan Thanh Dwarakanath Yadavalli Dylan Ellicott Dylan Salisbury Dániel Bakai Early Ehlinger |
︙ | ︙ | |||
759 760 761 762 763 764 765 | Ethan Glasser Camp Etienne Simard Eugene Kotlyarov Evan Jordan Evangelos Foutras Even Rouault Evert Pot | | > | 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 | Ethan Glasser Camp Etienne Simard Eugene Kotlyarov Evan Jordan Evangelos Foutras Even Rouault Evert Pot Evgeny Grin (Karlson2k) Evgeny Turnaev eXeC64 on github Eygene Ryabinkin Eylem Ugurel Fabian Fischer Fabian Frank Fabian Hiernaux Fabian Keil Fabian Ruff Fabian Yamaguchi Fabrice Fontaine Fabrizio Ammollo |
︙ | ︙ | |||
909 910 911 912 913 914 915 916 917 918 919 920 921 922 | Guillaume Arluison guitared on github Gunter Knauf Gustaf Hui Gustavo Grieco Guy Poizat GwanYeong Kim Gwenole Beauchesne Gökhan Şengün Götz Babin-Ebell h1zzz on github H3RSKO on github Hagai Auro Haibo Huang | > | 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 | Guillaume Arluison guitared on github Gunter Knauf Gustaf Hui Gustavo Grieco Guy Poizat GwanYeong Kim Gwen Shapira Gwenole Beauchesne Gökhan Şengün Götz Babin-Ebell h1zzz on github H3RSKO on github Hagai Auro Haibo Huang |
︙ | ︙ | |||
954 955 956 957 958 959 960 961 962 963 964 965 966 967 | Henrik Holst Henrik Storner Henry Ludemann Henry Roeland Herve Amblard HexTheDragon Hidemoto Nakada Himanshu Gupta Ho-chi Chen Hoi-Ho Chan Hongli Lai Hongyi Zhao Howard Blaise Howard Chu | > | 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 | Henrik Holst Henrik Storner Henry Ludemann Henry Roeland Herve Amblard HexTheDragon Hidemoto Nakada highmtworks on github Himanshu Gupta Ho-chi Chen Hoi-Ho Chan Hongli Lai Hongyi Zhao Howard Blaise Howard Chu |
︙ | ︙ | |||
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 | Ironbars13 on github Irving Wolfe Isaac Boukris Isaiah Norton Ishan SinghLevett Ithubg on github Ivan Avdeev IvanoG on github Ivo Bellin Salarin iz8mbw on github J. Bromley Jack Boos Yu Jack Zhang Jackarain on github Jacky Lam Jacob Barthelmeh Jacob Hoffman-Andrews Jacob Meuser Jacob Moshenko Jactry Zeng Jad Chamcham Jaime Fullaondo jakirkham on github Jakub Bochenski Jakub Wilk Jakub Zakrzewski | > > | 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 | Ironbars13 on github Irving Wolfe Isaac Boukris Isaiah Norton Ishan SinghLevett Ithubg on github Ivan Avdeev Ivan Tsybulin IvanoG on github Ivo Bellin Salarin iz8mbw on github J. Bromley Jack Boos Yu Jack Zhang Jackarain on github Jacky Lam Jacob Barthelmeh Jacob Hoffman-Andrews Jacob Meuser Jacob Moshenko Jacob Tolar Jactry Zeng Jad Chamcham Jaime Fullaondo jakirkham on github Jakub Bochenski Jakub Wilk Jakub Zakrzewski |
︙ | ︙ | |||
1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 | Jesper Jensen Jesse Chisholm Jesse Noller Jesse Tan jethrogb on github jhoyla on github Jie He Jim Beveridge Jim Drash Jim Freeman Jim Fuller Jim Hollinger Jim Meyering Jimmy Gaussen | > | 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 | Jesper Jensen Jesse Chisholm Jesse Noller Jesse Tan jethrogb on github jhoyla on github Jie He Jilayne Lovejoy Jim Beveridge Jim Drash Jim Freeman Jim Fuller Jim Hollinger Jim Meyering Jimmy Gaussen |
︙ | ︙ | |||
1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 | Josef Wolf Joseph Chen Josh Bialkowski Josh Kapell Josh Soref joshhe on github Joshua Kwan Joshua Swink Josie Huddleston Josip Medved Josue Andrade Gomes José Joaquín Atria Jozef Kralik Juan Barreto | > | 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 | Josef Wolf Joseph Chen Josh Bialkowski Josh Kapell Josh Soref joshhe on github Joshua Kwan Joshua Root Joshua Swink Josie Huddleston Josip Medved Josue Andrade Gomes José Joaquín Atria Jozef Kralik Juan Barreto |
︙ | ︙ | |||
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 | Juro Bystricky Justin Clift Justin Ehlert Justin Fletcher Justin Karneges Justin Maggard jveazey on github jzinn on github János Fekete Jérémy Rocher Jörg Mueller-Tolk Jörn Hartroth Jürgen Gmach K. R. Walker ka7 on github Kael1117 on github Kai Engert Kai Noda Kai Sommerfeld Kai-Uwe Rommel Kalle Vahlman Kamil Dudka Kane York Kang Lin Kang-Jin Lee Kantanat Wannapaka Kari Pahula Karl Chen Karl Moerder | > > < | 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 | Juro Bystricky Justin Clift Justin Ehlert Justin Fletcher Justin Karneges Justin Maggard jveazey on github jvvprasad78 on github jzinn on github János Fekete Jérémy Rocher Jörg Mueller-Tolk Jörn Hartroth Jürgen Gmach K. R. Walker ka7 on github Kael1117 on github Kai Engert Kai Noda Kai Pastor Kai Sommerfeld Kai-Uwe Rommel Kalle Vahlman Kamil Dudka Kane York Kang Lin Kang-Jin Lee Kantanat Wannapaka Kari Pahula Karl Chen Karl Moerder Karol Pietrzak Kartik Mahajan Kaspar Brand Katie Wang Katsuhiko YOSHIDA Kazuho Oku Kees Cook |
︙ | ︙ | |||
1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 | Ling Thio Linos Giannopoulos Linus Lewandowski Linus Nielsen Feltzing Linus Nordberg Lior Kaplan Lisa Xu Liviu Chircu Liza Alenchery lllaffer on github Lloyd Fournier Lluís Batlle i Rossell locpyl-tidnyd on github Loganaden Velvindron | > | 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 | Ling Thio Linos Giannopoulos Linus Lewandowski Linus Nielsen Feltzing Linus Nordberg Lior Kaplan Lisa Xu Litter White Liviu Chircu Liza Alenchery lllaffer on github Lloyd Fournier Lluís Batlle i Rossell locpyl-tidnyd on github Loganaden Velvindron |
︙ | ︙ | |||
1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 | Luke Dashjr Luke Granger-Brown luminixinc on github Luo Jinghua Luong Dinh Dung Luz Paz Luật Nguyễn Lyman Epp Lyndon Hill M.R.T on github Maciej Karpiuk Maciej Puzio Maciej W. Rozycki madblobfish on github | > | 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 | Luke Dashjr Luke Granger-Brown luminixinc on github Luo Jinghua Luong Dinh Dung Luz Paz Luật Nguyễn lwthiker on github Lyman Epp Lyndon Hill M.R.T on github Maciej Karpiuk Maciej Puzio Maciej W. Rozycki madblobfish on github |
︙ | ︙ | |||
1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 | Marcelo Echeverria Marcelo Juchem Marcin Adamski Marcin Gryszkalis Marcin Konicki Marco Deckel Marco G. Salvagno Marco Maggi Marcos Diazr Marcus Hoffmann Marcus Klein Marcus Sundberg Marcus T Marcus Webster | > | 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 | Marcelo Echeverria Marcelo Juchem Marcin Adamski Marcin Gryszkalis Marcin Konicki Marco Deckel Marco G. Salvagno Marco Kamner Marco Maggi Marcos Diazr Marcus Hoffmann Marcus Klein Marcus Sundberg Marcus T Marcus Webster |
︙ | ︙ | |||
1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 | Marty Kuhrt Maruko Masaya Suzuki masbug on github Massimiliano Fantuzzi Massimiliano Ziccardi Massimo Callegari Mateusz Loskot Mathias Axelsson Mathias Gumz Mathieu Legare Matias N. Goldberg Mats Lidell Mats Lindestam | > | 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 | Marty Kuhrt Maruko Masaya Suzuki masbug on github Massimiliano Fantuzzi Massimiliano Ziccardi Massimo Callegari MasterInQuestion on github Mateusz Loskot Mathias Axelsson Mathias Gumz Mathieu Legare Matias N. Goldberg Mats Lidell Mats Lindestam |
︙ | ︙ | |||
1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 | Matteo Bignotti Matteo Bignottignotti Matteo Rocco Matthew Blain Matthew Clarke Matthew Hall Matthew Kerwin Matthew Whitehead Matthias Bolte Matthias Gatto Matthias Naegler Mattias Fornander Matus Uzak Maurice Barnum | > | 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 | Matteo Bignotti Matteo Bignottignotti Matteo Rocco Matthew Blain Matthew Clarke Matthew Hall Matthew Kerwin Matthew Thompson Matthew Whitehead Matthias Bolte Matthias Gatto Matthias Naegler Mattias Fornander Matus Uzak Maurice Barnum |
︙ | ︙ | |||
1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 | Michael Olbrich Michael Osipov Michael Schmid Michael Smith Michael Stapelberg Michael Steuer Michael Stillwell Michael Vittiglio Michael Wallner Michal Bonino Michal Marek Michal Rus Michal Trybus Michal Čaplygin | > | 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 | Michael Olbrich Michael Osipov Michael Schmid Michael Smith Michael Stapelberg Michael Steuer Michael Stillwell Michael Trebilcock Michael Vittiglio Michael Wallner Michal Bonino Michal Marek Michal Rus Michal Trybus Michal Čaplygin |
︙ | ︙ | |||
1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 | Muhammad Herdiansyah Muhammed Yavuz Nuzumlalı Murugan Balraj Muz Dima Myk Taylor Nach M. S. Nagai H naost3rn on github Nate Prewitt Nathan Coulter Nathan O'Sullivan Nathanael Nerode Nathaniel J. Smith Nathaniel R. Lewis | > | 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 | Muhammad Herdiansyah Muhammed Yavuz Nuzumlalı Murugan Balraj Muz Dima Myk Taylor Nach M. S. Nagai H Nao Yonashiro naost3rn on github Nate Prewitt Nathan Coulter Nathan O'Sullivan Nathanael Nerode Nathaniel J. Smith Nathaniel R. Lewis |
︙ | ︙ | |||
1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 | Oleguer Llopart Olen Andoni olesteban on github Oli Kingshott Oliver Gondža Oliver Graute Oliver Kuckertz Oliver Schindler Oliver Urbann Olivier Berger Olivier Brunel Omar Ramadan omau on github Orange Tsai Oren Souroujon Oren Tirosh Orgad Shaneh Ori Avtalion orycho on github osabc on github | > > | 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 | Oleguer Llopart Olen Andoni olesteban on github Oli Kingshott Oliver Gondža Oliver Graute Oliver Kuckertz Oliver Roberts Oliver Schindler Oliver Urbann Olivier Berger Olivier Brunel Omar Ramadan omau on github opensignature on github Orange Tsai Oren Souroujon Oren Tirosh Orgad Shaneh Ori Avtalion orycho on github osabc on github |
︙ | ︙ | |||
1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 | Pontus Lundkvist Pooyan McSporran Poul T Lomholt Pramod Sharma Prash Dush Praveen Pvs Prithvi MK Priyanka Shah Przemysław Tomaszewski pszemus on github puckipedia on github Puneet Pawaia qiandu2006 on github Quagmire | > | 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 | Pontus Lundkvist Pooyan McSporran Poul T Lomholt Pramod Sharma Prash Dush Praveen Pvs Prithvi MK privetryan on github Priyanka Shah Przemysław Tomaszewski pszemus on github puckipedia on github Puneet Pawaia qiandu2006 on github Quagmire |
︙ | ︙ | |||
2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 | Roman Koifman Roman Mamedov Romulo A. Ceccon Ron Eldor Ron Parker Ron Zapp Ronnie Mose Rosimildo da Silva Ross Burton Roy Bellingan Roy Li Roy Shan Rui LIU Rui Pinheiro | > | 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 | Roman Koifman Roman Mamedov Romulo A. Ceccon Ron Eldor Ron Parker Ron Zapp Ronnie Mose Rosen Penev Rosimildo da Silva Ross Burton Roy Bellingan Roy Li Roy Shan Rui LIU Rui Pinheiro |
︙ | ︙ | |||
2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 | Ryan Nelson Ryan Schmidt Ryan Scott Ryan Sleevi Ryan Winograd ryancaicse on github Ryuichi KAWAMATA Rémy Léone S. Moonesamy Sai Ram Kunala Salah-Eddin Shaban Saleem Abdulrasool Salvador Dávila Salvatore Sorrentino | > | 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 | Ryan Nelson Ryan Schmidt Ryan Scott Ryan Sleevi Ryan Winograd ryancaicse on github Ryuichi KAWAMATA rzrymiak on github Rémy Léone S. Moonesamy Sai Ram Kunala Salah-Eddin Shaban Saleem Abdulrasool Salvador Dávila Salvatore Sorrentino |
︙ | ︙ | |||
2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 | Steven Parkes Steven Penny Stewart Gebbie Stian Soiland-Reyes Stoned Elipot stootill on github Stuart Henderson SumatraPeter on github Sune Ahlgren Sunny Bean Sunny Purushe Sven Anders Sven Blumenstein Sven Neuhaus | > | 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 | Steven Parkes Steven Penny Stewart Gebbie Stian Soiland-Reyes Stoned Elipot stootill on github Stuart Henderson Sukanya Hanumanthu SumatraPeter on github Sune Ahlgren Sunny Bean Sunny Purushe Sven Anders Sven Blumenstein Sven Neuhaus |
︙ | ︙ | |||
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 | Taneli Vähäkangas Tanguy Fautre Taras Kushnir tarek112 on github Tatsuhiro Tsujikawa tawmoto on github tbugfinder on github Teemu Yli-Elsila Temprimus Terri Oda Terry Wu thanhchungbtc on github The Infinnovation team TheAssassin on github Theodore Dubois therealhirudo on github tholin on github Thomas Bouzerar Thomas Braun Thomas Danielsson Thomas Gamper Thomas Glanzmann Thomas Guillem Thomas J. Moore Thomas Klausner Thomas L. Shinnick Thomas Lopatic Thomas M. DuBuisson Thomas Petazzoni Thomas Ruecker Thomas Schwinge Thomas Tonino Thomas van Hesteren Thomas Vegas Thorsten Schöning Tiit Pikma Till Maas Tim Ansell Tim Baker Tim Bartley Tim Chen | > > > | 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 | Taneli Vähäkangas Tanguy Fautre Taras Kushnir tarek112 on github Tatsuhiro Tsujikawa tawmoto on github tbugfinder on github Ted Lyngmo Teemu Yli-Elsila Temprimus Terri Oda Terry Wu thanhchungbtc on github The Infinnovation team TheAssassin on github TheKnarf on github Theodore Dubois therealhirudo on github tholin on github Thomas Bouzerar Thomas Braun Thomas Danielsson Thomas Gamper Thomas Glanzmann Thomas Guillem Thomas J. Moore Thomas Klausner Thomas L. Shinnick Thomas Lopatic Thomas M. DuBuisson Thomas Petazzoni Thomas Ruecker Thomas Schwinge Thomas Tonino Thomas van Hesteren Thomas Vegas Thomas Weißschuh Thorsten Schöning Tiit Pikma Till Maas Tim Ansell Tim Baker Tim Bartley Tim Chen |
︙ | ︙ | |||
2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 | Tobias Blomberg Tobias Gabriel Tobias Hieta Tobias Hintze Tobias Lindgren Tobias Markus Tobias Nießen Tobias Nyholm Tobias Rundström Tobias Stoeckmann Toby Peterson Todd A Ouska Todd Kaufmann Todd Kulesza | > | 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 | Tobias Blomberg Tobias Gabriel Tobias Hieta Tobias Hintze Tobias Lindgren Tobias Markus Tobias Nießen Tobias Nygren Tobias Nyholm Tobias Rundström Tobias Stoeckmann Toby Peterson Todd A Ouska Todd Kaufmann Todd Kulesza |
︙ | ︙ | |||
2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 | Vlad Ureche Vladimir Grishchenko Vladimir Kotal Vladimir Lazarenko Vladimir Panteleev Vladimir Varlamov Vlastimil Ovčáčík Vojtech Janota Vojtech Minarik Vojtěch Král Volker Schmid Vsevolod Novikov vshmuk on hackerone vvb2060 on github | > | 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 | Vlad Ureche Vladimir Grishchenko Vladimir Kotal Vladimir Lazarenko Vladimir Panteleev Vladimir Varlamov Vlastimil Ovčáčík vlubart on github Vojtech Janota Vojtech Minarik Vojtěch Král Volker Schmid Vsevolod Novikov vshmuk on hackerone vvb2060 on github |
︙ | ︙ | |||
2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 | William Desportes wmsch on github wncboy on github Wojciech Zwiefka Wolf Vollprecht Wouter Van Rooy Wu Yongzheng Wyatt O'Day Wyatt OʼDay x2018 on github Xavier Bouchoux XhmikosR on github XhstormR on github Xiang Xiao | > | 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 | William Desportes wmsch on github wncboy on github Wojciech Zwiefka Wolf Vollprecht Wouter Van Rooy Wu Yongzheng Wu Zheng Wyatt O'Day Wyatt OʼDay x2018 on github Xavier Bouchoux XhmikosR on github XhstormR on github Xiang Xiao |
︙ | ︙ | |||
2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 | Yechiel Kalmenson Yehezkel Horowitz Yehoshua Hershberg ygthien on github Yi Huang Yiming Jing Yingwei Liu Ymir1711 on github Yonggang Luo Yongkang Huang Younes El-karama youngchopin on github Yousuke Kimoto Yu Xin | > | 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 | Yechiel Kalmenson Yehezkel Horowitz Yehoshua Hershberg ygthien on github Yi Huang Yiming Jing Yingwei Liu yiyuaner on github Ymir1711 on github Yonggang Luo Yongkang Huang Younes El-karama youngchopin on github Yousuke Kimoto Yu Xin |
︙ | ︙ | |||
2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 | ZimCodes on github zloi-user on github Zmey Petroff Zvi Har'El zzq1015 on github Ádler Jonas Gross Érico Nogueira İsmail Dönmez Łukasz Domeradzki Štefan Kremeň Борис Верховский Коваленко Анатолий Викторович Никита Дорохин ウさん 不确定 加藤郁之 梦终无痕 | > | 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 | ZimCodes on github zloi-user on github Zmey Petroff Zvi Har'El zzq1015 on github Ádler Jonas Gross Érico Nogueira Érico Nogueira Rolim İsmail Dönmez Łukasz Domeradzki Štefan Kremeň Борис Верховский Коваленко Анатолий Викторович Никита Дорохин ウさん 不确定 加藤郁之 梦终无痕 |
Changes to jni/curl/docs/cmdline-opts/Makefile.in.
︙ | ︙ | |||
134 135 136 137 138 139 140 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = docs/cmdline-opts ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | | < | 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = docs/cmdline-opts ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \ $(top_srcdir)/m4/curl-bearssl.m4 \ $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-gnutls.m4 \ $(top_srcdir)/m4/curl-mbedtls.m4 $(top_srcdir)/m4/curl-nss.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ |
︙ | ︙ | |||
335 336 337 338 339 340 341 342 343 344 345 346 347 348 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ | > | 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ |
︙ | ︙ |
Changes to jni/curl/docs/cmdline-opts/capath.d.
1 2 3 4 5 6 7 8 9 10 11 12 13 | c: Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. SPDX-License-Identifier: curl Long: capath Arg: <dir> Help: CA directory to verify peer against Protocols: TLS Category: tls See-also: cacert insecure Example: --capath /local/directory $URL Added: 7.9.8 --- Tells curl to use the specified certificate directory to verify the peer. Multiple paths can be provided by separating them with ":" (e.g. | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | c: Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. SPDX-License-Identifier: curl Long: capath Arg: <dir> Help: CA directory to verify peer against Protocols: TLS Category: tls See-also: cacert insecure Example: --capath /local/directory $URL Added: 7.9.8 --- Tells curl to use the specified certificate directory to verify the peer. Multiple paths can be provided by separating them with ":" (e.g. "path1:path2:path3"). The certificates must be in PEM format, and if curl is built against OpenSSL, the directory must have been processed using the c_rehash utility supplied with OpenSSL. Using --capath can allow OpenSSL-powered curl to make SSL-connections much more efficiently than using --cacert if the --cacert file contains many CA certificates. If this option is set, the default capath value will be ignored, and if it is used several times, the last one will be used. |
Changes to jni/curl/docs/cmdline-opts/cert.d.
︙ | ︙ | |||
10 11 12 13 14 15 16 | Example: --cert certfile --key keyfile $URL Added: 5.0 --- Tells curl to use the specified client certificate file when getting a file with HTTPS, FTPS or another SSL-based protocol. The certificate must be in PKCS#12 format if using Secure Transport, or PEM format if using any other engine. If the optional password is not specified, it will be queried for on | | | > > > > > > | > | < < < | 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 | Example: --cert certfile --key keyfile $URL Added: 5.0 --- Tells curl to use the specified client certificate file when getting a file with HTTPS, FTPS or another SSL-based protocol. The certificate must be in PKCS#12 format if using Secure Transport, or PEM format if using any other engine. If the optional password is not specified, it will be queried for on the terminal. Note that this option assumes a certificate file that is the private key and the client certificate concatenated. See --cert and --key to specify them independently. In the <certificate> portion of the argument, you must escape the character ":" as "\\:" so that it is not recognized as the password delimiter. Similarly, you must escape the character "\\" as "\\\\" so that it is not recognized as an escape character. If curl is built against the NSS SSL library then this option can tell curl the nickname of the certificate to use within the NSS database defined by the environment variable SSL_DIR (or by default /etc/pki/nssdb). If the NSS PEM PKCS#11 module (libnsspem.so) is available then PEM files may be loaded. If you provide a path relative to the current directory, you must prefix the path with "./" in order to avoid confusion with an NSS database nickname. If curl is built against OpenSSL library, and the engine pkcs11 is available, then a PKCS#11 URI (RFC 7512) can be used to specify a certificate located in a PKCS#11 device. A string beginning with "pkcs11:" will be interpreted as a PKCS#11 URI. If a PKCS#11 URI is provided, then the --engine option will be set as "pkcs11" if none was provided and the --cert-type option will be set as "ENG" if none was provided. |
︙ | ︙ |
Changes to jni/curl/docs/cmdline-opts/data.d.
︙ | ︙ | |||
21 22 23 24 25 26 27 | --data-raw is almost the same but does not have a special interpretation of the @ character. To post data purely binary, you should instead use the --data-binary option. To URL-encode the value of a form field you may use --data-urlencode. If any of these options is used more than once on the same command line, the data pieces specified will be merged with a separating &-symbol. Thus, using | | | | | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | --data-raw is almost the same but does not have a special interpretation of the @ character. To post data purely binary, you should instead use the --data-binary option. To URL-encode the value of a form field you may use --data-urlencode. If any of these options is used more than once on the same command line, the data pieces specified will be merged with a separating &-symbol. Thus, using '-d name=daniel -d skill=lousy' would generate a post chunk that looks like 'name=daniel&skill=lousy'. If you start the data with the letter @, the rest should be a file name to read the data from, or - if you want curl to read the data from stdin. Posting data from a file named 'foobar' would thus be done with --data @foobar. When --data is told to read from a file like that, carriage returns and newlines will be stripped out. If you do not want the @ character to have a special interpretation use --data-raw instead. |
Changes to jni/curl/docs/cmdline-opts/doh-url.d.
︙ | ︙ | |||
11 12 13 14 15 16 17 18 19 | Specifies which DNS-over-HTTPS (DoH) server to use to resolve hostnames, instead of using the default name resolver mechanism. The URL must be HTTPS. Some SSL options that you set for your transfer will apply to DoH since the name lookups take place over SSL. However, the certificate verification settings are not inherited and can be controlled separately via --doh-insecure and --doh-cert-status. If this option is used several times, the last one will be used. | > > > | 11 12 13 14 15 16 17 18 19 20 21 22 | Specifies which DNS-over-HTTPS (DoH) server to use to resolve hostnames, instead of using the default name resolver mechanism. The URL must be HTTPS. Some SSL options that you set for your transfer will apply to DoH since the name lookups take place over SSL. However, the certificate verification settings are not inherited and can be controlled separately via --doh-insecure and --doh-cert-status. This option is unset if an empty string "" is used as the URL. (Added in 7.85.0) If this option is used several times, the last one will be used. |
Changes to jni/curl/docs/cmdline-opts/fail-with-body.d.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | c: Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. SPDX-License-Identifier: curl Long: fail-with-body Protocols: HTTP Help: Fail on HTTP errors but save the body Category: http output Added: 7.76.0 See-also: fail Example: --fail-with-body $URL --- Return an error on server errors where the HTTP response code is 400 or greater). In normal cases when an HTTP server fails to deliver a document, it returns an HTML document stating so (which often also describes why and more). This flag will still allow curl to output and save that content but also to return error 22. | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | c: Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. SPDX-License-Identifier: curl Long: fail-with-body Protocols: HTTP Help: Fail on HTTP errors but save the body Category: http output Added: 7.76.0 See-also: fail Mutexed: fail Example: --fail-with-body $URL --- Return an error on server errors where the HTTP response code is 400 or greater). In normal cases when an HTTP server fails to deliver a document, it returns an HTML document stating so (which often also describes why and more). This flag will still allow curl to output and save that content but also to return error 22. |
︙ | ︙ |
Changes to jni/curl/docs/cmdline-opts/fail.d.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | c: Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. SPDX-License-Identifier: curl Long: fail Short: f Protocols: HTTP Help: Fail fast with no output on HTTP errors See-also: fail-with-body Category: important http Example: --fail $URL Added: 4.0 --- Fail fast with no output at all on server errors. This is useful to enable scripts and users to better deal with failed attempts. In normal cases when an HTTP server fails to deliver a document, it returns an HTML document stating so (which often also describes why and more). This flag will prevent curl from outputting that and return error 22. | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | c: Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. SPDX-License-Identifier: curl Long: fail Short: f Protocols: HTTP Help: Fail fast with no output on HTTP errors See-also: fail-with-body Category: important http Example: --fail $URL Mutexed: fail-with-body Added: 4.0 --- Fail fast with no output at all on server errors. This is useful to enable scripts and users to better deal with failed attempts. In normal cases when an HTTP server fails to deliver a document, it returns an HTML document stating so (which often also describes why and more). This flag will prevent curl from outputting that and return error 22. |
︙ | ︙ |
Changes to jni/curl/docs/cmdline-opts/form-escape.d.
1 2 3 4 5 6 7 | c: Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. SPDX-License-Identifier: curl Long: form-escape Help: Escape multipart form field/file names using backslash Protocols: HTTP See-also: form Added: 7.81.0 | | | | 1 2 3 4 5 6 7 8 9 10 11 12 | c: Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. SPDX-License-Identifier: curl Long: form-escape Help: Escape multipart form field/file names using backslash Protocols: HTTP See-also: form Added: 7.81.0 Category: http upload Example: --form-escape -F 'field\\name=curl' -F 'file=@load"this' $URL --- Tells curl to pass on names of multipart form fields and files using backslash-escaping instead of percent-encoding. |
Changes to jni/curl/docs/cmdline-opts/form-string.d.
1 2 3 4 5 6 7 8 9 10 11 12 | c: Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. SPDX-License-Identifier: curl Long: form-string Help: Specify multipart MIME data Protocols: HTTP SMTP IMAP Arg: <name=string> See-also: form Category: http upload Example: --form-string "data" $URL Added: 7.13.2 --- Similar to --form except that the value string for the named parameter is used | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | c: Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. SPDX-License-Identifier: curl Long: form-string Help: Specify multipart MIME data Protocols: HTTP SMTP IMAP Arg: <name=string> See-also: form Category: http upload Example: --form-string "data" $URL Added: 7.13.2 --- Similar to --form except that the value string for the named parameter is used literally. Leading '@' and '<' characters, and the ';type=' string in the value have no special meaning. Use this in preference to --form if there's any possibility that the string value may accidentally trigger the '@' or '<' features of --form. |
Changes to jni/curl/docs/cmdline-opts/form.d.
︙ | ︙ | |||
30 31 32 33 34 35 36 | contents is buffered in memory first by curl to determine its size and allow a possible resend. Defining a part's data from a named non-regular file (such as a named pipe or similar) is unfortunately not subject to buffering and will be effectively read at transmission time; since the full size is unknown before the transfer starts, such data is sent as chunks by HTTP and rejected by IMAP. | | | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | contents is buffered in memory first by curl to determine its size and allow a possible resend. Defining a part's data from a named non-regular file (such as a named pipe or similar) is unfortunately not subject to buffering and will be effectively read at transmission time; since the full size is unknown before the transfer starts, such data is sent as chunks by HTTP and rejected by IMAP. Example: send an image to an HTTP server, where 'profile' is the name of the form-field to which the file portrait.jpg will be the input: curl -F profile=@portrait.jpg https://example.com/upload.cgi Example: send your name and shoe size in two text fields to the server: curl -F name=John -F shoesize=11 https://example.com/ |
︙ | ︙ |
Changes to jni/curl/docs/cmdline-opts/ftp-method.d.
︙ | ︙ | |||
19 20 21 22 23 24 25 | hierarchies this means many commands. This is how RFC 1738 says it should be done. This is the default but the slowest behavior. .IP nocwd curl does no CWD at all. curl will do SIZE, RETR, STOR etc and give a full path to the server for all these commands. This is the fastest behavior. .IP singlecwd curl does one CWD with the full target directory and then operates on the file | | | 19 20 21 22 23 24 25 26 27 28 | hierarchies this means many commands. This is how RFC 1738 says it should be done. This is the default but the slowest behavior. .IP nocwd curl does no CWD at all. curl will do SIZE, RETR, STOR etc and give a full path to the server for all these commands. This is the fastest behavior. .IP singlecwd curl does one CWD with the full target directory and then operates on the file "normally" (like in the multicwd case). This is somewhat more standards compliant than 'nocwd' but without the full penalty of 'multicwd'. .RE |
Changes to jni/curl/docs/cmdline-opts/ftp-port.d.
︙ | ︙ | |||
29 30 31 32 33 34 35 | connection .RE If this option is used several times, the last one will be used. Disable the use of PORT with --ftp-pasv. Disable the attempt to use the EPRT command instead of PORT by using --disable-eprt. EPRT is really PORT++. | | | 29 30 31 32 33 34 35 36 37 38 39 40 | connection .RE If this option is used several times, the last one will be used. Disable the use of PORT with --ftp-pasv. Disable the attempt to use the EPRT command instead of PORT by using --disable-eprt. EPRT is really PORT++. You can also append ":[start]-[end]\&" to the right of the address, to tell curl what TCP port range to use. That means you specify a port range, from a lower to a higher number. A single number works as well, but do note that it increases the risk of failure since the port may not be available. (Added in 7.19.5) |
Changes to jni/curl/docs/cmdline-opts/gen.pl.
︙ | ︙ | |||
99 100 101 102 103 104 105 | } elsif($exam && ($d !~ /^ /)) { # end of example $exam = 0; print ".fi\n"; # fill-in } # skip lines starting with space (examples) | | | | > > | 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 | } elsif($exam && ($d !~ /^ /)) { # end of example $exam = 0; print ".fi\n"; # fill-in } # skip lines starting with space (examples) if($d =~ /^[^ ]/ && $d =~ /--/) { for my $k (keys %optlong) { my $l = manpageify($k); $d =~ s/--\Q$k\E([^a-z0-9_-])([^a-zA-Z0-9_])/$l$1$2/; } } # quote "bare" minuses in the output $d =~ s/( |\\fI|^)--/$1\\-\\-/g; $d =~ s/([ -]|\\fI|^)-/$1\\-/g; # handle single quotes first on the line $d =~ s/^(\s*)\'/$1\\(aq/; # handle double quotes first on the line $d =~ s/^(\s*)\"/$1\\(dq/; print $d; } if($exam) { print ".fi\n"; # fill-in } } |
︙ | ︙ |
Changes to jni/curl/docs/cmdline-opts/header.d.
︙ | ︙ | |||
15 16 17 18 19 20 21 | Extra header to include in the request when sending HTTP to a server. You may specify any number of extra headers. Note that if you should add a custom header that has the same name as one of the internal ones curl would use, your externally set header will be used instead of the internal one. This allows you to make even trickier stuff than curl would normally do. You should not replace internally set headers without knowing perfectly well what you are doing. Remove an internal header by giving a replacement without content on | | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | Extra header to include in the request when sending HTTP to a server. You may specify any number of extra headers. Note that if you should add a custom header that has the same name as one of the internal ones curl would use, your externally set header will be used instead of the internal one. This allows you to make even trickier stuff than curl would normally do. You should not replace internally set headers without knowing perfectly well what you are doing. Remove an internal header by giving a replacement without content on the right side of the colon, as in: -H "Host:". If you send the custom header with no-value then its header must be terminated with a semicolon, such as \-H "X-Custom-Header;" to send "X-Custom-Header:". curl will make sure that each header you add/replace is sent with the proper end-of-line marker, you should thus **not** add that as a part of the header content: do not add newlines or carriage returns, they will only mess things up for you. This option can take an argument in @filename style, which then adds a header |
︙ | ︙ |
Changes to jni/curl/docs/cmdline-opts/insecure.d.
︙ | ︙ | |||
18 19 20 21 22 23 24 | the right name which matches the host name used in the URL and that the certificate has been signed by a CA certificate present in the cert store. See this online resource for further details: https://curl.se/docs/sslcerts.html For SFTP and SCP, this option makes curl skip the *known_hosts* verification. *known_hosts* is a file normally stored in the user's home directory in the | | | 18 19 20 21 22 23 24 25 26 27 | the right name which matches the host name used in the URL and that the certificate has been signed by a CA certificate present in the cert store. See this online resource for further details: https://curl.se/docs/sslcerts.html For SFTP and SCP, this option makes curl skip the *known_hosts* verification. *known_hosts* is a file normally stored in the user's home directory in the ".ssh" subdirectory, which contains host names and their public keys. **WARNING**: using this option makes the transfer insecure. |
Changes to jni/curl/docs/cmdline-opts/json.d.
︙ | ︙ | |||
21 22 23 24 25 26 27 | --header "Accept: application/json" There is **no verification** that the passed in data is actual JSON or that the syntax is correct. If you start the data with the letter @, the rest should be a file name to read the data from, or a single dash (-) if you want curl to read the data | | | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | --header "Accept: application/json" There is **no verification** that the passed in data is actual JSON or that the syntax is correct. If you start the data with the letter @, the rest should be a file name to read the data from, or a single dash (-) if you want curl to read the data from stdin. Posting data from a file named 'foobar' would thus be done with --json @foobar and to instead read the data from stdin, use --json @-. If this option is used more than once on the same command line, the additional data pieces will be concatenated to the previous before sending. The headers this option sets can be overridden with --header as usual. |
Changes to jni/curl/docs/cmdline-opts/key.d.
1 2 3 4 5 6 7 8 9 10 11 12 13 | c: Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. SPDX-License-Identifier: curl Long: key Arg: <key> Protocols: TLS SSH Help: Private key file name Category: tls ssh Example: --cert certificate --key here $URL Added: 7.9.3 See-also: key-type cert --- Private key file name. Allows you to provide your private key in this separate file. For SSH, if not specified, curl tries the following candidates in order: | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | c: Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. SPDX-License-Identifier: curl Long: key Arg: <key> Protocols: TLS SSH Help: Private key file name Category: tls ssh Example: --cert certificate --key here $URL Added: 7.9.3 See-also: key-type cert --- Private key file name. Allows you to provide your private key in this separate file. For SSH, if not specified, curl tries the following candidates in order: '~/.ssh/id_rsa', '~/.ssh/id_dsa', './id_rsa', './id_dsa'. If curl is built against OpenSSL library, and the engine pkcs11 is available, then a PKCS#11 URI (RFC 7512) can be used to specify a private key located in a PKCS#11 device. A string beginning with "pkcs11:" will be interpreted as a PKCS#11 URI. If a PKCS#11 URI is provided, then the --engine option will be set as "pkcs11" if none was provided and the --key-type option will be set as "ENG" if none was provided. |
︙ | ︙ |
Changes to jni/curl/docs/cmdline-opts/netrc.d.
︙ | ︙ | |||
13 14 15 16 17 18 19 | Unix. If used with HTTP, curl will enable user authentication. See *netrc(5)* and *ftp(1)* for details on the file format. Curl will not complain if that file does not have the right permissions (it should be neither world- nor group-readable). The environment variable "HOME" is used to find the home directory. A quick and simple example of how to setup a *.netrc* to allow curl to FTP to | | | | 13 14 15 16 17 18 19 20 21 22 23 24 25 | Unix. If used with HTTP, curl will enable user authentication. See *netrc(5)* and *ftp(1)* for details on the file format. Curl will not complain if that file does not have the right permissions (it should be neither world- nor group-readable). The environment variable "HOME" is used to find the home directory. A quick and simple example of how to setup a *.netrc* to allow curl to FTP to the machine host.domain.com with user name 'myself' and password 'secret' could look similar to: machine host.domain.com login myself password secret |
Changes to jni/curl/docs/cmdline-opts/noproxy.d.
︙ | ︙ | |||
13 14 15 16 17 18 19 | and effectively disables the proxy. Each name in this list is matched as either a domain which contains the hostname, or the hostname itself. For example, local.com would match local.com, local.com:80, and www.local.com, but not www.notlocal.com. Since 7.53.0, This option overrides the environment variables that disable the proxy ('no_proxy' and 'NO_PROXY'). If there's an environment variable | | | 13 14 15 16 17 18 19 20 | and effectively disables the proxy. Each name in this list is matched as either a domain which contains the hostname, or the hostname itself. For example, local.com would match local.com, local.com:80, and www.local.com, but not www.notlocal.com. Since 7.53.0, This option overrides the environment variables that disable the proxy ('no_proxy' and 'NO_PROXY'). If there's an environment variable disabling a proxy, you can set the noproxy list to "" to override it. |
Changes to jni/curl/docs/cmdline-opts/page-footer.
︙ | ︙ | |||
18 19 20 21 22 23 24 | Sets the proxy server to use for [url-protocol], where the protocol is a protocol that curl supports and as specified in a URL. FTP, FTPS, POP3, IMAP, SMTP, LDAP, etc. .IP "ALL_PROXY [protocol://]<host>[:port]" Sets the proxy server to use if no protocol-specific proxy is set. .IP "NO_PROXY <comma-separated list of hosts/domains>" list of host names that should not go through any proxy. If set to an asterisk | | | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | Sets the proxy server to use for [url-protocol], where the protocol is a protocol that curl supports and as specified in a URL. FTP, FTPS, POP3, IMAP, SMTP, LDAP, etc. .IP "ALL_PROXY [protocol://]<host>[:port]" Sets the proxy server to use if no protocol-specific proxy is set. .IP "NO_PROXY <comma-separated list of hosts/domains>" list of host names that should not go through any proxy. If set to an asterisk '*' only, it matches all hosts. Each name in this list is matched as either a domain name which contains the hostname, or the hostname itself. This environment variable disables use of the proxy even when specified with the --proxy option. That is .B NO_PROXY=direct.example.com curl -x http://proxy.example.com .B http://direct.example.com accesses the target URL directly, and |
︙ | ︙ | |||
213 214 215 216 217 218 219 | Too many redirects. When following redirects, curl hit the maximum amount. .IP 48 Unknown option specified to libcurl. This indicates that you passed a weird option to curl that was passed on to libcurl and rejected. Read up in the manual! .IP 49 Malformed telnet option. | < < < < | 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 | Too many redirects. When following redirects, curl hit the maximum amount. .IP 48 Unknown option specified to libcurl. This indicates that you passed a weird option to curl that was passed on to libcurl and rejected. Read up in the manual! .IP 49 Malformed telnet option. .IP 52 The server did not reply anything, which here is considered an error. .IP 53 SSL crypto engine not found. .IP 54 Cannot set SSL crypto engine as default. .IP 55 Failed sending network data. .IP 56 Failure in receiving network data. .IP 58 Problem with the local certificate. .IP 59 Could not use specified SSL cipher. .IP 60 Peer certificate cannot be authenticated with known CA certificates. .IP 61 Unrecognized transfer encoding. .IP 63 Maximum file size exceeded. .IP 64 Requested FTP SSL level failed. .IP 65 Sending the data requires a rewind that failed. .IP 66 |
︙ | ︙ | |||
259 260 261 262 263 264 265 | Illegal TFTP operation. .IP 72 Unknown TFTP transfer ID. .IP 73 File already exists (TFTP). .IP 74 No such user (TFTP). | < < < < | 255 256 257 258 259 260 261 262 263 264 265 266 267 268 | Illegal TFTP operation. .IP 72 Unknown TFTP transfer ID. .IP 73 File already exists (TFTP). .IP 74 No such user (TFTP). .IP 77 Problem reading the SSL CA cert (path? access rights?). .IP 78 The resource referenced in the URL does not exist. .IP 79 An unspecified error occurred during the SSH session. .IP 80 |
︙ | ︙ |
Changes to jni/curl/docs/cmdline-opts/proto.d.
1 2 3 4 5 6 7 8 9 10 11 12 | c: Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. SPDX-License-Identifier: curl Long: proto Arg: <protocols> Help: Enable/disable PROTOCOLS See-also: proto-redir proto-default Added: 7.20.2 Category: connection curl Example: --proto =http,https,sftp $URL --- Tells curl to limit what protocols it may use for transfers. Protocols are evaluated left to right, are comma separated, and are each a protocol name or | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | c: Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. SPDX-License-Identifier: curl Long: proto Arg: <protocols> Help: Enable/disable PROTOCOLS See-also: proto-redir proto-default Added: 7.20.2 Category: connection curl Example: --proto =http,https,sftp $URL --- Tells curl to limit what protocols it may use for transfers. Protocols are evaluated left to right, are comma separated, and are each a protocol name or 'all', optionally prefixed by zero or more modifiers. Available modifiers are: .RS .TP 3 .B + Permit this protocol in addition to protocols already permitted (this is the default if no modifier is used). .TP .B - |
︙ | ︙ |
Changes to jni/curl/docs/cmdline-opts/proxy.d.
︙ | ︙ | |||
26 27 28 29 30 31 32 | Prior versions may ignore the protocol and use http:// instead. If the port number is not specified in the proxy string, it is assumed to be 1080. This option overrides existing environment variables that set the proxy to use. If there's an environment variable setting a proxy, you can set proxy to | | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | Prior versions may ignore the protocol and use http:// instead. If the port number is not specified in the proxy string, it is assumed to be 1080. This option overrides existing environment variables that set the proxy to use. If there's an environment variable setting a proxy, you can set proxy to "" to override it. All operations that are performed over an HTTP proxy will transparently be converted to HTTP. It means that certain protocol specific operations might not be available. This is not the case if you can tunnel through the proxy, as one with the --proxytunnel option. User and password that might be provided in the proxy string are URL decoded |
︙ | ︙ |
Changes to jni/curl/docs/cmdline-opts/range.d.
︙ | ︙ | |||
34 35 36 37 38 39 40 | .RE .IP (*) = NOTE that this will cause the server to reply with a multipart response, which will be returned as-is by curl! Parsing or otherwise transforming this response is the responsibility of the caller. Only digit characters (0-9) are valid in the 'start' and 'stop' fields of the | | | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | .RE .IP (*) = NOTE that this will cause the server to reply with a multipart response, which will be returned as-is by curl! Parsing or otherwise transforming this response is the responsibility of the caller. Only digit characters (0-9) are valid in the 'start' and 'stop' fields of the 'start-stop' range syntax. If a non-digit character is given in the range, the server's response will be unspecified, depending on the server's configuration. You should also be aware that many HTTP/1.1 servers do not have this feature enabled, so that when you attempt to get a range, you will instead get the whole document. |
︙ | ︙ |
Changes to jni/curl/docs/cmdline-opts/referer.d.
︙ | ︙ | |||
11 12 13 14 15 16 17 | Example: --referer "https://fake.example;auto" -L $URL Example: --referer ";auto" -L $URL Added: 4.0 --- Sends the "Referrer Page" information to the HTTP server. This can also be set with the --header flag of course. When used with --location you can append ";auto" to the --referer URL to make curl automatically set the previous URL | | | 11 12 13 14 15 16 17 18 19 20 21 | Example: --referer "https://fake.example;auto" -L $URL Example: --referer ";auto" -L $URL Added: 4.0 --- Sends the "Referrer Page" information to the HTTP server. This can also be set with the --header flag of course. When used with --location you can append ";auto" to the --referer URL to make curl automatically set the previous URL when it follows a Location: header. The ";auto" string can be used alone, even if you do not set an initial --referer. If this option is used several times, the last one will be used. |
Changes to jni/curl/docs/cmdline-opts/resolve.d.
1 2 3 4 5 6 | c: Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. SPDX-License-Identifier: curl Long: resolve Arg: <[+]host:port:addr[,addr]...> Help: Resolve the host+port to this address Added: 7.21.3 | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | c: Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. SPDX-License-Identifier: curl Long: resolve Arg: <[+]host:port:addr[,addr]...> Help: Resolve the host+port to this address Added: 7.21.3 Category: connection dns Example: --resolve example.com:443:127.0.0.1 $URL See-also: connect-to alt-svc --- Provide a custom address for a specific host and port pair. Using this, you can make the curl requests(s) use a specified address and prevent the otherwise normally resolved address to be used. Consider it a sort of /etc/hosts alternative provided on the command line. The port number should be |
︙ | ︙ |
Changes to jni/curl/docs/curl-config.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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH curl-config 1 "May 17, 2022" "Curl 7.85.0" "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.
︙ | ︙ | |||
20 21 22 23 24 25 26 | .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .\" DO NOT EDIT. Generated by the curl project gen.pl man page generator. .\" | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .\" DO NOT EDIT. Generated by the curl project gen.pl man page generator. .\" .TH curl 1 "August 30 2022" "curl 7.85.0" "curl Manual" .SH NAME curl \- transfer a URL .SH SYNOPSIS .B curl [options / URLs] .SH DESCRIPTION \fBcurl\fP is a tool for transferring data from or to a server. It supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, |
︙ | ︙ | |||
47 48 49 50 51 52 53 | The URL syntax is protocol-dependent. You find a detailed description in RFC 3986. You can specify multiple URLs or parts of URLs by writing part sets within braces and quoting the URL as in: .nf | | | | | | | | | | | 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 | The URL syntax is protocol-dependent. You find a detailed description in RFC 3986. You can specify multiple URLs or parts of URLs by writing part sets within braces and quoting the URL as in: .nf \(dqhttp://site.{one,two,three}.com" .fi or you can get sequences of alphanumeric series by using [] as in: .nf \(dqftp://ftp.example.com/file[1-100].txt" .fi .nf \(dqftp://ftp.example.com/file[001-100].txt" (with leading zeros) .fi .nf \(dqftp://ftp.example.com/file[a-z].txt" .fi Nested sequences are not supported, but you can use several ones next to each other: .nf \(dqhttp://example.com/archive[1996-1999]/vol[1-4]/part{a,b,c}.html" .fi You can specify any amount of URLs on the command line. They will be fetched in a sequential manner in the specified order. You can specify command line options and URLs mixed and in any order on the command line. You can specify a step counter for the ranges to get every Nth number or letter: .nf \(dqhttp://example.com/file[1-100:10].txt" .fi .nf \(dqhttp://example.com/file[a-z:2].txt" .fi When using [] or {} sequences when invoked from a command line prompt, you probably have to put the full URL within double quotes to avoid the shell from interfering with it. This also goes for other characters treated special, like for example '&', '?' and '*'. Provide the IPv6 zone index in the URL with an escaped percentage sign and the interface name. Like in .nf \(dqhttp://[fe80::3%25eth0]/" .fi If you specify URL without protocol:// prefix, curl will attempt to guess what protocol you might want. It will then default to HTTP but try other protocols based on often-used host name prefixes. For example, for host names starting with "ftp." curl will assume you want to speak FTP. |
︙ | ︙ | |||
211 212 213 214 215 216 217 | In general, all boolean options are enabled with \-\-\fBoption\fP and yet again disabled with \-\-\fBno-\fPoption. That is, you use the same option name but prefix it with "no-". However, in this list we mostly only list and show the \-\-option version of them. .IP "\-\-abstract-unix-socket <path>" (HTTP) Connect through an abstract Unix domain socket, instead of using the network. | | | 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 | In general, all boolean options are enabled with \-\-\fBoption\fP and yet again disabled with \-\-\fBno-\fPoption. That is, you use the same option name but prefix it with "no-". However, in this list we mostly only list and show the \-\-option version of them. .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. Example: .nf curl --abstract-unix-socket socketpath https://example.com .fi |
︙ | ︙ | |||
307 308 309 310 311 312 313 | See also \fI--proxy-basic\fP. .IP "\-\-cacert <file>" (TLS) Tells curl to use the specified certificate file to verify the peer. The file may contain multiple CA certificates. The certificate(s) must be in PEM format. Normally curl is built to use a default file for this, so this option is typically used to alter that default file. | | | | | | 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 | See also \fI--proxy-basic\fP. .IP "\-\-cacert <file>" (TLS) Tells curl to use the specified certificate file to verify the peer. The file may contain multiple CA certificates. The certificate(s) must be in PEM format. Normally curl is built to use a default file for this, so this option is typically used to alter that default file. curl recognizes the environment variable named 'CURL_CA_BUNDLE' if it is set, and uses the given path as a path to a CA cert bundle. This option overrides that variable. The windows version of curl will automatically look for a CA certs file named \(aqcurl-ca-bundle.crt', either in the same directory as curl.exe, or in the Current Working Directory, or in any folder along your PATH. If curl is built against the NSS SSL library, the NSS PEM PKCS#11 module (libnsspem.so) needs to be available for this option to work properly. (iOS and macOS only) If curl is built against Secure Transport, then this option is supported for backward compatibility with other SSL engines, but it should not be set. If the option is not set, then curl will use the certificates in the system and user Keychain to verify the peer, which is the preferred method of verifying the peer's certificate chain. (Schannel only) This option is supported for Schannel in Windows 7 or later with libcurl 7.60 or later. This option is supported for backward compatibility with other SSL engines; instead it is recommended to use Windows' store of root certificates (the default for Schannel). If this option is used several times, the last one will be used. Example: .nf curl --cacert CA-file.txt https://example.com .fi See also \fI--capath\fP and \fI-k, --insecure\fP. .IP "\-\-capath <dir>" (TLS) Tells curl to use the specified certificate directory to verify the peer. Multiple paths can be provided by separating them with ":" (e.g. \(dqpath1:path2:path3"). The certificates must be in PEM format, and if curl is built against OpenSSL, the directory must have been processed using the c_rehash utility supplied with OpenSSL. Using \-\-capath can allow OpenSSL-powered curl to make SSL-connections much more efficiently than using \-\-cacert if the \-\-cacert file contains many CA certificates. If this option is set, the default capath value will be ignored, and if it is used several times, the last one will be used. |
︙ | ︙ | |||
392 393 394 395 396 397 398 | See also \fI-E, --cert\fP, \fI--key\fP and \fI--key-type\fP. .IP "\-E, \-\-cert <certificate[:password]>" (TLS) Tells curl to use the specified client certificate file when getting a file with HTTPS, FTPS or another SSL-based protocol. The certificate must be in PKCS#12 format if using Secure Transport, or PEM format if using any other engine. If the optional password is not specified, it will be queried for on | | | > > > > > > | > | < < < | | | | 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 | See also \fI-E, --cert\fP, \fI--key\fP and \fI--key-type\fP. .IP "\-E, \-\-cert <certificate[:password]>" (TLS) Tells curl to use the specified client certificate file when getting a file with HTTPS, FTPS or another SSL-based protocol. The certificate must be in PKCS#12 format if using Secure Transport, or PEM format if using any other engine. If the optional password is not specified, it will be queried for on the terminal. Note that this option assumes a certificate file that is the private key and the client certificate concatenated. See \-\-cert and \-\-key to specify them independently. In the <certificate> portion of the argument, you must escape the character ":" as "\\:" so that it is not recognized as the password delimiter. Similarly, you must escape the character "\\" as "\\\\" so that it is not recognized as an escape character. If curl is built against the NSS SSL library then this option can tell curl the nickname of the certificate to use within the NSS database defined by the environment variable SSL_DIR (or by default /etc/pki/nssdb). If the NSS PEM PKCS#11 module (libnsspem.so) is available then PEM files may be loaded. If you provide a path relative to the current directory, you must prefix the path with "./" in order to avoid confusion with an NSS database nickname. If curl is built against OpenSSL library, and the engine pkcs11 is available, then a PKCS#11 URI (RFC 7512) can be used to specify a certificate located in a PKCS#11 device. A string beginning with "pkcs11:" will be interpreted as a PKCS#11 URI. If a PKCS#11 URI is provided, then the \-\-engine option will be set as "pkcs11" if none was provided and the \-\-cert-type option will be set as \(dqENG" if none was provided. (iOS and macOS only) If curl is built against Secure Transport, then the certificate string can either be the name of a certificate/private key in the system or user keychain, or the path to a PKCS#12-encoded certificate and private key. If you want to use a file from the current directory, please precede it with "./" prefix, in order to avoid confusion with a nickname. (Schannel only) Client certificates must be specified by a path expression to a certificate store. (Loading PFX is not supported; you can import it to a store first). You can use \(dq<store location>\\<store name>\\<thumbprint>" to refer to a certificate in the system certificates store, for example, \(dqCurrentUser\\MY\\934a7ac6f8a5d579285a74fa61e19f23ddfe8d7a". Thumbprint is usually a SHA-1 hex string which you can see in certificate details. Following store locations are supported: CurrentUser, LocalMachine, CurrentService, Services, CurrentUserGroupPolicy, LocalMachineGroupPolicy, LocalMachineEnterprise. If this option is used several times, the last one will be used. |
︙ | ︙ | |||
495 496 497 498 499 500 501 | between the option and its parameter. If the parameter contains whitespace (or starts with : or =), the parameter must be enclosed within quotes. Within double quotes, the following escape sequences are available: \\\\, \\", \\t, \\n, \\r and \\v. A backslash preceding any other letter is ignored. | | | | 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 | between the option and its parameter. If the parameter contains whitespace (or starts with : or =), the parameter must be enclosed within quotes. Within double quotes, the following escape sequences are available: \\\\, \\", \\t, \\n, \\r and \\v. A backslash preceding any other letter is ignored. If the first column of a config line is a '#' character, the rest of the line will be treated as a comment. Only write one option per physical line in the config file. Specify the filename to \-\-config as '-' to make curl read the file from stdin. Note that to be able to specify a URL in the config file, you need to specify it using the \-\-url option, and not by simply writing the URL on its own line. So, it could look similar to this: url = "https://curl.se/docs/" |
︙ | ︙ | |||
557 558 559 560 561 562 563 | Example: .nf curl --config file.txt https://example.com .fi See also \fI-q, --disable\fP. .IP "\-\-connect-timeout <fractional seconds>" | | | 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 | Example: .nf curl --config file.txt https://example.com .fi See also \fI-q, --disable\fP. .IP "\-\-connect-timeout <fractional seconds>" Maximum time in seconds that you allow curl's connection to take. This only limits the connection phase, so if curl connects within the given period it will continue \- if not it will exit. Since version 7.32.0, this option accepts decimal values. If this option is used several times, the last one will be used. Examples: |
︙ | ︙ | |||
580 581 582 583 584 585 586 | For a request to the given HOST1:PORT1 pair, connect to HOST2:PORT2 instead. This option is suitable to direct requests at a specific server, e.g. at a specific cluster node in a cluster of servers. This option is only used to establish the network connection. It does NOT affect the hostname/port that is used for TLS/SSL (e.g. SNI, certificate verification) or for the application protocols. "HOST1" and "PORT1" may be the empty string, meaning "any host/port". "HOST2" and "PORT2" may also be the empty string, meaning "use the | | | | 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 | For a request to the given HOST1:PORT1 pair, connect to HOST2:PORT2 instead. This option is suitable to direct requests at a specific server, e.g. at a specific cluster node in a cluster of servers. This option is only used to establish the network connection. It does NOT affect the hostname/port that is used for TLS/SSL (e.g. SNI, certificate verification) or for the application protocols. "HOST1" and "PORT1" may be the empty string, meaning "any host/port". "HOST2" and "PORT2" may also be the empty string, meaning "use the request's original host/port". A "host" specified to this option is compared as a string, so it needs to match the name used in request URL. It can be either numerical such as \(dq127.0.0.1" or the full host name such as "example.org". This option can be used many times to add many connect rules. Example: .nf curl --connect-to example.com:443:example.net:8443 https://example.com .fi |
︙ | ︙ | |||
647 648 649 650 651 652 653 | (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". This makes curl use the cookie header with this content explicitly in all outgoing request(s). If multiple requests are done due to authentication, followed redirects or similar, they will all get this cookie passed on. | | | 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 | (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". This makes curl use the cookie header with this content explicitly in all outgoing request(s). If multiple requests are done due to authentication, followed redirects or similar, they will all get this cookie passed on. 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 you are using this in combination with the \-\-location option or do multiple URL transfers on the same invoke. If the file name is exactly a minus ("-"), curl will instead read the contents from stdin. The file format of the file to read cookies from should be plain HTTP headers |
︙ | ︙ | |||
697 698 699 700 701 702 703 | .nf curl --create-dirs --output local/dir/file https://example.com .fi See also \fI--ftp-create-dirs\fP and \fI--output-dir\fP. .IP "\-\-create-file-mode <mode>" (SFTP SCP FILE) When curl is used to create files remotely using one of the supported | | | 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 | .nf curl --create-dirs --output local/dir/file https://example.com .fi See also \fI--ftp-create-dirs\fP and \fI--output-dir\fP. .IP "\-\-create-file-mode <mode>" (SFTP SCP FILE) When curl is used to create files remotely using one of the supported protocols, this option allows the user to set which 'mode' to set on the file at creation time, instead of the default 0644. This option takes an octal number as argument. If this option is used several times, the last one will be used. Example: |
︙ | ︙ | |||
843 844 845 846 847 848 849 | \-\-data-raw is almost the same but does not have a special interpretation of the @ character. To post data purely binary, you should instead use the \-\-data-binary option. To URL-encode the value of a form field you may use \fI\-\-data-urlencode\fP. If any of these options is used more than once on the same command line, the data pieces specified will be merged with a separating &-symbol. Thus, using | | | | | 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 | \-\-data-raw is almost the same but does not have a special interpretation of the @ character. To post data purely binary, you should instead use the \-\-data-binary option. To URL-encode the value of a form field you may use \fI\-\-data-urlencode\fP. If any of these options is used more than once on the same command line, the data pieces specified will be merged with a separating &-symbol. Thus, using \(aq-d name=daniel \-d skill=lousy' would generate a post chunk that looks like \(aqname=daniel&skill=lousy'. If you start the data with the letter @, the rest should be a file name to read the data from, or \- if you want curl to read the data from stdin. Posting data from a file named 'foobar' would thus be done with \fI\-d, \-\-data\fP @foobar. When \-\-data is told to read from a file like that, carriage returns and newlines will be stripped out. If you do not want the @ character to have a special interpretation use \-\-data-raw instead. Examples: .nf curl -d "name=curl" https://example.com |
︙ | ︙ | |||
1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 | Specifies which DNS-over-HTTPS (DoH) server to use to resolve hostnames, instead of using the default name resolver mechanism. The URL must be HTTPS. Some SSL options that you set for your transfer will apply to DoH since the name lookups take place over SSL. However, the certificate verification settings are not inherited and can be controlled separately via \-\-doh-insecure and \fI\-\-doh-cert-status\fP. If this option is used several times, the last one will be used. Example: .nf curl --doh-url https://doh.example https://example.com .fi | > > > | 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 | Specifies which DNS-over-HTTPS (DoH) server to use to resolve hostnames, instead of using the default name resolver mechanism. The URL must be HTTPS. Some SSL options that you set for your transfer will apply to DoH since the name lookups take place over SSL. However, the certificate verification settings are not inherited and can be controlled separately via \-\-doh-insecure and \fI\-\-doh-cert-status\fP. This option is unset if an empty string "" is used as the URL. (Added in 7.85.0) If this option is used several times, the last one will be used. Example: .nf curl --doh-url https://doh.example https://example.com .fi |
︙ | ︙ | |||
1132 1133 1134 1135 1136 1137 1138 | See also \fI--connect-timeout\fP. Added in 7.47.0. .IP "\-\-fail-early" Fail and exit on the first detected transfer error. When curl is used to do multiple transfers on the command line, it will attempt to operate on each given URL, one by one. By default, it will ignore | | | | 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 | See also \fI--connect-timeout\fP. Added in 7.47.0. .IP "\-\-fail-early" Fail and exit on the first detected transfer error. When curl is used to do multiple transfers on the command line, it will attempt to operate on each given URL, one by one. By default, it will ignore errors if there are more URLs given and the last URL's success will determine the error code curl returns. So early failures will be "hidden" by subsequent successful transfers. Using this option, curl will instead return an error on the first transfer that fails, independent of the amount of URLs that are given on the command line. This way, no transfer failures go undetected by scripts and similar. This option is global and does not need to be specified for each use of \fI\-:, \-\-next\fP. This option does not imply \fI\-f, \-\-fail\fP, which causes transfers to fail due to the server's HTTP status code. You can combine the two options, however note \-\-fail is not global and is therefore contained by \fI\-:, \-\-next\fP. Example: .nf curl --fail-early https://example.com https://two.example .fi |
︙ | ︙ | |||
1167 1168 1169 1170 1171 1172 1173 | circumstances but without saving the content. Example: .nf curl --fail-with-body https://example.com .fi | | | | | | | | | | | | | | | | | | | | | | | | | 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 | circumstances but without saving the content. Example: .nf curl --fail-with-body https://example.com .fi See also \fI-f, --fail\fP. This option is mutually exclusive to \fI-f, --fail\fP. Added in 7.76.0. .IP "\-f, \-\-fail" (HTTP) Fail fast with no output at all on server errors. This is useful to enable scripts and users to better deal with failed attempts. In normal cases when an HTTP server fails to deliver a document, it returns an HTML document stating so (which often also describes why and more). This flag will prevent curl from outputting that and return error 22. This method is not fail-safe and there are occasions where non-successful response codes will slip through, especially when authentication is involved (response codes 401 and 407). Example: .nf curl --fail https://example.com .fi See also \fI--fail-with-body\fP. This option is mutually exclusive to \fI--fail-with-body\fP. .IP "\-\-false-start" (TLS) Tells curl to use false start during the TLS handshake. False start is a mode where a TLS client will start sending application data before verifying the server's Finished message, thus saving a round trip when performing a full handshake. This is currently only implemented in the NSS and Secure Transport (on iOS 7.0 or later, or OS X 10.9 or later) backends. Example: .nf curl --false-start https://example.com .fi See also \fI--tcp-fastopen\fP. Added in 7.42.0. .IP "\-\-form-escape" (HTTP) Tells curl to pass on names of multipart form fields and files using backslash-escaping instead of percent-encoding. Example: .nf curl --form-escape -F 'field\\name=curl' -F 'file=@load"this' https://example.com .fi See also \fI-F, --form\fP. Added in 7.81.0. .IP "\-\-form-string <name=string>" (HTTP SMTP IMAP) Similar to \-\-form except that the value string for the named parameter is used literally. Leading '@' and '<' characters, and the ';type=' string in the value have no special meaning. Use this in preference to \-\-form if there's any possibility that the string value may accidentally trigger the \(aq@' or '<' features of \fI\-F, \-\-form\fP. Example: .nf curl --form-string "data" https://example.com .fi See also \fI-F, --form\fP. .IP "\-F, \-\-form <name=content>" (HTTP SMTP IMAP) For HTTP protocol family, this lets curl emulate a filled-in form in which a user has pressed the submit button. This causes curl to POST data using the Content-Type multipart/form-data according to RFC 2388. For SMTP and IMAP protocols, this is the means to compose a multipart mail message to transmit. This enables uploading of binary files etc. To force the 'content' part to be a file, prefix the file name with an @ sign. To just get the content part from a file, prefix the file name with the symbol <. The difference between @ and < is then that @ makes a file get attached in the post as a file upload, while the < makes a text field and just get the contents for that text field from a file. Tell curl to read content from stdin instead of a file by using \- as filename. This goes for both @ and < constructs. When stdin is used, the contents is buffered in memory first by curl to determine its size and allow a possible resend. Defining a part's data from a named non-regular file (such as a named pipe or similar) is unfortunately not subject to buffering and will be effectively read at transmission time; since the full size is unknown before the transfer starts, such data is sent as chunks by HTTP and rejected by IMAP. Example: send an image to an HTTP server, where 'profile' is the name of the form-field to which the file portrait.jpg will be the input: .nf curl \-F profile=@portrait.jpg https://example.com/upload.cgi .fi Example: send your name and shoe size in two text fields to the server: .nf curl \-F name=John \-F shoesize=11 https://example.com/ .fi Example: send your essay in a text field to the server. Send it as a plain text field, but get the contents for it from a local file: .nf curl \-F "story=<hugefile.txt" https://example.com/ .fi You can also tell curl what Content-Type to use by using 'type=', in a manner similar to: .nf curl \-F "web=@index.html;type=text/html" example.com .fi or .nf curl \-F "name=daniel;type=text/foo" example.com .fi You can also explicitly change the name field of a file upload part by setting filename=, like this: .nf curl \-F "file=@localfile;filename=nameinpost" example.com .fi If filename/path contains ',' or ';', it must be quoted by double-quotes like: .nf curl \-F "file=@\\"local,file\\";filename=\\"name;in;post\\"" example.com .fi or .nf curl \-F 'file=@"local,file";filename="name;in;post"' example.com .fi Note that if a filename/path is quoted by double-quotes, any double-quote or backslash within the filename must be escaped by backslash. Quoting must also be applied to non-file data if it contains semicolons, leading/trailing spaces or leading double quotes: .nf curl \-F 'colors="red; green; blue";type=text/x-myapp' example.com .fi You can add custom headers to the field by setting headers=, like .nf curl \-F "submit=OK;headers=\\"X-submit-type: OK\\"" example.com .fi or .nf curl \-F "submit=OK;headers=@headerfile" example.com .fi The headers= keyword may appear more that once and above notes about quoting apply. When headers are read from a file, Empty lines and lines starting with '#' are comments and ignored; each header can be folded by splitting between two words and starting the continuation line with a space; embedded carriage-returns and trailing spaces are stripped. Here is an example of a header file contents: .nf # This file contain two headers. X-header-1: this is a header .fi .nf # The following header is folded. X-header-2: this is another header .fi To support sending multipart mail messages, the syntax is extended as follows: .br \- name can be omitted: the equal sign is the first character of the argument, .br \- if data starts with '(', this signals to start a new multipart: it can be followed by a content type specification. .br \- a multipart can be terminated with a '=)' argument. Example: the following command sends an SMTP mime email consisting in an inline part in two alternative formats: plain text and HTML. It attaches a text file: .nf curl \-F '=(;type=multipart/alternative' \\ \-F '=plain text message' \\ \-F '= <body>HTML message</body>;type=text/html' \\ \-F '=)' \-F '=@textfile.txt' ... smtp://example.com .fi Data can be encoded for transfer using encoder=. Available encodings are \fIbinary\fP and \fI8bit\fP that do nothing else than adding the corresponding Content-Transfer-Encoding header, \fI7bit\fP that only rejects 8-bit characters with a transfer error, \fIquoted-printable\fP and \fIbase64\fP that encodes data according to the corresponding schemes, limiting lines length to 76 characters. Example: send multipart mail with a quoted-printable text message and a base64 attached file: .nf curl \-F '=text message;encoder=quoted-printable' \\ \-F '=@localfile;encoder=base64' ... smtp://example.com .fi See further examples and details in the MANUAL. This option can be used multiple times. Example: |
︙ | ︙ | |||
1398 1399 1400 1401 1402 1403 1404 | .nf curl --ftp-account "mr.robot" ftp://example.com/ .fi See also \fI-u, --user\fP. .IP "\-\-ftp-alternative-to-user <command>" (FTP) If authenticating with the USER and PASS commands fails, send this command. | | | 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 | .nf curl --ftp-account "mr.robot" ftp://example.com/ .fi See also \fI-u, --user\fP. .IP "\-\-ftp-alternative-to-user <command>" (FTP) If authenticating with the USER and PASS commands fails, send this command. When connecting to Tumbleweed's Secure Transport server over FTPS using a client certificate, using "SITE AUTH" will tell the server to retrieve the username from the certificate. Example: .nf curl --ftp-alternative-to-user "U53r" ftp://example.com .fi |
︙ | ︙ | |||
1432 1433 1434 1435 1436 1437 1438 | hierarchies this means many commands. This is how RFC 1738 says it should be done. This is the default but the slowest behavior. .IP nocwd curl does no CWD at all. curl will do SIZE, RETR, STOR etc and give a full path to the server for all these commands. This is the fastest behavior. .IP singlecwd curl does one CWD with the full target directory and then operates on the file | | | | 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 | hierarchies this means many commands. This is how RFC 1738 says it should be done. This is the default but the slowest behavior. .IP nocwd curl does no CWD at all. curl will do SIZE, RETR, STOR etc and give a full path to the server for all these commands. This is the fastest behavior. .IP singlecwd curl does one CWD with the full target directory and then operates on the file \(dqnormally" (like in the multicwd case). This is somewhat more standards compliant than 'nocwd' but without the full penalty of 'multicwd'. .RE Examples: .nf curl --ftp-method multicwd ftp://example.com/dir1/dir2/file curl --ftp-method nocwd ftp://example.com/dir1/dir2/file curl --ftp-method singlecwd ftp://example.com/dir1/dir2/file |
︙ | ︙ | |||
1465 1466 1467 1468 1469 1470 1471 | curl --ftp-pasv ftp://example.com/ .fi See also \fI--disable-epsv\fP. .IP "\-P, \-\-ftp-port <address>" (FTP) Reverses the default initiator/listener roles when connecting with FTP. This option makes curl use active mode. curl then tells the server to connect back | | | | | 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 | curl --ftp-pasv ftp://example.com/ .fi See also \fI--disable-epsv\fP. .IP "\-P, \-\-ftp-port <address>" (FTP) Reverses the default initiator/listener roles when connecting with FTP. This option makes curl use active mode. curl then tells the server to connect back to the client's specified address and port, while passive mode asks the server to setup an IP address and port for it to connect to. <address> should be one of: .RS .IP interface e.g. "eth0" to specify which interface's IP address you want to use (Unix only) .IP "IP address" e.g. "192.168.10.1" to specify the exact IP address .IP "host name" e.g. "my.host.domain" to specify the machine .IP "-" make curl pick the same IP address that is already used for the control connection .RE If this option is used several times, the last one will be used. Disable the use of PORT with \fI\-\-ftp-pasv\fP. Disable the attempt to use the EPRT command instead of PORT by using \fI\-\-disable-eprt\fP. EPRT is really PORT++. You can also append ":[start]-[end]\&" to the right of the address, to tell curl what TCP port range to use. That means you specify a port range, from a lower to a higher number. A single number works as well, but do note that it increases the risk of failure since the port may not be available. Examples: .nf |
︙ | ︙ | |||
1511 1512 1513 1514 1515 1516 1517 | .nf curl --ftp-pret ftp://example.com/ .fi See also \fI-P, --ftp-port\fP and \fI--ftp-pasv\fP. .IP "\-\-ftp-skip-pasv-ip" (FTP) Tell curl to not use the IP address the server suggests in its response | | | 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 | .nf curl --ftp-pret ftp://example.com/ .fi See also \fI-P, --ftp-port\fP and \fI--ftp-pasv\fP. .IP "\-\-ftp-skip-pasv-ip" (FTP) Tell curl to not use the IP address the server suggests in its response to curl's PASV command when curl connects the data connection. Instead curl will re-use the same IP address it already uses for the control connection. Since curl 7.74.0 this option is enabled by default. This option has no effect if PORT, EPRT or EPSV is used instead of PASV. |
︙ | ︙ | |||
1564 1565 1566 1567 1568 1569 1570 | .fi See also \fI--ssl\fP. .IP "\-G, \-\-get" When used, this option will make all data specified with \fI\-d, \-\-data\fP, \-\-data-binary or \-\-data-urlencode to be used in an HTTP GET request instead of the POST request that otherwise would be used. The data will be appended to the URL | | | 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 | .fi See also \fI--ssl\fP. .IP "\-G, \-\-get" When used, this option will make all data specified with \fI\-d, \-\-data\fP, \-\-data-binary or \-\-data-urlencode to be used in an HTTP GET request instead of the POST request that otherwise would be used. The data will be appended to the URL with a '?' separator. If used in combination with \fI\-I, \-\-head\fP, the POST data will instead be appended to the URL with a HEAD request. If this option is used several times, only the first one is used. This is because undoing a GET does not make sense, but you should then instead enforce the alternative method you prefer. |
︙ | ︙ | |||
1601 1602 1603 1604 1605 1606 1607 | Happy Eyeballs is an algorithm that attempts to connect to both IPv4 and IPv6 addresses for dual-stack hosts, giving IPv6 a head-start of the specified number of milliseconds. If the IPv6 address cannot be connected to within that time, then a connection attempt is made to the IPv4 address in parallel. The first connection to be established is the one that is used. The range of suggested useful values is limited. Happy Eyeballs RFC 6555 says | | | | 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 | Happy Eyeballs is an algorithm that attempts to connect to both IPv4 and IPv6 addresses for dual-stack hosts, giving IPv6 a head-start of the specified number of milliseconds. If the IPv6 address cannot be connected to within that time, then a connection attempt is made to the IPv4 address in parallel. The first connection to be established is the one that is used. The range of suggested useful values is limited. Happy Eyeballs RFC 6555 says \(dqIt is RECOMMENDED that connection attempts be paced 150-250 ms apart to balance human factors against network load." libcurl currently defaults to 200 ms. Firefox and Chrome currently default to 300 ms. If this option is used several times, the last one will be used. Example: .nf curl --happy-eyeballs-timeout-ms 500 https://example.com .fi See also \fI-m, --max-time\fP and \fI--connect-timeout\fP. Added in 7.59.0. .IP "\-\-haproxy-protocol" (HTTP) Send a HAProxy PROXY protocol v1 header at the beginning of the connection. This is used by some load balancers and reverse proxies to indicate the client's true IP address and port. This option is primarily useful when sending test requests to a service that expects this header. Example: .nf curl --haproxy-protocol https://example.com |
︙ | ︙ | |||
1646 1647 1648 1649 1650 1651 1652 | (HTTP) Extra header to include in the request when sending HTTP to a server. You may specify any number of extra headers. Note that if you should add a custom header that has the same name as one of the internal ones curl would use, your externally set header will be used instead of the internal one. This allows you to make even trickier stuff than curl would normally do. You should not replace internally set headers without knowing perfectly well what you are doing. Remove an internal header by giving a replacement without content on | | | | 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 | (HTTP) Extra header to include in the request when sending HTTP to a server. You may specify any number of extra headers. Note that if you should add a custom header that has the same name as one of the internal ones curl would use, your externally set header will be used instead of the internal one. This allows you to make even trickier stuff than curl would normally do. You should not replace internally set headers without knowing perfectly well what you are doing. Remove an internal header by giving a replacement without content on the right side of the colon, as in: \-H "Host:". If you send the custom header with no-value then its header must be terminated with a semicolon, such as \-H "X-Custom-Header;" to send "X-Custom-Header:". curl will make sure that each header you add/replace is sent with the proper end-of-line marker, you should thus \fBnot\fP add that as a part of the header content: do not add newlines or carriage returns, they will only mess things up for you. This option can take an argument in @filename style, which then adds a header |
︙ | ︙ | |||
1696 1697 1698 1699 1700 1701 1702 | .nf curl --help all .fi See also \fI-v, --verbose\fP. .IP "\-\-hostpubmd5 <md5>" (SFTP SCP) Pass a string containing 32 hexadecimal digits. The string should | | | | 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 | .nf curl --help all .fi See also \fI-v, --verbose\fP. .IP "\-\-hostpubmd5 <md5>" (SFTP SCP) Pass a string containing 32 hexadecimal digits. The string should be the 128 bit MD5 checksum of the remote host's public key, curl will refuse the connection with the host unless the md5sums match. Example: .nf curl --hostpubmd5 e5c1c49020640a5ab0f2034854c321a8 sftp://example.com/ .fi See also \fI--hostpubsha256\fP. .IP "\-\-hostpubsha256 <sha256>" (SFTP SCP) Pass a string containing a Base64-encoded SHA256 hash of the remote host's public key. Curl will refuse the connection with the host unless the hashes match. Example: .nf curl --hostpubsha256 NDVkMTQxMGQ1ODdmMjQ3MjczYjAyOTY5MmRkMjVmNDQ= sftp://example.com/ .fi |
︙ | ︙ | |||
1850 1851 1852 1853 1854 1855 1856 | See also \fI-v, --verbose\fP. .IP "\-k, \-\-insecure" (TLS SFTP SCP) By default, every secure connection curl makes is verified to be secure before the transfer takes place. This option makes curl skip the verification step and proceed without checking. When this option is not used for protocols using TLS, curl verifies the | | | | | 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 | See also \fI-v, --verbose\fP. .IP "\-k, \-\-insecure" (TLS SFTP SCP) By default, every secure connection curl makes is verified to be secure before the transfer takes place. This option makes curl skip the verification step and proceed without checking. When this option is not used for protocols using TLS, curl verifies the server's TLS certificate before it continues: that the certificate contains the right name which matches the host name used in the URL and that the certificate has been signed by a CA certificate present in the cert store. See this online resource for further details: .nf https://curl.se/docs/sslcerts.html .fi For SFTP and SCP, this option makes curl skip the \fIknown_hosts\fP verification. \fIknown_hosts\fP is a file normally stored in the user's home directory in the \(dq.ssh" subdirectory, which contains host names and their public keys. \fBWARNING\fP: using this option makes the transfer insecure. Example: .nf curl --insecure https://example.com .fi |
︙ | ︙ | |||
1925 1926 1927 1928 1929 1930 1931 | .fi There is \fI\fPno verification\fI\fP that the passed in data is actual JSON or that the syntax is correct. If you start the data with the letter @, the rest should be a file name to read the data from, or a single dash (-) if you want curl to read the data | | | 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 | .fi There is \fI\fPno verification\fI\fP that the passed in data is actual JSON or that the syntax is correct. If you start the data with the letter @, the rest should be a file name to read the data from, or a single dash (-) if you want curl to read the data from stdin. Posting data from a file named 'foobar' would thus be done with \fI\-\-json\fP @foobar and to instead read the data from stdin, use \-\-json @-. If this option is used more than once on the same command line, the additional data pieces will be concatenated to the previous before sending. The headers this option sets can be overridden with \-\-header as usual. |
︙ | ︙ | |||
1988 1989 1990 1991 1992 1993 1994 | curl --key-type DER --key here https://example.com .fi See also \fI--key\fP. .IP "\-\-key <key>" (TLS SSH) Private key file name. Allows you to provide your private key in this separate file. For SSH, if not specified, curl tries the following candidates in order: | | | | | | 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 | curl --key-type DER --key here https://example.com .fi See also \fI--key\fP. .IP "\-\-key <key>" (TLS SSH) Private key file name. Allows you to provide your private key in this separate file. For SSH, if not specified, curl tries the following candidates in order: \(aq~/.ssh/id_rsa', '~/.ssh/id_dsa', './id_rsa', './id_dsa'. If curl is built against OpenSSL library, and the engine pkcs11 is available, then a PKCS#11 URI (RFC 7512) can be used to specify a private key located in a PKCS#11 device. A string beginning with "pkcs11:" will be interpreted as a PKCS#11 URI. If a PKCS#11 URI is provided, then the \-\-engine option will be set as "pkcs11" if none was provided and the \-\-key-type option will be set as \(dqENG" if none was provided. If curl is built against Secure Transport or Schannel then this option is ignored for TLS protocols (HTTPS, etc). Those backends expect the private key to be already present in the keychain or PKCS#12 file containing the certificate. If this option is used several times, the last one will be used. Example: .nf curl --cert certificate --key here https://example.com .fi See also \fI--key-type\fP and \fI-E, --cert\fP. .IP "\-\-krb <level>" (FTP) Enable Kerberos authentication and use. The level must be entered and should be one of 'clear', 'safe', 'confidential', or 'private'. Should you use a level that is not one of these, 'private' will instead be used. If this option is used several times, the last one will be used. Example: .nf curl --krb clear ftp://example.com/ .fi |
︙ | ︙ | |||
2047 2048 2049 2050 2051 2052 2053 | .IP "\-\-limit-rate <speed>" Specify the maximum transfer rate you want curl to use \- for both downloads and uploads. This feature is useful if you have a limited pipe and you would like your transfer not to use your entire bandwidth. To make it slower than it otherwise would be. The given speed is measured in bytes/second, unless a suffix is appended. | | | | 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 | .IP "\-\-limit-rate <speed>" Specify the maximum transfer rate you want curl to use \- for both downloads and uploads. This feature is useful if you have a limited pipe and you would like your transfer not to use your entire bandwidth. To make it slower than it otherwise would be. The given speed is measured in bytes/second, unless a suffix is appended. Appending 'k' or 'K' will count the number as kilobytes, 'm' or 'M' makes it megabytes, while 'g' or 'G' makes it gigabytes. The suffixes (k, M, G, T, P) are 1024 based. For example 1k is 1024. Examples: 200K, 3m and 1G. The rate limiting logic works on averaging the transfer speed to no more than the set threshold over a period of multiple seconds. If you also use the \-\-speed-limit option, that option will take precedence and might cripple the rate-limiting slightly, to help keeping the speed-limit |
︙ | ︙ | |||
2085 2086 2087 2088 2089 2090 2091 | (POP3) When retrieving a specific email from POP3, this switch forces a LIST command to be performed instead of RETR. This is particularly useful if the user wants to see if a specific message-id exists on the server and what size it is. Note: When combined with \fI\-X, \-\-request\fP, this option can be used to send a UIDL | | | 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 | (POP3) When retrieving a specific email from POP3, this switch forces a LIST command to be performed instead of RETR. This is particularly useful if the user wants to see if a specific message-id exists on the server and what size it is. Note: When combined with \fI\-X, \-\-request\fP, this option can be used to send a UIDL command instead, so the user may use the email's unique identifier rather than its message-id to make the request. Example: .nf curl --list-only ftp://example.com/dir/ .fi |
︙ | ︙ | |||
2233 2234 2235 2236 2237 2238 2239 | See also \fI-v, --verbose\fP, \fI--libcurl\fP and \fI--trace\fP. .IP "\-\-max-filesize <bytes>" (FTP HTTP MQTT) Specify the maximum size (in bytes) of a file to download. If the file requested is larger than this value, the transfer will not start and curl will return with exit code 63. | | | | 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 | See also \fI-v, --verbose\fP, \fI--libcurl\fP and \fI--trace\fP. .IP "\-\-max-filesize <bytes>" (FTP HTTP MQTT) Specify the maximum size (in bytes) of a file to download. If the file requested is larger than this value, the transfer will not start and curl will return with exit code 63. A size modifier may be used. For example, Appending 'k' or 'K' will count the number as kilobytes, 'm' or 'M' makes it megabytes, while 'g' or 'G' makes it gigabytes. Examples: 200K, 3m and 1G. (Added in 7.58.0) \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. Example: .nf |
︙ | ︙ | |||
2296 2297 2298 2299 2300 2301 2302 | .IP "\-\-negotiate" (HTTP) Enables Negotiate (SPNEGO) authentication. This option requires a library built with GSS-API or SSPI support. Use \-\-version to see if your curl supports GSS-API/SSPI or SPNEGO. When using this option, you must also provide a fake \-\-user option to activate | | | 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 | .IP "\-\-negotiate" (HTTP) Enables Negotiate (SPNEGO) authentication. This option requires a library built with GSS-API or SSPI support. Use \-\-version to see if your curl supports GSS-API/SSPI or SPNEGO. When using this option, you must also provide a fake \-\-user option to activate the authentication code properly. Sending a '-u :' is enough as the user name and password from the \-\-user option are not actually used. If this option is used several times, only the first one is used. Example: .nf curl --negotiate -u : https://example.com |
︙ | ︙ | |||
2332 2333 2334 2335 2336 2337 2338 | Example: .nf curl --netrc-optional https://example.com .fi See also \fI--netrc-file\fP. This option is mutually exclusive to \fI-n, --netrc\fP. .IP "\-n, \-\-netrc" | | | | | 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 | Example: .nf curl --netrc-optional https://example.com .fi See also \fI--netrc-file\fP. This option is mutually exclusive to \fI-n, --netrc\fP. .IP "\-n, \-\-netrc" Makes curl scan the \fI.netrc\fP (\fI_netrc\fP on Windows) file in the user's home directory for login name and password. This is typically used for FTP on Unix. If used with HTTP, curl will enable user authentication. See \fInetrc(5)\fP and \fIftp(1)\fP for details on the file format. Curl will not complain if that file does not have the right permissions (it should be neither world- nor group-readable). The environment variable "HOME" is used to find the home directory. A quick and simple example of how to setup a \fI.netrc\fP to allow curl to FTP to the machine host.domain.com with user name 'myself' and password 'secret' could look similar to: .nf machine host.domain.com login myself password secret .fi Example: .nf curl --netrc https://example.com .fi |
︙ | ︙ | |||
2460 2461 2462 2463 2464 2465 2466 | Example: .nf curl --no-progress-meter -o store https://example.com .fi See also \fI-v, --verbose\fP and \fI-s, --silent\fP. Added in 7.67.0. .IP "\-\-no-sessionid" | | | 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 | Example: .nf curl --no-progress-meter -o store https://example.com .fi See also \fI-v, --verbose\fP and \fI-s, --silent\fP. Added in 7.67.0. .IP "\-\-no-sessionid" (TLS) Disable curl's use of SSL session-ID caching. By default all transfers are done using the cache. Note that while nothing should ever get hurt by attempting to reuse SSL session-IDs, there seem to be broken SSL implementations in the wild that may require you to disable this in order for you to succeed. Note that this is the negated option name documented. You can thus use \-\-sessionid to enforce session-ID caching. |
︙ | ︙ | |||
2484 2485 2486 2487 2488 2489 2490 | specified. The only wildcard is a single * character, which matches all hosts, and effectively disables the proxy. Each name in this list is matched as either a domain which contains the hostname, or the hostname itself. For example, local.com would match local.com, local.com:80, and www.local.com, but not www.notlocal.com. Since 7.53.0, This option overrides the environment variables that disable the | | | | 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 | specified. The only wildcard is a single * character, which matches all hosts, and effectively disables the proxy. Each name in this list is matched as either a domain which contains the hostname, or the hostname itself. For example, local.com would match local.com, local.com:80, and www.local.com, but not www.notlocal.com. Since 7.53.0, This option overrides the environment variables that disable the proxy ('no_proxy' and 'NO_PROXY'). If there's an environment variable disabling a proxy, you can set the noproxy list to "" to override it. Example: .nf curl --noproxy "www.example" https://example.com .fi See also \fI-x, --proxy\fP. |
︙ | ︙ | |||
2559 2560 2561 2562 2563 2564 2565 | .nf curl --output-dir "tmp" -O https://example.com .fi See also \fI-O, --remote-name\fP and \fI-J, --remote-header-name\fP. Added in 7.73.0. .IP "\-o, \-\-output <file>" Write output to <file> instead of stdout. If you are using {} or [] to fetch | | | 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 | .nf curl --output-dir "tmp" -O https://example.com .fi See also \fI-O, --remote-name\fP and \fI-J, --remote-header-name\fP. Added in 7.73.0. .IP "\-o, \-\-output <file>" Write output to <file> instead of stdout. If you are using {} or [] to fetch multiple documents, you should quote the URL and you can use '#' followed by a number in the <file> specifier. That variable will be replaced with the current string for the URL being fetched. Like in: .nf curl "http://{one,two}.example.com" \-o "file_#1.txt" .fi |
︙ | ︙ | |||
2590 2591 2592 2593 2594 2595 2596 | written as .nf curl example.com example.net \-o aa \-o bb .fi See also the \-\-create-dirs option to create the local directories | | | 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 | written as .nf curl example.com example.net \-o aa \-o bb .fi See also the \-\-create-dirs option to create the local directories dynamically. Specifying the output as '-' (a single dash) will force the output to be done to stdout. To suppress response bodies, you can redirect output to /dev/null: .nf curl example.com \-o /dev/null .fi |
︙ | ︙ | |||
2782 2783 2784 2785 2786 2787 2788 | .fi See also \fI-x, --proxy\fP and \fI--socks5\fP. Added in 7.52.0. .IP "\-#, \-\-progress-bar" Make curl display transfer progress as a simple progress bar instead of the standard, more informational, meter. | | | 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 | .fi See also \fI-x, --proxy\fP and \fI--socks5\fP. Added in 7.52.0. .IP "\-#, \-\-progress-bar" Make curl display transfer progress as a simple progress bar instead of the standard, more informational, meter. This progress bar draws a single line of '#' characters across the screen and shows a percentage if the transfer size is known. For transfers without a known size, there will be space ship (-=o=-) that moves back and forth but only while data is being transferred, with a set of flying hash sign symbols on top. This option is global and does not need to be specified for each use of \fI\-:, \-\-next\fP. |
︙ | ︙ | |||
2838 2839 2840 2841 2842 2843 2844 | curl --proto-redir =http,https https://example.com .fi See also \fI--proto\fP. .IP "\-\-proto <protocols>" Tells curl to limit what protocols it may use for transfers. Protocols are evaluated left to right, are comma separated, and are each a protocol name or | | | 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 | curl --proto-redir =http,https https://example.com .fi See also \fI--proto\fP. .IP "\-\-proto <protocols>" Tells curl to limit what protocols it may use for transfers. Protocols are evaluated left to right, are comma separated, and are each a protocol name or \(aqall', optionally prefixed by zero or more modifiers. Available modifiers are: .RS .TP 3 .B + Permit this protocol in addition to protocols already permitted (this is the default if no modifier is used). .TP .B \- |
︙ | ︙ | |||
3196 3197 3198 3199 3200 3201 3202 | Unrecognized and unsupported proxy protocols cause an error since 7.52.0. Prior versions may ignore the protocol and use http:// instead. If the port number is not specified in the proxy string, it is assumed to be 1080. This option overrides existing environment variables that set the proxy to | | | | 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 | Unrecognized and unsupported proxy protocols cause an error since 7.52.0. Prior versions may ignore the protocol and use http:// instead. If the port number is not specified in the proxy string, it is assumed to be 1080. This option overrides existing environment variables that set the proxy to use. If there's an environment variable setting a proxy, you can set proxy to \(dq" to override it. All operations that are performed over an HTTP proxy will transparently be converted to HTTP. It means that certain protocol specific operations might not be available. This is not the case if you can tunnel through the proxy, as one with the \-\-proxytunnel option. User and password that might be provided in the proxy string are URL decoded |
︙ | ︙ | |||
3270 3271 3272 3273 3274 3275 3276 | .fi See also \fI--pass\fP. .IP "\-Q, \-\-quote <command>" (FTP SFTP) Send an arbitrary command to the remote FTP or SFTP server. Quote commands are sent BEFORE the transfer takes place (just after the initial PWD command in an FTP transfer, to be exact). To make commands take place after a successful | | | 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 | .fi See also \fI--pass\fP. .IP "\-Q, \-\-quote <command>" (FTP SFTP) Send an arbitrary command to the remote FTP or SFTP server. Quote commands are sent BEFORE the transfer takes place (just after the initial PWD command in an FTP transfer, to be exact). To make commands take place after a successful transfer, prefix them with a dash '-'. (FTP only) To make commands be sent after curl has changed the working directory, just before the file transfer command(s), prefix the command with a \(aq+'. This is not performed when a directory listing is performed. You may specify any number of commands. |
︙ | ︙ | |||
3378 3379 3380 3381 3382 3383 3384 | specifies two separate 100-byte ranges(*) (HTTP) .RE .IP (*) = NOTE that this will cause the server to reply with a multipart response, which will be returned as-is by curl! Parsing or otherwise transforming this response is the responsibility of the caller. | | | | | | 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 | specifies two separate 100-byte ranges(*) (HTTP) .RE .IP (*) = NOTE that this will cause the server to reply with a multipart response, which will be returned as-is by curl! Parsing or otherwise transforming this response is the responsibility of the caller. Only digit characters (0-9) are valid in the 'start' and 'stop' fields of the \(aqstart-stop' range syntax. If a non-digit character is given in the range, the server's response will be unspecified, depending on the server's configuration. You should also be aware that many HTTP/1.1 servers do not have this feature enabled, so that when you attempt to get a range, you will instead get the whole document. FTP and SFTP range downloads only support the simple 'start-stop' syntax (optionally with one of the numbers omitted). FTP use depends on the extended FTP command SIZE. If this option is used several times, the last one will be used. Example: .nf |
︙ | ︙ | |||
3409 3410 3411 3412 3413 3414 3415 | option, curl will start the next transfer as fast as possible. If given several URLs and a transfer completes faster than the allowed rate, curl will wait until the next transfer is started to maintain the requested rate. This option has no effect when \-\-parallel is used. The request rate is provided as "N/U" where N is an integer number and U is a | | | 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 | option, curl will start the next transfer as fast as possible. If given several URLs and a transfer completes faster than the allowed rate, curl will wait until the next transfer is started to maintain the requested rate. This option has no effect when \-\-parallel is used. The request rate is provided as "N/U" where N is an integer number and U is a time unit. Supported units are 's' (second), 'm' (minute), 'h' (hour) and 'd' /(day, as in a 24 hour unit). The default time unit, if no "/U" is provided, is number of transfers per hour. If curl is told to allow 10 requests per minute, it will not start the next request until 6 seconds have elapsed since the previous transfer was started. This function uses millisecond resolution. If the allowed frequency is set |
︙ | ︙ | |||
3445 3446 3447 3448 3449 3450 3451 | curl --raw https://example.com .fi See also \fI--tr-encoding\fP. .IP "\-e, \-\-referer <URL>" (HTTP) Sends the "Referrer Page" information to the HTTP server. This can also be set with the \-\-header flag of course. When used with \-\-location you can append | | | | 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 | curl --raw https://example.com .fi See also \fI--tr-encoding\fP. .IP "\-e, \-\-referer <URL>" (HTTP) Sends the "Referrer Page" information to the HTTP server. This can also be set with the \-\-header flag of course. When used with \-\-location you can append \(dq;auto" to the \-\-referer URL to make curl automatically set the previous URL when it follows a Location: header. The ";auto" string can be used alone, even if you do not set an initial \fI\-e, \-\-referer\fP. If this option is used several times, the last one will be used. Examples: .nf curl --referer "https://fake.example" https://example.com |
︙ | ︙ | |||
3473 3474 3475 3476 3477 3478 3479 | \fI\-\-output-dir\fP. If the server specifies a file name and a file with that name already exists in the destination directory, it will not be overwritten and an error will occur. If the server does not specify a file name then this option has no effect. | | | 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 | \fI\-\-output-dir\fP. If the server specifies a file name and a file with that name already exists in the destination directory, it will not be overwritten and an error will occur. If the server does not specify a file name then this option has no effect. There's no attempt to decode %-sequences (yet) in the provided file name, so this option may provide you with rather unexpected file names. \fBWARNING\fP: Exercise judicious use of this option, especially on Windows. A rogue server could send you the name of a DLL or other file that could be loaded automatically by Windows or some third party software. Example: |
︙ | ︙ | |||
3611 3612 3613 3614 3615 3616 3617 | can make the curl requests(s) use a specified address and prevent the otherwise normally resolved address to be used. Consider it a sort of /etc/hosts alternative provided on the command line. The port number should be the number used for the specific protocol the host will be used for. It means you need several entries if you want to provide address for the same host but different ports. | | | | | | 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 | can make the curl requests(s) use a specified address and prevent the otherwise normally resolved address to be used. Consider it a sort of /etc/hosts alternative provided on the command line. The port number should be the number used for the specific protocol the host will be used for. It means you need several entries if you want to provide address for the same host but different ports. By specifying '*' as host you can tell curl to resolve any host and specific port pair to the specified address. Wildcard is resolved last so any \-\-resolve with a specific host and port will be used first. The provided address set by this option will be used even if \-\-ipv4 or \-\-ipv6 is set to make curl use another IP version. By prefixing the host with a '+' you can make the entry time out after curl's default timeout (1 minute). Note that this will only make sense for long running parallel transfers with a lot of files. In such cases, if this option is used curl will try to resolve the host as it normally would once the timeout has expired. Support for providing the IP address within [brackets] was added in 7.57.0. Support for providing multiple IP addresses per entry was added in 7.59.0. Support for resolving with wildcard was added in 7.64.0. Support for the '+' prefix was was added in 7.75.0. This option can be used many times to add many host names to resolve. Example: .nf curl --resolve example.com:443:127.0.0.1 https://example.com .fi See also \fI--connect-to\fP and \fI--alt-svc\fP. .IP "\-\-retry-all-errors" Retry on any error. This option is used together with \fI\-\-retry\fP. This option is the "sledgehammer" of retrying. Do not use this option by default (eg in curlrc), there may be unintended consequences such as sending or receiving duplicate data. Do not use with redirected input or output. You'd be much better off handling your unique problems in shell script. Please read the example below. \fBWARNING\fP: For server compatibility curl attempts to retry failed flaky transfers as close as possible to how they were started, but this is not possible with redirected input or output. For example, before retrying it removes output data from a failed partial transfer that was written to an |
︙ | ︙ | |||
3701 3702 3703 3704 3705 3706 3707 | See also \fI--retry\fP. .IP "\-\-retry-max-time <seconds>" The retry timer is reset before the first transfer attempt. Retries will be done as usual (see \fI\-\-retry\fP) as long as the timer has not reached this given limit. Notice that if the timer has not reached the limit, the request will be made and while performing, it may take longer than this given time period. To | | | 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 | See also \fI--retry\fP. .IP "\-\-retry-max-time <seconds>" The retry timer is reset before the first transfer attempt. Retries will be done as usual (see \fI\-\-retry\fP) as long as the timer has not reached this given limit. Notice that if the timer has not reached the limit, the request will be made and while performing, it may take longer than this given time period. To limit a single request's maximum time, use \fI\-m, \-\-max-time\fP. Set this option to zero to not timeout retries. If this option is used several times, the last one will be used. Example: .nf curl --retry-max-time 30 --retry 10 https://example.com |
︙ | ︙ | |||
3742 3743 3744 3745 3746 3747 3748 | See also \fI--retry-max-time\fP. .IP "\-\-sasl-authzid <identity>" Use this authorization identity (authzid), during SASL PLAIN authentication, in addition to the authentication identity (authcid) as specified by \fI\-u, \-\-user\fP. If the option is not specified, the server will derive the authzid from the authcid, but if specified, and depending on the server implementation, it may | | | 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 | See also \fI--retry-max-time\fP. .IP "\-\-sasl-authzid <identity>" Use this authorization identity (authzid), during SASL PLAIN authentication, in addition to the authentication identity (authcid) as specified by \fI\-u, \-\-user\fP. If the option is not specified, the server will derive the authzid from the authcid, but if specified, and depending on the server implementation, it may be used to access another user's inbox, that the user has been granted access to, or a shared mailbox for example. Example: .nf curl --sasl-authzid zid imap://example.com/ .fi |
︙ | ︙ | |||
4090 4091 4092 4093 4094 4095 4096 | .nf curl --sslv3 https://example.com .fi See also \fI--http1.1\fP and \fI--http2\fP. \fI-3, --sslv3\fP requires that the underlying libcurl was built to support TLS. This option is mutually exclusive to \fI-2, --sslv2\fP and \fI-1, --tlsv1\fP and \fI--tlsv1.1\fP and \fI--tlsv1.2\fP. .IP "\-\-stderr <file>" Redirect all writes to stderr to the specified file instead. If the file name | | | 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 | .nf curl --sslv3 https://example.com .fi See also \fI--http1.1\fP and \fI--http2\fP. \fI-3, --sslv3\fP requires that the underlying libcurl was built to support TLS. This option is mutually exclusive to \fI-2, --sslv2\fP and \fI-1, --tlsv1\fP and \fI--tlsv1.1\fP and \fI--tlsv1.2\fP. .IP "\-\-stderr <file>" Redirect all writes to stderr to the specified file instead. If the file name is a plain '-', it is instead written to stdout. This option is global and does not need to be specified for each use of \fI\-:, \-\-next\fP. If this option is used several times, the last one will be used. Example: |
︙ | ︙ | |||
4439 4440 4441 4442 4443 4444 4445 | must use a trailing / on the last directory to really prove to Curl that there is no file name or curl will think that your last directory name is the remote file name to use. That will most likely cause the upload operation to fail. If this is used on an HTTP(S) server, the PUT command will be used. Use the file name "-" (a single dash) to use stdin instead of a given file. Alternately, the file name "." (a single period) may be specified instead of | | | 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 | must use a trailing / on the last directory to really prove to Curl that there is no file name or curl will think that your last directory name is the remote file name to use. That will most likely cause the upload operation to fail. If this is used on an HTTP(S) server, the PUT command will be used. Use the file name "-" (a single dash) to use stdin instead of a given file. Alternately, the file name "." (a single period) may be specified instead of \(dq-" to use stdin in non-blocking mode to allow reading server output while stdin is being uploaded. You can specify one \-\-upload-file for each URL on the command line. Each \fI\-T, \-\-upload-file\fP + URL pair specifies what to upload and to where. curl also supports "globbing" of the \-\-upload-file argument, meaning that you can upload multiple files to a single URL by using the same URL globbing style supported in the URL. |
︙ | ︙ | |||
4555 4556 4557 4558 4559 4560 4561 | .nf curl -u user:secret https://example.com .fi See also \fI-n, --netrc\fP and \fI-K, --config\fP. .IP "\-v, \-\-verbose" Makes curl verbose during the operation. Useful for debugging and seeing | | | | | 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 | .nf curl -u user:secret https://example.com .fi See also \fI-n, --netrc\fP and \fI-K, --config\fP. .IP "\-v, \-\-verbose" Makes curl verbose during the operation. Useful for debugging and seeing what's going on "under the hood". A line starting with '>' means "header data" sent by curl, '<' means "header data" received by curl that is hidden in normal cases, and a line starting with '*' means additional info provided by curl. If you only want HTTP headers in the output, \-\-include might be the option you are looking for. If you think this option still does not give you enough details, consider using \-\-trace or \-\-trace-ascii instead. |
︙ | ︙ | |||
4699 4700 4701 4702 4703 4704 4705 | .TP .B exitcode The numerical exitcode of the transfer. (Added in 7.75.0) .TP .B filename_effective The ultimate filename that curl writes out to. This is only meaningful if curl is told to write to a file with the \-\-remote-name or \-\-output | | | 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 | .TP .B exitcode The numerical exitcode of the transfer. (Added in 7.75.0) .TP .B filename_effective The ultimate filename that curl writes out to. This is only meaningful if curl is told to write to a file with the \-\-remote-name or \-\-output option. It's most useful in combination with the \-\-remote-header-name option. .TP .B ftp_entry_path The initial path curl ended up in when logging on to the remote FTP server. .TP .B header_json |
︙ | ︙ | |||
4754 4755 4756 4757 4758 4759 4760 | Number of redirects that were followed in the request. .TP .B onerror The rest of the output is only shown if the transfer returned a non-zero error (Added in 7.75.0) .TP .B proxy_ssl_verify_result | | | 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 | Number of redirects that were followed in the request. .TP .B onerror The rest of the output is only shown if the transfer returned a non-zero error (Added in 7.75.0) .TP .B proxy_ssl_verify_result The result of the HTTPS proxy's SSL peer certificate verification that was requested. 0 means the verification was successful. (Added in 7.52.0) .TP .B redirect_url When an HTTP request was made without \-\-location to follow redirects (or when \-\-max-redirs is met), this variable will show the actual URL a redirect \fIwould\fP have gone to. .TP |
︙ | ︙ | |||
4902 4903 4904 4905 4906 4907 4908 | Sets the proxy server to use for [url-protocol], where the protocol is a protocol that curl supports and as specified in a URL. FTP, FTPS, POP3, IMAP, SMTP, LDAP, etc. .IP "ALL_PROXY [protocol://]<host>[:port]" Sets the proxy server to use if no protocol-specific proxy is set. .IP "NO_PROXY <comma-separated list of hosts/domains>" list of host names that should not go through any proxy. If set to an asterisk | | | 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 | Sets the proxy server to use for [url-protocol], where the protocol is a protocol that curl supports and as specified in a URL. FTP, FTPS, POP3, IMAP, SMTP, LDAP, etc. .IP "ALL_PROXY [protocol://]<host>[:port]" Sets the proxy server to use if no protocol-specific proxy is set. .IP "NO_PROXY <comma-separated list of hosts/domains>" list of host names that should not go through any proxy. If set to an asterisk \(aq*' only, it matches all hosts. Each name in this list is matched as either a domain name which contains the hostname, or the hostname itself. This environment variable disables use of the proxy even when specified with the \-\-proxy option. That is .B NO_PROXY=direct.example.com curl \-x http://proxy.example.com .B http://direct.example.com accesses the target URL directly, and |
︙ | ︙ | |||
4965 4966 4967 4968 4969 4970 4971 | secrets from its connections in that file when invoked to enable you to analyze the TLS traffic in real time using network analyzing tools such as Wireshark. This works with the following TLS backends: OpenSSL, libressl, BoringSSL, GnuTLS, NSS and wolfSSL. .IP "USERPROFILE <dir>" On Windows, this variable is used when trying to find the home directory. If the other, primary, variable are all unset. If set, curl will use the path | | | 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 | secrets from its connections in that file when invoked to enable you to analyze the TLS traffic in real time using network analyzing tools such as Wireshark. This works with the following TLS backends: OpenSSL, libressl, BoringSSL, GnuTLS, NSS and wolfSSL. .IP "USERPROFILE <dir>" On Windows, this variable is used when trying to find the home directory. If the other, primary, variable are all unset. If set, curl will use the path \(dq$USERPROFILE\\Application Data". .IP "XDG_CONFIG_HOME <dir>" If \fBCURL_HOME\fP is not set, this variable is checked when looking for a default .curlrc file. .SH "PROXY PROTOCOL PREFIXES" The proxy string may be specified with a protocol:// prefix to specify alternative proxy protocols. |
︙ | ︙ | |||
5097 5098 5099 5100 5101 5102 5103 | Too many redirects. When following redirects, curl hit the maximum amount. .IP 48 Unknown option specified to libcurl. This indicates that you passed a weird option to curl that was passed on to libcurl and rejected. Read up in the manual! .IP 49 Malformed telnet option. | < < < < | 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 | Too many redirects. When following redirects, curl hit the maximum amount. .IP 48 Unknown option specified to libcurl. This indicates that you passed a weird option to curl that was passed on to libcurl and rejected. Read up in the manual! .IP 49 Malformed telnet option. .IP 52 The server did not reply anything, which here is considered an error. .IP 53 SSL crypto engine not found. .IP 54 Cannot set SSL crypto engine as default. .IP 55 Failed sending network data. .IP 56 Failure in receiving network data. .IP 58 Problem with the local certificate. .IP 59 Could not use specified SSL cipher. .IP 60 Peer certificate cannot be authenticated with known CA certificates. .IP 61 Unrecognized transfer encoding. .IP 63 Maximum file size exceeded. .IP 64 Requested FTP SSL level failed. .IP 65 Sending the data requires a rewind that failed. .IP 66 |
︙ | ︙ | |||
5143 5144 5145 5146 5147 5148 5149 | Illegal TFTP operation. .IP 72 Unknown TFTP transfer ID. .IP 73 File already exists (TFTP). .IP 74 No such user (TFTP). | < < < < | 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 | Illegal TFTP operation. .IP 72 Unknown TFTP transfer ID. .IP 73 File already exists (TFTP). .IP 74 No such user (TFTP). .IP 77 Problem reading the SSL CA cert (path? access rights?). .IP 78 The resource referenced in the URL does not exist. .IP 79 An unspecified error occurred during the SSH session. .IP 80 |
︙ | ︙ | |||
5191 5192 5193 5194 5195 5196 5197 | .IP 96 QUIC connection error. This error may be caused by an SSL library error. QUIC is the protocol used for HTTP/3 transfers. .IP XX More error codes will appear here in future releases. The existing ones are meant to never change. .SH BUGS | | | 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 | .IP 96 QUIC connection error. This error may be caused by an SSL library error. QUIC is the protocol used for HTTP/3 transfers. .IP XX More error codes will appear here in future releases. The existing ones are meant to never change. .SH BUGS If you experience any problems with curl, submit an issue in the project's bug tracker on GitHub: https://github.com/curl/curl/issues .SH AUTHORS / CONTRIBUTORS Daniel Stenberg is the main author, but the whole list of contributors is found in the separate THANKS file. .SH WWW https://curl.se .SH "SEE ALSO" .BR ftp (1), .BR wget (1) |
Changes to jni/curl/docs/examples/Makefile.in.
︙ | ︙ | |||
170 171 172 173 174 175 176 | simplepost$(EXEEXT) simplessl$(EXEEXT) smtp-authzid$(EXEEXT) \ smtp-expn$(EXEEXT) smtp-mail$(EXEEXT) smtp-mime$(EXEEXT) \ smtp-multi$(EXEEXT) smtp-ssl$(EXEEXT) smtp-tls$(EXEEXT) \ smtp-vrfy$(EXEEXT) sslbackend$(EXEEXT) url2file$(EXEEXT) \ urlapi$(EXEEXT) subdir = docs/examples ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | | < | 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 | simplepost$(EXEEXT) simplessl$(EXEEXT) smtp-authzid$(EXEEXT) \ smtp-expn$(EXEEXT) smtp-mail$(EXEEXT) smtp-mime$(EXEEXT) \ smtp-multi$(EXEEXT) smtp-ssl$(EXEEXT) smtp-tls$(EXEEXT) \ smtp-vrfy$(EXEEXT) sslbackend$(EXEEXT) url2file$(EXEEXT) \ urlapi$(EXEEXT) subdir = docs/examples ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \ $(top_srcdir)/m4/curl-bearssl.m4 \ $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-gnutls.m4 \ $(top_srcdir)/m4/curl-mbedtls.m4 $(top_srcdir)/m4/curl-nss.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ |
︙ | ︙ | |||
1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ | > | 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ |
︙ | ︙ | |||
1252 1253 1254 1255 1256 1257 1258 | # These examples require external dependencies that may not be commonly # available on POSIX systems, so don't bother attempting to compile them here. COMPLICATED_EXAMPLES = \ cacertinmem.c \ crawler.c \ curlgtk.c \ | < | 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 | # These examples require external dependencies that may not be commonly # available on POSIX systems, so don't bother attempting to compile them here. COMPLICATED_EXAMPLES = \ cacertinmem.c \ crawler.c \ curlgtk.c \ ephiperfifo.c \ evhiperfifo.c \ ghiper.c \ hiperfifo.c \ href_extractor.c \ htmltidy.c \ htmltitle.cpp \ |
︙ | ︙ |
Changes to jni/curl/docs/examples/Makefile.inc.
︙ | ︙ | |||
120 121 122 123 124 125 126 | # These examples require external dependencies that may not be commonly # available on POSIX systems, so don't bother attempting to compile them here. COMPLICATED_EXAMPLES = \ cacertinmem.c \ crawler.c \ curlgtk.c \ | < | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | # These examples require external dependencies that may not be commonly # available on POSIX systems, so don't bother attempting to compile them here. COMPLICATED_EXAMPLES = \ cacertinmem.c \ crawler.c \ curlgtk.c \ ephiperfifo.c \ evhiperfifo.c \ ghiper.c \ hiperfifo.c \ href_extractor.c \ htmltidy.c \ htmltitle.cpp \ |
︙ | ︙ |
Changes to jni/curl/docs/examples/Makefile.m32.
︙ | ︙ | |||
109 110 111 112 113 114 115 116 117 118 119 | ifeq ($(CURL_CC),) CURL_CC := $(CROSSPREFIX)gcc endif ifeq ($(CURL_AR),) CURL_AR := $(CROSSPREFIX)ar endif CC = $(CURL_CC) CFLAGS = -O3 $(CURL_CFLAG_EXTRAS) -W -Wall LDFLAGS = $(CURL_LDFLAG_EXTRAS) $(CURL_LDFLAG_EXTRAS_EXE) | > > > | | > > | 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 | ifeq ($(CURL_CC),) CURL_CC := $(CROSSPREFIX)gcc endif ifeq ($(CURL_AR),) CURL_AR := $(CROSSPREFIX)ar endif ifeq ($(CURL_RC),) CURL_RC := $(CROSSPREFIX)windres endif CC = $(CURL_CC) CFLAGS = -O3 $(CURL_CFLAG_EXTRAS) -W -Wall LDFLAGS = $(CURL_LDFLAG_EXTRAS) $(CURL_LDFLAG_EXTRAS_EXE) RC = $(CURL_RC) RCFLAGS = --include-dir=$(PROOT)/include -O coff $(CURL_RCFLAG_EXTRAS) # Set environment var ARCH to your architecture to override autodetection. ifndef ARCH ifeq ($(findstring x86_64,$(shell $(CC) -dumpmachine)),x86_64) ARCH = w64 else ARCH = w32 endif endif ifneq ($(ARCH),custom) ifeq ($(ARCH),w64) CFLAGS += -m64 LDFLAGS += -m64 RCFLAGS += -F pe-x86-64 else CFLAGS += -m32 LDFLAGS += -m32 RCFLAGS += -F pe-i386 endif endif # Platform-dependent helper tool macros ifeq ($(findstring /sh,$(SHELL)),/sh) DEL = rm -f $1 RMDIR = rm -fr $1 MKDIR = mkdir -p $1 |
︙ | ︙ | |||
262 263 264 265 266 267 268 | curl_LDADD += -L"$(NGHTTP2_PATH)/lib" -lnghttp2 endif ifdef SSH2 CFLAGS += -DUSE_LIBSSH2 -DHAVE_LIBSSH2_H curl_LDADD += -L"$(LIBSSH2_PATH)/win32" -lssh2 ifdef SCHANNEL ifndef DYN | | > > > > > > > > > > > > > > > > < < < < < < < < < | 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 | curl_LDADD += -L"$(NGHTTP2_PATH)/lib" -lnghttp2 endif ifdef SSH2 CFLAGS += -DUSE_LIBSSH2 -DHAVE_LIBSSH2_H curl_LDADD += -L"$(LIBSSH2_PATH)/win32" -lssh2 ifdef SCHANNEL ifndef DYN curl_LDADD += -lcrypt32 endif endif endif ifdef NGHTTP3 CFLAGS += -DUSE_NGHTTP3 curl_LDADD += -L"$(NGHTTP3_PATH)/lib" -lnghttp3 ifdef NGTCP2 CFLAGS += -DUSE_NGTCP2 curl_LDADD += -L"$(NGTCP2_PATH)/lib" ifdef NGTCP2_LIBS curl_LDADD += $(NGTCP2_LIBS) else curl_LDADD += -lngtcp2 ifdef SSL curl_LDADD += -lngtcp2_crypto_openssl endif endif endif endif ifdef SSL ifndef OPENSSL_INCLUDE ifeq "$(wildcard $(OPENSSL_PATH)/outinc)" "$(OPENSSL_PATH)/outinc" OPENSSL_INCLUDE = $(OPENSSL_PATH)/outinc endif ifeq "$(wildcard $(OPENSSL_PATH)/include)" "$(OPENSSL_PATH)/include" OPENSSL_INCLUDE = $(OPENSSL_PATH)/include endif |
︙ | ︙ | |||
370 371 372 373 374 375 376 | curl_LDADD += -L"$(LDAP_SDK)/lib" -lldap -llber endif ifndef USE_LDAP_NOVELL ifndef USE_LDAP_OPENLDAP curl_LDADD += -lwldap32 endif endif | | | 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 | curl_LDADD += -L"$(LDAP_SDK)/lib" -lldap -llber endif ifndef USE_LDAP_NOVELL ifndef USE_LDAP_OPENLDAP curl_LDADD += -lwldap32 endif endif curl_LDADD += -lws2_32 -lbcrypt # Makefile.inc provides the check_PROGRAMS and COMPLICATED_EXAMPLES defines include Makefile.inc check_PROGRAMS := $(patsubst %,%.exe,$(strip $(check_PROGRAMS))) check_PROGRAMS += ftpuploadresume.exe synctime.exe |
︙ | ︙ |
Deleted jni/curl/docs/examples/curlx.c.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Changes to jni/curl/docs/examples/ftpuploadresume.c.
︙ | ︙ | |||
82 83 84 85 86 87 88 | } curl_easy_setopt(curlhandle, CURLOPT_UPLOAD, 1L); curl_easy_setopt(curlhandle, CURLOPT_URL, remotepath); if(timeout) | | | 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | } curl_easy_setopt(curlhandle, CURLOPT_UPLOAD, 1L); curl_easy_setopt(curlhandle, CURLOPT_URL, remotepath); if(timeout) curl_easy_setopt(curlhandle, CURLOPT_SERVER_RESPONSE_TIMEOUT, timeout); curl_easy_setopt(curlhandle, CURLOPT_HEADERFUNCTION, getcontentlengthfunc); curl_easy_setopt(curlhandle, CURLOPT_HEADERDATA, &uploaded_len); curl_easy_setopt(curlhandle, CURLOPT_WRITEFUNCTION, discardfunc); curl_easy_setopt(curlhandle, CURLOPT_READFUNCTION, readfunc); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/Makefile.in.
︙ | ︙ | |||
136 137 138 139 140 141 142 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = docs/libcurl ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | | < | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = docs/libcurl ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \ $(top_srcdir)/m4/curl-bearssl.m4 \ $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-gnutls.m4 \ $(top_srcdir)/m4/curl-mbedtls.m4 $(top_srcdir)/m4/curl-nss.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ |
︙ | ︙ | |||
605 606 607 608 609 610 611 612 613 614 615 616 617 618 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ | > | 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_cleanup.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH curl_easy_cleanup 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_easy_cleanup - End a libcurl easy handle .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_duphandle.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_easy_duphandle 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_easy_duphandle - Clone a libcurl session handle .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_escape.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | > > > > | 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 | .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH curl_easy_escape 3 "July 08, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_easy_escape - URL encodes the given string .SH SYNOPSIS .nf #include <curl/curl.h> char *curl_easy_escape(CURL *curl, const char *string, int length); .fi .SH DESCRIPTION This function converts the given input \fIstring\fP to a URL encoded string and returns that as a new allocated string. All input characters that are not a-z, A-Z, 0-9, '-', '.', '_' or '~' are converted to their "URL escaped" version (%NN where NN is a two-digit hexadecimal number). If \fIlength\fP is set to 0 (zero), \fIcurl_easy_escape(3)\fP uses strlen() on the input \fIstring\fP to find out the size. This function does not accept input strings longer than \fBCURL_MAX_INPUT_LENGTH\fP (8 MB). Since 7.82.0, the \fBcurl\fP parameter is ignored. Prior to that there was per-handle character conversion support for some very old operating systems such as TPF, but it was otherwise ignored. You must \fIcurl_free(3)\fP the returned string when you are done with it. .SH ENCODING libcurl is typically not aware of, nor does it care about, character encodings. \fIcurl_easy_escape(3)\fP encodes the data byte-by-byte into the URL encoded version without knowledge or care for what particular character encoding the application or the receiving server may assume that the data |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_getinfo.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH curl_easy_getinfo 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_easy_getinfo - extract information from a curl handle .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_header.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_easy_header 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_easy_header - get an HTTP header .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_init.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_easy_init 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_easy_init - Start a libcurl easy session .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_nextheader.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_easy_nextheader 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_easy_nextheader - get the next HTTP header .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_option_by_id.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_easy_option_by_id 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_easy_option_by_id - find an easy setopt option by id .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_option_by_name.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_easy_option_by_name 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_easy_option_by_name - find an easy setopt option by name .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_option_next.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_easy_option_next 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_easy_option_next - iterate over easy setopt options .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_pause.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_easy_pause 3 "June 15, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_easy_pause - pause and unpause a connection .SH SYNOPSIS .nf .B #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_perform.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_easy_perform 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_easy_perform - perform a blocking file transfer .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_recv.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH curl_easy_recv 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_easy_recv - receives raw data on an "easy" connection .SH SYNOPSIS .nf #include <curl/easy.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_reset.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_easy_reset 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_easy_reset - reset all options of a libcurl session handle .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_send.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH curl_easy_send 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_easy_send - sends raw data over an "easy" connection .SH SYNOPSIS .nf #include <curl/easy.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_setopt.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH curl_easy_setopt 3 "July 04, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_easy_setopt \- set options for a curl easy handle .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ | |||
164 165 166 167 168 169 170 | Keep sending on HTTP >= 300 errors. \fICURLOPT_KEEP_SENDING_ON_ERROR(3)\fP .SH NETWORK OPTIONS .IP CURLOPT_URL URL to work on. See \fICURLOPT_URL(3)\fP .IP CURLOPT_PATH_AS_IS Disable squashing /../ and /./ sequences in the path. See \fICURLOPT_PATH_AS_IS(3)\fP .IP CURLOPT_PROTOCOLS | > > | > > > | | 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 | Keep sending on HTTP >= 300 errors. \fICURLOPT_KEEP_SENDING_ON_ERROR(3)\fP .SH NETWORK OPTIONS .IP CURLOPT_URL URL to work on. See \fICURLOPT_URL(3)\fP .IP CURLOPT_PATH_AS_IS Disable squashing /../ and /./ sequences in the path. See \fICURLOPT_PATH_AS_IS(3)\fP .IP CURLOPT_PROTOCOLS \fBDeprecated option\fP Allowed protocols. See \fICURLOPT_PROTOCOLS(3)\fP .IP CURLOPT_PROTOCOLS_STR Allowed protocols. See \fICURLOPT_PROTOCOLS_STR(3)\fP .IP CURLOPT_REDIR_PROTOCOLS \fBDeprecated option\fP Protocols to allow redirects to. See \fICURLOPT_REDIR_PROTOCOLS(3)\fP .IP CURLOPT_REDIR_PROTOCOLS_STR Protocols to allow redirects to. See \fICURLOPT_REDIR_PROTOCOLS_STR(3)\fP .IP CURLOPT_DEFAULT_PROTOCOL Default protocol. See \fICURLOPT_DEFAULT_PROTOCOL(3)\fP .IP CURLOPT_PROXY Proxy to use. See \fICURLOPT_PROXY(3)\fP .IP CURLOPT_PRE_PROXY Socks proxy to use. See \fICURLOPT_PRE_PROXY(3)\fP .IP CURLOPT_PROXYPORT |
︙ | ︙ | |||
401 402 403 404 405 406 407 | Use EPTR. See \fICURLOPT_FTP_USE_EPRT(3)\fP .IP CURLOPT_FTP_USE_EPSV Use EPSV. See \fICURLOPT_FTP_USE_EPSV(3)\fP .IP CURLOPT_FTP_USE_PRET Use PRET. See \fICURLOPT_FTP_USE_PRET(3)\fP .IP CURLOPT_FTP_CREATE_MISSING_DIRS Create missing directories on the remote server. See \fICURLOPT_FTP_CREATE_MISSING_DIRS(3)\fP | | | | 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 | Use EPTR. See \fICURLOPT_FTP_USE_EPRT(3)\fP .IP CURLOPT_FTP_USE_EPSV Use EPSV. See \fICURLOPT_FTP_USE_EPSV(3)\fP .IP CURLOPT_FTP_USE_PRET Use PRET. See \fICURLOPT_FTP_USE_PRET(3)\fP .IP CURLOPT_FTP_CREATE_MISSING_DIRS Create missing directories on the remote server. See \fICURLOPT_FTP_CREATE_MISSING_DIRS(3)\fP .IP CURLOPT_SERVER_RESPONSE_TIMEOUT Timeout for server responses. See \fICURLOPT_SERVER_RESPONSE_TIMEOUT(3)\fP .IP CURLOPT_FTP_ALTERNATIVE_TO_USER Alternative to USER. See \fICURLOPT_FTP_ALTERNATIVE_TO_USER(3)\fP .IP CURLOPT_FTP_SKIP_PASV_IP Ignore the IP address in the PASV response. See \fICURLOPT_FTP_SKIP_PASV_IP(3)\fP .IP CURLOPT_FTPSSLAUTH Control how to do TLS. See \fICURLOPT_FTPSSLAUTH(3)\fP .IP CURLOPT_FTP_SSL_CCC |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_strerror.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_easy_strerror 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_easy_strerror - return string describing error code .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_unescape.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH curl_easy_unescape 3 "July 08, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_easy_unescape - URL decodes the given string .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ | |||
44 45 46 47 48 49 50 51 52 53 54 55 56 57 | If \fBoutlength\fP is non-NULL, the function will write the length of the returned string in the integer it points to. This allows an escaped string containing %00 to still get used properly after unescaping. Since this is a pointer to an \fIint\fP type, it can only return a value up to INT_MAX so no longer string can be unescaped if the string length is returned in this parameter. You must \fIcurl_free(3)\fP the returned string when you are done with it. .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { int decodelen; | > > > > | 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | If \fBoutlength\fP is non-NULL, the function will write the length of the returned string in the integer it points to. This allows an escaped string containing %00 to still get used properly after unescaping. Since this is a pointer to an \fIint\fP type, it can only return a value up to INT_MAX so no longer string can be unescaped if the string length is returned in this parameter. Since 7.82.0, the \fBcurl\fP parameter is ignored. Prior to that there was per-handle character conversion support for some very old operating systems such as TPF, but it was otherwise ignored. You must \fIcurl_free(3)\fP the returned string when you are done with it. .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { int decodelen; |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_upkeep.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH curl_easy_upkeep 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_easy_upkeep - Perform any connection upkeep checks. .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_escape.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_escape 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_escape - URL encodes the given string .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_formadd.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_formadd 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_formadd - add a section to a multipart/formdata HTTP POST .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_formfree.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_formfree 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_formfree - free a previously build multipart/formdata HTTP POST chain .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_formget.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_formget 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_free 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_free - reclaim memory that has been obtained through a libcurl call .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_getdate.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_getdate 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_getdate - Convert a date string to number of seconds .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_getenv.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_getenv 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_getenv - return value for environment name .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_global_cleanup.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_global_cleanup 3 "June 15, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_global_cleanup - global libcurl cleanup .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_global_init.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_global_init 3 "June 15, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_global_init - Global libcurl initialization .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_global_init_mem.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_global_init_mem 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_global_init_mem - Global libcurl initialization with memory callbacks .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_global_sslset.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_global_sslset 3 "June 15, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_global_sslset - Select SSL backend to use with libcurl .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_addpart.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_mime_addpart 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_mime_addpart - append a new empty part to a mime structure .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_data.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | > > > | | > | < | 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 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_mime_data 3 "June 28, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_mime_data - set a mime part's body data from memory .SH SYNOPSIS .nf #include <curl/curl.h> CURLcode curl_mime_data(curl_mimepart *part, const char *data, size_t datasize); .fi .SH DESCRIPTION \fIcurl_mime_data(3)\fP sets a mime part's body content from memory data. \fIpart\fP is the mime part to assign contents to, created with \fIcurl_mime_addpart(3)\fP. \fIdata\fP points to the data that gets copied by this function. The storage may safely be reused after the call. \fIdatasize\fP is the number of bytes \fIdata\fP points to. It can be set to \fICURL_ZERO_TERMINATED\fP to indicate \fIdata\fP is a null-terminated character string. Setting a part's contents multiple times is valid: only the value set by the last call is retained. It is possible to unassign part's contents by setting \fIdata\fP to NULL. Setting large data is memory consuming: one might consider using \fIcurl_mime_data_cb(3)\fP in such a case. |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_data_cb.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_mime_data_cb 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_mime_data_cb - set a callback-based data source for a mime part's body .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_encoder.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_mime_encoder 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_mime_encoder - set a mime part's encoder and content transfer encoding .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_filedata.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_mime_filedata 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_mime_filedata - set a mime part's body data from a file contents .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_filename.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_mime_filename 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_mime_filename - set a mime part's remote file name .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_free.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_mime_free 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_mime_free - free a previously built mime structure .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_headers.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_mime_headers 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_mime_headers - set a mime part's custom headers .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_init.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_mime_init 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_mime_init - create a mime handle .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_name.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_mime_name 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_mime_name - set a mime part's name .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_subparts.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_mime_subparts 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_mime_subparts - set subparts of a multipart mime part .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_type.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_mime_type 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_mime_type - set a mime part's content type .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mprintf.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_printf 3 "May 17, 2022" "libcurl 7.85.0" "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 .nf |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_add_handle.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_multi_add_handle 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_multi_add_handle - add an easy handle to a multi session .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_assign.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_multi_assign 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_multi_assign \- set data to associate with an internal socket .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_cleanup.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_multi_cleanup 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_multi_cleanup - close down a multi session .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_fdset.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_multi_fdset 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_multi_info_read 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_multi_info_read - read multi stack informationals .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_init.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_multi_init 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_multi_init - create a multi handle .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_perform.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | | | 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 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_multi_perform 3 "August 15, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_multi_perform - reads/writes available data from easy handles .SH SYNOPSIS .nf #include <curl/curl.h> CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles); .fi .SH DESCRIPTION This function performs transfers on all the added handles that need attention in a non-blocking fashion. The easy handles have previously been added to the multi handle with \fIcurl_multi_add_handle(3)\fP. When an application has found out there's data available for the multi_handle or a timeout has elapsed, the application should call this function to read/write whatever there is to read or write right now etc. \fIcurl_multi_perform(3)\fP returns as soon as the reads/writes are done. This function does not require that there actually is any data available for |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_poll.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_multi_poll 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_multi_poll - polls on all easy handles in a multi handle .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_remove_handle.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_multi_remove_handle 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_multi_remove_handle - remove an easy handle from a multi session .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_setopt.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_multi_setopt 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_multi_setopt \- set options for a curl multi handle .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_socket.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_multi_socket 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_multi_socket_action 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_multi_strerror 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_multi_timeout 3 "July 14, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_multi_timeout \- how long to wait for action before proceeding .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ | |||
42 43 44 45 46 47 48 | to CURL_SOCKET_TIMEOUT, or call \fIcurl_multi_perform(3)\fP if you are using the simpler and older multi interface approach. The timeout value returned in the long \fBtimeout\fP points to, is in number of milliseconds at this moment. If 0, it means you should proceed immediately without waiting for anything. If it returns -1, there's no timeout at all set. | | | | | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | to CURL_SOCKET_TIMEOUT, or call \fIcurl_multi_perform(3)\fP if you are using the simpler and older multi interface approach. The timeout value returned in the long \fBtimeout\fP points to, is in number of milliseconds at this moment. If 0, it means you should proceed immediately without waiting for anything. If it returns -1, there's no timeout at all set. An application that uses the multi_socket API SHOULD NOT use this function, but SHOULD instead use the \fICURLMOPT_TIMERFUNCTION(3)\fP option for proper and desired behavior. Note: if libcurl returns a -1 timeout here, it just means that libcurl currently has no stored timeout value. You must not wait too long (more than a few seconds perhaps) before you call curl_multi_perform() again. .SH EXAMPLE .nf struct timeval timeout; |
︙ | ︙ | |||
66 67 68 69 70 71 72 | timeout.tv_sec = timeo / 1000; timeout.tv_usec = (timeo % 1000) * 1000; /* wait for activities no longer than the set timeout */ select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); .fi .SH TYPICAL USAGE | | | | > > | 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | timeout.tv_sec = timeo / 1000; timeout.tv_usec = (timeo % 1000) * 1000; /* wait for activities no longer than the set timeout */ select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); .fi .SH TYPICAL USAGE Call \fIcurl_multi_timeout(3)\fP, then wait for action on the sockets. Figure out which sockets to wait for by calling \fIcurl_multi_fdset(3)\fP. When there is activity or timeout, call \fIcurl_multi_perform(3)\fP and then loop - until all transfers are complete. .SH AVAILABILITY This function was added in libcurl 7.15.4. .SH RETURN VALUE The standard CURLMcode for multi interface error codes. .SH "SEE ALSO" .BR curl_multi_fdset "(3), " curl_multi_info_read "(3), " .BR curl_multi_socket "(3), " curl_multi_setopt "(3) " |
Changes to jni/curl/docs/libcurl/curl_multi_wait.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_multi_wait 3 "May 17, 2022" "libcurl 7.85.0" "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_multi_wakeup.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_multi_wakeup 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_multi_wakeup - wakes up a sleeping curl_multi_poll call .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_share_cleanup.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_share_cleanup 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_share_cleanup - Clean up a shared object .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_share_init.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_share_init 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_share_init - Create a shared object .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_share_setopt.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_share_setopt 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_share_setopt - Set options for a shared object .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_share_strerror.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_share_strerror 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_slist_append 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_slist_append - add a string to an slist .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_slist_free_all.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_slist_free_all 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_slist_free_all - free an entire curl_slist list .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_strequal.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_strequal 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_strequal, curl_strnequal - case insensitive string comparisons .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_unescape.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_unescape 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_unescape - URL decodes the given string .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_url.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_url 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_url - returns a new CURLU handle .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_url_cleanup.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_url_cleanup 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_url_cleanup - free a CURLU handle .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_url_dup.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_url_dup 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_url_dup - duplicate a CURLU handle .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_url_get.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_url_get 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_url_get - extract a part from a URL .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_url_set.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_url_set 3 "June 12, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_url_set - set a URL part .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_url_strerror.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_url_strerror 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_url_strerror - return string describing error code .SH SYNOPSIS .nf .B #include <curl/curl.h> .BI "const char *curl_url_strerror(CURLUcode " errornum ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_version.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH curl_version 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_version - returns the libcurl version string .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_version_info.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH curl_version_info 3 "June 13, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME curl_version_info - returns runtime libcurl version info .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-easy.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH libcurl 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH libcurl-env 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH libcurl-errors 3 "June 29, 2022" "libcurl 7.85.0" "libcurl errors" .SH NAME libcurl-errors \- error codes in libcurl .SH DESCRIPTION This man page includes most, if not all, available error codes in libcurl. Why they occur and possibly what you can do to fix the problem are also included. .SH "CURLcode" |
︙ | ︙ | |||
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 | .IP "CURLE_PARTIAL_FILE (18)" A file transfer was shorter or larger than expected. This happens when the server first reports an expected transfer size, and then delivers data that does not match the previously given size. .IP "CURLE_FTP_COULDNT_RETR_FILE (19)" This was either a weird reply to a 'RETR' command or a zero byte transfer complete. .IP "CURLE_QUOTE_ERROR (21)" When sending custom "QUOTE" commands to the remote server, one of the commands returned an error code that was 400 or higher (for FTP) or otherwise indicated unsuccessful completion of the command. .IP "CURLE_HTTP_RETURNED_ERROR (22)" This is returned if \fICURLOPT_FAILONERROR(3)\fP is set TRUE and the HTTP server returns an error code that is >= 400. .IP "CURLE_WRITE_ERROR (23)" An error occurred when writing received data to a local file, or an error was returned to libcurl from a write callback. .IP "CURLE_UPLOAD_FAILED (25)" Failed starting the upload. For FTP, the server typically denied the STOR command. The error buffer usually contains the server's explanation for this. .IP "CURLE_READ_ERROR (26)" There was a problem reading a local file or an error returned by the read callback. .IP "CURLE_OUT_OF_MEMORY (27)" A memory allocation request failed. This is serious badness and things are severely screwed up if this ever occurs. .IP "CURLE_OPERATION_TIMEDOUT (28)" Operation timeout. The specified time-out period was reached according to the conditions. .IP "CURLE_FTP_PORT_FAILED (30)" The FTP PORT command returned error. This mostly happens when you have not specified a good enough address for libcurl to use. See \fICURLOPT_FTPPORT(3)\fP. .IP "CURLE_FTP_COULDNT_USE_REST (31)" The FTP REST command returned error. This should never happen if the server is sane. .IP "CURLE_RANGE_ERROR (33)" The server does not support or accept range requests. .IP "CURLE_HTTP_POST_ERROR (34)" This is an odd error that mainly occurs due to internal confusion. .IP "CURLE_SSL_CONNECT_ERROR (35)" A problem occurred somewhere in the SSL/TLS handshake. You really want the error buffer and read the message there as it pinpoints the problem slightly more. Could be certificates (file formats, paths, permissions), passwords, and others. .IP "CURLE_BAD_DOWNLOAD_RESUME (36)" The download could not be resumed because the specified offset was out of the file boundary. .IP "CURLE_FILE_COULDNT_READ_FILE (37)" A file given with FILE:// could not be opened. Most likely because the file path does not identify an existing file. Did you check file permissions? .IP "CURLE_LDAP_CANNOT_BIND (38)" LDAP cannot bind. LDAP bind operation failed. .IP "CURLE_LDAP_SEARCH_FAILED (39)" LDAP search failed. .IP "CURLE_FUNCTION_NOT_FOUND (41)" Function not found. A required zlib function was not found. .IP "CURLE_ABORTED_BY_CALLBACK (42)" Aborted by callback. A callback returned "abort" to libcurl. .IP "CURLE_BAD_FUNCTION_ARGUMENT (43)" A function was called with a bad parameter. .IP "CURLE_INTERFACE_FAILED (45)" Interface error. A specified outgoing interface could not be used. Set which interface to use for outgoing connections' source IP address with \fICURLOPT_INTERFACE(3)\fP. .IP "CURLE_TOO_MANY_REDIRECTS (47)" Too many redirects. When following redirects, libcurl hit the maximum amount. Set your limit with \fICURLOPT_MAXREDIRS(3)\fP. .IP "CURLE_UNKNOWN_OPTION (48)" An option passed to libcurl is not recognized/known. Refer to the appropriate documentation. This is most likely a problem in the program that uses libcurl. The error buffer might contain more specific information about which exact option it concerns. .IP "CURLE_SETOPT_OPTION_SYNTAX (49)" An option passed in to a setopt was wrongly formatted. See error message for details about what option. .IP "CURLE_GOT_NOTHING (52)" Nothing was returned from the server, and under the circumstances, getting nothing is considered an error. .IP "CURLE_SSL_ENGINE_NOTFOUND (53)" The specified crypto engine was not found. .IP "CURLE_SSL_ENGINE_SETFAILED (54)" Failed setting the selected SSL crypto engine as default. .IP "CURLE_SEND_ERROR (55)" Failed sending network data. .IP "CURLE_RECV_ERROR (56)" Failure with receiving network data. .IP "CURLE_SSL_CERTPROBLEM (58)" problem with the local client certificate. .IP "CURLE_SSL_CIPHER (59)" Couldn't use specified cipher. .IP "CURLE_PEER_FAILED_VERIFICATION (60)" The remote server's SSL certificate or SSH md5 fingerprint was deemed not OK. This error code has been unified with CURLE_SSL_CACERT since 7.62.0. Its previous value was 51. .IP "CURLE_BAD_CONTENT_ENCODING (61)" Unrecognized transfer encoding. | > > > > > > > > > > > > > > > > > > | | | 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 | .IP "CURLE_PARTIAL_FILE (18)" A file transfer was shorter or larger than expected. This happens when the server first reports an expected transfer size, and then delivers data that does not match the previously given size. .IP "CURLE_FTP_COULDNT_RETR_FILE (19)" This was either a weird reply to a 'RETR' command or a zero byte transfer complete. .IP "Obsolete error (20)" Not used in modern versions. .IP "CURLE_QUOTE_ERROR (21)" When sending custom "QUOTE" commands to the remote server, one of the commands returned an error code that was 400 or higher (for FTP) or otherwise indicated unsuccessful completion of the command. .IP "CURLE_HTTP_RETURNED_ERROR (22)" This is returned if \fICURLOPT_FAILONERROR(3)\fP is set TRUE and the HTTP server returns an error code that is >= 400. .IP "CURLE_WRITE_ERROR (23)" An error occurred when writing received data to a local file, or an error was returned to libcurl from a write callback. .IP "Obsolete error (24)" Not used in modern versions. .IP "CURLE_UPLOAD_FAILED (25)" Failed starting the upload. For FTP, the server typically denied the STOR command. The error buffer usually contains the server's explanation for this. .IP "CURLE_READ_ERROR (26)" There was a problem reading a local file or an error returned by the read callback. .IP "CURLE_OUT_OF_MEMORY (27)" A memory allocation request failed. This is serious badness and things are severely screwed up if this ever occurs. .IP "CURLE_OPERATION_TIMEDOUT (28)" Operation timeout. The specified time-out period was reached according to the conditions. .IP "Obsolete error (29)" Not used in modern versions. .IP "CURLE_FTP_PORT_FAILED (30)" The FTP PORT command returned error. This mostly happens when you have not specified a good enough address for libcurl to use. See \fICURLOPT_FTPPORT(3)\fP. .IP "CURLE_FTP_COULDNT_USE_REST (31)" The FTP REST command returned error. This should never happen if the server is sane. .IP "Obsolete error (32)" Not used in modern versions. .IP "CURLE_RANGE_ERROR (33)" The server does not support or accept range requests. .IP "CURLE_HTTP_POST_ERROR (34)" This is an odd error that mainly occurs due to internal confusion. .IP "CURLE_SSL_CONNECT_ERROR (35)" A problem occurred somewhere in the SSL/TLS handshake. You really want the error buffer and read the message there as it pinpoints the problem slightly more. Could be certificates (file formats, paths, permissions), passwords, and others. .IP "CURLE_BAD_DOWNLOAD_RESUME (36)" The download could not be resumed because the specified offset was out of the file boundary. .IP "CURLE_FILE_COULDNT_READ_FILE (37)" A file given with FILE:// could not be opened. Most likely because the file path does not identify an existing file. Did you check file permissions? .IP "CURLE_LDAP_CANNOT_BIND (38)" LDAP cannot bind. LDAP bind operation failed. .IP "CURLE_LDAP_SEARCH_FAILED (39)" LDAP search failed. .IP "Obsolete error (40)" Not used in modern versions. .IP "CURLE_FUNCTION_NOT_FOUND (41)" Function not found. A required zlib function was not found. .IP "CURLE_ABORTED_BY_CALLBACK (42)" Aborted by callback. A callback returned "abort" to libcurl. .IP "CURLE_BAD_FUNCTION_ARGUMENT (43)" A function was called with a bad parameter. .IP "Obsolete error (44)" Not used in modern versions. .IP "CURLE_INTERFACE_FAILED (45)" Interface error. A specified outgoing interface could not be used. Set which interface to use for outgoing connections' source IP address with \fICURLOPT_INTERFACE(3)\fP. .IP "Obsolete error (46)" Not used in modern versions. .IP "CURLE_TOO_MANY_REDIRECTS (47)" Too many redirects. When following redirects, libcurl hit the maximum amount. Set your limit with \fICURLOPT_MAXREDIRS(3)\fP. .IP "CURLE_UNKNOWN_OPTION (48)" An option passed to libcurl is not recognized/known. Refer to the appropriate documentation. This is most likely a problem in the program that uses libcurl. The error buffer might contain more specific information about which exact option it concerns. .IP "CURLE_SETOPT_OPTION_SYNTAX (49)" An option passed in to a setopt was wrongly formatted. See error message for details about what option. .IP "Obsolete errors (50-51)" Not used in modern versions. .IP "CURLE_GOT_NOTHING (52)" Nothing was returned from the server, and under the circumstances, getting nothing is considered an error. .IP "CURLE_SSL_ENGINE_NOTFOUND (53)" The specified crypto engine was not found. .IP "CURLE_SSL_ENGINE_SETFAILED (54)" Failed setting the selected SSL crypto engine as default. .IP "CURLE_SEND_ERROR (55)" Failed sending network data. .IP "CURLE_RECV_ERROR (56)" Failure with receiving network data. .IP "Obsolete error (57)" Not used in modern versions. .IP "CURLE_SSL_CERTPROBLEM (58)" problem with the local client certificate. .IP "CURLE_SSL_CIPHER (59)" Couldn't use specified cipher. .IP "CURLE_PEER_FAILED_VERIFICATION (60)" The remote server's SSL certificate or SSH md5 fingerprint was deemed not OK. This error code has been unified with CURLE_SSL_CACERT since 7.62.0. Its previous value was 51. .IP "CURLE_BAD_CONTENT_ENCODING (61)" Unrecognized transfer encoding. .IP "Obsolete error (62)" Not used in modern versions. .IP "CURLE_FILESIZE_EXCEEDED (63)" Maximum file size exceeded. .IP "CURLE_USE_SSL_FAILED (64)" Requested FTP SSL level failed. .IP "CURLE_SEND_FAIL_REWIND (65)" When doing a send operation curl had to rewind the data to retransmit, but the rewinding operation failed. |
︙ | ︙ | |||
210 211 212 213 214 215 216 | Illegal TFTP operation. .IP "CURLE_TFTP_UNKNOWNID (72)" Unknown TFTP transfer ID. .IP "CURLE_REMOTE_FILE_EXISTS (73)" File already exists and will not be overwritten. .IP "CURLE_TFTP_NOSUCHUSER (74)" This error should never be returned by a properly functioning TFTP server. | | | < < | 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 | Illegal TFTP operation. .IP "CURLE_TFTP_UNKNOWNID (72)" Unknown TFTP transfer ID. .IP "CURLE_REMOTE_FILE_EXISTS (73)" File already exists and will not be overwritten. .IP "CURLE_TFTP_NOSUCHUSER (74)" This error should never be returned by a properly functioning TFTP server. .IP "Obsolete error (75-76)" Not used in modern versions. .IP "CURLE_SSL_CACERT_BADFILE (77)" Problem with reading the SSL CA cert (path? access rights?) .IP "CURLE_REMOTE_FILE_NOT_FOUND (78)" The resource referenced in the URL does not exist. .IP "CURLE_SSH (79)" An unspecified error occurred during the SSH session. .IP "CURLE_SSL_SHUTDOWN_FAILED (80)" |
︙ | ︙ | |||
262 263 264 265 266 267 268 269 270 271 272 273 274 275 | An authentication function returned an error. .IP "CURLE_HTTP3 (95)" A problem was detected in the HTTP/3 layer. This is somewhat generic and can be one out of several problems, see the error buffer for details. .IP "CURLE_QUIC_CONNECT_ERROR (96)" QUIC connection error. This error may be caused by an SSL library error. QUIC is the protocol used for HTTP/3 transfers. .IP "CURLE_SSL_CLIENTCERT (98)" SSL Client Certificate required. .IP "CURLE_UNRECOVERABLE_POLL (99)" An internal call to poll() or select() returned error that is not recoverable. .IP "CURLE_OBSOLETE*" These error codes will never be returned. They were used in an old libcurl version and are currently unused. | > > > | 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 | An authentication function returned an error. .IP "CURLE_HTTP3 (95)" A problem was detected in the HTTP/3 layer. This is somewhat generic and can be one out of several problems, see the error buffer for details. .IP "CURLE_QUIC_CONNECT_ERROR (96)" QUIC connection error. This error may be caused by an SSL library error. QUIC is the protocol used for HTTP/3 transfers. .IP "CURLE_PROXY (97)" Proxy handshake error. \fICURLINFO_PROXY_ERROR(3)\fP provides extra details on the specific problem. .IP "CURLE_SSL_CLIENTCERT (98)" SSL Client Certificate required. .IP "CURLE_UNRECOVERABLE_POLL (99)" An internal call to poll() or select() returned error that is not recoverable. .IP "CURLE_OBSOLETE*" These error codes will never be returned. They were used in an old libcurl version and are currently unused. |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-multi.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH libcurl-multi 3 "May 17, 2022" "libcurl 7.85.0" "libcurl multi interface" .SH NAME libcurl-multi \- how to use the multi interface .SH DESCRIPTION This is an overview on how to use the libcurl multi interface in your C programs. There are specific man pages for each function mentioned in here. There's also the \fIlibcurl-tutorial(3)\fP man page for a complete |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-security.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH libcurl-security 3 "June 27, 2022" "libcurl 7.85.0" "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 |
︙ | ︙ | |||
402 403 404 405 406 407 408 | descriptors duplicated in the child process, including the ones libcurl created. libcurl itself uses `fork()` and `execl()` if told to use the `CURLAUTH_NTLM_WB` authentication method which then will invoke the helper command in a child process with file descriptors duplicated. Make sure that only the trusted and reliable helper program is invoked! | | | 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 | descriptors duplicated in the child process, including the ones libcurl created. libcurl itself uses `fork()` and `execl()` if told to use the `CURLAUTH_NTLM_WB` authentication method which then will invoke the helper command in a child process with file descriptors duplicated. Make sure that only the trusted and reliable helper program is invoked! .SH "Secrets in memory" When applications pass user names, passwords or other sensitive data to libcurl to be used for upcoming transfers, those secrets will be kept around as-is in memory. In many cases they will be stored in heap for as long as the handle itself for which the options are set. If an attacker can access the heap, like maybe by reading swap space or via a core dump file, such data might be accessible. |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-share.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH libcurl-share 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH libcurl-symbols 3 "Aug 31, 2022" "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: |
︙ | ︙ | |||
459 460 461 462 463 464 465 466 467 468 469 470 471 472 | .IP CURLE_BAD_PASSWORD_ENTERED Introduced in 7.4.2 Deprecated since 7.17.0 .IP CURLE_CHUNK_FAILED Introduced in 7.21.0 .IP CURLE_CONV_FAILED Introduced in 7.15.4 .IP CURLE_CONV_REQD Introduced in 7.15.4 Deprecated since 7.82.0 .IP CURLE_COULDNT_CONNECT Introduced in 7.1 .IP CURLE_COULDNT_RESOLVE_HOST Introduced in 7.1 | > | 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 | .IP CURLE_BAD_PASSWORD_ENTERED Introduced in 7.4.2 Deprecated since 7.17.0 .IP CURLE_CHUNK_FAILED Introduced in 7.21.0 .IP CURLE_CONV_FAILED Introduced in 7.15.4 Deprecated since 7.82.0 .IP CURLE_CONV_REQD Introduced in 7.15.4 Deprecated since 7.82.0 .IP CURLE_COULDNT_CONNECT Introduced in 7.1 .IP CURLE_COULDNT_RESOLVE_HOST Introduced in 7.1 |
︙ | ︙ | |||
1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 | Introduced in 7.15.5 .IP CURLOPT_FTP_CREATE_MISSING_DIRS Introduced in 7.10.7 .IP CURLOPT_FTP_FILEMETHOD Introduced in 7.15.1 .IP CURLOPT_FTP_RESPONSE_TIMEOUT Introduced in 7.10.8 .IP CURLOPT_FTP_SKIP_PASV_IP Introduced in 7.15.0 .IP CURLOPT_FTP_SSL Introduced in 7.11.0 Deprecated since 7.16.4 .IP CURLOPT_FTP_SSL_CCC Introduced in 7.16.1 | > | 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 | Introduced in 7.15.5 .IP CURLOPT_FTP_CREATE_MISSING_DIRS Introduced in 7.10.7 .IP CURLOPT_FTP_FILEMETHOD Introduced in 7.15.1 .IP CURLOPT_FTP_RESPONSE_TIMEOUT Introduced in 7.10.8 Deprecated since 7.85.0 .IP CURLOPT_FTP_SKIP_PASV_IP Introduced in 7.15.0 .IP CURLOPT_FTP_SSL Introduced in 7.11.0 Deprecated since 7.16.4 .IP CURLOPT_FTP_SSL_CCC Introduced in 7.16.1 |
︙ | ︙ | |||
1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 | .IP CURLOPT_PROGRESSDATA Introduced in 7.1 .IP CURLOPT_PROGRESSFUNCTION Introduced in 7.1 Deprecated since 7.32.0 .IP CURLOPT_PROTOCOLS Introduced in 7.19.4 .IP CURLOPT_PROXY Introduced in 7.1 .IP CURLOPT_PROXY_CAINFO Introduced in 7.52.0 .IP CURLOPT_PROXY_CAINFO_BLOB Introduced in 7.77.0 .IP CURLOPT_PROXY_CAPATH | > > | 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 | .IP CURLOPT_PROGRESSDATA Introduced in 7.1 .IP CURLOPT_PROGRESSFUNCTION Introduced in 7.1 Deprecated since 7.32.0 .IP CURLOPT_PROTOCOLS Introduced in 7.19.4 .IP CURLOPT_PROTOCOLS_STR Introduced in 7.85.0 .IP CURLOPT_PROXY Introduced in 7.1 .IP CURLOPT_PROXY_CAINFO Introduced in 7.52.0 .IP CURLOPT_PROXY_CAINFO_BLOB Introduced in 7.77.0 .IP CURLOPT_PROXY_CAPATH |
︙ | ︙ | |||
1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 | Introduced in 7.1 .IP CURLOPT_READDATA Introduced in 7.9.7 .IP CURLOPT_READFUNCTION Introduced in 7.1 .IP CURLOPT_REDIR_PROTOCOLS Introduced in 7.19.4 .IP CURLOPT_REFERER Introduced in 7.1 .IP CURLOPT_REQUEST_TARGET Introduced in 7.55.0 .IP CURLOPT_RESOLVE Introduced in 7.21.3 .IP CURLOPT_RESOLVER_START_DATA | > > | 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 | Introduced in 7.1 .IP CURLOPT_READDATA Introduced in 7.9.7 .IP CURLOPT_READFUNCTION Introduced in 7.1 .IP CURLOPT_REDIR_PROTOCOLS Introduced in 7.19.4 .IP CURLOPT_REDIR_PROTOCOLS_STR Introduced in 7.85.0 .IP CURLOPT_REFERER Introduced in 7.1 .IP CURLOPT_REQUEST_TARGET Introduced in 7.55.0 .IP CURLOPT_RESOLVE Introduced in 7.21.3 .IP CURLOPT_RESOLVER_START_DATA |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-thread.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH libcurl-thread 3 "June 15, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH libcurl-tutorial 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH libcurl 3 "May 17, 2022" "libcurl 7.85.0" "libcurl URL interface" .SH NAME libcurl-url \- URL interface overview .SH DESCRIPTION The URL interface provides functions for parsing and generating URLs. .SH INCLUDE You still only include <curl/curl.h> in your code. |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH libcurl 3 "June 15, 2022" "libcurl 7.85.0" "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. See \fIlibcurl-easy(3)\fP, \fIlibcurl-multi(3)\fP, \fIlibcurl-share(3)\fP, |
︙ | ︙ |
jni/curl/docs/libcurl/mksymbolsmanpage.pl became executable.
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_ACTIVESOCKET 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_ACTIVESOCKET \- get the active socket .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_APPCONNECT_TIME 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_APPCONNECT_TIME \- get the time until the SSL/SSH handshake is completed .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME_T.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_APPCONNECT_TIME_T 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_APPCONNECT_TIME_T \- get the time until the SSL/SSH handshake is completed .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CAINFO.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_CAINFO 3 "June 13, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CAINFO \- get the default built-in CAINFO string .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CAPATH.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_CAPATH 3 "June 13, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CAPATH \- get the default built-in CAPATH string .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CERTINFO.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_CERTINFO 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CERTINFO \- get the TLS certificate chain .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONDITION_UNMET 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONDITION_UNMET \- get info on unmet time conditional or 304 HTTP response. .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONNECT_TIME.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONNECT_TIME 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONNECT_TIME \- get the time until connect .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONNECT_TIME_T.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONNECT_TIME_T 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONNECT_TIME_T \- get the time until connect .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_LENGTH_DOWNLOAD 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_LENGTH_DOWNLOAD \- get content-length of download .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_LENGTH_DOWNLOAD_T 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_LENGTH_DOWNLOAD_T \- get content-length of download .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_LENGTH_UPLOAD 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_LENGTH_UPLOAD \- get the specified size of the upload .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_LENGTH_UPLOAD_T 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_LENGTH_UPLOAD_T \- get the specified size of the upload .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_TYPE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_TYPE \- get Content-Type .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_COOKIELIST.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_COOKIELIST 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_COOKIELIST \- get all known cookies .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_EFFECTIVE_METHOD.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_EFFECTIVE_METHOD 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_EFFECTIVE_METHOD \- get the last used HTTP method .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_EFFECTIVE_URL 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_EFFECTIVE_URL \- get the last used URL .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_FILETIME.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_FILETIME 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_FILETIME \- get the remote time of the retrieved document .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_FILETIME_T.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_FILETIME 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_FILETIME_T \- get the remote time of the retrieved document .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_FTP_ENTRY_PATH 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_FTP_ENTRY_PATH \- get entry path in FTP server .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_HEADER_SIZE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_HEADER_SIZE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_HEADER_SIZE \- get size of retrieved headers .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_HTTPAUTH_AVAIL 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_HTTPAUTH_AVAIL \- get available HTTP authentication methods .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_HTTP_CONNECTCODE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_HTTP_CONNECTCODE \- get the CONNECT response code .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_HTTP_VERSION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_HTTP_VERSION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_HTTP_VERSION \- get the http version used in the connection .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_LASTSOCKET.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_LASTSOCKET 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_LASTSOCKET \- get the last socket used .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_LOCAL_IP.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_LOCAL_IP 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_LOCAL_IP \- get local IP address of last connection .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_LOCAL_PORT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_LOCAL_PORT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_LOCAL_PORT \- get the latest local port number .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_NAMELOOKUP_TIME 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_NAMELOOKUP_TIME \- get the name lookup time .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME_T.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_NAMELOOKUP_TIME_T 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_NAMELOOKUP_TIME_T \- get the name lookup time in microseconds .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_NUM_CONNECTS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_NUM_CONNECTS \- get number of created connections .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_OS_ERRNO.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_OS_ERRNO 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_OS_ERRNO \- get errno number from last connect failure .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRETRANSFER_TIME 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PRETRANSFER_TIME \- get the time until the file transfer start .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME_T.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRETRANSFER_TIME_T 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PRETRANSFER_TIME_T \- get the time until the file transfer start .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRIMARY_IP.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRIMARY_IP 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PRIMARY_IP \- get IP address of last connection .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRIMARY_PORT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PRIMARY_PORT \- get the latest destination port number .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRIVATE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRIVATE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PRIVATE \- get the private pointer .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PROTOCOL.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | > > > > | 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 | .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_PROTOCOL 3 "June 13, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PROTOCOL \- get the protocol used in the connection .SH SYNOPSIS .nf #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROTOCOL, long *p); .fi .SH DESCRIPTION This option is deprecated. We strongly recommend using \fICURLINFO_SCHEME(3)\fP instead, because this option cannot return all possible protocols! Pass a pointer to a long to receive the version used in the last http connection. The returned value will be exactly one of the CURLPROTO_* values: .nf CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_GOPHER, CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_IMAP, CURLPROTO_IMAPS, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_POP3, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_PROXYAUTH_AVAIL 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PROXYAUTH_AVAIL \- get available HTTP proxy authentication methods .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PROXY_ERROR.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_PROXY_ERROR 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PROXY_ERROR \- get the detailed (SOCKS) proxy error .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_PROXY_SSL_VERIFYRESULT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PROXY_SSL_VERIFYRESULT \- get the result of the proxy certificate verification .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_REDIRECT_COUNT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_REDIRECT_COUNT \- get the number of redirects .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_REDIRECT_TIME 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_REDIRECT_TIME \- get the time for all redirection steps .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_REDIRECT_TIME_T.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_REDIRECT_TIME_T 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_REDIRECT_TIME_T \- get the time for all redirection steps .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_REDIRECT_URL.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_REDIRECT_URL 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_REDIRECT_URL \- get the URL a redirect would go to .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_REFERER.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_REFERER 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_REFERER \- get the referrer header .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_REQUEST_SIZE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_REQUEST_SIZE \- get size of sent request .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_RESPONSE_CODE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RESPONSE_CODE \- get the last response code .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_RETRY_AFTER.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_RETRY_AFTER 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RETRY_AFTER \- returns the Retry-After retry delay .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_RTSP_CLIENT_CSEQ 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RTSP_CLIENT_CSEQ \- get the next RTSP client CSeq .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_RTSP_CSEQ_RECV 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RTSP_CSEQ_RECV \- get the recently received CSeq .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_RTSP_SERVER_CSEQ 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RTSP_SERVER_CSEQ \- get the next RTSP server CSeq .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_RTSP_SESSION_ID 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RTSP_SESSION_ID \- get RTSP session ID .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SCHEME.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_SCHEME 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SCHEME \- get the URL scheme (sometimes called protocol) used in the connection .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_SIZE_DOWNLOAD 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SIZE_DOWNLOAD \- get the number of downloaded bytes .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_SIZE_DOWNLOAD_T 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SIZE_DOWNLOAD_T \- get the number of downloaded bytes .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_SIZE_UPLOAD 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SIZE_UPLOAD \- get the number of uploaded bytes .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_SIZE_UPLOAD_T 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SIZE_UPLOAD_T \- get the number of uploaded bytes .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_SPEED_DOWNLOAD 3 "August 02, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SPEED_DOWNLOAD \- get download speed .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ | |||
49 50 51 52 53 54 55 | /* Perform the request */ res = curl_easy_perform(curl); if(!res) { double speed; res = curl_easy_getinfo(curl, CURLINFO_SPEED_DOWNLOAD, &speed); if(!res) { | | | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | /* Perform the request */ res = curl_easy_perform(curl); if(!res) { double speed; res = curl_easy_getinfo(curl, CURLINFO_SPEED_DOWNLOAD, &speed); if(!res) { printf("Download speed %.0f bytes/sec\\n", speed); } } } .fi .SH AVAILABILITY Added in 7.4.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " .BR CURLINFO_SPEED_UPLOAD "(3), " .BR CURLINFO_SIZE_UPLOAD_T "(3), " |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_SPEED_DOWNLOAD_T 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SPEED_DOWNLOAD_T \- get download speed .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_SPEED_UPLOAD 3 "August 02, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SPEED_UPLOAD \- get upload speed .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ | |||
48 49 50 51 52 53 54 | /* Perform the request */ res = curl_easy_perform(curl); if(!res) { double speed; res = curl_easy_getinfo(curl, CURLINFO_SPEED_UPLOAD, &speed); if(!res) { | | | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | /* Perform the request */ res = curl_easy_perform(curl); if(!res) { double speed; res = curl_easy_getinfo(curl, CURLINFO_SPEED_UPLOAD, &speed); if(!res) { printf("Upload speed %.0f bytes/sec\\n", speed); } } } .fi .SH AVAILABILITY Added in .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " .BR CURLINFO_SPEED_DOWNLOAD "(3), " |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_SPEED_UPLOAD_T 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SPEED_UPLOAD_T \- get upload speed .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_SSL_ENGINES 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SSL_ENGINES \- get an slist of OpenSSL crypto-engines .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_SSL_VERIFYRESULT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SSL_VERIFYRESULT \- get the result of the certificate verification .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_STARTTRANSFER_TIME 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_STARTTRANSFER_TIME \- get the time until the first byte is received .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME_T.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_STARTTRANSFER_TIME_T 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_STARTTRANSFER_TIME_T \- get the time until the first byte is received .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_TLS_SESSION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_TLS_SESSION 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_TLS_SSL_PTR 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_TOTAL_TIME 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_TOTAL_TIME \- get total time of previous transfer .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_TOTAL_TIME_T.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLINFO_TOTAL_TIME_T 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_getinfo options" .SH NAME CURLINFO_TOTAL_TIME_T \- get total time of previous transfer in microseconds .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 3 "May 17, 2022" "libcurl 7.85.0" "curl_multi_setopt options" .SH NAME CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE \- chunk length threshold for pipelining .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 3 "May 17, 2022" "libcurl 7.85.0" "curl_multi_setopt options" .SH NAME CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE \- size threshold for pipelining penalty .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAXCONNECTS 3 "May 17, 2022" "libcurl 7.85.0" "curl_multi_setopt options" .SH NAME CURLMOPT_MAXCONNECTS \- size of connection cache .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_MAX_CONCURRENT_STREAMS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAX_CONCURRENT_STREAMS 3 "May 17, 2022" "libcurl 7.85.0" "curl_multi_setopt options" .SH NAME CURLMOPT_MAX_CONCURRENT_STREAMS \- max concurrent streams for http2 .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAX_HOST_CONNECTIONS 3 "May 17, 2022" "libcurl 7.85.0" "curl_multi_setopt options" .SH NAME CURLMOPT_MAX_HOST_CONNECTIONS \- max number of connections to a single host .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAX_PIPELINE_LENGTH 3 "May 17, 2022" "libcurl 7.85.0" "curl_multi_setopt options" .SH NAME CURLMOPT_MAX_PIPELINE_LENGTH \- maximum number of requests in a pipeline .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAX_TOTAL_CONNECTIONS 3 "May 17, 2022" "libcurl 7.85.0" "curl_multi_setopt options" .SH NAME CURLMOPT_MAX_TOTAL_CONNECTIONS \- max simultaneously open connections .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PIPELINING.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PIPELINING 3 "May 17, 2022" "libcurl 7.85.0" "curl_multi_setopt options" .SH NAME CURLMOPT_PIPELINING \- enable HTTP pipelining and multiplexing .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PIPELINING_SERVER_BL 3 "May 17, 2022" "libcurl 7.85.0" "curl_multi_setopt options" .SH NAME CURLMOPT_PIPELINING_SERVER_BL \- pipelining server block list .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PIPELINING_SITE_BL 3 "May 17, 2022" "libcurl 7.85.0" "curl_multi_setopt options" .SH NAME CURLMOPT_PIPELINING_SITE_BL \- pipelining host block list .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PUSHDATA.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PUSHDATA 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PUSHFUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLMOPT_SOCKETDATA 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLMOPT_SOCKETFUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLMOPT_TIMERDATA 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLMOPT_TIMERFUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "curl_multi_setopt options" .SH NAME CURLMOPT_TIMERFUNCTION \- callback to receive timeout values .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_ABSTRACT_UNIX_SOCKET 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_ABSTRACT_UNIX_SOCKET \- abstract Unix domain socket .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_ACCEPTTIMEOUT_MS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_ACCEPTTIMEOUT_MS \- timeout waiting for FTP server to connect back .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_ACCEPT_ENCODING 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_ACCEPT_ENCODING \- automatic decompression of HTTP downloads .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_ADDRESS_SCOPE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_ADDRESS_SCOPE \- scope id for IPv6 addresses .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ALTSVC.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_ALTSVC 3 "June 21, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_ALTSVC \- alt-svc cache file name .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ALTSVC_CTRL.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_ALTSVC_CTRL 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_ALTSVC_CTRL \- control alt-svc behavior .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_APPEND.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_APPEND 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_APPEND \- append to the remote file .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_AUTOREFERER.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_AUTOREFERER 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_AUTOREFERER \- automatically update the referer header .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_AWS_SIGV4.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_AWS_SIGV4 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_AWS_SIGV4 \- V4 signature .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_BUFFERSIZE 3 "August 23, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_BUFFERSIZE \- receive buffer size .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ | |||
67 68 69 70 71 72 73 | .fi .SH AVAILABILITY Added in 7.10. Growing the buffer was added in 7.53.0. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_MAX_RECV_SPEED_LARGE "(3), " CURLOPT_WRITEFUNCTION "(3), " | > | 67 68 69 70 71 72 73 74 | .fi .SH AVAILABILITY Added in 7.10. Growing the buffer was added in 7.53.0. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_MAX_RECV_SPEED_LARGE "(3), " CURLOPT_WRITEFUNCTION "(3), " .BR CURLOPT_UPLOAD_BUFFERSIZE "(3), " |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CAINFO.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_CAINFO 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_CAINFO \- path to Certificate Authority (CA) bundle .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CAINFO_BLOB.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_CAINFO_BLOB 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_CAINFO_BLOB \- Certificate Authority (CA) bundle in PEM format .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CAPATH.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_CAPATH 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_CAPATH \- directory holding CA certificates .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CERTINFO.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_CERTINFO 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_CERTINFO \- request SSL certificate information .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_CHUNK_BGN_FUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_CHUNK_DATA 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_CHUNK_DATA \- pointer passed to the FTP chunk callbacks .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_CHUNK_END_FUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_CLOSESOCKETDATA 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_CLOSESOCKETDATA \- pointer passed to the socket close callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_CLOSESOCKETFUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_CLOSESOCKETFUNCTION \- callback to socket close replacement .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONNECTTIMEOUT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_CONNECTTIMEOUT \- timeout for the connect phase .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONNECTTIMEOUT_MS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_CONNECTTIMEOUT_MS \- timeout for the connect phase .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONNECT_ONLY 3 "August 07, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_CONNECT_ONLY \- stop when connected to target server .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ | |||
41 42 43 44 45 46 47 48 49 50 51 52 53 54 | 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(); | > > > > > > | 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | 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. If the connect only transfer is done using the multi interface, the particular easy handle must remain added to the multi handle for as long as the application wants to use it. Once it has been removed with \fIcurl_multi_remove_handle(3)\fP, \fIcurl_easy_send(3)\fP and \fIcurl_easy_recv(3)\fP do not function. .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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONNECT_TO 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONV_FROM_NETWORK_FUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONV_FROM_UTF8_FUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONV_TO_NETWORK_FUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIE \- HTTP Cookie header .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_COOKIEFILE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIEFILE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIEFILE \- file name to read cookies from .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_COOKIEJAR.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIEJAR 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIEJAR \- file name to store cookies to .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_COOKIELIST.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIELIST 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIESESSION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIESESSION \- start a new cookie session .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_COPYPOSTFIELDS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_COPYPOSTFIELDS \- have libcurl copy data to POST .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CRLF.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_CRLF 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_CRLF \- CRLF conversion .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CRLFILE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_CRLFILE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_CRLFILE \- Certificate Revocation List file .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CURLU.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_CURLU 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_CURLU \- URL in CURLU * format .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_CUSTOMREQUEST 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_CUSTOMREQUEST \- custom request method .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DEBUGDATA.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_DEBUGDATA 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_DEBUGDATA \- pointer passed to the debug callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_DEBUGFUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_DEFAULT_PROTOCOL 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_DEFAULT_PROTOCOL \- default protocol to use if the URL is missing a scheme name .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DIRLISTONLY.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_DIRLISTONLY 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_DIRLISTONLY \- ask for names only in a directory listing .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DISALLOW_USERNAME_IN_URL.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_DISALLOW_USERNAME_IN_URL 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_DISALLOW_USERNAME_IN_URL \- disallow specifying username in the URL .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_CACHE_TIMEOUT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_CACHE_TIMEOUT \- life-time for DNS cache entries .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_INTERFACE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_INTERFACE \- interface to speak DNS over .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_LOCAL_IP4 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_LOCAL_IP4 \- IPv4 address to bind DNS resolves to .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_LOCAL_IP6 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_LOCAL_IP6 \- IPv6 address to bind DNS resolves to .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_SERVERS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_SERVERS \- DNS servers to use .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_SHUFFLE_ADDRESSES.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_SHUFFLE_ADDRESSES 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_SHUFFLE_ADDRESSES \- shuffle IP addresses for hostname .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_USE_GLOBAL_CACHE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_USE_GLOBAL_CACHE \- global DNS cache .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DOH_SSL_VERIFYHOST.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_DOH_SSL_VERIFYHOST 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_DOH_SSL_VERIFYHOST \- verify the host name in the DoH SSL certificate .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DOH_SSL_VERIFYPEER.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_DOH_SSL_VERIFYPEER 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_DOH_SSL_VERIFYPEER \- verify the DoH SSL certificate .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DOH_SSL_VERIFYSTATUS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_DOH_SSL_VERIFYSTATUS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_DOH_SSL_VERIFYSTATUS \- verify the DoH SSL certificate's status .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DOH_URL.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_DOH_URL 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_DOH_URL \- provide the DNS-over-HTTPS URL .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_EGDSOCKET.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_EGDSOCKET 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_EGDSOCKET \- EGD socket path .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_ERRORBUFFER 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_ERRORBUFFER \- error buffer for error messages .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_EXPECT_100_TIMEOUT_MS 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_FAILONERROR 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_FAILONERROR \- request failure on HTTP response >= 400 .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FILETIME.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_FILETIME 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_FILETIME \- get the modification time of the remote resource .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_FNMATCH_DATA 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_FNMATCH_DATA \- pointer passed to the fnmatch callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_FNMATCH_FUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_FNMATCH_FUNCTION \- wildcard match callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_FOLLOWLOCATION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_FOLLOWLOCATION \- follow HTTP 3xx redirects .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_FORBID_REUSE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_FORBID_REUSE \- make connection get closed at once after use .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_FRESH_CONNECT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_FRESH_CONNECT \- force a new connection to be used .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTPPORT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTPPORT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTPPORT \- make FTP transfer active .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTPSSLAUTH 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTPSSLAUTH \- order in which to attempt TLS vs SSL .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_ACCOUNT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_ACCOUNT \- account info for FTP .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_ALTERNATIVE_TO_USER 3 "July 04, 2022" "libcurl 7.85.0" "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> |
︙ | ︙ | |||
60 61 62 63 64 65 66 | .fi .SH AVAILABILITY Added in 7.15.5 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" | | | 60 61 62 63 64 65 66 67 | .fi .SH AVAILABILITY Added in 7.15.5 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_FTP_SKIP_PASV_IP "(3), " CURLOPT_SERVER_RESPONSE_TIMEOUT "(3), " |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_CREATE_MISSING_DIRS 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_FILEMETHOD 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_FILEMETHOD \- select directory traversing method for FTP .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Deleted jni/curl/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_SKIP_PASV_IP 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_SKIP_PASV_IP \- ignore the IP address in the PASV response .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_SSL_CCC 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_SSL_CCC \- switch off SSL again with FTP after auth .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_USE_EPRT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_USE_EPRT \- use EPRT for FTP .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_USE_EPSV 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_USE_EPSV \- use EPSV for FTP .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_USE_PRET 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_USE_PRET \- use PRET for FTP .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_GSSAPI_DELEGATION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_GSSAPI_DELEGATION \- allowed GSS-API delegation .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS \- head start for ipv6 for happy eyeballs .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HAPROXYPROTOCOL.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HAPROXYPROTOCOL 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HAPROXYPROTOCOL \- send HAProxy PROXY protocol v1 header .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HEADER.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HEADER 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HEADER \- pass headers to the data stream .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HEADERDATA.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HEADERDATA 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HEADERDATA \- pointer to pass to header callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HEADERFUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HEADERFUNCTION \- callback that receives header data .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HEADEROPT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HEADEROPT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HEADEROPT \- send HTTP headers to both proxy and host or separately .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HSTS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HSTS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HSTS \- HSTS cache file name .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HSTSREADDATA.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HSTSREADDATA 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HSTSREADDATA \- pointer passed to the HSTS read callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HSTSREADFUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HSTSREADFUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HSTSREADFUNCTION \- read callback for HSTS hosts .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HSTSWRITEDATA.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HSTSWRITEDATA 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HSTSWRITEDATA \- pointer passed to the HSTS write callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HSTSWRITEFUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HSTSWRITEFUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HSTSWRITEFUNCTION \- write callback for HSTS hosts .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HSTS_CTRL.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HSTS_CTRL 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HSTS_CTRL \- control HSTS behavior .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTP09_ALLOWED.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP09_ALLOWED 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP09_ALLOWED \- allow HTTP/0.9 response .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP200ALIASES 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP200ALIASES \- alternative matches for HTTP 200 OK .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTPAUTH.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPAUTH 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPAUTH \- HTTP server authentication methods to try .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTPGET.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPGET 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPGET \- ask for an HTTP GET request .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTPHEADER.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPHEADER 3 "June 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPHEADER \- set of HTTP headers .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTPPOST.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPPOST 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPPOST \- multipart formpost content .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPPROXYTUNNEL 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPPROXYTUNNEL \- tunnel through HTTP proxy .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP_CONTENT_DECODING 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP_CONTENT_DECODING \- HTTP content decoding control .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP_TRANSFER_DECODING 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP_TRANSFER_DECODING \- HTTP transfer decoding control .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTP_VERSION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP_VERSION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP_VERSION \- HTTP protocol version to use .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_IGNORE_CONTENT_LENGTH 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_INFILESIZE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_INFILESIZE \- size of the input file to send off .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_INFILESIZE_LARGE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_INFILESIZE_LARGE \- 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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_INTERFACE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_INTERFACE \- source interface for outgoing traffic .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_INTERLEAVEDATA 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_INTERLEAVEDATA \- pointer passed to RTSP interleave callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_INTERLEAVEFUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_INTERLEAVEFUNCTION \- callback for RTSP interleaved data .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_IOCTLDATA.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_IOCTLDATA 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_IOCTLDATA \- pointer passed to I/O callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_IOCTLFUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_IPRESOLVE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_IPRESOLVE \- IP protocol version to use .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ISSUERCERT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_ISSUERCERT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_ISSUERCERT \- issuer SSL certificate filename .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ISSUERCERT_BLOB.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_ISSUERCERT_BLOB 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_ISSUERCERT_BLOB \- issuer SSL certificate from memory blob .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_KEEP_SENDING_ON_ERROR 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_KEEP_SENDING_ON_ERROR \- keep sending on early HTTP response >= 300 .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_KEYPASSWD.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_KEYPASSWD 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_KEYPASSWD \- passphrase to private key .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_KRBLEVEL.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_KRBLEVEL 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_KRBLEVEL \- FTP kerberos security level .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_LOCALPORT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOCALPORT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_LOCALPORT \- local port number to use for socket .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOCALPORTRANGE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_LOCALPORTRANGE \- number of additional local ports to try .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOGIN_OPTIONS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_LOGIN_OPTIONS \- login options .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOW_SPEED_LIMIT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_LOW_SPEED_LIMIT \- low speed limit in bytes per second .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOW_SPEED_TIME 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_LOW_SPEED_TIME \- low speed limit time period .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAIL_AUTH 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAIL_AUTH \- SMTP authentication address .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAIL_FROM.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAIL_FROM 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAIL_FROM \- SMTP sender address .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAIL_RCPT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAIL_RCPT 3 "May 17, 2022" "libcurl 7.85.0" "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_MAIL_RCPT_ALLLOWFAILS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAIL_RCPT_ALLLOWFAILS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAIL_RCPT_ALLLOWFAILS \- allow RCPT TO command to fail for some recipients .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAXAGE_CONN.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXAGE_CONN 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAXAGE_CONN \- max idle time allowed for reusing a connection .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXCONNECTS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAXCONNECTS \- maximum connection cache size .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAXFILESIZE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXFILESIZE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAXFILESIZE \- maximum file size allowed to download .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXFILESIZE_LARGE 3 "May 17, 2022" "libcurl 7.85.0" "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_MAXLIFETIME_CONN.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXLIFETIME_CONN 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAXLIFETIME_CONN \- max lifetime (since creation) allowed for reusing a connection .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAXREDIRS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXREDIRS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAXREDIRS \- maximum number of redirects allowed .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAX_RECV_SPEED_LARGE 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAX_SEND_SPEED_LARGE 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_MIMEPOST 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_MIMEPOST \- send data from mime structure .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MIME_OPTIONS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_MIME_OPTIONS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_MIME_OPTIONS \- set MIME option flags .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NETRC.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_NETRC 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_NETRC \- enable use of .netrc .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NETRC_FILE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_NETRC_FILE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_NETRC_FILE \- file name to read .netrc info from .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_NEW_DIRECTORY_PERMS 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_NEW_FILE_PERMS 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_NOBODY 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_NOBODY \- do the download request without getting the body .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NOPROGRESS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_NOPROGRESS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_NOPROGRESS \- switch off the progress meter .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NOPROXY.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_NOPROXY 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_NOPROXY \- disable proxy use for specific hosts .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NOSIGNAL.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_NOSIGNAL 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_NOSIGNAL \- skip all signal handling .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_OPENSOCKETDATA 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_OPENSOCKETDATA \- pointer passed to open socket callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_OPENSOCKETFUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_OPENSOCKETFUNCTION \- callback for opening socket .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PASSWORD.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PASSWORD 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PASSWORD \- password to use in authentication .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PATH_AS_IS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PATH_AS_IS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PATH_AS_IS \- do not handle dot dot sequences .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PINNEDPUBLICKEY 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PINNEDPUBLICKEY \- pinned public key .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PIPEWAIT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PIPEWAIT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PIPEWAIT \- wait for pipelining/multiplexing .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PORT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | | > | 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 | .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PORT 3 "July 04, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PORT \- remote port number to connect to .SH SYNOPSIS .nf #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PORT, long number); .fi .SH DESCRIPTION We discourage using this option since its scope is not obvious and hard to predict. Set the preferred port number in the URL instead. This option sets \fInumber\fP to be the remote port number to connect to, instead of the one specified in the URL or the default port for the used protocol. Usually, you just let the URL decide which port to use but this allows the application to override that. While this option accepts a 'long', a port number is an unsigned 16 bit number and therefore using a port number lower than zero or over 65535 will cause a \fBCURLE_BAD_FUNCTION_ARGUMENT\fP error. .SH DEFAULT By default this is 0 which makes it not used. This also makes port number zero impossible to set with this API. .SH PROTOCOLS Used for all protocols that speak to a port number. .SH EXAMPLE .nf |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POST.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_POST 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_POST \- make an HTTP POST .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POSTFIELDS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTFIELDS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_POSTFIELDS \- data to POST to server .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTFIELDSIZE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_POSTFIELDSIZE \- size of POST data pointed to .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTFIELDSIZE_LARGE 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTQUOTE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_POSTQUOTE \- (S)FTP commands to run after the transfer .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POSTREDIR.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTREDIR 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PREQUOTE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PREQUOTE \- commands to run before an FTP transfer .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PREREQDATA.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PREREQDATA 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PREREQDATA \- pointer passed to the pre-request callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PREREQFUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PREREQFUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PREREQFUNCTION \- user callback called when a connection has been established, but before a request has been made. .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PRE_PROXY.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PRE_PROXY 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PRE_PROXY \- pre-proxy host to use .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PRIVATE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PRIVATE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PRIVATE \- store a private pointer .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROGRESSDATA.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROGRESSDATA 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROGRESSDATA \- pointer passed to the progress callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROGRESSFUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROGRESSFUNCTION \- progress meter callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROTOCOLS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | > > > > | 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 | .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROTOCOLS 3 "June 13, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROTOCOLS \- allowed protocols .SH SYNOPSIS .nf #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROTOCOLS, long bitmask); .fi .SH DESCRIPTION This option is deprecated. We strongly recommend using \fICURLOPT_PROTOCOLS_STR(3)\fP instead because this option cannot control all available protocols! Pass a long that holds a bitmask of CURLPROTO_* defines. If used, this bitmask limits what protocols libcurl may use in the transfer. This allows you to have a libcurl built to support a wide range of protocols but still limit specific transfers to only be allowed to use a subset of them. By default libcurl will accept all protocols it supports (\fICURLPROTO_ALL\fP). See also \fICURLOPT_REDIR_PROTOCOLS(3)\fP. |
︙ | ︙ | |||
68 69 70 71 72 73 74 | CURLPROTO_SMBS CURLPROTO_SMTP CURLPROTO_SMTPS CURLPROTO_TELNET CURLPROTO_TFTP .fi .SH DEFAULT | | | 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | CURLPROTO_SMBS CURLPROTO_SMTP CURLPROTO_SMTPS CURLPROTO_TELNET CURLPROTO_TFTP .fi .SH DEFAULT All protocols built-in. .SH PROTOCOLS All .SH EXAMPLE .nf curl = curl_easy_init(); if(curl) { /* pass in the URL from an external source */ |
︙ | ︙ |
Added jni/curl/docs/libcurl/opts/CURLOPT_PROTOCOLS_STR.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 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software 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.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROTOCOLS_STR 3 "June 13, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROTOCOLS_STR \- allowed protocols .SH SYNOPSIS .nf #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROTOCOLS_STR, char *spec); .fi .SH DESCRIPTION Pass a pointer to a string that holds a comma-separated list of case insensitive protocol names (URL schemes) to allow in the transfer. This option allows applications to use libcurl built to support a wide range of protocols but still limit specific transfers to only be allowed to use a subset of them. By default, libcurl accepts all protocols it was built with support for. See also \fICURLOPT_REDIR_PROTOCOLS_STR(3)\fP. If trying to set a non-existing protocol or if no matching protocol at all is set, it returns error. These are the available protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTMPE, RTMPS, RTMPT, RTMPTE, RTMPTS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP You can set "ALL" as a short-cut to enable all protocols. Note that by setting all, you may enable protocols that were not supported the day you write this but are introduced in a future libcurl version. \fIcurl_version_info(3)\fP can be used to get a list of all supported protocols in the current libcurl. \fICURLINFO_SCHEME(3)\fP is the recommended way to figure out the protocol used in a previous transfer. .SH DEFAULT All protocols built-in .SH PROTOCOLS All .SH EXAMPLE .nf curl = curl_easy_init(); if(curl) { /* pass in the URL from an external source */ curl_easy_setopt(curl, CURLOPT_URL, argv[1]); /* only allow HTTP, TFTP and SFTP */ curl_easy_setopt(curl, CURLOPT_PROTOCOLS_STR, "http,tftp,sftp"); /* Perform the request */ curl_easy_perform(curl); } .fi .SH AVAILABILITY Added in 7.85.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_REDIR_PROTOCOLS_STR "(3), " CURLOPT_URL "(3), " .BR curl_version_info "(3), " CURLINFO_SCHEME "(3), " |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY \- proxy to use .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYAUTH.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYAUTH 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYAUTH \- HTTP proxy authentication methods .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYHEADER.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYHEADER 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYHEADER \- set of HTTP headers to pass to proxy .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYPASSWORD 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYPASSWORD \- password to use with proxy authentication .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYPORT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYPORT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYPORT \- port number the proxy listens on .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYTYPE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYTYPE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYTYPE \- proxy protocol type .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYUSERNAME 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYUSERPWD 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYUSERPWD \- user name and password to use for proxy authentication .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_CAINFO 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_CAINFO \- path to proxy Certificate Authority (CA) bundle .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_CAINFO_BLOB.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_CAINFO_BLOB 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_CAINFO_BLOB \- proxy Certificate Authority (CA) bundle in PEM format .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_CAPATH 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_CAPATH \- directory holding HTTPS proxy CA certificates .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_CRLFILE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_CRLFILE \- HTTPS proxy Certificate Revocation List file .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_ISSUERCERT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_ISSUERCERT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_ISSUERCERT \- proxy issuer SSL certificate filename .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_ISSUERCERT_BLOB.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_ISSUERCERT_BLOB 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_ISSUERCERT_BLOB \- proxy issuer SSL certificate from memory blob .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_KEYPASSWD 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_KEYPASSWD \- passphrase for the proxy private key .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_PINNEDPUBLICKEY 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_PINNEDPUBLICKEY \- pinned public key for https proxy .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SERVICE_NAME 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SERVICE_NAME \- proxy authentication service name .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLCERT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLCERT \- HTTPS proxy client certificate .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLCERTTYPE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLCERTTYPE \- type of the proxy client SSL certificate .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT_BLOB.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLCERT_BLOB 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLCERT_BLOB \- SSL proxy client certificate from memory blob .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLKEY 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLKEY \- private keyfile for HTTPS proxy client cert .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLKEYTYPE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLKEYTYPE \- type of the proxy private key file .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY_BLOB.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLKEY_BLOB 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLKEY_BLOB \- private key for proxy cert from memory blob .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLVERSION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLVERSION \- preferred HTTPS proxy TLS version .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSL_CIPHER_LIST 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSL_CIPHER_LIST \- ciphers to use for HTTPS proxy .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSL_OPTIONS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSL_OPTIONS \- HTTPS proxy SSL behavior options .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSL_VERIFYHOST 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSL_VERIFYHOST \- verify the proxy certificate's name against host .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSL_VERIFYPEER 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSL_VERIFYPEER \- verify the proxy's SSL certificate .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_TLS13_CIPHERS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_TLS13_CIPHERS 3 "July 22, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_TLS13_CIPHERS \- ciphers suites for proxy TLS 1.3 .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ | |||
55 56 57 58 59 60 61 | All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/"); curl_easy_setopt(curl, CURLOPT_PROXY_TLS13_CIPHERS, | | | 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/"); curl_easy_setopt(curl, CURLOPT_PROXY_TLS13_CIPHERS, "TLS_CHACHA20_POLY1305_SHA256"); ret = curl_easy_perform(curl); curl_easy_cleanup(curl); } .fi .SH AVAILABILITY Added in 7.61.0. Available when built with OpenSSL >= 1.1.1. .SH RETURN VALUE Returns CURLE_OK if supported, CURLE_NOT_BUILT_IN otherwise. .SH "SEE ALSO" .BR CURLOPT_PROXY_SSL_CIPHER_LIST "(3), " CURLOPT_PROXY_SSLVERSION "(3), " .BR CURLOPT_SSL_CIPHER_LIST "(3), " CURLOPT_TLS13_CIPHERS "(3), " .BR CURLOPT_SSLVERSION "(3), " |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_TLSAUTH_PASSWORD 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_TLSAUTH_PASSWORD \- password to use for proxy TLS authentication .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_TLSAUTH_TYPE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_TLSAUTH_TYPE \- HTTPS proxy TLS authentication methods .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_TLSAUTH_USERNAME 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_TLSAUTH_USERNAME \- user name to use for proxy TLS authentication .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_TRANSFER_MODE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_TRANSFER_MODE \- append FTP transfer mode to URL for proxy .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PUT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_PUT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_PUT \- make an HTTP PUT request .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_QUOTE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_QUOTE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_QUOTE \- (S)FTP commands to run before transfer .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_RANDOM_FILE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_RANDOM_FILE \- file to read random data from .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RANGE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_RANGE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_RANGE \- byte range to request .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_READDATA.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_READDATA 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_READDATA \- pointer passed to the read callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_READFUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_READFUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_READFUNCTION \- read callback for data uploads .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | > > > > | 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 | .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_REDIR_PROTOCOLS 3 "June 13, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_REDIR_PROTOCOLS \- protocols allowed to redirect to .SH SYNOPSIS .nf #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_REDIR_PROTOCOLS, long bitmask); .fi .SH DESCRIPTION This option is deprecated. We strongly recommend using \fICURLOPT_REDIR_PROTOCOLS_STR(3)\fP instead because this option cannot control all available protocols! Pass a long that holds a bitmask of CURLPROTO_* defines. If used, this bitmask limits what protocols libcurl may use in a transfer that it follows to in a redirect when \fICURLOPT_FOLLOWLOCATION(3)\fP is enabled. This allows you to limit specific transfers to only be allowed to use a subset of protocols in redirections. Protocols denied by \fICURLOPT_PROTOCOLS(3)\fP are not overridden by this |
︙ | ︙ |
Added jni/curl/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS_STR.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 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software 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.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_REDIR_PROTOCOLS_STR 3 "June 13, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_REDIR_PROTOCOLS_STR \- protocols allowed to redirect to .SH SYNOPSIS .nf #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_REDIR_PROTOCOLS_STR, char *spec); .fi .SH DESCRIPTION Pass a pointer to a string that holds a comma-separated list of case insensitive protocol names (URL schemes). That list limits what protocols libcurl may use in a transfer that it follows to in a redirect when \fICURLOPT_FOLLOWLOCATION(3)\fP is enabled. This option allows applications to limit specific transfers to only be allowed to use a subset of protocols in redirections. Protocols denied by \fICURLOPT_PROTOCOLS_STR(3)\fP are not overridden by this option. By default libcurl will allow HTTP, HTTPS, FTP and FTPS on redirects (since 7.65.2). Older versions of libcurl allowed all protocols on redirect except several disabled for security reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0 SMB and SMBS are also disabled. These are the available protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTMPE, RTMPS, RTMPT, RTMPTE, RTMPTS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP You can set "ALL" as a short-cut to enable all protocols. Note that by setting all, you may enable protocols that were not supported the day you write this but are introduced in a future libcurl version. If trying to set a non-existing protocol or if no matching protocol at all is set, it returns error. .SH DEFAULT HTTP, HTTPS, FTP and FTPS (Added in 7.65.2). Older versions defaulted to all protocols except FILE, SCP and since 7.40.0 SMB and SMBS. .SH PROTOCOLS All .SH EXAMPLE .nf curl = curl_easy_init(); if(curl) { /* pass in the URL from an external source */ curl_easy_setopt(curl, CURLOPT_URL, argv[1]); /* only allow redirects to HTTP and HTTPS URLs */ curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS_STR, "http,https"); /* Perform the request */ curl_easy_perform(curl); } .fi .SH AVAILABILITY Added in 7.85.0. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_PROTOCOLS_STR "(3), " |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_REFERER.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_REFERER 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_REFERER \- the HTTP referer header .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_REQUEST_TARGET.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_REQUEST_TARGET 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_REQUEST_TARGET \- alternative target for this request .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RESOLVE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESOLVE 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESOLVER_START_DATA 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_RESOLVER_START_DATA \- pointer passed to the resolver start callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESOLVER_START_FUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_RESOLVER_START_FUNCTION \- callback called before a new name resolve is started .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RESUME_FROM.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESUME_FROM 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_RESUME_FROM \- offset to resume transfer from .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESUME_FROM_LARGE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_RESUME_FROM_LARGE \- offset to resume transfer from .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_CLIENT_CSEQ 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_CLIENT_CSEQ \- RTSP client CSEQ number .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_REQUEST 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_REQUEST \- RTSP request .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_SERVER_CSEQ 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_SERVER_CSEQ \- RTSP server CSEQ number .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_SESSION_ID 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_SESSION_ID \- RTSP session ID .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_STREAM_URI 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_STREAM_URI \- RTSP stream URI .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_TRANSPORT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_TRANSPORT \- RTSP Transport: header .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SASL_AUTHZID.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SASL_AUTHZID 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SASL_AUTHZID \- authorization identity (identity to act as) .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SASL_IR.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SASL_IR 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SASL_IR \- send initial response in first packet .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SEEKDATA.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SEEKDATA 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SEEKDATA \- pointer passed to the seek callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SEEKFUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SEEKFUNCTION \- user callback for seeking in input stream .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Added jni/curl/docs/libcurl/opts/CURLOPT_SERVER_RESPONSE_TIMEOUT.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 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software 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.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SERVER_RESPONSE_TIMEOUT 3 "July 04, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SERVER_RESPONSE_TIMEOUT \- time allowed to wait for server response .SH SYNOPSIS .nf #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SERVER_RESPONSE_TIMEOUT, long timeout); .fi .SH DESCRIPTION Pass a long. Causes libcurl to set a \fItimeout\fP period (in seconds) on the amount of time that the server is allowed to take in order to send a response message for a command before the session is considered dead. While libcurl is waiting for a response, this value overrides \fICURLOPT_TIMEOUT(3)\fP. It is recommended that if used in conjunction with \fICURLOPT_TIMEOUT(3)\fP, you set \fICURLOPT_SERVER_RESPONSE_TIMEOUT(3)\fP to a value smaller than \fICURLOPT_TIMEOUT(3)\fP. This option was formerly known as \fBCURLOPT_FTP_RESPONSE_TIMEOUT\fP. .SH DEFAULT None .SH PROTOCOLS FTP, IMAP, POP3 and SMTP .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/slow.txt"); /* wait no more than 23 seconds */ curl_easy_setopt(curl, CURLOPT_SERVER_RESPONSE_TIMEOUT, 23L); ret = curl_easy_perform(curl); curl_easy_cleanup(curl); } .fi .SH AVAILABILITY Added in 7.10.8. Used under this name since 7.20.0 .SH RETURN VALUE Returns CURLE_OK if supported, and CURLE_UNKNOWN_OPTION if not. Returns CURLE_BAD_FUNCTION_ARGUMENT if set to a negative value or a value that when converted to milliseconds is too large. .SH "SEE ALSO" .BR CURLOPT_TIMEOUT "(3), " CURLOPT_CONNECTTIMEOUT "(3), " .BR CURLOPT_LOW_SPEED_LIMIT "(3), " |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SERVICE_NAME 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SERVICE_NAME \- authentication service name .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SHARE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SHARE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SHARE \- share handle to use .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKOPTDATA 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKOPTDATA \- pointer to pass to sockopt callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKOPTFUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKOPTFUNCTION \- callback for setting socket options .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKS5_AUTH 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKS5_AUTH \- methods for SOCKS5 proxy authentication .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKS5_GSSAPI_NEC 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKS5_GSSAPI_NEC \- socks proxy gssapi negotiation protection .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKS5_GSSAPI_SERVICE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKS5_GSSAPI_SERVICE \- SOCKS5 proxy authentication service name .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_AUTH_TYPES 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_AUTH_TYPES \- auth types for SFTP and SCP .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_COMPRESSION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_COMPRESSION \- enable SSH compression .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_HOSTKEYDATA.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_KEYDATA 3 "June 13, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_HOSTKEYDATA \- pointer to pass to the SSH hostkey callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_HOSTKEYFUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_HOSTKEYFUNCTION 3 "June 13, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_HOSTKEYFUNCTION \- callback to check hostkey .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 \- MD5 checksum of SSH server public key .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 \- SHA256 hash of SSH server public key .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_KEYDATA 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_KEYDATA \- pointer passed to the SSH key callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_KEYFUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_KNOWNHOSTS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_KNOWNHOSTS \- file name holding the SSH known hosts .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_PRIVATE_KEYFILE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_PRIVATE_KEYFILE \- 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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_PUBLIC_KEYFILE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_PUBLIC_KEYFILE \- public key file for SSH auth .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLCERT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLCERT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLCERT \- SSL client certificate .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLCERTTYPE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLCERTTYPE \- type of client SSL certificate .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLCERT_BLOB.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLCERT_BLOB 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLCERT_BLOB \- SSL client certificate from memory blob .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLENGINE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLENGINE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLENGINE \- SSL engine identifier .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLENGINE_DEFAULT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLENGINE_DEFAULT \- make SSL engine default .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLKEY.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLKEY 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLKEY \- private keyfile for TLS and SSL client cert .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLKEYTYPE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLKEYTYPE \- type of the private key file .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLKEY_BLOB.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLKEY_BLOB 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLKEY_BLOB \- private key for client cert from memory blob .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLVERSION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLVERSION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLVERSION \- preferred TLS/SSL version .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_CIPHER_LIST 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_CIPHER_LIST \- ciphers to use for TLS .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_CTX_DATA 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_CTX_DATA \- pointer passed to ssl_ctx callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_CTX_FUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_CTX_FUNCTION \- SSL context callback for OpenSSL, wolfSSL or mbedTLS .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_EC_CURVES.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_EC_CURVES 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_EC_CURVES \- key exchange curves .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_ENABLE_ALPN 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_ENABLE_ALPN \- Application Layer Protocol Negotiation .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_ENABLE_NPN 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_ENABLE_NPN \- use NPN .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_FALSESTART 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_FALSESTART \- TLS false start .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_OPTIONS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_OPTIONS \- SSL behavior options .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_SESSIONID_CACHE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_SESSIONID_CACHE \- use the SSL session-ID cache .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_VERIFYHOST 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_VERIFYHOST \- verify the certificate's name against host .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_VERIFYPEER 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_VERIFYPEER \- verify the peer's SSL certificate .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_VERIFYSTATUS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_VERIFYSTATUS \- verify the certificate's status .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_STDERR.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_STDERR 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_STDERR \- redirect stderr to another stream .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_STREAM_DEPENDS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_STREAM_DEPENDS \- stream this transfer depends on .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_STREAM_DEPENDS_E 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_STREAM_DEPENDS_E \- stream this transfer depends on exclusively .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_STREAM_WEIGHT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_STREAM_WEIGHT \- numerical stream weight .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_SUPPRESS_CONNECT_HEADERS 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_FASTOPEN 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_FASTOPEN \- TCP Fast Open .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_KEEPALIVE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_KEEPALIVE \- TCP keep-alive probing .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_KEEPIDLE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_KEEPIDLE \- TCP keep-alive idle time wait .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_KEEPINTVL 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_KEEPINTVL \- TCP keep-alive interval .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TCP_NODELAY.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_NODELAY 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_NODELAY \- the TCP_NODELAY option .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_TELNETOPTIONS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_TELNETOPTIONS \- set of telnet options .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_TFTP_BLKSIZE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_TFTP_BLKSIZE \- TFTP block size .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_TFTP_NO_OPTIONS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_TFTP_NO_OPTIONS \- send no TFTP options requests .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TIMECONDITION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMECONDITION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_TIMECONDITION \- select condition for a time request .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TIMEOUT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMEOUT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_TIMEOUT \- maximum time the transfer is allowed to complete .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMEOUT_MS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_TIMEOUT_MS \- maximum time the transfer is allowed to complete .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TIMEVALUE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMEVALUE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_TIMEVALUE \- time value for conditional .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMEVALUE_LARGE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_TIMEVALUE_LARGE \- time value for conditional .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TLS13_CIPHERS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | | | | | > | 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 | .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_TLS13_CIPHERS 3 "July 22, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_TLS13_CIPHERS \- ciphers suites to use for TLS 1.3 .SH SYNOPSIS .nf #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLS13_CIPHERS, char *list); .fi .SH DESCRIPTION Pass a char *, pointing to a null-terminated string holding the list of cipher suites to use for the TLS 1.3 connection. The list must be syntactically correct, it consists of one or more cipher suite strings separated by colons. you will find more details about cipher lists on this URL: https://curl.se/docs/ssl-ciphers.html This option is currently used only when curl is built to use OpenSSL 1.1.1 or later or SChannel. If you are using a different SSL backend you can try setting TLS 1.3 cipher suites by using the CURLOPT_SSL_CIPHER_LIST option. The application does not have to keep the string around after setting this option. .SH DEFAULT NULL, use internal default .SH PROTOCOLS All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/"); curl_easy_setopt(curl, CURLOPT_TLS13_CIPHERS, "TLS_CHACHA20_POLY1305_SHA256"); ret = curl_easy_perform(curl); curl_easy_cleanup(curl); } .fi .SH AVAILABILITY Added in 7.61.0 for OpenSSL. Available when built with OpenSSL >= 1.1.1. Added in 7.85.0 for SChannel. .SH RETURN VALUE Returns CURLE_OK if supported, CURLE_NOT_BUILT_IN otherwise. .SH "SEE ALSO" .BR CURLOPT_SSL_CIPHER_LIST "(3), " CURLOPT_SSLVERSION "(3), " .BR CURLOPT_PROXY_SSL_CIPHER_LIST "(3), " CURLOPT_PROXY_TLS13_CIPHERS "(3), " .BR CURLOPT_PROXY_SSLVERSION "(3), " CURLOPT_USE_SSL "(3), " |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_TLSAUTH_PASSWORD 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_TLSAUTH_PASSWORD \- password to use for TLS authentication .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_TLSAUTH_TYPE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_TLSAUTH_TYPE \- TLS authentication methods .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_TLSAUTH_USERNAME 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_TLSAUTH_USERNAME \- user name to use for TLS authentication .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TRAILERDATA.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_TRAILERDATA 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_TRAILERDATA \- pointer passed to trailing headers callback .SH SYNOPSIS .nf #include <curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TRAILERFUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_TRAILERFUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_TRAILERFUNCTION \- callback for sending trailing headers .SH SYNOPSIS .nf #include <curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_TRANSFERTEXT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_TRANSFERTEXT \- request a text based transfer for FTP .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_TRANSFER_ENCODING 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_TRANSFER_ENCODING \- ask for HTTP Transfer Encoding .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_UNIX_SOCKET_PATH 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_UNIX_SOCKET_PATH \- Unix domain socket .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_UNRESTRICTED_AUTH 3 "May 17, 2022" "libcurl 7.85.0" "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_UPKEEP_INTERVAL_MS.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_UPKEEP_INTERVAL_MS 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_UPKEEP_INTERVAL_MS \- connection upkeep interval .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_UPLOAD.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_UPLOAD 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_UPLOAD \- data upload .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_UPLOAD_BUFFERSIZE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_UPLOAD_BUFFERSIZE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_UPLOAD_BUFFERSIZE \- upload buffer size .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_URL.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_URL 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_URL \- URL for this transfer .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_USERAGENT.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_USERAGENT 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_USERAGENT \- HTTP user-agent header .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_USERNAME.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_USERNAME 3 "May 17, 2022" "libcurl 7.85.0" "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.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_USERPWD 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_USERPWD \- user name and password to use in authentication .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_USE_SSL.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_USE_SSL 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_USE_SSL \- request using SSL / TLS for the transfer .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_VERBOSE.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_VERBOSE 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_VERBOSE \- verbose mode .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_WILDCARDMATCH 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_WILDCARDMATCH \- directory wildcard transfers .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_WRITEDATA.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_WRITEDATA 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_WRITEDATA \- pointer passed to the write callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_WRITEFUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_WRITEFUNCTION \- callback for writing received data .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_XFERINFODATA.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_XFERINFODATA 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_XFERINFODATA \- pointer passed to the progress callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_XFERINFOFUNCTION 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_XFERINFOFUNCTION \- progress meter callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3.
︙ | ︙ | |||
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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH CURLOPT_XOAUTH2_BEARER 3 "May 17, 2022" "libcurl 7.85.0" "curl_easy_setopt options" .SH NAME CURLOPT_XOAUTH2_BEARER \- OAuth 2.0 access token .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLSHOPT_LOCKFUNC.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH CURLSHOPT_LOCKFUNC 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME CURLSHOPT_LOCKFUNC - mutex lock callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLSHOPT_SHARE.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH CURLSHOPT_SHARE 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME CURLSHOPT_SHARE - add data to share .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLSHOPT_UNLOCKFUNC.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH CURLSHOPT_UNLOCKFUNC 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME CURLSHOPT_UNLOCKFUNC - mutex unlock callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLSHOPT_UNSHARE.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH CURLSHOPT_UNSHARE 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME CURLSHOPT_UNSHARE - remove data to share .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLSHOPT_USERDATA.3.
︙ | ︙ | |||
17 18 19 20 21 22 23 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .TH CURLSHOPT_USERDATA 3 "May 17, 2022" "libcurl 7.85.0" "libcurl Manual" .SH NAME CURLSHOPT_USERDATA - pointer passed to the (un)lock mutex callbacks .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/Makefile.in.
︙ | ︙ | |||
134 135 136 137 138 139 140 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = docs/libcurl/opts ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | | < | 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = docs/libcurl/opts ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \ $(top_srcdir)/m4/curl-bearssl.m4 \ $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-gnutls.m4 \ $(top_srcdir)/m4/curl-mbedtls.m4 $(top_srcdir)/m4/curl-nss.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ |
︙ | ︙ | |||
365 366 367 368 369 370 371 372 373 374 375 376 377 378 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ | > | 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ |
︙ | ︙ | |||
459 460 461 462 463 464 465 | CURLINFO_COOKIELIST.3 \ CURLINFO_EFFECTIVE_METHOD.3 \ CURLINFO_EFFECTIVE_URL.3 \ CURLINFO_FILETIME.3 \ CURLINFO_FILETIME_T.3 \ CURLINFO_FTP_ENTRY_PATH.3 \ CURLINFO_HEADER_SIZE.3 \ | < > | 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 | CURLINFO_COOKIELIST.3 \ CURLINFO_EFFECTIVE_METHOD.3 \ CURLINFO_EFFECTIVE_URL.3 \ CURLINFO_FILETIME.3 \ CURLINFO_FILETIME_T.3 \ CURLINFO_FTP_ENTRY_PATH.3 \ CURLINFO_HEADER_SIZE.3 \ CURLINFO_HTTP_CONNECTCODE.3 \ CURLINFO_HTTP_VERSION.3 \ CURLINFO_HTTPAUTH_AVAIL.3 \ CURLINFO_LASTSOCKET.3 \ CURLINFO_LOCAL_IP.3 \ CURLINFO_LOCAL_PORT.3 \ CURLINFO_NAMELOOKUP_TIME.3 \ CURLINFO_NAMELOOKUP_TIME_T.3 \ CURLINFO_NUM_CONNECTS.3 \ CURLINFO_OS_ERRNO.3 \ |
︙ | ︙ | |||
509 510 511 512 513 514 515 | CURLINFO_STARTTRANSFER_TIME_T.3 \ CURLINFO_TLS_SESSION.3 \ CURLINFO_TLS_SSL_PTR.3 \ CURLINFO_TOTAL_TIME.3 \ CURLINFO_TOTAL_TIME_T.3 \ CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 \ CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 \ | < > < > > < < > > | 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 | CURLINFO_STARTTRANSFER_TIME_T.3 \ CURLINFO_TLS_SESSION.3 \ CURLINFO_TLS_SSL_PTR.3 \ CURLINFO_TOTAL_TIME.3 \ CURLINFO_TOTAL_TIME_T.3 \ CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 \ CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 \ CURLMOPT_MAX_CONCURRENT_STREAMS.3 \ CURLMOPT_MAX_HOST_CONNECTIONS.3 \ CURLMOPT_MAX_PIPELINE_LENGTH.3 \ CURLMOPT_MAX_TOTAL_CONNECTIONS.3 \ CURLMOPT_MAXCONNECTS.3 \ CURLMOPT_PIPELINING.3 \ CURLMOPT_PIPELINING_SERVER_BL.3 \ CURLMOPT_PIPELINING_SITE_BL.3 \ CURLMOPT_PUSHDATA.3 \ CURLMOPT_PUSHFUNCTION.3 \ CURLMOPT_SOCKETDATA.3 \ CURLMOPT_SOCKETFUNCTION.3 \ CURLMOPT_TIMERDATA.3 \ CURLMOPT_TIMERFUNCTION.3 \ CURLOPT_ABSTRACT_UNIX_SOCKET.3 \ CURLOPT_ACCEPT_ENCODING.3 \ CURLOPT_ACCEPTTIMEOUT_MS.3 \ CURLOPT_ADDRESS_SCOPE.3 \ CURLOPT_ALTSVC.3 \ CURLOPT_ALTSVC_CTRL.3 \ CURLOPT_APPEND.3 \ CURLOPT_AUTOREFERER.3 \ CURLOPT_AWS_SIGV4.3 \ CURLOPT_BUFFERSIZE.3 \ CURLOPT_CAINFO.3 \ CURLOPT_CAINFO_BLOB.3 \ CURLOPT_CAPATH.3 \ CURLOPT_CERTINFO.3 \ CURLOPT_CHUNK_BGN_FUNCTION.3 \ CURLOPT_CHUNK_DATA.3 \ CURLOPT_CHUNK_END_FUNCTION.3 \ CURLOPT_CLOSESOCKETDATA.3 \ CURLOPT_CLOSESOCKETFUNCTION.3 \ CURLOPT_CONNECT_ONLY.3 \ CURLOPT_CONNECT_TO.3 \ CURLOPT_CONNECTTIMEOUT.3 \ CURLOPT_CONNECTTIMEOUT_MS.3 \ CURLOPT_CONV_FROM_NETWORK_FUNCTION.3 \ CURLOPT_CONV_FROM_UTF8_FUNCTION.3 \ CURLOPT_CONV_TO_NETWORK_FUNCTION.3 \ CURLOPT_COOKIE.3 \ CURLOPT_COOKIEFILE.3 \ CURLOPT_COOKIEJAR.3 \ CURLOPT_COOKIELIST.3 \ |
︙ | ︙ | |||
584 585 586 587 588 589 590 | CURLOPT_FAILONERROR.3 \ CURLOPT_FILETIME.3 \ CURLOPT_FNMATCH_DATA.3 \ CURLOPT_FNMATCH_FUNCTION.3 \ CURLOPT_FOLLOWLOCATION.3 \ CURLOPT_FORBID_REUSE.3 \ CURLOPT_FRESH_CONNECT.3 \ | < < < > > > < > > > < < < | 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 | CURLOPT_FAILONERROR.3 \ CURLOPT_FILETIME.3 \ CURLOPT_FNMATCH_DATA.3 \ CURLOPT_FNMATCH_FUNCTION.3 \ CURLOPT_FOLLOWLOCATION.3 \ CURLOPT_FORBID_REUSE.3 \ CURLOPT_FRESH_CONNECT.3 \ CURLOPT_FTP_ACCOUNT.3 \ CURLOPT_FTP_ALTERNATIVE_TO_USER.3 \ CURLOPT_FTP_CREATE_MISSING_DIRS.3 \ CURLOPT_FTP_FILEMETHOD.3 \ CURLOPT_FTP_SKIP_PASV_IP.3 \ CURLOPT_FTP_SSL_CCC.3 \ CURLOPT_FTP_USE_EPRT.3 \ CURLOPT_FTP_USE_EPSV.3 \ CURLOPT_FTP_USE_PRET.3 \ CURLOPT_FTPPORT.3 \ CURLOPT_FTPSSLAUTH.3 \ CURLOPT_GSSAPI_DELEGATION.3 \ CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 \ CURLOPT_HAPROXYPROTOCOL.3 \ CURLOPT_HEADER.3 \ CURLOPT_HEADERDATA.3 \ CURLOPT_HEADERFUNCTION.3 \ CURLOPT_HEADEROPT.3 \ CURLOPT_HSTS.3 \ CURLOPT_HSTS_CTRL.3 \ CURLOPT_HSTSREADDATA.3 \ CURLOPT_HSTSREADFUNCTION.3 \ CURLOPT_HSTSWRITEDATA.3 \ CURLOPT_HSTSWRITEFUNCTION.3 \ CURLOPT_HTTP09_ALLOWED.3 \ CURLOPT_HTTP200ALIASES.3 \ CURLOPT_HTTP_CONTENT_DECODING.3 \ CURLOPT_HTTP_TRANSFER_DECODING.3 \ CURLOPT_HTTP_VERSION.3 \ CURLOPT_HTTPAUTH.3 \ CURLOPT_HTTPGET.3 \ CURLOPT_HTTPHEADER.3 \ CURLOPT_HTTPPOST.3 \ CURLOPT_HTTPPROXYTUNNEL.3 \ CURLOPT_IGNORE_CONTENT_LENGTH.3 \ CURLOPT_INFILESIZE.3 \ CURLOPT_INFILESIZE_LARGE.3 \ CURLOPT_INTERFACE.3 \ CURLOPT_INTERLEAVEDATA.3 \ CURLOPT_INTERLEAVEFUNCTION.3 \ CURLOPT_IOCTLDATA.3 \ |
︙ | ︙ | |||
642 643 644 645 646 647 648 649 650 651 652 653 654 | CURLOPT_LOGIN_OPTIONS.3 \ CURLOPT_LOW_SPEED_LIMIT.3 \ CURLOPT_LOW_SPEED_TIME.3 \ CURLOPT_MAIL_AUTH.3 \ CURLOPT_MAIL_FROM.3 \ CURLOPT_MAIL_RCPT.3 \ CURLOPT_MAIL_RCPT_ALLLOWFAILS.3 \ CURLOPT_MAXAGE_CONN.3 \ CURLOPT_MAXCONNECTS.3 \ CURLOPT_MAXFILESIZE.3 \ CURLOPT_MAXFILESIZE_LARGE.3 \ CURLOPT_MAXLIFETIME_CONN.3 \ CURLOPT_MAXREDIRS.3 \ | > > | < < | 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 | CURLOPT_LOGIN_OPTIONS.3 \ CURLOPT_LOW_SPEED_LIMIT.3 \ CURLOPT_LOW_SPEED_TIME.3 \ CURLOPT_MAIL_AUTH.3 \ CURLOPT_MAIL_FROM.3 \ CURLOPT_MAIL_RCPT.3 \ CURLOPT_MAIL_RCPT_ALLLOWFAILS.3 \ CURLOPT_MAX_RECV_SPEED_LARGE.3 \ CURLOPT_MAX_SEND_SPEED_LARGE.3 \ CURLOPT_MAXAGE_CONN.3 \ CURLOPT_MAXCONNECTS.3 \ CURLOPT_MAXFILESIZE.3 \ CURLOPT_MAXFILESIZE_LARGE.3 \ CURLOPT_MAXLIFETIME_CONN.3 \ CURLOPT_MAXREDIRS.3 \ CURLOPT_MIME_OPTIONS.3 \ CURLOPT_MIMEPOST.3 \ CURLOPT_NETRC.3 \ CURLOPT_NETRC_FILE.3 \ CURLOPT_NEW_DIRECTORY_PERMS.3 \ CURLOPT_NEW_FILE_PERMS.3 \ CURLOPT_NOBODY.3 \ CURLOPT_NOPROGRESS.3 \ CURLOPT_NOPROXY.3 \ |
︙ | ︙ | |||
673 674 675 676 677 678 679 680 681 682 | CURLOPT_PORT.3 \ CURLOPT_POST.3 \ CURLOPT_POSTFIELDS.3 \ CURLOPT_POSTFIELDSIZE.3 \ CURLOPT_POSTFIELDSIZE_LARGE.3 \ CURLOPT_POSTQUOTE.3 \ CURLOPT_POSTREDIR.3 \ CURLOPT_PREQUOTE.3 \ CURLOPT_PREREQDATA.3 \ CURLOPT_PREREQFUNCTION.3 \ | > < < < < | | < < < < > > > > > < < < < > > > > > > > > > < < < < < < < < < > > > > > > > > > | 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 | CURLOPT_PORT.3 \ CURLOPT_POST.3 \ CURLOPT_POSTFIELDS.3 \ CURLOPT_POSTFIELDSIZE.3 \ CURLOPT_POSTFIELDSIZE_LARGE.3 \ CURLOPT_POSTQUOTE.3 \ CURLOPT_POSTREDIR.3 \ CURLOPT_PRE_PROXY.3 \ CURLOPT_PREQUOTE.3 \ CURLOPT_PREREQDATA.3 \ CURLOPT_PREREQFUNCTION.3 \ CURLOPT_PRIVATE.3 \ CURLOPT_PROGRESSDATA.3 \ CURLOPT_PROGRESSFUNCTION.3 \ CURLOPT_PROTOCOLS.3 \ CURLOPT_PROTOCOLS_STR.3 \ CURLOPT_PROXY.3 \ CURLOPT_PROXY_CAINFO.3 \ CURLOPT_PROXY_CAINFO_BLOB.3 \ CURLOPT_PROXY_CAPATH.3 \ CURLOPT_PROXY_CRLFILE.3 \ CURLOPT_PROXY_ISSUERCERT.3 \ CURLOPT_PROXY_ISSUERCERT_BLOB.3 \ CURLOPT_PROXY_KEYPASSWD.3 \ CURLOPT_PROXY_PINNEDPUBLICKEY.3 \ CURLOPT_PROXY_SERVICE_NAME.3 \ CURLOPT_PROXY_SSL_CIPHER_LIST.3 \ CURLOPT_PROXY_SSL_OPTIONS.3 \ CURLOPT_PROXY_SSL_VERIFYHOST.3 \ CURLOPT_PROXY_SSL_VERIFYPEER.3 \ CURLOPT_PROXY_SSLCERT.3 \ CURLOPT_PROXY_SSLCERT_BLOB.3 \ CURLOPT_PROXY_SSLCERTTYPE.3 \ CURLOPT_PROXY_SSLKEY.3 \ CURLOPT_PROXY_SSLKEY_BLOB.3 \ CURLOPT_PROXY_SSLKEYTYPE.3 \ CURLOPT_PROXY_SSLVERSION.3 \ CURLOPT_PROXY_TLS13_CIPHERS.3 \ CURLOPT_PROXY_TLSAUTH_PASSWORD.3 \ CURLOPT_PROXY_TLSAUTH_TYPE.3 \ CURLOPT_PROXY_TLSAUTH_USERNAME.3 \ CURLOPT_PROXY_TRANSFER_MODE.3 \ CURLOPT_PROXYAUTH.3 \ CURLOPT_PROXYHEADER.3 \ CURLOPT_PROXYPASSWORD.3 \ CURLOPT_PROXYPORT.3 \ CURLOPT_PROXYTYPE.3 \ CURLOPT_PROXYUSERNAME.3 \ CURLOPT_PROXYUSERPWD.3 \ CURLOPT_PUT.3 \ CURLOPT_QUOTE.3 \ CURLOPT_RANDOM_FILE.3 \ CURLOPT_RANGE.3 \ CURLOPT_READDATA.3 \ CURLOPT_READFUNCTION.3 \ CURLOPT_REDIR_PROTOCOLS.3 \ CURLOPT_REDIR_PROTOCOLS_STR.3 \ CURLOPT_REFERER.3 \ CURLOPT_REQUEST_TARGET.3 \ CURLOPT_RESOLVE.3 \ CURLOPT_RESOLVER_START_DATA.3 \ CURLOPT_RESOLVER_START_FUNCTION.3 \ CURLOPT_RESUME_FROM.3 \ CURLOPT_RESUME_FROM_LARGE.3 \ CURLOPT_RTSP_CLIENT_CSEQ.3 \ CURLOPT_RTSP_REQUEST.3 \ CURLOPT_RTSP_SERVER_CSEQ.3 \ CURLOPT_RTSP_SESSION_ID.3 \ CURLOPT_RTSP_STREAM_URI.3 \ CURLOPT_RTSP_TRANSPORT.3 \ CURLOPT_SASL_AUTHZID.3 \ CURLOPT_SASL_IR.3 \ CURLOPT_SEEKDATA.3 \ CURLOPT_SEEKFUNCTION.3 \ CURLOPT_SERVER_RESPONSE_TIMEOUT.3 \ CURLOPT_SERVICE_NAME.3 \ CURLOPT_SHARE.3 \ CURLOPT_SOCKOPTDATA.3 \ CURLOPT_SOCKOPTFUNCTION.3 \ CURLOPT_SOCKS5_AUTH.3 \ CURLOPT_SOCKS5_GSSAPI_NEC.3 \ CURLOPT_SOCKS5_GSSAPI_SERVICE.3 \ CURLOPT_SSH_AUTH_TYPES.3 \ CURLOPT_SSH_COMPRESSION.3 \ CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3 \ CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256.3 \ CURLOPT_SSH_KEYDATA.3 \ CURLOPT_SSH_KEYFUNCTION.3 \ CURLOPT_SSH_KNOWNHOSTS.3 \ CURLOPT_SSH_PRIVATE_KEYFILE.3 \ CURLOPT_SSH_PUBLIC_KEYFILE.3 \ CURLOPT_SSL_CIPHER_LIST.3 \ CURLOPT_SSL_CTX_DATA.3 \ CURLOPT_SSL_CTX_FUNCTION.3 \ CURLOPT_SSL_EC_CURVES.3 \ CURLOPT_SSL_ENABLE_ALPN.3 \ CURLOPT_SSL_ENABLE_NPN.3 \ CURLOPT_SSL_FALSESTART.3 \ CURLOPT_SSL_OPTIONS.3 \ CURLOPT_SSL_SESSIONID_CACHE.3 \ CURLOPT_SSL_VERIFYHOST.3 \ CURLOPT_SSL_VERIFYPEER.3 \ CURLOPT_SSL_VERIFYSTATUS.3 \ CURLOPT_SSLCERT.3 \ CURLOPT_SSLCERT_BLOB.3 \ CURLOPT_SSLCERTTYPE.3 \ CURLOPT_SSLENGINE.3 \ CURLOPT_SSLENGINE_DEFAULT.3 \ CURLOPT_SSLKEY.3 \ CURLOPT_SSLKEY_BLOB.3 \ CURLOPT_SSLKEYTYPE.3 \ CURLOPT_SSLVERSION.3 \ CURLOPT_STDERR.3 \ CURLOPT_STREAM_DEPENDS.3 \ CURLOPT_STREAM_DEPENDS_E.3 \ CURLOPT_STREAM_WEIGHT.3 \ CURLOPT_SUPPRESS_CONNECT_HEADERS.3 \ CURLOPT_TCP_FASTOPEN.3 \ CURLOPT_TCP_KEEPALIVE.3 \ |
︙ | ︙ | |||
799 800 801 802 803 804 805 | CURLOPT_TIMEVALUE_LARGE.3 \ CURLOPT_TLS13_CIPHERS.3 \ CURLOPT_TLSAUTH_PASSWORD.3 \ CURLOPT_TLSAUTH_TYPE.3 \ CURLOPT_TLSAUTH_USERNAME.3 \ CURLOPT_TRAILERDATA.3 \ CURLOPT_TRAILERFUNCTION.3 \ | < > > < < | 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 | CURLOPT_TIMEVALUE_LARGE.3 \ CURLOPT_TLS13_CIPHERS.3 \ CURLOPT_TLSAUTH_PASSWORD.3 \ CURLOPT_TLSAUTH_TYPE.3 \ CURLOPT_TLSAUTH_USERNAME.3 \ CURLOPT_TRAILERDATA.3 \ CURLOPT_TRAILERFUNCTION.3 \ CURLOPT_TRANSFER_ENCODING.3 \ CURLOPT_TRANSFERTEXT.3 \ CURLOPT_UNIX_SOCKET_PATH.3 \ CURLOPT_UNRESTRICTED_AUTH.3 \ CURLOPT_UPKEEP_INTERVAL_MS.3 \ CURLOPT_UPLOAD.3 \ CURLOPT_UPLOAD_BUFFERSIZE.3 \ CURLOPT_URL.3 \ CURLOPT_USE_SSL.3 \ CURLOPT_USERAGENT.3 \ CURLOPT_USERNAME.3 \ CURLOPT_USERPWD.3 \ CURLOPT_VERBOSE.3 \ CURLOPT_WILDCARDMATCH.3 \ CURLOPT_WRITEDATA.3 \ CURLOPT_WRITEFUNCTION.3 \ CURLOPT_XFERINFODATA.3 \ CURLOPT_XFERINFOFUNCTION.3 \ CURLOPT_XOAUTH2_BEARER.3 \ |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/Makefile.inc.
︙ | ︙ | |||
41 42 43 44 45 46 47 | CURLINFO_COOKIELIST.3 \ CURLINFO_EFFECTIVE_METHOD.3 \ CURLINFO_EFFECTIVE_URL.3 \ CURLINFO_FILETIME.3 \ CURLINFO_FILETIME_T.3 \ CURLINFO_FTP_ENTRY_PATH.3 \ CURLINFO_HEADER_SIZE.3 \ | < > | 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | CURLINFO_COOKIELIST.3 \ CURLINFO_EFFECTIVE_METHOD.3 \ CURLINFO_EFFECTIVE_URL.3 \ CURLINFO_FILETIME.3 \ CURLINFO_FILETIME_T.3 \ CURLINFO_FTP_ENTRY_PATH.3 \ CURLINFO_HEADER_SIZE.3 \ CURLINFO_HTTP_CONNECTCODE.3 \ CURLINFO_HTTP_VERSION.3 \ CURLINFO_HTTPAUTH_AVAIL.3 \ CURLINFO_LASTSOCKET.3 \ CURLINFO_LOCAL_IP.3 \ CURLINFO_LOCAL_PORT.3 \ CURLINFO_NAMELOOKUP_TIME.3 \ CURLINFO_NAMELOOKUP_TIME_T.3 \ CURLINFO_NUM_CONNECTS.3 \ CURLINFO_OS_ERRNO.3 \ |
︙ | ︙ | |||
91 92 93 94 95 96 97 | CURLINFO_STARTTRANSFER_TIME_T.3 \ CURLINFO_TLS_SESSION.3 \ CURLINFO_TLS_SSL_PTR.3 \ CURLINFO_TOTAL_TIME.3 \ CURLINFO_TOTAL_TIME_T.3 \ CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 \ CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 \ | < > < > > < < > > | 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 | CURLINFO_STARTTRANSFER_TIME_T.3 \ CURLINFO_TLS_SESSION.3 \ CURLINFO_TLS_SSL_PTR.3 \ CURLINFO_TOTAL_TIME.3 \ CURLINFO_TOTAL_TIME_T.3 \ CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 \ CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 \ CURLMOPT_MAX_CONCURRENT_STREAMS.3 \ CURLMOPT_MAX_HOST_CONNECTIONS.3 \ CURLMOPT_MAX_PIPELINE_LENGTH.3 \ CURLMOPT_MAX_TOTAL_CONNECTIONS.3 \ CURLMOPT_MAXCONNECTS.3 \ CURLMOPT_PIPELINING.3 \ CURLMOPT_PIPELINING_SERVER_BL.3 \ CURLMOPT_PIPELINING_SITE_BL.3 \ CURLMOPT_PUSHDATA.3 \ CURLMOPT_PUSHFUNCTION.3 \ CURLMOPT_SOCKETDATA.3 \ CURLMOPT_SOCKETFUNCTION.3 \ CURLMOPT_TIMERDATA.3 \ CURLMOPT_TIMERFUNCTION.3 \ CURLOPT_ABSTRACT_UNIX_SOCKET.3 \ CURLOPT_ACCEPT_ENCODING.3 \ CURLOPT_ACCEPTTIMEOUT_MS.3 \ CURLOPT_ADDRESS_SCOPE.3 \ CURLOPT_ALTSVC.3 \ CURLOPT_ALTSVC_CTRL.3 \ CURLOPT_APPEND.3 \ CURLOPT_AUTOREFERER.3 \ CURLOPT_AWS_SIGV4.3 \ CURLOPT_BUFFERSIZE.3 \ CURLOPT_CAINFO.3 \ CURLOPT_CAINFO_BLOB.3 \ CURLOPT_CAPATH.3 \ CURLOPT_CERTINFO.3 \ CURLOPT_CHUNK_BGN_FUNCTION.3 \ CURLOPT_CHUNK_DATA.3 \ CURLOPT_CHUNK_END_FUNCTION.3 \ CURLOPT_CLOSESOCKETDATA.3 \ CURLOPT_CLOSESOCKETFUNCTION.3 \ CURLOPT_CONNECT_ONLY.3 \ CURLOPT_CONNECT_TO.3 \ CURLOPT_CONNECTTIMEOUT.3 \ CURLOPT_CONNECTTIMEOUT_MS.3 \ CURLOPT_CONV_FROM_NETWORK_FUNCTION.3 \ CURLOPT_CONV_FROM_UTF8_FUNCTION.3 \ CURLOPT_CONV_TO_NETWORK_FUNCTION.3 \ CURLOPT_COOKIE.3 \ CURLOPT_COOKIEFILE.3 \ CURLOPT_COOKIEJAR.3 \ CURLOPT_COOKIELIST.3 \ |
︙ | ︙ | |||
166 167 168 169 170 171 172 | CURLOPT_FAILONERROR.3 \ CURLOPT_FILETIME.3 \ CURLOPT_FNMATCH_DATA.3 \ CURLOPT_FNMATCH_FUNCTION.3 \ CURLOPT_FOLLOWLOCATION.3 \ CURLOPT_FORBID_REUSE.3 \ CURLOPT_FRESH_CONNECT.3 \ | < < < > > > < > > > < < < | 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 | CURLOPT_FAILONERROR.3 \ CURLOPT_FILETIME.3 \ CURLOPT_FNMATCH_DATA.3 \ CURLOPT_FNMATCH_FUNCTION.3 \ CURLOPT_FOLLOWLOCATION.3 \ CURLOPT_FORBID_REUSE.3 \ CURLOPT_FRESH_CONNECT.3 \ CURLOPT_FTP_ACCOUNT.3 \ CURLOPT_FTP_ALTERNATIVE_TO_USER.3 \ CURLOPT_FTP_CREATE_MISSING_DIRS.3 \ CURLOPT_FTP_FILEMETHOD.3 \ CURLOPT_FTP_SKIP_PASV_IP.3 \ CURLOPT_FTP_SSL_CCC.3 \ CURLOPT_FTP_USE_EPRT.3 \ CURLOPT_FTP_USE_EPSV.3 \ CURLOPT_FTP_USE_PRET.3 \ CURLOPT_FTPPORT.3 \ CURLOPT_FTPSSLAUTH.3 \ CURLOPT_GSSAPI_DELEGATION.3 \ CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 \ CURLOPT_HAPROXYPROTOCOL.3 \ CURLOPT_HEADER.3 \ CURLOPT_HEADERDATA.3 \ CURLOPT_HEADERFUNCTION.3 \ CURLOPT_HEADEROPT.3 \ CURLOPT_HSTS.3 \ CURLOPT_HSTS_CTRL.3 \ CURLOPT_HSTSREADDATA.3 \ CURLOPT_HSTSREADFUNCTION.3 \ CURLOPT_HSTSWRITEDATA.3 \ CURLOPT_HSTSWRITEFUNCTION.3 \ CURLOPT_HTTP09_ALLOWED.3 \ CURLOPT_HTTP200ALIASES.3 \ CURLOPT_HTTP_CONTENT_DECODING.3 \ CURLOPT_HTTP_TRANSFER_DECODING.3 \ CURLOPT_HTTP_VERSION.3 \ CURLOPT_HTTPAUTH.3 \ CURLOPT_HTTPGET.3 \ CURLOPT_HTTPHEADER.3 \ CURLOPT_HTTPPOST.3 \ CURLOPT_HTTPPROXYTUNNEL.3 \ CURLOPT_IGNORE_CONTENT_LENGTH.3 \ CURLOPT_INFILESIZE.3 \ CURLOPT_INFILESIZE_LARGE.3 \ CURLOPT_INTERFACE.3 \ CURLOPT_INTERLEAVEDATA.3 \ CURLOPT_INTERLEAVEFUNCTION.3 \ CURLOPT_IOCTLDATA.3 \ |
︙ | ︙ | |||
224 225 226 227 228 229 230 231 232 233 234 235 236 | CURLOPT_LOGIN_OPTIONS.3 \ CURLOPT_LOW_SPEED_LIMIT.3 \ CURLOPT_LOW_SPEED_TIME.3 \ CURLOPT_MAIL_AUTH.3 \ CURLOPT_MAIL_FROM.3 \ CURLOPT_MAIL_RCPT.3 \ CURLOPT_MAIL_RCPT_ALLLOWFAILS.3 \ CURLOPT_MAXAGE_CONN.3 \ CURLOPT_MAXCONNECTS.3 \ CURLOPT_MAXFILESIZE.3 \ CURLOPT_MAXFILESIZE_LARGE.3 \ CURLOPT_MAXLIFETIME_CONN.3 \ CURLOPT_MAXREDIRS.3 \ | > > | < < | 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 | CURLOPT_LOGIN_OPTIONS.3 \ CURLOPT_LOW_SPEED_LIMIT.3 \ CURLOPT_LOW_SPEED_TIME.3 \ CURLOPT_MAIL_AUTH.3 \ CURLOPT_MAIL_FROM.3 \ CURLOPT_MAIL_RCPT.3 \ CURLOPT_MAIL_RCPT_ALLLOWFAILS.3 \ CURLOPT_MAX_RECV_SPEED_LARGE.3 \ CURLOPT_MAX_SEND_SPEED_LARGE.3 \ CURLOPT_MAXAGE_CONN.3 \ CURLOPT_MAXCONNECTS.3 \ CURLOPT_MAXFILESIZE.3 \ CURLOPT_MAXFILESIZE_LARGE.3 \ CURLOPT_MAXLIFETIME_CONN.3 \ CURLOPT_MAXREDIRS.3 \ CURLOPT_MIME_OPTIONS.3 \ CURLOPT_MIMEPOST.3 \ CURLOPT_NETRC.3 \ CURLOPT_NETRC_FILE.3 \ CURLOPT_NEW_DIRECTORY_PERMS.3 \ CURLOPT_NEW_FILE_PERMS.3 \ CURLOPT_NOBODY.3 \ CURLOPT_NOPROGRESS.3 \ CURLOPT_NOPROXY.3 \ |
︙ | ︙ | |||
255 256 257 258 259 260 261 262 263 264 | CURLOPT_PORT.3 \ CURLOPT_POST.3 \ CURLOPT_POSTFIELDS.3 \ CURLOPT_POSTFIELDSIZE.3 \ CURLOPT_POSTFIELDSIZE_LARGE.3 \ CURLOPT_POSTQUOTE.3 \ CURLOPT_POSTREDIR.3 \ CURLOPT_PREQUOTE.3 \ CURLOPT_PREREQDATA.3 \ CURLOPT_PREREQFUNCTION.3 \ | > < < < < | | < < < < > > > > > < < < < > > > > > > > > > < < < < < < < < < > > > > > > > > > | 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 | CURLOPT_PORT.3 \ CURLOPT_POST.3 \ CURLOPT_POSTFIELDS.3 \ CURLOPT_POSTFIELDSIZE.3 \ CURLOPT_POSTFIELDSIZE_LARGE.3 \ CURLOPT_POSTQUOTE.3 \ CURLOPT_POSTREDIR.3 \ CURLOPT_PRE_PROXY.3 \ CURLOPT_PREQUOTE.3 \ CURLOPT_PREREQDATA.3 \ CURLOPT_PREREQFUNCTION.3 \ CURLOPT_PRIVATE.3 \ CURLOPT_PROGRESSDATA.3 \ CURLOPT_PROGRESSFUNCTION.3 \ CURLOPT_PROTOCOLS.3 \ CURLOPT_PROTOCOLS_STR.3 \ CURLOPT_PROXY.3 \ CURLOPT_PROXY_CAINFO.3 \ CURLOPT_PROXY_CAINFO_BLOB.3 \ CURLOPT_PROXY_CAPATH.3 \ CURLOPT_PROXY_CRLFILE.3 \ CURLOPT_PROXY_ISSUERCERT.3 \ CURLOPT_PROXY_ISSUERCERT_BLOB.3 \ CURLOPT_PROXY_KEYPASSWD.3 \ CURLOPT_PROXY_PINNEDPUBLICKEY.3 \ CURLOPT_PROXY_SERVICE_NAME.3 \ CURLOPT_PROXY_SSL_CIPHER_LIST.3 \ CURLOPT_PROXY_SSL_OPTIONS.3 \ CURLOPT_PROXY_SSL_VERIFYHOST.3 \ CURLOPT_PROXY_SSL_VERIFYPEER.3 \ CURLOPT_PROXY_SSLCERT.3 \ CURLOPT_PROXY_SSLCERT_BLOB.3 \ CURLOPT_PROXY_SSLCERTTYPE.3 \ CURLOPT_PROXY_SSLKEY.3 \ CURLOPT_PROXY_SSLKEY_BLOB.3 \ CURLOPT_PROXY_SSLKEYTYPE.3 \ CURLOPT_PROXY_SSLVERSION.3 \ CURLOPT_PROXY_TLS13_CIPHERS.3 \ CURLOPT_PROXY_TLSAUTH_PASSWORD.3 \ CURLOPT_PROXY_TLSAUTH_TYPE.3 \ CURLOPT_PROXY_TLSAUTH_USERNAME.3 \ CURLOPT_PROXY_TRANSFER_MODE.3 \ CURLOPT_PROXYAUTH.3 \ CURLOPT_PROXYHEADER.3 \ CURLOPT_PROXYPASSWORD.3 \ CURLOPT_PROXYPORT.3 \ CURLOPT_PROXYTYPE.3 \ CURLOPT_PROXYUSERNAME.3 \ CURLOPT_PROXYUSERPWD.3 \ CURLOPT_PUT.3 \ CURLOPT_QUOTE.3 \ CURLOPT_RANDOM_FILE.3 \ CURLOPT_RANGE.3 \ CURLOPT_READDATA.3 \ CURLOPT_READFUNCTION.3 \ CURLOPT_REDIR_PROTOCOLS.3 \ CURLOPT_REDIR_PROTOCOLS_STR.3 \ CURLOPT_REFERER.3 \ CURLOPT_REQUEST_TARGET.3 \ CURLOPT_RESOLVE.3 \ CURLOPT_RESOLVER_START_DATA.3 \ CURLOPT_RESOLVER_START_FUNCTION.3 \ CURLOPT_RESUME_FROM.3 \ CURLOPT_RESUME_FROM_LARGE.3 \ CURLOPT_RTSP_CLIENT_CSEQ.3 \ CURLOPT_RTSP_REQUEST.3 \ CURLOPT_RTSP_SERVER_CSEQ.3 \ CURLOPT_RTSP_SESSION_ID.3 \ CURLOPT_RTSP_STREAM_URI.3 \ CURLOPT_RTSP_TRANSPORT.3 \ CURLOPT_SASL_AUTHZID.3 \ CURLOPT_SASL_IR.3 \ CURLOPT_SEEKDATA.3 \ CURLOPT_SEEKFUNCTION.3 \ CURLOPT_SERVER_RESPONSE_TIMEOUT.3 \ CURLOPT_SERVICE_NAME.3 \ CURLOPT_SHARE.3 \ CURLOPT_SOCKOPTDATA.3 \ CURLOPT_SOCKOPTFUNCTION.3 \ CURLOPT_SOCKS5_AUTH.3 \ CURLOPT_SOCKS5_GSSAPI_NEC.3 \ CURLOPT_SOCKS5_GSSAPI_SERVICE.3 \ CURLOPT_SSH_AUTH_TYPES.3 \ CURLOPT_SSH_COMPRESSION.3 \ CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3 \ CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256.3 \ CURLOPT_SSH_KEYDATA.3 \ CURLOPT_SSH_KEYFUNCTION.3 \ CURLOPT_SSH_KNOWNHOSTS.3 \ CURLOPT_SSH_PRIVATE_KEYFILE.3 \ CURLOPT_SSH_PUBLIC_KEYFILE.3 \ CURLOPT_SSL_CIPHER_LIST.3 \ CURLOPT_SSL_CTX_DATA.3 \ CURLOPT_SSL_CTX_FUNCTION.3 \ CURLOPT_SSL_EC_CURVES.3 \ CURLOPT_SSL_ENABLE_ALPN.3 \ CURLOPT_SSL_ENABLE_NPN.3 \ CURLOPT_SSL_FALSESTART.3 \ CURLOPT_SSL_OPTIONS.3 \ CURLOPT_SSL_SESSIONID_CACHE.3 \ CURLOPT_SSL_VERIFYHOST.3 \ CURLOPT_SSL_VERIFYPEER.3 \ CURLOPT_SSL_VERIFYSTATUS.3 \ CURLOPT_SSLCERT.3 \ CURLOPT_SSLCERT_BLOB.3 \ CURLOPT_SSLCERTTYPE.3 \ CURLOPT_SSLENGINE.3 \ CURLOPT_SSLENGINE_DEFAULT.3 \ CURLOPT_SSLKEY.3 \ CURLOPT_SSLKEY_BLOB.3 \ CURLOPT_SSLKEYTYPE.3 \ CURLOPT_SSLVERSION.3 \ CURLOPT_STDERR.3 \ CURLOPT_STREAM_DEPENDS.3 \ CURLOPT_STREAM_DEPENDS_E.3 \ CURLOPT_STREAM_WEIGHT.3 \ CURLOPT_SUPPRESS_CONNECT_HEADERS.3 \ CURLOPT_TCP_FASTOPEN.3 \ CURLOPT_TCP_KEEPALIVE.3 \ |
︙ | ︙ | |||
381 382 383 384 385 386 387 | CURLOPT_TIMEVALUE_LARGE.3 \ CURLOPT_TLS13_CIPHERS.3 \ CURLOPT_TLSAUTH_PASSWORD.3 \ CURLOPT_TLSAUTH_TYPE.3 \ CURLOPT_TLSAUTH_USERNAME.3 \ CURLOPT_TRAILERDATA.3 \ CURLOPT_TRAILERFUNCTION.3 \ | < > > < < | 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 | CURLOPT_TIMEVALUE_LARGE.3 \ CURLOPT_TLS13_CIPHERS.3 \ CURLOPT_TLSAUTH_PASSWORD.3 \ CURLOPT_TLSAUTH_TYPE.3 \ CURLOPT_TLSAUTH_USERNAME.3 \ CURLOPT_TRAILERDATA.3 \ CURLOPT_TRAILERFUNCTION.3 \ CURLOPT_TRANSFER_ENCODING.3 \ CURLOPT_TRANSFERTEXT.3 \ CURLOPT_UNIX_SOCKET_PATH.3 \ CURLOPT_UNRESTRICTED_AUTH.3 \ CURLOPT_UPKEEP_INTERVAL_MS.3 \ CURLOPT_UPLOAD.3 \ CURLOPT_UPLOAD_BUFFERSIZE.3 \ CURLOPT_URL.3 \ CURLOPT_USE_SSL.3 \ CURLOPT_USERAGENT.3 \ CURLOPT_USERNAME.3 \ CURLOPT_USERPWD.3 \ CURLOPT_VERBOSE.3 \ CURLOPT_WILDCARDMATCH.3 \ CURLOPT_WRITEDATA.3 \ CURLOPT_WRITEFUNCTION.3 \ CURLOPT_XFERINFODATA.3 \ CURLOPT_XFERINFOFUNCTION.3 \ CURLOPT_XOAUTH2_BEARER.3 \ CURLSHOPT_LOCKFUNC.3 \ CURLSHOPT_SHARE.3 \ CURLSHOPT_UNLOCKFUNC.3 \ CURLSHOPT_UNSHARE.3 \ CURLSHOPT_USERDATA.3 |
Changes to jni/curl/docs/libcurl/symbols-in-versions.
︙ | ︙ | |||
213 214 215 216 217 218 219 | CURLE_AUTH_ERROR 7.66.0 CURLE_BAD_CALLING_ORDER 7.1 7.17.0 CURLE_BAD_CONTENT_ENCODING 7.10 CURLE_BAD_DOWNLOAD_RESUME 7.10 CURLE_BAD_FUNCTION_ARGUMENT 7.1 CURLE_BAD_PASSWORD_ENTERED 7.4.2 7.17.0 CURLE_CHUNK_FAILED 7.21.0 | | | 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 | CURLE_AUTH_ERROR 7.66.0 CURLE_BAD_CALLING_ORDER 7.1 7.17.0 CURLE_BAD_CONTENT_ENCODING 7.10 CURLE_BAD_DOWNLOAD_RESUME 7.10 CURLE_BAD_FUNCTION_ARGUMENT 7.1 CURLE_BAD_PASSWORD_ENTERED 7.4.2 7.17.0 CURLE_CHUNK_FAILED 7.21.0 CURLE_CONV_FAILED 7.15.4 7.82.0 CURLE_CONV_REQD 7.15.4 7.82.0 CURLE_COULDNT_CONNECT 7.1 CURLE_COULDNT_RESOLVE_HOST 7.1 CURLE_COULDNT_RESOLVE_PROXY 7.1 CURLE_FAILED_INIT 7.1 CURLE_FILE_COULDNT_READ_FILE 7.1 CURLE_FILESIZE_EXCEEDED 7.10.8 |
︙ | ︙ | |||
612 613 614 615 616 617 618 | CURLOPT_FOLLOWLOCATION 7.1 CURLOPT_FORBID_REUSE 7.7 CURLOPT_FRESH_CONNECT 7.7 CURLOPT_FTP_ACCOUNT 7.13.0 CURLOPT_FTP_ALTERNATIVE_TO_USER 7.15.5 CURLOPT_FTP_CREATE_MISSING_DIRS 7.10.7 CURLOPT_FTP_FILEMETHOD 7.15.1 | | | 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 | CURLOPT_FOLLOWLOCATION 7.1 CURLOPT_FORBID_REUSE 7.7 CURLOPT_FRESH_CONNECT 7.7 CURLOPT_FTP_ACCOUNT 7.13.0 CURLOPT_FTP_ALTERNATIVE_TO_USER 7.15.5 CURLOPT_FTP_CREATE_MISSING_DIRS 7.10.7 CURLOPT_FTP_FILEMETHOD 7.15.1 CURLOPT_FTP_RESPONSE_TIMEOUT 7.10.8 7.85.0 CURLOPT_FTP_SKIP_PASV_IP 7.15.0 CURLOPT_FTP_SSL 7.11.0 7.16.4 CURLOPT_FTP_SSL_CCC 7.16.1 CURLOPT_FTP_USE_EPRT 7.10.5 CURLOPT_FTP_USE_EPSV 7.9.2 CURLOPT_FTP_USE_PRET 7.20.0 CURLOPT_FTPAPPEND 7.1 7.16.4 |
︙ | ︙ | |||
718 719 720 721 722 723 724 725 726 727 728 729 730 731 | CURLOPT_PREQUOTE 7.9.5 CURLOPT_PREREQDATA 7.80.0 CURLOPT_PREREQFUNCTION 7.80.0 CURLOPT_PRIVATE 7.10.3 CURLOPT_PROGRESSDATA 7.1 CURLOPT_PROGRESSFUNCTION 7.1 7.32.0 CURLOPT_PROTOCOLS 7.19.4 CURLOPT_PROXY 7.1 CURLOPT_PROXY_CAINFO 7.52.0 CURLOPT_PROXY_CAINFO_BLOB 7.77.0 CURLOPT_PROXY_CAPATH 7.52.0 CURLOPT_PROXY_CRLFILE 7.52.0 CURLOPT_PROXY_ISSUERCERT 7.71.0 CURLOPT_PROXY_ISSUERCERT_BLOB 7.71.0 | > | 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 | CURLOPT_PREQUOTE 7.9.5 CURLOPT_PREREQDATA 7.80.0 CURLOPT_PREREQFUNCTION 7.80.0 CURLOPT_PRIVATE 7.10.3 CURLOPT_PROGRESSDATA 7.1 CURLOPT_PROGRESSFUNCTION 7.1 7.32.0 CURLOPT_PROTOCOLS 7.19.4 CURLOPT_PROTOCOLS_STR 7.85.0 CURLOPT_PROXY 7.1 CURLOPT_PROXY_CAINFO 7.52.0 CURLOPT_PROXY_CAINFO_BLOB 7.77.0 CURLOPT_PROXY_CAPATH 7.52.0 CURLOPT_PROXY_CRLFILE 7.52.0 CURLOPT_PROXY_ISSUERCERT 7.71.0 CURLOPT_PROXY_ISSUERCERT_BLOB 7.71.0 |
︙ | ︙ | |||
758 759 760 761 762 763 764 765 766 767 768 769 770 771 | CURLOPT_PUT 7.1 CURLOPT_QUOTE 7.1 CURLOPT_RANDOM_FILE 7.7 CURLOPT_RANGE 7.1 CURLOPT_READDATA 7.9.7 CURLOPT_READFUNCTION 7.1 CURLOPT_REDIR_PROTOCOLS 7.19.4 CURLOPT_REFERER 7.1 CURLOPT_REQUEST_TARGET 7.55.0 CURLOPT_RESOLVE 7.21.3 CURLOPT_RESOLVER_START_DATA 7.59.0 CURLOPT_RESOLVER_START_FUNCTION 7.59.0 CURLOPT_RESUME_FROM 7.1 CURLOPT_RESUME_FROM_LARGE 7.11.0 | > | 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 | CURLOPT_PUT 7.1 CURLOPT_QUOTE 7.1 CURLOPT_RANDOM_FILE 7.7 CURLOPT_RANGE 7.1 CURLOPT_READDATA 7.9.7 CURLOPT_READFUNCTION 7.1 CURLOPT_REDIR_PROTOCOLS 7.19.4 CURLOPT_REDIR_PROTOCOLS_STR 7.85.0 CURLOPT_REFERER 7.1 CURLOPT_REQUEST_TARGET 7.55.0 CURLOPT_RESOLVE 7.21.3 CURLOPT_RESOLVER_START_DATA 7.59.0 CURLOPT_RESOLVER_START_FUNCTION 7.59.0 CURLOPT_RESUME_FROM 7.1 CURLOPT_RESUME_FROM_LARGE 7.11.0 |
︙ | ︙ |
Changes to jni/curl/include/Makefile.in.
︙ | ︙ | |||
85 86 87 88 89 90 91 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = include ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | | < | 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = include ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \ $(top_srcdir)/m4/curl-bearssl.m4 \ $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-gnutls.m4 \ $(top_srcdir)/m4/curl-mbedtls.m4 $(top_srcdir)/m4/curl-nss.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ |
︙ | ︙ | |||
344 345 346 347 348 349 350 351 352 353 354 355 356 357 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ | > | 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ |
︙ | ︙ |
Changes to jni/curl/include/curl/Makefile.in.
︙ | ︙ | |||
85 86 87 88 89 90 91 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = include/curl ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | | < | 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = include/curl ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \ $(top_srcdir)/m4/curl-bearssl.m4 \ $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-gnutls.m4 \ $(top_srcdir)/m4/curl-mbedtls.m4 $(top_srcdir)/m4/curl-nss.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ |
︙ | ︙ | |||
331 332 333 334 335 336 337 338 339 340 341 342 343 344 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ | > | 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ |
︙ | ︙ |
Changes to jni/curl/include/curl/curl.h.
︙ | ︙ | |||
71 72 73 74 75 76 77 | libc5-based Linux systems. Only include it on systems that are known to require it! */ #if defined(_AIX) || defined(__NOVELL_LIBC__) || defined(__NetBSD__) || \ defined(__minix) || defined(__SYMBIAN32__) || defined(__INTEGRITY) || \ defined(ANDROID) || defined(__ANDROID__) || defined(__OpenBSD__) || \ defined(__CYGWIN__) || defined(AMIGA) || defined(__NuttX__) || \ (defined(__FreeBSD_version) && (__FreeBSD_version < 800000)) || \ | | > | 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | libc5-based Linux systems. Only include it on systems that are known to require it! */ #if defined(_AIX) || defined(__NOVELL_LIBC__) || defined(__NetBSD__) || \ defined(__minix) || defined(__SYMBIAN32__) || defined(__INTEGRITY) || \ defined(ANDROID) || defined(__ANDROID__) || defined(__OpenBSD__) || \ defined(__CYGWIN__) || defined(AMIGA) || defined(__NuttX__) || \ (defined(__FreeBSD_version) && (__FreeBSD_version < 800000)) || \ (defined(__MidnightBSD_version) && (__MidnightBSD_version < 100000)) || \ defined(__sun__) #include <sys/select.h> #endif #if !defined(CURL_WIN32) && !defined(_WIN32_WCE) #include <sys/socket.h> #endif |
︙ | ︙ | |||
573 574 575 576 577 578 579 | CURLE_TFTP_NOTFOUND, /* 68 - file not found on server */ CURLE_TFTP_PERM, /* 69 - permission problem on server */ CURLE_REMOTE_DISK_FULL, /* 70 - out of disk space on server */ CURLE_TFTP_ILLEGAL, /* 71 - Illegal TFTP operation */ CURLE_TFTP_UNKNOWNID, /* 72 - Unknown transfer ID */ CURLE_REMOTE_FILE_EXISTS, /* 73 - File already exists */ CURLE_TFTP_NOSUCHUSER, /* 74 - No such user */ | | | 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 | CURLE_TFTP_NOTFOUND, /* 68 - file not found on server */ CURLE_TFTP_PERM, /* 69 - permission problem on server */ CURLE_REMOTE_DISK_FULL, /* 70 - out of disk space on server */ CURLE_TFTP_ILLEGAL, /* 71 - Illegal TFTP operation */ CURLE_TFTP_UNKNOWNID, /* 72 - Unknown transfer ID */ CURLE_REMOTE_FILE_EXISTS, /* 73 - File already exists */ CURLE_TFTP_NOSUCHUSER, /* 74 - No such user */ CURLE_OBSOLETE75, /* 75 - NOT IN USE since 7.82.0 */ CURLE_OBSOLETE76, /* 76 - NOT IN USE since 7.82.0 */ CURLE_SSL_CACERT_BADFILE, /* 77 - could not load CACERT file, missing or wrong format */ CURLE_REMOTE_FILE_NOT_FOUND, /* 78 - remote file not found */ CURLE_SSH, /* 79 - error from the SSH layer, somewhat generic so the error message will be of interest when this has happened */ |
︙ | ︙ | |||
676 677 678 679 680 681 682 683 684 685 686 687 688 689 | #define CURLE_HTTP_NOT_FOUND CURLE_HTTP_RETURNED_ERROR #define CURLE_HTTP_PORT_FAILED CURLE_INTERFACE_FAILED #define CURLE_FTP_COULDNT_STOR_FILE CURLE_UPLOAD_FAILED #define CURLE_FTP_PARTIAL_FILE CURLE_PARTIAL_FILE #define CURLE_FTP_BAD_DOWNLOAD_RESUME CURLE_BAD_DOWNLOAD_RESUME #define CURLE_LDAP_INVALID_URL CURLE_OBSOLETE62 #define CURLE_CONV_REQD CURLE_OBSOLETE76 /* This was the error code 50 in 7.7.3 and a few earlier versions, this is no longer used by libcurl but is instead #defined here only to not make programs break */ #define CURLE_ALREADY_COMPLETE 99999 /* Provide defines for really old option names */ | > | 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 | #define CURLE_HTTP_NOT_FOUND CURLE_HTTP_RETURNED_ERROR #define CURLE_HTTP_PORT_FAILED CURLE_INTERFACE_FAILED #define CURLE_FTP_COULDNT_STOR_FILE CURLE_UPLOAD_FAILED #define CURLE_FTP_PARTIAL_FILE CURLE_PARTIAL_FILE #define CURLE_FTP_BAD_DOWNLOAD_RESUME CURLE_BAD_DOWNLOAD_RESUME #define CURLE_LDAP_INVALID_URL CURLE_OBSOLETE62 #define CURLE_CONV_REQD CURLE_OBSOLETE76 #define CURLE_CONV_FAILED CURLE_OBSOLETE75 /* This was the error code 50 in 7.7.3 and a few earlier versions, this is no longer used by libcurl but is instead #defined here only to not make programs break */ #define CURLE_ALREADY_COMPLETE 99999 /* Provide defines for really old option names */ |
︙ | ︙ | |||
1005 1006 1007 1008 1009 1010 1011 | struct curl_index *i, void *userp); /* CURLHSTS_* are bits for the CURLOPT_HSTS option */ #define CURLHSTS_ENABLE (long)(1<<0) #define CURLHSTS_READONLYFILE (long)(1<<1) | | > | 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 | struct curl_index *i, void *userp); /* CURLHSTS_* are bits for the CURLOPT_HSTS option */ #define CURLHSTS_ENABLE (long)(1<<0) #define CURLHSTS_READONLYFILE (long)(1<<1) /* The CURLPROTO_ defines below are for the **deprecated** CURLOPT_*PROTOCOLS options. Do not use. */ #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) #define CURLPROTO_SFTP (1<<5) #define CURLPROTO_TELNET (1<<6) |
︙ | ︙ | |||
1471 1472 1473 1474 1475 1476 1477 | CURLOPT(CURLOPT_FTP_CREATE_MISSING_DIRS, CURLOPTTYPE_LONG, 110), /* Set this to a bitmask value to enable the particular authentications methods you like. Use this in combination with CURLOPT_PROXYUSERPWD. Note that setting multiple bits may cause extra network round-trips. */ CURLOPT(CURLOPT_PROXYAUTH, CURLOPTTYPE_VALUES, 111), | | | | | | < | 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 | CURLOPT(CURLOPT_FTP_CREATE_MISSING_DIRS, CURLOPTTYPE_LONG, 110), /* Set this to a bitmask value to enable the particular authentications methods you like. Use this in combination with CURLOPT_PROXYUSERPWD. Note that setting multiple bits may cause extra network round-trips. */ CURLOPT(CURLOPT_PROXYAUTH, CURLOPTTYPE_VALUES, 111), /* Option that changes the timeout, in seconds, associated with getting a response. This is different from transfer timeout time and essentially places a demand on the server to acknowledge commands in a timely manner. For FTP, SMTP, IMAP and POP3. */ CURLOPT(CURLOPT_SERVER_RESPONSE_TIMEOUT, CURLOPTTYPE_LONG, 112), /* Set this option to one of the CURL_IPRESOLVE_* defines (see below) to tell libcurl to use those IP versions only. This only has effect on systems with support for more than one, i.e IPv4 _and_ IPv6. */ CURLOPT(CURLOPT_IPRESOLVE, CURLOPTTYPE_VALUES, 113), /* Set this option to limit the size of a file that will be downloaded from |
︙ | ︙ | |||
2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 | /* set the SSH host key callback, must point to a curl_sshkeycallback function */ CURLOPT(CURLOPT_SSH_HOSTKEYFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 316), /* set the SSH host key callback custom pointer */ CURLOPT(CURLOPT_SSH_HOSTKEYDATA, CURLOPTTYPE_CBPOINT, 317), 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 */ | > > > > > > > > > | 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 | /* set the SSH host key callback, must point to a curl_sshkeycallback function */ CURLOPT(CURLOPT_SSH_HOSTKEYFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 316), /* set the SSH host key callback custom pointer */ CURLOPT(CURLOPT_SSH_HOSTKEYDATA, CURLOPTTYPE_CBPOINT, 317), /* specify which protocols that are allowed to be used for the transfer, which thus helps the app which takes URLs from users or other external inputs and want to restrict what protocol(s) to deal with. Defaults to all built-in protocols. */ CURLOPT(CURLOPT_PROTOCOLS_STR, CURLOPTTYPE_STRINGPOINT, 318), /* specify which protocols that libcurl is allowed to follow directs to */ CURLOPT(CURLOPT_REDIR_PROTOCOLS_STR, CURLOPTTYPE_STRINGPOINT, 319), 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 */ |
︙ | ︙ | |||
2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 | #define CURLOPT_FTP_SSL CURLOPT_USE_SSL /* The following were added earlier */ #define CURLOPT_SSLCERTPASSWD CURLOPT_KEYPASSWD #define CURLOPT_KRB4LEVEL CURLOPT_KRBLEVEL #else /* This is set if CURL_NO_OLDIES is defined at compile-time */ #undef CURLOPT_DNS_USE_GLOBAL_CACHE /* soon obsolete */ #endif /* Below here follows defines for the CURLOPT_IPRESOLVE option. If a host name resolves addresses using more than one IP protocol version, this option might be handy to force libcurl to use a specific IP version. */ #define CURL_IPRESOLVE_WHATEVER 0 /* default, uses addresses to all IP versions that your system allows */ #define CURL_IPRESOLVE_V4 1 /* uses only IPv4 addresses/connections */ #define CURL_IPRESOLVE_V6 2 /* uses only IPv6 addresses/connections */ | > > > | | 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 | #define CURLOPT_FTP_SSL CURLOPT_USE_SSL /* The following were added earlier */ #define CURLOPT_SSLCERTPASSWD CURLOPT_KEYPASSWD #define CURLOPT_KRB4LEVEL CURLOPT_KRBLEVEL /* */ #define CURLOPT_FTP_RESPONSE_TIMEOUT CURLOPT_SERVER_RESPONSE_TIMEOUT #else /* This is set if CURL_NO_OLDIES is defined at compile-time */ #undef CURLOPT_DNS_USE_GLOBAL_CACHE /* soon obsolete */ #endif /* Below here follows defines for the CURLOPT_IPRESOLVE option. If a host name resolves addresses using more than one IP protocol version, this option might be handy to force libcurl to use a specific IP version. */ #define CURL_IPRESOLVE_WHATEVER 0 /* default, uses addresses to all IP versions that your system allows */ #define CURL_IPRESOLVE_V4 1 /* uses only IPv4 addresses/connections */ #define CURL_IPRESOLVE_V6 2 /* uses only IPv6 addresses/connections */ /* Convenient "aliases" */ #define CURLOPT_RTSPHEADER CURLOPT_HTTPHEADER /* These enums are for use with the CURLOPT_HTTP_VERSION option. */ enum { CURL_HTTP_VERSION_NONE, /* setting this means we don't care, and that we'd like the library to choose the best possible for us! */ |
︙ | ︙ |
Changes to jni/curl/include/curl/curlver.h.
︙ | ︙ | |||
28 29 30 31 32 33 34 | 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 - 2022 Daniel Stenberg, <daniel@haxx.se>." /* This is the version number of the libcurl package from which this header file origins: */ | | | | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | 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 - 2022 Daniel Stenberg, <daniel@haxx.se>." /* This is the version number of the libcurl package from which this header file origins: */ #define LIBCURL_VERSION "7.85.0" /* The numeric version number is also available "in parts" by using these defines: */ #define LIBCURL_VERSION_MAJOR 7 #define LIBCURL_VERSION_MINOR 85 #define LIBCURL_VERSION_PATCH 0 /* This is the numeric version of the libcurl version number, meant for easier parsing and comparisons by programs. The LIBCURL_VERSION_NUM define will always follow this syntax: 0xXXYYZZ |
︙ | ︙ | |||
55 56 57 58 59 60 61 | 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. */ | | | | 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 | 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 0x075500 /* * 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 "2022-08-31" #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 /* CURLINC_CURLVER_H */ |
Changes to jni/curl/include/curl/typecheck-gcc.h.
︙ | ︙ | |||
268 269 270 271 272 273 274 | (option) == CURLOPT_DEFAULT_PROTOCOL || \ (option) == CURLOPT_DNS_INTERFACE || \ (option) == CURLOPT_DNS_LOCAL_IP4 || \ (option) == CURLOPT_DNS_LOCAL_IP6 || \ (option) == CURLOPT_DNS_SERVERS || \ (option) == CURLOPT_DOH_URL || \ (option) == CURLOPT_EGDSOCKET || \ | < > < | < | > < > > > > | 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 | (option) == CURLOPT_DEFAULT_PROTOCOL || \ (option) == CURLOPT_DNS_INTERFACE || \ (option) == CURLOPT_DNS_LOCAL_IP4 || \ (option) == CURLOPT_DNS_LOCAL_IP6 || \ (option) == CURLOPT_DNS_SERVERS || \ (option) == CURLOPT_DOH_URL || \ (option) == CURLOPT_EGDSOCKET || \ (option) == CURLOPT_FTP_ACCOUNT || \ (option) == CURLOPT_FTP_ALTERNATIVE_TO_USER || \ (option) == CURLOPT_FTPPORT || \ (option) == CURLOPT_HSTS || \ (option) == CURLOPT_INTERFACE || \ (option) == CURLOPT_ISSUERCERT || \ (option) == CURLOPT_KEYPASSWD || \ (option) == CURLOPT_KRBLEVEL || \ (option) == CURLOPT_LOGIN_OPTIONS || \ (option) == CURLOPT_MAIL_AUTH || \ (option) == CURLOPT_MAIL_FROM || \ (option) == CURLOPT_NETRC_FILE || \ (option) == CURLOPT_NOPROXY || \ (option) == CURLOPT_PASSWORD || \ (option) == CURLOPT_PINNEDPUBLICKEY || \ (option) == CURLOPT_PRE_PROXY || \ (option) == CURLOPT_PROTOCOLS_STR || \ (option) == CURLOPT_PROXY || \ (option) == CURLOPT_PROXY_CAINFO || \ (option) == CURLOPT_PROXY_CAPATH || \ (option) == CURLOPT_PROXY_CRLFILE || \ (option) == CURLOPT_PROXY_ISSUERCERT || \ (option) == CURLOPT_PROXY_KEYPASSWD || \ (option) == CURLOPT_PROXY_PINNEDPUBLICKEY || \ (option) == CURLOPT_PROXY_SERVICE_NAME || \ (option) == CURLOPT_PROXY_SSL_CIPHER_LIST || \ (option) == CURLOPT_PROXY_SSLCERT || \ (option) == CURLOPT_PROXY_SSLCERTTYPE || \ (option) == CURLOPT_PROXY_SSLKEY || \ (option) == CURLOPT_PROXY_SSLKEYTYPE || \ (option) == CURLOPT_PROXY_TLS13_CIPHERS || \ (option) == CURLOPT_PROXY_TLSAUTH_PASSWORD || \ (option) == CURLOPT_PROXY_TLSAUTH_TYPE || \ (option) == CURLOPT_PROXY_TLSAUTH_USERNAME || \ (option) == CURLOPT_PROXYPASSWORD || \ (option) == CURLOPT_PROXYUSERNAME || \ (option) == CURLOPT_PROXYUSERPWD || \ (option) == CURLOPT_RANDOM_FILE || \ (option) == CURLOPT_RANGE || \ (option) == CURLOPT_REDIR_PROTOCOLS_STR || \ (option) == CURLOPT_REFERER || \ (option) == CURLOPT_REQUEST_TARGET || \ (option) == CURLOPT_RTSP_SESSION_ID || \ (option) == CURLOPT_RTSP_STREAM_URI || \ (option) == CURLOPT_RTSP_TRANSPORT || \ (option) == CURLOPT_SASL_AUTHZID || \ (option) == CURLOPT_SERVICE_NAME || \ |
︙ | ︙ |
Changes to jni/curl/lib/CMakeLists.txt.
︙ | ︙ | |||
91 92 93 94 95 96 97 | ALIAS ${LIB_NAME} ) if(NOT BUILD_SHARED_LIBS) set_target_properties(${LIB_NAME} PROPERTIES INTERFACE_COMPILE_DEFINITIONS CURL_STATICLIB) endif() | | | 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | ALIAS ${LIB_NAME} ) if(NOT BUILD_SHARED_LIBS) set_target_properties(${LIB_NAME} PROPERTIES INTERFACE_COMPILE_DEFINITIONS CURL_STATICLIB) endif() target_link_libraries(${LIB_NAME} PRIVATE ${CURL_LIBS}) set_target_properties(${LIB_NAME} PROPERTIES COMPILE_DEFINITIONS BUILDING_LIBCURL OUTPUT_NAME ${LIBCURL_OUTPUT_NAME} ) if(HIDES_CURL_PRIVATE_SYMBOLS) |
︙ | ︙ | |||
115 116 117 118 119 120 121 | set_target_properties(${LIB_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE TRUE INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO TRUE) endif() if(WIN32) if(BUILD_SHARED_LIBS) | < | | 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 | set_target_properties(${LIB_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE TRUE INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO TRUE) endif() if(WIN32) if(BUILD_SHARED_LIBS) if(MSVC) # Add "_imp" as a suffix before the extension to avoid conflicting with # the statically linked "libcurl.lib" set_target_properties(${LIB_NAME} PROPERTIES IMPORT_SUFFIX "_imp.lib") endif() endif() endif() target_include_directories(${LIB_NAME} INTERFACE $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CURL_SOURCE_DIR}/include>) install(TARGETS ${LIB_NAME} EXPORT ${TARGETS_EXPORT_NAME} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) export(TARGETS ${LIB_NAME} FILE ${PROJECT_BINARY_DIR}/libcurl-target.cmake NAMESPACE ${PROJECT_NAME}:: ) |
Changes to jni/curl/lib/Makefile.in.
︙ | ︙ | |||
119 120 121 122 123 124 125 | # if symbol-hiding is enabled, hide them! @CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS_FALSE@@DOING_CURL_SYMBOL_HIDING_TRUE@am__append_5 = -export-symbols-regex '^curl_.*' @USE_CPPFLAG_CURL_STATICLIB_TRUE@am__append_6 = -DCURL_STATICLIB @DOING_CURL_SYMBOL_HIDING_TRUE@am__append_7 = -DCURL_HIDDEN_SYMBOLS @DOING_CURL_SYMBOL_HIDING_TRUE@am__append_8 = $(CFLAG_CURL_SYMBOL_HIDING) subdir = lib ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | | < | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | # if symbol-hiding is enabled, hide them! @CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS_FALSE@@DOING_CURL_SYMBOL_HIDING_TRUE@am__append_5 = -export-symbols-regex '^curl_.*' @USE_CPPFLAG_CURL_STATICLIB_TRUE@am__append_6 = -DCURL_STATICLIB @DOING_CURL_SYMBOL_HIDING_TRUE@am__append_7 = -DCURL_HIDDEN_SYMBOLS @DOING_CURL_SYMBOL_HIDING_TRUE@am__append_8 = $(CFLAG_CURL_SYMBOL_HIDING) subdir = lib ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \ $(top_srcdir)/m4/curl-bearssl.m4 \ $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-gnutls.m4 \ $(top_srcdir)/m4/curl-mbedtls.m4 $(top_srcdir)/m4/curl-nss.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ |
︙ | ︙ | |||
876 877 878 879 880 881 882 883 884 885 886 887 888 889 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ | > | 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ |
︙ | ︙ |
Changes to jni/curl/lib/Makefile.m32.
︙ | ︙ | |||
104 105 106 107 108 109 110 111 112 113 114 115 116 | endif ifeq ($(CURL_AR),) CURL_AR := $(CROSSPREFIX)ar endif ifeq ($(CURL_RANLIB),) CURL_RANLIB := $(CROSSPREFIX)ranlib endif CC = $(CURL_CC) CFLAGS = -O3 $(CURL_CFLAG_EXTRAS) -W -Wall LDFLAGS = $(CURL_LDFLAG_EXTRAS) $(CURL_LDFLAG_EXTRAS_DLL) AR = $(CURL_AR) RANLIB = $(CURL_RANLIB) | > > > > > > | | | > > | 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 | endif ifeq ($(CURL_AR),) CURL_AR := $(CROSSPREFIX)ar endif ifeq ($(CURL_RANLIB),) CURL_RANLIB := $(CROSSPREFIX)ranlib endif ifeq ($(CURL_RC),) CURL_RC := $(CROSSPREFIX)windres endif ifeq ($(CURL_STRIP),) CURL_STRIP := $(CROSSPREFIX)strip endif CC = $(CURL_CC) CFLAGS = -O3 $(CURL_CFLAG_EXTRAS) -W -Wall LDFLAGS = $(CURL_LDFLAG_EXTRAS) $(CURL_LDFLAG_EXTRAS_DLL) AR = $(CURL_AR) RANLIB = $(CURL_RANLIB) RC = $(CURL_RC) RCFLAGS = --include-dir=$(PROOT)/include -O coff $(CURL_RCFLAG_EXTRAS) STRIP = $(CURL_STRIP) -g # Set environment var ARCH to your architecture to override autodetection. ifndef ARCH ifeq ($(findstring x86_64,$(shell $(CC) -dumpmachine)),x86_64) ARCH = w64 else ARCH = w32 endif endif ifneq ($(ARCH),custom) ifeq ($(ARCH),w64) CFLAGS += -m64 LDFLAGS += -m64 RCFLAGS += -F pe-x86-64 else CFLAGS += -m32 LDFLAGS += -m32 RCFLAGS += -F pe-i386 endif endif # Platform-dependent helper tool macros ifeq ($(findstring /sh,$(SHELL)),/sh) DEL = rm -f $1 RMDIR = rm -fr $1 MKDIR = mkdir -p $1 |
︙ | ︙ | |||
275 276 277 278 279 280 281 | endif ifdef SSH2 INCLUDES += -I"$(LIBSSH2_PATH)/include" -I"$(LIBSSH2_PATH)/win32" CFLAGS += -DUSE_LIBSSH2 -DHAVE_LIBSSH2_H DLL_LIBS += -L"$(LIBSSH2_PATH)/win32" -lssh2 ifdef SCHANNEL ifndef DYN | | > > > > > > > > > > > > > > > > > > < < < < < < < < < < < | 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 | endif ifdef SSH2 INCLUDES += -I"$(LIBSSH2_PATH)/include" -I"$(LIBSSH2_PATH)/win32" CFLAGS += -DUSE_LIBSSH2 -DHAVE_LIBSSH2_H DLL_LIBS += -L"$(LIBSSH2_PATH)/win32" -lssh2 ifdef SCHANNEL ifndef DYN DLL_LIBS += -lcrypt32 endif endif endif ifdef NGHTTP3 INCLUDES += -I"$(NGHTTP3_PATH)/include" CFLAGS += -DUSE_NGHTTP3 DLL_LIBS += -L"$(NGHTTP3_PATH)/lib" -lnghttp3 ifdef NGTCP2 INCLUDES += -I"$(NGTCP2_PATH)/include" CFLAGS += -DUSE_NGTCP2 DLL_LIBS += -L"$(NGTCP2_PATH)/lib" ifdef NGTCP2_LIBS DLL_LIBS += $(NGTCP2_LIBS) else DLL_LIBS += -lngtcp2 ifdef SSL DLL_LIBS += -lngtcp2_crypto_openssl endif endif endif endif ifdef SSL ifndef OPENSSL_INCLUDE ifeq "$(wildcard $(OPENSSL_PATH)/outinc)" "$(OPENSSL_PATH)/outinc" OPENSSL_INCLUDE = $(OPENSSL_PATH)/outinc endif ifeq "$(wildcard $(OPENSSL_PATH)/include)" "$(OPENSSL_PATH)/include" OPENSSL_INCLUDE = $(OPENSSL_PATH)/include endif |
︙ | ︙ | |||
396 397 398 399 400 401 402 | DLL_LIBS += -L"$(LDAP_SDK)/lib" -lldap -llber endif ifndef USE_LDAP_NOVELL ifndef USE_LDAP_OPENLDAP DLL_LIBS += -lwldap32 endif endif | | | 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 | DLL_LIBS += -L"$(LDAP_SDK)/lib" -lldap -llber endif ifndef USE_LDAP_NOVELL ifndef USE_LDAP_OPENLDAP DLL_LIBS += -lwldap32 endif endif DLL_LIBS += -lws2_32 -lbcrypt # Makefile.inc provides the CSOURCES and HHEADERS defines include Makefile.inc ifeq ($(CURL_DLL_A_SUFFIX),) CURL_DLL_A_SUFFIX := dll endif |
︙ | ︙ | |||
442 443 444 445 446 447 448 | $(RC) $(RCFLAGS) -i $< -o $@ clean: @$(call DEL, $(libcurl_a_OBJECTS) $(RESOURCE)) distclean vclean: clean @$(call DEL, $(libcurl_a_LIBRARY) $(libcurl_dll_LIBRARY) $(libcurl_dll_LIBRARY:.dll=.def) $(libcurl_dll_a_LIBRARY)) | < < < | 457 458 459 460 461 462 463 | $(RC) $(RCFLAGS) -i $< -o $@ clean: @$(call DEL, $(libcurl_a_OBJECTS) $(RESOURCE)) distclean vclean: clean @$(call DEL, $(libcurl_a_LIBRARY) $(libcurl_dll_LIBRARY) $(libcurl_dll_LIBRARY:.dll=.def) $(libcurl_dll_a_LIBRARY)) |
Changes to jni/curl/lib/amigaos.c.
︙ | ︙ | |||
21 22 23 24 25 26 27 | * SPDX-License-Identifier: curl * ***************************************************************************/ #include "curl_setup.h" #ifdef __AMIGA__ | > > | > | > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | > > > > | | | | | < < | < | < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < | 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 | * SPDX-License-Identifier: curl * ***************************************************************************/ #include "curl_setup.h" #ifdef __AMIGA__ #include "hostip.h" #include "amigaos.h" #ifdef HAVE_PROTO_BSDSOCKET_H # if defined(__amigaos4__) # include <bsdsocket/socketbasetags.h> # elif !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 HAVE_PROTO_BSDSOCKET_H #ifdef __amigaos4__ /* * AmigaOS 4.x specific code */ /* * hostip4.c - Curl_ipv4_resolve_r() replacement code * * Logic that needs to be considered are the following build cases: * - newlib networking * - clib2 networking * - direct bsdsocket.library networking (usually AmiSSL builds) * Each with the threaded resolver enabled or not. * * With the threaded resolver enabled, try to use gethostbyname_r() where * available, otherwise (re)open bsdsocket.library and fallback to * gethostbyname(). */ #include <proto/bsdsocket.h> static struct SocketIFace *__CurlISocket = NULL; static uint32 SocketFeatures = 0; #define HAVE_BSDSOCKET_GETHOSTBYNAME_R 0x01 #define HAVE_BSDSOCKET_GETADDRINFO 0x02 CURLcode Curl_amiga_init(void) { struct SocketIFace *ISocket; struct Library *base = OpenLibrary("bsdsocket.library", 4); if(base) { ISocket = (struct SocketIFace *)GetInterface(base, "main", 1, NULL); if(ISocket) { ULONG enabled = 0; SocketBaseTags(SBTM_SETVAL(SBTC_CAN_SHARE_LIBRARY_BASES), TRUE, SBTM_GETREF(SBTC_HAVE_GETHOSTADDR_R_API), (ULONG)&enabled, TAG_DONE); if(enabled) { SocketFeatures |= HAVE_BSDSOCKET_GETHOSTBYNAME_R; } __CurlISocket = ISocket; atexit(Curl_amiga_cleanup); return CURLE_OK; } CloseLibrary(base); } return CURLE_FAILED_INIT; } void Curl_amiga_cleanup(void) { if(__CurlISocket) { struct Library *base = __CurlISocket->Data.LibBase; DropInterface((struct Interface *)__CurlISocket); CloseLibrary(base); __CurlISocket = NULL; } } #ifdef CURLRES_AMIGA /* * Because we need to handle the different cases in hostip4.c at run-time, * not at compile-time, based on what was detected in Curl_amiga_init(), * we replace it completely with our own as to not complicate the baseline * code. Assumes malloc/calloc/free are thread safe because Curl_he2ai() * allocates memory also. */ struct Curl_addrinfo *Curl_ipv4_resolve_r(const char *hostname, int port) { struct Curl_addrinfo *ai = NULL; struct hostent *h; struct SocketIFace *ISocket = __CurlISocket; if(SocketFeatures & HAVE_BSDSOCKET_GETHOSTBYNAME_R) { LONG h_errnop = 0; struct hostent *buf; buf = calloc(1, CURL_HOSTENT_SIZE); if(buf) { h = gethostbyname_r((STRPTR)hostname, buf, (char *)buf + sizeof(struct hostent), CURL_HOSTENT_SIZE - sizeof(struct hostent), &h_errnop); if(h) { ai = Curl_he2ai(h, port); } free(buf); } } else { #ifdef CURLRES_THREADED /* gethostbyname() is not thread safe, so we need to reopen bsdsocket * on the thread's context */ struct Library *base = OpenLibrary("bsdsocket.library", 4); if(base) { ISocket = (struct SocketIFace *)GetInterface(base, "main", 1, NULL); if(ISocket) { h = gethostbyname((STRPTR)hostname); if(h) { ai = Curl_he2ai(h, port); } DropInterface((struct Interface *)ISocket); } CloseLibrary(base); } #else /* not using threaded resolver - safe to use this as-is */ h = gethostbyname(hostname); if(h) { ai = Curl_he2ai(h, port); } #endif } return ai; } #endif /* CURLRES_AMIGA */ #ifdef USE_AMISSL int Curl_amiga_select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *errorfds, struct timeval *timeout) { int r = WaitSelect(nfds, readfds, writefds, errorfds, timeout, 0); /* Ensure Ctrl-C signal is actioned */ if((r == -1) && (SOCKERRNO == EINTR)) raise(SIGINT); return r; } #endif /* USE_AMISSL */ #elif !defined(USE_AMISSL) /* __amigaos4__ */ /* * Amiga OS3 specific code */ 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(void) { if(SocketBase) { CloseLibrary(SocketBase); SocketBase = NULL; } } CURLcode Curl_amiga_init(void) { if(!SocketBase) SocketBase = OpenLibrary("bsdsocket.library", 4); if(!SocketBase) { __request("No TCP/IP Stack running!"); return CURLE_FAILED_INIT; } if(SocketBaseTags(SBTM_SETVAL(SBTC_ERRNOPTR(sizeof(errno))), (ULONG) &errno, SBTM_SETVAL(SBTC_LOGTAGPTR), (ULONG) "curl", TAG_DONE)) { __request("SocketBaseTags ERROR"); return CURLE_FAILED_INIT; } #ifndef __libnix__ atexit(Curl_amiga_cleanup); #endif return CURLE_OK; } #ifdef __libnix__ ADD2EXIT(Curl_amiga_cleanup, -50); #endif #endif /* !USE_AMISSL */ #endif /* HAVE_PROTO_BSDSOCKET_H */ #endif /* __AMIGA__ */ |
Changes to jni/curl/lib/amigaos.h.
︙ | ︙ | |||
21 22 23 24 25 26 27 | * KIND, either express or implied. * * SPDX-License-Identifier: curl * ***************************************************************************/ #include "curl_setup.h" | | > | | | < < < < < | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | * KIND, either express or implied. * * SPDX-License-Identifier: curl * ***************************************************************************/ #include "curl_setup.h" #if defined(__AMIGA__) && defined(HAVE_PROTO_BSDSOCKET_H) && \ (!defined(USE_AMISSL) || defined(__amigaos4__)) CURLcode Curl_amiga_init(void); void Curl_amiga_cleanup(void); #else #define Curl_amiga_init() CURLE_OK #define Curl_amiga_cleanup() Curl_nop_stmt #endif #endif /* HEADER_CURL_AMIGAOS_H */ |
Changes to jni/curl/lib/asyn-ares.c.
︙ | ︙ | |||
111 112 113 114 115 116 117 118 119 120 121 122 123 124 | int num_pending; /* number of outstanding c-ares requests */ struct Curl_addrinfo *temp_ai; /* intermediary result while fetching c-ares parts */ int last_status; #ifndef HAVE_CARES_GETADDRINFO struct curltime happy_eyeballs_dns_time; /* when this timer started, or 0 */ #endif }; /* How long we are willing to wait for additional parallel responses after obtaining a "definitive" one. This is intended to equal the c-ares default timeout. cURL always uses that default value. Unfortunately, c-ares doesn't expose its default timeout in | > | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | int num_pending; /* number of outstanding c-ares requests */ struct Curl_addrinfo *temp_ai; /* intermediary result while fetching c-ares parts */ int last_status; #ifndef HAVE_CARES_GETADDRINFO struct curltime happy_eyeballs_dns_time; /* when this timer started, or 0 */ #endif char hostname[1]; }; /* How long we are willing to wait for additional parallel responses after obtaining a "definitive" one. This is intended to equal the c-ares default timeout. cURL always uses that default value. Unfortunately, c-ares doesn't expose its default timeout in |
︙ | ︙ | |||
248 249 250 251 252 253 254 | } /* * destroy_async_data() cleans up async resolver data. */ static void destroy_async_data(struct Curl_async *async) { | < < < < | 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 | } /* * destroy_async_data() cleans up async resolver data. */ static void destroy_async_data(struct Curl_async *async) { if(async->tdata) { struct thread_data *res = async->tdata; if(res) { if(res->temp_ai) { Curl_freeaddrinfo(res->temp_ai); res->temp_ai = NULL; } free(res); } async->tdata = NULL; } } /* * Curl_resolver_getsock() is called when someone from the outside world * (using curl_multi_fdset()) wants to get our fd_set setup and we're talking * with ares. The caller must make sure that this function is only called when * we have a working ares channel. |
︙ | ︙ | |||
754 755 756 757 758 759 760 | * Curl_freeaddrinfo(), nothing else. */ struct Curl_addrinfo *Curl_resolver_getaddrinfo(struct Curl_easy *data, const char *hostname, int port, int *waitp) { | | | | | < | | < < < < < < | 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 | * Curl_freeaddrinfo(), nothing else. */ struct Curl_addrinfo *Curl_resolver_getaddrinfo(struct Curl_easy *data, const char *hostname, int port, int *waitp) { struct thread_data *res = NULL; size_t namelen = strlen(hostname); *waitp = 0; /* default to synchronous response */ res = calloc(sizeof(struct thread_data) + namelen, 1); if(res) { strcpy(res->hostname, hostname); data->state.async.hostname = res->hostname; data->state.async.port = port; data->state.async.done = FALSE; /* not done */ data->state.async.status = 0; /* clear */ data->state.async.dns = NULL; /* clear */ data->state.async.tdata = res; /* initial status - failed */ res->last_status = ARES_ENOTFOUND; #ifdef HAVE_CARES_GETADDRINFO { |
︙ | ︙ |
Changes to jni/curl/lib/asyn-thread.c.
︙ | ︙ | |||
260 261 262 263 264 265 266 | tsd->hostname = strdup(hostname); if(!tsd->hostname) goto err_exit; return 1; err_exit: | | > > > > > | | | | | 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 | tsd->hostname = strdup(hostname); if(!tsd->hostname) goto err_exit; return 1; err_exit: #ifndef CURL_DISABLE_SOCKETPAIR if(tsd->sock_pair[0] != CURL_SOCKET_BAD) { sclose(tsd->sock_pair[0]); tsd->sock_pair[0] = CURL_SOCKET_BAD; } #endif destroy_thread_sync_data(tsd); return 0; } static CURLcode getaddrinfo_complete(struct Curl_easy *data) { struct thread_sync_data *tsd = conn_thread_sync_data(data); CURLcode result; result = Curl_addrinfo_callback(data, tsd->sock_error, tsd->res); /* The tsd->res structure has been copied to async.dns and perhaps the DNS cache. Set our copy to NULL so destroy_thread_sync_data doesn't free it. */ tsd->res = NULL; return result; } #ifdef HAVE_GETADDRINFO /* * getaddrinfo_thread() resolves a name and then exits. |
︙ | ︙ |
Changes to jni/curl/lib/base64.c.
︙ | ︙ | |||
39 40 41 42 43 44 45 46 | /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" /* ---- Base64 Encoding/Decoding Table --- */ static const char base64[]= | > | | | < < | < < < < < | | | 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 | /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" /* ---- Base64 Encoding/Decoding Table --- */ /* Padding character string starts at offset 64. */ static const char base64[]= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; /* The Base 64 encoding with an URL and filename safe alphabet, RFC 4648 section 5 */ static const char base64url[]= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"; static size_t decodeQuantum(unsigned char *dest, const char *src) { size_t padding = 0; const char *s; unsigned long i, x = 0; for(i = 0, s = src; i < 4; i++, s++) { if(*s == '=') { x <<= 6; padding++; } else { const char *p = strchr(base64, *s); if(p) x = (x << 6) + curlx_uztoul(p - base64); else return 0; } } if(padding < 1) dest[2] = curlx_ultouc(x & 0xFFUL); |
︙ | ︙ | |||
105 106 107 108 109 110 111 | * * @unittest: 1302 */ CURLcode Curl_base64_decode(const char *src, unsigned char **outptr, size_t *outlen) { size_t srclen = 0; | < > | | | | < < | | < | | | > | 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 | * * @unittest: 1302 */ CURLcode Curl_base64_decode(const char *src, unsigned char **outptr, size_t *outlen) { size_t srclen = 0; size_t padding = 0; size_t i; size_t numQuantums; size_t rawlen = 0; const char *padptr; unsigned char *pos; unsigned char *newstr; *outptr = NULL; *outlen = 0; srclen = strlen(src); /* Check the length of the input string is valid */ if(!srclen || srclen % 4) return CURLE_BAD_CONTENT_ENCODING; /* Find the position of any = padding characters */ padptr = strchr(src, '='); if(padptr) { padding++; /* A maximum of two = padding characters is allowed */ if(padptr[1] == '=') padding++; /* Check the = padding characters weren't part way through the input */ if(padptr + padding != src + srclen) return CURLE_BAD_CONTENT_ENCODING; } /* Calculate the number of quantums */ numQuantums = srclen / 4; /* Calculate the size of the decoded string */ rawlen = (numQuantums * 3) - padding; |
︙ | ︙ | |||
183 184 185 186 187 188 189 190 191 192 193 194 195 196 | unsigned char ibuf[3]; unsigned char obuf[4]; int i; int inputparts; char *output; char *base64data; const char *indata = inputbuff; *outptr = NULL; *outlen = 0; if(!insize) insize = strlen(indata); | > | 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 | unsigned char ibuf[3]; unsigned char obuf[4]; int i; int inputparts; char *output; char *base64data; const char *indata = inputbuff; const char *padstr = &table64[64]; /* Point to padding string. */ *outptr = NULL; *outlen = 0; if(!insize) insize = strlen(indata); |
︙ | ︙ | |||
220 221 222 223 224 225 226 | ((ibuf[1] & 0xF0) >> 4)); obuf[2] = (unsigned char) (((ibuf[1] & 0x0F) << 2) | \ ((ibuf[2] & 0xC0) >> 6)); obuf[3] = (unsigned char) (ibuf[2] & 0x3F); switch(inputparts) { case 1: /* only one byte read */ | | | | > > | | | | > | | | | | | | 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 | ((ibuf[1] & 0xF0) >> 4)); obuf[2] = (unsigned char) (((ibuf[1] & 0x0F) << 2) | \ ((ibuf[2] & 0xC0) >> 6)); obuf[3] = (unsigned char) (ibuf[2] & 0x3F); switch(inputparts) { case 1: /* only one byte read */ i = msnprintf(output, 5, "%c%c%s%s", table64[obuf[0]], table64[obuf[1]], padstr, padstr); break; case 2: /* two bytes read */ i = msnprintf(output, 5, "%c%c%c%s", table64[obuf[0]], table64[obuf[1]], table64[obuf[2]], padstr); break; default: i = msnprintf(output, 5, "%c%c%c%c", table64[obuf[0]], table64[obuf[1]], table64[obuf[2]], table64[obuf[3]]); break; } output += i; } /* Zero terminate */ *output = '\0'; /* Return the pointer to the new data (allocated memory) */ *outptr = base64data; |
︙ | ︙ | |||
268 269 270 271 272 273 274 | * outlen. * * Input length of 0 indicates input buffer holds a NUL-terminated string. * * Returns CURLE_OK on success, otherwise specific error code. Function * output shall not be considered valid unless CURLE_OK is returned. * | < < | 264 265 266 267 268 269 270 271 272 273 274 275 276 277 | * outlen. * * Input length of 0 indicates input buffer holds a NUL-terminated string. * * Returns CURLE_OK on success, otherwise specific error code. Function * output shall not be considered valid unless CURLE_OK is returned. * * @unittest: 1302 */ CURLcode Curl_base64_encode(const char *inputbuff, size_t insize, char **outptr, size_t *outlen) { return base64_encode(base64, inputbuff, insize, outptr, outlen); } |
︙ | ︙ | |||
291 292 293 294 295 296 297 | * outlen. * * Input length of 0 indicates input buffer holds a NUL-terminated string. * * Returns CURLE_OK on success, otherwise specific error code. Function * output shall not be considered valid unless CURLE_OK is returned. * | < < | 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 | * outlen. * * Input length of 0 indicates input buffer holds a NUL-terminated string. * * Returns CURLE_OK on success, otherwise specific error code. Function * output shall not be considered valid unless CURLE_OK is returned. * * @unittest: 1302 */ CURLcode Curl_base64url_encode(const char *inputbuff, size_t insize, char **outptr, size_t *outlen) { return base64_encode(base64url, inputbuff, insize, outptr, outlen); } #endif /* no users so disabled */ |
Changes to jni/curl/lib/c-hyper.c.
︙ | ︙ | |||
688 689 690 691 692 693 694 | } result = Curl_fillreadbuffer(data, data->set.upload_buffer_size, &fillcount); if(result) { data->state.hresult = result; return HYPER_POLL_ERROR; } | | > | | > > > > > > > > | 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 | } result = Curl_fillreadbuffer(data, data->set.upload_buffer_size, &fillcount); if(result) { data->state.hresult = result; return HYPER_POLL_ERROR; } if(!fillcount) { if((data->req.keepon & KEEP_SEND_PAUSE) != KEEP_SEND_PAUSE) /* done! */ *chunk = NULL; else { /* paused, save a waker */ if(data->hyp.send_body_waker) hyper_waker_free(data->hyp.send_body_waker); data->hyp.send_body_waker = hyper_context_waker(ctx); return HYPER_POLL_PENDING; } } else { hyper_buf *copy = hyper_buf_copy((uint8_t *)data->state.ulbuf, fillcount); if(copy) *chunk = copy; else { data->state.hresult = CURLE_OUT_OF_MEMORY; return HYPER_POLL_ERROR; |
︙ | ︙ | |||
911 912 913 914 915 916 917 918 919 920 921 922 923 924 | } if(conn->negnpn == CURL_HTTP_VERSION_2) { hyper_clientconn_options_http2(options, 1); h2 = TRUE; } hyper_clientconn_options_set_preserve_header_case(options, 1); hyper_clientconn_options_set_preserve_header_order(options, 1); hyper_clientconn_options_exec(options, h->exec); /* "Both the `io` and the `options` are consumed in this function call" */ handshake = hyper_clientconn_handshake(io, options); if(!handshake) { failf(data, "Couldn't create hyper client handshake"); | > | 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 | } if(conn->negnpn == CURL_HTTP_VERSION_2) { hyper_clientconn_options_http2(options, 1); h2 = TRUE; } hyper_clientconn_options_set_preserve_header_case(options, 1); hyper_clientconn_options_set_preserve_header_order(options, 1); hyper_clientconn_options_http1_allow_multiline_headers(options, 1); hyper_clientconn_options_exec(options, h->exec); /* "Both the `io` and the `options` are consumed in this function call" */ handshake = hyper_clientconn_handshake(io, options); if(!handshake) { failf(data, "Couldn't create hyper client handshake"); |
︙ | ︙ | |||
1000 1001 1002 1003 1004 1005 1006 | goto error; } } else { /* For HTTP/2, we show the Host: header as if we sent it, to make it look like for HTTP/1 but it isn't actually sent since :authority is then used. */ | | | < < | 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 | goto error; } } else { /* For HTTP/2, we show the Host: header as if we sent it, to make it look like for HTTP/1 but it isn't actually sent since :authority is then used. */ Curl_debug(data, CURLINFO_HEADER_OUT, data->state.aptr.host, strlen(data->state.aptr.host)); } if(data->state.aptr.proxyuserpwd) { result = Curl_hyper_header(data, headers, data->state.aptr.proxyuserpwd); if(result) goto error; } |
︙ | ︙ | |||
1123 1124 1125 1126 1127 1128 1129 | if(result) goto error; result = bodysend(data, conn, headers, req, httpreq); if(result) goto error; | | < < | 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 | if(result) goto error; result = bodysend(data, conn, headers, req, httpreq); if(result) goto error; Curl_debug(data, CURLINFO_HEADER_OUT, (char *)"\r\n", 2); data->req.upload_chunky = FALSE; sendtask = hyper_clientconn_send(client, req); if(!sendtask) { failf(data, "hyper_clientconn_send"); result = CURLE_OUT_OF_MEMORY; goto error; |
︙ | ︙ |
Changes to jni/curl/lib/c-hyper.h.
︙ | ︙ | |||
32 33 34 35 36 37 38 39 40 41 42 43 44 45 | /* per-transfer data for the Hyper backend */ struct hyptransfer { hyper_waker *write_waker; hyper_waker *read_waker; const hyper_executor *exec; hyper_task *endtask; hyper_waker *exp100_waker; }; size_t Curl_hyper_recv(void *userp, hyper_context *ctx, uint8_t *buf, size_t buflen); size_t Curl_hyper_send(void *userp, hyper_context *ctx, const uint8_t *buf, size_t buflen); CURLcode Curl_hyper_stream(struct Curl_easy *data, | > | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | /* per-transfer data for the Hyper backend */ struct hyptransfer { hyper_waker *write_waker; hyper_waker *read_waker; const hyper_executor *exec; hyper_task *endtask; hyper_waker *exp100_waker; hyper_waker *send_body_waker; }; size_t Curl_hyper_recv(void *userp, hyper_context *ctx, uint8_t *buf, size_t buflen); size_t Curl_hyper_send(void *userp, hyper_context *ctx, const uint8_t *buf, size_t buflen); CURLcode Curl_hyper_stream(struct Curl_easy *data, |
︙ | ︙ |
Changes to jni/curl/lib/config-amigaos.h.
︙ | ︙ | |||
29 30 31 32 33 34 35 | /* ================================================================ */ #ifdef __AMIGA__ /* Any AmigaOS flavour */ #define HAVE_ARPA_INET_H 1 #define HAVE_CLOSESOCKET_CAMEL 1 #define HAVE_ERRNO_H 1 | < < < < < < < < < < < < < < | 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 | /* ================================================================ */ #ifdef __AMIGA__ /* Any AmigaOS flavour */ #define HAVE_ARPA_INET_H 1 #define HAVE_CLOSESOCKET_CAMEL 1 #define HAVE_ERRNO_H 1 #define HAVE_INTTYPES_H 1 #define HAVE_IOCTLSOCKET_CAMEL 1 #define HAVE_IOCTLSOCKET_CAMEL_FIONBIO 1 #define HAVE_LIBZ 1 #define HAVE_LONGLONG 1 #define HAVE_NETDB_H 1 #define HAVE_NETINET_IN_H 1 #define HAVE_NET_IF_H 1 #define HAVE_PWD_H 1 #define HAVE_RAND_EGD 1 #define HAVE_SELECT 1 #define HAVE_SETJMP_H 1 #define HAVE_SIGNAL 1 #define HAVE_SIGNAL_H 1 #define HAVE_SOCKET 1 #define HAVE_STRCASECMP 1 #define HAVE_STRDUP 1 #define HAVE_STRICMP 1 #define HAVE_STRINGS_H 1 #define HAVE_STRING_H 1 #define HAVE_STRUCT_TIMEVAL 1 #define HAVE_SYS_PARAM_H 1 #define HAVE_SYS_SOCKET_H 1 #define HAVE_SYS_SOCKIO_H 1 #define HAVE_SYS_STAT_H 1 #define HAVE_SYS_TIME_H 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_TIME_H 1 #define HAVE_UNISTD_H 1 #define HAVE_UTIME 1 #define HAVE_UTIME_H 1 #define HAVE_WRITABLE_ARGV 1 #define HAVE_ZLIB_H 1 #define HAVE_SYS_IOCTL_H 1 #define NEED_MALLOC_H 1 #define SIZEOF_INT 4 #define SIZEOF_SIZE_T 4 #define USE_MANUAL 1 #define USE_OPENSSL 1 #define CURL_DISABLE_LDAP 1 #define OS "AmigaOS" |
︙ | ︙ | |||
129 130 131 132 133 134 135 | #define HAVE_RECV 1 #define RECV_TYPE_ARG1 long #define RECV_TYPE_ARG2 char * #define RECV_TYPE_ARG3 long #define RECV_TYPE_ARG4 long #define RECV_TYPE_RETV long | < < < < < < < < < | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | #define HAVE_RECV 1 #define RECV_TYPE_ARG1 long #define RECV_TYPE_ARG2 char * #define RECV_TYPE_ARG3 long #define RECV_TYPE_ARG4 long #define RECV_TYPE_RETV long #define HAVE_SEND 1 #define SEND_TYPE_ARG1 int #define SEND_QUAL_ARG2 const #define SEND_TYPE_ARG2 char * #define SEND_TYPE_ARG3 int #define SEND_TYPE_ARG4 int #define SEND_TYPE_RETV int #endif /* __AMIGA__ */ #endif /* HEADER_CURL_CONFIG_AMIGAOS_H */ |
Changes to jni/curl/lib/config-dos.h.
︙ | ︙ | |||
41 42 43 44 45 46 47 | #define HAVE_ARPA_INET_H 1 #define HAVE_ASSERT_H 1 #define HAVE_ERRNO_H 1 #define HAVE_FCNTL_H 1 #define HAVE_FREEADDRINFO 1 #define HAVE_GETADDRINFO 1 | < < < < < < < | < < < < < < < < < < < < < < < | 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 | #define HAVE_ARPA_INET_H 1 #define HAVE_ASSERT_H 1 #define HAVE_ERRNO_H 1 #define HAVE_FCNTL_H 1 #define HAVE_FREEADDRINFO 1 #define HAVE_GETADDRINFO 1 #define HAVE_GETTIMEOFDAY 1 #define HAVE_IO_H 1 #define HAVE_IOCTL_FIONBIO 1 #define HAVE_IOCTLSOCKET 1 #define HAVE_IOCTLSOCKET_FIONBIO 1 #define HAVE_LOCALE_H 1 #define HAVE_LONGLONG 1 #define HAVE_NETDB_H 1 #define HAVE_NETINET_IN_H 1 #define HAVE_NETINET_TCP_H 1 #define HAVE_NET_IF_H 1 #define HAVE_PROCESS_H 1 #define HAVE_RECV 1 #define HAVE_SELECT 1 #define HAVE_SEND 1 #define HAVE_SETJMP_H 1 #define HAVE_SETLOCALE 1 #define HAVE_SETMODE 1 #define HAVE_SIGNAL 1 #define HAVE_SOCKET 1 #define HAVE_STRDUP 1 #define HAVE_STRICMP 1 #define HAVE_STRTOLL 1 #define HAVE_STRUCT_TIMEVAL 1 #define HAVE_SYS_IOCTL_H 1 #define HAVE_SYS_SOCKET_H 1 #define HAVE_SYS_STAT_H 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_TIME_H 1 #define HAVE_UNISTD_H 1 #define NEED_MALLOC_H 1 #define SIZEOF_INT 4 #define SIZEOF_LONG 4 #define SIZEOF_SIZE_T 4 #define SIZEOF_CURL_OFF_T 4 #define STDC_HEADERS 1 #define TIME_WITH_SYS_TIME 1 /* Qualifiers for send() and recv() */ #define SEND_TYPE_ARG1 int #define SEND_QUAL_ARG2 const #define SEND_TYPE_ARG2 void * #define SEND_TYPE_ARG3 int #define SEND_TYPE_ARG4 int #define SEND_TYPE_RETV int #define RECV_TYPE_ARG1 int #define RECV_TYPE_ARG2 void * #define RECV_TYPE_ARG3 int #define RECV_TYPE_ARG4 int #define RECV_TYPE_RETV int #define BSD /* CURLDEBUG definition enables memory tracking */ /* #define CURLDEBUG */ /* USE_ZLIB on cmd-line */ #ifdef USE_ZLIB #define HAVE_ZLIB_H 1 #define HAVE_LIBZ 1 #endif /* to disable LDAP */ #define CURL_DISABLE_LDAP 1 #define in_addr_t u_long #if defined(__HIGHC__) || \ (defined(__GNUC__) && (__GNUC__ < 4)) |
︙ | ︙ |
Changes to jni/curl/lib/config-mac.h.
︙ | ︙ | |||
43 44 45 46 47 48 49 | #define HAVE_ARPA_INET_H 1 #define HAVE_UNISTD_H 1 #define HAVE_NET_IF_H 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_GETTIMEOFDAY 1 #define HAVE_FCNTL_H 1 #define HAVE_SYS_STAT_H 1 | < < < < < < < < < < < < < < < < < < | 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 | #define HAVE_ARPA_INET_H 1 #define HAVE_UNISTD_H 1 #define HAVE_NET_IF_H 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_GETTIMEOFDAY 1 #define HAVE_FCNTL_H 1 #define HAVE_SYS_STAT_H 1 #define HAVE_STDLIB_H 1 #define HAVE_TIME_H 1 #define HAVE_UTIME_H 1 #define HAVE_SYS_TIME_H 1 #define HAVE_SYS_UTIME_H 1 #define TIME_WITH_SYS_TIME 1 #define HAVE_ALARM 1 #define HAVE_FTRUNCATE 1 #define HAVE_UTIME 1 #define HAVE_SELECT 1 #define HAVE_SOCKET 1 #define HAVE_STRUCT_TIMEVAL 1 #define HAVE_SIGACTION 1 #define HAVE_SIGNAL_H 1 #ifdef MACOS_SSL_SUPPORT # define USE_OPENSSL 1 #endif #define CURL_DISABLE_LDAP 1 #define HAVE_RAND_EGD 1 #define HAVE_IOCTL_FIONBIO 1 #define SIZEOF_INT 4 #define SIZEOF_SIZE_T 4 #define HAVE_RECV 1 #define RECV_TYPE_ARG1 int #define RECV_TYPE_ARG2 void * #define RECV_TYPE_ARG3 size_t #define RECV_TYPE_ARG4 int #define RECV_TYPE_RETV ssize_t #define HAVE_SEND 1 #define SEND_TYPE_ARG1 int #define SEND_QUAL_ARG2 const #define SEND_TYPE_ARG2 void * #define SEND_TYPE_ARG3 size_T #define SEND_TYPE_ARG4 int #define SEND_TYPE_RETV ssize_t |
︙ | ︙ |
Changes to jni/curl/lib/config-os400.h.
︙ | ︙ | |||
31 32 33 34 35 36 37 | #pragma enum(int) #undef PACKAGE /* Version number of this archive. */ #undef VERSION | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 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 | #pragma enum(int) #undef PACKAGE /* Version number of this archive. */ #undef VERSION /* Define cpu-machine-OS */ #define OS "OS/400" /* OS400 supports a 3-argument ASCII version of gethostbyaddr_r(), but its * prototype is incompatible with the "standard" one (1st argument is not * const). However, getaddrinfo() is supported (ASCII version defined as * a local wrapper in setup-os400.h) in a threadsafe way: we can then * configure getaddrinfo() as such and get rid of gethostbyname_r() without * loss of threadsafeness. */ #undef HAVE_GETHOSTBYNAME_R #undef HAVE_GETHOSTBYNAME_R_3 #undef HAVE_GETHOSTBYNAME_R_5 #undef HAVE_GETHOSTBYNAME_R_6 #define HAVE_GETADDRINFO #define HAVE_GETADDRINFO_THREADSAFE /* Define if you need the _REENTRANT define for some functions */ #undef NEED_REENTRANT /* Define if you want to enable IPv6 support */ #define ENABLE_IPV6 /* Define if struct sockaddr_in6 has the sin6_scope_id member */ #define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1 /* Define this to 'int' if ssize_t is not an available typedefed type */ #undef ssize_t /* Define this as a suitable file to read random data from */ #undef RANDOM_FILE /* Define this to your Entropy Gathering Daemon socket pathname */ #undef EGD_SOCKET /* Define to 1 if you have the alarm function. */ #define HAVE_ALARM 1 /* Define if you have the <arpa/inet.h> header file. */ #define HAVE_ARPA_INET_H /* Define if you have the `closesocket' function. */ #undef HAVE_CLOSESOCKET /* Define if you have the <errno.h> header file. */ #define HAVE_ERRNO_H /* Define if you have the <fcntl.h> header file. */ #define HAVE_FCNTL_H /* Define if you have the `geteuid' function. */ #define HAVE_GETEUID /* Define if you have the `gethostname' function. */ #define HAVE_GETHOSTNAME /* Define if you have the `getpass_r' function. */ #undef HAVE_GETPASS_R /* Define to 1 if you have the getpeername function. */ #define HAVE_GETPEERNAME 1 /* Define if you have the `getpwuid' function. */ #define HAVE_GETPWUID /* Define to 1 if you have the getsockname function. */ #define HAVE_GETSOCKNAME 1 /* Define if you have the `gettimeofday' function. */ #define HAVE_GETTIMEOFDAY /* Define if you have the `timeval' struct. */ #define HAVE_STRUCT_TIMEVAL /* Define if you have the <inttypes.h> header file. */ #define HAVE_INTTYPES_H /* Define if you have the <io.h> header file. */ #undef HAVE_IO_H /* Define if you have the `socket' library (-lsocket). */ #undef HAVE_LIBSOCKET /* Define if you have GSS API. */ #define HAVE_GSSAPI /* Define if you have the GNU gssapi libraries */ #undef HAVE_GSSGNU /* Define if you have the Heimdal gssapi libraries */ #define HAVE_GSSHEIMDAL /* Define if you have the MIT gssapi libraries */ #undef HAVE_GSSMIT /* Define if you need the malloc.h header file even with stdlib.h */ /* #define NEED_MALLOC_H 1 */ /* Define if you have the <netdb.h> header file. */ #define HAVE_NETDB_H /* Define if you have the <netinet/in.h> header file. */ #define HAVE_NETINET_IN_H /* Define if you have the <net/if.h> header file. */ #define HAVE_NET_IF_H /* Define if you have the <pwd.h> header file. */ #define HAVE_PWD_H /* Define if you have the `RAND_egd' function. */ #undef HAVE_RAND_EGD /* Define if you have the `select' function. */ #define HAVE_SELECT /* Define if you have the `sigaction' function. */ #define HAVE_SIGACTION /* Define if you have the `signal' function. */ #undef HAVE_SIGNAL /* Define if you have the <signal.h> header file. */ |
︙ | ︙ | |||
262 263 264 265 266 267 268 | /* Define if you have the `stricmp' function. */ #define HAVE_STRICMP /* Define if you have the `strdup' function. */ #define HAVE_STRDUP | < < < < < < < | 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 | /* Define if you have the `stricmp' function. */ #define HAVE_STRICMP /* Define if you have the `strdup' function. */ #define HAVE_STRDUP /* Define if you have the <strings.h> header file. */ #define HAVE_STRINGS_H /* Define if you have the <string.h> header file. */ #define HAVE_STRING_H /* Define if you have the <stropts.h> header file. */ #undef HAVE_STROPTS_H /* Define if you have the `strtok_r' function. */ #define HAVE_STRTOK_R /* Define if you have the `strtoll' function. */ #undef HAVE_STRTOLL /* Allows ASCII compile on V5R1. */ /* Define if you have the <sys/param.h> header file. */ |
︙ | ︙ | |||
320 321 322 323 324 325 326 | /* Define if you have the <termio.h> header file. */ #undef HAVE_TERMIO_H /* Define if you have the <time.h> header file. */ #define HAVE_TIME_H | < < < < < < < < < < < < < < < < | 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 | /* Define if you have the <termio.h> header file. */ #undef HAVE_TERMIO_H /* Define if you have the <time.h> header file. */ #define HAVE_TIME_H /* Define if you have the <unistd.h> header file. */ #define HAVE_UNISTD_H /* Name of package */ #undef PACKAGE /* The size of `int', as computed by sizeof. */ #define SIZEOF_INT 4 /* Define if the compiler supports the 'long long' data type. */ #define HAVE_LONGLONG /* The size of a `long long', as computed by sizeof. */ #define SIZEOF_LONG_LONG 8 /* The size of `long', as computed by sizeof. */ #define SIZEOF_LONG 4 /* The size of `size_t', as computed by sizeof. */ #define SIZEOF_SIZE_T 4 /* The size of `curl_off_t', as computed by sizeof. */ #define SIZEOF_CURL_OFF_T 8 /* Define this if you have struct sockaddr_storage */ #define HAVE_STRUCT_SOCKADDR_STORAGE /* Define if you have the ANSI C header files. */ #define STDC_HEADERS /* Define if you can safely include both <sys/time.h> and <time.h>. */ |
︙ | ︙ | |||
391 392 393 394 395 396 397 | /* type to use in place of in_addr_t if not defined */ #define in_addr_t unsigned long /* Define to `unsigned' if <sys/types.h> does not define. */ #undef size_t | < < < | 290 291 292 293 294 295 296 297 298 299 300 301 302 303 | /* type to use in place of in_addr_t if not defined */ #define in_addr_t unsigned long /* Define to `unsigned' if <sys/types.h> does not define. */ #undef size_t /* Define if you have a working ioctl FIONBIO function. */ #define HAVE_IOCTL_FIONBIO /* Define if you have a working ioctl SIOCGIFADDR function. */ #define HAVE_IOCTL_SIOCGIFADDR /* To disable LDAP */ |
︙ | ︙ | |||
427 428 429 430 431 432 433 | /* Define to the type of arg 4 for recv. */ #define RECV_TYPE_ARG4 int /* Define to the function return type for recv. */ #define RECV_TYPE_RETV int | < < < < < < < < < < < < < < < < < < < < < < < < | 323 324 325 326 327 328 329 330 331 332 333 334 335 336 | /* Define to the type of arg 4 for recv. */ #define RECV_TYPE_ARG4 int /* Define to the function return type for recv. */ #define RECV_TYPE_RETV int /* Define if you have the send function. */ #define HAVE_SEND /* Define to the type of arg 1 for send. */ #define SEND_TYPE_ARG1 int /* Define to the type qualifier of arg 2 for send. */ |
︙ | ︙ |
Changes to jni/curl/lib/config-plan9.h.
︙ | ︙ | |||
44 45 46 47 48 49 50 | #define STDC_HEADERS 1 #ifdef _BITS64 #error not implement #else #define SIZEOF_INT 4 | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 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 | #define STDC_HEADERS 1 #ifdef _BITS64 #error not implement #else #define SIZEOF_INT 4 #define SIZEOF_LONG 4 #define SIZEOF_OFF_T 8 #define SIZEOF_CURL_OFF_T 4 /* curl_off_t = timediff_t = int */ #define SIZEOF_SIZE_T 4 #define SIZEOF_TIME_T 4 #endif #define HAVE_RECV 1 #define RECV_TYPE_ARG1 int #define RECV_TYPE_ARG2 void * #define RECV_TYPE_ARG3 int #define RECV_TYPE_ARG4 int #define RECV_TYPE_RETV int #define HAVE_SELECT 1 #define SELECT_TYPE_ARG1 int #define SELECT_TYPE_ARG234 fd_set * #define SELECT_TYPE_ARG5 struct timeval * #define SELECT_TYPE_RETV int #define HAVE_SEND 1 #define SEND_TYPE_ARG1 int #define SEND_TYPE_ARG2 void * #define SEND_QUAL_ARG2 #define SEND_TYPE_ARG3 int #define SEND_TYPE_ARG4 int #define SEND_TYPE_RETV int #define HAVE_ALARM 1 #define HAVE_ARPA_INET_H 1 #define HAVE_ASSERT_H 1 #define HAVE_BASENAME 1 #define HAVE_BOOL_T 1 #define HAVE_ERRNO_H 1 #define HAVE_FCNTL 1 #define HAVE_FCNTL_H 1 #define HAVE_FREEADDRINFO 1 #define HAVE_FTRUNCATE 1 #define HAVE_GETADDRINFO 1 #define HAVE_GETEUID 1 #define HAVE_GETHOSTNAME 1 #define HAVE_GETPPID 1 #define HAVE_GETPWUID 1 #define HAVE_GETTIMEOFDAY 1 #define HAVE_GMTIME_R 1 #define HAVE_INET_NTOP 1 #define HAVE_INET_PTON 1 #define HAVE_INTTYPES_H 1 #define HAVE_LIBGEN_H 1 #define HAVE_LIBZ 1 #define HAVE_LOCALE_H 1 #define HAVE_LONGLONG 1 #define HAVE_NETDB_H 1 #define HAVE_NETINET_IN_H 1 #define HAVE_NETINET_TCP_H 1 #define HAVE_PWD_H 1 #define HAVE_SYS_SELECT_H 1 #define USE_OPENSSL 1 #define HAVE_PIPE 1 #define HAVE_POLL_FINE 1 #define HAVE_POLL_H 1 #define HAVE_PTHREAD_H 1 #define HAVE_SETJMP_H 1 #define HAVE_SETLOCALE 1 #define HAVE_SIGACTION 1 #define HAVE_SIGNAL 1 #define HAVE_SIGNAL_H 1 #define HAVE_SIGSETJMP 1 #define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1 #define HAVE_SOCKET 1 #define HAVE_SSL_GET_SHUTDOWN 1 #define HAVE_STDBOOL_H 1 #define HAVE_STDINT_H 1 #define HAVE_STDLIB_H 1 #define HAVE_STRCASECMP 1 #define HAVE_STRDUP 1 #define HAVE_STRING_H 1 #define HAVE_STRTOK_R 1 #define HAVE_STRTOLL 1 #define HAVE_STRUCT_TIMEVAL 1 #define HAVE_SYS_IOCTL_H 1 #define HAVE_SYS_PARAM_H 1 #define HAVE_SYS_RESOURCE_H 1 #define HAVE_SYS_SOCKET_H 1 #define HAVE_SYS_STAT_H 1 #define HAVE_SYS_TIME_H 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_SYS_UN_H 1 #define HAVE_TERMIOS_H 1 #define HAVE_TIME_H 1 #define HAVE_UNISTD_H 1 #define HAVE_UTIME 1 #define HAVE_UTIME_H 1 #define HAVE_ZLIB_H 1 #define HAVE_POSIX_STRERROR_R 1 #define HAVE_STRERROR_R 1 #define TIME_WITH_SYS_TIME 1 #define USE_MANUAL 1 #define __attribute__(x) #ifndef __cplusplus #undef inline #endif #endif /* HEADER_CURL_CONFIG_PLAN9_H */ |
Changes to jni/curl/lib/config-riscos.h.
︙ | ︙ | |||
30 31 32 33 34 35 36 | /* Name of this package! */ #undef PACKAGE /* Version number of this archive. */ #undef VERSION | < < < < < < | 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 | /* Name of this package! */ #undef PACKAGE /* Version number of this archive. */ #undef VERSION /* Define cpu-machine-OS */ #define OS "ARM-RISC OS" /* Define if you want the built-in manual */ #define USE_MANUAL /* Define if you have the gethostbyname_r() function with 3 arguments */ #undef HAVE_GETHOSTBYNAME_R_3 /* Define if you have the gethostbyname_r() function with 5 arguments */ #undef HAVE_GETHOSTBYNAME_R_5 /* Define if you have the gethostbyname_r() function with 6 arguments */ #undef HAVE_GETHOSTBYNAME_R_6 /* Define if you need the _REENTRANT define for some functions */ #undef NEED_REENTRANT /* Define if you want to enable IPv6 support */ #undef ENABLE_IPV6 /* Define if struct sockaddr_in6 has the sin6_scope_id member */ #define HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1 /* Define this to 'int' if ssize_t is not an available typedefed type */ |
︙ | ︙ | |||
75 76 77 78 79 80 81 | /* Define if you want to enable IPv6 support */ #undef ENABLE_IPV6 /* Define if you have the alarm function. */ #define HAVE_ALARM | < < < | 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | /* Define if you want to enable IPv6 support */ #undef ENABLE_IPV6 /* Define if you have the alarm function. */ #define HAVE_ALARM /* Define if you have the <arpa/inet.h> header file. */ #define HAVE_ARPA_INET_H /* Define if you have the `closesocket' function. */ #undef HAVE_CLOSESOCKET /* Define if you have the <errno.h> header file. */ |
︙ | ︙ | |||
105 106 107 108 109 110 111 | /* Define if you have the `gethostbyname_r' function. */ #undef HAVE_GETHOSTBYNAME_R /* Define if you have the `gethostname' function. */ #define HAVE_GETHOSTNAME | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 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 | /* Define if you have the `gethostbyname_r' function. */ #undef HAVE_GETHOSTBYNAME_R /* Define if you have the `gethostname' function. */ #define HAVE_GETHOSTNAME /* Define if you have the `getpass_r' function. */ #undef HAVE_GETPASS_R /* Define if you have the `getpwuid' function. */ #undef HAVE_GETPWUID /* Define if you have the `gettimeofday' function. */ #define HAVE_GETTIMEOFDAY /* Define if you have the `timeval' struct. */ #define HAVE_STRUCT_TIMEVAL /* Define if you have the <inttypes.h> header file. */ #define HAVE_INTTYPES_H /* Define if you have the <io.h> header file. */ #undef HAVE_IO_H /* Define if you have the `socket' library (-lsocket). */ #undef HAVE_LIBSOCKET /* Define if you need the malloc.h header file even with stdlib.h */ /* #define NEED_MALLOC_H 1 */ /* Define if you have the <netdb.h> header file. */ #define HAVE_NETDB_H /* Define if you have the <netinet/in.h> header file. */ #define HAVE_NETINET_IN_H /* Define if you have the <net/if.h> header file. */ #define HAVE_NET_IF_H /* Define if you have the <pwd.h> header file. */ #undef HAVE_PWD_H /* Define if you have the `RAND_egd' function. */ #undef HAVE_RAND_EGD /* Define if you have the `select' function. */ #define HAVE_SELECT /* Define if you have the `sigaction' function. */ #undef HAVE_SIGACTION /* Define if you have the `signal' function. */ #define HAVE_SIGNAL /* Define if you have the <signal.h> header file. */ |
︙ | ︙ | |||
246 247 248 249 250 251 252 | /* Define if you have the `strcmpi' function. */ #undef HAVE_STRCMPI /* Define if you have the `strdup' function. */ #define HAVE_STRDUP | < < < < < < | 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | /* Define if you have the `strcmpi' function. */ #undef HAVE_STRCMPI /* Define if you have the `strdup' function. */ #define HAVE_STRDUP /* Define if you have the `stricmp' function. */ #define HAVE_STRICMP /* Define if you have the <strings.h> header file. */ #undef HAVE_STRINGS_H /* Define if you have the <string.h> header file. */ #define HAVE_STRING_H /* Define if you have the `strtok_r' function. */ #undef HAVE_STRTOK_R /* Define if you have the `strtoll' function. */ #undef HAVE_STRTOLL /* Define if you have the <sys/param.h> header file. */ |
︙ | ︙ | |||
297 298 299 300 301 302 303 | /* Define if you have the <termio.h> header file. */ #undef HAVE_TERMIO_H /* Define if you have the <time.h> header file. */ #undef HAVE_TIME_H | < < < < < < < < < < < < | 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 | /* Define if you have the <termio.h> header file. */ #undef HAVE_TERMIO_H /* Define if you have the <time.h> header file. */ #undef HAVE_TIME_H /* Define if you have the <unistd.h> header file. */ #define HAVE_UNISTD_H /* Name of package */ #undef PACKAGE /* The size of `int', as computed by sizeof. */ #define SIZEOF_INT 4 /* The size of `long long', as computed by sizeof. */ #undef SIZEOF_LONG_LONG /* The size of `size_t', as computed by sizeof. */ #define SIZEOF_SIZE_T 4 /* Define if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define if you can safely include both <sys/time.h> and <time.h>. */ |
︙ | ︙ | |||
355 356 357 358 359 360 361 | /* Define to `unsigned' if <sys/types.h> does not define. */ #undef size_t /* Define to `int' if <sys/types.h> does not define. */ #undef ssize_t | < < < | 259 260 261 262 263 264 265 266 267 268 269 270 271 272 | /* Define to `unsigned' if <sys/types.h> does not define. */ #undef size_t /* Define to `int' if <sys/types.h> does not define. */ #undef ssize_t /* Define if you have a working ioctl FIONBIO function. */ #define HAVE_IOCTL_FIONBIO /* to disable LDAP */ #define CURL_DISABLE_LDAP /* Define if you have the recv function. */ |
︙ | ︙ | |||
382 383 384 385 386 387 388 | /* Define to the type of arg 4 for recv. */ #define RECV_TYPE_ARG4 int /* Define to the function return type for recv. */ #define RECV_TYPE_RETV ssize_t | < < < < < < < < < < < < < < < < < < < < < < < < < < < | 283 284 285 286 287 288 289 290 291 292 293 294 295 296 | /* Define to the type of arg 4 for recv. */ #define RECV_TYPE_ARG4 int /* Define to the function return type for recv. */ #define RECV_TYPE_RETV ssize_t /* Define if you have the send function. */ #define HAVE_SEND 1 /* Define to the type of arg 1 for send. */ #define SEND_TYPE_ARG1 int /* Define to the type qualifier of arg 2 for send. */ |
︙ | ︙ |
Changes to jni/curl/lib/config-win32.h.
︙ | ︙ | |||
40 41 42 43 44 45 46 | /* Define if you have the <errno.h> header file. */ #define HAVE_ERRNO_H 1 /* Define if you have the <fcntl.h> header file. */ #define HAVE_FCNTL_H 1 | < < < < < | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | /* Define if you have the <errno.h> header file. */ #define HAVE_ERRNO_H 1 /* Define if you have the <fcntl.h> header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the <inttypes.h> header file. */ #if defined(_MSC_VER) && (_MSC_VER >= 1800) #define HAVE_INTTYPES_H 1 #endif /* Define if you have the <io.h> header file. */ #define HAVE_IO_H 1 |
︙ | ︙ | |||
161 162 163 164 165 166 167 | /* ---------------------------------------------------------------- */ /* FUNCTIONS */ /* ---------------------------------------------------------------- */ /* Define if you have the closesocket function. */ #define HAVE_CLOSESOCKET 1 | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 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 | /* ---------------------------------------------------------------- */ /* FUNCTIONS */ /* ---------------------------------------------------------------- */ /* Define if you have the closesocket function. */ #define HAVE_CLOSESOCKET 1 /* Define if you have the ftruncate function. */ /* #define HAVE_FTRUNCATE 1 */ /* Define to 1 if you have the `getpeername' function. */ #define HAVE_GETPEERNAME 1 /* Define to 1 if you have the getsockname function. */ #define HAVE_GETSOCKNAME 1 /* Define if you have the gethostname function. */ #define HAVE_GETHOSTNAME 1 /* Define if you have the gettimeofday function. */ /* #define HAVE_GETTIMEOFDAY 1 */ /* Define if you have the ioctlsocket function. */ #define HAVE_IOCTLSOCKET 1 /* Define if you have a working ioctlsocket FIONBIO function. */ #define HAVE_IOCTLSOCKET_FIONBIO 1 /* Define if you have the select function. */ #define HAVE_SELECT 1 /* Define if you have the setlocale function. */ #define HAVE_SETLOCALE 1 /* Define if you have the setmode function. */ #define HAVE_SETMODE 1 /* Define if you have the socket function. */ #define HAVE_SOCKET 1 /* Define if you have the strcasecmp function. */ #ifdef __MINGW32__ #define HAVE_STRCASECMP 1 #endif /* Define if you have the strdup function. */ #define HAVE_STRDUP 1 /* Define if you have the stricmp function. */ #define HAVE_STRICMP 1 /* Define if you have the strtoll function. */ #if defined(__MINGW32__) || defined(__POCC__) || \ (defined(_MSC_VER) && (_MSC_VER >= 1800)) #define HAVE_STRTOLL 1 #endif /* Define if you have the utime function. */ |
︙ | ︙ | |||
271 272 273 274 275 276 277 | /* Define to the type of arg 4 for recv. */ #define RECV_TYPE_ARG4 int /* Define to the function return type for recv. */ #define RECV_TYPE_RETV int | < < < < < < < < < < < < < < < < < < < < < < < < | 229 230 231 232 233 234 235 236 237 238 239 240 241 242 | /* Define to the type of arg 4 for recv. */ #define RECV_TYPE_ARG4 int /* Define to the function return type for recv. */ #define RECV_TYPE_RETV int /* Define if you have the send function. */ #define HAVE_SEND 1 /* Define to the type of arg 1 for send. */ #define SEND_TYPE_ARG1 SOCKET /* Define to the type qualifier of arg 2 for send. */ |
︙ | ︙ | |||
342 343 344 345 346 347 348 | /* ---------------------------------------------------------------- */ /* TYPE SIZES */ /* ---------------------------------------------------------------- */ /* Define to the size of `int', as computed by sizeof. */ #define SIZEOF_INT 4 | < < < < < < | 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 | /* ---------------------------------------------------------------- */ /* TYPE SIZES */ /* ---------------------------------------------------------------- */ /* Define to the size of `int', as computed by sizeof. */ #define SIZEOF_INT 4 /* Define to the size of `long long', as computed by sizeof. */ /* #define SIZEOF_LONG_LONG 8 */ /* Define to the size of `long', as computed by sizeof. */ #define SIZEOF_LONG 4 /* Define to the size of `size_t', as computed by sizeof. */ #if defined(_WIN64) # define SIZEOF_SIZE_T 8 #else |
︙ | ︙ | |||
384 385 386 387 388 389 390 | # undef LWIP_POSIX_SOCKETS_IO_NAMES # undef RECV_TYPE_ARG1 # undef RECV_TYPE_ARG3 # undef SEND_TYPE_ARG1 # undef SEND_TYPE_ARG3 # define HAVE_FREEADDRINFO # define HAVE_GETADDRINFO | < | 312 313 314 315 316 317 318 319 320 321 322 323 324 325 | # undef LWIP_POSIX_SOCKETS_IO_NAMES # undef RECV_TYPE_ARG1 # undef RECV_TYPE_ARG3 # undef SEND_TYPE_ARG1 # undef SEND_TYPE_ARG3 # define HAVE_FREEADDRINFO # define HAVE_GETADDRINFO # define HAVE_GETHOSTBYNAME_R # define HAVE_GETHOSTBYNAME_R_6 # define LWIP_POSIX_SOCKETS_IO_NAMES 0 # define RECV_TYPE_ARG1 int # define RECV_TYPE_ARG3 size_t # define SEND_TYPE_ARG1 int # define SEND_TYPE_ARG3 size_t |
︙ | ︙ | |||
659 660 661 662 663 664 665 | #define USE_UNIX_SOCKETS /* ---------------------------------------------------------------- */ /* ADDITIONAL DEFINITIONS */ /* ---------------------------------------------------------------- */ /* Define cpu-machine-OS */ | | > | 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 | #define USE_UNIX_SOCKETS /* ---------------------------------------------------------------- */ /* ADDITIONAL DEFINITIONS */ /* ---------------------------------------------------------------- */ /* Define cpu-machine-OS */ #if !defined(OS) #if defined(_M_IX86) || defined(__i386__) /* x86 (MSVC or gcc) */ #define OS "i386-pc-win32" #elif defined(_M_X64) || defined(__x86_64__) /* x86_64 (MSVC >=2005 or gcc) */ #define OS "x86_64-pc-win32" #elif defined(_M_IA64) || defined(__ia64__) /* Itanium */ #define OS "ia64-pc-win32" #elif defined(_M_ARM_NT) || defined(__arm__) /* ARMv7-Thumb2 (Windows RT) */ #define OS "thumbv7a-pc-win32" #elif defined(_M_ARM64) || defined(__aarch64__) /* ARM64 (Windows 10) */ #define OS "aarch64-pc-win32" #else #define OS "unknown-pc-win32" #endif #endif /* Name of package */ #define PACKAGE "curl" /* If you want to build curl with the built-in manual */ #define USE_MANUAL 1 #if defined(__POCC__) || defined(USE_IPV6) # define ENABLE_IPV6 1 #endif #endif /* HEADER_CURL_CONFIG_WIN32_H */ |
Changes to jni/curl/lib/config-win32ce.h.
︙ | ︙ | |||
40 41 42 43 44 45 46 | /* Define if you have the <errno.h> header file. */ /* #define HAVE_ERRNO_H 1 */ /* Define if you have the <fcntl.h> header file. */ #define HAVE_FCNTL_H 1 | < < < | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | /* Define if you have the <errno.h> header file. */ /* #define HAVE_ERRNO_H 1 */ /* Define if you have the <fcntl.h> header file. */ #define HAVE_FCNTL_H 1 /* Define if you have the <io.h> header file. */ #define HAVE_IO_H 1 /* Define if you need the malloc.h header file even with stdlib.h */ #define NEED_MALLOC_H 1 /* Define if you have the <netdb.h> header file. */ |
︙ | ︙ | |||
131 132 133 134 135 136 137 | /* ---------------------------------------------------------------- */ /* FUNCTIONS */ /* ---------------------------------------------------------------- */ /* Define if you have the closesocket function. */ #define HAVE_CLOSESOCKET 1 | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 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 | /* ---------------------------------------------------------------- */ /* FUNCTIONS */ /* ---------------------------------------------------------------- */ /* Define if you have the closesocket function. */ #define HAVE_CLOSESOCKET 1 /* Define if you have the gethostname function. */ #define HAVE_GETHOSTNAME 1 /* Define if you have the gettimeofday function. */ /* #define HAVE_GETTIMEOFDAY 1 */ /* Define if you have the ioctlsocket function. */ #define HAVE_IOCTLSOCKET 1 /* Define if you have a working ioctlsocket FIONBIO function. */ #define HAVE_IOCTLSOCKET_FIONBIO 1 /* Define if you have the select function. */ #define HAVE_SELECT 1 /* Define if you have the socket function. */ #define HAVE_SOCKET 1 /* Define if you have the strcasecmp function. */ /* #define HAVE_STRCASECMP 1 */ /* Define if you have the strdup function. */ /* #define HAVE_STRDUP 1 */ /* Define if you have the stricmp function. */ /* #define HAVE_STRICMP 1 */ /* Define if you have the strtoll function. */ #if defined(__MINGW32__) #define HAVE_STRTOLL 1 #endif /* Define if you have the utime function */ #define HAVE_UTIME 1 |
︙ | ︙ | |||
214 215 216 217 218 219 220 | /* Define to the type of arg 4 for recv. */ #define RECV_TYPE_ARG4 int /* Define to the function return type for recv. */ #define RECV_TYPE_RETV int | < < < < < < < < < < < < < < < < < < < < < < < < | 181 182 183 184 185 186 187 188 189 190 191 192 193 194 | /* Define to the type of arg 4 for recv. */ #define RECV_TYPE_ARG4 int /* Define to the function return type for recv. */ #define RECV_TYPE_RETV int /* Define if you have the send function. */ #define HAVE_SEND 1 /* Define to the type of arg 1 for send. */ #define SEND_TYPE_ARG1 SOCKET /* Define to the type qualifier of arg 2 for send. */ |
︙ | ︙ | |||
281 282 283 284 285 286 287 | /* ---------------------------------------------------------------- */ /* TYPE SIZES */ /* ---------------------------------------------------------------- */ /* The size of `int', as computed by sizeof. */ #define SIZEOF_INT 4 | < < < < < < | 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 | /* ---------------------------------------------------------------- */ /* TYPE SIZES */ /* ---------------------------------------------------------------- */ /* The size of `int', as computed by sizeof. */ #define SIZEOF_INT 4 /* The size of `long long', as computed by sizeof. */ /* #define SIZEOF_LONG_LONG 8 */ /* Define to the size of `long', as computed by sizeof. */ #define SIZEOF_LONG 4 /* The size of `size_t', as computed by sizeof. */ #if defined(_WIN64) # define SIZEOF_SIZE_T 8 #else |
︙ | ︙ |
Changes to jni/curl/lib/connect.c.
︙ | ︙ | |||
762 763 764 765 766 767 768 769 770 771 772 773 774 775 | int local_port = -1; if(conn->transport == TRNSPRT_TCP) { if(!conn->bits.reuse && !conn->bits.tcp_fastopen) Curl_conninfo_remote(data, conn, sockfd); Curl_conninfo_local(data, sockfd, local_ip, &local_port); } /* end of TCP-only section */ /* persist connection info in session handle */ Curl_persistconninfo(data, conn, local_ip, local_port); } /* After a TCP connection to the proxy has been verified, this function does the next magic steps. If 'done' isn't set TRUE, it is not done yet and | > > > > > > > | 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 | int local_port = -1; if(conn->transport == TRNSPRT_TCP) { if(!conn->bits.reuse && !conn->bits.tcp_fastopen) Curl_conninfo_remote(data, conn, sockfd); Curl_conninfo_local(data, sockfd, local_ip, &local_port); } /* end of TCP-only section */ #ifdef ENABLE_QUIC else if(conn->transport == TRNSPRT_QUIC) { if(!conn->bits.reuse) Curl_conninfo_remote(data, conn, sockfd); Curl_conninfo_local(data, sockfd, local_ip, &local_port); } #endif /* persist connection info in session handle */ Curl_persistconninfo(data, conn, local_ip, local_port); } /* After a TCP connection to the proxy has been verified, this function does the next magic steps. If 'done' isn't set TRUE, it is not done yet and |
︙ | ︙ | |||
899 900 901 902 903 904 905 906 907 908 909 910 911 912 | if(!result && *connected) { /* use this socket from now on */ conn->sock[sockindex] = conn->tempsock[i]; conn->ip_addr = conn->tempaddr[i]; conn->tempsock[i] = CURL_SOCKET_BAD; post_SOCKS(data, conn, sockindex, connected); connkeep(conn, "HTTP/3 default"); return CURLE_OK; } /* When a QUIC connect attempt fails, the better error explanation is in 'result' and not in errno */ if(result) { conn->tempsock[i] = CURL_SOCKET_BAD; error = SOCKERRNO; | > > | 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 | if(!result && *connected) { /* use this socket from now on */ conn->sock[sockindex] = conn->tempsock[i]; conn->ip_addr = conn->tempaddr[i]; conn->tempsock[i] = CURL_SOCKET_BAD; post_SOCKS(data, conn, sockindex, connected); connkeep(conn, "HTTP/3 default"); if(conn->tempsock[other] != CURL_SOCKET_BAD) Curl_quic_disconnect(data, conn, other); return CURLE_OK; } /* When a QUIC connect attempt fails, the better error explanation is in 'result' and not in errno */ if(result) { conn->tempsock[i] = CURL_SOCKET_BAD; error = SOCKERRNO; |
︙ | ︙ | |||
1600 1601 1602 1603 1604 1605 1606 | * 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. */ addr->family = ai->ai_family; | > > | > > > > | > > > | > > | 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 | * 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. */ addr->family = ai->ai_family; switch(conn->transport) { case TRNSPRT_TCP: addr->socktype = SOCK_STREAM; addr->protocol = IPPROTO_TCP; break; case TRNSPRT_UNIX: addr->socktype = SOCK_STREAM; addr->protocol = IPPROTO_IP; break; default: /* UDP and QUIC */ addr->socktype = SOCK_DGRAM; addr->protocol = IPPROTO_UDP; break; } addr->addrlen = ai->ai_addrlen; if(addr->addrlen > sizeof(struct Curl_sockaddr_storage)) addr->addrlen = sizeof(struct Curl_sockaddr_storage); memcpy(&addr->sa_addr, ai->ai_addr, addr->addrlen); if(data->set.fopensocket) { |
︙ | ︙ | |||
1661 1662 1663 1664 1665 1666 1667 | } #if defined(ENABLE_IPV6) && defined(HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID) if(conn->scope_id && (addr->family == AF_INET6)) { struct sockaddr_in6 * const sa6 = (void *)&addr->sa_addr; sa6->sin6_scope_id = conn->scope_id; } | < < < < < < < < < < < < < < | 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 | } #if defined(ENABLE_IPV6) && defined(HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID) if(conn->scope_id && (addr->family == AF_INET6)) { struct sockaddr_in6 * const sa6 = (void *)&addr->sa_addr; sa6->sin6_scope_id = conn->scope_id; } #endif return CURLE_OK; } /* * Curl_conncontrol() marks streams or connection for closure. |
︙ | ︙ |
Changes to jni/curl/lib/cookie.c.
︙ | ︙ | |||
436 437 438 439 440 441 442 443 444 445 446 447 448 449 | /* there must be a dot present, but that dot must not be a trailing dot */ char *dot = strchr(domain, '.'); if(dot) return dot[1] ? FALSE : TRUE; } return TRUE; } /* * Curl_cookie_add * * Add a single cookie line to the cookie keeping object. Be aware that * sometimes we get an IP-only host name, and that might also be a numerical * IPv6 address. | > > > > > > > > > > > > > > > > > > > > > > > > | 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 | /* there must be a dot present, but that dot must not be a trailing dot */ char *dot = strchr(domain, '.'); if(dot) return dot[1] ? FALSE : TRUE; } return TRUE; } /* RFC 6265 section 4.1.1 says a server should accept this range: cookie-octet = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E But Firefox and Chrome as of June 2022 accept space, comma and double-quotes fine. The prime reason for filtering out control bytes is that some HTTP servers return 400 for requests that contain such. */ static int invalid_octets(const char *p) { /* Reject all bytes \x01 - \x1f (*except* \x09, TAB) + \x7f */ static const char badoctets[] = { "\x01\x02\x03\x04\x05\x06\x07\x08\x0a" "\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14" "\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f\x7f" }; size_t vlen, len; /* scan for all the octets that are *not* in cookie-octet */ len = strcspn(p, badoctets); vlen = strlen(p); return (len != vlen); } /* * Curl_cookie_add * * Add a single cookie line to the cookie keeping object. Be aware that * sometimes we get an IP-only host name, and that might also be a numerical * IPv6 address. |
︙ | ︙ | |||
591 592 593 594 595 596 597 598 599 600 601 602 603 604 | co->name = strdup(name); co->value = strdup(whatptr); done = TRUE; if(!co->name || !co->value) { badcookie = TRUE; break; } } else if(!len) { /* * this was a "<name>=" with no content, and we must allow * 'secure' and 'httponly' specified this weirdly */ done = TRUE; | > > > > > | 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 | co->name = strdup(name); co->value = strdup(whatptr); done = TRUE; if(!co->name || !co->value) { badcookie = TRUE; break; } if(invalid_octets(whatptr) || invalid_octets(name)) { infof(data, "invalid octets in name/value, cookie dropped"); badcookie = TRUE; break; } } else if(!len) { /* * this was a "<name>=" with no content, and we must allow * 'secure' and 'httponly' specified this weirdly */ done = TRUE; |
︙ | ︙ | |||
633 634 635 636 637 638 639 | free(co->spath); /* if this is set again */ co->spath = sanitize_cookie_path(co->path); if(!co->spath) { badcookie = TRUE; /* out of memory bad */ break; } } | | | 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 | free(co->spath); /* if this is set again */ co->spath = sanitize_cookie_path(co->path); if(!co->spath) { badcookie = TRUE; /* out of memory bad */ break; } } else if(strcasecompare("domain", name) && whatptr[0]) { bool is_ip; /* * Now, we make sure that our host is within the given domain, or * the given domain is not valid and thus cannot be set. */ |
︙ | ︙ | |||
1432 1433 1434 1435 1436 1437 1438 | newco->next = mainco; /* point the main to us */ mainco = newco; matches++; if(matches >= MAX_COOKIE_SEND_AMOUNT) { | | | 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 | newco->next = mainco; /* point the main to us */ mainco = newco; matches++; if(matches >= MAX_COOKIE_SEND_AMOUNT) { infof(data, "Included max number of cookies (%zu) in request!", matches); break; } } else goto fail; } |
︙ | ︙ |
Changes to jni/curl/lib/curl_config.h.cmake.
︙ | ︙ | |||
143 144 145 146 147 148 149 | /* Define if you want to enable IPv6 support */ #cmakedefine ENABLE_IPV6 1 /* Define to 1 if you have the alarm function. */ #cmakedefine HAVE_ALARM 1 | < < < > > > < < < < < < | 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 | /* Define if you want to enable IPv6 support */ #cmakedefine ENABLE_IPV6 1 /* Define to 1 if you have the alarm function. */ #cmakedefine HAVE_ALARM 1 /* Define to 1 if you have the <arpa/inet.h> header file. */ #cmakedefine HAVE_ARPA_INET_H 1 /* Define to 1 if you have the <arpa/tftp.h> header file. */ #cmakedefine HAVE_ARPA_TFTP_H 1 /* Define to 1 if you have the <assert.h> header file. */ #cmakedefine HAVE_ASSERT_H 1 /* Define to 1 if you have _Atomic support. */ #cmakedefine HAVE_ATOMIC 1 /* Define to 1 if you have the `fchmod' function. */ #cmakedefine HAVE_FCHMOD 1 /* Define to 1 if you have the `basename' function. */ #cmakedefine HAVE_BASENAME 1 /* Define to 1 if bool is an available type. */ #cmakedefine HAVE_BOOL_T 1 /* Define to 1 if you have the __builtin_available function. */ #cmakedefine HAVE_BUILTIN_AVAILABLE 1 /* Define to 1 if you have the clock_gettime function and monotonic timer. */ #cmakedefine HAVE_CLOCK_GETTIME_MONOTONIC 1 /* Define to 1 if you have the `closesocket' function. */ #cmakedefine HAVE_CLOSESOCKET 1 /* Define to 1 if you have the <errno.h> header file. */ #cmakedefine HAVE_ERRNO_H 1 /* Define to 1 if you have the fcntl function. */ #cmakedefine HAVE_FCNTL 1 /* Define to 1 if you have the <fcntl.h> header file. */ |
︙ | ︙ | |||
206 207 208 209 210 211 212 | /* Define to 1 if you have the `geteuid' function. */ #cmakedefine HAVE_GETEUID 1 /* Define to 1 if you have the `getppid' function. */ #cmakedefine HAVE_GETPPID 1 | < < < | 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | /* Define to 1 if you have the `geteuid' function. */ #cmakedefine HAVE_GETEUID 1 /* Define to 1 if you have the `getppid' function. */ #cmakedefine HAVE_GETPPID 1 /* Define to 1 if you have the gethostbyname_r function. */ #cmakedefine HAVE_GETHOSTBYNAME_R 1 /* gethostbyname_r() takes 3 args */ #cmakedefine HAVE_GETHOSTBYNAME_R_3 1 /* gethostbyname_r() takes 5 args */ |
︙ | ︙ | |||
233 234 235 236 237 238 239 | /* Define to 1 if you have the `getpass_r' function. */ #cmakedefine HAVE_GETPASS_R 1 /* Define to 1 if you have the `getppid' function. */ #cmakedefine HAVE_GETPPID 1 | < < < | 224 225 226 227 228 229 230 231 232 233 234 235 236 237 | /* Define to 1 if you have the `getpass_r' function. */ #cmakedefine HAVE_GETPASS_R 1 /* Define to 1 if you have the `getppid' function. */ #cmakedefine HAVE_GETPPID 1 /* Define to 1 if you have the `getpeername' function. */ #cmakedefine HAVE_GETPEERNAME 1 /* Define to 1 if you have the `getsockname' function. */ #cmakedefine HAVE_GETSOCKNAME 1 /* Define to 1 if you have the `if_nametoindex' function. */ |
︙ | ︙ | |||
287 288 289 290 291 292 293 | /* if you have the MIT gssapi libraries */ #cmakedefine HAVE_GSSMIT 1 /* Define to 1 if you have the `idna_strerror' function. */ #cmakedefine HAVE_IDNA_STRERROR 1 | < < < < < < < < < < < < | 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 | /* if you have the MIT gssapi libraries */ #cmakedefine HAVE_GSSMIT 1 /* Define to 1 if you have the `idna_strerror' function. */ #cmakedefine HAVE_IDNA_STRERROR 1 /* Define to 1 if you have the <ifaddrs.h> header file. */ #cmakedefine HAVE_IFADDRS_H 1 /* Define to 1 if you have a IPv6 capable working inet_ntop function. */ #cmakedefine HAVE_INET_NTOP 1 /* Define to 1 if you have a IPv6 capable working inet_pton function. */ #cmakedefine HAVE_INET_PTON 1 /* Define to 1 if symbol `sa_family_t' exists */ #cmakedefine HAVE_SA_FAMILY_T 1 /* Define to 1 if symbol `ADDRESS_FAMILY' exists */ #cmakedefine HAVE_ADDRESS_FAMILY 1 /* Define to 1 if you have the <inttypes.h> header file. */ #cmakedefine HAVE_INTTYPES_H 1 /* Define to 1 if you have the ioctlsocket function. */ #cmakedefine HAVE_IOCTLSOCKET 1 /* Define to 1 if you have the IoctlSocket camel case function. */ #cmakedefine HAVE_IOCTLSOCKET_CAMEL 1 /* Define to 1 if you have a working IoctlSocket camel case FIONBIO function. |
︙ | ︙ | |||
339 340 341 342 343 344 345 | /* Define to 1 if you have a working ioctl SIOCGIFADDR function. */ #cmakedefine HAVE_IOCTL_SIOCGIFADDR 1 /* Define to 1 if you have the <io.h> header file. */ #cmakedefine HAVE_IO_H 1 | < < < < < < < < < < < < | 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 | /* Define to 1 if you have a working ioctl SIOCGIFADDR function. */ #cmakedefine HAVE_IOCTL_SIOCGIFADDR 1 /* Define to 1 if you have the <io.h> header file. */ #cmakedefine HAVE_IO_H 1 /* Define to 1 if you have the lber.h header file. */ #cmakedefine HAVE_LBER_H 1 /* Define to 1 if you have the ldap.h header file. */ #cmakedefine HAVE_LDAP_H 1 /* Use LDAPS implementation */ #cmakedefine HAVE_LDAP_SSL 1 /* Define to 1 if you have the ldap_ssl.h header file. */ |
︙ | ︙ | |||
375 376 377 378 379 380 381 | /* Define to 1 if you have the `idn2' library (-lidn2). */ #cmakedefine HAVE_LIBIDN2 1 /* Define to 1 if you have the idn2.h header file. */ #cmakedefine HAVE_IDN2_H 1 | < < < < < < | 339 340 341 342 343 344 345 346 347 348 349 350 351 352 | /* Define to 1 if you have the `idn2' library (-lidn2). */ #cmakedefine HAVE_LIBIDN2 1 /* Define to 1 if you have the idn2.h header file. */ #cmakedefine HAVE_IDN2_H 1 /* Define to 1 if you have the `socket' library (-lsocket). */ #cmakedefine HAVE_LIBSOCKET 1 /* Define to 1 if you have the `psl' library (-lpsl). */ #cmakedefine HAVE_LIBPSL 1 /* Define to 1 if you have the <libpsl.h> header file. */ |
︙ | ︙ | |||
408 409 410 411 412 413 414 | /* if brotli is available */ #cmakedefine HAVE_BROTLI 1 /* if zstd is available */ #cmakedefine HAVE_ZSTD 1 | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 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 | /* if brotli is available */ #cmakedefine HAVE_BROTLI 1 /* if zstd is available */ #cmakedefine HAVE_ZSTD 1 /* Define to 1 if you have the <locale.h> header file. */ #cmakedefine HAVE_LOCALE_H 1 /* Define to 1 if the compiler supports the 'long long' data type. */ #cmakedefine HAVE_LONGLONG 1 /* Define to 1 if you have the MSG_NOSIGNAL flag. */ #cmakedefine HAVE_MSG_NOSIGNAL 1 /* Define to 1 if you have the <netdb.h> header file. */ #cmakedefine HAVE_NETDB_H 1 /* Define to 1 if you have the <netinet/in.h> header file. */ #cmakedefine HAVE_NETINET_IN_H 1 /* Define to 1 if you have the <netinet/tcp.h> header file. */ #cmakedefine HAVE_NETINET_TCP_H 1 /* Define to 1 if you have the <linux/tcp.h> header file. */ #cmakedefine HAVE_LINUX_TCP_H 1 /* Define to 1 if you have the <net/if.h> header file. */ #cmakedefine HAVE_NET_IF_H 1 /* if you have an old MIT gssapi library, lacking GSS_C_NT_HOSTBASED_SERVICE */ #cmakedefine HAVE_OLD_GSSMIT 1 /* Define to 1 if you have the `pipe' function. */ #cmakedefine HAVE_PIPE 1 /* If you have a fine poll */ #cmakedefine HAVE_POLL_FINE 1 /* Define to 1 if you have the <poll.h> header file. */ #cmakedefine HAVE_POLL_H 1 /* Define to 1 if you have a working POSIX-style strerror_r function. */ #cmakedefine HAVE_POSIX_STRERROR_R 1 /* Define to 1 if you have the <pthread.h> header file */ #cmakedefine HAVE_PTHREAD_H 1 /* Define to 1 if you have the <pwd.h> header file. */ #cmakedefine HAVE_PWD_H 1 /* Define to 1 if you have the `RAND_egd' function. */ #cmakedefine HAVE_RAND_EGD 1 /* Define to 1 if you have the recv function. */ #cmakedefine HAVE_RECV 1 /* Define to 1 if you have the select function. */ #cmakedefine HAVE_SELECT 1 /* Define to 1 if you have the send function. */ #cmakedefine HAVE_SEND 1 /* Define to 1 if you have the 'fsetxattr' function. */ |
︙ | ︙ | |||
537 538 539 540 541 542 543 | /* Define to 1 if you have the `setmode' function. */ #cmakedefine HAVE_SETMODE 1 /* Define to 1 if you have the `setrlimit' function. */ #cmakedefine HAVE_SETRLIMIT 1 | < < < | 444 445 446 447 448 449 450 451 452 453 454 455 456 457 | /* Define to 1 if you have the `setmode' function. */ #cmakedefine HAVE_SETMODE 1 /* Define to 1 if you have the `setrlimit' function. */ #cmakedefine HAVE_SETRLIMIT 1 /* Define to 1 if you have a working setsockopt SO_NONBLOCK function. */ #cmakedefine HAVE_SETSOCKOPT_SO_NONBLOCK 1 /* Define to 1 if you have the sigaction function. */ #cmakedefine HAVE_SIGACTION 1 /* Define to 1 if you have the siginterrupt function. */ |
︙ | ︙ | |||
566 567 568 569 570 571 572 573 574 575 576 577 578 579 | #cmakedefine HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1 /* Define to 1 if you have the `socket' function. */ #cmakedefine HAVE_SOCKET 1 /* Define to 1 if you have the <ssl.h> header file. */ #cmakedefine HAVE_SSL_H 1 /* Define to 1 if you have the <stdbool.h> header file. */ #cmakedefine HAVE_STDBOOL_H 1 /* Define to 1 if you have the <stdint.h> header file. */ #cmakedefine HAVE_STDINT_H 1 | > > > < < < < < < < < < < < < < < < | 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 | #cmakedefine HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 1 /* Define to 1 if you have the `socket' function. */ #cmakedefine HAVE_SOCKET 1 /* Define to 1 if you have the <ssl.h> header file. */ #cmakedefine HAVE_SSL_H 1 /* Define to 1 if you have the <stdatomic.h> header file. */ #cmakedefine HAVE_STDATOMIC_H 1 /* Define to 1 if you have the <stdbool.h> header file. */ #cmakedefine HAVE_STDBOOL_H 1 /* Define to 1 if you have the <stdint.h> header file. */ #cmakedefine HAVE_STDINT_H 1 /* Define to 1 if you have the <stdlib.h> header file. */ #cmakedefine HAVE_STDLIB_H 1 /* Define to 1 if you have the strcasecmp function. */ #cmakedefine HAVE_STRCASECMP 1 /* Define to 1 if you have the strcmpi function. */ #cmakedefine HAVE_STRCMPI 1 /* Define to 1 if you have the strdup function. */ #cmakedefine HAVE_STRDUP 1 /* Define to 1 if you have the strerror_r function. */ #cmakedefine HAVE_STRERROR_R 1 /* Define to 1 if you have the stricmp function. */ #cmakedefine HAVE_STRICMP 1 /* Define to 1 if you have the <strings.h> header file. */ #cmakedefine HAVE_STRINGS_H 1 /* Define to 1 if you have the <string.h> header file. */ #cmakedefine HAVE_STRING_H 1 /* Define to 1 if you have the <stropts.h> header file. */ #cmakedefine HAVE_STROPTS_H 1 /* Define to 1 if you have the strtok_r function. */ #cmakedefine HAVE_STRTOK_R 1 /* Define to 1 if you have the strtoll function. */ #cmakedefine HAVE_STRTOLL 1 /* if struct sockaddr_storage is defined */ |
︙ | ︙ | |||
660 661 662 663 664 665 666 | /* Define to 1 if you have the <sys/time.h> header file. */ #cmakedefine HAVE_SYS_TIME_H 1 /* Define to 1 if you have the <sys/types.h> header file. */ #cmakedefine HAVE_SYS_TYPES_H 1 | < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 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 | /* Define to 1 if you have the <sys/time.h> header file. */ #cmakedefine HAVE_SYS_TIME_H 1 /* Define to 1 if you have the <sys/types.h> header file. */ #cmakedefine HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the <sys/un.h> header file. */ #cmakedefine HAVE_SYS_UN_H 1 /* Define to 1 if you have the <sys/utime.h> header file. */ #cmakedefine HAVE_SYS_UTIME_H 1 /* Define to 1 if you have the <termios.h> header file. */ #cmakedefine HAVE_TERMIOS_H 1 /* Define to 1 if you have the <termio.h> header file. */ #cmakedefine HAVE_TERMIO_H 1 /* Define to 1 if you have the <time.h> header file. */ #cmakedefine HAVE_TIME_H 1 /* Define to 1 if you have the <unistd.h> header file. */ #cmakedefine HAVE_UNISTD_H 1 /* Define to 1 if you have the `utime' function. */ #cmakedefine HAVE_UTIME 1 /* Define to 1 if you have the `utimes' function. */ #cmakedefine HAVE_UTIMES 1 /* Define to 1 if you have the <utime.h> header file. */ #cmakedefine HAVE_UTIME_H 1 /* Define to 1 if compiler supports C99 variadic macro style. */ #cmakedefine HAVE_VARIADIC_MACROS_C99 1 /* Define to 1 if compiler supports old gcc variadic macro style. */ #cmakedefine HAVE_VARIADIC_MACROS_GCC 1 /* Define to 1 if you have the windows.h header file. */ #cmakedefine HAVE_WINDOWS_H 1 /* Define to 1 if you have the winldap.h header file. */ #cmakedefine HAVE_WINLDAP_H 1 /* Define to 1 if you have the winsock2.h header file. */ #cmakedefine HAVE_WINSOCK2_H 1 /* Define this symbol if your OS supports changing the contents of argv */ #cmakedefine HAVE_WRITABLE_ARGV 1 /* Define to 1 if you have the ws2tcpip.h header file. */ #cmakedefine HAVE_WS2TCPIP_H 1 /* Define if you have the <process.h> header file. */ #cmakedefine HAVE_PROCESS_H 1 /* if you have the zlib.h header file */ #cmakedefine HAVE_ZLIB_H 1 /* Define to 1 if you need the lber.h header file even with ldap.h */ #cmakedefine NEED_LBER_H 1 /* Define to 1 if you need the malloc.h header file even with stdlib.h */ #cmakedefine NEED_MALLOC_H 1 /* Define to 1 if _REENTRANT preprocessor symbol must be defined. */ |
︙ | ︙ | |||
775 776 777 778 779 780 781 | /* Define to the version of this package. */ #cmakedefine PACKAGE_VERSION ${PACKAGE_VERSION} /* a suitable file to read random data from */ #cmakedefine RANDOM_FILE "${RANDOM_FILE}" | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 639 640 641 642 643 644 645 646 647 648 649 650 651 652 | /* Define to the version of this package. */ #cmakedefine PACKAGE_VERSION ${PACKAGE_VERSION} /* a suitable file to read random data from */ #cmakedefine RANDOM_FILE "${RANDOM_FILE}" /* Define to the type of arg 1 for recv. */ #cmakedefine RECV_TYPE_ARG1 ${RECV_TYPE_ARG1} /* Define to the type of arg 2 for recv. */ #cmakedefine RECV_TYPE_ARG2 ${RECV_TYPE_ARG2} /* Define to the type of arg 3 for recv. */ |
︙ | ︙ | |||
865 866 867 868 869 870 871 | Reference: https://cmake.org/cmake/help/latest/module/CheckTypeSize.html */ /* The size of `int', as computed by sizeof. */ ${SIZEOF_INT_CODE} | < < < < < < | 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 | Reference: https://cmake.org/cmake/help/latest/module/CheckTypeSize.html */ /* The size of `int', as computed by sizeof. */ ${SIZEOF_INT_CODE} /* The size of `long', as computed by sizeof. */ ${SIZEOF_LONG_CODE} /* The size of `off_t', as computed by sizeof. */ ${SIZEOF_OFF_T_CODE} /* The size of `curl_off_t', as computed by sizeof. */ ${SIZEOF_CURL_OFF_T_CODE} /* The size of `size_t', as computed by sizeof. */ ${SIZEOF_SIZE_T_CODE} /* The size of `time_t', as computed by sizeof. */ ${SIZEOF_TIME_T_CODE} /* Define to 1 if you have the ANSI C header files. */ #cmakedefine STDC_HEADERS 1 /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ #cmakedefine TIME_WITH_SYS_TIME 1 /* Define if you want to enable c-ares support */ #cmakedefine USE_ARES 1 /* Define if you want to enable POSIX threaded DNS lookup */ |
︙ | ︙ | |||
977 978 979 980 981 982 983 | /* to enable Windows SSL */ #cmakedefine USE_SCHANNEL 1 /* enable multiple SSL backends */ #cmakedefine CURL_WITH_MULTI_SSL 1 | < < < | 805 806 807 808 809 810 811 812 813 814 815 816 817 818 | /* to enable Windows SSL */ #cmakedefine USE_SCHANNEL 1 /* enable multiple SSL backends */ #cmakedefine CURL_WITH_MULTI_SSL 1 /* Version number of package */ #cmakedefine VERSION ${VERSION} /* Define to 1 if OS is AIX. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif |
︙ | ︙ |
Changes to jni/curl/lib/curl_config.h.in.
︙ | ︙ | |||
137 138 139 140 141 142 143 | /* Define to the type of arg 2 for gethostname. */ #undef GETHOSTNAME_TYPE_ARG2 /* Define to 1 if you have the alarm function. */ #undef HAVE_ALARM | < < < | 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | /* Define to the type of arg 2 for gethostname. */ #undef GETHOSTNAME_TYPE_ARG2 /* Define to 1 if you have the alarm function. */ #undef HAVE_ALARM /* Define to 1 if you have the <arpa/inet.h> header file. */ #undef HAVE_ARPA_INET_H /* Define to 1 if you have the <arpa/tftp.h> header file. */ #undef HAVE_ARPA_TFTP_H /* Define to 1 if you have the <assert.h> header file. */ |
︙ | ︙ | |||
336 337 338 339 340 341 342 | /* Define to 1 if you have a IPv6 capable working inet_pton function. */ #undef HAVE_INET_PTON /* Define to 1 if you have the <inttypes.h> header file. */ #undef HAVE_INTTYPES_H | < < < < < < < < < < < < < < < | 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 | /* Define to 1 if you have a IPv6 capable working inet_pton function. */ #undef HAVE_INET_PTON /* Define to 1 if you have the <inttypes.h> header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the ioctlsocket function. */ #undef HAVE_IOCTLSOCKET /* Define to 1 if you have the IoctlSocket camel case function. */ #undef HAVE_IOCTLSOCKET_CAMEL /* Define to 1 if you have a working IoctlSocket camel case FIONBIO function. */ #undef HAVE_IOCTLSOCKET_CAMEL_FIONBIO /* Define to 1 if you have a working ioctlsocket FIONBIO function. */ #undef HAVE_IOCTLSOCKET_FIONBIO /* Define to 1 if you have the <io.h> header file. */ #undef HAVE_IO_H /* Define to 1 if you have the lber.h header file. */ #undef HAVE_LBER_H /* Define to 1 if you have the ldap.h header file. */ #undef HAVE_LDAP_H /* Use LDAPS implementation */ #undef HAVE_LDAP_SSL /* Define to 1 if you have the ldap_ssl.h header file. */ #undef HAVE_LDAP_SSL_H /* Define to 1 if you have the `ldap_url_parse' function. */ |
︙ | ︙ | |||
424 425 426 427 428 429 430 | /* Define to 1 if you have the `zstd' library (-lzstd). */ #undef HAVE_LIBZSTD /* Define to 1 if you have the <linux/tcp.h> header file. */ #undef HAVE_LINUX_TCP_H | < < < < < < < < < < < < | 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 | /* Define to 1 if you have the `zstd' library (-lzstd). */ #undef HAVE_LIBZSTD /* Define to 1 if you have the <linux/tcp.h> header file. */ #undef HAVE_LINUX_TCP_H /* Define to 1 if you have the <locale.h> header file. */ #undef HAVE_LOCALE_H /* Define to 1 if the compiler supports the 'long long' data type. */ #undef HAVE_LONGLONG /* Define to 1 if you have the `mach_absolute_time' function. */ #undef HAVE_MACH_ABSOLUTE_TIME /* Define to 1 if you have the memrchr function or macro. */ #undef HAVE_MEMRCHR /* Define to 1 if you have the MSG_NOSIGNAL flag. */ #undef HAVE_MSG_NOSIGNAL /* Define to 1 if you have the <msh3.h> header file. */ |
︙ | ︙ | |||
522 523 524 525 526 527 528 | /* Define to 1 if you have the `pipe' function. */ #undef HAVE_PIPE /* if you have the PK11_CreateManagedGenericObject function */ #undef HAVE_PK11_CREATEMANAGEDGENERICOBJECT | < < < | 492 493 494 495 496 497 498 499 500 501 502 503 504 505 | /* Define to 1 if you have the `pipe' function. */ #undef HAVE_PIPE /* if you have the PK11_CreateManagedGenericObject function */ #undef HAVE_PK11_CREATEMANAGEDGENERICOBJECT /* If you have a fine poll */ #undef HAVE_POLL_FINE /* Define to 1 if you have the <poll.h> header file. */ #undef HAVE_POLL_H /* Define to 1 if you have a working POSIX-style strerror_r function. */ |
︙ | ︙ | |||
582 583 584 585 586 587 588 | /* Define to 1 if you have the `setmode' function. */ #undef HAVE_SETMODE /* Define to 1 if you have the `setrlimit' function. */ #undef HAVE_SETRLIMIT | < < < < < < | 549 550 551 552 553 554 555 556 557 558 559 560 561 562 | /* Define to 1 if you have the `setmode' function. */ #undef HAVE_SETMODE /* Define to 1 if you have the `setrlimit' function. */ #undef HAVE_SETRLIMIT /* Define to 1 if you have the sigaction function. */ #undef HAVE_SIGACTION /* Define to 1 if you have the siginterrupt function. */ #undef HAVE_SIGINTERRUPT /* Define to 1 if you have the signal function. */ |
︙ | ︙ | |||
620 621 622 623 624 625 626 627 628 629 630 631 632 633 | #undef HAVE_SOCKET_H /* Define to 1 if you have the `SSL_get_ech_status' function. */ #undef HAVE_SSL_GET_ECH_STATUS /* Define to 1 if you have the <ssl.h> header file. */ #undef HAVE_SSL_H /* Define to 1 if you have the <stdbool.h> header file. */ #undef HAVE_STDBOOL_H /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H | > > > | 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 | #undef HAVE_SOCKET_H /* Define to 1 if you have the `SSL_get_ech_status' function. */ #undef HAVE_SSL_GET_ECH_STATUS /* Define to 1 if you have the <ssl.h> header file. */ #undef HAVE_SSL_H /* Define to 1 if you have the <stdatomic.h> header file. */ #undef HAVE_STDATOMIC_H /* Define to 1 if you have the <stdbool.h> header file. */ #undef HAVE_STDBOOL_H /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H |
︙ | ︙ | |||
654 655 656 657 658 659 660 | /* Define to 1 if you have the <strings.h> header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the <string.h> header file. */ #undef HAVE_STRING_H | < < < < < < < < < < < < | 618 619 620 621 622 623 624 625 626 627 628 629 630 631 | /* Define to 1 if you have the <strings.h> header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the <string.h> header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the strtok_r function. */ #undef HAVE_STRTOK_R /* Define to 1 if you have the strtoll function. */ #undef HAVE_STRTOLL /* if struct sockaddr_storage is defined */ |
︙ | ︙ | |||
741 742 743 744 745 746 747 | /* Define this if time_t is unsigned */ #undef HAVE_TIME_T_UNSIGNED /* Define to 1 if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H | < < < < < < | 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 | /* Define this if time_t is unsigned */ #undef HAVE_TIME_T_UNSIGNED /* Define to 1 if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H /* Define to 1 if you have the `utime' function. */ #undef HAVE_UTIME /* Define to 1 if you have the `utimes' function. */ #undef HAVE_UTIMES /* Define to 1 if you have the <utime.h> header file. */ #undef HAVE_UTIME_H /* Define to 1 if compiler supports C99 variadic macro style. */ #undef HAVE_VARIADIC_MACROS_C99 /* Define to 1 if compiler supports old gcc variadic macro style. */ #undef HAVE_VARIADIC_MACROS_GCC /* Define to 1 if you have the wincrypt.h header file. */ #undef HAVE_WINCRYPT_H /* Define to 1 if you have the windows.h header file. */ #undef HAVE_WINDOWS_H /* Define to 1 if you have the winldap.h header file. */ |
︙ | ︙ | |||
789 790 791 792 793 794 795 | /* 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 */ #undef HAVE_WRITABLE_ARGV | < < < | 735 736 737 738 739 740 741 742 743 744 745 746 747 748 | /* 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 */ #undef HAVE_WRITABLE_ARGV /* Define to 1 if you have the ws2tcpip.h header file. */ #undef HAVE_WS2TCPIP_H /* Define to 1 if you have the <x509.h> header file. */ #undef HAVE_X509_H /* if you have the zlib.h header file */ |
︙ | ︙ | |||
813 814 815 816 817 818 819 | /* Define to the sub-directory where libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Define to 1 if you need the lber.h header file even with ldap.h */ #undef NEED_LBER_H | < < < < < < | 756 757 758 759 760 761 762 763 764 765 766 767 768 769 | /* Define to the sub-directory where libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Define to 1 if you need the lber.h header file even with ldap.h */ #undef NEED_LBER_H /* Define to 1 if _REENTRANT preprocessor symbol must be defined. */ #undef NEED_REENTRANT /* Define to 1 if _THREAD_SAFE preprocessor symbol must be defined. */ #undef NEED_THREAD_SAFE /* Define to enable NTLM delegation to winbind's ntlm_auth helper. */ |
︙ | ︙ | |||
906 907 908 909 910 911 912 | /* Define to the type of arg 4 for send. */ #undef SEND_TYPE_ARG4 /* Define to the function return type for send. */ #undef SEND_TYPE_RETV | | | | | | | < < < | < < < | 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 | /* Define to the type of arg 4 for send. */ #undef SEND_TYPE_ARG4 /* Define to the function return type for send. */ #undef SEND_TYPE_RETV /* Size of curl_off_t in number of bytes */ #undef SIZEOF_CURL_OFF_T /* Size of int in number of bytes */ #undef SIZEOF_INT /* Size of long in number of bytes */ #undef SIZEOF_LONG /* Size of long long in number of bytes */ #undef SIZEOF_LONG_LONG /* Size of off_t in number of bytes */ #undef SIZEOF_OFF_T /* Size of size_t in number of bytes */ #undef SIZEOF_SIZE_T /* Size of time_t in number of bytes */ #undef SIZEOF_TIME_T /* Define to 1 if all of the C90 standard headers exist (not just the ones required in a freestanding environment). This macro is provided for backward compatibility; new code need not use it. */ #undef STDC_HEADERS /* if AmiSSL is in use */ #undef USE_AMISSL /* Define to enable c-ares support */ #undef USE_ARES /* if BearSSL is enabled */ |
︙ | ︙ | |||
994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 | #undef USE_NGTCP2 /* if ngtcp2_crypto_gnutls is in use */ #undef USE_NGTCP2_CRYPTO_GNUTLS /* if ngtcp2_crypto_openssl is in use */ #undef USE_NGTCP2_CRYPTO_OPENSSL /* if NSS is enabled */ #undef USE_NSS /* Use OpenLDAP-specific code */ #undef USE_OPENLDAP | > > > | 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 | #undef USE_NGTCP2 /* if ngtcp2_crypto_gnutls is in use */ #undef USE_NGTCP2_CRYPTO_GNUTLS /* if ngtcp2_crypto_openssl is in use */ #undef USE_NGTCP2_CRYPTO_OPENSSL /* if ngtcp2_crypto_wolfssl is in use */ #undef USE_NGTCP2_CRYPTO_WOLFSSL /* if NSS is enabled */ #undef USE_NSS /* Use OpenLDAP-specific code */ #undef USE_OPENLDAP |
︙ | ︙ |
Changes to jni/curl/lib/curl_ntlm_core.c.
︙ | ︙ | |||
56 57 58 59 60 61 62 | #if !defined(OPENSSL_NO_DES) && !defined(OPENSSL_NO_DEPRECATED_3_0) #define USE_OPENSSL_DES #endif #endif #if defined(USE_OPENSSL_DES) || defined(USE_WOLFSSL) | | > > > > > < < < < < | 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 | #if !defined(OPENSSL_NO_DES) && !defined(OPENSSL_NO_DEPRECATED_3_0) #define USE_OPENSSL_DES #endif #endif #if defined(USE_OPENSSL_DES) || defined(USE_WOLFSSL) #if defined(USE_OPENSSL) # include <openssl/des.h> # include <openssl/md5.h> # include <openssl/ssl.h> # include <openssl/rand.h> #else # include <wolfssl/options.h> # include <wolfssl/openssl/des.h> # include <wolfssl/openssl/md5.h> # include <wolfssl/openssl/ssl.h> # include <wolfssl/openssl/rand.h> #endif # if (defined(OPENSSL_VERSION_NUMBER) && \ (OPENSSL_VERSION_NUMBER < 0x00907001L)) && !defined(USE_WOLFSSL) # define DES_key_schedule des_key_schedule # define DES_cblock des_cblock # define DES_set_odd_parity des_set_odd_parity |
︙ | ︙ |
Changes to jni/curl/lib/curl_path.c.
︙ | ︙ | |||
14 15 16 17 18 19 20 | * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * * SPDX-License-Identifier: curl AND ISC * ***************************************************************************/ #include "curl_setup.h" #if defined(USE_SSH) |
︙ | ︙ |
Changes to jni/curl/lib/curl_setup.h.
︙ | ︙ | |||
270 271 272 273 274 275 276 277 278 279 280 281 | #endif #ifdef HAVE_EXTRA_STRDUP_H # include <extra/strdup.h> #endif #ifdef __AMIGA__ # include <exec/types.h> # include <exec/execbase.h> # include <proto/exec.h> # include <proto/dos.h> # include <unistd.h> | > > > > > > > > > > > > | > > | > > > > > | > > > > > > > > | 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 | #endif #ifdef HAVE_EXTRA_STRDUP_H # include <extra/strdup.h> #endif #ifdef __AMIGA__ # ifdef __amigaos4__ # define __USE_INLINE__ /* use our own resolver which uses runtime feature detection */ # define CURLRES_AMIGA /* getaddrinfo() currently crashes bsdsocket.library, so disable */ # undef HAVE_GETADDRINFO # if !(defined(__NEWLIB__) || \ (defined(__CLIB2__) && defined(__THREAD_SAFE))) /* disable threaded resolver with clib2 - requires newlib or clib-ts */ # undef USE_THREADS_POSIX # endif # endif # include <exec/types.h> # include <exec/execbase.h> # include <proto/exec.h> # include <proto/dos.h> # include <unistd.h> # if defined(HAVE_PROTO_BSDSOCKET_H) && \ (!defined(__amigaos4__) || defined(USE_AMISSL)) /* use bsdsocket.library directly, instead of libc networking functions */ # include <proto/bsdsocket.h> # ifdef __amigaos4__ int Curl_amiga_select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *errorfds, struct timeval *timeout); # define select(a,b,c,d,e) Curl_amiga_select(a,b,c,d,e) # else # define select(a,b,c,d,e) WaitSelect(a,b,c,d,e,0) # endif /* must not use libc's fcntl() on bsdsocket.library sockfds! */ # undef HAVE_FCNTL # undef HAVE_FCNTL_O_NONBLOCK # else /* use libc networking and hence close() and fnctl() */ # undef HAVE_CLOSESOCKET_CAMEL # undef HAVE_IOCTLSOCKET_CAMEL # endif /* * In clib2 arpa/inet.h warns that some prototypes may clash * with bsdsocket.library. This avoids the definition of those. */ # define __NO_NET_API #endif |
︙ | ︙ | |||
559 560 561 562 563 564 565 | #ifdef USE_ARES # define CURLRES_ASYNCH # define CURLRES_ARES /* now undef the stock libc functions just to avoid them being used */ # undef HAVE_GETADDRINFO # undef HAVE_FREEADDRINFO | < | 586 587 588 589 590 591 592 593 594 595 596 597 598 599 | #ifdef USE_ARES # define CURLRES_ASYNCH # define CURLRES_ARES /* now undef the stock libc functions just to avoid them being used */ # undef HAVE_GETADDRINFO # undef HAVE_FREEADDRINFO #elif defined(USE_THREADS_POSIX) || defined(USE_THREADS_WIN32) # define CURLRES_ASYNCH # define CURLRES_THREADED #else # define CURLRES_SYNCH #endif |
︙ | ︙ |
Changes to jni/curl/lib/curl_setup_once.h.
︙ | ︙ | |||
199 200 201 202 203 204 205 | #ifndef swrite /* */ Error Missing_definition_of_macro_swrite /* */ #endif #endif /* HAVE_SEND */ | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 199 200 201 202 203 204 205 206 207 208 209 210 211 212 | #ifndef swrite /* */ Error Missing_definition_of_macro_swrite /* */ #endif #endif /* HAVE_SEND */ /* * Function-like macro definition used to close a socket. */ #if defined(HAVE_CLOSESOCKET) # define sclose(x) closesocket((x)) |
︙ | ︙ |
Changes to jni/curl/lib/doh.c.
︙ | ︙ | |||
239 240 241 242 243 244 245 246 247 248 249 250 251 252 | /* Curl_open() is the internal version of curl_easy_init() */ result = Curl_open(&doh); if(!result) { /* pass in the struct pointer via a local variable to please coverity and the gcc typecheck helpers */ struct dynbuf *resp = &p->serverdoh; ERROR_CHECK_SETOPT(CURLOPT_URL, url); ERROR_CHECK_SETOPT(CURLOPT_WRITEFUNCTION, doh_write_cb); ERROR_CHECK_SETOPT(CURLOPT_WRITEDATA, resp); ERROR_CHECK_SETOPT(CURLOPT_POSTFIELDS, p->dohbuffer); ERROR_CHECK_SETOPT(CURLOPT_POSTFIELDSIZE, (long)p->dohlen); ERROR_CHECK_SETOPT(CURLOPT_HTTPHEADER, headers); #ifdef USE_HTTP2 ERROR_CHECK_SETOPT(CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2TLS); | > | 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 | /* Curl_open() is the internal version of curl_easy_init() */ result = Curl_open(&doh); if(!result) { /* pass in the struct pointer via a local variable to please coverity and the gcc typecheck helpers */ struct dynbuf *resp = &p->serverdoh; ERROR_CHECK_SETOPT(CURLOPT_URL, url); ERROR_CHECK_SETOPT(CURLOPT_DEFAULT_PROTOCOL, "https"); ERROR_CHECK_SETOPT(CURLOPT_WRITEFUNCTION, doh_write_cb); ERROR_CHECK_SETOPT(CURLOPT_WRITEDATA, resp); ERROR_CHECK_SETOPT(CURLOPT_POSTFIELDS, p->dohbuffer); ERROR_CHECK_SETOPT(CURLOPT_POSTFIELDSIZE, (long)p->dohlen); ERROR_CHECK_SETOPT(CURLOPT_HTTPHEADER, headers); #ifdef USE_HTTP2 ERROR_CHECK_SETOPT(CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2TLS); |
︙ | ︙ |
Changes to jni/curl/lib/doh.h.
︙ | ︙ | |||
25 26 27 28 29 30 31 | ***************************************************************************/ #include "urldata.h" #include "curl_addrinfo.h" #ifndef CURL_DISABLE_DOH | < < < < < < < < < < < < < < < | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | ***************************************************************************/ #include "urldata.h" #include "curl_addrinfo.h" #ifndef CURL_DISABLE_DOH typedef enum { DOH_OK, DOH_DNS_BAD_LABEL, /* 1 */ DOH_DNS_OUT_OF_RANGE, /* 2 */ DOH_DNS_LABEL_LOOP, /* 3 */ DOH_TOO_SMALL_BUFFER, /* 4 */ DOH_OUT_OF_MEM, /* 5 */ |
︙ | ︙ | |||
65 66 67 68 69 70 71 72 73 74 75 76 77 78 | DNS_TYPE_A = 1, DNS_TYPE_NS = 2, DNS_TYPE_CNAME = 5, DNS_TYPE_AAAA = 28, DNS_TYPE_DNAME = 39 /* RFC6672 */ } DNStype; #define DOH_MAX_ADDR 24 #define DOH_MAX_CNAME 4 struct dohaddr { int type; union { unsigned char v4[4]; /* network byte order */ | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | DNS_TYPE_A = 1, DNS_TYPE_NS = 2, DNS_TYPE_CNAME = 5, DNS_TYPE_AAAA = 28, DNS_TYPE_DNAME = 39 /* RFC6672 */ } DNStype; /* one of these for each DoH request */ struct dnsprobe { CURL *easy; DNStype dnstype; unsigned char dohbuffer[512]; size_t dohlen; struct dynbuf serverdoh; }; struct dohdata { struct curl_slist *headers; struct dnsprobe probe[DOH_PROBE_SLOTS]; unsigned int pending; /* still outstanding requests */ int port; const char *host; }; /* * Curl_doh() resolve a name using DoH (DNS-over-HTTPS). It resolves a name * and returns a 'Curl_addrinfo *' with the address information. */ struct Curl_addrinfo *Curl_doh(struct Curl_easy *data, const char *hostname, int port, int *waitp); CURLcode Curl_doh_is_resolved(struct Curl_easy *data, struct Curl_dns_entry **dns); int Curl_doh_getsock(struct connectdata *conn, curl_socket_t *socks); #define DOH_MAX_ADDR 24 #define DOH_MAX_CNAME 4 struct dohaddr { int type; union { unsigned char v4[4]; /* network byte order */ |
︙ | ︙ |
Changes to jni/curl/lib/easy.c.
︙ | ︙ | |||
173 174 175 176 177 178 179 | if(Curl_win32_init(flags)) { DEBUGF(fprintf(stderr, "Error: win32_init failed\n")); goto fail; } #endif #ifdef __AMIGA__ | | | 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | if(Curl_win32_init(flags)) { DEBUGF(fprintf(stderr, "Error: win32_init failed\n")); goto fail; } #endif #ifdef __AMIGA__ if(Curl_amiga_init()) { DEBUGF(fprintf(stderr, "Error: Curl_amiga_init failed\n")); goto fail; } #endif if(Curl_resolver_global_init()) { DEBUGF(fprintf(stderr, "Error: resolver_global_init failed\n")); |
︙ | ︙ | |||
721 722 723 724 725 726 727 | } if(data->multi_easy) multi = data->multi_easy; else { /* this multi handle will only ever have a single easy handled attached to it, so make it use minimal hashes */ | | | 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 | } if(data->multi_easy) multi = data->multi_easy; else { /* this multi handle will only ever have a single easy handled attached to it, so make it use minimal hashes */ multi = Curl_multi_handle(1, 3, 7); if(!multi) return CURLE_OUT_OF_MEMORY; data->multi_easy = multi; } if(multi->in_callback) return CURLE_RECURSIVE_API_CALL; |
︙ | ︙ | |||
1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 | Curl_dyn_free(&writebuf[i].b); } if(result) return result; } } /* if there's no error and we're not pausing both directions, we want to have this handle checked soon */ if((newstate & (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) != (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) { Curl_expire(data, 0, EXPIRE_RUN_NOW); /* get this handle going again */ | > > > > > > > > > > | 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 | Curl_dyn_free(&writebuf[i].b); } if(result) return result; } } #ifdef USE_HYPER if(!(newstate & KEEP_SEND_PAUSE)) { /* need to wake the send body waker */ if(data->hyp.send_body_waker) { hyper_waker_wake(data->hyp.send_body_waker); data->hyp.send_body_waker = NULL; } } #endif /* if there's no error and we're not pausing both directions, we want to have this handle checked soon */ if((newstate & (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) != (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) { Curl_expire(data, 0, EXPIRE_RUN_NOW); /* get this handle going again */ |
︙ | ︙ |
Changes to jni/curl/lib/easyoptions.c.
︙ | ︙ | |||
103 104 105 106 107 108 109 | {"FTPSSLAUTH", CURLOPT_FTPSSLAUTH, CURLOT_VALUES, 0}, {"FTP_ACCOUNT", CURLOPT_FTP_ACCOUNT, CURLOT_STRING, 0}, {"FTP_ALTERNATIVE_TO_USER", CURLOPT_FTP_ALTERNATIVE_TO_USER, CURLOT_STRING, 0}, {"FTP_CREATE_MISSING_DIRS", CURLOPT_FTP_CREATE_MISSING_DIRS, CURLOT_LONG, 0}, {"FTP_FILEMETHOD", CURLOPT_FTP_FILEMETHOD, CURLOT_VALUES, 0}, | | > | 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | {"FTPSSLAUTH", CURLOPT_FTPSSLAUTH, CURLOT_VALUES, 0}, {"FTP_ACCOUNT", CURLOPT_FTP_ACCOUNT, CURLOT_STRING, 0}, {"FTP_ALTERNATIVE_TO_USER", CURLOPT_FTP_ALTERNATIVE_TO_USER, CURLOT_STRING, 0}, {"FTP_CREATE_MISSING_DIRS", CURLOPT_FTP_CREATE_MISSING_DIRS, CURLOT_LONG, 0}, {"FTP_FILEMETHOD", CURLOPT_FTP_FILEMETHOD, CURLOT_VALUES, 0}, {"FTP_RESPONSE_TIMEOUT", CURLOPT_SERVER_RESPONSE_TIMEOUT, CURLOT_LONG, CURLOT_FLAG_ALIAS}, {"FTP_SKIP_PASV_IP", CURLOPT_FTP_SKIP_PASV_IP, CURLOT_LONG, 0}, {"FTP_SSL", CURLOPT_USE_SSL, CURLOT_VALUES, CURLOT_FLAG_ALIAS}, {"FTP_SSL_CCC", CURLOPT_FTP_SSL_CCC, CURLOT_LONG, 0}, {"FTP_USE_EPRT", CURLOPT_FTP_USE_EPRT, CURLOT_LONG, 0}, {"FTP_USE_EPSV", CURLOPT_FTP_USE_EPSV, CURLOT_LONG, 0}, {"FTP_USE_PRET", CURLOPT_FTP_USE_PRET, CURLOT_LONG, 0}, {"GSSAPI_DELEGATION", CURLOPT_GSSAPI_DELEGATION, CURLOT_VALUES, 0}, |
︙ | ︙ | |||
199 200 201 202 203 204 205 206 207 208 209 210 211 212 | {"PREREQDATA", CURLOPT_PREREQDATA, CURLOT_CBPTR, 0}, {"PREREQFUNCTION", CURLOPT_PREREQFUNCTION, CURLOT_FUNCTION, 0}, {"PRE_PROXY", CURLOPT_PRE_PROXY, CURLOT_STRING, 0}, {"PRIVATE", CURLOPT_PRIVATE, CURLOT_OBJECT, 0}, {"PROGRESSDATA", CURLOPT_XFERINFODATA, CURLOT_CBPTR, CURLOT_FLAG_ALIAS}, {"PROGRESSFUNCTION", CURLOPT_PROGRESSFUNCTION, CURLOT_FUNCTION, 0}, {"PROTOCOLS", CURLOPT_PROTOCOLS, CURLOT_LONG, 0}, {"PROXY", CURLOPT_PROXY, CURLOT_STRING, 0}, {"PROXYAUTH", CURLOPT_PROXYAUTH, CURLOT_VALUES, 0}, {"PROXYHEADER", CURLOPT_PROXYHEADER, CURLOT_SLIST, 0}, {"PROXYPASSWORD", CURLOPT_PROXYPASSWORD, CURLOT_STRING, 0}, {"PROXYPORT", CURLOPT_PROXYPORT, CURLOT_LONG, 0}, {"PROXYTYPE", CURLOPT_PROXYTYPE, CURLOT_VALUES, 0}, {"PROXYUSERNAME", CURLOPT_PROXYUSERNAME, CURLOT_STRING, 0}, | > | 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 | {"PREREQDATA", CURLOPT_PREREQDATA, CURLOT_CBPTR, 0}, {"PREREQFUNCTION", CURLOPT_PREREQFUNCTION, CURLOT_FUNCTION, 0}, {"PRE_PROXY", CURLOPT_PRE_PROXY, CURLOT_STRING, 0}, {"PRIVATE", CURLOPT_PRIVATE, CURLOT_OBJECT, 0}, {"PROGRESSDATA", CURLOPT_XFERINFODATA, CURLOT_CBPTR, CURLOT_FLAG_ALIAS}, {"PROGRESSFUNCTION", CURLOPT_PROGRESSFUNCTION, CURLOT_FUNCTION, 0}, {"PROTOCOLS", CURLOPT_PROTOCOLS, CURLOT_LONG, 0}, {"PROTOCOLS_STR", CURLOPT_PROTOCOLS_STR, CURLOT_STRING, 0}, {"PROXY", CURLOPT_PROXY, CURLOT_STRING, 0}, {"PROXYAUTH", CURLOPT_PROXYAUTH, CURLOT_VALUES, 0}, {"PROXYHEADER", CURLOPT_PROXYHEADER, CURLOT_SLIST, 0}, {"PROXYPASSWORD", CURLOPT_PROXYPASSWORD, CURLOT_STRING, 0}, {"PROXYPORT", CURLOPT_PROXYPORT, CURLOT_LONG, 0}, {"PROXYTYPE", CURLOPT_PROXYTYPE, CURLOT_VALUES, 0}, {"PROXYUSERNAME", CURLOPT_PROXYUSERNAME, CURLOT_STRING, 0}, |
︙ | ︙ | |||
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 | {"PUT", CURLOPT_PUT, CURLOT_LONG, 0}, {"QUOTE", CURLOPT_QUOTE, CURLOT_SLIST, 0}, {"RANDOM_FILE", CURLOPT_RANDOM_FILE, CURLOT_STRING, 0}, {"RANGE", CURLOPT_RANGE, CURLOT_STRING, 0}, {"READDATA", CURLOPT_READDATA, CURLOT_CBPTR, 0}, {"READFUNCTION", CURLOPT_READFUNCTION, CURLOT_FUNCTION, 0}, {"REDIR_PROTOCOLS", CURLOPT_REDIR_PROTOCOLS, CURLOT_LONG, 0}, {"REFERER", CURLOPT_REFERER, CURLOT_STRING, 0}, {"REQUEST_TARGET", CURLOPT_REQUEST_TARGET, CURLOT_STRING, 0}, {"RESOLVE", CURLOPT_RESOLVE, CURLOT_SLIST, 0}, {"RESOLVER_START_DATA", CURLOPT_RESOLVER_START_DATA, CURLOT_CBPTR, 0}, {"RESOLVER_START_FUNCTION", CURLOPT_RESOLVER_START_FUNCTION, CURLOT_FUNCTION, 0}, {"RESUME_FROM", CURLOPT_RESUME_FROM, CURLOT_LONG, 0}, {"RESUME_FROM_LARGE", CURLOPT_RESUME_FROM_LARGE, CURLOT_OFF_T, 0}, {"RTSPHEADER", CURLOPT_HTTPHEADER, CURLOT_SLIST, CURLOT_FLAG_ALIAS}, {"RTSP_CLIENT_CSEQ", CURLOPT_RTSP_CLIENT_CSEQ, CURLOT_LONG, 0}, {"RTSP_REQUEST", CURLOPT_RTSP_REQUEST, CURLOT_VALUES, 0}, {"RTSP_SERVER_CSEQ", CURLOPT_RTSP_SERVER_CSEQ, CURLOT_LONG, 0}, {"RTSP_SESSION_ID", CURLOPT_RTSP_SESSION_ID, CURLOT_STRING, 0}, {"RTSP_STREAM_URI", CURLOPT_RTSP_STREAM_URI, CURLOT_STRING, 0}, {"RTSP_TRANSPORT", CURLOPT_RTSP_TRANSPORT, CURLOT_STRING, 0}, {"SASL_AUTHZID", CURLOPT_SASL_AUTHZID, CURLOT_STRING, 0}, {"SASL_IR", CURLOPT_SASL_IR, CURLOT_LONG, 0}, {"SEEKDATA", CURLOPT_SEEKDATA, CURLOT_CBPTR, 0}, {"SEEKFUNCTION", CURLOPT_SEEKFUNCTION, CURLOT_FUNCTION, 0}, | > | | > > < < | 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 | {"PUT", CURLOPT_PUT, CURLOT_LONG, 0}, {"QUOTE", CURLOPT_QUOTE, CURLOT_SLIST, 0}, {"RANDOM_FILE", CURLOPT_RANDOM_FILE, CURLOT_STRING, 0}, {"RANGE", CURLOPT_RANGE, CURLOT_STRING, 0}, {"READDATA", CURLOPT_READDATA, CURLOT_CBPTR, 0}, {"READFUNCTION", CURLOPT_READFUNCTION, CURLOT_FUNCTION, 0}, {"REDIR_PROTOCOLS", CURLOPT_REDIR_PROTOCOLS, CURLOT_LONG, 0}, {"REDIR_PROTOCOLS_STR", CURLOPT_REDIR_PROTOCOLS_STR, CURLOT_STRING, 0}, {"REFERER", CURLOPT_REFERER, CURLOT_STRING, 0}, {"REQUEST_TARGET", CURLOPT_REQUEST_TARGET, CURLOT_STRING, 0}, {"RESOLVE", CURLOPT_RESOLVE, CURLOT_SLIST, 0}, {"RESOLVER_START_DATA", CURLOPT_RESOLVER_START_DATA, CURLOT_CBPTR, 0}, {"RESOLVER_START_FUNCTION", CURLOPT_RESOLVER_START_FUNCTION, CURLOT_FUNCTION, 0}, {"RESUME_FROM", CURLOPT_RESUME_FROM, CURLOT_LONG, 0}, {"RESUME_FROM_LARGE", CURLOPT_RESUME_FROM_LARGE, CURLOT_OFF_T, 0}, {"RTSPHEADER", CURLOPT_HTTPHEADER, CURLOT_SLIST, CURLOT_FLAG_ALIAS}, {"RTSP_CLIENT_CSEQ", CURLOPT_RTSP_CLIENT_CSEQ, CURLOT_LONG, 0}, {"RTSP_REQUEST", CURLOPT_RTSP_REQUEST, CURLOT_VALUES, 0}, {"RTSP_SERVER_CSEQ", CURLOPT_RTSP_SERVER_CSEQ, CURLOT_LONG, 0}, {"RTSP_SESSION_ID", CURLOPT_RTSP_SESSION_ID, CURLOT_STRING, 0}, {"RTSP_STREAM_URI", CURLOPT_RTSP_STREAM_URI, CURLOT_STRING, 0}, {"RTSP_TRANSPORT", CURLOPT_RTSP_TRANSPORT, CURLOT_STRING, 0}, {"SASL_AUTHZID", CURLOPT_SASL_AUTHZID, CURLOT_STRING, 0}, {"SASL_IR", CURLOPT_SASL_IR, CURLOT_LONG, 0}, {"SEEKDATA", CURLOPT_SEEKDATA, CURLOT_CBPTR, 0}, {"SEEKFUNCTION", CURLOPT_SEEKFUNCTION, CURLOT_FUNCTION, 0}, {"SERVER_RESPONSE_TIMEOUT", CURLOPT_SERVER_RESPONSE_TIMEOUT, CURLOT_LONG, 0}, {"SERVICE_NAME", CURLOPT_SERVICE_NAME, CURLOT_STRING, 0}, {"SHARE", CURLOPT_SHARE, CURLOT_OBJECT, 0}, {"SOCKOPTDATA", CURLOPT_SOCKOPTDATA, CURLOT_CBPTR, 0}, {"SOCKOPTFUNCTION", CURLOPT_SOCKOPTFUNCTION, CURLOT_FUNCTION, 0}, {"SOCKS5_AUTH", CURLOPT_SOCKS5_AUTH, CURLOT_LONG, 0}, {"SOCKS5_GSSAPI_NEC", CURLOPT_SOCKS5_GSSAPI_NEC, CURLOT_LONG, 0}, {"SOCKS5_GSSAPI_SERVICE", CURLOPT_SOCKS5_GSSAPI_SERVICE, CURLOT_STRING, 0}, {"SSH_AUTH_TYPES", CURLOPT_SSH_AUTH_TYPES, CURLOT_VALUES, 0}, {"SSH_COMPRESSION", CURLOPT_SSH_COMPRESSION, CURLOT_LONG, 0}, {"SSH_HOSTKEYDATA", CURLOPT_SSH_HOSTKEYDATA, CURLOT_CBPTR, 0}, {"SSH_HOSTKEYFUNCTION", CURLOPT_SSH_HOSTKEYFUNCTION, CURLOT_FUNCTION, 0}, {"SSH_HOST_PUBLIC_KEY_MD5", CURLOPT_SSH_HOST_PUBLIC_KEY_MD5, CURLOT_STRING, 0}, {"SSH_HOST_PUBLIC_KEY_SHA256", CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256, CURLOT_STRING, 0}, {"SSH_KEYDATA", CURLOPT_SSH_KEYDATA, CURLOT_CBPTR, 0}, {"SSH_KEYFUNCTION", CURLOPT_SSH_KEYFUNCTION, CURLOT_FUNCTION, 0}, {"SSH_KNOWNHOSTS", CURLOPT_SSH_KNOWNHOSTS, CURLOT_STRING, 0}, {"SSH_PRIVATE_KEYFILE", CURLOPT_SSH_PRIVATE_KEYFILE, CURLOT_STRING, 0}, {"SSH_PUBLIC_KEYFILE", CURLOPT_SSH_PUBLIC_KEYFILE, CURLOT_STRING, 0}, {"SSLCERT", CURLOPT_SSLCERT, CURLOT_STRING, 0}, {"SSLCERTPASSWD", CURLOPT_KEYPASSWD, CURLOT_STRING, CURLOT_FLAG_ALIAS}, {"SSLCERTTYPE", CURLOPT_SSLCERTTYPE, CURLOT_STRING, 0}, {"SSLCERT_BLOB", CURLOPT_SSLCERT_BLOB, CURLOT_BLOB, 0}, |
︙ | ︙ | |||
350 351 352 353 354 355 356 | {"WILDCARDMATCH", CURLOPT_WILDCARDMATCH, CURLOT_LONG, 0}, {"WRITEDATA", CURLOPT_WRITEDATA, CURLOT_CBPTR, 0}, {"WRITEFUNCTION", CURLOPT_WRITEFUNCTION, CURLOT_FUNCTION, 0}, {"WRITEHEADER", CURLOPT_HEADERDATA, CURLOT_CBPTR, CURLOT_FLAG_ALIAS}, {"XFERINFODATA", CURLOPT_XFERINFODATA, CURLOT_CBPTR, 0}, {"XFERINFOFUNCTION", CURLOPT_XFERINFOFUNCTION, CURLOT_FUNCTION, 0}, {"XOAUTH2_BEARER", CURLOPT_XOAUTH2_BEARER, CURLOT_STRING, 0}, | | | | 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 | {"WILDCARDMATCH", CURLOPT_WILDCARDMATCH, CURLOT_LONG, 0}, {"WRITEDATA", CURLOPT_WRITEDATA, CURLOT_CBPTR, 0}, {"WRITEFUNCTION", CURLOPT_WRITEFUNCTION, CURLOT_FUNCTION, 0}, {"WRITEHEADER", CURLOPT_HEADERDATA, CURLOT_CBPTR, CURLOT_FLAG_ALIAS}, {"XFERINFODATA", CURLOPT_XFERINFODATA, CURLOT_CBPTR, 0}, {"XFERINFOFUNCTION", CURLOPT_XFERINFOFUNCTION, CURLOT_FUNCTION, 0}, {"XOAUTH2_BEARER", CURLOPT_XOAUTH2_BEARER, CURLOT_STRING, 0}, {NULL, CURLOPT_LASTENTRY, CURLOT_LONG, 0} /* end of table */ }; #ifdef DEBUGBUILD /* * Curl_easyopts_check() is a debug-only function that returns non-zero * if this source file is not in sync with the options listed in curl/curl.h */ int Curl_easyopts_check(void) { return ((CURLOPT_LASTENTRY%10000) != (319 + 1)); } #endif |
Changes to jni/curl/lib/escape.c.
︙ | ︙ | |||
73 74 75 76 77 78 79 80 81 82 83 84 85 86 | /* for ABI-compatibility with previous versions */ char *curl_unescape(const char *string, int length) { return curl_easy_unescape(NULL, string, length, NULL); } char *curl_easy_escape(struct Curl_easy *data, const char *string, int inlength) { size_t length; struct dynbuf d; (void)data; | > > > | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | /* for ABI-compatibility with previous versions */ char *curl_unescape(const char *string, int length) { return curl_easy_unescape(NULL, string, length, NULL); } /* Escapes for URL the given unescaped string of given length. * 'data' is ignored since 7.82.0. */ char *curl_easy_escape(struct Curl_easy *data, const char *string, int inlength) { size_t length; struct dynbuf d; (void)data; |
︙ | ︙ | |||
114 115 116 117 118 119 120 | /* * Curl_urldecode() URL decodes the given string. * * Returns a pointer to a malloced string in *ostring with length given in * *olen. If length == 0, the length is assumed to be strlen(string). * | < < | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | /* * Curl_urldecode() URL decodes the given string. * * Returns a pointer to a malloced string in *ostring with length given in * *olen. If length == 0, the length is assumed to be strlen(string). * * ctrl options: * - REJECT_NADA: accept everything * - REJECT_CTRL: rejects control characters (byte codes lower than 32) in * the data * - REJECT_ZERO: rejects decoded zero bytes * * The values for the enum starts at 2, to make the assert detect legacy |
︙ | ︙ | |||
189 190 191 192 193 194 195 196 197 198 199 200 201 202 | } /* * Unescapes the given URL escaped string of given length. Returns a * pointer to a malloced string with length given in *olen. * If length == 0, the length is assumed to be strlen(string). * If olen == NULL, no output length is stored. */ char *curl_easy_unescape(struct Curl_easy *data, const char *string, int length, int *olen) { char *str = NULL; (void)data; if(length >= 0) { | > | 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 | } /* * Unescapes the given URL escaped string of given length. Returns a * pointer to a malloced string with length given in *olen. * If length == 0, the length is assumed to be strlen(string). * If olen == NULL, no output length is stored. * 'data' is ignored since 7.82.0. */ char *curl_easy_unescape(struct Curl_easy *data, const char *string, int length, int *olen) { char *str = NULL; (void)data; if(length >= 0) { |
︙ | ︙ |
Changes to jni/curl/lib/file.c.
︙ | ︙ | |||
67 68 69 70 71 72 73 74 75 76 77 78 79 80 | /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" #if defined(WIN32) || defined(MSDOS) || defined(__EMX__) #define DOS_FILESYSTEM 1 #endif #ifdef OPEN_NEEDS_ARG3 # define open_readonly(p,f) open((p),(f),(0)) #else # define open_readonly(p,f) open((p),(f)) #endif | > > | 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" #if defined(WIN32) || defined(MSDOS) || defined(__EMX__) #define DOS_FILESYSTEM 1 #elif defined(__amigaos4__) #define AMIGA_FILESYSTEM 1 #endif #ifdef OPEN_NEEDS_ARG3 # define open_readonly(p,f) open((p),(f),(0)) #else # define open_readonly(p,f) open((p),(f)) #endif |
︙ | ︙ | |||
192 193 194 195 196 197 198 | #else if(memchr(real_path, 0, real_path_len)) { /* binary zeroes indicate foul play */ Curl_safefree(real_path); return CURLE_URL_MALFORMAT; } | > > > > > > > > > > > > > > > > > > > > | > > > > > | 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 | #else if(memchr(real_path, 0, real_path_len)) { /* binary zeroes indicate foul play */ Curl_safefree(real_path); return CURLE_URL_MALFORMAT; } #ifdef AMIGA_FILESYSTEM /* * A leading slash in an AmigaDOS path denotes the parent * directory, and hence we block this as it is relative. * Absolute paths start with 'volumename:', so we check for * this first. Failing that, we treat the path as a real unix * path, but only if the application was compiled with -lunix. */ fd = -1; file->path = real_path; if(real_path[0] == '/') { extern int __unix_path_semantics; if(strchr(real_path + 1, ':')) { /* Amiga absolute path */ fd = open_readonly(real_path + 1, O_RDONLY); file->path++; } else if(__unix_path_semantics) { /* -lunix fallback */ fd = open_readonly(real_path, O_RDONLY); } } #else fd = open_readonly(real_path, O_RDONLY); file->path = real_path; #endif #endif file->freepath = real_path; /* free this when done */ file->fd = fd; if(!data->set.upload && (fd == -1)) { failf(data, "Couldn't open file %s", data->state.up.path); file_done(data, CURLE_FILE_COULDNT_READ_FILE, FALSE); |
︙ | ︙ | |||
232 233 234 235 236 237 238 | static CURLcode file_disconnect(struct Curl_easy *data, struct connectdata *conn, bool dead_connection) { (void)dead_connection; /* not used */ (void)conn; | | | 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 | static CURLcode file_disconnect(struct Curl_easy *data, struct connectdata *conn, bool dead_connection) { (void)dead_connection; /* not used */ (void)conn; return file_done(data, CURLE_OK, FALSE); } #ifdef DOS_FILESYSTEM #define DIRSEP '\\' #else #define DIRSEP '/' #endif |
︙ | ︙ |
Changes to jni/curl/lib/ftp.c.
︙ | ︙ | |||
514 515 516 517 518 519 520 | if(result) return result; } else { /* Add timeout to multi handle and break out of the loop */ if(*connected == FALSE) { Curl_expire(data, data->set.accepttimeout > 0 ? | | > | 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 | if(result) return result; } else { /* Add timeout to multi handle and break out of the loop */ if(*connected == FALSE) { Curl_expire(data, data->set.accepttimeout > 0 ? data->set.accepttimeout: DEFAULT_ACCEPT_TIMEOUT, EXPIRE_FTP_ACCEPT); } } return result; } /* macro to check for a three-digit ftp status code at the start of the |
︙ | ︙ |
Changes to jni/curl/lib/getinfo.c.
︙ | ︙ | |||
574 575 576 577 578 579 580 | const char **param_charp = NULL; struct curl_slist **param_slistp = NULL; curl_socket_t *param_socketp = NULL; int type; CURLcode result = CURLE_UNKNOWN_OPTION; if(!data) | | | 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 | const char **param_charp = NULL; struct curl_slist **param_slistp = NULL; curl_socket_t *param_socketp = NULL; int type; CURLcode result = CURLE_UNKNOWN_OPTION; if(!data) return CURLE_BAD_FUNCTION_ARGUMENT; va_start(arg, info); type = CURLINFO_TYPEMASK & (int)info; switch(type) { case CURLINFO_STRING: param_charp = va_arg(arg, const char **); |
︙ | ︙ |
Changes to jni/curl/lib/h2h3.c.
︙ | ︙ | |||
254 255 256 257 258 259 260 | nva[i].valuelen = sizeof("trailers") - 1; break; default: nva[i].value = hdbuf; nva[i].valuelen = (end - hdbuf); } | < < < | 254 255 256 257 258 259 260 261 262 263 264 265 266 267 | nva[i].valuelen = sizeof("trailers") - 1; break; default: nva[i].value = hdbuf; nva[i].valuelen = (end - hdbuf); } ++i; } /* :authority must come before non-pseudo header fields */ if(authority_idx && authority_idx != AUTHORITY_DST_IDX) { struct h2h3pseudo authority = nva[authority_idx]; for(i = authority_idx; i > AUTHORITY_DST_IDX; --i) { |
︙ | ︙ |
Changes to jni/curl/lib/headers.c.
︙ | ︙ | |||
70 71 72 73 74 75 76 | struct Curl_llist_element *e_pick = NULL; struct Curl_easy *data = easy; size_t match = 0; size_t amount = 0; struct Curl_header_store *hs = NULL; struct Curl_header_store *pick = NULL; if(!name || !hout || !data || | | | | 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | struct Curl_llist_element *e_pick = NULL; struct Curl_easy *data = easy; size_t match = 0; size_t amount = 0; struct Curl_header_store *hs = NULL; struct Curl_header_store *pick = NULL; if(!name || !hout || !data || (type > (CURLH_HEADER|CURLH_TRAILER|CURLH_CONNECT|CURLH_1XX| CURLH_PSEUDO)) || !type || (request < -1)) return CURLHE_BAD_ARGUMENT; if(!Curl_llist_count(&data->state.httphdrs)) return CURLHE_NOHEADERS; /* no headers available */ if(request > data->state.requests) return CURLHE_NOREQUEST; if(request == -1) request = data->state.requests; |
︙ | ︙ |
Changes to jni/curl/lib/hostip.c.
︙ | ︙ | |||
455 456 457 458 459 460 461 | dns = dns2; dns->inuse++; /* mark entry as in-use */ return dns; } #ifdef ENABLE_IPV6 | | | | | 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 | dns = dns2; dns->inuse++; /* mark entry as in-use */ return dns; } #ifdef ENABLE_IPV6 /* return a static IPv6 ::1 for the name */ static struct Curl_addrinfo *get_localhost6(int port, const char *name) { struct Curl_addrinfo *ca; const size_t ss_size = sizeof(struct sockaddr_in6); const size_t hostlen = strlen(name); struct sockaddr_in6 sa6; unsigned char ipv6[16]; unsigned short port16 = (unsigned short)(port & 0xffff); ca = calloc(sizeof(struct Curl_addrinfo) + ss_size + hostlen + 1, 1); if(!ca) return NULL; |
︙ | ︙ | |||
485 486 487 488 489 490 491 | ca->ai_socktype = SOCK_STREAM; ca->ai_protocol = IPPROTO_TCP; ca->ai_addrlen = (curl_socklen_t)ss_size; ca->ai_next = NULL; ca->ai_addr = (void *)((char *)ca + sizeof(struct Curl_addrinfo)); memcpy(ca->ai_addr, &sa6, ss_size); ca->ai_canonname = (char *)ca->ai_addr + ss_size; | | | | | | | 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 | ca->ai_socktype = SOCK_STREAM; ca->ai_protocol = IPPROTO_TCP; ca->ai_addrlen = (curl_socklen_t)ss_size; ca->ai_next = NULL; ca->ai_addr = (void *)((char *)ca + sizeof(struct Curl_addrinfo)); memcpy(ca->ai_addr, &sa6, ss_size); ca->ai_canonname = (char *)ca->ai_addr + ss_size; strcpy(ca->ai_canonname, name); return ca; } #else #define get_localhost6(x,y) NULL #endif /* return a static IPv4 127.0.0.1 for the given name */ static struct Curl_addrinfo *get_localhost(int port, const char *name) { struct Curl_addrinfo *ca; const size_t ss_size = sizeof(struct sockaddr_in); const size_t hostlen = strlen(name); struct sockaddr_in sa; unsigned int ipv4; unsigned short port16 = (unsigned short)(port & 0xffff); /* memset to clear the sa.sin_zero field */ memset(&sa, 0, sizeof(sa)); sa.sin_family = AF_INET; |
︙ | ︙ | |||
521 522 523 524 525 526 527 | ca->ai_family = AF_INET; ca->ai_socktype = SOCK_STREAM; ca->ai_protocol = IPPROTO_TCP; ca->ai_addrlen = (curl_socklen_t)ss_size; ca->ai_addr = (void *)((char *)ca + sizeof(struct Curl_addrinfo)); memcpy(ca->ai_addr, &sa, ss_size); ca->ai_canonname = (char *)ca->ai_addr + ss_size; | | | | 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 | ca->ai_family = AF_INET; ca->ai_socktype = SOCK_STREAM; ca->ai_protocol = IPPROTO_TCP; ca->ai_addrlen = (curl_socklen_t)ss_size; ca->ai_addr = (void *)((char *)ca + sizeof(struct Curl_addrinfo)); memcpy(ca->ai_addr, &sa, ss_size); ca->ai_canonname = (char *)ca->ai_addr + ss_size; strcpy(ca->ai_canonname, name); ca->ai_next = get_localhost6(port, name); return ca; } #ifdef ENABLE_IPV6 /* * Curl_ipv6works() returns TRUE if IPv6 seems to work. */ |
︙ | ︙ | |||
575 576 577 578 579 580 581 582 583 584 585 586 587 588 | || Curl_inet_pton(AF_INET6, hostname, &in6) > 0 #endif ) return TRUE; return FALSE; } /* * Curl_resolv() is the main name resolve function within libcurl. It resolves * a name and returns a pointer to the entry in the 'entry' argument (if one * is provided). This function might return immediately if we're using asynch * resolves. See the return codes. * * The cache entry we return will get its 'inuse' counter increased when this | > > > > > > > > > > > | 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 | || Curl_inet_pton(AF_INET6, hostname, &in6) > 0 #endif ) return TRUE; return FALSE; } /* return TRUE if 'part' is a case insentive tail of 'full' */ static bool tailmatch(const char *full, const char *part) { size_t plen = strlen(part); size_t flen = strlen(full); if(plen > flen) return FALSE; return strncasecompare(part, &full[flen - plen], plen); } /* * Curl_resolv() is the main name resolve function within libcurl. It resolves * a name and returns a pointer to the entry in the 'entry' argument (if one * is provided). This function might return immediately if we're using asynch * resolves. See the return codes. * * The cache entry we return will get its 'inuse' counter increased when this |
︙ | ︙ | |||
693 694 695 696 697 698 699 | #endif /* !USE_RESOLVE_ON_IPS */ if(!addr) { if(conn->ip_version == CURL_IPRESOLVE_V6 && !Curl_ipv6works(data)) return CURLRESOLV_ERROR; | | > | | 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 | #endif /* !USE_RESOLVE_ON_IPS */ if(!addr) { if(conn->ip_version == CURL_IPRESOLVE_V6 && !Curl_ipv6works(data)) return CURLRESOLV_ERROR; if(strcasecompare(hostname, "localhost") || tailmatch(hostname, ".localhost")) addr = get_localhost(port, hostname); #ifndef CURL_DISABLE_DOH else if(allowDOH && data->set.doh && !ipnum) addr = Curl_doh(data, hostname, port, &respwait); #endif else { /* Check what IP specifics the app has requested and if we can provide * it. If not, bail out. */ |
︙ | ︙ | |||
968 969 970 971 972 973 974 | free(dns); } } /* * Curl_init_dnscache() inits a new DNS cache. */ | | | | 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 | free(dns); } } /* * Curl_init_dnscache() inits a new DNS cache. */ void Curl_init_dnscache(struct Curl_hash *hash, int size) { Curl_hash_init(hash, size, Curl_hash_str, Curl_str_key_compare, freednsentry); } /* * Curl_hostcache_clean() * * This _can_ be called with 'data' == NULL but then of course no locking |
︙ | ︙ |
Changes to jni/curl/lib/hostip.h.
︙ | ︙ | |||
128 129 130 131 132 133 134 | /* unlock a previously resolved dns entry */ void Curl_resolv_unlock(struct Curl_easy *data, struct Curl_dns_entry *dns); /* init a new dns cache */ | | | 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | /* unlock a previously resolved dns entry */ void Curl_resolv_unlock(struct Curl_easy *data, struct Curl_dns_entry *dns); /* init a new dns cache */ void Curl_init_dnscache(struct Curl_hash *hash, int hashsize); /* prune old entries from the DNS cache */ void Curl_hostcache_prune(struct Curl_easy *data); /* Return # of addresses in a Curl_addrinfo struct */ int Curl_num_addresses(const struct Curl_addrinfo *addr); |
︙ | ︙ |
Changes to jni/curl/lib/hostip4.c.
︙ | ︙ | |||
108 109 110 111 112 113 114 | infof(data, "Curl_ipv4_resolve_r failed for %s", hostname); return ai; } #endif /* CURLRES_SYNCH */ #endif /* CURLRES_IPV4 */ | | > | 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | infof(data, "Curl_ipv4_resolve_r failed for %s", hostname); return ai; } #endif /* CURLRES_SYNCH */ #endif /* CURLRES_IPV4 */ #if defined(CURLRES_IPV4) && \ !defined(CURLRES_ARES) && !defined(CURLRES_AMIGA) /* * Curl_ipv4_resolve_r() - ipv4 threadsafe resolver function. * * This is used for both synchronous and asynchronous resolver builds, * implying that only threadsafe code and function calls may be used. * |
︙ | ︙ | |||
293 294 295 296 297 298 299 | if(buf) /* used a *_r() function */ free(buf); } return ai; } | | > | 294 295 296 297 298 299 300 301 302 | if(buf) /* used a *_r() function */ free(buf); } return ai; } #endif /* defined(CURLRES_IPV4) && !defined(CURLRES_ARES) && !defined(CURLRES_AMIGA) */ |
Changes to jni/curl/lib/http.h.
︙ | ︙ | |||
223 224 225 226 227 228 229 | chunk, points to an allocated send_buffer struct */ #endif #ifdef USE_NGHTTP2 /*********** for HTTP/2 we store stream-local data here *************/ int32_t stream_id; /* stream we are interested in */ | < < > > > | 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 | chunk, points to an allocated send_buffer struct */ #endif #ifdef USE_NGHTTP2 /*********** for HTTP/2 we store stream-local data here *************/ int32_t stream_id; /* stream we are interested in */ /* We store non-final and final response headers here, per-stream */ struct dynbuf header_recvbuf; size_t nread_header_recvbuf; /* number of bytes in header_recvbuf fed into upper layer */ struct dynbuf trailer_recvbuf; const uint8_t *pausedata; /* pointer to data received in on_data_chunk */ size_t pauselen; /* the number of bytes left in data */ bool close_handled; /* TRUE if stream closure is handled by libcurl */ char **push_headers; /* allocated array */ size_t push_headers_used; /* number of entries filled in */ size_t push_headers_alloc; /* number of entries allocated */ uint32_t error; /* HTTP/2 stream error code */ #endif #if defined(USE_NGHTTP2) || defined(USE_NGHTTP3) bool bodystarted; int status_code; /* HTTP status code */ bool closed; /* TRUE on HTTP2 stream close */ char *mem; /* points to a buffer in memory to store received data */ size_t len; /* size of the buffer 'mem' points to */ size_t memlen; /* size of data copied to mem */ #endif #if defined(USE_NGHTTP2) || defined(ENABLE_QUIC) /* fields used by both HTTP/2 and HTTP/3 */ const uint8_t *upload_mem; /* points to a buffer to read from */ size_t upload_len; /* size of the buffer 'upload_mem' points to */ curl_off_t upload_left; /* number of bytes left to upload */ #endif #ifdef ENABLE_QUIC #ifndef USE_MSH3 /*********** for HTTP/3 we store stream-local data here *************/ int64_t stream3_id; /* stream we are interested in */ uint64_t error3; /* HTTP/3 stream error code */ bool firstheader; /* FALSE until headers arrive */ bool firstbody; /* FALSE until body arrives */ bool h3req; /* FALSE until request is issued */ #endif bool upload_done; #endif #ifdef USE_NGHTTP3 |
︙ | ︙ |
Changes to jni/curl/lib/http_aws_sigv4.c.
︙ | ︙ | |||
25 26 27 28 29 30 31 | #include "curl_setup.h" #if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_CRYPTO_AUTH) #include "urldata.h" #include "strcase.h" #include "strdup.h" | < < | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #include "curl_setup.h" #if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_CRYPTO_AUTH) #include "urldata.h" #include "strcase.h" #include "strdup.h" #include "http_aws_sigv4.h" #include "curl_sha256.h" #include "transfer.h" #include "strcase.h" #include "parsedate.h" #include "sendf.h" |
︙ | ︙ |
Changes to jni/curl/lib/http_chunks.c.
︙ | ︙ | |||
96 97 98 99 100 101 102 | * * This function always uses ASCII hex values to accommodate non-ASCII hosts. * For example, 0x0d and 0x0a are used instead of '\r' and '\n'. */ CHUNKcode Curl_httpchunk_read(struct Curl_easy *data, char *datap, ssize_t datalen, | | < | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | * * This function always uses ASCII hex values to accommodate non-ASCII hosts. * For example, 0x0d and 0x0a are used instead of '\r' and '\n'. */ CHUNKcode Curl_httpchunk_read(struct Curl_easy *data, char *datap, ssize_t datalen, ssize_t *wrote, CURLcode *extrap) { CURLcode result = CURLE_OK; struct connectdata *conn = data->conn; struct Curl_chunker *ch = &conn->chunk; struct SingleRequest *k = &data->req; size_t piece; curl_off_t length = (curl_off_t)datalen; *wrote = 0; /* nothing's written yet */ /* the original data is written to the client, but we go on with the chunk read process, to properly calculate the content length*/ if(data->set.http_te_skip && !k->ignorebody) { result = Curl_client_write(data, CLIENTWRITE_BODY, datap, datalen); |
︙ | ︙ |
Changes to jni/curl/lib/http_proxy.c.
︙ | ︙ | |||
388 389 390 391 392 393 394 | conn->writesockfd, /* socket to send to */ k->upload_fromhere, /* buffer pointer */ s->nsend, /* buffer size */ &bytes_written); /* actually sent */ if(!result) /* send to debug callback! */ | | | | 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 | conn->writesockfd, /* socket to send to */ k->upload_fromhere, /* buffer pointer */ s->nsend, /* buffer size */ &bytes_written); /* actually sent */ if(!result) /* send to debug callback! */ Curl_debug(data, CURLINFO_HEADER_OUT, k->upload_fromhere, bytes_written); s->nsend -= bytes_written; k->upload_fromhere += bytes_written; return result; } http->sending = HTTPSEND_NADA; /* if nothing left to send, continue */ |
︙ | ︙ |
Changes to jni/curl/lib/imap.c.
︙ | ︙ | |||
79 80 81 82 83 84 85 86 87 88 89 90 91 92 | #include "select.h" #include "multiif.h" #include "url.h" #include "strcase.h" #include "bufref.h" #include "curl_sasl.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" /* Local API functions */ | > | 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | #include "select.h" #include "multiif.h" #include "url.h" #include "strcase.h" #include "bufref.h" #include "curl_sasl.h" #include "warnless.h" #include "curl_ctype.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" /* Local API functions */ |
︙ | ︙ | |||
1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 | * imap_is_bchar() * * Portable test of whether the specified char is a "bchar" as defined in the * grammar of RFC-5092. */ static bool imap_is_bchar(char ch) { switch(ch) { /* bchar */ case ':': case '@': case '/': /* bchar -> achar */ case '&': case '=': | > > > > > | < < < < < < < < < < | 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 | * imap_is_bchar() * * Portable test of whether the specified char is a "bchar" as defined in the * grammar of RFC-5092. */ static bool imap_is_bchar(char ch) { /* Peforming the alnum check with this macro is faster because of ASCII artihmetic */ if(ISALNUM(ch)) return true; switch(ch) { /* bchar */ case ':': case '@': case '/': /* bchar -> achar */ case '&': case '=': /* bchar -> achar -> uchar -> unreserved (without alphanumeric) */ case '-': case '.': case '_': case '~': /* bchar -> achar -> uchar -> sub-delims-sh */ case '!': case '$': case '\'': case '(': case ')': case '*': case '+': case ',': /* bchar -> achar -> uchar -> pct-encoded */ case '%': /* HEXDIG chars are already included above */ return true; |
︙ | ︙ |
Changes to jni/curl/lib/ldap.c.
︙ | ︙ | |||
32 33 34 35 36 37 38 39 40 41 42 43 44 45 | * gets compiled is the code from openldap.c, otherwise the code that gets * compiled is the code from ldap.c. * * When USE_OPENLDAP is defined a recent version of the OpenLDAP library * might be required for compilation and runtime. In order to use ancient * OpenLDAP library versions, USE_OPENLDAP shall not be defined. */ #ifdef USE_WIN32_LDAP /* Use Windows LDAP implementation. */ # include <winldap.h> # ifndef LDAP_VENDOR_NAME # error Your Platform SDK is NOT sufficient for LDAP support! \ Update your Platform SDK, or disable LDAP support! # else | > > > > > > > > > > > > | 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 | * gets compiled is the code from openldap.c, otherwise the code that gets * compiled is the code from ldap.c. * * When USE_OPENLDAP is defined a recent version of the OpenLDAP library * might be required for compilation and runtime. In order to use ancient * OpenLDAP library versions, USE_OPENLDAP shall not be defined. */ /* Wincrypt must be included before anything that could include OpenSSL. */ #if defined(USE_WIN32_CRYPTO) #include <wincrypt.h> /* Undefine wincrypt conflicting symbols for BoringSSL. */ #undef X509_NAME #undef X509_EXTENSIONS #undef PKCS7_ISSUER_AND_SERIAL #undef PKCS7_SIGNER_INFO #undef OCSP_REQUEST #undef OCSP_RESPONSE #endif #ifdef USE_WIN32_LDAP /* Use Windows LDAP implementation. */ # include <winldap.h> # ifndef LDAP_VENDOR_NAME # error Your Platform SDK is NOT sufficient for LDAP support! \ Update your Platform SDK, or disable LDAP support! # else |
︙ | ︙ | |||
340 341 342 343 344 345 346 | #endif ldap_set_option(NULL, LDAP_OPT_PROTOCOL_VERSION, &ldap_proto); if(ldap_ssl) { #ifdef HAVE_LDAP_SSL #ifdef USE_WIN32_LDAP /* Win32 LDAP SDK doesn't support insecure mode without CA! */ | | | 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 | #endif ldap_set_option(NULL, LDAP_OPT_PROTOCOL_VERSION, &ldap_proto); if(ldap_ssl) { #ifdef HAVE_LDAP_SSL #ifdef USE_WIN32_LDAP /* Win32 LDAP SDK doesn't support insecure mode without CA! */ server = ldap_sslinit(host, conn->port, 1); ldap_set_option(server, LDAP_OPT_SSL, LDAP_OPT_ON); #else int ldap_option; char *ldap_ca = conn->ssl_config.CAfile; #if defined(CURL_HAS_NOVELL_LDAPSDK) rc = ldapssl_client_init(NULL, NULL); if(rc != LDAP_SUCCESS) { |
︙ | ︙ | |||
386 387 388 389 390 391 392 | rc = ldapssl_set_verify_mode(ldap_option); if(rc != LDAP_SUCCESS) { failf(data, "LDAP local: ERROR setting cert verify mode: %s", ldap_err2string(rc)); result = CURLE_SSL_CERTPROBLEM; goto quit; } | | | | 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 | rc = ldapssl_set_verify_mode(ldap_option); if(rc != LDAP_SUCCESS) { failf(data, "LDAP local: ERROR setting cert verify mode: %s", ldap_err2string(rc)); result = CURLE_SSL_CERTPROBLEM; goto quit; } server = ldapssl_init(host, conn->port, 1); if(!server) { failf(data, "LDAP local: Cannot connect to %s:%u", conn->host.dispname, conn->port); result = CURLE_COULDNT_CONNECT; goto quit; } #elif defined(LDAP_OPT_X_TLS) if(conn->ssl_config.verifypeer) { /* OpenLDAP SDK supports BASE64 files. */ |
︙ | ︙ | |||
427 428 429 430 431 432 433 | rc = ldap_set_option(NULL, LDAP_OPT_X_TLS_REQUIRE_CERT, &ldap_option); if(rc != LDAP_SUCCESS) { failf(data, "LDAP local: ERROR setting cert verify mode: %s", ldap_err2string(rc)); result = CURLE_SSL_CERTPROBLEM; goto quit; } | | | | 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 | rc = ldap_set_option(NULL, LDAP_OPT_X_TLS_REQUIRE_CERT, &ldap_option); if(rc != LDAP_SUCCESS) { failf(data, "LDAP local: ERROR setting cert verify mode: %s", ldap_err2string(rc)); result = CURLE_SSL_CERTPROBLEM; goto quit; } server = ldap_init(host, conn->port); if(!server) { failf(data, "LDAP local: Cannot connect to %s:%u", conn->host.dispname, conn->port); result = CURLE_COULDNT_CONNECT; goto quit; } ldap_option = LDAP_OPT_X_TLS_HARD; rc = ldap_set_option(server, LDAP_OPT_X_TLS, &ldap_option); if(rc != LDAP_SUCCESS) { |
︙ | ︙ | |||
468 469 470 471 472 473 474 | } else if(data->set.use_ssl > CURLUSESSL_TRY) { failf(data, "LDAP local: explicit TLS not supported"); result = CURLE_NOT_BUILT_IN; goto quit; } else { | | | | 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 | } else if(data->set.use_ssl > CURLUSESSL_TRY) { failf(data, "LDAP local: explicit TLS not supported"); result = CURLE_NOT_BUILT_IN; goto quit; } else { server = ldap_init(host, conn->port); if(!server) { failf(data, "LDAP local: Cannot connect to %s:%u", conn->host.dispname, conn->port); result = CURLE_COULDNT_CONNECT; goto quit; } } #ifdef USE_WIN32_LDAP ldap_set_option(server, LDAP_OPT_PROTOCOL_VERSION, &ldap_proto); |
︙ | ︙ |
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.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.curl.libcurl</string> <key>CFBundleVersion</key> <string>7.85.0-DEV</string> <key>CFBundleName</key> <string>libcurl</string> <key>CFBundlePackageType</key> <string>FMWK</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleShortVersionString</key> <string>libcurl 7.85.0-DEV</string> <key>CFBundleGetInfoString</key> <string>libcurl.plist 7.85.0-DEV</string> </dict> </plist> |
Changes to jni/curl/lib/md4.c.
︙ | ︙ | |||
28 29 30 31 32 33 34 | #include "curl_md4.h" #include "warnless.h" #ifdef USE_OPENSSL #include <openssl/opensslconf.h> | | > | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #include "curl_md4.h" #include "warnless.h" #ifdef USE_OPENSSL #include <openssl/opensslconf.h> #if defined(OPENSSL_VERSION_MAJOR) && (OPENSSL_VERSION_MAJOR >= 3) && \ !defined(USE_AMISSL) /* OpenSSL 3.0.0 marks the MD4 functions as deprecated */ #define OPENSSL_NO_MD4 #endif #endif /* USE_OPENSSL */ #ifdef USE_WOLFSSL #include <wolfssl/options.h> |
︙ | ︙ |
Changes to jni/curl/lib/md5.c.
︙ | ︙ | |||
37 38 39 40 41 42 43 | #if(MBEDTLS_VERSION_NUMBER >= 0x02070000) && \ (MBEDTLS_VERSION_NUMBER < 0x03000000) #define HAS_MBEDTLS_RESULT_CODE_BASED_FUNCTIONS #endif #endif /* USE_MBEDTLS */ | | | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #if(MBEDTLS_VERSION_NUMBER >= 0x02070000) && \ (MBEDTLS_VERSION_NUMBER < 0x03000000) #define HAS_MBEDTLS_RESULT_CODE_BASED_FUNCTIONS #endif #endif /* USE_MBEDTLS */ #ifdef USE_OPENSSL #include <openssl/opensslconf.h> #if !defined(OPENSSL_NO_MD5) && !defined(OPENSSL_NO_DEPRECATED_3_0) #define USE_OPENSSL_MD5 #endif #endif #ifdef USE_WOLFSSL |
︙ | ︙ |
Changes to jni/curl/lib/memdebug.c.
︙ | ︙ | |||
125 126 127 128 129 130 131 | } return FALSE; /* allow this */ } | | > | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | } return FALSE; /* allow this */ } ALLOC_FUNC 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)) |
︙ | ︙ | |||
151 152 153 154 155 156 157 | curl_dbg_log("MEM %s:%d malloc(%zu) = %p\n", source, line, wantedsize, mem ? (void *)mem->mem : (void *)0); return (mem ? mem->mem : NULL); } | | | | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | curl_dbg_log("MEM %s:%d malloc(%zu) = %p\n", source, line, wantedsize, mem ? (void *)mem->mem : (void *)0); return (mem ? mem->mem : NULL); } ALLOC_FUNC 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); |
︙ | ︙ | |||
179 180 181 182 183 184 185 | 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); } | | > | 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 | 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); } ALLOC_FUNC 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)) |
︙ | ︙ | |||
203 204 205 206 207 208 209 | 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) | | > | 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 | 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) ALLOC_FUNC 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)) |
︙ | ︙ | |||
406 407 408 409 410 411 412 | 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; } | | | | | | 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 | 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; } ALLOC_FUNC 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; } ALLOC_FUNC FILE *curl_dbg_fdopen(int filedes, const char *mode, int line, const char *source) { FILE *res = fdopen(filedes, mode); if(source) curl_dbg_log("FILE %s:%d fdopen(\"%d\",\"%s\") = %p\n", source, line, filedes, mode, (void *)res); return res; } |
︙ | ︙ |
Changes to jni/curl/lib/memdebug.h.
︙ | ︙ | |||
25 26 27 28 29 30 31 32 33 34 35 36 37 | * ***************************************************************************/ /* * 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 */ | > > > > > > > > > > > > > > | | | > > | > > | | > | > | | 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 | * ***************************************************************************/ /* * CAUTION: this header is designed to work when included by the app-side * as well as the library. Do not mix with library internals! */ #if defined(__GNUC__) && __GNUC__ >= 3 # define ALLOC_FUNC __attribute__((malloc)) # define ALLOC_SIZE(s) __attribute__((alloc_size(s))) # define ALLOC_SIZE2(n, s) __attribute__((alloc_size(n, s))) #elif defined(_MSC_VER) # define ALLOC_FUNC __declspec(restrict) # define ALLOC_SIZE(s) # define ALLOC_SIZE2(n, s) #else # define ALLOC_FUNC # define ALLOC_SIZE(s) # define ALLOC_SIZE2(n, s) #endif #define CURL_MT_LOGFNAME_BUFSIZE 512 extern FILE *curl_dbg_logfile; /* memory functions */ CURL_EXTERN ALLOC_FUNC ALLOC_SIZE(1) void *curl_dbg_malloc(size_t size, int line, const char *source); CURL_EXTERN ALLOC_FUNC ALLOC_SIZE2(1, 2) void *curl_dbg_calloc(size_t elements, size_t size, int line, const char *source); CURL_EXTERN ALLOC_SIZE(2) 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 ALLOC_FUNC char *curl_dbg_strdup(const char *str, int line, const char *src); #if defined(WIN32) && defined(UNICODE) CURL_EXTERN ALLOC_FUNC 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 */ |
︙ | ︙ | |||
75 76 77 78 79 80 81 | 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 */ | | | | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | 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 ALLOC_FUNC FILE *curl_dbg_fopen(const char *file, const char *mode, int line, const char *source); CURL_EXTERN ALLOC_FUNC FILE *curl_dbg_fdopen(int filedes, 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 |
︙ | ︙ |
Changes to jni/curl/lib/mprintf.c.
︙ | ︙ | |||
590 591 592 593 594 595 596 | /* 'workend' points to the final buffer byte position, but with an extra byte as margin to avoid the (false?) warning Coverity gives us otherwise */ char *workend = &work[sizeof(work) - 2]; /* Do the actual %-code parsing */ if(dprintf_Pass1(format, vto, endpos, ap_save)) | | | 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 | /* 'workend' points to the final buffer byte position, but with an extra byte as margin to avoid the (false?) warning Coverity gives us otherwise */ char *workend = &work[sizeof(work) - 2]; /* Do the actual %-code parsing */ if(dprintf_Pass1(format, vto, endpos, ap_save)) return 0; end = &endpos[0]; /* the initial end-position from the list dprintf_Pass1() created for us */ f = (char *)format; while(*f != '\0') { /* Format spec modifiers. */ |
︙ | ︙ | |||
1021 1022 1023 1024 1025 1026 1027 | struct nsprintf info; info.buffer = buffer; info.length = 0; info.max = maxlength; retcode = dprintf_formatf(&info, addbyter, format, ap_save); | | > | 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 | struct nsprintf info; info.buffer = buffer; info.length = 0; info.max = maxlength; retcode = dprintf_formatf(&info, addbyter, format, ap_save); if(info.max) { /* we terminate this with a zero byte */ if(info.max == info.length) { /* we're at maximum, scrap the last letter */ info.buffer[-1] = 0; DEBUGASSERT(retcode); retcode--; /* don't count the nul byte */ } else info.buffer[0] = 0; } return retcode; } |
︙ | ︙ | |||
1063 1064 1065 1066 1067 1068 1069 | extern int Curl_dyn_vprintf(struct dynbuf *dyn, const char *format, va_list ap_save); /* appends the formatted string, returns 0 on success, 1 on error */ int Curl_dyn_vprintf(struct dynbuf *dyn, const char *format, va_list ap_save) { | < | | < | | | 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 | extern int Curl_dyn_vprintf(struct dynbuf *dyn, const char *format, va_list ap_save); /* appends the formatted string, returns 0 on success, 1 on error */ int Curl_dyn_vprintf(struct dynbuf *dyn, const char *format, va_list ap_save) { struct asprintf info; info.b = dyn; info.fail = 0; (void)dprintf_formatf(&info, alloc_addbyter, format, ap_save); if(info.fail) { Curl_dyn_free(info.b); return 1; } return 0; } char *curl_mvaprintf(const char *format, va_list ap_save) { struct asprintf info; struct dynbuf dyn; info.b = &dyn; Curl_dyn_init(info.b, DYN_APRINTF); info.fail = 0; (void)dprintf_formatf(&info, alloc_addbyter, format, ap_save); if(info.fail) { Curl_dyn_free(info.b); return NULL; } if(Curl_dyn_len(info.b)) return Curl_dyn_ptr(info.b); return strdup(""); } |
︙ | ︙ |
Changes to jni/curl/lib/multi.c.
︙ | ︙ | |||
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 | #include "socketpair.h" #include "socks.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" /* CURL_SOCKET_HASH_TABLE_SIZE should be a prime number. Increasing it from 97 to 911 takes on a 32-bit machine 4 x 804 = 3211 more bytes. Still, every CURL handle takes 45-50 K memory, therefore this 3K are not significant. */ #ifndef CURL_SOCKET_HASH_TABLE_SIZE #define CURL_SOCKET_HASH_TABLE_SIZE 911 #endif #ifndef CURL_CONNECTION_HASH_SIZE #define CURL_CONNECTION_HASH_SIZE 97 #endif #define CURL_MULTI_HANDLE 0x000bab1e #define GOOD_MULTI_HANDLE(x) \ ((x) && (x)->magic == CURL_MULTI_HANDLE) static CURLMcode singlesocket(struct Curl_multi *multi, | > > > > > > > > > > > > > > > > > > > > | 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 | #include "socketpair.h" #include "socks.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" #ifdef __APPLE__ #define wakeup_write write #define wakeup_read read #define wakeup_close close #define wakeup_create pipe #else /* __APPLE__ */ #define wakeup_write swrite #define wakeup_read sread #define wakeup_close sclose #define wakeup_create(p) Curl_socketpair(AF_UNIX, SOCK_STREAM, 0, p) #endif /* __APPLE__ */ /* CURL_SOCKET_HASH_TABLE_SIZE should be a prime number. Increasing it from 97 to 911 takes on a 32-bit machine 4 x 804 = 3211 more bytes. Still, every CURL handle takes 45-50 K memory, therefore this 3K are not significant. */ #ifndef CURL_SOCKET_HASH_TABLE_SIZE #define CURL_SOCKET_HASH_TABLE_SIZE 911 #endif #ifndef CURL_CONNECTION_HASH_SIZE #define CURL_CONNECTION_HASH_SIZE 97 #endif #ifndef CURL_DNS_HASH_SIZE #define CURL_DNS_HASH_SIZE 71 #endif #define CURL_MULTI_HANDLE 0x000bab1e #define GOOD_MULTI_HANDLE(x) \ ((x) && (x)->magic == CURL_MULTI_HANDLE) static CURLMcode singlesocket(struct Curl_multi *multi, |
︙ | ︙ | |||
368 369 370 371 372 373 374 | { Curl_llist_insert_next(&multi->msglist, multi->msglist.tail, msg, &msg->list); return CURLM_OK; } struct Curl_multi *Curl_multi_handle(int hashsize, /* socket hash */ | | > | | 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 | { Curl_llist_insert_next(&multi->msglist, multi->msglist.tail, msg, &msg->list); return CURLM_OK; } struct Curl_multi *Curl_multi_handle(int hashsize, /* socket hash */ int chashsize, /* connection hash */ int dnssize) /* dns hash */ { struct Curl_multi *multi = calloc(1, sizeof(struct Curl_multi)); if(!multi) return NULL; multi->magic = CURL_MULTI_HANDLE; Curl_init_dnscache(&multi->hostcache, dnssize); sh_init(&multi->sockhash, hashsize); if(Curl_conncache_init(&multi->conn_cache, chashsize)) goto error; Curl_llist_init(&multi->msglist, NULL); |
︙ | ︙ | |||
400 401 402 403 404 405 406 | #ifdef USE_WINSOCK multi->wsa_event = WSACreateEvent(); if(multi->wsa_event == WSA_INVALID_EVENT) goto error; #else #ifdef ENABLE_WAKEUP | | | | | 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 | #ifdef USE_WINSOCK multi->wsa_event = WSACreateEvent(); if(multi->wsa_event == WSA_INVALID_EVENT) goto error; #else #ifdef ENABLE_WAKEUP if(wakeup_create(multi->wakeup_pair) < 0) { multi->wakeup_pair[0] = CURL_SOCKET_BAD; multi->wakeup_pair[1] = CURL_SOCKET_BAD; } else if(curlx_nonblock(multi->wakeup_pair[0], TRUE) < 0 || curlx_nonblock(multi->wakeup_pair[1], TRUE) < 0) { wakeup_close(multi->wakeup_pair[0]); wakeup_close(multi->wakeup_pair[1]); multi->wakeup_pair[0] = CURL_SOCKET_BAD; multi->wakeup_pair[1] = CURL_SOCKET_BAD; } #endif #endif return multi; |
︙ | ︙ | |||
431 432 433 434 435 436 437 | free(multi); return NULL; } struct Curl_multi *curl_multi_init(void) { return Curl_multi_handle(CURL_SOCKET_HASH_TABLE_SIZE, | | > | 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 | free(multi); return NULL; } struct Curl_multi *curl_multi_init(void) { return Curl_multi_handle(CURL_SOCKET_HASH_TABLE_SIZE, CURL_CONNECTION_HASH_SIZE, CURL_DNS_HASH_SIZE); } CURLMcode curl_multi_add_handle(struct Curl_multi *multi, struct Curl_easy *data) { CURLMcode rc; /* First, make some basic checks that the CURLM handle is a good handle */ |
︙ | ︙ | |||
625 626 627 628 629 630 631 | result = conn->handler->done(data, status, premature); else result = status; if(CURLE_ABORTED_BY_CALLBACK != result) { /* avoid this if we already aborted by callback to avoid this calling another callback */ | | | 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 | result = conn->handler->done(data, status, premature); else result = status; if(CURLE_ABORTED_BY_CALLBACK != result) { /* avoid this if we already aborted by callback to avoid this calling another callback */ int rc = Curl_pgrsDone(data); if(!result && rc) result = CURLE_ABORTED_BY_CALLBACK; } process_pending_handles(data->multi); /* connection / multiplex */ CONNCACHE_LOCK(data); |
︙ | ︙ | |||
823 824 825 826 827 828 829 830 831 832 833 834 835 836 | /* This ignores the return code even in case of problems because there's nothing more to do about that, here */ (void)singlesocket(multi, easy); /* to let the application know what sockets that vanish with this handle */ /* Remove the association between the connection and the handle */ Curl_detach_connection(data); if(data->state.lastconnect_id != -1) { /* Mark any connect-only connection for closure */ Curl_conncache_foreach(data, data->state.conn_cache, NULL, close_connect_only); } | > > > > > > > > > > > > > > > > > > | 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 | /* This ignores the return code even in case of problems because there's nothing more to do about that, here */ (void)singlesocket(multi, easy); /* to let the application know what sockets that vanish with this handle */ /* Remove the association between the connection and the handle */ Curl_detach_connection(data); if(data->set.connect_only && !data->multi_easy) { /* This removes a handle that was part the multi inteface that used CONNECT_ONLY, that connection is now left alive but since this handle has bits.close set nothing can use that transfer anymore and it is forbidden from reuse. And this easy handle cannot find the connection anymore once removed from the multi handle Better close the connection here, at once. */ struct connectdata *c; curl_socket_t s; s = Curl_getconnectinfo(data, &c); if((s != CURL_SOCKET_BAD) && c) { Curl_conncache_remove_conn(data, c, TRUE); Curl_disconnect(data, c, TRUE); } } if(data->state.lastconnect_id != -1) { /* Mark any connect-only connection for closure */ Curl_conncache_foreach(data, data->state.conn_cache, NULL, close_connect_only); } |
︙ | ︙ | |||
1305 1306 1307 1308 1309 1310 1311 | #endif int pollrc; #ifdef USE_WINSOCK if(nfds) pollrc = Curl_poll(ufds, nfds, 0); /* just pre-check with WinSock */ else pollrc = 0; | < < > > > > | | | | > > | 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 | #endif int pollrc; #ifdef USE_WINSOCK if(nfds) pollrc = Curl_poll(ufds, nfds, 0); /* just pre-check with WinSock */ else pollrc = 0; #else pollrc = Curl_poll(ufds, nfds, timeout_ms); /* wait... */ #endif if(pollrc < 0) return CURLM_UNRECOVERABLE_POLL; if(pollrc > 0) { retcode = pollrc; #ifdef USE_WINSOCK } else { /* now wait... if not ready during the pre-check (pollrc == 0) */ WSAWaitForMultipleEvents(1, &multi->wsa_event, FALSE, timeout_ms, FALSE); } /* With WinSock, we have to run the following section unconditionally to call WSAEventSelect(fd, event, 0) on all the sockets */ { #endif /* copy revents results from the poll to the curl_multi_wait poll struct, the bit values of the actual underlying poll() implementation may not be the same as the ones in the public libcurl API! */ for(i = 0; i < extra_nfds; i++) { unsigned r = ufds[curlfds + i].revents; unsigned short mask = 0; #ifdef USE_WINSOCK curl_socket_t s = extra_fds[i].fd; wsa_events.lNetworkEvents = 0; if(WSAEnumNetworkEvents(s, NULL, &wsa_events) == 0) { if(wsa_events.lNetworkEvents & (FD_READ|FD_ACCEPT|FD_CLOSE)) mask |= CURL_WAIT_POLLIN; if(wsa_events.lNetworkEvents & (FD_WRITE|FD_CONNECT|FD_CLOSE)) mask |= CURL_WAIT_POLLOUT; if(wsa_events.lNetworkEvents & FD_OOB) mask |= CURL_WAIT_POLLPRI; if(ret && !pollrc && wsa_events.lNetworkEvents) retcode++; } WSAEventSelect(s, multi->wsa_event, 0); if(!pollrc) { extra_fds[i].revents = mask; continue; } #endif if(r & POLLIN) mask |= CURL_WAIT_POLLIN; if(r & POLLOUT) mask |= CURL_WAIT_POLLOUT; if(r & POLLPRI) mask |= CURL_WAIT_POLLPRI; |
︙ | ︙ | |||
1364 1365 1366 1367 1368 1369 1370 | while(data) { bitmap = multi_getsock(data, sockbunch); for(i = 0; i < MAX_SOCKSPEREASYHANDLE; i++) { if(bitmap & (GETSOCK_READSOCK(i) | GETSOCK_WRITESOCK(i))) { wsa_events.lNetworkEvents = 0; if(WSAEnumNetworkEvents(sockbunch[i], NULL, &wsa_events) == 0) { | | | 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 | while(data) { bitmap = multi_getsock(data, sockbunch); for(i = 0; i < MAX_SOCKSPEREASYHANDLE; i++) { if(bitmap & (GETSOCK_READSOCK(i) | GETSOCK_WRITESOCK(i))) { wsa_events.lNetworkEvents = 0; if(WSAEnumNetworkEvents(sockbunch[i], NULL, &wsa_events) == 0) { if(ret && !pollrc && wsa_events.lNetworkEvents) retcode++; } WSAEventSelect(sockbunch[i], multi->wsa_event, 0); } else { /* break on entry not checked for being readable or writable */ break; |
︙ | ︙ | |||
1391 1392 1393 1394 1395 1396 1397 | char buf[64]; ssize_t nread; while(1) { /* the reading socket is non-blocking, try to read data from it until it receives an error (except EINTR). In normal cases it will get EAGAIN or EWOULDBLOCK when there is no more data, breaking the loop. */ | | | 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 | char buf[64]; ssize_t nread; while(1) { /* the reading socket is non-blocking, try to read data from it until it receives an error (except EINTR). In normal cases it will get EAGAIN or EWOULDBLOCK when there is no more data, breaking the loop. */ nread = wakeup_read(multi->wakeup_pair[0], buf, sizeof(buf)); if(nread <= 0) { if(nread < 0 && EINTR == SOCKERRNO) continue; break; } } /* do not count the wakeup socket into the returned value */ |
︙ | ︙ | |||
1484 1485 1486 1487 1488 1489 1490 | of the messages does not matter, which makes it ok to call. The write socket is set to non-blocking, this way this function cannot block, making it safe to call even from the same thread that will call curl_multi_wait(). If swrite() returns that it would block, it's considered successful because it means that previous calls to this function will wake up the poll(). */ | | | 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 | of the messages does not matter, which makes it ok to call. The write socket is set to non-blocking, this way this function cannot block, making it safe to call even from the same thread that will call curl_multi_wait(). If swrite() returns that it would block, it's considered successful because it means that previous calls to this function will wake up the poll(). */ if(wakeup_write(multi->wakeup_pair[1], buf, sizeof(buf)) < 0) { int err = SOCKERRNO; int return_success; #ifdef USE_WINSOCK return_success = WSAEWOULDBLOCK == err; #else if(EINTR == err) continue; |
︙ | ︙ | |||
2720 2721 2722 2723 2724 2725 2726 | Curl_hash_destroy(&multi->hostcache); Curl_psl_destroy(&multi->psl); #ifdef USE_WINSOCK WSACloseEvent(multi->wsa_event); #else #ifdef ENABLE_WAKEUP | | | | 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 | Curl_hash_destroy(&multi->hostcache); Curl_psl_destroy(&multi->psl); #ifdef USE_WINSOCK WSACloseEvent(multi->wsa_event); #else #ifdef ENABLE_WAKEUP wakeup_close(multi->wakeup_pair[0]); wakeup_close(multi->wakeup_pair[1]); #endif #endif free(multi); return CURLM_OK; } return CURLM_BAD_HANDLE; |
︙ | ︙ |
Changes to jni/curl/lib/multiif.h.
︙ | ︙ | |||
38 39 40 41 42 43 44 | void Curl_detach_connection(struct Curl_easy *data); bool Curl_multiplex_wanted(const struct Curl_multi *multi); void Curl_set_in_callback(struct Curl_easy *data, bool value); bool Curl_is_in_callback(struct Curl_easy *easy); CURLcode Curl_preconnect(struct Curl_easy *data); /* Internal version of curl_multi_init() accepts size parameters for the | | | > | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | void Curl_detach_connection(struct Curl_easy *data); bool Curl_multiplex_wanted(const struct Curl_multi *multi); void Curl_set_in_callback(struct Curl_easy *data, bool value); bool Curl_is_in_callback(struct Curl_easy *easy); CURLcode Curl_preconnect(struct Curl_easy *data); /* Internal version of curl_multi_init() accepts size parameters for the socket, connection and dns hashes */ struct Curl_multi *Curl_multi_handle(int hashsize, int chashsize, int dnssize); /* the write bits start at bit 16 for the *getsock() bitmap */ #define GETSOCK_WRITEBITSTART 16 #define GETSOCK_BLANK 0 /* no bits set */ /* set the bit for the given sock number to make the bitmap for writable */ |
︙ | ︙ |
Changes to jni/curl/lib/netrc.c.
︙ | ︙ | |||
69 70 71 72 73 74 75 | bool specific_login = (login && *login != 0); bool login_alloc = FALSE; bool password_alloc = FALSE; enum host_lookup_state state = NOTHING; char state_login = 0; /* Found a login keyword */ char state_password = 0; /* Found a password keyword */ | | | | 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | bool specific_login = (login && *login != 0); bool login_alloc = FALSE; bool password_alloc = FALSE; enum host_lookup_state state = NOTHING; char state_login = 0; /* Found a login keyword */ char state_password = 0; /* Found a password keyword */ int state_our_login = TRUE; /* With specific_login, found *our* login name (or login-less line) */ DEBUGASSERT(netrcfile); file = fopen(netrcfile, FOPEN_READTEXT); if(file) { bool done = FALSE; char netrcbuffer[4096]; |
︙ | ︙ |
Changes to jni/curl/lib/pingpong.c.
︙ | ︙ | |||
394 395 396 397 398 399 400 | restart = TRUE; DEBUGF(infof(data, "Curl_pp_readresp_ %d bytes of trailing " "server response left", (int)clipamount)); } else if(keepon) { | | > | 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 | restart = TRUE; DEBUGF(infof(data, "Curl_pp_readresp_ %d bytes of trailing " "server response left", (int)clipamount)); } else if(keepon) { if((perline == gotbytes) && (gotbytes > (ssize_t)data->set.buffer_size/2)) { /* We got an excessive line without newlines and we need to deal with it. We keep the first bytes of the line then we throw away the rest. */ infof(data, "Excessive server response line length received, " "%zd bytes. Stripping", gotbytes); restart = TRUE; |
︙ | ︙ |
Changes to jni/curl/lib/select.c.
︙ | ︙ | |||
306 307 308 309 310 311 312 | if(timeout_ms > 0) pending_ms = (int)timeout_ms; else if(timeout_ms < 0) pending_ms = -1; else pending_ms = 0; r = poll(ufds, nfds, pending_ms); | | > > > > | 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 | if(timeout_ms > 0) pending_ms = (int)timeout_ms; else if(timeout_ms < 0) pending_ms = -1; else pending_ms = 0; r = poll(ufds, nfds, pending_ms); if(r <= 0) { if((r == -1) && (SOCKERRNO == EINTR)) /* make EINTR from select or poll not a "lethal" error */ r = 0; return r; } for(i = 0; i < nfds; i++) { if(ufds[i].fd == CURL_SOCKET_BAD) continue; if(ufds[i].revents & POLLHUP) ufds[i].revents |= POLLIN; if(ufds[i].revents & POLLERR) |
︙ | ︙ |
Changes to jni/curl/lib/sendf.c.
︙ | ︙ | |||
241 242 243 244 245 246 247 | #define MAXINFO 2048 void Curl_infof(struct Curl_easy *data, const char *fmt, ...) { DEBUGASSERT(!strchr(fmt, '\n')); if(data && data->set.verbose) { va_list ap; | | | | 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 | #define MAXINFO 2048 void Curl_infof(struct Curl_easy *data, const char *fmt, ...) { DEBUGASSERT(!strchr(fmt, '\n')); if(data && data->set.verbose) { va_list ap; int len; char buffer[MAXINFO + 2]; va_start(ap, fmt); len = mvsnprintf(buffer, MAXINFO, fmt, ap); va_end(ap); buffer[len++] = '\n'; buffer[len] = '\0'; Curl_debug(data, CURLINFO_TEXT, buffer, len); } } /* Curl_failf() is for messages stating why we failed. * The message SHALL NOT include any LF or CR. */ void Curl_failf(struct Curl_easy *data, const char *fmt, ...) { DEBUGASSERT(!strchr(fmt, '\n')); if(data->set.verbose || data->set.errorbuffer) { va_list ap; int len; char error[CURL_ERROR_SIZE + 2]; va_start(ap, fmt); len = mvsnprintf(error, CURL_ERROR_SIZE, fmt, ap); if(data->set.errorbuffer && !data->state.errorbuf) { strcpy(data->set.errorbuffer, error); data->state.errorbuf = TRUE; /* wrote error string */ |
︙ | ︙ | |||
492 493 494 495 496 497 498 499 500 501 502 503 504 505 | if(s->tempwrite[i].type == type) { /* data for this type exists */ newtype = FALSE; break; } } DEBUGASSERT(i < 3); } else i = 0; if(newtype) { /* store this information in the state struct for later use */ Curl_dyn_init(&s->tempwrite[i].b, DYN_PAUSE_BUFFER); | > > > | 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 | if(s->tempwrite[i].type == type) { /* data for this type exists */ newtype = FALSE; break; } } DEBUGASSERT(i < 3); if(i >= 3) /* There are more types to store than what fits: very bad */ return CURLE_OUT_OF_MEMORY; } else i = 0; if(newtype) { /* store this information in the state struct for later use */ Curl_dyn_init(&s->tempwrite[i].b, DYN_PAUSE_BUFFER); |
︙ | ︙ | |||
579 580 581 582 583 584 585 586 587 588 | } } ptr += chunklen; len -= chunklen; } /* HTTP header, but not status-line */ if((conn->handler->protocol & PROTO_FAMILY_HTTP) && (type & CLIENTWRITE_HEADER) && !(type & CLIENTWRITE_STATUS) ) { | > | < | | | | > > | | > > | 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 | } } ptr += chunklen; len -= chunklen; } #ifndef CURL_DISABLE_HTTP /* HTTP header, but not status-line */ if((conn->handler->protocol & PROTO_FAMILY_HTTP) && (type & CLIENTWRITE_HEADER) && !(type & CLIENTWRITE_STATUS) ) { unsigned char htype = (unsigned char) (type & CLIENTWRITE_CONNECT ? CURLH_CONNECT : (type & CLIENTWRITE_1XX ? CURLH_1XX : (type & CLIENTWRITE_TRAILER ? CURLH_TRAILER : CURLH_HEADER))); CURLcode result = Curl_headers_push(data, optr, htype); if(result) return result; } #endif if(writeheader) { size_t wrote; Curl_set_in_callback(data, true); wrote = writeheader(optr, 1, olen, data->set.writeheader); Curl_set_in_callback(data, false); if(CURL_WRITEFUNC_PAUSE == wrote) /* here we pass in the HEADER bit only since if this was body as well then it was passed already and clearly that didn't trigger the pause, so this is saved for later with the HEADER bit only */ return pausewrite(data, CLIENTWRITE_HEADER | (type & (CLIENTWRITE_STATUS|CLIENTWRITE_CONNECT| CLIENTWRITE_1XX|CLIENTWRITE_TRAILER)), optr, olen); if(wrote != olen) { failf(data, "Failed writing header"); return CURLE_WRITE_ERROR; } } return CURLE_OK; |
︙ | ︙ | |||
705 706 707 708 709 710 711 | *n += nread; return CURLE_OK; } /* return 0 on success */ | | | < | < | 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 | *n += nread; return CURLE_OK; } /* return 0 on success */ void Curl_debug(struct Curl_easy *data, curl_infotype type, char *ptr, size_t size) { if(data->set.verbose) { static const char s_infotype[CURLINFO_END][3] = { "* ", "< ", "> ", "{ ", "} ", "{ ", "} " }; if(data->set.fdebug) { Curl_set_in_callback(data, true); (void)(*data->set.fdebug)(data, type, ptr, size, data->set.debugdata); Curl_set_in_callback(data, false); } else { switch(type) { case CURLINFO_TEXT: case CURLINFO_HEADER_OUT: case CURLINFO_HEADER_IN: fwrite(s_infotype[type], 2, 1, data->set.err); fwrite(ptr, size, 1, data->set.err); break; default: /* nada */ break; } } } } |
Changes to jni/curl/lib/sendf.h.
︙ | ︙ | |||
85 86 87 88 89 90 91 | /* internal write-function, does plain sockets ONLY */ CURLcode Curl_write_plain(struct Curl_easy *data, curl_socket_t sockfd, const void *mem, size_t len, ssize_t *written); /* the function used to output verbose information */ | | | | 85 86 87 88 89 90 91 92 93 94 95 96 | /* internal write-function, does plain sockets ONLY */ CURLcode Curl_write_plain(struct Curl_easy *data, curl_socket_t sockfd, const void *mem, size_t len, ssize_t *written); /* the function used to output verbose information */ void Curl_debug(struct Curl_easy *data, curl_infotype type, char *ptr, size_t size); #endif /* HEADER_CURL_SENDF_H */ |
Changes to jni/curl/lib/setopt.c.
︙ | ︙ | |||
143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 | } return result; } #define C_SSLVERSION_VALUE(x) (x & 0xffff) #define C_SSLVERSION_MAX_VALUE(x) (x & 0xffff0000) /* * Do not make Curl_vsetopt() static: it is called from * packages/OS400/ccsidcurl.c. */ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param) { char *argptr; CURLcode result = CURLE_OK; long arg; | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > < < > > > | | 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 | } return result; } #define C_SSLVERSION_VALUE(x) (x & 0xffff) #define C_SSLVERSION_MAX_VALUE(x) (x & 0xffff0000) static CURLcode protocol2num(char *str, curl_off_t *val) { bool found_comma = FALSE; static struct scheme { const char *name; long bit; } const protos[] = { { "dict", CURLPROTO_DICT }, { "file", CURLPROTO_FILE }, { "ftp", CURLPROTO_FTP }, { "ftps", CURLPROTO_FTPS }, { "gopher", CURLPROTO_GOPHER }, { "gophers", CURLPROTO_GOPHERS }, { "http", CURLPROTO_HTTP }, { "https", CURLPROTO_HTTPS }, { "imap", CURLPROTO_IMAP }, { "imaps", CURLPROTO_IMAPS }, { "ldap", CURLPROTO_LDAP }, { "ldaps", CURLPROTO_LDAPS }, { "mqtt", CURLPROTO_MQTT }, { "pop3", CURLPROTO_POP3 }, { "pop3s", CURLPROTO_POP3S }, { "rtmp", CURLPROTO_RTMP }, { "rtmpe", CURLPROTO_RTMPE }, { "rtmps", CURLPROTO_RTMPS }, { "rtmpt", CURLPROTO_RTMPT }, { "rtmpte", CURLPROTO_RTMPTE }, { "rtmpts", CURLPROTO_RTMPTS }, { "rtsp", CURLPROTO_RTSP }, { "scp", CURLPROTO_SCP }, { "sftp", CURLPROTO_SFTP }, { "smb", CURLPROTO_SMB }, { "smbs", CURLPROTO_SMBS }, { "smtp", CURLPROTO_SMTP }, { "smtps", CURLPROTO_SMTPS }, { "telnet", CURLPROTO_TELNET }, { "tftp", CURLPROTO_TFTP }, { NULL, 0 } }; if(!str) return CURLE_BAD_FUNCTION_ARGUMENT; else if(curl_strequal(str, "all")) { *val = ~0; return CURLE_OK; } *val = 0; do { size_t tlen; struct scheme const *pp; char *token; token = strchr(str, ','); found_comma = token ? TRUE : FALSE; if(!token) token = strchr(str, '\0'); tlen = token - str; if(tlen) { for(pp = protos; pp->name; pp++) { if((strlen(pp->name) == tlen) && curl_strnequal(str, pp->name, tlen)) { *val |= pp->bit; break; } } if(!(pp->name)) /* protocol name didn't match */ return CURLE_BAD_FUNCTION_ARGUMENT; } if(found_comma) str = token + 1; } while(found_comma); if(!*val) /* no matching protocol */ return CURLE_BAD_FUNCTION_ARGUMENT; return CURLE_OK; } /* * Do not make Curl_vsetopt() static: it is called from * packages/OS400/ccsidcurl.c. */ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param) { char *argptr; CURLcode result = CURLE_OK; long arg; unsigned long uarg; curl_off_t bigsize; switch(option) { case CURLOPT_DNS_CACHE_TIMEOUT: arg = va_arg(param, long); if(arg < -1) return CURLE_BAD_FUNCTION_ARGUMENT; else if(arg > INT_MAX) arg = INT_MAX; data->set.dns_cache_timeout = (int)arg; break; case CURLOPT_DNS_USE_GLOBAL_CACHE: /* deprecated */ break; case CURLOPT_SSL_CIPHER_LIST: /* set a list of cipher we want to use in the SSL connection */ result = Curl_setstropt(&data->set.str[STRING_SSL_CIPHER_LIST], |
︙ | ︙ | |||
310 311 312 313 314 315 316 | case CURLOPT_SERVER_RESPONSE_TIMEOUT: /* * Option that specifies how quickly a server response must be obtained * before it is considered failure. For pingpong protocols. */ arg = va_arg(param, long); if((arg >= 0) && (arg <= (INT_MAX/1000))) | | | 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 | case CURLOPT_SERVER_RESPONSE_TIMEOUT: /* * Option that specifies how quickly a server response must be obtained * before it is considered failure. For pingpong protocols. */ arg = va_arg(param, long); if((arg >= 0) && (arg <= (INT_MAX/1000))) data->set.server_response_timeout = (unsigned int)arg * 1000; else return CURLE_BAD_FUNCTION_ARGUMENT; break; #ifndef CURL_DISABLE_TFTP case CURLOPT_TFTP_NO_OPTIONS: /* * Option that prevents libcurl from sending TFTP option requests to the |
︙ | ︙ | |||
340 341 342 343 344 345 346 | case CURLOPT_NETRC: /* * Parse the $HOME/.netrc file */ arg = va_arg(param, long); if((arg < CURL_NETRC_IGNORED) || (arg >= CURL_NETRC_LAST)) return CURLE_BAD_FUNCTION_ARGUMENT; | | | 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 | case CURLOPT_NETRC: /* * Parse the $HOME/.netrc file */ arg = va_arg(param, long); if((arg < CURL_NETRC_IGNORED) || (arg >= CURL_NETRC_LAST)) return CURLE_BAD_FUNCTION_ARGUMENT; data->set.use_netrc = (unsigned char)arg; break; case CURLOPT_NETRC_FILE: /* * Use this file instead of the $HOME/.netrc file */ result = Curl_setstropt(&data->set.str[STRING_NETRC_FILE], va_arg(param, char *)); |
︙ | ︙ | |||
1258 1259 1260 1261 1262 1263 1264 | */ arg = va_arg(param, long); /* reserve other values for future use */ if((arg < CURLFTP_CREATE_DIR_NONE) || (arg > CURLFTP_CREATE_DIR_RETRY)) result = CURLE_BAD_FUNCTION_ARGUMENT; else | | | 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 | */ arg = va_arg(param, long); /* reserve other values for future use */ if((arg < CURLFTP_CREATE_DIR_NONE) || (arg > CURLFTP_CREATE_DIR_RETRY)) result = CURLE_BAD_FUNCTION_ARGUMENT; else data->set.ftp_create_missing_dirs = (unsigned char)arg; break; case CURLOPT_READDATA: /* * FILE pointer to read the file to be uploaded from. Or possibly * used as argument to the read callback. */ data->set.in_set = va_arg(param, void *); |
︙ | ︙ | |||
1348 1349 1350 1351 1352 1353 1354 | } result = Curl_setstropt(&data->set.str[STRING_SET_URL], va_arg(param, char *)); data->state.url = data->set.str[STRING_SET_URL]; break; case CURLOPT_PORT: /* | | | | | | | | | | | | | | | | | | 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 | } result = Curl_setstropt(&data->set.str[STRING_SET_URL], va_arg(param, char *)); data->state.url = data->set.str[STRING_SET_URL]; break; case CURLOPT_PORT: /* * The port number to use when getting the URL. 0 disables it. */ arg = va_arg(param, long); if((arg < 0) || (arg > 65535)) return CURLE_BAD_FUNCTION_ARGUMENT; data->set.use_port = (unsigned short)arg; break; case CURLOPT_TIMEOUT: /* * The maximum time you allow curl to use for a single transfer * operation. */ arg = va_arg(param, long); if((arg >= 0) && (arg <= (INT_MAX/1000))) data->set.timeout = (unsigned int)arg * 1000; else return CURLE_BAD_FUNCTION_ARGUMENT; break; case CURLOPT_TIMEOUT_MS: uarg = va_arg(param, unsigned long); if(uarg >= UINT_MAX) uarg = UINT_MAX; data->set.timeout = (unsigned int)uarg; break; case CURLOPT_CONNECTTIMEOUT: /* * The maximum time you allow curl to use to connect. */ arg = va_arg(param, long); if((arg >= 0) && (arg <= (INT_MAX/1000))) data->set.connecttimeout = (unsigned int)arg * 1000; else return CURLE_BAD_FUNCTION_ARGUMENT; break; case CURLOPT_CONNECTTIMEOUT_MS: uarg = va_arg(param, unsigned long); if(uarg >= UINT_MAX) uarg = UINT_MAX; data->set.connecttimeout = (unsigned int)uarg; break; #ifndef CURL_DISABLE_FTP case CURLOPT_ACCEPTTIMEOUT_MS: /* * The maximum time for curl to wait for FTP server connect */ uarg = va_arg(param, unsigned long); if(uarg >= UINT_MAX) uarg = UINT_MAX; data->set.accepttimeout = (unsigned int)uarg; break; #endif case CURLOPT_USERPWD: /* * user:password to use in the operation */ |
︙ | ︙ | |||
2152 2153 2154 2155 2156 2157 2158 | if(arg > READBUFFER_MAX) arg = READBUFFER_MAX; else if(arg < 1) arg = READBUFFER_SIZE; else if(arg < READBUFFER_MIN) arg = READBUFFER_MIN; | | | 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 | if(arg > READBUFFER_MAX) arg = READBUFFER_MAX; else if(arg < 1) arg = READBUFFER_SIZE; else if(arg < READBUFFER_MIN) arg = READBUFFER_MIN; data->set.buffer_size = (int)arg; break; case CURLOPT_UPLOAD_BUFFERSIZE: /* * The application kindly asks for a differently sized upload buffer. * Cap it to sensible. */ |
︙ | ︙ | |||
2556 2557 2558 2559 2560 2561 2562 | #endif case CURLOPT_PROTOCOLS: /* set the bitmask for the protocols that are allowed to be used for the transfer, which thus helps the app which takes URLs from users or other external inputs and want to restrict what protocol(s) to deal with. Defaults to CURLPROTO_ALL. */ | | > > > > > > > > > > > > > > > > | | 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 | #endif case CURLOPT_PROTOCOLS: /* set the bitmask for the protocols that are allowed to be used for the transfer, which thus helps the app which takes URLs from users or other external inputs and want to restrict what protocol(s) to deal with. Defaults to CURLPROTO_ALL. */ data->set.allowed_protocols = (curl_off_t)va_arg(param, long); break; case CURLOPT_REDIR_PROTOCOLS: /* set the bitmask for the protocols that libcurl is allowed to follow to, as a subset of the CURLOPT_PROTOCOLS ones. That means the protocol needs to be set in both bitmasks to be allowed to get redirected to. */ data->set.redir_protocols = (curl_off_t)va_arg(param, long); break; case CURLOPT_PROTOCOLS_STR: argptr = va_arg(param, char *); result = protocol2num(argptr, &bigsize); if(result) return result; data->set.allowed_protocols = bigsize; break; case CURLOPT_REDIR_PROTOCOLS_STR: argptr = va_arg(param, char *); result = protocol2num(argptr, &bigsize); if(result) return result; data->set.redir_protocols = bigsize; break; case CURLOPT_DEFAULT_PROTOCOL: /* Set the protocol to use when the URL doesn't include any protocol */ result = Curl_setstropt(&data->set.str[STRING_DEFAULT_PROTOCOL], va_arg(param, char *)); break; |
︙ | ︙ | |||
2908 2909 2910 2911 2912 2913 2914 | case CURLOPT_CONNECT_TO: data->set.connect_to = va_arg(param, struct curl_slist *); break; case CURLOPT_SUPPRESS_CONNECT_HEADERS: data->set.suppress_connect_headers = (0 != va_arg(param, long))?TRUE:FALSE; break; case CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS: | | | | | | 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 | case CURLOPT_CONNECT_TO: data->set.connect_to = va_arg(param, struct curl_slist *); break; case CURLOPT_SUPPRESS_CONNECT_HEADERS: data->set.suppress_connect_headers = (0 != va_arg(param, long))?TRUE:FALSE; break; case CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS: uarg = va_arg(param, unsigned long); if(uarg >= UINT_MAX) uarg = UINT_MAX; data->set.happy_eyeballs_timeout = (unsigned int)uarg; break; #ifndef CURL_DISABLE_SHUFFLE_DNS case CURLOPT_DNS_SHUFFLE_ADDRESSES: data->set.dns_shuffle_addresses = (0 != va_arg(param, long)) ? TRUE:FALSE; break; #endif case CURLOPT_DISALLOW_USERNAME_IN_URL: |
︙ | ︙ |
Changes to jni/curl/lib/share.c.
︙ | ︙ | |||
37 38 39 40 41 42 43 | struct Curl_share * curl_share_init(void) { struct Curl_share *share = calloc(1, sizeof(struct Curl_share)); if(share) { share->magic = CURL_GOOD_SHARE; share->specifier |= (1<<CURL_LOCK_DATA_SHARE); | | | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | struct Curl_share * curl_share_init(void) { struct Curl_share *share = calloc(1, sizeof(struct Curl_share)); if(share) { share->magic = CURL_GOOD_SHARE; share->specifier |= (1<<CURL_LOCK_DATA_SHARE); Curl_init_dnscache(&share->hostcache, 23); } return share; } #undef curl_share_setopt CURLSHcode |
︙ | ︙ |
Changes to jni/curl/lib/splay.c.
︙ | ︙ | |||
99 100 101 102 103 104 105 | * @unittest: 1309 */ struct Curl_tree *Curl_splayinsert(struct curltime i, struct Curl_tree *t, struct Curl_tree *node) { static const struct curltime KEY_NOTUSED = { | | | 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | * @unittest: 1309 */ struct Curl_tree *Curl_splayinsert(struct curltime i, struct Curl_tree *t, struct Curl_tree *node) { static const struct curltime KEY_NOTUSED = { ~0, -1 }; /* will *NEVER* appear */ if(!node) return t; if(t) { t = Curl_splay(i, t); |
︙ | ︙ | |||
209 210 211 212 213 214 215 | * @unittest: 1309 */ int Curl_splayremove(struct Curl_tree *t, struct Curl_tree *removenode, struct Curl_tree **newroot) { static const struct curltime KEY_NOTUSED = { | | | 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 | * @unittest: 1309 */ int Curl_splayremove(struct Curl_tree *t, struct Curl_tree *removenode, struct Curl_tree **newroot) { static const struct curltime KEY_NOTUSED = { ~0, -1 }; /* will *NEVER* appear */ struct Curl_tree *x; if(!t || !removenode) return 1; if(compare(KEY_NOTUSED, removenode->key) == 0) { |
︙ | ︙ |
Changes to jni/curl/lib/strerror.c.
︙ | ︙ | |||
261 262 263 264 265 266 267 | case CURLE_REMOTE_FILE_EXISTS: return "Remote file already exists"; case CURLE_TFTP_NOSUCHUSER: return "TFTP: No such user"; | < < < | 261 262 263 264 265 266 267 268 269 270 271 272 273 274 | case CURLE_REMOTE_FILE_EXISTS: return "Remote file already exists"; case CURLE_TFTP_NOSUCHUSER: return "TFTP: No such user"; case CURLE_REMOTE_FILE_NOT_FOUND: return "Remote file not found"; case CURLE_SSH: return "Error in the SSH layer"; case CURLE_AGAIN: |
︙ | ︙ | |||
330 331 332 333 334 335 336 337 338 339 340 341 342 343 | case CURLE_OBSOLETE40: case CURLE_OBSOLETE44: case CURLE_OBSOLETE46: case CURLE_OBSOLETE50: case CURLE_OBSOLETE51: case CURLE_OBSOLETE57: case CURLE_OBSOLETE62: case CURLE_OBSOLETE76: case CURL_LAST: break; } /* * By using a switch, gcc -Wall will complain about enum values * which do not appear, helping keep this function up-to-date. | > | 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 | case CURLE_OBSOLETE40: case CURLE_OBSOLETE44: case CURLE_OBSOLETE46: case CURLE_OBSOLETE50: case CURLE_OBSOLETE51: case CURLE_OBSOLETE57: case CURLE_OBSOLETE62: case CURLE_OBSOLETE75: case CURLE_OBSOLETE76: case CURL_LAST: break; } /* * By using a switch, gcc -Wall will complain about enum values * which do not appear, helping keep this function up-to-date. |
︙ | ︙ |
Changes to jni/curl/lib/transfer.c.
︙ | ︙ | |||
535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 | bool is_empty_data = FALSE; size_t buffersize = data->set.buffer_size; size_t bytestoread = buffersize; #ifdef USE_NGHTTP2 bool is_http2 = ((conn->handler->protocol & PROTO_FAMILY_HTTP) && (conn->httpversion == 20)); #endif if( #ifdef USE_NGHTTP2 /* For HTTP/2, read data without caring about the content length. This is safe because body in HTTP/2 is always segmented thanks to its framing layer. Meanwhile, we have to call Curl_read to ensure that http2_handle_stream_close is called when we read all incoming bytes for a particular stream. */ !is_http2 && #endif k->size != -1 && !k->header) { /* make sure we don't read too much */ curl_off_t totalleft = k->size - k->bytecount; if(totalleft < (curl_off_t)bytestoread) bytestoread = (size_t)totalleft; } | > > > > > > > > | 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 | bool is_empty_data = FALSE; size_t buffersize = data->set.buffer_size; size_t bytestoread = buffersize; #ifdef USE_NGHTTP2 bool is_http2 = ((conn->handler->protocol & PROTO_FAMILY_HTTP) && (conn->httpversion == 20)); #endif bool is_http3 = #ifdef ENABLE_QUIC ((conn->handler->protocol & PROTO_FAMILY_HTTP) && (conn->httpversion == 30)); #else FALSE; #endif if( #ifdef USE_NGHTTP2 /* For HTTP/2, read data without caring about the content length. This is safe because body in HTTP/2 is always segmented thanks to its framing layer. Meanwhile, we have to call Curl_read to ensure that http2_handle_stream_close is called when we read all incoming bytes for a particular stream. */ !is_http2 && #endif !is_http3 && /* Same reason mentioned above. */ k->size != -1 && !k->header) { /* make sure we don't read too much */ curl_off_t totalleft = k->size - k->bytecount; if(totalleft < (curl_off_t)bytestoread) bytestoread = (size_t)totalleft; } |
︙ | ︙ | |||
592 593 594 595 596 597 598 599 600 601 602 603 604 605 | /* if we receive 0 or less here, either the http2 stream is closed or the server closed the connection and we bail out from this! */ #ifdef USE_NGHTTP2 if(is_http2 && !nread) DEBUGF(infof(data, "nread == 0, stream closed, bailing")); else #endif DEBUGF(infof(data, "nread <= 0, server closed connection, bailing")); k->keepon &= ~KEEP_RECV; break; } /* Default buffer to use when we write the buffer, it may be changed in the flow below before the actual storing is done. */ | > > > | 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 | /* if we receive 0 or less here, either the http2 stream is closed or the server closed the connection and we bail out from this! */ #ifdef USE_NGHTTP2 if(is_http2 && !nread) DEBUGF(infof(data, "nread == 0, stream closed, bailing")); else #endif if(is_http3 && !nread) DEBUGF(infof(data, "nread == 0, stream closed, bailing")); else DEBUGF(infof(data, "nread <= 0, server closed connection, bailing")); k->keepon &= ~KEEP_RECV; break; } /* Default buffer to use when we write the buffer, it may be changed in the flow below before the actual storing is done. */ |
︙ | ︙ | |||
749 750 751 752 753 754 755 | connclose(conn, "excess found in a read"); } nread = (ssize_t) (k->maxdownload - k->bytecount); if(nread < 0) /* this should be unusual */ nread = 0; | > > > > > | > | 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 | connclose(conn, "excess found in a read"); } nread = (ssize_t) (k->maxdownload - k->bytecount); if(nread < 0) /* this should be unusual */ nread = 0; /* HTTP/3 over QUIC should keep reading until QUIC connection is closed. In contrast to HTTP/2 which can stop reading from TCP connection, HTTP/3 over QUIC needs ACK from server to ensure stream closure. It should keep reading. */ if(!is_http3) { k->keepon &= ~KEEP_RECV; /* we're done reading */ } } k->bytecount += nread; Curl_pgrsSetDownloadCounter(data, k->bytecount); if(!k->chunk && (nread || k->badheader || is_empty_data)) { |
︙ | ︙ |
Changes to jni/curl/lib/url.c.
︙ | ︙ | |||
73 74 75 76 77 78 79 80 81 82 83 84 85 86 | #endif #elif defined(USE_WIN32_IDN) /* prototype for curl_win32_idn_to_ascii() */ bool curl_win32_idn_to_ascii(const char *in, char **out); #endif /* USE_LIBIDN2 */ #include "urldata.h" #include "netrc.h" #include "formdata.h" #include "mime.h" #include "vtls/vtls.h" #include "hostip.h" | > | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | #endif #elif defined(USE_WIN32_IDN) /* prototype for curl_win32_idn_to_ascii() */ bool curl_win32_idn_to_ascii(const char *in, char **out); #endif /* USE_LIBIDN2 */ #include "doh.h" #include "urldata.h" #include "netrc.h" #include "formdata.h" #include "mime.h" #include "vtls/vtls.h" #include "hostip.h" |
︙ | ︙ | |||
148 149 150 151 152 153 154 155 156 157 158 159 160 161 | #if READBUFFER_SIZE < READBUFFER_MIN # error READBUFFER_SIZE is too small #endif #ifdef USE_UNIX_SOCKETS #define UNIX_SOCKET_PREFIX "localhost" #endif /* * get_protocol_family() * * This is used to return the protocol family for a given protocol. * * Parameters: | > > > | 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | #if READBUFFER_SIZE < READBUFFER_MIN # error READBUFFER_SIZE is too small #endif #ifdef USE_UNIX_SOCKETS #define UNIX_SOCKET_PREFIX "localhost" #endif /* Reject URLs exceeding this length */ #define MAX_URL_LEN 0xffff /* * get_protocol_family() * * This is used to return the protocol family for a given protocol. * * Parameters: |
︙ | ︙ | |||
435 436 437 438 439 440 441 442 443 444 445 446 447 448 | #if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_CRYPTO_AUTH) Curl_http_auth_cleanup_digest(data); #endif 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.async.resolver); Curl_http2_cleanup_dependencies(data); /* No longer a dirty share, if it exists */ if(data->share) { Curl_share_lock(data, CURL_LOCK_DATA_SHARE, CURL_LOCK_ACCESS_SINGLE); | > | 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 | #if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_CRYPTO_AUTH) Curl_http_auth_cleanup_digest(data); #endif Curl_safefree(data->info.contenttype); Curl_safefree(data->info.wouldredirect); /* this destroys the channel and we cannot use it anymore after this */ Curl_resolver_cancel(data); Curl_resolver_cleanup(data->state.async.resolver); Curl_http2_cleanup_dependencies(data); /* No longer a dirty share, if it exists */ if(data->share) { Curl_share_lock(data, CURL_LOCK_DATA_SHARE, CURL_LOCK_ACCESS_SINGLE); |
︙ | ︙ | |||
2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 | return Curl_uc_to_curlcode(uc); uc = curl_url_get(uh, CURLUPART_HOST, &data->state.up.hostname, 0); if(uc) { if(!strcasecompare("file", data->state.up.scheme)) return CURLE_OUT_OF_MEMORY; } #ifndef CURL_DISABLE_HSTS if(data->hsts && strcasecompare("http", data->state.up.scheme)) { if(Curl_hsts(data->hsts, data->state.up.hostname, TRUE)) { char *url; Curl_safefree(data->state.up.scheme); uc = curl_url_set(uh, CURLUPART_SCHEME, "https", 0); | > > > > | 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 | return Curl_uc_to_curlcode(uc); uc = curl_url_get(uh, CURLUPART_HOST, &data->state.up.hostname, 0); if(uc) { if(!strcasecompare("file", data->state.up.scheme)) return CURLE_OUT_OF_MEMORY; } else if(strlen(data->state.up.hostname) > MAX_URL_LEN) { failf(data, "Too long host name (maximum is %d)", MAX_URL_LEN); return CURLE_URL_MALFORMAT; } #ifndef CURL_DISABLE_HSTS if(data->hsts && strcasecompare("http", data->state.up.scheme)) { if(Curl_hsts(data->hsts, data->state.up.hostname, TRUE)) { char *url; Curl_safefree(data->state.up.scheme); uc = curl_url_set(uh, CURLUPART_SCHEME, "https", 0); |
︙ | ︙ | |||
2124 2125 2126 2127 2128 2129 2130 | if(!strcasecompare("file", data->state.up.scheme)) return CURLE_OUT_OF_MEMORY; } else { unsigned long port = strtoul(data->state.up.port, NULL, 10); conn->port = conn->remote_port = (data->set.use_port && data->state.allow_port) ? | | | 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 | if(!strcasecompare("file", data->state.up.scheme)) return CURLE_OUT_OF_MEMORY; } else { unsigned long port = strtoul(data->state.up.port, NULL, 10); conn->port = conn->remote_port = (data->set.use_port && data->state.allow_port) ? data->set.use_port : curlx_ultous(port); } (void)curl_url_get(uh, CURLUPART_QUERY, &data->state.up.query, 0); hostname = data->state.up.hostname; if(hostname && hostname[0] == '[') { /* This looks like an IPv6 address literal. See if there is an address |
︙ | ︙ | |||
2730 2731 2732 2733 2734 2735 2736 2737 | /*********************************************************************** * If this is supposed to use a proxy, we need to figure out the proxy host * name, proxy type and port number, so that we can re-use an existing * connection that may exist registered to the same proxy host. ***********************************************************************/ if(proxy || socksproxy) { if(proxy) { | > | | < | 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 | /*********************************************************************** * If this is supposed to use a proxy, we need to figure out the proxy host * name, proxy type and port number, so that we can re-use an existing * connection that may exist registered to the same proxy host. ***********************************************************************/ if(proxy || socksproxy) { curl_proxytype ptype = (curl_proxytype)conn->http_proxy.proxytype; if(proxy) { result = parse_proxy(data, conn, proxy, ptype); Curl_safefree(proxy); /* parse_proxy copies the proxy string */ if(result) goto out; } if(socksproxy) { result = parse_proxy(data, conn, socksproxy, ptype); /* parse_proxy copies the socks proxy string */ Curl_safefree(socksproxy); if(result) goto out; } if(conn->http_proxy.host.rawalloc) { |
︙ | ︙ | |||
2960 2961 2962 2963 2964 2965 2966 | struct connectdata *conn) { if(data->set.use_port && data->state.allow_port) { /* if set, we use this instead of the port possibly given in the URL */ char portbuf[16]; CURLUcode uc; | | | 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 | struct connectdata *conn) { if(data->set.use_port && data->state.allow_port) { /* if set, we use this instead of the port possibly given in the URL */ char portbuf[16]; CURLUcode uc; conn->remote_port = data->set.use_port; msnprintf(portbuf, sizeof(portbuf), "%d", conn->remote_port); uc = curl_url_set(data->state.uh, CURLUPART_PORT, portbuf, 0); if(uc) return CURLE_OUT_OF_MEMORY; } return CURLE_OK; |
︙ | ︙ | |||
3034 3035 3036 3037 3038 3039 3040 | conn->bits.netrc = TRUE; } if(url_provided) { Curl_safefree(conn->user); conn->user = strdup(*userp); if(!conn->user) return CURLE_OUT_OF_MEMORY; | > | > | > > < | | | | | | | | | | | | | | < | 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 | conn->bits.netrc = TRUE; } if(url_provided) { Curl_safefree(conn->user); conn->user = strdup(*userp); if(!conn->user) return CURLE_OUT_OF_MEMORY; } /* no user was set but a password, set a blank user */ if(userp && !*userp && *passwdp) { *userp = strdup(""); if(!*userp) return CURLE_OUT_OF_MEMORY; } } #endif /* for updated strings, we update them in the URL */ if(*userp) { CURLcode result = Curl_setstropt(&data->state.aptr.user, *userp); if(result) return result; } if(data->state.aptr.user) { uc = curl_url_set(data->state.uh, CURLUPART_USER, data->state.aptr.user, CURLU_URLENCODE); if(uc) return Curl_uc_to_curlcode(uc); if(!*userp) { *userp = strdup(data->state.aptr.user); if(!*userp) return CURLE_OUT_OF_MEMORY; } } if(*passwdp) { CURLcode result = Curl_setstropt(&data->state.aptr.passwd, *passwdp); if(result) return result; } |
︙ | ︙ | |||
3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 | } } } #endif return result; } /************************************************************* * Resolve the address of the server or proxy *************************************************************/ static CURLcode resolve_server(struct Curl_easy *data, struct connectdata *conn, bool *async) { | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > < < < | | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | < < < < | < < < < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | | 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 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 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 | } } } #endif return result; } #ifdef USE_UNIX_SOCKETS static CURLcode resolve_unix(struct Curl_easy *data, struct connectdata *conn, char *unix_path) { struct Curl_dns_entry *hostaddr = NULL; bool longpath = FALSE; DEBUGASSERT(unix_path); DEBUGASSERT(conn->dns_entry == NULL); /* Unix domain sockets are local. The host gets ignored, just use the * specified domain socket address. Do not cache "DNS entries". There is * no DNS involved and we already have the filesystem path available. */ hostaddr = calloc(1, sizeof(struct Curl_dns_entry)); if(!hostaddr) return CURLE_OUT_OF_MEMORY; hostaddr->addr = Curl_unix2addr(unix_path, &longpath, conn->bits.abstract_unix_socket); if(!hostaddr->addr) { if(longpath) /* Long paths are not supported for now */ failf(data, "Unix socket path too long: '%s'", unix_path); free(hostaddr); return longpath ? CURLE_COULDNT_RESOLVE_HOST : CURLE_OUT_OF_MEMORY; } hostaddr->inuse++; conn->dns_entry = hostaddr; return CURLE_OK; } #endif #ifndef CURL_DISABLE_PROXY static CURLcode resolve_proxy(struct Curl_easy *data, struct connectdata *conn, bool *async) { struct Curl_dns_entry *hostaddr = NULL; struct hostname *host; timediff_t timeout_ms = Curl_timeleft(data, NULL, TRUE); int rc; DEBUGASSERT(conn->dns_entry == NULL); host = conn->bits.socksproxy ? &conn->socks_proxy.host : &conn->http_proxy.host; conn->hostname_resolve = strdup(host->name); if(!conn->hostname_resolve) return CURLE_OUT_OF_MEMORY; rc = Curl_resolv_timeout(data, conn->hostname_resolve, (int)conn->port, &hostaddr, timeout_ms); conn->dns_entry = hostaddr; if(rc == CURLRESOLV_PENDING) *async = TRUE; else if(rc == CURLRESOLV_TIMEDOUT) return CURLE_OPERATION_TIMEDOUT; else if(!hostaddr) { failf(data, "Couldn't resolve proxy '%s'", host->dispname); return CURLE_COULDNT_RESOLVE_PROXY; } return CURLE_OK; } #endif static CURLcode resolve_ip(struct Curl_easy *data, struct connectdata *conn, bool *async) { struct Curl_dns_entry *hostaddr = NULL; struct hostname *connhost; timediff_t timeout_ms = Curl_timeleft(data, NULL, TRUE); int rc; DEBUGASSERT(conn->dns_entry == NULL); connhost = conn->bits.conn_to_host ? &conn->conn_to_host : &conn->host; /* If not connecting via a proxy, extract the port from the URL, if it is * there, thus overriding any defaults that might have been set above. */ conn->port = conn->bits.conn_to_port ? conn->conn_to_port : conn->remote_port; /* Resolve target host right on */ conn->hostname_resolve = strdup(connhost->name); if(!conn->hostname_resolve) return CURLE_OUT_OF_MEMORY; rc = Curl_resolv_timeout(data, conn->hostname_resolve, (int)conn->port, &hostaddr, timeout_ms); conn->dns_entry = hostaddr; if(rc == CURLRESOLV_PENDING) *async = TRUE; else if(rc == CURLRESOLV_TIMEDOUT) { failf(data, "Failed to resolve host '%s' with timeout after %ld ms", connhost->dispname, Curl_timediff(Curl_now(), data->progress.t_startsingle)); return CURLE_OPERATION_TIMEDOUT; } else if(!hostaddr) { failf(data, "Could not resolve host: %s", connhost->dispname); return CURLE_COULDNT_RESOLVE_HOST; } return CURLE_OK; } /* Perform a fresh resolve */ static CURLcode resolve_fresh(struct Curl_easy *data, struct connectdata *conn, bool *async) { #ifdef USE_UNIX_SOCKETS char *unix_path = conn->unix_domain_socket; #ifndef CURL_DISABLE_PROXY if(!unix_path && conn->socks_proxy.host.name && !strncmp(UNIX_SOCKET_PREFIX"/", conn->socks_proxy.host.name, sizeof(UNIX_SOCKET_PREFIX))) unix_path = conn->socks_proxy.host.name + sizeof(UNIX_SOCKET_PREFIX) - 1; #endif if(unix_path) { conn->transport = TRNSPRT_UNIX; return resolve_unix(data, conn, unix_path); } #endif #ifndef CURL_DISABLE_PROXY if(CONN_IS_PROXIED(conn)) return resolve_proxy(data, conn, async); #endif return resolve_ip(data, conn, async); } /************************************************************* * Resolve the address of the server or proxy *************************************************************/ static CURLcode resolve_server(struct Curl_easy *data, struct connectdata *conn, bool *async) { 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. */ *async = FALSE; return CURLE_OK; } return resolve_fresh(data, conn, async); } /* * Cleanup the connection just allocated before we can move along and use the * previously existing one. All relevant data is copied over and old_conn is * ready for freeing once this function returns. */ |
︙ | ︙ |
Changes to jni/curl/lib/urldata.h.
︙ | ︙ | |||
314 315 316 317 318 319 320 | either may be NULL. */ char *user; char *passwd; #else char *nonce; char *cnonce; char *realm; | < > | 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 | either may be NULL. */ char *user; char *passwd; #else char *nonce; char *cnonce; char *realm; char *opaque; char *qop; char *algorithm; int nc; /* nonce count */ unsigned char algo; BIT(stale); /* set true for re-negotiation */ BIT(userhash); #endif }; typedef enum { NTLMSTATE_NONE, |
︙ | ︙ | |||
594 595 596 597 598 599 600 | /* DOH_PROBE_SLOT_FOOBAR_TXT, */ /* #endif */ /* AFTER all slot definitions, establish how many we have */ DOH_PROBE_SLOTS }; | < < < < < < < < < < < < < < < < < | 594 595 596 597 598 599 600 601 602 603 604 605 606 607 | /* DOH_PROBE_SLOT_FOOBAR_TXT, */ /* #endif */ /* AFTER all slot definitions, establish how many we have */ DOH_PROBE_SLOTS }; /* * Request specific data in the easy handle (Curl_easy). Previously, * 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 */ |
︙ | ︙ | |||
852 853 854 855 856 857 858 | #endif /* DEBUGBUILD */ }; #endif /* USE_RECV_BEFORE_SEND_WORKAROUND */ struct proxy_info { struct hostname host; long port; | | > | 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 | #endif /* DEBUGBUILD */ }; #endif /* USE_RECV_BEFORE_SEND_WORKAROUND */ struct proxy_info { struct hostname host; long port; unsigned char proxytype; /* curl_proxytype: what kind of proxy that is in use */ char *user; /* proxy user name string, allocated */ char *passwd; /* proxy password string, allocated */ }; struct ldapconninfo; struct http_connect_state; |
︙ | ︙ | |||
891 892 893 894 895 896 897 898 899 900 901 902 903 904 | struct connstate { enum connect_t state; ssize_t outstanding; /* send this many bytes more */ unsigned char *outp; /* send from this pointer */ }; /* * The connectdata struct contains all fields and variables that should be * unique for an entire connection. */ struct connectdata { struct connstate cnnct; struct Curl_llist_element bundle_node; /* conncache */ | > > > > > | 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 | struct connstate { enum connect_t state; ssize_t outstanding; /* send this many bytes more */ unsigned char *outp; /* send from this pointer */ }; #define TRNSPRT_TCP 3 #define TRNSPRT_UDP 4 #define TRNSPRT_QUIC 5 #define TRNSPRT_UNIX 6 /* * The connectdata struct contains all fields and variables that should be * unique for an entire connection. */ struct connectdata { struct connstate cnnct; struct Curl_llist_element bundle_node; /* conncache */ |
︙ | ︙ | |||
928 929 930 931 932 933 934 | struct Curl_dns_entry *dns_entry; /* 'ip_addr' is the particular IP we connected to. It points to a struct within the DNS cache, so this pointer is only valid as long as the DNS cache entry remains locked. It gets unlocked in multi_done() */ struct Curl_addrinfo *ip_addr; struct Curl_addrinfo *tempaddr[2]; /* for happy eyeballs */ | < < < < < < < < < < < < < < < < < < < | 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 | struct Curl_dns_entry *dns_entry; /* 'ip_addr' is the particular IP we connected to. It points to a struct within the DNS cache, so this pointer is only valid as long as the DNS cache entry remains locked. It gets unlocked in multi_done() */ struct Curl_addrinfo *ip_addr; struct Curl_addrinfo *tempaddr[2]; /* for happy eyeballs */ #ifdef ENABLE_QUIC struct quicsocket hequic[2]; /* two, for happy eyeballs! */ struct quicsocket *quic; #endif struct hostname host; char *hostname_resolve; /* host name to resolve to address, allocated */ char *secondaryhostname; /* secondary socket host name (ftp) */ struct hostname conn_to_host; /* the host to connect to. valid only if bits.conn_to_host is set */ #ifndef CURL_DISABLE_PROXY struct proxy_info socks_proxy; struct proxy_info http_proxy; #endif /* 'primary_ip' and 'primary_port' get filled with peer's numerical ip address and port number whenever an outgoing connection is *attempted* from the primary socket to a remote address. When more than one address is tried for a connection these will hold data for the last attempt. When the connection is actually established these are updated with data which comes directly from the socket. */ char primary_ip[MAX_IPADR_LEN]; char *user; /* user name string, allocated */ char *passwd; /* password string, allocated */ char *options; /* options string, allocated */ char *sasl_authzid; /* authorization identity string, allocated */ char *oauth_bearer; /* OAUTH2 bearer, allocated */ struct curltime now; /* "current" time */ struct curltime created; /* creation time */ struct curltime lastused; /* when returned to the connection cache */ curl_socket_t sock[2]; /* two sockets, the second is used for the data transfer when doing FTP */ curl_socket_t tempsock[2]; /* temporary sockets for happy eyeballs */ int tempfamily[2]; /* family used for the temp sockets */ |
︙ | ︙ | |||
1001 1002 1003 1004 1005 1006 1007 | #endif struct ssl_primary_config ssl_config; #ifndef CURL_DISABLE_PROXY struct ssl_primary_config proxy_ssl_config; #endif struct ConnectBits bits; /* various state-flags for this connection */ | < < | 971 972 973 974 975 976 977 978 979 980 981 982 983 984 | #endif struct ssl_primary_config ssl_config; #ifndef CURL_DISABLE_PROXY struct ssl_primary_config proxy_ssl_config; #endif 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 field below gets set in Curl_connecthost */ /* how long time in milliseconds to spend on trying to connect to each IP |
︙ | ︙ | |||
1030 1031 1032 1033 1034 1035 1036 | curl_socket_t sockfd; /* socket to read from or CURL_SOCKET_BAD */ curl_socket_t writesockfd; /* socket to write to, it may very well be the same we read from. CURL_SOCKET_BAD disables */ #ifdef HAVE_GSSAPI BIT(sec_complete); /* if Kerberos is enabled for this connection */ | | | | | 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 | curl_socket_t sockfd; /* socket to read from or CURL_SOCKET_BAD */ curl_socket_t writesockfd; /* socket to write to, it may very well be the same we read from. CURL_SOCKET_BAD disables */ #ifdef HAVE_GSSAPI BIT(sec_complete); /* if Kerberos is enabled for this connection */ unsigned char command_prot; /* enum protection_level */ unsigned char data_prot; /* enum protection_level */ unsigned char request_data_prot; /* enum protection_level */ size_t buffer_size; struct krb5buffer in_buffer; void *app_data; const struct Curl_sec_client_mech *mech; struct sockaddr_in local_addr; #endif |
︙ | ︙ | |||
1131 1132 1133 1134 1135 1136 1137 | made and will serve the purpose of being used for comparison reasons so that subsequent bound-requested connections aren't accidentally re-using wrong connections. */ char *localdev; int localportrange; int cselect_bits; /* bitmask of socket events */ int waitfor; /* current READ/WRITE bits to wait for */ | < < > > > > > > > > > > > > > > > > | 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 | made and will serve the purpose of being used for comparison reasons so that subsequent bound-requested connections aren't accidentally re-using wrong connections. */ char *localdev; int localportrange; int cselect_bits; /* bitmask of socket events */ int waitfor; /* current READ/WRITE bits to wait for */ #if defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI) int socks5_gssapi_enctype; #endif /* The field below gets set in Curl_connecthost */ int num_addr; /* number of addresses to try to connect to */ int port; /* which port to use locally - to connect to */ int remote_port; /* the remote port, not the proxy port! */ int conn_to_port; /* the remote port to connect to. valid only if bits.conn_to_port is set */ #ifdef ENABLE_IPV6 unsigned int scope_id; /* Scope id for IPv6 */ #endif unsigned short localport; unsigned short secondary_port; /* secondary socket remote port to connect to (ftp) */ unsigned char negnpn; /* APLN or NPN TLS negotiated protocol, a CURL_HTTP_VERSION* value */ unsigned char transport; /* one of the TRNSPRT_* defines */ unsigned char ip_version; /* copied from the Curl_easy at creation time */ unsigned char httpversion; /* the HTTP version*10 reported by the server */ }; /* The end of connectdata. */ /* * Struct to keep statistical and informational data. * All variables in this struct must be initialized/reset in Curl_initinfo(). |
︙ | ︙ | |||
1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 | EXPIRE_HAPPY_EYEBALLS, EXPIRE_MULTI_PENDING, EXPIRE_RUN_NOW, EXPIRE_SPEEDCHECK, EXPIRE_TIMEOUT, EXPIRE_TOOFAST, EXPIRE_QUIC, EXPIRE_LAST /* not an actual timer, used as a marker only */ } expire_id; typedef enum { TRAILERS_NONE, TRAILERS_INITIALIZED, | > | 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 | EXPIRE_HAPPY_EYEBALLS, EXPIRE_MULTI_PENDING, EXPIRE_RUN_NOW, EXPIRE_SPEEDCHECK, EXPIRE_TIMEOUT, EXPIRE_TOOFAST, EXPIRE_QUIC, EXPIRE_FTP_ACCEPT, EXPIRE_LAST /* not an actual timer, used as a marker only */ } expire_id; typedef enum { TRAILERS_NONE, TRAILERS_INITIALIZED, |
︙ | ︙ | |||
1425 1426 1427 1428 1429 1430 1431 | void *in; /* CURLOPT_READDATA */ #ifdef USE_HTTP2 struct Curl_easy *stream_depends_on; int stream_weight; #endif CURLU *uh; /* URL handle for the current parsed URL */ struct urlpieces up; | | > | 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 | void *in; /* CURLOPT_READDATA */ #ifdef USE_HTTP2 struct Curl_easy *stream_depends_on; int stream_weight; #endif CURLU *uh; /* URL handle for the current parsed URL */ struct urlpieces up; unsigned char httpreq; /* Curl_HttpReq; what kind of HTTP request (if any) is this */ char *url; /* work URL, copied from UserDefined */ char *referer; /* referer string */ #ifndef CURL_DISABLE_COOKIES struct curl_slist *cookielist; /* list of cookie files set by curl_easy_setopt(COOKIEFILE) calls */ #endif struct curl_slist *resolve; /* set to point to the set.resolve list when |
︙ | ︙ | |||
1645 1646 1647 1648 1649 1650 1651 | char *errorbuffer; /* (Static) store failure messages in here */ long proxyport; /* If non-zero, use this port number by default. If the proxy string features a ":[port]" that one will override this. */ void *out; /* CURLOPT_WRITEDATA */ void *in_set; /* CURLOPT_READDATA */ void *writeheader; /* write the header to this if non-NULL */ | | | 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 | char *errorbuffer; /* (Static) store failure messages in here */ long proxyport; /* If non-zero, use this port number by default. If the proxy string features a ":[port]" that one will override this. */ void *out; /* CURLOPT_WRITEDATA */ void *in_set; /* CURLOPT_READDATA */ void *writeheader; /* write the header to this if non-NULL */ unsigned short use_port; /* which port to use (when not using default) */ unsigned long httpauth; /* kind of HTTP authentication to use (bitmask) */ unsigned long proxyauth; /* kind of proxy authentication to use (bitmask) */ #ifndef CURL_DISABLE_PROXY unsigned long socks5auth;/* kind of SOCKS5 authentication to use (bitmask) */ #endif long maxredirs; /* maximum no. of http(s) redirects to follow, set to -1 for infinity */ |
︙ | ︙ | |||
1691 1692 1693 1694 1695 1696 1697 | curl_hstsread_callback hsts_read; void *hsts_read_userp; curl_hstswrite_callback hsts_write; void *hsts_write_userp; #endif void *progress_client; /* pointer to pass to the progress callback */ void *ioctl_client; /* pointer to pass to the ioctl callback */ | | | | | | 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 | curl_hstsread_callback hsts_read; void *hsts_read_userp; curl_hstswrite_callback hsts_write; void *hsts_write_userp; #endif void *progress_client; /* pointer to pass to the progress callback */ void *ioctl_client; /* pointer to pass to the ioctl callback */ unsigned int timeout; /* ms, 0 means no timeout */ unsigned int connecttimeout; /* ms, 0 means no timeout */ unsigned int happy_eyeballs_timeout; /* ms, 0 is a valid value */ unsigned int server_response_timeout; /* ms, 0 means no timeout */ long maxage_conn; /* in seconds, max idle time to allow a connection that is to be reused */ long maxlifetime_conn; /* in seconds, max time since creation to allow a connection that is to be reused */ #ifndef CURL_DISABLE_TFTP long tftp_blksize; /* in bytes, 0 means use default */ #endif |
︙ | ︙ | |||
1728 1729 1730 1731 1732 1733 1734 | #ifndef CURL_DISABLE_TELNET struct curl_slist *telnet_options; /* linked list of telnet options */ #endif 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 */ | < < > > | | | | | | | > | | | > | < | | < | 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 | #ifndef CURL_DISABLE_TELNET struct curl_slist *telnet_options; /* linked list of telnet options */ #endif 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 */ time_t timevalue; /* what time to compare with */ unsigned char timecondition; /* kind of time comparison: curl_TimeCond */ unsigned char proxytype; /* what kind of proxy: curl_proxytype */ unsigned char method; /* what kind of HTTP request: Curl_HttpReq */ unsigned char httpwant; /* 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 */ #ifndef CURL_DISABLE_PROXY struct ssl_config_data proxy_ssl; /* user defined SSL stuff for proxy */ #endif struct ssl_general_config general_ssl; /* general user defined SSL stuff */ int dns_cache_timeout; /* DNS cache timeout (seconds) */ unsigned int buffer_size; /* size of receive buffer to use */ unsigned int 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 */ unsigned char 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 */ #ifndef CURL_DISABLE_FTP unsigned char ftp_filemethod; /* how to get to a file: curl_ftpfile */ unsigned char ftpsslauth; /* what AUTH XXX to try: curl_ftpauth */ unsigned char ftp_ccc; /* FTP CCC options: curl_ftpccc */ unsigned int accepttimeout; /* in milliseconds, 0 means no timeout */ #endif /* Desppie the name ftp_create_missing_dirs is for FTP(S) and SFTP 1 - create directories that don't exist 2 - the same but also allow MKD to fail once */ unsigned char ftp_create_missing_dirs; #ifdef USE_LIBSSH2 curl_sshhostkeycallback ssh_hostkeyfunc; /* hostkey check callback */ void *ssh_hostkeyfunc_userp; /* custom pointer to callback */ #endif curl_sshkeycallback ssh_keyfunc; /* key matching callback */ void *ssh_keyfunc_userp; /* custom pointer to callback */ #ifndef CURL_DISABLE_NETRC unsigned char use_netrc; /* enum CURL_NETRC_OPTION values */ #endif curl_usessl use_ssl; /* if AUTH TLS is to be attempted etc, for FTP or IMAP or POP3 or others! */ unsigned int new_file_perms; /* when creating remote files */ unsigned int new_directory_perms; /* when creating remote dirs */ int ssh_auth_types; /* allowed SSH auth types */ char *str[STRING_LAST]; /* array of strings, pointing to allocated memory */ struct curl_blob *blobs[BLOB_LAST]; #ifdef ENABLE_IPV6 unsigned int scope_id; /* Scope id for IPv6 */ #endif curl_off_t allowed_protocols; curl_off_t redir_protocols; unsigned int mime_options; /* Mime option flags. */ #ifndef CURL_DISABLE_RTSP void *rtp_out; /* write RTP to this if non-NULL */ /* Common RTSP header options */ Curl_RtspReq rtspreq; /* RTSP request type */ #endif #ifndef CURL_DISABLE_FTP 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 |
︙ | ︙ |
Changes to jni/curl/lib/vauth/digest.c.
︙ | ︙ | |||
45 46 47 48 49 50 51 52 53 54 55 56 57 58 | #include "curl_printf.h" #include "rand.h" /* The last #include files should be: */ #include "curl_memory.h" #include "memdebug.h" #if !defined(USE_WINDOWS_SSPI) #define DIGEST_QOP_VALUE_AUTH (1 << 0) #define DIGEST_QOP_VALUE_AUTH_INT (1 << 1) #define DIGEST_QOP_VALUE_AUTH_CONF (1 << 2) #define DIGEST_QOP_VALUE_STRING_AUTH "auth" #define DIGEST_QOP_VALUE_STRING_AUTH_INT "auth-int" | > > > > > > > > > | 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | #include "curl_printf.h" #include "rand.h" /* The last #include files should be: */ #include "curl_memory.h" #include "memdebug.h" #define SESSION_ALGO 1 /* for algos with this bit set */ #define ALGO_MD5 0 #define ALGO_MD5SESS (ALGO_MD5 | SESSION_ALGO) #define ALGO_SHA256 2 #define ALGO_SHA256SESS (ALGO_SHA256 | SESSION_ALGO) #define ALGO_SHA512_256 4 #define ALGO_SHA512_256SESS (ALGO_SHA512_256 | SESSION_ALGO) #if !defined(USE_WINDOWS_SSPI) #define DIGEST_QOP_VALUE_AUTH (1 << 0) #define DIGEST_QOP_VALUE_AUTH_INT (1 << 1) #define DIGEST_QOP_VALUE_AUTH_CONF (1 << 2) #define DIGEST_QOP_VALUE_STRING_AUTH "auth" #define DIGEST_QOP_VALUE_STRING_AUTH_INT "auth-int" |
︙ | ︙ | |||
547 548 549 550 551 552 553 554 555 556 557 558 559 560 | clone of the buffer since strtok_r() ruins it */ tmp = strdup(content); if(!tmp) return CURLE_OUT_OF_MEMORY; token = strtok_r(tmp, ",", &tok_buf); while(token) { if(strcasecompare(token, DIGEST_QOP_VALUE_STRING_AUTH)) { foundAuth = TRUE; } else if(strcasecompare(token, DIGEST_QOP_VALUE_STRING_AUTH_INT)) { foundAuthInt = TRUE; } token = strtok_r(NULL, ",", &tok_buf); | > > > | 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 | clone of the buffer since strtok_r() ruins it */ tmp = strdup(content); if(!tmp) return CURLE_OUT_OF_MEMORY; token = strtok_r(tmp, ",", &tok_buf); while(token) { /* Pass additional spaces here */ while(*token && ISSPACE(*token)) token++; if(strcasecompare(token, DIGEST_QOP_VALUE_STRING_AUTH)) { foundAuth = TRUE; } else if(strcasecompare(token, DIGEST_QOP_VALUE_STRING_AUTH_INT)) { foundAuthInt = TRUE; } token = strtok_r(NULL, ",", &tok_buf); |
︙ | ︙ | |||
579 580 581 582 583 584 585 | else if(strcasecompare(value, "algorithm")) { free(digest->algorithm); digest->algorithm = strdup(content); if(!digest->algorithm) return CURLE_OUT_OF_MEMORY; if(strcasecompare(content, "MD5-sess")) | | | | | | | | 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 | else if(strcasecompare(value, "algorithm")) { free(digest->algorithm); digest->algorithm = strdup(content); if(!digest->algorithm) return CURLE_OUT_OF_MEMORY; if(strcasecompare(content, "MD5-sess")) digest->algo = ALGO_MD5SESS; else if(strcasecompare(content, "MD5")) digest->algo = ALGO_MD5; else if(strcasecompare(content, "SHA-256")) digest->algo = ALGO_SHA256; else if(strcasecompare(content, "SHA-256-SESS")) digest->algo = ALGO_SHA256SESS; else if(strcasecompare(content, "SHA-512-256")) digest->algo = ALGO_SHA512_256; else if(strcasecompare(content, "SHA-512-256-SESS")) digest->algo = ALGO_SHA512_256SESS; else return CURLE_BAD_CONTENT_ENCODING; } else if(strcasecompare(value, "userhash")) { if(strcasecompare(content, "true")) { digest->userhash = TRUE; } |
︙ | ︙ | |||
623 624 625 626 627 628 629 630 631 632 633 634 635 636 | request */ if(before && !digest->stale) return CURLE_BAD_CONTENT_ENCODING; /* We got this header without a nonce, that's a bad Digest line! */ if(!digest->nonce) return CURLE_BAD_CONTENT_ENCODING; return CURLE_OK; } /* * auth_create_digest_http_message() * | > > > > | 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 | request */ if(before && !digest->stale) return CURLE_BAD_CONTENT_ENCODING; /* We got this header without a nonce, that's a bad Digest line! */ if(!digest->nonce) return CURLE_BAD_CONTENT_ENCODING; /* "<algo>-sess" protocol versions require "auth" or "auth-int" qop */ if(!digest->qop && (digest->algo & SESSION_ALGO)) return CURLE_BAD_CONTENT_ENCODING; return CURLE_OK; } /* * auth_create_digest_http_message() * |
︙ | ︙ | |||
722 723 724 725 726 727 728 | if(!hashthis) return CURLE_OUT_OF_MEMORY; hash(hashbuf, (unsigned char *) hashthis, strlen(hashthis)); free(hashthis); convert_to_ascii(hashbuf, ha1); | | < < | 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 | if(!hashthis) return CURLE_OUT_OF_MEMORY; hash(hashbuf, (unsigned char *) hashthis, strlen(hashthis)); free(hashthis); convert_to_ascii(hashbuf, ha1); if(digest->algo & SESSION_ALGO) { /* nonce and cnonce are OUTSIDE the hash */ tmp = aprintf("%s:%s:%s", ha1, digest->nonce, digest->cnonce); if(!tmp) return CURLE_OUT_OF_MEMORY; hash(hashbuf, (unsigned char *) tmp, strlen(tmp)); free(tmp); |
︙ | ︙ | |||
839 840 841 842 843 844 845 | nonce_quoted, uripath, digest->cnonce, digest->nc, digest->qop, request_digest); | | | < < | 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 | nonce_quoted, uripath, digest->cnonce, digest->nc, digest->qop, request_digest); /* Increment nonce-count to use another nc value for the next request */ digest->nc++; } else { response = aprintf("username=\"%s\", " "realm=\"%s\", " "nonce=\"%s\", " "uri=\"%s\", " "response=\"%s\"", |
︙ | ︙ | |||
871 872 873 874 875 876 877 | char *opaque_quoted; /* Append the opaque */ opaque_quoted = auth_digest_string_quoted(digest->opaque); if(!opaque_quoted) { free(response); return CURLE_OUT_OF_MEMORY; } | | > | 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 | char *opaque_quoted; /* Append the opaque */ opaque_quoted = auth_digest_string_quoted(digest->opaque); if(!opaque_quoted) { free(response); return CURLE_OUT_OF_MEMORY; } tmp = aprintf("%s, opaque=\"%s\"", response, opaque_quoted); free(response); free(opaque_quoted); if(!tmp) return CURLE_OUT_OF_MEMORY; response = tmp; } if(digest->algorithm) { |
︙ | ︙ | |||
934 935 936 937 938 939 940 | const char *userp, const char *passwdp, const unsigned char *request, const unsigned char *uripath, struct digestdata *digest, char **outptr, size_t *outlen) { | | < < < < < < | | | | | | < < < < | 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 | const char *userp, const char *passwdp, const unsigned char *request, const unsigned char *uripath, struct digestdata *digest, char **outptr, size_t *outlen) { if(digest->algo <= ALGO_MD5SESS) return auth_create_digest_http_message(data, userp, passwdp, request, uripath, digest, outptr, outlen, auth_digest_md5_to_ascii, Curl_md5it); DEBUGASSERT(digest->algo <= ALGO_SHA512_256SESS); return auth_create_digest_http_message(data, userp, passwdp, request, uripath, digest, outptr, outlen, auth_digest_sha256_to_ascii, Curl_sha256it); } /* * Curl_auth_digest_cleanup() * * This is used to clean up the digest specific data. * |
︙ | ︙ | |||
978 979 980 981 982 983 984 | Curl_safefree(digest->cnonce); Curl_safefree(digest->realm); Curl_safefree(digest->opaque); Curl_safefree(digest->qop); Curl_safefree(digest->algorithm); digest->nc = 0; | | | 981 982 983 984 985 986 987 988 989 990 991 992 993 994 | Curl_safefree(digest->cnonce); Curl_safefree(digest->realm); Curl_safefree(digest->opaque); Curl_safefree(digest->qop); Curl_safefree(digest->algorithm); digest->nc = 0; digest->algo = ALGO_MD5; /* default algorithm */ digest->stale = FALSE; /* default means normal, not stale */ digest->userhash = FALSE; } #endif /* !USE_WINDOWS_SSPI */ #endif /* CURL_DISABLE_CRYPTO_AUTH */ |
Changes to jni/curl/lib/vauth/digest.h.
︙ | ︙ | |||
27 28 29 30 31 32 33 | #include <curl/curl.h> #if !defined(CURL_DISABLE_CRYPTO_AUTH) #define DIGEST_MAX_VALUE_LENGTH 256 #define DIGEST_MAX_CONTENT_LENGTH 1024 | < < < < < < < < < | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #include <curl/curl.h> #if !defined(CURL_DISABLE_CRYPTO_AUTH) #define DIGEST_MAX_VALUE_LENGTH 256 #define DIGEST_MAX_CONTENT_LENGTH 1024 /* This is used to extract the realm from a challenge message */ bool Curl_auth_digest_get_pair(const char *str, char *value, char *content, const char **endptr); #endif #endif /* HEADER_CURL_DIGEST_H */ |
Changes to jni/curl/lib/vquic/msh3.c.
︙ | ︙ | |||
23 24 25 26 27 28 29 | ***************************************************************************/ #include "curl_setup.h" #ifdef USE_MSH3 #include "urldata.h" | < > > > > > | 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 | ***************************************************************************/ #include "curl_setup.h" #ifdef USE_MSH3 #include "urldata.h" #include "timeval.h" #include "multiif.h" #include "sendf.h" #include "connect.h" #include "h2h3.h" #include "msh3.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" /* #define DEBUG_HTTP3 1 */ #ifdef DEBUG_HTTP3 #define H3BUGF(x) x #else #define H3BUGF(x) do { } while(0) #endif |
︙ | ︙ | |||
218 219 220 221 222 223 224 | (void)data; (void)conn; (void)checks_to_perform; H3BUGF(infof(data, "msh3_conncheck")); return CONNRESULT_NONE; } | | < < < < < > | > | | | 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 | (void)data; (void)conn; (void)checks_to_perform; H3BUGF(infof(data, "msh3_conncheck")); return CONNRESULT_NONE; } static void disconnect(struct quicsocket *qs) { if(qs->conn) { MsH3ConnectionClose(qs->conn); qs->conn = ZERO_NULL; } if(qs->api) { MsH3ApiClose(qs->api); qs->api = ZERO_NULL; } } static CURLcode msh3_disconnect(struct Curl_easy *data, struct connectdata *conn, bool dead_connection) { (void)data; (void)dead_connection; H3BUGF(infof(data, "disconnecting (msh3)")); disconnect(conn->quic); return CURLE_OK; } void Curl_quic_disconnect(struct Curl_easy *data, struct connectdata *conn, int tempindex) { (void)data; if(conn->transport == TRNSPRT_QUIC) { H3BUGF(infof(data, "disconnecting QUIC index %u", tempindex)); disconnect(&conn->hequic[tempindex]); } } /* Requires stream->recv_lock to be held */ static bool msh3request_ensure_room(struct HTTP *stream, size_t len) { uint8_t *new_recv_buf; |
︙ | ︙ | |||
284 285 286 287 288 289 290 | static void MSH3_CALL msh3_header_received(MSH3_REQUEST *Request, void *IfContext, const MSH3_HEADER *Header) { struct HTTP *stream = IfContext; size_t total_len; (void)Request; | < | 285 286 287 288 289 290 291 292 293 294 295 296 297 298 | static void MSH3_CALL msh3_header_received(MSH3_REQUEST *Request, void *IfContext, const MSH3_HEADER *Header) { struct HTTP *stream = IfContext; size_t total_len; (void)Request; if(stream->recv_header_complete) { H3BUGF(printf("* ignoring header after data\n")); return; } msh3_lock_acquire(&stream->recv_lock); |
︙ | ︙ | |||
486 487 488 489 490 491 492 | } return CURLE_OK; } void Curl_quic_done(struct Curl_easy *data, bool premature) { | | > > > > > > > > > > | 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 | } return CURLE_OK; } void Curl_quic_done(struct Curl_easy *data, bool premature) { struct HTTP *stream = data->req.p.http; (void)premature; H3BUGF(infof(data, "Curl_quic_done")); if(stream) { if(stream->recv_buf) { Curl_safefree(stream->recv_buf); msh3_lock_uninitialize(&stream->recv_lock); } if(stream->req) { MsH3RequestClose(stream->req); stream->req = ZERO_NULL; } } } bool Curl_quic_data_pending(const struct Curl_easy *data) { struct HTTP *stream = data->req.p.http; H3BUGF(infof((struct Curl_easy *)data, "Curl_quic_data_pending")); return stream->recv_header_len || stream->recv_data_len; |
︙ | ︙ |
Changes to jni/curl/lib/vquic/ngtcp2.c.
︙ | ︙ | |||
34 35 36 37 38 39 40 41 42 43 44 45 46 47 | #else #include <ngtcp2/ngtcp2_crypto_openssl.h> #endif #include "vtls/openssl.h" #elif defined(USE_GNUTLS) #include <ngtcp2/ngtcp2_crypto_gnutls.h> #include "vtls/gtls.h" #endif #include "urldata.h" #include "sendf.h" #include "strdup.h" #include "rand.h" #include "ngtcp2.h" #include "multiif.h" | > > > | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | #else #include <ngtcp2/ngtcp2_crypto_openssl.h> #endif #include "vtls/openssl.h" #elif defined(USE_GNUTLS) #include <ngtcp2/ngtcp2_crypto_gnutls.h> #include "vtls/gtls.h" #elif defined(USE_WOLFSSL) #include <ngtcp2/ngtcp2_crypto_wolfssl.h> #include "vtls/wolfssl.h" #endif #include "urldata.h" #include "sendf.h" #include "strdup.h" #include "rand.h" #include "ngtcp2.h" #include "multiif.h" |
︙ | ︙ | |||
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | #define QUIC_GROUPS "P-256:X25519:P-384:P-521" #elif defined(USE_GNUTLS) #define QUIC_PRIORITY \ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+AES-256-GCM:" \ "+CHACHA20-POLY1305:+AES-128-CCM:-GROUP-ALL:+GROUP-SECP256R1:" \ "+GROUP-X25519:+GROUP-SECP384R1:+GROUP-SECP521R1:" \ "%DISABLE_TLS13_COMPAT_MODE" #endif /* ngtcp2 default congestion controller does not perform pacing. Limit the maximum packet burst to MAX_PKT_BURST packets. */ #define MAX_PKT_BURST 10 static CURLcode ng_process_ingress(struct Curl_easy *data, curl_socket_t sockfd, struct quicsocket *qs); static CURLcode ng_flush_egress(struct Curl_easy *data, int sockfd, struct quicsocket *qs); static int cb_h3_acked_stream_data(nghttp3_conn *conn, int64_t stream_id, | > > > > > | | 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 | #define QUIC_GROUPS "P-256:X25519:P-384:P-521" #elif defined(USE_GNUTLS) #define QUIC_PRIORITY \ "NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM:+AES-256-GCM:" \ "+CHACHA20-POLY1305:+AES-128-CCM:-GROUP-ALL:+GROUP-SECP256R1:" \ "+GROUP-X25519:+GROUP-SECP384R1:+GROUP-SECP521R1:" \ "%DISABLE_TLS13_COMPAT_MODE" #elif defined(USE_WOLFSSL) #define QUIC_CIPHERS \ "TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_" \ "POLY1305_SHA256:TLS_AES_128_CCM_SHA256" #define QUIC_GROUPS "P-256:P-384:P-521" #endif /* ngtcp2 default congestion controller does not perform pacing. Limit the maximum packet burst to MAX_PKT_BURST packets. */ #define MAX_PKT_BURST 10 static CURLcode ng_process_ingress(struct Curl_easy *data, curl_socket_t sockfd, struct quicsocket *qs); static CURLcode ng_flush_egress(struct Curl_easy *data, int sockfd, struct quicsocket *qs); static int cb_h3_acked_stream_data(nghttp3_conn *conn, int64_t stream_id, uint64_t datalen, void *user_data, void *stream_user_data); static ngtcp2_conn *get_conn(ngtcp2_crypto_conn_ref *conn_ref) { struct quicsocket *qs = conn_ref->user_data; return qs->qconn; } |
︙ | ︙ | |||
198 199 200 201 202 203 204 205 206 207 208 209 210 211 | if(crandom.size != 32) { return -1; } Curl_tls_keylog_write(label, crandom.data, secret->data, secret->size); return 0; } #endif static int init_ngh3_conn(struct quicsocket *qs); #ifdef USE_OPENSSL static SSL_CTX *quic_ssl_ctx(struct Curl_easy *data) { | > > > > > > > > | 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 | if(crandom.size != 32) { return -1; } Curl_tls_keylog_write(label, crandom.data, secret->data, secret->size); return 0; } #elif defined(USE_WOLFSSL) #if defined(HAVE_SECRET_CALLBACK) static void keylog_callback(const WOLFSSL *ssl, const char *line) { (void)ssl; Curl_tls_keylog_write_line(line); } #endif #endif static int init_ngh3_conn(struct quicsocket *qs); #ifdef USE_OPENSSL static SSL_CTX *quic_ssl_ctx(struct Curl_easy *data) { |
︙ | ︙ | |||
391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 | gnutls_alpn_set_protocols(qs->ssl, alpn, 2, GNUTLS_ALPN_MANDATORY); /* set SNI */ gnutls_server_name_set(qs->ssl, GNUTLS_NAME_DNS, hostname, strlen(hostname)); return 0; } #endif static int cb_handshake_completed(ngtcp2_conn *tconn, void *user_data) { (void)user_data; (void)tconn; return 0; } | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | gnutls_alpn_set_protocols(qs->ssl, alpn, 2, GNUTLS_ALPN_MANDATORY); /* set SNI */ gnutls_server_name_set(qs->ssl, GNUTLS_NAME_DNS, hostname, strlen(hostname)); return 0; } #elif defined(USE_WOLFSSL) static WOLFSSL_CTX *quic_ssl_ctx(struct Curl_easy *data) { struct connectdata *conn = data->conn; WOLFSSL_CTX *ssl_ctx = wolfSSL_CTX_new(wolfTLSv1_3_client_method()); if(ngtcp2_crypto_wolfssl_configure_client_context(ssl_ctx) != 0) { failf(data, "ngtcp2_crypto_wolfssl_configure_client_context failed"); return NULL; } wolfSSL_CTX_set_default_verify_paths(ssl_ctx); if(wolfSSL_CTX_set_cipher_list(ssl_ctx, QUIC_CIPHERS) != 1) { char error_buffer[256]; ERR_error_string_n(ERR_get_error(), error_buffer, sizeof(error_buffer)); failf(data, "SSL_CTX_set_ciphersuites: %s", error_buffer); return NULL; } if(wolfSSL_CTX_set1_groups_list(ssl_ctx, (char *)QUIC_GROUPS) != 1) { failf(data, "SSL_CTX_set1_groups_list failed"); return NULL; } /* Open the file if a TLS or QUIC backend has not done this before. */ Curl_tls_keylog_open(); if(Curl_tls_keylog_enabled()) { #if defined(HAVE_SECRET_CALLBACK) wolfSSL_CTX_set_keylog_callback(ssl_ctx, keylog_callback); #else failf(data, "wolfSSL was built without keylog callback"); return NULL; #endif } if(conn->ssl_config.verifypeer) { const char * const ssl_cafile = conn->ssl_config.CAfile; const char * const ssl_capath = conn->ssl_config.CApath; if(ssl_cafile || ssl_capath) { wolfSSL_CTX_set_verify(ssl_ctx, SSL_VERIFY_PEER, NULL); /* tell wolfSSL where to find CA certificates that are used to verify the server's certificate. */ if(!wolfSSL_CTX_load_verify_locations(ssl_ctx, ssl_cafile, ssl_capath)) { /* Fail if we insist on successfully verifying the server. */ failf(data, "error setting certificate verify locations:" " CAfile: %s CApath: %s", ssl_cafile ? ssl_cafile : "none", ssl_capath ? ssl_capath : "none"); return NULL; } infof(data, " CAfile: %s", ssl_cafile ? ssl_cafile : "none"); infof(data, " CApath: %s", ssl_capath ? ssl_capath : "none"); } #ifdef CURL_CA_FALLBACK else { /* verifying the peer without any CA certificates won't work so use wolfssl's built-in default as fallback */ wolfSSL_CTX_set_default_verify_paths(ssl_ctx); } #endif } else { wolfSSL_CTX_set_verify(ssl_ctx, SSL_VERIFY_NONE, NULL); } return ssl_ctx; } /** SSL callbacks ***/ static int quic_init_ssl(struct quicsocket *qs) { const uint8_t *alpn = NULL; size_t alpnlen = 0; /* this will need some attention when HTTPS proxy over QUIC get fixed */ const char * const hostname = qs->conn->host.name; DEBUGASSERT(!qs->ssl); qs->ssl = SSL_new(qs->sslctx); wolfSSL_set_app_data(qs->ssl, &qs->conn_ref); wolfSSL_set_connect_state(qs->ssl); wolfSSL_set_quic_use_legacy_codepoint(qs->ssl, 0); alpn = (const uint8_t *)H3_ALPN_H3_29 H3_ALPN_H3; alpnlen = sizeof(H3_ALPN_H3_29) - 1 + sizeof(H3_ALPN_H3) - 1; if(alpn) wolfSSL_set_alpn_protos(qs->ssl, alpn, (int)alpnlen); /* set SNI */ wolfSSL_UseSNI(qs->ssl, WOLFSSL_SNI_HOST_NAME, hostname, (unsigned short)strlen(hostname)); return 0; } #endif /* defined(USE_WOLFSSL) */ static int cb_handshake_completed(ngtcp2_conn *tconn, void *user_data) { (void)user_data; (void)tconn; return 0; } |
︙ | ︙ | |||
687 688 689 690 691 692 693 694 695 696 697 698 699 700 | qs->sslctx = quic_ssl_ctx(data); if(!qs->sslctx) return CURLE_QUIC_CONNECT_ERROR; result = quic_set_client_cert(data, qs); if(result) return result; #endif if(quic_init_ssl(qs)) return CURLE_QUIC_CONNECT_ERROR; qs->dcid.datalen = NGTCP2_MAX_CIDLEN; result = Curl_rand(data, qs->dcid.data, NGTCP2_MAX_CIDLEN); | > > > > | 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 | qs->sslctx = quic_ssl_ctx(data); if(!qs->sslctx) return CURLE_QUIC_CONNECT_ERROR; result = quic_set_client_cert(data, qs); if(result) return result; #elif defined(USE_WOLFSSL) qs->sslctx = quic_ssl_ctx(data); if(!qs->sslctx) return CURLE_QUIC_CONNECT_ERROR; #endif if(quic_init_ssl(qs)) return CURLE_QUIC_CONNECT_ERROR; qs->dcid.datalen = NGTCP2_MAX_CIDLEN; result = Curl_rand(data, qs->dcid.data, NGTCP2_MAX_CIDLEN); |
︙ | ︙ | |||
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 | qs->qlogfd = -1; } if(qs->ssl) #ifdef USE_OPENSSL SSL_free(qs->ssl); #elif defined(USE_GNUTLS) gnutls_deinit(qs->ssl); #endif qs->ssl = NULL; #ifdef USE_GNUTLS if(qs->cred) { gnutls_certificate_free_credentials(qs->cred); qs->cred = NULL; } #endif free(qs->pktbuf); nghttp3_conn_del(qs->h3conn); ngtcp2_conn_del(qs->qconn); #ifdef USE_OPENSSL SSL_CTX_free(qs->sslctx); #endif } void Curl_quic_disconnect(struct Curl_easy *data, struct connectdata *conn, int tempindex) { | > > > > | 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 | qs->qlogfd = -1; } if(qs->ssl) #ifdef USE_OPENSSL SSL_free(qs->ssl); #elif defined(USE_GNUTLS) gnutls_deinit(qs->ssl); #elif defined(USE_WOLFSSL) wolfSSL_free(qs->ssl); #endif qs->ssl = NULL; #ifdef USE_GNUTLS if(qs->cred) { gnutls_certificate_free_credentials(qs->cred); qs->cred = NULL; } #endif free(qs->pktbuf); nghttp3_conn_del(qs->h3conn); ngtcp2_conn_del(qs->qconn); #ifdef USE_OPENSSL SSL_CTX_free(qs->sslctx); #elif defined(USE_WOLFSSL) wolfSSL_CTX_free(qs->sslctx); #endif } void Curl_quic_disconnect(struct Curl_easy *data, struct connectdata *conn, int tempindex) { |
︙ | ︙ | |||
895 896 897 898 899 900 901 902 903 904 905 906 907 908 | (void)conn; (void)stream_id; (void)app_error_code; (void)user_data; H3BUGF(infof(data, "cb_h3_stream_close CALLED")); stream->closed = TRUE; Curl_expire(data, 0, EXPIRE_QUIC); /* make sure that ngh3_stream_recv is called again to complete the transfer even if there are no more packets to be received from the server. */ data->state.drain = 1; return 0; } | > | 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 | (void)conn; (void)stream_id; (void)app_error_code; (void)user_data; H3BUGF(infof(data, "cb_h3_stream_close CALLED")); stream->closed = TRUE; stream->error3 = app_error_code; Curl_expire(data, 0, EXPIRE_QUIC); /* make sure that ngh3_stream_recv is called again to complete the transfer even if there are no more packets to be received from the server. */ data->state.drain = 1; return 0; } |
︙ | ︙ | |||
1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 | /* add a CRLF only if we've received some headers */ if(stream->firstheader) { result = write_data(stream, "\r\n", 2); if(result) { return -1; } } return 0; } static int cb_h3_recv_header(nghttp3_conn *conn, int64_t stream_id, int32_t token, nghttp3_rcbuf *name, nghttp3_rcbuf *value, uint8_t flags, void *user_data, void *stream_user_data) | > > > > | 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 | /* add a CRLF only if we've received some headers */ if(stream->firstheader) { result = write_data(stream, "\r\n", 2); if(result) { return -1; } } if(stream->status_code / 100 != 1) { stream->bodystarted = TRUE; } return 0; } static int cb_h3_recv_header(nghttp3_conn *conn, int64_t stream_id, int32_t token, nghttp3_rcbuf *name, nghttp3_rcbuf *value, uint8_t flags, void *user_data, void *stream_user_data) |
︙ | ︙ | |||
1028 1029 1030 1031 1032 1033 1034 | (void)token; (void)flags; (void)user_data; if(token == NGHTTP3_QPACK_TOKEN__STATUS) { char line[14]; /* status line is always 13 characters long */ size_t ncopy; | | | | > | 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 | (void)token; (void)flags; (void)user_data; if(token == NGHTTP3_QPACK_TOKEN__STATUS) { char line[14]; /* status line is always 13 characters long */ size_t ncopy; stream->status_code = decode_status_code(h3val.base, h3val.len); DEBUGASSERT(stream->status_code != -1); ncopy = msnprintf(line, sizeof(line), "HTTP/3 %03d \r\n", stream->status_code); result = write_data(stream, line, ncopy); if(result) { return -1; } } else { /* store as a HTTP1-style header */ |
︙ | ︙ | |||
1060 1061 1062 1063 1064 1065 1066 | } } stream->firstheader = TRUE; return 0; } | | | < | > > | > > > > > > > > > > | > > > | > > > > > > | | | 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 | } } stream->firstheader = TRUE; return 0; } static int cb_h3_stop_sending(nghttp3_conn *conn, int64_t stream_id, uint64_t app_error_code, void *user_data, void *stream_user_data) { struct quicsocket *qs = user_data; int rv; (void)conn; (void)stream_user_data; rv = ngtcp2_conn_shutdown_stream_read(qs->qconn, stream_id, app_error_code); if(rv && rv != NGTCP2_ERR_STREAM_NOT_FOUND) { return NGTCP2_ERR_CALLBACK_FAILURE; } return 0; } static int cb_h3_reset_stream(nghttp3_conn *conn, int64_t stream_id, uint64_t app_error_code, void *user_data, void *stream_user_data) { struct quicsocket *qs = user_data; int rv; (void)conn; (void)stream_user_data; rv = ngtcp2_conn_shutdown_stream_write(qs->qconn, stream_id, app_error_code); if(rv && rv != NGTCP2_ERR_STREAM_NOT_FOUND) { return NGTCP2_ERR_CALLBACK_FAILURE; } return 0; } static nghttp3_callbacks ngh3_callbacks = { cb_h3_acked_stream_data, /* acked_stream_data */ cb_h3_stream_close, cb_h3_recv_data, cb_h3_deferred_consume, NULL, /* begin_headers */ cb_h3_recv_header, cb_h3_end_headers, NULL, /* begin_trailers */ cb_h3_recv_header, NULL, /* end_trailers */ cb_h3_stop_sending, NULL, /* end_stream */ cb_h3_reset_stream, NULL /* shutdown */ }; static int init_ngh3_conn(struct quicsocket *qs) { CURLcode result; int rc; |
︙ | ︙ | |||
1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 | *curlcode = CURLE_SEND_ERROR; return -1; } return memlen; } if(stream->closed) { *curlcode = CURLE_OK; return 0; } infof(data, "ngh3_stream_recv returns 0 bytes and EAGAIN"); *curlcode = CURLE_AGAIN; return -1; } /* this amount of data has now been acked on this stream */ static int cb_h3_acked_stream_data(nghttp3_conn *conn, int64_t stream_id, | > > > > > > > > > > > > > > > > > > | | 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 | *curlcode = CURLE_SEND_ERROR; return -1; } return memlen; } if(stream->closed) { if(stream->error3 != NGHTTP3_H3_NO_ERROR) { failf(data, "HTTP/3 stream %" PRId64 " was not closed cleanly: (err %" PRIu64 ")", stream->stream3_id, stream->error3); *curlcode = CURLE_HTTP3; return -1; } if(!stream->bodystarted) { failf(data, "HTTP/3 stream %" PRId64 " was closed cleanly, but before getting" " all response header fields, treated as error", stream->stream3_id); *curlcode = CURLE_HTTP3; return -1; } *curlcode = CURLE_OK; return 0; } infof(data, "ngh3_stream_recv returns 0 bytes and EAGAIN"); *curlcode = CURLE_AGAIN; return -1; } /* this amount of data has now been acked on this stream */ static int cb_h3_acked_stream_data(nghttp3_conn *conn, int64_t stream_id, uint64_t datalen, void *user_data, void *stream_user_data) { struct Curl_easy *data = stream_user_data; struct HTTP *stream = data->req.p.http; (void)user_data; if(!data->set.postfields) { |
︙ | ︙ | |||
1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 | else { unsigned int i; for(i = 0; i < nheader; i++) { nva[i].name = (unsigned char *)hreq->header[i].name; nva[i].namelen = hreq->header[i].namelen; nva[i].value = (unsigned char *)hreq->header[i].value; nva[i].valuelen = hreq->header[i].valuelen; } } switch(data->state.httpreq) { case HTTPREQ_POST: case HTTPREQ_POST_FORM: case HTTPREQ_POST_MIME: | > | 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 | else { unsigned int i; for(i = 0; i < nheader; i++) { nva[i].name = (unsigned char *)hreq->header[i].name; nva[i].namelen = hreq->header[i].namelen; nva[i].value = (unsigned char *)hreq->header[i].value; nva[i].valuelen = hreq->header[i].valuelen; nva[i].flags = NGHTTP3_NV_FLAG_NONE; } } switch(data->state.httpreq) { case HTTPREQ_POST: case HTTPREQ_POST_FORM: case HTTPREQ_POST_MIME: |
︙ | ︙ | |||
1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 | CURLcode *curlcode) { ssize_t sent = 0; struct connectdata *conn = data->conn; struct quicsocket *qs = conn->quic; curl_socket_t sockfd = conn->sock[sockindex]; struct HTTP *stream = data->req.p.http; if(!stream->h3req) { CURLcode result = http_request(data, mem, len); if(result) { *curlcode = CURLE_SEND_ERROR; return -1; } | > > > > > | 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 | CURLcode *curlcode) { ssize_t sent = 0; struct connectdata *conn = data->conn; struct quicsocket *qs = conn->quic; curl_socket_t sockfd = conn->sock[sockindex]; struct HTTP *stream = data->req.p.http; if(stream->closed) { *curlcode = CURLE_HTTP3; return -1; } if(!stream->h3req) { CURLcode result = http_request(data, mem, len); if(result) { *curlcode = CURLE_SEND_ERROR; return -1; } |
︙ | ︙ | |||
1515 1516 1517 1518 1519 1520 1521 | return CURLE_PEER_FAILED_VERIFICATION; } result = Curl_ossl_verifyhost(data, conn, server_cert); X509_free(server_cert); if(result) return result; infof(data, "Verified certificate just fine"); | | > > > > > > | 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 | return CURLE_PEER_FAILED_VERIFICATION; } result = Curl_ossl_verifyhost(data, conn, server_cert); X509_free(server_cert); if(result) return result; infof(data, "Verified certificate just fine"); #elif defined(USE_GNUTLS) result = Curl_gtls_verifyserver(data, conn, conn->quic->ssl, FIRSTSOCKET); #elif defined(USE_WOLFSSL) char *snihost = Curl_ssl_snihost(data, SSL_HOST_NAME(), NULL); if(!snihost || (wolfSSL_check_domain_name(conn->quic->ssl, snihost) == SSL_FAILURE)) return CURLE_PEER_FAILED_VERIFICATION; infof(data, "Verified certificate just fine"); #endif } else infof(data, "Skipped certificate verification"); return result; } |
︙ | ︙ | |||
1885 1886 1887 1888 1889 1890 1891 | break; } if(outlen < 0) { switch(outlen) { case NGTCP2_ERR_STREAM_DATA_BLOCKED: assert(ndatalen == -1); | | < < < < < | < < < < < < | 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 | break; } if(outlen < 0) { switch(outlen) { case NGTCP2_ERR_STREAM_DATA_BLOCKED: assert(ndatalen == -1); nghttp3_conn_block_stream(qs->h3conn, stream_id); continue; case NGTCP2_ERR_STREAM_SHUT_WR: assert(ndatalen == -1); nghttp3_conn_shutdown_stream_write(qs->h3conn, stream_id); continue; case NGTCP2_ERR_WRITE_MORE: assert(ndatalen >= 0); rv = nghttp3_conn_add_write_offset(qs->h3conn, stream_id, ndatalen); if(rv) { failf(data, "nghttp3_conn_add_write_offset returned error: %s\n", nghttp3_strerror(rv)); |
︙ | ︙ |
Changes to jni/curl/lib/vquic/ngtcp2.h.
︙ | ︙ | |||
34 35 36 37 38 39 40 41 42 43 44 45 46 47 | #include <ngtcp2/ngtcp2_crypto.h> #include <nghttp3/nghttp3.h> #ifdef USE_OPENSSL #include <openssl/ssl.h> #elif defined(USE_GNUTLS) #include <gnutls/gnutls.h> #endif struct blocked_pkt { const uint8_t *pkt; size_t pktlen; size_t gsolen; }; | > > > > | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #include <ngtcp2/ngtcp2_crypto.h> #include <nghttp3/nghttp3.h> #ifdef USE_OPENSSL #include <openssl/ssl.h> #elif defined(USE_GNUTLS) #include <gnutls/gnutls.h> #elif defined(USE_WOLFSSL) #include <wolfssl/options.h> #include <wolfssl/ssl.h> #include <wolfssl/quic.h> #endif struct blocked_pkt { const uint8_t *pkt; size_t pktlen; size_t gsolen; }; |
︙ | ︙ | |||
58 59 60 61 62 63 64 65 66 67 68 69 70 71 | ngtcp2_crypto_conn_ref conn_ref; #ifdef USE_OPENSSL SSL_CTX *sslctx; SSL *ssl; #elif defined(USE_GNUTLS) gnutls_certificate_credentials_t cred; gnutls_session_t ssl; #endif struct sockaddr_storage local_addr; socklen_t local_addrlen; bool no_gso; uint8_t *pktbuf; size_t pktbuflen; /* the number of entries in blocked_pkt */ | > > > | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | ngtcp2_crypto_conn_ref conn_ref; #ifdef USE_OPENSSL SSL_CTX *sslctx; SSL *ssl; #elif defined(USE_GNUTLS) gnutls_certificate_credentials_t cred; gnutls_session_t ssl; #elif defined(USE_WOLFSSL) WOLFSSL_CTX *sslctx; WOLFSSL *ssl; #endif struct sockaddr_storage local_addr; socklen_t local_addrlen; bool no_gso; uint8_t *pktbuf; size_t pktbuflen; /* the number of entries in blocked_pkt */ |
︙ | ︙ |
Changes to jni/curl/lib/vquic/quiche.c.
︙ | ︙ | |||
254 255 256 257 258 259 260 261 262 263 264 265 266 267 | int sockindex, const struct sockaddr *addr, socklen_t addrlen) { CURLcode result; struct quicsocket *qs = &conn->hequic[sockindex]; char ipbuf[40]; int port; #ifdef DEBUG_QUICHE /* initialize debug log callback only once */ static int debug_log_init = 0; if(!debug_log_init) { quiche_enable_debug_logging(quiche_debug_log, NULL); debug_log_init = 1; | > | 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 | int sockindex, const struct sockaddr *addr, socklen_t addrlen) { CURLcode result; struct quicsocket *qs = &conn->hequic[sockindex]; char ipbuf[40]; int port; int rv; #ifdef DEBUG_QUICHE /* initialize debug log callback only once */ static int debug_log_init = 0; if(!debug_log_init) { quiche_enable_debug_logging(quiche_debug_log, NULL); debug_log_init = 1; |
︙ | ︙ | |||
298 299 300 301 302 303 304 305 306 | if(quic_init_ssl(qs, conn)) return CURLE_QUIC_CONNECT_ERROR; result = Curl_rand(data, qs->scid, sizeof(qs->scid)); if(result) return result; qs->conn = quiche_conn_new_with_tls((const uint8_t *) qs->scid, | > > > > > > | > > | 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 | if(quic_init_ssl(qs, conn)) return CURLE_QUIC_CONNECT_ERROR; result = Curl_rand(data, qs->scid, sizeof(qs->scid)); if(result) return result; qs->local_addrlen = sizeof(qs->local_addr); rv = getsockname(sockfd, (struct sockaddr *)&qs->local_addr, &qs->local_addrlen); if(rv == -1) return CURLE_QUIC_CONNECT_ERROR; qs->conn = quiche_conn_new_with_tls((const uint8_t *) qs->scid, sizeof(qs->scid), NULL, 0, (struct sockaddr *)&qs->local_addr, qs->local_addrlen, addr, addrlen, qs->cfg, qs->ssl, false); if(!qs->conn) { failf(data, "can't create quiche connection"); return CURLE_OUT_OF_MEMORY; } /* Known to not work on Windows */ |
︙ | ︙ | |||
474 475 476 477 478 479 480 481 482 483 484 485 486 487 | failf(data, "quiche: recvfrom() unexpectedly returned %zd " "(errno: %d, socket %d)", recvd, SOCKERRNO, sockfd); return CURLE_RECV_ERROR; } recv_info.from = (struct sockaddr *) &from; recv_info.from_len = from_len; recvd = quiche_conn_recv(qs->conn, buf, recvd, &recv_info); if(recvd == QUICHE_ERR_DONE) break; if(recvd < 0) { if(QUICHE_ERR_TLS_FAIL == recvd) { | > > | 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 | failf(data, "quiche: recvfrom() unexpectedly returned %zd " "(errno: %d, socket %d)", recvd, SOCKERRNO, sockfd); return CURLE_RECV_ERROR; } recv_info.from = (struct sockaddr *) &from; recv_info.from_len = from_len; recv_info.to = (struct sockaddr *) &qs->local_addr; recv_info.to_len = qs->local_addrlen; recvd = quiche_conn_recv(qs->conn, buf, recvd, &recv_info); if(recvd == QUICHE_ERR_DONE) break; if(recvd < 0) { if(QUICHE_ERR_TLS_FAIL == recvd) { |
︙ | ︙ |
Changes to jni/curl/lib/vquic/quiche.h.
︙ | ︙ | |||
45 46 47 48 49 50 51 52 53 54 55 56 | quiche_h3_config *h3config; uint8_t scid[QUICHE_MAX_CONN_ID_LEN]; curl_socket_t sockfd; uint32_t version; SSL_CTX *sslctx; SSL *ssl; bool h3_recving; /* TRUE when in h3-body-reading state */ }; #endif #endif /* HEADER_CURL_VQUIC_QUICHE_H */ | > > | 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | quiche_h3_config *h3config; uint8_t scid[QUICHE_MAX_CONN_ID_LEN]; curl_socket_t sockfd; uint32_t version; SSL_CTX *sslctx; SSL *ssl; bool h3_recving; /* TRUE when in h3-body-reading state */ struct sockaddr_storage local_addr; socklen_t local_addrlen; }; #endif #endif /* HEADER_CURL_VQUIC_QUICHE_H */ |
Changes to jni/curl/lib/vssh/libssh.c.
︙ | ︙ | |||
91 92 93 94 95 96 97 98 99 100 101 102 103 104 | #include <fcntl.h> #endif /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" /* A recent macro provided by libssh. Or make our own. */ #ifndef SSH_STRING_FREE_CHAR #define SSH_STRING_FREE_CHAR(x) \ do { \ if(x) { \ ssh_string_free_char(x); \ | > > > > > > > | 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | #include <fcntl.h> #endif /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" /* in 0.10.0 or later, ignore deprecated warnings */ #if defined(__GNUC__) && \ (LIBSSH_VERSION_MINOR >= 10) || \ (LIBSSH_VERSION_MAJOR > 0) #pragma GCC diagnostic ignored "-Wdeprecated-declarations" #endif /* A recent macro provided by libssh. Or make our own. */ #ifndef SSH_STRING_FREE_CHAR #define SSH_STRING_FREE_CHAR(x) \ do { \ if(x) { \ ssh_string_free_char(x); \ |
︙ | ︙ | |||
2907 2908 2909 2910 2911 2912 2913 | state(data, SSH_SFTP_CLOSE); sshc->nextstate = SSH_NO_STATE; sshc->actualcode = CURLE_QUOTE_ERROR; return; } sshc->quote_attrs->flags |= SSH_FILEXFER_ATTR_UIDGID; } | | > > < < | < | < < > | < > > | < < > | < > > > | > | 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 | state(data, SSH_SFTP_CLOSE); sshc->nextstate = SSH_NO_STATE; sshc->actualcode = CURLE_QUOTE_ERROR; return; } sshc->quote_attrs->flags |= SSH_FILEXFER_ATTR_UIDGID; } else if(strncasecompare(cmd, "atime", 5) || strncasecompare(cmd, "mtime", 5)) { time_t date = Curl_getdate_capped(sshc->quote_path1); bool fail = FALSE; if(date == -1) { failf(data, "incorrect date format for %.*s", 5, cmd); fail = TRUE; } #if SIZEOF_TIME_T > 4 else if(date > 0xffffffff) { failf(data, "date overflow"); fail = TRUE; /* avoid setting a capped time */ } #endif if(fail) { Curl_safefree(sshc->quote_path1); Curl_safefree(sshc->quote_path2); state(data, SSH_SFTP_CLOSE); sshc->nextstate = SSH_NO_STATE; sshc->actualcode = CURLE_QUOTE_ERROR; return; } if(strncasecompare(cmd, "atime", 5)) sshc->quote_attrs->atime = (uint32_t)date; else /* mtime */ sshc->quote_attrs->mtime = (uint32_t)date; sshc->quote_attrs->flags |= SSH_FILEXFER_ATTR_ACMODTIME; } /* Now send the completed structure... */ state(data, SSH_SFTP_QUOTE_SETSTAT); return; } |
︙ | ︙ |
Changes to jni/curl/lib/vssh/libssh2.c.
︙ | ︙ | |||
1751 1752 1753 1754 1755 1756 1757 | failf(data, "Syntax error: chown uid not a number"); state(data, SSH_SFTP_CLOSE); sshc->nextstate = SSH_NO_STATE; sshc->actualcode = CURLE_QUOTE_ERROR; break; } } | | > > > < < | < | < < > | > | > | < | | < > > > | > | 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 | failf(data, "Syntax error: chown uid not a number"); state(data, SSH_SFTP_CLOSE); sshc->nextstate = SSH_NO_STATE; sshc->actualcode = CURLE_QUOTE_ERROR; break; } } else if(strncasecompare(cmd, "atime", 5) || strncasecompare(cmd, "mtime", 5)) { time_t date = Curl_getdate_capped(sshc->quote_path1); bool fail = FALSE; if(date == -1) { failf(data, "incorrect date format for %.*s", 5, cmd); fail = TRUE; } #if SIZEOF_TIME_T > SIZEOF_LONG if(date > 0xffffffff) { /* if 'long' can't old >32bit, this date cannot be sent */ failf(data, "date overflow"); fail = TRUE; } #endif if(fail) { Curl_safefree(sshc->quote_path1); Curl_safefree(sshc->quote_path2); state(data, SSH_SFTP_CLOSE); sshc->nextstate = SSH_NO_STATE; sshc->actualcode = CURLE_QUOTE_ERROR; break; } if(strncasecompare(cmd, "atime", 5)) sshp->quote_attrs.atime = (unsigned long)date; else /* mtime */ sshp->quote_attrs.mtime = (unsigned long)date; sshp->quote_attrs.flags = LIBSSH2_SFTP_ATTR_ACMODTIME; } /* Now send the completed structure... */ state(data, SSH_SFTP_QUOTE_SETSTAT); break; } |
︙ | ︙ | |||
2331 2332 2333 2334 2335 2336 2337 | result = Curl_dyn_add(&sshp->readdir, sshp->readdir_longentry); if(!result) { if((sshp->readdir_attrs.flags & LIBSSH2_SFTP_ATTR_PERMISSIONS) && ((sshp->readdir_attrs.permissions & LIBSSH2_SFTP_S_IFMT) == LIBSSH2_SFTP_S_IFLNK)) { Curl_dyn_init(&sshp->readdir_link, PATH_MAX); | | > | 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 | result = Curl_dyn_add(&sshp->readdir, sshp->readdir_longentry); if(!result) { if((sshp->readdir_attrs.flags & LIBSSH2_SFTP_ATTR_PERMISSIONS) && ((sshp->readdir_attrs.permissions & LIBSSH2_SFTP_S_IFMT) == LIBSSH2_SFTP_S_IFLNK)) { Curl_dyn_init(&sshp->readdir_link, PATH_MAX); result = Curl_dyn_addf(&sshp->readdir_link, "%s%s", sshp->path, sshp->readdir_filename); state(data, SSH_SFTP_READDIR_LINK); if(!result) break; } else { state(data, SSH_SFTP_READDIR_BOTTOM); break; |
︙ | ︙ |
Changes to jni/curl/lib/vtls/openssl.c.
︙ | ︙ | |||
74 75 76 77 78 79 80 | #include <openssl/conf.h> #include <openssl/bn.h> #include <openssl/rsa.h> #include <openssl/bio.h> #include <openssl/buffer.h> #include <openssl/pkcs12.h> | < < < < | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | #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) && !defined(OPENSSL_NO_UI_CONSOLE) #define USE_OPENSSL_ENGINE |
︙ | ︙ | |||
793 794 795 796 797 798 799 | case SSL_FILETYPE_PEM: /* SSL_CTX_use_certificate_chain_file() only works on PEM files */ cert_use_result = cert_blob ? SSL_CTX_use_certificate_chain_blob(ctx, cert_blob, key_passwd) : SSL_CTX_use_certificate_chain_file(ctx, cert_file); if(cert_use_result != 1) { failf(data, | | > | > | 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 | case SSL_FILETYPE_PEM: /* SSL_CTX_use_certificate_chain_file() only works on PEM files */ cert_use_result = cert_blob ? SSL_CTX_use_certificate_chain_blob(ctx, cert_blob, key_passwd) : SSL_CTX_use_certificate_chain_file(ctx, cert_file); if(cert_use_result != 1) { failf(data, "could not load PEM client certificate from %s, " OSSL_PACKAGE " error %s, " "(no key found, wrong pass phrase, or wrong file format?)", (cert_blob ? "CURLOPT_SSLCERT_BLOB" : cert_file), ossl_strerror(ERR_get_error(), error_buffer, sizeof(error_buffer)) ); return 0; } break; case SSL_FILETYPE_ASN1: /* SSL_CTX_use_certificate_file() works with either PEM or ASN1, but we use the case above for PEM so this can only be performed with ASN1 files. */ cert_use_result = cert_blob ? SSL_CTX_use_certificate_blob(ctx, cert_blob, file_type, key_passwd) : SSL_CTX_use_certificate_file(ctx, cert_file, file_type); if(cert_use_result != 1) { failf(data, "could not load ASN1 client certificate from %s, " OSSL_PACKAGE " error %s, " "(no key found, wrong pass phrase, or wrong file format?)", (cert_blob ? "CURLOPT_SSLCERT_BLOB" : cert_file), ossl_strerror(ERR_get_error(), error_buffer, sizeof(error_buffer)) ); return 0; } break; case SSL_FILETYPE_ENGINE: #if defined(USE_OPENSSL_ENGINE) && defined(ENGINE_CTRL_GET_CMD_FROM_NAME) |
︙ | ︙ | |||
868 869 870 871 872 873 874 | if(!params.cert) { failf(data, "ssl engine didn't initialized the certificate " "properly."); return 0; } if(SSL_CTX_use_certificate(ctx, params.cert) != 1) { | | | > | 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 | if(!params.cert) { failf(data, "ssl engine didn't initialized the certificate " "properly."); return 0; } if(SSL_CTX_use_certificate(ctx, params.cert) != 1) { failf(data, "unable to set client certificate [%s]", ossl_strerror(ERR_get_error(), error_buffer, sizeof(error_buffer))); return 0; } X509_free(params.cert); /* we don't need the handle any more... */ } else { failf(data, "crypto engine not set, can't load certificate"); return 0; |
︙ | ︙ | |||
992 993 994 995 996 997 998 | } } cert_done = 1; fail: EVP_PKEY_free(pri); X509_free(x509); | < < < < | 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 | } } cert_done = 1; fail: EVP_PKEY_free(pri); X509_free(x509); sk_X509_pop_free(ca, X509_free); if(!cert_done) return 0; /* failure! */ break; } default: failf(data, "not supported file type '%s' for certificate", cert_type); return 0; |
︙ | ︙ | |||
4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 | return msnprintf(buffer, size, "%s/%lx.%lx.%lx", OSSL_PACKAGE, (LIBRESSL_VERSION_NUMBER>>28)&0xf, (LIBRESSL_VERSION_NUMBER>>20)&0xff, (LIBRESSL_VERSION_NUMBER>>12)&0xff); #endif #elif defined(OPENSSL_IS_BORINGSSL) return msnprintf(buffer, size, OSSL_PACKAGE); #elif defined(HAVE_OPENSSL_VERSION) && defined(OPENSSL_VERSION_STRING) return msnprintf(buffer, size, "%s/%s", OSSL_PACKAGE, OpenSSL_version(OPENSSL_VERSION_STRING)); #else /* not LibreSSL, BoringSSL and not using OpenSSL_version */ char sub[3]; | > > > > > > | 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 | return msnprintf(buffer, size, "%s/%lx.%lx.%lx", OSSL_PACKAGE, (LIBRESSL_VERSION_NUMBER>>28)&0xf, (LIBRESSL_VERSION_NUMBER>>20)&0xff, (LIBRESSL_VERSION_NUMBER>>12)&0xff); #endif #elif defined(OPENSSL_IS_BORINGSSL) #ifdef CURL_BORINGSSL_VERSION return msnprintf(buffer, size, "%s/%s", OSSL_PACKAGE, CURL_BORINGSSL_VERSION); #else return msnprintf(buffer, size, OSSL_PACKAGE); #endif #elif defined(HAVE_OPENSSL_VERSION) && defined(OPENSSL_VERSION_STRING) return msnprintf(buffer, size, "%s/%s", OSSL_PACKAGE, OpenSSL_version(OPENSSL_VERSION_STRING)); #else /* not LibreSSL, BoringSSL and not using OpenSSL_version */ char sub[3]; |
︙ | ︙ |
Changes to jni/curl/lib/vtls/schannel.c.
︙ | ︙ | |||
49 50 51 52 53 54 55 56 57 58 59 60 61 62 | #include "inet_pton.h" /* for IP addr SNI check */ #include "curl_multibyte.h" #include "warnless.h" #include "x509asn1.h" #include "curl_printf.h" #include "multiif.h" #include "version_win32.h" /* The last #include file should be: */ #include "curl_memory.h" #include "memdebug.h" /* ALPN requires version 8.1 of the Windows SDK, which was shipped with Visual Studio 2013, aka _MSC_VER 1800: | > | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | #include "inet_pton.h" /* for IP addr SNI check */ #include "curl_multibyte.h" #include "warnless.h" #include "x509asn1.h" #include "curl_printf.h" #include "multiif.h" #include "version_win32.h" #include "rand.h" /* The last #include file should be: */ #include "curl_memory.h" #include "memdebug.h" /* ALPN requires version 8.1 of the Windows SDK, which was shipped with Visual Studio 2013, aka _MSC_VER 1800: |
︙ | ︙ | |||
79 80 81 82 83 84 85 | #ifdef UNICODE #define UNISP_NAME UNISP_NAME_W #else #define UNISP_NAME UNISP_NAME_A #endif #endif | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | > | 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 | #ifdef UNICODE #define UNISP_NAME UNISP_NAME_W #else #define UNISP_NAME UNISP_NAME_A #endif #endif #ifndef BCRYPT_CHACHA20_POLY1305_ALGORITHM #define BCRYPT_CHACHA20_POLY1305_ALGORITHM L"CHACHA20_POLY1305" #endif #ifndef BCRYPT_CHAIN_MODE_CCM #define BCRYPT_CHAIN_MODE_CCM L"ChainingModeCCM" #endif #ifndef BCRYPT_CHAIN_MODE_GCM #define BCRYPT_CHAIN_MODE_GCM L"ChainingModeGCM" #endif #ifndef BCRYPT_AES_ALGORITHM #define BCRYPT_AES_ALGORITHM L"AES" #endif #ifndef BCRYPT_SHA256_ALGORITHM #define BCRYPT_SHA256_ALGORITHM L"SHA256" #endif #ifndef BCRYPT_SHA384_ALGORITHM #define BCRYPT_SHA384_ALGORITHM L"SHA384" #endif /* Workaround broken compilers like MingW. Return the number of elements in a statically sized array. */ #ifndef ARRAYSIZE #define ARRAYSIZE(A) (sizeof(A)/sizeof((A)[0])) #endif #if defined(CryptStringToBinary) && defined(CRYPT_STRING_HEX) \ && !defined(DISABLE_SCHANNEL_CLIENT_CERT) #define HAS_CLIENT_CERT_PATH #endif #ifdef HAS_CLIENT_CERT_PATH #ifdef UNICODE #define CURL_CERT_STORE_PROV_SYSTEM CERT_STORE_PROV_SYSTEM_W #else |
︙ | ︙ | |||
114 115 116 117 118 119 120 121 122 123 124 125 126 127 | #ifndef SP_PROT_TLS1_1_CLIENT #define SP_PROT_TLS1_1_CLIENT 0x00000200 #endif #ifndef SP_PROT_TLS1_2_CLIENT #define SP_PROT_TLS1_2_CLIENT 0x00000800 #endif #ifndef SCH_USE_STRONG_CRYPTO #define SCH_USE_STRONG_CRYPTO 0x00400000 #endif #ifndef SECBUFFER_ALERT #define SECBUFFER_ALERT 17 | > > > > | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | #ifndef SP_PROT_TLS1_1_CLIENT #define SP_PROT_TLS1_1_CLIENT 0x00000200 #endif #ifndef SP_PROT_TLS1_2_CLIENT #define SP_PROT_TLS1_2_CLIENT 0x00000800 #endif #ifndef SP_PROT_TLS1_3_CLIENT #define SP_PROT_TLS1_3_CLIENT 0x00002000 #endif #ifndef SCH_USE_STRONG_CRYPTO #define SCH_USE_STRONG_CRYPTO 0x00400000 #endif #ifndef SECBUFFER_ALERT #define SECBUFFER_ALERT 17 |
︙ | ︙ | |||
169 170 171 172 173 174 175 | { desc->ulVersion = SECBUFFER_VERSION; desc->pBuffers = BufArr; desc->cBuffers = NumArrElem; } static CURLcode | | > > > > > > > > > > | > > | | | > > > > > > > > | | > | > > | > > | 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 | { desc->ulVersion = SECBUFFER_VERSION; desc->pBuffers = BufArr; desc->cBuffers = NumArrElem; } static CURLcode set_ssl_version_min_max(DWORD *enabled_protocols, struct Curl_easy *data, struct connectdata *conn) { long ssl_version = SSL_CONN_CONFIG(version); long ssl_version_max = SSL_CONN_CONFIG(version_max); long i = ssl_version; switch(ssl_version_max) { case CURL_SSLVERSION_MAX_NONE: case CURL_SSLVERSION_MAX_DEFAULT: /* Windows Server 2022 and newer (including Windows 11) support TLS 1.3 built-in. Previous builds of Windows 10 had broken TLS 1.3 implementations that could be enabled via registry. */ if(curlx_verify_windows_version(10, 0, 20348, PLATFORM_WINNT, VERSION_GREATER_THAN_EQUAL)) { ssl_version_max = CURL_SSLVERSION_MAX_TLSv1_3; } else /* Windows 10 and older */ ssl_version_max = CURL_SSLVERSION_MAX_TLSv1_2; break; } for(; i <= (ssl_version_max >> 16); ++i) { switch(i) { case CURL_SSLVERSION_TLSv1_0: (*enabled_protocols) |= SP_PROT_TLS1_0_CLIENT; break; case CURL_SSLVERSION_TLSv1_1: (*enabled_protocols) |= SP_PROT_TLS1_1_CLIENT; break; case CURL_SSLVERSION_TLSv1_2: (*enabled_protocols) |= SP_PROT_TLS1_2_CLIENT; break; case CURL_SSLVERSION_TLSv1_3: /* Windows Server 2022 and newer */ if(curlx_verify_windows_version(10, 0, 20348, PLATFORM_WINNT, VERSION_GREATER_THAN_EQUAL)) { (*enabled_protocols) |= SP_PROT_TLS1_3_CLIENT; break; } else { /* Windows 10 and older */ failf(data, "schannel: TLS 1.3 not supported on Windows prior to 11"); return CURLE_SSL_CONNECT_ERROR; } } } return CURLE_OK; } /*longest is 26, buffer is slightly bigger*/ #define LONGEST_ALG_ID 32 #define CIPHEROPTION(X) \ if(strcmp(#X, tmp) == 0) \ return X static int get_alg_id_by_name(char *name) { char tmp[LONGEST_ALG_ID] = { 0 }; char *nameEnd = strchr(name, ':'); size_t n = nameEnd ? (size_t)(nameEnd - name) : strlen(name); /* reject too-long alg names */ if(n > (LONGEST_ALG_ID - 1)) return 0; strncpy(tmp, name, n); tmp[n] = 0; CIPHEROPTION(CALG_MD2); CIPHEROPTION(CALG_MD4); CIPHEROPTION(CALG_MD5); CIPHEROPTION(CALG_SHA); CIPHEROPTION(CALG_SHA1); |
︙ | ︙ | |||
381 382 383 384 385 386 387 | else if(_tcsncmp(path, TEXT("CurrentService"), store_name_len) == 0) *store_name = CERT_SYSTEM_STORE_CURRENT_SERVICE; else if(_tcsncmp(path, TEXT("Services"), store_name_len) == 0) *store_name = CERT_SYSTEM_STORE_SERVICES; else if(_tcsncmp(path, TEXT("Users"), store_name_len) == 0) *store_name = CERT_SYSTEM_STORE_USERS; else if(_tcsncmp(path, TEXT("CurrentUserGroupPolicy"), | | | | | 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 | else if(_tcsncmp(path, TEXT("CurrentService"), store_name_len) == 0) *store_name = CERT_SYSTEM_STORE_CURRENT_SERVICE; else if(_tcsncmp(path, TEXT("Services"), store_name_len) == 0) *store_name = CERT_SYSTEM_STORE_SERVICES; else if(_tcsncmp(path, TEXT("Users"), store_name_len) == 0) *store_name = CERT_SYSTEM_STORE_USERS; else if(_tcsncmp(path, TEXT("CurrentUserGroupPolicy"), store_name_len) == 0) *store_name = CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY; else if(_tcsncmp(path, TEXT("LocalMachineGroupPolicy"), store_name_len) == 0) *store_name = CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY; else if(_tcsncmp(path, TEXT("LocalMachineEnterprise"), store_name_len) == 0) *store_name = CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE; else return CURLE_SSL_CERTPROBLEM; store_path_start = sep + 1; sep = _tcschr(store_path_start, TEXT('\\')); |
︙ | ︙ | |||
417 418 419 420 421 422 423 | #endif static CURLcode schannel_acquire_credential_handle(struct Curl_easy *data, struct connectdata *conn, int sockindex) { struct ssl_connect_data *connssl = &conn->ssl[sockindex]; | | | > > > > > > < < < < | | | | | | | | | | < < < < < < < < < < | 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 | #endif static CURLcode schannel_acquire_credential_handle(struct Curl_easy *data, struct connectdata *conn, int sockindex) { struct ssl_connect_data *connssl = &conn->ssl[sockindex]; #ifdef HAS_CLIENT_CERT_PATH PCCERT_CONTEXT client_certs[1] = { NULL }; #endif SECURITY_STATUS sspi_status = SEC_E_OK; CURLcode result; /* setup Schannel API options */ DWORD flags = 0; DWORD enabled_protocols = 0; struct ssl_backend_data *backend = connssl->backend; DEBUGASSERT(backend); if(conn->ssl_config.verifypeer) { #ifdef HAS_MANUAL_VERIFY_API if(backend->use_manual_cred_validation) flags = SCH_CRED_MANUAL_CRED_VALIDATION; else #endif flags = SCH_CRED_AUTO_CRED_VALIDATION; if(SSL_SET_OPTION(no_revoke)) { flags |= SCH_CRED_IGNORE_NO_REVOCATION_CHECK | SCH_CRED_IGNORE_REVOCATION_OFFLINE; DEBUGF(infof(data, "schannel: disabled server certificate revocation " "checks")); } else if(SSL_SET_OPTION(revoke_best_effort)) { flags |= SCH_CRED_IGNORE_NO_REVOCATION_CHECK | SCH_CRED_IGNORE_REVOCATION_OFFLINE | SCH_CRED_REVOCATION_CHECK_CHAIN; DEBUGF(infof(data, "schannel: ignore revocation offline errors")); } else { flags |= SCH_CRED_REVOCATION_CHECK_CHAIN; DEBUGF(infof(data, "schannel: checking server certificate revocation")); } } else { flags = 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")); } if(!conn->ssl_config.verifyhost) { flags |= 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.")); } if(!SSL_SET_OPTION(auto_client_cert)) { flags &= ~SCH_CRED_USE_DEFAULT_CREDS; flags |= SCH_CRED_NO_DEFAULT_CREDS; infof(data, "schannel: disabled automatic use of client certificate"); } else infof(data, "schannel: enabled automatic use of client certificate"); switch(conn->ssl_config.version) { case CURL_SSLVERSION_DEFAULT: case CURL_SSLVERSION_TLSv1: case CURL_SSLVERSION_TLSv1_0: case CURL_SSLVERSION_TLSv1_1: case CURL_SSLVERSION_TLSv1_2: case CURL_SSLVERSION_TLSv1_3: { result = set_ssl_version_min_max(&enabled_protocols, data, conn); if(result != CURLE_OK) return result; break; } case CURL_SSLVERSION_SSLv3: case CURL_SSLVERSION_SSLv2: failf(data, "SSL versions not supported"); return CURLE_NOT_BUILT_IN; default: failf(data, "Unrecognized parameter passed via CURLOPT_SSLVERSION"); return CURLE_SSL_CONNECT_ERROR; } #ifdef HAS_CLIENT_CERT_PATH /* client certificate */ if(data->set.ssl.primary.clientcert || data->set.ssl.primary.cert_blob) { DWORD cert_store_name = 0; TCHAR *cert_store_path = NULL; TCHAR *cert_thumbprint_str = NULL; |
︙ | ︙ | |||
538 539 540 541 542 543 544 | else { cert_path = curlx_convert_UTF8_to_tchar( data->set.ssl.primary.clientcert); if(!cert_path) return CURLE_OUT_OF_MEMORY; result = get_cert_location(cert_path, &cert_store_name, | | | | | | | | 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 | else { cert_path = curlx_convert_UTF8_to_tchar( data->set.ssl.primary.clientcert); if(!cert_path) return CURLE_OUT_OF_MEMORY; result = get_cert_location(cert_path, &cert_store_name, &cert_store_path, &cert_thumbprint_str); if(result && (data->set.ssl.primary.clientcert[0]!='\0')) fInCert = fopen(data->set.ssl.primary.clientcert, "rb"); if(result && !fInCert) { failf(data, "schannel: Failed to get certificate location" " or file for %s", data->set.ssl.primary.clientcert); curlx_unicodefree(cert_path); return result; } } if((fInCert || blob) && (data->set.ssl.cert_type) && (!strcasecompare(data->set.ssl.cert_type, "P12"))) { failf(data, "schannel: certificate format compatibility error " " for %s", blob ? "(memory blob)" : data->set.ssl.primary.clientcert); curlx_unicodefree(cert_path); return CURLE_SSL_CERTPROBLEM; } if(fInCert || blob) { /* Reading a .P12 or .pfx file, like the example at bottom of https://social.msdn.microsoft.com/Forums/windowsdesktop/ en-US/3e7bc95f-b21a-4bcd-bd2c-7f996718cae5 */ CRYPT_DATA_BLOB datablob; WCHAR* pszPassword; size_t pwd_len = 0; int str_w_len = 0; const char *cert_showfilename_error = blob ? "(memory blob)" : data->set.ssl.primary.clientcert; |
︙ | ︙ | |||
592 593 594 595 596 597 598 | certdata = malloc(certsize + 1); if((!certdata) || ((int) fread(certdata, certsize, 1, fInCert) != 1)) continue_reading = FALSE; fclose(fInCert); if(!continue_reading) { failf(data, "schannel: Failed to read cert file %s", | | | | > | | 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 | certdata = malloc(certsize + 1); if((!certdata) || ((int) fread(certdata, certsize, 1, fInCert) != 1)) continue_reading = FALSE; fclose(fInCert); if(!continue_reading) { failf(data, "schannel: Failed to read cert file %s", data->set.ssl.primary.clientcert); free(certdata); return CURLE_SSL_CERTPROBLEM; } } /* Convert key-pair data to the in-memory certificate store */ datablob.pbData = (BYTE*)certdata; datablob.cbData = (DWORD)certsize; if(data->set.ssl.key_passwd) pwd_len = strlen(data->set.ssl.key_passwd); pszPassword = (WCHAR*)malloc(sizeof(WCHAR)*(pwd_len + 1)); if(pszPassword) { if(pwd_len > 0) str_w_len = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, data->set.ssl.key_passwd, (int)pwd_len, pszPassword, (int)(pwd_len + 1)); if((str_w_len >= 0) && (str_w_len <= (int)pwd_len)) pszPassword[str_w_len] = 0; else pszPassword[0] = 0; cert_store = PFXImportCertStore(&datablob, pszPassword, 0); |
︙ | ︙ | |||
646 647 648 649 650 651 652 | if(!client_certs[0]) { failf(data, "schannel: Failed to get certificate from file %s" ", last error is 0x%x", cert_showfilename_error, GetLastError()); CertCloseStore(cert_store, 0); return CURLE_SSL_CERTPROBLEM; } | < < < | 701 702 703 704 705 706 707 708 709 710 711 712 713 714 | if(!client_certs[0]) { failf(data, "schannel: Failed to get certificate from file %s" ", last error is 0x%x", cert_showfilename_error, GetLastError()); CertCloseStore(cert_store, 0); return CURLE_SSL_CERTPROBLEM; } } else { cert_store = CertOpenStore(CURL_CERT_STORE_PROV_SYSTEM, 0, (HCRYPTPROV)NULL, CERT_STORE_OPEN_EXISTING_FLAG | cert_store_name, cert_store_path); |
︙ | ︙ | |||
686 687 688 689 690 691 692 | client_certs[0] = CertFindCertificateInStore( cert_store, X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, 0, CERT_FIND_HASH, &cert_thumbprint, NULL); curlx_unicodefree(cert_path); | | < < < < > > | | | < < < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | client_certs[0] = CertFindCertificateInStore( cert_store, X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, 0, CERT_FIND_HASH, &cert_thumbprint, NULL); curlx_unicodefree(cert_path); if(!client_certs[0]) { /* CRYPT_E_NOT_FOUND / E_INVALIDARG */ CertCloseStore(cert_store, 0); return CURLE_SSL_CERTPROBLEM; } } CertCloseStore(cert_store, 0); } #else if(data->set.ssl.primary.clientcert || data->set.ssl.primary.cert_blob) { failf(data, "schannel: client cert support not built in"); return CURLE_NOT_BUILT_IN; } #endif /* allocate memory for the re-usable credential handle */ backend->cred = (struct Curl_schannel_cred *) calloc(1, sizeof(struct Curl_schannel_cred)); if(!backend->cred) { failf(data, "schannel: unable to allocate memory"); #ifdef HAS_CLIENT_CERT_PATH if(client_certs[0]) CertFreeCertificateContext(client_certs[0]); #endif return CURLE_OUT_OF_MEMORY; } backend->cred->refcount = 1; /* Windows 10, 1809 (a.k.a. Windows 10 build 17763) */ if(curlx_verify_windows_version(10, 0, 17763, PLATFORM_WINNT, VERSION_GREATER_THAN_EQUAL)) { char *ciphers13 = 0; bool disable_aes_gcm_sha384 = FALSE; bool disable_aes_gcm_sha256 = FALSE; bool disable_chacha_poly = FALSE; bool disable_aes_ccm_8_sha256 = FALSE; bool disable_aes_ccm_sha256 = FALSE; SCH_CREDENTIALS credentials = { 0 }; TLS_PARAMETERS tls_parameters = { 0 }; CRYPTO_SETTINGS crypto_settings[4] = { 0 }; UNICODE_STRING blocked_ccm_modes[1] = { 0 }; UNICODE_STRING blocked_gcm_modes[1] = { 0 }; int crypto_settings_idx = 0; /* If TLS 1.3 ciphers are explictly listed, then * disable all the ciphers and re-enable which * ciphers the user has provided. */ ciphers13 = SSL_CONN_CONFIG(cipher_list13); if(ciphers13) { const int remaining_ciphers = 5; /* detect which remaining ciphers to enable and then disable everything else. */ char *startCur = ciphers13; int algCount = 0; char tmp[LONGEST_ALG_ID] = { 0 }; char *nameEnd; size_t n; disable_aes_gcm_sha384 = TRUE; disable_aes_gcm_sha256 = TRUE; disable_chacha_poly = TRUE; disable_aes_ccm_8_sha256 = TRUE; disable_aes_ccm_sha256 = TRUE; while(startCur && (0 != *startCur) && (algCount < remaining_ciphers)) { nameEnd = strchr(startCur, ':'); n = nameEnd ? (size_t)(nameEnd - startCur) : strlen(startCur); /* reject too-long cipher names */ if(n > (LONGEST_ALG_ID - 1)) { failf(data, "Cipher name too long, not checked."); return CURLE_SSL_CIPHER; } strncpy(tmp, startCur, n); tmp[n] = 0; if(disable_aes_gcm_sha384 && !strcmp("TLS_AES_256_GCM_SHA384", tmp)) { disable_aes_gcm_sha384 = FALSE; } else if(disable_aes_gcm_sha256 && !strcmp("TLS_AES_128_GCM_SHA256", tmp)) { disable_aes_gcm_sha256 = FALSE; } else if(disable_chacha_poly && !strcmp("TLS_CHACHA20_POLY1305_SHA256", tmp)) { disable_chacha_poly = FALSE; } else if(disable_aes_ccm_8_sha256 && !strcmp("TLS_AES_128_CCM_8_SHA256", tmp)) { disable_aes_ccm_8_sha256 = FALSE; } else if(disable_aes_ccm_sha256 && !strcmp("TLS_AES_128_CCM_SHA256", tmp)) { disable_aes_ccm_sha256 = FALSE; } else { failf(data, "Passed in an unknown TLS 1.3 cipher."); return CURLE_SSL_CIPHER; } startCur = nameEnd; if(startCur) startCur++; algCount++; } } if(disable_aes_gcm_sha384 && disable_aes_gcm_sha256 && disable_chacha_poly && disable_aes_ccm_8_sha256 && disable_aes_ccm_sha256) { failf(data, "All available TLS 1.3 ciphers were disabled."); return CURLE_SSL_CIPHER; } /* Disable TLS_AES_128_CCM_8_SHA256 and/or TLS_AES_128_CCM_SHA256 */ if(disable_aes_ccm_8_sha256 || disable_aes_ccm_sha256) { /* Disallow AES_CCM algorithm. */ blocked_ccm_modes[0].Length = sizeof(BCRYPT_CHAIN_MODE_CCM); blocked_ccm_modes[0].MaximumLength = sizeof(BCRYPT_CHAIN_MODE_CCM); blocked_ccm_modes[0].Buffer = (PWSTR)BCRYPT_CHAIN_MODE_CCM; crypto_settings[crypto_settings_idx].eAlgorithmUsage = TlsParametersCngAlgUsageCipher; crypto_settings[crypto_settings_idx].rgstrChainingModes = blocked_ccm_modes; crypto_settings[crypto_settings_idx].cChainingModes = ARRAYSIZE(blocked_ccm_modes); crypto_settings[crypto_settings_idx].strCngAlgId.Length = sizeof(BCRYPT_AES_ALGORITHM); crypto_settings[crypto_settings_idx].strCngAlgId.MaximumLength = sizeof(BCRYPT_AES_ALGORITHM); crypto_settings[crypto_settings_idx].strCngAlgId.Buffer = (PWSTR)BCRYPT_AES_ALGORITHM; /* only disabling one of the CCM modes */ if(disable_aes_ccm_8_sha256 != disable_aes_ccm_sha256) { if(disable_aes_ccm_8_sha256) crypto_settings[crypto_settings_idx].dwMinBitLength = 128; else /* disable_aes_ccm_sha256 */ crypto_settings[crypto_settings_idx].dwMaxBitLength = 64; } crypto_settings_idx++; } /* Disable TLS_AES_256_GCM_SHA384 and/or TLS_AES_128_GCM_SHA256 */ if(disable_aes_gcm_sha384 || disable_aes_gcm_sha256) { /* Disallow AES_GCM algorithm */ blocked_gcm_modes[0].Length = sizeof(BCRYPT_CHAIN_MODE_GCM); blocked_gcm_modes[0].MaximumLength = sizeof(BCRYPT_CHAIN_MODE_GCM); blocked_gcm_modes[0].Buffer = (PWSTR)BCRYPT_CHAIN_MODE_GCM; /* if only one is disabled, then explictly disable the digest cipher suite (sha384 or sha256) */ if(disable_aes_gcm_sha384 != disable_aes_gcm_sha256) { crypto_settings[crypto_settings_idx].eAlgorithmUsage = TlsParametersCngAlgUsageDigest; crypto_settings[crypto_settings_idx].strCngAlgId.Length = sizeof(disable_aes_gcm_sha384 ? BCRYPT_SHA384_ALGORITHM : BCRYPT_SHA256_ALGORITHM); crypto_settings[crypto_settings_idx].strCngAlgId.MaximumLength = sizeof(disable_aes_gcm_sha384 ? BCRYPT_SHA384_ALGORITHM : BCRYPT_SHA256_ALGORITHM); crypto_settings[crypto_settings_idx].strCngAlgId.Buffer = (PWSTR)(disable_aes_gcm_sha384 ? BCRYPT_SHA384_ALGORITHM : BCRYPT_SHA256_ALGORITHM); } else { /* Disable both AES_GCM ciphers */ crypto_settings[crypto_settings_idx].eAlgorithmUsage = TlsParametersCngAlgUsageCipher; crypto_settings[crypto_settings_idx].strCngAlgId.Length = sizeof(BCRYPT_AES_ALGORITHM); crypto_settings[crypto_settings_idx].strCngAlgId.MaximumLength = sizeof(BCRYPT_AES_ALGORITHM); crypto_settings[crypto_settings_idx].strCngAlgId.Buffer = (PWSTR)BCRYPT_AES_ALGORITHM; } crypto_settings[crypto_settings_idx].rgstrChainingModes = blocked_gcm_modes; crypto_settings[crypto_settings_idx].cChainingModes = 1; crypto_settings_idx++; } /* Disable ChaCha20-Poly1305. */ if(disable_chacha_poly) { crypto_settings[crypto_settings_idx].eAlgorithmUsage = TlsParametersCngAlgUsageCipher; crypto_settings[crypto_settings_idx].strCngAlgId.Length = sizeof(BCRYPT_CHACHA20_POLY1305_ALGORITHM); crypto_settings[crypto_settings_idx].strCngAlgId.MaximumLength = sizeof(BCRYPT_CHACHA20_POLY1305_ALGORITHM); crypto_settings[crypto_settings_idx].strCngAlgId.Buffer = (PWSTR)BCRYPT_CHACHA20_POLY1305_ALGORITHM; crypto_settings_idx++; } tls_parameters.pDisabledCrypto = crypto_settings; /* The number of blocked suites */ tls_parameters.cDisabledCrypto = crypto_settings_idx; credentials.pTlsParameters = &tls_parameters; credentials.cTlsParameters = 1; credentials.dwVersion = SCH_CREDENTIALS_VERSION; credentials.dwFlags = flags | SCH_USE_STRONG_CRYPTO; credentials.pTlsParameters->grbitDisabledProtocols = (DWORD)~enabled_protocols; #ifdef HAS_CLIENT_CERT_PATH if(client_certs[0]) { credentials.cCreds = 1; credentials.paCred = client_certs; } #endif sspi_status = s_pSecFn->AcquireCredentialsHandle(NULL, (TCHAR*)UNISP_NAME, SECPKG_CRED_OUTBOUND, NULL, &credentials, NULL, NULL, &backend->cred->cred_handle, &backend->cred->time_stamp); } else { /* Pre-Windows 10 1809 */ ALG_ID algIds[NUM_CIPHERS]; char *ciphers = SSL_CONN_CONFIG(cipher_list); SCHANNEL_CRED schannel_cred = { 0 }; schannel_cred.dwVersion = SCHANNEL_CRED_VERSION; schannel_cred.dwFlags = flags; schannel_cred.grbitEnabledProtocols = enabled_protocols; if(ciphers) { result = set_ssl_ciphers(&schannel_cred, ciphers, algIds); if(CURLE_OK != result) { failf(data, "Unable to set ciphers to passed via SSL_CONN_CONFIG"); return result; } } else { schannel_cred.dwFlags = flags | SCH_USE_STRONG_CRYPTO; } #ifdef HAS_CLIENT_CERT_PATH if(client_certs[0]) { schannel_cred.cCreds = 1; schannel_cred.paCred = client_certs; } #endif sspi_status = s_pSecFn->AcquireCredentialsHandle(NULL, (TCHAR*)UNISP_NAME, SECPKG_CRED_OUTBOUND, NULL, &schannel_cred, NULL, NULL, &backend->cred->cred_handle, &backend->cred->time_stamp); } #ifdef HAS_CLIENT_CERT_PATH if(client_certs[0]) CertFreeCertificateContext(client_certs[0]); #endif 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) { |
︙ | ︙ | |||
1988 1989 1990 1991 1992 1993 1994 | /* check if server wants to renegotiate the connection context */ if(sspi_status == SEC_I_RENEGOTIATE) { infof(data, "schannel: remote party requests renegotiation"); if(*err && *err != CURLE_AGAIN) { infof(data, "schannel: can't renegotiate, an error is pending"); goto cleanup; } | < < < < < | | 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 | /* check if server wants to renegotiate the connection context */ if(sspi_status == SEC_I_RENEGOTIATE) { infof(data, "schannel: remote party requests renegotiation"); if(*err && *err != CURLE_AGAIN) { infof(data, "schannel: can't renegotiate, an error is pending"); goto cleanup; } /* begin renegotiation */ infof(data, "schannel: renegotiating SSL/TLS connection"); connssl->state = ssl_connection_negotiating; connssl->connecting_state = ssl_connect_2_writing; *err = schannel_connect_common(data, conn, sockindex, FALSE, &done); if(*err) { infof(data, "schannel: renegotiation failed"); |
︙ | ︙ | |||
2294 2295 2296 2297 2298 2299 2300 | return size; } static CURLcode schannel_random(struct Curl_easy *data UNUSED_PARAM, unsigned char *entropy, size_t length) { | < < < < < | < < < < < < < | 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 | return size; } static CURLcode schannel_random(struct Curl_easy *data UNUSED_PARAM, unsigned char *entropy, size_t length) { (void)data; return Curl_win32_random(entropy, length); } static CURLcode pkp_pin_peer_pubkey(struct Curl_easy *data, struct connectdata *conn, int sockindex, const char *pinnedpubkey) { struct ssl_connect_data *connssl = &conn->ssl[sockindex]; |
︙ | ︙ | |||
2455 2456 2457 2458 2459 2460 2461 | const struct Curl_ssl Curl_ssl_schannel = { { CURLSSLBACKEND_SCHANNEL, "schannel" }, /* info */ SSLSUPP_CERTINFO | #ifdef HAS_MANUAL_VERIFY_API SSLSUPP_CAINFO_BLOB | #endif | | > | 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 | const struct Curl_ssl Curl_ssl_schannel = { { CURLSSLBACKEND_SCHANNEL, "schannel" }, /* info */ SSLSUPP_CERTINFO | #ifdef HAS_MANUAL_VERIFY_API SSLSUPP_CAINFO_BLOB | #endif SSLSUPP_PINNEDPUBKEY | SSLSUPP_TLS13_CIPHERSUITES, sizeof(struct ssl_backend_data), schannel_init, /* init */ schannel_cleanup, /* cleanup */ schannel_version, /* version */ Curl_none_check_cxn, /* check_cxn */ |
︙ | ︙ |
Changes to jni/curl/lib/vtls/schannel.h.
︙ | ︙ | |||
23 24 25 26 27 28 29 30 31 32 33 34 35 36 | * * SPDX-License-Identifier: curl * ***************************************************************************/ #include "curl_setup.h" #ifdef USE_SCHANNEL #include <schnlsp.h> #include <schannel.h> #include "curl_sspi.h" #include "urldata.h" | > > > > > > > > > > > > > > > > > > > > > > | 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 | * * SPDX-License-Identifier: curl * ***************************************************************************/ #include "curl_setup.h" #ifdef USE_SCHANNEL #define SCHANNEL_USE_BLACKLISTS 1 #ifdef _MSC_VER #pragma warning(push) #pragma warning(disable: 4201) #endif #include <subauth.h> #ifdef _MSC_VER #pragma warning(pop) #endif /* Wincrypt must be included before anything that could include OpenSSL. */ #if defined(USE_WIN32_CRYPTO) #include <wincrypt.h> /* Undefine wincrypt conflicting symbols for BoringSSL. */ #undef X509_NAME #undef X509_EXTENSIONS #undef PKCS7_ISSUER_AND_SERIAL #undef PKCS7_SIGNER_INFO #undef OCSP_REQUEST #undef OCSP_RESPONSE #endif #include <schnlsp.h> #include <schannel.h> #include "curl_sspi.h" #include "urldata.h" |
︙ | ︙ | |||
66 67 68 69 70 71 72 73 74 75 76 77 78 79 | #define HAS_MANUAL_VERIFY_API #endif #else #include <wincrypt.h> #ifdef CERT_CHAIN_REVOCATION_CHECK_CHAIN #define HAS_MANUAL_VERIFY_API #endif #endif struct Curl_schannel_cred { CredHandle cred_handle; TimeStamp time_stamp; TCHAR *sni_hostname; int refcount; | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | #define HAS_MANUAL_VERIFY_API #endif #else #include <wincrypt.h> #ifdef CERT_CHAIN_REVOCATION_CHECK_CHAIN #define HAS_MANUAL_VERIFY_API #endif #endif #ifndef SCH_CREDENTIALS_VERSION #define SCH_CREDENTIALS_VERSION 0x00000005 typedef enum _eTlsAlgorithmUsage { TlsParametersCngAlgUsageKeyExchange, TlsParametersCngAlgUsageSignature, TlsParametersCngAlgUsageCipher, TlsParametersCngAlgUsageDigest, TlsParametersCngAlgUsageCertSig } eTlsAlgorithmUsage; typedef struct _CRYPTO_SETTINGS { eTlsAlgorithmUsage eAlgorithmUsage; UNICODE_STRING strCngAlgId; DWORD cChainingModes; PUNICODE_STRING rgstrChainingModes; DWORD dwMinBitLength; DWORD dwMaxBitLength; } CRYPTO_SETTINGS, * PCRYPTO_SETTINGS; typedef struct _TLS_PARAMETERS { DWORD cAlpnIds; PUNICODE_STRING rgstrAlpnIds; DWORD grbitDisabledProtocols; DWORD cDisabledCrypto; PCRYPTO_SETTINGS pDisabledCrypto; DWORD dwFlags; } TLS_PARAMETERS, * PTLS_PARAMETERS; typedef struct _SCH_CREDENTIALS { DWORD dwVersion; DWORD dwCredFormat; DWORD cCreds; PCCERT_CONTEXT* paCred; HCERTSTORE hRootStore; DWORD cMappers; struct _HMAPPER **aphMappers; DWORD dwSessionLifespan; DWORD dwFlags; DWORD cTlsParameters; PTLS_PARAMETERS pTlsParameters; } SCH_CREDENTIALS, * PSCH_CREDENTIALS; #define SCH_CRED_MAX_SUPPORTED_PARAMETERS 16 #define SCH_CRED_MAX_SUPPORTED_ALPN_IDS 16 #define SCH_CRED_MAX_SUPPORTED_CRYPTO_SETTINGS 16 #define SCH_CRED_MAX_SUPPORTED_CHAINING_MODES 16 #endif struct Curl_schannel_cred { CredHandle cred_handle; TimeStamp time_stamp; TCHAR *sni_hostname; int refcount; |
︙ | ︙ |
Changes to jni/curl/lib/vtls/vtls.c.
︙ | ︙ | |||
215 216 217 218 219 220 221 | #endif } #ifdef USE_SSL static int multissl_setup(const struct Curl_ssl *backend); #endif | | | | 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 | #endif } #ifdef USE_SSL static int multissl_setup(const struct Curl_ssl *backend); #endif curl_sslbackend Curl_ssl_backend(void) { #ifdef USE_SSL multissl_setup(NULL); return Curl_ssl->info.id; #else return CURLSSLBACKEND_NONE; #endif } #ifdef USE_SSL /* "global" init done? */ static bool init_ssl = FALSE; |
︙ | ︙ | |||
895 896 897 898 899 900 901 | */ char *Curl_ssl_snihost(struct Curl_easy *data, const char *host, size_t *olen) { size_t len = strlen(host); if(len && (host[len-1] == '.')) len--; | | | 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 | */ char *Curl_ssl_snihost(struct Curl_easy *data, const char *host, size_t *olen) { size_t len = strlen(host); if(len && (host[len-1] == '.')) len--; if(len >= data->set.buffer_size) return NULL; Curl_strntolower(data->state.buffer, host, len); data->state.buffer[len] = 0; if(olen) *olen = len; return data->state.buffer; |
︙ | ︙ |
Changes to jni/curl/lib/vtls/vtls.h.
︙ | ︙ | |||
196 197 198 199 200 201 202 | void Curl_free_primary_ssl_config(struct ssl_primary_config *sslc); /* An implementation of the getsock field of Curl_ssl that relies on the ssl_connect_state enum. Asks for read or write depending on whether conn->state is ssl_connect_2_reading or ssl_connect_2_writing. */ int Curl_ssl_getsock(struct connectdata *conn, curl_socket_t *socks); | | | 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | void Curl_free_primary_ssl_config(struct ssl_primary_config *sslc); /* An implementation of the getsock field of Curl_ssl that relies on the ssl_connect_state enum. Asks for read or write depending on whether conn->state is ssl_connect_2_reading or ssl_connect_2_writing. */ int Curl_ssl_getsock(struct connectdata *conn, curl_socket_t *socks); curl_sslbackend Curl_ssl_backend(void); #ifdef USE_SSL int Curl_ssl_init(void); void Curl_ssl_cleanup(void); CURLcode Curl_ssl_connect(struct Curl_easy *data, struct connectdata *conn, int sockindex); CURLcode Curl_ssl_connect_nonblocking(struct Curl_easy *data, |
︙ | ︙ |
jni/curl/ltmain.sh became executable.
︙ | ︙ |
Deleted jni/curl/m4/ax_compile_check_sizeof.m4.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Changes to jni/curl/m4/curl-amissl.m4.
︙ | ︙ | |||
19 20 21 22 23 24 25 | # KIND, either express or implied. # # SPDX-License-Identifier: curl # #*************************************************************************** AC_DEFUN([CURL_WITH_AMISSL], [ | | > > > > > > > | > > > > > > | > > > > | < > > > > > > > > > | < > | 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 | # KIND, either express or implied. # # SPDX-License-Identifier: curl # #*************************************************************************** AC_DEFUN([CURL_WITH_AMISSL], [ AC_MSG_CHECKING([whether to enable Amiga native SSL/TLS (AmiSSL v5)]) if test "$HAVE_PROTO_BSDSOCKET_H" = "1"; then if test "x$OPT_AMISSL" != xno; then ssl_msg= AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ #include <libraries/amisslmaster.h> #include <openssl/opensslv.h> ]],[[ #if defined(AMISSL_CURRENT_VERSION) && (AMISSL_CURRENT_VERSION >= AMISSL_V303) && \ defined(OPENSSL_VERSION_MAJOR) && (OPENSSL_VERSION_MAJOR >= 3) && \ defined(PROTO_AMISSL_H) return 0; #else #error not AmiSSL v5 / OpenSSL 3 #endif ]]) ],[ AC_MSG_RESULT([yes]) ssl_msg="AmiSSL" test amissl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes AMISSL_ENABLED=1 OPENSSL_ENABLED=1 # Use AmiSSL's built-in ca bundle check_for_ca_bundle=1 with_ca_fallback=yes LIBS="-lamisslstubs -lamisslauto $LIBS" AC_DEFINE(USE_AMISSL, 1, [if AmiSSL is in use]) AC_DEFINE(USE_OPENSSL, 1, [if OpenSSL is in use]) AC_DEFINE_UNQUOTED(HAVE_OPENSSL3, 1, [Define to 1 if using OpenSSL 3 or later.]) AC_CHECK_HEADERS(openssl/x509.h openssl/rsa.h openssl/crypto.h \ openssl/pem.h openssl/ssl.h openssl/err.h) dnl OpenSSLv3 marks the DES functions deprecated but we have no dnl replacements (yet) so tell the compiler to not warn for them dnl dnl Ask OpenSSL to suppress the warnings. CPPFLAGS="$CPPFLAGS -DOPENSSL_SUPPRESS_DEPRECATED" ],[ AC_MSG_RESULT([no]) ]) test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" else AC_MSG_RESULT(no) fi else AC_MSG_RESULT(no) fi |
︙ | ︙ |
Changes to jni/curl/m4/curl-compilers.m4.
︙ | ︙ | |||
563 564 565 566 567 568 569 | dnl we select ANSI C89 dialect plus GNU extensions. tmp_CFLAGS="$tmp_CFLAGS -std=gnu89" dnl Change some warnings into errors dnl #140: too many arguments in function call dnl #147: declaration is incompatible with 'previous one' dnl #165: too few arguments in function call dnl #266: function declared implicitly | | > > | | 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 | dnl we select ANSI C89 dialect plus GNU extensions. tmp_CFLAGS="$tmp_CFLAGS -std=gnu89" dnl Change some warnings into errors dnl #140: too many arguments in function call dnl #147: declaration is incompatible with 'previous one' dnl #165: too few arguments in function call dnl #266: function declared implicitly tmp_CPPFLAGS="$tmp_CPPFLAGS -diag-error 140,147,165,266" dnl Disable some remarks dnl #279: controlling expression is constant dnl #981: operands are evaluated in unspecified order dnl #1025: zero extending result of unary operation dnl #1469: "cc" clobber ignored dnl #2259: non-pointer conversion from X to Y may lose significant bits tmp_CPPFLAGS="$tmp_CPPFLAGS -diag-disable 279,981,1025,1469,2259" ;; # INTEL_WINDOWS_C) # dnl Placeholder tmp_CFLAGS="$tmp_CFLAGS" ;; |
︙ | ︙ |
Changes to jni/curl/m4/curl-confopts.m4.
︙ | ︙ | |||
417 418 419 420 421 422 423 | dnl CURL_CHECK_NONBLOCKING_SOCKET dnl ------------------------------------------------- dnl Check for how to set a socket into non-blocking state. AC_DEFUN([CURL_CHECK_NONBLOCKING_SOCKET], [ AC_REQUIRE([CURL_CHECK_FUNC_FCNTL])dnl | < < | 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 | dnl CURL_CHECK_NONBLOCKING_SOCKET dnl ------------------------------------------------- dnl Check for how to set a socket into non-blocking state. AC_DEFUN([CURL_CHECK_NONBLOCKING_SOCKET], [ AC_REQUIRE([CURL_CHECK_FUNC_FCNTL])dnl AC_REQUIRE([CURL_CHECK_FUNC_IOCTLSOCKET])dnl AC_REQUIRE([CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL])dnl # tst_method="unknown" AC_MSG_CHECKING([how to set a socket into non-blocking mode]) if test "x$curl_cv_func_fcntl_o_nonblock" = "xyes"; then tst_method="fcntl O_NONBLOCK" elif test "x$curl_cv_func_ioctl_fionbio" = "xyes"; then |
︙ | ︙ |
Changes to jni/curl/m4/curl-functions.m4.
︙ | ︙ | |||
261 262 263 264 265 266 267 | #endif /* includes end */" AC_CHECK_HEADERS( sys/types.h socket.h, [], [], [$curl_includes_socket]) ]) | < < < < < < < < < < < < < < < < < < < < < | 261 262 263 264 265 266 267 268 269 270 271 272 273 274 | #endif /* includes end */" AC_CHECK_HEADERS( sys/types.h socket.h, [], [], [$curl_includes_socket]) ]) dnl CURL_INCLUDES_STDLIB dnl ------------------------------------------------- dnl Set up variable with list of headers that must be dnl included when stdlib.h is to be included. AC_DEFUN([CURL_INCLUDES_STDLIB], [ |
︙ | ︙ | |||
539 540 541 542 543 544 545 | 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 */ | | > > > > > > > > | > > | | 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 | 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 */ #if defined(HAVE_PROTO_BSDSOCKET_H) # define __NO_NET_API # define __USE_INLINE__ # include <proto/bsdsocket.h> # ifdef HAVE_SYS_IOCTL_H # include <sys/ioctl.h> # endif # ifdef __amigaos4__ struct SocketIFace *ISocket = NULL; # else struct Library *SocketBase = NULL; # endif # define select(a,b,c,d,e) WaitSelect(a,b,c,d,e,0) #endif /* includes end */" AC_CHECK_HEADERS( proto/bsdsocket.h, [], [], [$curl_includes_bsdsocket]) ]) dnl CURL_INCLUDES_NETIF dnl ------------------------------------------------- dnl Set up variable with list of headers that must be dnl included when net/if.h is to be included. |
︙ | ︙ | |||
781 782 783 784 785 786 787 | 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 | < < < | 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 | 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]) |
︙ | ︙ | |||
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 | dnl can be compiled. If all of these are true, and dnl usage has not been previously disallowed with dnl shell variable curl_disallow_closesocket_camel, dnl then HAVE_CLOSESOCKET_CAMEL will be defined. AC_DEFUN([CURL_CHECK_FUNC_CLOSESOCKET_CAMEL], [ AC_REQUIRE([CURL_INCLUDES_SYS_SOCKET])dnl # tst_links_closesocket_camel="unknown" tst_proto_closesocket_camel="unknown" tst_compi_closesocket_camel="unknown" tst_allow_closesocket_camel="unknown" # AC_MSG_CHECKING([if CloseSocket can be linked]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_sys_socket ]],[[ if(0 != CloseSocket(0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_links_closesocket_camel="yes" ],[ AC_MSG_RESULT([no]) tst_links_closesocket_camel="no" ]) # if test "$tst_links_closesocket_camel" = "yes"; then AC_MSG_CHECKING([if CloseSocket is prototyped]) AC_EGREP_CPP([CloseSocket],[ $curl_includes_sys_socket ],[ AC_MSG_RESULT([yes]) tst_proto_closesocket_camel="yes" ],[ AC_MSG_RESULT([no]) tst_proto_closesocket_camel="no" ]) fi # if test "$tst_proto_closesocket_camel" = "yes"; then AC_MSG_CHECKING([if CloseSocket is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_sys_socket ]],[[ if(0 != CloseSocket(0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) | > > > > | 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 | dnl can be compiled. If all of these are true, and dnl usage has not been previously disallowed with dnl shell variable curl_disallow_closesocket_camel, dnl then HAVE_CLOSESOCKET_CAMEL will be defined. AC_DEFUN([CURL_CHECK_FUNC_CLOSESOCKET_CAMEL], [ AC_REQUIRE([CURL_INCLUDES_SYS_SOCKET])dnl AC_REQUIRE([CURL_INCLUDES_BSDSOCKET])dnl # tst_links_closesocket_camel="unknown" tst_proto_closesocket_camel="unknown" tst_compi_closesocket_camel="unknown" tst_allow_closesocket_camel="unknown" # AC_MSG_CHECKING([if CloseSocket can be linked]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_bsdsocket $curl_includes_sys_socket ]],[[ if(0 != CloseSocket(0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_links_closesocket_camel="yes" ],[ AC_MSG_RESULT([no]) tst_links_closesocket_camel="no" ]) # if test "$tst_links_closesocket_camel" = "yes"; then AC_MSG_CHECKING([if CloseSocket is prototyped]) AC_EGREP_CPP([CloseSocket],[ $curl_includes_bsdsocket $curl_includes_sys_socket ],[ AC_MSG_RESULT([yes]) tst_proto_closesocket_camel="yes" ],[ AC_MSG_RESULT([no]) tst_proto_closesocket_camel="no" ]) fi # if test "$tst_proto_closesocket_camel" = "yes"; then AC_MSG_CHECKING([if CloseSocket is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_bsdsocket $curl_includes_sys_socket ]],[[ if(0 != CloseSocket(0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) |
︙ | ︙ | |||
958 959 960 961 962 963 964 965 966 967 968 969 970 971 | dnl usage has not been previously disallowed with dnl shell variable curl_disallow_connect, then dnl HAVE_CONNECT will be defined. AC_DEFUN([CURL_CHECK_FUNC_CONNECT], [ AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl AC_REQUIRE([CURL_INCLUDES_SYS_SOCKET])dnl AC_REQUIRE([CURL_INCLUDES_SOCKET])dnl # tst_links_connect="unknown" tst_proto_connect="unknown" tst_compi_connect="unknown" tst_allow_connect="unknown" # | > | 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 | dnl usage has not been previously disallowed with dnl shell variable curl_disallow_connect, then dnl HAVE_CONNECT will be defined. AC_DEFUN([CURL_CHECK_FUNC_CONNECT], [ AC_REQUIRE([CURL_INCLUDES_WINSOCK2])dnl AC_REQUIRE([CURL_INCLUDES_SYS_SOCKET])dnl AC_REQUIRE([CURL_INCLUDES_BSDSOCKET])dnl AC_REQUIRE([CURL_INCLUDES_SOCKET])dnl # tst_links_connect="unknown" tst_proto_connect="unknown" tst_compi_connect="unknown" tst_allow_connect="unknown" # |
︙ | ︙ | |||
1005 1006 1007 1008 1009 1010 1011 | fi # if test "$tst_proto_connect" = "yes"; then AC_MSG_CHECKING([if connect is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 | | | 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 | 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; ]]) ],[ |
︙ | ︙ | |||
2188 2189 2190 2191 2192 2193 2194 | fi # if test "$tst_proto_gethostbyname" = "yes"; then AC_MSG_CHECKING([if gethostbyname is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 | | | 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 | 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]) |
︙ | ︙ | |||
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 | # if test "$tst_proto_gethostbyname_r" = "yes"; then if test "$tst_nargs_gethostbyname_r" = "unknown"; then AC_MSG_CHECKING([if gethostbyname_r takes 3 args.]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_netdb ]],[[ if(0 != gethostbyname_r(0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_compi_gethostbyname_r="yes" tst_nargs_gethostbyname_r="3" ],[ AC_MSG_RESULT([no]) tst_compi_gethostbyname_r="no" ]) fi if test "$tst_nargs_gethostbyname_r" = "unknown"; then AC_MSG_CHECKING([if gethostbyname_r takes 5 args.]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_netdb ]],[[ if(0 != gethostbyname_r(0, 0, 0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_compi_gethostbyname_r="yes" tst_nargs_gethostbyname_r="5" ],[ AC_MSG_RESULT([no]) tst_compi_gethostbyname_r="no" ]) fi if test "$tst_nargs_gethostbyname_r" = "unknown"; then AC_MSG_CHECKING([if gethostbyname_r takes 6 args.]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_netdb ]],[[ if(0 != gethostbyname_r(0, 0, 0, 0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_compi_gethostbyname_r="yes" | > > > | 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 | # if test "$tst_proto_gethostbyname_r" = "yes"; then if test "$tst_nargs_gethostbyname_r" = "unknown"; then AC_MSG_CHECKING([if gethostbyname_r takes 3 args.]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_netdb $curl_includes_bsdsocket ]],[[ if(0 != gethostbyname_r(0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_compi_gethostbyname_r="yes" tst_nargs_gethostbyname_r="3" ],[ AC_MSG_RESULT([no]) tst_compi_gethostbyname_r="no" ]) fi if test "$tst_nargs_gethostbyname_r" = "unknown"; then AC_MSG_CHECKING([if gethostbyname_r takes 5 args.]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_netdb $curl_includes_bsdsocket ]],[[ if(0 != gethostbyname_r(0, 0, 0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_compi_gethostbyname_r="yes" tst_nargs_gethostbyname_r="5" ],[ AC_MSG_RESULT([no]) tst_compi_gethostbyname_r="no" ]) fi if test "$tst_nargs_gethostbyname_r" = "unknown"; then AC_MSG_CHECKING([if gethostbyname_r takes 6 args.]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_netdb $curl_includes_bsdsocket ]],[[ if(0 != gethostbyname_r(0, 0, 0, 0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_compi_gethostbyname_r="yes" |
︙ | ︙ | |||
2382 2383 2384 2385 2386 2387 2388 2389 2390 | dnl can be compiled. If all of these are true, and dnl usage has not been previously disallowed with 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 | > < | | | | | | | 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 | dnl can be compiled. If all of these are true, and dnl usage has not been previously disallowed with 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_BSDSOCKET])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 $curl_includes_bsdsocket ]],[[ 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 $curl_includes_bsdsocket ],[ 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 $curl_includes_bsdsocket ]],[[ if(0 != gethostname(0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_compi_gethostname="yes" |
︙ | ︙ | |||
2453 2454 2455 2456 2457 2458 2459 | 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 | | | | 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 | 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_includes_bsdsocket $curl_preprocess_callconv extern int FUNCALLCONV gethostname($tst_arg1, $tst_arg2); ]],[[ if(0 != gethostname(0, 0)) return 1; ]]) ],[ |
︙ | ︙ | |||
3456 3457 3458 3459 3460 3461 3462 | curl_cv_func_inet_pton="yes" else AC_MSG_RESULT([no]) curl_cv_func_inet_pton="no" fi ]) | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 | curl_cv_func_inet_pton="yes" else AC_MSG_RESULT([no]) curl_cv_func_inet_pton="no" fi ]) dnl CURL_CHECK_FUNC_IOCTL_FIONBIO dnl ------------------------------------------------- dnl Verify if ioctl with the FIONBIO command is dnl available, can be compiled, and seems to work. If dnl all of these are true, then HAVE_IOCTL_FIONBIO dnl will be defined. |
︙ | ︙ | |||
3677 3678 3679 3680 3681 3682 3683 | 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 | < < < | 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 | 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" |
︙ | ︙ | |||
3768 3769 3770 3771 3772 3773 3774 | 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 | < | 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 | 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]) |
︙ | ︙ | |||
3817 3818 3819 3820 3821 3822 3823 | dnl Verify if IoctlSocket 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_ioctlsocket_camel, dnl then HAVE_IOCTLSOCKET_CAMEL will be defined. AC_DEFUN([CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL], [ | | > > > | > | | | 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 | dnl Verify if IoctlSocket 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_ioctlsocket_camel, dnl then HAVE_IOCTLSOCKET_CAMEL will be defined. AC_DEFUN([CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL], [ AC_REQUIRE([CURL_INCLUDES_BSDSOCKET])dnl # tst_links_ioctlsocket_camel="unknown" tst_proto_ioctlsocket_camel="unknown" tst_compi_ioctlsocket_camel="unknown" tst_allow_ioctlsocket_camel="unknown" # AC_MSG_CHECKING([if IoctlSocket can be linked]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_bsdsocket ]],[[ IoctlSocket(0, 0, 0); ]]) ],[ AC_MSG_RESULT([yes]) tst_links_ioctlsocket_camel="yes" ],[ AC_MSG_RESULT([no]) tst_links_ioctlsocket_camel="no" ]) # if test "$tst_links_ioctlsocket_camel" = "yes"; then AC_MSG_CHECKING([if IoctlSocket is prototyped]) AC_EGREP_CPP([IoctlSocket],[ $curl_includes_bsdsocket ],[ AC_MSG_RESULT([yes]) tst_proto_ioctlsocket_camel="yes" ],[ AC_MSG_RESULT([no]) tst_proto_ioctlsocket_camel="no" ]) fi # if test "$tst_proto_ioctlsocket_camel" = "yes"; then AC_MSG_CHECKING([if IoctlSocket is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_bsdsocket ]],[[ if(0 != IoctlSocket(0, 0, 0)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) tst_compi_ioctlsocket_camel="yes" |
︙ | ︙ | |||
3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 | dnl CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL_FIONBIO dnl ------------------------------------------------- dnl Verify if IoctlSocket with FIONBIO command is available, dnl can be compiled, and seems to work. If all of these are dnl true, then HAVE_IOCTLSOCKET_CAMEL_FIONBIO will be defined. AC_DEFUN([CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL_FIONBIO], [ # tst_compi_ioctlsocket_camel_fionbio="unknown" tst_allow_ioctlsocket_camel_fionbio="unknown" # if test "$curl_cv_func_ioctlsocket_camel" = "yes"; then AC_MSG_CHECKING([if IoctlSocket FIONBIO is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ | > | | 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 | dnl CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL_FIONBIO dnl ------------------------------------------------- dnl Verify if IoctlSocket with FIONBIO command is available, dnl can be compiled, and seems to work. If all of these are dnl true, then HAVE_IOCTLSOCKET_CAMEL_FIONBIO will be defined. AC_DEFUN([CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL_FIONBIO], [ AC_REQUIRE([CURL_INCLUDES_BSDSOCKET])dnl # tst_compi_ioctlsocket_camel_fionbio="unknown" tst_allow_ioctlsocket_camel_fionbio="unknown" # if test "$curl_cv_func_ioctlsocket_camel" = "yes"; then AC_MSG_CHECKING([if IoctlSocket FIONBIO is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_bsdsocket ]],[[ long flags = 0; if(0 != IoctlSocket(0, FIONBIO, &flags)) return 1; ]]) ],[ AC_MSG_RESULT([yes]) |
︙ | ︙ | |||
4070 4071 4072 4073 4074 4075 4076 | curl_cv_func_listxattr="yes" else AC_MSG_RESULT([no]) curl_cv_func_listxattr="no" fi ]) | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 | curl_cv_func_listxattr="yes" else AC_MSG_RESULT([no]) curl_cv_func_listxattr="no" fi ]) dnl CURL_CHECK_FUNC_MEMRCHR dnl ------------------------------------------------- dnl Verify if memrchr 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_memrchr, then |
︙ | ︙ | |||
4295 4296 4297 4298 4299 4300 4301 | fi ]) dnl CURL_CHECK_FUNC_POLL dnl ------------------------------------------------- dnl Verify if poll is available, prototyped, can | | < < < | 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 | fi ]) dnl CURL_CHECK_FUNC_POLL dnl ------------------------------------------------- dnl Verify if poll is available, prototyped, can dnl be compiled and seems to work. AC_DEFUN([CURL_CHECK_FUNC_POLL], [ AC_REQUIRE([CURL_INCLUDES_STDLIB])dnl AC_REQUIRE([CURL_INCLUDES_POLL])dnl # tst_links_poll="unknown" tst_proto_poll="unknown" |
︙ | ︙ | |||
4428 4429 4430 4431 4432 4433 4434 | AC_MSG_CHECKING([if poll might be used]) if test "$tst_links_poll" = "yes" && test "$tst_proto_poll" = "yes" && test "$tst_compi_poll" = "yes" && test "$tst_allow_poll" = "yes" && test "$tst_works_poll" != "no"; then AC_MSG_RESULT([yes]) | < < | 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 | AC_MSG_CHECKING([if poll might be used]) if test "$tst_links_poll" = "yes" && test "$tst_proto_poll" = "yes" && test "$tst_compi_poll" = "yes" && test "$tst_allow_poll" = "yes" && test "$tst_works_poll" != "no"; then AC_MSG_RESULT([yes]) AC_DEFINE_UNQUOTED(HAVE_POLL_FINE, 1, [If you have a fine poll]) curl_cv_func_poll="yes" else AC_MSG_RESULT([no]) curl_cv_func_poll="no" fi |
︙ | ︙ | |||
4561 4562 4563 4564 4565 4566 4567 | curl_cv_func_removexattr="yes" else AC_MSG_RESULT([no]) curl_cv_func_removexattr="no" fi ]) | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | | 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 | curl_cv_func_removexattr="yes" else AC_MSG_RESULT([no]) curl_cv_func_removexattr="no" fi ]) dnl CURL_CHECK_FUNC_SETSOCKOPT_SO_NONBLOCK dnl ------------------------------------------------- dnl Verify if setsockopt with the SO_NONBLOCK command is dnl available, can be compiled, and seems to work. If dnl all of these are true, then HAVE_SETSOCKOPT_SO_NONBLOCK dnl will be defined. AC_DEFUN([CURL_CHECK_FUNC_SETSOCKOPT_SO_NONBLOCK], [ # tst_compi_setsockopt_so_nonblock="unknown" 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]) |
︙ | ︙ | |||
5259 5260 5261 5262 5263 5264 5265 | fi # if test "$tst_proto_socket" = "yes"; then AC_MSG_CHECKING([if socket is compilable]) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_winsock2 | | | 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 | 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; ]]) ],[ |
︙ | ︙ | |||
5650 5651 5652 5653 5654 5655 5656 | dnl CURL_CHECK_FUNC_STRERROR_R dnl ------------------------------------------------- dnl Verify if strerror_r is available, prototyped, can be compiled and dnl seems to work. If all of these are true, and usage has not been dnl previously disallowed with shell variable curl_disallow_strerror_r, | | | | 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 | dnl CURL_CHECK_FUNC_STRERROR_R dnl ------------------------------------------------- dnl Verify if strerror_r is available, prototyped, can be compiled and dnl seems to work. If all of these are true, and usage has not been dnl previously disallowed with shell variable curl_disallow_strerror_r, dnl then HAVE_STRERROR_R will be defined, as well as one of dnl HAVE_GLIBC_STRERROR_R or HAVE_POSIX_STRERROR_R. dnl dnl glibc-style strerror_r: dnl dnl char *strerror_r(int errnum, char *workbuf, size_t bufsize); dnl dnl glibc-style strerror_r returns a pointer to the error string, dnl and might use the provided workbuf as a scratch area if needed. A |
︙ | ︙ | |||
5885 5886 5887 5888 5889 5890 5891 | test "$tst_allow_strerror_r" = "yes"; then AC_MSG_RESULT([yes]) if test "$tst_glibc_strerror_r" = "yes"; then AC_DEFINE_UNQUOTED(HAVE_STRERROR_R, 1, [Define to 1 if you have the strerror_r function.]) AC_DEFINE_UNQUOTED(HAVE_GLIBC_STRERROR_R, 1, [Define to 1 if you have a working glibc-style strerror_r function.]) | < < < < | 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 | test "$tst_allow_strerror_r" = "yes"; then AC_MSG_RESULT([yes]) if test "$tst_glibc_strerror_r" = "yes"; then AC_DEFINE_UNQUOTED(HAVE_STRERROR_R, 1, [Define to 1 if you have the strerror_r function.]) AC_DEFINE_UNQUOTED(HAVE_GLIBC_STRERROR_R, 1, [Define to 1 if you have a working glibc-style strerror_r function.]) fi if test "$tst_posix_strerror_r" = "yes"; then AC_DEFINE_UNQUOTED(HAVE_STRERROR_R, 1, [Define to 1 if you have the strerror_r function.]) AC_DEFINE_UNQUOTED(HAVE_POSIX_STRERROR_R, 1, [Define to 1 if you have a working POSIX-style strerror_r function.]) fi curl_cv_func_strerror_r="yes" else AC_MSG_RESULT([no]) curl_cv_func_strerror_r="no" fi # |
︙ | ︙ | |||
5994 5995 5996 5997 5998 5999 6000 | curl_cv_func_stricmp="yes" else AC_MSG_RESULT([no]) curl_cv_func_stricmp="no" fi ]) | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 | curl_cv_func_stricmp="yes" else AC_MSG_RESULT([no]) curl_cv_func_stricmp="no" fi ]) dnl CURL_CHECK_FUNC_STRTOK_R dnl ------------------------------------------------- dnl Verify if strtok_r 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_strtok_r, then |
︙ | ︙ | |||
6419 6420 6421 6422 6423 6424 6425 | curl_cv_func_strtoll="yes" else AC_MSG_RESULT([no]) curl_cv_func_strtoll="no" fi ]) | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 | curl_cv_func_strtoll="yes" else AC_MSG_RESULT([no]) curl_cv_func_strtoll="no" fi ]) dnl CURL_RUN_IFELSE dnl ------------------------------------------------- dnl Wrapper macro to use instead of AC_RUN_IFELSE. It dnl sets LD_LIBRARY_PATH locally for this run only, from the dnl CURL_LIBRARY_PATH variable. It keeps the LD_LIBRARY_PATH dnl changes contained within this macro. |
︙ | ︙ | |||
6566 6567 6568 6569 6570 6571 6572 | CPPFLAGS="$CPPFLAGS -DNDEBUG" CFLAGS="$CFLAGS -O0 -g -fprofile-arcs -ftest-coverage" LIBS="$LIBS -lgcov" fi ]) dnl CURL_ATOMIC | | | > | | | | | | > | | | | | | | | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 | CPPFLAGS="$CPPFLAGS -DNDEBUG" CFLAGS="$CFLAGS -O0 -g -fprofile-arcs -ftest-coverage" LIBS="$LIBS -lgcov" fi ]) dnl CURL_ATOMIC dnl ------------------------------------------------------------- dnl Check if _Atomic works. But only check if stdatomic.h exists. dnl AC_DEFUN([CURL_ATOMIC],[ AC_CHECK_HEADERS(stdatomic.h, [ AC_MSG_CHECKING([if _Atomic is available]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ $curl_includes_unistd ]],[[ _Atomic int i = 0; i = 4; // Force an atomic-write operation. ]]) ],[ AC_MSG_RESULT([yes]) AC_DEFINE_UNQUOTED(HAVE_ATOMIC, 1, [Define to 1 if you have _Atomic support.]) tst_atomic="yes" ],[ AC_MSG_RESULT([no]) tst_atomic="no" ]) ]) ]) # Rewrite inspired by the functionality once provided by # AX_COMPILE_CHECK_SIZEOF. Uses the switch() "trick" to find the size of the # given type. # # This code fails to compile: # # switch() { case 0: case 0: } # # By making the second case number a boolean check, it fails to compile the # test code when the boolean is false and thus creating a zero, making it a # duplicated case label. If the boolean equals true, it becomes a one, the # code compiles and we know it was a match. # # The check iterates over all possible sizes and stops as soon it compiles # error-free. # # Usage: # # CURL_SIZEOF(TYPE, [HEADERS]) # AC_DEFUN([CURL_SIZEOF], [ dnl The #define name to make autoheader put the name in curl_config.h.in define(TYPE, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl AC_MSG_CHECKING(size of $1) r=0 dnl Check the sizes in a reasonable order for typesize in 8 4 2 16 1; do AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include <sys/types.h> $2 ]], [switch(0) { case 0: case (sizeof($1) == $typesize):; } ]) ], [ r=$typesize], [ r=0]) dnl get out of the loop once matched if test $r -gt 0; then break; fi done if test $r -eq 0; then AC_MSG_ERROR([Failed to find size of $1]) fi AC_MSG_RESULT($r) dnl lowercase and underscore instead of space tname=$(echo "ac_cv_sizeof_$1" | tr A-Z a-z | tr " " "_") eval "$tname=$r" AC_DEFINE_UNQUOTED(TYPE, [$r], [Size of $1 in number of bytes]) ]) |
Changes to jni/curl/m4/curl-wolfssl.m4.
︙ | ︙ | |||
91 92 93 94 95 96 97 98 99 100 101 102 103 104 | AC_MSG_CHECKING([for wolfSSL_Init in -lwolfssl]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ /* These aren't needed for detection and confuse WolfSSL. They are set up properly later if it is detected. */ #undef SIZEOF_LONG #undef SIZEOF_LONG_LONG #include <wolfssl/ssl.h> ]],[[ return wolfSSL_Init(); ]]) ],[ AC_MSG_RESULT(yes) AC_DEFINE(USE_WOLFSSL, 1, [if wolfSSL is enabled]) | > | 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | AC_MSG_CHECKING([for wolfSSL_Init in -lwolfssl]) AC_LINK_IFELSE([ AC_LANG_PROGRAM([[ /* These aren't needed for detection and confuse WolfSSL. They are set up properly later if it is detected. */ #undef SIZEOF_LONG #undef SIZEOF_LONG_LONG #include <wolfssl/options.h> #include <wolfssl/ssl.h> ]],[[ return wolfSSL_Init(); ]]) ],[ AC_MSG_RESULT(yes) AC_DEFINE(USE_WOLFSSL, 1, [if wolfSSL is enabled]) |
︙ | ︙ | |||
118 119 120 121 122 123 124 | fi if test "x$USE_WOLFSSL" = "xyes"; then AC_MSG_NOTICE([detected wolfSSL]) check_for_ca_bundle=1 dnl wolfssl/ctaocrypt/types.h needs SIZEOF_LONG_LONG defined! | | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | fi if test "x$USE_WOLFSSL" = "xyes"; then AC_MSG_NOTICE([detected wolfSSL]) check_for_ca_bundle=1 dnl wolfssl/ctaocrypt/types.h needs SIZEOF_LONG_LONG defined! CURL_SIZEOF(long long) LIBS="$addlib -lm $LIBS" dnl WolfSSL needs configure --enable-opensslextra to have *get_peer* dnl DES* is needed for NTLM support and lives in the OpenSSL compatibility dnl layer AC_CHECK_FUNCS(wolfSSL_get_peer_certificate \ |
︙ | ︙ |
Changes to jni/curl/packages/DOS/common.dj.
︙ | ︙ | |||
142 143 144 145 146 147 148 | CFLAGS += -DOPENSSL_SUPPRESS_DEPRECATED # # Use some of these too? # # CFLAGS += -DUSE_TLS_SRP=1 \ # -DHAVE_ENGINE_LOAD_BUILTIN_ENGINES \ | < | 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | CFLAGS += -DOPENSSL_SUPPRESS_DEPRECATED # # Use some of these too? # # CFLAGS += -DUSE_TLS_SRP=1 \ # -DHAVE_ENGINE_LOAD_BUILTIN_ENGINES \ # -DHAVE_SSLV2_CLIENT_METHOD \ # -DOPENSSL_NO_DEPRECATED # # 'libcomm.a' is normally 'libcommon.a'. But to keep it 8+3 clean, it's # shortened to 'libcomm.a'. The official OpenSSL build was recently changed # and this "Common" library was added for several of the Crypto Providers. |
︙ | ︙ | |||
169 170 171 172 173 174 175 | endif ifeq ($(USE_ARES),1) CFLAGS += -DUSE_ARES -I$(ARES_ROOT)/include endif ifeq ($(USE_IDNA),1) | | < | 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 | endif ifeq ($(USE_ARES),1) CFLAGS += -DUSE_ARES -I$(ARES_ROOT)/include endif ifeq ($(USE_IDNA),1) CFLAGS += -DHAVE_LIBIDN -I$(LIBIDN_ROOT)/lib endif ifeq ($(USE_DEBUG),1) CFLAGS += -DDEBUG=1 -DDEBUGBUILD endif ifeq ($(USE_CURLDEBUG),1) |
︙ | ︙ |
Changes to jni/curl/packages/Makefile.in.
︙ | ︙ | |||
85 86 87 88 89 90 91 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = packages ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | | < | 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = packages ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \ $(top_srcdir)/m4/curl-bearssl.m4 \ $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-gnutls.m4 \ $(top_srcdir)/m4/curl-mbedtls.m4 $(top_srcdir)/m4/curl-nss.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ |
︙ | ︙ | |||
342 343 344 345 346 347 348 349 350 351 352 353 354 355 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ | > | 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ |
︙ | ︙ |
Changes to jni/curl/packages/OS400/curl.inc.in.
︙ | ︙ | |||
1202 1203 1204 1205 1206 1207 1208 | d c 20108 d CURLOPT_SSL_CTX_DATA... d c 10109 d CURLOPT_FTP_CREATE_MISSING_DIRS... d c 00110 d CURLOPT_PROXYAUTH... d c 00111 | | | 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 | d c 20108 d CURLOPT_SSL_CTX_DATA... d c 10109 d CURLOPT_FTP_CREATE_MISSING_DIRS... d c 00110 d CURLOPT_PROXYAUTH... d c 00111 d CURLOPT_SERVER_RESPONSE_TIMEOUT... d c 00112 d CURLOPT_SERVER_RESPONSE_TIMEOUT... Alias d c 00112 d CURLOPT_IPRESOLVE... d c 00113 d CURLOPT_MAXFILESIZE... d c 00114 |
︙ | ︙ |
Changes to jni/curl/packages/vms/Makefile.in.
︙ | ︙ | |||
85 86 87 88 89 90 91 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = packages/vms ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | | < | 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = packages/vms ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \ $(top_srcdir)/m4/curl-bearssl.m4 \ $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-gnutls.m4 \ $(top_srcdir)/m4/curl-mbedtls.m4 $(top_srcdir)/m4/curl-nss.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ |
︙ | ︙ | |||
284 285 286 287 288 289 290 291 292 293 294 295 296 297 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ | > | 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ |
︙ | ︙ |
Changes to jni/curl/packages/vms/config_h.com.
︙ | ︙ | |||
793 794 795 796 797 798 799 | $ then $ write tf "#ifndef ''key2'" $ write tf "#define ''key2' 1" $ write tf "#endif" $ goto cfgh_in_loop1 $ endif $! | < < < < < < < < | 793 794 795 796 797 798 799 800 801 802 803 804 805 806 | $ then $ write tf "#ifndef ''key2'" $ write tf "#define ''key2' 1" $ write tf "#endif" $ goto cfgh_in_loop1 $ endif $! $ if key2b .eqs. "RAND" .and. key2c .nes. "" .and. key2d .eqs. "" $ then $ if (key2c .eqs. "EGD") .or. - (key2c .eqs. "STATUS") .or. - (key2c .eqs. "SCREEN") $ then $ if f$search("''ssl_header_dir'rand.h") .nes. "" |
︙ | ︙ | |||
1666 1667 1668 1669 1670 1671 1672 | $ write tf "#define ''key2' int" $ write tf "#endif" $ goto cfgh_in_loop1 $ endif $ endif $! $! | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 | $ write tf "#define ''key2' int" $ write tf "#endif" $ goto cfgh_in_loop1 $ endif $ endif $! $! $! Process SELECT directives $!------------------------------------- $ if key2a .eqs. "SELECT" $ then $ if key2 .eqs. "SELECT_QUAL_ARG5" $ then $ write tf "#ifndef ''key2'" |
︙ | ︙ |
Changes to jni/curl/scripts/Makefile.in.
︙ | ︙ | |||
109 110 111 112 113 114 115 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = scripts ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | | < | 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = scripts ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \ $(top_srcdir)/m4/curl-bearssl.m4 \ $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-gnutls.m4 \ $(top_srcdir)/m4/curl-mbedtls.m4 $(top_srcdir)/m4/curl-nss.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ |
︙ | ︙ | |||
308 309 310 311 312 313 314 315 316 317 318 319 320 321 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ | > | 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ |
︙ | ︙ |
jni/curl/scripts/firefox-db2pem.sh became executable.
︙ | ︙ |
Changes to jni/curl/src/CMakeLists.txt.
︙ | ︙ | |||
107 108 109 110 111 112 113 | #SET_TARGET_PROPERTIES(${EXE_NAME} RUNTIME_OUTPUT_DIRECTORY "blah blah blah") #SET_TARGET_PROPERTIES(${EXE_NAME} LIBRARY_OUTPUT_DIRECTORY "blah blah blah") #INCLUDE(ModuleInstall OPTIONAL) install(TARGETS ${EXE_NAME} EXPORT ${TARGETS_EXPORT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) export(TARGETS ${EXE_NAME} | | | 107 108 109 110 111 112 113 114 115 116 | #SET_TARGET_PROPERTIES(${EXE_NAME} RUNTIME_OUTPUT_DIRECTORY "blah blah blah") #SET_TARGET_PROPERTIES(${EXE_NAME} LIBRARY_OUTPUT_DIRECTORY "blah blah blah") #INCLUDE(ModuleInstall OPTIONAL) install(TARGETS ${EXE_NAME} EXPORT ${TARGETS_EXPORT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) export(TARGETS ${EXE_NAME} FILE ${PROJECT_BINARY_DIR}/curl-target.cmake NAMESPACE ${PROJECT_NAME}:: ) |
Changes to jni/curl/src/Makefile.in.
︙ | ︙ | |||
120 121 122 123 124 125 126 | POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = curl$(EXEEXT) @USE_CPPFLAG_CURL_STATICLIB_TRUE@am__append_1 = -DCURL_STATICLIB subdir = src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | | < | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = curl$(EXEEXT) @USE_CPPFLAG_CURL_STATICLIB_TRUE@am__append_1 = -DCURL_STATICLIB subdir = src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \ $(top_srcdir)/m4/curl-bearssl.m4 \ $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-gnutls.m4 \ $(top_srcdir)/m4/curl-mbedtls.m4 $(top_srcdir)/m4/curl-nss.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ |
︙ | ︙ | |||
586 587 588 589 590 591 592 593 594 595 596 597 598 599 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ | > | 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ |
︙ | ︙ |
Changes to jni/curl/src/Makefile.m32.
︙ | ︙ | |||
109 110 111 112 113 114 115 116 117 118 119 120 | ifeq ($(CURL_CC),) CURL_CC := $(CROSSPREFIX)gcc endif ifeq ($(CURL_AR),) CURL_AR := $(CROSSPREFIX)ar endif CC = $(CURL_CC) CFLAGS = -O3 $(CURL_CFLAG_EXTRAS) -W -Wall LDFLAGS = $(CURL_LDFLAG_EXTRAS) $(CURL_LDFLAG_EXTRAS_EXE) AR = $(CURL_AR) | > > > > > > | | | > > | 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 | ifeq ($(CURL_CC),) CURL_CC := $(CROSSPREFIX)gcc endif ifeq ($(CURL_AR),) CURL_AR := $(CROSSPREFIX)ar endif ifeq ($(CURL_RC),) CURL_RC := $(CROSSPREFIX)windres endif ifeq ($(CURL_STRIP),) CURL_STRIP := $(CROSSPREFIX)strip endif CC = $(CURL_CC) CFLAGS = -O3 $(CURL_CFLAG_EXTRAS) -W -Wall LDFLAGS = $(CURL_LDFLAG_EXTRAS) $(CURL_LDFLAG_EXTRAS_EXE) AR = $(CURL_AR) RC = $(CURL_RC) RCFLAGS = --include-dir=$(PROOT)/include -O coff -DCURL_EMBED_MANIFEST $(CURL_RCFLAG_EXTRAS) STRIP = $(CURL_STRIP) -g # We may need these someday # PERL = perl # NROFF = nroff # Set environment var ARCH to your architecture to override autodetection. ifndef ARCH ifeq ($(findstring x86_64,$(shell $(CC) -dumpmachine)),x86_64) ARCH = w64 else ARCH = w32 endif endif ifneq ($(ARCH),custom) ifeq ($(ARCH),w64) CFLAGS += -m64 LDFLAGS += -m64 RCFLAGS += -F pe-x86-64 else CFLAGS += -m32 LDFLAGS += -m32 RCFLAGS += -F pe-i386 endif endif # Platform-dependent helper tool macros ifeq ($(findstring /sh,$(SHELL)),/sh) DEL = rm -f $1 RMDIR = rm -fr $1 MKDIR = mkdir -p $1 |
︙ | ︙ | |||
287 288 289 290 291 292 293 | curl_LDADD += -L"$(NGHTTP2_PATH)/lib" -lnghttp2 endif ifdef SSH2 CFLAGS += -DUSE_LIBSSH2 -DHAVE_LIBSSH2_H curl_LDADD += -L"$(LIBSSH2_PATH)/win32" -lssh2 ifdef SCHANNEL ifndef DYN | | > > > > > > > > > > > > > > > > < < < < < < < < < | 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 | curl_LDADD += -L"$(NGHTTP2_PATH)/lib" -lnghttp2 endif ifdef SSH2 CFLAGS += -DUSE_LIBSSH2 -DHAVE_LIBSSH2_H curl_LDADD += -L"$(LIBSSH2_PATH)/win32" -lssh2 ifdef SCHANNEL ifndef DYN curl_LDADD += -lcrypt32 endif endif endif ifdef NGHTTP3 CFLAGS += -DUSE_NGHTTP3 curl_LDADD += -L"$(NGHTTP3_PATH)/lib" -lnghttp3 ifdef NGTCP2 CFLAGS += -DUSE_NGTCP2 curl_LDADD += -L"$(NGTCP2_PATH)/lib" ifdef NGTCP2_LIBS curl_LDADD += $(NGTCP2_LIBS) else curl_LDADD += -lngtcp2 ifdef SSL curl_LDADD += -lngtcp2_crypto_openssl endif endif endif endif ifdef SSL ifndef OPENSSL_INCLUDE ifeq "$(wildcard $(OPENSSL_PATH)/outinc)" "$(OPENSSL_PATH)/outinc" OPENSSL_INCLUDE = $(OPENSSL_PATH)/outinc endif ifeq "$(wildcard $(OPENSSL_PATH)/include)" "$(OPENSSL_PATH)/include" OPENSSL_INCLUDE = $(OPENSSL_PATH)/include endif |
︙ | ︙ | |||
395 396 397 398 399 400 401 | curl_LDADD += -L"$(LDAP_SDK)/lib" -lldap -llber endif ifndef USE_LDAP_NOVELL ifndef USE_LDAP_OPENLDAP curl_LDADD += -lwldap32 endif endif | | | 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 | curl_LDADD += -L"$(LDAP_SDK)/lib" -lldap -llber endif ifndef USE_LDAP_NOVELL ifndef USE_LDAP_OPENLDAP curl_LDADD += -lwldap32 endif endif curl_LDADD += -lws2_32 -lbcrypt # Makefile.inc provides the CSOURCES and HHEADERS defines include Makefile.inc curl_PROGRAMS = curl.exe curl_OBJECTS := $(patsubst %.c,%.o,$(strip $(CURL_CFILES))) curlx_OBJECTS := $(patsubst %.c,%.o,$(notdir $(strip $(CURLX_CFILES)))) |
︙ | ︙ |
jni/curl/src/mkhelp.pl became executable.
︙ | ︙ |
Changes to jni/curl/src/tool_cb_dbg.c.
︙ | ︙ | |||
228 229 230 231 232 233 234 | if((tracetype == TRACE_ASCII) && (i + c + 1 < size) && (ptr[i + c] == 0x0D) && (ptr[i + c + 1] == 0x0A)) { i += (c + 2 - width); break; } (void)infotype; | | | 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 | if((tracetype == TRACE_ASCII) && (i + c + 1 < size) && (ptr[i + c] == 0x0D) && (ptr[i + c + 1] == 0x0A)) { i += (c + 2 - width); break; } (void)infotype; fprintf(stream, "%c", ((ptr[i + c] >= 0x20) && (ptr[i + c] < 0x7F)) ? ptr[i + c] : UNPRINTABLE_CHAR); /* check again for 0D0A, to avoid an extra \n if it's at width */ if((tracetype == TRACE_ASCII) && (i + c + 2 < size) && (ptr[i + c + 1] == 0x0D) && (ptr[i + c + 2] == 0x0A)) { i += (c + 3 - width); break; |
︙ | ︙ |
Changes to jni/curl/src/tool_cb_wrt.c.
︙ | ︙ | |||
230 231 232 233 234 235 236 | if(is_tty && (outs->bytes < 2000) && !config->terminal_binary_ok) { /* binary output to terminal? */ if(memchr(buffer, 0, bytes)) { warnf(config->global, "Binary output can mess up your terminal. " "Use \"--output -\" to tell curl to output it to your terminal " "anyway, or consider \"--output <FILE>\" to save to a file.\n"); | | | 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 | if(is_tty && (outs->bytes < 2000) && !config->terminal_binary_ok) { /* binary output to terminal? */ if(memchr(buffer, 0, bytes)) { warnf(config->global, "Binary output can mess up your terminal. " "Use \"--output -\" to tell curl to output it to your terminal " "anyway, or consider \"--output <FILE>\" to save to a file.\n"); config->synthetic_error = TRUE; return failure; } } #ifdef WIN32 fhnd = _get_osfhandle(fileno(outs->stream)); if(isatty(fileno(outs->stream)) && |
︙ | ︙ |
Changes to jni/curl/src/tool_cfgable.c.
︙ | ︙ | |||
32 33 34 35 36 37 38 | { memset(config, 0, sizeof(struct OperationConfig)); config->postfieldsize = -1; config->use_httpget = FALSE; config->create_dirs = FALSE; config->maxredirs = DEFAULT_MAXREDIRS; | < < < < | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | { memset(config, 0, sizeof(struct OperationConfig)); config->postfieldsize = -1; config->use_httpget = FALSE; config->create_dirs = FALSE; config->maxredirs = DEFAULT_MAXREDIRS; config->proto_present = FALSE; config->proto_redir_present = FALSE; config->proto_default = NULL; config->tcp_nodelay = TRUE; /* enabled by default */ config->happy_eyeballs_timeout_ms = CURL_HET_DEFAULT; config->http09_allowed = FALSE; config->ftp_skip_ip = TRUE; config->file_clobber_mode = CLOBBER_DEFAULT; |
︙ | ︙ | |||
168 169 170 171 172 173 174 175 176 177 178 179 180 181 | Curl_safefree(config->proxy_service_name); Curl_safefree(config->service_name); Curl_safefree(config->ftp_account); Curl_safefree(config->ftp_alternative_to_user); Curl_safefree(config->aws_sigv4); } void config_free(struct OperationConfig *config) { struct OperationConfig *last = config; /* Free each of the structures in reverse order */ | > > | 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | Curl_safefree(config->proxy_service_name); Curl_safefree(config->service_name); Curl_safefree(config->ftp_account); Curl_safefree(config->ftp_alternative_to_user); Curl_safefree(config->aws_sigv4); Curl_safefree(config->proto_str); Curl_safefree(config->proto_redir_str); } void config_free(struct OperationConfig *config) { struct OperationConfig *last = config; /* Free each of the structures in reverse order */ |
︙ | ︙ |
Changes to jni/curl/src/tool_cfgable.h.
︙ | ︙ | |||
24 25 26 27 28 29 30 | * ***************************************************************************/ #include "tool_setup.h" #include "tool_sdecls.h" #include "tool_urlglob.h" #include "tool_formparse.h" | < < < < < < | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | * ***************************************************************************/ #include "tool_setup.h" #include "tool_sdecls.h" #include "tool_urlglob.h" #include "tool_formparse.h" struct GlobalConfig; struct State { struct getout *urlnode; struct URLGlob *inglob; struct URLGlob *urls; char *outfiles; |
︙ | ︙ | |||
63 64 65 66 67 68 69 | bool tr_encoding; /* Transfer-Encoding please */ unsigned long authtype; /* auth bitmask */ bool use_resume; bool resume_from_current; bool disable_epsv; bool disable_eprt; bool ftp_pret; | | | | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | bool tr_encoding; /* Transfer-Encoding please */ unsigned long authtype; /* auth bitmask */ bool use_resume; bool resume_from_current; bool disable_epsv; bool disable_eprt; bool ftp_pret; char *proto_str; bool proto_present; char *proto_redir_str; bool proto_redir_present; char *proto_default; curl_off_t resume_from; char *postfields; curl_off_t postfieldsize; char *referer; double timeout; |
︙ | ︙ | |||
278 279 280 281 282 283 284 | char *unix_socket_path; /* path to Unix domain socket */ bool abstract_unix_socket; /* path to an abstract Unix domain socket */ bool falsestart; bool path_as_is; double expect100timeout; bool suppress_connect_headers; /* suppress proxy CONNECT response headers from user callbacks */ | | < | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | char *unix_socket_path; /* path to Unix domain socket */ bool abstract_unix_socket; /* path to an abstract Unix domain socket */ bool falsestart; bool path_as_is; double expect100timeout; bool suppress_connect_headers; /* suppress proxy CONNECT response headers from user callbacks */ bool synthetic_error; /* if TRUE, this is tool-internal error */ bool ssh_compression; /* enable/disable SSH compression */ long happy_eyeballs_timeout_ms; /* happy eyeballs timeout in milliseconds. 0 is valid. default: CURL_HET_DEFAULT. */ bool haproxy_protocol; /* whether to send HAProxy protocol v1 */ bool disallow_username_in_url; /* disallow usernames in URLs */ char *aws_sigv4; enum { |
︙ | ︙ |
Changes to jni/curl/src/tool_formparse.c.
︙ | ︙ | |||
405 406 407 408 409 410 411 | const char *filename, FILE *fp, struct curl_slist **pheaders) { size_t hdrlen = 0; size_t pos = 0; bool incomment = FALSE; int lineno = 1; | | | 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 | const char *filename, FILE *fp, struct curl_slist **pheaders) { size_t hdrlen = 0; size_t pos = 0; bool incomment = FALSE; int lineno = 1; char hdrbuf[999] = ""; /* Max. header length + 1. */ for(;;) { int c = getc(fp); if(c == EOF || (!pos && !ISSPACE(c))) { /* Strip and flush the current header. */ while(hdrlen && ISSPACE(hdrbuf[hdrlen - 1])) hdrlen--; |
︙ | ︙ |
Changes to jni/curl/src/tool_getparam.c.
︙ | ︙ | |||
483 484 485 486 487 488 489 | parse_cert_parameter(nextarg, &certname, &passphrase); Curl_safefree(*file); *file = certname; if(passphrase) { Curl_safefree(*password); *password = passphrase; } | < | 483 484 485 486 487 488 489 490 491 492 493 494 495 496 | parse_cert_parameter(nextarg, &certname, &passphrase); Curl_safefree(*file); *file = certname; if(passphrase) { Curl_safefree(*password); *password = passphrase; } } /* Get a size parameter for '--limit-rate' or '--max-filesize'. * We support a 'G', 'M' or 'K' suffix too. */ static ParameterError GetSizeParameter(struct GlobalConfig *global, const char *arg, |
︙ | ︙ | |||
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 | default: warnf(global, "unsupported %s unit. Use G, M, K or B!\n", which); return PARAM_BAD_USE; } *value_out = value; return PARAM_OK; } ParameterError getparameter(const char *flag, /* f or -long-flag */ char *nextarg, /* NULL if unset */ bool *usedarg, /* set to TRUE if the arg has been used */ struct GlobalConfig *global, struct OperationConfig *config) { char letter; char subletter = '\0'; /* subletters can only occur on long options */ int rc; const char *parse = NULL; unsigned int j; time_t now; int hit = -1; bool longopt = FALSE; bool singleopt = FALSE; /* when true means '-o foo' used '-ofoo' */ ParameterError err; bool toggle = TRUE; /* how to switch boolean options, on or off. Controlled by using --OPTION or --no-OPTION */ | > > > > > > > > > > > > > > > | > > | 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 | default: warnf(global, "unsupported %s unit. Use G, M, K or B!\n", which); return PARAM_BAD_USE; } *value_out = value; return PARAM_OK; } #ifdef HAVE_WRITABLE_ARGV static void cleanarg(argv_item_t str) { /* now that GetStr has copied the contents of nextarg, wipe the next * argument out so that the username:password isn't displayed in the * system process list */ if(str) { size_t len = strlen(str); memset(str, ' ', len); } } #else #define cleanarg(x) #endif ParameterError getparameter(const char *flag, /* f or -long-flag */ char *nextarg, /* NULL if unset */ bool *usedarg, /* set to TRUE if the arg has been used */ struct GlobalConfig *global, struct OperationConfig *config) { char letter; char subletter = '\0'; /* subletters can only occur on long options */ int rc; const char *parse = NULL; unsigned int j; time_t now; int hit = -1; bool longopt = FALSE; bool singleopt = FALSE; /* when true means '-o foo' used '-ofoo' */ ParameterError err; bool toggle = TRUE; /* how to switch boolean options, on or off. Controlled by using --OPTION or --no-OPTION */ #ifdef HAVE_WRITABLE_ARGV argv_item_t clearthis = NULL; #endif *usedarg = FALSE; /* default is that we don't use the arg */ if(('-' != flag[0]) || ('-' == flag[1])) { /* this should be a long name */ const char *word = ('-' == flag[0]) ? flag + 2 : flag; size_t fnam = strlen(word); int numhits = 0; |
︙ | ︙ | |||
633 634 635 636 637 638 639 640 641 642 643 644 645 646 | } } if(aliases[hit].desc >= ARG_STRING) { /* this option requires an extra parameter */ if(!longopt && parse[1]) { nextarg = (char *)&parse[1]; /* this is the actual extra parameter */ singleopt = TRUE; /* don't loop anymore after this */ } else if(!nextarg) return PARAM_REQUIRES_PARAMETER; else *usedarg = TRUE; /* mark it as used */ | > > > | 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 | } } if(aliases[hit].desc >= ARG_STRING) { /* this option requires an extra parameter */ if(!longopt && parse[1]) { nextarg = (char *)&parse[1]; /* this is the actual extra parameter */ #ifdef HAVE_WRITABLE_ARGV clearthis = nextarg; #endif singleopt = TRUE; /* don't loop anymore after this */ } else if(!nextarg) return PARAM_REQUIRES_PARAMETER; else *usedarg = TRUE; /* mark it as used */ |
︙ | ︙ | |||
671 672 673 674 675 676 677 | break; case 'a': /* random-file */ break; case 'b': /* egd-file */ break; case 'B': /* OAuth 2.0 bearer token */ GetStr(&config->oauth_bearer, nextarg); | | > > > | 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 | break; case 'a': /* random-file */ break; case 'b': /* egd-file */ break; case 'B': /* OAuth 2.0 bearer token */ GetStr(&config->oauth_bearer, nextarg); cleanarg(clearthis); config->authtype |= CURLAUTH_BEARER; break; case 'c': /* connect-timeout */ err = str2udouble(&config->connecttimeout, nextarg, LONG_MAX/1000); if(err) return err; break; case 'C': /* doh-url */ GetStr(&config->doh_url, nextarg); if(config->doh_url && !config->doh_url[0]) /* if given a blank string, we make it NULL again */ Curl_safefree(config->doh_url); break; case 'd': /* ciphers */ GetStr(&config->cipher_list, nextarg); break; case 'D': /* --dns-interface */ if(!curlinfo->ares_num) /* c-ares is needed for this */ return PARAM_LIBCURL_DOESNT_SUPPORT; |
︙ | ︙ | |||
1180 1181 1182 1183 1184 1185 1186 | return err; break; case 'C': /* --ftp-pret */ config->ftp_pret = toggle; break; case 'D': /* --proto */ config->proto_present = TRUE; | > | > | > > | | 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 | return err; break; case 'C': /* --ftp-pret */ config->ftp_pret = toggle; break; case 'D': /* --proto */ config->proto_present = TRUE; err = proto2num(config, (unsigned int)CURLPROTO_ALL, &config->proto_str, nextarg); if(err) return err; break; case 'E': /* --proto-redir */ config->proto_redir_present = TRUE; if(proto2num(config, CURLPROTO_HTTP|CURLPROTO_HTTPS| CURLPROTO_FTP|CURLPROTO_FTPS, &config->proto_redir_str, nextarg)) return PARAM_BAD_USE; break; case 'F': /* --resolve */ err = add2list(&config->resolve, nextarg); if(err) return err; break; |
︙ | ︙ | |||
1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 | ptr = *nextarg ? nextarg : NULL; GetStr(&config->referer, ptr); } break; case 'E': switch(subletter) { case '\0': /* certificate file */ GetFileAndPassword(nextarg, &config->cert, &config->key_passwd); break; case 'a': /* CA info PEM file */ GetStr(&config->cacert, nextarg); break; case 'b': /* cert file type */ GetStr(&config->cert_type, nextarg); break; case 'c': /* private key file */ GetStr(&config->key, nextarg); break; case 'd': /* private key file type */ GetStr(&config->key_type, nextarg); break; case 'e': /* private key passphrase */ GetStr(&config->key_passwd, nextarg); | > | | 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 | ptr = *nextarg ? nextarg : NULL; GetStr(&config->referer, ptr); } break; case 'E': switch(subletter) { case '\0': /* certificate file */ cleanarg(clearthis); GetFileAndPassword(nextarg, &config->cert, &config->key_passwd); break; case 'a': /* CA info PEM file */ GetStr(&config->cacert, nextarg); break; case 'b': /* cert file type */ GetStr(&config->cert_type, nextarg); break; case 'c': /* private key file */ GetStr(&config->key, nextarg); break; case 'd': /* private key file type */ GetStr(&config->key_type, nextarg); break; case 'e': /* private key passphrase */ GetStr(&config->key_passwd, nextarg); cleanarg(clearthis); break; case 'f': /* crypto engine */ GetStr(&config->engine, nextarg); if(config->engine && curl_strequal(config->engine, "list")) return PARAM_ENGINES_REQUESTED; break; case 'g': /* CA cert directory */ |
︙ | ︙ | |||
1671 1672 1673 1674 1675 1676 1677 | GetStr(&config->hostpubsha256, nextarg); break; case 'j': /* CRL file */ GetStr(&config->crlfile, nextarg); break; case 'k': /* TLS username */ if(!(curlinfo->features & CURL_VERSION_TLSAUTH_SRP)) { | | | | | | 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 | GetStr(&config->hostpubsha256, nextarg); break; case 'j': /* CRL file */ GetStr(&config->crlfile, nextarg); break; case 'k': /* TLS username */ if(!(curlinfo->features & CURL_VERSION_TLSAUTH_SRP)) { cleanarg(clearthis); return PARAM_LIBCURL_DOESNT_SUPPORT; } GetStr(&config->tls_username, nextarg); cleanarg(clearthis); break; case 'l': /* TLS password */ if(!(curlinfo->features & CURL_VERSION_TLSAUTH_SRP)) { cleanarg(clearthis); return PARAM_LIBCURL_DOESNT_SUPPORT; } GetStr(&config->tls_password, nextarg); cleanarg(clearthis); break; case 'm': /* TLS authentication type */ if(curlinfo->features & CURL_VERSION_TLSAUTH_SRP) { GetStr(&config->tls_authtype, nextarg); if(!curl_strequal(config->tls_authtype, "SRP")) return PARAM_LIBCURL_DOESNT_SUPPORT; /* only support TLS-SRP */ } |
︙ | ︙ | |||
1744 1745 1746 1747 1748 1749 1750 1751 | break; case 't': /* --tcp-fastopen */ config->tcp_fastopen = TRUE; break; case 'u': /* TLS username for proxy */ if(!(curlinfo->features & CURL_VERSION_TLSAUTH_SRP)) { | > < < > < < > | | 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 | break; case 't': /* --tcp-fastopen */ config->tcp_fastopen = TRUE; break; case 'u': /* TLS username for proxy */ cleanarg(clearthis); if(!(curlinfo->features & CURL_VERSION_TLSAUTH_SRP)) { return PARAM_LIBCURL_DOESNT_SUPPORT; } GetStr(&config->proxy_tls_username, nextarg); break; case 'v': /* TLS password for proxy */ cleanarg(clearthis); if(!(curlinfo->features & CURL_VERSION_TLSAUTH_SRP)) { return PARAM_LIBCURL_DOESNT_SUPPORT; } GetStr(&config->proxy_tls_password, nextarg); break; case 'w': /* TLS authentication type for proxy */ if(curlinfo->features & CURL_VERSION_TLSAUTH_SRP) { GetStr(&config->proxy_tls_authtype, nextarg); if(!curl_strequal(config->proxy_tls_authtype, "SRP")) return PARAM_LIBCURL_DOESNT_SUPPORT; /* only support TLS-SRP */ } else return PARAM_LIBCURL_DOESNT_SUPPORT; break; case 'x': /* certificate file for proxy */ cleanarg(clearthis); GetFileAndPassword(nextarg, &config->proxy_cert, &config->proxy_key_passwd); break; case 'y': /* cert file type for proxy */ GetStr(&config->proxy_cert_type, nextarg); break; case 'z': /* private key file for proxy */ GetStr(&config->proxy_key, nextarg); break; case '0': /* private key file type for proxy */ GetStr(&config->proxy_key_type, nextarg); break; case '1': /* private key passphrase for proxy */ GetStr(&config->proxy_key_passwd, nextarg); cleanarg(clearthis); break; case '2': /* ciphers for proxy */ GetStr(&config->proxy_cipher_list, nextarg); break; case '3': /* CRL file for proxy */ |
︙ | ︙ | |||
2238 2239 2240 2241 2242 2243 2244 | GetStr(&url->infile, nextarg); } } break; case 'u': /* user:password */ GetStr(&config->userpwd, nextarg); | | | | 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 | GetStr(&url->infile, nextarg); } } break; case 'u': /* user:password */ GetStr(&config->userpwd, nextarg); cleanarg(clearthis); break; case 'U': /* Proxy user:password */ GetStr(&config->proxyuserpwd, nextarg); cleanarg(clearthis); break; case 'v': if(toggle) { /* the '%' thing here will cause the trace get sent to stderr */ Curl_safefree(global->trace_dump); global->trace_dump = strdup("%"); if(!global->trace_dump) |
︙ | ︙ | |||
2416 2417 2418 2419 2420 2421 2422 | bool passarg; if(!strcmp("--", orig_opt)) /* This indicates the end of the flags and thus enables the following (URL) argument to start with -. */ stillflags = FALSE; else { | | > | | > > | > > | > | 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 | bool passarg; if(!strcmp("--", orig_opt)) /* This indicates the end of the flags and thus enables the following (URL) argument to start with -. */ stillflags = FALSE; else { char *nextarg = NULL; if(i < (argc - 1)) { nextarg = curlx_convert_tchar_to_UTF8(argv[i + 1]); if(!nextarg) { curlx_unicodefree(orig_opt); return PARAM_NO_MEM; } } result = getparameter(orig_opt, nextarg, &passarg, global, config); curlx_unicodefree(nextarg); config = global->last; if(result == PARAM_NEXT_OPERATION) { /* Reset result as PARAM_NEXT_OPERATION is only used here and not returned from this function */ result = PARAM_OK; |
︙ | ︙ | |||
2458 2459 2460 2461 2462 2463 2464 | i++; /* we're supposed to skip this */ } } else { bool used; /* Just add the URL please */ | | < | 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 | i++; /* we're supposed to skip this */ } } else { bool used; /* Just add the URL please */ result = getparameter("--url", orig_opt, &used, global, config); } if(!result) curlx_unicodefree(orig_opt); } if(!result && config->content_disposition) { |
︙ | ︙ |
Changes to jni/curl/src/tool_getparam.h.
︙ | ︙ | |||
50 51 52 53 54 55 56 | PARAM_READ_ERROR, PARAM_LAST } ParameterError; struct GlobalConfig; struct OperationConfig; | | > | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | PARAM_READ_ERROR, PARAM_LAST } ParameterError; struct GlobalConfig; struct OperationConfig; ParameterError getparameter(const char *flag, char *nextarg, bool *usedarg, struct GlobalConfig *global, struct OperationConfig *operation); #ifdef UNITTESTS void parse_cert_parameter(const char *cert_parameter, char **certname, char **passphrase); |
︙ | ︙ |
Changes to jni/curl/src/tool_hugehelp.c.
more than 10,000 changes
Changes to jni/curl/src/tool_listhelp.c.
︙ | ︙ | |||
193 194 195 196 197 198 199 | "Enable TLS False Start", CURLHELP_TLS}, {"-F, --form <name=content>", "Specify multipart MIME data", CURLHELP_HTTP | CURLHELP_UPLOAD}, {" --form-escape", "Escape multipart form field/file names using backslash", | | | 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 | "Enable TLS False Start", CURLHELP_TLS}, {"-F, --form <name=content>", "Specify multipart MIME data", CURLHELP_HTTP | CURLHELP_UPLOAD}, {" --form-escape", "Escape multipart form field/file names using backslash", CURLHELP_HTTP | CURLHELP_UPLOAD}, {" --form-string <name=string>", "Specify multipart MIME data", CURLHELP_HTTP | CURLHELP_UPLOAD}, {" --ftp-account <data>", "Account data string", CURLHELP_FTP | CURLHELP_AUTH}, {" --ftp-alternative-to-user <command>", |
︙ | ︙ | |||
589 590 591 592 593 594 595 | "Specify request method to use", CURLHELP_CONNECTION}, {" --request-target <path>", "Specify the target for this request", CURLHELP_HTTP}, {" --resolve <[+]host:port:addr[,addr]...>", "Resolve the host+port to this address", | | | 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 | "Specify request method to use", CURLHELP_CONNECTION}, {" --request-target <path>", "Specify the target for this request", CURLHELP_HTTP}, {" --resolve <[+]host:port:addr[,addr]...>", "Resolve the host+port to this address", CURLHELP_CONNECTION | CURLHELP_DNS}, {" --retry <num>", "Retry request if transient problems occur", CURLHELP_CURL}, {" --retry-all-errors", "Retry all errors (use with --retry)", CURLHELP_CURL}, {" --retry-connrefused", |
︙ | ︙ |
Changes to jni/curl/src/tool_operate.c.
︙ | ︙ | |||
323 324 325 326 327 328 329 330 331 332 333 334 335 336 | my_setopt(per->curl, CURLOPT_INFILESIZE_LARGE, uploadfilesize); } per->input.fd = per->infd; } return result; } /* * Call this after a transfer has completed. */ static CURLcode post_per_transfer(struct GlobalConfig *global, struct per_transfer *per, CURLcode result, bool *retryp, | > > > > > > > > > > > > > > > > | 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 | my_setopt(per->curl, CURLOPT_INFILESIZE_LARGE, uploadfilesize); } per->input.fd = per->infd; } return result; } #ifdef __AMIGA__ static void AmigaSetComment(struct per_transfer *per, CURLcode result) { struct OutStruct *outs = &per->outs; if(!result && outs->s_isreg && outs->filename) { /* Set the url (up to 80 chars) as comment for the file */ if(strlen(per->this_url) > 78) per->this_url[79] = '\0'; SetComment(outs->filename, per->this_url); } } #else #define AmigaSetComment(x,y) Curl_nop_stmt #endif /* * Call this after a transfer has completed. */ static CURLcode post_per_transfer(struct GlobalConfig *global, struct per_transfer *per, CURLcode result, bool *retryp, |
︙ | ︙ | |||
598 599 600 601 602 603 604 605 606 607 608 609 610 611 | fprintf(global->errors, "curl: (%d) Failed writing body\n", result); } if(result && config->rm_partial) { notef(global, "Removing output file: %s\n", outs->filename); unlink(outs->filename); } } /* 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; curl_easy_getinfo(curl, CURLINFO_FILETIME_T, &filetime); setfiletime(filetime, outs->filename, global); | > > | 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 | fprintf(global->errors, "curl: (%d) Failed writing body\n", result); } if(result && config->rm_partial) { notef(global, "Removing output file: %s\n", outs->filename); unlink(outs->filename); } } AmigaSetComment(per, result); /* 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; curl_easy_getinfo(curl, CURLINFO_FILETIME_T, &filetime); setfiletime(filetime, outs->filename, global); |
︙ | ︙ | |||
1123 1124 1125 1126 1127 1128 1129 | break; } } } /* * If the user has also selected --anyauth or --proxy-anyauth | | | 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 | break; } } } /* * If the user has also selected --anyauth or --proxy-anyauth * we should warn them. */ if(config->proxyanyauth || (authbits>1)) { warnf(global, "Using --anyauth or --proxy-anyauth with upload from stdin" " involves a big risk of it not working. Use a temporary" " file or a fixed auth type instead!\n"); } |
︙ | ︙ | |||
1751 1752 1753 1754 1755 1756 1757 | my_setopt_slist(curl, CURLOPT_PREQUOTE, config->prequote); if(config->cookies) { struct curlx_dynbuf cookies; struct curl_slist *cl; /* The maximum size needs to match MAX_NAME in cookie.h */ | > | | > > > > | 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 | my_setopt_slist(curl, CURLOPT_PREQUOTE, config->prequote); if(config->cookies) { struct curlx_dynbuf cookies; struct curl_slist *cl; /* The maximum size needs to match MAX_NAME in cookie.h */ #define MAX_COOKIE_LINE 4096 curlx_dyn_init(&cookies, MAX_COOKIE_LINE); for(cl = config->cookies; cl; cl = cl->next) { if(cl == config->cookies) result = curlx_dyn_addf(&cookies, "%s", cl->data); else result = curlx_dyn_addf(&cookies, ";%s", cl->data); if(result) { warnf(global, "skipped provided cookie, the cookie header " "would go over %u bytes\n", MAX_COOKIE_LINE); break; } } my_setopt_str(curl, CURLOPT_COOKIE, curlx_dyn_ptr(&cookies)); curlx_dyn_free(&cookies); } if(config->cookiefiles) { |
︙ | ︙ | |||
1980 1981 1982 1983 1984 1985 1986 | if(config->ftp_pret) my_setopt(curl, CURLOPT_FTP_USE_PRET, 1L); if(config->create_file_mode) my_setopt(curl, CURLOPT_NEW_FILE_PERMS, config->create_file_mode); if(config->proto_present) | | | > | 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 | if(config->ftp_pret) my_setopt(curl, CURLOPT_FTP_USE_PRET, 1L); if(config->create_file_mode) my_setopt(curl, CURLOPT_NEW_FILE_PERMS, config->create_file_mode); if(config->proto_present) my_setopt_str(curl, CURLOPT_PROTOCOLS_STR, config->proto_str); if(config->proto_redir_present) my_setopt_str(curl, CURLOPT_REDIR_PROTOCOLS_STR, config->proto_redir_str); if(config->content_disposition && (urlnode->flags & GETOUT_USEREMOTE)) hdrcbdata->honor_cd_filename = TRUE; else hdrcbdata->honor_cd_filename = FALSE; |
︙ | ︙ | |||
2461 2462 2463 2464 2465 2466 2467 | /* With the addition of CAINFO support for Schannel, this search could find * a certificate bundle that was previously ignored. To maintain backward * compatibility, only perform this search if not using Schannel. */ result = curl_easy_getinfo(curltls, CURLINFO_TLS_SSL_PTR, &tls_backend_info); | | > > > > > | 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 | /* With the addition of CAINFO support for Schannel, this search could find * a certificate bundle that was previously ignored. To maintain backward * compatibility, only perform this search if not using Schannel. */ result = curl_easy_getinfo(curltls, CURLINFO_TLS_SSL_PTR, &tls_backend_info); if(result) { curl_easy_cleanup(curltls); return result; } /* Set the CA cert locations specified in the environment. For Windows if * no environment-specified filename is found then check for CA bundle * default filename curl-ca-bundle.crt in the user's PATH. * * If Schannel is the selected SSL backend then these locations are * ignored. We allow setting CA location for schannel only when explicitly * specified by the user via CURLOPT_CAINFO / --cacert. */ if(tls_backend_info->backend != CURLSSLBACKEND_SCHANNEL) { char *env; env = curlx_getenv("CURL_CA_BUNDLE"); if(env) { config->cacert = strdup(env); if(!config->cacert) { curl_free(env); curl_easy_cleanup(curltls); errorf(global, "out of memory\n"); return CURLE_OUT_OF_MEMORY; } } else { env = curlx_getenv("SSL_CERT_DIR"); if(env) { config->capath = strdup(env); if(!config->capath) { curl_free(env); curl_easy_cleanup(curltls); helpf(global->errors, "out of memory\n"); return CURLE_OUT_OF_MEMORY; } capath_from_env = true; } else { env = curlx_getenv("SSL_CERT_FILE"); if(env) { config->cacert = strdup(env); if(!config->cacert) { curl_free(env); curl_easy_cleanup(curltls); errorf(global, "out of memory\n"); return CURLE_OUT_OF_MEMORY; } } } } |
︙ | ︙ |
Changes to jni/curl/src/tool_paramhlp.c.
︙ | ︙ | |||
112 113 114 115 116 117 118 | else { *size = 0; *bufp = NULL; } return PARAM_OK; } | < < < < < < < < < < < < < < < | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | else { *size = 0; *bufp = NULL; } return PARAM_OK; } /* * Parse the string and write the long in the given address. Return PARAM_OK * on success, otherwise a parameter specific error enum. * * Since this function gets called with the 'nextarg' pointer from within the * getparameter a lot, we must check it for NULL before accessing the str * data. |
︙ | ︙ | |||
271 272 273 274 275 276 277 | return PARAM_NEGATIVE_NUMERIC; *valp = value; return PARAM_OK; } /* | | | | > > > > > | | > > | | < < | | | | | > > > > > > > > > > > > > | | | 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 | return PARAM_NEGATIVE_NUMERIC; *valp = value; return PARAM_OK; } /* * Parse the string and provide an allocated libcurl compatible protocol * string output. Return non-zero on failure, zero on success. * * The string is a list of protocols * * Since this function gets called with the 'nextarg' pointer from within the * getparameter a lot, we must check it for NULL before accessing the str * data. */ ParameterError proto2num(struct OperationConfig *config, unsigned int val, char **ostr, const char *str) { char *buffer; const char *sep = ","; char *token; char obuf[256] = ""; size_t olen = sizeof(obuf); char *optr; struct sprotos const *pp; static struct sprotos { const char *name; unsigned int bit; } const protos[] = { { "all", (unsigned int)CURLPROTO_ALL }, { "http", CURLPROTO_HTTP }, { "https", CURLPROTO_HTTPS }, { "ftp", CURLPROTO_FTP }, { "ftps", CURLPROTO_FTPS }, { "scp", CURLPROTO_SCP }, { "sftp", CURLPROTO_SFTP }, { "telnet", CURLPROTO_TELNET }, { "ldap", CURLPROTO_LDAP }, { "ldaps", CURLPROTO_LDAPS }, { "mqtt", CURLPROTO_MQTT }, { "dict", CURLPROTO_DICT }, { "file", CURLPROTO_FILE }, { "tftp", CURLPROTO_TFTP }, { "imap", CURLPROTO_IMAP }, { "imaps", CURLPROTO_IMAPS }, { "pop3", CURLPROTO_POP3 }, { "pop3s", CURLPROTO_POP3S }, { "smtp", CURLPROTO_SMTP }, { "smtps", CURLPROTO_SMTPS }, { "rtsp", CURLPROTO_RTSP }, { "gopher", CURLPROTO_GOPHER }, { "gophers", CURLPROTO_GOPHERS }, { "smb", CURLPROTO_SMB }, { "smbs", CURLPROTO_SMBS }, { NULL, 0 } }; if(!str) return PARAM_OPTION_AMBIGUOUS; buffer = strdup(str); /* because strtok corrupts it */ if(!buffer) return PARAM_NO_MEM; /* Allow strtok() here since this isn't used threaded */ /* !checksrc! disable BANNEDFUNC 2 */ for(token = strtok(buffer, sep); token; token = strtok(NULL, sep)) { enum e_action { allow, deny, set } action = allow; /* Process token modifiers */ while(!ISALNUM(*token)) { /* may be NULL if token is all modifiers */ switch (*token++) { case '=': action = set; break; case '-': action = deny; break; case '+': action = allow; break; default: /* Includes case of terminating NULL */ Curl_safefree(buffer); return PARAM_BAD_USE; } } for(pp = protos; pp->name; pp++) { if(curl_strequal(token, pp->name)) { switch(action) { case deny: val &= ~(pp->bit); break; case allow: val |= pp->bit; break; case set: val = pp->bit; break; } break; } } if(!(pp->name)) { /* unknown protocol */ /* If they have specified only this protocol, we say treat it as if no protocols are allowed */ if(action == set) val = 0; warnf(config->global, "unrecognized protocol '%s'\n", token); } } Curl_safefree(buffer); optr = obuf; for(pp = &protos[1]; pp->name; pp++) { if(val & pp->bit) { size_t n = msnprintf(optr, olen, "%s%s", olen != sizeof(obuf) ? "," : "", pp->name); olen -= n; optr += n; } } *ostr = strdup(obuf); return *ostr ? PARAM_OK : PARAM_NO_MEM; } /** * Check if the given string is a protocol supported by libcurl * * @param str the protocol name * @return PARAM_OK protocol supported * @return PARAM_LIBCURL_UNSUPPORTED_PROTOCOL protocol not supported * @return PARAM_REQUIRES_PARAMETER missing parameter */ ParameterError check_protocol(const char *str) { const char * const *pp; const curl_version_info_data *curlinfo = curl_version_info(CURLVERSION_NOW); if(!str) return PARAM_REQUIRES_PARAMETER; for(pp = curlinfo->protocols; *pp; pp++) { if(curl_strequal(*pp, str)) |
︙ | ︙ |
Changes to jni/curl/src/tool_paramhlp.h.
︙ | ︙ | |||
27 28 29 30 31 32 33 | struct getout *new_getout(struct OperationConfig *config); ParameterError file2string(char **bufp, FILE *file); ParameterError file2memory(char **bufp, size_t *size, FILE *file); | < < | > > | | 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 | struct getout *new_getout(struct OperationConfig *config); ParameterError file2string(char **bufp, FILE *file); ParameterError file2memory(char **bufp, size_t *size, FILE *file); ParameterError str2num(long *val, const char *str); ParameterError str2unum(long *val, const char *str); ParameterError oct2nummax(long *val, const char *str, long max); ParameterError str2unummax(long *val, const char *str, long max); ParameterError str2udouble(double *val, const char *str, long max); ParameterError proto2num(struct OperationConfig *config, unsigned int val, char **obuf, const char *str); ParameterError check_protocol(const char *str); ParameterError str2offset(curl_off_t *val, const char *str); CURLcode get_args(struct OperationConfig *config, const size_t i); ParameterError add2list(struct curl_slist **list, const char *ptr); |
︙ | ︙ |
Changes to jni/curl/src/tool_progress.c.
︙ | ︙ | |||
264 265 266 267 268 269 270 271 272 273 274 275 276 277 | } else { /* since the beginning */ deltams = tvdiff(now, *start); dl = all_dlnow; ul = all_ulnow; } dls = (curl_off_t)((double)dl / ((double)deltams/1000.0)); uls = (curl_off_t)((double)ul / ((double)deltams/1000.0)); speed = dls > uls ? dls : uls; } if(dlknown && speed) { | > > | 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 | } else { /* since the beginning */ deltams = tvdiff(now, *start); dl = all_dlnow; ul = all_ulnow; } if(!deltams) /* no division by zero please */ deltams++; dls = (curl_off_t)((double)dl / ((double)deltams/1000.0)); uls = (curl_off_t)((double)ul / ((double)deltams/1000.0)); speed = dls > uls ? dls : uls; } if(dlknown && speed) { |
︙ | ︙ |
Changes to jni/curl/src/tool_version.h.
︙ | ︙ | |||
23 24 25 26 27 28 29 | * SPDX-License-Identifier: curl * ***************************************************************************/ #include <curl/curlver.h> #define CURL_NAME "curl" #define CURL_COPYRIGHT LIBCURL_COPYRIGHT | | | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | * SPDX-License-Identifier: curl * ***************************************************************************/ #include <curl/curlver.h> #define CURL_NAME "curl" #define CURL_COPYRIGHT LIBCURL_COPYRIGHT #define CURL_VERSION "7.85.0" #define CURL_VERSION_MAJOR LIBCURL_VERSION_MAJOR #define CURL_VERSION_MINOR LIBCURL_VERSION_MINOR #define CURL_VERSION_PATCH LIBCURL_VERSION_PATCH #define CURL_ID CURL_NAME " " CURL_VERSION " (" OS ") " #endif /* HEADER_CURL_TOOL_VERSION_H */ |
Changes to jni/curl/src/tool_writeout.c.
︙ | ︙ | |||
69 70 71 72 73 74 75 | Yes: "http_version": "1.1" No: "http_version": 1.1 Variable names should be in alphabetical order. */ static const struct writeoutvar variables[] = { {"content_type", VAR_CONTENT_TYPE, CURLINFO_CONTENT_TYPE, writeString}, | | | | | | | | | | | | | | 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 | Yes: "http_version": "1.1" No: "http_version": 1.1 Variable names should be in alphabetical order. */ static const struct writeoutvar variables[] = { {"content_type", VAR_CONTENT_TYPE, CURLINFO_CONTENT_TYPE, writeString}, {"errormsg", VAR_ERRORMSG, CURLINFO_NONE, writeString}, {"exitcode", VAR_EXITCODE, CURLINFO_NONE, writeLong}, {"filename_effective", VAR_EFFECTIVE_FILENAME, CURLINFO_NONE, writeString}, {"ftp_entry_path", VAR_FTP_ENTRY_PATH, CURLINFO_FTP_ENTRY_PATH, writeString}, {"header_json", VAR_HEADER_JSON, CURLINFO_NONE, NULL}, {"http_code", VAR_HTTP_CODE, CURLINFO_RESPONSE_CODE, writeLong}, {"http_connect", VAR_HTTP_CODE_PROXY, CURLINFO_HTTP_CONNECTCODE, writeLong}, {"http_version", VAR_HTTP_VERSION, CURLINFO_HTTP_VERSION, writeString}, {"json", VAR_JSON, CURLINFO_NONE, NULL}, {"local_ip", VAR_LOCAL_IP, CURLINFO_LOCAL_IP, writeString}, {"local_port", VAR_LOCAL_PORT, CURLINFO_LOCAL_PORT, writeLong}, {"method", VAR_EFFECTIVE_METHOD, CURLINFO_EFFECTIVE_METHOD, writeString}, {"num_connects", VAR_NUM_CONNECTS, CURLINFO_NUM_CONNECTS, writeLong}, {"num_headers", VAR_NUM_HEADERS, CURLINFO_NONE, writeLong}, {"num_redirects", VAR_REDIRECT_COUNT, CURLINFO_REDIRECT_COUNT, writeLong}, {"onerror", VAR_ONERROR, CURLINFO_NONE, NULL}, {"proxy_ssl_verify_result", VAR_PROXY_SSL_VERIFY_RESULT, CURLINFO_PROXY_SSL_VERIFYRESULT, writeLong}, {"redirect_url", VAR_REDIRECT_URL, CURLINFO_REDIRECT_URL, writeString}, {"referer", VAR_REFERER, CURLINFO_REFERER, writeString}, {"remote_ip", VAR_PRIMARY_IP, CURLINFO_PRIMARY_IP, writeString}, {"remote_port", VAR_PRIMARY_PORT, CURLINFO_PRIMARY_PORT, writeLong}, {"response_code", VAR_HTTP_CODE, CURLINFO_RESPONSE_CODE, writeLong}, {"scheme", VAR_SCHEME, CURLINFO_SCHEME, writeString}, {"size_download", VAR_SIZE_DOWNLOAD, CURLINFO_SIZE_DOWNLOAD_T, writeOffset}, {"size_header", VAR_HEADER_SIZE, CURLINFO_HEADER_SIZE, writeLong}, {"size_request", VAR_REQUEST_SIZE, CURLINFO_REQUEST_SIZE, writeLong}, {"size_upload", VAR_SIZE_UPLOAD, CURLINFO_SIZE_UPLOAD_T, writeOffset}, {"speed_download", VAR_SPEED_DOWNLOAD, CURLINFO_SPEED_DOWNLOAD_T, writeOffset}, {"speed_upload", VAR_SPEED_UPLOAD, CURLINFO_SPEED_UPLOAD_T, writeOffset}, {"ssl_verify_result", VAR_SSL_VERIFY_RESULT, CURLINFO_SSL_VERIFYRESULT, writeLong}, {"stderr", VAR_STDERR, CURLINFO_NONE, NULL}, {"stdout", VAR_STDOUT, CURLINFO_NONE, NULL}, {"time_appconnect", VAR_APPCONNECT_TIME, CURLINFO_APPCONNECT_TIME_T, writeTime}, {"time_connect", VAR_CONNECT_TIME, CURLINFO_CONNECT_TIME_T, writeTime}, {"time_namelookup", VAR_NAMELOOKUP_TIME, CURLINFO_NAMELOOKUP_TIME_T, writeTime}, {"time_pretransfer", VAR_PRETRANSFER_TIME, CURLINFO_PRETRANSFER_TIME_T, writeTime}, {"time_redirect", VAR_REDIRECT_TIME, CURLINFO_REDIRECT_TIME_T, writeTime}, {"time_starttransfer", VAR_STARTTRANSFER_TIME, CURLINFO_STARTTRANSFER_TIME_T, writeTime}, {"time_total", VAR_TOTAL_TIME, CURLINFO_TOTAL_TIME_T, writeTime}, {"url", VAR_INPUT_URL, CURLINFO_NONE, writeString}, {"url_effective", VAR_EFFECTIVE_URL, CURLINFO_EFFECTIVE_URL, writeString}, {"urlnum", VAR_URLNUM, CURLINFO_NONE, writeLong}, {NULL, VAR_NONE, CURLINFO_NONE, NULL} }; static int writeTime(FILE *stream, const struct writeoutvar *wovar, struct per_transfer *per, CURLcode per_result, bool use_json) { bool valid = false; |
︙ | ︙ | |||
334 335 336 337 338 339 340 341 | /* an escaped %-letter */ fputc('%', stream); ptr += 2; } else { /* this is meant as a variable to output */ char *end; if('{' == ptr[1]) { | > < | < > | | 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 | /* an escaped %-letter */ fputc('%', stream); ptr += 2; } else { /* this is meant as a variable to output */ char *end; size_t vlen; if('{' == ptr[1]) { int i; bool match = FALSE; end = strchr(ptr, '}'); ptr += 2; /* pass the % and the { */ if(!end) { fputs("%{", stream); continue; } vlen = end - ptr; for(i = 0; variables[i].name; i++) { if((strlen(variables[i].name) == vlen) && curl_strnequal(ptr, variables[i].name, vlen)) { match = TRUE; switch(variables[i].id) { case VAR_ONERROR: if(per_result == CURLE_OK) /* this isn't error so skip the rest */ done = TRUE; break; |
︙ | ︙ | |||
376 377 378 379 380 381 382 | per, per_result, false); break; } break; } } if(!match) { | | > < > > > > | | | | > | | 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 | per, per_result, false); break; } break; } } if(!match) { fprintf(stderr, "curl: unknown --write-out variable: '%.*s'\n", (int)vlen, ptr); } ptr = end + 1; /* pass the end */ } else if(!strncmp("header{", &ptr[1], 7)) { ptr += 8; end = strchr(ptr, '}'); if(end) { char hname[256]; /* holds the longest header field name */ struct curl_header *header; vlen = end - ptr; if(vlen < sizeof(hname)) { memcpy(hname, ptr, vlen); hname[vlen] = 0; if(CURLHE_OK == curl_easy_header(per->curl, hname, 0, CURLH_HEADER, -1, &header)) fputs(header->value, stream); } ptr = end + 1; } else fputs("%header{", stream); } else { /* illegal syntax, then just output the characters that are used */ fputc('%', stream); |
︙ | ︙ |
Changes to jni/curl/tests/Makefile.in.
︙ | ︙ | |||
109 110 111 112 113 114 115 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = tests ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | | < | 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = tests ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \ $(top_srcdir)/m4/curl-bearssl.m4 \ $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-gnutls.m4 \ $(top_srcdir)/m4/curl-mbedtls.m4 $(top_srcdir)/m4/curl-nss.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ |
︙ | ︙ | |||
365 366 367 368 369 370 371 372 373 374 375 376 377 378 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ | > | 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ |
︙ | ︙ |
Changes to jni/curl/tests/certs/Makefile.in.
︙ | ︙ | |||
85 86 87 88 89 90 91 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = tests/certs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | | < | 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = tests/certs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \ $(top_srcdir)/m4/curl-bearssl.m4 \ $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-gnutls.m4 \ $(top_srcdir)/m4/curl-mbedtls.m4 $(top_srcdir)/m4/curl-nss.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ |
︙ | ︙ | |||
342 343 344 345 346 347 348 349 350 351 352 353 354 355 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ | > | 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ |
︙ | ︙ |
Changes to jni/curl/tests/certs/scripts/Makefile.in.
︙ | ︙ | |||
85 86 87 88 89 90 91 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = tests/certs/scripts ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | | < | 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = tests/certs/scripts ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \ $(top_srcdir)/m4/curl-bearssl.m4 \ $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-gnutls.m4 \ $(top_srcdir)/m4/curl-mbedtls.m4 $(top_srcdir)/m4/curl-nss.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ |
︙ | ︙ | |||
284 285 286 287 288 289 290 291 292 293 294 295 296 297 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ | > | 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ |
︙ | ︙ |
Changes to jni/curl/tests/data/CMakeLists.txt.
︙ | ︙ | |||
20 21 22 23 24 25 26 | # # SPDX-License-Identifier: curl # ########################################################################### # Loads 'TESTCASES' from for the 'make show' target in runtests.pl transform_makefile_inc("Makefile.inc" "${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake") include("${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake") | < < < < | 20 21 22 23 24 25 26 | # # SPDX-License-Identifier: curl # ########################################################################### # Loads 'TESTCASES' from for the 'make show' target in runtests.pl transform_makefile_inc("Makefile.inc" "${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake") include("${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake") |
Changes to jni/curl/tests/data/DISABLED.
︙ | ︙ | |||
65 66 67 68 69 70 71 | # listed below %if hyper 265 266 565 579 587 | < < < < < < | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | # listed below %if hyper 265 266 565 579 587 # 1021 re-added here due to flakiness 1021 1117 1417 1533 1540 1591 1941 1942 1943 %endif 2043 # Tests that are disabled here for rustls are SUPPOSED to work %if rustls |
︙ | ︙ |
Changes to jni/curl/tests/data/Makefile.am.
︙ | ︙ | |||
25 26 27 28 29 30 31 | install: test: # TESTCASES are taken from Makefile.inc include Makefile.inc EXTRA_DIST = $(TESTCASES) DISABLED CMakeLists.txt | < < < < < < < < < < < < < < < < < < | 25 26 27 28 29 30 31 | install: test: # TESTCASES are taken from Makefile.inc include Makefile.inc EXTRA_DIST = $(TESTCASES) DISABLED CMakeLists.txt |
Changes to jni/curl/tests/data/Makefile.in.
︙ | ︙ | |||
109 110 111 112 113 114 115 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = tests/data ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | | < | 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = tests/data ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \ $(top_srcdir)/m4/curl-bearssl.m4 \ $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-gnutls.m4 \ $(top_srcdir)/m4/curl-mbedtls.m4 $(top_srcdir)/m4/curl-nss.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ |
︙ | ︙ | |||
308 309 310 311 312 313 314 315 316 317 318 319 320 321 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ | > | 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ |
︙ | ︙ | |||
422 423 424 425 426 427 428 | test316 test317 test318 test319 test320 test321 test322 test323 test324 \ test325 test326 test327 test328 test329 test330 test331 test332 test333 \ test334 test335 test336 test337 test338 test339 test340 test341 test342 \ test343 test344 test345 test346 test347 test348 test349 test350 test351 \ test352 test353 test354 test355 test356 test357 test358 test359 test360 \ test361 test362 test363 test364 test365 test366 test367 test368 test369 \ test370 test371 test372 test373 test374 test375 test376 test378 test379 \ | | < < | | | 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 | test316 test317 test318 test319 test320 test321 test322 test323 test324 \ test325 test326 test327 test328 test329 test330 test331 test332 test333 \ test334 test335 test336 test337 test338 test339 test340 test341 test342 \ test343 test344 test345 test346 test347 test348 test349 test350 test351 \ test352 test353 test354 test355 test356 test357 test358 test359 test360 \ test361 test362 test363 test364 test365 test366 test367 test368 test369 \ test370 test371 test372 test373 test374 test375 test376 test378 test379 \ test380 test381 test383 test384 test385 test386 test387 test388 test389 \ test390 test391 test392 test393 test394 test395 test396 test397 test398 \ test399 test400 test401 test402 test403 test404 test405 test406 test407 \ test408 test409 test410 test411 test412 test413 test414 \ \ test430 test431 test432 test433 test434 test435 test436 \ \ test440 test441 test442 test443 test444 \ \ test490 test491 test492 test493 test494 \ \ |
︙ | ︙ | |||
455 456 457 458 459 460 461 | 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 test645 test646 test647 test648 test649 test650 test651 \ test652 test653 test654 test655 test656 test658 test659 test660 test661 \ test662 test663 test664 test665 test666 test667 test668 test669 \ test670 test671 test672 test673 test674 test675 test676 test677 test678 \ | | | 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 | 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 test645 test646 test647 test648 test649 test650 test651 \ test652 test653 test654 test655 test656 test658 test659 test660 test661 \ test662 test663 test664 test665 test666 test667 test668 test669 \ test670 test671 test672 test673 test674 test675 test676 test677 test678 \ test679 test680 test681 test682 test683 test684 test685 \ \ test700 test701 test702 test703 test704 test705 test706 test707 test708 \ test709 test710 test711 test712 test713 test714 test715 test716 test717 \ test718 test719 test720 test721 \ \ test800 test801 test802 test803 test804 test805 test806 test807 test808 \ test809 test810 test811 test812 test813 test814 test815 test816 test817 \ |
︙ | ︙ | |||
559 560 561 562 563 564 565 | test1532 test1533 test1534 test1535 test1536 test1537 test1538 test1539 \ test1540 test1542 test1543 \ \ test1550 test1551 test1552 test1553 test1554 test1555 test1556 test1557 \ test1558 test1559 test1560 test1561 test1562 test1563 test1564 test1565 \ test1566 test1567 test1568 test1569 test1570 \ \ | | | 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 | test1532 test1533 test1534 test1535 test1536 test1537 test1538 test1539 \ test1540 test1542 test1543 \ \ test1550 test1551 test1552 test1553 test1554 test1555 test1556 test1557 \ test1558 test1559 test1560 test1561 test1562 test1563 test1564 test1565 \ test1566 test1567 test1568 test1569 test1570 \ \ test1590 test1591 test1592 test1593 test1594 test1595 test1596 test1597 \ \ test1600 test1601 test1602 test1603 test1604 test1605 test1606 test1607 \ test1608 test1609 test1610 test1611 test1612 test1613 \ \ test1620 test1621 \ \ test1630 test1631 test1632 test1633 test1634 test1635 \ |
︙ | ︙ | |||
831 832 833 834 835 836 837 | # SPDX-License-Identifier: curl # ########################################################################### iall: install: test: | < < < < < < < < < < < < < < < < < < | 829 830 831 832 833 834 835 836 837 838 | # SPDX-License-Identifier: curl # ########################################################################### iall: install: test: # 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/data/Makefile.inc.
︙ | ︙ | |||
60 61 62 63 64 65 66 | test316 test317 test318 test319 test320 test321 test322 test323 test324 \ test325 test326 test327 test328 test329 test330 test331 test332 test333 \ test334 test335 test336 test337 test338 test339 test340 test341 test342 \ test343 test344 test345 test346 test347 test348 test349 test350 test351 \ test352 test353 test354 test355 test356 test357 test358 test359 test360 \ test361 test362 test363 test364 test365 test366 test367 test368 test369 \ test370 test371 test372 test373 test374 test375 test376 test378 test379 \ | | < < | | | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | test316 test317 test318 test319 test320 test321 test322 test323 test324 \ test325 test326 test327 test328 test329 test330 test331 test332 test333 \ test334 test335 test336 test337 test338 test339 test340 test341 test342 \ test343 test344 test345 test346 test347 test348 test349 test350 test351 \ test352 test353 test354 test355 test356 test357 test358 test359 test360 \ test361 test362 test363 test364 test365 test366 test367 test368 test369 \ test370 test371 test372 test373 test374 test375 test376 test378 test379 \ test380 test381 test383 test384 test385 test386 test387 test388 test389 \ test390 test391 test392 test393 test394 test395 test396 test397 test398 \ test399 test400 test401 test402 test403 test404 test405 test406 test407 \ test408 test409 test410 test411 test412 test413 test414 \ \ test430 test431 test432 test433 test434 test435 test436 \ \ test440 test441 test442 test443 test444 \ \ test490 test491 test492 test493 test494 \ \ |
︙ | ︙ | |||
93 94 95 96 97 98 99 | 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 test645 test646 test647 test648 test649 test650 test651 \ test652 test653 test654 test655 test656 test658 test659 test660 test661 \ test662 test663 test664 test665 test666 test667 test668 test669 \ test670 test671 test672 test673 test674 test675 test676 test677 test678 \ | | | 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | 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 test645 test646 test647 test648 test649 test650 test651 \ test652 test653 test654 test655 test656 test658 test659 test660 test661 \ test662 test663 test664 test665 test666 test667 test668 test669 \ test670 test671 test672 test673 test674 test675 test676 test677 test678 \ test679 test680 test681 test682 test683 test684 test685 \ \ test700 test701 test702 test703 test704 test705 test706 test707 test708 \ test709 test710 test711 test712 test713 test714 test715 test716 test717 \ test718 test719 test720 test721 \ \ test800 test801 test802 test803 test804 test805 test806 test807 test808 \ test809 test810 test811 test812 test813 test814 test815 test816 test817 \ |
︙ | ︙ | |||
197 198 199 200 201 202 203 | test1532 test1533 test1534 test1535 test1536 test1537 test1538 test1539 \ test1540 test1542 test1543 \ \ test1550 test1551 test1552 test1553 test1554 test1555 test1556 test1557 \ test1558 test1559 test1560 test1561 test1562 test1563 test1564 test1565 \ test1566 test1567 test1568 test1569 test1570 \ \ | | | 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 | test1532 test1533 test1534 test1535 test1536 test1537 test1538 test1539 \ test1540 test1542 test1543 \ \ test1550 test1551 test1552 test1553 test1554 test1555 test1556 test1557 \ test1558 test1559 test1560 test1561 test1562 test1563 test1564 test1565 \ test1566 test1567 test1568 test1569 test1570 \ \ test1590 test1591 test1592 test1593 test1594 test1595 test1596 test1597 \ \ test1600 test1601 test1602 test1603 test1604 test1605 test1606 test1607 \ test1608 test1609 test1610 test1611 test1612 test1613 \ \ test1620 test1621 \ \ test1630 test1631 test1632 test1633 test1634 test1635 \ |
︙ | ︙ |
Changes to jni/curl/tests/data/test1274.
1 2 3 4 5 6 7 8 9 10 11 12 | <testcase> <info> <keywords> HTTP HTTP GET header line folding </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 | <testcase> <info> <keywords> HTTP HTTP GET header line folding </keywords> </info> # # Server-side <reply> <data nocheck="yes"> HTTP/1.1 200 OK Date: Tue, 09 Nov 2010 14:49:00 GMT Server: test-server/ fake folded Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ETag: "21025-dc7-39462498" |
︙ | ︙ | |||
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | User-Agent: curl/%VERSION Accept: */* </protocol> <file name="log/out%TESTNUMBER"> HTTP/1.1 200 OK Date: Tue, 09 Nov 2010 14:49:00 GMT Server: test-server/ fake folded Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ETag: "21025-dc7-39462498" Content-Length: 6 Connection: close </file> </verify> </testcase> | > > > > > > > > | 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 | User-Agent: curl/%VERSION Accept: */* </protocol> <file name="log/out%TESTNUMBER"> HTTP/1.1 200 OK Date: Tue, 09 Nov 2010 14:49:00 GMT %if hyper Server: test-server/ fake folded %else Server: test-server/ fake folded %endif Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ETag: "21025-dc7-39462498" Content-Length: 6 %if hyper Connection: close %else Connection: close %endif </file> </verify> </testcase> |
Changes to jni/curl/tests/data/test1401.
︙ | ︙ | |||
87 88 89 90 91 92 93 | curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L); curl_easy_setopt(hnd, CURLOPT_COOKIE, "chocolate=chip"); curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L); %if ftp curl_easy_setopt(hnd, CURLOPT_FTP_SKIP_PASV_IP, 1L); %endif curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L); | | < < | 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L); curl_easy_setopt(hnd, CURLOPT_COOKIE, "chocolate=chip"); curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L); %if ftp curl_easy_setopt(hnd, CURLOPT_FTP_SKIP_PASV_IP, 1L); %endif curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L); curl_easy_setopt(hnd, CURLOPT_PROTOCOLS_STR, "http,ftp,file"); /* Here is a list of options the curl code used that cannot get generated as source easily. You may choose to either not use them or implement them yourself. CURLOPT_WRITEDATA set to a objectpointer CURLOPT_WRITEFUNCTION set to a functionpointer |
︙ | ︙ |
jni/curl/tests/data/test1452 became a regular file.
︙ | ︙ |
Changes to jni/curl/tests/data/test1538.
︙ | ︙ | |||
103 104 105 106 107 108 109 | e68: TFTP: File Not Found e69: TFTP: Access Violation e70: Disk full or allocation exceeded e71: TFTP: Illegal operation e72: TFTP: Unknown transfer ID e73: Remote file already exists e74: TFTP: No such user | | | 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | e68: TFTP: File Not Found e69: TFTP: Access Violation e70: Disk full or allocation exceeded e71: TFTP: Illegal operation e72: TFTP: Unknown transfer ID e73: Remote file already exists e74: TFTP: No such user e75: Unknown error e76: Unknown error e77: Problem with the SSL CA cert (path? access rights?) e78: Remote file not found e79: Error in the SSH layer e80: Failed to shut down the SSL connection e81: Socket not ready for send/recv e82: Failed to load CRL file (path? access rights?, format?) |
︙ | ︙ |
Added jni/curl/tests/data/test1597.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | <testcase> <info> <keywords> CURLOPT_PROTOCOLS_STR </keywords> </info> # Server-side <reply> </reply> # Client-side <client> <server> none </server> <name> CURLOPT_PROTOCOLS_STR </name> <tool> lib%TESTNUMBER </tool> <command> - </command> </client> <verify> <stdout> Tested 15 strings </stdout> </verify> </testcase> |
Changes to jni/curl/tests/data/test1700.
︙ | ︙ |
Changes to jni/curl/tests/data/test1701.
︙ | ︙ |
jni/curl/tests/data/test2055 became a regular file.
︙ | ︙ |
Changes to jni/curl/tests/data/test3026.
︙ | ︙ | |||
14 15 16 17 18 19 20 21 | # # Client-side <client> # require the threaded resolver only because it means pthreads might # be used for it <features> threaded-resolver | > < | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | # # Client-side <client> # require the threaded resolver only because it means pthreads might # be used for it <features> threadsafe threaded-resolver </features> <server> none </server> <name> curl_global_init thread-safety </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test31.
︙ | ︙ | |||
18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <data> HTTP/1.1 200 OK Date: Tue, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Content-Length: 4 Content-Type: text/html Funny-head: yesyes %if !hyper Set-Cookie: foobar=name; domain=anything.com; path=/ ; secure Set-Cookie:ismatch=this ; domain=test31.curl; path=/silly/ Set-Cookie: overwrite=this ; domain=test31.curl; path=/overwrite/ Set-Cookie: overwrite=this2 ; domain=test31.curl; path=/overwrite Set-Cookie: sec1value=secure1 ; domain=test31.curl; path=/secure1/ ; secure Set-Cookie: sec2value=secure2 ; domain=test31.curl; path=/secure2/ ; secure= | > | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <data> HTTP/1.1 200 OK Date: Tue, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Content-Length: 4 Content-Type: text/html Funny-head: yesyes Set-Cookie: blankdomain=sure; domain=; path=/ %if !hyper Set-Cookie: foobar=name; domain=anything.com; path=/ ; secure Set-Cookie:ismatch=this ; domain=test31.curl; path=/silly/ Set-Cookie: overwrite=this ; domain=test31.curl; path=/overwrite/ Set-Cookie: overwrite=this2 ; domain=test31.curl; path=/overwrite Set-Cookie: sec1value=secure1 ; domain=test31.curl; path=/secure1/ ; secure Set-Cookie: sec2value=secure2 ; domain=test31.curl; path=/secure2/ ; secure= |
︙ | ︙ | |||
158 159 160 161 162 163 164 165 166 167 | #HttpOnly_.test31.curl TRUE /p4/ FALSE 0 httponly myvalue1 #HttpOnly_.test31.curl TRUE /p4/ FALSE 0 httpo4 value4 #HttpOnly_.test31.curl TRUE /p3/ FALSE 0 httpo3 value3 #HttpOnly_.test31.curl TRUE /p2/ FALSE 0 httpo2 value2 #HttpOnly_.test31.curl TRUE /p1/ FALSE 0 httpo1 value1 .test31.curl TRUE /overwrite FALSE 0 overwrite this2 .test31.curl TRUE /silly/ FALSE 0 ismatch this </file> </verify> </testcase> | > | 159 160 161 162 163 164 165 166 167 168 169 | #HttpOnly_.test31.curl TRUE /p4/ FALSE 0 httponly myvalue1 #HttpOnly_.test31.curl TRUE /p4/ FALSE 0 httpo4 value4 #HttpOnly_.test31.curl TRUE /p3/ FALSE 0 httpo3 value3 #HttpOnly_.test31.curl TRUE /p2/ FALSE 0 httpo2 value2 #HttpOnly_.test31.curl TRUE /p1/ FALSE 0 httpo1 value1 .test31.curl TRUE /overwrite FALSE 0 overwrite this2 .test31.curl TRUE /silly/ FALSE 0 ismatch this test31.curl FALSE / FALSE 0 blankdomain sure </file> </verify> </testcase> |
Changes to jni/curl/tests/data/test358.
︙ | ︙ |
Changes to jni/curl/tests/data/test359.
︙ | ︙ |
Added jni/curl/tests/data/test388.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | <testcase> <info> <keywords> HTTP HTTP GET HTTP Digest auth </keywords> </info> # Server-side <reply> # First reply back and ask for Digest auth <data1> HTTP/1.1 401 Authorization Required swsclose Server: Apache/1.3.27 (Darwin) PHP/4.1.2 WWW-Authenticate: Digest realm="testrealm", nonce="1053604145" Content-Type: text/html; charset=iso-8859-1 Content-Length: 26 This is not the real page </data1> # second reply back <data2> HTTP/1.1 401 Authorization Required swsclose Server: Apache/1.3.27 (Darwin) PHP/4.1.2 WWW-Authenticate: Digest realm="testrealm", nonce="1053604145" Content-Type: text/html; charset=iso-8859-1 Content-Length: 26 This is not the real page </data2> # This is supposed to be returned when the server gets a # Authorization: Digest line passed-in from the client <data1001> HTTP/1.1 200 OK Server: Apache/1.3.27 (Darwin) PHP/4.1.2 Content-Type: text/html; charset=iso-8859-1 Content-Length: 23 This IS the real page! </data1001> # # This is the second request, and this sends back a response saying that # the request contained stale data. We want an update. Set swsbounce to # bounce on to data1003 on the second request. <data1002> HTTP/1.1 401 Authorization re-negotiation please swsbounce Server: Apache/1.3.27 (Darwin) PHP/4.1.2 WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="crazy, auth" Content-Type: text/html; charset=iso-8859-1 Content-Length: 26 This is not the real page </data1002> # The second request to the 1002 section will bounce this one back instead # thanks to the swsbounce keyword up there <data1003> HTTP/1.1 200 OK Server: Apache/1.3.27 (Darwin) PHP/4.1.2 Content-Type: text/html; charset=iso-8859-1 Content-Length: 30 This IS the second real page! </data1003> </reply> # Client-side <client> <server> http </server> <features> !SSPI crypto </features> <name> HTTP with Digest and multiple qop values with leading space </name> <command> http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001 -u testuser:testpass --digest http://%HOSTIP:%HTTPPORT/%TESTNUMBER0002 </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^Authorization.*cnonce </strip> <protocol> GET /%TESTNUMBER0001 HTTP/1.1 Host: %HOSTIP:%HTTPPORT User-Agent: curl/%VERSION Accept: */* GET /%TESTNUMBER0001 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/%TESTNUMBER0001", response="ea598bbfdb5c54b7352c977e3885e44d" User-Agent: curl/%VERSION Accept: */* GET /%TESTNUMBER0002 HTTP/1.1 Host: %HOSTIP:%HTTPPORT User-Agent: curl/%VERSION Accept: */* GET /%TESTNUMBER0002 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Authorization: Digest username="testuser", realm="testrealm", nonce="1053604145", uri="/%TESTNUMBER0002", response="921a8e6db782d6359db1f40d9ed7e6a6" User-Agent: curl/%VERSION Accept: */* GET /%TESTNUMBER0002 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Authorization: Digest username="testuser", realm="testrealm", nonce="999999", uri="/%TESTNUMBER0002", cnonce="MTA4MzIy", nc="00000001", qop="auth", response="25291c357671604a16c0242f56721c07", algorithm=MD5 User-Agent: curl/%VERSION Accept: */* </protocol> <stdout> HTTP/1.1 401 Authorization Required swsclose Server: Apache/1.3.27 (Darwin) PHP/4.1.2 WWW-Authenticate: Digest realm="testrealm", nonce="1053604145" Content-Type: text/html; charset=iso-8859-1 Content-Length: 26 HTTP/1.1 200 OK Server: Apache/1.3.27 (Darwin) PHP/4.1.2 Content-Type: text/html; charset=iso-8859-1 Content-Length: 23 This IS the real page! HTTP/1.1 401 Authorization Required swsclose Server: Apache/1.3.27 (Darwin) PHP/4.1.2 WWW-Authenticate: Digest realm="testrealm", nonce="1053604145" Content-Type: text/html; charset=iso-8859-1 Content-Length: 26 HTTP/1.1 401 Authorization re-negotiation please swsbounce Server: Apache/1.3.27 (Darwin) PHP/4.1.2 WWW-Authenticate: Digest realm="testrealm", algorithm=MD5, nonce="999999", stale=true, qop="crazy, auth" Content-Type: text/html; charset=iso-8859-1 Content-Length: 26 HTTP/1.1 200 OK Server: Apache/1.3.27 (Darwin) PHP/4.1.2 Content-Type: text/html; charset=iso-8859-1 Content-Length: 30 This IS the second real page! </stdout> </verify> </testcase> |
Added jni/curl/tests/data/test389.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 .localhost </keywords> </info> # # Server-side <reply> <data> HTTP/1.1 200 OK Date: Tue, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ETag: "21025-dc7-39462498" Accept-Ranges: bytes Content-Length: 6 Connection: close Content-Type: text/html Funny-head: yesyes -foo- </data> </reply> # # Client-side <client> <server> http </server> <name> *.localhost is a local host </name> <command> http://curlmachine.localhost:%HTTPPORT/%TESTNUMBER </command> # Ensure that we're running on localhost <precheck> perl -e "print 'Test requires default test server host' if ( '%HOSTIP' ne '127.0.0.1' );" </precheck> </client> # # Verify data after the test has been "shot" <verify> <protocol> GET /%TESTNUMBER HTTP/1.1 Host: curlmachine.localhost:%HTTPPORT User-Agent: curl/%VERSION Accept: */* </protocol> </verify> </testcase> |
Added jni/curl/tests/data/test399.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | <testcase> <info> <keywords> URL </keywords> </info> # # Client-side <client> <server> http </server> <name> 65536 bytes long host name in URL </name> <file name="log/input%TESTNUM"> url = http://%repeat[65536 x a]%/399 </file> <command> -K log/input%TESTNUM </command> </client> <verify> # 3 == CURLE_URL_MALFORMAT <errorcode> 3 </errorcode> </verify> </testcase> |
Changes to jni/curl/tests/data/test442.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | # perl: # # for(1 .. 151) { # print join("\t", # "attack.invalid", "TRUE", "/", "FALSE", "0", # "name$_", "could-be-large-$_")."\n"; # } # <testcase> <info> <keywords> HTTP cookies </keywords> </info> # # Server-side <reply> <data> | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | # perl: # # for(1 .. 151) { # print join("\t", # "attack.invalid", "TRUE", "/", "FALSE", "0", # "name$_", "could-be-large-$_")."\n"; # } # <testcase> <info> <keywords> HTTP cookies --resolve </keywords> </info> # # Server-side <reply> <data> |
︙ | ︙ |
Changes to jni/curl/tests/data/test443.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | # perl: # #for(1 .. 20) { # print join("\t", # "attack.invalid", "TRUE", "/", "FALSE", "0", # "huge-$_", ('a' x 500)."-$_")."\n"; #} # <testcase> <info> <keywords> HTTP cookies </keywords> </info> # # Server-side <reply> <data> | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | # perl: # #for(1 .. 20) { # print join("\t", # "attack.invalid", "TRUE", "/", "FALSE", "0", # "huge-$_", ('a' x 500)."-$_")."\n"; #} # <testcase> <info> <keywords> HTTP cookies --resolve </keywords> </info> # # Server-side <reply> <data> |
︙ | ︙ |
Changes to jni/curl/tests/data/test444.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # perl: # #for(1 .. 200) { # #} # <testcase> <info> <keywords> HTTP cookies </keywords> </info> # # Server-side <reply> <data> | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # perl: # #for(1 .. 200) { # #} # <testcase> <info> <keywords> HTTP cookies --resolve </keywords> </info> # # Server-side <reply> <data> |
︙ | ︙ |
Added jni/curl/tests/data/test682.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | <testcase> <info> <keywords> HTTP netrc </keywords> </info> # # Server-side <reply> <data> HTTP/1.1 200 OK Date: Fri, 05 Aug 2022 10:09:00 GMT Server: test-server/fake Content-Type: text/plain Content-Length: 6 Connection: close -foo- </data> </reply> # # Client-side <client> <server> http </server> <name> netrc with multiple logins - pick first </name> <command> --netrc-optional --netrc-file log/netrc%TESTNUMBER http://user1@%HOSTIP:%HTTPPORT/ </command> <file name="log/netrc%TESTNUMBER" > machine %HOSTIP login user1 password passwd1 machine %HOSTIP login user2 password passwd2 </file> </client> # # Verify data after the test has been "shot" <verify> <protocol> GET / HTTP/1.1 Host: %HOSTIP:%HTTPPORT Authorization: Basic %b64[user1:passwd1]b64% User-Agent: curl/%VERSION Accept: */* </protocol> </verify> </testcase> |
Added jni/curl/tests/data/test683.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | <testcase> <info> <keywords> HTTP netrc </keywords> </info> # # Server-side <reply> <data> HTTP/1.1 200 OK Date: Fri, 05 Aug 2022 10:09:00 GMT Server: test-server/fake Content-Type: text/plain Content-Length: 6 Connection: close -foo- </data> </reply> # # Client-side <client> <server> http </server> <name> netrc with multiple logins - pick second </name> <command> --netrc-optional --netrc-file log/netrc%TESTNUMBER http://user2@%HOSTIP:%HTTPPORT/ </command> <file name="log/netrc%TESTNUMBER" > machine %HOSTIP login user1 password passwd1 machine %HOSTIP login user2 password passwd2 </file> </client> # # Verify data after the test has been "shot" <verify> <protocol> GET / HTTP/1.1 Host: %HOSTIP:%HTTPPORT Authorization: Basic %b64[user2:passwd2]b64% User-Agent: curl/%VERSION Accept: */* </protocol> </verify> </testcase> |
Added jni/curl/tests/data/test684.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | <testcase> <info> <keywords> HTTP netrc </keywords> </info> # # Server-side <reply> <data> HTTP/1.1 200 OK Date: Fri, 05 Aug 2022 10:09:00 GMT Server: test-server/fake Content-Type: text/plain Content-Length: 6 Connection: close -foo- </data> </reply> # # Client-side <client> <server> http </server> <name> netrc with no login </name> <command> --netrc-optional --netrc-file log/netrc%TESTNUMBER http://%HOSTIP:%HTTPPORT/ </command> <file name="log/netrc%TESTNUMBER" > machine %HOSTIP password 5up3r53cr37 </file> </client> # # Verify data after the test has been "shot" <verify> <protocol> GET / HTTP/1.1 Host: %HOSTIP:%HTTPPORT Authorization: Basic %b64[:5up3r53cr37]b64% User-Agent: curl/%VERSION Accept: */* </protocol> </verify> </testcase> |
Added jni/curl/tests/data/test685.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | <testcase> <info> <keywords> HTTP netrc </keywords> </info> # # Server-side <reply> <data> HTTP/1.1 200 OK Date: Fri, 05 Aug 2022 10:09:00 GMT Server: test-server/fake Content-Type: text/plain Content-Length: 6 Connection: close -foo- </data> </reply> # # Client-side <client> <server> http </server> <name> netrc with no login - provided user </name> <command> --netrc-optional --netrc-file log/netrc%TESTNUMBER http://user@%HOSTIP:%HTTPPORT/ </command> <file name="log/netrc%TESTNUMBER" > machine %HOSTIP password 5up3r53cr37 </file> </client> # # Verify data after the test has been "shot" <verify> <protocol> </protocol> GET / HTTP/1.1 Host: %HOSTIP:%HTTPPORT Authorization: Basic %b64[user:5up3r53cr37]b64% User-Agent: curl/%VERSION Accept: */* </verify> </testcase> |
jni/curl/tests/data/test713 became a regular file.
︙ | ︙ |
jni/curl/tests/data/test714 became a regular file.
︙ | ︙ |
jni/curl/tests/data/test715 became a regular file.
︙ | ︙ |
Changes to jni/curl/tests/data/test8.
︙ | ︙ | |||
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | 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> # Verify data after the test has been "shot" <verify> <protocol> GET /we/want/%TESTNUMBER HTTP/1.1 Host: %HOSTIP:%HTTPPORT User-Agent: curl/%VERSION Accept: */* | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | 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 | 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; Set-Cookie: cookie1=%hex[%01-junk]hex% Set-Cookie: cookie2=%hex[%02-junk]hex% Set-Cookie: cookie3=%hex[%03-junk]hex% Set-Cookie: cookie4=%hex[%04-junk]hex% Set-Cookie: cookie5=%hex[%05-junk]hex% Set-Cookie: cookie6=%hex[%06-junk]hex% Set-Cookie: cookie7=%hex[%07-junk]hex% Set-Cookie: cookie8=%hex[%08-junk]hex% Set-Cookie: cookie9=%hex[junk-%09-]hex% Set-Cookie: cookie11=%hex[%0b-junk]hex% Set-Cookie: cookie12=%hex[%0c-junk]hex% Set-Cookie: cookie14=%hex[%0e-junk]hex% Set-Cookie: cookie15=%hex[%0f-junk]hex% Set-Cookie: cookie16=%hex[%10-junk]hex% Set-Cookie: cookie17=%hex[%11-junk]hex% Set-Cookie: cookie18=%hex[%12-junk]hex% Set-Cookie: cookie19=%hex[%13-junk]hex% Set-Cookie: cookie20=%hex[%14-junk]hex% Set-Cookie: cookie21=%hex[%15-junk]hex% Set-Cookie: cookie22=%hex[%16-junk]hex% Set-Cookie: cookie23=%hex[%17-junk]hex% Set-Cookie: cookie24=%hex[%18-junk]hex% Set-Cookie: cookie25=%hex[%19-junk]hex% Set-Cookie: cookie26=%hex[%1a-junk]hex% Set-Cookie: cookie27=%hex[%1b-junk]hex% Set-Cookie: cookie28=%hex[%1c-junk]hex% Set-Cookie: cookie29=%hex[%1d-junk]hex% Set-Cookie: cookie30=%hex[%1e-junk]hex% Set-Cookie: cookie31=%hex[%1f-junk]hex% Set-Cookie: cookie31=%hex[%7f-junk]hex% </file> <precheck> perl -e 'if ("%HOSTIP" !~ /\.0\.0\.1$/) {print "Test only works for HOSTIPs ending with .0.0.1"; exit(1)}' </precheck> </client> # Verify data after the test has been "shot" <verify> <protocol> GET /we/want/%TESTNUMBER HTTP/1.1 Host: %HOSTIP:%HTTPPORT User-Agent: curl/%VERSION Accept: */* Cookie: name with space=is weird but; trailingspace=removed; cookie=perhaps; cookie=yes; foobar=name; blexp=yesyes; cookie9=junk- - </protocol> </verify> </testcase> |
Changes to jni/curl/tests/libtest/Makefile.in.
︙ | ︙ | |||
141 142 143 144 145 146 147 | lib1542$(EXEEXT) lib1543$(EXEEXT) lib1550$(EXEEXT) \ lib1551$(EXEEXT) lib1552$(EXEEXT) lib1553$(EXEEXT) \ lib1554$(EXEEXT) lib1555$(EXEEXT) lib1556$(EXEEXT) \ lib1557$(EXEEXT) lib1558$(EXEEXT) lib1559$(EXEEXT) \ lib1560$(EXEEXT) lib1564$(EXEEXT) lib1565$(EXEEXT) \ lib1567$(EXEEXT) lib1568$(EXEEXT) lib1569$(EXEEXT) \ lib1591$(EXEEXT) lib1592$(EXEEXT) lib1593$(EXEEXT) \ | | | | | | | | | | | | < | 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 | lib1542$(EXEEXT) lib1543$(EXEEXT) lib1550$(EXEEXT) \ lib1551$(EXEEXT) lib1552$(EXEEXT) lib1553$(EXEEXT) \ lib1554$(EXEEXT) lib1555$(EXEEXT) lib1556$(EXEEXT) \ lib1557$(EXEEXT) lib1558$(EXEEXT) lib1559$(EXEEXT) \ lib1560$(EXEEXT) lib1564$(EXEEXT) lib1565$(EXEEXT) \ lib1567$(EXEEXT) lib1568$(EXEEXT) lib1569$(EXEEXT) \ lib1591$(EXEEXT) lib1592$(EXEEXT) lib1593$(EXEEXT) \ lib1594$(EXEEXT) lib1596$(EXEEXT) lib1597$(EXEEXT) \ lib1905$(EXEEXT) lib1906$(EXEEXT) lib1907$(EXEEXT) \ lib1908$(EXEEXT) lib1910$(EXEEXT) lib1911$(EXEEXT) \ lib1912$(EXEEXT) lib1913$(EXEEXT) lib1915$(EXEEXT) \ lib1916$(EXEEXT) lib1917$(EXEEXT) lib1918$(EXEEXT) \ lib1919$(EXEEXT) lib1933$(EXEEXT) lib1934$(EXEEXT) \ lib1935$(EXEEXT) lib1936$(EXEEXT) lib1937$(EXEEXT) \ lib1938$(EXEEXT) lib1939$(EXEEXT) lib1940$(EXEEXT) \ lib1945$(EXEEXT) lib1946$(EXEEXT) lib3010$(EXEEXT) \ lib3025$(EXEEXT) lib3026$(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_NO_UNDEFINED_TRUE@am__append_3 = -no-undefined @CURL_LT_SHLIB_USE_MIMPURE_TEXT_TRUE@am__append_4 = -mimpure-text @DOING_CURL_SYMBOL_HIDING_TRUE@am__append_5 = -DCURL_HIDDEN_SYMBOLS @DOING_CURL_SYMBOL_HIDING_TRUE@am__append_6 = $(CFLAG_CURL_SYMBOL_HIDING) # Build a stub gssapi implementation for testing @BUILD_STUB_GSS_TRUE@am__append_7 = libstubgss.la @BUILD_STUB_GSS_FALSE@libstubgss_la_DEPENDENCIES = subdir = tests/libtest ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \ $(top_srcdir)/m4/curl-bearssl.m4 \ $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-gnutls.m4 \ $(top_srcdir)/m4/curl-mbedtls.m4 $(top_srcdir)/m4/curl-nss.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ |
︙ | ︙ | |||
688 689 690 691 692 693 694 695 696 697 698 699 700 701 | lib1596-first.$(OBJEXT) am__objects_147 = lib1596-testutil.$(OBJEXT) am__objects_148 = ../../lib/lib1596-warnless.$(OBJEXT) am_lib1596_OBJECTS = lib1596-lib1594.$(OBJEXT) $(am__objects_146) \ $(am__objects_147) $(am__objects_148) lib1596_OBJECTS = $(am_lib1596_OBJECTS) lib1596_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_149 = ../../lib/lib1905-timediff.$(OBJEXT) \ lib1905-first.$(OBJEXT) am__objects_150 = lib1905-testutil.$(OBJEXT) am__objects_151 = ../../lib/lib1905-warnless.$(OBJEXT) am_lib1905_OBJECTS = lib1905-lib1905.$(OBJEXT) $(am__objects_149) \ $(am__objects_150) $(am__objects_151) lib1905_OBJECTS = $(am_lib1905_OBJECTS) | > > > > | 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 | lib1596-first.$(OBJEXT) am__objects_147 = lib1596-testutil.$(OBJEXT) am__objects_148 = ../../lib/lib1596-warnless.$(OBJEXT) am_lib1596_OBJECTS = lib1596-lib1594.$(OBJEXT) $(am__objects_146) \ $(am__objects_147) $(am__objects_148) lib1596_OBJECTS = $(am_lib1596_OBJECTS) lib1596_DEPENDENCIES = $(am__DEPENDENCIES_1) am_lib1597_OBJECTS = lib1597.$(OBJEXT) $(am__objects_128) \ $(am__objects_129) $(am__objects_130) lib1597_OBJECTS = $(am_lib1597_OBJECTS) lib1597_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_149 = ../../lib/lib1905-timediff.$(OBJEXT) \ lib1905-first.$(OBJEXT) am__objects_150 = lib1905-testutil.$(OBJEXT) am__objects_151 = ../../lib/lib1905-warnless.$(OBJEXT) am_lib1905_OBJECTS = lib1905-lib1905.$(OBJEXT) $(am__objects_149) \ $(am__objects_150) $(am__objects_151) lib1905_OBJECTS = $(am_lib1905_OBJECTS) |
︙ | ︙ | |||
2032 2033 2034 2035 2036 2037 2038 | ./$(DEPDIR)/lib1568-lib1568.Po ./$(DEPDIR)/lib1569-first.Po \ ./$(DEPDIR)/lib1569-lib1569.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)/lib1593.Po \ ./$(DEPDIR)/lib1594.Po ./$(DEPDIR)/lib1596-first.Po \ ./$(DEPDIR)/lib1596-lib1594.Po ./$(DEPDIR)/lib1596-testutil.Po \ | > | | | | | | | | | | | | | | | | | | < > | | | | | | | | | | | | | | | | | | < > | | | | | | | | | | | | | | | | | | < > | | | | | | | | | | | | | | | | | | | < > | | | | | | | | | | | | | | | | | | < > | | | | | | | | | | | | | | | | | | < > | | | | | | | | | | | | | | | | | | < > | | | | | | | | | | | | | | | | | | < | | 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 | ./$(DEPDIR)/lib1568-lib1568.Po ./$(DEPDIR)/lib1569-first.Po \ ./$(DEPDIR)/lib1569-lib1569.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)/lib1593.Po \ ./$(DEPDIR)/lib1594.Po ./$(DEPDIR)/lib1596-first.Po \ ./$(DEPDIR)/lib1596-lib1594.Po ./$(DEPDIR)/lib1596-testutil.Po \ ./$(DEPDIR)/lib1597.Po ./$(DEPDIR)/lib1905-first.Po \ ./$(DEPDIR)/lib1905-lib1905.Po ./$(DEPDIR)/lib1905-testutil.Po \ ./$(DEPDIR)/lib1906-first.Po ./$(DEPDIR)/lib1906-lib1906.Po \ ./$(DEPDIR)/lib1906-testutil.Po ./$(DEPDIR)/lib1907-first.Po \ ./$(DEPDIR)/lib1907-lib1907.Po ./$(DEPDIR)/lib1907-testutil.Po \ ./$(DEPDIR)/lib1908-first.Po ./$(DEPDIR)/lib1908-lib1908.Po \ ./$(DEPDIR)/lib1908-testutil.Po ./$(DEPDIR)/lib1910-first.Po \ ./$(DEPDIR)/lib1910-lib1910.Po ./$(DEPDIR)/lib1910-testutil.Po \ ./$(DEPDIR)/lib1911-first.Po ./$(DEPDIR)/lib1911-lib1911.Po \ ./$(DEPDIR)/lib1911-testutil.Po ./$(DEPDIR)/lib1912-first.Po \ ./$(DEPDIR)/lib1912-lib1912.Po ./$(DEPDIR)/lib1912-testutil.Po \ ./$(DEPDIR)/lib1913-first.Po ./$(DEPDIR)/lib1913-lib1913.Po \ ./$(DEPDIR)/lib1913-testutil.Po ./$(DEPDIR)/lib1915-first.Po \ ./$(DEPDIR)/lib1915-lib1915.Po ./$(DEPDIR)/lib1915-testutil.Po \ ./$(DEPDIR)/lib1916-first.Po ./$(DEPDIR)/lib1916-lib1916.Po \ ./$(DEPDIR)/lib1917-first.Po ./$(DEPDIR)/lib1917-lib1916.Po \ ./$(DEPDIR)/lib1918-first.Po ./$(DEPDIR)/lib1918-lib1918.Po \ ./$(DEPDIR)/lib1919-first.Po ./$(DEPDIR)/lib1919-lib1919.Po \ ./$(DEPDIR)/lib1933-first.Po ./$(DEPDIR)/lib1933-lib1933.Po \ ./$(DEPDIR)/lib1933-testutil.Po ./$(DEPDIR)/lib1934-first.Po \ ./$(DEPDIR)/lib1934-lib1934.Po ./$(DEPDIR)/lib1934-testutil.Po \ ./$(DEPDIR)/lib1935-first.Po ./$(DEPDIR)/lib1935-lib1935.Po \ ./$(DEPDIR)/lib1935-testutil.Po ./$(DEPDIR)/lib1936-first.Po \ ./$(DEPDIR)/lib1936-lib1936.Po ./$(DEPDIR)/lib1936-testutil.Po \ ./$(DEPDIR)/lib1937-first.Po ./$(DEPDIR)/lib1937-lib1937.Po \ ./$(DEPDIR)/lib1938-first.Po ./$(DEPDIR)/lib1938-lib1938.Po \ ./$(DEPDIR)/lib1939-first.Po ./$(DEPDIR)/lib1939-lib1939.Po \ ./$(DEPDIR)/lib1940-first.Po ./$(DEPDIR)/lib1940-lib1940.Po \ ./$(DEPDIR)/lib1945-first.Po ./$(DEPDIR)/lib1945-lib1945.Po \ ./$(DEPDIR)/lib1946-first.Po ./$(DEPDIR)/lib1946-lib1940.Po \ ./$(DEPDIR)/lib3010-first.Po ./$(DEPDIR)/lib3010-lib3010.Po \ ./$(DEPDIR)/lib3010-testutil.Po ./$(DEPDIR)/lib3025-first.Po \ ./$(DEPDIR)/lib3025-lib3025.Po ./$(DEPDIR)/lib3025-testutil.Po \ ./$(DEPDIR)/lib3026-first.Po ./$(DEPDIR)/lib3026-lib3026.Po \ ./$(DEPDIR)/lib3026-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 \ ./$(DEPDIR)/lib503-first.Po ./$(DEPDIR)/lib503-lib503.Po \ ./$(DEPDIR)/lib503-testutil.Po ./$(DEPDIR)/lib504-first.Po \ ./$(DEPDIR)/lib504-lib504.Po ./$(DEPDIR)/lib504-testutil.Po \ ./$(DEPDIR)/lib505-first.Po ./$(DEPDIR)/lib505-lib505.Po \ ./$(DEPDIR)/lib506-first.Po ./$(DEPDIR)/lib506-lib506.Po \ ./$(DEPDIR)/lib507-first.Po ./$(DEPDIR)/lib507-lib507.Po \ ./$(DEPDIR)/lib507-testutil.Po ./$(DEPDIR)/lib508-first.Po \ ./$(DEPDIR)/lib508-lib508.Po ./$(DEPDIR)/lib509-first.Po \ ./$(DEPDIR)/lib509-lib509.Po ./$(DEPDIR)/lib510-first.Po \ ./$(DEPDIR)/lib510-lib510.Po ./$(DEPDIR)/lib511-first.Po \ ./$(DEPDIR)/lib511-lib511.Po ./$(DEPDIR)/lib512-first.Po \ ./$(DEPDIR)/lib512-lib512.Po ./$(DEPDIR)/lib513-first.Po \ ./$(DEPDIR)/lib513-lib513.Po ./$(DEPDIR)/lib514-first.Po \ ./$(DEPDIR)/lib514-lib514.Po ./$(DEPDIR)/lib515-first.Po \ ./$(DEPDIR)/lib515-lib515.Po ./$(DEPDIR)/lib516-first.Po \ ./$(DEPDIR)/lib516-lib516.Po ./$(DEPDIR)/lib517-first.Po \ ./$(DEPDIR)/lib517-lib517.Po ./$(DEPDIR)/lib518-first.Po \ ./$(DEPDIR)/lib518-lib518.Po ./$(DEPDIR)/lib519-first.Po \ ./$(DEPDIR)/lib519-lib519.Po ./$(DEPDIR)/lib520-first.Po \ ./$(DEPDIR)/lib520-lib520.Po ./$(DEPDIR)/lib521-first.Po \ ./$(DEPDIR)/lib521-lib521.Po ./$(DEPDIR)/lib523-first.Po \ ./$(DEPDIR)/lib523-lib523.Po ./$(DEPDIR)/lib524-first.Po \ ./$(DEPDIR)/lib524-lib524.Po ./$(DEPDIR)/lib525-first.Po \ ./$(DEPDIR)/lib525-lib525.Po ./$(DEPDIR)/lib525-testutil.Po \ ./$(DEPDIR)/lib526-first.Po ./$(DEPDIR)/lib526-lib526.Po \ ./$(DEPDIR)/lib526-testutil.Po ./$(DEPDIR)/lib527-first.Po \ ./$(DEPDIR)/lib527-lib526.Po ./$(DEPDIR)/lib527-testutil.Po \ ./$(DEPDIR)/lib529-first.Po ./$(DEPDIR)/lib529-lib525.Po \ ./$(DEPDIR)/lib529-testutil.Po ./$(DEPDIR)/lib530-first.Po \ ./$(DEPDIR)/lib530-lib530.Po ./$(DEPDIR)/lib530-testutil.Po \ ./$(DEPDIR)/lib532-first.Po ./$(DEPDIR)/lib532-lib526.Po \ ./$(DEPDIR)/lib532-testutil.Po ./$(DEPDIR)/lib533-first.Po \ ./$(DEPDIR)/lib533-lib533.Po ./$(DEPDIR)/lib533-testutil.Po \ ./$(DEPDIR)/lib537-first.Po ./$(DEPDIR)/lib537-lib537.Po \ ./$(DEPDIR)/lib539-first.Po ./$(DEPDIR)/lib539-lib539.Po \ ./$(DEPDIR)/lib540-first.Po ./$(DEPDIR)/lib540-lib540.Po \ ./$(DEPDIR)/lib540-testutil.Po ./$(DEPDIR)/lib541-first.Po \ ./$(DEPDIR)/lib541-lib541.Po ./$(DEPDIR)/lib542-first.Po \ ./$(DEPDIR)/lib542-lib542.Po ./$(DEPDIR)/lib543-first.Po \ ./$(DEPDIR)/lib543-lib543.Po ./$(DEPDIR)/lib544-first.Po \ ./$(DEPDIR)/lib544-lib544.Po ./$(DEPDIR)/lib545-first.Po \ ./$(DEPDIR)/lib545-lib544.Po ./$(DEPDIR)/lib547-first.Po \ ./$(DEPDIR)/lib547-lib547.Po ./$(DEPDIR)/lib548-first.Po \ ./$(DEPDIR)/lib548-lib547.Po ./$(DEPDIR)/lib549-first.Po \ ./$(DEPDIR)/lib549-lib549.Po ./$(DEPDIR)/lib552-first.Po \ ./$(DEPDIR)/lib552-lib552.Po ./$(DEPDIR)/lib553-first.Po \ ./$(DEPDIR)/lib553-lib553.Po ./$(DEPDIR)/lib554-first.Po \ ./$(DEPDIR)/lib554-lib554.Po ./$(DEPDIR)/lib555-first.Po \ ./$(DEPDIR)/lib555-lib555.Po ./$(DEPDIR)/lib555-testutil.Po \ ./$(DEPDIR)/lib556-first.Po ./$(DEPDIR)/lib556-lib556.Po \ ./$(DEPDIR)/lib557-first.Po ./$(DEPDIR)/lib557-lib557.Po \ ./$(DEPDIR)/lib558-first.Po ./$(DEPDIR)/lib558-lib558.Po \ ./$(DEPDIR)/lib559-first.Po ./$(DEPDIR)/lib559-lib559.Po \ ./$(DEPDIR)/lib560-first.Po ./$(DEPDIR)/lib560-lib560.Po \ ./$(DEPDIR)/lib560-testutil.Po ./$(DEPDIR)/lib562-first.Po \ ./$(DEPDIR)/lib562-lib562.Po ./$(DEPDIR)/lib564-first.Po \ ./$(DEPDIR)/lib564-lib564.Po ./$(DEPDIR)/lib564-testutil.Po \ ./$(DEPDIR)/lib565-first.Po ./$(DEPDIR)/lib565-lib510.Po \ ./$(DEPDIR)/lib566-first.Po ./$(DEPDIR)/lib566-lib566.Po \ ./$(DEPDIR)/lib567-first.Po ./$(DEPDIR)/lib567-lib567.Po \ ./$(DEPDIR)/lib568-first.Po ./$(DEPDIR)/lib568-lib568.Po \ ./$(DEPDIR)/lib569-first.Po ./$(DEPDIR)/lib569-lib569.Po \ ./$(DEPDIR)/lib570-first.Po ./$(DEPDIR)/lib570-lib570.Po \ ./$(DEPDIR)/lib571-first.Po ./$(DEPDIR)/lib571-lib571.Po \ ./$(DEPDIR)/lib572-first.Po ./$(DEPDIR)/lib572-lib572.Po \ ./$(DEPDIR)/lib573-first.Po ./$(DEPDIR)/lib573-lib573.Po \ ./$(DEPDIR)/lib573-testtrace.Po ./$(DEPDIR)/lib573-testutil.Po \ ./$(DEPDIR)/lib574-first.Po ./$(DEPDIR)/lib574-lib574.Po \ ./$(DEPDIR)/lib575-first.Po ./$(DEPDIR)/lib575-lib575.Po \ ./$(DEPDIR)/lib575-testutil.Po ./$(DEPDIR)/lib576-first.Po \ ./$(DEPDIR)/lib576-lib576.Po ./$(DEPDIR)/lib578-first.Po \ ./$(DEPDIR)/lib578-lib578.Po ./$(DEPDIR)/lib579-first.Po \ ./$(DEPDIR)/lib579-lib579.Po ./$(DEPDIR)/lib582-first.Po \ ./$(DEPDIR)/lib582-lib582.Po ./$(DEPDIR)/lib582-testutil.Po \ ./$(DEPDIR)/lib583-first.Po ./$(DEPDIR)/lib583-lib583.Po \ ./$(DEPDIR)/lib584-first.Po ./$(DEPDIR)/lib584-lib589.Po \ ./$(DEPDIR)/lib585-first.Po ./$(DEPDIR)/lib585-lib500.Po \ ./$(DEPDIR)/lib585-testtrace.Po ./$(DEPDIR)/lib585-testutil.Po \ ./$(DEPDIR)/lib586-first.Po ./$(DEPDIR)/lib586-lib586.Po \ ./$(DEPDIR)/lib587-first.Po ./$(DEPDIR)/lib587-lib554.Po \ ./$(DEPDIR)/lib589-first.Po ./$(DEPDIR)/lib589-lib589.Po \ ./$(DEPDIR)/lib590-first.Po ./$(DEPDIR)/lib590-lib590.Po \ ./$(DEPDIR)/lib591-first.Po ./$(DEPDIR)/lib591-lib591.Po \ ./$(DEPDIR)/lib591-testutil.Po ./$(DEPDIR)/lib597-first.Po \ ./$(DEPDIR)/lib597-lib597.Po ./$(DEPDIR)/lib597-testutil.Po \ ./$(DEPDIR)/lib598-first.Po ./$(DEPDIR)/lib598-lib598.Po \ ./$(DEPDIR)/lib599-first.Po ./$(DEPDIR)/lib599-lib599.Po \ ./$(DEPDIR)/lib643-first.Po ./$(DEPDIR)/lib643-lib643.Po \ ./$(DEPDIR)/lib645-first.Po ./$(DEPDIR)/lib645-lib643.Po \ ./$(DEPDIR)/lib650-first.Po ./$(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)/lib661-first.Po ./$(DEPDIR)/lib661-lib661.Po \ ./$(DEPDIR)/lib666-first.Po ./$(DEPDIR)/lib666-lib666.Po \ ./$(DEPDIR)/lib667-first.Po ./$(DEPDIR)/lib667-lib667.Po \ ./$(DEPDIR)/lib667-testutil.Po ./$(DEPDIR)/lib668-first.Po \ ./$(DEPDIR)/lib668-lib668.Po ./$(DEPDIR)/lib668-testutil.Po \ ./$(DEPDIR)/lib670-first.Po ./$(DEPDIR)/lib670-lib670.Po \ ./$(DEPDIR)/lib670-testutil.Po ./$(DEPDIR)/lib671-first.Po \ ./$(DEPDIR)/lib671-lib670.Po ./$(DEPDIR)/lib671-testutil.Po \ ./$(DEPDIR)/lib672-first.Po ./$(DEPDIR)/lib672-lib670.Po \ ./$(DEPDIR)/lib672-testutil.Po ./$(DEPDIR)/lib673-first.Po \ ./$(DEPDIR)/lib673-lib670.Po ./$(DEPDIR)/lib673-testutil.Po \ ./$(DEPDIR)/lib674-first.Po ./$(DEPDIR)/lib674-lib674.Po \ ./$(DEPDIR)/lib674-testutil.Po ./$(DEPDIR)/lib676-first.Po \ ./$(DEPDIR)/lib676-lib676.Po ./$(DEPDIR)/lib676-testutil.Po \ ./$(DEPDIR)/lib677-first.Po ./$(DEPDIR)/lib677-lib677.Po \ ./$(DEPDIR)/lib677-testutil.Po ./$(DEPDIR)/lib678-first.Po \ ./$(DEPDIR)/lib678-lib678.Po ./$(DEPDIR)/lib678-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)/libprereq-first.Po \ |
︙ | ︙ | |||
2239 2240 2241 2242 2243 2244 2245 | $(lib1543_SOURCES) $(lib1550_SOURCES) $(lib1551_SOURCES) \ $(lib1552_SOURCES) $(lib1553_SOURCES) $(lib1554_SOURCES) \ $(lib1555_SOURCES) $(lib1556_SOURCES) $(lib1557_SOURCES) \ $(lib1558_SOURCES) $(lib1559_SOURCES) $(lib1560_SOURCES) \ $(lib1564_SOURCES) $(lib1565_SOURCES) $(lib1567_SOURCES) \ $(lib1568_SOURCES) $(lib1569_SOURCES) $(lib1591_SOURCES) \ $(lib1592_SOURCES) $(lib1593_SOURCES) $(lib1594_SOURCES) \ | | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 | $(lib1543_SOURCES) $(lib1550_SOURCES) $(lib1551_SOURCES) \ $(lib1552_SOURCES) $(lib1553_SOURCES) $(lib1554_SOURCES) \ $(lib1555_SOURCES) $(lib1556_SOURCES) $(lib1557_SOURCES) \ $(lib1558_SOURCES) $(lib1559_SOURCES) $(lib1560_SOURCES) \ $(lib1564_SOURCES) $(lib1565_SOURCES) $(lib1567_SOURCES) \ $(lib1568_SOURCES) $(lib1569_SOURCES) $(lib1591_SOURCES) \ $(lib1592_SOURCES) $(lib1593_SOURCES) $(lib1594_SOURCES) \ $(lib1596_SOURCES) $(lib1597_SOURCES) $(lib1905_SOURCES) \ $(lib1906_SOURCES) $(lib1907_SOURCES) $(lib1908_SOURCES) \ $(lib1910_SOURCES) $(lib1911_SOURCES) $(lib1912_SOURCES) \ $(lib1913_SOURCES) $(lib1915_SOURCES) $(lib1916_SOURCES) \ $(lib1917_SOURCES) $(lib1918_SOURCES) $(lib1919_SOURCES) \ $(lib1933_SOURCES) $(lib1934_SOURCES) $(lib1935_SOURCES) \ $(lib1936_SOURCES) $(lib1937_SOURCES) $(lib1938_SOURCES) \ $(lib1939_SOURCES) $(lib1940_SOURCES) $(lib1945_SOURCES) \ |
︙ | ︙ | |||
2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 | $(lib655_SOURCES) $(lib658_SOURCES) $(lib659_SOURCES) \ $(lib661_SOURCES) $(lib666_SOURCES) $(lib667_SOURCES) \ $(lib668_SOURCES) $(lib670_SOURCES) $(lib671_SOURCES) \ $(lib672_SOURCES) $(lib673_SOURCES) $(lib674_SOURCES) \ $(lib676_SOURCES) $(lib677_SOURCES) $(lib678_SOURCES) \ $(libauthretry_SOURCES) $(libntlmconnect_SOURCES) \ $(libprereq_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, | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | $(lib655_SOURCES) $(lib658_SOURCES) $(lib659_SOURCES) \ $(lib661_SOURCES) $(lib666_SOURCES) $(lib667_SOURCES) \ $(lib668_SOURCES) $(lib670_SOURCES) $(lib671_SOURCES) \ $(lib672_SOURCES) $(lib673_SOURCES) $(lib674_SOURCES) \ $(lib676_SOURCES) $(lib677_SOURCES) $(lib678_SOURCES) \ $(libauthretry_SOURCES) $(libntlmconnect_SOURCES) \ $(libprereq_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) $(lib1523_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) $(lib1539_SOURCES) $(lib1540_SOURCES) \ $(lib1542_SOURCES) $(lib1543_SOURCES) $(lib1550_SOURCES) \ $(lib1551_SOURCES) $(lib1552_SOURCES) $(lib1553_SOURCES) \ $(lib1554_SOURCES) $(lib1555_SOURCES) $(lib1556_SOURCES) \ $(lib1557_SOURCES) $(lib1558_SOURCES) $(lib1559_SOURCES) \ $(lib1560_SOURCES) $(lib1564_SOURCES) $(lib1565_SOURCES) \ $(lib1567_SOURCES) $(lib1568_SOURCES) $(lib1569_SOURCES) \ $(lib1591_SOURCES) $(lib1592_SOURCES) $(lib1593_SOURCES) \ $(lib1594_SOURCES) $(lib1596_SOURCES) $(lib1597_SOURCES) \ $(lib1905_SOURCES) $(lib1906_SOURCES) $(lib1907_SOURCES) \ $(lib1908_SOURCES) $(lib1910_SOURCES) $(lib1911_SOURCES) \ $(lib1912_SOURCES) $(lib1913_SOURCES) $(lib1915_SOURCES) \ $(lib1916_SOURCES) $(lib1917_SOURCES) $(lib1918_SOURCES) \ $(lib1919_SOURCES) $(lib1933_SOURCES) $(lib1934_SOURCES) \ $(lib1935_SOURCES) $(lib1936_SOURCES) $(lib1937_SOURCES) \ $(lib1938_SOURCES) $(lib1939_SOURCES) $(lib1940_SOURCES) \ $(lib1945_SOURCES) $(lib1946_SOURCES) $(lib3010_SOURCES) \ $(lib3025_SOURCES) $(lib3026_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) \ $(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) $(lib584_SOURCES) \ $(lib585_SOURCES) $(lib586_SOURCES) $(lib587_SOURCES) \ $(lib589_SOURCES) $(lib590_SOURCES) $(lib591_SOURCES) \ $(lib597_SOURCES) $(lib598_SOURCES) $(lib599_SOURCES) \ $(lib643_SOURCES) $(lib645_SOURCES) $(lib650_SOURCES) \ $(lib651_SOURCES) $(lib652_SOURCES) $(lib653_SOURCES) \ $(lib654_SOURCES) $(lib655_SOURCES) $(lib658_SOURCES) \ $(lib659_SOURCES) $(lib661_SOURCES) $(lib666_SOURCES) \ $(lib667_SOURCES) $(lib668_SOURCES) $(lib670_SOURCES) \ $(lib671_SOURCES) $(lib672_SOURCES) $(lib673_SOURCES) \ $(lib674_SOURCES) $(lib676_SOURCES) $(lib677_SOURCES) \ $(lib678_SOURCES) $(libauthretry_SOURCES) \ $(libntlmconnect_SOURCES) $(libprereq_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, |
︙ | ︙ | |||
2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ | > | 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ |
︙ | ︙ | |||
3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 | lib1593_SOURCES = lib1593.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1593_LDADD = $(TESTUTIL_LIBS) lib1594_SOURCES = lib1594.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1594_LDADD = $(TESTUTIL_LIBS) lib1596_SOURCES = lib1594.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1596_LDADD = $(TESTUTIL_LIBS) lib1596_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1596 lib1905_SOURCES = lib1905.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1905_LDADD = $(TESTUTIL_LIBS) lib1905_CPPFLAGS = $(AM_CPPFLAGS) lib1906_SOURCES = lib1906.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1906_LDADD = $(TESTUTIL_LIBS) lib1906_CPPFLAGS = $(AM_CPPFLAGS) lib1907_SOURCES = lib1907.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) | > > | 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 | lib1593_SOURCES = lib1593.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1593_LDADD = $(TESTUTIL_LIBS) lib1594_SOURCES = lib1594.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1594_LDADD = $(TESTUTIL_LIBS) lib1596_SOURCES = lib1594.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1596_LDADD = $(TESTUTIL_LIBS) lib1596_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1596 lib1597_SOURCES = lib1597.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1597_LDADD = $(TESTUTIL_LIBS) lib1905_SOURCES = lib1905.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1905_LDADD = $(TESTUTIL_LIBS) lib1905_CPPFLAGS = $(AM_CPPFLAGS) lib1906_SOURCES = lib1906.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1906_LDADD = $(TESTUTIL_LIBS) lib1906_CPPFLAGS = $(AM_CPPFLAGS) lib1907_SOURCES = lib1907.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) |
︙ | ︙ | |||
3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 | ../../lib/$(DEPDIR)/$(am__dirstamp) ../../lib/lib1596-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib1596$(EXEEXT): $(lib1596_OBJECTS) $(lib1596_DEPENDENCIES) $(EXTRA_lib1596_DEPENDENCIES) @rm -f lib1596$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1596_OBJECTS) $(lib1596_LDADD) $(LIBS) ../../lib/lib1905-timediff.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) ../../lib/lib1905-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib1905$(EXEEXT): $(lib1905_OBJECTS) $(lib1905_DEPENDENCIES) $(EXTRA_lib1905_DEPENDENCIES) @rm -f lib1905$(EXEEXT) | > > > > | 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 | ../../lib/$(DEPDIR)/$(am__dirstamp) ../../lib/lib1596-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib1596$(EXEEXT): $(lib1596_OBJECTS) $(lib1596_DEPENDENCIES) $(EXTRA_lib1596_DEPENDENCIES) @rm -f lib1596$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1596_OBJECTS) $(lib1596_LDADD) $(LIBS) lib1597$(EXEEXT): $(lib1597_OBJECTS) $(lib1597_DEPENDENCIES) $(EXTRA_lib1597_DEPENDENCIES) @rm -f lib1597$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1597_OBJECTS) $(lib1597_LDADD) $(LIBS) ../../lib/lib1905-timediff.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) ../../lib/lib1905-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib1905$(EXEEXT): $(lib1905_OBJECTS) $(lib1905_DEPENDENCIES) $(EXTRA_lib1905_DEPENDENCIES) @rm -f lib1905$(EXEEXT) |
︙ | ︙ | |||
5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 | @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)/lib1593.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1594.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1596-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1596-lib1594.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1596-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)/lib1906-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1906-lib1906.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1906-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1907-first.Po@am__quote@ # am--include-marker | > | 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 | @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)/lib1593.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1594.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1596-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1596-lib1594.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1596-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1597.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)/lib1906-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1906-lib1906.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1906-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1907-first.Po@am__quote@ # am--include-marker |
︙ | ︙ | |||
17207 17208 17209 17210 17211 17212 17213 17214 17215 17216 17217 17218 17219 17220 | -rm -f ./$(DEPDIR)/lib1592-lib1592.Po -rm -f ./$(DEPDIR)/lib1592-testutil.Po -rm -f ./$(DEPDIR)/lib1593.Po -rm -f ./$(DEPDIR)/lib1594.Po -rm -f ./$(DEPDIR)/lib1596-first.Po -rm -f ./$(DEPDIR)/lib1596-lib1594.Po -rm -f ./$(DEPDIR)/lib1596-testutil.Po -rm -f ./$(DEPDIR)/lib1905-first.Po -rm -f ./$(DEPDIR)/lib1905-lib1905.Po -rm -f ./$(DEPDIR)/lib1905-testutil.Po -rm -f ./$(DEPDIR)/lib1906-first.Po -rm -f ./$(DEPDIR)/lib1906-lib1906.Po -rm -f ./$(DEPDIR)/lib1906-testutil.Po -rm -f ./$(DEPDIR)/lib1907-first.Po | > | 17219 17220 17221 17222 17223 17224 17225 17226 17227 17228 17229 17230 17231 17232 17233 | -rm -f ./$(DEPDIR)/lib1592-lib1592.Po -rm -f ./$(DEPDIR)/lib1592-testutil.Po -rm -f ./$(DEPDIR)/lib1593.Po -rm -f ./$(DEPDIR)/lib1594.Po -rm -f ./$(DEPDIR)/lib1596-first.Po -rm -f ./$(DEPDIR)/lib1596-lib1594.Po -rm -f ./$(DEPDIR)/lib1596-testutil.Po -rm -f ./$(DEPDIR)/lib1597.Po -rm -f ./$(DEPDIR)/lib1905-first.Po -rm -f ./$(DEPDIR)/lib1905-lib1905.Po -rm -f ./$(DEPDIR)/lib1905-testutil.Po -rm -f ./$(DEPDIR)/lib1906-first.Po -rm -f ./$(DEPDIR)/lib1906-lib1906.Po -rm -f ./$(DEPDIR)/lib1906-testutil.Po -rm -f ./$(DEPDIR)/lib1907-first.Po |
︙ | ︙ | |||
18053 18054 18055 18056 18057 18058 18059 18060 18061 18062 18063 18064 18065 18066 | -rm -f ./$(DEPDIR)/lib1592-lib1592.Po -rm -f ./$(DEPDIR)/lib1592-testutil.Po -rm -f ./$(DEPDIR)/lib1593.Po -rm -f ./$(DEPDIR)/lib1594.Po -rm -f ./$(DEPDIR)/lib1596-first.Po -rm -f ./$(DEPDIR)/lib1596-lib1594.Po -rm -f ./$(DEPDIR)/lib1596-testutil.Po -rm -f ./$(DEPDIR)/lib1905-first.Po -rm -f ./$(DEPDIR)/lib1905-lib1905.Po -rm -f ./$(DEPDIR)/lib1905-testutil.Po -rm -f ./$(DEPDIR)/lib1906-first.Po -rm -f ./$(DEPDIR)/lib1906-lib1906.Po -rm -f ./$(DEPDIR)/lib1906-testutil.Po -rm -f ./$(DEPDIR)/lib1907-first.Po | > | 18066 18067 18068 18069 18070 18071 18072 18073 18074 18075 18076 18077 18078 18079 18080 | -rm -f ./$(DEPDIR)/lib1592-lib1592.Po -rm -f ./$(DEPDIR)/lib1592-testutil.Po -rm -f ./$(DEPDIR)/lib1593.Po -rm -f ./$(DEPDIR)/lib1594.Po -rm -f ./$(DEPDIR)/lib1596-first.Po -rm -f ./$(DEPDIR)/lib1596-lib1594.Po -rm -f ./$(DEPDIR)/lib1596-testutil.Po -rm -f ./$(DEPDIR)/lib1597.Po -rm -f ./$(DEPDIR)/lib1905-first.Po -rm -f ./$(DEPDIR)/lib1905-lib1905.Po -rm -f ./$(DEPDIR)/lib1905-testutil.Po -rm -f ./$(DEPDIR)/lib1906-first.Po -rm -f ./$(DEPDIR)/lib1906-lib1906.Po -rm -f ./$(DEPDIR)/lib1906-testutil.Po -rm -f ./$(DEPDIR)/lib1907-first.Po |
︙ | ︙ |
Changes to jni/curl/tests/libtest/Makefile.inc.
︙ | ︙ | |||
56 57 58 59 60 61 62 | lib1509 lib1510 lib1511 lib1512 lib1513 lib1514 lib1515 lib1517 \ lib1518 lib1520 lib1521 lib1522 lib1523 \ lib1525 lib1526 lib1527 lib1528 lib1529 lib1530 lib1531 lib1532 lib1533 \ lib1534 lib1535 lib1536 lib1537 lib1538 lib1539 \ lib1540 lib1542 lib1543 \ lib1550 lib1551 lib1552 lib1553 lib1554 lib1555 lib1556 lib1557 \ lib1558 lib1559 lib1560 lib1564 lib1565 lib1567 lib1568 lib1569 \ | | | 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | lib1509 lib1510 lib1511 lib1512 lib1513 lib1514 lib1515 lib1517 \ lib1518 lib1520 lib1521 lib1522 lib1523 \ lib1525 lib1526 lib1527 lib1528 lib1529 lib1530 lib1531 lib1532 lib1533 \ lib1534 lib1535 lib1536 lib1537 lib1538 lib1539 \ lib1540 lib1542 lib1543 \ lib1550 lib1551 lib1552 lib1553 lib1554 lib1555 lib1556 lib1557 \ lib1558 lib1559 lib1560 lib1564 lib1565 lib1567 lib1568 lib1569 \ lib1591 lib1592 lib1593 lib1594 lib1596 lib1597 \ lib1905 lib1906 lib1907 lib1908 lib1910 lib1911 lib1912 lib1913 \ lib1915 lib1916 lib1917 lib1918 lib1919 \ lib1933 lib1934 lib1935 lib1936 lib1937 lib1938 lib1939 lib1940 \ lib1945 lib1946 \ lib3010 lib3025 lib3026 chkdecimalpoint_SOURCES = chkdecimalpoint.c ../../lib/mprintf.c \ |
︙ | ︙ | |||
652 653 654 655 656 657 658 659 660 661 662 663 664 665 | lib1594_SOURCES = lib1594.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1594_LDADD = $(TESTUTIL_LIBS) lib1596_SOURCES = lib1594.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1596_LDADD = $(TESTUTIL_LIBS) lib1596_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1596 lib1905_SOURCES = lib1905.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1905_LDADD = $(TESTUTIL_LIBS) lib1905_CPPFLAGS = $(AM_CPPFLAGS) lib1906_SOURCES = lib1906.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1906_LDADD = $(TESTUTIL_LIBS) | > > > | 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 | lib1594_SOURCES = lib1594.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1594_LDADD = $(TESTUTIL_LIBS) lib1596_SOURCES = lib1594.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1596_LDADD = $(TESTUTIL_LIBS) lib1596_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1596 lib1597_SOURCES = lib1597.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1597_LDADD = $(TESTUTIL_LIBS) lib1905_SOURCES = lib1905.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1905_LDADD = $(TESTUTIL_LIBS) lib1905_CPPFLAGS = $(AM_CPPFLAGS) lib1906_SOURCES = lib1906.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1906_LDADD = $(TESTUTIL_LIBS) |
︙ | ︙ |
Changes to jni/curl/tests/libtest/lib1523.c.
︙ | ︙ | |||
73 74 75 76 77 78 79 | if(ret) fprintf(stderr, "error %d: %s\n", ret, buffer); ret = run(hnd, 12000, 1); if(ret != CURLE_OPERATION_TIMEDOUT) fprintf(stderr, "error %d: %s\n", ret, buffer); else | | | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | if(ret) fprintf(stderr, "error %d: %s\n", ret, buffer); ret = run(hnd, 12000, 1); if(ret != CURLE_OPERATION_TIMEDOUT) fprintf(stderr, "error %d: %s\n", ret, buffer); else ret = CURLE_OK; printf("End: %d\n", time(NULL)); curl_easy_cleanup(hnd); curl_global_cleanup(); return (int)ret; } |
Changes to jni/curl/tests/libtest/lib1532.c.
︙ | ︙ | |||
27 28 29 30 31 32 33 | /* Test CURLINFO_RESPONSE_CODE */ int test(char *URL) { CURL *curl; long httpcode; | | | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | /* Test CURLINFO_RESPONSE_CODE */ int test(char *URL) { CURL *curl; long httpcode; CURLcode res = CURLE_OK; global_init(CURL_GLOBAL_ALL); easy_init(curl); easy_setopt(curl, CURLOPT_URL, URL); |
︙ | ︙ | |||
74 75 76 77 78 79 80 | res = CURLE_HTTP_RETURNED_ERROR; goto test_cleanup; } test_cleanup: curl_easy_cleanup(curl); curl_global_cleanup(); | | | 74 75 76 77 78 79 80 81 82 | res = CURLE_HTTP_RETURNED_ERROR; goto test_cleanup; } test_cleanup: curl_easy_cleanup(curl); curl_global_cleanup(); return (int)res; } |
Changes to jni/curl/tests/libtest/lib1533.c.
︙ | ︙ | |||
127 128 129 130 131 132 133 | } int test(char *URL) { struct cb_data data; CURL *curl = NULL; | | | 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | } int test(char *URL) { struct cb_data data; CURL *curl = NULL; int res = TEST_ERR_FAILURE; if(curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) { fprintf(stderr, "curl_global_init() failed\n"); return TEST_ERR_MAJOR_BAD; } curl = curl_easy_init(); |
︙ | ︙ |
Changes to jni/curl/tests/libtest/lib1534.c.
︙ | ︙ | |||
27 28 29 30 31 32 33 | /* Test CURLINFO_FILETIME */ int test(char *URL) { CURL *curl, *dupe = NULL; long filetime; | | | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | /* Test CURLINFO_FILETIME */ int test(char *URL) { CURL *curl, *dupe = NULL; long filetime; CURLcode res = CURLE_OK; global_init(CURL_GLOBAL_ALL); easy_init(curl); /* Test that a filetime is properly initialized on curl_easy_init. */ |
︙ | ︙ | |||
123 124 125 126 127 128 129 | goto test_cleanup; } test_cleanup: curl_easy_cleanup(curl); curl_easy_cleanup(dupe); curl_global_cleanup(); | | | 123 124 125 126 127 128 129 130 131 | goto test_cleanup; } test_cleanup: curl_easy_cleanup(curl); curl_easy_cleanup(dupe); curl_global_cleanup(); return (int)res; } |
Changes to jni/curl/tests/libtest/lib1535.c.
︙ | ︙ | |||
27 28 29 30 31 32 33 | /* Test CURLINFO_PROTOCOL */ int test(char *URL) { CURL *curl, *dupe = NULL; long protocol; | | | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | /* Test CURLINFO_PROTOCOL */ int test(char *URL) { CURL *curl, *dupe = NULL; long protocol; CURLcode res = CURLE_OK; global_init(CURL_GLOBAL_ALL); easy_init(curl); /* Test that protocol is properly initialized on curl_easy_init. */ |
︙ | ︙ | |||
122 123 124 125 126 127 128 | goto test_cleanup; } test_cleanup: curl_easy_cleanup(curl); curl_easy_cleanup(dupe); curl_global_cleanup(); | | | 122 123 124 125 126 127 128 129 130 | goto test_cleanup; } test_cleanup: curl_easy_cleanup(curl); curl_easy_cleanup(dupe); curl_global_cleanup(); return (int)res; } |
Changes to jni/curl/tests/libtest/lib1536.c.
︙ | ︙ | |||
27 28 29 30 31 32 33 | /* Test CURLINFO_SCHEME */ int test(char *URL) { CURL *curl, *dupe = NULL; char *scheme; | | | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | /* Test CURLINFO_SCHEME */ int test(char *URL) { CURL *curl, *dupe = NULL; char *scheme; CURLcode res = CURLE_OK; global_init(CURL_GLOBAL_ALL); easy_init(curl); /* Test that scheme is properly initialized on curl_easy_init. */ |
︙ | ︙ | |||
123 124 125 126 127 128 129 | goto test_cleanup; } test_cleanup: curl_easy_cleanup(curl); curl_easy_cleanup(dupe); curl_global_cleanup(); | | | 123 124 125 126 127 128 129 130 131 | goto test_cleanup; } test_cleanup: curl_easy_cleanup(curl); curl_easy_cleanup(dupe); curl_global_cleanup(); return (int)res; } |
Changes to jni/curl/tests/libtest/lib1555.c.
︙ | ︙ | |||
33 34 35 36 37 38 39 | static int progressCallback(void *arg, double dltotal, double dlnow, double ultotal, double ulnow) { | | | 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | static int progressCallback(void *arg, double dltotal, double dlnow, double ultotal, double ulnow) { CURLcode res = CURLE_OK; char buffer[256]; size_t n = 0; (void)arg; (void)dltotal; (void)dlnow; (void)ultotal; (void)ulnow; |
︙ | ︙ |
Changes to jni/curl/tests/libtest/lib1558.c.
︙ | ︙ | |||
25 26 27 28 29 30 31 | #include "testutil.h" #include "warnless.h" #include "memdebug.h" int test(char *URL) { | | | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #include "testutil.h" #include "warnless.h" #include "memdebug.h" int test(char *URL) { CURLcode res = CURLE_OK; CURL *curl = NULL; long protocol = 0; global_init(CURL_GLOBAL_ALL); easy_init(curl); easy_setopt(curl, CURLOPT_URL, URL); |
︙ | ︙ |
Changes to jni/curl/tests/libtest/lib1559.c.
︙ | ︙ | |||
26 27 28 29 30 31 32 | #include "testutil.h" #include "warnless.h" #include "memdebug.h" #define EXCESSIVE 10*1000*1000 int test(char *URL) { | | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #include "testutil.h" #include "warnless.h" #include "memdebug.h" #define EXCESSIVE 10*1000*1000 int test(char *URL) { CURLcode res = CURLE_OK; CURL *curl = NULL; char *longurl = malloc(EXCESSIVE); CURLU *u; (void)URL; if(!longurl) return 1; |
︙ | ︙ |
Changes to jni/curl/tests/libtest/lib1560.c.
︙ | ︙ | |||
56 57 58 59 60 61 62 | {CURLUPART_PASSWORD, "password"}, {CURLUPART_OPTIONS, "options"}, {CURLUPART_HOST, "host"}, {CURLUPART_PORT, "port"}, {CURLUPART_PATH, "path"}, {CURLUPART_QUERY, "query"}, {CURLUPART_FRAGMENT, "fragment"}, | | | 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | {CURLUPART_PASSWORD, "password"}, {CURLUPART_OPTIONS, "options"}, {CURLUPART_HOST, "host"}, {CURLUPART_PORT, "port"}, {CURLUPART_PATH, "path"}, {CURLUPART_QUERY, "query"}, {CURLUPART_FRAGMENT, "fragment"}, {CURLUPART_URL, NULL} }; memset(buf, 0, sizeof(buf)); for(i = 0; parts[i].name; i++) { char *p = NULL; size_t n; rc = curl_url_get(u, parts[i].part, &p, getflags); |
︙ | ︙ | |||
554 555 556 557 558 559 560 | CURLU_NON_SUPPORT_SCHEME, 0, CURLUE_NO_HOST}, {"custom-scheme://?expected=test-new-good", "custom-scheme:///?expected=test-new-good", CURLU_NON_SUPPORT_SCHEME | CURLU_NO_AUTHORITY, 0, CURLUE_OK}, {"custom-scheme://host?expected=test-still-good", "custom-scheme://host/?expected=test-still-good", CURLU_NON_SUPPORT_SCHEME | CURLU_NO_AUTHORITY, 0, CURLUE_OK}, | | | 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 | CURLU_NON_SUPPORT_SCHEME, 0, CURLUE_NO_HOST}, {"custom-scheme://?expected=test-new-good", "custom-scheme:///?expected=test-new-good", CURLU_NON_SUPPORT_SCHEME | CURLU_NO_AUTHORITY, 0, CURLUE_OK}, {"custom-scheme://host?expected=test-still-good", "custom-scheme://host/?expected=test-still-good", CURLU_NON_SUPPORT_SCHEME | CURLU_NO_AUTHORITY, 0, CURLUE_OK}, {NULL, NULL, 0, 0, CURLUE_OK} }; static int checkurl(const char *url, const char *out) { if(strcmp(out, url)) { fprintf(stderr, "Wanted: %s\nGot : %s\n", out, url); |
︙ | ︙ | |||
718 719 720 721 722 723 724 | CURLUE_BAD_HOSTNAME}, {"custom-scheme://host", "host=\"\",", "custom-scheme:///", CURLU_NON_SUPPORT_SCHEME, CURLU_NON_SUPPORT_SCHEME | CURLU_NO_AUTHORITY, CURLUE_OK, CURLUE_OK}, | | | 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 | CURLUE_BAD_HOSTNAME}, {"custom-scheme://host", "host=\"\",", "custom-scheme:///", CURLU_NON_SUPPORT_SCHEME, CURLU_NON_SUPPORT_SCHEME | CURLU_NO_AUTHORITY, CURLUE_OK, CURLUE_OK}, {NULL, NULL, NULL, 0, 0, CURLUE_OK, CURLUE_OK} }; static CURLUPart part2id(char *part) { if(!strcmp("url", part)) return CURLUPART_URL; if(!strcmp("scheme", part)) |
︙ | ︙ | |||
796 797 798 799 800 801 802 | return CURLUE_OK; } static const struct redircase set_url_list[] = { {"http://example.org/static/favicon/wikipedia.ico", "//fake.example.com/licenses/by-sa/3.0/", "http://fake.example.com/licenses/by-sa/3.0/", | | | | | | | | | | 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 | return CURLUE_OK; } static const struct redircase set_url_list[] = { {"http://example.org/static/favicon/wikipedia.ico", "//fake.example.com/licenses/by-sa/3.0/", "http://fake.example.com/licenses/by-sa/3.0/", 0, 0, CURLUE_OK}, {"https://example.org/static/favicon/wikipedia.ico", "//fake.example.com/licenses/by-sa/3.0/", "https://fake.example.com/licenses/by-sa/3.0/", 0, 0, CURLUE_OK}, {"file://localhost/path?query#frag", "foo#another", "file:///foo#another", 0, 0, CURLUE_OK}, {"http://example.com/path?query#frag", "https://two.example.com/bradnew", "https://two.example.com/bradnew", 0, 0, CURLUE_OK}, {"http://example.com/path?query#frag", "../../newpage#foo", "http://example.com/newpage#foo", 0, 0, CURLUE_OK}, {"http://user:foo@example.com/path?query#frag", "../../newpage", "http://user:foo@example.com/newpage", 0, 0, CURLUE_OK}, {"http://user:foo@example.com/path?query#frag", "../newpage", "http://user:foo@example.com/newpage", 0, 0, CURLUE_OK}, {NULL, NULL, NULL, 0, 0, CURLUE_OK} }; static int set_url(void) { int i; int error = 0; |
︙ | ︙ | |||
1008 1009 1010 1011 1012 1013 1014 | {"HTTP://test/", "name=joe", "http://test/?name=joe", 0, 0, CURLUE_OK}, {"HTTP://test/?size=2", "name=joe", "http://test/?size=2&name=joe", 0, 0, CURLUE_OK}, {"HTTP://test/?size=2&", "name=joe", "http://test/?size=2&name=joe", 0, 0, CURLUE_OK}, {"HTTP://test/?size=2#f", "name=joe", "http://test/?size=2&name=joe#f", 0, 0, CURLUE_OK}, | | | 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 | {"HTTP://test/", "name=joe", "http://test/?name=joe", 0, 0, CURLUE_OK}, {"HTTP://test/?size=2", "name=joe", "http://test/?size=2&name=joe", 0, 0, CURLUE_OK}, {"HTTP://test/?size=2&", "name=joe", "http://test/?size=2&name=joe", 0, 0, CURLUE_OK}, {"HTTP://test/?size=2#f", "name=joe", "http://test/?size=2&name=joe#f", 0, 0, CURLUE_OK}, {NULL, NULL, NULL, 0, 0, CURLUE_OK} }; static int append(void) { int i; int error = 0; for(i = 0; append_list[i].in && !error; i++) { |
︙ | ︙ | |||
1249 1250 1251 1252 1253 1254 1255 | {CURLUPART_OPTIONS, "options", NULL, CURLUE_NO_OPTIONS}, {CURLUPART_HOST, "host", NULL, CURLUE_NO_HOST}, {CURLUPART_ZONEID, "eth0", NULL, CURLUE_NO_ZONEID}, {CURLUPART_PORT, "1234", NULL, CURLUE_NO_PORT}, {CURLUPART_PATH, "/hello", "/", CURLUE_OK}, {CURLUPART_QUERY, "a=b", NULL, CURLUE_NO_QUERY}, {CURLUPART_FRAGMENT, "anchor", NULL, CURLUE_NO_FRAGMENT}, | | | 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 | {CURLUPART_OPTIONS, "options", NULL, CURLUE_NO_OPTIONS}, {CURLUPART_HOST, "host", NULL, CURLUE_NO_HOST}, {CURLUPART_ZONEID, "eth0", NULL, CURLUE_NO_ZONEID}, {CURLUPART_PORT, "1234", NULL, CURLUE_NO_PORT}, {CURLUPART_PATH, "/hello", "/", CURLUE_OK}, {CURLUPART_QUERY, "a=b", NULL, CURLUE_NO_QUERY}, {CURLUPART_FRAGMENT, "anchor", NULL, CURLUE_NO_FRAGMENT}, {CURLUPART_URL, NULL, NULL, CURLUE_OK}, }; static int clear_url(void) { CURLU *u = curl_url(); int i, error = 0; if(u) { |
︙ | ︙ |
Added jni/curl/tests/libtest/lib1597.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 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software 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.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * * SPDX-License-Identifier: curl * ***************************************************************************/ /* Testing CURLOPT_PROTOCOLS_STR */ #include "test.h" #include "memdebug.h" struct pair { const char *in; CURLcode exp; }; int test(char *URL) { CURL *curl = NULL; int res = 0; CURLcode result = CURLE_OK; int i; struct pair prots[] = { {"goobar", CURLE_BAD_FUNCTION_ARGUMENT}, {"http ", CURLE_BAD_FUNCTION_ARGUMENT}, {" http", CURLE_BAD_FUNCTION_ARGUMENT}, {"http", CURLE_OK}, {"http,", CURLE_OK}, {"https,", CURLE_OK}, {"https,http", CURLE_OK}, {"http,http", CURLE_OK}, {"HTTP,HTTP", CURLE_OK}, {",HTTP,HTTP", CURLE_OK}, {"http,http,ft", CURLE_BAD_FUNCTION_ARGUMENT}, {"", CURLE_BAD_FUNCTION_ARGUMENT}, {",,", CURLE_BAD_FUNCTION_ARGUMENT}, {"DICT,FILE,FTP,FTPS,GOPHER,GOPHERS,HTTP,HTTPS,IMAP,IMAPS,LDAP,LDAPS," "POP3,POP3S,RTMP,RTMPE,RTMPS,RTMPT,RTMPTE,RTMPTS,RTSP,SCP,SFTP,SMB," "SMBS,SMTP,SMTPS,TELNET,TFTP", CURLE_OK}, {"all", CURLE_OK}, {NULL, CURLE_OK}, }; (void)URL; global_init(CURL_GLOBAL_ALL); easy_init(curl); for(i = 0; prots[i].in; i++) { result = curl_easy_setopt(curl, CURLOPT_PROTOCOLS_STR, prots[i].in); if(result != prots[i].exp) { printf("unexpectedly '%s' returned %u\n", prots[i].in, result); break; } } printf("Tested %u strings\n", i); res = (int)result; test_cleanup: curl_easy_cleanup(curl); curl_global_cleanup(); return (int)result; } |
Changes to jni/curl/tests/libtest/lib3026.c.
︙ | ︙ | |||
22 23 24 25 26 27 28 | * ***************************************************************************/ #include "test.h" #include "testutil.h" #include "warnless.h" | > > | > > > | > > > | > | > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | * ***************************************************************************/ #include "test.h" #include "testutil.h" #include "warnless.h" #define NUM_THREADS 100 #ifdef WIN32 static DWORD WINAPI run_thread(LPVOID ptr) { CURLcode *result = ptr; *result = curl_global_init(CURL_GLOBAL_ALL); if(*result == CURLE_OK) curl_global_cleanup(); return 0; } int test(char *URL) { CURLcode results[NUM_THREADS]; HANDLE ths[NUM_THREADS]; unsigned tid_count = NUM_THREADS, i; int test_failure = 0; curl_version_info_data *ver; (void) URL; ver = curl_version_info(CURLVERSION_NOW); if((ver->features & CURL_VERSION_THREADSAFE) == 0) { fprintf(stderr, "%s:%d On Windows but the " "CURL_VERSION_THREADSAFE feature flag is not set\n", __FILE__, __LINE__); return -1; } for(i = 0; i < tid_count; i++) { HANDLE th; results[i] = CURL_LAST; /* initialize with invalid value */ th = CreateThread(NULL, 0, run_thread, &results[i], 0, NULL); if(!th) { fprintf(stderr, "%s:%d Couldn't create thread, errno %d\n", __FILE__, __LINE__, GetLastError()); tid_count = i; test_failure = -1; goto cleanup; } ths[i] = th; } cleanup: for(i = 0; i < tid_count; i++) { WaitForSingleObject(ths[i], INFINITE); CloseHandle(ths[i]); if(results[i] != CURLE_OK) { fprintf(stderr, "%s:%d thread[%u]: curl_global_init() failed," "with code %d (%s)\n", __FILE__, __LINE__, i, (int) results[i], curl_easy_strerror(results[i])); test_failure = -1; } } return test_failure; } #elif defined(HAVE_PTHREAD_H) #include <pthread.h> #include <unistd.h> static void *run_thread(void *ptr) { CURLcode *result = ptr; *result = curl_global_init(CURL_GLOBAL_ALL); if(*result == CURLE_OK) curl_global_cleanup(); |
︙ | ︙ | |||
57 58 59 60 61 62 63 | fprintf(stderr, "%s:%d Have pthread but the " "CURL_VERSION_THREADSAFE feature flag is not set\n", __FILE__, __LINE__); return -1; } for(i = 0; i < tid_count; i++) { | > > | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | fprintf(stderr, "%s:%d Have pthread but the " "CURL_VERSION_THREADSAFE feature flag is not set\n", __FILE__, __LINE__); return -1; } for(i = 0; i < tid_count; i++) { int res; results[i] = CURL_LAST; /* initialize with invalid value */ res = pthread_create(&tids[i], NULL, run_thread, &results[i]); if(res) { fprintf(stderr, "%s:%d Couldn't create thread, errno %d\n", __FILE__, __LINE__, res); tid_count = i; test_failure = -1; goto cleanup; } |
︙ | ︙ | |||
81 82 83 84 85 86 87 | test_failure = -1; } } return test_failure; } | | | 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | test_failure = -1; } } return test_failure; } #else /* without pthread or Windows, this test doesn't work */ int test(char *URL) { curl_version_info_data *ver; (void)URL; ver = curl_version_info(CURLVERSION_NOW); if((ver->features & CURL_VERSION_THREADSAFE) != 0) { |
︙ | ︙ |
Changes to jni/curl/tests/libtest/lib530.c.
︙ | ︙ | |||
88 89 90 91 92 93 94 | if(!sockets->sockets) { sockets->sockets = malloc(sizeof(curl_socket_t) * 20U); if(!sockets->sockets) return 1; sockets->max_count = 20; } else if(sockets->count + 1 > sockets->max_count) { | < | | | < < > | 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | if(!sockets->sockets) { sockets->sockets = malloc(sizeof(curl_socket_t) * 20U); if(!sockets->sockets) return 1; sockets->max_count = 20; } else if(sockets->count + 1 > sockets->max_count) { curl_socket_t *ptr = realloc(sockets->sockets, sizeof(curl_socket_t) * (sockets->max_count + 20)); if(!ptr) /* cleanup in test_cleanup */ return 1; sockets->sockets = ptr; sockets->max_count += 20; } /* * Add file descriptor to array. */ sockets->sockets[sockets->count] = fd; ++sockets->count; |
︙ | ︙ | |||
245 246 247 248 249 250 251 | * Invoke curl when a file descriptor is set. */ static int checkFdSet(CURLM *curl, struct Sockets *sockets, fd_set *fdset, int evBitmask, const char *name) { int i; | | | | 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 | * Invoke curl when a file descriptor is set. */ static int checkFdSet(CURLM *curl, struct Sockets *sockets, fd_set *fdset, int evBitmask, const char *name) { int i; int result = 0; for(i = 0; i < sockets->count; ++i) { if(FD_ISSET(sockets->sockets[i], fdset)) { result = socket_action(curl, sockets->sockets[i], evBitmask, name); if(result) break; } } return result; } static int testone(char *URL, int timercb, int socketcb) { int res = 0; CURL *curl = NULL; CURLM *m = NULL; struct ReadWriteSockets sockets = {{NULL, 0, 0}, {NULL, 0, 0}}; |
︙ | ︙ | |||
357 358 359 360 361 362 363 | curl_easy_cleanup(curl); curl_multi_cleanup(m); curl_global_cleanup(); /* free local memory */ free(sockets.read.sockets); free(sockets.write.sockets); | < | 355 356 357 358 359 360 361 362 363 364 365 366 367 368 | curl_easy_cleanup(curl); curl_multi_cleanup(m); curl_global_cleanup(); /* free local memory */ free(sockets.read.sockets); free(sockets.write.sockets); return res; } int test(char *URL) { int rc; /* rerun the same transfer multiple times and make it fail in different |
︙ | ︙ |
Changes to jni/curl/tests/libtest/lib557.c.
︙ | ︙ | |||
123 124 125 126 127 128 129 | static int test_unsigned_short_formatting(void) { int i, j; int num_ushort_tests = 0; int failed = 0; | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 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 | static int test_unsigned_short_formatting(void) { int i, j; int num_ushort_tests = 0; int failed = 0; i = 1; us_test[i].num = 0xFFFFU; us_test[i].expected = "65535"; i++; us_test[i].num = 0xFF00U; us_test[i].expected = "65280"; i++; us_test[i].num = 0x00FFU; us_test[i].expected = "255"; i++; us_test[i].num = 0xF000U; us_test[i].expected = "61440"; i++; us_test[i].num = 0x0F00U; us_test[i].expected = "3840"; i++; us_test[i].num = 0x00F0U; us_test[i].expected = "240"; i++; us_test[i].num = 0x000FU; us_test[i].expected = "15"; i++; us_test[i].num = 0xC000U; us_test[i].expected = "49152"; i++; us_test[i].num = 0x0C00U; us_test[i].expected = "3072"; i++; us_test[i].num = 0x00C0U; us_test[i].expected = "192"; i++; us_test[i].num = 0x000CU; us_test[i].expected = "12"; i++; us_test[i].num = 0x0001U; us_test[i].expected = "1"; i++; us_test[i].num = 0x0000U; us_test[i].expected = "0"; num_ushort_tests = i; for(i = 1; i <= num_ushort_tests; i++) { for(j = 0; j<BUFSZ; j++) us_test[i].result[j] = 'X'; us_test[i].result[BUFSZ-1] = '\0'; (void)curl_msprintf(us_test[i].result, "%hu", us_test[i].num); |
︙ | ︙ | |||
230 231 232 233 234 235 236 | static int test_signed_short_formatting(void) { int i, j; int num_sshort_tests = 0; int failed = 0; | < < < < < < < < < < < < < < < < < < < < < < < < < < < | 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | static int test_signed_short_formatting(void) { int i, j; int num_sshort_tests = 0; int failed = 0; i = 1; ss_test[i].num = 0x7FFF; ss_test[i].expected = "32767"; i++; ss_test[i].num = 0x7FFE; ss_test[i].expected = "32766"; i++; ss_test[i].num = 0x7FFD; ss_test[i].expected = "32765"; i++; ss_test[i].num = 0x7F00; ss_test[i].expected = "32512"; i++; ss_test[i].num = 0x07F0; ss_test[i].expected = "2032"; i++; ss_test[i].num = 0x007F; ss_test[i].expected = "127"; |
︙ | ︙ | |||
298 299 300 301 302 303 304 | i++; ss_test[i].num = -0x0050 -1; ss_test[i].expected = "-81"; i++; ss_test[i].num = -0x0005 -1; ss_test[i].expected = "-6"; i++; ss_test[i].num = 0x0000 -1; ss_test[i].expected = "-1"; num_sshort_tests = i; | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 216 217 218 219 220 221 222 223 224 225 226 227 228 229 | i++; ss_test[i].num = -0x0050 -1; ss_test[i].expected = "-81"; i++; ss_test[i].num = -0x0005 -1; ss_test[i].expected = "-6"; i++; ss_test[i].num = 0x0000 -1; ss_test[i].expected = "-1"; num_sshort_tests = i; for(i = 1; i <= num_sshort_tests; i++) { for(j = 0; j<BUFSZ; j++) ss_test[i].result[j] = 'X'; ss_test[i].result[BUFSZ-1] = '\0'; (void)curl_msprintf(ss_test[i].result, "%hd", ss_test[i].num); |
︙ | ︙ | |||
1528 1529 1530 1531 1532 1533 1534 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 7 */ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 8 */ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 9 */ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 10 */ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 11 */ 0, 1, 2, 3, 4, 5, 6, 7, 8); /* 9 */ | | | | 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 7 */ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 8 */ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 9 */ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 10 */ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, /* 10 11 */ 0, 1, 2, 3, 4, 5, 6, 7, 8); /* 9 */ if(rc) { printf("curl_mprintf() returned %d and not 0\n", rc); errors++; } errors += string_check(buf, ""); /* Do not skip sanity checks with parameters! */ buf[0] = 0; |
︙ | ︙ |
Changes to jni/curl/tests/libtest/lib658.c.
︙ | ︙ | |||
30 31 32 33 34 35 36 | /* * Get a single URL without select(). */ int test(char *URL) { CURL *handle = NULL; | | | | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | /* * Get a single URL without select(). */ int test(char *URL) { CURL *handle = NULL; CURLcode res = CURLE_OK; CURLU *urlp = NULL; CURLUcode uc = CURLUE_OK; global_init(CURL_GLOBAL_ALL); easy_init(handle); urlp = curl_url(); if(!urlp) { |
︙ | ︙ |
Changes to jni/curl/tests/libtest/lib659.c.
︙ | ︙ | |||
30 31 32 33 34 35 36 | /* * Get a single URL without select(). */ int test(char *URL) { CURL *handle = NULL; | | | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | /* * Get a single URL without select(). */ int test(char *URL) { CURL *handle = NULL; CURLcode res = CURLE_OK; CURLU *urlp = NULL; global_init(CURL_GLOBAL_ALL); easy_init(handle); urlp = curl_url(); |
︙ | ︙ |
Changes to jni/curl/tests/libtest/lib674.c.
︙ | ︙ | |||
31 32 33 34 35 36 37 | * Get a single URL without select(). */ int test(char *URL) { CURL *handle = NULL; CURL *handle2; | | | | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | * Get a single URL without select(). */ int test(char *URL) { CURL *handle = NULL; CURL *handle2; CURLcode res = CURLE_OK; CURLU *urlp = NULL; CURLUcode uc = CURLUE_OK; global_init(CURL_GLOBAL_ALL); easy_init(handle); urlp = curl_url(); if(!urlp) { |
︙ | ︙ |
jni/curl/tests/libtest/mk-lib1521.pl became executable.
︙ | ︙ |
jni/curl/tests/manpage-scan.pl became executable.
︙ | ︙ |
jni/curl/tests/mem-include-scan.pl became executable.
︙ | ︙ |
jni/curl/tests/nroff-scan.pl became executable.
︙ | ︙ |
Changes to jni/curl/tests/runtests.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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH runtests.pl 1 "May 17, 2022" "Curl 7.85.0" "runtests" .SH NAME runtests.pl \- run one or more test cases .SH SYNOPSIS .B runtests.pl [options] [tests] .SH DESCRIPTION \fIruntests.pl\fP runs one, several or all the existing test cases in curl's |
︙ | ︙ |
Changes to jni/curl/tests/runtests.pl.
︙ | ︙ | |||
171 172 173 174 175 176 177 | my %custom_skip_reasons; my $SSHSRVMD5 = "[uninitialized]"; # MD5 of ssh server public key my $SSHSRVSHA256 = "[uninitialized]"; # SHA256 of ssh server public key my $VERSION=""; # curl's reported version number my $srcdir = $ENV{'srcdir'} || '.'; | | > > | 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | my %custom_skip_reasons; my $SSHSRVMD5 = "[uninitialized]"; # MD5 of ssh server public key my $SSHSRVSHA256 = "[uninitialized]"; # SHA256 of ssh server public key my $VERSION=""; # curl's reported version number my $srcdir = $ENV{'srcdir'} || '.'; my $CURL="../src/curl".exe_ext('TOOL'); # what curl binary to run on the tests my $VCURL=$CURL; # what curl binary to use to verify the servers with # VCURL is handy to set to the system one when the one you # just built hangs or crashes and thus prevent verification my $ACURL=$VCURL; # what curl binary to use to talk to APIs (relevant for CI) # ACURL is handy to set to the system one for reliability my $DBGCURL=$CURL; #"../src/.libs/curl"; # alternative for debugging my $LOGDIR="log"; my $TESTDIR="$srcdir/data"; my $LIBDIR="./libtest"; my $UNITDIR="./unit"; # TODO: change this to use server_inputfilename() my $SERVERIN="$LOGDIR/server.input"; # what curl sent the server |
︙ | ︙ | |||
3785 3786 3787 3788 3789 3790 3791 | # get the name of the test early my @testname= getpart("client", "name"); my $testname = $testname[0]; $testname =~ s/\n//g; # create test result in CI services if(azure_check_environment() && $AZURE_RUN_ID) { | | | | 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 | # get the name of the test early my @testname= getpart("client", "name"); my $testname = $testname[0]; $testname =~ s/\n//g; # create test result in CI services if(azure_check_environment() && $AZURE_RUN_ID) { $AZURE_RESULT_ID = azure_create_test_result($ACURL, $AZURE_RUN_ID, $testnum, $testname); } elsif(appveyor_check_environment()) { appveyor_create_test_result($ACURL, $testnum, $testname); } # remove test server commands file before servers are started/verified unlink($FTPDCMD) if(-f $FTPDCMD); # timestamp required servers verification start $timesrvrini{$testnum} = Time::HiRes::time(); |
︙ | ︙ | |||
5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 | # Particularly useful when you introduce a crashing bug somewhere in # the development version as then it won't be able to run any tests # since it can't verify the servers! $VCURL="\"$ARGV[1]\""; shift @ARGV; } elsif ($ARGV[0] eq "-d") { # have the servers display protocol output $debugprotocol=1; } elsif($ARGV[0] eq "-e") { # run the tests cases event based if possible | > > > > > | 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 | # Particularly useful when you introduce a crashing bug somewhere in # the development version as then it won't be able to run any tests # since it can't verify the servers! $VCURL="\"$ARGV[1]\""; shift @ARGV; } elsif ($ARGV[0] eq "-ac") { # use this curl only to talk to APIs (currently only CI test APIs) $ACURL="\"$ARGV[1]\""; shift @ARGV; } elsif ($ARGV[0] eq "-d") { # have the servers display protocol output $debugprotocol=1; } elsif($ARGV[0] eq "-e") { # run the tests cases event based if possible |
︙ | ︙ | |||
5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 | $err_unexpected=1; } elsif(($ARGV[0] eq "-h") || ($ARGV[0] eq "--help")) { # show help text print <<EOHELP Usage: runtests.pl [options] [test selection(s)] -a continue even if a test fails -am automake style output PASS/FAIL: [number] [name] -c path use this curl executable -d display server debug info -e event-based execution -E file load the specified file to exclude certain tests -f forcibly run even if disabled -g run the test case with gdb | > | 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 | $err_unexpected=1; } elsif(($ARGV[0] eq "-h") || ($ARGV[0] eq "--help")) { # show help text print <<EOHELP Usage: runtests.pl [options] [test selection(s)] -a continue even if a test fails -ac path use this curl only to talk to APIs (currently only CI test APIs) -am automake style output PASS/FAIL: [number] [name] -c path use this curl executable -d display server debug info -e event-based execution -E file load the specified file to exclude certain tests -f forcibly run even if disabled -g run the test case with gdb |
︙ | ︙ | |||
6136 6137 6138 6139 6140 6141 6142 | } ####################################################################### # Setup Azure Pipelines Test Run (if running in Azure DevOps) # if(azure_check_environment()) { | | | 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 | } ####################################################################### # Setup Azure Pipelines Test Run (if running in Azure DevOps) # if(azure_check_environment()) { $AZURE_RUN_ID = azure_create_test_run($ACURL); logmsg "Azure Run ID: $AZURE_RUN_ID\n" if ($verbose); } ####################################################################### # The main test-loop # |
︙ | ︙ | |||
6165 6166 6167 6168 6169 6170 6171 | $lasttest = $testnum if($testnum > $lasttest); $count++; my $error = singletest($run_event_based, $testnum, $count, scalar(@at)); # update test result in CI services if(azure_check_environment() && $AZURE_RUN_ID && $AZURE_RESULT_ID) { | | | | 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 | $lasttest = $testnum if($testnum > $lasttest); $count++; my $error = singletest($run_event_based, $testnum, $count, scalar(@at)); # update test result in CI services if(azure_check_environment() && $AZURE_RUN_ID && $AZURE_RESULT_ID) { $AZURE_RESULT_ID = azure_update_test_result($ACURL, $AZURE_RUN_ID, $AZURE_RESULT_ID, $testnum, $error, $timeprepini{$testnum}, $timevrfyend{$testnum}); } elsif(appveyor_check_environment()) { appveyor_update_test_result($ACURL, $testnum, $error, $timeprepini{$testnum}, $timevrfyend{$testnum}); } if($error < 0) { # not a test we can run next; } |
︙ | ︙ | |||
6214 6215 6216 6217 6218 6219 6220 | my $sofar = time() - $start; ####################################################################### # Finish Azure Pipelines Test Run (if running in Azure DevOps) # if(azure_check_environment() && $AZURE_RUN_ID) { | | | 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 | my $sofar = time() - $start; ####################################################################### # Finish Azure Pipelines Test Run (if running in Azure DevOps) # if(azure_check_environment() && $AZURE_RUN_ID) { $AZURE_RUN_ID = azure_update_test_run($ACURL, $AZURE_RUN_ID); } # Tests done, stop the servers my $unexpected = stopservers($verbose); my $all = $total + $skipped; |
︙ | ︙ |
Changes to jni/curl/tests/server/Makefile.in.
︙ | ︙ | |||
115 116 117 118 119 120 121 | @DOING_NATIVE_WINDOWS_TRUE@am__append_1 = -DCURL_STATICLIB noinst_PROGRAMS = getpart$(EXEEXT) resolve$(EXEEXT) rtspd$(EXEEXT) \ sockfilt$(EXEEXT) sws$(EXEEXT) tftpd$(EXEEXT) \ fake_ntlm$(EXEEXT) socksd$(EXEEXT) disabled$(EXEEXT) \ mqttd$(EXEEXT) subdir = tests/server ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | | < | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | @DOING_NATIVE_WINDOWS_TRUE@am__append_1 = -DCURL_STATICLIB noinst_PROGRAMS = getpart$(EXEEXT) resolve$(EXEEXT) rtspd$(EXEEXT) \ sockfilt$(EXEEXT) sws$(EXEEXT) tftpd$(EXEEXT) \ fake_ntlm$(EXEEXT) socksd$(EXEEXT) disabled$(EXEEXT) \ mqttd$(EXEEXT) subdir = tests/server ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \ $(top_srcdir)/m4/curl-bearssl.m4 \ $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-gnutls.m4 \ $(top_srcdir)/m4/curl-mbedtls.m4 $(top_srcdir)/m4/curl-nss.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ |
︙ | ︙ | |||
671 672 673 674 675 676 677 678 679 680 681 682 683 684 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ | > | 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ |
︙ | ︙ |
jni/curl/tests/server/base64.pl became executable.
︙ | ︙ |
Changes to jni/curl/tests/server/sockfilt.c.
︙ | ︙ | |||
400 401 402 403 404 405 406 | * * https://msdn.microsoft.com/en-us/library/windows/desktop/ms687028.aspx * https://msdn.microsoft.com/en-us/library/windows/desktop/ms741572.aspx */ struct select_ws_wait_data { HANDLE handle; /* actual handle to wait for during select */ HANDLE signal; /* internal event to signal handle trigger */ | | < | < < < | | | | | | | | | | < | | | | | | < | | | | | | | < < < < < < < < < < | | | | | | | | | < | | | | | | | < < < < < < < < < < | | | | | | < | | | | | | | | | | | | < | | | | | | | | | < < < < < < < < < | | < < | < < | 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 | * * https://msdn.microsoft.com/en-us/library/windows/desktop/ms687028.aspx * https://msdn.microsoft.com/en-us/library/windows/desktop/ms741572.aspx */ struct select_ws_wait_data { HANDLE handle; /* actual handle to wait for during select */ HANDLE signal; /* internal event to signal handle trigger */ HANDLE abort; /* internal event to abort waiting threads */ }; static DWORD WINAPI select_ws_wait_thread(LPVOID lpParameter) { struct select_ws_wait_data *data; HANDLE signal, handle, handles[2]; INPUT_RECORD inputrecord; LARGE_INTEGER size, pos; DWORD type, length, ret; /* retrieve handles from internal structure */ data = (struct select_ws_wait_data *) lpParameter; if(data) { handle = data->handle; handles[0] = data->abort; handles[1] = handle; signal = data->signal; free(data); } else return (DWORD)-1; /* retrieve the type of file to wait on */ type = GetFileType(handle); switch(type) { case FILE_TYPE_DISK: /* The handle represents a file on disk, this means: * - WaitForMultipleObjectsEx will always be signalled for it. * - comparison of current position in file and total size of * the file can be used to check if we reached the end yet. * * Approach: Loop till either the internal event is signalled * or if the end of the file has already been reached. */ while(WaitForMultipleObjectsEx(1, handles, FALSE, 0, FALSE) == WAIT_TIMEOUT) { /* get total size of file */ length = 0; size.QuadPart = 0; size.LowPart = GetFileSize(handle, &length); if((size.LowPart != INVALID_FILE_SIZE) || (GetLastError() == NO_ERROR)) { size.HighPart = length; /* get the current position within the file */ pos.QuadPart = 0; pos.LowPart = SetFilePointer(handle, 0, &pos.HighPart, FILE_CURRENT); if((pos.LowPart != INVALID_SET_FILE_POINTER) || (GetLastError() == NO_ERROR)) { /* compare position with size, abort if not equal */ if(size.QuadPart == pos.QuadPart) { /* sleep and continue waiting */ SleepEx(0, FALSE); continue; } } } /* there is some data available, stop waiting */ logmsg("[select_ws_wait_thread] data available, DISK: %p", handle); SetEvent(signal); } break; case FILE_TYPE_CHAR: /* The handle represents a character input, this means: * - WaitForMultipleObjectsEx will be signalled on any kind of input, * including mouse and window size events we do not care about. * * Approach: Loop till either the internal event is signalled * or we get signalled for an actual key-event. */ while(WaitForMultipleObjectsEx(2, handles, FALSE, INFINITE, FALSE) == WAIT_OBJECT_0 + 1) { /* check if this is an actual console handle */ if(GetConsoleMode(handle, &ret)) { /* retrieve an event from the console buffer */ length = 0; if(PeekConsoleInput(handle, &inputrecord, 1, &length)) { /* check if the event is not an actual key-event */ if(length == 1 && inputrecord.EventType != KEY_EVENT) { /* purge the non-key-event and continue waiting */ ReadConsoleInput(handle, &inputrecord, 1, &length); continue; } } } /* there is some data available, stop waiting */ logmsg("[select_ws_wait_thread] data available, CHAR: %p", handle); SetEvent(signal); } break; case FILE_TYPE_PIPE: /* The handle represents an anonymous or named pipe, this means: * - WaitForMultipleObjectsEx will always be signalled for it. * - peek into the pipe and retrieve the amount of data available. * * Approach: Loop till either the internal event is signalled * or there is data in the pipe available for reading. */ while(WaitForMultipleObjectsEx(1, handles, FALSE, 0, FALSE) == WAIT_TIMEOUT) { /* peek into the pipe and retrieve the amount of data available */ length = 0; if(PeekNamedPipe(handle, NULL, 0, NULL, &length, NULL)) { /* if there is no data available, sleep and continue waiting */ if(length == 0) { SleepEx(0, FALSE); continue; } else { logmsg("[select_ws_wait_thread] PeekNamedPipe len: %d", length); } } else { /* if the pipe has NOT been closed, sleep and continue waiting */ ret = GetLastError(); if(ret != ERROR_BROKEN_PIPE) { logmsg("[select_ws_wait_thread] PeekNamedPipe error: %d", ret); SleepEx(0, FALSE); continue; } else { logmsg("[select_ws_wait_thread] pipe closed, PIPE: %p", handle); } } /* there is some data available, stop waiting */ logmsg("[select_ws_wait_thread] data available, PIPE: %p", handle); SetEvent(signal); } break; default: /* The handle has an unknown type, try to wait on it */ if(WaitForMultipleObjectsEx(2, handles, FALSE, INFINITE, FALSE) == WAIT_OBJECT_0 + 1) { logmsg("[select_ws_wait_thread] data available, HANDLE: %p", handle); SetEvent(signal); } break; } return 0; } static HANDLE select_ws_wait(HANDLE handle, HANDLE signal, HANDLE abort) { struct select_ws_wait_data *data; HANDLE thread = NULL; /* allocate internal waiting data structure */ data = malloc(sizeof(struct select_ws_wait_data)); if(data) { data->handle = handle; data->signal = signal; data->abort = abort; /* launch waiting thread */ thread = CreateThread(NULL, 0, &select_ws_wait_thread, data, 0, NULL); /* free data if thread failed to launch */ |
︙ | ︙ | |||
621 622 623 624 625 626 627 | WSAEVENT wsaevent; /* internal select event (indexed by nws) */ HANDLE signal; /* internal thread signal (indexed by nth) */ HANDLE thread; /* internal thread handle (indexed by nth) */ }; static int select_ws(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *tv) { | < > | 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 | WSAEVENT wsaevent; /* internal select event (indexed by nws) */ HANDLE signal; /* internal thread signal (indexed by nth) */ HANDLE thread; /* internal thread handle (indexed by nth) */ }; static int select_ws(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *tv) { DWORD timeout_ms, wait, nfd, nth, nws, i; HANDLE abort, signal, handle, *handles; fd_set readsock, writesock, exceptsock; struct select_ws_data *data; WSANETWORKEVENTS wsaevents; curl_socket_t wsasock; int error, ret, fd; WSAEVENT wsaevent; |
︙ | ︙ | |||
657 658 659 660 661 662 663 | /* create internal event to abort waiting threads */ abort = CreateEvent(NULL, TRUE, FALSE, NULL); if(!abort) { errno = ENOMEM; return -1; } | < < < < < < < < < < | 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 | /* create internal event to abort waiting threads */ abort = CreateEvent(NULL, TRUE, FALSE, NULL); if(!abort) { errno = ENOMEM; return -1; } /* allocate internal array for the internal data */ data = calloc(nfds, sizeof(struct select_ws_data)); if(!data) { CloseHandle(abort); errno = ENOMEM; return -1; } /* allocate internal array for the internal event handles */ handles = calloc(nfds + 1, sizeof(HANDLE)); if(!handles) { CloseHandle(abort); free(data); errno = ENOMEM; return -1; } /* loop over the handles in the input descriptor sets */ nfd = 0; /* number of handled file descriptors */ |
︙ | ︙ | |||
719 720 721 722 723 724 725 | /* only wait for events for which we actually care */ if(wsaevents.lNetworkEvents) { data[nfd].fd = fd; if(fd == fileno(stdin)) { signal = CreateEvent(NULL, TRUE, FALSE, NULL); if(signal) { handle = GetStdHandle(STD_INPUT_HANDLE); | | | 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 | /* only wait for events for which we actually care */ if(wsaevents.lNetworkEvents) { data[nfd].fd = fd; if(fd == fileno(stdin)) { signal = CreateEvent(NULL, TRUE, FALSE, NULL); if(signal) { handle = GetStdHandle(STD_INPUT_HANDLE); handle = select_ws_wait(handle, signal, abort); if(handle) { handles[nfd] = signal; data[nth].signal = signal; data[nth].thread = handle; nfd++; nth++; } |
︙ | ︙ | |||
773 774 775 776 777 778 779 | nws++; } else { WSACloseEvent(wsaevent); signal = CreateEvent(NULL, TRUE, FALSE, NULL); if(signal) { handle = (HANDLE)wsasock; | | | 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 | nws++; } else { WSACloseEvent(wsaevent); signal = CreateEvent(NULL, TRUE, FALSE, NULL); if(signal) { handle = (HANDLE)wsasock; handle = select_ws_wait(handle, signal, abort); if(handle) { handles[nfd] = signal; data[nth].signal = signal; data[nth].thread = handle; nfd++; nth++; } |
︙ | ︙ | |||
804 805 806 807 808 809 810 | handles[nfd] = exit_event; wait += 1; } /* wait for one of the internal handles to trigger */ wait = WaitForMultipleObjectsEx(wait, handles, FALSE, timeout_ms, FALSE); | | > > | > > | 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 | handles[nfd] = exit_event; wait += 1; } /* wait for one of the internal handles to trigger */ wait = WaitForMultipleObjectsEx(wait, handles, FALSE, timeout_ms, FALSE); /* signal the abort event handle and join the other waiting threads */ SetEvent(abort); for(i = 0; i < nth; i++) { WaitForSingleObjectEx(data[i].thread, INFINITE, FALSE); CloseHandle(data[i].thread); } /* loop over the internal handles returned in the descriptors */ ret = 0; /* number of ready file descriptors */ for(i = 0; i < nfd; i++) { fd = data[i].fd; handle = handles[i]; wsasock = curlx_sitosk(fd); |
︙ | ︙ | |||
864 865 866 867 868 869 870 | /* remove from all descriptor sets since this handle did not trigger */ FD_CLR(wsasock, readfds); FD_CLR(wsasock, writefds); FD_CLR(wsasock, exceptfds); } } | < < < < < < < | 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 | /* remove from all descriptor sets since this handle did not trigger */ FD_CLR(wsasock, readfds); FD_CLR(wsasock, writefds); FD_CLR(wsasock, exceptfds); } } for(fd = 0; fd < nfds; fd++) { if(FD_ISSET(fd, readfds)) logmsg("[select_ws] %d is readable", fd); if(FD_ISSET(fd, writefds)) logmsg("[select_ws] %d is writable", fd); if(FD_ISSET(fd, exceptfds)) logmsg("[select_ws] %d is exceptional", fd); } for(i = 0; i < nws; i++) { WSAEventSelect(data[i].wsasock, NULL, 0); WSACloseEvent(data[i].wsaevent); } for(i = 0; i < nth; i++) { CloseHandle(data[i].signal); } CloseHandle(abort); free(handles); free(data); return ret; } #define select(a,b,c,d,e) select_ws(a,b,c,d,e) |
︙ | ︙ |
jni/curl/tests/sshserver.pl became a regular file.
︙ | ︙ |
jni/curl/tests/symbol-scan.pl became executable.
︙ | ︙ |
Changes to jni/curl/tests/testcurl.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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" | | | 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. .\" * .\" * SPDX-License-Identifier: curl .\" * .\" ************************************************************************** .\" .TH testcurl.pl 1 "May 17, 2022" "Curl 7.85.0" "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.in.
︙ | ︙ | |||
113 114 115 116 117 118 119 | PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @BUILD_UNITTESTS_TRUE@noinst_PROGRAMS = $(am__EXEEXT_1) subdir = tests/unit ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | | < | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @BUILD_UNITTESTS_TRUE@noinst_PROGRAMS = $(am__EXEEXT_1) subdir = tests/unit ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-amissl.m4 \ $(top_srcdir)/m4/curl-bearssl.m4 \ $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-gnutls.m4 \ $(top_srcdir)/m4/curl-mbedtls.m4 $(top_srcdir)/m4/curl-nss.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ |
︙ | ︙ | |||
719 720 721 722 723 724 725 726 727 728 729 730 731 732 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ | > | 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 | USE_MBEDTLS = @USE_MBEDTLS@ USE_MSH3 = @USE_MSH3@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NGHTTP3 = @USE_NGHTTP3@ USE_NGTCP2 = @USE_NGTCP2@ USE_NGTCP2_CRYPTO_GNUTLS = @USE_NGTCP2_CRYPTO_GNUTLS@ USE_NGTCP2_CRYPTO_OPENSSL = @USE_NGTCP2_CRYPTO_OPENSSL@ USE_NGTCP2_CRYPTO_WOLFSSL = @USE_NGTCP2_CRYPTO_WOLFSSL@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_QUICHE = @USE_QUICHE@ USE_RUSTLS = @USE_RUSTLS@ USE_SCHANNEL = @USE_SCHANNEL@ USE_SECTRANSP = @USE_SECTRANSP@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1302.c.
︙ | ︙ | |||
28 29 30 31 32 33 34 | #include "curl_base64.h" #include "memdebug.h" /* LAST include file */ static struct Curl_easy *data; static CURLcode unit_setup(void) { | | | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | #include "curl_base64.h" #include "memdebug.h" /* LAST include file */ static struct Curl_easy *data; static CURLcode unit_setup(void) { CURLcode res = CURLE_OK; global_init(CURL_GLOBAL_ALL); data = curl_easy_init(); if(!data) { curl_global_cleanup(); return CURLE_OUT_OF_MEMORY; } |
︙ | ︙ | |||
85 86 87 88 89 90 91 | fail_unless(rc == CURLE_OK, "return code should be CURLE_OK"); fail_unless(size == 8, "size should be 8"); verify_memory(output, "/wH+Ag==", 8); Curl_safefree(output); rc = Curl_base64url_encode("\xff\x01\xfe\x02", 4, &output, &size); fail_unless(rc == CURLE_OK, "return code should be CURLE_OK"); | | | | | > > > > > > > > > > > > | 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 | fail_unless(rc == CURLE_OK, "return code should be CURLE_OK"); fail_unless(size == 8, "size should be 8"); verify_memory(output, "/wH+Ag==", 8); Curl_safefree(output); rc = Curl_base64url_encode("\xff\x01\xfe\x02", 4, &output, &size); fail_unless(rc == CURLE_OK, "return code should be CURLE_OK"); fail_unless(size == 6, "size should be 6"); verify_memory(output, "_wH-Ag", 6); Curl_safefree(output); rc = Curl_base64url_encode("iiii", 4, &output, &size); fail_unless(rc == CURLE_OK, "return code should be CURLE_OK"); fail_unless(size == 6, "size should be 6"); verify_memory(output, "aWlpaQ", 6); Curl_safefree(output); /* 0 length makes it do strlen() */ rc = Curl_base64_encode("iiii", 0, &output, &size); fail_unless(rc == CURLE_OK, "return code should be CURLE_OK"); fail_unless(size == 8, "size should be 8"); verify_memory(output, "aWlpaQ==", 8); Curl_safefree(output); rc = Curl_base64_encode("", 0, &output, &size); fail_unless(rc == CURLE_OK, "return code should be CURLE_OK"); fail_unless(size == 0, "size should be 0"); fail_unless(output && !output[0], "output should be a zero-length string"); Curl_safefree(output); rc = Curl_base64url_encode("", 0, &output, &size); fail_unless(rc == CURLE_OK, "return code should be CURLE_OK"); fail_unless(size == 0, "size should be 0"); fail_unless(output && !output[0], "output should be a zero-length string"); Curl_safefree(output); rc = Curl_base64_decode("aWlpaQ==", &decoded, &size); fail_unless(rc == CURLE_OK, "return code should be CURLE_OK"); fail_unless(size == 4, "size should be 4"); verify_memory(decoded, "iiii", 4); Curl_safefree(decoded); |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1303.c.
︙ | ︙ | |||
27 28 29 30 31 32 33 | #include "connect.h" #include "memdebug.h" /* LAST include file */ static struct Curl_easy *data; static CURLcode unit_setup(void) { | | | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #include "connect.h" #include "memdebug.h" /* LAST include file */ static struct Curl_easy *data; static CURLcode unit_setup(void) { CURLcode res = CURLE_OK; global_init(CURL_GLOBAL_ALL); data = curl_easy_init(); if(!data) { curl_global_cleanup(); return CURLE_OUT_OF_MEMORY; } |
︙ | ︙ | |||
97 98 99 100 101 102 103 | /* no connect timeout set, not connecting */ {BASE + 4, 0, 10000, 0, FALSE, 6000, "6 seconds should be left"}, {BASE + 4, 990000, 10000, 0, FALSE, 5010, "5010 ms should be left"}, {BASE + 10, 0, 10000, 0, FALSE, -1, "timeout is -1, expired"}, {BASE + 12, 0, 10000, 0, FALSE, -2000, "-2000, overdue 2 seconds"}, /* no connect timeout set, connecting */ | | | | | | 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | /* no connect timeout set, not connecting */ {BASE + 4, 0, 10000, 0, FALSE, 6000, "6 seconds should be left"}, {BASE + 4, 990000, 10000, 0, FALSE, 5010, "5010 ms should be left"}, {BASE + 10, 0, 10000, 0, FALSE, -1, "timeout is -1, expired"}, {BASE + 12, 0, 10000, 0, FALSE, -2000, "-2000, overdue 2 seconds"}, /* no connect timeout set, connecting */ {BASE + 4, 0, 10000, 0, TRUE, 6000, "6 seconds should be left"}, {BASE + 4, 990000, 10000, 0, TRUE, 5010, "5010 ms should be left"}, {BASE + 10, 0, 10000, 0, TRUE, -1, "timeout is -1, expired"}, {BASE + 12, 0, 10000, 0, TRUE, -2000, "-2000, overdue 2 seconds"}, /* only connect timeout set, not connecting */ {BASE + 4, 0, 0, 10000, FALSE, 0, "no timeout active"}, {BASE + 4, 990000, 0, 10000, FALSE, 0, "no timeout active"}, {BASE + 10, 0, 0, 10000, FALSE, 0, "no timeout active"}, {BASE + 12, 0, 0, 10000, FALSE, 0, "no timeout active"}, |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1305.c.
︙ | ︙ | |||
50 51 52 53 54 55 56 | { data = curl_easy_init(); if(!data) { curl_global_cleanup(); return CURLE_OUT_OF_MEMORY; } | | | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | { data = curl_easy_init(); if(!data) { curl_global_cleanup(); return CURLE_OUT_OF_MEMORY; } Curl_init_dnscache(&hp, 7); return CURLE_OK; } static void unit_stop(void) { if(data_node) { Curl_freeaddrinfo(data_node->addr); |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1396.c.
︙ | ︙ | |||
23 24 25 26 27 28 29 | ***************************************************************************/ #include "curlcheck.h" static CURL *hnd; static CURLcode unit_setup(void) { | | | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | ***************************************************************************/ #include "curlcheck.h" static CURL *hnd; static CURLcode unit_setup(void) { CURLcode res = CURLE_OK; global_init(CURL_GLOBAL_ALL); return res; } static void unit_stop(void) { |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1600.c.
︙ | ︙ | |||
26 27 28 29 30 31 32 | #include "urldata.h" #include "curl_ntlm_core.h" static CURL *easy; static CURLcode unit_setup(void) { | | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #include "urldata.h" #include "curl_ntlm_core.h" static CURL *easy; static CURLcode unit_setup(void) { CURLcode res = CURLE_OK; global_init(CURL_GLOBAL_ALL); easy = curl_easy_init(); if(!easy) { curl_global_cleanup(); return CURLE_OUT_OF_MEMORY; } |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1605.c.
︙ | ︙ | |||
25 26 27 28 29 30 31 | #include "llist.h" static CURL *easy; static CURLcode unit_setup(void) { | | | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #include "llist.h" static CURL *easy; static CURLcode unit_setup(void) { CURLcode res = CURLE_OK; global_init(CURL_GLOBAL_ALL); easy = curl_easy_init(); if(!easy) { curl_global_cleanup(); return CURLE_OUT_OF_MEMORY; } |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1606.c.
︙ | ︙ | |||
26 27 28 29 30 31 32 | #include "speedcheck.h" #include "urldata.h" static CURL *easy; static CURLcode unit_setup(void) { | | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #include "speedcheck.h" #include "urldata.h" static CURL *easy; static CURLcode unit_setup(void) { CURLcode res = CURLE_OK; global_init(CURL_GLOBAL_ALL); easy = curl_easy_init(); if(!easy) { curl_global_cleanup(); return CURLE_OUT_OF_MEMORY; } |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1607.c.
︙ | ︙ | |||
32 33 34 35 36 37 38 | static void unit_stop(void) { curl_global_cleanup(); } static CURLcode unit_setup(void) { | | | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | static void unit_stop(void) { curl_global_cleanup(); } static CURLcode unit_setup(void) { CURLcode res = CURLE_OK; global_init(CURL_GLOBAL_ALL); return res; } struct testcase { |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1609.c.
︙ | ︙ | |||
32 33 34 35 36 37 38 | static void unit_stop(void) { curl_global_cleanup(); } static CURLcode unit_setup(void) { | | | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | static void unit_stop(void) { curl_global_cleanup(); } static CURLcode unit_setup(void) { CURLcode res = CURLE_OK; global_init(CURL_GLOBAL_ALL); return res; } struct testcase { |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1610.c.
︙ | ︙ | |||
23 24 25 26 27 28 29 | ***************************************************************************/ #include "curlcheck.h" #include "curl_sha256.h" static CURLcode unit_setup(void) { | | | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | ***************************************************************************/ #include "curlcheck.h" #include "curl_sha256.h" static CURLcode unit_setup(void) { CURLcode res = CURLE_OK; global_init(CURL_GLOBAL_ALL); return res; } static void unit_stop(void) { curl_global_cleanup(); |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1620.c.
︙ | ︙ | |||
26 27 28 29 30 31 32 | #include "urldata.h" #include "url.h" #include "memdebug.h" /* LAST include file */ static CURLcode unit_setup(void) { | | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #include "urldata.h" #include "url.h" #include "memdebug.h" /* LAST include file */ static CURLcode unit_setup(void) { CURLcode res = CURLE_OK; global_init(CURL_GLOBAL_ALL); return res; } static void unit_stop(void) { curl_global_cleanup(); |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1652.c.
︙ | ︙ | |||
57 58 59 60 61 62 63 | memcpy(result, buf, size); return 0; } static CURLcode unit_setup(void) { | | | | 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 | memcpy(result, buf, size); return 0; } static CURLcode unit_setup(void) { CURLcode res = CURLE_OK; global_init(CURL_GLOBAL_ALL); data = curl_easy_init(); if(!data) { curl_global_cleanup(); return CURLE_OUT_OF_MEMORY; } curl_easy_setopt(data, CURLOPT_DEBUGFUNCTION, debugf_cb); curl_easy_setopt(data, CURLOPT_VERBOSE, 1L); return res; } static void unit_stop(void) { curl_easy_cleanup(data); curl_global_cleanup(); |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1660.c.
︙ | ︙ | |||
99 100 101 102 103 104 105 | { "example.net", "forexample.net", "max-age=\"31536000\"; includeSubDomains\r\n", CURLE_OK }, /* remove example.net again */ { "example.net", NULL, "max-age=\"0\"; includeSubDomains\r\n", CURLE_OK }, /* make this live for 7 seconds */ { "expire.example", NULL, "max-age=\"7\"\r\n", CURLE_OK }, | | | 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | { "example.net", "forexample.net", "max-age=\"31536000\"; includeSubDomains\r\n", CURLE_OK }, /* remove example.net again */ { "example.net", NULL, "max-age=\"0\"; includeSubDomains\r\n", CURLE_OK }, /* make this live for 7 seconds */ { "expire.example", NULL, "max-age=\"7\"\r\n", CURLE_OK }, { NULL, NULL, NULL, CURLE_OK } }; static void showsts(struct stsentry *e, const char *chost) { if(!e) printf("'%s' is not HSTS\n", chost); else { |
︙ | ︙ |