Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | update curl to version 7.68.0 |
---|---|
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
41034edd3721ff994b808ea03edfa911 |
User & Date: | chw 2020-01-14 05:53:32.758 |
Context
2020-01-15
| ||
19:33 | more gamecontroller mappings and fix in linux evdev support check-in: a8cd20c93d user: chw tags: trunk | |
2020-01-14
| ||
05:55 | merge with trunk check-in: 72a509704e user: chw tags: wtf-8-experiment | |
05:53 | update curl to version 7.68.0 check-in: 41034edd37 user: chw tags: trunk | |
2020-01-13
| ||
16:27 | add selected tcl upstream changes check-in: 944800d6ea user: chw tags: trunk | |
Changes
Changes to jni/curl/CHANGES.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | _ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | | (__| |_| | _ <| |___ \___|\___/|_| \_\_____| Changelog Version 7.67.0 (5 Nov 2019) Daniel Stenberg (5 Nov 2019) - RELEASE-NOTES: synced The 7.67.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 | _ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | | (__| |_| | _ <| |___ \___|\___/|_| \_\_____| Changelog Version 7.68.0 (8 Jan 2020) Daniel Stenberg (8 Jan 2020) - RELEASE-NOTES: 7.68.0 - THANKS: updated with names from the 7.68.0 release - RELEASE-PROCEDURE: add four future release dates and remove four past release dates [skip ci] Marcel Raad (6 Jan 2020) - TrackMemory tests: always remove CR before LF It was removed for output containing ' =' via `s/ =.*//`. With classic MinGW, this made lines with `free()` end with CRLF, but lines with e.g. `malloc()` end with only LF. The tests expect LF only. Closes https://github.com/curl/curl/pull/4788 Daniel Stenberg (6 Jan 2020) - multi.h: move INITIAL_MAX_CONCURRENT_STREAMS from public header ... to the private multihhandle.h. It is not for public use and it wasn't prefixed correctly anyway! Closes #4790 - file: fix copyright year range Follow-up to 1b71bc532bd - curl -w: handle a blank input file correctly Previously it would end up with an uninitialized memory buffer that would lead to a crash or junk getting output. Added test 1271 to verify. Reported-by: Brian Carpenter Closes #4786 - file: on Windows, refuse paths that start with \\ ... as that might cause an unexpected SMB connection to a given host name. Reported-by: Fernando Muñoz CVE-2019-15601 Bug: https://curl.haxx.se/docs/CVE-2019-15601.html Jay Satiro (6 Jan 2020) - CURLOPT_READFUNCTION.3: fix fopen params in example - CURLOPT_READFUNCTION.3: fix variable name in example Reported-by: Paul Joyce Fixes https://github.com/curl/curl/issues/4787 Daniel Stenberg (5 Jan 2020) - curl:getparameter return error for --http3 if libcurl doesn't support Closes #4785 - docs: mention CURL_MAX_INPUT_LENGTH restrictions ... for curl_easy_setopt() and curl_url_set(). [skip ci] Closes #4783 - curl: properly free mimepost data ... as it could otherwise leak memory when a transfer failed. Added test 1293 to verify. Reported-by: Brian Carpenter Fixes #4781 Closes #4782 - curl: cleanup multi handle on failure ... to fix memory leak in error path. Fixes #4772 Closes #4780 Reported-by: Brian Carpenter Marcel Raad (3 Jan 2020) - lib: fix compiler warnings with `CURL_DISABLE_VERBOSE_STRINGS` Closes https://github.com/curl/curl/pull/4775 Daniel Stenberg (3 Jan 2020) - COPYING: it's 2020! [skip ci] Jay Satiro (3 Jan 2020) - [Marc Aldorasi brought this change] tests: Fix bounce requests with truncated writes Prior to this change the swsbounce check in service_connection could fail because prevtestno and prevpartno were not set, which would cause the wrong response data to be sent to some tests and cause them to fail. Ref: https://github.com/curl/curl/pull/4717#issuecomment-570240785 Marcel Raad (31 Dec 2019) - tool: make a few char pointers point to const char instead These are read-only. Closes https://github.com/curl/curl/pull/4771 Jay Satiro (31 Dec 2019) - tests: Change NTLM tests to require SSL Prior to this change tests that required NTLM feature did not require SSL feature. There are pending changes to cmake builds that will allow enabling NTLM in non-SSL builds in Windows. In that case the NTLM auth strings created are different from what is expected by the NTLM tests and they fail: "The issue with NTLM is that previous non-SSL builds would not enable NTLM and so the NTLM tests would be skipped." Assisted-by: marc-groundctl@users.noreply.github.com Ref: https://github.com/curl/curl/pull/4717#issuecomment-566218729 Closes https://github.com/curl/curl/pull/4768 - [Michael Forney brought this change] bearssl: Improve I/O handling Factor out common I/O loop as bearssl_run_until, which reads/writes TLS records until the desired engine state is reached. This is now used for the handshake, read, write, and close. Match OpenSSL SSL_write behavior, and don't return the number of bytes written until the corresponding records have been completely flushed across the socket. This involves keeping track of the length of data buffered into the TLS engine, and assumes that when CURLE_AGAIN is returned, the write function will be called again with the same data and length arguments. This is the same requirement of SSL_write. Handle TLS close notify as EOF when reading by returning 0. Closes https://github.com/curl/curl/pull/4748 - travis: Fix error detection - Stop using inline shell scripts for before_script and script sections. Prior to this change Travis could ignore errors from commands in inline scripts. I don't understand how or why it happens. This is a workaround. Assisted-by: Simon Warta Ref: https://github.com/travis-ci/travis-ci/issues/1066 Fixes https://github.com/curl/curl/issues/3730 Closes https://github.com/curl/curl/pull/3755 - tool_operate: fix mem leak when failed config parse Found by fuzzing the config file. Reported-by: Geeknik Labs Fixes https://github.com/curl/curl/issues/4767 - [Xiang Xiao brought this change] lib: remove erroneous +x file permission on some c files Modified by commit eb9a604 accidentally. Closes https://github.com/curl/curl/pull/4756 - [Xiang Xiao brought this change] lib: fix warnings found when porting to NuttX - Undefine DEBUGASSERT in curl_setup_once.h in case it was already defined as a system macro. - Don't compile write32_le in curl_endian unless CURL_SIZEOF_CURL_OFF_T > 4, since it's only used by Curl_write64_le. - Include <arpa/inet.h> in socketpair.c. Closes https://github.com/curl/curl/pull/4756 - os400: Add missing CURLE error constants Bug: https://github.com/curl/curl/pull/4754#issuecomment-569126922 Reported-by: Emil Engler - CURLOPT_HEADERFUNCTION.3: Document that size is always 1 For compatibility with `fwrite`, the `CURLOPT_HEADERFUNCTION` callback is passed two `size_t` parameters which, when multiplied, designate the number of bytes of data passed in. In practice, CURL always sets the first parameter (`size`) to 1. This practice is also enshrined in documentation and cannot be changed in future. The documentation states that the default callback is `fwrite`, which means `fwrite` must be a suitable function for this purpose. However, the documentation also states that the callback must return the number of *bytes* it successfully handled, whereas ISO C `fwrite` returns the number of items (each of size `size`) which it wrote. The only way these numbers can be equal is if `size` is 1. Since `size` is 1 and can never be changed in future anyway, document that fact explicitly and let users rely on it. Reported-by: Frank Gevaerts Commit-message-by: Christopher Head Ref: https://github.com/curl/curl/pull/2787 Fixes https://github.com/curl/curl/issues/4758 - examples/postinmemory.c: Call curl_global_cleanup always Prior to this change curl_global_cleanup was not called if curl_easy_init failed. Reported-by: kouzhudong@users.noreply.github.com Fixes https://github.com/curl/curl/issues/4751 Daniel Stenberg (21 Dec 2019) - url2file.c: fix copyright year Follow-up to 525787269599b5 - [Rickard Hallerbäck brought this change] examples/url2file.c: corrected a comment The comment was confusing and suggested that setting CURLOPT_NOPROGRESS to 0L would both enable and disable debug output at the same time, like a Schrödinger's cat of CURLOPTs. Closes #4745 - HISTORY: OSS-Fuzz started fuzzing libcurl in 2017 - RELEASE-NOTES: synced Jay Satiro (20 Dec 2019) - ngtcp2: Support the latest update key callback type - Remove our cb_update_key in favor of ngtcp2's new ngtcp2_crypto_update_key_cb which does the same thing. Several days ago the ngtcp2_update_key callback function prototype was changed in ngtcp2/ngtcp2@42ce09c. Though it would be possible to fix up our cb_update_key for that change they also added ngtcp2_crypto_update_key_cb which does the same thing so we'll use that instead. Ref: https://github.com/ngtcp2/ngtcp2/commit/42ce09c Closes https://github.com/curl/curl/pull/4735 Daniel Stenberg (19 Dec 2019) - sws: search for "Testno:" header uncondtionally if no testno Even if the initial request line wasn't found. With the fix to 1455, the test number is now detected correctly. (Problem found when running tests in random order.) Closes #4744 - tests: set LC_ALL in more tests Follow-up to 23208e330ac0c21 Closes #4743 - test165: set LC_ALL=en_US.UTF-8 too On my current Debian Unstable with libidn2 2.2.0, I get an error if LC_ALL is set to blank. Then curl errors out with: curl: (3) Failed to convert www.åäö.se to ACE; could not convert string to UTF-8 Closes #4738 - curl.h: add two defines for the "pre ISO C" case Without this fix, this caused a compilation failure on AIX with IBM xlc 13.1.3 compiler. Reported-by: Ram Krushna Mishra Fixes #4739 Closes #4740 - create_conn: prefer multiplexing to using new connections ... as it would previously prefer new connections rather than multiplexing in most conditions! The (now removed) code was a leftover from the Pipelining code that was translated wrongly into a multiplex-only world. Reported-by: Kunal Ekawde Bug: https://curl.haxx.se/mail/lib-2019-12/0060.html Closes #4732 - test1456: remove the use of a fixed local port Fixup the test to instead not compare the port number. It sometimes caused problems like this: "curl: (45) bind failed with errno 98: Address already in use" Closes #4733 Jay Satiro (18 Dec 2019) - CURLOPT_QUOTE.3: fix typos Prior to this change the EXAMPLE in the QUOTE/PREQUOTE/POSTQUOTE man pages would not compile because a variable name was incorrect. Reported-by: Bylon2@users.noreply.github.com Fixes https://github.com/curl/curl/issues/4736 - [Gisle Vanem brought this change] strerror: Fix compiler warning "empty expression" - Remove the final semi-colon in the SEC2TXT() macro definition. Before: #define SEC2TXT(sec) case sec: txt = #sec; break; After: #define SEC2TXT(sec) case sec: txt = #sec; break Prior to this change SEC2TXT(foo); would generate break;; which caused the empty expression warning. Ref: https://github.com/curl/curl/commit/5b22e1a#r36458547 Daniel Stenberg (18 Dec 2019) - curl/parseconfig: use curl_free() to free memory allocated by libcurl Reported-by: bxac on github Fixes #4730 Closes #4731 - curl/parseconfig: fix mem-leak When looping, first trying '.curlrc' and then '_curlrc', the function would not free the first string. Closes #4731 - CURLOPT_URL.3: "curl supports SMB version 1 (only)" [skip ci] - test1270: a basic -w redirect_url test Closes #4728 - HISTORY: the SMB(S) support landed in 2014 - define: remove HAVE_ENGINE_LOAD_BUILTIN_ENGINES, not used anymore It is covered by USE_OPENSSL_ENGINE now. Reported-by: Gisle Vanem Bug: https://github.com/curl/curl/commit/87b9337c8f76c21c57b204e88b68c6ecf3bd1ac0#commitcomment-36447951 Closes #4725 - lib: remove ASSIGNWITHINCONDITION exceptions, use our code style ... even for macros Reviewed-by: Daniel Gustafsson Reviewed-by: Jay Satiro Reported-by: Jay Satiro Fixes #4683 Closes #4722 - tests: make sure checksrc runs on header files too - Revert "checksrc: fix regexp for ASSIGNWITHINCONDITION" This reverts commit ba82673dac3e8d00a76aa5e3779a0cb80e7442af. Bug: #4683 - KNOWN_BUGS: TLS session cache doesn't work with TFO [skip ci] Closes #4301 - KNOWN_BUGS: Connection information when using TCP Fast Open Also point to #4296 for more details Closes #4296 - KNOWN_BUGS: LDAP on Windows doesn't work Closes #4261 - docs: TLS SRP doesn't work with TLS 1.3 Reported-by: sayrer on github Closes #4262 [skip ci] Dan Fandrich (16 Dec 2019) - cirrus: Switch to the FreeBSD 12.1 point release & enable more tests. A few tests are now passing on FreeBSD, so no longer skip them. [skip ci] Daniel Stenberg (16 Dec 2019) - azure: the macos cmake doesn't need to install cmake Error: cmake 3.15.5 is already installed To upgrade to 3.16.1, run `brew upgrade cmake`. Closes #4723 Jay Satiro (15 Dec 2019) - winbuild: Document CURL_STATICLIB requirement for static libcurl A static libcurl (ie winbuild mode=static) requires that the user define CURL_STATICLIB when using it in their application. This is already covered in the FAQ and INSTALL.md, but is a pretty important point so now it's noted in the BUILD.WINDOWS.txt as well. Assisted-by: Michael Vittiglio Closes https://github.com/curl/curl/pull/4721 Daniel Stenberg (15 Dec 2019) - [Santino Keupp brought this change] libssh2: add support for ECDSA and ed25519 knownhost keys ... if a new enough libssh2 version is present. Source: https://curl.haxx.se/mail/archive-2019-12/0023.html Co-Authored-by: Daniel Stenberg Closes #4714 - lib1591: free memory properly on OOM, in the trailers callback Detected by torture tests. Closes #4720 - runtests: --repeat=[num] to repeat tests Closes #4715 - RELEASE-NOTES: synced - azure: add a torture test on mac Uses --shallow=25 to keep it small enough to get through in time. Closes #4712 - multi: free sockhash on OOM This would otherwise leak memory in the error path. Detected by torture test 1540. Closes #4713 Marcel Raad (13 Dec 2019) - tests: use DoH feature for DoH tests Previously, http/2 was used instead. Assisted-by: Jay Satiro Closes https://github.com/curl/curl/pull/4692 - hostip: suppress compiler warning With `--disable-doh --disable-threaded-resolver`, the `dns` parameter is not used. Closes https://github.com/curl/curl/pull/4692 - tests: fix build with `CURL_DISABLE_DOH` Closes https://github.com/curl/curl/pull/4692 Daniel Stenberg (13 Dec 2019) - azure: add a torture test Skipping all FTP tests for speed reasons. Closes #4697 - azure: make the default build use --enable-debug --enable-werror - ntlm_wb: fix double-free in OOM Detected by torture testing test 1310 Closes #4710 Dan Fandrich (13 Dec 2019) - cirrus: Drop the FreeBSD 10.4 build Upstream support for 10.4 ended a year ago, and it looks like the image is now gone, too. [skip ci] Daniel Stenberg (13 Dec 2019) - unit1620: fix bad free in OOM Closes #4709 - unit1609: fix mem-leak in OOM Closes #4709 - unit1607: fix mem-leak in OOM Closes #4709 - lib1559: fix mem-leak in OOM Closes #4709 - lib1557: fix mem-leak in OOM Closes #4709 - altsvc: make the save function ignore NULL filenames It might happen in OOM situations. Detected bv torture tests. Closes #4707 - curl: fix memory leak in OOM in etags logic Detected by torture tests Closes #4706 - doh: make it behave when built without proxy support Reported-by: Marcel Raad Bug: https://github.com/curl/curl/pull/4692#issuecomment-564115734 Closes #4704 - curl: improved cleanup in upload error path Memory leak found by torture test 58 Closes #4705 - mailmap: fix Andrew Ishchuk - travis: make torture use --shallow=40 As a first step to enable it to run over a more diverse set of tests in a reasonable time. - runtests: introduce --shallow to reduce huge torture tests When set, shallow mode limits runtests -t to make no more than NUM fails per test case. If more are found, it will randomly discard entries until the number is right. The random seed can also be set. This is particularly useful when running MANY tests as then most torture failures will already fail the same functions over and over and make the total operation painfully tedious. Closes #4699 - conncache: CONNECT_ONLY connections assumed always in-use This makes them never to be considered "the oldest" to be discarded when reaching the connection cache limit. The reasoning here is that CONNECT_ONLY is primarily used in combination with using the connection's socket post connect and since that is used outside of curl's knowledge we must assume that it is in use until explicitly closed. Reported-by: Pavel Pavlov Reported-by: Pavel Löbl Fixes #4426 Fixes #4369 Closes #4696 - [Gisle Vanem brought this change] vtls: make BearSSL possible to set with CURL_SSL_BACKEND Ref: https://github.com/curl/curl/commit/9b879160df01e7ddbb4770904391d3b74114302b#commitcomment-36355622 Closes #4698 - RELEASE-NOTES: synced - travis: remove "coverage", make it "torture" The coveralls service and test coverage numbers are just too unreliable. Removed badge from README.md as well. Fixes #4694 Closes #4695 - azure: add libssh2 and cmake macos builds Removed the macos libssh2 build from travis Closes #4686 - curl: use errorf() better Change series of error outputs to use errorf(). Only errors that are due to mistakes in command line option usage should use helpf(), other types of errors in the tool should rather use errorf(). Closes #4691 Jay Satiro (9 Dec 2019) - [Marc Hoersken brought this change] tests: make it possible to set executable extensions This enables the use of Windows Subsystem for Linux (WSL) to run the testsuite against Windows binaries while using Linux servers. This commit introduces the following environment variables: - CURL_TEST_EXE_EXT: set the executable extension for all components - CURL_TEST_EXE_EXT_TOOL: set it for the curl tool only - CURL_TEST_EXE_EXT_SSH: set it for the SSH tools only Later testcurl.pl could be adjusted to make use of those variables. - CURL_TEST_EXE_EXT_SRV: set it for the test servers only (This is one of several commits to support use of WSL for the tests.) Closes https://github.com/curl/curl/pull/3899 - [Marc Hoersken brought this change] tests: fix permissions of ssh keys in WSL Keys created on Windows Subsystem for Linux (WSL) require it for some reason. (This is one of several commits to support use of WSL for the tests.) Ref: https://github.com/curl/curl/pull/3899 - [Marc Hoersken brought this change] tests: use \r\n for log messages in WSL Bash in Windows Subsystem for Linux (WSL) requires it for some reason. (This is one of several commits to support use of WSL for the tests.) Ref: https://github.com/curl/curl/pull/3899 - [Andrew Ishchuk brought this change] winbuild: Define CARES_STATICLIB when WITH_CARES=static When libcurl is built with MODE=static, c-ares is forced into static linkage too. That doesn't happen when MODE=dll so linker would break over undefined symbols. closes https://github.com/curl/curl/pull/4688 Daniel Stenberg (9 Dec 2019) - conn: always set bits.close with connclose() Closes #4690 - cirrus: enable clang sanitizers on freebsd 13 - conncache: fix multi-thread use of shared connection cache It could accidentally let the connection get used by more than one thread, leading to double-free and more. Reported-by: Christopher Reid Fixes #4544 Closes #4557 - azure: add a vanilla macos build Closes #4685 - curl: make the etag load logic work without fseek The fseek()s were unnecessary and caused Coverity warning CID 1456554 Closes #4681 - mailmap: Mohammad Hasbini - [Mohammad Hasbini brought this change] docs: fix some typos Closes #4680 - RELEASE-NOTES: synced Jay Satiro (5 Dec 2019) - lib: fix some loose ends for recently added CURLSSLOPT_NO_PARTIALCHAIN Add support for CURLSSLOPT_NO_PARTIALCHAIN in CURLOPT_PROXY_SSL_OPTIONS and OS400 package spec. Also I added the option to the NameValue list in the tool even though it isn't exposed as a command-line option (...yet?). (NameValue stringizes the option name for the curl cmd -> libcurl source generator) Follow-up to 564d88a which added CURLSSLOPT_NO_PARTIALCHAIN. Ref: https://github.com/curl/curl/pull/4655 - setopt: Fix ALPN / NPN user option when built without HTTP2 - Stop treating lack of HTTP2 as an unknown option error result for CURLOPT_SSL_ENABLE_ALPN and CURLOPT_SSL_ENABLE_NPN. Prior to this change it was impossible to disable ALPN / NPN if libcurl was built without HTTP2. Setting either option would result in CURLE_UNKNOWN_OPTION and the respective internal option would not be set. That was incorrect since ALPN and NPN are used independent of HTTP2. Reported-by: Shailesh Kapse Fixes https://github.com/curl/curl/issues/4668 Closes https://github.com/curl/curl/pull/4672 Daniel Stenberg (5 Dec 2019) - etag: allow both --etag-compare and --etag-save in same cmdline Fixes #4669 Closes #4678 Marcel Raad (5 Dec 2019) - curl_setup: fix `CURLRES_IPV6` condition Move the definition of `CURLRES_IPV6` to before undefining `HAVE_GETADDRINFO`. Regression from commit 67a08dca27a which caused some tests to fail and others to be skipped with c-ares. Fixes https://github.com/curl/curl/issues/4673 Closes https://github.com/curl/curl/pull/4677 Daniel Stenberg (5 Dec 2019) - test342: make it return a 304 as the tag matches Peter Wu (4 Dec 2019) - CMake: add support for building with the NSS vtls backend Options are cross-checked with configure.ac and acinclude.m4. Tested on Arch Linux, untested on other platforms like Windows or macOS. Closes #4663 Reviewed-by: Kamil Dudka Daniel Stenberg (4 Dec 2019) - azure: add more builds ... removed two from travis (that now runs on azure instead) Closes #4671 - CURLOPT_VERBOSE.3: see also ERRORBUFFER - hostip4.c: bump copyright year range Marcel Raad (3 Dec 2019) - configure: enable IPv6 support without `getaddrinfo` This makes it possible to recognize and connect to literal IPv6 addresses when `getaddrinfo` is not available, which is already the case for the CMake build. This affects e.g. classic MinGW because it still targets Windows 2000 by default, where `getaddrinfo` is not available, but general IPv6 support is. Instead of checking for `getaddrinfo`, check for `sockaddr_in6` as the CMake build does. Closes https://github.com/curl/curl/pull/4662 - curl_setup: disable IPv6 resolver without `getaddrinfo` Also, use `CURLRES_IPV6` only for actual DNS resolution, not for IPv6 address support. This makes it possible to connect to IPv6 literals by setting `ENABLE_IPV6` even without `getaddrinfo` support. It also fixes the CMake build when using the synchronous resolver without `getaddrinfo` support. Closes https://github.com/curl/curl/pull/4662 Daniel Stenberg (3 Dec 2019) - github action/azure pipeline: run 'make test-nonflaky' for tests To match travis and give more info on failures. - openssl: CURLSSLOPT_NO_PARTIALCHAIN can disable partial cert chains Closes #4655 - openssl: set X509_V_FLAG_PARTIAL_CHAIN Have intermediate certificates in the trust store be treated as trust-anchors, in the same way as self-signed root CA certificates are. This allows users to verify servers using the intermediate cert only, instead of needing the whole chain. Other TLS backends already accept partial chains. Reported-by: Jeffrey Walton Bug: https://curl.haxx.se/mail/lib-2019-11/0094.html - curl: show better error message when no homedir is found Reported-by: Vlastimil Ovčáčík Fixes #4644 Closes #4665 - OPENSOCKETFUNCTION.3: correct the purpose description Reported-by: Jeff Mears Bug: https://curl.haxx.se/mail/lib-2019-12/0007.html Closes #4667 - [Peter Wu brought this change] travis: do not use OVERRIDE_CC or OVERRIDE_CXX if empty Fixes the macOS builds where OVERRIDE_CC and OVERRIDE_CXX are not set. Reported-by: Jay Satiro Fixes #4659 Closes #4661 Closes #4664 - azure-pipelines: fix the test script - Azure Pipelines: initial CI setup [skip ci] - docs: add "added: 7.68.0" to the --etag-* docs - copyright: fix the year ranges for two files Follow-up to 9c1806ae Jay Satiro (1 Dec 2019) - build: Disable Visual Studio warning "conditional expression is constant" - Disable warning C4127 "conditional expression is constant" globally in curl_setup.h for when building with Microsoft's compiler. This mainly affects building with the Visual Studio project files found in the projects dir. Prior to this change the cmake and winbuild build systems already disabled 4127 globally for when building with Microsoft's compiler. Also, 4127 was already disabled for all build systems in the limited circumstance of the WHILE_FALSE macro which disabled the warning specifically for while(0). This commit removes the WHILE_FALSE macro and all other cruft in favor of disabling globally in curl_setup. Background: We have various macros that cause 0 or 1 to be evaluated, which would cause warning C4127 in Visual Studio. For example this causes it: #define Curl_resolver_asynch() 1 Full behavior is not clearly defined and inconsistent across versions. However it is documented that since VS 2015 Update 3 Microsoft has addressed this somewhat but not entirely, not warning on while(true) for example. Prior to this change some C4127 warnings occurred when I built with Visual Studio using the generated projects in the projects dir. Closes https://github.com/curl/curl/pull/4658 - openssl: retrieve reported LibreSSL version at runtime - Retrieve LibreSSL runtime version when supported (>= 2.7.1). For earlier versions we continue to use the compile-time version. Ref: https://man.openbsd.org/OPENSSL_VERSION_NUMBER.3 Closes https://github.com/curl/curl/pull/2425 - strerror: Add Curl_winapi_strerror for Win API specific errors - In all code call Curl_winapi_strerror instead of Curl_strerror when the error code is known to be from Windows GetLastError. Curl_strerror prefers CRT error codes (errno) over Windows API error codes (GetLastError) when the two overlap. When we know the error code is from GetLastError it is more accurate to prefer the Windows API error messages. Reported-by: Richard Alcock Fixes https://github.com/curl/curl/issues/4550 Closes https://github.com/curl/curl/pull/4581 Daniel Stenberg (2 Dec 2019) - global_init: undo the "intialized" bump in case of failure ... so that failures in the global init function don't count as a working init and it can then be called again. Reported-by: Paul Groke Fixes #4636 Closes #4653 - parsedate: offer a getdate_capped() alternative ... and use internally. This function will return TIME_T_MAX instead of failure if the parsed data is found to be larger than what can be represented. TIME_T_MAX being the largest value curl can represent. Reviewed-by: Daniel Gustafsson Reported-by: JanB on github Fixes #4152 Closes #4651 - docs: add more references to curl_multi_poll Fixes #4643 Closes #4652 - sha256: bump the copyright year range Follow-up from 66e21520f Daniel Gustafsson (28 Nov 2019) - curl_setup_once: consistently use WHILE_FALSE in macros The WHILE_FALSE construction is used to avoid compiler warnings in macro constructions. This fixes a few instances where it was not used in order to keep the code consistent. Closes #4649 Reviewed-by: Daniel Stenberg <daniel@haxx.se> Daniel Stenberg (28 Nov 2019) - [Steve Holme brought this change] http_ntlm: Remove duplicate NSS initialisation Given that this is performed by the NTLM code there is no need to perform the initialisation in the HTTP layer. This also keeps the initialisation the same as the SASL based protocols and also fixes a possible compilation issue if both NSS and SSPI were to be used as multiple SSL backends. Reviewed-by: Kamil Dudka Closes #3935 Daniel Gustafsson (28 Nov 2019) - checksrc: fix regexp for ASSIGNWITHINCONDITION The regexp looking for assignments within conditions was too greedy and matched a too long string in the case of multiple conditionals on the same line. This is basically only a problem in single line macros, and the code which exemplified this was essentially: do { if((x) != NULL) { x = NULL; } } while(0) ..where the final parenthesis of while(0) matched the regexp, and the legal assignment in the block triggered the warning. Fix by making the regexp less greedy by matching for the tell-tale signs of the if statement ending. Also remove the one occurrence where the warning was disabled due to a construction like the above, where the warning didn't apply when fixed. Closes #4647 Reviewed-by: Daniel Stenberg <daniel@haxx.se> Daniel Stenberg (28 Nov 2019) - RELEASE-NOTES: synced - [Maros Priputen brought this change] curl: two new command line options for etags --etag-compare and --etag-save Suggested-by: Paul Hoffman Fixes #4277 Closes #4543 Daniel Gustafsson (28 Nov 2019) - docs: fix typos Daniel Stenberg (28 Nov 2019) - mailmap: Niall O'Reilly's name - [Niall O'Reilly brought this change] doh: use dedicated probe slots ... to easier allow additional DNS transactions. Closes #4629 - travis: build ngtcp2 with --enable-lib-only ... makes it skip the examples and other stuff we don't neeed. Closes #4646 - [David Benjamin brought this change] ngtcp2: fix thread-safety bug in error-handling ERR_error_string(NULL) should never be called. It places the error in a global buffer, which is not thread-safe. Use ERR_error_string_n with a local buffer instead. Closes #4645 - travis: export the CC/CXX variables when set Suggested-by: Peter Wu Fixes #4637 Closes #4640 Marcel Raad (26 Nov 2019) - dist: add error-codes.pl Follow-up to commit 74f441c6d31. This should fix test 1175 when run via the daily source tarballs. Closes https://github.com/curl/curl/pull/4638 Daniel Stenberg (26 Nov 2019) - [John Schroeder brought this change] curl: fix --upload-file . hangs if delay in STDIN Attempt to unpause a busy read in the CURLOPT_XFERINFOFUNCTION. When uploading from stdin in non-blocking mode, a delay in reading the stream (EAGAIN) causes curl to pause sending data (CURL_READFUNC_PAUSE). Prior to this change, a busy read was detected and unpaused only in the CURLOPT_WRITEFUNCTION handler. This change performs the same busy read handling in a CURLOPT_XFERINFOFUNCTION handler. Fixes #2051 Closes #4599 Reported-by: bdry on github - [John Schroeder brought this change] XFERINFOFUNCTION: support CURL_PROGRESSFUNC_CONTINUE (also for PROGRESSFUNCTION) By returning this value from the callback, the internal progress function call is still called afterward. Closes #4599 - [Michael Forney brought this change] TLS: add BearSSL vtls implementation Closes #4597 - curl_multi_wakeup.3: add example and AVAILABILITY Reviewed-by: Gergely Nagy Closes #4635 - [Gergely Nagy brought this change] multi: add curl_multi_wakeup() This commit adds curl_multi_wakeup() which was previously in the TODO list under the curl_multi_unblock name. On some platforms and with some configurations this feature might not be available or can fail, in these cases a new error code (CURLM_WAKEUP_FAILURE) is returned from curl_multi_wakeup(). Fixes #4418 Closes #4608 Jay Satiro (24 Nov 2019) - [Xiaoyin Liu brought this change] schannel: fix --tls-max for when min is --tlsv1 or default Prior to this change schannel ignored --tls-max (CURL_SSLVERSION_MAX_ macros) when --tlsv1 (CURL_SSLVERSION_TLSv1) or default TLS (CURL_SSLVERSION_DEFAULT), using a max of TLS 1.2 always. Closes https://github.com/curl/curl/pull/4633 - checksrc.bat: Add a check for vquic and vssh directories Ref: https://github.com/curl/curl/pull/4607 - projects: Fix Visual Studio projects SSH builds - Generate VQUIC and VSSH filenames in Visual Studio project files. Prior to this change generated Visual Studio project configurations that enabled SSH did not build properly. Broken since SSH files were moved to lib/vssh 3 months ago in 5b2d703. Fixes https://github.com/curl/curl/issues/4492 Fixes https://github.com/curl/curl/issues/4630 Closes https://github.com/curl/curl/pull/4607 Daniel Stenberg (23 Nov 2019) - RELEASE-NOTES: synced Jay Satiro (22 Nov 2019) - openssl: Revert to less sensitivity for SYSCALL errors - Disable the extra sensitivity except in debug builds (--enable-debug). - Improve SYSCALL error message logic in ossl_send and ossl_recv so that "No error" / "Success" socket error text isn't shown on SYSCALL error. Prior to this change 0ab38f5 (precedes 7.67.0) increased the sensitivity of OpenSSL's SSL_ERROR_SYSCALL error so that abrupt server closures were also considered errors. For example, a server that does not send a known protocol termination point (eg HTTP content length or chunked encoding) _and_ does not send a TLS termination point (close_notify alert) would cause an error if it closed the connection. To be clear that behavior made it into release build 7.67.0 unintentionally. Several users have reported it as an issue. Ultimately the idea is a good one, since it can help prevent against a truncation attack. Other SSL backends may already behave similarly (such as Windows native OS SSL Schannel). However much more of our user base is using OpenSSL and there is a mass of legacy users in that space, so I think that behavior should be partially reverted and then rolled out slowly. This commit changes the behavior so that the increased sensitivity is disabled in all curl builds except curl debug builds (DEBUGBUILD). If after a period of time there are no major issues then it can be enabled in dev and release builds with the newest OpenSSL (1.1.1+), since users using the newest OpenSSL are the least likely to have legacy problems. Bug: https://github.com/curl/curl/issues/4409#issuecomment-555955794 Reported-by: Bjoern Franke Fixes https://github.com/curl/curl/issues/4624 Closes https://github.com/curl/curl/pull/4623 - [Daniel Stenberg brought this change] openssl: improve error message for SYSCALL during connect Reported-by: Paulo Roberto Tomasi Bug: https://curl.haxx.se/mail/archive-2019-11/0005.html Closes https://github.com/curl/curl/pull/4593 Daniel Stenberg (22 Nov 2019) - test1175: verify symbols-in-versions and libcurl-errors.3 in sync Closes #4628 - include: make CURLE_HTTP3 use a new error code To avoid potential issues with error code reuse. Reported-by: Christoph M. Becker Assisted-by: Dan Fandrich Fixes #4601 Closes #4627 - bump: next release will be 7.68.0 - curl: add --parallel-immediate Starting with this change when doing parallel transfers, without this option set, curl will prefer to create new transfers multiplexed on an existing connection rather than creating a brand new one. --parallel-immediate can be set to tell curl to prefer to use new connections rather than to wait and try to multiplex. libcurl-wise, this means that curl will set CURLOPT_PIPEWAIT by default on parallel transfers. Suggested-by: Tom van der Woerdt Closes #4500 Daniel Gustafsson (20 Nov 2019) - [Victor Magierski brought this change] docs: fix typos Change 'experiemental' to 'experimental'. Closes #4618 Reviewed-by: Daniel Gustafsson <daniel@yesql.se> Jay Satiro (18 Nov 2019) - projects: Fix Visual Studio wolfSSL configurations - s/USE_CYASSL/USE_WOLFSSL/ - Remove old compatibility macros. Follow-up to 1c6c59a from several months ago when CyaSSL named symbols were renamed to wolfSSL. The wolfSSL library was formerly named CyaSSL and we kept using their old name for compatibility reasons, until earlier this year. Daniel Stenberg (18 Nov 2019) - RELEASE-NOTES: synced - [Javier Blazquez brought this change] ngtcp2: use overflow buffer for extra HTTP/3 data Fixes #4525 Closes #4603 - altsvc: bump to h3-24 ... as both ngtcp2 and quiche now support that in their master branches Closes #4604 - ngtcp2: free used resources on disconnect Fixes #4614 Closes #4615 - ngtcp2: handle key updates as ngtcp2 master branch tells us Reviewed-by: Tatsuhiro Tsujikawa Fixes #4612 Closes #4613 Jay Satiro (17 Nov 2019) - [Gergely Nagy brought this change] multi: Fix curl_multi_poll wait when extra_fds && !extra_nfds Prior to this change: The check if an extra wait is necessary was based not on the number of extra fds but on the pointer. If a non-null pointer was given in extra_fds, but extra_nfds was zero, then the wait was skipped even though poll was not called. Closes https://github.com/curl/curl/pull/4610 - lib: Move lib/ssh.h -> lib/vssh/ssh.h Follow-up to 5b2d703 which moved ssh source files to vssh. Closes https://github.com/curl/curl/pull/4609 Daniel Stenberg (16 Nov 2019) - [Andreas Falkenhahn brought this change] INSTALL.md: provide Android build instructions Closes #4606 - [Niall O'Reilly brought this change] doh: improced both encoding and decoding Improved estimation of expected_len and updated related comments; increased strictness of QNAME-encoding, adding error detection for empty labels and names longer than the overall limit; avoided treating DNAME as unexpected; updated unit test 1655 with more thorough set of proofs and tests Closes #4598 - ngtcp2: increase QUIC window size when data is consumed Assisted-by: Javier Blazquez Ref #4525 (partial fix) Closes #4600 - [Melissa Mears brought this change] config-win32: cpu-machine-OS for Windows on ARM Define the OS macro properly for Windows on ARM builds. Also, we might as well add the GCC-style IA-64 macro. Closes #4590 - examples: add multi-poll.c Show how curl_multi_poll() makes it even easier to use the multi interface. Closes #4596 - multi_poll: avoid busy-loop when called without easy handles attached Fixes #4594 Closes #4595 Reported-by: 3dyd on github - curl: fix -T globbing Regression from e59371a4936f8 (7.67.0) Added test 490, 491 and 492 to verify the functionality. Reported-by: Kamil Dudka Reported-by: Anderson Sasaki Fixes #4588 Closes #4591 - HISTORY: added cmake, HTTP/3 and parallel downloads with curl - quiche: reject headers in the wrong order Pseudo header MUST come before regular headers or cause an error. Reported-by: Cynthia Coan Fixes #4571 Closes #4584 - openssl: prevent recursive function calls from ctx callbacks Follow the pattern of many other callbacks. Ref: #4546 Closes #4585 - CURL-DISABLE: initial docs for the CURL_DISABLE_* defines The disable-scan script used in test 1165 is extended to also verify that the docs cover all used defines and all defines offered by configure. Reported-by: SLDiggie on github Fixes #4545 Closes #4587 - remove_handle: clear expire timers after multi_done() Since 59041f0, a new timer might be set in multi_done() so the clearing of the timers need to happen afterwards! Reported-by: Max Kellermann Fixes #4575 Closes #4583 Marcel Raad (10 Nov 2019) - test1558: use double slash after file: Classic MinGW / MSYS 1 doesn't support `MSYS2_ARG_CONV_EXCL`, so this test unnecessarily failed when using `file:/` instead of `file:///`. Closes https://github.com/curl/curl/pull/4554 Daniel Stenberg (10 Nov 2019) - pause: avoid updating socket if done was already called ... avoids unnecesary recursive risk when the transfer is already done. Reported-by: Richard Bowker Fixes #4563 Closes #4574 Jay Satiro (9 Nov 2019) - strerror: Fix an error looking up some Windows error strings - Use FORMAT_MESSAGE_IGNORE_INSERTS to ignore format specifiers in Windows error strings. Since we are not in control of the error code we don't know what information may be needed by the error string's format specifiers. Prior to this change Windows API error strings which contain specifiers (think specifiers like similar to printf specifiers) would not be shown. The FormatMessage Windows API call which turns a Windows error code into a string could fail and set error ERROR_INVALID_PARAMETER if that error string contained a format specifier. FormatMessage expects a va_list for the specifiers, unless inserts are ignored in which case no substitution is attempted. Ref: https://devblogs.microsoft.com/oldnewthing/20071128-00/?p=24353 - [r-a-sattarov brought this change] system.h: fix for MCST lcc compiler Fixed build by MCST lcc compiler on MCST Elbrus 2000 architecture and do some code cleanup. e2k (Elbrus 2000) - this is VLIW/EPIC architecture, like Intel Itanium architecture. Ref: https://en.wikipedia.org/wiki/Elbrus_2000 Closes https://github.com/curl/curl/pull/4576 Daniel Stenberg (8 Nov 2019) - TODO: curl_multi_unblock Closes #4418 - TODO: Run web-platform-tests url tests Closes #4477 - TODO: 1.4 alt-svc sharing Closes #4476 - test1560: require IPv6 for IPv6 aware URL parsing The URL parser function can't reject a bad IPv6 address properly when curl was built without IPv6 support. Reported-by: Marcel Raad Fixes #4556 Closes #4572 - checksrc: repair the copyrightyear check - Consider a modified file to be committed this year. - Make the travis CHECKSRC also do COPYRIGHTYEAR scan in examples and includes - Ignore 0 parents when getting latest commit date of file. since in the CI we're dealing with a truncated repo of last 50 commits, the file's most recent commit may not be available. when this happens git log and rev-list show the initial commit (ie first commit not to be truncated) but that's incorrect so ignore it. Ref: https://github.com/curl/curl/pull/4547 Closes https://github.com/curl/curl/pull/4549 Co-authored-by: Jay Satiro - copyrights: fix copyright year range .. because checksrc's copyright year check stopped working. Ref: https://github.com/curl/curl/pull/4547 Closes https://github.com/curl/curl/pull/4549 - RELEASE-NOTES: synced - curlver: bump to 7.67.1 - mailmap: fixup Massimiliano Fantuzzi - scripts/contributors: make committers get included too in addition to authors Jay Satiro (8 Nov 2019) - [Massimiliano Fantuzzi brought this change] configure: fix typo in help text Closes https://github.com/curl/curl/pull/4570 Daniel Stenberg (7 Nov 2019) - [Christian Schmitz brought this change] ntlm: USE_WIN32_CRYPTO check removed to get USE_NTLM2SESSION set Closes #3704 Jay Satiro (6 Nov 2019) - [Wyatt O'Day brought this change] build: fix for CURL_DISABLE_DOH Fixes https://github.com/curl/curl/issues/4565 Closes https://github.com/curl/curl/pull/4566 - [Leonardo Taccari brought this change] configure: avoid unportable `==' test(1) operator Closes https://github.com/curl/curl/pull/4567 Version 7.67.0 (5 Nov 2019) Daniel Stenberg (5 Nov 2019) - RELEASE-NOTES: synced The 7.67.0 release |
︙ | ︙ | |||
602 603 604 605 606 607 608 | docs: add note on failed handles not being counted by curl_multi_perform Closes #4446 - CURLMOPT_MAX_CONCURRENT_STREAMS.3: fix SEE ALSO typo | | | 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 | docs: add note on failed handles not being counted by curl_multi_perform Closes #4446 - CURLMOPT_MAX_CONCURRENT_STREAMS.3: fix SEE ALSO typo - [Niall O'Reilly brought this change] ESNI: initial build/setup Closes #4011 - RELEASE-NOTES: synced |
︙ | ︙ | |||
5584 5585 5586 5587 5588 5589 5590 | smtp.c:1221:29: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int] eob = strdup(SMTP_EOB + 2); ~~~~~~~~~~~~~~~~^~~~ Closes https://github.com/curl/curl/pull/3729 | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 7124 7125 7126 7127 7128 7129 7130 | smtp.c:1221:29: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int] eob = strdup(SMTP_EOB + 2); ~~~~~~~~~~~~~~~~^~~~ Closes https://github.com/curl/curl/pull/3729 |
Added jni/curl/CMake/FindBearSSL.cmake.
> > > > > > > > > | 1 2 3 4 5 6 7 8 9 | find_path(BEARSSL_INCLUDE_DIRS bearssl.h) find_library(BEARSSL_LIBRARY bearssl) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(BEARSSL DEFAULT_MSG BEARSSL_INCLUDE_DIRS BEARSSL_LIBRARY) mark_as_advanced(BEARSSL_INCLUDE_DIRS BEARSSL_LIBRARY) |
Changes to jni/curl/CMakeLists.txt.
︙ | ︙ | |||
230 231 232 233 234 235 236 237 238 239 240 241 242 243 | # If we are on AIX, do the _ALL_SOURCE magic if(${CMAKE_SYSTEM_NAME} MATCHES AIX) set(_ALL_SOURCE 1) endif() # Include all the necessary files for macros include(CheckFunctionExists) include(CheckIncludeFile) include(CheckIncludeFiles) include(CheckLibraryExists) include(CheckSymbolExists) include(CheckTypeSize) include(CheckCSourceCompiles) | > | 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 | # If we are on AIX, do the _ALL_SOURCE magic if(${CMAKE_SYSTEM_NAME} MATCHES AIX) set(_ALL_SOURCE 1) endif() # Include all the necessary files for macros include(CMakePushCheckState) include(CheckFunctionExists) include(CheckIncludeFile) include(CheckIncludeFiles) include(CheckLibraryExists) include(CheckSymbolExists) include(CheckTypeSize) include(CheckCSourceCompiles) |
︙ | ︙ | |||
280 281 282 283 284 285 286 | if(WIN32) check_library_exists_concat("ws2_32" getch HAVE_LIBWS2_32) check_library_exists_concat("winmm" getch HAVE_LIBWINMM) list(APPEND CURL_LIBS "advapi32") endif() # check SSL libraries | | > > | > > | 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 | if(WIN32) check_library_exists_concat("ws2_32" getch HAVE_LIBWS2_32) check_library_exists_concat("winmm" getch HAVE_LIBWINMM) list(APPEND CURL_LIBS "advapi32") endif() # check SSL libraries # TODO support GNUTLS, POLARSSL, CYASSL if(APPLE) option(CMAKE_USE_SECTRANSP "enable Apple OS native SSL/TLS" OFF) endif() if(WIN32) option(CMAKE_USE_WINSSL "enable Windows native SSL/TLS" OFF) cmake_dependent_option(CURL_WINDOWS_SSPI "Use windows libraries to allow NTLM authentication without openssl" ON CMAKE_USE_WINSSL OFF) endif() option(CMAKE_USE_MBEDTLS "Enable mbedTLS for SSL/TLS" OFF) option(CMAKE_USE_BEARSSL "Enable BearSSL for SSL/TLS" OFF) option(CMAKE_USE_NSS "Enable NSS for SSL/TLS" OFF) set(openssl_default ON) if(WIN32 OR CMAKE_USE_SECTRANSP OR CMAKE_USE_WINSSL OR CMAKE_USE_MBEDTLS OR CMAKE_USE_NSS) set(openssl_default OFF) endif() option(CMAKE_USE_OPENSSL "Use OpenSSL code. Experimental" ${openssl_default}) count_true(enabled_ssl_options_count CMAKE_USE_WINSSL CMAKE_USE_SECTRANSP CMAKE_USE_OPENSSL CMAKE_USE_MBEDTLS CMAKE_USE_BEARSSL CMAKE_USE_NSS ) if(enabled_ssl_options_count GREATER "1") set(CURL_WITH_MULTI_SSL ON) endif() if(CMAKE_USE_WINSSL) set(SSL_ENABLED ON) |
︙ | ︙ | |||
374 375 376 377 378 379 380 381 382 383 384 385 386 387 | if(CMAKE_USE_MBEDTLS) find_package(MbedTLS REQUIRED) set(SSL_ENABLED ON) set(USE_MBEDTLS ON) list(APPEND CURL_LIBS ${MBEDTLS_LIBRARIES}) include_directories(${MBEDTLS_INCLUDE_DIRS}) endif() option(USE_NGHTTP2 "Use Nghttp2 library" OFF) if(USE_NGHTTP2) find_package(NGHTTP2 REQUIRED) include_directories(${NGHTTP2_INCLUDE_DIRS}) list(APPEND CURL_LIBS ${NGHTTP2_LIBRARIES}) endif() | > > > > > > > > > > > > > > > > > > > > > | 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 | if(CMAKE_USE_MBEDTLS) find_package(MbedTLS REQUIRED) set(SSL_ENABLED ON) set(USE_MBEDTLS ON) list(APPEND CURL_LIBS ${MBEDTLS_LIBRARIES}) include_directories(${MBEDTLS_INCLUDE_DIRS}) endif() if(CMAKE_USE_BEARSSL) find_package(BearSSL REQUIRED) set(SSL_ENABLED ON) set(USE_BEARSSL ON) list(APPEND CURL_LIBS ${BEARSSL_LIBRARY}) include_directories(${BEARSSL_INCLUDE_DIRS}) endif() if(CMAKE_USE_NSS) find_package(NSS REQUIRED) include_directories(${NSS_INCLUDE_DIRS}) list(APPEND CURL_LIBS ${NSS_LIBRARIES}) set(SSL_ENABLED ON) set(USE_NSS ON) cmake_push_check_state() set(CMAKE_REQUIRED_INCLUDES ${NSS_INCLUDE_DIRS}) set(CMAKE_REQUIRED_LIBRARIES ${NSS_LIBRARIES}) check_symbol_exists(PK11_CreateManagedGenericObject "pk11pub.h" HAVE_PK11_CREATEMANAGEDGENERICOBJECT) cmake_pop_check_state() endif() option(USE_NGHTTP2 "Use Nghttp2 library" OFF) if(USE_NGHTTP2) find_package(NGHTTP2 REQUIRED) include_directories(${NGHTTP2_INCLUDE_DIRS}) list(APPEND CURL_LIBS ${NGHTTP2_LIBRARIES}) endif() |
︙ | ︙ | |||
662 663 664 665 666 667 668 | if("${CURL_CA_PATH}" STREQUAL "") message(FATAL_ERROR "Invalid value of CURL_CA_PATH. Use 'none', 'auto' or directory path.") elseif("${CURL_CA_PATH}" STREQUAL "none") unset(CURL_CA_PATH CACHE) elseif("${CURL_CA_PATH}" STREQUAL "auto") unset(CURL_CA_PATH CACHE) | > | > | 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 | if("${CURL_CA_PATH}" STREQUAL "") message(FATAL_ERROR "Invalid value of CURL_CA_PATH. Use 'none', 'auto' or directory path.") elseif("${CURL_CA_PATH}" STREQUAL "none") unset(CURL_CA_PATH CACHE) elseif("${CURL_CA_PATH}" STREQUAL "auto") unset(CURL_CA_PATH CACHE) if(NOT USE_NSS) set(CURL_CA_PATH_AUTODETECT TRUE) endif() else() set(CURL_CA_PATH_SET TRUE) endif() if(CURL_CA_BUNDLE_SET AND CURL_CA_PATH_AUTODETECT) # Skip autodetection of unset CA path because CA bundle is set explicitly elseif(CURL_CA_PATH_SET AND CURL_CA_BUNDLE_AUTODETECT) |
︙ | ︙ | |||
1196 1197 1198 1199 1200 1201 1202 | # TODO SSP1 missing for SPNEGO _add_if("SPNEGO" NOT CURL_DISABLE_CRYPTO_AUTH AND (HAVE_GSSAPI OR USE_WINDOWS_SSPI)) _add_if("Kerberos" NOT CURL_DISABLE_CRYPTO_AUTH AND (HAVE_GSSAPI OR USE_WINDOWS_SSPI)) # NTLM support requires crypto function adaptions from various SSL libs # TODO alternative SSL libs tests for SSP1, GNUTLS, NSS | | | 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 | # TODO SSP1 missing for SPNEGO _add_if("SPNEGO" NOT CURL_DISABLE_CRYPTO_AUTH AND (HAVE_GSSAPI OR USE_WINDOWS_SSPI)) _add_if("Kerberos" NOT CURL_DISABLE_CRYPTO_AUTH AND (HAVE_GSSAPI OR USE_WINDOWS_SSPI)) # NTLM support requires crypto function adaptions from various SSL libs # TODO alternative SSL libs tests for SSP1, GNUTLS, NSS if(NOT CURL_DISABLE_CRYPTO_AUTH AND (USE_OPENSSL OR USE_WINDOWS_SSPI OR USE_SECTRANSP OR USE_MBEDTLS OR USE_NSS)) _add_if("NTLM" 1) # TODO missing option (autoconf: --enable-ntlm-wb) _add_if("NTLM_WB" NOT CURL_DISABLE_HTTP AND NTLM_WB_ENABLED) endif() # TODO missing option (--enable-tls-srp), depends on GNUTLS_SRP/OPENSSL_SRP _add_if("TLS-SRP" USE_TLS_SRP) # TODO option --with-nghttp2 tests for nghttp2 lib and nghttp2/nghttp2.h header |
︙ | ︙ | |||
1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 | # Clear list and collect SSL backends set(_items) _add_if("WinSSL" SSL_ENABLED AND USE_WINDOWS_SSPI) _add_if("OpenSSL" SSL_ENABLED AND USE_OPENSSL) _add_if("Secure Transport" SSL_ENABLED AND USE_SECTRANSP) _add_if("mbedTLS" SSL_ENABLED AND USE_MBEDTLS) if(_items) list(SORT _items) endif() string(REPLACE ";" " " SSL_BACKENDS "${_items}") message(STATUS "Enabled SSL backends: ${SSL_BACKENDS}") # curl-config needs the following options to be set. | > > | 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 | # Clear list and collect SSL backends set(_items) _add_if("WinSSL" SSL_ENABLED AND USE_WINDOWS_SSPI) _add_if("OpenSSL" SSL_ENABLED AND USE_OPENSSL) _add_if("Secure Transport" SSL_ENABLED AND USE_SECTRANSP) _add_if("mbedTLS" SSL_ENABLED AND USE_MBEDTLS) _add_if("BearSSL" SSL_ENABLED AND USE_BEARSSL) _add_if("NSS" SSL_ENABLED AND USE_NSS) if(_items) list(SORT _items) endif() string(REPLACE ";" " " SSL_BACKENDS "${_items}") message(STATUS "Enabled SSL backends: ${SSL_BACKENDS}") # curl-config needs the following options to be set. |
︙ | ︙ |
Changes to jni/curl/COPYING.
1 2 | COPYRIGHT AND PERMISSION NOTICE | | | 1 2 3 4 5 6 7 8 9 10 | COPYRIGHT AND PERMISSION NOTICE Copyright (c) 1996 - 2020, Daniel Stenberg, <daniel@haxx.se>, and many contributors, see the THANKS file. All rights reserved. Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. |
︙ | ︙ |
Changes to jni/curl/Makefile.am.
︙ | ︙ | |||
26 27 28 29 30 31 32 | CMAKE_DIST = CMakeLists.txt CMake/CMakeConfigurableFile.in \ CMake/CurlTests.c CMake/FindGSS.cmake CMake/OtherTests.cmake \ CMake/Platforms/WindowsCache.cmake CMake/Utilities.cmake \ CMake/Macros.cmake \ CMake/CurlSymbolHiding.cmake CMake/FindCARES.cmake \ CMake/FindLibSSH2.cmake CMake/FindNGHTTP2.cmake \ | | | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | CMAKE_DIST = CMakeLists.txt CMake/CMakeConfigurableFile.in \ CMake/CurlTests.c CMake/FindGSS.cmake CMake/OtherTests.cmake \ CMake/Platforms/WindowsCache.cmake CMake/Utilities.cmake \ CMake/Macros.cmake \ CMake/CurlSymbolHiding.cmake CMake/FindCARES.cmake \ CMake/FindLibSSH2.cmake CMake/FindNGHTTP2.cmake \ CMake/FindMbedTLS.cmake CMake/FindBearSSL.cmake \ CMake/cmake_uninstall.cmake.in CMake/curl-config.cmake.in VC6_LIBTMPL = projects/Windows/VC6/lib/libcurl.tmpl VC6_LIBDSP = projects/Windows/VC6/lib/libcurl.dsp.dist VC6_LIBDSP_DEPS = $(VC6_LIBTMPL) Makefile.am lib/Makefile.inc VC6_SRCTMPL = projects/Windows/VC6/src/curl.tmpl VC6_SRCDSP = projects/Windows/VC6/src/curl.dsp.dist VC6_SRCDSP_DEPS = $(VC6_SRCTMPL) Makefile.am src/Makefile.inc |
︙ | ︙ | |||
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 | $(VC12_SRCVCXPROJ_DEPS) $(VC14_LIBVCXPROJ_DEPS) $(VC14_SRCVCXPROJ_DEPS) \ $(VC15_LIBVCXPROJ_DEPS) $(VC15_SRCVCXPROJ_DEPS) @(win32_lib_srcs='$(LIB_CFILES)'; \ win32_lib_hdrs='$(LIB_HFILES) config-win32.h'; \ win32_lib_rc='$(LIB_RCFILES)'; \ win32_lib_vauth_srcs='$(LIB_VAUTH_CFILES)'; \ win32_lib_vauth_hdrs='$(LIB_VAUTH_HFILES)'; \ win32_lib_vtls_srcs='$(LIB_VTLS_CFILES)'; \ win32_lib_vtls_hdrs='$(LIB_VTLS_HFILES)'; \ win32_src_srcs='$(CURL_CFILES)'; \ win32_src_hdrs='$(CURL_HFILES)'; \ win32_src_rc='$(CURL_RCFILES)'; \ win32_src_x_srcs='$(CURLX_CFILES)'; \ win32_src_x_hdrs='$(CURLX_HFILES) ../lib/config-win32.h'; \ \ sorted_lib_srcs=`for file in $$win32_lib_srcs; do echo $$file; done | sort`; \ sorted_lib_hdrs=`for file in $$win32_lib_hdrs; do echo $$file; done | sort`; \ sorted_lib_vauth_srcs=`for file in $$win32_lib_vauth_srcs; do echo $$file; done | sort`; \ sorted_lib_vauth_hdrs=`for file in $$win32_lib_vauth_hdrs; do echo $$file; done | sort`; \ sorted_lib_vtls_srcs=`for file in $$win32_lib_vtls_srcs; do echo $$file; done | sort`; \ sorted_lib_vtls_hdrs=`for file in $$win32_lib_vtls_hdrs; do echo $$file; done | sort`; \ sorted_src_srcs=`for file in $$win32_src_srcs; do echo $$file; done | sort`; \ sorted_src_hdrs=`for file in $$win32_src_hdrs; do echo $$file; done | sort`; \ sorted_src_x_srcs=`for file in $$win32_src_x_srcs; do echo $$file; done | sort`; \ sorted_src_x_hdrs=`for file in $$win32_src_x_hdrs; do echo $$file; done | sort`; \ \ awk_code='\ function gen_element(type, dir, file)\ {\ sub(/vauth\//, "", file);\ sub(/vtls\//, "", file);\ \ spaces=" ";\ | > > > > > > > > > > | > > > | 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 | $(VC12_SRCVCXPROJ_DEPS) $(VC14_LIBVCXPROJ_DEPS) $(VC14_SRCVCXPROJ_DEPS) \ $(VC15_LIBVCXPROJ_DEPS) $(VC15_SRCVCXPROJ_DEPS) @(win32_lib_srcs='$(LIB_CFILES)'; \ win32_lib_hdrs='$(LIB_HFILES) config-win32.h'; \ win32_lib_rc='$(LIB_RCFILES)'; \ win32_lib_vauth_srcs='$(LIB_VAUTH_CFILES)'; \ win32_lib_vauth_hdrs='$(LIB_VAUTH_HFILES)'; \ win32_lib_vquic_srcs='$(LIB_VQUIC_CFILES)'; \ win32_lib_vquic_hdrs='$(LIB_VQUIC_HFILES)'; \ win32_lib_vssh_srcs='$(LIB_VSSH_CFILES)'; \ win32_lib_vssh_hdrs='$(LIB_VSSH_HFILES)'; \ win32_lib_vtls_srcs='$(LIB_VTLS_CFILES)'; \ win32_lib_vtls_hdrs='$(LIB_VTLS_HFILES)'; \ win32_src_srcs='$(CURL_CFILES)'; \ win32_src_hdrs='$(CURL_HFILES)'; \ win32_src_rc='$(CURL_RCFILES)'; \ win32_src_x_srcs='$(CURLX_CFILES)'; \ win32_src_x_hdrs='$(CURLX_HFILES) ../lib/config-win32.h'; \ \ sorted_lib_srcs=`for file in $$win32_lib_srcs; do echo $$file; done | sort`; \ sorted_lib_hdrs=`for file in $$win32_lib_hdrs; do echo $$file; done | sort`; \ sorted_lib_vauth_srcs=`for file in $$win32_lib_vauth_srcs; do echo $$file; done | sort`; \ sorted_lib_vauth_hdrs=`for file in $$win32_lib_vauth_hdrs; do echo $$file; done | sort`; \ sorted_lib_vquic_srcs=`for file in $$win32_lib_vquic_srcs; do echo $$file; done | sort`; \ sorted_lib_vquic_hdrs=`for file in $$win32_lib_vquic_hdrs; do echo $$file; done | sort`; \ sorted_lib_vssh_srcs=`for file in $$win32_lib_vssh_srcs; do echo $$file; done | sort`; \ sorted_lib_vssh_hdrs=`for file in $$win32_lib_vssh_hdrs; do echo $$file; done | sort`; \ sorted_lib_vtls_srcs=`for file in $$win32_lib_vtls_srcs; do echo $$file; done | sort`; \ sorted_lib_vtls_hdrs=`for file in $$win32_lib_vtls_hdrs; do echo $$file; done | sort`; \ sorted_src_srcs=`for file in $$win32_src_srcs; do echo $$file; done | sort`; \ sorted_src_hdrs=`for file in $$win32_src_hdrs; do echo $$file; done | sort`; \ sorted_src_x_srcs=`for file in $$win32_src_x_srcs; do echo $$file; done | sort`; \ sorted_src_x_hdrs=`for file in $$win32_src_x_hdrs; do echo $$file; done | sort`; \ \ awk_code='\ function gen_element(type, dir, file)\ {\ sub(/vauth\//, "", file);\ sub(/vquic\//, "", file);\ sub(/vssh\//, "", file);\ sub(/vtls\//, "", file);\ \ spaces=" ";\ if(dir == "lib\\vauth" ||\ dir == "lib\\vquic" ||\ dir == "lib\\vssh" ||\ dir == "lib\\vtls")\ tabs=" ";\ else\ tabs=" ";\ \ if(type == "dsp") {\ printf("# Begin Source File\r\n");\ printf("\r\n");\ |
︙ | ︙ | |||
412 413 414 415 416 417 418 419 420 421 422 423 424 425 | split(lib_vauth_srcs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vauth", arr[val]);\ }\ else if($$0 == "CURL_LIB_VAUTH_H_FILES") {\ split(lib_vauth_hdrs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vauth", arr[val]);\ }\ else if($$0 == "CURL_LIB_VTLS_C_FILES") {\ split(lib_vtls_srcs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vtls", arr[val]);\ }\ else if($$0 == "CURL_LIB_VTLS_H_FILES") {\ split(lib_vtls_hdrs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vtls", arr[val]);\ | > > > > > > > > > > > > > > > > | 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 | split(lib_vauth_srcs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vauth", arr[val]);\ }\ else if($$0 == "CURL_LIB_VAUTH_H_FILES") {\ split(lib_vauth_hdrs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vauth", arr[val]);\ }\ else if($$0 == "CURL_LIB_VQUIC_C_FILES") {\ split(lib_vquic_srcs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vquic", arr[val]);\ }\ else if($$0 == "CURL_LIB_VQUIC_H_FILES") {\ split(lib_vquic_hdrs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vquic", arr[val]);\ }\ else if($$0 == "CURL_LIB_VSSH_C_FILES") {\ split(lib_vssh_srcs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vssh", arr[val]);\ }\ else if($$0 == "CURL_LIB_VSSH_H_FILES") {\ split(lib_vssh_hdrs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vssh", arr[val]);\ }\ else if($$0 == "CURL_LIB_VTLS_C_FILES") {\ split(lib_vtls_srcs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vtls", arr[val]);\ }\ else if($$0 == "CURL_LIB_VTLS_H_FILES") {\ split(lib_vtls_hdrs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vtls", arr[val]);\ |
︙ | ︙ | |||
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 | echo "generating '$(VC6_LIBDSP)'"; \ awk -v proj_type=dsp \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC6_LIBTMPL) > $(VC6_LIBDSP) || { exit 1; }; \ \ echo "generating '$(VC6_SRCDSP)'"; \ awk -v proj_type=dsp \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC6_SRCTMPL) > $(VC6_SRCDSP) || { exit 1; }; \ \ echo "generating '$(VC7_LIBVCPROJ)'"; \ awk -v proj_type=vcproj1 \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC7_LIBTMPL) > $(VC7_LIBVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC7_SRCVCPROJ)'"; \ awk -v proj_type=vcproj1 \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC7_SRCTMPL) > $(VC7_SRCVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC71_LIBVCPROJ)'"; \ awk -v proj_type=vcproj1 \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC71_LIBTMPL) > $(VC71_LIBVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC71_SRCVCPROJ)'"; \ awk -v proj_type=vcproj1 \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC71_SRCTMPL) > $(VC71_SRCVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC8_LIBVCPROJ)'"; \ awk -v proj_type=vcproj2 \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC8_LIBTMPL) > $(VC8_LIBVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC8_SRCVCPROJ)'"; \ awk -v proj_type=vcproj2 \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC8_SRCTMPL) > $(VC8_SRCVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC9_LIBVCPROJ)'"; \ awk -v proj_type=vcproj2 \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC9_LIBTMPL) > $(VC9_LIBVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC9_SRCVCPROJ)'"; \ awk -v proj_type=vcproj2 \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC9_SRCTMPL) > $(VC9_SRCVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC10_LIBVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC10_LIBTMPL) > $(VC10_LIBVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC10_SRCVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC10_SRCTMPL) > $(VC10_SRCVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC11_LIBVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC11_LIBTMPL) > $(VC11_LIBVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC11_SRCVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC11_SRCTMPL) > $(VC11_SRCVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC12_LIBVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC12_LIBTMPL) > $(VC12_LIBVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC12_SRCVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC12_SRCTMPL) > $(VC12_SRCVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC14_LIBVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC14_LIBTMPL) > $(VC14_LIBVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC14_SRCVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC14_SRCTMPL) > $(VC14_SRCVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC15_LIBVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC15_LIBTMPL) > $(VC15_LIBVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC15_SRCVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v src_srcs="$$sorted_src_srcs" \ | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | echo "generating '$(VC6_LIBDSP)'"; \ awk -v proj_type=dsp \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \ -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \ -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \ -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC6_LIBTMPL) > $(VC6_LIBDSP) || { exit 1; }; \ \ echo "generating '$(VC6_SRCDSP)'"; \ awk -v proj_type=dsp \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC6_SRCTMPL) > $(VC6_SRCDSP) || { exit 1; }; \ \ echo "generating '$(VC7_LIBVCPROJ)'"; \ awk -v proj_type=vcproj1 \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \ -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \ -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \ -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC7_LIBTMPL) > $(VC7_LIBVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC7_SRCVCPROJ)'"; \ awk -v proj_type=vcproj1 \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC7_SRCTMPL) > $(VC7_SRCVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC71_LIBVCPROJ)'"; \ awk -v proj_type=vcproj1 \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \ -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \ -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \ -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC71_LIBTMPL) > $(VC71_LIBVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC71_SRCVCPROJ)'"; \ awk -v proj_type=vcproj1 \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC71_SRCTMPL) > $(VC71_SRCVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC8_LIBVCPROJ)'"; \ awk -v proj_type=vcproj2 \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \ -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \ -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \ -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC8_LIBTMPL) > $(VC8_LIBVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC8_SRCVCPROJ)'"; \ awk -v proj_type=vcproj2 \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC8_SRCTMPL) > $(VC8_SRCVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC9_LIBVCPROJ)'"; \ awk -v proj_type=vcproj2 \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \ -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \ -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \ -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC9_LIBTMPL) > $(VC9_LIBVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC9_SRCVCPROJ)'"; \ awk -v proj_type=vcproj2 \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC9_SRCTMPL) > $(VC9_SRCVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC10_LIBVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \ -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \ -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \ -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC10_LIBTMPL) > $(VC10_LIBVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC10_SRCVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC10_SRCTMPL) > $(VC10_SRCVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC11_LIBVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \ -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \ -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \ -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC11_LIBTMPL) > $(VC11_LIBVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC11_SRCVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC11_SRCTMPL) > $(VC11_SRCVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC12_LIBVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \ -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \ -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \ -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC12_LIBTMPL) > $(VC12_LIBVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC12_SRCVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC12_SRCTMPL) > $(VC12_SRCVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC14_LIBVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \ -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \ -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \ -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC14_LIBTMPL) > $(VC14_LIBVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC14_SRCVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC14_SRCTMPL) > $(VC14_SRCVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC15_LIBVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \ -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \ -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \ -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC15_LIBTMPL) > $(VC15_LIBVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC15_SRCVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v src_srcs="$$sorted_src_srcs" \ |
︙ | ︙ |
Changes to jni/curl/Makefile.in.
︙ | ︙ | |||
424 425 426 427 428 429 430 431 432 433 434 435 436 437 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ | > | 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_BEARSSL = @USE_BEARSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ |
︙ | ︙ | |||
510 511 512 513 514 515 516 | ACLOCAL_AMFLAGS = -I m4 CMAKE_DIST = CMakeLists.txt CMake/CMakeConfigurableFile.in \ CMake/CurlTests.c CMake/FindGSS.cmake CMake/OtherTests.cmake \ CMake/Platforms/WindowsCache.cmake CMake/Utilities.cmake \ CMake/Macros.cmake \ CMake/CurlSymbolHiding.cmake CMake/FindCARES.cmake \ CMake/FindLibSSH2.cmake CMake/FindNGHTTP2.cmake \ | | | | 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 | ACLOCAL_AMFLAGS = -I m4 CMAKE_DIST = CMakeLists.txt CMake/CMakeConfigurableFile.in \ CMake/CurlTests.c CMake/FindGSS.cmake CMake/OtherTests.cmake \ CMake/Platforms/WindowsCache.cmake CMake/Utilities.cmake \ CMake/Macros.cmake \ CMake/CurlSymbolHiding.cmake CMake/FindCARES.cmake \ CMake/FindLibSSH2.cmake CMake/FindNGHTTP2.cmake \ CMake/FindMbedTLS.cmake CMake/FindBearSSL.cmake \ CMake/cmake_uninstall.cmake.in CMake/curl-config.cmake.in VC6_LIBTMPL = projects/Windows/VC6/lib/libcurl.tmpl VC6_LIBDSP = projects/Windows/VC6/lib/libcurl.dsp.dist VC6_LIBDSP_DEPS = $(VC6_LIBTMPL) Makefile.am lib/Makefile.inc VC6_SRCTMPL = projects/Windows/VC6/src/curl.tmpl VC6_SRCDSP = projects/Windows/VC6/src/curl.dsp.dist VC6_SRCDSP_DEPS = $(VC6_SRCTMPL) Makefile.am src/Makefile.inc |
︙ | ︙ | |||
660 661 662 663 664 665 666 | vauth/krb5_sspi.c vauth/ntlm.c vauth/ntlm_sspi.c vauth/oauth2.c \ vauth/spnego_gssapi.c vauth/spnego_sspi.c LIB_VAUTH_HFILES = vauth/vauth.h vauth/digest.h vauth/ntlm.h LIB_VTLS_CFILES = vtls/openssl.c vtls/gtls.c vtls/vtls.c vtls/nss.c \ vtls/polarssl.c vtls/polarssl_threadlock.c \ vtls/wolfssl.c vtls/schannel.c vtls/schannel_verify.c \ | | > | > | 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 | vauth/krb5_sspi.c vauth/ntlm.c vauth/ntlm_sspi.c vauth/oauth2.c \ vauth/spnego_gssapi.c vauth/spnego_sspi.c LIB_VAUTH_HFILES = vauth/vauth.h vauth/digest.h vauth/ntlm.h LIB_VTLS_CFILES = vtls/openssl.c vtls/gtls.c vtls/vtls.c vtls/nss.c \ vtls/polarssl.c vtls/polarssl_threadlock.c \ vtls/wolfssl.c vtls/schannel.c vtls/schannel_verify.c \ vtls/sectransp.c vtls/gskit.c vtls/mbedtls.c vtls/mesalink.c \ vtls/bearssl.c LIB_VTLS_HFILES = vtls/openssl.h vtls/vtls.h vtls/gtls.h \ vtls/nssg.h vtls/polarssl.h vtls/polarssl_threadlock.h \ vtls/wolfssl.h vtls/schannel.h vtls/sectransp.h vtls/gskit.h \ vtls/mbedtls.h vtls/mesalink.h vtls/bearssl.h LIB_VQUIC_CFILES = vquic/ngtcp2.c vquic/quiche.c LIB_VQUIC_HFILES = vquic/ngtcp2.h vquic/quiche.h LIB_VSSH_CFILES = vssh/libssh2.c vssh/libssh.c LIB_VSSH_HFILES = vssh/ssh.h LIB_CFILES = file.c timeval.c base64.c hostip.c progress.c formdata.c \ cookie.c http.c sendf.c ftp.c url.c dict.c if2ip.c speedcheck.c \ ldap.c version.c getenv.c escape.c mprintf.c telnet.c netrc.c \ getinfo.c transfer.c strcase.c easy.c security.c curl_fnmatch.c \ fileinfo.c ftplistparser.c wildcard.c krb5.c memdebug.c http_chunks.c \ strtok.c connect.c llist.c hash.c multi.c content_encoding.c share.c \ http_digest.c md4.c md5.c http_negotiate.c inet_pton.c strtoofft.c \ |
︙ | ︙ | |||
699 700 701 702 703 704 705 | speedcheck.h urldata.h curl_ldap.h escape.h telnet.h getinfo.h \ strcase.h curl_sec.h memdebug.h http_chunks.h curl_fnmatch.h \ wildcard.h fileinfo.h ftplistparser.h strtok.h connect.h llist.h \ hash.h content_encoding.h share.h curl_md4.h curl_md5.h http_digest.h \ http_negotiate.h inet_pton.h amigaos.h strtoofft.h strerror.h \ inet_ntop.h curlx.h curl_memory.h curl_setup.h transfer.h select.h \ easyif.h multiif.h parsedate.h tftp.h sockaddr.h splay.h strdup.h \ | | | | 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 | speedcheck.h urldata.h curl_ldap.h escape.h telnet.h getinfo.h \ strcase.h curl_sec.h memdebug.h http_chunks.h curl_fnmatch.h \ wildcard.h fileinfo.h ftplistparser.h strtok.h connect.h llist.h \ hash.h content_encoding.h share.h curl_md4.h curl_md5.h http_digest.h \ http_negotiate.h inet_pton.h amigaos.h strtoofft.h strerror.h \ inet_ntop.h curlx.h curl_memory.h curl_setup.h transfer.h select.h \ easyif.h multiif.h parsedate.h tftp.h sockaddr.h splay.h strdup.h \ socks.h curl_base64.h curl_addrinfo.h curl_sspi.h \ slist.h nonblock.h curl_memrchr.h imap.h pop3.h smtp.h pingpong.h \ rtsp.h curl_threads.h warnless.h curl_hmac.h curl_rtmp.h \ curl_gethostname.h gopher.h http_proxy.h non-ascii.h asyn.h \ http_ntlm.h curl_gssapi.h curl_ntlm_wb.h curl_ntlm_core.h \ curl_sasl.h curl_multibyte.h hostcheck.h conncache.h \ curl_setup_once.h multihandle.h setup-vms.h dotdot.h \ x509asn1.h http2.h sigpipe.h smb.h curl_endian.h curl_des.h \ curl_printf.h system_win32.h rand.h mime.h curl_sha256.h setopt.h \ curl_path.h curl_ctype.h curl_range.h psl.h doh.h urlapi-int.h \ curl_get_line.h altsvc.h quic.h socketpair.h LIB_RCFILES = libcurl.rc CSOURCES = $(LIB_CFILES) $(LIB_VAUTH_CFILES) $(LIB_VTLS_CFILES) \ $(LIB_VQUIC_CFILES) $(LIB_VSSH_CFILES) HHEADERS = $(LIB_HFILES) $(LIB_VAUTH_HFILES) $(LIB_VTLS_HFILES) \ $(LIB_VQUIC_HFILES) $(LIB_VSSH_HFILES) # libcurl has sources that provide functions named curlx_* that aren't part of # the official API, but we re-use the code here to avoid duplication. CURLX_CFILES = \ ../lib/strtoofft.c \ ../lib/nonblock.c \ |
︙ | ︙ | |||
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 | $(VC12_SRCVCXPROJ_DEPS) $(VC14_LIBVCXPROJ_DEPS) $(VC14_SRCVCXPROJ_DEPS) \ $(VC15_LIBVCXPROJ_DEPS) $(VC15_SRCVCXPROJ_DEPS) @(win32_lib_srcs='$(LIB_CFILES)'; \ win32_lib_hdrs='$(LIB_HFILES) config-win32.h'; \ win32_lib_rc='$(LIB_RCFILES)'; \ win32_lib_vauth_srcs='$(LIB_VAUTH_CFILES)'; \ win32_lib_vauth_hdrs='$(LIB_VAUTH_HFILES)'; \ win32_lib_vtls_srcs='$(LIB_VTLS_CFILES)'; \ win32_lib_vtls_hdrs='$(LIB_VTLS_HFILES)'; \ win32_src_srcs='$(CURL_CFILES)'; \ win32_src_hdrs='$(CURL_HFILES)'; \ win32_src_rc='$(CURL_RCFILES)'; \ win32_src_x_srcs='$(CURLX_CFILES)'; \ win32_src_x_hdrs='$(CURLX_HFILES) ../lib/config-win32.h'; \ \ sorted_lib_srcs=`for file in $$win32_lib_srcs; do echo $$file; done | sort`; \ sorted_lib_hdrs=`for file in $$win32_lib_hdrs; do echo $$file; done | sort`; \ sorted_lib_vauth_srcs=`for file in $$win32_lib_vauth_srcs; do echo $$file; done | sort`; \ sorted_lib_vauth_hdrs=`for file in $$win32_lib_vauth_hdrs; do echo $$file; done | sort`; \ sorted_lib_vtls_srcs=`for file in $$win32_lib_vtls_srcs; do echo $$file; done | sort`; \ sorted_lib_vtls_hdrs=`for file in $$win32_lib_vtls_hdrs; do echo $$file; done | sort`; \ sorted_src_srcs=`for file in $$win32_src_srcs; do echo $$file; done | sort`; \ sorted_src_hdrs=`for file in $$win32_src_hdrs; do echo $$file; done | sort`; \ sorted_src_x_srcs=`for file in $$win32_src_x_srcs; do echo $$file; done | sort`; \ sorted_src_x_hdrs=`for file in $$win32_src_x_hdrs; do echo $$file; done | sort`; \ \ awk_code='\ function gen_element(type, dir, file)\ {\ sub(/vauth\//, "", file);\ sub(/vtls\//, "", file);\ \ spaces=" ";\ | > > > > > > > > > > | > > > | 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 | $(VC12_SRCVCXPROJ_DEPS) $(VC14_LIBVCXPROJ_DEPS) $(VC14_SRCVCXPROJ_DEPS) \ $(VC15_LIBVCXPROJ_DEPS) $(VC15_SRCVCXPROJ_DEPS) @(win32_lib_srcs='$(LIB_CFILES)'; \ win32_lib_hdrs='$(LIB_HFILES) config-win32.h'; \ win32_lib_rc='$(LIB_RCFILES)'; \ win32_lib_vauth_srcs='$(LIB_VAUTH_CFILES)'; \ win32_lib_vauth_hdrs='$(LIB_VAUTH_HFILES)'; \ win32_lib_vquic_srcs='$(LIB_VQUIC_CFILES)'; \ win32_lib_vquic_hdrs='$(LIB_VQUIC_HFILES)'; \ win32_lib_vssh_srcs='$(LIB_VSSH_CFILES)'; \ win32_lib_vssh_hdrs='$(LIB_VSSH_HFILES)'; \ win32_lib_vtls_srcs='$(LIB_VTLS_CFILES)'; \ win32_lib_vtls_hdrs='$(LIB_VTLS_HFILES)'; \ win32_src_srcs='$(CURL_CFILES)'; \ win32_src_hdrs='$(CURL_HFILES)'; \ win32_src_rc='$(CURL_RCFILES)'; \ win32_src_x_srcs='$(CURLX_CFILES)'; \ win32_src_x_hdrs='$(CURLX_HFILES) ../lib/config-win32.h'; \ \ sorted_lib_srcs=`for file in $$win32_lib_srcs; do echo $$file; done | sort`; \ sorted_lib_hdrs=`for file in $$win32_lib_hdrs; do echo $$file; done | sort`; \ sorted_lib_vauth_srcs=`for file in $$win32_lib_vauth_srcs; do echo $$file; done | sort`; \ sorted_lib_vauth_hdrs=`for file in $$win32_lib_vauth_hdrs; do echo $$file; done | sort`; \ sorted_lib_vquic_srcs=`for file in $$win32_lib_vquic_srcs; do echo $$file; done | sort`; \ sorted_lib_vquic_hdrs=`for file in $$win32_lib_vquic_hdrs; do echo $$file; done | sort`; \ sorted_lib_vssh_srcs=`for file in $$win32_lib_vssh_srcs; do echo $$file; done | sort`; \ sorted_lib_vssh_hdrs=`for file in $$win32_lib_vssh_hdrs; do echo $$file; done | sort`; \ sorted_lib_vtls_srcs=`for file in $$win32_lib_vtls_srcs; do echo $$file; done | sort`; \ sorted_lib_vtls_hdrs=`for file in $$win32_lib_vtls_hdrs; do echo $$file; done | sort`; \ sorted_src_srcs=`for file in $$win32_src_srcs; do echo $$file; done | sort`; \ sorted_src_hdrs=`for file in $$win32_src_hdrs; do echo $$file; done | sort`; \ sorted_src_x_srcs=`for file in $$win32_src_x_srcs; do echo $$file; done | sort`; \ sorted_src_x_hdrs=`for file in $$win32_src_x_hdrs; do echo $$file; done | sort`; \ \ awk_code='\ function gen_element(type, dir, file)\ {\ sub(/vauth\//, "", file);\ sub(/vquic\//, "", file);\ sub(/vssh\//, "", file);\ sub(/vtls\//, "", file);\ \ spaces=" ";\ if(dir == "lib\\vauth" ||\ dir == "lib\\vquic" ||\ dir == "lib\\vssh" ||\ dir == "lib\\vtls")\ tabs=" ";\ else\ tabs=" ";\ \ if(type == "dsp") {\ printf("# Begin Source File\r\n");\ printf("\r\n");\ |
︙ | ︙ | |||
1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 | split(lib_vauth_srcs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vauth", arr[val]);\ }\ else if($$0 == "CURL_LIB_VAUTH_H_FILES") {\ split(lib_vauth_hdrs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vauth", arr[val]);\ }\ else if($$0 == "CURL_LIB_VTLS_C_FILES") {\ split(lib_vtls_srcs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vtls", arr[val]);\ }\ else if($$0 == "CURL_LIB_VTLS_H_FILES") {\ split(lib_vtls_hdrs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vtls", arr[val]);\ | > > > > > > > > > > > > > > > > | 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 | split(lib_vauth_srcs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vauth", arr[val]);\ }\ else if($$0 == "CURL_LIB_VAUTH_H_FILES") {\ split(lib_vauth_hdrs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vauth", arr[val]);\ }\ else if($$0 == "CURL_LIB_VQUIC_C_FILES") {\ split(lib_vquic_srcs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vquic", arr[val]);\ }\ else if($$0 == "CURL_LIB_VQUIC_H_FILES") {\ split(lib_vquic_hdrs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vquic", arr[val]);\ }\ else if($$0 == "CURL_LIB_VSSH_C_FILES") {\ split(lib_vssh_srcs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vssh", arr[val]);\ }\ else if($$0 == "CURL_LIB_VSSH_H_FILES") {\ split(lib_vssh_hdrs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vssh", arr[val]);\ }\ else if($$0 == "CURL_LIB_VTLS_C_FILES") {\ split(lib_vtls_srcs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vtls", arr[val]);\ }\ else if($$0 == "CURL_LIB_VTLS_H_FILES") {\ split(lib_vtls_hdrs, arr);\ for(val in arr) gen_element(proj_type, "lib\\vtls", arr[val]);\ |
︙ | ︙ | |||
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 | echo "generating '$(VC6_LIBDSP)'"; \ awk -v proj_type=dsp \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC6_LIBTMPL) > $(VC6_LIBDSP) || { exit 1; }; \ \ echo "generating '$(VC6_SRCDSP)'"; \ awk -v proj_type=dsp \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC6_SRCTMPL) > $(VC6_SRCDSP) || { exit 1; }; \ \ echo "generating '$(VC7_LIBVCPROJ)'"; \ awk -v proj_type=vcproj1 \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC7_LIBTMPL) > $(VC7_LIBVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC7_SRCVCPROJ)'"; \ awk -v proj_type=vcproj1 \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC7_SRCTMPL) > $(VC7_SRCVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC71_LIBVCPROJ)'"; \ awk -v proj_type=vcproj1 \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC71_LIBTMPL) > $(VC71_LIBVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC71_SRCVCPROJ)'"; \ awk -v proj_type=vcproj1 \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC71_SRCTMPL) > $(VC71_SRCVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC8_LIBVCPROJ)'"; \ awk -v proj_type=vcproj2 \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC8_LIBTMPL) > $(VC8_LIBVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC8_SRCVCPROJ)'"; \ awk -v proj_type=vcproj2 \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC8_SRCTMPL) > $(VC8_SRCVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC9_LIBVCPROJ)'"; \ awk -v proj_type=vcproj2 \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC9_LIBTMPL) > $(VC9_LIBVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC9_SRCVCPROJ)'"; \ awk -v proj_type=vcproj2 \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC9_SRCTMPL) > $(VC9_SRCVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC10_LIBVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC10_LIBTMPL) > $(VC10_LIBVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC10_SRCVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC10_SRCTMPL) > $(VC10_SRCVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC11_LIBVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC11_LIBTMPL) > $(VC11_LIBVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC11_SRCVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC11_SRCTMPL) > $(VC11_SRCVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC12_LIBVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC12_LIBTMPL) > $(VC12_LIBVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC12_SRCVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC12_SRCTMPL) > $(VC12_SRCVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC14_LIBVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC14_LIBTMPL) > $(VC14_LIBVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC14_SRCVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC14_SRCTMPL) > $(VC14_SRCVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC15_LIBVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC15_LIBTMPL) > $(VC15_LIBVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC15_SRCVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v src_srcs="$$sorted_src_srcs" \ | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | echo "generating '$(VC6_LIBDSP)'"; \ awk -v proj_type=dsp \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \ -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \ -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \ -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC6_LIBTMPL) > $(VC6_LIBDSP) || { exit 1; }; \ \ echo "generating '$(VC6_SRCDSP)'"; \ awk -v proj_type=dsp \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC6_SRCTMPL) > $(VC6_SRCDSP) || { exit 1; }; \ \ echo "generating '$(VC7_LIBVCPROJ)'"; \ awk -v proj_type=vcproj1 \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \ -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \ -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \ -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC7_LIBTMPL) > $(VC7_LIBVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC7_SRCVCPROJ)'"; \ awk -v proj_type=vcproj1 \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC7_SRCTMPL) > $(VC7_SRCVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC71_LIBVCPROJ)'"; \ awk -v proj_type=vcproj1 \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \ -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \ -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \ -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC71_LIBTMPL) > $(VC71_LIBVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC71_SRCVCPROJ)'"; \ awk -v proj_type=vcproj1 \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC71_SRCTMPL) > $(VC71_SRCVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC8_LIBVCPROJ)'"; \ awk -v proj_type=vcproj2 \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \ -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \ -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \ -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC8_LIBTMPL) > $(VC8_LIBVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC8_SRCVCPROJ)'"; \ awk -v proj_type=vcproj2 \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC8_SRCTMPL) > $(VC8_SRCVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC9_LIBVCPROJ)'"; \ awk -v proj_type=vcproj2 \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \ -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \ -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \ -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC9_LIBTMPL) > $(VC9_LIBVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC9_SRCVCPROJ)'"; \ awk -v proj_type=vcproj2 \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC9_SRCTMPL) > $(VC9_SRCVCPROJ) || { exit 1; }; \ \ echo "generating '$(VC10_LIBVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \ -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \ -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \ -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC10_LIBTMPL) > $(VC10_LIBVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC10_SRCVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC10_SRCTMPL) > $(VC10_SRCVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC11_LIBVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \ -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \ -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \ -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC11_LIBTMPL) > $(VC11_LIBVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC11_SRCVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC11_SRCTMPL) > $(VC11_SRCVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC12_LIBVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \ -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \ -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \ -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC12_LIBTMPL) > $(VC12_LIBVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC12_SRCVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC12_SRCTMPL) > $(VC12_SRCVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC14_LIBVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \ -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \ -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \ -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC14_LIBTMPL) > $(VC14_LIBVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC14_SRCVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v src_srcs="$$sorted_src_srcs" \ -v src_hdrs="$$sorted_src_hdrs" \ -v src_rc="$$win32_src_rc" \ -v src_x_srcs="$$sorted_src_x_srcs" \ -v src_x_hdrs="$$sorted_src_x_hdrs" \ "$$awk_code" $(srcdir)/$(VC14_SRCTMPL) > $(VC14_SRCVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC15_LIBVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v lib_srcs="$$sorted_lib_srcs" \ -v lib_hdrs="$$sorted_lib_hdrs" \ -v lib_rc="$$win32_lib_rc" \ -v lib_vauth_srcs="$$sorted_lib_vauth_srcs" \ -v lib_vauth_hdrs="$$sorted_lib_vauth_hdrs" \ -v lib_vquic_srcs="$$sorted_lib_vquic_srcs" \ -v lib_vquic_hdrs="$$sorted_lib_vquic_hdrs" \ -v lib_vssh_srcs="$$sorted_lib_vssh_srcs" \ -v lib_vssh_hdrs="$$sorted_lib_vssh_hdrs" \ -v lib_vtls_srcs="$$sorted_lib_vtls_srcs" \ -v lib_vtls_hdrs="$$sorted_lib_vtls_hdrs" \ "$$awk_code" $(srcdir)/$(VC15_LIBTMPL) > $(VC15_LIBVCXPROJ) || { exit 1; }; \ \ echo "generating '$(VC15_SRCVCXPROJ)'"; \ awk -v proj_type=vcxproj \ -v src_srcs="$$sorted_src_srcs" \ |
︙ | ︙ |
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 | curl and libcurl 7.68.0 Public curl releases: 188 Command line options: 229 curl_easy_setopt() options: 269 Public functions in libcurl: 82 Contributors: 2088 This release includes the following changes: o TLS: add BearSSL vtls implementation [37] o XFERINFOFUNCTION: support CURL_PROGRESSFUNC_CONTINUE [36] o curl: add --etag-compare and --etag-save [31] o curl: add --parallel-immediate [29] o multi: add curl_multi_wakeup() [38] o openssl: CURLSSLOPT_NO_PARTIALCHAIN can disable partial cert chains [45] This release includes the following bugfixes: o CVE-2019-15601: file: on Windows, refuse paths that start with \\ [106] o Azure Pipelines: add several builds o CMake: add support for building with the NSS vtls backend [43] o CURL-DISABLE: initial docs for the CURL_DISABLE_* defines [19] o CURLOPT_HEADERFUNCTION.3: Document that size is always 1 [100] o CURLOPT_QUOTE.3: fix typos [78] o CURLOPT_READFUNCTION.3: fix the example [107] o CURLOPT_URL.3: "curl supports SMB version 1 (only)" o CURLOPT_VERBOSE.3: see also ERRORBUFFER o HISTORY: added cmake, HTTP/3 and parallel downloads with curl o HISTORY: the SMB(S) support landed in 2014 o INSTALL.md: provide Android build instructions [10] o KNOWN_BUGS: Connection information when using TCP Fast Open [85] o KNOWN_BUGS: LDAP on Windows doesn't work correctly [86] o KNOWN_BUGS: TLS session cache doesn't work with TFO [56] o OPENSOCKETFUNCTION.3: correct the purpose description [48] o TrackMemory tests: always remove CR before LF [111] o altsvc: bump to h3-24 [6] o altsvc: make the save function ignore NULL filenames [67] o build: Disable Visual Studio warning "conditional expression is constant" [49] o build: fix for CURL_DISABLE_DOH [2] o checksrc.bat: Add a check for vquic and vssh directories [40] o checksrc: repair the copyrightyear check [25] o cirrus-ci: enable clang sanitizers on freebsd 13 [60] o cirrus: Drop the FreeBSD 10.4 build o config-win32: cpu-machine-OS for Windows on ARM [13] o configure: avoid unportable `==' test(1) operator [1] o configure: enable IPv6 support without `getaddrinfo` [44] o configure: fix typo in help text [4] o conncache: CONNECT_ONLY connections assumed always in-use [71] o conncache: fix multi-thread use of shared connection cache [61] o copyrights: fix copyright year range [25] o create_conn: prefer multiplexing to using new connections [76] o curl -w: handle a blank input file correctly [105] o curl.h: add two missing defines for "pre ISO C" compilers [75] o curl/parseconfig: fix mem-leak [81] o curl/parseconfig: use curl_free() to free memory allocated by libcurl [80] o curl: cleanup multi handle on failure [103] o curl: fix --upload-file . hangs if delay in STDIN [35] o curl: fix -T globbing [16] o curl: improved cleanup in upload error path [69] o curl: make a few char pointers point to const char instead [95] o curl: properly free mimepost data [104] o curl: show better error message when no homedir is found [47] o curl: show error for --http3 if libcurl lacks support [108] o curl_setup_once: consistently use WHILE_FALSE in macros [54] o define: remove HAVE_ENGINE_LOAD_BUILTIN_ENGINES, not used anymore [83] o docs: Change 'experiemental' to 'experimental' [30] o docs: TLS SRP doesn't work with TLS 1.3 [87] o docs: fix several typos [62] o docs: mention CURL_MAX_INPUT_LENGTH restrictions [109] o doh: improved both encoding and decoding [11] o doh: make it behave when built without proxy support [68] o examples/postinmemory.c: Call curl_global_cleanup always [101] o examples/url2file.c: corrected erroneous comment [102] o examples: add multi-poll.c [14] o global_init: undo the "intialized" bump in case of failure [52] o hostip: suppress compiler warning [64] o http_ntlm: Remove duplicate NSS initialisation [55] o lib: Move lib/ssh.h -> lib/vssh/ssh.h [9] o lib: fix compiler warnings with `CURL_DISABLE_VERBOSE_STRINGS` [93] o lib: fix warnings found when porting to NuttX [99] o lib: remove ASSIGNWITHINCONDITION exceptions, use our code style [84] o lib: remove erroneous +x file permission on some c files [99] o libssh2: add support for ECDSA and ed25519 knownhost keys [89] o multi.h: remove INITIAL_MAX_CONCURRENT_STREAMS from public header [110] o multi: free sockhash on OOM [63] o multi_poll: avoid busy-loop when called without easy handles attached [15] o ngtcp2: Support the latest update key callback type [92] o ngtcp2: fix thread-safety bug in error-handling [33] o ngtcp2: free used resources on disconnect [7] o ngtcp2: handle key updates as ngtcp2 master branch tells us [8] o ngtcp2: increase QUIC window size when data is consumed [12] o ngtcp2: use overflow buffer for extra HTTP/3 data [5] o ntlm: USE_WIN32_CRYPTO check removed to get USE_NTLM2SESSION set [3] o ntlm_wb: fix double-free in OOM [65] o openssl: Revert to less sensitivity for SYSCALL errors [26] o openssl: improve error message for SYSCALL during connect [27] o openssl: prevent recursive function calls from ctx callbacks [18] o openssl: retrieve reported LibreSSL version at runtime [50] o openssl: set X509_V_FLAG_PARTIAL_CHAIN by default [46] o parsedate: offer a getdate_capped() alternative [53] o pause: avoid updating socket if done was already called [22] o projects: Fix Visual Studio projects SSH builds [41] o projects: Fix Visual Studio wolfSSL configurations o quiche: reject HTTP/3 headers in the wrong order [17] o remove_handle: clear expire timers after multi_done() [20] o runtests: --repeat=[num] to repeat tests [91] o runtests: introduce --shallow to reduce huge torture tests [70] o schannel: fix --tls-max for when min is --tlsv1 or default [39] o setopt: Fix ALPN / NPN user option when built without HTTP2 [42] o strerror: Add Curl_winapi_strerror for Win API specific errors [51] o strerror: Fix an error looking up some Windows error strings o strerror: Fix compiler warning "empty expression" [79] o system.h: fix for MCST lcc compiler [23] o test/sws: search for "Testno:" header unconditionally if no testno [73] o test1175: verify symbols-in-versions and libcurl-errors.3 in sync [28] o test1270: a basic -w redirect_url test [82] o test1456: remove the use of a fixed local port number [77] o test1558: use double slash after file: [21] o test1560: require IPv6 for IPv6 aware URL parsing [24] o tests/lib1557: fix mem-leak in OOM [66] o tests/lib1559: fix mem-leak in OOM [66] o tests/lib1591: free memory properly on OOM, in the trailers callback [90] o tests/unit1607: fix mem-leak in OOM [66] o tests/unit1609: fix mem-leak in OOM [66] o tests/unit1620: fix bad free in OOM [66] o tests: Change NTLM tests to require SSL [96] o tests: Fix bounce requests with truncated writes [94] o tests: fix build with `CURL_DISABLE_DOH` [64] o tests: fix permissions of ssh keys in WSL [58] o tests: make it possible to set executable extensions [58] o tests: make sure checksrc runs on header files too o tests: set LC_ALL=en_US.UTF-8 instead of blank in several tests [74] o tests: use DoH feature for DoH tests [64] o tests: use \r\n for log messages in WSL [58] o tool_operate: fix mem leak when failed config parse [98] o travis: Fix error detection [97] o travis: abandon coveralls, it is not reliable [57] o travis: build ngtcp2 with --enable-lib-only [32] o travis: export the CC/CXX variables when set [34] o vtls: make BearSSL possible to set with CURL_SSL_BACKEND [72] o winbuild: Define CARES_STATICLIB when WITH_CARES=static [59] o winbuild: Document CURL_STATICLIB requirement for static libcurl [88] This release includes the following known bugs: o see docs/KNOWN_BUGS (https://curl.haxx.se/docs/knownbugs.html) This release would not have looked like this without help, code, reports and advice from friends like these: 3dyd on github, Anderson Sasaki, Andreas Falkenhahn, Andrew Ishchuk, bdry on github, Bjoern Franke, Brian Carpenter, bxac on github, Bylon2 on github, Christian Schmitz, Christopher Head, Christopher Reid, Christoph M. Becker, Cynthia Coan, Dan Fandrich, Daniel Gustafsson, Daniel Stenberg, David Benjamin, Emil Engler, Fernando Muñoz, Frank Gevaerts, Geeknik Labs, Gergely Nagy, Gisle Vanem, JanB on github, Javier Blazquez, Jeff Mears, Jeffrey Walton, John Schroeder, Kamil Dudka, kouzhudong on github, Kunal Ekawde, Leonardo Taccari, Marc Aldorasi, Marcel Raad, marc-groundctl on github, Marc Hörsken, Maros Priputen, Massimiliano Fantuzzi, Max Kellermann, Melissa Mears, Michael Forney, Michael Vittiglio, Mohammad Hasbini, Niall O'Reilly, Paul Groke, Paul Hoffman, Paul Joyce, Paulo Roberto Tomasi, Pavel Löbl, Pavel Pavlov, Peter Wu, Ram Krushna Mishra, Ray Satiro, Richard Alcock, Richard Bowker, Rickard Hallerbäck, Santino Keupp, sayrer on github, Shailesh Kapse, Simon Warta, SLDiggie on github, Steve Holme, Tatsuhiro Tsujikawa, Tom van der Woerdt, Victor Magierski, Vlastimil Ovčáčík, Wyatt O'Day, Xiang Xiao, Xiaoyin Liu, (70 contributors) Thanks! (and sorry if I forgot to mention someone) References to bug reports and discussions on issues: [1] = https://curl.haxx.se/bug/?i=4567 [2] = https://curl.haxx.se/bug/?i=4565 [3] = https://curl.haxx.se/bug/?i=3704 [4] = https://curl.haxx.se/bug/?i=4570 [5] = https://curl.haxx.se/bug/?i=4525 [6] = https://curl.haxx.se/bug/?i=4604 [7] = https://curl.haxx.se/bug/?i=4614 [8] = https://curl.haxx.se/bug/?i=4612 [9] = https://curl.haxx.se/bug/?i=4609 [10] = https://curl.haxx.se/bug/?i=4606 [11] = https://curl.haxx.se/bug/?i=4598 [12] = https://curl.haxx.se/bug/?i=4600 [13] = https://curl.haxx.se/bug/?i=4590 [14] = https://curl.haxx.se/bug/?i=4596 [15] = https://curl.haxx.se/bug/?i=4594 [16] = https://curl.haxx.se/bug/?i=4588 [17] = https://curl.haxx.se/bug/?i=4571 [18] = https://curl.haxx.se/bug/?i=4585 [19] = https://curl.haxx.se/bug/?i=4545 [20] = https://curl.haxx.se/bug/?i=4575 [21] = https://curl.haxx.se/bug/?i=4554 [22] = https://curl.haxx.se/bug/?i=4563 [23] = https://curl.haxx.se/bug/?i=4576 [24] = https://curl.haxx.se/bug/?i=4556 [25] = https://curl.haxx.se/bug/?i=4549 [26] = https://curl.haxx.se/bug/?i=4624 [27] = https://curl.haxx.se/bug/?i=4593 [28] = https://curl.haxx.se/bug/?i=4628 [29] = https://curl.haxx.se/bug/?i=4500 [30] = https://curl.haxx.se/bug/?i=4618 [31] = https://curl.haxx.se/bug/?i=4543 [32] = https://curl.haxx.se/bug/?i=4646 [33] = https://curl.haxx.se/bug/?i=4645 [34] = https://curl.haxx.se/bug/?i=4637 [35] = https://curl.haxx.se/bug/?i=2051 [36] = https://curl.haxx.se/bug/?i=4599 [37] = https://curl.haxx.se/bug/?i=4597 [38] = https://curl.haxx.se/bug/?i=4418 [39] = https://curl.haxx.se/bug/?i=4633 [40] = https://curl.haxx.se/bug/?i=4607 [41] = https://curl.haxx.se/bug/?i=4492 [42] = https://curl.haxx.se/bug/?i=4668 [43] = https://curl.haxx.se/bug/?i=4663 [44] = https://curl.haxx.se/bug/?i=4662 [45] = https://curl.haxx.se/bug/?i=4665 [46] = https://curl.haxx.se/mail/lib-2019-11/0094.html [47] = https://curl.haxx.se/bug/?i=4644 [48] = https://curl.haxx.se/mail/lib-2019-12/0007.html [49] = https://curl.haxx.se/bug/?i=4658 [50] = https://curl.haxx.se/bug/?i=2425 [51] = https://curl.haxx.se/bug/?i=4550 [52] = https://curl.haxx.se/bug/?i=4636 [53] = https://curl.haxx.se/bug/?i=4152 [54] = https://curl.haxx.se/bug/?i=4649 [55] = https://curl.haxx.se/bug/?i=3935 [56] = https://curl.haxx.se/bug/?i=4301 [57] = https://curl.haxx.se/bug/?i=4694 [58] = https://curl.haxx.se/bug/?i=3899 [59] = https://curl.haxx.se/bug/?i=4688 [60] = https://curl.haxx.se/bug/?i=4557 [61] = https://curl.haxx.se/bug/?i=4544 [62] = https://curl.haxx.se/bug/?i=4680 [63] = https://curl.haxx.se/bug/?i=4713 [64] = https://curl.haxx.se/bug/?i=4692 [65] = https://curl.haxx.se/bug/?i=4710 [66] = https://curl.haxx.se/bug/?i=4709 [67] = https://curl.haxx.se/bug/?i=4707 [68] = https://curl.haxx.se/bug/?i=4704 [69] = https://curl.haxx.se/bug/?i=4705 [70] = https://curl.haxx.se/bug/?i=4699 [71] = https://curl.haxx.se/bug/?i=4369 [72] = https://curl.haxx.se/bug/?i=4698 [73] = https://curl.haxx.se/bug/?i=4744 [74] = https://curl.haxx.se/bug/?i=4738 [75] = https://curl.haxx.se/bug/?i=4739 [76] = https://curl.haxx.se/bug/?i=4732 [77] = https://curl.haxx.se/bug/?i=4733 [78] = https://curl.haxx.se/bug/?i=4736 [79] = https://github.com/curl/curl/commit/5b22e1a#r36458547 [80] = https://curl.haxx.se/bug/?i=4730 [81] = https://curl.haxx.se/bug/?i=4731 [82] = https://curl.haxx.se/bug/?i=4728 [83] = https://curl.haxx.se/bug/?i=4725 [84] = https://curl.haxx.se/bug/?i=4683 [85] = https://curl.haxx.se/bug/?i=4296 [86] = https://curl.haxx.se/bug/?i=4261 [87] = https://curl.haxx.se/bug/?i=4262 [88] = https://curl.haxx.se/bug/?i=4721 [89] = https://curl.haxx.se/bug/?i=4714 [90] = https://curl.haxx.se/bug/?i=4720 [91] = https://curl.haxx.se/bug/?i=4715 [92] = https://curl.haxx.se/bug/?i=4735 [93] = https://curl.haxx.se/bug/?i=4775 [94] = https://github.com/curl/curl/pull/4717#issuecomment-570240785 [95] = https://curl.haxx.se/bug/?i=4771 [96] = https://curl.haxx.se/bug/?i=4768 [97] = https://curl.haxx.se/bug/?i=3730 [98] = https://curl.haxx.se/bug/?i=4767 [99] = https://curl.haxx.se/bug/?i=4756 [100] = https://curl.haxx.se/bug/?i=4758 [101] = https://curl.haxx.se/bug/?i=4751 [102] = https://curl.haxx.se/bug/?i=4745 [103] = https://curl.haxx.se/bug/?i=4772 [104] = https://curl.haxx.se/bug/?i=4781 [105] = https://curl.haxx.se/bug/?i=4786 [106] = https://curl.haxx.se/docs/CVE-2019-15601.html [107] = https://curl.haxx.se/bug/?i=4787 [108] = https://curl.haxx.se/bug/?i=4785 [109] = https://curl.haxx.se/bug/?i=4783 [110] = https://curl.haxx.se/bug/?i=4790 [111] = https://curl.haxx.se/bug/?i=4788 |
Changes to jni/curl/configure.
︙ | ︙ | |||
898 899 900 901 902 903 904 | USE_ARES subdirs USE_MANUAL_FALSE USE_MANUAL_TRUE MANOPT NROFF PERL | < | 898 899 900 901 902 903 904 905 906 907 908 909 910 911 | USE_ARES subdirs USE_MANUAL_FALSE USE_MANUAL_TRUE MANOPT NROFF PERL FISH_FUNCTIONS_DIR ZSH_FUNCTIONS_DIR USE_QUICHE USE_NGHTTP3 USE_NGTCP2_CRYPTO_OPENSSL USE_NGTCP2 USE_NGHTTP2 |
︙ | ︙ | |||
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 | USE_LIBPSL_FALSE USE_LIBPSL_TRUE CURL_CA_BUNDLE CURL_WITH_MULTI_SSL SSL_ENABLED NSS_LIBS USE_NSS USE_MESALINK USE_WOLFSSL USE_MBEDTLS HAVE_GNUTLS_SRP USE_GNUTLS_NETTLE USE_GNUTLS HAVE_OPENSSL_SRP RANDOM_FILE SSL_LIBS USE_SECTRANSP USE_WINDOWS_SSPI USE_SCHANNEL DEFAULT_SSL_BACKEND BUILD_STUB_GSS_FALSE BUILD_STUB_GSS_TRUE USE_OPENLDAP HAVE_BROTLI ZLIB_LIBS HAVE_LIBZ_FALSE HAVE_LIBZ_TRUE HAVE_LIBZ PKGCONFIG | > > | 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 | USE_LIBPSL_FALSE USE_LIBPSL_TRUE CURL_CA_BUNDLE CURL_WITH_MULTI_SSL SSL_ENABLED NSS_LIBS USE_NSS USE_BEARSSL USE_MESALINK USE_WOLFSSL USE_MBEDTLS HAVE_GNUTLS_SRP USE_GNUTLS_NETTLE USE_GNUTLS HAVE_OPENSSL_SRP RANDOM_FILE SSL_LIBS USE_SECTRANSP USE_WINDOWS_SSPI USE_SCHANNEL DEFAULT_SSL_BACKEND BUILD_STUB_GSS_FALSE BUILD_STUB_GSS_TRUE IPV6_ENABLED USE_OPENLDAP HAVE_BROTLI ZLIB_LIBS HAVE_LIBZ_FALSE HAVE_LIBZ_TRUE HAVE_LIBZ PKGCONFIG |
︙ | ︙ | |||
1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 | with_egd_socket with_random enable_openssl_auto_load_config with_gnutls with_mbedtls with_wolfssl with_mesalink with_nss with_ca_bundle with_ca_path with_ca_fallback with_libpsl with_libmetalink with_libssh2 | > | 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 | with_egd_socket with_random enable_openssl_auto_load_config with_gnutls with_mbedtls with_wolfssl with_mesalink with_bearssl with_nss with_ca_bundle with_ca_path with_ca_fallback with_libpsl with_libmetalink with_libssh2 |
︙ | ︙ | |||
1969 1970 1971 1972 1973 1974 1975 | --disable-dateparse Disable date parsing --enable-netrc Enable netrc parsing --disable-netrc Disable netrc parsing --enable-progress-meter Enable progress-meter --disable-progress-meter Disable progress-meter --enable-dnsshuffle Enable DNS shuffling | | | 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 | --disable-dateparse Disable date parsing --enable-netrc Enable netrc parsing --disable-netrc Disable netrc parsing --enable-progress-meter Enable progress-meter --disable-progress-meter Disable progress-meter --enable-dnsshuffle Enable DNS shuffling --disable-dnsshuffle Disable DNS shuffling --enable-alt-svc Enable alt-svc support --disable-alt-svc Disable alt-svc support Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use |
︙ | ︙ | |||
2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 | --without-mbedtls disable mbedTLS detection --with-wolfssl=PATH where to look for WolfSSL, PATH points to the installation root (default: system lib default) --without-wolfssl disable WolfSSL detection --with-mesalink=PATH where to look for MesaLink, PATH points to the installation root --without-mesalink disable MesaLink detection --with-nss=PATH where to look for NSS, PATH points to the installation root --without-nss disable NSS detection --with-ca-bundle=FILE Path to a file containing CA certificates (example: /etc/ca-bundle.crt) --without-ca-bundle Don't use a default CA bundle --with-ca-path=DIRECTORY | > > > | 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 | --without-mbedtls disable mbedTLS detection --with-wolfssl=PATH where to look for WolfSSL, PATH points to the installation root (default: system lib default) --without-wolfssl disable WolfSSL detection --with-mesalink=PATH where to look for MesaLink, PATH points to the installation root --without-mesalink disable MesaLink detection --with-bearssl=PATH where to look for BearSSL, PATH points to the installation root --without-bearssl disable BearSSL detection --with-nss=PATH where to look for NSS, PATH points to the installation root --without-nss disable NSS detection --with-ca-bundle=FILE Path to a file containing CA certificates (example: /etc/ca-bundle.crt) --without-ca-bundle Don't use a default CA bundle --with-ca-path=DIRECTORY |
︙ | ︙ | |||
5853 5854 5855 5856 5857 5858 5859 | PKGADD_PKG="HAXXcurl" PKGADD_NAME="curl - a client that groks URLs" PKGADD_VENDOR="curl.haxx.se" | | | | 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 | PKGADD_PKG="HAXXcurl" PKGADD_NAME="curl - a client that groks URLs" PKGADD_VENDOR="curl.haxx.se" curl_ssl_msg="no (--with-{ssl,gnutls,nss,mbedtls,wolfssl,schannel,secure-transport,mesalink,amissl,bearssl} )" curl_ssh_msg="no (--with-{libssh,libssh2})" curl_zlib_msg="no (--with-zlib)" curl_brotli_msg="no (--with-brotli)" curl_gss_msg="no (--with-gssapi)" curl_tls_srp_msg="no (--enable-tls-srp)" curl_res_msg="default (--enable-ares / --enable-threaded-resolver)" curl_ipv6_msg="no (--enable-ipv6)" curl_unix_sockets_msg="no (--enable-unix-sockets)" |
︙ | ︙ | |||
21808 21809 21810 21811 21812 21813 21814 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } ipv6=yes else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ | | > > > > > > > | 21813 21814 21815 21816 21817 21818 21819 21820 21821 21822 21823 21824 21825 21826 21827 21828 21829 21830 21831 21832 21833 21834 21835 21836 21837 21838 21839 21840 21841 21842 21843 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } ipv6=yes else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* are AF_INET6 and sockaddr_in6 available? */ #include <sys/types.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #include <ws2tcpip.h> #else #include <sys/socket.h> #include <netinet/in.h> #if defined (__TANDEM) # include <netinet/in6.h> #endif #endif #include <stdlib.h> /* for exit() */ main() { struct sockaddr_in6 s; (void)s; if (socket(AF_INET6, SOCK_STREAM, 0) < 0) exit(1); else exit(0); } _ACEOF |
︙ | ︙ | |||
21841 21842 21843 21844 21845 21846 21847 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi | < > > > > > > > | 21853 21854 21855 21856 21857 21858 21859 21860 21861 21862 21863 21864 21865 21866 21867 21868 21869 21870 21871 21872 21873 21874 | rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi if test "$ipv6" = yes; then curl_ipv6_msg="enabled" $as_echo "#define ENABLE_IPV6 1" >>confdefs.h IPV6_ENABLED=1 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if struct sockaddr_in6 has sin6_scope_id member" >&5 $as_echo_n "checking if struct sockaddr_in6 has sin6_scope_id member... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #ifdef HAVE_WINSOCK2_H |
︙ | ︙ | |||
24796 24797 24798 24799 24800 24801 24802 24803 24804 24805 24806 24807 24808 24809 | fi fi fi test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" fi OPT_NSS=no # Check whether --with-nss was given. if test "${with_nss+set}" = set; then : withval=$with_nss; OPT_NSS=$withval | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 24814 24815 24816 24817 24818 24819 24820 24821 24822 24823 24824 24825 24826 24827 24828 24829 24830 24831 24832 24833 24834 24835 24836 24837 24838 24839 24840 24841 24842 24843 24844 24845 24846 24847 24848 24849 24850 24851 24852 24853 24854 24855 24856 24857 24858 24859 24860 24861 24862 24863 24864 24865 24866 24867 24868 24869 24870 24871 24872 24873 24874 24875 24876 24877 24878 24879 24880 24881 24882 24883 24884 24885 24886 24887 24888 24889 24890 24891 24892 24893 24894 24895 24896 24897 24898 24899 24900 24901 24902 24903 24904 24905 24906 24907 24908 24909 24910 24911 24912 24913 24914 24915 24916 24917 24918 24919 24920 24921 24922 24923 24924 24925 24926 24927 24928 24929 24930 24931 24932 24933 24934 24935 24936 24937 24938 24939 24940 24941 24942 24943 24944 24945 24946 24947 24948 24949 24950 24951 24952 24953 24954 24955 24956 24957 24958 24959 24960 24961 24962 24963 24964 24965 24966 24967 24968 24969 24970 24971 24972 24973 24974 24975 24976 24977 24978 24979 24980 24981 24982 24983 24984 24985 24986 24987 24988 24989 | fi fi fi test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" fi OPT_BEARSSL=no _cppflags=$CPPFLAGS _ldflags=$LDFLAGS # Check whether --with-bearssl was given. if test "${with_bearssl+set}" = set; then : withval=$with_bearssl; OPT_BEARSSL=$withval fi if test -z "$ssl_backends" -o "x$OPT_BEARSSL" != xno; then ssl_msg= if test X"$OPT_BEARSSL" != Xno; then if test "$OPT_BEARSSL" = "yes"; then OPT_BEARSSL="" fi if test -z "$OPT_BEARSSL" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for br_ssl_client_init_full in -lbearssl" >&5 $as_echo_n "checking for br_ssl_client_init_full in -lbearssl... " >&6; } if ${ac_cv_lib_bearssl_br_ssl_client_init_full+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbearssl -lbearssl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __cplusplus extern "C" #endif char br_ssl_client_init_full (); int main (void) { return br_ssl_client_init_full (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_bearssl_br_ssl_client_init_full=yes else ac_cv_lib_bearssl_br_ssl_client_init_full=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bearssl_br_ssl_client_init_full" >&5 $as_echo "$ac_cv_lib_bearssl_br_ssl_client_init_full" >&6; } if test "x$ac_cv_lib_bearssl_br_ssl_client_init_full" = xyes; then : $as_echo "#define USE_BEARSSL 1" >>confdefs.h USE_BEARSSL=1 BEARSSL_ENABLED=1 USE_BEARSSL="yes" ssl_msg="BearSSL" test bearssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes fi fi addld="" addlib="" addcflags="" bearssllib="" if test "x$USE_BEARSSL" != "xyes"; then addld=-L$OPT_BEARSSL/lib$libsuff addcflags=-I$OPT_BEARSSL/include bearssllib=$OPT_BEARSSL/lib$libsuff LDFLAGS="$LDFLAGS $addld" if test "$addcflags" != "-I/usr/include"; then CPPFLAGS="$CPPFLAGS $addcflags" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for br_ssl_client_init_full in -lbearssl" >&5 $as_echo_n "checking for br_ssl_client_init_full in -lbearssl... " >&6; } if ${ac_cv_lib_bearssl_br_ssl_client_init_full+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lbearssl -lbearssl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __cplusplus extern "C" #endif char br_ssl_client_init_full (); int main (void) { return br_ssl_client_init_full (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_bearssl_br_ssl_client_init_full=yes else ac_cv_lib_bearssl_br_ssl_client_init_full=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bearssl_br_ssl_client_init_full" >&5 $as_echo "$ac_cv_lib_bearssl_br_ssl_client_init_full" >&6; } if test "x$ac_cv_lib_bearssl_br_ssl_client_init_full" = xyes; then : $as_echo "#define USE_BEARSSL 1" >>confdefs.h USE_BEARSSL=1 BEARSSL_ENABLED=1 USE_BEARSSL="yes" ssl_msg="BearSSL" test bearssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes else CPPFLAGS=$_cppflags LDFLAGS=$_ldflags fi fi if test "x$USE_BEARSSL" = "xyes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: detected BearSSL" >&5 $as_echo "$as_me: detected BearSSL" >&6;} check_for_ca_bundle=1 LIBS="-lbearssl $LIBS" if test -n "$bearssllib"; then if test "x$cross_compiling" != "xyes"; then CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$bearssllib" export CURL_LIBRARY_PATH { $as_echo "$as_me:${as_lineno-$LINENO}: Added $bearssllib to CURL_LIBRARY_PATH" >&5 $as_echo "$as_me: Added $bearssllib to CURL_LIBRARY_PATH" >&6;} fi fi fi fi test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" fi OPT_NSS=no # Check whether --with-nss was given. if test "${with_nss+set}" = set; then : withval=$with_nss; OPT_NSS=$withval |
︙ | ︙ | |||
25233 25234 25235 25236 25237 25238 25239 | fi fi fi test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" fi | | | | | 25413 25414 25415 25416 25417 25418 25419 25420 25421 25422 25423 25424 25425 25426 25427 25428 25429 25430 25431 25432 | fi fi fi test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" fi case "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED$MBEDTLS_ENABLED$WOLFSSL_ENABLED$WINSSL_ENABLED$SECURETRANSPORT_ENABLED$MESALINK_ENABLED$BEARSSL_ENABLED$AMISSL_ENABLED" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more." >&5 $as_echo "$as_me: WARNING: SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more." >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Use --with-ssl, --with-gnutls, --with-wolfssl, --with-mbedtls, --with-nss, --with-schannel, --with-secure-transport, --with-mesalink, --with-amissl or --with-bearssl to address this." >&5 $as_echo "$as_me: WARNING: Use --with-ssl, --with-gnutls, --with-wolfssl, --with-mbedtls, --with-nss, --with-schannel, --with-secure-transport, --with-mesalink, --with-amissl or --with-bearssl to address this." >&2;} ;; x1) # one SSL backend is enabled SSL_ENABLED="1" { $as_echo "$as_me:${as_lineno-$LINENO}: built with one SSL backend" >&5 $as_echo "$as_me: built with one SSL backend" >&6;} |
︙ | ︙ | |||
41333 41334 41335 41336 41337 41338 41339 | conftest$ac_exeext conftest.$ac_ext fi fi done | < < < < < < < < < < < | 41513 41514 41515 41516 41517 41518 41519 41520 41521 41522 41523 41524 41525 41526 | conftest$ac_exeext conftest.$ac_ext fi fi done # tst_method="unknown" { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to set a socket into non-blocking mode" >&5 $as_echo_n "checking how to set a socket into non-blocking mode... " >&6; } if test "x$curl_cv_func_fcntl_o_nonblock" = "xyes"; then |
︙ | ︙ | |||
42520 42521 42522 42523 42524 42525 42526 | if test "x$want_esni" != "xno"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ESNI support is available" >&5 $as_echo_n "checking whether ESNI support is available... " >&6; } ESNI_ENABLED=0 ESNI_SUPPORT='' | | | | 42689 42690 42691 42692 42693 42694 42695 42696 42697 42698 42699 42700 42701 42702 42703 42704 42705 42706 42707 42708 42709 42710 42711 42712 42713 42714 42715 42716 42717 42718 42719 | if test "x$want_esni" != "xno"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ESNI support is available" >&5 $as_echo_n "checking whether ESNI support is available... " >&6; } ESNI_ENABLED=0 ESNI_SUPPORT='' if test "x$OPENSSL_ENABLED" = "x1"; then for ac_func in SSL_get_esni_status do : ac_fn_c_check_func "$LINENO" "SSL_get_esni_status" "ac_cv_func_SSL_get_esni_status" if test "x$ac_cv_func_SSL_get_esni_status" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SSL_GET_ESNI_STATUS 1 _ACEOF ESNI_SUPPORT="ESNI support available (OpenSSL with SSL_get_esni_status)" ESNI_ENABLED=1 fi done fi if test "x$ESNI_ENABLED" = "x1"; then $as_echo "#define USE_ESNI 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ESNI_SUPPORT" >&5 $as_echo "$ESNI_SUPPORT" >&6; } experimental="$experimental ESNI" else |
︙ | ︙ |
Changes to jni/curl/configure.ac.
︙ | ︙ | |||
152 153 154 155 156 157 158 | PKGADD_VENDOR="curl.haxx.se" AC_SUBST(PKGADD_PKG) AC_SUBST(PKGADD_NAME) AC_SUBST(PKGADD_VENDOR) dnl dnl initialize all the info variables | | | | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | PKGADD_VENDOR="curl.haxx.se" AC_SUBST(PKGADD_PKG) AC_SUBST(PKGADD_NAME) AC_SUBST(PKGADD_VENDOR) dnl dnl initialize all the info variables curl_ssl_msg="no (--with-{ssl,gnutls,nss,mbedtls,wolfssl,schannel,secure-transport,mesalink,amissl,bearssl} )" curl_ssh_msg="no (--with-{libssh,libssh2})" curl_zlib_msg="no (--with-zlib)" curl_brotli_msg="no (--with-brotli)" curl_gss_msg="no (--with-gssapi)" curl_tls_srp_msg="no (--enable-tls-srp)" curl_res_msg="default (--enable-ares / --enable-threaded-resolver)" curl_ipv6_msg="no (--enable-ipv6)" curl_unix_sockets_msg="no (--enable-unix-sockets)" |
︙ | ︙ | |||
1199 1200 1201 1202 1203 1204 1205 | ipv6=no ;; *) AC_MSG_RESULT(yes) ipv6=yes ;; esac ], | | > > > > > > > < > > > > > | 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 | ipv6=no ;; *) AC_MSG_RESULT(yes) ipv6=yes ;; esac ], AC_TRY_RUN([ /* are AF_INET6 and sockaddr_in6 available? */ #include <sys/types.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #include <ws2tcpip.h> #else #include <sys/socket.h> #include <netinet/in.h> #if defined (__TANDEM) # include <netinet/in6.h> #endif #endif #include <stdlib.h> /* for exit() */ main() { struct sockaddr_in6 s; (void)s; if (socket(AF_INET6, SOCK_STREAM, 0) < 0) exit(1); else exit(0); } ], AC_MSG_RESULT(yes) ipv6=yes, AC_MSG_RESULT(no) ipv6=no, AC_MSG_RESULT(yes) ipv6=yes )) if test "$ipv6" = yes; then curl_ipv6_msg="enabled" AC_DEFINE(ENABLE_IPV6, 1, [Define if you want to enable IPv6 support]) IPV6_ENABLED=1 AC_SUBST(IPV6_ENABLED) AC_MSG_CHECKING([if struct sockaddr_in6 has sin6_scope_id member]) AC_TRY_COMPILE([ #include <sys/types.h> #ifdef HAVE_WINSOCK2_H #include <winsock2.h> #include <ws2tcpip.h> #else |
︙ | ︙ | |||
2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 | fi fi fi dnl MesaLink not disabled test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" fi dnl ---------------------------------------------------- dnl NSS. Only check if GnuTLS and OpenSSL are not enabled dnl ---------------------------------------------------- dnl Default to compiler & linker defaults for NSS files & libraries. OPT_NSS=no | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 | fi fi fi dnl MesaLink not disabled test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" fi dnl ---------------------------------------------------- dnl check for BearSSL dnl ---------------------------------------------------- OPT_BEARSSL=no _cppflags=$CPPFLAGS _ldflags=$LDFLAGS AC_ARG_WITH(bearssl,dnl AC_HELP_STRING([--with-bearssl=PATH],[where to look for BearSSL, PATH points to the installation root]) AC_HELP_STRING([--without-bearssl], [disable BearSSL detection]), OPT_BEARSSL=$withval) if test -z "$ssl_backends" -o "x$OPT_BEARSSL" != xno; then ssl_msg= if test X"$OPT_BEARSSL" != Xno; then if test "$OPT_BEARSSL" = "yes"; then OPT_BEARSSL="" fi if test -z "$OPT_BEARSSL" ; then dnl check for lib first without setting any new path AC_CHECK_LIB(bearssl, br_ssl_client_init_full, dnl libbearssl found, set the variable [ AC_DEFINE(USE_BEARSSL, 1, [if BearSSL is enabled]) AC_SUBST(USE_BEARSSL, [1]) BEARSSL_ENABLED=1 USE_BEARSSL="yes" ssl_msg="BearSSL" test bearssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes ], [], -lbearssl) fi addld="" addlib="" addcflags="" bearssllib="" if test "x$USE_BEARSSL" != "xyes"; then dnl add the path and test again addld=-L$OPT_BEARSSL/lib$libsuff addcflags=-I$OPT_BEARSSL/include bearssllib=$OPT_BEARSSL/lib$libsuff LDFLAGS="$LDFLAGS $addld" if test "$addcflags" != "-I/usr/include"; then CPPFLAGS="$CPPFLAGS $addcflags" fi AC_CHECK_LIB(bearssl, br_ssl_client_init_full, [ AC_DEFINE(USE_BEARSSL, 1, [if BearSSL is enabled]) AC_SUBST(USE_BEARSSL, [1]) BEARSSL_ENABLED=1 USE_BEARSSL="yes" ssl_msg="BearSSL" test bearssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes ], [ CPPFLAGS=$_cppflags LDFLAGS=$_ldflags ], -lbearssl) fi if test "x$USE_BEARSSL" = "xyes"; then AC_MSG_NOTICE([detected BearSSL]) check_for_ca_bundle=1 LIBS="-lbearssl $LIBS" if test -n "$bearssllib"; then dnl when shared libs were found in a path that the run-time dnl linker doesn't search through, we need to add it to dnl CURL_LIBRARY_PATH to prevent further configure tests to fail dnl due to this if test "x$cross_compiling" != "xyes"; then CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$bearssllib" export CURL_LIBRARY_PATH AC_MSG_NOTICE([Added $bearssllib to CURL_LIBRARY_PATH]) fi fi fi fi dnl BearSSL not disabled test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" fi dnl ---------------------------------------------------- dnl NSS. Only check if GnuTLS and OpenSSL are not enabled dnl ---------------------------------------------------- dnl Default to compiler & linker defaults for NSS files & libraries. OPT_NSS=no |
︙ | ︙ | |||
2525 2526 2527 2528 2529 2530 2531 | fi dnl NSS found fi dnl NSS not disabled test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" fi | | | | 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 | fi dnl NSS found fi dnl NSS not disabled test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" fi case "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED$MBEDTLS_ENABLED$WOLFSSL_ENABLED$WINSSL_ENABLED$SECURETRANSPORT_ENABLED$MESALINK_ENABLED$BEARSSL_ENABLED$AMISSL_ENABLED" in x) AC_MSG_WARN([SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more.]) AC_MSG_WARN([Use --with-ssl, --with-gnutls, --with-wolfssl, --with-mbedtls, --with-nss, --with-schannel, --with-secure-transport, --with-mesalink, --with-amissl or --with-bearssl to address this.]) ;; x1) # one SSL backend is enabled AC_SUBST(SSL_ENABLED) SSL_ENABLED="1" AC_MSG_NOTICE([built with one SSL backend]) ;; |
︙ | ︙ | |||
3956 3957 3958 3959 3960 3961 3962 | [Define to 1 if you have the $func function.]) ],[ AC_MSG_RESULT([but still no]) ]) fi ]) | < < < < < < < < < | 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 | [Define to 1 if you have the $func function.]) ],[ AC_MSG_RESULT([but still no]) ]) fi ]) CURL_CHECK_NONBLOCKING_SOCKET dnl ************************************************************ dnl nroff tool stuff dnl AC_PATH_PROG( PERL, perl, , |
︙ | ︙ | |||
4396 4397 4398 4399 4400 4401 4402 | dnl ************************************************************ dnl disable shuffle DNS support dnl AC_MSG_CHECKING([whether to support DNS shuffling]) AC_ARG_ENABLE(dnsshuffle, AC_HELP_STRING([--enable-dnsshuffle],[Enable DNS shuffling]) | | | 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 | dnl ************************************************************ dnl disable shuffle DNS support dnl AC_MSG_CHECKING([whether to support DNS shuffling]) AC_ARG_ENABLE(dnsshuffle, AC_HELP_STRING([--enable-dnsshuffle],[Enable DNS shuffling]) AC_HELP_STRING([--disable-dnsshuffle],[Disable DNS shuffling]), [ case "$enableval" in no) AC_MSG_RESULT(no) AC_DEFINE(CURL_DISABLE_SHUFFLE_DNS, 1, [disable DNS shuffling]) ;; *) AC_MSG_RESULT(yes) ;; |
︙ | ︙ | |||
4445 4446 4447 4448 4449 4450 4451 | dnl assume NOT and look for sufficient condition ESNI_ENABLED=0 ESNI_SUPPORT='' dnl OpenSSL with a chosen ESNI function should be enough dnl so more exhaustive checking seems unnecessary for now | | | | 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 | dnl assume NOT and look for sufficient condition ESNI_ENABLED=0 ESNI_SUPPORT='' dnl OpenSSL with a chosen ESNI function should be enough dnl so more exhaustive checking seems unnecessary for now if test "x$OPENSSL_ENABLED" = "x1"; then AC_CHECK_FUNCS(SSL_get_esni_status, ESNI_SUPPORT="ESNI support available (OpenSSL with SSL_get_esni_status)" ESNI_ENABLED=1) dnl add 'elif' chain here for additional implementations fi dnl now deal with whatever we found if test "x$ESNI_ENABLED" = "x1"; then AC_DEFINE(USE_ESNI, 1, [if ESNI support is available]) AC_MSG_RESULT($ESNI_SUPPORT) experimental="$experimental ESNI" else AC_MSG_ERROR([--enable-esni ignored: No ESNI support found]) fi fi |
︙ | ︙ |
Changes to jni/curl/docs/ALTSVC.md.
︙ | ︙ | |||
23 24 25 26 27 28 29 | 1. The ALPN id for the source origin 2. The host name for the source origin 3. The port number for the source origin 4. The ALPN id for the destination host 5. The host name for the destination host 6. The host number for the destination host | | | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | 1. The ALPN id for the source origin 2. The host name for the source origin 3. The port number for the source origin 4. The ALPN id for the destination host 5. The host name for the destination host 6. The host number for the destination host 7. The expiration date and time of this entry within double quotes. The date format is "YYYYMMDD HH:MM:SS" and the time zone is GMT. 8. Boolean (1 or 0) if "persist" was set for this entry 9. Integer priority value (not currently used) # TODO - handle multiple response headers, when one of them says `clear` (should override them all) |
︙ | ︙ |
Added jni/curl/docs/CURL-DISABLE.md.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 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 | # Code defines to disable features and protocols ## CURL_DISABLE_COOKIES Disable support for HTTP cookies. ## CURL_DISABLE_CRYPTO_AUTH Disable support for authentication methods using crypto. ## CURL_DISABLE_DICT Disable the DICT protocol ## CURL_DISABLE_DOH Disable DNS-over-HTTPS ## CURL_DISABLE_FILE Disable the FILE protocol ## CURL_DISABLE_FTP Disable the FTP (and FTPS) protocol ## CURL_DISABLE_GOPHER Disable the GOPHER protocol. ## CURL_DISABLE_HTTP Disable the HTTP(S) protocols. Note that this then also disable HTTP proxy support. ## CURL_DISABLE_HTTP_AUTH Disable support for all HTTP authentication methods. ## CURL_DISABLE_IMAP Disable the IMAP(S) protocols. ## CURL_DISABLE_LDAP Disable the LDAP(S) protocols. ## CURL_DISABLE_LDAPS Disable the LDAPS protocol. ## CURL_DISABLE_LIBCURL_OPTION Disable the --libcurl option from the curl tool. ## CURL_DISABLE_MIME Disable MIME support. ## CURL_DISABLE_NETRC Disable the netrc parser. ## CURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG Disable the auto load config support in the OpenSSL backend. ## CURL_DISABLE_PARSEDATE Disable date parsing ## CURL_DISABLE_POP Disable the POP(S) protocols ## CURL_DISABLE_PROGRESS_METER Disable the built-in progress meter ## CURL_DISABLE_PROXY Disable support for proxies ## CURL_DISABLE_RTSP Disable the RTSP protocol. ## CURL_DISABLE_SHUFFLE_DNS Disable the shuffle DNS feature ## CURL_DISABLE_SMB Disable the SMB(S) protocols ## CURL_DISABLE_SMTP Disable the SMTP(S) protocols ## CURL_DISABLE_TELNET Disable the TELNET protocol ## CURL_DISABLE_TFTP Disable the TFTP protocol ## CURL_DISABLE_VERBOSE_STRINGS Disable verbose strings and error messages. |
Changes to jni/curl/docs/ESNI.md.
︙ | ︙ | |||
118 119 120 121 122 123 124 | specific work in progress ([described here](https://github.com/sftcd/openssl/tree/master/esnistuff)) to implement ESNI for OpenSSL, as this is the immediate motivation for the proposed change. ## References | | | 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | specific work in progress ([described here](https://github.com/sftcd/openssl/tree/master/esnistuff)) to implement ESNI for OpenSSL, as this is the immediate motivation for the proposed change. ## References Cloudflare blog: [Encrypting SNI: Fixing One of the Core Internet Bugs][corebug] Cloudflare blog: [Encrypt it or lose it: how encrypted SNI works][esniworks] IETF Draft: [Encrypted Server Name Indication for TLS 1.3][tlsesni] --- |
︙ | ︙ |
Changes to jni/curl/docs/FAQ.
︙ | ︙ | |||
443 444 445 446 447 448 449 | Curl has been written to use a generic SSL function layer internally, and that SSL functionality can then be provided by one out of many different SSL backends. curl can be built to use one of the following SSL alternatives: OpenSSL, libressl, BoringSSL, GnuTLS, wolfSSL, NSS, mbedTLS, MesaLink, Secure | | | | | 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 | Curl has been written to use a generic SSL function layer internally, and that SSL functionality can then be provided by one out of many different SSL backends. curl can be built to use one of the following SSL alternatives: OpenSSL, libressl, BoringSSL, GnuTLS, wolfSSL, NSS, mbedTLS, MesaLink, Secure Transport (native iOS/OS X), Schannel (native Windows), GSKit (native IBM i), or BearSSL. They all have their pros and cons, and we try to maintain a comparison of them here: https://curl.haxx.se/docs/ssl-compared.html 2.3 Where can I find a copy of LIBEAY32.DLL? That is an OpenSSL binary built for Windows. Curl can be built with OpenSSL to do the SSL stuff. The LIBEAY32.DLL is then what curl needs on a windows machine to do https:// etc. Check out the curl |
︙ | ︙ |
Changes to jni/curl/docs/HISTORY.md.
︙ | ︙ | |||
213 214 215 216 217 218 219 220 221 222 223 224 225 226 | 145,000 unique visitors. >100 GB downloaded. 2009 ---- March: security vulnerability: libcurl Arbitrary File Access August: security vulnerability: libcurl embedded zero in cert name December: Added support for IMAP, POP3 and SMTP 2010 ---- | > > | 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 | 145,000 unique visitors. >100 GB downloaded. 2009 ---- March: security vulnerability: libcurl Arbitrary File Access April: added CMake support August: security vulnerability: libcurl embedded zero in cert name December: Added support for IMAP, POP3 and SMTP 2010 ---- |
︙ | ︙ | |||
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 | 2014 ---- March: first real release supporting HTTP/2 September: Web site had 245,000 unique visitors and served 236GB data 2015 ---- June: support for multiplexing with HTTP/2 August: support for HTTP/2 server push December: Public Suffix List 2016 ---- January: the curl tool defaults to HTTP/2 for HTTPS URLs December: curl 7.52.0 introduced support for HTTPS-proxy! First TLS 1.3 support 2017 ---- September: Added Multi-SSL support The web site serves 3100 GB/month Public curl releases: 169 Command line options: 211 | > > > > | 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 | 2014 ---- March: first real release supporting HTTP/2 September: Web site had 245,000 unique visitors and served 236GB data SMB and SMBS support 2015 ---- June: support for multiplexing with HTTP/2 August: support for HTTP/2 server push December: Public Suffix List 2016 ---- January: the curl tool defaults to HTTP/2 for HTTPS URLs December: curl 7.52.0 introduced support for HTTPS-proxy! First TLS 1.3 support 2017 ---- July: OSS-Fuzz started fuzzing libcurl September: Added Multi-SSL support The web site serves 3100 GB/month Public curl releases: 169 Command line options: 211 |
︙ | ︙ | |||
340 341 342 343 344 345 346 | October 31: Curl and libcurl 7.62.0 Public curl releases: 177 Command line options: 219 curl_easy_setopt() options: 261 Public functions in libcurl: 80 Contributors: 1808 | > > > > > > > | 346 347 348 349 350 351 352 353 354 355 356 357 358 359 | October 31: Curl and libcurl 7.62.0 Public curl releases: 177 Command line options: 219 curl_easy_setopt() options: 261 Public functions in libcurl: 80 Contributors: 1808 2019 ---- August: the first HTTP/3 requests with curl. September: 7.66.0 is released and the tool offers parallel downloads |
Changes to jni/curl/docs/HTTP-COOKIES.md.
︙ | ︙ | |||
20 21 22 23 24 25 26 | In 2011, [RFC6265](https://www.ietf.org/rfc/rfc6265.txt) was finally published and details how cookies work within HTTP. In 2016, an update which added support for prefixes was [proposed](https://tools.ietf.org/html/draft-ietf-httpbis-cookie-prefixes-00), and in 2017, another update was [drafted](https://tools.ietf.org/html/draft-ietf-httpbis-cookie-alone-01) to deprecate modification of 'secure' cookies from non-secure origins. Both | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | In 2011, [RFC6265](https://www.ietf.org/rfc/rfc6265.txt) was finally published and details how cookies work within HTTP. In 2016, an update which added support for prefixes was [proposed](https://tools.ietf.org/html/draft-ietf-httpbis-cookie-prefixes-00), and in 2017, another update was [drafted](https://tools.ietf.org/html/draft-ietf-httpbis-cookie-alone-01) to deprecate modification of 'secure' cookies from non-secure origins. Both of these drafts have been incorporated into a proposal to [replace](https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-02) RFC6265. Cookie prefixes and secure cookie modification protection has been implemented by curl. ## Cookies saved to disk Netscape once created a file format for storing cookies on disk so that they |
︙ | ︙ |
Changes to jni/curl/docs/HTTP3.md.
︙ | ︙ | |||
9 10 11 12 13 14 15 | the wiki page describing the plan for how to support QUIC and HTTP/3 in curl and libcurl. [quicwg.org](https://quicwg.org/) - home of the official protocol drafts ## QUIC libraries | | | 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | the wiki page describing the plan for how to support QUIC and HTTP/3 in curl and libcurl. [quicwg.org](https://quicwg.org/) - home of the official protocol drafts ## QUIC libraries QUIC libraries we're experimenting with: [ngtcp2](https://github.com/ngtcp2/ngtcp2) [quiche](https://github.com/cloudflare/quiche) ## Experimental! |
︙ | ︙ |
Changes to jni/curl/docs/INSTALL.md.
︙ | ︙ | |||
116 117 118 119 120 121 122 123 124 125 126 127 128 129 | - wolfSSL: `--without-ssl --with-wolfssl` - NSS: `--without-ssl --with-nss` - PolarSSL: `--without-ssl --with-polarssl` - mbedTLS: `--without-ssl --with-mbedtls` - schannel: `--without-ssl --with-schannel` - secure transport: `--without-ssl --with-secure-transport` - MesaLink: `--without-ssl --with-mesalink` # Windows ## Building Windows DLLs and C run-time (CRT) linkage issues As a general rule, building a DLL with static CRT linkage is highly discouraged, and intermixing CRTs in the same app is something to avoid at | > | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | - wolfSSL: `--without-ssl --with-wolfssl` - NSS: `--without-ssl --with-nss` - PolarSSL: `--without-ssl --with-polarssl` - mbedTLS: `--without-ssl --with-mbedtls` - schannel: `--without-ssl --with-schannel` - secure transport: `--without-ssl --with-secure-transport` - MesaLink: `--without-ssl --with-mesalink` - BearSSL: `--without-ssl --with-bearssl` # Windows ## Building Windows DLLs and C run-time (CRT) linkage issues As a general rule, building a DLL with static CRT linkage is highly discouraged, and intermixing CRTs in the same app is something to avoid at |
︙ | ︙ | |||
191 192 193 194 195 196 197 | ## Disabling Specific Protocols in Windows builds The configure utility, unfortunately, is not available for the Windows environment, therefore, you cannot use the various disable-protocol options of the configure utility on this platform. | | < | < < < < < < < < < < < | 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 | ## Disabling Specific Protocols in Windows builds The configure utility, unfortunately, is not available for the Windows environment, therefore, you cannot use the various disable-protocol options of the configure utility on this platform. You can use specific defines to disable specific protocols and features. See [CURL-DISABLE.md](CURL-DISABLE-md) for the full list. If you want to set any of these defines you have the following options: - Modify `lib/config-win32.h` - Modify `lib/curl_setup.h` - Modify `winbuild/Makefile.vc` - Modify the "Preprocessor Definitions" in the libcurl project |
︙ | ︙ | |||
292 293 294 295 296 297 298 299 300 301 302 303 304 305 | commands in curl's directory in the shell will build the code such that it will run on cats as old as OS X 10.6 ("Snow Leopard") (using bash): export MACOSX_DEPLOYMENT_TARGET="10.6" ./configure --with-darwinssl make # Cross compile Download and unpack the curl package. `cd` to the new directory. (e.g. `cd curl-7.12.3`) Set environment variables to point to the cross-compile toolchain and call | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | commands in curl's directory in the shell will build the code such that it will run on cats as old as OS X 10.6 ("Snow Leopard") (using bash): export MACOSX_DEPLOYMENT_TARGET="10.6" ./configure --with-darwinssl make # Android When building curl for Android it's recommended to use a Linux environment since using curl's `configure` script is the easiest way to build curl for Android. Before you can build curl for Android, you need to install the Android NDK first. This can be done using the SDK Manager that is part of Android Studio. Once you have installed the Android NDK, you need to figure out where it has been installed and then set up some environment variables before launching `configure`. On macOS, those variables could look like this to compile for `aarch64` and API level 29: export NDK=~/Library/Android/sdk/ndk/20.1.5948944 export HOST_TAG=darwin-x86_64 export TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/$HOST_TAG export AR=$TOOLCHAIN/bin/aarch64-linux-android-ar export AS=$TOOLCHAIN/bin/aarch64-linux-android-as export CC=$TOOLCHAIN/bin/aarch64-linux-android29-clang export CXX=$TOOLCHAIN/bin/aarch64-linux-android29-clang++ export LD=$TOOLCHAIN/bin/aarch64-linux-android-ld export RANLIB=$TOOLCHAIN/bin/aarch64-linux-android-ranlib export STRIP=$TOOLCHAIN/bin/aarch64-linux-android-strip When building on Linux or targeting other API levels or architectures, you need to adjust those variables accordingly. After that you can build curl like this: ./configure --host aarch64-linux-android --with-pic --disable-shared Note that this won't give you SSL/TLS support. If you need SSL/TLS, you have to build curl against a SSL/TLS layer, e.g. OpenSSL, because it's impossible for curl to access Android's native SSL/TLS layer. To build curl for Android using OpenSSL, follow the OpenSSL build instructions and then install `libssl.a` and `libcrypto.a` to `$TOOLCHAIN/sysroot/usr/lib` and copy `include/openssl` to `$TOOLCHAIN/sysroot/usr/include`. Now you can build curl for Android using OpenSSL like this: ./configure --host aarch64-linux-android --with-pic --disable-shared --with-ssl="$TOOLCHAIN/sysroot/usr" Note, however, that you must target at least Android M (API level 23) or `configure` won't be able to detect OpenSSL since `stderr` (and the like) weren't defined before Android M. # Cross compile Download and unpack the curl package. `cd` to the new directory. (e.g. `cd curl-7.12.3`) Set environment variables to point to the cross-compile toolchain and call |
︙ | ︙ |
Changes to jni/curl/docs/KNOWN_BUGS.
︙ | ︙ | |||
26 27 28 29 30 31 32 33 34 35 36 37 38 39 | 2.2 DER in keychain 2.3 GnuTLS backend skips really long certificate fields 2.4 DarwinSSL won't import PKCS#12 client certificates without a password 2.5 Client cert handling with Issuer DN differs between backends 2.6 CURL_GLOBAL_SSL 2.7 Client cert (MTLS) issues with Schannel 2.8 Schannel disable CURLOPT_SSL_VERIFYPEER and verify hostname 3. Email protocols 3.1 IMAP SEARCH ALL truncated response 3.2 No disconnect command 3.3 SMTP to multiple recipients 3.4 POP3 expects "CRLF.CRLF" eob for some single-line responses | > | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | 2.2 DER in keychain 2.3 GnuTLS backend skips really long certificate fields 2.4 DarwinSSL won't import PKCS#12 client certificates without a password 2.5 Client cert handling with Issuer DN differs between backends 2.6 CURL_GLOBAL_SSL 2.7 Client cert (MTLS) issues with Schannel 2.8 Schannel disable CURLOPT_SSL_VERIFYPEER and verify hostname 2.9 TLS session cache doesn't work with TFO 3. Email protocols 3.1 IMAP SEARCH ALL truncated response 3.2 No disconnect command 3.3 SMTP to multiple recipients 3.4 POP3 expects "CRLF.CRLF" eob for some single-line responses |
︙ | ︙ | |||
98 99 100 101 102 103 104 105 106 107 108 109 110 111 | 11.5 Connection information when using TCP Fast Open 11.6 slow connect to localhost on Windows 11.7 signal-based resolver timeouts 12. LDAP and OpenLDAP 12.1 OpenLDAP hangs after returning results 12.2 LDAP on Windows does authentication wrong? 13. TCP/IP 13.1 --interface for ipv6 binds to unusable IP address 14 DICT 14.1 DICT responses show the underlying protocol | > | 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | 11.5 Connection information when using TCP Fast Open 11.6 slow connect to localhost on Windows 11.7 signal-based resolver timeouts 12. LDAP and OpenLDAP 12.1 OpenLDAP hangs after returning results 12.2 LDAP on Windows does authentication wrong? 12.3 LDAP on Windows doesn't work 13. TCP/IP 13.1 --interface for ipv6 binds to unusable IP address 14 DICT 14.1 DICT responses show the underlying protocol |
︙ | ︙ | |||
251 252 253 254 255 256 257 258 259 260 261 262 263 264 | 2.8 Schannel disable CURLOPT_SSL_VERIFYPEER and verify hostname This seems to be a limitation in the underlying Schannel API. https://github.com/curl/curl/issues/3284 3. Email protocols 3.1 IMAP SEARCH ALL truncated response IMAP "SEARCH ALL" truncates output on large boxes. "A quick search of the code reveals that pingpong.c contains some truncation code, at line 408, when it deems the server response to be too large truncating it to 40 characters" | > > > > | 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 | 2.8 Schannel disable CURLOPT_SSL_VERIFYPEER and verify hostname This seems to be a limitation in the underlying Schannel API. https://github.com/curl/curl/issues/3284 2.9 TLS session cache doesn't work with TFO See https://github.com/curl/curl/issues/4301 3. Email protocols 3.1 IMAP SEARCH ALL truncated response IMAP "SEARCH ALL" truncates output on large boxes. "A quick search of the code reveals that pingpong.c contains some truncation code, at line 408, when it deems the server response to be too large truncating it to 40 characters" |
︙ | ︙ | |||
335 336 337 338 339 340 341 | See https://github.com/curl/curl/issues/3229 5. Build and portability issues 5.1 USE_UNIX_SOCKETS on Windows | | | 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 | See https://github.com/curl/curl/issues/3229 5. Build and portability issues 5.1 USE_UNIX_SOCKETS on Windows Due to incorrect CMake checks for the presence of the feature, it will never be enabled for windows in a cmake build. See https://github.com/curl/curl/issues/4040 5.2 curl-config --libs contains private details "curl-config --libs" will include details set in LDFLAGS when configure is |
︙ | ︙ | |||
670 671 672 673 674 675 676 | See https://github.com/curl/curl/issues/868 11.5 Connection information when using TCP Fast Open CURLINFO_LOCAL_PORT (and possibly a few other) fails when TCP Fast Open is enabled. | | > | 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 | See https://github.com/curl/curl/issues/868 11.5 Connection information when using TCP Fast Open CURLINFO_LOCAL_PORT (and possibly a few other) fails when TCP Fast Open is enabled. See https://github.com/curl/curl/issues/1332 and https://github.com/curl/curl/issues/4296 11.6 slow connect to localhost on Windows When connecting to "localhost" on Windows, curl will resolve the name for both ipv4 and ipv6 and try to connect to both happy eyeballs-style. Something in there does however make it take 200 milliseconds to succeed - which is the HAPPY_EYEBALLS_TIMEOUT define exactly. Lowering that define speeds up the |
︙ | ︙ | |||
724 725 726 727 728 729 730 731 732 733 734 735 736 737 | See https://github.com/curl/curl/issues/622 and https://curl.haxx.se/mail/lib-2016-01/0101.html 12.2 LDAP on Windows does authentication wrong? https://github.com/curl/curl/issues/3116 13. TCP/IP 13.1 --interface for ipv6 binds to unusable IP address Since IPv6 provides a lot of addresses with different scope, binding to an IPv6 address needs to take the proper care so that it doesn't bind to a locally scoped address as that is bound to fail. | > > > > > > > | 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 | See https://github.com/curl/curl/issues/622 and https://curl.haxx.se/mail/lib-2016-01/0101.html 12.2 LDAP on Windows does authentication wrong? https://github.com/curl/curl/issues/3116 12.3 LDAP on Windows doesn't work A simple curl command line getting "ldap://ldap.forumsys.com" returns an error that says "no memory" ! https://github.com/curl/curl/issues/4261 13. TCP/IP 13.1 --interface for ipv6 binds to unusable IP address Since IPv6 provides a lot of addresses with different scope, binding to an IPv6 address needs to take the proper care so that it doesn't bind to a locally scoped address as that is bound to fail. |
︙ | ︙ |
Changes to jni/curl/docs/LICENSE-MIXING.md.
︙ | ︙ | |||
71 72 73 74 75 76 77 78 79 80 81 82 83 84 | license as that. ## libressl (May be used for SSL/TLS support) As an OpenSSL fork, it has the same license as that. ## c-ares (Used for asynchronous name resolves) Uses an MIT license that is very liberal and imposes no restrictions on any other library or part you may link with. ## zlib | > > > > > | 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | license as that. ## libressl (May be used for SSL/TLS support) As an OpenSSL fork, it has the same license as that. ## BearSSL (May be used for SSL/TLS support) Uses an MIT license that is very liberal and imposes no restrictions on any other library or part you may link with. ## c-ares (Used for asynchronous name resolves) Uses an MIT license that is very liberal and imposes no restrictions on any other library or part you may link with. ## zlib |
︙ | ︙ |
Changes to jni/curl/docs/Makefile.am.
︙ | ︙ | |||
48 49 50 51 52 53 54 55 56 57 58 59 60 61 | BUGS \ CHECKSRC.md \ CIPHERS.md \ CMakeLists.txt \ CODE_OF_CONDUCT.md \ CODE_STYLE.md \ CONTRIBUTE.md \ DEPRECATE.md \ ESNI.md \ EXPERIMENTAL.md \ FAQ \ FEATURES \ GOVERNANCE.md \ HELP-US.md \ | > | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | BUGS \ CHECKSRC.md \ CIPHERS.md \ CMakeLists.txt \ CODE_OF_CONDUCT.md \ CODE_STYLE.md \ CONTRIBUTE.md \ CURL-DISABLE.md \ DEPRECATE.md \ ESNI.md \ EXPERIMENTAL.md \ FAQ \ FEATURES \ GOVERNANCE.md \ HELP-US.md \ |
︙ | ︙ |
Changes to jni/curl/docs/Makefile.in.
︙ | ︙ | |||
371 372 373 374 375 376 377 378 379 380 381 382 383 384 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ | > | 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_BEARSSL = @USE_BEARSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ |
︙ | ︙ | |||
478 479 480 481 482 483 484 485 486 487 488 489 490 491 | BUGS \ CHECKSRC.md \ CIPHERS.md \ CMakeLists.txt \ CODE_OF_CONDUCT.md \ CODE_STYLE.md \ CONTRIBUTE.md \ DEPRECATE.md \ ESNI.md \ EXPERIMENTAL.md \ FAQ \ FEATURES \ GOVERNANCE.md \ HELP-US.md \ | > | 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 | BUGS \ CHECKSRC.md \ CIPHERS.md \ CMakeLists.txt \ CODE_OF_CONDUCT.md \ CODE_STYLE.md \ CONTRIBUTE.md \ CURL-DISABLE.md \ DEPRECATE.md \ ESNI.md \ EXPERIMENTAL.md \ FAQ \ FEATURES \ GOVERNANCE.md \ HELP-US.md \ |
︙ | ︙ |
Changes to jni/curl/docs/PARALLEL-TRANSFERS.md.
︙ | ︙ | |||
14 15 16 17 18 19 20 | The progress meter that is displayed when doing parallel transfers is completely different than the regular one used for each single transfer. It shows: o percent download (if known, which means *all* transfers need to have a known size) | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | The progress meter that is displayed when doing parallel transfers is completely different than the regular one used for each single transfer. It shows: o percent download (if known, which means *all* transfers need to have a known size) o percent upload (if known, with the same caveat as for download) o total amount of downloaded data o total amount of uploaded data o number of transfers to perform o number of concurrent transfers being transferred right now o number of transfers queued up waiting to start o total time all transfers are expected to take (if sizes are known) o current time the transfers have spent so far |
︙ | ︙ |
Changes to jni/curl/docs/RELEASE-PROCEDURE.md.
︙ | ︙ | |||
80 81 82 83 84 85 86 | Coming dates ------------ Based on the description above, here are some planned release dates (at the time of this writing): | < < < < > > > > | 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | Coming dates ------------ Based on the description above, here are some planned release dates (at the time of this writing): - January 8, 2020 (moved) - February 27, 2020 - April 22, 2020 - June 17, 2020 - August 12, 2020 - October 7, 2020 - December 2, 2020 - January 27, 2021 The above (and more) curl-related dates are published in [iCalendar format](https://calendar.google.com/calendar/ical/c9u5d64odop9js55oltfarjk6g%40group.calendar.google.com/public/basic.ics) as well. |
Changes to jni/curl/docs/THANKS.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | This project has been alive for many years. Countless people have provided feedback that have improved curl. Here follows a list of people that have contributed (a-z order). If you have contributed but are missing here, please let us know! "Captain Basil" "Spoon Man" 1ocalhost on github Aaro Koskinen Aaron Oneal Aaron Orenstein Aaron Scarisbrick Abram Pousada AceCrow on Github Adam Barclay | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | This project has been alive for many years. Countless people have provided feedback that have improved curl. Here follows a list of people that have contributed (a-z order). If you have contributed but are missing here, please let us know! "Captain Basil" "Spoon Man" 1ocalhost on github 3dyd on github Aaro Koskinen Aaron Oneal Aaron Orenstein Aaron Scarisbrick Abram Pousada AceCrow on Github Adam Barclay |
︙ | ︙ | |||
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | Amr Shahin Anatol Belski Anatoli Tubman Anders Bakken Anders Gustafsson Anders Havn Anders Roxell Anderson Toshiyuki Sasaki Andi Jahja Andre Guibert de Bruet Andre Heinecke Andreas Damm Andreas Farber Andreas Kostyrka Andreas Malzahn Andreas Ntaflos Andreas Olsson Andreas Rieke Andreas Roth | > > | 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | Amr Shahin Anatol Belski Anatoli Tubman Anders Bakken Anders Gustafsson Anders Havn Anders Roxell Anderson Sasaki Anderson Toshiyuki Sasaki Andi Jahja Andre Guibert de Bruet Andre Heinecke Andreas Damm Andreas Falkenhahn Andreas Farber Andreas Kostyrka Andreas Malzahn Andreas Ntaflos Andreas Olsson Andreas Rieke Andreas Roth |
︙ | ︙ | |||
122 123 124 125 126 127 128 129 130 131 132 133 134 135 | Andrei Virtosu Andrej E Baranov Andrew Benham Andrew Biggs Andrew Bushnell Andrew Francis Andrew Fuller Andrew Krieger Andrew Kurushin Andrew Lambert Andrew Moise Andrew Robbins Andrew Wansink Andrew de los Reyes | > | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | Andrei Virtosu Andrej E Baranov Andrew Benham Andrew Biggs Andrew Bushnell Andrew Francis Andrew Fuller Andrew Ishchuk Andrew Krieger Andrew Kurushin Andrew Lambert Andrew Moise Andrew Robbins Andrew Wansink Andrew de los Reyes |
︙ | ︙ | |||
217 218 219 220 221 222 223 224 225 226 227 228 229 230 | Bill Doyle Bill Egert Bill Hoffman Bill Middlecamp Bill Nagel Bill Pyne Bjarni Ingi Gislason Bjoern Sikora Bjorn Augustsson Bjorn Reese Björn Stenberg Blaise Potard Bob Relyea Bob Richmond | > | 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 | Bill Doyle Bill Egert Bill Hoffman Bill Middlecamp Bill Nagel Bill Pyne Bjarni Ingi Gislason Bjoern Franke Bjoern Sikora Bjorn Augustsson Bjorn Reese Björn Stenberg Blaise Potard Bob Relyea Bob Richmond |
︙ | ︙ | |||
314 315 316 317 318 319 320 321 322 323 324 325 326 327 | Christophe Demory Christophe Dervieux Christophe Legry Christopher Conroy Christopher Head Christopher Palow Christopher R. Palmer Christopher Stone Chungtsun Li Ciprian Badescu Claes Jakobsson Clarence Gardner Claudio Neves Clemens Gruber | > | 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 | Christophe Demory Christophe Dervieux Christophe Legry Christopher Conroy Christopher Head Christopher Palow Christopher R. Palmer Christopher Reid Christopher Stone Chungtsun Li Ciprian Badescu Claes Jakobsson Clarence Gardner Claudio Neves Clemens Gruber |
︙ | ︙ | |||
343 344 345 346 347 348 349 350 351 352 353 354 355 356 | Craig A West Craig Davison Craig Markwardt Craig de Stigter Cris Bailiff Cristian Rodríguez Curt Bogmine Cyril B Cyrill Osterwalder Cédric Connes Cédric Deltheil D. Flinkmann Da-Yoon Chung Dag Ekengren | > | 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 | Craig A West Craig Davison Craig Markwardt Craig de Stigter Cris Bailiff Cristian Rodríguez Curt Bogmine Cynthia Coan Cyril B Cyrill Osterwalder Cédric Connes Cédric Deltheil D. Flinkmann Da-Yoon Chung Dag Ekengren |
︙ | ︙ | |||
788 789 790 791 792 793 794 795 796 797 798 799 800 801 | Jan Chren Jan Ehrhardt Jan Koen Annot Jan Kunder Jan Schaumann Jan Schmidt Jan Van Boghout Janne Johansson Jared Jennings Jared Lundell Jari Aalto Jari Sundell Jason Baietto Jason Glasgow | > | 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 | Jan Chren Jan Ehrhardt Jan Koen Annot Jan Kunder Jan Schaumann Jan Schmidt Jan Van Boghout JanB on github Janne Johansson Jared Jennings Jared Lundell Jari Aalto Jari Sundell Jason Baietto Jason Glasgow |
︙ | ︙ | |||
822 823 824 825 826 827 828 829 830 831 832 833 834 835 | Jean-Noël Rouvignac Jean-Philippe Barrette-LaPierre Jeff Connelly Jeff Hodges Jeff Johnson Jeff King Jeff Lawson Jeff Phillips Jeff Pohlmeyer Jeff Weber Jeffrey Walton Jens Finkhaeuser Jens Rantil Jens Schleusener | > | 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 | Jean-Noël Rouvignac Jean-Philippe Barrette-LaPierre Jeff Connelly Jeff Hodges Jeff Johnson Jeff King Jeff Lawson Jeff Mears Jeff Phillips Jeff Pohlmeyer Jeff Weber Jeffrey Walton Jens Finkhaeuser Jens Rantil Jens Schleusener |
︙ | ︙ | |||
897 898 899 900 901 902 903 904 905 906 907 908 909 910 | John Lask John Levon John Lightsey John Marino John Marshall John McGowan John P. McCaskey John Starks John Suprock John V. Chow John Wanghui John Weismiller John Wilkinson John-Mark Bell | > | 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 | John Lask John Levon John Lightsey John Marino John Marshall John McGowan John P. McCaskey John Schroeder John Starks John Suprock John V. Chow John Wanghui John Weismiller John Wilkinson John-Mark Bell |
︙ | ︙ | |||
1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 | Mark Wotton Markus Duft Markus Elfring Markus Koetter Markus Moeller Markus Oberhumer Markus Westerlind Marquis de Muesli Martijn Koster Martin Ankerl Martin C. Martin Martin Drasar Martin Dreher Martin Frodl | > | 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 | Mark Wotton Markus Duft Markus Elfring Markus Koetter Markus Moeller Markus Oberhumer Markus Westerlind Maros Priputen Marquis de Muesli Martijn Koster Martin Ankerl Martin C. Martin Martin Drasar Martin Dreher Martin Frodl |
︙ | ︙ | |||
1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 | Martin Lemke Martin Skinner Martin Staael Martin Storsjö Martin Vejnár Marty Kuhrt Maruko Massimiliano Ziccardi Massimo Callegari Mateusz Loskot Mathias Axelsson Mathieu Legare Mats Lidell Matt Arsenault | > | 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 | Martin Lemke Martin Skinner Martin Staael Martin Storsjö Martin Vejnár Marty Kuhrt Maruko Massimiliano Fantuzzi Massimiliano Ziccardi Massimo Callegari Mateusz Loskot Mathias Axelsson Mathieu Legare Mats Lidell Matt Arsenault |
︙ | ︙ | |||
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 | Mattias Fornander Matus Uzak Maurice Barnum Mauro Iorio Mauro Rappa Max Dymond Max Katsev Max Khon Max Savenkov Maxim Ivanov Maxim Perenesenko Maxim Prohorov Maxime Larocque Maxime Legros Mehmet Bozkurt Mekonikum Melissa Mears Mert Yazıcıoğlu Mettgut Jamalla Michael Anti Michael Benedict Michael Brehm Michael Calmer Michael Cronenworth Michael Curtis Michael Day Michael Felt Michael Gmelin Michael Goffioul Michael Jahn Michael Jerris Michael Kalinin Michael Kaufmann Michael Kilburn Michael Kujawa Michael König Michael Lee Michael Maltese Michael Mealling Michael Mueller Michael Osipov Michael Schmid Michael Smith Michael Stapelberg Michael Steuer Michael Stillwell Michael Wallner Michal Bonino Michal Marek Michal Trybus Michal Čaplygin Michał Antoniak Michał Fita | > > > | 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 | Mattias Fornander Matus Uzak Maurice Barnum Mauro Iorio Mauro Rappa Max Dymond Max Katsev Max Kellermann Max Khon Max Savenkov Maxim Ivanov Maxim Perenesenko Maxim Prohorov Maxime Larocque Maxime Legros Mehmet Bozkurt Mekonikum Melissa Mears Mert Yazıcıoğlu Mettgut Jamalla Michael Anti Michael Benedict Michael Brehm Michael Calmer Michael Cronenworth Michael Curtis Michael Day Michael Felt Michael Forney Michael Gmelin Michael Goffioul Michael Jahn Michael Jerris Michael Kalinin Michael Kaufmann Michael Kilburn Michael Kujawa Michael König Michael Lee Michael Maltese Michael Mealling Michael Mueller Michael Osipov Michael Schmid Michael Smith Michael Stapelberg Michael Steuer Michael Stillwell Michael Vittiglio Michael Wallner Michal Bonino Michal Marek Michal Trybus Michal Čaplygin Michał Antoniak Michał Fita |
︙ | ︙ | |||
1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 | Miloš Ljumović Mingliang Zhu Miroslav Franc Miroslav Spousta Mitz Wark Mohamed Lrhazi Mohammad AlSaleh Mohun Biswas Mostyn Bramley-Moore Moti Avrahami MrSorcus on github Muz Dima Myk Taylor NTMan on Github | > | 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 | Miloš Ljumović Mingliang Zhu Miroslav Franc Miroslav Spousta Mitz Wark Mohamed Lrhazi Mohammad AlSaleh Mohammad Hasbini Mohun Biswas Mostyn Bramley-Moore Moti Avrahami MrSorcus on github Muz Dima Myk Taylor NTMan on Github |
︙ | ︙ | |||
1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 | Pau Garcia i Quiles Paul B. Omta Paul Donohue Paul Dreik Paul Groke Paul Harrington Paul Harris Paul Howarth Paul Joyce Paul Marks Paul Marquis Paul Moore Paul Nolan Paul Oliver Paul Querna Paul Saab Pavel Cenek Pavel Gushchin Pavel Löbl Pavel Orehov Pavel Pavlov Pavel Raiskup Pavel Rochnyak | > > | 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 | Pau Garcia i Quiles Paul B. Omta Paul Donohue Paul Dreik Paul Groke Paul Harrington Paul Harris Paul Hoffman Paul Howarth Paul Joyce Paul Marks Paul Marquis Paul Moore Paul Nolan Paul Oliver Paul Querna Paul Saab Paulo Roberto Tomasi Pavel Cenek Pavel Gushchin Pavel Löbl Pavel Orehov Pavel Pavlov Pavel Raiskup Pavel Rochnyak |
︙ | ︙ | |||
1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 | Rainer Koenig Rainer Müller Rajesh Naganathan Rajkumar Mandal Ralf S. Engelschall Ralph Beckmann Ralph Mitchell Ran Mozes Randall S. Becker Randy Armstrong Randy McMurchy Raphael Gozzo Ravi Pratap Ray Dassen | > | 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 | Rainer Koenig Rainer Müller Rajesh Naganathan Rajkumar Mandal Ralf S. Engelschall Ralph Beckmann Ralph Mitchell Ram Krushna Mishra Ran Mozes Randall S. Becker Randy Armstrong Randy McMurchy Raphael Gozzo Ravi Pratap Ray Dassen |
︙ | ︙ | |||
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 | Rich Mirch Rich Rauenzahn Rich Turner Richard Adams Richard Alcock Richard Archer Richard Atterer Richard Bramante Richard Clayton Richard Cooper Richard Gorton Richard Gray Richard Hosking Richard Hsu Richard Michael Richard Moore Richard Prescott Richard Silverman Richard van den Berg Richy Kim Rick Deist Rick Jones Rick Richardson Rick Welykochy Ricki Hirner Ricky Leverence Ricky-Tigg on github Rider Linden Rikard Falkeborn Rob Cotrone Rob Crittenden | > > | 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 | Rich Mirch Rich Rauenzahn Rich Turner Richard Adams Richard Alcock Richard Archer Richard Atterer Richard Bowker Richard Bramante Richard Clayton Richard Cooper Richard Gorton Richard Gray Richard Hosking Richard Hsu Richard Michael Richard Moore Richard Prescott Richard Silverman Richard van den Berg Richy Kim Rick Deist Rick Jones Rick Richardson Rick Welykochy Rickard Hallerbäck Ricki Hirner Ricky Leverence Ricky-Tigg on github Rider Linden Rikard Falkeborn Rob Cotrone Rob Crittenden |
︙ | ︙ | |||
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 | Ryan Schmidt Ryan Scott Ryan Winograd Ryuichi KAWAMATA Rémy Léone S. Moonesamy SBKarr on github Salah-Eddin Shaban Salvador Dávila Salvatore Sorrentino Sam Deane Sam Hurst Sam Roth Sam Schanken Sampo Kellomaki Samuel Díaz García Samuel Listopad Samuel Surtees Samuel Thibault Sander Gates Sandor Feldi Santhana Todatry Saqib Ali Sara Golemon Saran Neti Sascha Swiercy Saul good Saurav Babu Scott Bailey | > > | 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 | Ryan Schmidt Ryan Scott Ryan Winograd Ryuichi KAWAMATA Rémy Léone S. Moonesamy SBKarr on github SLDiggie on github Salah-Eddin Shaban Salvador Dávila Salvatore Sorrentino Sam Deane Sam Hurst Sam Roth Sam Schanken Sampo Kellomaki Samuel Díaz García Samuel Listopad Samuel Surtees Samuel Thibault Sander Gates Sandor Feldi Santhana Todatry Santino Keupp Saqib Ali Sara Golemon Saran Neti Sascha Swiercy Saul good Saurav Babu Scott Bailey |
︙ | ︙ | |||
1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 | Sergio Borghese Serj Kalichev Seshubabu Pasam Seth Mos Sevan Janiyan Sh Diao Shachaf Ben-Kiki Shankar Jadhavar Shao Shuchao Sharad Gupta Shard Shaun Jackman Shawn Landden Shawn Poulson | > | 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 | Sergio Borghese Serj Kalichev Seshubabu Pasam Seth Mos Sevan Janiyan Sh Diao Shachaf Ben-Kiki Shailesh Kapse Shankar Jadhavar Shao Shuchao Sharad Gupta Shard Shaun Jackman Shawn Landden Shawn Poulson |
︙ | ︙ | |||
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 | Valerii Zapodovnikov Vasiliy Faronov Vasily Lobaskin Vasy Okhin Venkat Akella Venkataramana Mokkapati Vicente Garcia Victor Snezhko Vijay Panghal Vikram Saxena Viktor Szakats Vilhelm Prytz Ville Skyttä Vilmos Nebehaj Vincas Razma Vincent Bronner Vincent Le Normand Vincent Penquerc'h Vincent Sanders Vincent Torri Vlad Grachov Vlad Ureche Vladimir Grishchenko Vladimir Kotal Vladimir Lazarenko Vojtech Janota Vojtech Minarik Vojtěch Král Volker Schmid Vsevolod Novikov W. Mark Kubacki Waldek Kozba | > > | 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 | Valerii Zapodovnikov Vasiliy Faronov Vasily Lobaskin Vasy Okhin Venkat Akella Venkataramana Mokkapati Vicente Garcia Victor Magierski Victor Snezhko Vijay Panghal Vikram Saxena Viktor Szakats Vilhelm Prytz Ville Skyttä Vilmos Nebehaj Vincas Razma Vincent Bronner Vincent Le Normand Vincent Penquerc'h Vincent Sanders Vincent Torri Vlad Grachov Vlad Ureche Vladimir Grishchenko Vladimir Kotal Vladimir Lazarenko Vlastimil Ovčáčík Vojtech Janota Vojtech Minarik Vojtěch Král Volker Schmid Vsevolod Novikov W. Mark Kubacki Waldek Kozba |
︙ | ︙ | |||
1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 | William Ahern Wojciech Zwiefka Wouter Van Rooy Wu Yongzheng Wyatt O'Day Xavier Bouchoux XhstormR on github Xiangbin Li XmiliaH on github Yaakov Selkowitz Yang Tse Yarram Sunil Yasuharu Yamada Yasuhiro Matsumoto Yechiel Kalmenson | > > | 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 | William Ahern Wojciech Zwiefka Wouter Van Rooy Wu Yongzheng Wyatt O'Day Xavier Bouchoux XhstormR on github Xiang Xiao Xiangbin Li Xiaoyin Liu XmiliaH on github Yaakov Selkowitz Yang Tse Yarram Sunil Yasuharu Yamada Yasuhiro Matsumoto Yechiel Kalmenson |
︙ | ︙ | |||
1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 | adnn on github afrind on github ahodesuka on github anshnd on github arainchik on github asavah on github baumanj on github bobmitchell1956 on github bsammon on github buzo-ffm on github cbartl on github cclauss on github clbr on github cmfrolick on github codesniffer13 on github d912e3 on github daboul on github | > > | 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 | adnn on github afrind on github ahodesuka on github anshnd on github arainchik on github asavah on github baumanj on github bdry on github bobmitchell1956 on github bsammon on github buzo-ffm on github bxac on github cbartl on github cclauss on github clbr on github cmfrolick on github codesniffer13 on github d912e3 on github daboul on github |
︙ | ︙ | |||
2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 | jnbr on github jonrumsey on github joshhe on github jungle-boogie on github jveazey on github jzinn on github ka7 on github kreshano on github l00p3r on Hackerone lijian996 on github lukaszgn on github madblobfish on github marc-groundctl on github masbug on github | > | 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 | jnbr on github jonrumsey on github joshhe on github jungle-boogie on github jveazey on github jzinn on github ka7 on github kouzhudong on github kreshano on github l00p3r on Hackerone lijian996 on github lukaszgn on github madblobfish on github marc-groundctl on github masbug on github |
︙ | ︙ | |||
2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 | omau on github osabc on github ovidiu-benea on github patelvivekv1993 on github patnyb on github pendrek at hackerone pszemus on github silveja1 on github smuellerDD on github sstruchtrup on github steelman on github steini2000 on github stootill on github swalkaus at yahoo.com | > | 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 | omau on github osabc on github ovidiu-benea on github patelvivekv1993 on github patnyb on github pendrek at hackerone pszemus on github sayrer on github silveja1 on github smuellerDD on github sstruchtrup on github steelman on github steini2000 on github stootill on github swalkaus at yahoo.com |
︙ | ︙ |
Changes to jni/curl/docs/TODO.
︙ | ︙ | |||
16 17 18 19 20 21 22 23 24 25 26 27 28 29 | All bugs documented in the KNOWN_BUGS document are subject for fixing! 1. libcurl 1.1 TFO support on Windows 1.2 Consult %APPDATA% also for .netrc 1.3 struct lifreq 1.5 get rid of PATH_MAX 1.7 Support HTTP/2 for HTTP(S) proxies 1.8 CURLOPT_RESOLVE for any port number 1.9 Cache negative name resolves 1.10 auto-detect proxy 1.11 minimize dependencies with dynamically loaded modules 1.12 updated DNS server while running | > | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | All bugs documented in the KNOWN_BUGS document are subject for fixing! 1. libcurl 1.1 TFO support on Windows 1.2 Consult %APPDATA% also for .netrc 1.3 struct lifreq 1.4 alt-svc sharing 1.5 get rid of PATH_MAX 1.7 Support HTTP/2 for HTTP(S) proxies 1.8 CURLOPT_RESOLVE for any port number 1.9 Cache negative name resolves 1.10 auto-detect proxy 1.11 minimize dependencies with dynamically loaded modules 1.12 updated DNS server while running |
︙ | ︙ | |||
153 154 155 156 157 158 159 160 161 162 163 164 165 166 | 20.1 SSL tunnel 20.2 nicer lacking perl message 20.3 more protocols supported 20.4 more platforms supported 20.5 Add support for concurrent connections 20.6 Use the RFC6265 test suite 20.7 Support LD_PRELOAD on macOS 21. Next SONAME bump 21.1 http-style HEAD output for FTP 21.2 combine error codes 21.3 extend CURLOPT_SOCKOPTFUNCTION prototype 22. Next major release | > | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | 20.1 SSL tunnel 20.2 nicer lacking perl message 20.3 more protocols supported 20.4 more platforms supported 20.5 Add support for concurrent connections 20.6 Use the RFC6265 test suite 20.7 Support LD_PRELOAD on macOS 20.8 Run web-platform-tests url tests 21. Next SONAME bump 21.1 http-style HEAD output for FTP 21.2 combine error codes 21.3 extend CURLOPT_SOCKOPTFUNCTION prototype 22. Next major release |
︙ | ︙ | |||
191 192 193 194 195 196 197 198 199 200 201 202 203 204 | 1.3 struct lifreq Use 'struct lifreq' and SIOCGLIFADDR instead of 'struct ifreq' and SIOCGIFADDR on newer Solaris versions as they claim the latter is obsolete. To support IPv6 interface addresses for network interfaces properly. 1.5 get rid of PATH_MAX Having code use and rely on PATH_MAX is not nice: https://insanecoding.blogspot.com/2007/11/pathmax-simply-isnt.html Currently the libssh2 SSH based code uses it, but to remove PATH_MAX from there we need libssh2 to properly tell us when we pass in a too small buffer | > > > > > > > | 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | 1.3 struct lifreq Use 'struct lifreq' and SIOCGLIFADDR instead of 'struct ifreq' and SIOCGIFADDR on newer Solaris versions as they claim the latter is obsolete. To support IPv6 interface addresses for network interfaces properly. 1.4 alt-svc sharing The share interface could benefit from allowing the alt-svc cache to be possible to share between easy handles. See https://github.com/curl/curl/issues/4476 1.5 get rid of PATH_MAX Having code use and rely on PATH_MAX is not nice: https://insanecoding.blogspot.com/2007/11/pathmax-simply-isnt.html Currently the libssh2 SSH based code uses it, but to remove PATH_MAX from there we need libssh2 to properly tell us when we pass in a too small buffer |
︙ | ︙ | |||
800 801 802 803 804 805 806 | To fix this, libcurl would have to detect an existing connection and "attach" the new transfer to the existing one. 17.2 Handle growing SFTP files The SFTP code in libcurl checks the file size *before* a transfer starts and then proceeds to transfer exactly that amount of data. If the remote file | | | 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 | To fix this, libcurl would have to detect an existing connection and "attach" the new transfer to the existing one. 17.2 Handle growing SFTP files The SFTP code in libcurl checks the file size *before* a transfer starts and then proceeds to transfer exactly that amount of data. If the remote file grows while the transfer is in progress libcurl won't notice and will not adapt. The OpenSSH SFTP command line tool does and libcurl could also just attempt to download more to see if there is more to get... https://github.com/curl/curl/issues/4344 17.3 Support better than MD5 hostkey hash |
︙ | ︙ | |||
1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 | 20.7 Support LD_PRELOAD on macOS LD_RELOAD doesn't work on macOS, but there are tests which require it to run properly. Look into making the preload support in runtests.pl portable such that it uses DYLD_INSERT_LIBRARIES on macOS. 21. Next SONAME bump 21.1 http-style HEAD output for FTP #undef CURL_FTP_HTTPSTYLE_HEAD in lib/ftp.c to remove the HTTP-style headers from being output in NOBODY requests over FTP | > > > > > > > > > | 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 | 20.7 Support LD_PRELOAD on macOS LD_RELOAD doesn't work on macOS, but there are tests which require it to run properly. Look into making the preload support in runtests.pl portable such that it uses DYLD_INSERT_LIBRARIES on macOS. 20.8 Run web-platform-tests url tests Run web-platform-tests url tests and compare results with browsers on wpt.fyi It would help us find issues to fix and help us document where our parser differs from the WHATWG URL spec parsers. See https://github.com/curl/curl/issues/4477 21. Next SONAME bump 21.1 http-style HEAD output for FTP #undef CURL_FTP_HTTPSTYLE_HEAD in lib/ftp.c to remove the HTTP-style headers from being output in NOBODY requests over FTP |
︙ | ︙ |
Changes to jni/curl/docs/cmdline-opts/Makefile.in.
︙ | ︙ | |||
283 284 285 286 287 288 289 290 291 292 293 294 295 296 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ | > | 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_BEARSSL = @USE_BEARSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ |
︙ | ︙ | |||
401 402 403 404 405 406 407 408 409 410 411 412 413 414 | dns-ipv4-addr.d \ dns-ipv6-addr.d \ dns-servers.d \ doh-url.d \ dump-header.d \ egd-file.d \ engine.d \ expect100-timeout.d \ fail-early.d \ fail.d \ false-start.d \ form-string.d \ form.d \ ftp-account.d \ | > > | 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 | dns-ipv4-addr.d \ dns-ipv6-addr.d \ dns-servers.d \ doh-url.d \ dump-header.d \ egd-file.d \ engine.d \ etag-save.d \ etag-compare.d \ expect100-timeout.d \ fail-early.d \ fail.d \ false-start.d \ form-string.d \ form.d \ ftp-account.d \ |
︙ | ︙ | |||
466 467 468 469 470 471 472 473 474 | no-npn.d \ no-progress-meter.d \ no-sessionid.d \ noproxy.d \ ntlm.d ntlm-wb.d \ oauth2-bearer.d \ output.d \ parallel.d \ pass.d \ | > > < | 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 | no-npn.d \ no-progress-meter.d \ no-sessionid.d \ noproxy.d \ ntlm.d ntlm-wb.d \ oauth2-bearer.d \ output.d \ parallel-immediate.d \ parallel-max.d \ parallel.d \ pass.d \ path-as-is.d \ pinnedpubkey.d \ post301.d \ post302.d \ post303.d \ preproxy.d \ progress-bar.d \ |
︙ | ︙ |
Changes to jni/curl/docs/cmdline-opts/Makefile.inc.
︙ | ︙ | |||
34 35 36 37 38 39 40 41 42 43 44 45 46 47 | dns-ipv4-addr.d \ dns-ipv6-addr.d \ dns-servers.d \ doh-url.d \ dump-header.d \ egd-file.d \ engine.d \ expect100-timeout.d \ fail-early.d \ fail.d \ false-start.d \ form-string.d \ form.d \ ftp-account.d \ | > > | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | dns-ipv4-addr.d \ dns-ipv6-addr.d \ dns-servers.d \ doh-url.d \ dump-header.d \ egd-file.d \ engine.d \ etag-save.d \ etag-compare.d \ expect100-timeout.d \ fail-early.d \ fail.d \ false-start.d \ form-string.d \ form.d \ ftp-account.d \ |
︙ | ︙ | |||
99 100 101 102 103 104 105 106 107 | no-npn.d \ no-progress-meter.d \ no-sessionid.d \ noproxy.d \ ntlm.d ntlm-wb.d \ oauth2-bearer.d \ output.d \ parallel.d \ pass.d \ | > > < | 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | no-npn.d \ no-progress-meter.d \ no-sessionid.d \ noproxy.d \ ntlm.d ntlm-wb.d \ oauth2-bearer.d \ output.d \ parallel-immediate.d \ parallel-max.d \ parallel.d \ pass.d \ path-as-is.d \ pinnedpubkey.d \ post301.d \ post302.d \ post303.d \ preproxy.d \ progress-bar.d \ |
︙ | ︙ |
Changes to jni/curl/docs/cmdline-opts/alt-svc.d.
1 2 3 4 5 6 | Long: alt-svc Arg: <file name> Protocols: HTTPS Help: Enable alt-svc with this cache file Added: 7.64.1 --- | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Long: alt-svc Arg: <file name> Protocols: HTTPS Help: Enable alt-svc with this cache file Added: 7.64.1 --- WARNING: this option is experimental. Do not use in production. This option enables the alt-svc parser in curl. If the file name points to an existing alt-svc cache file, that will be used. After a completed transfer, the cache will be saved to the file name again if it has been modified. Specify a "" file name (zero length) to avoid loading/saving and make curl just handle the cache in memory. |
︙ | ︙ |
Added jni/curl/docs/cmdline-opts/etag-compare.d.
> > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Long: etag-compare Arg: <file> Help: Pass an ETag from a file as a custom header Protocols: HTTP Added: 7.68.0 --- This option makes a conditional HTTP request for the specific ETag read from the given file by sending a custom If-None-Match header using the extracted ETag. For correct results, make sure that specified file contains only a single line with a desired ETag. An empty file is parsed as an empty ETag. Use the option --etag-save to first save the ETag from a response, and then use this option to compare using the saved ETag in a subsequent request. \fCOMPARISON\fP: There are 2 types of comparison or ETags, Weak and Strong. This option expects, and uses a strong comparison. |
Added jni/curl/docs/cmdline-opts/etag-save.d.
> > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | Long: etag-save Arg: <file> Help: Parse ETag from a request and save it to a file Protocols: HTTP Added: 7.68.0 --- This option saves an HTTP ETag to the specified file. Etag is usually part of headers returned by a request. When server sends an ETag, it must be enveloped by a double quote. This option extracts the ETag without the double quotes and saves it into the <file>. A server can send a week ETag which is prefixed by "W/". This identifier is not considered, and only relevant ETag between quotation marks is parsed. It an ETag wasn't send by the server or it cannot be parsed, and empty file is created. |
Changes to jni/curl/docs/cmdline-opts/http3.d.
1 2 3 4 5 6 7 8 9 10 | Long: http3 Tags: Versions Protocols: HTTP Added: 7.66.0 Mutexed: http1.1 http1.0 http2 http2-prior-knowledge Requires: HTTP/3 Help: Use HTTP v3 See-also: http1.1 http2 --- | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Long: http3 Tags: Versions Protocols: HTTP Added: 7.66.0 Mutexed: http1.1 http1.0 http2 http2-prior-knowledge Requires: HTTP/3 Help: Use HTTP v3 See-also: http1.1 http2 --- WARNING: this option is experimental. Do not use in production. Tells curl to use HTTP version 3 directly to the host and port number used in the URL. A normal HTTP/3 transaction will be done to a host and then get redirected via Alt-SVc, but this option allows a user to circumvent that when you know that the target speaks HTTP/3 on the given host and port. This option will make curl fail if a QUIC connection cannot be established, it |
︙ | ︙ |
Added jni/curl/docs/cmdline-opts/parallel-immediate.d.
> > > > > > > > > | 1 2 3 4 5 6 7 8 9 | Long: parallel-immediate Help: Do not wait for multiplexing (with --parallel) Added: 7.68.0 See-also: parallel parallel-max --- When doing parallel transfers, this option will instruct curl that it should rather prefer opening up more connections in parallel at once rather than waiting to see if new transfers can be added as multiplexed streams on another connection. |
Changes to jni/curl/docs/cmdline-opts/tlspassword.d.
1 2 3 4 5 6 | Long: tlspassword Help: TLS password Added: 7.21.4 --- Set password for use with the TLS authentication method specified with --tlsauthtype. Requires that --tlsuser also be set. | > > | 1 2 3 4 5 6 7 8 | Long: tlspassword Help: TLS password Added: 7.21.4 --- Set password for use with the TLS authentication method specified with --tlsauthtype. Requires that --tlsuser also be set. This doesn't work with TLS 1.3. |
Changes to jni/curl/docs/cmdline-opts/tlsuser.d.
1 2 3 4 5 6 7 | Long: tlsuser Arg: <name> Help: TLS user name Added: 7.21.4 --- Set username for use with the TLS authentication method specified with --tlsauthtype. Requires that --tlspassword also is set. | > > | 1 2 3 4 5 6 7 8 9 | Long: tlsuser Arg: <name> Help: TLS user name Added: 7.21.4 --- Set username for use with the TLS authentication method specified with --tlsauthtype. Requires that --tlspassword also is set. This doesn't work with TLS 1.3. |
Changes to jni/curl/docs/curl-config.1.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl-config 1 "November 30, 2017" "Curl 7.68.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.
︙ | ︙ | |||
18 19 20 21 22 23 24 | .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .\" DO NOT EDIT. Generated by the curl project gen.pl man page generator. .\" | | | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .\" DO NOT EDIT. Generated by the curl project gen.pl man page generator. .\" .TH curl 1 "November 16, 2016" "Curl 7.68.0" "Curl Manual" .SH NAME curl \- transfer a URL .SH SYNOPSIS .B curl [options / URLs] .SH DESCRIPTION .B curl |
︙ | ︙ | |||
143 144 145 146 147 148 149 | .IP "--abstract-unix-socket <path>" (HTTP) Connect through an abstract Unix domain socket, instead of using the network. Note: netstat shows the path of an abstract socket prefixed with '@', however the <path> argument should not have this leading character. Added in 7.53.0. .IP "--alt-svc <file name>" | | | 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | .IP "--abstract-unix-socket <path>" (HTTP) Connect through an abstract Unix domain socket, instead of using the network. Note: netstat shows the path of an abstract socket prefixed with '@', however the <path> argument should not have this leading character. Added in 7.53.0. .IP "--alt-svc <file name>" (HTTPS) WARNING: this option is experimental. Do not use in production. This option enables the alt-svc parser in curl. If the file name points to an existing alt-svc cache file, that will be used. After a completed transfer, the cache will be saved to the file name again if it has been modified. Specify a "" file name (zero length) to avoid loading/saving and make curl just handle the cache in memory. |
︙ | ︙ | |||
658 659 660 661 662 663 664 665 666 667 668 669 670 671 | used to seed the random engine for SSL connections. See also \fI--random-file\fP. .IP "--engine <name>" (TLS) Select the OpenSSL crypto engine to use for cipher operations. Use \fI--engine\fP list to print a list of build-time supported engines. Note that not all (or none) of the engines may be available at run-time. .IP "--expect100-timeout <seconds>" (HTTP) Maximum time in seconds that you allow curl to wait for a 100-continue response when curl emits an Expects: 100-continue header in its request. By default curl will wait one second. This option accepts decimal values! When curl stops waiting, it will continue as if the response has been received. See also \fI--connect-timeout\fP. Added in 7.47.0. | > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | used to seed the random engine for SSL connections. See also \fI--random-file\fP. .IP "--engine <name>" (TLS) Select the OpenSSL crypto engine to use for cipher operations. Use \fI--engine\fP list to print a list of build-time supported engines. Note that not all (or none) of the engines may be available at run-time. .IP "--etag-compare <file>" (HTTP) This option makes a conditional HTTP request for the specific ETag read from the given file by sending a custom If-None-Match header using the extracted ETag. For correct results, make sure that specified file contains only a single line with a desired ETag. An empty file is parsed as an empty ETag. Use the option \fI--etag-save\fP to first save the ETag from a response, and then use this option to compare using the saved ETag in a subsequent request. \fCOMPARISON\fP: There are 2 types of comparison or ETags, Weak and Strong. This option expects, and uses a strong comparison. Added in 7.68.0. .IP "--etag-save <file>" (HTTP) This option saves an HTTP ETag to the specified file. Etag is usually part of headers returned by a request. When server sends an ETag, it must be enveloped by a double quote. This option extracts the ETag without the double quotes and saves it into the <file>. A server can send a week ETag which is prefixed by "W/". This identifier is not considered, and only relevant ETag between quotation marks is parsed. It an ETag wasn't send by the server or it cannot be parsed, and empty file is created. Added in 7.68.0. .IP "--expect100-timeout <seconds>" (HTTP) Maximum time in seconds that you allow curl to wait for a 100-continue response when curl emits an Expects: 100-continue header in its request. By default curl will wait one second. This option accepts decimal values! When curl stops waiting, it will continue as if the response has been received. See also \fI--connect-timeout\fP. Added in 7.47.0. |
︙ | ︙ | |||
1081 1082 1083 1084 1085 1086 1087 | \fI--http2-prior-knowledge\fP requires that the underlying libcurl was built to support HTTP/2. This option overrides \fI--http1.1\fP and \fI-0, --http1.0\fP and \fI--http2\fP. Added in 7.49.0. .IP "--http2" (HTTP) Tells curl to use HTTP version 2. See also \fI--http1.1\fP and \fI--http3\fP. \fI--http2\fP requires that the underlying libcurl was built to support HTTP/2. This option overrides \fI--http1.1\fP and \fI-0, --http1.0\fP and \fI--http2-prior-knowledge\fP. Added in 7.33.0. .IP "--http3" (HTTP) | | | 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 | \fI--http2-prior-knowledge\fP requires that the underlying libcurl was built to support HTTP/2. This option overrides \fI--http1.1\fP and \fI-0, --http1.0\fP and \fI--http2\fP. Added in 7.49.0. .IP "--http2" (HTTP) Tells curl to use HTTP version 2. See also \fI--http1.1\fP and \fI--http3\fP. \fI--http2\fP requires that the underlying libcurl was built to support HTTP/2. This option overrides \fI--http1.1\fP and \fI-0, --http1.0\fP and \fI--http2-prior-knowledge\fP. Added in 7.33.0. .IP "--http3" (HTTP) WARNING: this option is experimental. Do not use in production. Tells curl to use HTTP version 3 directly to the host and port number used in the URL. A normal HTTP/3 transaction will be done to a host and then get redirected via Alt-SVc, but this option allows a user to circumvent that when you know that the target speaks HTTP/3 on the given host and port. This option will make curl fail if a QUIC connection cannot be established, it |
︙ | ︙ | |||
1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 | curl example.com example.net -o aa -o bb See also the \fI--create-dirs\fP option to create the local directories dynamically. Specifying the output as '-' (a single dash) will force the output to be done to stdout. See also \fI-O, --remote-name\fP and \fI--remote-name-all\fP and \fI-J, --remote-header-name\fP. .IP "--parallel-max" When asked to do parallel transfers, using \fI-Z, --parallel\fP, this option controls the maximum amount of transfers to do simultaneously. The default is 50. See also \fI-Z, --parallel\fP. Added in 7.66.0. | > > > > > > > | 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 | curl example.com example.net -o aa -o bb See also the \fI--create-dirs\fP option to create the local directories dynamically. Specifying the output as '-' (a single dash) will force the output to be done to stdout. See also \fI-O, --remote-name\fP and \fI--remote-name-all\fP and \fI-J, --remote-header-name\fP. .IP "--parallel-immediate" When doing parallel transfers, this option will instruct curl that it should rather prefer opening up more connections in parallel at once rather than waiting to see if new transfers can be added as multiplexed streams on another connection. See also \fI-Z, --parallel\fP and \fI--parallel-max\fP. Added in 7.68.0. .IP "--parallel-max" When asked to do parallel transfers, using \fI-Z, --parallel\fP, this option controls the maximum amount of transfers to do simultaneously. The default is 50. See also \fI-Z, --parallel\fP. Added in 7.66.0. |
︙ | ︙ | |||
2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 | OpenSSL or GnuTLS with TLS-SRP support. Added in 7.21.4. .IP "--tlspassword" Set password for use with the TLS authentication method specified with \fI--tlsauthtype\fP. Requires that \fI--tlsuser\fP also be set. Added in 7.21.4. .IP "--tlsuser <name>" Set username for use with the TLS authentication method specified with \fI--tlsauthtype\fP. Requires that \fI--tlspassword\fP also is set. Added in 7.21.4. .IP "--tlsv1.0" (TLS) Forces curl to use TLS version 1.0 or later when connecting to a remote TLS server. In old versions of curl this option was documented to allow _only_ TLS 1.0, but behavior was inconsistent depending on the TLS library. Use \fI--tls-max\fP if | > > > > | 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 | OpenSSL or GnuTLS with TLS-SRP support. Added in 7.21.4. .IP "--tlspassword" Set password for use with the TLS authentication method specified with \fI--tlsauthtype\fP. Requires that \fI--tlsuser\fP also be set. This doesn't work with TLS 1.3. Added in 7.21.4. .IP "--tlsuser <name>" Set username for use with the TLS authentication method specified with \fI--tlsauthtype\fP. Requires that \fI--tlspassword\fP also is set. This doesn't work with TLS 1.3. Added in 7.21.4. .IP "--tlsv1.0" (TLS) Forces curl to use TLS version 1.0 or later when connecting to a remote TLS server. In old versions of curl this option was documented to allow _only_ TLS 1.0, but behavior was inconsistent depending on the TLS library. Use \fI--tls-max\fP if |
︙ | ︙ |
Changes to jni/curl/docs/examples/Makefile.in.
︙ | ︙ | |||
161 162 163 164 165 166 167 | http2-serverpush$(EXEEXT) getredirect$(EXEEXT) \ ftpuploadfrommem$(EXEEXT) ftpuploadresume$(EXEEXT) \ sslbackend$(EXEEXT) postit2-formadd$(EXEEXT) \ multi-formadd$(EXEEXT) shared-connection-cache$(EXEEXT) \ sftpuploadresume$(EXEEXT) http2-pushinmemory$(EXEEXT) \ parseurl$(EXEEXT) urlapi$(EXEEXT) imap-authzid$(EXEEXT) \ pop3-authzid$(EXEEXT) smtp-authzid$(EXEEXT) http3$(EXEEXT) \ | | | 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | http2-serverpush$(EXEEXT) getredirect$(EXEEXT) \ ftpuploadfrommem$(EXEEXT) ftpuploadresume$(EXEEXT) \ sslbackend$(EXEEXT) postit2-formadd$(EXEEXT) \ multi-formadd$(EXEEXT) shared-connection-cache$(EXEEXT) \ sftpuploadresume$(EXEEXT) http2-pushinmemory$(EXEEXT) \ parseurl$(EXEEXT) urlapi$(EXEEXT) imap-authzid$(EXEEXT) \ pop3-authzid$(EXEEXT) smtp-authzid$(EXEEXT) http3$(EXEEXT) \ altsvc$(EXEEXT) http3-present$(EXEEXT) multi-poll$(EXEEXT) subdir = docs/examples ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_compile_check_sizeof.m4 \ $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ |
︙ | ︙ | |||
539 540 541 542 543 544 545 546 547 548 549 550 551 552 | multi_formadd_SOURCES = multi-formadd.c multi_formadd_OBJECTS = multi-formadd.$(OBJEXT) multi_formadd_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@multi_formadd_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@multi_formadd_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la multi_post_SOURCES = multi-post.c multi_post_OBJECTS = multi-post.$(OBJEXT) multi_post_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@multi_post_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@multi_post_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la | > > > > > > > | 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 | multi_formadd_SOURCES = multi-formadd.c multi_formadd_OBJECTS = multi-formadd.$(OBJEXT) multi_formadd_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@multi_formadd_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@multi_formadd_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la multi_poll_SOURCES = multi-poll.c multi_poll_OBJECTS = multi-poll.$(OBJEXT) multi_poll_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@multi_poll_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@multi_poll_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la multi_post_SOURCES = multi-post.c multi_post_OBJECTS = multi-post.$(OBJEXT) multi_post_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@multi_post_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@multi_post_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la |
︙ | ︙ | |||
865 866 867 868 869 870 871 | ./$(DEPDIR)/imap-examine.Po ./$(DEPDIR)/imap-fetch.Po \ ./$(DEPDIR)/imap-list.Po ./$(DEPDIR)/imap-lsub.Po \ ./$(DEPDIR)/imap-multi.Po ./$(DEPDIR)/imap-noop.Po \ ./$(DEPDIR)/imap-search.Po ./$(DEPDIR)/imap-ssl.Po \ ./$(DEPDIR)/imap-store.Po ./$(DEPDIR)/imap-tls.Po \ ./$(DEPDIR)/multi-app.Po ./$(DEPDIR)/multi-debugcallback.Po \ ./$(DEPDIR)/multi-double.Po ./$(DEPDIR)/multi-formadd.Po \ | > | | | | | | | | | | | | | | 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 | ./$(DEPDIR)/imap-examine.Po ./$(DEPDIR)/imap-fetch.Po \ ./$(DEPDIR)/imap-list.Po ./$(DEPDIR)/imap-lsub.Po \ ./$(DEPDIR)/imap-multi.Po ./$(DEPDIR)/imap-noop.Po \ ./$(DEPDIR)/imap-search.Po ./$(DEPDIR)/imap-ssl.Po \ ./$(DEPDIR)/imap-store.Po ./$(DEPDIR)/imap-tls.Po \ ./$(DEPDIR)/multi-app.Po ./$(DEPDIR)/multi-debugcallback.Po \ ./$(DEPDIR)/multi-double.Po ./$(DEPDIR)/multi-formadd.Po \ ./$(DEPDIR)/multi-poll.Po ./$(DEPDIR)/multi-post.Po \ ./$(DEPDIR)/multi-single.Po ./$(DEPDIR)/parseurl.Po \ ./$(DEPDIR)/persistent.Po ./$(DEPDIR)/pop3-authzid.Po \ ./$(DEPDIR)/pop3-dele.Po ./$(DEPDIR)/pop3-list.Po \ ./$(DEPDIR)/pop3-multi.Po ./$(DEPDIR)/pop3-noop.Po \ ./$(DEPDIR)/pop3-retr.Po ./$(DEPDIR)/pop3-ssl.Po \ ./$(DEPDIR)/pop3-stat.Po ./$(DEPDIR)/pop3-tls.Po \ ./$(DEPDIR)/pop3-top.Po ./$(DEPDIR)/pop3-uidl.Po \ ./$(DEPDIR)/post-callback.Po ./$(DEPDIR)/postinmemory.Po \ ./$(DEPDIR)/postit2-formadd.Po ./$(DEPDIR)/postit2.Po \ ./$(DEPDIR)/progressfunc.Po ./$(DEPDIR)/resolve.Po \ ./$(DEPDIR)/rtsp.Po ./$(DEPDIR)/sendrecv.Po \ ./$(DEPDIR)/sepheaders.Po ./$(DEPDIR)/sftpget.Po \ ./$(DEPDIR)/sftpuploadresume.Po \ ./$(DEPDIR)/shared-connection-cache.Po ./$(DEPDIR)/simple.Po \ ./$(DEPDIR)/simplepost.Po ./$(DEPDIR)/simplessl.Po \ ./$(DEPDIR)/smtp-authzid.Po ./$(DEPDIR)/smtp-expn.Po \ ./$(DEPDIR)/smtp-mail.Po ./$(DEPDIR)/smtp-mime.Po \ ./$(DEPDIR)/smtp-multi.Po ./$(DEPDIR)/smtp-ssl.Po \ ./$(DEPDIR)/smtp-tls.Po ./$(DEPDIR)/smtp-vrfy.Po \ ./$(DEPDIR)/sslbackend.Po ./$(DEPDIR)/url2file.Po \ |
︙ | ︙ | |||
917 918 919 920 921 922 923 | http2-download.c http2-pushinmemory.c http2-serverpush.c \ http2-upload.c http3.c http3-present.c httpcustomheader.c \ httpput.c https.c imap-append.c imap-authzid.c imap-copy.c \ imap-create.c imap-delete.c imap-examine.c imap-fetch.c \ imap-list.c imap-lsub.c imap-multi.c imap-noop.c imap-search.c \ imap-ssl.c imap-store.c imap-tls.c multi-app.c \ multi-debugcallback.c multi-double.c multi-formadd.c \ | | | | | | | | | | | | | | 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 | http2-download.c http2-pushinmemory.c http2-serverpush.c \ http2-upload.c http3.c http3-present.c httpcustomheader.c \ httpput.c https.c imap-append.c imap-authzid.c imap-copy.c \ imap-create.c imap-delete.c imap-examine.c imap-fetch.c \ imap-list.c imap-lsub.c imap-multi.c imap-noop.c imap-search.c \ imap-ssl.c imap-store.c imap-tls.c multi-app.c \ multi-debugcallback.c multi-double.c multi-formadd.c \ multi-poll.c multi-post.c multi-single.c parseurl.c \ persistent.c pop3-authzid.c pop3-dele.c pop3-list.c \ pop3-multi.c pop3-noop.c pop3-retr.c pop3-ssl.c pop3-stat.c \ pop3-tls.c pop3-top.c pop3-uidl.c post-callback.c \ postinmemory.c postit2.c postit2-formadd.c progressfunc.c \ resolve.c rtsp.c sendrecv.c sepheaders.c sftpget.c \ sftpuploadresume.c shared-connection-cache.c simple.c \ simplepost.c simplessl.c smtp-authzid.c smtp-expn.c \ smtp-mail.c smtp-mime.c smtp-multi.c smtp-ssl.c smtp-tls.c \ smtp-vrfy.c sslbackend.c url2file.c urlapi.c DIST_SOURCES = 10-at-a-time.c altsvc.c anyauthput.c certinfo.c \ chkspeed.c cookie_interface.c debug.c externalsocket.c \ fileupload.c fopen.c ftp-wildcard.c ftpget.c ftpgetinfo.c \ ftpgetresp.c ftpsget.c ftpupload.c ftpuploadfrommem.c \ ftpuploadresume.c getinfo.c getinmemory.c getredirect.c \ http-post.c http2-download.c http2-pushinmemory.c \ http2-serverpush.c http2-upload.c http3.c http3-present.c \ httpcustomheader.c httpput.c https.c imap-append.c \ imap-authzid.c imap-copy.c imap-create.c imap-delete.c \ imap-examine.c imap-fetch.c imap-list.c imap-lsub.c \ imap-multi.c imap-noop.c imap-search.c imap-ssl.c imap-store.c \ imap-tls.c multi-app.c multi-debugcallback.c multi-double.c \ multi-formadd.c multi-poll.c multi-post.c multi-single.c \ parseurl.c persistent.c pop3-authzid.c pop3-dele.c pop3-list.c \ pop3-multi.c pop3-noop.c pop3-retr.c pop3-ssl.c pop3-stat.c \ pop3-tls.c pop3-top.c pop3-uidl.c post-callback.c \ postinmemory.c postit2.c postit2-formadd.c progressfunc.c \ resolve.c rtsp.c sendrecv.c sepheaders.c sftpget.c \ sftpuploadresume.c shared-connection-cache.c simple.c \ simplepost.c simplessl.c smtp-authzid.c smtp-expn.c \ smtp-mail.c smtp-mime.c smtp-multi.c smtp-ssl.c smtp-tls.c \ |
︙ | ︙ | |||
1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ | > | 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_BEARSSL = @USE_BEARSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ |
︙ | ︙ | |||
1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 | multi-double$(EXEEXT): $(multi_double_OBJECTS) $(multi_double_DEPENDENCIES) $(EXTRA_multi_double_DEPENDENCIES) @rm -f multi-double$(EXEEXT) $(AM_V_CCLD)$(LINK) $(multi_double_OBJECTS) $(multi_double_LDADD) $(LIBS) multi-formadd$(EXEEXT): $(multi_formadd_OBJECTS) $(multi_formadd_DEPENDENCIES) $(EXTRA_multi_formadd_DEPENDENCIES) @rm -f multi-formadd$(EXEEXT) $(AM_V_CCLD)$(LINK) $(multi_formadd_OBJECTS) $(multi_formadd_LDADD) $(LIBS) multi-post$(EXEEXT): $(multi_post_OBJECTS) $(multi_post_DEPENDENCIES) $(EXTRA_multi_post_DEPENDENCIES) @rm -f multi-post$(EXEEXT) $(AM_V_CCLD)$(LINK) $(multi_post_OBJECTS) $(multi_post_LDADD) $(LIBS) multi-single$(EXEEXT): $(multi_single_OBJECTS) $(multi_single_DEPENDENCIES) $(EXTRA_multi_single_DEPENDENCIES) @rm -f multi-single$(EXEEXT) | > > > > | 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 | multi-double$(EXEEXT): $(multi_double_OBJECTS) $(multi_double_DEPENDENCIES) $(EXTRA_multi_double_DEPENDENCIES) @rm -f multi-double$(EXEEXT) $(AM_V_CCLD)$(LINK) $(multi_double_OBJECTS) $(multi_double_LDADD) $(LIBS) multi-formadd$(EXEEXT): $(multi_formadd_OBJECTS) $(multi_formadd_DEPENDENCIES) $(EXTRA_multi_formadd_DEPENDENCIES) @rm -f multi-formadd$(EXEEXT) $(AM_V_CCLD)$(LINK) $(multi_formadd_OBJECTS) $(multi_formadd_LDADD) $(LIBS) multi-poll$(EXEEXT): $(multi_poll_OBJECTS) $(multi_poll_DEPENDENCIES) $(EXTRA_multi_poll_DEPENDENCIES) @rm -f multi-poll$(EXEEXT) $(AM_V_CCLD)$(LINK) $(multi_poll_OBJECTS) $(multi_poll_LDADD) $(LIBS) multi-post$(EXEEXT): $(multi_post_OBJECTS) $(multi_post_DEPENDENCIES) $(EXTRA_multi_post_DEPENDENCIES) @rm -f multi-post$(EXEEXT) $(AM_V_CCLD)$(LINK) $(multi_post_OBJECTS) $(multi_post_LDADD) $(LIBS) multi-single$(EXEEXT): $(multi_single_OBJECTS) $(multi_single_DEPENDENCIES) $(EXTRA_multi_single_DEPENDENCIES) @rm -f multi-single$(EXEEXT) |
︙ | ︙ | |||
1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap-ssl.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap-store.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap-tls.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-app.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-debugcallback.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-double.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-formadd.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-post.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-single.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parseurl.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/persistent.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pop3-authzid.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pop3-dele.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pop3-list.Po@am__quote@ # am--include-marker | > | 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap-ssl.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap-store.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap-tls.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-app.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-debugcallback.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-double.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-formadd.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-poll.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-post.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-single.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parseurl.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/persistent.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pop3-authzid.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pop3-dele.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pop3-list.Po@am__quote@ # am--include-marker |
︙ | ︙ | |||
1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 | -rm -f ./$(DEPDIR)/imap-ssl.Po -rm -f ./$(DEPDIR)/imap-store.Po -rm -f ./$(DEPDIR)/imap-tls.Po -rm -f ./$(DEPDIR)/multi-app.Po -rm -f ./$(DEPDIR)/multi-debugcallback.Po -rm -f ./$(DEPDIR)/multi-double.Po -rm -f ./$(DEPDIR)/multi-formadd.Po -rm -f ./$(DEPDIR)/multi-post.Po -rm -f ./$(DEPDIR)/multi-single.Po -rm -f ./$(DEPDIR)/parseurl.Po -rm -f ./$(DEPDIR)/persistent.Po -rm -f ./$(DEPDIR)/pop3-authzid.Po -rm -f ./$(DEPDIR)/pop3-dele.Po -rm -f ./$(DEPDIR)/pop3-list.Po | > | 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 | -rm -f ./$(DEPDIR)/imap-ssl.Po -rm -f ./$(DEPDIR)/imap-store.Po -rm -f ./$(DEPDIR)/imap-tls.Po -rm -f ./$(DEPDIR)/multi-app.Po -rm -f ./$(DEPDIR)/multi-debugcallback.Po -rm -f ./$(DEPDIR)/multi-double.Po -rm -f ./$(DEPDIR)/multi-formadd.Po -rm -f ./$(DEPDIR)/multi-poll.Po -rm -f ./$(DEPDIR)/multi-post.Po -rm -f ./$(DEPDIR)/multi-single.Po -rm -f ./$(DEPDIR)/parseurl.Po -rm -f ./$(DEPDIR)/persistent.Po -rm -f ./$(DEPDIR)/pop3-authzid.Po -rm -f ./$(DEPDIR)/pop3-dele.Po -rm -f ./$(DEPDIR)/pop3-list.Po |
︙ | ︙ | |||
2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 | -rm -f ./$(DEPDIR)/imap-ssl.Po -rm -f ./$(DEPDIR)/imap-store.Po -rm -f ./$(DEPDIR)/imap-tls.Po -rm -f ./$(DEPDIR)/multi-app.Po -rm -f ./$(DEPDIR)/multi-debugcallback.Po -rm -f ./$(DEPDIR)/multi-double.Po -rm -f ./$(DEPDIR)/multi-formadd.Po -rm -f ./$(DEPDIR)/multi-post.Po -rm -f ./$(DEPDIR)/multi-single.Po -rm -f ./$(DEPDIR)/parseurl.Po -rm -f ./$(DEPDIR)/persistent.Po -rm -f ./$(DEPDIR)/pop3-authzid.Po -rm -f ./$(DEPDIR)/pop3-dele.Po -rm -f ./$(DEPDIR)/pop3-list.Po | > | 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 | -rm -f ./$(DEPDIR)/imap-ssl.Po -rm -f ./$(DEPDIR)/imap-store.Po -rm -f ./$(DEPDIR)/imap-tls.Po -rm -f ./$(DEPDIR)/multi-app.Po -rm -f ./$(DEPDIR)/multi-debugcallback.Po -rm -f ./$(DEPDIR)/multi-double.Po -rm -f ./$(DEPDIR)/multi-formadd.Po -rm -f ./$(DEPDIR)/multi-poll.Po -rm -f ./$(DEPDIR)/multi-post.Po -rm -f ./$(DEPDIR)/multi-single.Po -rm -f ./$(DEPDIR)/parseurl.Po -rm -f ./$(DEPDIR)/persistent.Po -rm -f ./$(DEPDIR)/pop3-authzid.Po -rm -f ./$(DEPDIR)/pop3-dele.Po -rm -f ./$(DEPDIR)/pop3-list.Po |
︙ | ︙ |
Changes to jni/curl/docs/examples/Makefile.inc.
︙ | ︙ | |||
32 33 34 35 36 37 38 | imap-list imap-lsub imap-fetch imap-store imap-append imap-examine \ imap-search imap-create imap-delete imap-copy imap-noop imap-ssl \ imap-tls imap-multi url2file sftpget ftpsget postinmemory http2-download \ http2-upload http2-serverpush getredirect ftpuploadfrommem \ ftpuploadresume sslbackend postit2-formadd multi-formadd \ shared-connection-cache sftpuploadresume http2-pushinmemory parseurl \ urlapi imap-authzid pop3-authzid smtp-authzid http3 altsvc \ | | | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | imap-list imap-lsub imap-fetch imap-store imap-append imap-examine \ imap-search imap-create imap-delete imap-copy imap-noop imap-ssl \ imap-tls imap-multi url2file sftpget ftpsget postinmemory http2-download \ http2-upload http2-serverpush getredirect ftpuploadfrommem \ ftpuploadresume sslbackend postit2-formadd multi-formadd \ shared-connection-cache sftpuploadresume http2-pushinmemory parseurl \ urlapi imap-authzid pop3-authzid smtp-authzid http3 altsvc \ http3-present multi-poll # These examples require external dependencies that may not be commonly # available on POSIX systems, so don't bother attempting to compile them here. COMPLICATED_EXAMPLES = curlgtk.c curlx.c htmltitle.cpp cacertinmem.c \ ghiper.c hiperfifo.c htmltidy.c multithread.c opensslthreadlock.c \ sampleconv.c synctime.c threaded-ssl.c evhiperfifo.c \ smooth-gtk-thread.c version-check.pl href_extractor.c asiohiper.cpp \ |
︙ | ︙ |
Changes to jni/curl/docs/examples/anyauthput.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/chkspeed.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/crawler.c.
1 2 3 4 5 6 7 8 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Web crawler based on curl and libxml2. | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Web crawler based on curl and libxml2. * Copyright (C) 2018 - 2019 Jeroen Ooms <jeroenooms@gmail.com> * License: MIT * * To compile: * gcc crawler.c $(pkg-config --cflags --libs libxml-2.0 libcurl) * */ /* <DESC> |
︙ | ︙ |
Changes to jni/curl/docs/examples/curlgtk.c.
1 2 3 4 5 6 7 | /***************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /***************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (c) 2000 - 2019 David Odin (aka DindinX) for MandrakeSoft */ /* <DESC> * use the libcurl in a gtk-threaded application * </DESC> */ #include <stdio.h> |
︙ | ︙ |
Changes to jni/curl/docs/examples/curlx.c.
︙ | ︙ | |||
11 12 13 14 15 16 17 | */ /* <DESC> * demonstrates use of SSL context callback, requires OpenSSL * </DESC> */ /* | | | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | */ /* <DESC> * demonstrates use of SSL context callback, requires OpenSSL * </DESC> */ /* * Copyright (c) 2003 - 2019 The OpenEvidence Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions, the following disclaimer, |
︙ | ︙ |
Changes to jni/curl/docs/examples/fileupload.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/fopen.c.
︙ | ︙ | |||
9 10 11 12 13 14 15 | * and fread() with url_fread() and it become possible to read remote streams * instead of (only) local files. Local files (ie those that can be directly * fopened) will drop back to using the underlying clib implementations * * See the main() function at the bottom that shows an app that retrieves from * a specified url using fgets() and fread() and saves as two output files. * | | | 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | * and fread() with url_fread() and it become possible to read remote streams * instead of (only) local files. Local files (ie those that can be directly * fopened) will drop back to using the underlying clib implementations * * See the main() function at the bottom that shows an app that retrieves from * a specified url using fgets() and fread() and saves as two output files. * * Copyright (c) 2003 - 2019 Simtec Electronics * * Re-implemented by Vincent Sanders <vince@kyllikki.org> with extensive * reference to original curl example code * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: |
︙ | ︙ |
Changes to jni/curl/docs/examples/ftpupload.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/href_extractor.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2012 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/http-post.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/https.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/imap-list.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/imap-lsub.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/imap-noop.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/imap-store.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Added jni/curl/docs/examples/multi-poll.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 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ /* <DESC> * single download with the multi interface's curl_multi_poll * </DESC> */ #include <stdio.h> #include <string.h> /* somewhat unix-specific */ #include <sys/time.h> #include <unistd.h> /* curl stuff */ #include <curl/curl.h> int main(void) { CURL *http_handle; CURLM *multi_handle; int still_running = 1; /* keep number of running handles */ curl_global_init(CURL_GLOBAL_DEFAULT); http_handle = curl_easy_init(); curl_easy_setopt(http_handle, CURLOPT_URL, "https://www.example.com/"); multi_handle = curl_multi_init(); curl_multi_add_handle(multi_handle, http_handle); while(still_running) { CURLMcode mc; /* curl_multi_poll() return code */ int numfds; /* we start some action by calling perform right away */ mc = curl_multi_perform(multi_handle, &still_running); if(still_running) /* wait for activity, timeout or "nothing" */ mc = curl_multi_poll(multi_handle, NULL, 0, 1000, &numfds); if(mc != CURLM_OK) { fprintf(stderr, "curl_multi_wait() failed, code %d.\n", mc); break; } } curl_multi_remove_handle(multi_handle, http_handle); curl_easy_cleanup(http_handle); curl_multi_cleanup(multi_handle); curl_global_cleanup(); return 0; } |
Changes to jni/curl/docs/examples/pop3-dele.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/pop3-list.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/pop3-noop.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/pop3-retr.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/pop3-ssl.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/pop3-stat.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/pop3-uidl.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/postinmemory.c.
︙ | ︙ | |||
100 101 102 103 104 105 106 | * Do something nice with it! */ printf("%s\n",chunk.memory); } /* always cleanup */ curl_easy_cleanup(curl); | | < < | > | 100 101 102 103 104 105 106 107 108 109 110 111 112 | * Do something nice with it! */ printf("%s\n",chunk.memory); } /* always cleanup */ curl_easy_cleanup(curl); } free(chunk.memory); curl_global_cleanup(); return 0; } |
Changes to jni/curl/docs/examples/rtsp.c.
1 | /* | | | 1 2 3 4 5 6 7 8 9 | /* * Copyright (c) 2011 - 2019, Jim Hollinger * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. |
︙ | ︙ |
Changes to jni/curl/docs/examples/sessioninfo.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/smtp-expn.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/smtp-ssl.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/smtp-tls.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/smtp-vrfy.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/examples/url2file.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
53 54 55 56 57 58 59 | /* set URL to get here */ curl_easy_setopt(curl_handle, CURLOPT_URL, argv[1]); /* Switch on full protocol/debug output while testing */ curl_easy_setopt(curl_handle, CURLOPT_VERBOSE, 1L); | | | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | /* set URL to get here */ curl_easy_setopt(curl_handle, CURLOPT_URL, argv[1]); /* Switch on full protocol/debug output while testing */ curl_easy_setopt(curl_handle, CURLOPT_VERBOSE, 1L); /* disable progress meter, set to 0L to enable it */ curl_easy_setopt(curl_handle, CURLOPT_NOPROGRESS, 1L); /* send all data to this function */ curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, write_data); /* open the file */ pagefile = fopen(pagefilename, "wb"); |
︙ | ︙ |
Changes to jni/curl/docs/examples/usercertinmem.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2013 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/Makefile.in.
︙ | ︙ | |||
553 554 555 556 557 558 559 560 561 562 563 564 565 566 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ | > | 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_BEARSSL = @USE_BEARSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ |
︙ | ︙ | |||
687 688 689 690 691 692 693 694 695 696 697 698 699 700 | curl_multi_remove_handle.3 \ curl_multi_setopt.3 \ curl_multi_socket.3 \ curl_multi_socket_action.3 \ curl_multi_socket_all.3 \ curl_multi_strerror.3 \ curl_multi_timeout.3 \ curl_multi_wait.3 \ curl_share_cleanup.3 \ curl_share_init.3 \ curl_share_setopt.3 \ curl_share_strerror.3 \ curl_slist_append.3 \ curl_slist_free_all.3 \ | > | 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 | curl_multi_remove_handle.3 \ curl_multi_setopt.3 \ curl_multi_socket.3 \ curl_multi_socket_action.3 \ curl_multi_socket_all.3 \ curl_multi_strerror.3 \ curl_multi_timeout.3 \ curl_multi_wakeup.3 \ curl_multi_wait.3 \ curl_share_cleanup.3 \ curl_share_init.3 \ curl_share_setopt.3 \ curl_share_strerror.3 \ curl_slist_append.3 \ curl_slist_free_all.3 \ |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/Makefile.inc.
︙ | ︙ | |||
50 51 52 53 54 55 56 57 58 59 60 61 62 63 | curl_multi_remove_handle.3 \ curl_multi_setopt.3 \ curl_multi_socket.3 \ curl_multi_socket_action.3 \ curl_multi_socket_all.3 \ curl_multi_strerror.3 \ curl_multi_timeout.3 \ curl_multi_wait.3 \ curl_share_cleanup.3 \ curl_share_init.3 \ curl_share_setopt.3 \ curl_share_strerror.3 \ curl_slist_append.3 \ curl_slist_free_all.3 \ | > | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | curl_multi_remove_handle.3 \ curl_multi_setopt.3 \ curl_multi_socket.3 \ curl_multi_socket_action.3 \ curl_multi_socket_all.3 \ curl_multi_strerror.3 \ curl_multi_timeout.3 \ curl_multi_wakeup.3 \ curl_multi_wait.3 \ curl_share_cleanup.3 \ curl_share_init.3 \ curl_share_setopt.3 \ curl_share_strerror.3 \ curl_slist_append.3 \ curl_slist_free_all.3 \ |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_cleanup.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_easy_cleanup 3 "August 09, 2018" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_easy_cleanup - End a libcurl easy handle .SH SYNOPSIS .B #include <curl/curl.h> .BI "void curl_easy_cleanup(CURL *" handle ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_duphandle.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_easy_duphandle 3 "March 01, 2019" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_easy_duphandle - Clone a libcurl session handle .SH SYNOPSIS .B #include <curl/curl.h> .BI "CURL *curl_easy_duphandle(CURL *"handle ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_escape.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_easy_escape 3 "August 12, 2017" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_easy_escape - URL encodes the given string .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "char *curl_easy_escape( CURL *" curl ", const char *" string |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_getinfo.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_easy_getinfo 3 "August 06, 2019" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_easy_getinfo - extract information from a curl handle .SH SYNOPSIS .B #include <curl/curl.h> .B "CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_init.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_easy_init 3 "February 03, 2016" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_easy_init - Start a libcurl easy session .SH SYNOPSIS .B #include <curl/curl.h> .BI "CURL *curl_easy_init( );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_pause.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_easy_pause 3 "May 01, 2016" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_easy_pause - pause and unpause a connection .SH SYNOPSIS .B #include <curl/curl.h> .BI "CURLcode curl_easy_pause(CURL *"handle ", int "bitmask " );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_perform.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_easy_perform 3 "September 23, 2018" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_easy_perform - perform a blocking file transfer .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_easy_perform(CURL *" easy_handle ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_recv.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_easy_recv 3 "December 18, 2016" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_easy_recv - receives raw data on an "easy" connection .SH SYNOPSIS .B #include <curl/easy.h> .sp .BI "CURLcode curl_easy_recv( CURL *" curl ", void *" buffer "," |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_reset.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_easy_reset 3 "September 23, 2018" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_easy_reset - reset all options of a libcurl session handle .SH SYNOPSIS .B #include <curl/curl.h> .BI "void curl_easy_reset(CURL *"handle ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_send.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_easy_send 3 "December 18, 2016" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_easy_send - sends raw data over an "easy" connection .SH SYNOPSIS .B #include <curl/easy.h> .sp .BI "CURLcode curl_easy_send( CURL *" curl ", const void *" buffer "," |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_setopt.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_easy_setopt 3 "January 05, 2020" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_easy_setopt \- set options for a curl easy handle .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter); |
︙ | ︙ | |||
619 620 621 622 623 624 625 626 627 628 629 630 631 632 | .SH TELNET OPTIONS .IP CURLOPT_TELNETOPTIONS TELNET options. See \fICURLOPT_TELNETOPTIONS(3)\fP .SH RETURN VALUE \fICURLE_OK\fP (zero) means that the option was set properly, non-zero means an error occurred as \fI<curl/curl.h>\fP defines. See the \fIlibcurl-errors(3)\fP man page for the full list with descriptions. If you try to set an option that libcurl doesn't know about, perhaps because the library is too old to support it or the option was removed in a recent version, this function will return \fICURLE_UNKNOWN_OPTION\fP. If support for the option was disabled at compile-time, it will return \fICURLE_NOT_BUILT_IN\fP. .SH EXAMPLE | > > > > | 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 | .SH TELNET OPTIONS .IP CURLOPT_TELNETOPTIONS TELNET options. See \fICURLOPT_TELNETOPTIONS(3)\fP .SH RETURN VALUE \fICURLE_OK\fP (zero) means that the option was set properly, non-zero means an error occurred as \fI<curl/curl.h>\fP defines. See the \fIlibcurl-errors(3)\fP man page for the full list with descriptions. Strings passed on to libcurl must be shorter than 8000000 bytes, otherwise \fIcurl_easy_setopt(3)\fP returns \fBCURLE_BAD_FUNCTION_ARGUMENT\fP (added in 7.65.0). If you try to set an option that libcurl doesn't know about, perhaps because the library is too old to support it or the option was removed in a recent version, this function will return \fICURLE_UNKNOWN_OPTION\fP. If support for the option was disabled at compile-time, it will return \fICURLE_NOT_BUILT_IN\fP. .SH EXAMPLE |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_strerror.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_easy_strerror 3 "February 03, 2016" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_easy_strerror - return string describing error code .SH SYNOPSIS #include <curl/curl.h> const char *curl_easy_strerror(CURLcode errornum); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_easy_unescape.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_easy_unescape 3 "October 04, 2016" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_easy_unescape - URL decodes the given string .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "char *curl_easy_unescape( CURL *" curl ", const char *" url |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_escape.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_escape 3 "February 03, 2016" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_escape - URL encodes the given string .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "char *curl_escape( const char *" url ", int "length " );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_formadd.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_formadd 3 "December 11, 2018" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_formadd - add a section to a multipart/formdata HTTP POST .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLFORMcode curl_formadd(struct curl_httppost ** " firstitem, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_formfree.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_formfree 3 "August 09, 2018" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_formfree - free a previously build multipart/formdata HTTP POST chain .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "void curl_formfree(struct curl_httppost *" form); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_formget.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_formget 3 "September 02, 2017" "libcurl 7.68.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.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_free 3 "August 09, 2018" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_free - reclaim memory that has been obtained through a libcurl call .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "void curl_free( char *" ptr " );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_getdate.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_getdate 3 "January 18, 2018" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_getdate - Convert a date string to number of seconds .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "time_t curl_getdate(char *" datestring ", time_t *"now " );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_getenv.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_getenv 3 "February 03, 2016" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_getenv - return value for environment name .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "char *curl_getenv(const char *" name ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_global_cleanup.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_global_cleanup 3 "September 20, 2016" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_global_cleanup - global libcurl cleanup .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "void curl_global_cleanup(void);" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_global_init.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_global_init 3 "April 17, 2018" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_global_init - Global libcurl initialisation .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_global_init(long " flags ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_global_init_mem.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_global_init_mem 3 "August 11, 2019" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_global_init_mem - Global libcurl initialisation with memory callbacks .SH SYNOPSIS .B #include <curl/curl.h> .nf .B "CURLcode curl_global_init_mem(long " flags, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_global_sslset.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_global_sslset 3 "November 07, 2019" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_global_sslset - Select SSL backend to use with libcurl .SH SYNOPSIS .B #include <curl/curl.h> .nf |
︙ | ︙ | |||
40 41 42 43 44 45 46 | CURLSSLBACKEND_GSKIT = 5, CURLSSLBACKEND_POLARSSL = 6, CURLSSLBACKEND_WOLFSSL = 7, CURLSSLBACKEND_SCHANNEL = 8, CURLSSLBACKEND_DARWINSSL = 9, CURLSSLBACKEND_AXTLS = 10, /* deprecated */ CURLSSLBACKEND_MBEDTLS = 11, | | > | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | CURLSSLBACKEND_GSKIT = 5, CURLSSLBACKEND_POLARSSL = 6, CURLSSLBACKEND_WOLFSSL = 7, CURLSSLBACKEND_SCHANNEL = 8, CURLSSLBACKEND_DARWINSSL = 9, CURLSSLBACKEND_AXTLS = 10, /* deprecated */ CURLSSLBACKEND_MBEDTLS = 11, CURLSSLBACKEND_MESALINK = 12, CURLSSLBACKEND_BEARSSL = 13 } curl_sslbackend; .B "CURLsslset curl_global_sslset(curl_sslbackend " id, .B " const char *" name, .B " curl_ssl_backend ***" avail ");" .fi .SH DESCRIPTION |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_addpart.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_addpart 3 "September 22, 2017" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_mime_addpart - append a new empty part to a mime structure .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "curl_mimepart * curl_mime_addpart(curl_mime * " mime ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_data.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_data 3 "September 22, 2017" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_mime_data - set a mime part's body data from memory .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_data(curl_mimepart * " part ", const char * " data |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_data_cb.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_data_cb 3 "April 17, 2018" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_mime_data_cb - set a callback-based data source for a mime part's body .SH SYNOPSIS .B #include <curl/curl.h> .sp size_t readfunc(char *buffer, size_t size, size_t nitems, void *arg); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_encoder.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_encoder 3 "September 05, 2017" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_mime_encoder - set a mime part's encoder and content transfer encoding .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_encoder(curl_mimepart * " part , |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_filedata.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_filedata 3 "April 17, 2018" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_mime_filedata - set a mime part's body data from a file contents .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_filedata(curl_mimepart * " part , |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_filename.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_filename 3 "September 22, 2017" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_mime_filename - set a mime part's remote file name .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_filename(curl_mimepart * " part , |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_free.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_free 3 "August 09, 2018" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_mime_free - free a previously built mime structure .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "void curl_mime_free(curl_mime *" mime); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_headers.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_headers 3 "September 22, 2017" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_mime_headers - set a mime part's custom headers .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_headers(curl_mimepart * " part , |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_init.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_init 3 "September 22, 2017" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_mime_init - create a mime handle .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "curl_mime * curl_mime_init(CURL * " easy_handle ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_name.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_name 3 "September 22, 2017" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_mime_name - set a mime part's name .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_name(curl_mimepart * " part ", const char * " name ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_subparts.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_subparts 3 "September 05, 2017" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_mime_subparts - set subparts of a multipart mime part .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_subparts(curl_mimepart * " part , |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mime_type.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_mime_type 3 "April 17, 2018" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_mime_type - set a mime part's content type .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLcode curl_mime_type(curl_mimepart * " part , |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_mprintf.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_printf 3 "April 01, 2016" "libcurl 7.68.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 .B #include <curl/mprintf.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_add_handle.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_add_handle 3 "June 30, 2018" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_multi_add_handle - add an easy handle to a multi session .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_add_handle(CURLM *multi_handle, CURL *easy_handle); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_assign.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_assign 3 "February 03, 2016" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_multi_assign \- set data to associate with an internal socket .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_assign(CURLM *multi_handle, curl_socket_t sockfd, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_cleanup.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_cleanup 3 "August 09, 2018" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_multi_cleanup - close down a multi session .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLMcode curl_multi_cleanup( CURLM *multi_handle );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_fdset.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_fdset 3 "November 09, 2017" "libcurl 7.68.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.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_info_read 3 "February 03, 2016" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_multi_info_read - read multi stack informationals .SH SYNOPSIS #include <curl/curl.h> CURLMsg *curl_multi_info_read( CURLM *multi_handle, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_init.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_init 3 "September 23, 2018" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_multi_init - create a multi handle .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLM *curl_multi_init( );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_perform.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_perform 3 "October 31, 2019" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_multi_perform - reads/writes available data from each easy handle .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_poll.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_poll 3 "November 17, 2019" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_multi_poll - polls on all easy handles in a multi handle .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ | |||
44 45 46 47 48 49 50 51 52 53 54 | The calling application may pass additional curl_waitfd structures which are similar to \fIpoll(2)\fP's pollfd structure to be waited on in the same call. On completion, if \fInumfds\fP is non-NULL, it will be populated with the total number of file descriptors on which interesting events occurred. This number can include both libcurl internal descriptors as well as descriptors provided in \fIextra_fds\fP. If no extra file descriptors are provided and libcurl has no file descriptor to offer to wait for, this function will instead wait during \fItimeout_ms\fP milliseconds (or shorter if an internal timer indicates so). This is the | > > > > > | > | 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 | The calling application may pass additional curl_waitfd structures which are similar to \fIpoll(2)\fP's pollfd structure to be waited on in the same call. On completion, if \fInumfds\fP is non-NULL, it will be populated with the total number of file descriptors on which interesting events occurred. This number can include both libcurl internal descriptors as well as descriptors provided in \fIextra_fds\fP. The \fIcurl_multi_wakeup(3)\fP function can be used from another thread to wake up this function and return faster. This is one of the details that makes this function different than \fIcurl_multi_wait(3)\fP which cannot be woken up this way. If no extra file descriptors are provided and libcurl has no file descriptor to offer to wait for, this function will instead wait during \fItimeout_ms\fP milliseconds (or shorter if an internal timer indicates so). This is the other detail that makes this function different than \fIcurl_multi_wait(3)\fP. This function is encouraged to be used instead of select(3) when using the multi interface to allow applications to easier circumvent the common problem with 1024 maximum file descriptors. .SH curl_waitfd .nf struct curl_waitfd { |
︙ | ︙ | |||
104 105 106 107 108 109 110 | .fi .SH RETURN VALUE CURLMcode type, general libcurl multi interface error code. See \fIlibcurl-errors(3)\fP .SH AVAILABILITY This function was added in libcurl 7.66.0. .SH "SEE ALSO" | | > | 110 111 112 113 114 115 116 117 118 | .fi .SH RETURN VALUE CURLMcode type, general libcurl multi interface error code. See \fIlibcurl-errors(3)\fP .SH AVAILABILITY This function was added in libcurl 7.66.0. .SH "SEE ALSO" .BR curl_multi_fdset "(3), " curl_multi_perform "(3), " .BR curl_multi_wait "(3), " curl_multi_wakeup "(3)" |
Changes to jni/curl/docs/libcurl/curl_multi_remove_handle.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_remove_handle 3 "February 19, 2019" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_multi_remove_handle - remove an easy handle from a multi session .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_remove_handle(CURLM *multi_handle, CURL *easy_handle); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_setopt.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_setopt 3 "September 24, 2019" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_multi_setopt \- set options for a curl multi handle .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM * multi_handle, CURLMoption option, param); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_socket.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_socket 3 "June 30, 2018" "libcurl 7.68.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.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_socket_action 3 "June 10, 2019" "libcurl 7.68.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.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_strerror 3 "February 03, 2016" "libcurl 7.68.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.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_timeout 3 "September 23, 2018" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_multi_timeout \- how long to wait for action before proceeding .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_timeout(CURLM *multi_handle, long *timeout); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_multi_wait.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_wait 3 "November 28, 2019" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_multi_wait - polls on all easy handles in a multi handle .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ | |||
46 47 48 49 50 51 52 | On completion, if \fInumfds\fP is non-NULL, it will be populated with the total number of file descriptors on which interesting events occurred. This number can include both libcurl internal descriptors as well as descriptors provided in \fIextra_fds\fP. If no extra file descriptors are provided and libcurl has no file descriptor | | > | 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | On completion, if \fInumfds\fP is non-NULL, it will be populated with the total number of file descriptors on which interesting events occurred. This number can include both libcurl internal descriptors as well as descriptors provided in \fIextra_fds\fP. If no extra file descriptors are provided and libcurl has no file descriptor to offer to wait for, this function will return immediately. (Try \fIcurl_multi_poll(3)\fP instead if you rather avoid this behavior.) This function is encouraged to be used instead of select(3) when using the multi interface to allow applications to easier circumvent the common problem with 1024 maximum file descriptors. .SH curl_waitfd .nf struct curl_waitfd { |
︙ | ︙ | |||
116 117 118 119 120 121 122 | .fi .SH RETURN VALUE CURLMcode type, general libcurl multi interface error code. See \fIlibcurl-errors(3)\fP .SH AVAILABILITY This function was added in libcurl 7.28.0. .SH "SEE ALSO" | | | 117 118 119 120 121 122 123 124 | .fi .SH RETURN VALUE CURLMcode type, general libcurl multi interface error code. See \fIlibcurl-errors(3)\fP .SH AVAILABILITY This function was added in libcurl 7.28.0. .SH "SEE ALSO" .BR curl_multi_fdset "(3), " curl_multi_perform "(3)", curl_multi_poll "(3) ", |
Added jni/curl/docs/libcurl/curl_multi_wakeup.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 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_multi_wakeup 3 "November 25, 2019" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_multi_wakeup - wakes up a sleeping curl_multi_poll call .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_wakeup(CURLM *multi_handle); .ad .SH DESCRIPTION This function can be called from any thread and it wakes up a sleeping \fIcurl_multi_poll(3)\fP call that is currently (or will be) waiting for activity or a timeout. If the function is called when there is no \fIcurl_multi_poll(3)\fP call, it will cause the next call to return immediately. Calling this function only guarantees to wake up the current (or the next if there is no current) \fIcurl_multi_poll(3)\fP call, which means it is possible that multiple calls to this function will wake up the same waiting operation. This function has no effect on \fIcurl_multi_wait(3)\fP calls. .SH RETURN VALUE CURLMcode type, general libcurl multi interface error code. .SH AVAILABILITY Added in 7.68.0 .SH EXAMPLE .nf CURL *easy_handle; CURLM *multi_handle; /* add the individual easy handle */ curl_multi_add_handle(multi_handle, easy_handle); /* this is thread 1 */ do { CURLMcode mc; int numfds; mc = curl_multi_perform(multi_handle, &still_running); if(mc == CURLM_OK) { /* wait for activity, timeout or wakeup */ mc = curl_multi_poll(multi_handle, NULL, 0, 10000, &numfds); } if(time_to_die()) exit(1); } while(still_running); curl_multi_remove_handle(multi_handle, easy_handle); /* this is thread 2 */ if(something makes us decide to stop thread 1) { set_something_to_signal_thread_1_to_exit(); curl_multi_wakeup(multi_handle); } .fi .SH "SEE ALSO" .BR curl_multi_poll "(3), " curl_multi_wait "(3)" |
Changes to jni/curl/docs/libcurl/curl_share_cleanup.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_share_cleanup 3 "August 09, 2018" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_share_cleanup - Clean up a shared object .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLSHcode curl_share_cleanup(CURLSH *" share_handle ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_share_init.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_share_init 3 "September 23, 2018" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_share_init - Create a shared object .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "CURLSH *curl_share_init( );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_share_setopt.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_share_setopt 3 "June 04, 2019" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_share_setopt - Set options for a shared object .SH SYNOPSIS .B #include <curl/curl.h> .sp CURLSHcode curl_share_setopt(CURLSH *share, CURLSHoption option, parameter); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_share_strerror.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_share_strerror 3 "February 03, 2016" "libcurl 7.68.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.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_slist_append 3 "January 02, 2019" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_slist_append - add a string to an slist .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "struct curl_slist *curl_slist_append(struct curl_slist *" list, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_slist_free_all.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_slist_free_all 3 "September 23, 2018" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_slist_free_all - free an entire curl_slist list .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "void curl_slist_free_all(struct curl_slist *" list); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_strequal.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_strequal 3 "June 29, 2017" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_strequal, curl_strnequal - case insensitive string comparisons .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "int curl_strequal(char *" str1 ", char *" str2 ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_unescape.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_unescape 3 "February 03, 2016" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_unescape - URL decodes the given string .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "char *curl_unescape( const char *" url ", int "length " );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_url.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_url 3 "March 22, 2019" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_url - returns a new CURLU handle .SH SYNOPSIS .B #include <curl/curl.h> CURLU *curl_url(); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_url_cleanup.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_url_cleanup 3 "September 08, 2018" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_url_cleanup - free a CURLU handle .SH SYNOPSIS .B #include <curl/curl.h> void curl_url_cleanup(CURLU *handle); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_url_dup.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_url_dup 3 "September 08, 2018" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_url_dup - duplicate a CURLU handle .SH SYNOPSIS .B #include <curl/curl.h> CURLU *curl_url_dup(CURLU *inhandle); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_url_get.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_url_get 3 "September 25, 2019" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_url_get - extract a part from a URL .SH SYNOPSIS .B #include <curl/curl.h> .nf |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_url_set.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_url_set 3 "January 05, 2020" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_url_set - set a URL part .SH SYNOPSIS .B #include <curl/curl.h> CURLUcode curl_url_set(CURLU *url, |
︙ | ︙ | |||
118 119 120 121 122 123 124 125 126 127 128 129 130 131 | host part (normally the only mandatory part of the authority), but libcurl cannot know whether this is permitted for custom schemes. Specifying the flag permits empty authority sections, similar to how file scheme is handled. .SH RETURN VALUE Returns a CURLUcode error value, which is CURLUE_OK (0) if everything went fine. If this function returns an error, no URL part is returned. .SH EXAMPLE .nf CURLUcode rc; CURLU *url = curl_url(); rc = curl_url_set(url, CURLUPART_URL, "https://example.com", 0); | > > > > | 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | host part (normally the only mandatory part of the authority), but libcurl cannot know whether this is permitted for custom schemes. Specifying the flag permits empty authority sections, similar to how file scheme is handled. .SH RETURN VALUE Returns a CURLUcode error value, which is CURLUE_OK (0) if everything went fine. A URL string passed on to \fIcurl_url_set(3)\fP for the \fBCURLUPART_URL\fP part, must be shorter than 8000000 bytes otherwise it returns \fBCURLUE_MALFORMED_INPUT\fP (added in 7.65.0). If this function returns an error, no URL part is returned. .SH EXAMPLE .nf CURLUcode rc; CURLU *url = curl_url(); rc = curl_url_set(url, CURLUPART_URL, "https://example.com", 0); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_version.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH curl_version 3 "February 03, 2016" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_version - returns the libcurl version string .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "char *curl_version( );" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/curl_version_info.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH curl_version_info 3 "August 13, 2019" "libcurl 7.68.0" "libcurl Manual" .SH NAME curl_version_info - returns run-time libcurl version info .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "curl_version_info_data *curl_version_info( CURLversion "age ");" |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-easy.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH libcurl 3 "February 03, 2016" "libcurl 7.68.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.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH libcurl-env 3 "April 17, 2018" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH libcurl-errors 3 "November 17, 2019" "libcurl 7.68.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" |
︙ | ︙ | |||
56 57 58 59 60 61 62 | to function you have to get a rebuilt libcurl. .IP "CURLE_COULDNT_RESOLVE_PROXY (5)" Couldn't resolve proxy. The given proxy host could not be resolved. .IP "CURLE_COULDNT_RESOLVE_HOST (6)" Couldn't resolve host. The given remote host was not resolved. .IP "CURLE_COULDNT_CONNECT (7)" Failed to connect() to host or proxy. | | | | | 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | to function you have to get a rebuilt libcurl. .IP "CURLE_COULDNT_RESOLVE_PROXY (5)" Couldn't resolve proxy. The given proxy host could not be resolved. .IP "CURLE_COULDNT_RESOLVE_HOST (6)" Couldn't resolve host. The given remote host was not resolved. .IP "CURLE_COULDNT_CONNECT (7)" Failed to connect() to host or proxy. .IP "CURLE_WEIRD_SERVER_REPLY (8)" The server sent data libcurl couldn't parse. This error code was known as as \fICURLE_FTP_WEIRD_SERVER_REPLY\fP before 7.51.0. .IP "CURLE_REMOTE_ACCESS_DENIED (9)" We were denied access to the resource given in the URL. For FTP, this occurs while trying to change to the remote directory. .IP "CURLE_FTP_ACCEPT_FAILED (10)" While waiting for the server to connect back when an active FTP session is used, an error code was sent over the control connection or similar. .IP "CURLE_FTP_WEIRD_PASS_REPLY (11)" |
︙ | ︙ | |||
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 | Status returned failure when asked with \fICURLOPT_SSL_VERIFYSTATUS(3)\fP. .IP "CURLE_HTTP2_STREAM (92)" Stream error in the HTTP/2 framing layer. .IP "CURLE_RECURSIVE_API_CALL (93)" An API function was called from inside a callback. .IP "CURLE_AUTH_ERROR (94)" An authentication function returned an error. .IP "CURLE_OBSOLETE*" These error codes will never be returned. They were used in an old libcurl version and are currently unused. .SH "CURLMcode" This is the generic return code used by functions in the libcurl multi interface. Also consider \fIcurl_multi_strerror(3)\fP. .IP "CURLM_CALL_MULTI_PERFORM (-1)" This is not really an error. It means you should call \fIcurl_multi_perform(3)\fP again without doing select() or similar in between. Before version 7.20.0 this could be returned by \fIcurl_multi_perform(3)\fP, but in later versions this return code is never used. .IP "CURLM_OK (0)" Things are fine. .IP "CURLM_BAD_HANDLE (1)" The passed-in handle is not a valid CURLM handle. .IP "CURLM_BAD_EASY_HANDLE (2)" An easy handle was not good/valid. It could mean that it isn't an easy handle at all, or possibly that the handle already is in used by this or another | > > > > > > | 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 | Status returned failure when asked with \fICURLOPT_SSL_VERIFYSTATUS(3)\fP. .IP "CURLE_HTTP2_STREAM (92)" Stream error in the HTTP/2 framing layer. .IP "CURLE_RECURSIVE_API_CALL (93)" An API function was called from inside a callback. .IP "CURLE_AUTH_ERROR (94)" 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_OBSOLETE*" These error codes will never be returned. They were used in an old libcurl version and are currently unused. .SH "CURLMcode" This is the generic return code used by functions in the libcurl multi interface. Also consider \fIcurl_multi_strerror(3)\fP. .IP "CURLM_CALL_MULTI_PERFORM (-1)" This is not really an error. It means you should call \fIcurl_multi_perform(3)\fP again without doing select() or similar in between. Before version 7.20.0 this could be returned by \fIcurl_multi_perform(3)\fP, but in later versions this return code is never used. .IP "CURLM_CALL_MULTI_SOCKET (-1)" An alias for CURLM_CALL_MULTI_PERFORM. Never returned by modern libcurl versions. .IP "CURLM_OK (0)" Things are fine. .IP "CURLM_BAD_HANDLE (1)" The passed-in handle is not a valid CURLM handle. .IP "CURLM_BAD_EASY_HANDLE (2)" An easy handle was not good/valid. It could mean that it isn't an easy handle at all, or possibly that the handle already is in used by this or another |
︙ | ︙ | |||
288 289 290 291 292 293 294 295 296 297 298 299 300 301 | curl_multi_setopt() with unsupported option (Added in 7.15.4) .IP "CURLM_ADDED_ALREADY (7)" An easy handle already added to a multi handle was attempted to get added a second time. (Added in 7.32.1) .IP "CURLM_RECURSIVE_API_CALL (8)" An API function was called from inside a callback. .SH "CURLSHcode" The "share" interface will return a CURLSHcode to indicate when an error has occurred. Also consider \fIcurl_share_strerror(3)\fP. .IP "CURLSHE_OK (0)" All fine. Proceed as usual. .IP "CURLSHE_BAD_OPTION (1)" An invalid option was passed to the function. | > > | 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 | curl_multi_setopt() with unsupported option (Added in 7.15.4) .IP "CURLM_ADDED_ALREADY (7)" An easy handle already added to a multi handle was attempted to get added a second time. (Added in 7.32.1) .IP "CURLM_RECURSIVE_API_CALL (8)" An API function was called from inside a callback. .IP "CURLM_WAKEUP_FAILURE (9)" Wakeup is unavailable or failed. .SH "CURLSHcode" The "share" interface will return a CURLSHcode to indicate when an error has occurred. Also consider \fIcurl_share_strerror(3)\fP. .IP "CURLSHE_OK (0)" All fine. Proceed as usual. .IP "CURLSHE_BAD_OPTION (1)" An invalid option was passed to the function. |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-multi.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH libcurl-multi 3 "November 28, 2019" "libcurl 7.68.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 |
︙ | ︙ | |||
82 83 84 85 86 87 88 | you have setup in the individual easy handles. It'll transfer data on all current transfers in the multi stack that are ready to transfer anything. It may be all, it may be none. When there's nothing more to do for now, it returns back to the calling application. Your application extracts info from libcurl about when it would like to get invoked to transfer data or do other work. The most convenient way is to use | | | 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | you have setup in the individual easy handles. It'll transfer data on all current transfers in the multi stack that are ready to transfer anything. It may be all, it may be none. When there's nothing more to do for now, it returns back to the calling application. Your application extracts info from libcurl about when it would like to get invoked to transfer data or do other work. The most convenient way is to use \fIcurl_multi_poll(3)\fP that will help you wait until the application should call libcurl again. The older API to accomplish the same thing is \fIcurl_multi_fdset(3)\fP that extracts fd_sets from libcurl to use in select() or poll() calls in order to get to know when the transfers in the multi stack might need attention. Both these APIs allow for your program to wait for input on your own private file descriptors at the same time \fIcurl_multi_timeout(3)\fP also helps you with providing a suitable timeout period for your select() calls. |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-security.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH libcurl-security 3 "July 16, 2019" "libcurl 7.68.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 |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-share.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH libcurl-share 3 "November 27, 2017" "libcurl 7.68.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.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH libcurl-symbols 3 "Jan 8, 2020" "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: |
︙ | ︙ | |||
86 87 88 89 90 91 92 93 94 95 96 97 98 99 | Introduced in 7.7 .IP CURLE_ABORTED_BY_CALLBACK Introduced in 7.1 .IP CURLE_AGAIN Introduced in 7.18.2 .IP CURLE_ALREADY_COMPLETE Introduced in 7.7.2 .IP CURLE_AUTH_ERROR Introduced in 7.66.0 .IP CURLE_BAD_CALLING_ORDER Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_BAD_CONTENT_ENCODING Introduced in 7.10 | > | 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | Introduced in 7.7 .IP CURLE_ABORTED_BY_CALLBACK Introduced in 7.1 .IP CURLE_AGAIN Introduced in 7.18.2 .IP CURLE_ALREADY_COMPLETE Introduced in 7.7.2 Deprecated since 7.8 .IP CURLE_AUTH_ERROR Introduced in 7.66.0 .IP CURLE_BAD_CALLING_ORDER Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_BAD_CONTENT_ENCODING Introduced in 7.10 |
︙ | ︙ | |||
124 125 126 127 128 129 130 131 132 133 134 135 136 137 | Introduced in 7.1 .IP CURLE_FTP_ACCEPT_FAILED Introduced in 7.24.0 .IP CURLE_FTP_ACCEPT_TIMEOUT Introduced in 7.24.0 .IP CURLE_FTP_ACCESS_DENIED Introduced in 7.1 .IP CURLE_FTP_BAD_DOWNLOAD_RESUME Introduced in 7.1 Deprecated since 7.1 .IP CURLE_FTP_BAD_FILE_LIST Introduced in 7.21.0 .IP CURLE_FTP_CANT_GET_HOST Introduced in 7.1 | > | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | Introduced in 7.1 .IP CURLE_FTP_ACCEPT_FAILED Introduced in 7.24.0 .IP CURLE_FTP_ACCEPT_TIMEOUT Introduced in 7.24.0 .IP CURLE_FTP_ACCESS_DENIED Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_FTP_BAD_DOWNLOAD_RESUME Introduced in 7.1 Deprecated since 7.1 .IP CURLE_FTP_BAD_FILE_LIST Introduced in 7.21.0 .IP CURLE_FTP_CANT_GET_HOST Introduced in 7.1 |
︙ | ︙ | |||
149 150 151 152 153 154 155 156 157 158 159 160 161 162 | .IP CURLE_FTP_COULDNT_SET_BINARY Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_FTP_COULDNT_SET_TYPE Introduced in 7.17.0 .IP CURLE_FTP_COULDNT_STOR_FILE Introduced in 7.1 .IP CURLE_FTP_COULDNT_USE_REST Introduced in 7.1 .IP CURLE_FTP_PARTIAL_FILE Introduced in 7.1 Deprecated since 7.1 .IP CURLE_FTP_PORT_FAILED Introduced in 7.1 | > | 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | .IP CURLE_FTP_COULDNT_SET_BINARY Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_FTP_COULDNT_SET_TYPE Introduced in 7.17.0 .IP CURLE_FTP_COULDNT_STOR_FILE Introduced in 7.1 Deprecated since 7.16.3 .IP CURLE_FTP_COULDNT_USE_REST Introduced in 7.1 .IP CURLE_FTP_PARTIAL_FILE Introduced in 7.1 Deprecated since 7.1 .IP CURLE_FTP_PORT_FAILED Introduced in 7.1 |
︙ | ︙ | |||
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 | Introduced in 7.1 .IP CURLE_FTP_WEIRD_PASS_REPLY Introduced in 7.1 .IP CURLE_FTP_WEIRD_PASV_REPLY Introduced in 7.1 .IP CURLE_FTP_WEIRD_SERVER_REPLY Introduced in 7.1 .IP CURLE_FTP_WEIRD_USER_REPLY Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_FTP_WRITE_ERROR Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_FUNCTION_NOT_FOUND Introduced in 7.1 .IP CURLE_GOT_NOTHING Introduced in 7.9.1 .IP CURLE_HTTP2 Introduced in 7.38.0 .IP CURLE_HTTP2_STREAM Introduced in 7.49.0 .IP CURLE_HTTP_NOT_FOUND Introduced in 7.1 .IP CURLE_HTTP_PORT_FAILED Introduced in 7.3 Deprecated since 7.12.0 .IP CURLE_HTTP_POST_ERROR Introduced in 7.1 .IP CURLE_HTTP_RANGE_ERROR Introduced in 7.1 | > > > > | 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 | Introduced in 7.1 .IP CURLE_FTP_WEIRD_PASS_REPLY Introduced in 7.1 .IP CURLE_FTP_WEIRD_PASV_REPLY Introduced in 7.1 .IP CURLE_FTP_WEIRD_SERVER_REPLY Introduced in 7.1 Deprecated since 7.51.0 .IP CURLE_FTP_WEIRD_USER_REPLY Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_FTP_WRITE_ERROR Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_FUNCTION_NOT_FOUND Introduced in 7.1 .IP CURLE_GOT_NOTHING Introduced in 7.9.1 .IP CURLE_HTTP2 Introduced in 7.38.0 .IP CURLE_HTTP2_STREAM Introduced in 7.49.0 .IP CURLE_HTTP3 Introduced in 7.68.0 .IP CURLE_HTTP_NOT_FOUND Introduced in 7.1 Deprecated since 7.10.3 .IP CURLE_HTTP_PORT_FAILED Introduced in 7.3 Deprecated since 7.12.0 .IP CURLE_HTTP_POST_ERROR Introduced in 7.1 .IP CURLE_HTTP_RANGE_ERROR Introduced in 7.1 |
︙ | ︙ | |||
319 320 321 322 323 324 325 326 327 328 329 330 331 332 | Introduced in 7.15.0 .IP CURLE_TOO_MANY_REDIRECTS Introduced in 7.5 .IP CURLE_UNKNOWN_OPTION Introduced in 7.21.5 .IP CURLE_UNKNOWN_TELNET_OPTION Introduced in 7.7 .IP CURLE_UNSUPPORTED_PROTOCOL Introduced in 7.1 .IP CURLE_UPLOAD_FAILED Introduced in 7.16.3 .IP CURLE_URL_MALFORMAT Introduced in 7.1 .IP CURLE_URL_MALFORMAT_USER | > | 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 | Introduced in 7.15.0 .IP CURLE_TOO_MANY_REDIRECTS Introduced in 7.5 .IP CURLE_UNKNOWN_OPTION Introduced in 7.21.5 .IP CURLE_UNKNOWN_TELNET_OPTION Introduced in 7.7 Deprecated since 7.21.5 .IP CURLE_UNSUPPORTED_PROTOCOL Introduced in 7.1 .IP CURLE_UPLOAD_FAILED Introduced in 7.16.3 .IP CURLE_URL_MALFORMAT Introduced in 7.1 .IP CURLE_URL_MALFORMAT_USER |
︙ | ︙ | |||
743 744 745 746 747 748 749 750 751 752 753 754 755 756 | Introduced in 7.9.6 .IP CURLM_OK Introduced in 7.9.6 .IP CURLM_OUT_OF_MEMORY Introduced in 7.9.6 .IP CURLM_RECURSIVE_API_CALL Introduced in 7.59.0 .IP CURLM_UNKNOWN_OPTION Introduced in 7.15.4 .IP CURLOPTTYPE_FUNCTIONPOINT Introduced in 7.1 .IP CURLOPTTYPE_LONG Introduced in 7.1 .IP CURLOPTTYPE_OBJECTPOINT | > > | 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 | Introduced in 7.9.6 .IP CURLM_OK Introduced in 7.9.6 .IP CURLM_OUT_OF_MEMORY Introduced in 7.9.6 .IP CURLM_RECURSIVE_API_CALL Introduced in 7.59.0 .IP CURLM_WAKEUP_FAILURE Introduced in 7.68.0 .IP CURLM_UNKNOWN_OPTION Introduced in 7.15.4 .IP CURLOPTTYPE_FUNCTIONPOINT Introduced in 7.1 .IP CURLOPTTYPE_LONG Introduced in 7.1 .IP CURLOPTTYPE_OBJECTPOINT |
︙ | ︙ | |||
1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 | .IP CURLSSH_AUTH_PASSWORD Introduced in 7.16.1 .IP CURLSSH_AUTH_PUBLICKEY Introduced in 7.16.1 .IP CURLSSLBACKEND_AXTLS Introduced in 7.38.0 Deprecated since 7.61.0 .IP CURLSSLBACKEND_BORINGSSL Introduced in 7.49.0 .IP CURLSSLBACKEND_CYASSL Introduced in 7.34.0 .IP CURLSSLBACKEND_DARWINSSL Introduced in 7.34.0 Deprecated since 7.64.1 | > > | 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 | .IP CURLSSH_AUTH_PASSWORD Introduced in 7.16.1 .IP CURLSSH_AUTH_PUBLICKEY Introduced in 7.16.1 .IP CURLSSLBACKEND_AXTLS Introduced in 7.38.0 Deprecated since 7.61.0 .IP CURLSSLBACKEND_BEARSSL Introduced in 7.68.0 .IP CURLSSLBACKEND_BORINGSSL Introduced in 7.49.0 .IP CURLSSLBACKEND_CYASSL Introduced in 7.34.0 .IP CURLSSLBACKEND_DARWINSSL Introduced in 7.34.0 Deprecated since 7.64.1 |
︙ | ︙ | |||
1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 | Introduced in 7.34.0 .IP CURLSSLBACKEND_SECURETRANSPORT Introduced in 7.64.1 .IP CURLSSLBACKEND_WOLFSSL Introduced in 7.49.0 .IP CURLSSLOPT_ALLOW_BEAST Introduced in 7.25.0 .IP CURLSSLOPT_NO_REVOKE Introduced in 7.44.0 .IP CURLSSLSET_NO_BACKENDS Introduced in 7.56.0 .IP CURLSSLSET_OK Introduced in 7.56.0 .IP CURLSSLSET_TOO_LATE | > > | 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 | Introduced in 7.34.0 .IP CURLSSLBACKEND_SECURETRANSPORT Introduced in 7.64.1 .IP CURLSSLBACKEND_WOLFSSL Introduced in 7.49.0 .IP CURLSSLOPT_ALLOW_BEAST Introduced in 7.25.0 .IP CURLSSLOPT_NO_PARTIALCHAIN Introduced in 7.68.0 .IP CURLSSLOPT_NO_REVOKE Introduced in 7.44.0 .IP CURLSSLSET_NO_BACKENDS Introduced in 7.56.0 .IP CURLSSLSET_OK Introduced in 7.56.0 .IP CURLSSLSET_TOO_LATE |
︙ | ︙ | |||
1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 | Introduced in 7.14.0 .IP CURL_POLL_NONE Introduced in 7.14.0 .IP CURL_POLL_OUT Introduced in 7.14.0 .IP CURL_POLL_REMOVE Introduced in 7.14.0 .IP CURL_PROGRESS_BAR Introduced in 7.1.1 .IP CURL_PROGRESS_STATS Introduced in 7.1.1 .IP CURL_PUSH_DENY Introduced in 7.44.0 .IP CURL_PUSH_OK | > > | 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 | Introduced in 7.14.0 .IP CURL_POLL_NONE Introduced in 7.14.0 .IP CURL_POLL_OUT Introduced in 7.14.0 .IP CURL_POLL_REMOVE Introduced in 7.14.0 .IP CURL_PROGRESSFUNC_CONTINUE Introduced in 7.68.0 .IP CURL_PROGRESS_BAR Introduced in 7.1.1 .IP CURL_PROGRESS_STATS Introduced in 7.1.1 .IP CURL_PUSH_DENY Introduced in 7.44.0 .IP CURL_PUSH_OK |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl-thread.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH libcurl-thread 3 "June 30, 2019" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH libcurl-tutorial 3 "October 31, 2019" "libcurl 7.68.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.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH libcurl 3 "September 10, 2018" "libcurl 7.68.0" "libcurl url interface" .SH NAME libcurl-url \- URL interface overview .SH DESCRIPTION The URL interface provides a set of functions for parsing and generating URLs. .SH INCLUDE You still only include <curl/curl.h> in your code. Note that the URL API was |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/libcurl.3.
︙ | ︙ | |||
15 16 17 18 19 20 21 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .TH libcurl 3 "July 15, 2017" "libcurl 7.68.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. There are also the \fIlibcurl-easy(3)\fP man page, the \fIlibcurl-multi(3)\fP man page, the |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_ACTIVESOCKET 3 "May 06, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_ACTIVESOCKET \- get the active socket .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_ACTIVESOCKET, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_APPCONNECT_TIME 3 "August 26, 2019" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_APPCONNECT_TIME \- get the time until the SSL/SSH handshake is completed .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_APPCONNECT_TIME, double *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_APPCONNECT_TIME_T 3 "August 26, 2019" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_APPCONNECT_TIME_T \- get the time until the SSL/SSH handshake is completed .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_APPCONNECT_TIME_T, curl_off_t *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CERTINFO.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CERTINFO 3 "November 07, 2018" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CERTINFO \- get the TLS certificate chain .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CERTINFO, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONDITION_UNMET 3 "February 23, 2018" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONDITION_UNMET \- get info on unmet time conditional .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONDITION_UNMET, long *unmet); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONNECT_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONNECT_TIME 3 "August 26, 2019" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONNECT_TIME \- get the time until connect .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONNECT_TIME, double *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONNECT_TIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONNECT_TIME_T 3 "August 26, 2019" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONNECT_TIME_T \- get the time until connect .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONNECT_TIME_T, curl_off_t *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_LENGTH_DOWNLOAD 3 "June 15, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_LENGTH_DOWNLOAD \- get content-length of download .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_LENGTH_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_LENGTH_DOWNLOAD_T \- get content-length of download .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_LENGTH_UPLOAD 3 "June 15, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_LENGTH_UPLOAD \- get the specified size of the upload .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_UPLOAD, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_LENGTH_UPLOAD_T 3 "March 31, 2018" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_LENGTH_UPLOAD_T \- get the specified size of the upload .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_UPLOAD_T, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_TYPE 3 "May 06, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_TYPE \- get Content-Type .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_TYPE, char **ct); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_COOKIELIST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_COOKIELIST 3 "March 20, 2018" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_COOKIELIST \- get all known cookies .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_COOKIELIST, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_EFFECTIVE_URL 3 "May 04, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_EFFECTIVE_URL \- get the last used URL .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_EFFECTIVE_URL, char **urlp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_FILETIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_FILETIME \- get the remote time of the retrieved document .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_FILETIME, long *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_FILETIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_FILETIME_T \- get the remote time of the retrieved document .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_FILETIME_T, curl_off_t *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_FTP_ENTRY_PATH 3 "May 06, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_FTP_ENTRY_PATH \- get entry path in FTP server .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_FTP_ENTRY_PATH, char **path); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_HEADER_SIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_HEADER_SIZE 3 "May 06, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_HEADER_SIZE \- get size of retrieved headers .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HEADER_SIZE, long *sizep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_HTTPAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_HTTPAUTH_AVAIL \- get available HTTP authentication methods .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTPAUTH_AVAIL, long *authp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_HTTP_CONNECTCODE 3 "May 06, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_HTTP_CONNECTCODE \- get the CONNECT response code .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTP_CONNECTCODE, long *p); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_HTTP_VERSION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_HTTP_VERSION 3 "August 07, 2019" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_HTTP_VERSION \- get the http version used in the connection .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTP_VERSION, long *p); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_LASTSOCKET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_LASTSOCKET 3 "May 06, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_LASTSOCKET \- get the last socket used .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LASTSOCKET, long *socket); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_LOCAL_IP.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_LOCAL_IP 3 "May 05, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_LOCAL_IP \- get local IP address of last connection .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LOCAL_IP, char **ip); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_LOCAL_PORT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_LOCAL_PORT 3 "March 16, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_LOCAL_PORT \- get the latest local port number .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LOCAL_PORT, long *portp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_NAMELOOKUP_TIME 3 "August 26, 2019" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_NAMELOOKUP_TIME \- get the name lookup time .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_NAMELOOKUP_TIME, double *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_NAMELOOKUP_TIME_T 3 "August 26, 2019" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_NAMELOOKUP_TIME_T \- get the name lookup time in microseconds .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_NAMELOOKUP_TIME_T, curl_off_t *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_NUM_CONNECTS 3 "May 06, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_NUM_CONNECTS \- get number of created connections .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_NUM_CONNECTS, long *nump); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_OS_ERRNO.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_OS_ERRNO 3 "November 07, 2018" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_OS_ERRNO \- get errno number from last connect failure .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_OS_ERRNO, long *errnop); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRETRANSFER_TIME 3 "August 26, 2019" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PRETRANSFER_TIME \- get the time until the file transfer start .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRETRANSFER_TIME, double *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRETRANSFER_TIME_T 3 "August 26, 2019" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PRETRANSFER_TIME_T \- get the time until the file transfer start .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRETRANSFER_TIME_T, curl_off_t *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRIMARY_IP.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRIMARY_IP 3 "March 22, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PRIMARY_IP \- get IP address of last connection .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIMARY_IP, char **ip); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRIMARY_PORT 3 "May 06, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PRIMARY_PORT \- get the latest destination port number .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIMARY_PORT, long *portp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PRIVATE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRIVATE 3 "May 05, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PRIVATE \- get the private pointer .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIVATE, char **private); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PROTOCOL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PROTOCOL 3 "April 27, 2018" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PROTOCOL \- get the protocol used in the connection .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROTOCOL, long *p); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PROXYAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PROXYAUTH_AVAIL \- get available HTTP proxy authentication methods .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROXYAUTH_AVAIL, long *authp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PROXY_SSL_VERIFYRESULT 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PROXY_SSL_VERIFYRESULT \- get the result of the proxy certificate verification .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROXY_SSL_VERIFYRESULT, long *result); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_REDIRECT_COUNT 3 "May 05, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_REDIRECT_COUNT \- get the number of redirects .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_COUNT, long *countp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_REDIRECT_TIME 3 "May 17, 2018" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_REDIRECT_TIME \- get the time for all redirection steps .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_TIME, double *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_REDIRECT_TIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_REDIRECT_TIME_T 3 "May 17, 2018" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_REDIRECT_TIME_T \- get the time for all redirection steps .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_TIME_T, curl_off_t *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_REDIRECT_URL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_REDIRECT_URL 3 "June 24, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_REDIRECT_URL \- get the URL a redirect would go to .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_URL, char **urlp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_REQUEST_SIZE 3 "May 06, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_REQUEST_SIZE \- get size of sent request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REQUEST_SIZE, long *sizep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RESPONSE_CODE 3 "February 03, 2016" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RESPONSE_CODE \- get the last response code .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RESPONSE_CODE, long *codep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_RETRY_AFTER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RETRY_AFTER 3 "August 06, 2019" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RETRY_AFTER \- returns the Retry-After retry delay .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RETRY_AFTER, curl_off_t *retry); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RTSP_CLIENT_CSEQ 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RTSP_CLIENT_CSEQ \- get the next RTSP client CSeq .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_CLIENT_CSEQ, long *cseq); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RTSP_CSEQ_RECV 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RTSP_CSEQ_RECV \- get the recently received CSeq .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_CSEQ_RECV, long *cseq); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RTSP_SERVER_CSEQ \- get the next RTSP server CSeq .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_SERVER_CSEQ, long *cseq); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RTSP_SESSION_ID \- get RTSP session ID .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_SESSION_ID, char **id); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SCHEME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SCHEME 3 "April 08, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SCHEME \- get the URL scheme (sometimes called protocol) used in the connection .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SCHEME, char **scheme); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SIZE_DOWNLOAD 3 "June 15, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SIZE_DOWNLOAD \- get the number of downloaded bytes .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_DOWNLOAD, double *dlp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SIZE_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SIZE_DOWNLOAD_T \- get the number of downloaded bytes .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_DOWNLOAD_T, curl_off_t *dlp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SIZE_UPLOAD 3 "June 15, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SIZE_UPLOAD \- get the number of uploaded bytes .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_UPLOAD, double *uploadp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SIZE_UPLOAD_T 3 "March 31, 2018" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SIZE_UPLOAD_T \- get the number of uploaded bytes .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_UPLOAD_T, curl_off_t *uploadp); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SPEED_DOWNLOAD 3 "June 15, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SPEED_DOWNLOAD \- get download speed .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_DOWNLOAD, double *speed); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SPEED_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SPEED_DOWNLOAD_T \- get download speed .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_DOWNLOAD_T, curl_off_t *speed); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SPEED_UPLOAD 3 "June 15, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SPEED_UPLOAD \- get upload speed .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_UPLOAD, double *speed); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SPEED_UPLOAD_T 3 "March 31, 2018" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SPEED_UPLOAD_T \- get upload speed .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_UPLOAD_T, curl_off_t *speed); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SSL_ENGINES 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SSL_ENGINES \- get an slist of OpenSSL crypto-engines .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SSL_ENGINES, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SSL_VERIFYRESULT 3 "March 21, 2018" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SSL_VERIFYRESULT \- get the result of the certificate verification .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SSL_VERIFYRESULT, long *result); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_STARTTRANSFER_TIME 3 "August 26, 2019" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_STARTTRANSFER_TIME \- get the time until the first byte is received .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_STARTTRANSFER_TIME, double *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_STARTTRANSFER_TIME_T 3 "August 26, 2019" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_STARTTRANSFER_TIME_T \- get the time until the first byte is received .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_STARTTRANSFER_TIME_T, curl_off_t *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_TLS_SESSION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_TLS_SESSION 3 "May 31, 2017" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_TLS_SSL_PTR 3 "July 16, 2019" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_TOTAL_TIME 3 "August 26, 2019" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_TOTAL_TIME \- get total time of previous transfer .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TOTAL_TIME, double *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLINFO_TOTAL_TIME_T.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLINFO_TOTAL_TIME_T 3 "August 26, 2019" "libcurl 7.68.0" "curl_easy_getinfo options" .SH NAME CURLINFO_TOTAL_TIME_T \- get total time of previous transfer in microseconds .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TOTAL_TIME_T, curl_off_t *timep); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 3 "April 05, 2019" "libcurl 7.68.0" "curl_multi_setopt options" .SH NAME CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE \- chunk length threshold for pipelining .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, long size); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 3 "April 05, 2019" "libcurl 7.68.0" "curl_multi_setopt options" .SH NAME CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE \- size threshold for pipelining penalty .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, long size); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAXCONNECTS 3 "September 23, 2018" "libcurl 7.68.0" "curl_multi_setopt options" .SH NAME CURLMOPT_MAXCONNECTS \- set size of connection cache .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAXCONNECTS, long max); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAX_HOST_CONNECTIONS 3 "May 27, 2017" "libcurl 7.68.0" "curl_multi_setopt options" .SH NAME CURLMOPT_MAX_HOST_CONNECTIONS \- set max number of connections to a single host .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_HOST_CONNECTIONS, long max); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAX_PIPELINE_LENGTH 3 "April 05, 2019" "libcurl 7.68.0" "curl_multi_setopt options" .SH NAME CURLMOPT_MAX_PIPELINE_LENGTH \- maximum number of requests in a pipeline .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_PIPELINE_LENGTH, long max); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAX_TOTAL_CONNECTIONS 3 "May 27, 2017" "libcurl 7.68.0" "curl_multi_setopt options" .SH NAME CURLMOPT_MAX_TOTAL_CONNECTIONS \- max simultaneously open connections .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_TOTAL_CONNECTIONS, long amount); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PIPELINING.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PIPELINING 3 "April 05, 2019" "libcurl 7.68.0" "curl_multi_setopt options" .SH NAME CURLMOPT_PIPELINING \- enable HTTP pipelining and multiplexing .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PIPELINING_SERVER_BL 3 "April 05, 2019" "libcurl 7.68.0" "curl_multi_setopt options" .SH NAME CURLMOPT_PIPELINING_SERVER_BL \- pipelining server blacklist .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING_SERVER_BL, char **servers); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PIPELINING_SITE_BL 3 "April 05, 2019" "libcurl 7.68.0" "curl_multi_setopt options" .SH NAME CURLMOPT_PIPELINING_SITE_BL \- pipelining host blacklist .SH SYNOPSIS #include <curl/curl.h> CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING_SITE_BL, char **hosts); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLMOPT_PUSHDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PUSHDATA 3 "May 27, 2017" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PUSHFUNCTION 3 "February 03, 2016" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_SOCKETDATA 3 "May 31, 2017" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_SOCKETFUNCTION 3 "June 24, 2019" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_TIMERDATA 3 "May 27, 2017" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_TIMERFUNCTION 3 "May 03, 2019" "libcurl 7.68.0" "curl_multi_setopt options" .SH NAME CURLMOPT_TIMERFUNCTION \- set callback to receive timeout values .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ABSTRACT_UNIX_SOCKET 3 "January 09, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_ABSTRACT_UNIX_SOCKET \- set an abstract Unix domain socket .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ABSTRACT_UNIX_SOCKET, char *path); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ACCEPTTIMEOUT_MS 3 "March 06, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_ACCEPTTIMEOUT_MS \- timeout waiting for FTP server to connect back .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ACCEPTTIMEOUT_MS, long ms); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ACCEPT_ENCODING 3 "August 27, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_ACCEPT_ENCODING \- enables automatic decompression of HTTP downloads .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ACCEPT_ENCODING, char *enc); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ADDRESS_SCOPE 3 "March 07, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_ADDRESS_SCOPE \- set scope id for IPv6 addresses .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ADDRESS_SCOPE, long scope); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ALTSVC.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ALTSVC 3 "August 14, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_ALTSVC \- set alt-svc cache file name .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ALTSVC_CTRL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ALTSVC_CTRL 3 "August 13, 2019" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_APPEND 3 "March 06, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_APPEND \- enable appending to the remote file .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_APPEND, long append); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_AUTOREFERER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_AUTOREFERER 3 "May 05, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_AUTOREFERER \- automatically update the referer header .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_AUTOREFERER, long autorefer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_BUFFERSIZE 3 "May 13, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_BUFFERSIZE \- set preferred receive buffer size .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_BUFFERSIZE, long size); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CAINFO.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CAINFO 3 "June 10, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_CAINFO \- path to Certificate Authority (CA) bundle .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CAINFO, char *path); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CAPATH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CAPATH 3 "September 10, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_CAPATH \- specify directory holding CA certificates .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CAPATH, char *capath); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CERTINFO.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CERTINFO 3 "January 29, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_CERTINFO \- request SSL certificate information .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CERTINFO, long certinfo); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CHUNK_BGN_FUNCTION 3 "May 03, 2019" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CHUNK_DATA 3 "November 07, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_CHUNK_DATA \- custom pointer to the FTP chunk callbacks .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CHUNK_DATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CHUNK_END_FUNCTION 3 "May 31, 2017" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CLOSESOCKETDATA 3 "November 07, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_CLOSESOCKETDATA \- pointer passed to the socket close callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CLOSESOCKETDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CLOSESOCKETFUNCTION 3 "November 07, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_CLOSESOCKETFUNCTION \- callback to socket close replacement function .SH SYNOPSIS #include <curl/curl.h> int closesocket_callback(void *clientp, curl_socket_t item); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONNECTTIMEOUT 3 "October 03, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_CONNECTTIMEOUT \- timeout for the connect phase .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECTTIMEOUT, long timeout); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONNECTTIMEOUT_MS 3 "September 23, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_CONNECTTIMEOUT_MS \- timeout for the connect phase .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECTTIMEOUT_MS, long timeout); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONNECT_ONLY 3 "February 18, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_CONNECT_ONLY \- stop when connected to target server .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECT_ONLY, long only); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CONNECT_TO.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONNECT_TO 3 "May 05, 2018" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONV_FROM_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONV_FROM_UTF8_FUNCTION 3 "May 31, 2017" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONV_TO_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIE 3 "December 21, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIE \- set contents of HTTP Cookie header .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIE, char *cookie); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_COOKIEFILE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIEFILE 3 "March 13, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIEFILE \- file name to read cookies from .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIEFILE, char *filename); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_COOKIEJAR.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIEJAR 3 "May 05, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIEJAR \- file name to store cookies to .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIEJAR, char *filename); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_COOKIELIST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIELIST 3 "April 26, 2016" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIESESSION 3 "May 05, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIESESSION \- start a new cookie session .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIESESSION, long init); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COPYPOSTFIELDS 3 "February 03, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_COPYPOSTFIELDS \- have libcurl copy data to POST .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COPYPOSTFIELDS, char *data); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CRLF.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CRLF 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_CRLF \- enable/disable CRLF conversion .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CRLF, long conv); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CRLFILE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CRLFILE 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_CRLFILE \- specify a Certificate Revocation List file .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CRLFILE, char *file); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CURLU.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CURLU 3 "October 31, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_CURLU \- set URL with CURLU * .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CURLU, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CUSTOMREQUEST 3 "April 17, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_CUSTOMREQUEST \- custom string for request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CUSTOMREQUEST, char *request); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DEBUGDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DEBUGDATA 3 "February 03, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_DEBUGDATA \- custom pointer for debug callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DEBUGDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DEBUGFUNCTION 3 "October 06, 2016" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DEFAULT_PROTOCOL 3 "December 21, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_DEFAULT_PROTOCOL \- default protocol to use if the URL is missing a scheme name .SH SYNOPSIS #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DIRLISTONLY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DIRLISTONLY 3 "May 05, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_DIRLISTONLY \- ask for names only in a directory listing .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DIRLISTONLY, long listonly); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DISALLOW_USERNAME_IN_URL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DISALLOW_USERNAME_IN_URL 3 "February 25, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_DISALLOW_USERNAME_IN_URL \- disallow specifying username in the url .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DISALLOW_USERNAME_IN_URL, long disallow); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_CACHE_TIMEOUT 3 "December 09, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_CACHE_TIMEOUT \- set life-time for DNS cache entries .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_CACHE_TIMEOUT, long age); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_INTERFACE 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_INTERFACE \- set interface to speak DNS over .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_INTERFACE, char *ifname); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_LOCAL_IP4 3 "December 10, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_LOCAL_IP4 \- IPv4 address to bind DNS resolves to .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_LOCAL_IP4, char *address); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_LOCAL_IP6 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_LOCAL_IP6 \- IPv6 address to bind DNS resolves to .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_LOCAL_IP6, char *address); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_SERVERS 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_SERVERS \- set preferred DNS servers .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_SERVERS, char *servers); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_SHUFFLE_ADDRESSES.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_SHUFFLE_ADDRESSES 3 "March 17, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_SHUFFLE_ADDRESSES \- Shuffle addresses when a hostname returns more than one .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_USE_GLOBAL_CACHE 3 "March 07, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_USE_GLOBAL_CACHE \- enable/disable global DNS cache .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_USE_GLOBAL_CACHE, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_DOH_URL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DOH_URL 3 "September 06, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_DOH_URL \- provide the DNS-over-HTTPS URL .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DOH_URL, char *URL); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_EGDSOCKET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_EGDSOCKET 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_EGDSOCKET \- set EGD socket path .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_EGDSOCKET, char *path); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ERRORBUFFER 3 "March 13, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_ERRORBUFFER \- set error buffer for error messages .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ERRORBUFFER, char *buf); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_EXPECT_100_TIMEOUT_MS 3 "April 17, 2018" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FAILONERROR 3 "April 17, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_FAILONERROR \- request failure on HTTP response >= 400 .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FAILONERROR, long fail); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FILETIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FILETIME 3 "April 03, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_FILETIME \- get the modification time of the remote resource .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FILETIME, long gettime); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FNMATCH_DATA 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_FNMATCH_DATA \- custom pointer to fnmatch callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FNMATCH_FUNCTION 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_FNMATCH_FUNCTION \- wildcard matching function callback .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FOLLOWLOCATION 3 "October 31, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_FOLLOWLOCATION \- follow HTTP 3xx redirects .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FOLLOWLOCATION, long enable); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FORBID_REUSE 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_FORBID_REUSE \- make connection get closed at once after use .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FORBID_REUSE, long close); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FRESH_CONNECT 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_FRESH_CONNECT \- force a new connection to be used .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FRESH_CONNECT, long fresh); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTPPORT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTPPORT 3 "May 30, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTPPORT \- make FTP transfer active .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTPPORT, char *spec); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTPSSLAUTH 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTPSSLAUTH \- set order in which to attempt TLS vs SSL when using FTP .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTPSSLAUTH, long order); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_ACCOUNT 3 "May 05, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_ACCOUNT \- set account info for FTP .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_ACCOUNT, char *account); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_ALTERNATIVE_TO_USER 3 "May 05, 2017" "libcurl 7.68.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> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_CREATE_MISSING_DIRS 3 "May 05, 2017" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_FILEMETHOD 3 "May 05, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_FILEMETHOD \- select directory traversing method for FTP .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_RESPONSE_TIMEOUT 3 "October 03, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_RESPONSE_TIMEOUT \- time allowed to wait for FTP response .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_RESPONSE_TIMEOUT, long timeout); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_SKIP_PASV_IP 3 "May 05, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_SKIP_PASV_IP \- ignore the IP address in the PASV response .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_SKIP_PASV_IP, long skip); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_SSL_CCC 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_SSL_CCC \- switch off SSL again with FTP after auth .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_SSL_CCC, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_USE_EPRT 3 "February 03, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_USE_EPRT \- enable/disable use of EPRT with FTP .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_EPRT, long enabled); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_USE_EPSV 3 "May 05, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_USE_EPSV \- enable/disable use of EPSV .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_EPSV, long epsv); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_USE_PRET 3 "May 05, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_USE_PRET \- enable the PRET command .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_PRET, long enable); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_GSSAPI_DELEGATION 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_GSSAPI_DELEGATION \- set allowed GSS-API delegation .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_GSSAPI_DELEGATION, long level); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS 3 "February 21, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS \- head start for ipv6 for happy eyeballs .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, long timeout); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HAPROXYPROTOCOL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HAPROXYPROTOCOL 3 "May 18, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_HAPROXYPROTOCOL \- send HAProxy PROXY protocol v1 header .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HAPROXYPROTOCOL, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HEADER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HEADER 3 "October 03, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_HEADER \- pass headers to the data stream .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADER, long onoff); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HEADERDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HEADERDATA 3 "May 05, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_HEADERDATA \- pointer to pass to header callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADERDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HEADERFUNCTION 3 "December 26, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_HEADERFUNCTION \- callback that receives header data .SH SYNOPSIS #include <curl/curl.h> size_t header_callback(char *buffer, size_t size, size_t nitems, void *userdata); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADERFUNCTION, header_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. This function gets called by libcurl as soon as it has received header data. The header callback will be called once for each header and only complete header lines are passed on to the callback. Parsing headers is very easy using this. \fIbuffer\fP points to the delivered data, and the size of that data is \fInitems\fP; \fIsize\fP is always 1. Do not assume that the header line is zero terminated! The pointer named \fIuserdata\fP is the one you set with the \fICURLOPT_HEADERDATA(3)\fP option. This callback function must return the number of bytes actually taken care of. If that amount differs from the amount passed in to your function, it'll signal an error to the library. This will cause the transfer to get aborted and the |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HEADEROPT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HEADEROPT 3 "October 31, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_HEADEROPT \- set how to send HTTP headers .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADEROPT, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTP09_ALLOWED.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP09_ALLOWED 3 "August 05, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP09 \- allow HTTP/0.9 response .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP09_ALLOWED, long allowed); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP200ALIASES 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP200ALIASES \- specify alternative matches for HTTP 200 OK .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTPAUTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPAUTH 3 "June 15, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPAUTH \- set HTTP server authentication methods to try .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTPGET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPGET 3 "May 21, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPGET \- ask for an HTTP GET request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPGET, long useget); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTPHEADER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPHEADER 3 "December 30, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPHEADER \- set custom HTTP headers .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPHEADER, struct curl_slist *headers); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTPPOST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPPOST 3 "September 02, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPPOST \- specify the multipart formpost content .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPPROXYTUNNEL 3 "April 17, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPPROXYTUNNEL \- tunnel through HTTP proxy .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPPROXYTUNNEL, long tunnel); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP_CONTENT_DECODING 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP_CONTENT_DECODING \- enable/disable HTTP content decoding .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP_TRANSFER_DECODING 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP_TRANSFER_DECODING \- enable/disable HTTP transfer decoding .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_HTTP_VERSION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP_VERSION 3 "September 14, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP_VERSION \- specify HTTP protocol version to use .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP_VERSION, long version); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_IGNORE_CONTENT_LENGTH 3 "February 03, 2016" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_INFILESIZE 3 "February 03, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_INFILESIZE \- set size of the input file to send off .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INFILESIZE, long filesize); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_INFILESIZE_LARGE 3 "September 23, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_INFILESIZE_LARGE \- set size of the input file to send off .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_INTERFACE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_INTERFACE 3 "June 18, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_INTERFACE \- source interface for outgoing traffic .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INTERFACE, char *interface); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_INTERLEAVEDATA 3 "September 15, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_INTERLEAVEDATA \- custom pointer passed to RTSP interleave callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INTERLEAVEDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_INTERLEAVEFUNCTION 3 "August 11, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_INTERLEAVEFUNCTION \- callback function for RTSP interleaved data .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_IOCTLDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_IOCTLDATA 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_IOCTLDATA \- custom pointer passed to I/O callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IOCTLDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_IOCTLFUNCTION 3 "April 17, 2018" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_IPRESOLVE 3 "May 05, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_IPRESOLVE \- specify which IP protocol version to use .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IPRESOLVE, long resolve); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_ISSUERCERT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ISSUERCERT 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_ISSUERCERT \- issuer SSL certificate filename .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ISSUERCERT, char *file); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_KEEP_SENDING_ON_ERROR 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_KEEP_SENDING_ON_ERROR \- keep sending on early HTTP response >= 300 .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_KEEP_SENDING_ON_ERROR, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_KEYPASSWD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_KEYPASSWD 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_KEYPASSWD \- set passphrase to private key .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_KEYPASSWD, char *pwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_KRBLEVEL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_KRBLEVEL 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_KRBLEVEL \- set FTP kerberos security level .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_KRBLEVEL, char *level); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_LOCALPORT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOCALPORT 3 "October 31, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_LOCALPORT \- set local port number to use for socket .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOCALPORT, long port); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOCALPORTRANGE 3 "October 31, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_LOCALPORTRANGE \- number of additional local ports to try .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOCALPORTRANGE, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOGIN_OPTIONS 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_LOGIN_OPTIONS \- set login options .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOGIN_OPTIONS, char *options); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOW_SPEED_LIMIT 3 "May 06, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_LOW_SPEED_LIMIT \- set low speed limit in bytes per second .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOW_SPEED_LIMIT, long speedlimit); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOW_SPEED_TIME 3 "May 06, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_LOW_SPEED_TIME \- set low speed limit time period .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOW_SPEED_TIME, long speedtime); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAIL_AUTH 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAIL_AUTH \- SMTP authentication address .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAIL_AUTH, char *auth); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAIL_FROM.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAIL_FROM 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAIL_FROM \- SMTP sender address .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAIL_FROM, char *from); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAIL_RCPT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAIL_RCPT 3 "July 16, 2019" "libcurl 7.68.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_MAXAGE_CONN.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXAGE_CONN 3 "April 14, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAXAGE_CONN \- max idle time allowed for reusing a connection .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXAGE_CONN, long maxage); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXCONNECTS 3 "May 30, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAXCONNECTS \- maximum connection cache size .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXCONNECTS, long amount); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAXFILESIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXFILESIZE 3 "May 30, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAXFILESIZE \- maximum file size allowed to download .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXFILESIZE, long size); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXFILESIZE_LARGE 3 "May 30, 2017" "libcurl 7.68.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_MAXREDIRS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXREDIRS 3 "February 03, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAXREDIRS \- maximum number of redirects allowed .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXREDIRS, long amount); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAX_RECV_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAX_SEND_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MIMEPOST 3 "September 04, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_MIMEPOST \- set post/send data from mime structure .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NETRC.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NETRC 3 "November 03, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_NETRC \- request that .netrc is used .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NETRC, long level); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NETRC_FILE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NETRC_FILE 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_NETRC_FILE \- file name to read .netrc info from .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NETRC_FILE, char *file); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NEW_DIRECTORY_PERMS 3 "May 31, 2017" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NEW_FILE_PERMS 3 "May 31, 2017" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NOBODY 3 "June 21, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_NOBODY \- do the download request without getting the body .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOBODY, long opt); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NOPROGRESS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NOPROGRESS 3 "October 09, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_NOPROGRESS \- switch off the progress meter .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOPROGRESS, long onoff); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NOPROXY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NOPROXY 3 "August 24, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_NOPROXY \- disable proxy use for specific hosts .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOPROXY, char *noproxy); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_NOSIGNAL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NOSIGNAL 3 "February 03, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_NOSIGNAL \- skip all signal handling .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOSIGNAL, long onoff); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_OPENSOCKETDATA 3 "May 15, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_OPENSOCKETDATA \- custom pointer passed to open socket callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_OPENSOCKETDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_OPENSOCKETFUNCTION 3 "December 03, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_OPENSOCKETFUNCTION \- set callback for opening sockets .SH SYNOPSIS .nf #include <curl/curl.h> typedef enum { CURLSOCKTYPE_IPCXN, /* socket created for a specific IP connection */ } curlsocktype; struct curl_sockaddr { int family; int socktype; int protocol; unsigned int addrlen; |
︙ | ︙ | |||
49 50 51 52 53 54 55 | CURLcode curl_easy_setopt(CURL *handle, CURLOPT_OPENSOCKETFUNCTION, opensocket_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. This callback function gets called by libcurl instead of the \fIsocket(2)\fP call. The callback's \fIpurpose\fP argument identifies the exact purpose for | | < | | | 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | CURLcode curl_easy_setopt(CURL *handle, CURLOPT_OPENSOCKETFUNCTION, opensocket_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. This callback function gets called by libcurl instead of the \fIsocket(2)\fP call. The callback's \fIpurpose\fP argument identifies the exact purpose for this particular socket. \fICURLSOCKTYPE_IPCXN\fP is for IP based connections and is the only purpose currently used in libcurl. Future versions of libcurl may support more purposes. The \fIclientp\fP pointer contains whatever user-defined value set using the \fICURLOPT_OPENSOCKETDATA(3)\fP function. The callback gets the resolved peer address as the \fIaddress\fP argument and is allowed to modify the address or refuse to connect completely. The callback function should return the newly created socket or \fICURL_SOCKET_BAD\fP in |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PASSWORD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PASSWORD 3 "September 23, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PASSWORD \- password to use in authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PASSWORD, char *pwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PATH_AS_IS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PATH_AS_IS 3 "September 23, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PATH_AS_IS \- do not handle dot dot sequences .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PATH_AS_IS, long leaveit); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PINNEDPUBLICKEY 3 "June 02, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PINNEDPUBLICKEY \- set pinned public key .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PINNEDPUBLICKEY, char *pinnedpubkey); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PIPEWAIT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PIPEWAIT 3 "May 01, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PIPEWAIT \- wait for pipelining/multiplexing .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PIPEWAIT, long wait); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PORT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PORT 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PORT \- set remote port number to work with .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PORT, long number); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POST 3 "July 22, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_POST \- request an HTTP POST .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POST, long post); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POSTFIELDS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTFIELDS 3 "May 21, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_POSTFIELDS \- specify data to POST to server .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTFIELDS, char *postdata); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTFIELDSIZE 3 "February 03, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_POSTFIELDSIZE \- size of POST data pointed to .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTFIELDSIZE, long size); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTFIELDSIZE_LARGE 3 "February 03, 2016" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | | | | | 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 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTQUOTE 3 "December 18, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_POSTQUOTE \- (S)FTP commands to run after the transfer .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTQUOTE, struct curl_slist *cmds); .SH DESCRIPTION Pass a pointer to a linked list of FTP or SFTP commands to pass to the server after your FTP transfer request. The commands will only be run if no error occurred. The linked list should be a fully valid list of struct curl_slist structs properly filled in as described for \fICURLOPT_QUOTE(3)\fP. Disable this operation again by setting a NULL to this option. .SH DEFAULT NULL .SH PROTOCOLS SFTP and FTP .SH EXAMPLE .nf struct curl_slist *cmdlist = NULL; cmdlist = curl_slist_append(cmdlist, "RNFR source-name"); cmdlist = curl_slist_append(cmdlist, "RNTO new-name"); curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/foo.bin"); /* pass in the FTP commands to run after the transfer */ curl_easy_setopt(curl, CURLOPT_POSTQUOTE, cmdlist); ret = curl_easy_perform(curl); curl_easy_cleanup(curl); } .fi .SH AVAILABILITY If support for the protocols are built-in. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_QUOTE "(3), " CURLOPT_PREQUOTE "(3), " |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_POSTREDIR.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTREDIR 3 "April 17, 2018" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PREQUOTE 3 "December 18, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PREQUOTE \- commands to run before an FTP transfer .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PREQUOTE, |
︙ | ︙ | |||
40 41 42 43 44 45 46 | this option does not. .SH DEFAULT NULL .SH PROTOCOLS FTP .SH EXAMPLE .nf | | | | | 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 | this option does not. .SH DEFAULT NULL .SH PROTOCOLS FTP .SH EXAMPLE .nf struct curl_slist *cmdlist = NULL; cmdlist = curl_slist_append(cmdlist, "SYST"); curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/foo.bin"); /* pass in the FTP commands to run */ curl_easy_setopt(curl, CURLOPT_PREQUOTE, cmdlist); ret = curl_easy_perform(curl); curl_easy_cleanup(curl); } .fi .SH AVAILABILITY Along with the protocol support .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_QUOTE "(3), " CURLOPT_POSTQUOTE "(3), " |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PRE_PROXY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PRE_PROXY 3 "September 23, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PRE_PROXY \- set pre-proxy to use .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PRE_PROXY, char *preproxy); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PRIVATE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PRIVATE 3 "December 08, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PRIVATE \- store a private pointer .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PRIVATE, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROGRESSDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROGRESSDATA 3 "February 03, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROGRESSDATA \- custom pointer passed to the progress callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROGRESSDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROGRESSFUNCTION 3 "November 26, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROGRESSFUNCTION \- callback to progress meter function .SH SYNOPSIS #include <curl/curl.h> int progress_callback(void *clientp, |
︙ | ︙ | |||
57 58 59 60 61 62 63 | uploaded so far. Unknown/unused argument values passed to the callback will be set to zero (like if you only download data, the upload size will remain 0). Many times the callback will be called one or more times first, before it knows the data sizes so a program must be made to handle that. | > > > | | | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | uploaded so far. Unknown/unused argument values passed to the callback will be set to zero (like if you only download data, the upload size will remain 0). Many times the callback will be called one or more times first, before it knows the data sizes so a program must be made to handle that. If your callback function returns CURL_PROGRESSFUNC_CONTINUE it will cause libcurl to continue executing the default progress function. Returning any other non-zero value from this callback will cause libcurl to abort the transfer and return \fICURLE_ABORTED_BY_CALLBACK\fP. If you transfer data with the multi interface, this function will not be called during periods of idleness unless you call the appropriate libcurl function that performs transfers. \fICURLOPT_NOPROGRESS(3)\fP must be set to 0 to make this function actually get called. |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROTOCOLS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROTOCOLS 3 "February 03, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROTOCOLS \- set allowed protocols .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROTOCOLS, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY 3 "August 24, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY \- set proxy to use .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY, char *proxy); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYAUTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYAUTH 3 "May 30, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYAUTH \- set HTTP proxy authentication methods to try .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYAUTH, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYHEADER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYHEADER 3 "May 30, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYHEADER \- custom HTTP headers to pass to proxy .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYPASSWORD 3 "May 30, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYPASSWORD \- password to use with proxy authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYPASSWORD, char *pwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYPORT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYPORT 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYPORT \- port number the proxy listens on .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYPORT, long port); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYTYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYTYPE 3 "May 30, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYTYPE \- proxy protocol type .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYTYPE, long type); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYUSERNAME 3 "May 30, 2017" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYUSERPWD 3 "May 30, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYUSERPWD \- user name and password to use for proxy authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYUSERPWD, char *userpwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_CAINFO 3 "April 17, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_CAINFO \- path to proxy Certificate Authority (CA) bundle .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_CAINFO, char *path); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_CAPATH 3 "May 15, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_CAPATH \- specify directory holding proxy CA certificates .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_CAPATH, char *capath); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_CRLFILE 3 "April 17, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_CRLFILE \- specify a proxy Certificate Revocation List file .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_CRLFILE, char *file); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_KEYPASSWD 3 "April 17, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_KEYPASSWD \- set passphrase to proxy private key .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_KEYPASSWD, char *pwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_PINNEDPUBLICKEY 3 "May 15, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_PINNEDPUBLICKEY \- set pinned public key for https proxy .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_PINNEDPUBLICKEY, char *pinnedpubkey); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SERVICE_NAME \- proxy authentication service name .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SERVICE_NAME, char *name); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLCERT 3 "April 17, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLCERT \- set SSL proxy client certificate .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLCERT, char *cert); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLCERTTYPE 3 "April 17, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLCERTTYPE \- specify type of the proxy client SSL certificate .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLCERTTYPE, char *type); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLKEY 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLKEY \- specify private keyfile for TLS and SSL proxy client cert .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLKEY, char *keyfile); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLKEYTYPE 3 "April 17, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLKEYTYPE \- set type of the proxy private key file .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLKEYTYPE, char *type); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSLVERSION 3 "October 31, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSLVERSION \- set preferred proxy TLS/SSL version .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSLVERSION, long version); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSL_CIPHER_LIST 3 "October 10, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSL_CIPHER_LIST \- specify ciphers to use for proxy TLS .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSL_CIPHER_LIST, char *list); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSL_OPTIONS 3 "July 16, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSL_OPTIONS \- set proxy SSL behavior options .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSL_OPTIONS, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSL_VERIFYHOST 3 "August 20, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSL_VERIFYHOST \- verify the proxy certificate's name against host .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSL_VERIFYHOST, long verify); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SSL_VERIFYPEER 3 "December 16, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SSL_VERIFYPEER \- verify the proxy's SSL certificate .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SSL_VERIFYPEER, long verify); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_TLS13_CIPHERS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_TLS13_CIPHERS 3 "October 31, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_TLS13_CIPHERS \- ciphers suites for proxy TLS 1.3 .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TLS13_CIPHERS, char *list); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_TLSAUTH_PASSWORD \- password to use for proxy TLS authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TLSAUTH_PASSWORD, char *pwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_TLSAUTH_TYPE \- set proxy TLS authentication methods .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TLSAUTH_TYPE, char *type); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_TLSAUTH_USERNAME \- user name to use for proxy TLS authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TLSAUTH_USERNAME, char *user); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_TRANSFER_MODE 3 "April 17, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_TRANSFER_MODE \- append FTP transfer mode to URL for proxy .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TRANSFER_MODE, long enabled); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_PUT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PUT 3 "April 17, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_PUT \- make an HTTP PUT request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PUT, long put); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_QUOTE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_QUOTE 3 "December 18, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_QUOTE \- (S)FTP commands to run before transfer .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_QUOTE, struct curl_slist *cmds); |
︙ | ︙ | |||
78 79 80 81 82 83 84 | .RE .SH DEFAULT NULL .SH PROTOCOLS SFTP and FTP .SH EXAMPLE .nf | | | | | | 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 | .RE .SH DEFAULT NULL .SH PROTOCOLS SFTP and FTP .SH EXAMPLE .nf struct curl_slist *cmdlist = NULL; cmdlist = curl_slist_append(cmdlist, "RNFR source-name"); cmdlist = curl_slist_append(cmdlist, "RNTO new-name"); curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/foo.bin"); /* pass in the FTP commands to run before the transfer */ curl_easy_setopt(curl, CURLOPT_QUOTE, cmdlist); ret = curl_easy_perform(curl); curl_easy_cleanup(curl); } .fi .SH AVAILABILITY SFTP support added in 7.16.3. *-prefix for SFTP added in 7.24.0 .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_POSTQUOTE "(3), " CURLOPT_PREQUOTE "(3), " |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RANDOM_FILE 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_RANDOM_FILE \- specify a source for random data .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RANDOM_FILE, char *path); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RANGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RANGE 3 "October 31, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_RANGE \- set byte range to request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RANGE, char *range); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_READDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_READDATA 3 "August 11, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_READDATA \- custom pointer passed to the read callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_READDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_READFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_READFUNCTION 3 "January 06, 2020" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_READFUNCTION \- read callback for data uploads .SH SYNOPSIS #include <curl/curl.h> size_t read_callback(char *buffer, size_t size, size_t nitems, void *userdata); |
︙ | ︙ | |||
85 86 87 88 89 90 91 | fprintf(stderr, "*** We read %" CURL_FORMAT_CURL_OFF_T " bytes from file\\n", nread); return retcode; } void setup(char *uploadthis) { | | | | 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 | fprintf(stderr, "*** We read %" CURL_FORMAT_CURL_OFF_T " bytes from file\\n", nread); return retcode; } void setup(char *uploadthis) { FILE *file = fopen(uploadthis, "rb"); CURLcode result; /* set callback to use */ curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback); /* pass in suitable argument to callback */ curl_easy_setopt(curl, CURLOPT_READDATA, (void *)file); result = curl_easy_perform(curl); } .fi .SH AVAILABILITY CURL_READFUNC_PAUSE return code was added in 7.18.0 and CURL_READFUNC_ABORT was added in 7.12.1. .SH RETURN VALUE This will return CURLE_OK. .SH "SEE ALSO" .BR CURLOPT_READDATA "(3), " CURLOPT_WRITEFUNCTION "(3), " .BR CURLOPT_SEEKFUNCTION "(3), " CURLOPT_UPLOAD "(3), " CURLOPT_POST "(3), " .BR CURLOPT_UPLOAD_BUFFERSIZE "(3), " |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_REDIR_PROTOCOLS 3 "October 31, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_REDIR_PROTOCOLS \- set protocols allowed to redirect to .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_REDIR_PROTOCOLS, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_REFERER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_REFERER 3 "December 21, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_REFERER \- set the HTTP referer header .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_REFERER, char *where); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_REQUEST_TARGET.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_REQUEST_TARGET 3 "June 21, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_REQUEST_TARGET \- specify an alternative target for this request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_REQUEST_TARGET, string); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RESOLVE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESOLVE 3 "May 30, 2018" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESOLVER_START_DATA 3 "February 14, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_RESOLVER_START_DATA \- custom pointer passed to the resolver start callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESOLVER_START_DATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESOLVER_START_FUNCTION 3 "February 14, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_RESOLVER_START_FUNCTION \- set callback to be called before a new resolve request is started .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RESUME_FROM.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESUME_FROM 3 "February 03, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_RESUME_FROM \- set a point to resume transfer from .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESUME_FROM, long from); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESUME_FROM_LARGE 3 "February 03, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_RESUME_FROM_LARGE \- set a point to resume transfer from .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_CLIENT_CSEQ 3 "April 17, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_CLIENT_CSEQ \- set the RTSP client CSEQ number .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_CLIENT_CSEQ, long cseq); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_REQUEST 3 "July 16, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_REQUEST \- specify RTSP request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_REQUEST, long request); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_SERVER_CSEQ \- set the RTSP server CSEQ number .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_SERVER_CSEQ, long cseq); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_SESSION_ID \- set RTSP session ID .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_SESSION_ID, char *id); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_STREAM_URI 3 "July 16, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_STREAM_URI \- set RTSP stream URI .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_STREAM_URI, char *URI); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_TRANSPORT 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_TRANSPORT \- set RTSP Transport: header .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SASL_IR.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SASL_IR 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SASL_IR \- enable sending initial response in first packet .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SASL_IR, long enable); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SEEKDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SEEKDATA 3 "October 31, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SEEKDATA \- custom pointer passed to the seek callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SEEKDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SEEKFUNCTION 3 "April 17, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SEEKFUNCTION \- user callback for seeking in input stream .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SERVICE_NAME \- authentication service name .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SERVICE_NAME, char *name); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SHARE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SHARE 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SHARE \- specify share handle to use .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SHARE, CURLSH *share); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKOPTDATA 3 "May 15, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKOPTDATA \- custom pointer to pass to sockopt callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKOPTDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKOPTFUNCTION 3 "May 15, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKOPTFUNCTION \- set callback for setting socket options .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKS5_AUTH 3 "April 27, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKS5_AUTH \- set allowed methods for SOCKS5 proxy authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS5_AUTH, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKS5_GSSAPI_NEC 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKS5_GSSAPI_NEC \- set socks proxy gssapi negotiation protection .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS5_GSSAPI_NEC, long nec); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKS5_GSSAPI_SERVICE 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKS5_GSSAPI_SERVICE \- SOCKS5 proxy authentication service name .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS5_GSSAPI_SERVICE, char *name); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_AUTH_TYPES 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_AUTH_TYPES \- set desired auth types for SFTP and SCP .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_AUTH_TYPES, long bitmask); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_COMPRESSION 3 "August 10, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_COMPRESSION \- enables compression / decompression of SSH traffic .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_COMPRESSION, long enable); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 \- checksum of SSH server public key .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_KEYDATA 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_KEYDATA \- pointer to pass to the SSH key callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_KEYDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_KEYFUNCTION 3 "May 31, 2017" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_KNOWNHOSTS 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_KNOWNHOSTS \- file name holding the SSH known hosts .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_KNOWNHOSTS, char *fname); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_PRIVATE_KEYFILE 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_PRIVATE_KEYFILE \- set private key file for SSH auth .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_PUBLIC_KEYFILE 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_PUBLIC_KEYFILE \- set public key file for SSH auth .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLCERT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLCERT 3 "January 29, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLCERT \- set SSL client certificate .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLCERT, char *cert); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLCERTTYPE 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLCERTTYPE \- specify type of the client SSL certificate .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLCERTTYPE, char *type); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLENGINE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLENGINE 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLENGINE \- set SSL engine identifier .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLENGINE, char *id); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLENGINE_DEFAULT 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLENGINE_DEFAULT \- make SSL engine default .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLENGINE_DEFAULT, long val); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLKEY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLKEY 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLKEY \- specify private keyfile for TLS and SSL client cert .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLKEY, char *keyfile); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLKEYTYPE 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLKEYTYPE \- set type of the private key file .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLKEYTYPE, char *type); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSLVERSION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLVERSION 3 "October 31, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLVERSION \- set preferred TLS/SSL version .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLVERSION, long version); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_CIPHER_LIST 3 "October 10, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_CIPHER_LIST \- specify ciphers to use for TLS .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_CIPHER_LIST, char *list); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_CTX_DATA 3 "June 02, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_CTX_DATA \- custom pointer passed to ssl_ctx callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_CTX_DATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_CTX_FUNCTION 3 "June 02, 2019" "libcurl 7.68.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_ENABLE_ALPN.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_ENABLE_ALPN 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_ENABLE_ALPN \- enable ALPN .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_ENABLE_ALPN, long npn); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_ENABLE_NPN 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_ENABLE_NPN \- enable NPN .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_ENABLE_NPN, long npn); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_FALSESTART 3 "May 15, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_FALSESTART \- enable TLS false start .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_FALSESTART, long enable); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | | | | | > | | | | | < < | | | | > | > > > > | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 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 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_OPTIONS 3 "December 02, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_OPTIONS \- set SSL behavior options .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_OPTIONS, long bitmask); .SH DESCRIPTION Pass a long with a bitmask to tell libcurl about specific SSL behaviors. Available bits: .IP CURLSSLOPT_ALLOW_BEAST Tells libcurl to not attempt to use any workarounds for a security flaw in the SSL3 and TLS1.0 protocols. If this option isn't used or this bit is set to 0, the SSL layer libcurl uses may use a work-around for this flaw although it might cause interoperability problems with some (older) SSL implementations. WARNING: avoiding this work-around lessens the security, and by setting this option to 1 you ask for exactly that. This option is only supported for DarwinSSL, NSS and OpenSSL. .IP CURLSSLOPT_NO_REVOKE Tells libcurl to disable certificate revocation checks for those SSL backends where such behavior is present. This option is only supported for Schannel (the native Windows SSL library), with an exception in the case of Windows' Untrusted Publishers blacklist which it seems can't be bypassed. (Added in 7.44.0) .IP CURLSSLOPT_NO_PARTIALCHAIN Tells libcurl to not accept "partial" certificate chains, which it otherwise does by default. This option is only supported for OpenSSL and will fail the certificate verification if the chain ends with an intermediate certificate and not with a root cert. (Added in 7.68.0) .SH DEFAULT 0 .SH PROTOCOLS All TLS-based protocols .SH EXAMPLE .nf CURL *curl = curl_easy_init(); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_SESSIONID_CACHE 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_SESSIONID_CACHE \- enable/disable use of the SSL session-ID cache .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_VERIFYHOST 3 "August 20, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_VERIFYHOST \- verify the certificate's name against host .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_VERIFYHOST, long verify); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_VERIFYPEER 3 "June 24, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_VERIFYPEER \- verify the peer's SSL certificate .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_VERIFYPEER, long verify); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_VERIFYSTATUS 3 "October 09, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_VERIFYSTATUS \- verify the certificate's status .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_VERIFYSTATUS, long verify); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_STDERR.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_STDERR 3 "February 03, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_STDERR \- redirect stderr to another stream .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STDERR, FILE *stream); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_STREAM_DEPENDS 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_STREAM_DEPENDS \- set stream this transfer depends on .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_DEPENDS, CURL *dephandle); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_STREAM_DEPENDS_E 3 "April 17, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_STREAM_DEPENDS_E \- set stream this transfer depends on exclusively .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_DEPENDS_E, CURL *dephandle); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_STREAM_WEIGHT 3 "April 17, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_STREAM_WEIGHT \- set numerical stream weight .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_WEIGHT, long weight); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SUPPRESS_CONNECT_HEADERS 3 "April 28, 2016" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_FASTOPEN 3 "May 15, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_FASTOPEN \- enable TCP Fast Open .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_FASTOPEN, long enable); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_KEEPALIVE 3 "February 03, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_KEEPALIVE \- enable TCP keep-alive probing .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_KEEPALIVE, long probe); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_KEEPIDLE 3 "January 02, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_KEEPIDLE \- set TCP keep-alive idle time wait .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_KEEPIDLE, long delay); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_KEEPINTVL 3 "January 02, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_KEEPINTVL \- set TCP keep-alive interval .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_KEEPINTVL, long interval); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TCP_NODELAY.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_NODELAY 3 "January 15, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_NODELAY \- set the TCP_NODELAY option .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_NODELAY, long nodelay); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TELNETOPTIONS 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_TELNETOPTIONS \- custom telnet options .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TELNETOPTIONS, |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TFTP_BLKSIZE 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_TFTP_BLKSIZE \- TFTP block size .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TFTP_BLKSIZE, long blocksize); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TFTP_NO_OPTIONS 3 "April 06, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_TFTP_NO_OPTIONS \- Do not send TFTP options requests. .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TFTP_NO_OPTIONS, long onoff); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TIMECONDITION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMECONDITION 3 "April 03, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_TIMECONDITION \- select condition for a time request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMECONDITION, long cond); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TIMEOUT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMEOUT 3 "October 15, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_TIMEOUT \- set maximum time the request is allowed to take .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEOUT, long timeout); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMEOUT_MS 3 "September 23, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_TIMEOUT_MS \- set maximum time the request is allowed to take .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEOUT_MS, long timeout); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TIMEVALUE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMEVALUE 3 "January 25, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_TIMEVALUE \- set time value for conditional .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEVALUE, long val); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMEVALUE_LARGE 3 "January 25, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_TIMEVALUE_LARGE \- set time value for conditional .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEVALUE_LARGE, curl_off_t val); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TLS13_CIPHERS.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TLS13_CIPHERS 3 "October 31, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_TLS13_CIPHERS \- specify ciphers suites to use for TLS 1.3 .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLS13_CIPHERS, char *list); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TLSAUTH_PASSWORD 3 "December 16, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_TLSAUTH_PASSWORD \- password to use for TLS authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLSAUTH_PASSWORD, char *pwd); .SH DESCRIPTION Pass a char * as parameter, which should point to the zero terminated password to use for the TLS authentication method specified with the \fICURLOPT_TLSAUTH_TYPE(3)\fP option. Requires that the \fICURLOPT_TLSAUTH_USERNAME(3)\fP option also be set. The application does not have to keep the string around after setting this option. This feature relies in TLS SRP which doesn't work with TLS 1.3. .SH DEFAULT NULL .SH PROTOCOLS All TLS-based protocols .SH EXAMPLE .nf CURL *curl = curl_easy_init(); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | | > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TLSAUTH_TYPE 3 "December 16, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_TLSAUTH_TYPE \- set TLS authentication methods .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLSAUTH_TYPE, char *type); .SH DESCRIPTION Pass a pointer to a zero terminated string as parameter. The string should be the method of the TLS authentication. Supported method is "SRP". .IP SRP TLS-SRP authentication. Secure Remote Password authentication for TLS is defined in RFC5054 and provides mutual authentication if both sides have a shared secret. To use TLS-SRP, you must also set the \fICURLOPT_TLSAUTH_USERNAME(3)\fP and \fICURLOPT_TLSAUTH_PASSWORD(3)\fP options. The application does not have to keep the string around after setting this option. TLS SRP doesn't work with TLS 1.3. .SH DEFAULT blank .SH PROTOCOLS All TLS-based protocols .SH EXAMPLE .nf CURL *curl = curl_easy_init(); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TLSAUTH_USERNAME 3 "December 16, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_TLSAUTH_USERNAME \- user name to use for TLS authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLSAUTH_USERNAME, char *user); .SH DESCRIPTION Pass a char * as parameter, which should point to the zero terminated username to use for the TLS authentication method specified with the \fICURLOPT_TLSAUTH_TYPE(3)\fP option. Requires that the \fICURLOPT_TLSAUTH_PASSWORD(3)\fP option also be set. The application does not have to keep the string around after setting this option. This feature relies in TLS SRP which doesn't work with TLS 1.3. .SH DEFAULT NULL .SH PROTOCOLS All TLS-based protocols .SH EXAMPLE .nf CURL *curl = curl_easy_init(); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TRAILERDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TRAILERDATA 3 "October 31, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_TRAILERDATA \- Custom pointer passed to the trailing headers callback .SH SYNOPSIS #include <curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TRAILERDATA, void *userdata); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TRAILERFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TRAILERFUNCTION 3 "October 31, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_TRAILERFUNCTION \- Set callback for sending trailing headers .SH SYNOPSIS #include <curl.h> int curl_trailer_callback(struct curl_slist ** list, void *userdata); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TRANSFERTEXT 3 "May 31, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_TRANSFERTEXT \- request a text based transfer for FTP .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TRANSFERTEXT, long text); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TRANSFER_ENCODING 3 "May 15, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_TRANSFER_ENCODING \- ask for HTTP Transfer Encoding .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TRANSFER_ENCODING, long enable); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_UNIX_SOCKET_PATH 3 "April 17, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_UNIX_SOCKET_PATH \- set Unix domain socket .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UNIX_SOCKET_PATH, char *path); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_UNRESTRICTED_AUTH 3 "May 15, 2017" "libcurl 7.68.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_UPLOAD.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_UPLOAD 3 "April 17, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_UPLOAD \- enable data upload .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UPLOAD, long upload); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_UPLOAD_BUFFERSIZE.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_UPLOAD_BUFFERSIZE 3 "August 18, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_UPLOAD_BUFFERSIZE \- set preferred upload buffer size .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UPLOAD_BUFFERSIZE, long size); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_URL.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_URL 3 "December 18, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_URL \- provide the URL to use in the request .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_URL, char *URL); |
︙ | ︙ | |||
224 225 226 227 228 229 230 | user name is not embedded in the URL, it can be set with the \fICURLOPT_USERPWD(3)\fP or \fICURLOPT_USERNAME(3)\fP option. scp://user@example.com/etc/issue - This specifies the file /etc/issue scp://example.com/~/my-file - This specifies the file my-file in the user's home directory on the server | < | 224 225 226 227 228 229 230 231 232 233 234 235 236 237 | user name is not embedded in the URL, it can be set with the \fICURLOPT_USERPWD(3)\fP or \fICURLOPT_USERNAME(3)\fP option. scp://user@example.com/etc/issue - This specifies the file /etc/issue scp://example.com/~/my-file - This specifies the file my-file in the user's home directory on the server .IP SFTP The path part of a SFTP request specifies the file to retrieve and from what directory. If the file part is omitted then libcurl downloads the directory listing for the directory specified. If the path ends in a / then a directory listing is returned instead of a file. If the path is omitted entirely then the directory listing for the root / home directory will be returned. If the user name is not embedded in the URL, it can be set with the |
︙ | ︙ | |||
257 258 259 260 261 262 263 264 265 266 267 268 269 270 | smb://server.example.com/files/issue - This specifies the file "issue" located in the root of the "files" share smb://server.example.com/files/ -T issue - This specifies the file "issue" will be uploaded to the root of the "files" share. .IP LDAP The path part of a LDAP request can be used to specify the: Distinguished Name, Attributes, Scope, Filter and Extension for a LDAP search. Each field is separated by a question mark and when that field is not required an empty string with the question mark separator should be included. ldap://ldap.example.com/o=My%20Organisation - This will perform a LDAP search | > | 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 | smb://server.example.com/files/issue - This specifies the file "issue" located in the root of the "files" share smb://server.example.com/files/ -T issue - This specifies the file "issue" will be uploaded to the root of the "files" share. curl supports SMB version 1 (only) .IP LDAP The path part of a LDAP request can be used to specify the: Distinguished Name, Attributes, Scope, Filter and Extension for a LDAP search. Each field is separated by a question mark and when that field is not required an empty string with the question mark separator should be included. ldap://ldap.example.com/o=My%20Organisation - This will perform a LDAP search |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_USERAGENT.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_USERAGENT 3 "December 21, 2016" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_USERAGENT \- set HTTP user-agent header .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USERAGENT, char *ua); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_USERNAME.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_USERNAME 3 "May 05, 2017" "libcurl 7.68.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.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_USERPWD 3 "August 24, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_USERPWD \- user name and password to use in authentication .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USERPWD, char *userpwd); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_USE_SSL.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_USE_SSL 3 "October 10, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_USE_SSL \- request using SSL / TLS for the transfer .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USE_SSL, long level); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_VERBOSE.3.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_VERBOSE 3 "December 04, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_VERBOSE \- set verbose mode on/off .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_VERBOSE, long onoff); |
︙ | ︙ | |||
58 59 60 61 62 63 64 | .fi .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_STDERR "(3), " CURLOPT_DEBUGFUNCTION "(3), " | > | 58 59 60 61 62 63 64 65 | .fi .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_STDERR "(3), " CURLOPT_DEBUGFUNCTION "(3), " .BR CURLOPT_ERRORBUFFER "(3), " |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_WILDCARDMATCH 3 "May 18, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_WILDCARDMATCH \- enable directory wildcard transfers .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_WILDCARDMATCH, long onoff); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_WRITEDATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_WRITEDATA 3 "August 11, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_WRITEDATA \- custom pointer passed to the write callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_WRITEDATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_WRITEFUNCTION 3 "November 23, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_WRITEFUNCTION \- set callback for writing received data .SH SYNOPSIS .nf #include <curl/curl.h> |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_XFERINFODATA.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_XFERINFODATA 3 "October 09, 2017" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_XFERINFODATA \- custom pointer passed to the progress callback .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_XFERINFODATA, void *pointer); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_XFERINFOFUNCTION 3 "November 26, 2019" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_XFERINFOFUNCTION \- callback to progress meter function .SH SYNOPSIS #include <curl/curl.h> int progress_callback(void *clientp, |
︙ | ︙ | |||
54 55 56 57 58 59 60 | uploaded so far. Unknown/unused argument values passed to the callback will be set to zero (like if you only download data, the upload size will remain 0). Many times the callback will be called one or more times first, before it knows the data sizes so a program must be made to handle that. | > > > | | | 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | uploaded so far. Unknown/unused argument values passed to the callback will be set to zero (like if you only download data, the upload size will remain 0). Many times the callback will be called one or more times first, before it knows the data sizes so a program must be made to handle that. If your callback function returns CURL_PROGRESSFUNC_CONTINUE it will cause libcurl to continue executing the default progress function. Returning any other non-zero value from this callback will cause libcurl to abort the transfer and return \fICURLE_ABORTED_BY_CALLBACK\fP. If you transfer data with the multi interface, this function will not be called during periods of idleness unless you call the appropriate libcurl function that performs transfers. \fICURLOPT_NOPROGRESS(3)\fP must be set to 0 to make this function actually get called. |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH CURLOPT_XOAUTH2_BEARER 3 "May 22, 2018" "libcurl 7.68.0" "curl_easy_setopt options" .SH NAME CURLOPT_XOAUTH2_BEARER \- specify OAuth 2.0 access token .SH SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_XOAUTH2_BEARER, char *token); |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/opts/Makefile.in.
︙ | ︙ | |||
313 314 315 316 317 318 319 320 321 322 323 324 325 326 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ | > | 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_BEARSSL = @USE_BEARSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ |
︙ | ︙ |
Changes to jni/curl/docs/libcurl/symbols-in-versions.
︙ | ︙ | |||
34 35 36 37 38 39 40 | CURLCLOSEPOLICY_LEAST_RECENTLY_USED 7.7 CURLCLOSEPOLICY_LEAST_TRAFFIC 7.7 CURLCLOSEPOLICY_NONE 7.7 CURLCLOSEPOLICY_OLDEST 7.7 CURLCLOSEPOLICY_SLOWEST 7.7 CURLE_ABORTED_BY_CALLBACK 7.1 CURLE_AGAIN 7.18.2 | | | | | > | | 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 | CURLCLOSEPOLICY_LEAST_RECENTLY_USED 7.7 CURLCLOSEPOLICY_LEAST_TRAFFIC 7.7 CURLCLOSEPOLICY_NONE 7.7 CURLCLOSEPOLICY_OLDEST 7.7 CURLCLOSEPOLICY_SLOWEST 7.7 CURLE_ABORTED_BY_CALLBACK 7.1 CURLE_AGAIN 7.18.2 CURLE_ALREADY_COMPLETE 7.7.2 7.8 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 CURLE_CONV_REQD 7.15.4 CURLE_COULDNT_CONNECT 7.1 CURLE_COULDNT_RESOLVE_HOST 7.1 CURLE_COULDNT_RESOLVE_PROXY 7.1 CURLE_FAILED_INIT 7.1 CURLE_FILESIZE_EXCEEDED 7.10.8 CURLE_FILE_COULDNT_READ_FILE 7.1 CURLE_FTP_ACCEPT_FAILED 7.24.0 CURLE_FTP_ACCEPT_TIMEOUT 7.24.0 CURLE_FTP_ACCESS_DENIED 7.1 7.17.0 CURLE_FTP_BAD_DOWNLOAD_RESUME 7.1 7.1 CURLE_FTP_BAD_FILE_LIST 7.21.0 CURLE_FTP_CANT_GET_HOST 7.1 CURLE_FTP_CANT_RECONNECT 7.1 7.17.0 CURLE_FTP_COULDNT_GET_SIZE 7.1 7.17.0 CURLE_FTP_COULDNT_RETR_FILE 7.1 CURLE_FTP_COULDNT_SET_ASCII 7.1 7.17.0 CURLE_FTP_COULDNT_SET_BINARY 7.1 7.17.0 CURLE_FTP_COULDNT_SET_TYPE 7.17.0 CURLE_FTP_COULDNT_STOR_FILE 7.1 7.16.3 CURLE_FTP_COULDNT_USE_REST 7.1 CURLE_FTP_PARTIAL_FILE 7.1 7.1 CURLE_FTP_PORT_FAILED 7.1 CURLE_FTP_PRET_FAILED 7.20.0 CURLE_FTP_QUOTE_ERROR 7.1 7.17.0 CURLE_FTP_SSL_FAILED 7.11.0 7.17.0 CURLE_FTP_USER_PASSWORD_INCORRECT 7.1 7.17.0 CURLE_FTP_WEIRD_227_FORMAT 7.1 CURLE_FTP_WEIRD_PASS_REPLY 7.1 CURLE_FTP_WEIRD_PASV_REPLY 7.1 CURLE_FTP_WEIRD_SERVER_REPLY 7.1 7.51.0 CURLE_FTP_WEIRD_USER_REPLY 7.1 7.17.0 CURLE_FTP_WRITE_ERROR 7.1 7.17.0 CURLE_FUNCTION_NOT_FOUND 7.1 CURLE_GOT_NOTHING 7.9.1 CURLE_HTTP2 7.38.0 CURLE_HTTP2_STREAM 7.49.0 CURLE_HTTP3 7.68.0 CURLE_HTTP_NOT_FOUND 7.1 7.10.3 CURLE_HTTP_PORT_FAILED 7.3 7.12.0 CURLE_HTTP_POST_ERROR 7.1 CURLE_HTTP_RANGE_ERROR 7.1 7.17.0 CURLE_HTTP_RETURNED_ERROR 7.10.3 CURLE_INTERFACE_FAILED 7.12.0 CURLE_LDAP_CANNOT_BIND 7.1 CURLE_LDAP_INVALID_URL 7.10.8 |
︙ | ︙ | |||
139 140 141 142 143 144 145 | CURLE_TFTP_ILLEGAL 7.15.0 CURLE_TFTP_NOSUCHUSER 7.15.0 CURLE_TFTP_NOTFOUND 7.15.0 CURLE_TFTP_PERM 7.15.0 CURLE_TFTP_UNKNOWNID 7.15.0 CURLE_TOO_MANY_REDIRECTS 7.5 CURLE_UNKNOWN_OPTION 7.21.5 | | | 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | CURLE_TFTP_ILLEGAL 7.15.0 CURLE_TFTP_NOSUCHUSER 7.15.0 CURLE_TFTP_NOTFOUND 7.15.0 CURLE_TFTP_PERM 7.15.0 CURLE_TFTP_UNKNOWNID 7.15.0 CURLE_TOO_MANY_REDIRECTS 7.5 CURLE_UNKNOWN_OPTION 7.21.5 CURLE_UNKNOWN_TELNET_OPTION 7.7 7.21.5 CURLE_UNSUPPORTED_PROTOCOL 7.1 CURLE_UPLOAD_FAILED 7.16.3 CURLE_URL_MALFORMAT 7.1 CURLE_URL_MALFORMAT_USER 7.1 7.17.0 CURLE_USE_SSL_FAILED 7.17.0 CURLE_WEIRD_SERVER_REPLY 7.51.0 CURLE_WRITE_ERROR 7.1 |
︙ | ︙ | |||
337 338 339 340 341 342 343 344 345 346 347 348 349 350 | CURLM_BAD_SOCKET 7.15.4 CURLM_CALL_MULTI_PERFORM 7.9.6 CURLM_CALL_MULTI_SOCKET 7.15.5 CURLM_INTERNAL_ERROR 7.9.6 CURLM_OK 7.9.6 CURLM_OUT_OF_MEMORY 7.9.6 CURLM_RECURSIVE_API_CALL 7.59.0 CURLM_UNKNOWN_OPTION 7.15.4 CURLOPTTYPE_FUNCTIONPOINT 7.1 CURLOPTTYPE_LONG 7.1 CURLOPTTYPE_OBJECTPOINT 7.1 CURLOPTTYPE_OFF_T 7.11.0 CURLOPTTYPE_STRINGPOINT 7.46.0 CURLOPTTYPE_SLISTPOINT 7.65.2 | > | 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 | CURLM_BAD_SOCKET 7.15.4 CURLM_CALL_MULTI_PERFORM 7.9.6 CURLM_CALL_MULTI_SOCKET 7.15.5 CURLM_INTERNAL_ERROR 7.9.6 CURLM_OK 7.9.6 CURLM_OUT_OF_MEMORY 7.9.6 CURLM_RECURSIVE_API_CALL 7.59.0 CURLM_WAKEUP_FAILURE 7.68.0 CURLM_UNKNOWN_OPTION 7.15.4 CURLOPTTYPE_FUNCTIONPOINT 7.1 CURLOPTTYPE_LONG 7.1 CURLOPTTYPE_OBJECTPOINT 7.1 CURLOPTTYPE_OFF_T 7.11.0 CURLOPTTYPE_STRINGPOINT 7.46.0 CURLOPTTYPE_SLISTPOINT 7.65.2 |
︙ | ︙ | |||
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 | CURLSSH_AUTH_GSSAPI 7.58.0 CURLSSH_AUTH_HOST 7.16.1 CURLSSH_AUTH_KEYBOARD 7.16.1 CURLSSH_AUTH_NONE 7.16.1 CURLSSH_AUTH_PASSWORD 7.16.1 CURLSSH_AUTH_PUBLICKEY 7.16.1 CURLSSLBACKEND_AXTLS 7.38.0 7.61.0 CURLSSLBACKEND_BORINGSSL 7.49.0 CURLSSLBACKEND_CYASSL 7.34.0 CURLSSLBACKEND_DARWINSSL 7.34.0 7.64.1 CURLSSLBACKEND_GNUTLS 7.34.0 CURLSSLBACKEND_GSKIT 7.34.0 CURLSSLBACKEND_LIBRESSL 7.49.0 CURLSSLBACKEND_MBEDTLS 7.46.0 CURLSSLBACKEND_MESALINK 7.62.0 CURLSSLBACKEND_NONE 7.34.0 CURLSSLBACKEND_NSS 7.34.0 CURLSSLBACKEND_OPENSSL 7.34.0 CURLSSLBACKEND_POLARSSL 7.34.0 CURLSSLBACKEND_QSOSSL 7.34.0 - 7.38.1 CURLSSLBACKEND_SCHANNEL 7.34.0 CURLSSLBACKEND_SECURETRANSPORT 7.64.1 CURLSSLBACKEND_WOLFSSL 7.49.0 CURLSSLOPT_ALLOW_BEAST 7.25.0 CURLSSLOPT_NO_REVOKE 7.44.0 CURLSSLSET_NO_BACKENDS 7.56.0 CURLSSLSET_OK 7.56.0 CURLSSLSET_TOO_LATE 7.56.0 CURLSSLSET_UNKNOWN_BACKEND 7.56.0 CURLUE_BAD_HANDLE 7.62.0 CURLUE_BAD_PARTPOINTER 7.62.0 | > > | 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 | CURLSSH_AUTH_GSSAPI 7.58.0 CURLSSH_AUTH_HOST 7.16.1 CURLSSH_AUTH_KEYBOARD 7.16.1 CURLSSH_AUTH_NONE 7.16.1 CURLSSH_AUTH_PASSWORD 7.16.1 CURLSSH_AUTH_PUBLICKEY 7.16.1 CURLSSLBACKEND_AXTLS 7.38.0 7.61.0 CURLSSLBACKEND_BEARSSL 7.68.0 CURLSSLBACKEND_BORINGSSL 7.49.0 CURLSSLBACKEND_CYASSL 7.34.0 CURLSSLBACKEND_DARWINSSL 7.34.0 7.64.1 CURLSSLBACKEND_GNUTLS 7.34.0 CURLSSLBACKEND_GSKIT 7.34.0 CURLSSLBACKEND_LIBRESSL 7.49.0 CURLSSLBACKEND_MBEDTLS 7.46.0 CURLSSLBACKEND_MESALINK 7.62.0 CURLSSLBACKEND_NONE 7.34.0 CURLSSLBACKEND_NSS 7.34.0 CURLSSLBACKEND_OPENSSL 7.34.0 CURLSSLBACKEND_POLARSSL 7.34.0 CURLSSLBACKEND_QSOSSL 7.34.0 - 7.38.1 CURLSSLBACKEND_SCHANNEL 7.34.0 CURLSSLBACKEND_SECURETRANSPORT 7.64.1 CURLSSLBACKEND_WOLFSSL 7.49.0 CURLSSLOPT_ALLOW_BEAST 7.25.0 CURLSSLOPT_NO_PARTIALCHAIN 7.68.0 CURLSSLOPT_NO_REVOKE 7.44.0 CURLSSLSET_NO_BACKENDS 7.56.0 CURLSSLSET_OK 7.56.0 CURLSSLSET_TOO_LATE 7.56.0 CURLSSLSET_UNKNOWN_BACKEND 7.56.0 CURLUE_BAD_HANDLE 7.62.0 CURLUE_BAD_PARTPOINTER 7.62.0 |
︙ | ︙ | |||
862 863 864 865 866 867 868 869 870 871 872 873 874 875 | CURL_NETRC_OPTIONAL 7.9.8 CURL_NETRC_REQUIRED 7.9.8 CURL_POLL_IN 7.14.0 CURL_POLL_INOUT 7.14.0 CURL_POLL_NONE 7.14.0 CURL_POLL_OUT 7.14.0 CURL_POLL_REMOVE 7.14.0 CURL_PROGRESS_BAR 7.1.1 - 7.4.1 CURL_PROGRESS_STATS 7.1.1 - 7.4.1 CURL_PUSH_DENY 7.44.0 CURL_PUSH_OK 7.44.0 CURL_READFUNC_ABORT 7.12.1 CURL_READFUNC_PAUSE 7.18.0 CURL_REDIR_GET_ALL 7.19.1 | > | 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 | CURL_NETRC_OPTIONAL 7.9.8 CURL_NETRC_REQUIRED 7.9.8 CURL_POLL_IN 7.14.0 CURL_POLL_INOUT 7.14.0 CURL_POLL_NONE 7.14.0 CURL_POLL_OUT 7.14.0 CURL_POLL_REMOVE 7.14.0 CURL_PROGRESSFUNC_CONTINUE 7.68.0 CURL_PROGRESS_BAR 7.1.1 - 7.4.1 CURL_PROGRESS_STATS 7.1.1 - 7.4.1 CURL_PUSH_DENY 7.44.0 CURL_PUSH_OK 7.44.0 CURL_READFUNC_ABORT 7.12.1 CURL_READFUNC_PAUSE 7.18.0 CURL_REDIR_GET_ALL 7.19.1 |
︙ | ︙ |
Changes to jni/curl/include/Makefile.in.
︙ | ︙ | |||
319 320 321 322 323 324 325 326 327 328 329 330 331 332 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ | > | 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_BEARSSL = @USE_BEARSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ |
︙ | ︙ |
Changes to jni/curl/include/curl/Makefile.in.
︙ | ︙ | |||
306 307 308 309 310 311 312 313 314 315 316 317 318 319 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ | > | 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_BEARSSL = @USE_BEARSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ |
︙ | ︙ |
Changes to jni/curl/include/curl/curl.h.
︙ | ︙ | |||
150 151 152 153 154 155 156 | CURLSSLBACKEND_GSKIT = 5, CURLSSLBACKEND_POLARSSL = 6, CURLSSLBACKEND_WOLFSSL = 7, CURLSSLBACKEND_SCHANNEL = 8, CURLSSLBACKEND_SECURETRANSPORT = 9, CURLSSLBACKEND_AXTLS = 10, /* never used since 7.63.0 */ CURLSSLBACKEND_MBEDTLS = 11, | | > | 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | CURLSSLBACKEND_GSKIT = 5, CURLSSLBACKEND_POLARSSL = 6, CURLSSLBACKEND_WOLFSSL = 7, CURLSSLBACKEND_SCHANNEL = 8, CURLSSLBACKEND_SECURETRANSPORT = 9, CURLSSLBACKEND_AXTLS = 10, /* never used since 7.63.0 */ CURLSSLBACKEND_MBEDTLS = 11, CURLSSLBACKEND_MESALINK = 12, CURLSSLBACKEND_BEARSSL = 13 } curl_sslbackend; /* aliases for library clones and renames */ #define CURLSSLBACKEND_LIBRESSL CURLSSLBACKEND_OPENSSL #define CURLSSLBACKEND_BORINGSSL CURLSSLBACKEND_OPENSSL /* deprecated names: */ |
︙ | ︙ | |||
205 206 207 208 209 210 211 212 213 214 215 216 217 218 | void *userp; /* custom pointer used for HTTPPOST_CALLBACK posts */ curl_off_t contentlen; /* alternative length of contents field. Used if CURL_HTTPPOST_LARGE is set. Added in 7.46.0 */ }; /* This is the CURLOPT_PROGRESSFUNCTION callback prototype. It is now considered deprecated but was the only choice up until 7.31.0 */ typedef int (*curl_progress_callback)(void *clientp, double dltotal, double dlnow, double ultotal, double ulnow); | > > > > > | 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 | void *userp; /* custom pointer used for HTTPPOST_CALLBACK posts */ curl_off_t contentlen; /* alternative length of contents field. Used if CURL_HTTPPOST_LARGE is set. Added in 7.46.0 */ }; /* This is a return code for the progress callback that, when returned, will signal libcurl to continue executing the default progress function */ #define CURL_PROGRESSFUNC_CONTINUE 0x10000001 /* This is the CURLOPT_PROGRESSFUNCTION callback prototype. It is now considered deprecated but was the only choice up until 7.31.0 */ typedef int (*curl_progress_callback)(void *clientp, double dltotal, double dlnow, double ultotal, double ulnow); |
︙ | ︙ | |||
598 599 600 601 602 603 604 605 606 607 608 609 610 611 | CURLE_SSL_INVALIDCERTSTATUS, /* 91 - invalid certificate status */ CURLE_HTTP2_STREAM, /* 92 - stream error in HTTP/2 framing layer */ CURLE_RECURSIVE_API_CALL, /* 93 - an api function was called from inside a callback */ CURLE_AUTH_ERROR, /* 94 - an authentication function returned an error */ CURL_LAST /* never use! */ } CURLcode; #ifndef CURL_NO_OLDIES /* define this to test if your app builds with all the obsolete stuff removed! */ /* Previously obsolete error code re-used in 7.38.0 */ | > | 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 | CURLE_SSL_INVALIDCERTSTATUS, /* 91 - invalid certificate status */ CURLE_HTTP2_STREAM, /* 92 - stream error in HTTP/2 framing layer */ CURLE_RECURSIVE_API_CALL, /* 93 - an api function was called from inside a callback */ CURLE_AUTH_ERROR, /* 94 - an authentication function returned an error */ CURLE_HTTP3, /* 95 - An HTTP/3 layer problem */ CURL_LAST /* never use! */ } CURLcode; #ifndef CURL_NO_OLDIES /* define this to test if your app builds with all the obsolete stuff removed! */ /* Previously obsolete error code re-used in 7.38.0 */ |
︙ | ︙ | |||
816 817 818 819 820 821 822 823 824 825 826 827 828 829 | make the SSL communication fail. To regain functionality with those broken servers, a user can this way allow the vulnerability back. */ #define CURLSSLOPT_ALLOW_BEAST (1<<0) /* - NO_REVOKE tells libcurl to disable certificate revocation checks for those SSL backends where such behavior is present. */ #define CURLSSLOPT_NO_REVOKE (1<<1) /* The default connection attempt delay in milliseconds for happy eyeballs. CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 and happy-eyeballs-timeout-ms.d document this value, keep them in sync. */ #define CURL_HET_DEFAULT 200L /* The default connection upkeep interval in milliseconds. */ | > > > > | 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 | make the SSL communication fail. To regain functionality with those broken servers, a user can this way allow the vulnerability back. */ #define CURLSSLOPT_ALLOW_BEAST (1<<0) /* - NO_REVOKE tells libcurl to disable certificate revocation checks for those SSL backends where such behavior is present. */ #define CURLSSLOPT_NO_REVOKE (1<<1) /* - NO_PARTIALCHAIN tells libcurl to *NOT* accept a partial certificate chain if possible. The OpenSSL backend has this ability. */ #define CURLSSLOPT_NO_PARTIALCHAIN (1<<2) /* The default connection attempt delay in milliseconds for happy eyeballs. CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 and happy-eyeballs-timeout-ms.d document this value, keep them in sync. */ #define CURL_HET_DEFAULT 200L /* The default connection upkeep interval in milliseconds. */ |
︙ | ︙ | |||
941 942 943 944 945 946 947 948 949 950 951 952 953 954 | #ifdef CURL_ISOCPP #define CINIT(na,t,nu) CURLOPT_ ## na = CURLOPTTYPE_ ## t + nu #else /* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */ #define LONG CURLOPTTYPE_LONG #define OBJECTPOINT CURLOPTTYPE_OBJECTPOINT #define FUNCTIONPOINT CURLOPTTYPE_FUNCTIONPOINT #define OFF_T CURLOPTTYPE_OFF_T #define CINIT(name,type,number) CURLOPT_/**/name = type + number #endif /* handy aliases that make no run-time difference */ #define CURLOPTTYPE_STRINGPOINT CURLOPTTYPE_OBJECTPOINT | > > | 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 | #ifdef CURL_ISOCPP #define CINIT(na,t,nu) CURLOPT_ ## na = CURLOPTTYPE_ ## t + nu #else /* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */ #define LONG CURLOPTTYPE_LONG #define OBJECTPOINT CURLOPTTYPE_OBJECTPOINT #define STRINGPOINT CURLOPTTYPE_OBJECTPOINT #define SLISTPOINT CURLOPTTYPE_OBJECTPOINT #define FUNCTIONPOINT CURLOPTTYPE_FUNCTIONPOINT #define OFF_T CURLOPTTYPE_OFF_T #define CINIT(name,type,number) CURLOPT_/**/name = type + number #endif /* handy aliases that make no run-time difference */ #define CURLOPTTYPE_STRINGPOINT CURLOPTTYPE_OBJECTPOINT |
︙ | ︙ |
Changes to jni/curl/include/curl/curlver.h.
︙ | ︙ | |||
26 27 28 29 30 31 32 | a script at release-time. This was made its own header file in 7.11.2 */ /* This is the global package copyright */ #define LIBCURL_COPYRIGHT "1996 - 2019 Daniel Stenberg, <daniel@haxx.se>." /* This is the version number of the libcurl package from which this header file origins: */ | | | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | a script at release-time. This was made its own header file in 7.11.2 */ /* This is the global package copyright */ #define LIBCURL_COPYRIGHT "1996 - 2019 Daniel Stenberg, <daniel@haxx.se>." /* This is the version number of the libcurl package from which this header file origins: */ #define LIBCURL_VERSION "7.68.0" /* The numeric version number is also available "in parts" by using these defines: */ #define LIBCURL_VERSION_MAJOR 7 #define LIBCURL_VERSION_MINOR 68 #define LIBCURL_VERSION_PATCH 0 /* This is the numeric version of the libcurl version number, meant for easier parsing and comparions by programs. The LIBCURL_VERSION_NUM define will always follow this syntax: 0xXXYYZZ |
︙ | ︙ | |||
53 54 55 56 57 58 59 | 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. */ | | | | 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 | 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 0x074400 /* * 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 "2020-01-08" #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/multi.h.
1 2 3 4 5 6 7 8 9 | #ifndef CURLINC_MULTI_H #define CURLINC_MULTI_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef CURLINC_MULTI_H #define CURLINC_MULTI_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
68 69 70 71 72 73 74 75 76 77 78 79 80 81 | CURLM_INTERNAL_ERROR, /* this is a libcurl bug */ CURLM_BAD_SOCKET, /* the passed in socket argument did not match */ CURLM_UNKNOWN_OPTION, /* curl_multi_setopt() with unsupported option */ CURLM_ADDED_ALREADY, /* an easy handle already added to a multi handle was attempted to get added - again */ CURLM_RECURSIVE_API_CALL, /* an api function was called from inside a callback */ CURLM_LAST } CURLMcode; /* just to make code nicer when using curl_multi_socket() you can now check for CURLM_CALL_MULTI_SOCKET too in the same style it works for curl_multi_perform() and CURLM_CALL_MULTI_PERFORM */ #define CURLM_CALL_MULTI_SOCKET CURLM_CALL_MULTI_PERFORM | > | 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | CURLM_INTERNAL_ERROR, /* this is a libcurl bug */ CURLM_BAD_SOCKET, /* the passed in socket argument did not match */ CURLM_UNKNOWN_OPTION, /* curl_multi_setopt() with unsupported option */ CURLM_ADDED_ALREADY, /* an easy handle already added to a multi handle was attempted to get added - again */ CURLM_RECURSIVE_API_CALL, /* an api function was called from inside a callback */ CURLM_WAKEUP_FAILURE, /* wakeup is unavailable or failed */ CURLM_LAST } CURLMcode; /* just to make code nicer when using curl_multi_socket() you can now check for CURLM_CALL_MULTI_SOCKET too in the same style it works for curl_multi_perform() and CURLM_CALL_MULTI_PERFORM */ #define CURLM_CALL_MULTI_SOCKET CURLM_CALL_MULTI_PERFORM |
︙ | ︙ | |||
183 184 185 186 187 188 189 190 191 192 193 194 195 196 | */ CURL_EXTERN CURLMcode curl_multi_poll(CURLM *multi_handle, struct curl_waitfd extra_fds[], unsigned int extra_nfds, int timeout_ms, int *ret); /* * Name: curl_multi_perform() * * Desc: When the app thinks there's data available for curl it calls this * function to read/write whatever there is right now. This returns * as soon as the reads and writes are done. This function does not * require that there actually is data available for reading or that | > > > > > > > > > | 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 | */ CURL_EXTERN CURLMcode curl_multi_poll(CURLM *multi_handle, struct curl_waitfd extra_fds[], unsigned int extra_nfds, int timeout_ms, int *ret); /* * Name: curl_multi_wakeup() * * Desc: wakes up a sleeping curl_multi_poll call. * * Returns: CURLMcode type, general multi error code. */ CURL_EXTERN CURLMcode curl_multi_wakeup(CURLM *multi_handle); /* * Name: curl_multi_perform() * * Desc: When the app thinks there's data available for curl it calls this * function to read/write whatever there is right now. This returns * as soon as the reads and writes are done. This function does not * require that there actually is data available for reading or that |
︙ | ︙ | |||
447 448 449 450 451 452 453 | typedef int (*curl_push_callback)(CURL *parent, CURL *easy, size_t num_headers, struct curl_pushheaders *headers, void *userp); | < < < | 457 458 459 460 461 462 463 464 465 466 467 468 | typedef int (*curl_push_callback)(CURL *parent, CURL *easy, size_t num_headers, struct curl_pushheaders *headers, void *userp); #ifdef __cplusplus } /* end of extern "C" */ #endif #endif |
Changes to jni/curl/include/curl/system.h.
︙ | ︙ | |||
133 134 135 136 137 138 139 | # define CURL_FORMAT_CURL_OFF_TU "llu" # define CURL_SUFFIX_CURL_OFF_T LL # define CURL_SUFFIX_CURL_OFF_TU ULL # endif # define CURL_TYPEOF_CURL_SOCKLEN_T int #elif defined(__LCC__) | > | | | | | > > > > > > > > > | > | | 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 | # define CURL_FORMAT_CURL_OFF_TU "llu" # define CURL_SUFFIX_CURL_OFF_T LL # define CURL_SUFFIX_CURL_OFF_TU ULL # endif # define CURL_TYPEOF_CURL_SOCKLEN_T int #elif defined(__LCC__) # if defined(__e2k__) /* MCST eLbrus C Compiler */ # define CURL_TYPEOF_CURL_OFF_T long # define CURL_FORMAT_CURL_OFF_T "ld" # define CURL_FORMAT_CURL_OFF_TU "lu" # define CURL_SUFFIX_CURL_OFF_T L # define CURL_SUFFIX_CURL_OFF_TU UL # define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t # define CURL_PULL_SYS_TYPES_H 1 # define CURL_PULL_SYS_SOCKET_H 1 # else /* Local (or Little) C Compiler */ # define CURL_TYPEOF_CURL_OFF_T long # define CURL_FORMAT_CURL_OFF_T "ld" # define CURL_FORMAT_CURL_OFF_TU "lu" # define CURL_SUFFIX_CURL_OFF_T L # define CURL_SUFFIX_CURL_OFF_TU UL # define CURL_TYPEOF_CURL_SOCKLEN_T int # endif #elif defined(__SYMBIAN32__) # if defined(__EABI__) /* Treat all ARM compilers equally */ # define CURL_TYPEOF_CURL_OFF_T long long # define CURL_FORMAT_CURL_OFF_T "lld" # define CURL_FORMAT_CURL_OFF_TU "llu" # define CURL_SUFFIX_CURL_OFF_T LL # define CURL_SUFFIX_CURL_OFF_TU ULL # elif defined(__CW32__) # pragma longlong on |
︙ | ︙ | |||
284 285 286 287 288 289 290 | # define CURL_FORMAT_CURL_OFF_T "ld" # define CURL_FORMAT_CURL_OFF_TU "lu" # define CURL_SUFFIX_CURL_OFF_T L # define CURL_SUFFIX_CURL_OFF_TU UL # define CURL_TYPEOF_CURL_SOCKLEN_T int #elif defined(__TINYC__) /* also known as tcc */ | < | 295 296 297 298 299 300 301 302 303 304 305 306 307 308 | # define CURL_FORMAT_CURL_OFF_T "ld" # define CURL_FORMAT_CURL_OFF_TU "lu" # define CURL_SUFFIX_CURL_OFF_T L # define CURL_SUFFIX_CURL_OFF_TU UL # define CURL_TYPEOF_CURL_SOCKLEN_T int #elif defined(__TINYC__) /* also known as tcc */ # define CURL_TYPEOF_CURL_OFF_T long long # define CURL_FORMAT_CURL_OFF_T "lld" # define CURL_FORMAT_CURL_OFF_TU "llu" # define CURL_SUFFIX_CURL_OFF_T LL # define CURL_SUFFIX_CURL_OFF_TU ULL # define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t # define CURL_PULL_SYS_TYPES_H 1 |
︙ | ︙ | |||
373 374 375 376 377 378 379 380 381 382 383 384 385 386 | # define CURL_TYPEOF_CURL_OFF_T long long # define CURL_FORMAT_CURL_OFF_T "lld" # define CURL_FORMAT_CURL_OFF_TU "llu" # define CURL_SUFFIX_CURL_OFF_T LL # define CURL_SUFFIX_CURL_OFF_TU ULL # elif defined(__LP64__) || \ defined(__x86_64__) || defined(__ppc64__) || defined(__sparc64__) || \ (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 8) || \ (defined(__LONG_MAX__) && __LONG_MAX__ == 9223372036854775807L) # define CURL_TYPEOF_CURL_OFF_T long # define CURL_FORMAT_CURL_OFF_T "ld" # define CURL_FORMAT_CURL_OFF_TU "lu" # define CURL_SUFFIX_CURL_OFF_T L # define CURL_SUFFIX_CURL_OFF_TU UL | > | 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 | # define CURL_TYPEOF_CURL_OFF_T long long # define CURL_FORMAT_CURL_OFF_T "lld" # define CURL_FORMAT_CURL_OFF_TU "llu" # define CURL_SUFFIX_CURL_OFF_T LL # define CURL_SUFFIX_CURL_OFF_TU ULL # elif defined(__LP64__) || \ defined(__x86_64__) || defined(__ppc64__) || defined(__sparc64__) || \ defined(__e2k__) || \ (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 8) || \ (defined(__LONG_MAX__) && __LONG_MAX__ == 9223372036854775807L) # define CURL_TYPEOF_CURL_OFF_T long # define CURL_FORMAT_CURL_OFF_T "ld" # define CURL_FORMAT_CURL_OFF_TU "lu" # define CURL_SUFFIX_CURL_OFF_T L # define CURL_SUFFIX_CURL_OFF_TU UL |
︙ | ︙ |
Changes to jni/curl/lib/CMakeLists.txt.
︙ | ︙ | |||
16 17 18 19 20 21 22 | list(APPEND HHEADERS ${CMAKE_CURRENT_BINARY_DIR}/curl_config.h ) if(MSVC) list(APPEND CSOURCES libcurl.rc) | < | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | list(APPEND HHEADERS ${CMAKE_CURRENT_BINARY_DIR}/curl_config.h ) if(MSVC) list(APPEND CSOURCES libcurl.rc) endif() # SET(CSOURCES # # memdebug.c -not used # # nwlib.c - Not used # # strtok.c - specify later # # strtoofft.c - specify later |
︙ | ︙ |
Changes to jni/curl/lib/Makefile.in.
︙ | ︙ | |||
241 242 243 244 245 246 247 | am__objects_3 = vtls/libcurl_la-openssl.lo vtls/libcurl_la-gtls.lo \ vtls/libcurl_la-vtls.lo vtls/libcurl_la-nss.lo \ vtls/libcurl_la-polarssl.lo \ vtls/libcurl_la-polarssl_threadlock.lo \ vtls/libcurl_la-wolfssl.lo vtls/libcurl_la-schannel.lo \ vtls/libcurl_la-schannel_verify.lo \ vtls/libcurl_la-sectransp.lo vtls/libcurl_la-gskit.lo \ | | > | | 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 | am__objects_3 = vtls/libcurl_la-openssl.lo vtls/libcurl_la-gtls.lo \ vtls/libcurl_la-vtls.lo vtls/libcurl_la-nss.lo \ vtls/libcurl_la-polarssl.lo \ vtls/libcurl_la-polarssl_threadlock.lo \ vtls/libcurl_la-wolfssl.lo vtls/libcurl_la-schannel.lo \ vtls/libcurl_la-schannel_verify.lo \ vtls/libcurl_la-sectransp.lo vtls/libcurl_la-gskit.lo \ vtls/libcurl_la-mbedtls.lo vtls/libcurl_la-mesalink.lo \ vtls/libcurl_la-bearssl.lo am__objects_4 = vquic/libcurl_la-ngtcp2.lo vquic/libcurl_la-quiche.lo am__objects_5 = vssh/libcurl_la-libssh2.lo vssh/libcurl_la-libssh.lo am__objects_6 = $(am__objects_1) $(am__objects_2) $(am__objects_3) \ $(am__objects_4) $(am__objects_5) am__objects_7 = am__objects_8 = $(am__objects_7) $(am__objects_7) $(am__objects_7) \ $(am__objects_7) $(am__objects_7) am_libcurl_la_OBJECTS = $(am__objects_6) $(am__objects_8) libcurl_la_OBJECTS = $(am_libcurl_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = libcurl_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ |
︙ | ︙ | |||
328 329 330 331 332 333 334 | am__objects_11 = vtls/libcurlu_la-openssl.lo vtls/libcurlu_la-gtls.lo \ vtls/libcurlu_la-vtls.lo vtls/libcurlu_la-nss.lo \ vtls/libcurlu_la-polarssl.lo \ vtls/libcurlu_la-polarssl_threadlock.lo \ vtls/libcurlu_la-wolfssl.lo vtls/libcurlu_la-schannel.lo \ vtls/libcurlu_la-schannel_verify.lo \ vtls/libcurlu_la-sectransp.lo vtls/libcurlu_la-gskit.lo \ | | > | 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 | am__objects_11 = vtls/libcurlu_la-openssl.lo vtls/libcurlu_la-gtls.lo \ vtls/libcurlu_la-vtls.lo vtls/libcurlu_la-nss.lo \ vtls/libcurlu_la-polarssl.lo \ vtls/libcurlu_la-polarssl_threadlock.lo \ vtls/libcurlu_la-wolfssl.lo vtls/libcurlu_la-schannel.lo \ vtls/libcurlu_la-schannel_verify.lo \ vtls/libcurlu_la-sectransp.lo vtls/libcurlu_la-gskit.lo \ vtls/libcurlu_la-mbedtls.lo vtls/libcurlu_la-mesalink.lo \ vtls/libcurlu_la-bearssl.lo am__objects_12 = vquic/libcurlu_la-ngtcp2.lo \ vquic/libcurlu_la-quiche.lo am__objects_13 = vssh/libcurlu_la-libssh2.lo \ vssh/libcurlu_la-libssh.lo am__objects_14 = $(am__objects_9) $(am__objects_10) $(am__objects_11) \ $(am__objects_12) $(am__objects_13) am_libcurlu_la_OBJECTS = $(am__objects_14) $(am__objects_8) |
︙ | ︙ | |||
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 | vquic/$(DEPDIR)/libcurl_la-quiche.Plo \ vquic/$(DEPDIR)/libcurlu_la-ngtcp2.Plo \ vquic/$(DEPDIR)/libcurlu_la-quiche.Plo \ vssh/$(DEPDIR)/libcurl_la-libssh.Plo \ vssh/$(DEPDIR)/libcurl_la-libssh2.Plo \ vssh/$(DEPDIR)/libcurlu_la-libssh.Plo \ vssh/$(DEPDIR)/libcurlu_la-libssh2.Plo \ vtls/$(DEPDIR)/libcurl_la-gskit.Plo \ vtls/$(DEPDIR)/libcurl_la-gtls.Plo \ vtls/$(DEPDIR)/libcurl_la-mbedtls.Plo \ vtls/$(DEPDIR)/libcurl_la-mesalink.Plo \ vtls/$(DEPDIR)/libcurl_la-nss.Plo \ vtls/$(DEPDIR)/libcurl_la-openssl.Plo \ vtls/$(DEPDIR)/libcurl_la-polarssl.Plo \ vtls/$(DEPDIR)/libcurl_la-polarssl_threadlock.Plo \ vtls/$(DEPDIR)/libcurl_la-schannel.Plo \ vtls/$(DEPDIR)/libcurl_la-schannel_verify.Plo \ vtls/$(DEPDIR)/libcurl_la-sectransp.Plo \ vtls/$(DEPDIR)/libcurl_la-vtls.Plo \ vtls/$(DEPDIR)/libcurl_la-wolfssl.Plo \ vtls/$(DEPDIR)/libcurlu_la-gskit.Plo \ vtls/$(DEPDIR)/libcurlu_la-gtls.Plo \ vtls/$(DEPDIR)/libcurlu_la-mbedtls.Plo \ vtls/$(DEPDIR)/libcurlu_la-mesalink.Plo \ vtls/$(DEPDIR)/libcurlu_la-nss.Plo \ vtls/$(DEPDIR)/libcurlu_la-openssl.Plo \ vtls/$(DEPDIR)/libcurlu_la-polarssl.Plo \ | > > | 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 | vquic/$(DEPDIR)/libcurl_la-quiche.Plo \ vquic/$(DEPDIR)/libcurlu_la-ngtcp2.Plo \ vquic/$(DEPDIR)/libcurlu_la-quiche.Plo \ vssh/$(DEPDIR)/libcurl_la-libssh.Plo \ vssh/$(DEPDIR)/libcurl_la-libssh2.Plo \ vssh/$(DEPDIR)/libcurlu_la-libssh.Plo \ vssh/$(DEPDIR)/libcurlu_la-libssh2.Plo \ vtls/$(DEPDIR)/libcurl_la-bearssl.Plo \ vtls/$(DEPDIR)/libcurl_la-gskit.Plo \ vtls/$(DEPDIR)/libcurl_la-gtls.Plo \ vtls/$(DEPDIR)/libcurl_la-mbedtls.Plo \ vtls/$(DEPDIR)/libcurl_la-mesalink.Plo \ vtls/$(DEPDIR)/libcurl_la-nss.Plo \ vtls/$(DEPDIR)/libcurl_la-openssl.Plo \ vtls/$(DEPDIR)/libcurl_la-polarssl.Plo \ vtls/$(DEPDIR)/libcurl_la-polarssl_threadlock.Plo \ vtls/$(DEPDIR)/libcurl_la-schannel.Plo \ vtls/$(DEPDIR)/libcurl_la-schannel_verify.Plo \ vtls/$(DEPDIR)/libcurl_la-sectransp.Plo \ vtls/$(DEPDIR)/libcurl_la-vtls.Plo \ vtls/$(DEPDIR)/libcurl_la-wolfssl.Plo \ vtls/$(DEPDIR)/libcurlu_la-bearssl.Plo \ vtls/$(DEPDIR)/libcurlu_la-gskit.Plo \ vtls/$(DEPDIR)/libcurlu_la-gtls.Plo \ vtls/$(DEPDIR)/libcurlu_la-mbedtls.Plo \ vtls/$(DEPDIR)/libcurlu_la-mesalink.Plo \ vtls/$(DEPDIR)/libcurlu_la-nss.Plo \ vtls/$(DEPDIR)/libcurlu_la-openssl.Plo \ vtls/$(DEPDIR)/libcurlu_la-polarssl.Plo \ |
︙ | ︙ | |||
811 812 813 814 815 816 817 818 819 820 821 822 823 824 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ | > | 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_BEARSSL = @USE_BEARSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ |
︙ | ︙ | |||
971 972 973 974 975 976 977 | vauth/krb5_sspi.c vauth/ntlm.c vauth/ntlm_sspi.c vauth/oauth2.c \ vauth/spnego_gssapi.c vauth/spnego_sspi.c LIB_VAUTH_HFILES = vauth/vauth.h vauth/digest.h vauth/ntlm.h LIB_VTLS_CFILES = vtls/openssl.c vtls/gtls.c vtls/vtls.c vtls/nss.c \ vtls/polarssl.c vtls/polarssl_threadlock.c \ vtls/wolfssl.c vtls/schannel.c vtls/schannel_verify.c \ | | > | > | 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 | vauth/krb5_sspi.c vauth/ntlm.c vauth/ntlm_sspi.c vauth/oauth2.c \ vauth/spnego_gssapi.c vauth/spnego_sspi.c LIB_VAUTH_HFILES = vauth/vauth.h vauth/digest.h vauth/ntlm.h LIB_VTLS_CFILES = vtls/openssl.c vtls/gtls.c vtls/vtls.c vtls/nss.c \ vtls/polarssl.c vtls/polarssl_threadlock.c \ vtls/wolfssl.c vtls/schannel.c vtls/schannel_verify.c \ vtls/sectransp.c vtls/gskit.c vtls/mbedtls.c vtls/mesalink.c \ vtls/bearssl.c LIB_VTLS_HFILES = vtls/openssl.h vtls/vtls.h vtls/gtls.h \ vtls/nssg.h vtls/polarssl.h vtls/polarssl_threadlock.h \ vtls/wolfssl.h vtls/schannel.h vtls/sectransp.h vtls/gskit.h \ vtls/mbedtls.h vtls/mesalink.h vtls/bearssl.h LIB_VQUIC_CFILES = vquic/ngtcp2.c vquic/quiche.c LIB_VQUIC_HFILES = vquic/ngtcp2.h vquic/quiche.h LIB_VSSH_CFILES = vssh/libssh2.c vssh/libssh.c LIB_VSSH_HFILES = vssh/ssh.h LIB_CFILES = file.c timeval.c base64.c hostip.c progress.c formdata.c \ cookie.c http.c sendf.c ftp.c url.c dict.c if2ip.c speedcheck.c \ ldap.c version.c getenv.c escape.c mprintf.c telnet.c netrc.c \ getinfo.c transfer.c strcase.c easy.c security.c curl_fnmatch.c \ fileinfo.c ftplistparser.c wildcard.c krb5.c memdebug.c http_chunks.c \ strtok.c connect.c llist.c hash.c multi.c content_encoding.c share.c \ http_digest.c md4.c md5.c http_negotiate.c inet_pton.c strtoofft.c \ |
︙ | ︙ | |||
1010 1011 1012 1013 1014 1015 1016 | speedcheck.h urldata.h curl_ldap.h escape.h telnet.h getinfo.h \ strcase.h curl_sec.h memdebug.h http_chunks.h curl_fnmatch.h \ wildcard.h fileinfo.h ftplistparser.h strtok.h connect.h llist.h \ hash.h content_encoding.h share.h curl_md4.h curl_md5.h http_digest.h \ http_negotiate.h inet_pton.h amigaos.h strtoofft.h strerror.h \ inet_ntop.h curlx.h curl_memory.h curl_setup.h transfer.h select.h \ easyif.h multiif.h parsedate.h tftp.h sockaddr.h splay.h strdup.h \ | | | | 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 | speedcheck.h urldata.h curl_ldap.h escape.h telnet.h getinfo.h \ strcase.h curl_sec.h memdebug.h http_chunks.h curl_fnmatch.h \ wildcard.h fileinfo.h ftplistparser.h strtok.h connect.h llist.h \ hash.h content_encoding.h share.h curl_md4.h curl_md5.h http_digest.h \ http_negotiate.h inet_pton.h amigaos.h strtoofft.h strerror.h \ inet_ntop.h curlx.h curl_memory.h curl_setup.h transfer.h select.h \ easyif.h multiif.h parsedate.h tftp.h sockaddr.h splay.h strdup.h \ socks.h curl_base64.h curl_addrinfo.h curl_sspi.h \ slist.h nonblock.h curl_memrchr.h imap.h pop3.h smtp.h pingpong.h \ rtsp.h curl_threads.h warnless.h curl_hmac.h curl_rtmp.h \ curl_gethostname.h gopher.h http_proxy.h non-ascii.h asyn.h \ http_ntlm.h curl_gssapi.h curl_ntlm_wb.h curl_ntlm_core.h \ curl_sasl.h curl_multibyte.h hostcheck.h conncache.h \ curl_setup_once.h multihandle.h setup-vms.h dotdot.h \ x509asn1.h http2.h sigpipe.h smb.h curl_endian.h curl_des.h \ curl_printf.h system_win32.h rand.h mime.h curl_sha256.h setopt.h \ curl_path.h curl_ctype.h curl_range.h psl.h doh.h urlapi-int.h \ curl_get_line.h altsvc.h quic.h socketpair.h LIB_RCFILES = libcurl.rc CSOURCES = $(LIB_CFILES) $(LIB_VAUTH_CFILES) $(LIB_VTLS_CFILES) \ $(LIB_VQUIC_CFILES) $(LIB_VSSH_CFILES) HHEADERS = $(LIB_HFILES) $(LIB_VAUTH_HFILES) $(LIB_VTLS_HFILES) \ $(LIB_VQUIC_HFILES) $(LIB_VSSH_HFILES) # Makefile.inc provides the CSOURCES and HHEADERS defines libcurl_la_SOURCES = $(CSOURCES) $(HHEADERS) libcurlu_la_SOURCES = $(CSOURCES) $(HHEADERS) CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; |
︙ | ︙ | |||
1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 | vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurl_la-gskit.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurl_la-mbedtls.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurl_la-mesalink.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vquic/$(am__dirstamp): @$(MKDIR_P) vquic @: > vquic/$(am__dirstamp) vquic/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) vquic/$(DEPDIR) @: > vquic/$(DEPDIR)/$(am__dirstamp) vquic/libcurl_la-ngtcp2.lo: vquic/$(am__dirstamp) \ | > > | 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 | vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurl_la-gskit.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurl_la-mbedtls.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurl_la-mesalink.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurl_la-bearssl.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vquic/$(am__dirstamp): @$(MKDIR_P) vquic @: > vquic/$(am__dirstamp) vquic/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) vquic/$(DEPDIR) @: > vquic/$(DEPDIR)/$(am__dirstamp) vquic/libcurl_la-ngtcp2.lo: vquic/$(am__dirstamp) \ |
︙ | ︙ | |||
1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 | vtls/libcurlu_la-sectransp.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurlu_la-gskit.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurlu_la-mbedtls.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurlu_la-mesalink.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vquic/libcurlu_la-ngtcp2.lo: vquic/$(am__dirstamp) \ vquic/$(DEPDIR)/$(am__dirstamp) vquic/libcurlu_la-quiche.lo: vquic/$(am__dirstamp) \ vquic/$(DEPDIR)/$(am__dirstamp) vssh/libcurlu_la-libssh2.lo: vssh/$(am__dirstamp) \ vssh/$(DEPDIR)/$(am__dirstamp) | > > | 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 | vtls/libcurlu_la-sectransp.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurlu_la-gskit.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurlu_la-mbedtls.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurlu_la-mesalink.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vtls/libcurlu_la-bearssl.lo: vtls/$(am__dirstamp) \ vtls/$(DEPDIR)/$(am__dirstamp) vquic/libcurlu_la-ngtcp2.lo: vquic/$(am__dirstamp) \ vquic/$(DEPDIR)/$(am__dirstamp) vquic/libcurlu_la-quiche.lo: vquic/$(am__dirstamp) \ vquic/$(DEPDIR)/$(am__dirstamp) vssh/libcurlu_la-libssh2.lo: vssh/$(am__dirstamp) \ vssh/$(DEPDIR)/$(am__dirstamp) |
︙ | ︙ | |||
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 | @AMDEP_TRUE@@am__include@ @am__quote@vquic/$(DEPDIR)/libcurl_la-quiche.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vquic/$(DEPDIR)/libcurlu_la-ngtcp2.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vquic/$(DEPDIR)/libcurlu_la-quiche.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vssh/$(DEPDIR)/libcurl_la-libssh.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vssh/$(DEPDIR)/libcurl_la-libssh2.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vssh/$(DEPDIR)/libcurlu_la-libssh.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vssh/$(DEPDIR)/libcurlu_la-libssh2.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-gskit.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-gtls.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-mbedtls.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-mesalink.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-nss.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-openssl.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-polarssl.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-polarssl_threadlock.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-schannel.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-schannel_verify.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-sectransp.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-vtls.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-wolfssl.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-gskit.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-gtls.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-mbedtls.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-mesalink.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-nss.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-openssl.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-polarssl.Plo@am__quote@ # am--include-marker | > > | 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 | @AMDEP_TRUE@@am__include@ @am__quote@vquic/$(DEPDIR)/libcurl_la-quiche.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vquic/$(DEPDIR)/libcurlu_la-ngtcp2.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vquic/$(DEPDIR)/libcurlu_la-quiche.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vssh/$(DEPDIR)/libcurl_la-libssh.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vssh/$(DEPDIR)/libcurl_la-libssh2.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vssh/$(DEPDIR)/libcurlu_la-libssh.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vssh/$(DEPDIR)/libcurlu_la-libssh2.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-bearssl.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-gskit.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-gtls.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-mbedtls.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-mesalink.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-nss.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-openssl.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-polarssl.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-polarssl_threadlock.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-schannel.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-schannel_verify.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-sectransp.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-vtls.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurl_la-wolfssl.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-bearssl.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-gskit.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-gtls.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-mbedtls.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-mesalink.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-nss.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-openssl.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@vtls/$(DEPDIR)/libcurlu_la-polarssl.Plo@am__quote@ # am--include-marker |
︙ | ︙ | |||
2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 | vtls/libcurl_la-mesalink.lo: vtls/mesalink.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -MT vtls/libcurl_la-mesalink.lo -MD -MP -MF vtls/$(DEPDIR)/libcurl_la-mesalink.Tpo -c -o vtls/libcurl_la-mesalink.lo `test -f 'vtls/mesalink.c' || echo '$(srcdir)/'`vtls/mesalink.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vtls/$(DEPDIR)/libcurl_la-mesalink.Tpo vtls/$(DEPDIR)/libcurl_la-mesalink.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vtls/mesalink.c' object='vtls/libcurl_la-mesalink.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -c -o vtls/libcurl_la-mesalink.lo `test -f 'vtls/mesalink.c' || echo '$(srcdir)/'`vtls/mesalink.c vquic/libcurl_la-ngtcp2.lo: vquic/ngtcp2.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -MT vquic/libcurl_la-ngtcp2.lo -MD -MP -MF vquic/$(DEPDIR)/libcurl_la-ngtcp2.Tpo -c -o vquic/libcurl_la-ngtcp2.lo `test -f 'vquic/ngtcp2.c' || echo '$(srcdir)/'`vquic/ngtcp2.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vquic/$(DEPDIR)/libcurl_la-ngtcp2.Tpo vquic/$(DEPDIR)/libcurl_la-ngtcp2.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vquic/ngtcp2.c' object='vquic/libcurl_la-ngtcp2.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -c -o vquic/libcurl_la-ngtcp2.lo `test -f 'vquic/ngtcp2.c' || echo '$(srcdir)/'`vquic/ngtcp2.c | > > > > > > > | 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 | vtls/libcurl_la-mesalink.lo: vtls/mesalink.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -MT vtls/libcurl_la-mesalink.lo -MD -MP -MF vtls/$(DEPDIR)/libcurl_la-mesalink.Tpo -c -o vtls/libcurl_la-mesalink.lo `test -f 'vtls/mesalink.c' || echo '$(srcdir)/'`vtls/mesalink.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vtls/$(DEPDIR)/libcurl_la-mesalink.Tpo vtls/$(DEPDIR)/libcurl_la-mesalink.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vtls/mesalink.c' object='vtls/libcurl_la-mesalink.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -c -o vtls/libcurl_la-mesalink.lo `test -f 'vtls/mesalink.c' || echo '$(srcdir)/'`vtls/mesalink.c vtls/libcurl_la-bearssl.lo: vtls/bearssl.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -MT vtls/libcurl_la-bearssl.lo -MD -MP -MF vtls/$(DEPDIR)/libcurl_la-bearssl.Tpo -c -o vtls/libcurl_la-bearssl.lo `test -f 'vtls/bearssl.c' || echo '$(srcdir)/'`vtls/bearssl.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vtls/$(DEPDIR)/libcurl_la-bearssl.Tpo vtls/$(DEPDIR)/libcurl_la-bearssl.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vtls/bearssl.c' object='vtls/libcurl_la-bearssl.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -c -o vtls/libcurl_la-bearssl.lo `test -f 'vtls/bearssl.c' || echo '$(srcdir)/'`vtls/bearssl.c vquic/libcurl_la-ngtcp2.lo: vquic/ngtcp2.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -MT vquic/libcurl_la-ngtcp2.lo -MD -MP -MF vquic/$(DEPDIR)/libcurl_la-ngtcp2.Tpo -c -o vquic/libcurl_la-ngtcp2.lo `test -f 'vquic/ngtcp2.c' || echo '$(srcdir)/'`vquic/ngtcp2.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vquic/$(DEPDIR)/libcurl_la-ngtcp2.Tpo vquic/$(DEPDIR)/libcurl_la-ngtcp2.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vquic/ngtcp2.c' object='vquic/libcurl_la-ngtcp2.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurl_la_CPPFLAGS) $(CPPFLAGS) $(libcurl_la_CFLAGS) $(CFLAGS) -c -o vquic/libcurl_la-ngtcp2.lo `test -f 'vquic/ngtcp2.c' || echo '$(srcdir)/'`vquic/ngtcp2.c |
︙ | ︙ | |||
3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 | vtls/libcurlu_la-mesalink.lo: vtls/mesalink.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -MT vtls/libcurlu_la-mesalink.lo -MD -MP -MF vtls/$(DEPDIR)/libcurlu_la-mesalink.Tpo -c -o vtls/libcurlu_la-mesalink.lo `test -f 'vtls/mesalink.c' || echo '$(srcdir)/'`vtls/mesalink.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vtls/$(DEPDIR)/libcurlu_la-mesalink.Tpo vtls/$(DEPDIR)/libcurlu_la-mesalink.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vtls/mesalink.c' object='vtls/libcurlu_la-mesalink.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -c -o vtls/libcurlu_la-mesalink.lo `test -f 'vtls/mesalink.c' || echo '$(srcdir)/'`vtls/mesalink.c vquic/libcurlu_la-ngtcp2.lo: vquic/ngtcp2.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -MT vquic/libcurlu_la-ngtcp2.lo -MD -MP -MF vquic/$(DEPDIR)/libcurlu_la-ngtcp2.Tpo -c -o vquic/libcurlu_la-ngtcp2.lo `test -f 'vquic/ngtcp2.c' || echo '$(srcdir)/'`vquic/ngtcp2.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vquic/$(DEPDIR)/libcurlu_la-ngtcp2.Tpo vquic/$(DEPDIR)/libcurlu_la-ngtcp2.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vquic/ngtcp2.c' object='vquic/libcurlu_la-ngtcp2.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -c -o vquic/libcurlu_la-ngtcp2.lo `test -f 'vquic/ngtcp2.c' || echo '$(srcdir)/'`vquic/ngtcp2.c | > > > > > > > | 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 | vtls/libcurlu_la-mesalink.lo: vtls/mesalink.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -MT vtls/libcurlu_la-mesalink.lo -MD -MP -MF vtls/$(DEPDIR)/libcurlu_la-mesalink.Tpo -c -o vtls/libcurlu_la-mesalink.lo `test -f 'vtls/mesalink.c' || echo '$(srcdir)/'`vtls/mesalink.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vtls/$(DEPDIR)/libcurlu_la-mesalink.Tpo vtls/$(DEPDIR)/libcurlu_la-mesalink.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vtls/mesalink.c' object='vtls/libcurlu_la-mesalink.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -c -o vtls/libcurlu_la-mesalink.lo `test -f 'vtls/mesalink.c' || echo '$(srcdir)/'`vtls/mesalink.c vtls/libcurlu_la-bearssl.lo: vtls/bearssl.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -MT vtls/libcurlu_la-bearssl.lo -MD -MP -MF vtls/$(DEPDIR)/libcurlu_la-bearssl.Tpo -c -o vtls/libcurlu_la-bearssl.lo `test -f 'vtls/bearssl.c' || echo '$(srcdir)/'`vtls/bearssl.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vtls/$(DEPDIR)/libcurlu_la-bearssl.Tpo vtls/$(DEPDIR)/libcurlu_la-bearssl.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vtls/bearssl.c' object='vtls/libcurlu_la-bearssl.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -c -o vtls/libcurlu_la-bearssl.lo `test -f 'vtls/bearssl.c' || echo '$(srcdir)/'`vtls/bearssl.c vquic/libcurlu_la-ngtcp2.lo: vquic/ngtcp2.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -MT vquic/libcurlu_la-ngtcp2.lo -MD -MP -MF vquic/$(DEPDIR)/libcurlu_la-ngtcp2.Tpo -c -o vquic/libcurlu_la-ngtcp2.lo `test -f 'vquic/ngtcp2.c' || echo '$(srcdir)/'`vquic/ngtcp2.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) vquic/$(DEPDIR)/libcurlu_la-ngtcp2.Tpo vquic/$(DEPDIR)/libcurlu_la-ngtcp2.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vquic/ngtcp2.c' object='vquic/libcurlu_la-ngtcp2.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libcurlu_la_CPPFLAGS) $(CPPFLAGS) $(libcurlu_la_CFLAGS) $(CFLAGS) -c -o vquic/libcurlu_la-ngtcp2.lo `test -f 'vquic/ngtcp2.c' || echo '$(srcdir)/'`vquic/ngtcp2.c |
︙ | ︙ | |||
3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 | -rm -f vquic/$(DEPDIR)/libcurl_la-quiche.Plo -rm -f vquic/$(DEPDIR)/libcurlu_la-ngtcp2.Plo -rm -f vquic/$(DEPDIR)/libcurlu_la-quiche.Plo -rm -f vssh/$(DEPDIR)/libcurl_la-libssh.Plo -rm -f vssh/$(DEPDIR)/libcurl_la-libssh2.Plo -rm -f vssh/$(DEPDIR)/libcurlu_la-libssh.Plo -rm -f vssh/$(DEPDIR)/libcurlu_la-libssh2.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-gskit.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-gtls.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-mbedtls.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-mesalink.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-nss.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-openssl.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-polarssl.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-polarssl_threadlock.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-schannel.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-schannel_verify.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-sectransp.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-vtls.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-wolfssl.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-gskit.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-gtls.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-mbedtls.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-mesalink.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-nss.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-openssl.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-polarssl.Plo | > > | 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 | -rm -f vquic/$(DEPDIR)/libcurl_la-quiche.Plo -rm -f vquic/$(DEPDIR)/libcurlu_la-ngtcp2.Plo -rm -f vquic/$(DEPDIR)/libcurlu_la-quiche.Plo -rm -f vssh/$(DEPDIR)/libcurl_la-libssh.Plo -rm -f vssh/$(DEPDIR)/libcurl_la-libssh2.Plo -rm -f vssh/$(DEPDIR)/libcurlu_la-libssh.Plo -rm -f vssh/$(DEPDIR)/libcurlu_la-libssh2.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-bearssl.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-gskit.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-gtls.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-mbedtls.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-mesalink.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-nss.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-openssl.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-polarssl.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-polarssl_threadlock.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-schannel.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-schannel_verify.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-sectransp.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-vtls.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-wolfssl.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-bearssl.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-gskit.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-gtls.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-mbedtls.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-mesalink.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-nss.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-openssl.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-polarssl.Plo |
︙ | ︙ | |||
4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 | -rm -f vquic/$(DEPDIR)/libcurl_la-quiche.Plo -rm -f vquic/$(DEPDIR)/libcurlu_la-ngtcp2.Plo -rm -f vquic/$(DEPDIR)/libcurlu_la-quiche.Plo -rm -f vssh/$(DEPDIR)/libcurl_la-libssh.Plo -rm -f vssh/$(DEPDIR)/libcurl_la-libssh2.Plo -rm -f vssh/$(DEPDIR)/libcurlu_la-libssh.Plo -rm -f vssh/$(DEPDIR)/libcurlu_la-libssh2.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-gskit.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-gtls.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-mbedtls.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-mesalink.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-nss.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-openssl.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-polarssl.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-polarssl_threadlock.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-schannel.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-schannel_verify.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-sectransp.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-vtls.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-wolfssl.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-gskit.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-gtls.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-mbedtls.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-mesalink.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-nss.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-openssl.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-polarssl.Plo | > > | 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 | -rm -f vquic/$(DEPDIR)/libcurl_la-quiche.Plo -rm -f vquic/$(DEPDIR)/libcurlu_la-ngtcp2.Plo -rm -f vquic/$(DEPDIR)/libcurlu_la-quiche.Plo -rm -f vssh/$(DEPDIR)/libcurl_la-libssh.Plo -rm -f vssh/$(DEPDIR)/libcurl_la-libssh2.Plo -rm -f vssh/$(DEPDIR)/libcurlu_la-libssh.Plo -rm -f vssh/$(DEPDIR)/libcurlu_la-libssh2.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-bearssl.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-gskit.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-gtls.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-mbedtls.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-mesalink.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-nss.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-openssl.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-polarssl.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-polarssl_threadlock.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-schannel.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-schannel_verify.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-sectransp.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-vtls.Plo -rm -f vtls/$(DEPDIR)/libcurl_la-wolfssl.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-bearssl.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-gskit.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-gtls.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-mbedtls.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-mesalink.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-nss.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-openssl.Plo -rm -f vtls/$(DEPDIR)/libcurlu_la-polarssl.Plo |
︙ | ︙ |
Changes to jni/curl/lib/Makefile.inc.
︙ | ︙ | |||
26 27 28 29 30 31 32 | vauth/spnego_gssapi.c vauth/spnego_sspi.c LIB_VAUTH_HFILES = vauth/vauth.h vauth/digest.h vauth/ntlm.h LIB_VTLS_CFILES = vtls/openssl.c vtls/gtls.c vtls/vtls.c vtls/nss.c \ vtls/polarssl.c vtls/polarssl_threadlock.c \ vtls/wolfssl.c vtls/schannel.c vtls/schannel_verify.c \ | | > | > > | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | vauth/spnego_gssapi.c vauth/spnego_sspi.c LIB_VAUTH_HFILES = vauth/vauth.h vauth/digest.h vauth/ntlm.h LIB_VTLS_CFILES = vtls/openssl.c vtls/gtls.c vtls/vtls.c vtls/nss.c \ vtls/polarssl.c vtls/polarssl_threadlock.c \ vtls/wolfssl.c vtls/schannel.c vtls/schannel_verify.c \ vtls/sectransp.c vtls/gskit.c vtls/mbedtls.c vtls/mesalink.c \ vtls/bearssl.c LIB_VTLS_HFILES = vtls/openssl.h vtls/vtls.h vtls/gtls.h \ vtls/nssg.h vtls/polarssl.h vtls/polarssl_threadlock.h \ vtls/wolfssl.h vtls/schannel.h vtls/sectransp.h vtls/gskit.h \ vtls/mbedtls.h vtls/mesalink.h vtls/bearssl.h LIB_VQUIC_CFILES = vquic/ngtcp2.c vquic/quiche.c LIB_VQUIC_HFILES = vquic/ngtcp2.h vquic/quiche.h LIB_VSSH_CFILES = vssh/libssh2.c vssh/libssh.c LIB_VSSH_HFILES = vssh/ssh.h LIB_CFILES = file.c timeval.c base64.c hostip.c progress.c formdata.c \ cookie.c http.c sendf.c ftp.c url.c dict.c if2ip.c speedcheck.c \ ldap.c version.c getenv.c escape.c mprintf.c telnet.c netrc.c \ getinfo.c transfer.c strcase.c easy.c security.c curl_fnmatch.c \ fileinfo.c ftplistparser.c wildcard.c krb5.c memdebug.c http_chunks.c \ strtok.c connect.c llist.c hash.c multi.c content_encoding.c share.c \ |
︙ | ︙ | |||
68 69 70 71 72 73 74 | speedcheck.h urldata.h curl_ldap.h escape.h telnet.h getinfo.h \ strcase.h curl_sec.h memdebug.h http_chunks.h curl_fnmatch.h \ wildcard.h fileinfo.h ftplistparser.h strtok.h connect.h llist.h \ hash.h content_encoding.h share.h curl_md4.h curl_md5.h http_digest.h \ http_negotiate.h inet_pton.h amigaos.h strtoofft.h strerror.h \ inet_ntop.h curlx.h curl_memory.h curl_setup.h transfer.h select.h \ easyif.h multiif.h parsedate.h tftp.h sockaddr.h splay.h strdup.h \ | | | | 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 | speedcheck.h urldata.h curl_ldap.h escape.h telnet.h getinfo.h \ strcase.h curl_sec.h memdebug.h http_chunks.h curl_fnmatch.h \ wildcard.h fileinfo.h ftplistparser.h strtok.h connect.h llist.h \ hash.h content_encoding.h share.h curl_md4.h curl_md5.h http_digest.h \ http_negotiate.h inet_pton.h amigaos.h strtoofft.h strerror.h \ inet_ntop.h curlx.h curl_memory.h curl_setup.h transfer.h select.h \ easyif.h multiif.h parsedate.h tftp.h sockaddr.h splay.h strdup.h \ socks.h curl_base64.h curl_addrinfo.h curl_sspi.h \ slist.h nonblock.h curl_memrchr.h imap.h pop3.h smtp.h pingpong.h \ rtsp.h curl_threads.h warnless.h curl_hmac.h curl_rtmp.h \ curl_gethostname.h gopher.h http_proxy.h non-ascii.h asyn.h \ http_ntlm.h curl_gssapi.h curl_ntlm_wb.h curl_ntlm_core.h \ curl_sasl.h curl_multibyte.h hostcheck.h conncache.h \ curl_setup_once.h multihandle.h setup-vms.h dotdot.h \ x509asn1.h http2.h sigpipe.h smb.h curl_endian.h curl_des.h \ curl_printf.h system_win32.h rand.h mime.h curl_sha256.h setopt.h \ curl_path.h curl_ctype.h curl_range.h psl.h doh.h urlapi-int.h \ curl_get_line.h altsvc.h quic.h socketpair.h LIB_RCFILES = libcurl.rc CSOURCES = $(LIB_CFILES) $(LIB_VAUTH_CFILES) $(LIB_VTLS_CFILES) \ $(LIB_VQUIC_CFILES) $(LIB_VSSH_CFILES) HHEADERS = $(LIB_HFILES) $(LIB_VAUTH_HFILES) $(LIB_VTLS_HFILES) \ $(LIB_VQUIC_HFILES) $(LIB_VSSH_HFILES) |
Changes to jni/curl/lib/Makefile.m32.
1 2 3 4 5 6 7 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1999 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
267 268 269 270 271 272 273 | endif endif ifndef DYN OPENSSL_LIBS += -lgdi32 -lcrypt32 endif INCLUDES += -I"$(OPENSSL_INCLUDE)" CFLAGS += -DUSE_OPENSSL -DHAVE_OPENSSL_ENGINE_H -DHAVE_OPENSSL_PKCS12_H \ | | | 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 | endif endif ifndef DYN OPENSSL_LIBS += -lgdi32 -lcrypt32 endif INCLUDES += -I"$(OPENSSL_INCLUDE)" CFLAGS += -DUSE_OPENSSL -DHAVE_OPENSSL_ENGINE_H -DHAVE_OPENSSL_PKCS12_H \ -DOPENSSL_NO_KRB5 DLL_LIBS += -L"$(OPENSSL_LIBPATH)" $(OPENSSL_LIBS) ifdef SRP ifeq "$(wildcard $(OPENSSL_INCLUDE)/openssl/srp.h)" "$(OPENSSL_INCLUDE)/openssl/srp.h" CFLAGS += -DHAVE_OPENSSL_SRP -DUSE_TLS_SRP endif endif endif |
︙ | ︙ |
Changes to jni/curl/lib/altsvc.c.
︙ | ︙ | |||
51 52 53 54 55 56 57 | static enum alpnid alpn2alpnid(char *name) { if(strcasecompare(name, "h1")) return ALPN_h1; if(strcasecompare(name, "h2")) return ALPN_h2; #if (defined(USE_QUICHE) || defined(USE_NGTCP2)) && !defined(UNITTESTS) | | | | 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 | static enum alpnid alpn2alpnid(char *name) { if(strcasecompare(name, "h1")) return ALPN_h1; if(strcasecompare(name, "h2")) return ALPN_h2; #if (defined(USE_QUICHE) || defined(USE_NGTCP2)) && !defined(UNITTESTS) if(strcasecompare(name, "h3-24")) return ALPN_h3; #else if(strcasecompare(name, "h3")) return ALPN_h3; #endif return ALPN_none; /* unknown, probably rubbish input */ } /* Given the ALPN ID, return the name */ const char *Curl_alpnid2str(enum alpnid id) { switch(id) { case ALPN_h1: return "h1"; case ALPN_h2: return "h2"; case ALPN_h3: #if (defined(USE_QUICHE) || defined(USE_NGTCP2)) && !defined(UNITTESTS) return "h3-24"; #else return "h3"; #endif default: return ""; /* bad */ } } |
︙ | ︙ | |||
157 158 159 160 161 162 163 | "%" MAX_ALTSVC_ALPNLENSTR "s %" MAX_ALTSVC_HOSTLENSTR "s %u " "\"%" MAX_ALTSVC_DATELENSTR "[^\"]\" %u %u", srcalpn, srchost, &srcport, dstalpn, dsthost, &dstport, date, &persist, &prio); if(9 == rc) { struct altsvc *as; | | | 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | "%" MAX_ALTSVC_ALPNLENSTR "s %" MAX_ALTSVC_HOSTLENSTR "s %u " "\"%" MAX_ALTSVC_DATELENSTR "[^\"]\" %u %u", srcalpn, srchost, &srcport, dstalpn, dsthost, &dstport, date, &persist, &prio); if(9 == rc) { struct altsvc *as; time_t expires = Curl_getdate_capped(date); as = altsvc_create(srchost, dsthost, srcalpn, dstalpn, srcport, dstport); if(as) { as->expires = expires; as->prio = prio; as->persist = persist ? 1 : 0; Curl_llist_insert_next(&asi->list, asi->list.tail, as, &as->node); asi->num++; /* one more entry */ |
︙ | ︙ | |||
316 317 318 319 320 321 322 | CURLcode result = CURLE_OK; FILE *out; if(!altsvc) /* no cache activated */ return CURLE_OK; | | | | 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 | CURLcode result = CURLE_OK; FILE *out; if(!altsvc) /* no cache activated */ return CURLE_OK; if((altsvc->flags & CURLALTSVC_READONLYFILE) || !file || !file[0]) /* marked as read-only, no file or zero length file name */ return CURLE_OK; out = fopen(file, FOPEN_WRITETEXT); if(!out) return CURLE_WRITE_ERROR; fputs("# Your alt-svc cache. https://curl.haxx.se/docs/alt-svc.html\n" "# This file was generated by libcurl! Edit at your own risk.\n", out); |
︙ | ︙ |
Changes to jni/curl/lib/asyn-thread.c.
︙ | ︙ | |||
694 695 696 697 698 699 700 701 702 703 704 705 706 707 | { struct in_addr in; struct Curl_easy *data = conn->data; struct resdata *reslv = (struct resdata *)data->state.resolver; *waitp = 0; /* default to synchronous response */ if(Curl_inet_pton(AF_INET, hostname, &in) > 0) /* This is a dotted IP address 123.123.123.123-style */ return Curl_ip2addr(AF_INET, &in, hostname, port); reslv->start = Curl_now(); /* fire up a new resolver thread! */ | > > > > > > > > > > | 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 | { struct in_addr in; struct Curl_easy *data = conn->data; struct resdata *reslv = (struct resdata *)data->state.resolver; *waitp = 0; /* default to synchronous response */ #ifdef ENABLE_IPV6 { struct in6_addr in6; /* check if this is an IPv6 address string */ if(Curl_inet_pton(AF_INET6, hostname, &in6) > 0) /* This is an IPv6 address literal */ return Curl_ip2addr(AF_INET6, &in6, hostname, port); } #endif /* ENABLE_IPV6 */ if(Curl_inet_pton(AF_INET, hostname, &in) > 0) /* This is a dotted IP address 123.123.123.123-style */ return Curl_ip2addr(AF_INET, &in, hostname, port); reslv->start = Curl_now(); /* fire up a new resolver thread! */ |
︙ | ︙ | |||
737 738 739 740 741 742 743 | { struct in_addr in; /* First check if this is an IPv4 address string */ if(Curl_inet_pton(AF_INET, hostname, &in) > 0) /* This is a dotted IP address 123.123.123.123-style */ return Curl_ip2addr(AF_INET, &in, hostname, port); } | | | | 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 | { struct in_addr in; /* First check if this is an IPv4 address string */ if(Curl_inet_pton(AF_INET, hostname, &in) > 0) /* This is a dotted IP address 123.123.123.123-style */ return Curl_ip2addr(AF_INET, &in, hostname, port); } #ifdef ENABLE_IPV6 { struct in6_addr in6; /* check if this is an IPv6 address string */ if(Curl_inet_pton(AF_INET6, hostname, &in6) > 0) /* This is an IPv6 address literal */ return Curl_ip2addr(AF_INET6, &in6, hostname, port); } #endif /* ENABLE_IPV6 */ #endif /* !USE_RESOLVE_ON_IPS */ #ifdef CURLRES_IPV6 /* * Check if a limited name resolve has been requested. */ switch(conn->ip_version) { |
︙ | ︙ |
Changes to jni/curl/lib/checksrc.pl.
1 2 3 4 5 6 7 8 | #!/usr/bin/env perl #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #!/usr/bin/env perl #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 2011 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
713 714 715 716 717 718 719 720 721 722 | # only locally committed files but inspect all files wrt the year of # their last commit. Removing the `git rev-list origin/master..HEAD` # condition below will enfore copyright year checks against the year # the file was last committed (and thus edited to some degree). my $commityear = undef; @copyright = sort {$$b{year} cmp $$a{year}} @copyright; if(`git status -s -- $file` =~ /^ [MARCU]/) { $commityear = (localtime(time))[5] + 1900; } | > | > | > > | > | 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 | # only locally committed files but inspect all files wrt the year of # their last commit. Removing the `git rev-list origin/master..HEAD` # condition below will enfore copyright year checks against the year # the file was last committed (and thus edited to some degree). my $commityear = undef; @copyright = sort {$$b{year} cmp $$a{year}} @copyright; # if the file is modified, assume commit year this year if(`git status -s -- $file` =~ /^ [MARCU]/) { $commityear = (localtime(time))[5] + 1900; } else { # min-parents=1 to ignore wrong initial commit in truncated repos my $grl = `git rev-list --max-count=1 --min-parents=1 --timestamp HEAD -- $file`; if($grl) { chomp $grl; $commityear = (localtime((split(/ /, $grl))[0]))[5] + 1900; } } if(defined($commityear) && scalar(@copyright) && $copyright[0]{year} != $commityear) { checkwarn("COPYRIGHTYEAR", $copyright[0]{line}, $copyright[0]{col}, $file, $copyright[0]{code}, "Copyright year out of date, should be $commityear, " . |
︙ | ︙ |
Changes to jni/curl/lib/config-dos.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_CONFIG_DOS_H #define HEADER_CURL_CONFIG_DOS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_CONFIG_DOS_H #define HEADER_CURL_CONFIG_DOS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/config-mac.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_CONFIG_MAC_H #define HEADER_CURL_CONFIG_MAC_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_CONFIG_MAC_H #define HEADER_CURL_CONFIG_MAC_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/config-plan9.h.
︙ | ︙ | |||
98 99 100 101 102 103 104 | #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_CRYPTO_CLEANUP_ALL_EX_DATA 1 | < | 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | #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_CRYPTO_CLEANUP_ALL_EX_DATA 1 #define HAVE_ERRNO_H 1 #define HAVE_FCNTL 1 #define HAVE_FCNTL_H 1 #define HAVE_FDOPEN 1 #define HAVE_FORK 1 #define HAVE_FREEADDRINFO 1 #define HAVE_FTRUNCATE 1 |
︙ | ︙ |
Changes to jni/curl/lib/config-symbian.h.
︙ | ︙ | |||
124 125 126 127 128 129 130 | /* Define to 1 if you have the <des.h> header file. */ /* #undef HAVE_DES_H */ /* Define to 1 if you have the <dlfcn.h> header file. */ #define HAVE_DLFCN_H 1 | < < < | 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | /* Define to 1 if you have the <des.h> header file. */ /* #undef HAVE_DES_H */ /* Define to 1 if you have the <dlfcn.h> header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you have the <errno.h> header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the <err.h> header file. */ #define HAVE_ERR_H 1 /* Define to 1 if you have the <fcntl.h> header file. */ |
︙ | ︙ |
Changes to jni/curl/lib/config-tpf.h.
︙ | ︙ | |||
115 116 117 118 119 120 121 | /* #undef HAVE_CRYPTO_H */ #define HAVE_CRYPTO_H 1 /* Define to 1 if you have the <des.h> header file. */ /* #undef HAVE_DES_H */ #define HAVE_DES_H 1 | < < < < | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | /* #undef HAVE_CRYPTO_H */ #define HAVE_CRYPTO_H 1 /* Define to 1 if you have the <des.h> header file. */ /* #undef HAVE_DES_H */ #define HAVE_DES_H 1 /* Define to 1 if you have the <errno.h> header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the <err.h> header file. */ /* #undef HAVE_ERR_H */ #define HAVE_ERR_H 1 |
︙ | ︙ |
Changes to jni/curl/lib/config-vxworks.h.
︙ | ︙ | |||
139 140 141 142 143 144 145 | /* Define to 1 if you have the <des.h> header file. */ /* #undef HAVE_DES_H */ /* Define to 1 if you have the <dlfcn.h> header file. */ #define HAVE_DLFCN_H 1 | < < < | 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | /* Define to 1 if you have the <des.h> header file. */ /* #undef HAVE_DES_H */ /* Define to 1 if you have the <dlfcn.h> header file. */ #define HAVE_DLFCN_H 1 /* Define to 1 if you have the <errno.h> header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the <err.h> header file. */ /* #undef HAVE_ERR_H */ /* Define to 1 if you have the fcntl function. */ |
︙ | ︙ |
Changes to jni/curl/lib/config-win32.h.
︙ | ︙ | |||
731 732 733 734 735 736 737 | /* Define cpu-machine-OS */ #undef 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" | | > > > > | 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 | /* Define cpu-machine-OS */ #undef 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 /* Name of package */ #define PACKAGE "curl" |
︙ | ︙ |
Changes to jni/curl/lib/config-win32ce.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_CONFIG_WIN32CE_H #define HEADER_CURL_CONFIG_WIN32CE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_CONFIG_WIN32CE_H #define HEADER_CURL_CONFIG_WIN32CE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/conncache.c.
︙ | ︙ | |||
36 37 38 39 40 41 42 | #include "connect.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" | < < < < < < < < < < < < < < < < < < < < < | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | #include "connect.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" #define HASHKEY_SIZE 128 static void conn_llist_dtor(void *user, void *element) { struct connectdata *conn = element; (void)user; conn->bundle = NULL; |
︙ | ︙ | |||
118 119 120 121 122 123 124 125 126 127 128 129 130 131 | Curl_llist_remove(&cb_ptr->conn_list, curr, NULL); cb_ptr->num_connections--; conn->bundle = NULL; return 1; /* we removed a handle */ } curr = curr->next; } return 0; } static void free_bundle_hash_entry(void *freethis) { struct connectbundle *b = (struct connectbundle *) freethis; | > | 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | Curl_llist_remove(&cb_ptr->conn_list, curr, NULL); cb_ptr->num_connections--; conn->bundle = NULL; return 1; /* we removed a handle */ } curr = curr->next; } DEBUGASSERT(0); return 0; } static void free_bundle_hash_entry(void *freethis) { struct connectbundle *b = (struct connectbundle *) freethis; |
︙ | ︙ | |||
424 425 426 427 428 429 430 | /* * Give ownership of a connection back to the connection cache. Might * disconnect the oldest existing in there to make space. * * Return TRUE if stored, FALSE if closed. */ | | < | | < | 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 | /* * Give ownership of a connection back to the connection cache. Might * disconnect the oldest existing in there to make space. * * Return TRUE if stored, FALSE if closed. */ bool Curl_conncache_return_conn(struct Curl_easy *data, struct connectdata *conn) { /* data->multi->maxconnects can be negative, deal with it. */ size_t maxconnects = (data->multi->maxconnects < 0) ? data->multi->num_easy * 4: data->multi->maxconnects; struct connectdata *conn_candidate = NULL; conn->lastused = Curl_now(); /* it was used up until now */ if(maxconnects > 0 && Curl_conncache_size(data) > maxconnects) { infof(data, "Connection cache is full, closing the oldest one.\n"); conn_candidate = Curl_conncache_extract_oldest(data); if(conn_candidate) { |
︙ | ︙ | |||
537 538 539 540 541 542 543 | bundle = he->ptr; curr = bundle->conn_list.head; while(curr) { conn = curr->ptr; | | > | 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 | bundle = he->ptr; curr = bundle->conn_list.head; while(curr) { conn = curr->ptr; if(!CONN_INUSE(conn) && !conn->data && !conn->bits.close && !conn->bits.connect_only) { /* Set higher score for the age passed since the connection was used */ score = Curl_timediff(now, conn->lastused); if(score > highscore) { highscore = score; conn_candidate = conn; bundle_candidate = bundle; |
︙ | ︙ |
Changes to jni/curl/lib/conncache.h.
︙ | ︙ | |||
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 | /* handle used for closing cached connections */ struct Curl_easy *closure_handle; }; #define BUNDLE_NO_MULTIUSE -1 #define BUNDLE_UNKNOWN 0 /* initial value */ #define BUNDLE_MULTIPLEX 2 struct connectbundle { int multiuse; /* supports multi-use */ size_t num_connections; /* Number of connections in the bundle */ struct curl_llist conn_list; /* The connectdata members of the bundle */ }; /* returns 1 on error, 0 is fine */ int Curl_conncache_init(struct conncache *, int size); void Curl_conncache_destroy(struct conncache *connc); /* return the correct bundle, to a host or a proxy */ struct connectbundle *Curl_conncache_find_bundle(struct connectdata *conn, struct conncache *connc, const char **hostp); void Curl_conncache_unlock(struct Curl_easy *data); /* returns number of connections currently held in the connection cache */ size_t Curl_conncache_size(struct Curl_easy *data); size_t Curl_conncache_bundle_size(struct connectdata *conn); | > > > > > > > > > > > > > > > > > > > > > | > | 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 | /* handle used for closing cached connections */ struct Curl_easy *closure_handle; }; #define BUNDLE_NO_MULTIUSE -1 #define BUNDLE_UNKNOWN 0 /* initial value */ #define BUNDLE_MULTIPLEX 2 #ifdef CURLDEBUG /* the debug versions of these macros make extra certain that the lock is never doubly locked or unlocked */ #define CONN_LOCK(x) if((x)->share) { \ Curl_share_lock((x), CURL_LOCK_DATA_CONNECT, CURL_LOCK_ACCESS_SINGLE); \ DEBUGASSERT(!(x)->state.conncache_lock); \ (x)->state.conncache_lock = TRUE; \ } #define CONN_UNLOCK(x) if((x)->share) { \ DEBUGASSERT((x)->state.conncache_lock); \ (x)->state.conncache_lock = FALSE; \ Curl_share_unlock((x), CURL_LOCK_DATA_CONNECT); \ } #else #define CONN_LOCK(x) if((x)->share) \ Curl_share_lock((x), CURL_LOCK_DATA_CONNECT, CURL_LOCK_ACCESS_SINGLE) #define CONN_UNLOCK(x) if((x)->share) \ Curl_share_unlock((x), CURL_LOCK_DATA_CONNECT) #endif struct connectbundle { int multiuse; /* supports multi-use */ size_t num_connections; /* Number of connections in the bundle */ struct curl_llist conn_list; /* The connectdata members of the bundle */ }; /* returns 1 on error, 0 is fine */ int Curl_conncache_init(struct conncache *, int size); void Curl_conncache_destroy(struct conncache *connc); /* return the correct bundle, to a host or a proxy */ struct connectbundle *Curl_conncache_find_bundle(struct connectdata *conn, struct conncache *connc, const char **hostp); void Curl_conncache_unlock(struct Curl_easy *data); /* returns number of connections currently held in the connection cache */ size_t Curl_conncache_size(struct Curl_easy *data); size_t Curl_conncache_bundle_size(struct connectdata *conn); bool Curl_conncache_return_conn(struct Curl_easy *data, struct connectdata *conn); CURLcode Curl_conncache_add_conn(struct conncache *connc, struct connectdata *conn) WARN_UNUSED_RESULT; void Curl_conncache_remove_conn(struct Curl_easy *data, struct connectdata *conn, bool lock); bool Curl_conncache_foreach(struct Curl_easy *data, struct conncache *connc, |
︙ | ︙ |
Changes to jni/curl/lib/connect.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 | * address" for the given host. But first remember the latest error. */ if(error) { data->state.os_errno = error; SET_SOCKERRNO(error); if(conn->tempaddr[i]) { CURLcode status; char ipaddress[MAX_IPADR_LEN]; char buffer[STRERROR_LEN]; Curl_printable_address(conn->tempaddr[i], ipaddress, MAX_IPADR_LEN); infof(data, "connect to %s port %ld failed: %s\n", ipaddress, conn->port, Curl_strerror(error, buffer, sizeof(buffer))); conn->timeoutms_per_addr = conn->tempaddr[i]->ai_next == NULL ? allow : allow / 2; | > > | 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 | * address" for the given host. But first remember the latest error. */ if(error) { data->state.os_errno = error; SET_SOCKERRNO(error); if(conn->tempaddr[i]) { CURLcode status; #ifndef CURL_DISABLE_VERBOSE_STRINGS char ipaddress[MAX_IPADR_LEN]; char buffer[STRERROR_LEN]; Curl_printable_address(conn->tempaddr[i], ipaddress, MAX_IPADR_LEN); #endif infof(data, "connect to %s port %ld failed: %s\n", ipaddress, conn->port, Curl_strerror(error, buffer, sizeof(buffer))); conn->timeoutms_per_addr = conn->tempaddr[i]->ai_next == NULL ? allow : allow / 2; |
︙ | ︙ | |||
988 989 990 991 992 993 994 | return result; } static void tcpnodelay(struct connectdata *conn, curl_socket_t sockfd) { #if defined(TCP_NODELAY) | < < < > > | < | 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 | return result; } static void tcpnodelay(struct connectdata *conn, curl_socket_t sockfd) { #if defined(TCP_NODELAY) curl_socklen_t onoff = (curl_socklen_t) 1; int level = IPPROTO_TCP; #if !defined(CURL_DISABLE_VERBOSE_STRINGS) struct Curl_easy *data = conn->data; char buffer[STRERROR_LEN]; #else (void) conn; #endif if(setsockopt(sockfd, level, TCP_NODELAY, (void *)&onoff, sizeof(onoff)) < 0) infof(data, "Could not set TCP_NODELAY: %s\n", Curl_strerror(SOCKERRNO, buffer, sizeof(buffer))); |
︙ | ︙ |
Changes to jni/curl/lib/cookie.c.
︙ | ︙ | |||
92 93 94 95 96 97 98 99 100 101 102 103 104 105 | #include "slist.h" #include "share.h" #include "strtoofft.h" #include "strcase.h" #include "curl_get_line.h" #include "curl_memrchr.h" #include "inet_pton.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" static void freecookie(struct Cookie *co) | > | 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | #include "slist.h" #include "share.h" #include "strtoofft.h" #include "strcase.h" #include "curl_get_line.h" #include "curl_memrchr.h" #include "inet_pton.h" #include "parsedate.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" static void freecookie(struct Cookie *co) |
︙ | ︙ | |||
711 712 713 714 715 716 717 | else co->expires += now; } } else if(co->expirestr) { /* Note that if the date couldn't get parsed for whatever reason, the cookie will be treated as a session cookie */ | | | 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 | else co->expires += now; } } else if(co->expirestr) { /* Note that if the date couldn't get parsed for whatever reason, the cookie will be treated as a session cookie */ co->expires = Curl_getdate_capped(co->expirestr); /* Session cookies have expires set to 0 so if we get that back from the date parser let's add a second to make it a non-session cookie */ if(co->expires == 0) co->expires = 1; else if(co->expires < 0) |
︙ | ︙ |
Changes to jni/curl/lib/curl_base64.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_BASE64_H #define HEADER_CURL_BASE64_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_BASE64_H #define HEADER_CURL_BASE64_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/curl_config.h.cmake.
︙ | ︙ | |||
144 145 146 147 148 149 150 | /* Define to 1 if you have the <des.h> header file. */ #cmakedefine HAVE_DES_H 1 /* Define to 1 if you have the <dlfcn.h> header file. */ #cmakedefine HAVE_DLFCN_H 1 | < < < | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | /* Define to 1 if you have the <des.h> header file. */ #cmakedefine HAVE_DES_H 1 /* Define to 1 if you have the <dlfcn.h> header file. */ #cmakedefine HAVE_DLFCN_H 1 /* Define to 1 if you have the <errno.h> header file. */ #cmakedefine HAVE_ERRNO_H 1 /* Define to 1 if you have the <err.h> header file. */ #cmakedefine HAVE_ERR_H 1 /* Define to 1 if you have the fcntl function. */ |
︙ | ︙ | |||
944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 | /* if Secure Transport is enabled */ #cmakedefine USE_SECTRANSP 1 /* if mbedTLS is enabled */ #cmakedefine USE_MBEDTLS 1 /* if libSSH2 is in use */ #cmakedefine USE_LIBSSH2 1 /* If you want to build curl with the built-in manual */ #cmakedefine USE_MANUAL 1 /* if NSS is enabled */ #cmakedefine USE_NSS 1 /* if you want to use OpenLDAP code instead of legacy ldap implementation */ #cmakedefine USE_OPENLDAP 1 /* if OpenSSL is in use */ #cmakedefine USE_OPENSSL 1 | > > > > > > | 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 | /* if Secure Transport is enabled */ #cmakedefine USE_SECTRANSP 1 /* if mbedTLS is enabled */ #cmakedefine USE_MBEDTLS 1 /* if BearSSL is enabled */ #cmakedefine USE_BEARSSL 1 /* if libSSH2 is in use */ #cmakedefine USE_LIBSSH2 1 /* If you want to build curl with the built-in manual */ #cmakedefine USE_MANUAL 1 /* if NSS is enabled */ #cmakedefine USE_NSS 1 /* if you have the PK11_CreateManagedGenericObject function */ #cmakedefine HAVE_PK11_CREATEMANAGEDGENERICOBJECT 1 /* if you want to use OpenLDAP code instead of legacy ldap implementation */ #cmakedefine USE_OPENLDAP 1 /* if OpenSSL is in use */ #cmakedefine USE_OPENSSL 1 |
︙ | ︙ |
Changes to jni/curl/lib/curl_config.h.in.
︙ | ︙ | |||
950 951 952 953 954 955 956 957 958 959 960 961 962 963 | #undef USE_ALTSVC /* if AmiSSL is in use */ #undef USE_AMISSL /* Define to enable c-ares support */ #undef USE_ARES /* if ESNI support is available */ #undef USE_ESNI /* if GnuTLS is enabled */ #undef USE_GNUTLS | > > > | 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 | #undef USE_ALTSVC /* if AmiSSL is in use */ #undef USE_AMISSL /* Define to enable c-ares support */ #undef USE_ARES /* if BearSSL is enabled */ #undef USE_BEARSSL /* if ESNI support is available */ #undef USE_ESNI /* if GnuTLS is enabled */ #undef USE_GNUTLS |
︙ | ︙ |
Changes to jni/curl/lib/curl_des.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2015 - 2019, Steve Holme, <steve_holme@hotmail.com>. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/curl_des.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_DES_H #define HEADER_CURL_DES_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_DES_H #define HEADER_CURL_DES_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2015 - 2019, Steve Holme, <steve_holme@hotmail.com>. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/curl_endian.c.
︙ | ︙ | |||
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 | */ unsigned short Curl_read16_be(const unsigned char *buf) { return (unsigned short)(((unsigned short)buf[0] << 8) | ((unsigned short)buf[1])); } /* * write32_le() * * This function converts a 32-bit integer from the native endian format, * to little endian format ready for sending down the wire. * * Parameters: * * value [in] - The 32-bit integer value. * buffer [in] - A pointer to the output buffer. */ static void write32_le(const int value, unsigned char *buffer) { buffer[0] = (char)(value & 0x000000FF); buffer[1] = (char)((value & 0x0000FF00) >> 8); buffer[2] = (char)((value & 0x00FF0000) >> 16); buffer[3] = (char)((value & 0xFF000000) >> 24); } | > < | 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 | */ unsigned short Curl_read16_be(const unsigned char *buf) { return (unsigned short)(((unsigned short)buf[0] << 8) | ((unsigned short)buf[1])); } #if (CURL_SIZEOF_CURL_OFF_T > 4) /* * write32_le() * * This function converts a 32-bit integer from the native endian format, * to little endian format ready for sending down the wire. * * Parameters: * * value [in] - The 32-bit integer value. * buffer [in] - A pointer to the output buffer. */ static void write32_le(const int value, unsigned char *buffer) { buffer[0] = (char)(value & 0x000000FF); buffer[1] = (char)((value & 0x0000FF00) >> 8); buffer[2] = (char)((value & 0x00FF0000) >> 16); buffer[3] = (char)((value & 0xFF000000) >> 24); } /* * Curl_write64_le() * * This function converts a 64-bit integer from the native endian format, * to little endian format ready for sending down the wire. * * Parameters: |
︙ | ︙ |
Changes to jni/curl/lib/curl_fnmatch.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_FNMATCH_H #define HEADER_CURL_FNMATCH_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_FNMATCH_H #define HEADER_CURL_FNMATCH_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/curl_gethostname.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_GETHOSTNAME_H #define HEADER_CURL_GETHOSTNAME_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_GETHOSTNAME_H #define HEADER_CURL_GETHOSTNAME_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/curl_ldap.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_LDAP_H #define HEADER_CURL_LDAP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_LDAP_H #define HEADER_CURL_LDAP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/curl_memrchr.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_MEMRCHR_H #define HEADER_CURL_MEMRCHR_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_MEMRCHR_H #define HEADER_CURL_MEMRCHR_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/curl_multibyte.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/curl_multibyte.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_MULTIBYTE_H #define HEADER_CURL_MULTIBYTE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_MULTIBYTE_H #define HEADER_CURL_MULTIBYTE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
57 58 59 60 61 62 63 | * no actual free'ing of this pointer it is simply set to NULL. */ #ifdef UNICODE #define Curl_convert_UTF8_to_tchar(ptr) Curl_convert_UTF8_to_wchar((ptr)) #define Curl_convert_tchar_to_UTF8(ptr) Curl_convert_wchar_to_UTF8((ptr)) | | > > > | > > | | 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 | * no actual free'ing of this pointer it is simply set to NULL. */ #ifdef UNICODE #define Curl_convert_UTF8_to_tchar(ptr) Curl_convert_UTF8_to_wchar((ptr)) #define Curl_convert_tchar_to_UTF8(ptr) Curl_convert_wchar_to_UTF8((ptr)) #define Curl_unicodefree(ptr) \ do { \ if(ptr) { \ free(ptr); \ (ptr) = NULL; \ } \ } while(0) typedef union { unsigned short *tchar_ptr; const unsigned short *const_tchar_ptr; unsigned short *tbyte_ptr; const unsigned short *const_tbyte_ptr; } xcharp_u; #else #define Curl_convert_UTF8_to_tchar(ptr) (ptr) #define Curl_convert_tchar_to_UTF8(ptr) (ptr) #define Curl_unicodefree(ptr) \ do {(ptr) = NULL;} while(0) typedef union { char *tchar_ptr; const char *const_tchar_ptr; unsigned char *tbyte_ptr; const unsigned char *const_tbyte_ptr; } xcharp_u; #endif /* UNICODE */ #endif /* USE_WIN32_IDN || USE_WINDOWS_SSPI || USE_WIN32_LDAP */ #endif /* HEADER_CURL_MULTIBYTE_H */ |
Changes to jni/curl/lib/curl_ntlm_core.h.
︙ | ︙ | |||
44 45 46 47 48 49 50 | /* Define USE_NTRESPONSES in order to make the type-3 message include * the NT response message. */ #define USE_NTRESPONSES /* Define USE_NTLM2SESSION in order to make the type-3 message include the NTLM2Session response message, requires USE_NTRESPONSES defined to 1 and a Crypto engine that we have curl_ssl_md5sum() for. */ | | > > | 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | /* Define USE_NTRESPONSES in order to make the type-3 message include * the NT response message. */ #define USE_NTRESPONSES /* Define USE_NTLM2SESSION in order to make the type-3 message include the NTLM2Session response message, requires USE_NTRESPONSES defined to 1 and a Crypto engine that we have curl_ssl_md5sum() for. */ #if defined(USE_NTRESPONSES) && \ (!defined(USE_WIN32_CRYPTO) || \ (defined(USE_SSL) && !defined(CURL_DISABLE_CRYPTO_AUTH))) #define USE_NTLM2SESSION #endif /* Define USE_NTLM_V2 in order to allow the type-3 message to include the LMv2 and NTLMv2 response messages, requires USE_NTRESPONSES defined to 1 and support for 64-bit integers. */ #if defined(USE_NTRESPONSES) && (CURL_SIZEOF_CURL_OFF_T > 4) |
︙ | ︙ |
Changes to jni/curl/lib/curl_ntlm_wb.c.
︙ | ︙ | |||
104 105 106 107 108 109 110 | case 3: break; } } conn->ntlm_auth_hlpr_pid = 0; } | | < | < | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | case 3: break; } } conn->ntlm_auth_hlpr_pid = 0; } Curl_safefree(conn->challenge_header); Curl_safefree(conn->response_header); } static CURLcode ntlm_wb_init(struct connectdata *conn, const char *userp) { curl_socket_t sockfds[2]; pid_t child_pid; const char *username; |
︙ | ︙ | |||
389 390 391 392 393 394 395 | char **allocuserpwd; /* point to the name and password for this */ const char *userp; curlntlm *state; struct auth *authp; CURLcode res = CURLE_OK; | < | 387 388 389 390 391 392 393 394 395 396 397 398 399 400 | char **allocuserpwd; /* point to the name and password for this */ const char *userp; curlntlm *state; struct auth *authp; CURLcode res = CURLE_OK; DEBUGASSERT(conn); DEBUGASSERT(conn->data); if(proxy) { allocuserpwd = &conn->allocptr.proxyuserpwd; userp = conn->http_proxy.user; |
︙ | ︙ | |||
440 441 442 443 444 445 446 | return res; free(*allocuserpwd); *allocuserpwd = aprintf("%sAuthorization: %s\r\n", proxy ? "Proxy-" : "", conn->response_header); DEBUG_OUT(fprintf(stderr, "**** Header %s\n ", *allocuserpwd)); | | < | | < | | 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 | return res; free(*allocuserpwd); *allocuserpwd = aprintf("%sAuthorization: %s\r\n", proxy ? "Proxy-" : "", conn->response_header); DEBUG_OUT(fprintf(stderr, "**** Header %s\n ", *allocuserpwd)); Curl_safefree(conn->response_header); if(!*allocuserpwd) return CURLE_OUT_OF_MEMORY; break; case NTLMSTATE_TYPE2: { char *input = aprintf("TT %s\n", conn->challenge_header); if(!input) return CURLE_OUT_OF_MEMORY; res = ntlm_wb_response(conn, input, *state); free(input); if(res) return res; free(*allocuserpwd); *allocuserpwd = aprintf("%sAuthorization: %s\r\n", proxy ? "Proxy-" : "", conn->response_header); DEBUG_OUT(fprintf(stderr, "**** %s\n ", *allocuserpwd)); *state = NTLMSTATE_TYPE3; /* we sent a type-3 */ authp->done = TRUE; Curl_http_auth_cleanup_ntlm_wb(conn); if(!*allocuserpwd) return CURLE_OUT_OF_MEMORY; break; } case NTLMSTATE_TYPE3: /* connection is already authenticated, * don't send a header in future requests */ *state = NTLMSTATE_LAST; /* FALLTHROUGH */ case NTLMSTATE_LAST: Curl_safefree(*allocuserpwd); |
︙ | ︙ |
Changes to jni/curl/lib/curl_rtmp.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_RTMP_H #define HEADER_CURL_RTMP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_RTMP_H #define HEADER_CURL_RTMP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2010 - 2019, Howard Chu, <hyc@highlandsun.com> * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/curl_setup.h.
︙ | ︙ | |||
22 23 24 25 26 27 28 29 30 31 32 33 34 35 | * ***************************************************************************/ #if defined(BUILDING_LIBCURL) && !defined(CURL_NO_OLDIES) #define CURL_NO_OLDIES #endif /* * Define WIN32 when build target is Win32 API */ #if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32) && \ !defined(__SYMBIAN32__) #define WIN32 | > > > > > > > > | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | * ***************************************************************************/ #if defined(BUILDING_LIBCURL) && !defined(CURL_NO_OLDIES) #define CURL_NO_OLDIES #endif /* * Disable Visual Studio warnings: * 4127 "conditional expression is constant" */ #ifdef _MSC_VER #pragma warning(disable:4127) #endif /* * Define WIN32 when build target is Win32 API */ #if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32) && \ !defined(__SYMBIAN32__) #define WIN32 |
︙ | ︙ | |||
558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 | # undef USE_THREADS_POSIX # undef USE_THREADS_WIN32 #endif /* * Mutually exclusive CURLRES_* definitions. */ #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 # undef HAVE_GETHOSTBYNAME #elif defined(USE_THREADS_POSIX) || defined(USE_THREADS_WIN32) # define CURLRES_ASYNCH # define CURLRES_THREADED #else # define CURLRES_SYNCH #endif | > > > > > > < < < < < < | 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 | # undef USE_THREADS_POSIX # undef USE_THREADS_WIN32 #endif /* * Mutually exclusive CURLRES_* definitions. */ #if defined(ENABLE_IPV6) && defined(HAVE_GETADDRINFO) # define CURLRES_IPV6 #else # define CURLRES_IPV4 #endif #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 # undef HAVE_GETHOSTBYNAME #elif defined(USE_THREADS_POSIX) || defined(USE_THREADS_WIN32) # define CURLRES_ASYNCH # define CURLRES_THREADED #else # define CURLRES_SYNCH #endif /* ---------------------------------------------------------------- */ /* * When using WINSOCK, TELNET protocol requires WINSOCK2 API. */ #if defined(USE_WINSOCK) && (USE_WINSOCK != 2) |
︙ | ︙ | |||
640 641 642 643 644 645 646 | #endif #define LIBIDN_REQUIRED_VERSION "0.4.1" #if defined(USE_GNUTLS) || defined(USE_OPENSSL) || defined(USE_NSS) || \ defined(USE_MBEDTLS) || \ defined(USE_WOLFSSL) || defined(USE_SCHANNEL) || \ | | > | 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 | #endif #define LIBIDN_REQUIRED_VERSION "0.4.1" #if defined(USE_GNUTLS) || defined(USE_OPENSSL) || defined(USE_NSS) || \ defined(USE_MBEDTLS) || \ defined(USE_WOLFSSL) || defined(USE_SCHANNEL) || \ defined(USE_SECTRANSP) || defined(USE_GSKIT) || defined(USE_MESALINK) || \ defined(USE_BEARSSL) #define USE_SSL /* SSL support has been enabled */ #endif /* Single point where USE_SPNEGO definition might be defined */ #if !defined(CURL_DISABLE_CRYPTO_AUTH) && \ (defined(HAVE_GSSAPI) || defined(USE_WINDOWS_SSPI)) #define USE_SPNEGO |
︙ | ︙ | |||
709 710 711 712 713 714 715 | #endif /* * Definition of our NOP statement Object-like macro */ #ifndef Curl_nop_stmt | | | 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 | #endif /* * Definition of our NOP statement Object-like macro */ #ifndef Curl_nop_stmt # define Curl_nop_stmt do { } while(0) #endif /* * Ensure that Winsock and lwIP TCP/IP stacks are not mixed. */ #if defined(__LWIP_OPT_H__) || defined(LWIP_HDR_OPT_H) |
︙ | ︙ |
Changes to jni/curl/lib/curl_setup_once.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_SETUP_ONCE_H #define HEADER_CURL_SETUP_ONCE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_SETUP_ONCE_H #define HEADER_CURL_SETUP_ONCE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
324 325 326 327 328 329 330 | #define TRUE true #endif #ifndef FALSE #define FALSE false #endif #include "curl_ctype.h" | < < < < < < < < < < < < < < < < < < < < < | 324 325 326 327 328 329 330 331 332 333 334 335 336 337 | #define TRUE true #endif #ifndef FALSE #define FALSE false #endif #include "curl_ctype.h" /* * Typedef to 'int' if sig_atomic_t is not an available 'typedefed' type. */ #ifndef HAVE_SIG_ATOMIC_T typedef int sig_atomic_t; |
︙ | ︙ | |||
383 384 385 386 387 388 389 | /* * Macro used to include code only in debug builds. */ #ifdef DEBUGBUILD #define DEBUGF(x) x #else | | > | | 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 | /* * Macro used to include code only in debug builds. */ #ifdef DEBUGBUILD #define DEBUGF(x) x #else #define DEBUGF(x) do { } while(0) #endif /* * Macro used to include assertion code only in debug builds. */ #undef DEBUGASSERT #if defined(DEBUGBUILD) && defined(HAVE_ASSERT_H) #define DEBUGASSERT(x) assert(x) #else #define DEBUGASSERT(x) do { } while(0) #endif /* * Macro SOCKERRNO / SET_SOCKERRNO() returns / sets the *socket-related* errno * (or equivalent) on this platform to hide platform details to code using it. */ |
︙ | ︙ |
Changes to jni/curl/lib/curl_sha256.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_SHA256_H #define HEADER_CURL_SHA256_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_SHA256_H #define HEADER_CURL_SHA256_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Florin Petriuc, <petriuc.florin@gmail.com> * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/curl_sspi.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/curl_sspi.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_SSPI_H #define HEADER_CURL_SSPI_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_SSPI_H #define HEADER_CURL_SSPI_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/curl_threads.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/curl_threads.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_THREADS_H #define HEADER_CURL_THREADS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_THREADS_H #define HEADER_CURL_THREADS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/dict.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_DICT_H #define HEADER_CURL_DICT_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_DICT_H #define HEADER_CURL_DICT_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/doh.c.
︙ | ︙ | |||
82 83 84 85 86 87 88 | size_t len, /* buffer size */ size_t *olen) /* output length */ { const size_t hostlen = strlen(host); unsigned char *orig = dnsp; const char *hostp = host; | | > > > > > > > | > > | | > > > > > > > > | > > > > > > > | < | | | < < | | > | > | > | < | < > | | | 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 | size_t len, /* buffer size */ size_t *olen) /* output length */ { const size_t hostlen = strlen(host); unsigned char *orig = dnsp; const char *hostp = host; /* The expected output length is 16 bytes more than the length of * the QNAME-encoding of the host name. * * A valid DNS name may not contain a zero-length label, except at * the end. For this reason, a name beginning with a dot, or * containing a sequence of two or more consecutive dots, is invalid * and cannot be encoded as a QNAME. * * If the host name ends with a trailing dot, the corresponding * QNAME-encoding is one byte longer than the host name. If (as is * also valid) the hostname is shortened by the omission of the * trailing dot, then its QNAME-encoding will be two bytes longer * than the host name. * * Each [ label, dot ] pair is encoded as [ length, label ], * preserving overall length. A final [ label ] without a dot is * also encoded as [ length, label ], increasing overall length * by one. The encoding is completed by appending a zero byte, * representing the zero-length root label, again increasing * the overall length by one. */ size_t expected_len; DEBUGASSERT(hostlen); expected_len = 12 + 1 + hostlen + 4; if(host[hostlen-1]!='.') expected_len++; if(expected_len > (256 + 16)) /* RFCs 1034, 1035 */ return DOH_DNS_NAME_TOO_LONG; if(len < expected_len) return DOH_TOO_SMALL_BUFFER; *dnsp++ = 0; /* 16 bit id */ *dnsp++ = 0; *dnsp++ = 0x01; /* |QR| Opcode |AA|TC|RD| Set the RD bit */ *dnsp++ = '\0'; /* |RA| Z | RCODE | */ *dnsp++ = '\0'; *dnsp++ = 1; /* QDCOUNT (number of entries in the question section) */ *dnsp++ = '\0'; *dnsp++ = '\0'; /* ANCOUNT */ *dnsp++ = '\0'; *dnsp++ = '\0'; /* NSCOUNT */ *dnsp++ = '\0'; *dnsp++ = '\0'; /* ARCOUNT */ /* encode each label and store it in the QNAME */ while(*hostp) { size_t labellen; char *dot = strchr(hostp, '.'); if(dot) labellen = dot - hostp; else labellen = strlen(hostp); if((labellen > 63) || (!labellen)) { /* label is too long or too short, error out */ *olen = 0; return DOH_DNS_BAD_LABEL; } /* label is non-empty, process it */ *dnsp++ = (unsigned char)labellen; memcpy(dnsp, hostp, labellen); dnsp += labellen; hostp += labellen; /* advance past dot, but only if there is one */ if(dot) hostp++; } /* next label */ *dnsp++ = 0; /* append zero-length label for root */ /* There are assigned TYPE codes beyond 255: use range [1..65535] */ *dnsp++ = (unsigned char)(255 & (dnstype>>8)); /* upper 8 bit TYPE */ *dnsp++ = (unsigned char)(255 & dnstype); /* lower 8 bit TYPE */ *dnsp++ = '\0'; /* upper 8 bit CLASS */ *dnsp++ = DNS_CLASS_IN; /* IN - "the Internet" */ *olen = dnsp - orig; /* verify that our estimation of length is valid, since * this has led to buffer overflows in this function */ DEBUGASSERT(*olen == expected_len); return DOH_OK; } static size_t doh_write_cb(void *contents, size_t size, size_t nmemb, void *userp) { |
︙ | ︙ | |||
191 192 193 194 195 196 197 | } #define ERROR_CHECK_SETOPT(x,y) \ do { \ result = curl_easy_setopt(doh, x, y); \ if(result) \ goto error; \ | | | 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 | } #define ERROR_CHECK_SETOPT(x,y) \ do { \ result = curl_easy_setopt(doh, x, y); \ if(result) \ goto error; \ } while(0) static CURLcode dohprobe(struct Curl_easy *data, struct dnsprobe *p, DNStype dnstype, const char *host, const char *url, CURLM *multi, struct curl_slist *headers) { |
︙ | ︙ | |||
276 277 278 279 280 281 282 283 284 | /* Inherit *some* SSL options from the user's transfer. This is a best-guess as to which options are needed for compatibility. #3661 */ if(data->set.ssl.falsestart) ERROR_CHECK_SETOPT(CURLOPT_SSL_FALSESTART, 1L); if(data->set.ssl.primary.verifyhost) ERROR_CHECK_SETOPT(CURLOPT_SSL_VERIFYHOST, 2L); if(data->set.proxy_ssl.primary.verifyhost) ERROR_CHECK_SETOPT(CURLOPT_PROXY_SSL_VERIFYHOST, 2L); | > | > > | > > > > > > | > > | > > > > > < < < < < < < < < < < < < < | 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 | /* Inherit *some* SSL options from the user's transfer. This is a best-guess as to which options are needed for compatibility. #3661 */ if(data->set.ssl.falsestart) ERROR_CHECK_SETOPT(CURLOPT_SSL_FALSESTART, 1L); if(data->set.ssl.primary.verifyhost) ERROR_CHECK_SETOPT(CURLOPT_SSL_VERIFYHOST, 2L); #ifndef CURL_DISABLE_PROXY if(data->set.proxy_ssl.primary.verifyhost) ERROR_CHECK_SETOPT(CURLOPT_PROXY_SSL_VERIFYHOST, 2L); if(data->set.proxy_ssl.primary.verifypeer) ERROR_CHECK_SETOPT(CURLOPT_PROXY_SSL_VERIFYPEER, 1L); if(data->set.str[STRING_SSL_CAFILE_PROXY]) { ERROR_CHECK_SETOPT(CURLOPT_PROXY_CAINFO, data->set.str[STRING_SSL_CAFILE_PROXY]); } if(data->set.str[STRING_SSL_CRLFILE_PROXY]) { ERROR_CHECK_SETOPT(CURLOPT_PROXY_CRLFILE, data->set.str[STRING_SSL_CRLFILE_PROXY]); } if(data->set.proxy_ssl.no_revoke) ERROR_CHECK_SETOPT(CURLOPT_PROXY_SSL_OPTIONS, CURLSSLOPT_NO_REVOKE); if(data->set.str[STRING_SSL_CAPATH_PROXY]) { ERROR_CHECK_SETOPT(CURLOPT_PROXY_CAPATH, data->set.str[STRING_SSL_CAPATH_PROXY]); } #endif if(data->set.ssl.primary.verifypeer) ERROR_CHECK_SETOPT(CURLOPT_SSL_VERIFYPEER, 1L); if(data->set.ssl.primary.verifystatus) ERROR_CHECK_SETOPT(CURLOPT_SSL_VERIFYSTATUS, 1L); if(data->set.str[STRING_SSL_CAFILE_ORIG]) { ERROR_CHECK_SETOPT(CURLOPT_CAINFO, data->set.str[STRING_SSL_CAFILE_ORIG]); } if(data->set.str[STRING_SSL_CAPATH_ORIG]) { ERROR_CHECK_SETOPT(CURLOPT_CAPATH, data->set.str[STRING_SSL_CAPATH_ORIG]); } if(data->set.str[STRING_SSL_CRLFILE_ORIG]) { ERROR_CHECK_SETOPT(CURLOPT_CRLFILE, data->set.str[STRING_SSL_CRLFILE_ORIG]); } if(data->set.ssl.certinfo) ERROR_CHECK_SETOPT(CURLOPT_CERTINFO, 1L); if(data->set.str[STRING_SSL_RANDOM_FILE]) { ERROR_CHECK_SETOPT(CURLOPT_RANDOM_FILE, data->set.str[STRING_SSL_RANDOM_FILE]); } if(data->set.str[STRING_SSL_EGDSOCKET]) { ERROR_CHECK_SETOPT(CURLOPT_EGDSOCKET, data->set.str[STRING_SSL_EGDSOCKET]); } if(data->set.ssl.no_revoke) ERROR_CHECK_SETOPT(CURLOPT_SSL_OPTIONS, CURLSSLOPT_NO_REVOKE); if(data->set.ssl.fsslctx) ERROR_CHECK_SETOPT(CURLOPT_SSL_CTX_FUNCTION, data->set.ssl.fsslctx); if(data->set.ssl.fsslctxp) ERROR_CHECK_SETOPT(CURLOPT_SSL_CTX_DATA, data->set.ssl.fsslctxp); doh->set.fmultidone = Curl_doh_done; doh->set.dohfor = data; /* identify for which transfer this is done */ |
︙ | ︙ | |||
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 | Curl_addrinfo *Curl_doh(struct connectdata *conn, const char *hostname, int port, int *waitp) { struct Curl_easy *data = conn->data; CURLcode result = CURLE_OK; *waitp = TRUE; /* this never returns synchronously */ (void)conn; (void)hostname; (void)port; /* start clean, consider allocating this struct on demand */ memset(&data->req.doh, 0, sizeof(struct dohdata)); data->req.doh.host = hostname; data->req.doh.port = port; data->req.doh.headers = curl_slist_append(NULL, "Content-Type: application/dns-message"); if(!data->req.doh.headers) goto error; if(conn->ip_version != CURL_IPRESOLVE_V6) { /* create IPv4 DOH request */ | > | | | | | | > | 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 | Curl_addrinfo *Curl_doh(struct connectdata *conn, const char *hostname, int port, int *waitp) { struct Curl_easy *data = conn->data; CURLcode result = CURLE_OK; int slot; *waitp = TRUE; /* this never returns synchronously */ (void)conn; (void)hostname; (void)port; /* start clean, consider allocating this struct on demand */ memset(&data->req.doh, 0, sizeof(struct dohdata)); data->req.doh.host = hostname; data->req.doh.port = port; data->req.doh.headers = curl_slist_append(NULL, "Content-Type: application/dns-message"); if(!data->req.doh.headers) goto error; if(conn->ip_version != CURL_IPRESOLVE_V6) { /* create IPv4 DOH request */ result = dohprobe(data, &data->req.doh.probe[DOH_PROBE_SLOT_IPADDR_V4], DNS_TYPE_A, hostname, data->set.str[STRING_DOH], data->multi, data->req.doh.headers); if(result) goto error; data->req.doh.pending++; } if(conn->ip_version != CURL_IPRESOLVE_V4) { /* create IPv6 DOH request */ result = dohprobe(data, &data->req.doh.probe[DOH_PROBE_SLOT_IPADDR_V6], DNS_TYPE_AAAA, hostname, data->set.str[STRING_DOH], data->multi, data->req.doh.headers); if(result) goto error; data->req.doh.pending++; } return NULL; error: curl_slist_free_all(data->req.doh.headers); data->req.doh.headers = NULL; for(slot = 0; slot < DOH_PROBE_SLOTS; slot++) { Curl_close(&data->req.doh.probe[slot].easy); } return NULL; } static DOHcode skipqname(unsigned char *doh, size_t dohlen, unsigned int *indexp) { unsigned char length; |
︙ | ︙ | |||
582 583 584 585 586 587 588 589 590 591 592 593 594 595 | return rc; break; case DNS_TYPE_CNAME: rc = store_cname(doh, dohlen, index, d); if(rc) return rc; break; default: /* unsupported type, just skip it */ break; } return DOH_OK; } | > > > | 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 | return rc; break; case DNS_TYPE_CNAME: rc = store_cname(doh, dohlen, index, d); if(rc) return rc; break; case DNS_TYPE_DNAME: /* explicit for clarity; just skip; rely on synthesized CNAME */ break; default: /* unsupported type, just skip it */ break; } return DOH_OK; } |
︙ | ︙ | |||
643 644 645 646 647 648 649 | if(rc) return rc; /* bad qname */ if(dohlen < (index + 2)) return DOH_DNS_OUT_OF_RANGE; type = get16bit(doh, index); | | > > | | 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 | if(rc) return rc; /* bad qname */ if(dohlen < (index + 2)) return DOH_DNS_OUT_OF_RANGE; type = get16bit(doh, index); if((type != DNS_TYPE_CNAME) /* may be synthesized from DNAME */ && (type != DNS_TYPE_DNAME) /* if present, accept and ignore */ && (type != dnstype)) /* Not the same type as was asked for nor CNAME nor DNAME */ return DOH_DNS_UNEXPECTED_TYPE; index += 2; if(dohlen < (index + 2)) return DOH_DNS_OUT_OF_RANGE; class = get16bit(doh, index); if(DNS_CLASS_IN != class) |
︙ | ︙ | |||
905 906 907 908 909 910 911 912 913 914 | free(d->cname[i].alloc); } } CURLcode Curl_doh_is_resolved(struct connectdata *conn, struct Curl_dns_entry **dnsp) { struct Curl_easy *data = conn->data; *dnsp = NULL; /* defaults to no response */ | > | > | < > | < | | > > | | | | | | | | | | < | < < < < < < < | > | > | 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 | free(d->cname[i].alloc); } } CURLcode Curl_doh_is_resolved(struct connectdata *conn, struct Curl_dns_entry **dnsp) { CURLcode result; struct Curl_easy *data = conn->data; *dnsp = NULL; /* defaults to no response */ if(!data->req.doh.probe[DOH_PROBE_SLOT_IPADDR_V4].easy && !data->req.doh.probe[DOH_PROBE_SLOT_IPADDR_V6].easy) { failf(data, "Could not DOH-resolve: %s", conn->async.hostname); return conn->bits.proxy?CURLE_COULDNT_RESOLVE_PROXY: CURLE_COULDNT_RESOLVE_HOST; } else if(!data->req.doh.pending) { DOHcode rc[DOH_PROBE_SLOTS]; struct dohentry de; int slot; /* remove DOH handles from multi handle and close them */ for(slot = 0; slot < DOH_PROBE_SLOTS; slot++) { curl_multi_remove_handle(data->multi, data->req.doh.probe[slot].easy); Curl_close(&data->req.doh.probe[slot].easy); } /* parse the responses, create the struct and return it! */ init_dohentry(&de); for(slot = 0; slot < DOH_PROBE_SLOTS; slot++) { rc[slot] = doh_decode(data->req.doh.probe[slot].serverdoh.memory, data->req.doh.probe[slot].serverdoh.size, data->req.doh.probe[slot].dnstype, &de); Curl_safefree(data->req.doh.probe[slot].serverdoh.memory); if(rc[slot]) { infof(data, "DOH: %s type %s for %s\n", doh_strerror(rc[slot]), type2name(data->req.doh.probe[slot].dnstype), data->req.doh.host); } } /* next slot */ result = CURLE_COULDNT_RESOLVE_HOST; /* until we know better */ if(!rc[DOH_PROBE_SLOT_IPADDR_V4] || !rc[DOH_PROBE_SLOT_IPADDR_V6]) { /* we have an address, of one kind or other */ struct Curl_dns_entry *dns; struct Curl_addrinfo *ai; infof(data, "DOH Host name: %s\n", data->req.doh.host); showdoh(data, &de); ai = doh2ai(&de, data->req.doh.host, data->req.doh.port); |
︙ | ︙ | |||
966 967 968 969 970 971 972 | /* we got a response, store it in the cache */ dns = Curl_cache_addr(data, ai, data->req.doh.host, data->req.doh.port); if(data->share) Curl_share_unlock(data, CURL_LOCK_DATA_DNS); | < | > | > | > > > | < | > > | 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 | /* we got a response, store it in the cache */ dns = Curl_cache_addr(data, ai, data->req.doh.host, data->req.doh.port); if(data->share) Curl_share_unlock(data, CURL_LOCK_DATA_DNS); if(!dns) { /* returned failure, bail out nicely */ Curl_freeaddrinfo(ai); } else { conn->async.dns = dns; *dnsp = dns; result = CURLE_OK; /* address resolution OK */ } } /* address processing done */ /* Now process any build-specific attributes retrieved from DNS */ /* All done */ de_cleanup(&de); return result; } /* !data->req.doh.pending */ /* else wait for pending DOH transactions to complete */ return CURLE_OK; } #endif /* CURL_DISABLE_DOH */ |
Changes to jni/curl/lib/doh.h.
︙ | ︙ | |||
51 52 53 54 55 56 57 | DOH_OUT_OF_MEM, /* 5 */ DOH_DNS_RDATA_LEN, /* 6 */ DOH_DNS_MALFORMAT, /* 7 */ DOH_DNS_BAD_RCODE, /* 8 - no such name */ DOH_DNS_UNEXPECTED_TYPE, /* 9 */ DOH_DNS_UNEXPECTED_CLASS, /* 10 */ DOH_NO_CONTENT, /* 11 */ | | > | > | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | DOH_OUT_OF_MEM, /* 5 */ DOH_DNS_RDATA_LEN, /* 6 */ DOH_DNS_MALFORMAT, /* 7 */ DOH_DNS_BAD_RCODE, /* 8 - no such name */ DOH_DNS_UNEXPECTED_TYPE, /* 9 */ DOH_DNS_UNEXPECTED_CLASS, /* 10 */ DOH_NO_CONTENT, /* 11 */ DOH_DNS_BAD_ID, /* 12 */ DOH_DNS_NAME_TOO_LONG /* 13 */ } DOHcode; typedef enum { 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 cnamestore { size_t len; /* length of cname */ |
︙ | ︙ |
Changes to jni/curl/lib/dotdot.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/dotdot.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_DOTDOT_H #define HEADER_CURL_DOTDOT_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_DOTDOT_H #define HEADER_CURL_DOTDOT_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/easy.c.
︙ | ︙ | |||
68 69 70 71 72 73 74 | #include "slist.h" #include "mime.h" #include "amigaos.h" #include "non-ascii.h" #include "warnless.h" #include "multiif.h" #include "sigpipe.h" | | | 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | #include "slist.h" #include "mime.h" #include "amigaos.h" #include "non-ascii.h" #include "warnless.h" #include "multiif.h" #include "sigpipe.h" #include "vssh/ssh.h" #include "setopt.h" #include "http_digest.h" #include "system_win32.h" /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" |
︙ | ︙ | |||
153 154 155 156 157 158 159 | #if defined(WIN32) && defined(UNICODE) Curl_cwcsdup = (curl_wcsdup_callback)_wcsdup; #endif } if(!Curl_ssl_init()) { DEBUGF(fprintf(stderr, "Error: Curl_ssl_init failed\n")); | | | | | | > > > > | 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 | #if defined(WIN32) && defined(UNICODE) Curl_cwcsdup = (curl_wcsdup_callback)_wcsdup; #endif } if(!Curl_ssl_init()) { DEBUGF(fprintf(stderr, "Error: Curl_ssl_init failed\n")); goto fail; } #ifdef WIN32 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 #ifdef NETWARE if(netware_init()) { DEBUGF(fprintf(stderr, "Warning: LONG namespace not available\n")); } #endif if(Curl_resolver_global_init()) { DEBUGF(fprintf(stderr, "Error: resolver_global_init failed\n")); goto fail; } (void)Curl_ipv6works(); #if defined(USE_SSH) if(Curl_ssh_init()) { goto fail; } #endif if(flags & CURL_GLOBAL_ACK_EINTR) Curl_ack_eintr = 1; init_flags = flags; Curl_version_init(); return CURLE_OK; fail: initialized--; /* undo the increase */ return CURLE_FAILED_INIT; } /** * curl_global_init() globally initializes curl given a bitwise set of the * different features of what to initialize. */ |
︙ | ︙ | |||
1023 1024 1025 1026 1027 1028 1029 | 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 */ if(data->multi) Curl_update_timer(data->multi); } | > | | | | 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 | 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 */ if(data->multi) Curl_update_timer(data->multi); } if(!data->state.done) /* This transfer may have been moved in or out of the bundle, update the corresponding socket callback, if used */ Curl_updatesocket(data); return result; } static CURLcode easy_connection(struct Curl_easy *data, curl_socket_t *sfd, |
︙ | ︙ |
Changes to jni/curl/lib/easyif.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_EASYIF_H #define HEADER_CURL_EASYIF_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_EASYIF_H #define HEADER_CURL_EASYIF_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/file.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
132 133 134 135 136 137 138 | * connect-then-transfer protocol and "connect" to the file here */ static CURLcode file_connect(struct connectdata *conn, bool *done) { struct Curl_easy *data = conn->data; char *real_path; struct FILEPROTO *file = data->req.protop; | | | 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | * connect-then-transfer protocol and "connect" to the file here */ static CURLcode file_connect(struct connectdata *conn, bool *done) { struct Curl_easy *data = conn->data; char *real_path; struct FILEPROTO *file = data->req.protop; int fd = -1; #ifdef DOS_FILESYSTEM size_t i; char *actual_path; #endif size_t real_path_len; CURLcode result = Curl_urldecode(data, data->state.up.path, 0, &real_path, |
︙ | ︙ | |||
177 178 179 180 181 182 183 | if(actual_path[i] == '/') actual_path[i] = '\\'; else if(!actual_path[i]) { /* binary zero */ Curl_safefree(real_path); return CURLE_URL_MALFORMAT; } | > > | | 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 | if(actual_path[i] == '/') actual_path[i] = '\\'; else if(!actual_path[i]) { /* binary zero */ Curl_safefree(real_path); return CURLE_URL_MALFORMAT; } if(strncmp("\\\\", actual_path, 2)) /* refuse to open path that starts with two backslashes */ fd = open_readonly(actual_path, O_RDONLY|O_BINARY); file->path = actual_path; #else if(memchr(real_path, 0, real_path_len)) { /* binary zeroes indicate foul play */ Curl_safefree(real_path); return CURLE_URL_MALFORMAT; } |
︙ | ︙ |
Changes to jni/curl/lib/file.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_FILE_H #define HEADER_CURL_FILE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_FILE_H #define HEADER_CURL_FILE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/ftp.c.
︙ | ︙ | |||
2035 2036 2037 2038 2039 2040 2041 | /* we got a time. Format should be: "YYYYMMDDHHMMSS[.sss]" where the last .sss part is optional and means fractions of a second */ int year, month, day, hour, minute, second; if(6 == sscanf(&data->state.buffer[4], "%04d%02d%02d%02d%02d%02d", &year, &month, &day, &hour, &minute, &second)) { /* we have a time, reformat it */ char timebuf[24]; | < < | | 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 | /* we got a time. Format should be: "YYYYMMDDHHMMSS[.sss]" where the last .sss part is optional and means fractions of a second */ int year, month, day, hour, minute, second; if(6 == sscanf(&data->state.buffer[4], "%04d%02d%02d%02d%02d%02d", &year, &month, &day, &hour, &minute, &second)) { /* we have a time, reformat it */ char timebuf[24]; msnprintf(timebuf, sizeof(timebuf), "%04d%02d%02d %02d:%02d:%02d GMT", year, month, day, hour, minute, second); /* now, convert this into a time() value: */ data->info.filetime = Curl_getdate_capped(timebuf); } #ifdef CURL_FTP_HTTPSTYLE_HEAD /* If we asked for a time of the file and we actually got one as well, we "emulate" a HTTP-style header in our output. */ if(data->set.opt_no_body && |
︙ | ︙ |
Changes to jni/curl/lib/ftplistparser.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_FTPLISTPARSER_H #define HEADER_CURL_FTPLISTPARSER_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_FTPLISTPARSER_H #define HEADER_CURL_FTPLISTPARSER_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/getinfo.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_GETINFO_H #define HEADER_CURL_GETINFO_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_GETINFO_H #define HEADER_CURL_GETINFO_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/gopher.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_GOPHER_H #define HEADER_CURL_GOPHER_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_GOPHER_H #define HEADER_CURL_GOPHER_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/hostcheck.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_HOSTCHECK_H #define HEADER_CURL_HOSTCHECK_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_HOSTCHECK_H #define HEADER_CURL_HOSTCHECK_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/hostip.c.
︙ | ︙ | |||
1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 | return CURLE_OK; } CURLcode Curl_resolv_check(struct connectdata *conn, struct Curl_dns_entry **dns) { if(conn->data->set.doh) return Curl_doh_is_resolved(conn, dns); return Curl_resolver_is_resolved(conn, dns); } int Curl_resolv_getsock(struct connectdata *conn, curl_socket_t *socks) | > > > > | 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 | return CURLE_OK; } CURLcode Curl_resolv_check(struct connectdata *conn, struct Curl_dns_entry **dns) { #if defined(CURL_DISABLE_DOH) && !defined(CURLRES_ASYNCH) (void)dns; #endif if(conn->data->set.doh) return Curl_doh_is_resolved(conn, dns); return Curl_resolver_is_resolved(conn, dns); } int Curl_resolv_getsock(struct connectdata *conn, curl_socket_t *socks) |
︙ | ︙ |
Changes to jni/curl/lib/hostip4.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
127 128 129 130 131 132 133 134 135 136 137 138 139 140 | int res; #endif Curl_addrinfo *ai = NULL; struct hostent *h = NULL; struct in_addr in; struct hostent *buf = NULL; if(Curl_inet_pton(AF_INET, hostname, &in) > 0) /* This is a dotted IP address 123.123.123.123-style */ return Curl_ip2addr(AF_INET, &in, hostname, port); #if defined(HAVE_GETADDRINFO_THREADSAFE) else { struct addrinfo hints; | > > > > > > > > > > | 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | int res; #endif Curl_addrinfo *ai = NULL; struct hostent *h = NULL; struct in_addr in; struct hostent *buf = NULL; #ifdef ENABLE_IPV6 { struct in6_addr in6; /* check if this is an IPv6 address string */ if(Curl_inet_pton(AF_INET6, hostname, &in6) > 0) /* This is an IPv6 address literal */ return Curl_ip2addr(AF_INET6, &in6, hostname, port); } #endif /* ENABLE_IPV6 */ if(Curl_inet_pton(AF_INET, hostname, &in) > 0) /* This is a dotted IP address 123.123.123.123-style */ return Curl_ip2addr(AF_INET, &in, hostname, port); #if defined(HAVE_GETADDRINFO_THREADSAFE) else { struct addrinfo hints; |
︙ | ︙ |
Changes to jni/curl/lib/hostsyn.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/http.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
637 638 639 640 641 642 643 | struct auth *authstatus, const char *request, const char *path, bool proxy) { const char *auth = NULL; CURLcode result = CURLE_OK; | | | 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 | struct auth *authstatus, const char *request, const char *path, bool proxy) { const char *auth = NULL; CURLcode result = CURLE_OK; #if !defined(CURL_DISABLE_VERBOSE_STRINGS) struct Curl_easy *data = conn->data; #endif #ifdef CURL_DISABLE_CRYPTO_AUTH (void)request; (void)path; #endif |
︙ | ︙ | |||
1613 1614 1615 1616 1617 1618 1619 | if(!http) return CURLE_OK; if(http->send_buffer) { Curl_add_buffer_free(&http->send_buffer); } | | > | 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 | if(!http) return CURLE_OK; if(http->send_buffer) { Curl_add_buffer_free(&http->send_buffer); } Curl_http2_done(data, premature); Curl_quic_done(data, premature); Curl_mime_cleanpart(&http->form); if(status) return status; if(!premature && /* this check is pointless when DONE is called before the |
︙ | ︙ | |||
3969 3970 3971 3972 3973 3974 3975 | result = Curl_build_unencoding_stack(conn, k->p + 17, FALSE); if(result) return result; } else if(checkprefix("Retry-After:", k->p)) { /* Retry-After = HTTP-date / delay-seconds */ curl_off_t retry_after = 0; /* zero for unknown or "now" */ | | | 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 | result = Curl_build_unencoding_stack(conn, k->p + 17, FALSE); if(result) return result; } else if(checkprefix("Retry-After:", k->p)) { /* Retry-After = HTTP-date / delay-seconds */ curl_off_t retry_after = 0; /* zero for unknown or "now" */ time_t date = Curl_getdate_capped(&k->p[12]); if(-1 == date) { /* not a date, try it as a decimal number */ (void)curlx_strtoofft(&k->p[12], NULL, 10, &retry_after); } else /* convert date to number of seconds into the future */ retry_after = date - time(NULL); |
︙ | ︙ | |||
4027 4028 4029 4030 4031 4032 4033 | (conn->handler->protocol&CURLPROTO_HTTPS)? TRUE:FALSE); Curl_share_unlock(data, CURL_LOCK_DATA_COOKIE); } #endif else if(!k->http_bodyless && checkprefix("Last-Modified:", k->p) && (data->set.timecondition || data->set.get_filetime) ) { | < | < | 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 | (conn->handler->protocol&CURLPROTO_HTTPS)? TRUE:FALSE); Curl_share_unlock(data, CURL_LOCK_DATA_COOKIE); } #endif else if(!k->http_bodyless && checkprefix("Last-Modified:", k->p) && (data->set.timecondition || data->set.get_filetime) ) { k->timeofdoc = Curl_getdate_capped(k->p + strlen("Last-Modified:")); if(data->set.get_filetime) data->info.filetime = k->timeofdoc; } else if((checkprefix("WWW-Authenticate:", k->p) && (401 == k->httpcode)) || (checkprefix("Proxy-authenticate:", k->p) && (407 == k->httpcode))) { |
︙ | ︙ |
Changes to jni/curl/lib/http.h.
︙ | ︙ | |||
189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | 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 /*********** for HTTP/3 we store stream-local data here *************/ int64_t stream3_id; /* stream we are interested in */ bool firstbody; /* FALSE until body arrives */ bool h3req; /* FALSE until request is issued */ bool upload_done; #endif #ifdef USE_NGHTTP3 struct h3out *h3out; /* per-stream buffers for upload */ #endif }; #ifdef USE_NGHTTP2 /* h2 settings for this connection */ struct h2settings { uint32_t max_concurrent_streams; | > > > > > | 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 | 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 /*********** for HTTP/3 we store stream-local data here *************/ int64_t stream3_id; /* stream we are interested in */ bool firstheader; /* FALSE until headers arrive */ bool firstbody; /* FALSE until body arrives */ bool h3req; /* FALSE until request is issued */ bool upload_done; #endif #ifdef USE_NGHTTP3 size_t unacked_window; struct h3out *h3out; /* per-stream buffers for upload */ char *overflow_buf; /* excess data received during a single Curl_read */ size_t overflow_buflen; /* amount of data currently in overflow_buf */ size_t overflow_bufsize; /* size of the overflow_buf allocation */ #endif }; #ifdef USE_NGHTTP2 /* h2 settings for this connection */ struct h2settings { uint32_t max_concurrent_streams; |
︙ | ︙ |
Changes to jni/curl/lib/http2.c.
︙ | ︙ | |||
64 65 66 67 68 69 70 | #endif #define HTTP2_HUGE_WINDOW_SIZE (1 << 30) #ifdef DEBUG_HTTP2 #define H2BUGF(x) x #else | | | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | #endif #define HTTP2_HUGE_WINDOW_SIZE (1 << 30) #ifdef DEBUG_HTTP2 #define H2BUGF(x) x #else #define H2BUGF(x) do { } while(0) #endif static ssize_t http2_recv(struct connectdata *conn, int sockindex, char *mem, size_t len, CURLcode *err); static bool http2_connisdead(struct connectdata *conn); static int h2_session_send(struct Curl_easy *data, |
︙ | ︙ | |||
1165 1166 1167 1168 1169 1170 1171 | iv[2].settings_id = NGHTTP2_SETTINGS_ENABLE_PUSH; iv[2].value = conn->data->multi->push_cb != NULL; httpc->local_settings_num = 3; } | | < | | 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 | iv[2].settings_id = NGHTTP2_SETTINGS_ENABLE_PUSH; iv[2].value = conn->data->multi->push_cb != NULL; httpc->local_settings_num = 3; } void Curl_http2_done(struct Curl_easy *data, bool premature) { struct HTTP *http = data->req.protop; struct http_conn *httpc = &data->conn->proto.httpc; /* there might be allocated resources done before this got the 'h2' pointer setup */ if(http->header_recvbuf) { Curl_add_buffer_free(&http->header_recvbuf); Curl_add_buffer_free(&http->trailer_recvbuf); if(http->push_headers) { |
︙ | ︙ |
Changes to jni/curl/lib/http2.h.
︙ | ︙ | |||
46 47 48 49 50 51 52 | struct connectdata *conn); CURLcode Curl_http2_setup(struct connectdata *conn); CURLcode Curl_http2_switched(struct connectdata *conn, const char *data, size_t nread); /* called from http_setup_conn */ void Curl_http2_setup_conn(struct connectdata *conn); void Curl_http2_setup_req(struct Curl_easy *data); | | | 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | struct connectdata *conn); CURLcode Curl_http2_setup(struct connectdata *conn); CURLcode Curl_http2_switched(struct connectdata *conn, const char *data, size_t nread); /* called from http_setup_conn */ void Curl_http2_setup_conn(struct connectdata *conn); void Curl_http2_setup_req(struct Curl_easy *data); void Curl_http2_done(struct Curl_easy *data, bool premature); CURLcode Curl_http2_done_sending(struct connectdata *conn); CURLcode Curl_http2_add_child(struct Curl_easy *parent, struct Curl_easy *child, bool exclusive); void Curl_http2_remove_child(struct Curl_easy *parent, struct Curl_easy *child); void Curl_http2_cleanup_dependencies(struct Curl_easy *data); |
︙ | ︙ |
Changes to jni/curl/lib/http_ntlm.c.
︙ | ︙ | |||
40 41 42 43 44 45 46 | #include "curl_ntlm_core.h" #include "curl_ntlm_wb.h" #include "vauth/vauth.h" #include "url.h" /* SSL backend-specific #if branches in this file must be kept in the order documented in curl_ntlm_core. */ | < < | | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #include "curl_ntlm_core.h" #include "curl_ntlm_wb.h" #include "vauth/vauth.h" #include "url.h" /* SSL backend-specific #if branches in this file must be kept in the order documented in curl_ntlm_core. */ #if defined(USE_WINDOWS_SSPI) #include "curl_sspi.h" #endif /* The last 3 #include files should be in this order */ #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" |
︙ | ︙ | |||
133 134 135 136 137 138 139 | struct ntlmdata *ntlm; curlntlm *state; struct auth *authp; DEBUGASSERT(conn); DEBUGASSERT(conn->data); | < < < < < | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | struct ntlmdata *ntlm; curlntlm *state; struct auth *authp; DEBUGASSERT(conn); DEBUGASSERT(conn->data); if(proxy) { allocuserpwd = &conn->allocptr.proxyuserpwd; userp = conn->http_proxy.user; passwdp = conn->http_proxy.passwd; service = conn->data->set.str[STRING_PROXY_SERVICE_NAME] ? conn->data->set.str[STRING_PROXY_SERVICE_NAME] : "HTTP"; hostname = conn->http_proxy.host.name; |
︙ | ︙ |
Changes to jni/curl/lib/http_proxy.c.
︙ | ︙ | |||
54 55 56 57 58 59 60 | DEBUGASSERT(conn->http_proxy.proxytype == CURLPROXY_HTTPS); if(!conn->bits.proxy_ssl_connected[sockindex]) { /* perform SSL initialization for this socket */ result = Curl_ssl_connect_nonblocking(conn, sockindex, &conn->bits.proxy_ssl_connected[sockindex]); if(result) | | | > | 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | DEBUGASSERT(conn->http_proxy.proxytype == CURLPROXY_HTTPS); if(!conn->bits.proxy_ssl_connected[sockindex]) { /* perform SSL initialization for this socket */ result = Curl_ssl_connect_nonblocking(conn, sockindex, &conn->bits.proxy_ssl_connected[sockindex]); if(result) /* a failed connection is marked for closure to prevent (bad) re-use or similar */ connclose(conn, "TLS handshake failed"); } return result; #else (void) conn; (void) sockindex; return CURLE_NOT_BUILT_IN; #endif |
︙ | ︙ |
Changes to jni/curl/lib/imap.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_IMAP_H #define HEADER_CURL_IMAP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_IMAP_H #define HEADER_CURL_IMAP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2009 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/inet_ntop.c.
1 | /* | | | 1 2 3 4 5 6 7 8 9 | /* * Copyright (C) 1996-2019 Internet Software Consortium. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL |
︙ | ︙ |
Changes to jni/curl/lib/inet_ntop.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_INET_NTOP_H #define HEADER_CURL_INET_NTOP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_INET_NTOP_H #define HEADER_CURL_INET_NTOP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/inet_pton.c.
1 2 | /* This is from the BIND 4.9.4 release, modified to compile by itself */ | | | 1 2 3 4 5 6 7 8 9 10 | /* This is from the BIND 4.9.4 release, modified to compile by itself */ /* Copyright (c) 1996 - 2019 by Internet Software Consortium. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES |
︙ | ︙ |
Changes to jni/curl/lib/inet_pton.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_INET_PTON_H #define HEADER_CURL_INET_PTON_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_INET_PTON_H #define HEADER_CURL_INET_PTON_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/krb5.c.
1 2 3 4 | /* GSSAPI/krb5 support for FTP - loosely based on old krb4.c * * Copyright (c) 1995, 1996, 1997, 1998, 1999 Kungliga Tekniska Högskolan * (Royal Institute of Technology, Stockholm, Sweden). | | | 1 2 3 4 5 6 7 8 9 10 11 12 | /* GSSAPI/krb5 support for FTP - loosely based on old krb4.c * * Copyright (c) 1995, 1996, 1997, 1998, 1999 Kungliga Tekniska Högskolan * (Royal Institute of Technology, Stockholm, Sweden). * Copyright (c) 2004 - 2019 Daniel Stenberg * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright |
︙ | ︙ |
Changes to jni/curl/lib/ldap.c.
︙ | ︙ | |||
108 109 110 111 112 113 114 | #define ldap_free_urldesc _ldap_free_urldesc #endif #ifdef DEBUG_LDAP #define LDAP_TRACE(x) do { \ _ldap_trace("%u: ", __LINE__); \ _ldap_trace x; \ | | | 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 | #define ldap_free_urldesc _ldap_free_urldesc #endif #ifdef DEBUG_LDAP #define LDAP_TRACE(x) do { \ _ldap_trace("%u: ", __LINE__); \ _ldap_trace x; \ } while(0) static void _ldap_trace(const char *fmt, ...); #else #define LDAP_TRACE(x) Curl_nop_stmt #endif #if defined(USE_WIN32_LDAP) && defined(ldap_err2string) |
︙ | ︙ |
Changes to jni/curl/lib/libcurl.plist.
︙ | ︙ | |||
11 12 13 14 15 16 17 | <key>CFBundleExecutable</key> <string>curl</string> <key>CFBundleIdentifier</key> <string>se.haxx.curl.libcurl</string> <key>CFBundleVersion</key> | | | | | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <key>CFBundleExecutable</key> <string>curl</string> <key>CFBundleIdentifier</key> <string>se.haxx.curl.libcurl</string> <key>CFBundleVersion</key> <string>7.68.0</string> <key>CFBundleName</key> <string>libcurl</string> <key>CFBundlePackageType</key> <string>FMWK</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleShortVersionString</key> <string>libcurl 7.68.0</string> <key>CFBundleGetInfoString</key> <string>libcurl.plist 7.68.0</string> </dict> </plist> |
Changes to jni/curl/lib/llist.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_LLIST_H #define HEADER_CURL_LLIST_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_LLIST_H #define HEADER_CURL_LLIST_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/memdebug.h.
︙ | ︙ | |||
165 166 167 168 169 170 171 | /* * Curl_safefree defined as a macro to allow MemoryTracking feature * to log free() calls at same location where Curl_safefree is used. * This macro also assigns NULL to given pointer when free'd. */ #define Curl_safefree(ptr) \ | | | 165 166 167 168 169 170 171 172 173 174 | /* * Curl_safefree defined as a macro to allow MemoryTracking feature * to log free() calls at same location where Curl_safefree is used. * This macro also assigns NULL to given pointer when free'd. */ #define Curl_safefree(ptr) \ do { free((ptr)); (ptr) = NULL;} while(0) #endif /* HEADER_CURL_MEMDEBUG_H */ |
Changes to jni/curl/lib/mprintf.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1999 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
100 101 102 103 104 105 106 | #define OUTCHAR(x) \ do{ \ if(stream((unsigned char)(x), (FILE *)data) != -1) \ done++; \ else \ return done; /* return immediately on failure */ \ | | | 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | #define OUTCHAR(x) \ do{ \ if(stream((unsigned char)(x), (FILE *)data) != -1) \ done++; \ else \ return done; /* return immediately on failure */ \ } while(0) /* Data type to read from the arglist */ typedef enum { FORMAT_UNKNOWN = 0, FORMAT_STRING, FORMAT_PTR, FORMAT_INT, |
︙ | ︙ |
Changes to jni/curl/lib/multi.c.
︙ | ︙ | |||
42 43 44 45 46 47 48 49 50 51 52 53 54 55 | #include "conncache.h" #include "multihandle.h" #include "sigpipe.h" #include "vtls/vtls.h" #include "connect.h" #include "http_proxy.h" #include "http2.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 | > | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | #include "conncache.h" #include "multihandle.h" #include "sigpipe.h" #include "vtls/vtls.h" #include "connect.h" #include "http_proxy.h" #include "http2.h" #include "socketpair.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 |
︙ | ︙ | |||
255 256 257 258 259 260 261 262 263 264 265 266 267 268 | trhash_compare, trhash_dtor)) { free(check); return NULL; } /* make/add new hash entry */ if(!Curl_hash_add(sh, (char *)&s, sizeof(curl_socket_t), check)) { free(check); return NULL; /* major failure */ } return check; /* things are good in sockhash land */ } | > | 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 | trhash_compare, trhash_dtor)) { free(check); return NULL; } /* make/add new hash entry */ if(!Curl_hash_add(sh, (char *)&s, sizeof(curl_socket_t), check)) { Curl_hash_destroy(&check->transfers); free(check); return NULL; /* major failure */ } return check; /* things are good in sockhash land */ } |
︙ | ︙ | |||
363 364 365 366 367 368 369 370 371 372 373 374 375 376 | Curl_llist_init(&multi->msglist, NULL); Curl_llist_init(&multi->pending, NULL); multi->multiplexing = TRUE; /* -1 means it not set by user, use the default value */ multi->maxconnects = -1; return multi; error: Curl_hash_destroy(&multi->sockhash); Curl_hash_destroy(&multi->hostcache); Curl_conncache_destroy(&multi->conn_cache); | > > > > > > > > > > > > > > > | 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 | Curl_llist_init(&multi->msglist, NULL); Curl_llist_init(&multi->pending, NULL); multi->multiplexing = TRUE; /* -1 means it not set by user, use the default value */ multi->maxconnects = -1; #ifdef ENABLE_WAKEUP if(Curl_socketpair(AF_UNIX, SOCK_STREAM, 0, 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) { sclose(multi->wakeup_pair[0]); sclose(multi->wakeup_pair[1]); multi->wakeup_pair[0] = CURL_SOCKET_BAD; multi->wakeup_pair[1] = CURL_SOCKET_BAD; } #endif return multi; error: Curl_hash_destroy(&multi->sockhash); Curl_hash_destroy(&multi->hostcache); Curl_conncache_destroy(&multi->conn_cache); |
︙ | ︙ | |||
526 527 528 529 530 531 532 533 534 535 536 537 538 539 | unsigned int i; DEBUGF(infof(data, "multi_done\n")); if(data->state.done) /* Stop if multi_done() has already been called */ return CURLE_OK; /* Stop the resolver and free its own resources (but not dns_entry yet). */ Curl_resolver_kill(conn); /* Cleanup possible redirect junk */ Curl_safefree(data->req.newurl); Curl_safefree(data->req.location); | > > | 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 | unsigned int i; DEBUGF(infof(data, "multi_done\n")); if(data->state.done) /* Stop if multi_done() has already been called */ return CURLE_OK; conn->data = data; /* ensure the connection uses this transfer now */ /* Stop the resolver and free its own resources (but not dns_entry yet). */ Curl_resolver_kill(conn); /* Cleanup possible redirect junk */ Curl_safefree(data->req.newurl); Curl_safefree(data->req.location); |
︙ | ︙ | |||
563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 | CURLcode rc = Curl_pgrsDone(conn); if(!result && rc) result = CURLE_ABORTED_BY_CALLBACK; } process_pending_handles(data->multi); /* connection / multiplex */ detach_connnection(data); if(CONN_INUSE(conn)) { /* Stop if still used. */ DEBUGF(infof(data, "Connection still in use %zu, " "no more multi_done now!\n", conn->easyq.size)); return CURLE_OK; } | > > | | 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 | CURLcode rc = Curl_pgrsDone(conn); if(!result && rc) result = CURLE_ABORTED_BY_CALLBACK; } process_pending_handles(data->multi); /* connection / multiplex */ CONN_LOCK(data); detach_connnection(data); if(CONN_INUSE(conn)) { /* Stop if still used. */ CONN_UNLOCK(data); DEBUGF(infof(data, "Connection still in use %zu, " "no more multi_done now!\n", conn->easyq.size)); return CURLE_OK; } conn->data = NULL; /* the connection now has no owner */ data->state.done = TRUE; /* called just now! */ if(conn->dns_entry) { Curl_resolv_unlock(data, conn->dns_entry); /* done with this */ conn->dns_entry = NULL; } Curl_hostcache_prune(data); |
︙ | ︙ | |||
614 615 616 617 618 619 620 | #endif #if defined(USE_SPNEGO) && !(conn->http_negotiate_state == GSS_AUTHRECV || conn->proxy_negotiate_state == GSS_AUTHRECV) #endif ) || conn->bits.close || (premature && !(conn->handler->flags & PROTOPT_STREAM))) { | > > > | < > | | 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 | #endif #if defined(USE_SPNEGO) && !(conn->http_negotiate_state == GSS_AUTHRECV || conn->proxy_negotiate_state == GSS_AUTHRECV) #endif ) || conn->bits.close || (premature && !(conn->handler->flags & PROTOPT_STREAM))) { CURLcode res2; connclose(conn, "disconnecting"); CONN_UNLOCK(data); res2 = Curl_disconnect(data, conn, premature); /* If we had an error already, make sure we return that one. But if we got a new error, return that. */ if(!result && res2) result = res2; } else { char buffer[256]; /* create string before returning the connection */ msnprintf(buffer, sizeof(buffer), "Connection #%ld to host %s left intact", conn->connection_id, conn->bits.socksproxy ? conn->socks_proxy.host.dispname : conn->bits.httpproxy ? conn->http_proxy.host.dispname : conn->bits.conn_to_host ? conn->conn_to_host.dispname : conn->host.dispname); /* the connection is no longer in use by this transfer */ CONN_UNLOCK(data); if(Curl_conncache_return_conn(data, conn)) { /* remember the most recently used connection */ data->state.lastconnect = conn; infof(data, "%s\n", buffer); } else data->state.lastconnect = NULL; } |
︙ | ︙ | |||
691 692 693 694 695 696 697 | /* Set connection owner so that the DONE function closes it. We can safely do this here since connection is killed. */ data->conn->data = easy; streamclose(data->conn, "Removed with partial response"); easy_owns_conn = TRUE; } | < < < < < > > > > > | 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 | /* Set connection owner so that the DONE function closes it. We can safely do this here since connection is killed. */ data->conn->data = easy; streamclose(data->conn, "Removed with partial response"); easy_owns_conn = TRUE; } if(data->conn) { /* we must call multi_done() here (if we still own the connection) so that we don't leave a half-baked one around */ if(easy_owns_conn) { /* multi_done() clears the conn->data field to lose the association between the easy handle and the connection Note that this ignores the return code simply because there's nothing really useful to do with it anyway! */ (void)multi_done(data, data->result, premature); } } /* The timer must be shut down before data->multi is set to NULL, else the timenode will remain in the splay tree after curl_easy_cleanup is called. Do it after multi_done() in case that sets another time! */ Curl_expire_clear(data); if(data->connect_queue.ptr) /* the handle was in the pending list waiting for an available connection, so go ahead and remove it */ Curl_llist_remove(&multi->pending, &data->connect_queue, NULL); if(data->dns.hostcachetype == HCACHE_MULTI) { |
︙ | ︙ | |||
740 741 742 743 744 745 746 | /* change state without using multistate(), only to make singlesocket() do what we want */ data->mstate = CURLM_STATE_COMPLETED; singlesocket(multi, easy); /* to let the application know what sockets that vanish with this handle */ /* Remove the association between the connection and the handle */ | | < < | 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 | /* change state without using multistate(), only to make singlesocket() do what we want */ data->mstate = CURLM_STATE_COMPLETED; singlesocket(multi, easy); /* to let the application know what sockets that vanish with this handle */ /* Remove the association between the connection and the handle */ if(data->conn) detach_connnection(data); #ifdef USE_LIBPSL /* Remove the PSL association. */ if(data->psl == &multi->psl) data->psl = NULL; #endif |
︙ | ︙ | |||
1001 1002 1003 1004 1005 1006 1007 | #define NUM_POLLS_ON_STACK 10 static CURLMcode Curl_multi_wait(struct Curl_multi *multi, struct curl_waitfd extra_fds[], unsigned int extra_nfds, int timeout_ms, int *ret, | | > | 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 | #define NUM_POLLS_ON_STACK 10 static CURLMcode Curl_multi_wait(struct Curl_multi *multi, struct curl_waitfd extra_fds[], unsigned int extra_nfds, int timeout_ms, int *ret, bool extrawait, /* when no socket, wait */ bool use_wakeup) { struct Curl_easy *data; curl_socket_t sockbunch[MAX_SOCKSPEREASYHANDLE]; int bitmap; unsigned int i; unsigned int nfds = 0; unsigned int curlfds; |
︙ | ︙ | |||
1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 | is actually larger than -1! */ (void)multi_timeout(multi, &timeout_internal); if((timeout_internal >= 0) && (timeout_internal < (long)timeout_ms)) timeout_ms = (int)timeout_internal; curlfds = nfds; /* number of internal file descriptors */ nfds += extra_nfds; /* add the externally provided ones */ if(nfds > NUM_POLLS_ON_STACK) { /* 'nfds' is a 32 bit value and 'struct pollfd' is typically 8 bytes big, so at 2^29 sockets this value might wrap. When a process gets the capability to actually handle over 500 million sockets this calculation needs a integer overflow check. */ ufds = malloc(nfds * sizeof(struct pollfd)); | > > > > > > | 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 | is actually larger than -1! */ (void)multi_timeout(multi, &timeout_internal); if((timeout_internal >= 0) && (timeout_internal < (long)timeout_ms)) timeout_ms = (int)timeout_internal; curlfds = nfds; /* number of internal file descriptors */ nfds += extra_nfds; /* add the externally provided ones */ #ifdef ENABLE_WAKEUP if(use_wakeup && multi->wakeup_pair[0] != CURL_SOCKET_BAD) { ++nfds; } #endif if(nfds > NUM_POLLS_ON_STACK) { /* 'nfds' is a 32 bit value and 'struct pollfd' is typically 8 bytes big, so at 2^29 sockets this value might wrap. When a process gets the capability to actually handle over 500 million sockets this calculation needs a integer overflow check. */ ufds = malloc(nfds * sizeof(struct pollfd)); |
︙ | ︙ | |||
1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 | ufds[nfds].events |= POLLIN; if(extra_fds[i].events & CURL_WAIT_POLLPRI) ufds[nfds].events |= POLLPRI; if(extra_fds[i].events & CURL_WAIT_POLLOUT) ufds[nfds].events |= POLLOUT; ++nfds; } if(nfds) { int pollrc; /* wait... */ pollrc = Curl_poll(ufds, nfds, timeout_ms); if(pollrc > 0) { | > > > > > > > > | 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 | ufds[nfds].events |= POLLIN; if(extra_fds[i].events & CURL_WAIT_POLLPRI) ufds[nfds].events |= POLLPRI; if(extra_fds[i].events & CURL_WAIT_POLLOUT) ufds[nfds].events |= POLLOUT; ++nfds; } #ifdef ENABLE_WAKEUP if(use_wakeup && multi->wakeup_pair[0] != CURL_SOCKET_BAD) { ufds[nfds].fd = multi->wakeup_pair[0]; ufds[nfds].events = POLLIN; ++nfds; } #endif if(nfds) { int pollrc; /* wait... */ pollrc = Curl_poll(ufds, nfds, timeout_ms); if(pollrc > 0) { |
︙ | ︙ | |||
1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 | if(r & POLLOUT) mask |= CURL_WAIT_POLLOUT; if(r & POLLPRI) mask |= CURL_WAIT_POLLPRI; extra_fds[i].revents = mask; } } } if(ufds_malloc) free(ufds); if(ret) *ret = retcode; | > > > > > > > > > > > > > > > > > > > > > > > | > > > > | > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | if(r & POLLOUT) mask |= CURL_WAIT_POLLOUT; if(r & POLLPRI) mask |= CURL_WAIT_POLLPRI; extra_fds[i].revents = mask; } #ifdef ENABLE_WAKEUP if(use_wakeup && multi->wakeup_pair[0] != CURL_SOCKET_BAD) { if(ufds[curlfds + extra_nfds].revents & POLLIN) { char buf[64]; 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. */ if(sread(multi->wakeup_pair[0], buf, sizeof(buf)) < 0) { #ifndef USE_WINSOCK if(EINTR == SOCKERRNO) continue; #endif break; } } /* do not count the wakeup socket into the returned value */ retcode--; } } #endif } } if(ufds_malloc) free(ufds); if(ret) *ret = retcode; if(!extrawait || nfds) /* if any socket was checked */ ; else { long sleep_ms = 0; /* Avoid busy-looping when there's nothing particular to wait for */ if(!curl_multi_timeout(multi, &sleep_ms) && sleep_ms) { if(sleep_ms > timeout_ms) sleep_ms = timeout_ms; /* when there are no easy handles in the multi, this holds a -1 timeout */ else if((sleep_ms < 0) && extrawait) sleep_ms = timeout_ms; Curl_wait_ms((int)sleep_ms); } } return CURLM_OK; } CURLMcode curl_multi_wait(struct Curl_multi *multi, struct curl_waitfd extra_fds[], unsigned int extra_nfds, int timeout_ms, int *ret) { return Curl_multi_wait(multi, extra_fds, extra_nfds, timeout_ms, ret, FALSE, FALSE); } CURLMcode curl_multi_poll(struct Curl_multi *multi, struct curl_waitfd extra_fds[], unsigned int extra_nfds, int timeout_ms, int *ret) { return Curl_multi_wait(multi, extra_fds, extra_nfds, timeout_ms, ret, TRUE, TRUE); } CURLMcode curl_multi_wakeup(struct Curl_multi *multi) { /* this function is usually called from another thread, it has to be careful only to access parts of the Curl_multi struct that are constant */ /* GOOD_MULTI_HANDLE can be safely called */ if(!GOOD_MULTI_HANDLE(multi)) return CURLM_BAD_HANDLE; #ifdef ENABLE_WAKEUP /* the wakeup_pair variable is only written during init and cleanup, making it safe to access from another thread after the init part and before cleanup */ if(multi->wakeup_pair[1] != CURL_SOCKET_BAD) { char buf[1]; buf[0] = 1; while(1) { /* swrite() is not thread-safe in general, because concurrent calls can have their messages interleaved, but in this case the content 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(swrite(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; return_success = EWOULDBLOCK == err || EAGAIN == err; #endif if(!return_success) return CURLM_WAKEUP_FAILURE; } return CURLM_OK; } } #endif return CURLM_WAKEUP_FAILURE; } /* * multi_ischanged() is called * * Returns TRUE/FALSE whether the state is changed to trigger a CONNECT_PEND * => CONNECT action. |
︙ | ︙ | |||
1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 | static CURLcode multi_do(struct Curl_easy *data, bool *done) { CURLcode result = CURLE_OK; struct connectdata *conn = data->conn; DEBUGASSERT(conn); DEBUGASSERT(conn->handler); if(conn->handler->do_it) { /* generic protocol-specific function pointer set in curl_connect() */ result = conn->handler->do_it(conn, done); if(!result && *done) /* do_complete must be called after the protocol-specific DO function */ | > | 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 | static CURLcode multi_do(struct Curl_easy *data, bool *done) { CURLcode result = CURLE_OK; struct connectdata *conn = data->conn; DEBUGASSERT(conn); DEBUGASSERT(conn->handler); DEBUGASSERT(conn->data == data); if(conn->handler->do_it) { /* generic protocol-specific function pointer set in curl_connect() */ result = conn->handler->do_it(conn, done); if(!result && *done) /* do_complete must be called after the protocol-specific DO function */ |
︙ | ︙ | |||
2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 | Curl_hash_destroy(&multi->sockhash); Curl_conncache_destroy(&multi->conn_cache); Curl_llist_destroy(&multi->msglist, NULL); Curl_llist_destroy(&multi->pending, NULL); Curl_hash_destroy(&multi->hostcache); Curl_psl_destroy(&multi->psl); free(multi); return CURLM_OK; } return CURLM_BAD_HANDLE; } | > > > > > | 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 | Curl_hash_destroy(&multi->sockhash); Curl_conncache_destroy(&multi->conn_cache); Curl_llist_destroy(&multi->msglist, NULL); Curl_llist_destroy(&multi->pending, NULL); Curl_hash_destroy(&multi->hostcache); Curl_psl_destroy(&multi->psl); #ifdef ENABLE_WAKEUP sclose(multi->wakeup_pair[0]); sclose(multi->wakeup_pair[1]); #endif free(multi); return CURLM_OK; } return CURLM_BAD_HANDLE; } |
︙ | ︙ |
Changes to jni/curl/lib/multihandle.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_MULTIHANDLE_H #define HEADER_CURL_MULTIHANDLE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #ifndef HEADER_CURL_MULTIHANDLE_H #define HEADER_CURL_MULTIHANDLE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "conncache.h" #include "psl.h" #include "socketpair.h" struct Curl_message { struct curl_llist_element list; /* the 'CURLMsg' is the part that is visible to the external user */ struct CURLMsg extmsg; }; |
︙ | ︙ | |||
61 62 63 64 65 66 67 68 69 70 71 72 73 74 | /* we support N sockets per easy handle. Set the corresponding bit to what action we should wait for */ #define MAX_SOCKSPEREASYHANDLE 5 #define GETSOCK_READABLE (0x00ff) #define GETSOCK_WRITABLE (0xff00) #define CURLPIPE_ANY (CURLPIPE_MULTIPLEX) /* This is the struct known as CURLM on the outside */ struct Curl_multi { /* First a simple identifier to easier detect if a user mix up this multi handle with an easy handle. Set this to CURL_MULTI_HANDLE. */ long type; | > > > > > > > > | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | /* we support N sockets per easy handle. Set the corresponding bit to what action we should wait for */ #define MAX_SOCKSPEREASYHANDLE 5 #define GETSOCK_READABLE (0x00ff) #define GETSOCK_WRITABLE (0xff00) #define CURLPIPE_ANY (CURLPIPE_MULTIPLEX) #if defined(USE_SOCKETPAIR) && !defined(USE_BLOCKING_SOCKETS) #define ENABLE_WAKEUP #endif /* value for MAXIMUM CONCURRENT STREAMS upper limit */ #define INITIAL_MAX_CONCURRENT_STREAMS ((1U << 31) - 1) /* This is the struct known as CURLM on the outside */ struct Curl_multi { /* First a simple identifier to easier detect if a user mix up this multi handle with an easy handle. Set this to CURL_MULTI_HANDLE. */ long type; |
︙ | ︙ | |||
130 131 132 133 134 135 136 137 138 139 | /* timer callback and user data pointer for the *socket() API */ curl_multi_timer_callback timer_cb; void *timer_userp; struct curltime timer_lastcall; /* the fixed time for the timeout for the previous callback */ bool in_callback; /* true while executing a callback */ long max_concurrent_streams; /* max concurrent streams client to support */ }; #endif /* HEADER_CURL_MULTIHANDLE_H */ | > > > > > | 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | /* timer callback and user data pointer for the *socket() API */ curl_multi_timer_callback timer_cb; void *timer_userp; struct curltime timer_lastcall; /* the fixed time for the timeout for the previous callback */ bool in_callback; /* true while executing a callback */ long max_concurrent_streams; /* max concurrent streams client to support */ #ifdef ENABLE_WAKEUP curl_socket_t wakeup_pair[2]; /* socketpair() used for wakeup 0 is used for read, 1 is used for write */ #endif }; #endif /* HEADER_CURL_MULTIHANDLE_H */ |
Changes to jni/curl/lib/nonblock.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/nonblock.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_NONBLOCK_H #define HEADER_CURL_NONBLOCK_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_NONBLOCK_H #define HEADER_CURL_NONBLOCK_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/parsedate.c.
︙ | ︙ | |||
582 583 584 585 586 587 588 589 590 591 592 593 594 595 | /* avoid returning -1 for a working scenario */ parsed++; return parsed; } /* everything else is fail */ return -1; } /* * Curl_gmtime() is a gmtime() replacement for portability. Do not use the * gmtime_r() or gmtime() functions anywhere else but here. * */ | > > > > > > > > > > > > > > > > > > > > > > > > | 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 | /* avoid returning -1 for a working scenario */ parsed++; return parsed; } /* everything else is fail */ return -1; } /* Curl_getdate_capped() differs from curl_getdate() in that this will return TIME_T_MAX in case the parsed time value was too big, instead of an error. */ time_t Curl_getdate_capped(const char *p) { time_t parsed = -1; int rc = parsedate(p, &parsed); switch(rc) { case PARSEDATE_OK: if(parsed == -1) /* avoid returning -1 for a working scenario */ parsed++; return parsed; case PARSEDATE_LATER: /* this returns the maximum time value */ return parsed; default: return -1; /* everything else is fail */ } /* UNREACHABLE */ } /* * Curl_gmtime() is a gmtime() replacement for portability. Do not use the * gmtime_r() or gmtime() functions anywhere else but here. * */ |
︙ | ︙ |
Changes to jni/curl/lib/parsedate.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_PARSEDATE_H #define HEADER_CURL_PARSEDATE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #ifndef HEADER_CURL_PARSEDATE_H #define HEADER_CURL_PARSEDATE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ extern const char * const Curl_wkday[7]; extern const char * const Curl_month[12]; CURLcode Curl_gmtime(time_t intime, struct tm *store); /* Curl_getdate_capped() differs from curl_getdate() in that this will return TIME_T_MAX in case the parsed time value was too big, instead of an error. */ time_t Curl_getdate_capped(const char *p); #endif /* HEADER_CURL_PARSEDATE_H */ |
Changes to jni/curl/lib/pop3.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_POP3_H #define HEADER_CURL_POP3_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_POP3_H #define HEADER_CURL_POP3_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2009 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/progress.c.
︙ | ︙ | |||
590 591 592 593 594 595 596 | Curl_set_in_callback(data, true); result = data->set.fxferinfo(data->set.progress_client, data->progress.size_dl, data->progress.downloaded, data->progress.size_ul, data->progress.uploaded); Curl_set_in_callback(data, false); | > | | | | > | > | | | > | 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 | Curl_set_in_callback(data, true); result = data->set.fxferinfo(data->set.progress_client, data->progress.size_dl, data->progress.downloaded, data->progress.size_ul, data->progress.uploaded); Curl_set_in_callback(data, false); if(result != CURL_PROGRESSFUNC_CONTINUE) { if(result) failf(data, "Callback aborted"); return result; } } else if(data->set.fprogress) { int result; /* The older deprecated callback is set, call that */ Curl_set_in_callback(data, true); result = data->set.fprogress(data->set.progress_client, (double)data->progress.size_dl, (double)data->progress.downloaded, (double)data->progress.size_ul, (double)data->progress.uploaded); Curl_set_in_callback(data, false); if(result != CURL_PROGRESSFUNC_CONTINUE) { if(result) failf(data, "Callback aborted"); return result; } } if(showprogress) progress_meter(conn); } return 0; |
︙ | ︙ |
Changes to jni/curl/lib/quic.h.
︙ | ︙ | |||
41 42 43 44 45 46 47 48 49 50 51 52 53 | const struct sockaddr *addr, socklen_t addrlen); CURLcode Curl_quic_is_connected(struct connectdata *conn, curl_socket_t sockfd, bool *connected); int Curl_quic_ver(char *p, size_t len); CURLcode Curl_quic_done_sending(struct connectdata *conn); #else /* ENABLE_QUIC */ #define Curl_quic_done_sending(x) #endif /* !ENABLE_QUIC */ #endif /* HEADER_CURL_QUIC_H */ | > > > > | 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | const struct sockaddr *addr, socklen_t addrlen); CURLcode Curl_quic_is_connected(struct connectdata *conn, curl_socket_t sockfd, bool *connected); int Curl_quic_ver(char *p, size_t len); CURLcode Curl_quic_done_sending(struct connectdata *conn); void Curl_quic_done(struct Curl_easy *data, bool premature); bool Curl_quic_data_pending(const struct Curl_easy *data); #else /* ENABLE_QUIC */ #define Curl_quic_done_sending(x) #define Curl_quic_done(x,y) #define Curl_quic_data_pending(x) #endif /* !ENABLE_QUIC */ #endif /* HEADER_CURL_QUIC_H */ |
Changes to jni/curl/lib/rtsp.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_RTSP_H #define HEADER_CURL_RTSP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_RTSP_H #define HEADER_CURL_RTSP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/select.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/select.h.
︙ | ︙ | |||
105 106 107 108 109 110 111 | #else #define VALID_SOCK(s) (((s) >= 0) && ((s) < FD_SETSIZE)) #define VERIFY_SOCK(x) do { \ if(!VALID_SOCK(x)) { \ SET_SOCKERRNO(EINVAL); \ return -1; \ } \ | | | 105 106 107 108 109 110 111 112 113 114 115 | #else #define VALID_SOCK(s) (((s) >= 0) && ((s) < FD_SETSIZE)) #define VERIFY_SOCK(x) do { \ if(!VALID_SOCK(x)) { \ SET_SOCKERRNO(EINVAL); \ return -1; \ } \ } while(0) #endif #endif /* HEADER_CURL_SELECT_H */ |
Changes to jni/curl/lib/sendf.c.
︙ | ︙ | |||
32 33 34 35 36 37 38 | #include <curl/curl.h> #include "urldata.h" #include "sendf.h" #include "connect.h" #include "vtls/vtls.h" | | | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | #include <curl/curl.h> #include "urldata.h" #include "sendf.h" #include "connect.h" #include "vtls/vtls.h" #include "vssh/ssh.h" #include "easyif.h" #include "multiif.h" #include "non-ascii.h" #include "strerror.h" #include "select.h" #include "strdup.h" |
︙ | ︙ | |||
220 221 222 223 224 225 226 | /* Use "do-nothing" macros instead of functions when workaround not used */ bool Curl_recv_has_postponed_data(struct connectdata *conn, int sockindex) { (void)conn; (void)sockindex; return false; } | | | 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 | /* Use "do-nothing" macros instead of functions when workaround not used */ bool Curl_recv_has_postponed_data(struct connectdata *conn, int sockindex) { (void)conn; (void)sockindex; return false; } #define pre_receive_plain(c,n) do {} while(0) #define get_pre_recved(c,n,b,l) 0 #endif /* ! USE_RECV_BEFORE_SEND_WORKAROUND */ /* Curl_infof() is for info message along the way */ void Curl_infof(struct Curl_easy *data, const char *fmt, ...) { |
︙ | ︙ |
Changes to jni/curl/lib/setopt.c.
︙ | ︙ | |||
2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 | break; case CURLOPT_SSL_OPTIONS: arg = va_arg(param, long); data->set.ssl.enable_beast = (bool)((arg&CURLSSLOPT_ALLOW_BEAST) ? TRUE : FALSE); data->set.ssl.no_revoke = !!(arg & CURLSSLOPT_NO_REVOKE); break; #ifndef CURL_DISABLE_PROXY case CURLOPT_PROXY_SSL_OPTIONS: arg = va_arg(param, long); data->set.proxy_ssl.enable_beast = (bool)((arg&CURLSSLOPT_ALLOW_BEAST) ? TRUE : FALSE); data->set.proxy_ssl.no_revoke = !!(arg & CURLSSLOPT_NO_REVOKE); break; #endif #endif case CURLOPT_IPRESOLVE: arg = va_arg(param, long); if((arg < CURL_IPRESOLVE_WHATEVER) || (arg > CURL_IPRESOLVE_V6)) | > > | 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 | break; case CURLOPT_SSL_OPTIONS: arg = va_arg(param, long); data->set.ssl.enable_beast = (bool)((arg&CURLSSLOPT_ALLOW_BEAST) ? TRUE : FALSE); data->set.ssl.no_revoke = !!(arg & CURLSSLOPT_NO_REVOKE); data->set.ssl.no_partialchain = !!(arg & CURLSSLOPT_NO_PARTIALCHAIN); break; #ifndef CURL_DISABLE_PROXY case CURLOPT_PROXY_SSL_OPTIONS: arg = va_arg(param, long); data->set.proxy_ssl.enable_beast = (bool)((arg&CURLSSLOPT_ALLOW_BEAST) ? TRUE : FALSE); data->set.proxy_ssl.no_revoke = !!(arg & CURLSSLOPT_NO_REVOKE); data->set.proxy_ssl.no_partialchain = !!(arg & CURLSSLOPT_NO_PARTIALCHAIN); break; #endif #endif case CURLOPT_IPRESOLVE: arg = va_arg(param, long); if((arg < CURL_IPRESOLVE_WHATEVER) || (arg > CURL_IPRESOLVE_V6)) |
︙ | ︙ | |||
2608 2609 2610 2611 2612 2613 2614 | #if defined(CONNECT_DATA_IDEMPOTENT) || defined(MSG_FASTOPEN) || \ defined(TCP_FASTOPEN_CONNECT) data->set.tcp_fastopen = (0 != va_arg(param, long))?TRUE:FALSE; #else result = CURLE_NOT_BUILT_IN; #endif break; | < < | 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 | #if defined(CONNECT_DATA_IDEMPOTENT) || defined(MSG_FASTOPEN) || \ defined(TCP_FASTOPEN_CONNECT) data->set.tcp_fastopen = (0 != va_arg(param, long))?TRUE:FALSE; #else result = CURLE_NOT_BUILT_IN; #endif break; case CURLOPT_SSL_ENABLE_NPN: data->set.ssl_enable_npn = (0 != va_arg(param, long)) ? TRUE : FALSE; break; case CURLOPT_SSL_ENABLE_ALPN: data->set.ssl_enable_alpn = (0 != va_arg(param, long)) ? TRUE : FALSE; break; #ifdef USE_UNIX_SOCKETS case CURLOPT_UNIX_SOCKET_PATH: data->set.abstract_unix_socket = FALSE; result = Curl_setstropt(&data->set.str[STRING_UNIX_SOCKET_PATH], va_arg(param, char *)); break; case CURLOPT_ABSTRACT_UNIX_SOCKET: |
︙ | ︙ |
Changes to jni/curl/lib/sha256.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Florin Petriuc, <petriuc.florin@gmail.com> * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/slist.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/slist.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_SLIST_H #define HEADER_CURL_SLIST_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_SLIST_H #define HEADER_CURL_SLIST_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/smtp.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_SMTP_H #define HEADER_CURL_SMTP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_SMTP_H #define HEADER_CURL_SMTP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2009 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/sockaddr.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_SOCKADDR_H #define HEADER_CURL_SOCKADDR_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_SOCKADDR_H #define HEADER_CURL_SOCKADDR_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/socketpair.c.
︙ | ︙ | |||
35 36 37 38 39 40 41 42 43 44 45 46 47 48 | #include <io.h> #else #ifdef HAVE_NETDB_H #include <netdb.h> #endif #ifdef HAVE_NETINET_IN_H #include <netinet/in.h> /* IPPROTO_TCP */ #endif #ifndef INADDR_LOOPBACK #define INADDR_LOOPBACK 0x7f000001 #endif /* !INADDR_LOOPBACK */ #endif /* !WIN32 */ /* The last 3 #include files should be in this order */ | > > > | 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #include <io.h> #else #ifdef HAVE_NETDB_H #include <netdb.h> #endif #ifdef HAVE_NETINET_IN_H #include <netinet/in.h> /* IPPROTO_TCP */ #endif #ifdef HAVE_ARPA_INET_H #include <arpa/inet.h> #endif #ifndef INADDR_LOOPBACK #define INADDR_LOOPBACK 0x7f000001 #endif /* !INADDR_LOOPBACK */ #endif /* !WIN32 */ /* The last 3 #include files should be in this order */ |
︙ | ︙ |
Changes to jni/curl/lib/socks.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_SOCKS_H #define HEADER_CURL_SOCKS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_SOCKS_H #define HEADER_CURL_SOCKS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Deleted jni/curl/lib/ssh.h.
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Changes to jni/curl/lib/strdup.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/strerror.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2004 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
310 311 312 313 314 315 316 317 318 319 320 321 322 323 | case CURLE_RECURSIVE_API_CALL: return "API function called from within callback"; case CURLE_AUTH_ERROR: return "An authentication function returned an error"; /* error codes not used by current libcurl */ case CURLE_OBSOLETE20: case CURLE_OBSOLETE24: case CURLE_OBSOLETE29: case CURLE_OBSOLETE32: case CURLE_OBSOLETE40: case CURLE_OBSOLETE44: | > > > | 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 | case CURLE_RECURSIVE_API_CALL: return "API function called from within callback"; case CURLE_AUTH_ERROR: return "An authentication function returned an error"; case CURLE_HTTP3: return "HTTP/3 error"; /* error codes not used by current libcurl */ case CURLE_OBSOLETE20: case CURLE_OBSOLETE24: case CURLE_OBSOLETE29: case CURLE_OBSOLETE32: case CURLE_OBSOLETE40: case CURLE_OBSOLETE44: |
︙ | ︙ | |||
382 383 384 385 386 387 388 389 390 391 392 393 394 395 | case CURLM_ADDED_ALREADY: return "The easy handle is already added to a multi handle"; case CURLM_RECURSIVE_API_CALL: return "API function called from within callback"; case CURLM_LAST: break; } return "Unknown error"; #else if(error == CURLM_OK) | > > > | 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 | case CURLM_ADDED_ALREADY: return "The easy handle is already added to a multi handle"; case CURLM_RECURSIVE_API_CALL: return "API function called from within callback"; case CURLM_WAKEUP_FAILURE: return "Wakeup is unavailable or failed"; case CURLM_LAST: break; } return "Unknown error"; #else if(error == CURLM_OK) |
︙ | ︙ | |||
432 433 434 435 436 437 438 | return "No error"; else return "Error"; #endif } #ifdef USE_WINSOCK | | | > | | | > > | > | > > > | 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 | return "No error"; else return "Error"; #endif } #ifdef USE_WINSOCK /* This is a helper function for Curl_strerror that converts Winsock error * codes (WSAGetLastError) to error messages. * Returns NULL if no error message was found for error code. */ static const char * get_winsock_error (int err, char *buf, size_t len) { #ifndef CURL_DISABLE_VERBOSE_STRINGS const char *p; #endif if(!len) return NULL; *buf = '\0'; #ifdef CURL_DISABLE_VERBOSE_STRINGS (void)err; return NULL; #else switch(err) { case WSAEINTR: p = "Call interrupted"; break; case WSAEBADF: p = "Bad file"; break; |
︙ | ︙ | |||
613 614 615 616 617 618 619 | case WSANO_DATA: p = "No data record of requested type"; break; default: return NULL; } | > > > | > > > > > > > > > > > > > | | | | > > > > | > > > > > > > | | < > > > > > | | < < < > > > > > > > > > | | > > > > > > > > > > > < < | < < < | < < < < < | > > > > | < > | < < | | 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 | case WSANO_DATA: p = "No data record of requested type"; break; default: return NULL; } strncpy(buf, p, len); buf [len-1] = '\0'; return buf; #endif } #endif /* USE_WINSOCK */ #if defined(WIN32) || defined(_WIN32_WCE) /* This is a helper function for Curl_strerror that converts Windows API error * codes (GetLastError) to error messages. * Returns NULL if no error message was found for error code. */ static const char * get_winapi_error(int err, char *buf, size_t buflen) { char *p; if(!buflen) return NULL; *buf = '\0'; #ifdef _WIN32_WCE { wchar_t wbuf[256]; wbuf[0] = L'\0'; if(FormatMessage((FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS), NULL, err, LANG_NEUTRAL, wbuf, sizeof(wbuf)/sizeof(wchar_t), NULL)) { size_t written = wcstombs(buf, wbuf, buflen - 1); if(written != (size_t)-1) buf[written] = '\0'; else *buf = '\0'; } } #else if(!FormatMessageA((FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS), NULL, err, LANG_NEUTRAL, buf, (DWORD)buflen, NULL)) { *buf = '\0'; } #endif /* Truncate multiple lines */ p = strchr(buf, '\n'); if(p) { if(p > buf && *(p-1) == '\r') *(p-1) = '\0'; else *p = '\0'; } return (*buf ? buf : NULL); } #endif /* WIN32 || _WIN32_WCE */ /* * Our thread-safe and smart strerror() replacement. * * The 'err' argument passed in to this function MUST be a true errno number * as reported on this system. We do no range checking on the number before * we pass it to the "number-to-message" conversion function and there might * be systems that don't do proper range checking in there themselves. * * We don't do range checking (on systems other than Windows) since there is * no good reliable and portable way to do it. * * On Windows different types of error codes overlap. This function has an * order of preference when trying to match error codes: * CRT (errno), Winsock (WSAGetLastError), Windows API (GetLastError). * * It may be more correct to call one of the variant functions instead: * Call Curl_sspi_strerror if the error code is definitely Windows SSPI. * Call Curl_winapi_strerror if the error code is definitely Windows API. */ const char *Curl_strerror(int err, char *buf, size_t buflen) { #ifdef PRESERVE_WINDOWS_ERROR_CODE DWORD old_win_err = GetLastError(); #endif int old_errno = errno; char *p; size_t max; if(!buflen) return NULL; DEBUGASSERT(err >= 0); max = buflen - 1; *buf = '\0'; #if defined(WIN32) || defined(_WIN32_WCE) #if defined(WIN32) /* 'sys_nerr' is the maximum errno number, it is not widely portable */ if(err >= 0 && err < sys_nerr) strncpy(buf, strerror(err), max); else #endif { if( #ifdef USE_WINSOCK !get_winsock_error(err, buf, max) && #endif !get_winapi_error((DWORD)err, buf, max)) msnprintf(buf, max, "Unknown error %d (%#x)", err, err); } #else /* not Windows coming up */ #if defined(HAVE_STRERROR_R) && defined(HAVE_POSIX_STRERROR_R) /* * The POSIX-style strerror_r() may set errno to ERANGE if insufficient * storage is supplied via 'strerrbuf' and 'buflen' to hold the generated * message string, or EINVAL if 'errnum' is not a valid error number. */ |
︙ | ︙ | |||
730 731 732 733 734 735 736 | if(msg) strncpy(buf, msg, max); else msnprintf(buf, max, "Unknown error %d", err); } #endif | | | 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 | if(msg) strncpy(buf, msg, max); else msnprintf(buf, max, "Unknown error %d", err); } #endif #endif /* end of not Windows */ buf[max] = '\0'; /* make sure the string is zero terminated */ /* strip trailing '\r\n' or '\n'. */ p = strrchr(buf, '\n'); if(p && (p - buf) >= 2) *p = '\0'; |
︙ | ︙ | |||
753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 | if(old_win_err != GetLastError()) SetLastError(old_win_err); #endif return buf; } #ifdef USE_WINDOWS_SSPI const char *Curl_sspi_strerror(int err, char *buf, size_t buflen) { #ifdef PRESERVE_WINDOWS_ERROR_CODE DWORD old_win_err = GetLastError(); #endif int old_errno = errno; const char *txt; | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | < < | < | < < < < | | | < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | < < | > | < < < < < | < < < < | < < | < < < < < | < < < < < < < | | | < | < < < < < < < | | < < | | 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 | if(old_win_err != GetLastError()) SetLastError(old_win_err); #endif return buf; } /* * Curl_winapi_strerror: * Variant of Curl_strerror if the error code is definitely Windows API. */ #if defined(WIN32) || defined(_WIN32_WCE) const char *Curl_winapi_strerror(DWORD err, char *buf, size_t buflen) { #ifdef PRESERVE_WINDOWS_ERROR_CODE DWORD old_win_err = GetLastError(); #endif int old_errno = errno; if(!buflen) return NULL; *buf = '\0'; #ifndef CURL_DISABLE_VERBOSE_STRINGS if(!get_winapi_error(err, buf, buflen)) { msnprintf(buf, buflen, "Unknown error %u (0x%08X)", err, err); } #else { const char *txt = (err == ERROR_SUCCESS) ? "No error" : "Error"; strncpy(buf, txt, buflen); buf[buflen - 1] = '\0'; } #endif if(errno != old_errno) errno = old_errno; #ifdef PRESERVE_WINDOWS_ERROR_CODE if(old_win_err != GetLastError()) SetLastError(old_win_err); #endif return buf; } #endif /* WIN32 || _WIN32_WCE */ #ifdef USE_WINDOWS_SSPI /* * Curl_sspi_strerror: * Variant of Curl_strerror if the error code is definitely Windows SSPI. */ const char *Curl_sspi_strerror(int err, char *buf, size_t buflen) { #ifdef PRESERVE_WINDOWS_ERROR_CODE DWORD old_win_err = GetLastError(); #endif int old_errno = errno; const char *txt; if(!buflen) return NULL; *buf = '\0'; #ifndef CURL_DISABLE_VERBOSE_STRINGS switch(err) { case SEC_E_OK: txt = "No error"; break; #define SEC2TXT(sec) case sec: txt = #sec; break SEC2TXT(CRYPT_E_REVOKED); SEC2TXT(SEC_E_ALGORITHM_MISMATCH); SEC2TXT(SEC_E_BAD_BINDINGS); SEC2TXT(SEC_E_BAD_PKGID); SEC2TXT(SEC_E_BUFFER_TOO_SMALL); SEC2TXT(SEC_E_CANNOT_INSTALL); SEC2TXT(SEC_E_CANNOT_PACK); SEC2TXT(SEC_E_CERT_EXPIRED); SEC2TXT(SEC_E_CERT_UNKNOWN); SEC2TXT(SEC_E_CERT_WRONG_USAGE); SEC2TXT(SEC_E_CONTEXT_EXPIRED); SEC2TXT(SEC_E_CROSSREALM_DELEGATION_FAILURE); SEC2TXT(SEC_E_CRYPTO_SYSTEM_INVALID); SEC2TXT(SEC_E_DECRYPT_FAILURE); SEC2TXT(SEC_E_DELEGATION_POLICY); SEC2TXT(SEC_E_DELEGATION_REQUIRED); SEC2TXT(SEC_E_DOWNGRADE_DETECTED); SEC2TXT(SEC_E_ENCRYPT_FAILURE); SEC2TXT(SEC_E_ILLEGAL_MESSAGE); SEC2TXT(SEC_E_INCOMPLETE_CREDENTIALS); SEC2TXT(SEC_E_INCOMPLETE_MESSAGE); SEC2TXT(SEC_E_INSUFFICIENT_MEMORY); SEC2TXT(SEC_E_INTERNAL_ERROR); SEC2TXT(SEC_E_INVALID_HANDLE); SEC2TXT(SEC_E_INVALID_PARAMETER); SEC2TXT(SEC_E_INVALID_TOKEN); SEC2TXT(SEC_E_ISSUING_CA_UNTRUSTED); SEC2TXT(SEC_E_ISSUING_CA_UNTRUSTED_KDC); SEC2TXT(SEC_E_KDC_CERT_EXPIRED); SEC2TXT(SEC_E_KDC_CERT_REVOKED); SEC2TXT(SEC_E_KDC_INVALID_REQUEST); SEC2TXT(SEC_E_KDC_UNABLE_TO_REFER); SEC2TXT(SEC_E_KDC_UNKNOWN_ETYPE); SEC2TXT(SEC_E_LOGON_DENIED); SEC2TXT(SEC_E_MAX_REFERRALS_EXCEEDED); SEC2TXT(SEC_E_MESSAGE_ALTERED); SEC2TXT(SEC_E_MULTIPLE_ACCOUNTS); SEC2TXT(SEC_E_MUST_BE_KDC); SEC2TXT(SEC_E_NOT_OWNER); SEC2TXT(SEC_E_NO_AUTHENTICATING_AUTHORITY); SEC2TXT(SEC_E_NO_CREDENTIALS); SEC2TXT(SEC_E_NO_IMPERSONATION); SEC2TXT(SEC_E_NO_IP_ADDRESSES); SEC2TXT(SEC_E_NO_KERB_KEY); SEC2TXT(SEC_E_NO_PA_DATA); SEC2TXT(SEC_E_NO_S4U_PROT_SUPPORT); SEC2TXT(SEC_E_NO_TGT_REPLY); SEC2TXT(SEC_E_OUT_OF_SEQUENCE); SEC2TXT(SEC_E_PKINIT_CLIENT_FAILURE); SEC2TXT(SEC_E_PKINIT_NAME_MISMATCH); SEC2TXT(SEC_E_POLICY_NLTM_ONLY); SEC2TXT(SEC_E_QOP_NOT_SUPPORTED); SEC2TXT(SEC_E_REVOCATION_OFFLINE_C); SEC2TXT(SEC_E_REVOCATION_OFFLINE_KDC); SEC2TXT(SEC_E_SECPKG_NOT_FOUND); SEC2TXT(SEC_E_SECURITY_QOS_FAILED); SEC2TXT(SEC_E_SHUTDOWN_IN_PROGRESS); SEC2TXT(SEC_E_SMARTCARD_CERT_EXPIRED); SEC2TXT(SEC_E_SMARTCARD_CERT_REVOKED); SEC2TXT(SEC_E_SMARTCARD_LOGON_REQUIRED); SEC2TXT(SEC_E_STRONG_CRYPTO_NOT_SUPPORTED); SEC2TXT(SEC_E_TARGET_UNKNOWN); SEC2TXT(SEC_E_TIME_SKEW); SEC2TXT(SEC_E_TOO_MANY_PRINCIPALS); SEC2TXT(SEC_E_UNFINISHED_CONTEXT_DELETED); SEC2TXT(SEC_E_UNKNOWN_CREDENTIALS); SEC2TXT(SEC_E_UNSUPPORTED_FUNCTION); SEC2TXT(SEC_E_UNSUPPORTED_PREAUTH); SEC2TXT(SEC_E_UNTRUSTED_ROOT); SEC2TXT(SEC_E_WRONG_CREDENTIAL_HANDLE); SEC2TXT(SEC_E_WRONG_PRINCIPAL); SEC2TXT(SEC_I_COMPLETE_AND_CONTINUE); SEC2TXT(SEC_I_COMPLETE_NEEDED); SEC2TXT(SEC_I_CONTEXT_EXPIRED); SEC2TXT(SEC_I_CONTINUE_NEEDED); SEC2TXT(SEC_I_INCOMPLETE_CREDENTIALS); SEC2TXT(SEC_I_LOCAL_LOGON); SEC2TXT(SEC_I_NO_LSA_CONTEXT); SEC2TXT(SEC_I_RENEGOTIATE); SEC2TXT(SEC_I_SIGNATURE_NEEDED); default: txt = "Unknown error"; } if(err == SEC_E_ILLEGAL_MESSAGE) { msnprintf(buf, buflen, "SEC_E_ILLEGAL_MESSAGE (0x%08X) - This error usually occurs " "when a fatal SSL/TLS alert is received (e.g. handshake failed)." " More detail may be available in the Windows System event log.", err); } else { char txtbuf[80]; char msgbuf[256]; msnprintf(txtbuf, sizeof(txtbuf), "%s (0x%08X)", txt, err); if(get_winapi_error(err, msgbuf, sizeof(msgbuf))) msnprintf(buf, buflen, "%s - %s", txtbuf, msgbuf); else { strncpy(buf, txtbuf, buflen); buf[buflen - 1] = '\0'; } } #else if(err == SEC_E_OK) txt = "No error"; else txt = "Error"; strncpy(buf, txt, buflen); buf[buflen - 1] = '\0'; #endif if(errno != old_errno) errno = old_errno; #ifdef PRESERVE_WINDOWS_ERROR_CODE if(old_win_err != GetLastError()) SetLastError(old_win_err); #endif return buf; } #endif /* USE_WINDOWS_SSPI */ |
Changes to jni/curl/lib/strerror.h.
︙ | ︙ | |||
23 24 25 26 27 28 29 30 31 32 33 34 | ***************************************************************************/ #include "urldata.h" #define STRERROR_LEN 128 /* a suitable length */ const char *Curl_strerror(int err, char *buf, size_t buflen); #ifdef USE_WINDOWS_SSPI const char *Curl_sspi_strerror(int err, char *buf, size_t buflen); #endif #endif /* HEADER_CURL_STRERROR_H */ | > > > | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | ***************************************************************************/ #include "urldata.h" #define STRERROR_LEN 128 /* a suitable length */ const char *Curl_strerror(int err, char *buf, size_t buflen); #if defined(WIN32) || defined(_WIN32_WCE) const char *Curl_winapi_strerror(DWORD err, char *buf, size_t buflen); #endif #ifdef USE_WINDOWS_SSPI const char *Curl_sspi_strerror(int err, char *buf, size_t buflen); #endif #endif /* HEADER_CURL_STRERROR_H */ |
Changes to jni/curl/lib/strtok.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/strtok.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_STRTOK_H #define HEADER_CURL_STRTOK_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_STRTOK_H #define HEADER_CURL_STRTOK_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/strtoofft.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/telnet.c.
︙ | ︙ | |||
65 66 67 68 69 70 71 | #define SUBBUFSIZE 512 #define CURL_SB_CLEAR(x) x->subpointer = x->subbuffer #define CURL_SB_TERM(x) \ do { \ x->subend = x->subpointer; \ CURL_SB_CLEAR(x); \ | | | | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | #define SUBBUFSIZE 512 #define CURL_SB_CLEAR(x) x->subpointer = x->subbuffer #define CURL_SB_TERM(x) \ do { \ x->subend = x->subpointer; \ CURL_SB_CLEAR(x); \ } while(0) #define CURL_SB_ACCUM(x,c) \ do { \ if(x->subpointer < (x->subbuffer + sizeof(x->subbuffer))) \ *x->subpointer++ = (c); \ } while(0) #define CURL_SB_GET(x) ((*x->subpointer++)&0xff) #define CURL_SB_LEN(x) (x->subend - x->subpointer) /* For posterity: #define CURL_SB_PEEK(x) ((*x->subpointer)&0xff) #define CURL_SB_EOF(x) (x->subpointer >= x->subend) */ |
︙ | ︙ |
Changes to jni/curl/lib/telnet.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TELNET_H #define HEADER_CURL_TELNET_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TELNET_H #define HEADER_CURL_TELNET_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/tftp.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TFTP_H #define HEADER_CURL_TFTP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TFTP_H #define HEADER_CURL_TFTP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/transfer.c.
︙ | ︙ | |||
480 481 482 483 484 485 486 | failf(data, "necessary data rewind wasn't possible"); return CURLE_SEND_FAIL_REWIND; } } return CURLE_OK; } | | > > > | 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 | failf(data, "necessary data rewind wasn't possible"); return CURLE_SEND_FAIL_REWIND; } } return CURLE_OK; } static int data_pending(const struct Curl_easy *data) { struct connectdata *conn = data->conn; /* in the case of libssh2, we can never be really sure that we have emptied its internal buffers so we MUST always try until we get EAGAIN back */ return conn->handler->protocol&(CURLPROTO_SCP|CURLPROTO_SFTP) || #if defined(USE_NGHTTP2) Curl_ssl_data_pending(conn, FIRSTSOCKET) || /* For HTTP/2, we may read up everything including response body with header fields in Curl_http_readwrite_headers. If no content-length is provided, curl waits for the connection close, which we emulate it using conn->proto.httpc.closed = TRUE. The thing is if we read everything, then http2_recv won't be called and we cannot signal the HTTP/2 stream has closed. As a workaround, we return nonzero here to call http2_recv. */ ((conn->handler->protocol&PROTO_FAMILY_HTTP) && conn->httpversion >= 20); #elif defined(ENABLE_QUIC) Curl_ssl_data_pending(conn, FIRSTSOCKET) || Curl_quic_data_pending(data); #else Curl_ssl_data_pending(conn, FIRSTSOCKET); #endif } /* * Check to see if CURLOPT_TIMECONDITION was met by comparing the time of the |
︙ | ︙ | |||
914 915 916 917 918 919 920 | } if(k->keepon & KEEP_RECV_PAUSE) { /* this is a paused transfer */ break; } | | | 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 | } if(k->keepon & KEEP_RECV_PAUSE) { /* this is a paused transfer */ break; } } while(data_pending(data) && maxloops--); if(maxloops <= 0) { /* we mark it as read-again-please */ conn->cselect_bits = CURL_CSELECT_IN; *comeback = TRUE; } |
︙ | ︙ | |||
1170 1171 1172 1173 1174 1175 1176 | result = Curl_done_sending(conn, k); if(result) return result; } } | | | 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 | result = Curl_done_sending(conn, k); if(result) return result; } } } while(0); /* just to break out from! */ return CURLE_OK; } /* * Curl_readwrite() is the low-level function to be called when data is to * be read and written to/from the connection. |
︙ | ︙ |
Changes to jni/curl/lib/url.c.
︙ | ︙ | |||
102 103 104 105 106 107 108 | #include "dict.h" #include "telnet.h" #include "tftp.h" #include "http.h" #include "http2.h" #include "file.h" #include "curl_ldap.h" | | | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | #include "dict.h" #include "telnet.h" #include "tftp.h" #include "http.h" #include "http2.h" #include "file.h" #include "curl_ldap.h" #include "vssh/ssh.h" #include "imap.h" #include "url.h" #include "connect.h" #include "inet_ntop.h" #include "http_ntlm.h" #include "curl_rtmp.h" #include "gopher.h" |
︙ | ︙ | |||
399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 | /* No longer a dirty share, if it exists */ if(data->share) { Curl_share_lock(data, CURL_LOCK_DATA_SHARE, CURL_LOCK_ACCESS_SINGLE); data->share->dirty--; Curl_share_unlock(data, CURL_LOCK_DATA_SHARE); } free(data->req.doh.probe[0].serverdoh.memory); free(data->req.doh.probe[1].serverdoh.memory); curl_slist_free_all(data->req.doh.headers); /* destruct wildcard structures if it is needed */ Curl_wildcard_dtor(&data->wildcard); Curl_freeset(data); free(data); return CURLE_OK; } | > > | 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 | /* No longer a dirty share, if it exists */ if(data->share) { Curl_share_lock(data, CURL_LOCK_DATA_SHARE, CURL_LOCK_ACCESS_SINGLE); data->share->dirty--; Curl_share_unlock(data, CURL_LOCK_DATA_SHARE); } #ifndef CURL_DISABLE_DOH free(data->req.doh.probe[0].serverdoh.memory); free(data->req.doh.probe[1].serverdoh.memory); curl_slist_free_all(data->req.doh.headers); #endif /* destruct wildcard structures if it is needed */ Curl_wildcard_dtor(&data->wildcard); Curl_freeset(data); free(data); return CURLE_OK; } |
︙ | ︙ | |||
668 669 670 671 672 673 674 | static void conn_reset_all_postponed_data(struct connectdata *conn) { conn_reset_postponed_data(conn, 0); conn_reset_postponed_data(conn, 1); } #else /* ! USE_RECV_BEFORE_SEND_WORKAROUND */ /* Use "do-nothing" macro instead of function when workaround not used */ | | | 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 | static void conn_reset_all_postponed_data(struct connectdata *conn) { conn_reset_postponed_data(conn, 0); conn_reset_postponed_data(conn, 1); } #else /* ! USE_RECV_BEFORE_SEND_WORKAROUND */ /* Use "do-nothing" macro instead of function when workaround not used */ #define conn_reset_all_postponed_data(c) do {} while(0) #endif /* ! USE_RECV_BEFORE_SEND_WORKAROUND */ static void conn_shutdown(struct connectdata *conn) { if(!conn) return; |
︙ | ︙ | |||
1076 1077 1078 1079 1080 1081 1082 | /* * Note that if we use a HTTP proxy in normal mode (no tunneling), we * check connections to that proxy and not to the actual remote server. */ check = curr->ptr; curr = curr->next; | | | < < > | < < | | < | 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 | /* * Note that if we use a HTTP proxy in normal mode (no tunneling), we * check connections to that proxy and not to the actual remote server. */ check = curr->ptr; curr = curr->next; if(check->bits.connect_only || check->bits.close) /* connect-only or to-be-closed connections will not be reused */ continue; multiplexed = CONN_INUSE(check) && (bundle->multiuse == BUNDLE_MULTIPLEX); if(canmultiplex) { ; } else { if(multiplexed) { /* can only happen within multi handles, and means that another easy handle is using this connection */ continue; } if(Curl_resolver_asynch()) { /* ip_addr_str[0] is NUL only if the resolving of the name hasn't completed yet and until then we don't re-use this connection */ if(!check->ip_addr_str[0]) { infof(data, "Connection #%ld is still name resolving, can't reuse\n", check->connection_id); continue; } } if(check->sock[FIRSTSOCKET] == CURL_SOCKET_BAD) { foundPendingCandidate = TRUE; /* Don't pick a connection that hasn't connected yet */ infof(data, "Connection #%ld isn't open enough, can't reuse\n", check->connection_id); continue; } } #ifdef USE_UNIX_SOCKETS |
︙ | ︙ | |||
1188 1189 1190 1191 1192 1193 1194 | } if(!canmultiplex && check->data) /* this request can't be multiplexed but the checked connection is already in use so we skip it */ continue; | < | | 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 | } if(!canmultiplex && check->data) /* this request can't be multiplexed but the checked connection is already in use so we skip it */ continue; if(check->data && (check->data->multi != needle->data->multi)) /* this could be subject for multiplex use, but only if they belong to * the same multi handle */ continue; if(needle->localdev || needle->localport) { /* If we are bound to a specific local end (IP+port), we must not re-use a random other one, although if we didn't ask for a |
︙ | ︙ | |||
1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 | conn->localportrange = data->set.localportrange; conn->localport = data->set.localport; /* the close socket stuff needs to be copied to the connection struct as it may live on without (this specific) Curl_easy */ conn->fclosesocket = data->set.fclosesocket; conn->closesocket_client = data->set.closesocket_client; return conn; error: Curl_llist_destroy(&conn->easyq, NULL); free(conn->localdev); #ifdef USE_SSL | > | 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 | conn->localportrange = data->set.localportrange; conn->localport = data->set.localport; /* the close socket stuff needs to be copied to the connection struct as it may live on without (this specific) Curl_easy */ conn->fclosesocket = data->set.fclosesocket; conn->closesocket_client = data->set.closesocket_client; conn->lastused = Curl_now(); /* used now */ return conn; error: Curl_llist_destroy(&conn->easyq, NULL); free(conn->localdev); #ifdef USE_SSL |
︙ | ︙ | |||
1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 | * Curl_easy for this single request. */ void Curl_free_request_state(struct Curl_easy *data) { Curl_safefree(data->req.protop); Curl_safefree(data->req.newurl); Curl_close(&data->req.doh.probe[0].easy); Curl_close(&data->req.doh.probe[1].easy); } #ifndef CURL_DISABLE_PROXY /**************************************************************** * Checks if the host is in the noproxy list. returns true if it matches * and therefore the proxy should NOT be used. | > > > | 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 | * Curl_easy for this single request. */ void Curl_free_request_state(struct Curl_easy *data) { Curl_safefree(data->req.protop); Curl_safefree(data->req.newurl); #ifndef CURL_DISABLE_DOH Curl_close(&data->req.doh.probe[0].easy); Curl_close(&data->req.doh.probe[1].easy); #endif } #ifndef CURL_DISABLE_PROXY /**************************************************************** * Checks if the host is in the noproxy list. returns true if it matches * and therefore the proxy should NOT be used. |
︙ | ︙ | |||
3589 3590 3591 3592 3593 3594 3595 | authentication phase). CONNECT_ONLY transfers also refuse reuse. */ if((data->set.reuse_fresh && !data->state.this_is_a_follow) || data->set.connect_only) reuse = FALSE; else reuse = ConnectionExists(data, conn, &conn_temp, &force_reuse, &waitpipe); | < < < < < < < < < < < < < < < < < < < | 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 | authentication phase). CONNECT_ONLY transfers also refuse reuse. */ if((data->set.reuse_fresh && !data->state.this_is_a_follow) || data->set.connect_only) reuse = FALSE; else reuse = ConnectionExists(data, conn, &conn_temp, &force_reuse, &waitpipe); if(reuse) { /* * We already have a connection for this, we got the former connection * in the conn_temp variable and thus we need to cleanup the one we * just allocated before we can move along and use the previously * existing one. */ |
︙ | ︙ |
Changes to jni/curl/lib/urldata.h.
︙ | ︙ | |||
120 121 122 123 124 125 126 | #include "mime.h" #include "imap.h" #include "pop3.h" #include "smtp.h" #include "ftp.h" #include "file.h" | | | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | #include "mime.h" #include "imap.h" #include "pop3.h" #include "smtp.h" #include "ftp.h" #include "file.h" #include "vssh/ssh.h" #include "http.h" #include "rtsp.h" #include "smb.h" #include "wildcard.h" #include "multihandle.h" #include "quic.h" |
︙ | ︙ | |||
253 254 255 256 257 258 259 260 261 262 263 264 265 266 | char *password; /* TLS password (for, e.g., SRP) */ enum CURL_TLSAUTH authtype; /* TLS authentication type (default SRP) */ #endif BIT(certinfo); /* gather lots of certificate info */ BIT(falsestart); BIT(enable_beast); /* allow this flaw for interoperability's sake*/ BIT(no_revoke); /* disable SSL certificate revocation checks */ }; struct ssl_general_config { size_t max_ssl_sessions; /* SSL session id cache size */ }; /* information stored about one single SSL session */ | > | 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 | char *password; /* TLS password (for, e.g., SRP) */ enum CURL_TLSAUTH authtype; /* TLS authentication type (default SRP) */ #endif BIT(certinfo); /* gather lots of certificate info */ BIT(falsestart); BIT(enable_beast); /* allow this flaw for interoperability's sake*/ BIT(no_revoke); /* disable SSL certificate revocation checks */ BIT(no_partialchain); /* don't accept partial certificate chains */ }; struct ssl_general_config { size_t max_ssl_sessions; /* SSL session id cache size */ }; /* information stored about one single SSL session */ |
︙ | ︙ | |||
523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 | enum upgrade101 { UPGR101_INIT, /* default state */ UPGR101_REQUESTED, /* upgrade requested */ UPGR101_RECEIVED, /* response received */ UPGR101_WORKING /* talking upgraded protocol */ }; struct dohresponse { unsigned char *memory; size_t size; }; /* one of these for each DoH request */ struct dnsprobe { CURL *easy; int dnstype; unsigned char dohbuffer[512]; size_t dohlen; struct dohresponse serverdoh; }; struct dohdata { struct curl_slist *headers; | > > > > > > > > > > > > > > > > > > | | 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 | enum upgrade101 { UPGR101_INIT, /* default state */ UPGR101_REQUESTED, /* upgrade requested */ UPGR101_RECEIVED, /* response received */ UPGR101_WORKING /* talking upgraded protocol */ }; enum doh_slots { /* Explicit values for first two symbols so as to match hard-coded * constants in existing code */ DOH_PROBE_SLOT_IPADDR_V4 = 0, /* make 'V4' stand out for readability */ DOH_PROBE_SLOT_IPADDR_V6 = 1, /* 'V6' likewise */ /* Space here for (possibly build-specific) additional slot definitions */ /* for example */ /* #ifdef WANT_DOH_FOOBAR_TXT */ /* DOH_PROBE_SLOT_FOOBAR_TXT, */ /* #endif */ /* AFTER all slot definitions, establish how many we have */ DOH_PROBE_SLOTS }; struct dohresponse { unsigned char *memory; size_t size; }; /* one of these for each DoH request */ struct dnsprobe { CURL *easy; int dnstype; unsigned char dohbuffer[512]; size_t dohlen; struct dohresponse serverdoh; }; struct dohdata { struct curl_slist *headers; struct dnsprobe probe[DOH_PROBE_SLOTS]; unsigned int pending; /* still outstanding requests */ const char *host; int port; }; /* * Request specific data in the easy handle (Curl_easy). Previously, |
︙ | ︙ |
Changes to jni/curl/lib/vauth/cram.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/vauth/digest.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_DIGEST_H #define HEADER_CURL_DIGEST_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_DIGEST_H #define HEADER_CURL_DIGEST_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/version.c.
︙ | ︙ | |||
22 23 24 25 26 27 28 | #include "curl_setup.h" #include <curl/curl.h> #include "urldata.h" #include "vtls/vtls.h" #include "http2.h" | | | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #include "curl_setup.h" #include <curl/curl.h> #include "urldata.h" #include "vtls/vtls.h" #include "http2.h" #include "vssh/ssh.h" #include "quic.h" #include "curl_printf.h" #ifdef USE_ARES # if defined(CURL_STATICLIB) && !defined(CARES_STATICLIB) && \ (defined(WIN32) || defined(__SYMBIAN32__)) # define CARES_STATICLIB |
︙ | ︙ |
Changes to jni/curl/lib/vquic/ngtcp2.c.
︙ | ︙ | |||
45 46 47 48 49 50 51 | /* #define DEBUG_NGTCP2 */ #ifdef CURLDEBUG #define DEBUG_HTTP3 #endif #ifdef DEBUG_HTTP3 #define H3BUGF(x) x #else | | | 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | /* #define DEBUG_NGTCP2 */ #ifdef CURLDEBUG #define DEBUG_HTTP3 #endif #ifdef DEBUG_HTTP3 #define H3BUGF(x) x #else #define H3BUGF(x) do { } while(0) #endif /* * This holds outgoing HTTP/3 stream data that is used by nghttp3 until acked. * It is used as a circular buffer. Add new bytes at the end until it reaches * the far end, then start over at index 0 again. */ |
︙ | ︙ | |||
170 171 172 173 174 175 176 | int level = quic_from_ossl_level(ossl_level); if(ngtcp2_crypto_derive_and_install_key( qs->qconn, ssl, NULL, NULL, NULL, NULL, NULL, NULL, level, rx_secret, tx_secret, secretlen, NGTCP2_CRYPTO_SIDE_CLIENT) != 0) return 0; | | > | > | > > < | | | 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 | int level = quic_from_ossl_level(ossl_level); if(ngtcp2_crypto_derive_and_install_key( qs->qconn, ssl, NULL, NULL, NULL, NULL, NULL, NULL, level, rx_secret, tx_secret, secretlen, NGTCP2_CRYPTO_SIDE_CLIENT) != 0) return 0; if(level == NGTCP2_CRYPTO_LEVEL_APP) { if(init_ngh3_conn(qs) != CURLE_OK) return 0; } return 1; } static int quic_add_handshake_data(SSL *ssl, OSSL_ENCRYPTION_LEVEL ossl_level, const uint8_t *data, size_t len) { struct quicsocket *qs = (struct quicsocket *)SSL_get_app_data(ssl); struct quic_handshake *crypto_data; ngtcp2_crypto_level level = quic_from_ossl_level(ossl_level); int rv; crypto_data = &qs->crypto_data[level]; if(crypto_data->buf == NULL) { crypto_data->buf = malloc(4096); if(!crypto_data->buf) return 0; crypto_data->alloclen = 4096; } /* TODO Just pretend that handshake does not grow more than 4KiB for now */ assert(crypto_data->len + len <= crypto_data->alloclen); memcpy(&crypto_data->buf[crypto_data->len], data, len); crypto_data->len += len; rv = ngtcp2_conn_submit_crypto_data( qs->qconn, level, (uint8_t *)(&crypto_data->buf[crypto_data->len] - len), len); if(rv) { H3BUGF(fprintf(stderr, "write_client_handshake failed\n")); } assert(0 == rv); return 1; } |
︙ | ︙ | |||
240 241 242 243 244 245 246 | SSL_CTX_set_min_proto_version(ssl_ctx, TLS1_3_VERSION); SSL_CTX_set_max_proto_version(ssl_ctx, TLS1_3_VERSION); SSL_CTX_set_default_verify_paths(ssl_ctx); if(SSL_CTX_set_ciphersuites(ssl_ctx, QUIC_CIPHERS) != 1) { | > > | < | 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 | SSL_CTX_set_min_proto_version(ssl_ctx, TLS1_3_VERSION); SSL_CTX_set_max_proto_version(ssl_ctx, TLS1_3_VERSION); SSL_CTX_set_default_verify_paths(ssl_ctx); if(SSL_CTX_set_ciphersuites(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(SSL_CTX_set1_groups_list(ssl_ctx, QUIC_GROUPS) != 1) { failf(data, "SSL_CTX_set1_groups_list failed"); return NULL; } |
︙ | ︙ | |||
301 302 303 304 305 306 307 | } static int cb_initial(ngtcp2_conn *quic, void *user_data) { struct quicsocket *qs = (struct quicsocket *)user_data; if(ngtcp2_crypto_read_write_crypto_data( | | | 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 | } static int cb_initial(ngtcp2_conn *quic, void *user_data) { struct quicsocket *qs = (struct quicsocket *)user_data; if(ngtcp2_crypto_read_write_crypto_data( quic, qs->ssl, NGTCP2_CRYPTO_LEVEL_INITIAL, NULL, 0) != 0) return NGTCP2_ERR_CALLBACK_FAILURE; return 0; } static int cb_recv_crypto_data(ngtcp2_conn *tconn, ngtcp2_crypto_level crypto_level, |
︙ | ︙ | |||
331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 | { struct quicsocket *qs = (struct quicsocket *)user_data; (void)tconn; infof(qs->conn->data, "QUIC handshake is completed\n"); return 0; } static int cb_recv_stream_data(ngtcp2_conn *tconn, int64_t stream_id, int fin, uint64_t offset, const uint8_t *buf, size_t buflen, void *user_data, void *stream_user_data) { struct quicsocket *qs = (struct quicsocket *)user_data; ssize_t nconsumed; (void)offset; (void)stream_user_data; | > > > > > > > > > > < < < > > > | 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 | { struct quicsocket *qs = (struct quicsocket *)user_data; (void)tconn; infof(qs->conn->data, "QUIC handshake is completed\n"); return 0; } static void extend_stream_window(ngtcp2_conn *tconn, struct HTTP *stream) { size_t thismuch = stream->unacked_window; ngtcp2_conn_extend_max_stream_offset(tconn, stream->stream3_id, thismuch); ngtcp2_conn_extend_max_offset(tconn, thismuch); stream->unacked_window = 0; } static int cb_recv_stream_data(ngtcp2_conn *tconn, int64_t stream_id, int fin, uint64_t offset, const uint8_t *buf, size_t buflen, void *user_data, void *stream_user_data) { struct quicsocket *qs = (struct quicsocket *)user_data; ssize_t nconsumed; (void)offset; (void)stream_user_data; nconsumed = nghttp3_conn_read_stream(qs->h3conn, stream_id, buf, buflen, fin); if(nconsumed < 0) { failf(qs->conn->data, "nghttp3_conn_read_stream returned error: %s\n", nghttp3_strerror((int)nconsumed)); return NGTCP2_ERR_CALLBACK_FAILURE; } /* number of bytes inside buflen which consists of framing overhead * including QPACK HEADERS. In other words, it does not consume payload of * DATA frame. */ ngtcp2_conn_extend_max_stream_offset(tconn, stream_id, nconsumed); ngtcp2_conn_extend_max_offset(tconn, nconsumed); return 0; } static int |
︙ | ︙ | |||
510 511 512 513 514 515 516 | NULL, /* recv_stateless_reset */ cb_recv_retry, cb_extend_max_local_streams_bidi, NULL, /* extend_max_local_streams_uni */ NULL, /* rand */ cb_get_new_connection_id, NULL, /* remove_connection_id */ | | | 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 | NULL, /* recv_stateless_reset */ cb_recv_retry, cb_extend_max_local_streams_bidi, NULL, /* extend_max_local_streams_uni */ NULL, /* rand */ cb_get_new_connection_id, NULL, /* remove_connection_id */ ngtcp2_crypto_update_key_cb, /* update_key */ NULL, /* path_validation */ NULL, /* select_preferred_addr */ cb_stream_reset, NULL, /* extend_max_remote_streams_bidi */ NULL, /* extend_max_remote_streams_uni */ cb_extend_max_stream_data, }; |
︙ | ︙ | |||
652 653 654 655 656 657 658 | { return ng_getsock((struct connectdata *)conn, socks); } static CURLcode ng_disconnect(struct connectdata *conn, bool dead_connection) { | > | > > > > > > > | 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 | { return ng_getsock((struct connectdata *)conn, socks); } static CURLcode ng_disconnect(struct connectdata *conn, bool dead_connection) { int i; struct quicsocket *qs = &conn->hequic[0]; (void)dead_connection; if(qs->ssl) SSL_free(qs->ssl); for(i = 0; i < 3; i++) free(qs->crypto_data[i].buf); nghttp3_conn_del(qs->h3conn); ngtcp2_conn_del(qs->qconn); SSL_CTX_free(qs->sslctx); return CURLE_OK; } static unsigned int ng_conncheck(struct connectdata *conn, unsigned int checks_to_perform) { (void)conn; |
︙ | ︙ | |||
700 701 702 703 704 705 706 707 708 709 710 711 712 713 | (void)stream_id; (void)app_error_code; (void)user_data; H3BUGF(infof(data, "cb_h3_stream_close CALLED\n")); stream->closed = TRUE; Curl_expire(data, 0, EXPIRE_QUIC); return 0; } static int cb_h3_recv_data(nghttp3_conn *conn, int64_t stream_id, const uint8_t *buf, size_t buflen, void *user_data, void *stream_user_data) { | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > < < > < < | | < < | < < < < < < < < | < < | | < < | > < | 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 | (void)stream_id; (void)app_error_code; (void)user_data; H3BUGF(infof(data, "cb_h3_stream_close CALLED\n")); 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; } /* Minimum size of the overflow buffer */ #define OVERFLOWSIZE 1024 /* * allocate_overflow() ensures that there is room for incoming data in the * overflow buffer, growing it to accommodate the new data if necessary. We * may need to use the overflow buffer because we can't precisely limit the * amount of HTTP/3 header data we receive using QUIC flow control mechanisms. */ static CURLcode allocate_overflow(struct Curl_easy *data, struct HTTP *stream, size_t length) { size_t maxleft; size_t newsize; /* length can be arbitrarily large, so take care not to overflow newsize */ maxleft = CURL_MAX_READ_SIZE - stream->overflow_buflen; if(length > maxleft) { /* The reason to have a max limit for this is to avoid the risk of a bad server feeding libcurl with a highly compressed list of headers that will cause our overflow buffer to grow too large */ failf(data, "Rejected %zu bytes of overflow data (max is %d)!", stream->overflow_buflen + length, CURL_MAX_READ_SIZE); return CURLE_OUT_OF_MEMORY; } newsize = stream->overflow_buflen + length; if(newsize > stream->overflow_bufsize) { /* We enlarge the overflow buffer as it is too small */ char *newbuff; newsize = CURLMAX(newsize * 3 / 2, stream->overflow_bufsize*2); newsize = CURLMIN(CURLMAX(OVERFLOWSIZE, newsize), CURL_MAX_READ_SIZE); newbuff = realloc(stream->overflow_buf, newsize); if(!newbuff) { failf(data, "Failed to alloc memory for overflow buffer!"); return CURLE_OUT_OF_MEMORY; } stream->overflow_buf = newbuff; stream->overflow_bufsize = newsize; infof(data, "Grew HTTP/3 overflow buffer to %zu bytes\n", newsize); } return CURLE_OK; } /* * write_data() copies data to the stream's receive buffer. If not enough * space is available in the receive buffer, it copies the rest to the * stream's overflow buffer. */ static CURLcode write_data(struct Curl_easy *data, struct HTTP *stream, const void *mem, size_t memlen) { CURLcode result = CURLE_OK; const char *buf = mem; size_t ncopy = memlen; /* copy as much as possible to the receive buffer */ if(stream->len) { size_t len = CURLMIN(ncopy, stream->len); #if 0 /* extra debugging of incoming h3 data */ fprintf(stderr, "!! Copies %zd bytes to %p (total %zd)\n", len, stream->mem, stream->memlen); #endif memcpy(stream->mem, buf, len); stream->len -= len; stream->memlen += len; stream->mem += len; buf += len; ncopy -= len; } /* copy the rest to the overflow buffer */ if(ncopy) { result = allocate_overflow(data, stream, ncopy); if(result) { return result; } #if 0 /* extra debugging of incoming h3 data */ fprintf(stderr, "!! Copies %zd overflow bytes to %p (total %zd)\n", ncopy, stream->overflow_buf, stream->overflow_buflen); #endif memcpy(stream->overflow_buf + stream->overflow_buflen, buf, ncopy); stream->overflow_buflen += ncopy; } #if 0 /* extra debugging of incoming h3 data */ { size_t i; for(i = 0; i < memlen; i++) { fprintf(stderr, "!! data[%d]: %02x '%c'\n", i, buf[i], buf[i]); } } #endif return result; } static int cb_h3_recv_data(nghttp3_conn *conn, int64_t stream_id, const uint8_t *buf, size_t buflen, void *user_data, void *stream_user_data) { struct Curl_easy *data = stream_user_data; struct HTTP *stream = data->req.protop; CURLcode result = CURLE_OK; (void)conn; result = write_data(data, stream, buf, buflen); if(result) { return -1; } stream->unacked_window += buflen; (void)stream_id; (void)user_data; return 0; } static int cb_h3_deferred_consume(nghttp3_conn *conn, int64_t stream_id, size_t consumed, void *user_data, void *stream_user_data) { struct quicsocket *qs = user_data; (void)conn; (void)stream_user_data; (void)stream_id; ngtcp2_conn_extend_max_stream_offset(qs->qconn, stream_id, consumed); ngtcp2_conn_extend_max_offset(qs->qconn, consumed); return 0; } /* Decode HTTP status code. Returns -1 if no valid status code was decoded. (duplicate from http2.c) */ static int decode_status_code(const uint8_t *value, size_t len) { |
︙ | ︙ | |||
785 786 787 788 789 790 791 792 793 794 795 | } static int cb_h3_end_headers(nghttp3_conn *conn, int64_t stream_id, void *user_data, void *stream_user_data) { struct Curl_easy *data = stream_user_data; struct HTTP *stream = data->req.protop; (void)conn; (void)stream_id; (void)user_data; | > > | | | < | > | > > | > > > | > < | > > | > > > | > | | > > > > > > | | | 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 | } static int cb_h3_end_headers(nghttp3_conn *conn, int64_t stream_id, void *user_data, void *stream_user_data) { struct Curl_easy *data = stream_user_data; struct HTTP *stream = data->req.protop; CURLcode result = CURLE_OK; (void)conn; (void)stream_id; (void)user_data; /* add a CRLF only if we've received some headers */ if(stream->firstheader) { result = write_data(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) { nghttp3_vec h3name = nghttp3_rcbuf_get_buf(name); nghttp3_vec h3val = nghttp3_rcbuf_get_buf(value); struct Curl_easy *data = stream_user_data; struct HTTP *stream = data->req.protop; CURLcode result = CURLE_OK; (void)conn; (void)stream_id; (void)token; (void)flags; (void)user_data; if(h3name.len == sizeof(":status") - 1 && !memcmp(":status", h3name.base, h3name.len)) { char line[14]; /* status line is always 13 characters long */ size_t ncopy; int status = decode_status_code(h3val.base, h3val.len); DEBUGASSERT(status != -1); ncopy = msnprintf(line, sizeof(line), "HTTP/3 %03d \r\n", status); result = write_data(data, stream, line, ncopy); if(result) { return -1; } } else { /* store as a HTTP1-style header */ result = write_data(data, stream, h3name.base, h3name.len); if(result) { return -1; } result = write_data(data, stream, ": ", 2); if(result) { return -1; } result = write_data(data, stream, h3val.base, h3val.len); if(result) { return -1; } result = write_data(data, stream, "\r\n", 2); if(result) { return -1; } } stream->firstheader = TRUE; return 0; } static int cb_h3_send_stop_sending(nghttp3_conn *conn, int64_t stream_id, uint64_t app_error_code, void *user_data, void *stream_user_data) |
︙ | ︙ | |||
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 | fail: return result; } static Curl_recv ngh3_stream_recv; static Curl_send ngh3_stream_send; /* incoming data frames on the h3 stream */ static ssize_t ngh3_stream_recv(struct connectdata *conn, int sockindex, char *buf, size_t buffersize, CURLcode *curlcode) { curl_socket_t sockfd = conn->sock[sockindex]; struct HTTP *stream = conn->data->req.protop; struct quicsocket *qs = conn->quic; if(!stream->memlen) { /* remember where to store incoming data for this stream and how big the buffer is */ stream->mem = buf; stream->len = buffersize; } /* else, there's data in the buffer already */ if(ng_process_ingress(conn, sockfd, qs)) { *curlcode = CURLE_RECV_ERROR; return -1; } if(ng_flush_egress(conn, sockfd, qs)) { *curlcode = CURLE_SEND_ERROR; return -1; } if(stream->memlen) { ssize_t memlen = stream->memlen; /* data arrived */ *curlcode = CURLE_OK; /* reset to allow more data to come */ stream->memlen = 0; stream->mem = buf; stream->len = buffersize; | > > > > > > > > > > > > > > > > > > > > > | | > > > | 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 | fail: return result; } static Curl_recv ngh3_stream_recv; static Curl_send ngh3_stream_send; static size_t drain_overflow_buffer(struct HTTP *stream) { size_t ncopy = CURLMIN(stream->overflow_buflen, stream->len); if(ncopy > 0) { memcpy(stream->mem, stream->overflow_buf, ncopy); stream->len -= ncopy; stream->mem += ncopy; stream->memlen += ncopy; stream->overflow_buflen -= ncopy; memmove(stream->overflow_buf, stream->overflow_buf + ncopy, stream->overflow_buflen); } return ncopy; } /* incoming data frames on the h3 stream */ static ssize_t ngh3_stream_recv(struct connectdata *conn, int sockindex, char *buf, size_t buffersize, CURLcode *curlcode) { curl_socket_t sockfd = conn->sock[sockindex]; struct HTTP *stream = conn->data->req.protop; struct quicsocket *qs = conn->quic; if(!stream->memlen) { /* remember where to store incoming data for this stream and how big the buffer is */ stream->mem = buf; stream->len = buffersize; } /* else, there's data in the buffer already */ /* if there's data in the overflow buffer from a previous call, copy as much as possible to the receive buffer before receiving more */ drain_overflow_buffer(stream); if(ng_process_ingress(conn, sockfd, qs)) { *curlcode = CURLE_RECV_ERROR; return -1; } if(ng_flush_egress(conn, sockfd, qs)) { *curlcode = CURLE_SEND_ERROR; return -1; } if(stream->memlen) { ssize_t memlen = stream->memlen; /* data arrived */ *curlcode = CURLE_OK; /* reset to allow more data to come */ stream->memlen = 0; stream->mem = buf; stream->len = buffersize; /* extend the stream window with the data we're consuming and send out any additional packets to tell the server that we can receive more */ extend_stream_window(qs->qconn, stream); if(ng_flush_egress(conn, sockfd, qs)) { *curlcode = CURLE_SEND_ERROR; return -1; } return memlen; } if(stream->closed) { *curlcode = CURLE_OK; return 0; } |
︙ | ︙ | |||
1586 1587 1588 1589 1590 1591 1592 1593 | struct quicsocket *qs = conn->quic; stream->upload_done = TRUE; (void)nghttp3_conn_resume_stream(qs->h3conn, stream->stream3_id); } return CURLE_OK; } #endif | > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | struct quicsocket *qs = conn->quic; stream->upload_done = TRUE; (void)nghttp3_conn_resume_stream(qs->h3conn, stream->stream3_id); } return CURLE_OK; } /* * Called from http.c:Curl_http_done when a request completes. */ void Curl_quic_done(struct Curl_easy *data, bool premature) { (void)premature; if(data->conn->handler == &Curl_handler_http3) { /* only for HTTP/3 transfers */ struct HTTP *stream = data->req.protop; Curl_safefree(stream->overflow_buf); } } /* * Called from transfer.c:data_pending to know if we should keep looping * to receive more data from the connection. */ bool Curl_quic_data_pending(const struct Curl_easy *data) { /* We may have received more data than we're able to hold in the receive buffer and allocated an overflow buffer. Since it's possible that there's no more data coming on the socket, we need to keep reading until the overflow buffer is empty. */ const struct HTTP *stream = data->req.protop; return stream->overflow_buflen > 0; } #endif |
Changes to jni/curl/lib/vquic/ngtcp2.h.
︙ | ︙ | |||
42 43 44 45 46 47 48 | ngtcp2_conn *qconn; ngtcp2_cid dcid; ngtcp2_cid scid; uint32_t version; ngtcp2_settings settings; SSL_CTX *sslctx; SSL *ssl; | | | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | ngtcp2_conn *qconn; ngtcp2_cid dcid; ngtcp2_cid scid; uint32_t version; ngtcp2_settings settings; SSL_CTX *sslctx; SSL *ssl; struct quic_handshake crypto_data[3]; /* the last TLS alert description generated by the local endpoint */ uint8_t tls_alert; struct sockaddr_storage local_addr; socklen_t local_addrlen; nghttp3_conn *h3conn; nghttp3_conn_settings h3settings; |
︙ | ︙ |
Changes to jni/curl/lib/vquic/quiche.c.
︙ | ︙ | |||
41 42 43 44 45 46 47 | #include "memdebug.h" #define DEBUG_HTTP3 /* #define DEBUG_QUICHE */ #ifdef DEBUG_HTTP3 #define H3BUGF(x) x #else | | | 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | #include "memdebug.h" #define DEBUG_HTTP3 /* #define DEBUG_QUICHE */ #ifdef DEBUG_HTTP3 #define H3BUGF(x) x #else #define H3BUGF(x) do { } while(0) #endif #define QUIC_MAX_STREAMS (256*1024) #define QUIC_MAX_DATA (1*1024*1024) #define QUIC_IDLE_TIMEOUT (60 * 1000) /* milliseconds */ static CURLcode process_ingress(struct connectdata *conn, |
︙ | ︙ | |||
375 376 377 378 379 380 381 382 383 384 385 386 387 388 | size_t olen = 0; if((name_len == 7) && !strncmp(":status", (char *)name, 7)) { msnprintf(headers->dest, headers->destlen, "HTTP/3 %.*s\n", (int) value_len, value); } else { msnprintf(headers->dest, headers->destlen, "%.*s: %.*s\n", (int)name_len, name, (int) value_len, value); } olen = strlen(headers->dest); headers->destlen -= olen; | > > > | 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 | size_t olen = 0; if((name_len == 7) && !strncmp(":status", (char *)name, 7)) { msnprintf(headers->dest, headers->destlen, "HTTP/3 %.*s\n", (int) value_len, value); } else if(!headers->nlen) { return CURLE_HTTP3; } else { msnprintf(headers->dest, headers->destlen, "%.*s: %.*s\n", (int)name_len, name, (int) value_len, value); } olen = strlen(headers->dest); headers->destlen -= olen; |
︙ | ︙ | |||
429 430 431 432 433 434 435 | continue; } switch(quiche_h3_event_type(ev)) { case QUICHE_H3_EVENT_HEADERS: rc = quiche_h3_event_for_each_header(ev, cb_each_header, &headers); if(rc) { | | > > | 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 | continue; } switch(quiche_h3_event_type(ev)) { case QUICHE_H3_EVENT_HEADERS: rc = quiche_h3_event_for_each_header(ev, cb_each_header, &headers); if(rc) { *curlcode = rc; failf(data, "Error in HTTP/3 response header"); break; } recvd = headers.nlen; break; case QUICHE_H3_EVENT_DATA: if(!stream->firstbody) { /* add a header-body separator CRLF */ buf[0] = '\r'; |
︙ | ︙ | |||
775 776 777 778 779 780 781 782 783 | NULL, 0, TRUE); if(sent < 0) return CURLE_SEND_ERROR; } return CURLE_OK; } #endif | > > > > > > > > > > > > > > > > > > > | 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 | NULL, 0, TRUE); if(sent < 0) return CURLE_SEND_ERROR; } return CURLE_OK; } /* * Called from http.c:Curl_http_done when a request completes. */ void Curl_quic_done(struct Curl_easy *data, bool premature) { (void)data; (void)premature; } /* * Called from transfer.c:data_pending to know if we should keep looping * to receive more data from the connection. */ bool Curl_quic_data_pending(const struct Curl_easy *data) { (void)data; return FALSE; } #endif |
Changes to jni/curl/lib/vssh/libssh.c.
︙ | ︙ | |||
93 94 95 96 97 98 99 | #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" #include "curl_path.h" /* A recent macro provided by libssh. Or make our own. */ #ifndef SSH_STRING_FREE_CHAR | < | > > | > > > | 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | #include "curl_printf.h" #include "curl_memory.h" #include "memdebug.h" #include "curl_path.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); \ x = NULL; \ } \ } while(0) #endif /* Local functions: */ static CURLcode myssh_connect(struct connectdata *conn, bool *done); static CURLcode myssh_multi_statemach(struct connectdata *conn, bool *done); static CURLcode myssh_do_it(struct connectdata *conn, bool *done); |
︙ | ︙ |
Changes to jni/curl/lib/vssh/libssh2.c.
︙ | ︙ | |||
462 463 464 465 466 467 468 | enum curl_khmatch keymatch; curl_sshkeycallback func = data->set.ssh_keyfunc?data->set.ssh_keyfunc:sshkeycallback; struct curl_khkey knownkey; struct curl_khkey *knownkeyp = NULL; struct curl_khkey foundkey; | > | > > > | > > > > > > > > > > > > > > > > > > > > > > > > > | > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | 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 | enum curl_khmatch keymatch; curl_sshkeycallback func = data->set.ssh_keyfunc?data->set.ssh_keyfunc:sshkeycallback; struct curl_khkey knownkey; struct curl_khkey *knownkeyp = NULL; struct curl_khkey foundkey; switch(keytype) { case LIBSSH2_HOSTKEY_TYPE_RSA: keybit = LIBSSH2_KNOWNHOST_KEY_SSHRSA; break; case LIBSSH2_HOSTKEY_TYPE_DSS: keybit = LIBSSH2_KNOWNHOST_KEY_SSHDSS; break; #ifdef LIBSSH2_HOSTKEY_TYPE_ECDSA_256 case LIBSSH2_HOSTKEY_TYPE_ECDSA_256: keybit = LIBSSH2_KNOWNHOST_KEY_ECDSA_256; break; #endif #ifdef LIBSSH2_HOSTKEY_TYPE_ECDSA_384 case LIBSSH2_HOSTKEY_TYPE_ECDSA_384: keybit = LIBSSH2_KNOWNHOST_KEY_ECDSA_384; break; #endif #ifdef LIBSSH2_HOSTKEY_TYPE_ECDSA_521 case LIBSSH2_HOSTKEY_TYPE_ECDSA_521: keybit = LIBSSH2_KNOWNHOST_KEY_ECDSA_521; break; #endif #ifdef LIBSSH2_HOSTKEY_TYPE_ED25519 case LIBSSH2_HOSTKEY_TYPE_ED25519: keybit = LIBSSH2_KNOWNHOST_KEY_ED25519; break; #endif default: infof(data, "unsupported key type, can't check knownhosts!\n"); keybit = 0; break; } if(!keybit) /* no check means failure! */ rc = CURLKHSTAT_REJECT; else { #ifdef HAVE_LIBSSH2_KNOWNHOST_CHECKP keycheck = libssh2_knownhost_checkp(sshc->kh, conn->host.name, (conn->remote_port != PORT_SSH)? conn->remote_port:-1, remotekey, keylen, LIBSSH2_KNOWNHOST_TYPE_PLAIN| LIBSSH2_KNOWNHOST_KEYENC_RAW| keybit, &host); #else keycheck = libssh2_knownhost_check(sshc->kh, conn->host.name, remotekey, keylen, LIBSSH2_KNOWNHOST_TYPE_PLAIN| LIBSSH2_KNOWNHOST_KEYENC_RAW| keybit, &host); #endif infof(data, "SSH host check: %d, key: %s\n", keycheck, (keycheck <= LIBSSH2_KNOWNHOST_CHECK_MISMATCH)? host->key:"<none>"); /* setup 'knownkey' */ if(keycheck <= LIBSSH2_KNOWNHOST_CHECK_MISMATCH) { knownkey.key = host->key; knownkey.len = 0; knownkey.keytype = (keytype == LIBSSH2_HOSTKEY_TYPE_RSA)? CURLKHTYPE_RSA : CURLKHTYPE_DSS; knownkeyp = &knownkey; } /* setup 'foundkey' */ foundkey.key = remotekey; foundkey.len = keylen; foundkey.keytype = (keytype == LIBSSH2_HOSTKEY_TYPE_RSA)? CURLKHTYPE_RSA : CURLKHTYPE_DSS; /* * if any of the LIBSSH2_KNOWNHOST_CHECK_* defines and the * curl_khmatch enum are ever modified, we need to introduce a * translation table here! */ keymatch = (enum curl_khmatch)keycheck; /* Ask the callback how to behave */ Curl_set_in_callback(data, true); rc = func(data, knownkeyp, /* from the knownhosts file */ &foundkey, /* from the remote host */ keymatch, data->set.ssh_keyfunc_userp); Curl_set_in_callback(data, false); } } else /* no remotekey means failure! */ rc = CURLKHSTAT_REJECT; switch(rc) { default: /* unknown return codes will equal reject */ |
︙ | ︙ |
Added jni/curl/lib/vssh/ssh.h.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 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 | #ifndef HEADER_CURL_SSH_H #define HEADER_CURL_SSH_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "curl_setup.h" #if defined(HAVE_LIBSSH2_H) #include <libssh2.h> #include <libssh2_sftp.h> #elif defined(HAVE_LIBSSH_LIBSSH_H) #include <libssh/libssh.h> #include <libssh/sftp.h> #endif /* HAVE_LIBSSH2_H */ /**************************************************************************** * SSH unique setup ***************************************************************************/ typedef enum { SSH_NO_STATE = -1, /* Used for "nextState" so say there is none */ SSH_STOP = 0, /* do nothing state, stops the state machine */ SSH_INIT, /* First state in SSH-CONNECT */ SSH_S_STARTUP, /* Session startup */ SSH_HOSTKEY, /* verify hostkey */ SSH_AUTHLIST, SSH_AUTH_PKEY_INIT, SSH_AUTH_PKEY, SSH_AUTH_PASS_INIT, SSH_AUTH_PASS, SSH_AUTH_AGENT_INIT, /* initialize then wait for connection to agent */ SSH_AUTH_AGENT_LIST, /* ask for list then wait for entire list to come */ SSH_AUTH_AGENT, /* attempt one key at a time */ SSH_AUTH_HOST_INIT, SSH_AUTH_HOST, SSH_AUTH_KEY_INIT, SSH_AUTH_KEY, SSH_AUTH_GSSAPI, SSH_AUTH_DONE, SSH_SFTP_INIT, SSH_SFTP_REALPATH, /* Last state in SSH-CONNECT */ SSH_SFTP_QUOTE_INIT, /* First state in SFTP-DO */ SSH_SFTP_POSTQUOTE_INIT, /* (Possibly) First state in SFTP-DONE */ SSH_SFTP_QUOTE, SSH_SFTP_NEXT_QUOTE, SSH_SFTP_QUOTE_STAT, SSH_SFTP_QUOTE_SETSTAT, SSH_SFTP_QUOTE_SYMLINK, SSH_SFTP_QUOTE_MKDIR, SSH_SFTP_QUOTE_RENAME, SSH_SFTP_QUOTE_RMDIR, SSH_SFTP_QUOTE_UNLINK, SSH_SFTP_QUOTE_STATVFS, SSH_SFTP_GETINFO, SSH_SFTP_FILETIME, SSH_SFTP_TRANS_INIT, SSH_SFTP_UPLOAD_INIT, SSH_SFTP_CREATE_DIRS_INIT, SSH_SFTP_CREATE_DIRS, SSH_SFTP_CREATE_DIRS_MKDIR, SSH_SFTP_READDIR_INIT, SSH_SFTP_READDIR, SSH_SFTP_READDIR_LINK, SSH_SFTP_READDIR_BOTTOM, SSH_SFTP_READDIR_DONE, SSH_SFTP_DOWNLOAD_INIT, SSH_SFTP_DOWNLOAD_STAT, /* Last state in SFTP-DO */ SSH_SFTP_CLOSE, /* Last state in SFTP-DONE */ SSH_SFTP_SHUTDOWN, /* First state in SFTP-DISCONNECT */ SSH_SCP_TRANS_INIT, /* First state in SCP-DO */ SSH_SCP_UPLOAD_INIT, SSH_SCP_DOWNLOAD_INIT, SSH_SCP_DOWNLOAD, SSH_SCP_DONE, SSH_SCP_SEND_EOF, SSH_SCP_WAIT_EOF, SSH_SCP_WAIT_CLOSE, SSH_SCP_CHANNEL_FREE, /* Last state in SCP-DONE */ SSH_SESSION_DISCONNECT, /* First state in SCP-DISCONNECT */ SSH_SESSION_FREE, /* Last state in SCP/SFTP-DISCONNECT */ SSH_QUIT, SSH_LAST /* never used */ } sshstate; /* this struct is used in the HandleData struct which is part of the Curl_easy, which means this is used on a per-easy handle basis. Everything that is strictly related to a connection is banned from this struct. */ struct SSHPROTO { char *path; /* the path we operate on */ }; /* ssh_conn is used for struct connection-oriented data in the connectdata struct */ struct ssh_conn { const char *authlist; /* List of auth. methods, managed by libssh2 */ /* common */ const char *passphrase; /* pass-phrase to use */ char *rsa_pub; /* path name */ char *rsa; /* path name */ bool authed; /* the connection has been authenticated fine */ sshstate state; /* always use ssh.c:state() to change state! */ sshstate nextstate; /* the state to goto after stopping */ CURLcode actualcode; /* the actual error code */ struct curl_slist *quote_item; /* for the quote option */ char *quote_path1; /* two generic pointers for the QUOTE stuff */ char *quote_path2; bool acceptfail; /* used by the SFTP_QUOTE (continue if quote command fails) */ char *homedir; /* when doing SFTP we figure out home dir in the connect phase */ size_t readdir_len, readdir_totalLen, readdir_currLen; char *readdir_line; char *readdir_linkPath; /* end of READDIR stuff */ int secondCreateDirs; /* counter use by the code to see if the second attempt has been made to change to/create a directory */ char *slash_pos; /* used by the SFTP_CREATE_DIRS state */ int orig_waitfor; /* default READ/WRITE bits wait for */ #if defined(USE_LIBSSH) /* our variables */ unsigned kbd_state; /* 0 or 1 */ ssh_key privkey; ssh_key pubkey; int auth_methods; ssh_session ssh_session; ssh_scp scp_session; sftp_session sftp_session; sftp_file sftp_file; sftp_dir sftp_dir; unsigned sftp_recv_state; /* 0 or 1 */ int sftp_file_index; /* for async read */ sftp_attributes readdir_attrs; /* used by the SFTP readdir actions */ sftp_attributes readdir_link_attrs; /* used by the SFTP readdir actions */ sftp_attributes quote_attrs; /* used by the SFTP_QUOTE state */ const char *readdir_filename; /* points within readdir_attrs */ const char *readdir_longentry; char *readdir_tmp; #elif defined(USE_LIBSSH2) char *readdir_filename; char *readdir_longentry; LIBSSH2_SFTP_ATTRIBUTES quote_attrs; /* used by the SFTP_QUOTE state */ /* Here's a set of struct members used by the SFTP_READDIR state */ LIBSSH2_SFTP_ATTRIBUTES readdir_attrs; LIBSSH2_SESSION *ssh_session; /* Secure Shell session */ LIBSSH2_CHANNEL *ssh_channel; /* Secure Shell channel handle */ LIBSSH2_SFTP *sftp_session; /* SFTP handle */ LIBSSH2_SFTP_HANDLE *sftp_handle; #ifdef HAVE_LIBSSH2_AGENT_API LIBSSH2_AGENT *ssh_agent; /* proxy to ssh-agent/pageant */ struct libssh2_agent_publickey *sshagent_identity, *sshagent_prev_identity; #endif /* note that HAVE_LIBSSH2_KNOWNHOST_API is a define set in the libssh2.h header */ #ifdef HAVE_LIBSSH2_KNOWNHOST_API LIBSSH2_KNOWNHOSTS *kh; #endif #endif /* USE_LIBSSH */ }; #if defined(USE_LIBSSH) #define CURL_LIBSSH_VERSION ssh_version(0) extern const struct Curl_handler Curl_handler_scp; extern const struct Curl_handler Curl_handler_sftp; #elif defined(USE_LIBSSH2) /* Feature detection based on version numbers to better work with non-configure platforms */ #if !defined(LIBSSH2_VERSION_NUM) || (LIBSSH2_VERSION_NUM < 0x001000) # error "SCP/SFTP protocols require libssh2 0.16 or later" #endif #if LIBSSH2_VERSION_NUM >= 0x010000 #define HAVE_LIBSSH2_SFTP_SEEK64 1 #endif #if LIBSSH2_VERSION_NUM >= 0x010100 #define HAVE_LIBSSH2_VERSION 1 #endif #if LIBSSH2_VERSION_NUM >= 0x010205 #define HAVE_LIBSSH2_INIT 1 #define HAVE_LIBSSH2_EXIT 1 #endif #if LIBSSH2_VERSION_NUM >= 0x010206 #define HAVE_LIBSSH2_KNOWNHOST_CHECKP 1 #define HAVE_LIBSSH2_SCP_SEND64 1 #endif #if LIBSSH2_VERSION_NUM >= 0x010208 #define HAVE_LIBSSH2_SESSION_HANDSHAKE 1 #endif #ifdef HAVE_LIBSSH2_VERSION /* get it run-time if possible */ #define CURL_LIBSSH2_VERSION libssh2_version(0) #else /* use build-time if run-time not possible */ #define CURL_LIBSSH2_VERSION LIBSSH2_VERSION #endif extern const struct Curl_handler Curl_handler_scp; extern const struct Curl_handler Curl_handler_sftp; #endif /* USE_LIBSSH2 */ #ifdef USE_SSH /* generic SSH backend functions */ CURLcode Curl_ssh_init(void); void Curl_ssh_cleanup(void); size_t Curl_ssh_version(char *buffer, size_t buflen); #else /* for non-SSH builds */ #define Curl_ssh_cleanup() #endif #endif /* HEADER_CURL_SSH_H */ |
Added jni/curl/lib/vtls/bearssl.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2019, Michael Forney, <mforney@mforney.org> * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "curl_setup.h" #ifdef USE_BEARSSL #include <bearssl.h> #include "bearssl.h" #include "urldata.h" #include "sendf.h" #include "inet_pton.h" #include "vtls.h" #include "connect.h" #include "select.h" #include "multiif.h" #include "curl_printf.h" #include "curl_memory.h" struct x509_context { const br_x509_class *vtable; br_x509_minimal_context minimal; bool verifyhost; bool verifypeer; }; struct ssl_backend_data { br_ssl_client_context ctx; struct x509_context x509; unsigned char buf[BR_SSL_BUFSIZE_BIDI]; br_x509_trust_anchor *anchors; size_t anchors_len; const char *protocols[2]; /* SSL client context is active */ bool active; /* size of pending write, yet to be flushed */ size_t pending_write; }; #define BACKEND connssl->backend struct cafile_parser { CURLcode err; bool in_cert; br_x509_decoder_context xc; /* array of trust anchors loaded from CAfile */ br_x509_trust_anchor *anchors; size_t anchors_len; /* buffer for DN data */ unsigned char dn[1024]; size_t dn_len; }; static void append_dn(void *ctx, const void *buf, size_t len) { struct cafile_parser *ca = ctx; if(ca->err != CURLE_OK || !ca->in_cert) return; if(sizeof(ca->dn) - ca->dn_len < len) { ca->err = CURLE_FAILED_INIT; return; } memcpy(ca->dn + ca->dn_len, buf, len); ca->dn_len += len; } static void x509_push(void *ctx, const void *buf, size_t len) { struct cafile_parser *ca = ctx; if(ca->in_cert) br_x509_decoder_push(&ca->xc, buf, len); } static CURLcode load_cafile(const char *path, br_x509_trust_anchor **anchors, size_t *anchors_len) { struct cafile_parser ca; br_pem_decoder_context pc; br_x509_trust_anchor *ta; size_t ta_size; br_x509_trust_anchor *new_anchors; size_t new_anchors_len; br_x509_pkey *pkey; FILE *fp; unsigned char buf[BUFSIZ], *p; const char *name; size_t n, i, pushed; fp = fopen(path, "rb"); if(!fp) return CURLE_SSL_CACERT_BADFILE; ca.err = CURLE_OK; ca.in_cert = FALSE; ca.anchors = NULL; ca.anchors_len = 0; br_pem_decoder_init(&pc); br_pem_decoder_setdest(&pc, x509_push, &ca); for(;;) { n = fread(buf, 1, sizeof(buf), fp); if(n == 0) break; p = buf; while(n) { pushed = br_pem_decoder_push(&pc, p, n); if(ca.err) goto fail; p += pushed; n -= pushed; switch(br_pem_decoder_event(&pc)) { case 0: break; case BR_PEM_BEGIN_OBJ: name = br_pem_decoder_name(&pc); if(strcmp(name, "CERTIFICATE") && strcmp(name, "X509 CERTIFICATE")) break; br_x509_decoder_init(&ca.xc, append_dn, &ca); if(ca.anchors_len == SIZE_MAX / sizeof(ca.anchors[0])) { ca.err = CURLE_OUT_OF_MEMORY; goto fail; } new_anchors_len = ca.anchors_len + 1; new_anchors = realloc(ca.anchors, new_anchors_len * sizeof(ca.anchors[0])); if(!new_anchors) { ca.err = CURLE_OUT_OF_MEMORY; goto fail; } ca.anchors = new_anchors; ca.anchors_len = new_anchors_len; ca.in_cert = TRUE; ca.dn_len = 0; ta = &ca.anchors[ca.anchors_len - 1]; ta->dn.data = NULL; break; case BR_PEM_END_OBJ: if(!ca.in_cert) break; ca.in_cert = FALSE; if(br_x509_decoder_last_error(&ca.xc)) { ca.err = CURLE_SSL_CACERT_BADFILE; goto fail; } ta->flags = 0; if(br_x509_decoder_isCA(&ca.xc)) ta->flags |= BR_X509_TA_CA; pkey = br_x509_decoder_get_pkey(&ca.xc); if(!pkey) { ca.err = CURLE_SSL_CACERT_BADFILE; goto fail; } ta->pkey = *pkey; /* calculate space needed for trust anchor data */ ta_size = ca.dn_len; switch(pkey->key_type) { case BR_KEYTYPE_RSA: ta_size += pkey->key.rsa.nlen + pkey->key.rsa.elen; break; case BR_KEYTYPE_EC: ta_size += pkey->key.ec.qlen; break; default: ca.err = CURLE_FAILED_INIT; goto fail; } /* fill in trust anchor DN and public key data */ ta->dn.data = malloc(ta_size); if(!ta->dn.data) { ca.err = CURLE_OUT_OF_MEMORY; goto fail; } memcpy(ta->dn.data, ca.dn, ca.dn_len); ta->dn.len = ca.dn_len; switch(pkey->key_type) { case BR_KEYTYPE_RSA: ta->pkey.key.rsa.n = ta->dn.data + ta->dn.len; memcpy(ta->pkey.key.rsa.n, pkey->key.rsa.n, pkey->key.rsa.nlen); ta->pkey.key.rsa.e = ta->pkey.key.rsa.n + ta->pkey.key.rsa.nlen; memcpy(ta->pkey.key.rsa.e, pkey->key.rsa.e, pkey->key.rsa.elen); break; case BR_KEYTYPE_EC: ta->pkey.key.ec.q = ta->dn.data + ta->dn.len; memcpy(ta->pkey.key.ec.q, pkey->key.ec.q, pkey->key.ec.qlen); break; } break; default: ca.err = CURLE_SSL_CACERT_BADFILE; goto fail; } } } if(ferror(fp)) ca.err = CURLE_READ_ERROR; fail: fclose(fp); if(ca.err == CURLE_OK) { *anchors = ca.anchors; *anchors_len = ca.anchors_len; } else { for(i = 0; i < ca.anchors_len; ++i) free(ca.anchors[i].dn.data); free(ca.anchors); } return ca.err; } static void x509_start_chain(const br_x509_class **ctx, const char *server_name) { struct x509_context *x509 = (struct x509_context *)ctx; if(!x509->verifyhost) server_name = NULL; x509->minimal.vtable->start_chain(&x509->minimal.vtable, server_name); } static void x509_start_cert(const br_x509_class **ctx, uint32_t length) { struct x509_context *x509 = (struct x509_context *)ctx; x509->minimal.vtable->start_cert(&x509->minimal.vtable, length); } static void x509_append(const br_x509_class **ctx, const unsigned char *buf, size_t len) { struct x509_context *x509 = (struct x509_context *)ctx; x509->minimal.vtable->append(&x509->minimal.vtable, buf, len); } static void x509_end_cert(const br_x509_class **ctx) { struct x509_context *x509 = (struct x509_context *)ctx; x509->minimal.vtable->end_cert(&x509->minimal.vtable); } static unsigned x509_end_chain(const br_x509_class **ctx) { struct x509_context *x509 = (struct x509_context *)ctx; unsigned err; err = x509->minimal.vtable->end_chain(&x509->minimal.vtable); if(err && !x509->verifypeer) { /* ignore any X.509 errors */ err = BR_ERR_OK; } return err; } static const br_x509_pkey *x509_get_pkey(const br_x509_class *const *ctx, unsigned *usages) { struct x509_context *x509 = (struct x509_context *)ctx; return x509->minimal.vtable->get_pkey(&x509->minimal.vtable, usages); } static const br_x509_class x509_vtable = { sizeof(struct x509_context), x509_start_chain, x509_start_cert, x509_append, x509_end_cert, x509_end_chain, x509_get_pkey }; static CURLcode bearssl_connect_step1(struct connectdata *conn, int sockindex) { struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; const char * const ssl_cafile = SSL_CONN_CONFIG(CAfile); const char *hostname = SSL_IS_PROXY() ? conn->http_proxy.host.name : conn->host.name; const bool verifypeer = SSL_CONN_CONFIG(verifypeer); const bool verifyhost = SSL_CONN_CONFIG(verifyhost); CURLcode ret; unsigned version_min, version_max; #ifdef ENABLE_IPV6 struct in6_addr addr; #else struct in_addr addr; #endif switch(SSL_CONN_CONFIG(version)) { case CURL_SSLVERSION_SSLv2: failf(data, "BearSSL does not support SSLv2"); return CURLE_SSL_CONNECT_ERROR; case CURL_SSLVERSION_SSLv3: failf(data, "BearSSL does not support SSLv3"); return CURLE_SSL_CONNECT_ERROR; case CURL_SSLVERSION_TLSv1_0: version_min = BR_TLS10; version_max = BR_TLS10; break; case CURL_SSLVERSION_TLSv1_1: version_min = BR_TLS11; version_max = BR_TLS11; break; case CURL_SSLVERSION_TLSv1_2: version_min = BR_TLS12; version_max = BR_TLS12; break; case CURL_SSLVERSION_DEFAULT: case CURL_SSLVERSION_TLSv1: version_min = BR_TLS10; version_max = BR_TLS12; break; default: failf(data, "BearSSL: unknown CURLOPT_SSLVERSION"); return CURLE_SSL_CONNECT_ERROR; } if(ssl_cafile) { ret = load_cafile(ssl_cafile, &BACKEND->anchors, &BACKEND->anchors_len); if(ret != CURLE_OK) { if(verifypeer) { failf(data, "error setting certificate verify locations:\n" " CAfile: %s\n", ssl_cafile); return ret; } infof(data, "error setting certificate verify locations," " continuing anyway:\n"); } } /* initialize SSL context */ br_ssl_client_init_full(&BACKEND->ctx, &BACKEND->x509.minimal, BACKEND->anchors, BACKEND->anchors_len); br_ssl_engine_set_versions(&BACKEND->ctx.eng, version_min, version_max); br_ssl_engine_set_buffer(&BACKEND->ctx.eng, BACKEND->buf, sizeof(BACKEND->buf), 1); /* initialize X.509 context */ BACKEND->x509.vtable = &x509_vtable; BACKEND->x509.verifypeer = verifypeer; BACKEND->x509.verifyhost = verifyhost; br_ssl_engine_set_x509(&BACKEND->ctx.eng, &BACKEND->x509.vtable); if(SSL_SET_OPTION(primary.sessionid)) { void *session; Curl_ssl_sessionid_lock(conn); if(!Curl_ssl_getsessionid(conn, &session, NULL, sockindex)) { br_ssl_engine_set_session_parameters(&BACKEND->ctx.eng, session); infof(data, "BearSSL: re-using session ID\n"); } Curl_ssl_sessionid_unlock(conn); } if(conn->bits.tls_enable_alpn) { int cur = 0; /* NOTE: when adding more protocols here, increase the size of the * protocols array in `struct ssl_backend_data`. */ #ifdef USE_NGHTTP2 if(data->set.httpversion >= CURL_HTTP_VERSION_2 && (!SSL_IS_PROXY() || !conn->bits.tunnel_proxy)) { BACKEND->protocols[cur++] = NGHTTP2_PROTO_VERSION_ID; infof(data, "ALPN, offering %s\n", NGHTTP2_PROTO_VERSION_ID); } #endif BACKEND->protocols[cur++] = ALPN_HTTP_1_1; infof(data, "ALPN, offering %s\n", ALPN_HTTP_1_1); br_ssl_engine_set_protocol_names(&BACKEND->ctx.eng, BACKEND->protocols, cur); } if((1 == Curl_inet_pton(AF_INET, hostname, &addr)) #ifdef ENABLE_IPV6 || (1 == Curl_inet_pton(AF_INET6, hostname, &addr)) #endif ) { if(verifyhost) { failf(data, "BearSSL: " "host verification of IP address is not supported"); return CURLE_PEER_FAILED_VERIFICATION; } hostname = NULL; } if(!br_ssl_client_reset(&BACKEND->ctx, hostname, 0)) return CURLE_FAILED_INIT; BACKEND->active = TRUE; connssl->connecting_state = ssl_connect_2; return CURLE_OK; } static CURLcode bearssl_run_until(struct connectdata *conn, int sockindex, unsigned target) { struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; curl_socket_t sockfd = conn->sock[sockindex]; unsigned state; unsigned char *buf; size_t len; ssize_t ret; int err; for(;;) { state = br_ssl_engine_current_state(&BACKEND->ctx.eng); if(state & BR_SSL_CLOSED) { err = br_ssl_engine_last_error(&BACKEND->ctx.eng); switch(err) { case BR_ERR_OK: /* TLS close notify */ if(connssl->state != ssl_connection_complete) { failf(data, "SSL: connection closed during handshake"); return CURLE_SSL_CONNECT_ERROR; } return CURLE_OK; case BR_ERR_X509_EXPIRED: failf(data, "SSL: X.509 verification: " "certificate is expired or not yet valid"); return CURLE_PEER_FAILED_VERIFICATION; case BR_ERR_X509_BAD_SERVER_NAME: failf(data, "SSL: X.509 verification: " "expected server name was not found in the chain"); return CURLE_PEER_FAILED_VERIFICATION; case BR_ERR_X509_NOT_TRUSTED: failf(data, "SSL: X.509 verification: " "chain could not be linked to a trust anchor"); return CURLE_PEER_FAILED_VERIFICATION; } /* X.509 errors are documented to have the range 32..63 */ if(err >= 32 && err < 64) return CURLE_PEER_FAILED_VERIFICATION; return CURLE_SSL_CONNECT_ERROR; } if(state & target) return CURLE_OK; if(state & BR_SSL_SENDREC) { buf = br_ssl_engine_sendrec_buf(&BACKEND->ctx.eng, &len); ret = swrite(sockfd, buf, len); if(ret == -1) { if(SOCKERRNO == EAGAIN || SOCKERRNO == EWOULDBLOCK) { if(connssl->state != ssl_connection_complete) connssl->connecting_state = ssl_connect_2_writing; return CURLE_AGAIN; } return CURLE_WRITE_ERROR; } br_ssl_engine_sendrec_ack(&BACKEND->ctx.eng, ret); } else if(state & BR_SSL_RECVREC) { buf = br_ssl_engine_recvrec_buf(&BACKEND->ctx.eng, &len); ret = sread(sockfd, buf, len); if(ret == 0) { failf(data, "SSL: EOF without close notify"); return CURLE_READ_ERROR; } if(ret == -1) { if(SOCKERRNO == EAGAIN || SOCKERRNO == EWOULDBLOCK) { if(connssl->state != ssl_connection_complete) connssl->connecting_state = ssl_connect_2_reading; return CURLE_AGAIN; } return CURLE_READ_ERROR; } br_ssl_engine_recvrec_ack(&BACKEND->ctx.eng, ret); } } } static CURLcode bearssl_connect_step2(struct connectdata *conn, int sockindex) { struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; CURLcode ret; ret = bearssl_run_until(conn, sockindex, BR_SSL_SENDAPP | BR_SSL_RECVAPP); if(ret == CURLE_AGAIN) return CURLE_OK; if(ret == CURLE_OK) { if(br_ssl_engine_current_state(&BACKEND->ctx.eng) == BR_SSL_CLOSED) { failf(data, "SSL: connection closed during handshake"); return CURLE_SSL_CONNECT_ERROR; } connssl->connecting_state = ssl_connect_3; } return ret; } static CURLcode bearssl_connect_step3(struct connectdata *conn, int sockindex) { struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; CURLcode ret; DEBUGASSERT(ssl_connect_3 == connssl->connecting_state); if(conn->bits.tls_enable_alpn) { const char *protocol; protocol = br_ssl_engine_get_selected_protocol(&BACKEND->ctx.eng); if(protocol) { infof(data, "ALPN, server accepted to use %s\n", protocol); #ifdef USE_NGHTTP2 if(!strcmp(protocol, NGHTTP2_PROTO_VERSION_ID)) conn->negnpn = CURL_HTTP_VERSION_2; else #endif if(!strcmp(protocol, ALPN_HTTP_1_1)) conn->negnpn = CURL_HTTP_VERSION_1_1; else infof(data, "ALPN, unrecognized protocol %s\n", protocol); Curl_multiuse_state(conn, conn->negnpn == CURL_HTTP_VERSION_2 ? BUNDLE_MULTIPLEX : BUNDLE_NO_MULTIUSE); } else infof(data, "ALPN, server did not agree to a protocol\n"); } if(SSL_SET_OPTION(primary.sessionid)) { bool incache; void *oldsession; br_ssl_session_parameters *session; session = malloc(sizeof(*session)); if(!session) return CURLE_OUT_OF_MEMORY; br_ssl_engine_get_session_parameters(&BACKEND->ctx.eng, session); Curl_ssl_sessionid_lock(conn); incache = !(Curl_ssl_getsessionid(conn, &oldsession, NULL, sockindex)); if(incache) Curl_ssl_delsessionid(conn, oldsession); ret = Curl_ssl_addsessionid(conn, session, 0, sockindex); Curl_ssl_sessionid_unlock(conn); if(ret) { free(session); return CURLE_OUT_OF_MEMORY; } } connssl->connecting_state = ssl_connect_done; return CURLE_OK; } static ssize_t bearssl_send(struct connectdata *conn, int sockindex, const void *buf, size_t len, CURLcode *err) { struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; unsigned char *app; size_t applen; for(;;) { *err = bearssl_run_until(conn, sockindex, BR_SSL_SENDAPP); if (*err != CURLE_OK) return -1; app = br_ssl_engine_sendapp_buf(&BACKEND->ctx.eng, &applen); if(!app) { failf(data, "SSL: connection closed during write"); *err = CURLE_SEND_ERROR; return -1; } if(BACKEND->pending_write) { applen = BACKEND->pending_write; BACKEND->pending_write = 0; return applen; } if(applen > len) applen = len; memcpy(app, buf, applen); br_ssl_engine_sendapp_ack(&BACKEND->ctx.eng, applen); br_ssl_engine_flush(&BACKEND->ctx.eng, 0); BACKEND->pending_write = applen; } } static ssize_t bearssl_recv(struct connectdata *conn, int sockindex, char *buf, size_t len, CURLcode *err) { struct ssl_connect_data *connssl = &conn->ssl[sockindex]; unsigned char *app; size_t applen; *err = bearssl_run_until(conn, sockindex, BR_SSL_RECVAPP); if(*err != CURLE_OK) return -1; app = br_ssl_engine_recvapp_buf(&BACKEND->ctx.eng, &applen); if(!app) return 0; if(applen > len) applen = len; memcpy(buf, app, applen); br_ssl_engine_recvapp_ack(&BACKEND->ctx.eng, applen); return applen; } static CURLcode bearssl_connect_common(struct connectdata *conn, int sockindex, bool nonblocking, bool *done) { CURLcode ret; struct Curl_easy *data = conn->data; struct ssl_connect_data *connssl = &conn->ssl[sockindex]; curl_socket_t sockfd = conn->sock[sockindex]; time_t timeout_ms; int what; /* check if the connection has already been established */ if(ssl_connection_complete == connssl->state) { *done = TRUE; return CURLE_OK; } if(ssl_connect_1 == connssl->connecting_state) { ret = bearssl_connect_step1(conn, sockindex); if(ret) return ret; } while(ssl_connect_2 == connssl->connecting_state || ssl_connect_2_reading == connssl->connecting_state || ssl_connect_2_writing == connssl->connecting_state) { /* check allowed time left */ timeout_ms = Curl_timeleft(data, NULL, TRUE); if(timeout_ms < 0) { /* no need to continue if time already is up */ failf(data, "SSL connection timeout"); return CURLE_OPERATION_TIMEDOUT; } /* if ssl is expecting something, check if it's available. */ if(ssl_connect_2_reading == connssl->connecting_state || ssl_connect_2_writing == connssl->connecting_state) { curl_socket_t writefd = ssl_connect_2_writing == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; curl_socket_t readfd = ssl_connect_2_reading == connssl->connecting_state?sockfd:CURL_SOCKET_BAD; what = Curl_socket_check(readfd, CURL_SOCKET_BAD, writefd, nonblocking?0:timeout_ms); if(what < 0) { /* fatal error */ failf(data, "select/poll on SSL socket, errno: %d", SOCKERRNO); return CURLE_SSL_CONNECT_ERROR; } else if(0 == what) { if(nonblocking) { *done = FALSE; return CURLE_OK; } else { /* timeout */ failf(data, "SSL connection timeout"); return CURLE_OPERATION_TIMEDOUT; } } /* socket is readable or writable */ } /* Run transaction, and return to the caller if it failed or if this * connection is done nonblocking and this loop would execute again. This * permits the owner of a multi handle to abort a connection attempt * before step2 has completed while ensuring that a client using select() * or epoll() will always have a valid fdset to wait on. */ ret = bearssl_connect_step2(conn, sockindex); if(ret || (nonblocking && (ssl_connect_2 == connssl->connecting_state || ssl_connect_2_reading == connssl->connecting_state || ssl_connect_2_writing == connssl->connecting_state))) return ret; } if(ssl_connect_3 == connssl->connecting_state) { ret = bearssl_connect_step3(conn, sockindex); if(ret) return ret; } if(ssl_connect_done == connssl->connecting_state) { connssl->state = ssl_connection_complete; conn->recv[sockindex] = bearssl_recv; conn->send[sockindex] = bearssl_send; *done = TRUE; } else *done = FALSE; /* Reset our connect state machine */ connssl->connecting_state = ssl_connect_1; return CURLE_OK; } static size_t Curl_bearssl_version(char *buffer, size_t size) { return msnprintf(buffer, size, "BearSSL"); } static bool Curl_bearssl_data_pending(const struct connectdata *conn, int connindex) { const struct ssl_connect_data *connssl = &conn->ssl[connindex]; return br_ssl_engine_current_state(&BACKEND->ctx.eng) & BR_SSL_RECVAPP; } static CURLcode Curl_bearssl_random(struct Curl_easy *data UNUSED_PARAM, unsigned char *entropy, size_t length) { static br_hmac_drbg_context ctx; static bool seeded = FALSE; if(!seeded) { br_prng_seeder seeder; br_hmac_drbg_init(&ctx, &br_sha256_vtable, NULL, 0); seeder = br_prng_seeder_system(NULL); if(!seeder || !seeder(&ctx.vtable)) return CURLE_FAILED_INIT; seeded = TRUE; } br_hmac_drbg_generate(&ctx, entropy, length); return CURLE_OK; } static CURLcode Curl_bearssl_connect(struct connectdata *conn, int sockindex) { CURLcode ret; bool done = FALSE; ret = bearssl_connect_common(conn, sockindex, FALSE, &done); if(ret) return ret; DEBUGASSERT(done); return CURLE_OK; } static CURLcode Curl_bearssl_connect_nonblocking(struct connectdata *conn, int sockindex, bool *done) { return bearssl_connect_common(conn, sockindex, TRUE, done); } static void *Curl_bearssl_get_internals(struct ssl_connect_data *connssl, CURLINFO info UNUSED_PARAM) { return &BACKEND->ctx; } static void Curl_bearssl_close(struct connectdata *conn, int sockindex) { struct ssl_connect_data *connssl = &conn->ssl[sockindex]; size_t i; if(BACKEND->active) { br_ssl_engine_close(&BACKEND->ctx.eng); (void)bearssl_run_until(conn, sockindex, BR_SSL_CLOSED); } for(i = 0; i < BACKEND->anchors_len; ++i) free(BACKEND->anchors[i].dn.data); free(BACKEND->anchors); } static void Curl_bearssl_session_free(void *ptr) { free(ptr); } static CURLcode Curl_bearssl_md5sum(unsigned char *input, size_t inputlen, unsigned char *md5sum, size_t md5len UNUSED_PARAM) { br_md5_context ctx; br_md5_init(&ctx); br_md5_update(&ctx, input, inputlen); br_md5_out(&ctx, md5sum); return CURLE_OK; } static CURLcode Curl_bearssl_sha256sum(const unsigned char *input, size_t inputlen, unsigned char *sha256sum, size_t sha256len UNUSED_PARAM) { br_sha256_context ctx; br_sha256_init(&ctx); br_sha256_update(&ctx, input, inputlen); br_sha256_out(&ctx, sha256sum); return CURLE_OK; } const struct Curl_ssl Curl_ssl_bearssl = { { CURLSSLBACKEND_BEARSSL, "bearssl" }, 0, sizeof(struct ssl_backend_data), Curl_none_init, Curl_none_cleanup, Curl_bearssl_version, Curl_none_check_cxn, Curl_none_shutdown, Curl_bearssl_data_pending, Curl_bearssl_random, Curl_none_cert_status_request, Curl_bearssl_connect, Curl_bearssl_connect_nonblocking, Curl_bearssl_get_internals, Curl_bearssl_close, Curl_none_close_all, Curl_bearssl_session_free, Curl_none_set_engine, Curl_none_set_engine_default, Curl_none_engines_list, Curl_none_false_start, Curl_bearssl_md5sum, Curl_bearssl_sha256sum }; #endif /* USE_BEARSSL */ |
Added jni/curl/lib/vtls/bearssl.h.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #ifndef HEADER_CURL_BEARSSL_H #define HEADER_CURL_BEARSSL_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2019, Michael Forney, <mforney@mforney.org> * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "curl_setup.h" #ifdef USE_BEARSSL extern const struct Curl_ssl Curl_ssl_bearssl; #endif /* USE_BEARSSL */ #endif /* HEADER_CURL_BEARSSL_H */ |
Changes to jni/curl/lib/vtls/gskit.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_GSKIT_H #define HEADER_CURL_GSKIT_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_GSKIT_H #define HEADER_CURL_GSKIT_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/lib/vtls/mbedtls.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_MBEDTLS_H #define HEADER_CURL_MBEDTLS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_MBEDTLS_H #define HEADER_CURL_MBEDTLS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2012 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 2010, Hoi-Ho Chan, <hoiho.chan@gmail.com> * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell |
︙ | ︙ |
Changes to jni/curl/lib/vtls/nss.c.
︙ | ︙ | |||
109 110 111 112 113 114 115 | } cipher_s; #define PK11_SETATTRS(_attr, _idx, _type, _val, _len) do { \ CK_ATTRIBUTE *ptr = (_attr) + ((_idx)++); \ ptr->type = (_type); \ ptr->pValue = (_val); \ ptr->ulValueLen = (_len); \ | | | 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | } cipher_s; #define PK11_SETATTRS(_attr, _idx, _type, _val, _len) do { \ CK_ATTRIBUTE *ptr = (_attr) + ((_idx)++); \ ptr->type = (_type); \ ptr->pValue = (_val); \ ptr->ulValueLen = (_len); \ } while(0) #define CERT_NewTempCertificate __CERT_NewTempCertificate #define NUM_OF_CIPHERS sizeof(cipherlist)/sizeof(cipherlist[0]) static const cipher_s cipherlist[] = { /* SSL2 cipher suites */ {"rc4", SSL_EN_RC4_128_WITH_MD5}, |
︙ | ︙ |
Changes to jni/curl/lib/vtls/openssl.c.
︙ | ︙ | |||
138 139 140 141 142 143 144 | #define X509_get0_notAfter(x) X509_get_notAfter(x) #define CONST_EXTS /* nope */ #ifndef LIBRESSL_VERSION_NUMBER #define OpenSSL_version_num() SSLeay() #endif #endif | < < < < | 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | #define X509_get0_notAfter(x) X509_get_notAfter(x) #define CONST_EXTS /* nope */ #ifndef LIBRESSL_VERSION_NUMBER #define OpenSSL_version_num() SSLeay() #endif #endif #if (OPENSSL_VERSION_NUMBER >= 0x1000200fL) && /* 1.0.2 or later */ \ !(defined(LIBRESSL_VERSION_NUMBER) && \ LIBRESSL_VERSION_NUMBER < 0x20700000L) #define HAVE_X509_GET0_SIGNATURE 1 #endif #if (OPENSSL_VERSION_NUMBER >= 0x1000200fL) /* 1.0.2 or later */ |
︙ | ︙ | |||
388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 | } } /* Return error string for last OpenSSL error */ static char *ossl_strerror(unsigned long error, char *buf, size_t size) { #ifdef OPENSSL_IS_BORINGSSL ERR_error_string_n((uint32_t)error, buf, size); #else ERR_error_string_n(error, buf, size); #endif return buf; } /* Return an extra data index for the connection data. * This index can be used with SSL_get_ex_data() and SSL_set_ex_data(). */ static int ossl_get_ssl_conn_index(void) | > > > > > > > > > | 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 | } } /* Return error string for last OpenSSL error */ static char *ossl_strerror(unsigned long error, char *buf, size_t size) { if(size) *buf = '\0'; #ifdef OPENSSL_IS_BORINGSSL ERR_error_string_n((uint32_t)error, buf, size); #else ERR_error_string_n(error, buf, size); #endif if(size > 1 && !*buf) { strncpy(buf, (error ? "Unknown error" : "No error"), size); buf[size - 1] = '\0'; } return buf; } /* Return an extra data index for the connection data. * This index can be used with SSL_get_ex_data() and SSL_set_ex_data(). */ static int ossl_get_ssl_conn_index(void) |
︙ | ︙ | |||
2764 2765 2766 2767 2768 2769 2770 | infof(data, "successfully load CRL file:\n"); X509_STORE_set_flags(SSL_CTX_get_cert_store(BACKEND->ctx), X509_V_FLAG_CRL_CHECK|X509_V_FLAG_CRL_CHECK_ALL); infof(data, " CRLfile: %s\n", ssl_crlfile); } | > | | | | | | | < > > > > > > > > > | > | 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 | infof(data, "successfully load CRL file:\n"); X509_STORE_set_flags(SSL_CTX_get_cert_store(BACKEND->ctx), X509_V_FLAG_CRL_CHECK|X509_V_FLAG_CRL_CHECK_ALL); infof(data, " CRLfile: %s\n", ssl_crlfile); } if(verifypeer) { /* Try building a chain using issuers in the trusted store first to avoid problems with server-sent legacy intermediates. Newer versions of OpenSSL do alternate chain checking by default which gives us the same fix without as much of a performance hit (slight), so we prefer that if available. https://rt.openssl.org/Ticket/Display.html?id=3621&user=guest&pass=guest */ #if defined(X509_V_FLAG_TRUSTED_FIRST) && !defined(X509_V_FLAG_NO_ALT_CHAINS) X509_STORE_set_flags(SSL_CTX_get_cert_store(BACKEND->ctx), X509_V_FLAG_TRUSTED_FIRST); #endif #ifdef X509_V_FLAG_PARTIAL_CHAIN if(!SSL_SET_OPTION(no_partialchain)) { /* Have intermediate certificates in the trust store be treated as trust-anchors, in the same way as self-signed root CA certificates are. This allows users to verify servers using the intermediate cert only, instead of needing the whole chain. */ X509_STORE_set_flags(SSL_CTX_get_cert_store(BACKEND->ctx), X509_V_FLAG_PARTIAL_CHAIN); } #endif } /* SSL always tries to verify the peer, this only says whether it should * fail to connect if the verification fails, or if it should continue * anyway. In the latter case the result of the verification is checked with * SSL_get_verify_result() below. */ SSL_CTX_set_verify(BACKEND->ctx, verifypeer ? SSL_VERIFY_PEER : SSL_VERIFY_NONE, NULL); |
︙ | ︙ | |||
2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 | */ SSL_CTX_set_session_cache_mode(BACKEND->ctx, SSL_SESS_CACHE_CLIENT | SSL_SESS_CACHE_NO_INTERNAL); SSL_CTX_sess_set_new_cb(BACKEND->ctx, ossl_new_session_cb); /* give application a chance to interfere with SSL set up. */ if(data->set.ssl.fsslctx) { result = (*data->set.ssl.fsslctx)(data, BACKEND->ctx, data->set.ssl.fsslctxp); if(result) { failf(data, "error signaled by ssl ctx callback"); return result; } } /* Lets make an SSL structure */ | > > | 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 | */ SSL_CTX_set_session_cache_mode(BACKEND->ctx, SSL_SESS_CACHE_CLIENT | SSL_SESS_CACHE_NO_INTERNAL); SSL_CTX_sess_set_new_cb(BACKEND->ctx, ossl_new_session_cb); /* give application a chance to interfere with SSL set up. */ if(data->set.ssl.fsslctx) { Curl_set_in_callback(data, true); result = (*data->set.ssl.fsslctx)(data, BACKEND->ctx, data->set.ssl.fsslctxp); Curl_set_in_callback(data, false); if(result) { failf(data, "error signaled by ssl ctx callback"); return result; } } /* Lets make an SSL structure */ |
︙ | ︙ | |||
2984 2985 2986 2987 2988 2989 2990 2991 | * (RST connection etc.), OpenSSL gives no explanation whatsoever and * the SO_ERROR is also lost. */ if(CURLE_SSL_CONNECT_ERROR == result && errdetail == 0) { const char * const hostname = SSL_IS_PROXY() ? conn->http_proxy.host.name : conn->host.name; const long int port = SSL_IS_PROXY() ? conn->port : conn->remote_port; failf(data, OSSL_PACKAGE " SSL_connect: %s in connection to %s:%ld ", | > > > > > | | 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 | * (RST connection etc.), OpenSSL gives no explanation whatsoever and * the SO_ERROR is also lost. */ if(CURLE_SSL_CONNECT_ERROR == result && errdetail == 0) { const char * const hostname = SSL_IS_PROXY() ? conn->http_proxy.host.name : conn->host.name; const long int port = SSL_IS_PROXY() ? conn->port : conn->remote_port; char extramsg[80]=""; int sockerr = SOCKERRNO; if(sockerr && detail == SSL_ERROR_SYSCALL) Curl_strerror(sockerr, extramsg, sizeof(extramsg)); failf(data, OSSL_PACKAGE " SSL_connect: %s in connection to %s:%ld ", extramsg[0] ? extramsg : SSL_ERROR_to_str(detail), hostname, port); return result; } /* Could be a CERT problem */ failf(data, "%s", error_buffer); return result; |
︙ | ︙ | |||
3061 3062 3063 3064 3065 3066 3067 | #define push_certinfo(_label, _num) \ do { \ long info_len = BIO_get_mem_data(mem, &ptr); \ Curl_ssl_push_certinfo_len(data, _num, _label, ptr, info_len); \ if(1 != BIO_reset(mem)) \ break; \ | | | 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 | #define push_certinfo(_label, _num) \ do { \ long info_len = BIO_get_mem_data(mem, &ptr); \ Curl_ssl_push_certinfo_len(data, _num, _label, ptr, info_len); \ if(1 != BIO_reset(mem)) \ break; \ } while(0) static void pubkey_show(struct Curl_easy *data, BIO *mem, int num, const char *type, const char *name, #ifdef HAVE_OPAQUE_RSA_DSA_DH |
︙ | ︙ | |||
3093 3094 3095 3096 3097 3098 3099 | #else #define print_pubkey_BN(_type, _name, _num) \ do { \ if(_type->_name) { \ pubkey_show(data, mem, _num, #_type, #_name, _type->_name); \ } \ | | | 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 | #else #define print_pubkey_BN(_type, _name, _num) \ do { \ if(_type->_name) { \ pubkey_show(data, mem, _num, #_type, #_name, _type->_name); \ } \ } while(0) #endif static int X509V3_ext(struct Curl_easy *data, int certnum, CONST_EXTS STACK_OF(X509_EXTENSION) *exts) { int i; |
︙ | ︙ | |||
3822 3823 3824 3825 3826 3827 3828 | case SSL_ERROR_WANT_WRITE: /* The operation did not complete; the same TLS/SSL I/O function should be called again later. This is basically an EWOULDBLOCK equivalent. */ *curlcode = CURLE_AGAIN; return -1; case SSL_ERROR_SYSCALL: | > > > > | > > > > > > | > | | > | 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 | case SSL_ERROR_WANT_WRITE: /* The operation did not complete; the same TLS/SSL I/O function should be called again later. This is basically an EWOULDBLOCK equivalent. */ *curlcode = CURLE_AGAIN; return -1; case SSL_ERROR_SYSCALL: { int sockerr = SOCKERRNO; sslerror = ERR_get_error(); if(sslerror) ossl_strerror(sslerror, error_buffer, sizeof(error_buffer)); else if(sockerr) Curl_strerror(sockerr, error_buffer, sizeof(error_buffer)); else { strncpy(error_buffer, SSL_ERROR_to_str(err), sizeof(error_buffer)); error_buffer[sizeof(error_buffer) - 1] = '\0'; } failf(conn->data, OSSL_PACKAGE " SSL_write: %s, errno %d", error_buffer, sockerr); *curlcode = CURLE_SEND_ERROR; return -1; } case SSL_ERROR_SSL: /* A failure in the SSL library occurred, usually a protocol error. The OpenSSL error queue contains more information on the error. */ sslerror = ERR_get_error(); if(ERR_GET_LIB(sslerror) == ERR_LIB_SSL && ERR_GET_REASON(sslerror) == SSL_R_BIO_NOT_SET && conn->ssl[sockindex].state == ssl_connection_complete && |
︙ | ︙ | |||
3890 3891 3892 3893 3894 3895 3896 | connclose(conn, "TLS close_notify"); break; case SSL_ERROR_WANT_READ: case SSL_ERROR_WANT_WRITE: /* there's data pending, re-invoke SSL_read() */ *curlcode = CURLE_AGAIN; return -1; | < < < < < | | | > > > | > > > > > > > > > > > > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | | 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 | connclose(conn, "TLS close_notify"); break; case SSL_ERROR_WANT_READ: case SSL_ERROR_WANT_WRITE: /* there's data pending, re-invoke SSL_read() */ *curlcode = CURLE_AGAIN; return -1; default: /* openssl/ssl.h for SSL_ERROR_SYSCALL says "look at error stack/return value/errno" */ /* https://www.openssl.org/docs/crypto/ERR_get_error.html */ sslerror = ERR_get_error(); if((nread < 0) || sslerror) { /* If the return code was negative or there actually is an error in the queue */ int sockerr = SOCKERRNO; if(sslerror) ossl_strerror(sslerror, error_buffer, sizeof(error_buffer)); else if(sockerr && err == SSL_ERROR_SYSCALL) Curl_strerror(sockerr, error_buffer, sizeof(error_buffer)); else { strncpy(error_buffer, SSL_ERROR_to_str(err), sizeof(error_buffer)); error_buffer[sizeof(error_buffer) - 1] = '\0'; } failf(conn->data, OSSL_PACKAGE " SSL_read: %s, errno %d", error_buffer, sockerr); *curlcode = CURLE_RECV_ERROR; return -1; } /* For debug builds be a little stricter and error on any SSL_ERROR_SYSCALL. For example a server may have closed the connection abruptly without a close_notify alert. For compatibility with older peers we don't do this by default. #4624 We can use this to gauge how many users may be affected, and if it goes ok eventually transition to allow in dev and release with the newest OpenSSL: #if (OPENSSL_VERSION_NUMBER >= 0x10101000L) */ #ifdef DEBUGBUILD if(err == SSL_ERROR_SYSCALL) { int sockerr = SOCKERRNO; if(sockerr) Curl_strerror(sockerr, error_buffer, sizeof(error_buffer)); else { msnprintf(error_buffer, sizeof(error_buffer), "Connection closed abruptly"); } failf(conn->data, OSSL_PACKAGE " SSL_read: %s, errno %d" " (Fatal because this is a curl debug build)", error_buffer, sockerr); *curlcode = CURLE_RECV_ERROR; return -1; } #endif } } return nread; } static size_t Curl_ossl_version(char *buffer, size_t size) { #ifdef LIBRESSL_VERSION_NUMBER #if LIBRESSL_VERSION_NUMBER < 0x2070100fL 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); #else /* OpenSSL_version() first appeared in LibreSSL 2.7.1 */ char *p; int count; const char *ver = OpenSSL_version(OPENSSL_VERSION); const char expected[] = OSSL_PACKAGE " "; /* ie "LibreSSL " */ if(Curl_strncasecompare(ver, expected, sizeof(expected) - 1)) { ver += sizeof(expected) - 1; } count = msnprintf(buffer, size, "%s/%s", OSSL_PACKAGE, ver); for(p = buffer; *p; ++p) { if(ISSPACE(*p)) *p = '_'; } return count; #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]; unsigned long ssleay_value; sub[2]='\0'; sub[1]='\0'; ssleay_value = OpenSSL_version_num(); if(ssleay_value < 0x906000) { |
︙ | ︙ |
Changes to jni/curl/lib/vtls/polarssl.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_POLARSSL_H #define HEADER_CURL_POLARSSL_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_POLARSSL_H #define HEADER_CURL_POLARSSL_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2012 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 2010, Hoi-Ho Chan, <hoiho.chan@gmail.com> * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell |
︙ | ︙ |
Changes to jni/curl/lib/vtls/polarssl_threadlock.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2013 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 2010, 2011, Hoi-Ho Chan, <hoiho.chan@gmail.com> * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell |
︙ | ︙ |
Changes to jni/curl/lib/vtls/polarssl_threadlock.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_POLARSSL_THREADLOCK_H #define HEADER_CURL_POLARSSL_THREADLOCK_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_POLARSSL_THREADLOCK_H #define HEADER_CURL_POLARSSL_THREADLOCK_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2013 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 2010, Hoi-Ho Chan, <hoiho.chan@gmail.com> * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell |
︙ | ︙ |
Changes to jni/curl/lib/vtls/schannel.c.
1 2 3 4 5 6 7 8 9 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2012 - 2016, Marc Hoersken, <info@marc-hoersken.de> * Copyright (C) 2012, Mark Salisbury, <mark.salisbury@hp.com> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2012 - 2016, Marc Hoersken, <info@marc-hoersken.de> * Copyright (C) 2012, Mark Salisbury, <mark.salisbury@hp.com> * Copyright (C) 2012 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
550 551 552 553 554 555 556 | "comparing the supplied target name with the subject " "names in server certificates.\n")); } switch(conn->ssl_config.version) { case CURL_SSLVERSION_DEFAULT: case CURL_SSLVERSION_TLSv1: | < < < < | 550 551 552 553 554 555 556 557 558 559 560 561 562 563 | "comparing the supplied target name with the subject " "names in server certificates.\n")); } switch(conn->ssl_config.version) { case CURL_SSLVERSION_DEFAULT: case CURL_SSLVERSION_TLSv1: 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(&schannel_cred, conn); if(result != CURLE_OK) |
︙ | ︙ | |||
1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 | BACKEND->encdata_is_incomplete = true; if(!*err) *err = CURLE_AGAIN; infof(data, "schannel: failed to decrypt data, need more data\n"); goto cleanup; } else { char buffer[STRERROR_LEN]; *err = CURLE_RECV_ERROR; infof(data, "schannel: failed to read data from server: %s\n", Curl_sspi_strerror(sspi_status, buffer, sizeof(buffer))); goto cleanup; } } | > > | 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 | BACKEND->encdata_is_incomplete = true; if(!*err) *err = CURLE_AGAIN; infof(data, "schannel: failed to decrypt data, need more data\n"); goto cleanup; } else { #ifndef CURL_DISABLE_VERBOSE_STRINGS char buffer[STRERROR_LEN]; #endif *err = CURLE_RECV_ERROR; infof(data, "schannel: failed to read data from server: %s\n", Curl_sspi_strerror(sspi_status, buffer, sizeof(buffer))); goto cleanup; } } |
︙ | ︙ |
Changes to jni/curl/lib/vtls/schannel_verify.c.
︙ | ︙ | |||
95 96 97 98 99 100 101 | size_t END_CERT_LEN; ca_file_tstr = Curl_convert_UTF8_to_tchar((char *)ca_file); if(!ca_file_tstr) { char buffer[STRERROR_LEN]; failf(data, "schannel: invalid path name for CA file '%s': %s", | > | > | > | | 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 | size_t END_CERT_LEN; ca_file_tstr = Curl_convert_UTF8_to_tchar((char *)ca_file); if(!ca_file_tstr) { char buffer[STRERROR_LEN]; failf(data, "schannel: invalid path name for CA file '%s': %s", ca_file, Curl_winapi_strerror(GetLastError(), buffer, sizeof(buffer))); result = CURLE_SSL_CACERT_BADFILE; goto cleanup; } /* * Read the CA file completely into memory before parsing it. This * optimizes for the common case where the CA file will be relatively * small ( < 1 MiB ). */ ca_file_handle = CreateFile(ca_file_tstr, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if(ca_file_handle == INVALID_HANDLE_VALUE) { char buffer[STRERROR_LEN]; failf(data, "schannel: failed to open CA file '%s': %s", ca_file, Curl_winapi_strerror(GetLastError(), buffer, sizeof(buffer))); result = CURLE_SSL_CACERT_BADFILE; goto cleanup; } if(!GetFileSizeEx(ca_file_handle, &file_size)) { char buffer[STRERROR_LEN]; failf(data, "schannel: failed to determine size of CA file '%s': %s", ca_file, Curl_winapi_strerror(GetLastError(), buffer, sizeof(buffer))); result = CURLE_SSL_CACERT_BADFILE; goto cleanup; } if(file_size.QuadPart > MAX_CAFILE_SIZE) { failf(data, "schannel: CA file exceeds max size of %u bytes", |
︙ | ︙ | |||
155 156 157 158 159 160 161 | DWORD bytes_read = 0; if(!ReadFile(ca_file_handle, ca_file_buffer + total_bytes_read, bytes_to_read, &bytes_read, NULL)) { char buffer[STRERROR_LEN]; failf(data, "schannel: failed to read from CA file '%s': %s", | > | | 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | DWORD bytes_read = 0; if(!ReadFile(ca_file_handle, ca_file_buffer + total_bytes_read, bytes_to_read, &bytes_read, NULL)) { char buffer[STRERROR_LEN]; failf(data, "schannel: failed to read from CA file '%s': %s", ca_file, Curl_winapi_strerror(GetLastError(), buffer, sizeof(buffer))); result = CURLE_SSL_CACERT_BADFILE; goto cleanup; } if(bytes_read == 0) { /* Premature EOF -- adjust the bufsize to the new value */ ca_file_bufsize = total_bytes_read; } |
︙ | ︙ | |||
219 220 221 222 223 224 225 | NULL, (const void **)&cert_context)) { char buffer[STRERROR_LEN]; failf(data, "schannel: failed to extract certificate from CA file " "'%s': %s", ca_file, | | | 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 | NULL, (const void **)&cert_context)) { char buffer[STRERROR_LEN]; failf(data, "schannel: failed to extract certificate from CA file " "'%s': %s", ca_file, Curl_winapi_strerror(GetLastError(), buffer, sizeof(buffer))); result = CURLE_SSL_CACERT_BADFILE; more_certs = 0; } else { current_ca_file_ptr = begin_cert_ptr + cert_size; /* Sanity check that the cert_context object is the right type */ |
︙ | ︙ | |||
248 249 250 251 252 253 254 | CertFreeCertificateContext(cert_context); if(!add_cert_result) { char buffer[STRERROR_LEN]; failf(data, "schannel: failed to add certificate from CA file '%s' " "to certificate store: %s", ca_file, | | > | 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 | CertFreeCertificateContext(cert_context); if(!add_cert_result) { char buffer[STRERROR_LEN]; failf(data, "schannel: failed to add certificate from CA file '%s' " "to certificate store: %s", ca_file, Curl_winapi_strerror(GetLastError(), buffer, sizeof(buffer))); result = CURLE_SSL_CACERT_BADFILE; more_certs = 0; } else { num_certs++; } } |
︙ | ︙ | |||
456 457 458 459 460 461 462 | 0, (HCRYPTPROV)NULL, CERT_STORE_CREATE_NEW_FLAG, NULL); if(!trust_store) { char buffer[STRERROR_LEN]; failf(data, "schannel: failed to create certificate store: %s", | | | 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 | 0, (HCRYPTPROV)NULL, CERT_STORE_CREATE_NEW_FLAG, NULL); if(!trust_store) { char buffer[STRERROR_LEN]; failf(data, "schannel: failed to create certificate store: %s", Curl_winapi_strerror(GetLastError(), buffer, sizeof(buffer))); result = CURLE_SSL_CACERT_BADFILE; } else { result = add_certs_to_store(trust_store, SSL_CONN_CONFIG(CAfile), conn); } } |
︙ | ︙ | |||
485 486 487 488 489 490 491 | create_engine_result = CertCreateCertificateChainEngine( (CERT_CHAIN_ENGINE_CONFIG *)&engine_config, &cert_chain_engine); if(!create_engine_result) { char buffer[STRERROR_LEN]; failf(data, "schannel: failed to create certificate chain engine: %s", | | | 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 | create_engine_result = CertCreateCertificateChainEngine( (CERT_CHAIN_ENGINE_CONFIG *)&engine_config, &cert_chain_engine); if(!create_engine_result) { char buffer[STRERROR_LEN]; failf(data, "schannel: failed to create certificate chain engine: %s", Curl_winapi_strerror(GetLastError(), buffer, sizeof(buffer))); result = CURLE_SSL_CACERT_BADFILE; } } } if(result == CURLE_OK) { CERT_CHAIN_PARA ChainPara; |
︙ | ︙ | |||
508 509 510 511 512 513 514 | &ChainPara, (data->set.ssl.no_revoke ? 0 : CERT_CHAIN_REVOCATION_CHECK_CHAIN), NULL, &pChainContext)) { char buffer[STRERROR_LEN]; failf(data, "schannel: CertGetCertificateChain failed: %s", | | | 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 | &ChainPara, (data->set.ssl.no_revoke ? 0 : CERT_CHAIN_REVOCATION_CHECK_CHAIN), NULL, &pChainContext)) { char buffer[STRERROR_LEN]; failf(data, "schannel: CertGetCertificateChain failed: %s", Curl_winapi_strerror(GetLastError(), buffer, sizeof(buffer))); pChainContext = NULL; result = CURLE_PEER_FAILED_VERIFICATION; } if(result == CURLE_OK) { CERT_SIMPLE_CHAIN *pSimpleChain = pChainContext->rgpChain[0]; DWORD dwTrustErrorMask = ~(DWORD)(CERT_TRUST_IS_NOT_TIME_NESTED); |
︙ | ︙ |
Changes to jni/curl/lib/vtls/vtls.c.
︙ | ︙ | |||
513 514 515 516 517 518 519 | } Curl_ssl->close_all(data); } #if defined(USE_OPENSSL) || defined(USE_GNUTLS) || defined(USE_SCHANNEL) || \ defined(USE_SECTRANSP) || defined(USE_POLARSSL) || defined(USE_NSS) || \ | | | 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 | } Curl_ssl->close_all(data); } #if defined(USE_OPENSSL) || defined(USE_GNUTLS) || defined(USE_SCHANNEL) || \ defined(USE_SECTRANSP) || defined(USE_POLARSSL) || defined(USE_NSS) || \ defined(USE_MBEDTLS) || defined(USE_WOLFSSL) || defined(USE_BEARSSL) int Curl_ssl_getsock(struct connectdata *conn, curl_socket_t *socks) { struct ssl_connect_data *connssl = &conn->ssl[FIRSTSOCKET]; if(connssl->connecting_state == ssl_connect_2_writing) { /* write mode */ socks[0] = conn->sock[FIRSTSOCKET]; |
︙ | ︙ | |||
1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 | &Curl_ssl_openssl; #elif defined(USE_POLARSSL) &Curl_ssl_polarssl; #elif defined(USE_SCHANNEL) &Curl_ssl_schannel; #elif defined(USE_MESALINK) &Curl_ssl_mesalink; #else #error "Missing struct Curl_ssl for selected SSL backend" #endif static const struct Curl_ssl *available_backends[] = { #if defined(USE_WOLFSSL) &Curl_ssl_wolfssl, | > > | 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 | &Curl_ssl_openssl; #elif defined(USE_POLARSSL) &Curl_ssl_polarssl; #elif defined(USE_SCHANNEL) &Curl_ssl_schannel; #elif defined(USE_MESALINK) &Curl_ssl_mesalink; #elif defined(USE_BEARSSL) &Curl_ssl_bearssl; #else #error "Missing struct Curl_ssl for selected SSL backend" #endif static const struct Curl_ssl *available_backends[] = { #if defined(USE_WOLFSSL) &Curl_ssl_wolfssl, |
︙ | ︙ | |||
1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 | &Curl_ssl_polarssl, #endif #if defined(USE_SCHANNEL) &Curl_ssl_schannel, #endif #if defined(USE_MESALINK) &Curl_ssl_mesalink, #endif NULL }; static size_t Curl_multissl_version(char *buffer, size_t size) { static const struct Curl_ssl *selected; | > > > | 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 | &Curl_ssl_polarssl, #endif #if defined(USE_SCHANNEL) &Curl_ssl_schannel, #endif #if defined(USE_MESALINK) &Curl_ssl_mesalink, #endif #if defined(USE_BEARSSL) &Curl_ssl_bearssl, #endif NULL }; static size_t Curl_multissl_version(char *buffer, size_t size) { static const struct Curl_ssl *selected; |
︙ | ︙ |
Changes to jni/curl/lib/vtls/vtls.h.
︙ | ︙ | |||
104 105 106 107 108 109 110 111 112 113 114 115 116 117 | #include "gskit.h" /* Global Secure ToolKit versions */ #include "polarssl.h" /* PolarSSL versions */ #include "wolfssl.h" /* wolfSSL versions */ #include "schannel.h" /* Schannel SSPI version */ #include "sectransp.h" /* SecureTransport (Darwin) version */ #include "mbedtls.h" /* mbedTLS versions */ #include "mesalink.h" /* MesaLink versions */ #ifndef MAX_PINNED_PUBKEY_SIZE #define MAX_PINNED_PUBKEY_SIZE 1048576 /* 1MB */ #endif #ifndef MD5_DIGEST_LENGTH #ifndef LIBWOLFSSL_VERSION_HEX /* because WolfSSL borks this */ | > | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | #include "gskit.h" /* Global Secure ToolKit versions */ #include "polarssl.h" /* PolarSSL versions */ #include "wolfssl.h" /* wolfSSL versions */ #include "schannel.h" /* Schannel SSPI version */ #include "sectransp.h" /* SecureTransport (Darwin) version */ #include "mbedtls.h" /* mbedTLS versions */ #include "mesalink.h" /* MesaLink versions */ #include "bearssl.h" /* BearSSL versions */ #ifndef MAX_PINNED_PUBKEY_SIZE #define MAX_PINNED_PUBKEY_SIZE 1048576 /* 1MB */ #endif #ifndef MD5_DIGEST_LENGTH #ifndef LIBWOLFSSL_VERSION_HEX /* because WolfSSL borks this */ |
︙ | ︙ |
Changes to jni/curl/packages/Makefile.in.
︙ | ︙ | |||
317 318 319 320 321 322 323 324 325 326 327 328 329 330 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ | > | 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_BEARSSL = @USE_BEARSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ |
︙ | ︙ |
Changes to jni/curl/packages/OS400/curl.inc.in.
︙ | ︙ | |||
592 593 594 595 596 597 598 599 600 601 602 603 604 605 | d c 89 d CURLE_SSL_PINNEDPUBKEYNOTMATCH... d c 90 d CURLE_SSL_INVALIDCERTSTATUS... d c 91 d CURLE_HTTP2_STREAM... d c 92 * /if not defined(CURL_NO_OLDIES) d CURLE_URL_MALFORMAT_USER... d c 4 d CURLE_FTP_ACCESS_DENIED... d c 9 d CURLE_FTP_USER_PASSWORD_INCORRECT... | > > > > > > | 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 | d c 89 d CURLE_SSL_PINNEDPUBKEYNOTMATCH... d c 90 d CURLE_SSL_INVALIDCERTSTATUS... d c 91 d CURLE_HTTP2_STREAM... d c 92 d CURLE_RECURSIVE_API_CALL... d c 93 d CURLE_AUTH_ERROR... d c 94 d CURLE_HTTP3... d c 95 * /if not defined(CURL_NO_OLDIES) d CURLE_URL_MALFORMAT_USER... d c 4 d CURLE_FTP_ACCESS_DENIED... d c 9 d CURLE_FTP_USER_PASSWORD_INCORRECT... |
︙ | ︙ | |||
756 757 758 759 760 761 762 763 764 765 766 767 768 769 | d CURLUSESSL_ALL... d c 3 * d CURLSSLOPT_ALLOW_BEAST... d c X'0001' d CURLSSLOPT_NO_REVOKE... d c X'0002' * d CURL_HET_DEFAULT... d c 200 * d CURL_UPKEEP_INTERVAL_DEFAULT... d c 60000 * | > > | 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 | d CURLUSESSL_ALL... d c 3 * d CURLSSLOPT_ALLOW_BEAST... d c X'0001' d CURLSSLOPT_NO_REVOKE... d c X'0002' d CURLSSLOPT_NO_PARTIALCHAIN... d c X'0004' * d CURL_HET_DEFAULT... d c 200 * d CURL_UPKEEP_INTERVAL_DEFAULT... d c 60000 * |
︙ | ︙ | |||
1800 1801 1802 1803 1804 1805 1806 | d c 4 d CURLM_BAD_SOCKET... d c 5 d CURLM_UNKNOWN_OPTION... d c 6 d CURLM_ADDED_ALREADY... d c 7 | > > > > | | 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 | d c 4 d CURLM_BAD_SOCKET... d c 5 d CURLM_UNKNOWN_OPTION... d c 6 d CURLM_ADDED_ALREADY... d c 7 d CURLM_RECURSIVE_API_CALL... d c 8 d CURLM_WAKEUP_FAILURE... d c 9 d CURLM_LAST c 10 * d CURLMSG s 10i 0 based(######ptr######) Enum d CURLMSG_NONE c 0 d CURLMSG_DONE c 1 * d CURLMoption s 10i 0 based(######ptr######) Enum d CURLMOPT_SOCKETFUNCTION... |
︙ | ︙ |
Changes to jni/curl/packages/vms/Makefile.in.
︙ | ︙ | |||
257 258 259 260 261 262 263 264 265 266 267 268 269 270 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ | > | 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_BEARSSL = @USE_BEARSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ |
︙ | ︙ |
Changes to jni/curl/packages/vms/config_h.com.
︙ | ︙ | |||
796 797 798 799 800 801 802 | $ endif $! $ if key2 .eqs. "HAVE_LIBDL" $ then $ write tf "#ifndef ''key2'" $ write tf "#define ''key2' 1" $ write tf "#endif" | < < < < < < < < < < < < < < < < < < < < < < | 796 797 798 799 800 801 802 803 804 805 806 807 808 809 | $ endif $! $ if key2 .eqs. "HAVE_LIBDL" $ 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. - |
︙ | ︙ |
Changes to jni/curl/packages/vms/generate_config_vms_h_curl.com.
︙ | ︙ | |||
321 322 323 324 325 326 327 | $write cvh "#undef CURL_DISABLE_VERBOSE_STRINGS" $write cvh "#endif" $! $! configure defaults to USE_*, a real configure on VMS chooses different. $write cvh "#ifdef USE_ARES" $write cvh "#undef USE_ARES" $write cvh "#endif" | | | | 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 | $write cvh "#undef CURL_DISABLE_VERBOSE_STRINGS" $write cvh "#endif" $! $! configure defaults to USE_*, a real configure on VMS chooses different. $write cvh "#ifdef USE_ARES" $write cvh "#undef USE_ARES" $write cvh "#endif" $write cvh "#ifdef USE_WOLFSSL" $write cvh "#undef USE_WOLFSSL" $write cvh "#endif" $write cvh "#ifdef USE_GNUTLS" $write cvh "#undef USE_GNUTLS" $write cvh "#endif" $write cvh "#ifdef USE_GNUTLS_NETTLE" $write cvh "#undef USE_GNUTLS_NETTLE" $write cvh "#endif" |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC10/curl-all.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC10/lib/libcurl.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC10/lib/libcurl.vcxproj.
︙ | ︙ | |||
892 893 894 895 896 897 898 | <TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName> <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 | <TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName> <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WOLFSSL;USE_IPV6;WOLFSSL_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <MinimalRebuild>true</MinimalRebuild> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <WarningLevel>Level4</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <ResourceCompile> |
︙ | ︙ | |||
959 960 961 962 963 964 965 | <TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName> <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 | <TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName> <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WOLFSSL;USE_IPV6;WOLFSSL_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <MinimalRebuild>true</MinimalRebuild> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <WarningLevel>Level4</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <ResourceCompile> |
︙ | ︙ | |||
1025 1026 1027 1028 1029 1030 1031 | <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 | <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>NDEBUG;BUILDING_LIBCURL;USE_WOLFSSL;USE_IPV6;WOLFSSL_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level4</WarningLevel> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
1090 1091 1092 1093 1094 1095 1096 | <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 | <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>NDEBUG;BUILDING_LIBCURL;USE_WOLFSSL;USE_IPV6;WOLFSSL_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level4</WarningLevel> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
1134 1135 1136 1137 1138 1139 1140 | <TargetMachine>MachineX86</TargetMachine> </Lib> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Debug - LIB wolfSSL|Win32'"> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 | <TargetMachine>MachineX86</TargetMachine> </Lib> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Debug - LIB wolfSSL|Win32'"> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WOLFSSL;USE_IPV6;%(PreprocessorDefinitions)</PreprocessorDefinitions> <MinimalRebuild>true</MinimalRebuild> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <WarningLevel>Level4</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <ResourceCompile> |
︙ | ︙ | |||
1180 1181 1182 1183 1184 1185 1186 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Debug - LIB wolfSSL|x64'"> <Midl> <TargetEnvironment>X64</TargetEnvironment> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Debug - LIB wolfSSL|x64'"> <Midl> <TargetEnvironment>X64</TargetEnvironment> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WOLFSSL;USE_IPV6;%(PreprocessorDefinitions)</PreprocessorDefinitions> <MinimalRebuild>true</MinimalRebuild> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <WarningLevel>Level4</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <ResourceCompile> |
︙ | ︙ | |||
1221 1222 1223 1224 1225 1226 1227 | </Lib> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Release - LIB wolfSSL|Win32'"> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 | </Lib> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Release - LIB wolfSSL|Win32'"> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WOLFSSL;USE_IPV6;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level4</WarningLevel> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
1267 1268 1269 1270 1271 1272 1273 | <Midl> <TargetEnvironment>X64</TargetEnvironment> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 | <Midl> <TargetEnvironment>X64</TargetEnvironment> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WOLFSSL;USE_IPV6;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level4</WarningLevel> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 | <ClCompile Include="..\..\..\..\lib\vauth\krb5_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\oauth2.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\vauth.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gskit.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mbedtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mesalink.c" /> <ClCompile Include="..\..\..\..\lib\vtls\nss.c" /> <ClCompile Include="..\..\..\..\lib\vtls\openssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\polarssl.c" /> | > > > > > | 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 | <ClCompile Include="..\..\..\..\lib\vauth\krb5_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\oauth2.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\vauth.c" /> <ClCompile Include="..\..\..\..\lib\vquic\ngtcp2.c" /> <ClCompile Include="..\..\..\..\lib\vquic\quiche.c" /> <ClCompile Include="..\..\..\..\lib\vssh\libssh2.c" /> <ClCompile Include="..\..\..\..\lib\vssh\libssh.c" /> <ClCompile Include="..\..\..\..\lib\vtls\bearssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gskit.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mbedtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mesalink.c" /> <ClCompile Include="..\..\..\..\lib\vtls\nss.c" /> <ClCompile Include="..\..\..\..\lib\vtls\openssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\polarssl.c" /> |
︙ | ︙ | |||
2552 2553 2554 2555 2556 2557 2558 | <ClInclude Include="..\..\..\..\lib\smb.h" /> <ClInclude Include="..\..\..\..\lib\smtp.h" /> <ClInclude Include="..\..\..\..\lib\sockaddr.h" /> <ClInclude Include="..\..\..\..\lib\socketpair.h" /> <ClInclude Include="..\..\..\..\lib\socks.h" /> <ClInclude Include="..\..\..\..\lib\speedcheck.h" /> <ClInclude Include="..\..\..\..\lib\splay.h" /> | < > > > > | 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 | <ClInclude Include="..\..\..\..\lib\smb.h" /> <ClInclude Include="..\..\..\..\lib\smtp.h" /> <ClInclude Include="..\..\..\..\lib\sockaddr.h" /> <ClInclude Include="..\..\..\..\lib\socketpair.h" /> <ClInclude Include="..\..\..\..\lib\socks.h" /> <ClInclude Include="..\..\..\..\lib\speedcheck.h" /> <ClInclude Include="..\..\..\..\lib\splay.h" /> <ClInclude Include="..\..\..\..\lib\strcase.h" /> <ClInclude Include="..\..\..\..\lib\strdup.h" /> <ClInclude Include="..\..\..\..\lib\strerror.h" /> <ClInclude Include="..\..\..\..\lib\strtok.h" /> <ClInclude Include="..\..\..\..\lib\strtoofft.h" /> <ClInclude Include="..\..\..\..\lib\system_win32.h" /> <ClInclude Include="..\..\..\..\lib\telnet.h" /> <ClInclude Include="..\..\..\..\lib\tftp.h" /> <ClInclude Include="..\..\..\..\lib\timeval.h" /> <ClInclude Include="..\..\..\..\lib\transfer.h" /> <ClInclude Include="..\..\..\..\lib\urlapi-int.h" /> <ClInclude Include="..\..\..\..\lib\urldata.h" /> <ClInclude Include="..\..\..\..\lib\url.h" /> <ClInclude Include="..\..\..\..\lib\warnless.h" /> <ClInclude Include="..\..\..\..\lib\wildcard.h" /> <ClInclude Include="..\..\..\..\lib\x509asn1.h" /> <ClInclude Include="..\..\..\..\lib\vauth\digest.h" /> <ClInclude Include="..\..\..\..\lib\vauth\ntlm.h" /> <ClInclude Include="..\..\..\..\lib\vauth\vauth.h" /> <ClInclude Include="..\..\..\..\lib\vquic\ngtcp2.h" /> <ClInclude Include="..\..\..\..\lib\vquic\quiche.h" /> <ClInclude Include="..\..\..\..\lib\vssh\ssh.h" /> <ClInclude Include="..\..\..\..\lib\vtls\bearssl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\gskit.h" /> <ClInclude Include="..\..\..\..\lib\vtls\gtls.h" /> <ClInclude Include="..\..\..\..\lib\vtls\mbedtls.h" /> <ClInclude Include="..\..\..\..\lib\vtls\mesalink.h" /> <ClInclude Include="..\..\..\..\lib\vtls\nssg.h" /> <ClInclude Include="..\..\..\..\lib\vtls\openssl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\polarssl.h" /> |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC10/src/curl.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC11/curl-all.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC11/lib/libcurl.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC11/lib/libcurl.vcxproj.
︙ | ︙ | |||
948 949 950 951 952 953 954 | <TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName> <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 | <TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName> <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WOLFSSL;USE_IPV6;WOLFSSL_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <MinimalRebuild>true</MinimalRebuild> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <WarningLevel>Level4</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <ResourceCompile> |
︙ | ︙ | |||
1015 1016 1017 1018 1019 1020 1021 | <TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName> <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 | <TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName> <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WOLFSSL;USE_IPV6;WOLFSSL_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <MinimalRebuild>true</MinimalRebuild> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <WarningLevel>Level4</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <ResourceCompile> |
︙ | ︙ | |||
1081 1082 1083 1084 1085 1086 1087 | <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 | <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>NDEBUG;BUILDING_LIBCURL;USE_WOLFSSL;USE_IPV6;WOLFSSL_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level4</WarningLevel> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
1146 1147 1148 1149 1150 1151 1152 | <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 | <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>NDEBUG;BUILDING_LIBCURL;USE_WOLFSSL;USE_IPV6;WOLFSSL_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level4</WarningLevel> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
1190 1191 1192 1193 1194 1195 1196 | <TargetMachine>MachineX86</TargetMachine> </Lib> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Debug - LIB wolfSSL|Win32'"> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 | <TargetMachine>MachineX86</TargetMachine> </Lib> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Debug - LIB wolfSSL|Win32'"> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WOLFSSL;USE_IPV6;%(PreprocessorDefinitions)</PreprocessorDefinitions> <MinimalRebuild>true</MinimalRebuild> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <WarningLevel>Level4</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <ResourceCompile> |
︙ | ︙ | |||
1236 1237 1238 1239 1240 1241 1242 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Debug - LIB wolfSSL|x64'"> <Midl> <TargetEnvironment>X64</TargetEnvironment> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Debug - LIB wolfSSL|x64'"> <Midl> <TargetEnvironment>X64</TargetEnvironment> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WOLFSSL;USE_IPV6;%(PreprocessorDefinitions)</PreprocessorDefinitions> <MinimalRebuild>true</MinimalRebuild> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <WarningLevel>Level4</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <ResourceCompile> |
︙ | ︙ | |||
1277 1278 1279 1280 1281 1282 1283 | </Lib> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Release - LIB wolfSSL|Win32'"> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 | </Lib> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Release - LIB wolfSSL|Win32'"> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WOLFSSL;USE_IPV6;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level4</WarningLevel> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
1323 1324 1325 1326 1327 1328 1329 | <Midl> <TargetEnvironment>X64</TargetEnvironment> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 | <Midl> <TargetEnvironment>X64</TargetEnvironment> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WOLFSSL;USE_IPV6;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level4</WarningLevel> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 | <ClCompile Include="..\..\..\..\lib\vauth\krb5_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\oauth2.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\vauth.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gskit.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mbedtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mesalink.c" /> <ClCompile Include="..\..\..\..\lib\vtls\nss.c" /> <ClCompile Include="..\..\..\..\lib\vtls\openssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\polarssl.c" /> | > > > > > | 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 | <ClCompile Include="..\..\..\..\lib\vauth\krb5_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\oauth2.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\vauth.c" /> <ClCompile Include="..\..\..\..\lib\vquic\ngtcp2.c" /> <ClCompile Include="..\..\..\..\lib\vquic\quiche.c" /> <ClCompile Include="..\..\..\..\lib\vssh\libssh2.c" /> <ClCompile Include="..\..\..\..\lib\vssh\libssh.c" /> <ClCompile Include="..\..\..\..\lib\vtls\bearssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gskit.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mbedtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mesalink.c" /> <ClCompile Include="..\..\..\..\lib\vtls\nss.c" /> <ClCompile Include="..\..\..\..\lib\vtls\openssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\polarssl.c" /> |
︙ | ︙ | |||
2608 2609 2610 2611 2612 2613 2614 | <ClInclude Include="..\..\..\..\lib\smb.h" /> <ClInclude Include="..\..\..\..\lib\smtp.h" /> <ClInclude Include="..\..\..\..\lib\sockaddr.h" /> <ClInclude Include="..\..\..\..\lib\socketpair.h" /> <ClInclude Include="..\..\..\..\lib\socks.h" /> <ClInclude Include="..\..\..\..\lib\speedcheck.h" /> <ClInclude Include="..\..\..\..\lib\splay.h" /> | < > > > > | 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 | <ClInclude Include="..\..\..\..\lib\smb.h" /> <ClInclude Include="..\..\..\..\lib\smtp.h" /> <ClInclude Include="..\..\..\..\lib\sockaddr.h" /> <ClInclude Include="..\..\..\..\lib\socketpair.h" /> <ClInclude Include="..\..\..\..\lib\socks.h" /> <ClInclude Include="..\..\..\..\lib\speedcheck.h" /> <ClInclude Include="..\..\..\..\lib\splay.h" /> <ClInclude Include="..\..\..\..\lib\strcase.h" /> <ClInclude Include="..\..\..\..\lib\strdup.h" /> <ClInclude Include="..\..\..\..\lib\strerror.h" /> <ClInclude Include="..\..\..\..\lib\strtok.h" /> <ClInclude Include="..\..\..\..\lib\strtoofft.h" /> <ClInclude Include="..\..\..\..\lib\system_win32.h" /> <ClInclude Include="..\..\..\..\lib\telnet.h" /> <ClInclude Include="..\..\..\..\lib\tftp.h" /> <ClInclude Include="..\..\..\..\lib\timeval.h" /> <ClInclude Include="..\..\..\..\lib\transfer.h" /> <ClInclude Include="..\..\..\..\lib\urlapi-int.h" /> <ClInclude Include="..\..\..\..\lib\urldata.h" /> <ClInclude Include="..\..\..\..\lib\url.h" /> <ClInclude Include="..\..\..\..\lib\warnless.h" /> <ClInclude Include="..\..\..\..\lib\wildcard.h" /> <ClInclude Include="..\..\..\..\lib\x509asn1.h" /> <ClInclude Include="..\..\..\..\lib\vauth\digest.h" /> <ClInclude Include="..\..\..\..\lib\vauth\ntlm.h" /> <ClInclude Include="..\..\..\..\lib\vauth\vauth.h" /> <ClInclude Include="..\..\..\..\lib\vquic\ngtcp2.h" /> <ClInclude Include="..\..\..\..\lib\vquic\quiche.h" /> <ClInclude Include="..\..\..\..\lib\vssh\ssh.h" /> <ClInclude Include="..\..\..\..\lib\vtls\bearssl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\gskit.h" /> <ClInclude Include="..\..\..\..\lib\vtls\gtls.h" /> <ClInclude Include="..\..\..\..\lib\vtls\mbedtls.h" /> <ClInclude Include="..\..\..\..\lib\vtls\mesalink.h" /> <ClInclude Include="..\..\..\..\lib\vtls\nssg.h" /> <ClInclude Include="..\..\..\..\lib\vtls\openssl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\polarssl.h" /> |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC11/src/curl.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC12/curl-all.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC12/lib/libcurl.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC12/lib/libcurl.vcxproj.
︙ | ︙ | |||
948 949 950 951 952 953 954 | <TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName> <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 | <TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName> <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WOLFSSL;USE_IPV6;WOLFSSL_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <MinimalRebuild>true</MinimalRebuild> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <WarningLevel>Level4</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <ResourceCompile> |
︙ | ︙ | |||
1015 1016 1017 1018 1019 1020 1021 | <TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName> <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 | <TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName> <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WOLFSSL;USE_IPV6;WOLFSSL_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <MinimalRebuild>true</MinimalRebuild> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <WarningLevel>Level4</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <ResourceCompile> |
︙ | ︙ | |||
1081 1082 1083 1084 1085 1086 1087 | <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 | <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>NDEBUG;BUILDING_LIBCURL;USE_WOLFSSL;USE_IPV6;WOLFSSL_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level4</WarningLevel> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
1146 1147 1148 1149 1150 1151 1152 | <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 | <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>NDEBUG;BUILDING_LIBCURL;USE_WOLFSSL;USE_IPV6;WOLFSSL_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level4</WarningLevel> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
1190 1191 1192 1193 1194 1195 1196 | <TargetMachine>MachineX86</TargetMachine> </Lib> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Debug - LIB wolfSSL|Win32'"> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 | <TargetMachine>MachineX86</TargetMachine> </Lib> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Debug - LIB wolfSSL|Win32'"> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WOLFSSL;USE_IPV6;%(PreprocessorDefinitions)</PreprocessorDefinitions> <MinimalRebuild>true</MinimalRebuild> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <WarningLevel>Level4</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <ResourceCompile> |
︙ | ︙ | |||
1236 1237 1238 1239 1240 1241 1242 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Debug - LIB wolfSSL|x64'"> <Midl> <TargetEnvironment>X64</TargetEnvironment> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Debug - LIB wolfSSL|x64'"> <Midl> <TargetEnvironment>X64</TargetEnvironment> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WOLFSSL;USE_IPV6;%(PreprocessorDefinitions)</PreprocessorDefinitions> <MinimalRebuild>true</MinimalRebuild> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <WarningLevel>Level4</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <ResourceCompile> |
︙ | ︙ | |||
1277 1278 1279 1280 1281 1282 1283 | </Lib> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Release - LIB wolfSSL|Win32'"> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 | </Lib> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Release - LIB wolfSSL|Win32'"> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WOLFSSL;USE_IPV6;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level4</WarningLevel> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
1323 1324 1325 1326 1327 1328 1329 | <Midl> <TargetEnvironment>X64</TargetEnvironment> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 | <Midl> <TargetEnvironment>X64</TargetEnvironment> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WOLFSSL;USE_IPV6;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level4</WarningLevel> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 | <ClCompile Include="..\..\..\..\lib\vauth\krb5_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\oauth2.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\vauth.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gskit.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mbedtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mesalink.c" /> <ClCompile Include="..\..\..\..\lib\vtls\nss.c" /> <ClCompile Include="..\..\..\..\lib\vtls\openssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\polarssl.c" /> | > > > > > | 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 | <ClCompile Include="..\..\..\..\lib\vauth\krb5_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\oauth2.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\vauth.c" /> <ClCompile Include="..\..\..\..\lib\vquic\ngtcp2.c" /> <ClCompile Include="..\..\..\..\lib\vquic\quiche.c" /> <ClCompile Include="..\..\..\..\lib\vssh\libssh2.c" /> <ClCompile Include="..\..\..\..\lib\vssh\libssh.c" /> <ClCompile Include="..\..\..\..\lib\vtls\bearssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gskit.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mbedtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mesalink.c" /> <ClCompile Include="..\..\..\..\lib\vtls\nss.c" /> <ClCompile Include="..\..\..\..\lib\vtls\openssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\polarssl.c" /> |
︙ | ︙ | |||
2608 2609 2610 2611 2612 2613 2614 | <ClInclude Include="..\..\..\..\lib\smb.h" /> <ClInclude Include="..\..\..\..\lib\smtp.h" /> <ClInclude Include="..\..\..\..\lib\sockaddr.h" /> <ClInclude Include="..\..\..\..\lib\socketpair.h" /> <ClInclude Include="..\..\..\..\lib\socks.h" /> <ClInclude Include="..\..\..\..\lib\speedcheck.h" /> <ClInclude Include="..\..\..\..\lib\splay.h" /> | < > > > > | 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 | <ClInclude Include="..\..\..\..\lib\smb.h" /> <ClInclude Include="..\..\..\..\lib\smtp.h" /> <ClInclude Include="..\..\..\..\lib\sockaddr.h" /> <ClInclude Include="..\..\..\..\lib\socketpair.h" /> <ClInclude Include="..\..\..\..\lib\socks.h" /> <ClInclude Include="..\..\..\..\lib\speedcheck.h" /> <ClInclude Include="..\..\..\..\lib\splay.h" /> <ClInclude Include="..\..\..\..\lib\strcase.h" /> <ClInclude Include="..\..\..\..\lib\strdup.h" /> <ClInclude Include="..\..\..\..\lib\strerror.h" /> <ClInclude Include="..\..\..\..\lib\strtok.h" /> <ClInclude Include="..\..\..\..\lib\strtoofft.h" /> <ClInclude Include="..\..\..\..\lib\system_win32.h" /> <ClInclude Include="..\..\..\..\lib\telnet.h" /> <ClInclude Include="..\..\..\..\lib\tftp.h" /> <ClInclude Include="..\..\..\..\lib\timeval.h" /> <ClInclude Include="..\..\..\..\lib\transfer.h" /> <ClInclude Include="..\..\..\..\lib\urlapi-int.h" /> <ClInclude Include="..\..\..\..\lib\urldata.h" /> <ClInclude Include="..\..\..\..\lib\url.h" /> <ClInclude Include="..\..\..\..\lib\warnless.h" /> <ClInclude Include="..\..\..\..\lib\wildcard.h" /> <ClInclude Include="..\..\..\..\lib\x509asn1.h" /> <ClInclude Include="..\..\..\..\lib\vauth\digest.h" /> <ClInclude Include="..\..\..\..\lib\vauth\ntlm.h" /> <ClInclude Include="..\..\..\..\lib\vauth\vauth.h" /> <ClInclude Include="..\..\..\..\lib\vquic\ngtcp2.h" /> <ClInclude Include="..\..\..\..\lib\vquic\quiche.h" /> <ClInclude Include="..\..\..\..\lib\vssh\ssh.h" /> <ClInclude Include="..\..\..\..\lib\vtls\bearssl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\gskit.h" /> <ClInclude Include="..\..\..\..\lib\vtls\gtls.h" /> <ClInclude Include="..\..\..\..\lib\vtls\mbedtls.h" /> <ClInclude Include="..\..\..\..\lib\vtls\mesalink.h" /> <ClInclude Include="..\..\..\..\lib\vtls\nssg.h" /> <ClInclude Include="..\..\..\..\lib\vtls\openssl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\polarssl.h" /> |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC12/src/curl.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC14/curl-all.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC14/lib/libcurl.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC14/lib/libcurl.vcxproj.
︙ | ︙ | |||
948 949 950 951 952 953 954 | <TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName> <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 | <TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName> <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WOLFSSL;USE_IPV6;WOLFSSL_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <MinimalRebuild>true</MinimalRebuild> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <WarningLevel>Level4</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <ResourceCompile> |
︙ | ︙ | |||
1015 1016 1017 1018 1019 1020 1021 | <TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName> <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 | <TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName> <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WOLFSSL;USE_IPV6;WOLFSSL_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <MinimalRebuild>true</MinimalRebuild> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <WarningLevel>Level4</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <ResourceCompile> |
︙ | ︙ | |||
1081 1082 1083 1084 1085 1086 1087 | <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 | <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>NDEBUG;BUILDING_LIBCURL;USE_WOLFSSL;USE_IPV6;WOLFSSL_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level4</WarningLevel> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
1146 1147 1148 1149 1150 1151 1152 | <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 | <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>NDEBUG;BUILDING_LIBCURL;USE_WOLFSSL;USE_IPV6;WOLFSSL_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level4</WarningLevel> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
1190 1191 1192 1193 1194 1195 1196 | <TargetMachine>MachineX86</TargetMachine> </Lib> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Debug - LIB wolfSSL|Win32'"> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 | <TargetMachine>MachineX86</TargetMachine> </Lib> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Debug - LIB wolfSSL|Win32'"> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WOLFSSL;USE_IPV6;%(PreprocessorDefinitions)</PreprocessorDefinitions> <MinimalRebuild>true</MinimalRebuild> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <WarningLevel>Level4</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <ResourceCompile> |
︙ | ︙ | |||
1236 1237 1238 1239 1240 1241 1242 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Debug - LIB wolfSSL|x64'"> <Midl> <TargetEnvironment>X64</TargetEnvironment> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Debug - LIB wolfSSL|x64'"> <Midl> <TargetEnvironment>X64</TargetEnvironment> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WOLFSSL;USE_IPV6;%(PreprocessorDefinitions)</PreprocessorDefinitions> <MinimalRebuild>true</MinimalRebuild> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <WarningLevel>Level4</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <ResourceCompile> |
︙ | ︙ | |||
1277 1278 1279 1280 1281 1282 1283 | </Lib> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Release - LIB wolfSSL|Win32'"> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 | </Lib> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Release - LIB wolfSSL|Win32'"> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WOLFSSL;USE_IPV6;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level4</WarningLevel> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
1323 1324 1325 1326 1327 1328 1329 | <Midl> <TargetEnvironment>X64</TargetEnvironment> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 | <Midl> <TargetEnvironment>X64</TargetEnvironment> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WOLFSSL;USE_IPV6;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level4</WarningLevel> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 | <ClCompile Include="..\..\..\..\lib\vauth\krb5_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\oauth2.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\vauth.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gskit.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mbedtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mesalink.c" /> <ClCompile Include="..\..\..\..\lib\vtls\nss.c" /> <ClCompile Include="..\..\..\..\lib\vtls\openssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\polarssl.c" /> | > > > > > | 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 | <ClCompile Include="..\..\..\..\lib\vauth\krb5_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\oauth2.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\vauth.c" /> <ClCompile Include="..\..\..\..\lib\vquic\ngtcp2.c" /> <ClCompile Include="..\..\..\..\lib\vquic\quiche.c" /> <ClCompile Include="..\..\..\..\lib\vssh\libssh2.c" /> <ClCompile Include="..\..\..\..\lib\vssh\libssh.c" /> <ClCompile Include="..\..\..\..\lib\vtls\bearssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gskit.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mbedtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mesalink.c" /> <ClCompile Include="..\..\..\..\lib\vtls\nss.c" /> <ClCompile Include="..\..\..\..\lib\vtls\openssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\polarssl.c" /> |
︙ | ︙ | |||
2608 2609 2610 2611 2612 2613 2614 | <ClInclude Include="..\..\..\..\lib\smb.h" /> <ClInclude Include="..\..\..\..\lib\smtp.h" /> <ClInclude Include="..\..\..\..\lib\sockaddr.h" /> <ClInclude Include="..\..\..\..\lib\socketpair.h" /> <ClInclude Include="..\..\..\..\lib\socks.h" /> <ClInclude Include="..\..\..\..\lib\speedcheck.h" /> <ClInclude Include="..\..\..\..\lib\splay.h" /> | < > > > > | 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 | <ClInclude Include="..\..\..\..\lib\smb.h" /> <ClInclude Include="..\..\..\..\lib\smtp.h" /> <ClInclude Include="..\..\..\..\lib\sockaddr.h" /> <ClInclude Include="..\..\..\..\lib\socketpair.h" /> <ClInclude Include="..\..\..\..\lib\socks.h" /> <ClInclude Include="..\..\..\..\lib\speedcheck.h" /> <ClInclude Include="..\..\..\..\lib\splay.h" /> <ClInclude Include="..\..\..\..\lib\strcase.h" /> <ClInclude Include="..\..\..\..\lib\strdup.h" /> <ClInclude Include="..\..\..\..\lib\strerror.h" /> <ClInclude Include="..\..\..\..\lib\strtok.h" /> <ClInclude Include="..\..\..\..\lib\strtoofft.h" /> <ClInclude Include="..\..\..\..\lib\system_win32.h" /> <ClInclude Include="..\..\..\..\lib\telnet.h" /> <ClInclude Include="..\..\..\..\lib\tftp.h" /> <ClInclude Include="..\..\..\..\lib\timeval.h" /> <ClInclude Include="..\..\..\..\lib\transfer.h" /> <ClInclude Include="..\..\..\..\lib\urlapi-int.h" /> <ClInclude Include="..\..\..\..\lib\urldata.h" /> <ClInclude Include="..\..\..\..\lib\url.h" /> <ClInclude Include="..\..\..\..\lib\warnless.h" /> <ClInclude Include="..\..\..\..\lib\wildcard.h" /> <ClInclude Include="..\..\..\..\lib\x509asn1.h" /> <ClInclude Include="..\..\..\..\lib\vauth\digest.h" /> <ClInclude Include="..\..\..\..\lib\vauth\ntlm.h" /> <ClInclude Include="..\..\..\..\lib\vauth\vauth.h" /> <ClInclude Include="..\..\..\..\lib\vquic\ngtcp2.h" /> <ClInclude Include="..\..\..\..\lib\vquic\quiche.h" /> <ClInclude Include="..\..\..\..\lib\vssh\ssh.h" /> <ClInclude Include="..\..\..\..\lib\vtls\bearssl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\gskit.h" /> <ClInclude Include="..\..\..\..\lib\vtls\gtls.h" /> <ClInclude Include="..\..\..\..\lib\vtls\mbedtls.h" /> <ClInclude Include="..\..\..\..\lib\vtls\mesalink.h" /> <ClInclude Include="..\..\..\..\lib\vtls\nssg.h" /> <ClInclude Include="..\..\..\..\lib\vtls\openssl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\polarssl.h" /> |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC14/src/curl.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC15/lib/libcurl.vcxproj.
︙ | ︙ | |||
947 948 949 950 951 952 953 | <TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName> <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 | <TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName> <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WOLFSSL;USE_IPV6;WOLFSSL_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <WarningLevel>Level4</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
1012 1013 1014 1015 1016 1017 1018 | <TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName> <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 | <TypeLibraryName>$(OutDir)$(ProjectName).tlb</TypeLibraryName> <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WOLFSSL;USE_IPV6;WOLFSSL_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <WarningLevel>Level4</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
1077 1078 1079 1080 1081 1082 1083 | <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 | <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>NDEBUG;BUILDING_LIBCURL;USE_WOLFSSL;USE_IPV6;WOLFSSL_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level4</WarningLevel> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
1142 1143 1144 1145 1146 1147 1148 | <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 | <HeaderFileName> </HeaderFileName> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>NDEBUG;BUILDING_LIBCURL;USE_WOLFSSL;USE_IPV6;WOLFSSL_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level4</WarningLevel> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
1185 1186 1187 1188 1189 1190 1191 | <TargetMachine>MachineX86</TargetMachine> </Lib> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Debug - LIB wolfSSL|Win32'"> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 | <TargetMachine>MachineX86</TargetMachine> </Lib> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Debug - LIB wolfSSL|Win32'"> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WOLFSSL;USE_IPV6;%(PreprocessorDefinitions)</PreprocessorDefinitions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <WarningLevel>Level4</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
1229 1230 1231 1232 1233 1234 1235 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Debug - LIB wolfSSL|x64'"> <Midl> <TargetEnvironment>X64</TargetEnvironment> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Debug - LIB wolfSSL|x64'"> <Midl> <TargetEnvironment>X64</TargetEnvironment> </Midl> <ClCompile> <Optimization>Disabled</Optimization> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WOLFSSL;USE_IPV6;%(PreprocessorDefinitions)</PreprocessorDefinitions> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <WarningLevel>Level4</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
1269 1270 1271 1272 1273 1274 1275 | </Lib> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Release - LIB wolfSSL|Win32'"> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 | </Lib> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='LIB Release - LIB wolfSSL|Win32'"> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WOLFSSL;USE_IPV6;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level4</WarningLevel> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
1315 1316 1317 1318 1319 1320 1321 | <Midl> <TargetEnvironment>X64</TargetEnvironment> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | | | 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 | <Midl> <TargetEnvironment>X64</TargetEnvironment> </Midl> <ClCompile> <Optimization>MaxSpeed</Optimization> <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> <AdditionalIncludeDirectories>..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WOLFSSL;USE_IPV6;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <FunctionLevelLinking>true</FunctionLevelLinking> <WarningLevel>Level4</WarningLevel> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
︙ | ︙ | |||
2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 | <ClCompile Include="..\..\..\..\lib\vauth\krb5_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\oauth2.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\vauth.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gskit.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mbedtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mesalink.c" /> <ClCompile Include="..\..\..\..\lib\vtls\nss.c" /> <ClCompile Include="..\..\..\..\lib\vtls\openssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\polarssl.c" /> | > > > > > | 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 | <ClCompile Include="..\..\..\..\lib\vauth\krb5_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm.c" /> <ClCompile Include="..\..\..\..\lib\vauth\ntlm_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\oauth2.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_gssapi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\spnego_sspi.c" /> <ClCompile Include="..\..\..\..\lib\vauth\vauth.c" /> <ClCompile Include="..\..\..\..\lib\vquic\ngtcp2.c" /> <ClCompile Include="..\..\..\..\lib\vquic\quiche.c" /> <ClCompile Include="..\..\..\..\lib\vssh\libssh2.c" /> <ClCompile Include="..\..\..\..\lib\vssh\libssh.c" /> <ClCompile Include="..\..\..\..\lib\vtls\bearssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gskit.c" /> <ClCompile Include="..\..\..\..\lib\vtls\gtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mbedtls.c" /> <ClCompile Include="..\..\..\..\lib\vtls\mesalink.c" /> <ClCompile Include="..\..\..\..\lib\vtls\nss.c" /> <ClCompile Include="..\..\..\..\lib\vtls\openssl.c" /> <ClCompile Include="..\..\..\..\lib\vtls\polarssl.c" /> |
︙ | ︙ | |||
2580 2581 2582 2583 2584 2585 2586 | <ClInclude Include="..\..\..\..\lib\smb.h" /> <ClInclude Include="..\..\..\..\lib\smtp.h" /> <ClInclude Include="..\..\..\..\lib\sockaddr.h" /> <ClInclude Include="..\..\..\..\lib\socketpair.h" /> <ClInclude Include="..\..\..\..\lib\socks.h" /> <ClInclude Include="..\..\..\..\lib\speedcheck.h" /> <ClInclude Include="..\..\..\..\lib\splay.h" /> | < > > > > | 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 | <ClInclude Include="..\..\..\..\lib\smb.h" /> <ClInclude Include="..\..\..\..\lib\smtp.h" /> <ClInclude Include="..\..\..\..\lib\sockaddr.h" /> <ClInclude Include="..\..\..\..\lib\socketpair.h" /> <ClInclude Include="..\..\..\..\lib\socks.h" /> <ClInclude Include="..\..\..\..\lib\speedcheck.h" /> <ClInclude Include="..\..\..\..\lib\splay.h" /> <ClInclude Include="..\..\..\..\lib\strcase.h" /> <ClInclude Include="..\..\..\..\lib\strdup.h" /> <ClInclude Include="..\..\..\..\lib\strerror.h" /> <ClInclude Include="..\..\..\..\lib\strtok.h" /> <ClInclude Include="..\..\..\..\lib\strtoofft.h" /> <ClInclude Include="..\..\..\..\lib\system_win32.h" /> <ClInclude Include="..\..\..\..\lib\telnet.h" /> <ClInclude Include="..\..\..\..\lib\tftp.h" /> <ClInclude Include="..\..\..\..\lib\timeval.h" /> <ClInclude Include="..\..\..\..\lib\transfer.h" /> <ClInclude Include="..\..\..\..\lib\urlapi-int.h" /> <ClInclude Include="..\..\..\..\lib\urldata.h" /> <ClInclude Include="..\..\..\..\lib\url.h" /> <ClInclude Include="..\..\..\..\lib\warnless.h" /> <ClInclude Include="..\..\..\..\lib\wildcard.h" /> <ClInclude Include="..\..\..\..\lib\x509asn1.h" /> <ClInclude Include="..\..\..\..\lib\vauth\digest.h" /> <ClInclude Include="..\..\..\..\lib\vauth\ntlm.h" /> <ClInclude Include="..\..\..\..\lib\vauth\vauth.h" /> <ClInclude Include="..\..\..\..\lib\vquic\ngtcp2.h" /> <ClInclude Include="..\..\..\..\lib\vquic\quiche.h" /> <ClInclude Include="..\..\..\..\lib\vssh\ssh.h" /> <ClInclude Include="..\..\..\..\lib\vtls\bearssl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\gskit.h" /> <ClInclude Include="..\..\..\..\lib\vtls\gtls.h" /> <ClInclude Include="..\..\..\..\lib\vtls\mbedtls.h" /> <ClInclude Include="..\..\..\..\lib\vtls\mesalink.h" /> <ClInclude Include="..\..\..\..\lib\vtls\nssg.h" /> <ClInclude Include="..\..\..\..\lib\vtls\openssl.h" /> <ClInclude Include="..\..\..\..\lib\vtls\polarssl.h" /> |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC6/lib/libcurl.dsp.
︙ | ︙ | |||
1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 | SOURCE=..\..\..\..\lib\vauth\spnego_sspi.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vauth\vauth.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\gskit.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\gtls.c # End Source File | > > > > > > > > > > > > > > > > > > > > | 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 | SOURCE=..\..\..\..\lib\vauth\spnego_sspi.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vauth\vauth.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vquic\ngtcp2.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vquic\quiche.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vssh\libssh2.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vssh\libssh.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\bearssl.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\gskit.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\gtls.c # End Source File |
︙ | ︙ | |||
1654 1655 1656 1657 1658 1659 1660 | # End Source File # Begin Source File SOURCE=..\..\..\..\lib\splay.h # End Source File # Begin Source File | < < < < | 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 | # End Source File # Begin Source File SOURCE=..\..\..\..\lib\splay.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\strcase.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\strdup.h # End Source File # Begin Source File |
︙ | ︙ | |||
1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 | SOURCE=..\..\..\..\lib\vauth\ntlm.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vauth\vauth.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\gskit.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\gtls.h # End Source File | > > > > > > > > > > > > > > > > | 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 | SOURCE=..\..\..\..\lib\vauth\ntlm.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vauth\vauth.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vquic\ngtcp2.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vquic\quiche.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vssh\ssh.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\bearssl.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\gskit.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\gtls.h # End Source File |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC7.1/curl-all.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC7.1/lib/libcurl.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC7.1/lib/libcurl.vcproj.
︙ | ︙ | |||
1874 1875 1876 1877 1878 1879 1880 | <File RelativePath="..\..\..\..\lib\speedcheck.h"> </File> <File RelativePath="..\..\..\..\lib\splay.h"> </File> <File | < < < | 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 | <File RelativePath="..\..\..\..\lib\speedcheck.h"> </File> <File RelativePath="..\..\..\..\lib\splay.h"> </File> <File RelativePath="..\..\..\..\lib\strcase.h"> </File> <File RelativePath="..\..\..\..\lib\strdup.h"> </File> <File RelativePath="..\..\..\..\lib\strerror.h"> |
︙ | ︙ | |||
1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 | RelativePath="..\..\..\..\lib\vauth\ntlm.h"> </File> <File RelativePath="..\..\..\..\lib\vauth\vauth.h"> </File> </Filter> </Filter> <Filter Name="vtls" Filter=""> <Filter Name="Source Files" Filter=""> <File RelativePath="..\..\..\..\lib\vtls\gskit.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.c"> </File> <File | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | RelativePath="..\..\..\..\lib\vauth\ntlm.h"> </File> <File RelativePath="..\..\..\..\lib\vauth\vauth.h"> </File> </Filter> </Filter> <Filter Name="vquic" Filter=""> <Filter Name="Source Files" Filter=""> <File RelativePath="..\..\..\..\lib\vquic\ngtcp2.c"> </File> <File RelativePath="..\..\..\..\lib\vquic\quiche.c"> </File> </Filter> <Filter Name="Header Files" Filter=""> <File RelativePath="..\..\..\..\lib\vquic\ngtcp2.h"> </File> <File RelativePath="..\..\..\..\lib\vquic\quiche.h"> </File> </Filter> </Filter> <Filter Name="vssh" Filter=""> <Filter Name="Source Files" Filter=""> <File RelativePath="..\..\..\..\lib\vssh\libssh2.c"> </File> <File RelativePath="..\..\..\..\lib\vssh\libssh.c"> </File> </Filter> <Filter Name="Header Files" Filter=""> <File RelativePath="..\..\..\..\lib\vssh\ssh.h"> </File> </Filter> </Filter> <Filter Name="vtls" Filter=""> <Filter Name="Source Files" Filter=""> <File RelativePath="..\..\..\..\lib\vtls\bearssl.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\gskit.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.c"> </File> <File |
︙ | ︙ | |||
2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 | <File RelativePath="..\..\..\..\lib\vtls\wolfssl.c"> </File> </Filter> <Filter Name="Header Files" Filter=""> <File RelativePath="..\..\..\..\lib\vtls\gskit.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.h"> </File> <File | > > > | 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 | <File RelativePath="..\..\..\..\lib\vtls\wolfssl.c"> </File> </Filter> <Filter Name="Header Files" Filter=""> <File RelativePath="..\..\..\..\lib\vtls\bearssl.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\gskit.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.h"> </File> <File |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC7.1/src/curl.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC7/curl-all.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC7/lib/libcurl.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC7/lib/libcurl.vcproj.
︙ | ︙ | |||
1728 1729 1730 1731 1732 1733 1734 | <File RelativePath="..\..\..\..\lib\speedcheck.h"> </File> <File RelativePath="..\..\..\..\lib\splay.h"> </File> <File | < < < | 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 | <File RelativePath="..\..\..\..\lib\speedcheck.h"> </File> <File RelativePath="..\..\..\..\lib\splay.h"> </File> <File RelativePath="..\..\..\..\lib\strcase.h"> </File> <File RelativePath="..\..\..\..\lib\strdup.h"> </File> <File RelativePath="..\..\..\..\lib\strerror.h"> |
︙ | ︙ | |||
1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 | RelativePath="..\..\..\..\lib\vauth\ntlm.h"> </File> <File RelativePath="..\..\..\..\lib\vauth\vauth.h"> </File> </Filter> </Filter> <Filter Name="vtls" Filter=""> <Filter Name="Source Files" Filter=""> <File RelativePath="..\..\..\..\lib\vtls\gskit.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.c"> </File> <File | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | RelativePath="..\..\..\..\lib\vauth\ntlm.h"> </File> <File RelativePath="..\..\..\..\lib\vauth\vauth.h"> </File> </Filter> </Filter> <Filter Name="vquic" Filter=""> <Filter Name="Source Files" Filter=""> <File RelativePath="..\..\..\..\lib\vquic\ngtcp2.c"> </File> <File RelativePath="..\..\..\..\lib\vquic\quiche.c"> </File> </Filter> <Filter Name="Header Files" Filter=""> <File RelativePath="..\..\..\..\lib\vquic\ngtcp2.h"> </File> <File RelativePath="..\..\..\..\lib\vquic\quiche.h"> </File> </Filter> </Filter> <Filter Name="vssh" Filter=""> <Filter Name="Source Files" Filter=""> <File RelativePath="..\..\..\..\lib\vssh\libssh2.c"> </File> <File RelativePath="..\..\..\..\lib\vssh\libssh.c"> </File> </Filter> <Filter Name="Header Files" Filter=""> <File RelativePath="..\..\..\..\lib\vssh\ssh.h"> </File> </Filter> </Filter> <Filter Name="vtls" Filter=""> <Filter Name="Source Files" Filter=""> <File RelativePath="..\..\..\..\lib\vtls\bearssl.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\gskit.c"> </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.c"> </File> <File |
︙ | ︙ | |||
1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 | <File RelativePath="..\..\..\..\lib\vtls\wolfssl.c"> </File> </Filter> <Filter Name="Header Files" Filter=""> <File RelativePath="..\..\..\..\lib\vtls\gskit.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.h"> </File> <File | > > > | 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 | <File RelativePath="..\..\..\..\lib\vtls\wolfssl.c"> </File> </Filter> <Filter Name="Header Files" Filter=""> <File RelativePath="..\..\..\..\lib\vtls\bearssl.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\gskit.h"> </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.h"> </File> <File |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC7/src/curl.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC8/curl-all.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC8/lib/libcurl.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC8/lib/libcurl.vcproj.
︙ | ︙ | |||
4439 4440 4441 4442 4443 4444 4445 | <File RelativePath="..\..\..\..\lib\speedcheck.h" > </File> <File RelativePath="..\..\..\..\lib\splay.h" > | < < < < | 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 | <File RelativePath="..\..\..\..\lib\speedcheck.h" > </File> <File RelativePath="..\..\..\..\lib\splay.h" > </File> <File RelativePath="..\..\..\..\lib\strcase.h" > </File> <File RelativePath="..\..\..\..\lib\strdup.h" |
︙ | ︙ | |||
4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 | </File> <File RelativePath="..\..\..\..\lib\vauth\vauth.h" > </File> </Filter> </Filter> <Filter Name="vtls" > <Filter Name="Source Files" > <File RelativePath="..\..\..\..\lib\vtls\gskit.c" > </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.c" > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 | </File> <File RelativePath="..\..\..\..\lib\vauth\vauth.h" > </File> </Filter> </Filter> <Filter Name="vquic" > <Filter Name="Source Files" > <File RelativePath="..\..\..\..\lib\vquic\ngtcp2.c" > </File> <File RelativePath="..\..\..\..\lib\vquic\quiche.c" > </File> </Filter> <Filter Name="Header Files" > <File RelativePath="..\..\..\..\lib\vquic\ngtcp2.h" > </File> <File RelativePath="..\..\..\..\lib\vquic\quiche.h" > </File> </Filter> </Filter> <Filter Name="vssh" > <Filter Name="Source Files" > <File RelativePath="..\..\..\..\lib\vssh\libssh2.c" > </File> <File RelativePath="..\..\..\..\lib\vssh\libssh.c" > </File> </Filter> <Filter Name="Header Files" > <File RelativePath="..\..\..\..\lib\vssh\ssh.h" > </File> </Filter> </Filter> <Filter Name="vtls" > <Filter Name="Source Files" > <File RelativePath="..\..\..\..\lib\vtls\bearssl.c" > </File> <File RelativePath="..\..\..\..\lib\vtls\gskit.c" > </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.c" > |
︙ | ︙ | |||
4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 | RelativePath="..\..\..\..\lib\vtls\wolfssl.c" > </File> </Filter> <Filter Name="Header Files" > <File RelativePath="..\..\..\..\lib\vtls\gskit.h" > </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.h" > | > > > > | 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 | RelativePath="..\..\..\..\lib\vtls\wolfssl.c" > </File> </Filter> <Filter Name="Header Files" > <File RelativePath="..\..\..\..\lib\vtls\bearssl.h" > </File> <File RelativePath="..\..\..\..\lib\vtls\gskit.h" > </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.h" > |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC8/src/curl.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC9/curl-all.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC9/lib/libcurl.sln.
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC9/lib/libcurl.vcproj.
︙ | ︙ | |||
4380 4381 4382 4383 4384 4385 4386 | <File RelativePath="..\..\..\..\lib\speedcheck.h" > </File> <File RelativePath="..\..\..\..\lib\splay.h" > | < < < < | 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 | <File RelativePath="..\..\..\..\lib\speedcheck.h" > </File> <File RelativePath="..\..\..\..\lib\splay.h" > </File> <File RelativePath="..\..\..\..\lib\strcase.h" > </File> <File RelativePath="..\..\..\..\lib\strdup.h" |
︙ | ︙ | |||
4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 | </File> <File RelativePath="..\..\..\..\lib\vauth\vauth.h" > </File> </Filter> </Filter> <Filter Name="vtls" > <Filter Name="Source Files" > <File RelativePath="..\..\..\..\lib\vtls\gskit.c" > </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.c" > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 | </File> <File RelativePath="..\..\..\..\lib\vauth\vauth.h" > </File> </Filter> </Filter> <Filter Name="vquic" > <Filter Name="Source Files" > <File RelativePath="..\..\..\..\lib\vquic\ngtcp2.c" > </File> <File RelativePath="..\..\..\..\lib\vquic\quiche.c" > </File> </Filter> <Filter Name="Header Files" > <File RelativePath="..\..\..\..\lib\vquic\ngtcp2.h" > </File> <File RelativePath="..\..\..\..\lib\vquic\quiche.h" > </File> </Filter> </Filter> <Filter Name="vssh" > <Filter Name="Source Files" > <File RelativePath="..\..\..\..\lib\vssh\libssh2.c" > </File> <File RelativePath="..\..\..\..\lib\vssh\libssh.c" > </File> </Filter> <Filter Name="Header Files" > <File RelativePath="..\..\..\..\lib\vssh\ssh.h" > </File> </Filter> </Filter> <Filter Name="vtls" > <Filter Name="Source Files" > <File RelativePath="..\..\..\..\lib\vtls\bearssl.c" > </File> <File RelativePath="..\..\..\..\lib\vtls\gskit.c" > </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.c" > |
︙ | ︙ | |||
4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 | RelativePath="..\..\..\..\lib\vtls\wolfssl.c" > </File> </Filter> <Filter Name="Header Files" > <File RelativePath="..\..\..\..\lib\vtls\gskit.h" > </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.h" > | > > > > | 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 | RelativePath="..\..\..\..\lib\vtls\wolfssl.c" > </File> </Filter> <Filter Name="Header Files" > <File RelativePath="..\..\..\..\lib\vtls\bearssl.h" > </File> <File RelativePath="..\..\..\..\lib\vtls\gskit.h" > </File> <File RelativePath="..\..\..\..\lib\vtls\gtls.h" > |
︙ | ︙ |
Changes to jni/curl/projects/Windows/VC9/src/curl.sln.
︙ | ︙ |
Changes to jni/curl/projects/checksrc.bat.
︙ | ︙ | |||
108 109 110 111 112 113 114 115 116 117 118 119 120 121 | ) rem Check the lib\vauth directory if exist %SRC_DIR%\lib\vauth ( for /f "delims=" %%i in ('dir "%SRC_DIR%\lib\vauth\*.c.*" /b 2^>NUL') do @perl "%SRC_DIR%\lib\checksrc.pl" "-D%SRC_DIR%\lib\vauth" "%%i" for /f "delims=" %%i in ('dir "%SRC_DIR%\lib\vauth\*.h.*" /b 2^>NUL') do @perl "%SRC_DIR%\lib\checksrc.pl" "-D%SRC_DIR%\lib\vauth" "%%i" ) rem Check the lib\vtls directory if exist %SRC_DIR%\lib\vtls ( for /f "delims=" %%i in ('dir "%SRC_DIR%\lib\vtls\*.c.*" /b 2^>NUL') do @perl "%SRC_DIR%\lib\checksrc.pl" "-D%SRC_DIR%\lib\vtls" "%%i" for /f "delims=" %%i in ('dir "%SRC_DIR%\lib\vtls\*.h.*" /b 2^>NUL') do @perl "%SRC_DIR%\lib\checksrc.pl" "-D%SRC_DIR%\lib\vtls" "%%i" ) ) | > > > > > > > > > > > > | 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 | ) rem Check the lib\vauth directory if exist %SRC_DIR%\lib\vauth ( for /f "delims=" %%i in ('dir "%SRC_DIR%\lib\vauth\*.c.*" /b 2^>NUL') do @perl "%SRC_DIR%\lib\checksrc.pl" "-D%SRC_DIR%\lib\vauth" "%%i" for /f "delims=" %%i in ('dir "%SRC_DIR%\lib\vauth\*.h.*" /b 2^>NUL') do @perl "%SRC_DIR%\lib\checksrc.pl" "-D%SRC_DIR%\lib\vauth" "%%i" ) rem Check the lib\vquic directory if exist %SRC_DIR%\lib\vquic ( for /f "delims=" %%i in ('dir "%SRC_DIR%\lib\vquic\*.c.*" /b 2^>NUL') do @perl "%SRC_DIR%\lib\checksrc.pl" "-D%SRC_DIR%\lib\vquic" "%%i" for /f "delims=" %%i in ('dir "%SRC_DIR%\lib\vquic\*.h.*" /b 2^>NUL') do @perl "%SRC_DIR%\lib\checksrc.pl" "-D%SRC_DIR%\lib\vquic" "%%i" ) rem Check the lib\vssh directory if exist %SRC_DIR%\lib\vssh ( for /f "delims=" %%i in ('dir "%SRC_DIR%\lib\vssh\*.c.*" /b 2^>NUL') do @perl "%SRC_DIR%\lib\checksrc.pl" "-D%SRC_DIR%\lib\vssh" "%%i" for /f "delims=" %%i in ('dir "%SRC_DIR%\lib\vssh\*.h.*" /b 2^>NUL') do @perl "%SRC_DIR%\lib\checksrc.pl" "-D%SRC_DIR%\lib\vssh" "%%i" ) rem Check the lib\vtls directory if exist %SRC_DIR%\lib\vtls ( for /f "delims=" %%i in ('dir "%SRC_DIR%\lib\vtls\*.c.*" /b 2^>NUL') do @perl "%SRC_DIR%\lib\checksrc.pl" "-D%SRC_DIR%\lib\vtls" "%%i" for /f "delims=" %%i in ('dir "%SRC_DIR%\lib\vtls\*.h.*" /b 2^>NUL') do @perl "%SRC_DIR%\lib\checksrc.pl" "-D%SRC_DIR%\lib\vtls" "%%i" ) ) |
︙ | ︙ |
Changes to jni/curl/projects/generate.bat.
︙ | ︙ | |||
299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 | for /f "delims=" %%h in ('dir /b ..\lib\*.h') do call :element %1 lib "%%h" %3 ) else if "!var!" == "CURL_LIB_RC_FILES" ( for /f "delims=" %%r in ('dir /b ..\lib\*.rc') do call :element %1 lib "%%r" %3 ) else if "!var!" == "CURL_LIB_VAUTH_C_FILES" ( for /f "delims=" %%c in ('dir /b ..\lib\vauth\*.c') do call :element %1 lib\vauth "%%c" %3 ) else if "!var!" == "CURL_LIB_VAUTH_H_FILES" ( for /f "delims=" %%h in ('dir /b ..\lib\vauth\*.h') do call :element %1 lib\vauth "%%h" %3 ) else if "!var!" == "CURL_LIB_VTLS_C_FILES" ( for /f "delims=" %%c in ('dir /b ..\lib\vtls\*.c') do call :element %1 lib\vtls "%%c" %3 ) else if "!var!" == "CURL_LIB_VTLS_H_FILES" ( for /f "delims=" %%h in ('dir /b ..\lib\vtls\*.h') do call :element %1 lib\vtls "%%h" %3 ) else ( echo.!var!>> %3 ) endlocal ) exit /B rem Generates a single file xml element. rem rem %1 - Project Type (dsp for VC6, vcproj1 for VC7 and VC7.1, vcproj2 for VC8 and VC9 rem or vcxproj for VC10, VC11, VC12, VC14 and VC15) | > > > > > > > > | > > > > | 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 | for /f "delims=" %%h in ('dir /b ..\lib\*.h') do call :element %1 lib "%%h" %3 ) else if "!var!" == "CURL_LIB_RC_FILES" ( for /f "delims=" %%r in ('dir /b ..\lib\*.rc') do call :element %1 lib "%%r" %3 ) else if "!var!" == "CURL_LIB_VAUTH_C_FILES" ( for /f "delims=" %%c in ('dir /b ..\lib\vauth\*.c') do call :element %1 lib\vauth "%%c" %3 ) else if "!var!" == "CURL_LIB_VAUTH_H_FILES" ( for /f "delims=" %%h in ('dir /b ..\lib\vauth\*.h') do call :element %1 lib\vauth "%%h" %3 ) else if "!var!" == "CURL_LIB_VQUIC_C_FILES" ( for /f "delims=" %%c in ('dir /b ..\lib\vquic\*.c') do call :element %1 lib\vquic "%%c" %3 ) else if "!var!" == "CURL_LIB_VQUIC_H_FILES" ( for /f "delims=" %%h in ('dir /b ..\lib\vquic\*.h') do call :element %1 lib\vquic "%%h" %3 ) else if "!var!" == "CURL_LIB_VSSH_C_FILES" ( for /f "delims=" %%c in ('dir /b ..\lib\vssh\*.c') do call :element %1 lib\vssh "%%c" %3 ) else if "!var!" == "CURL_LIB_VSSH_H_FILES" ( for /f "delims=" %%h in ('dir /b ..\lib\vssh\*.h') do call :element %1 lib\vssh "%%h" %3 ) else if "!var!" == "CURL_LIB_VTLS_C_FILES" ( for /f "delims=" %%c in ('dir /b ..\lib\vtls\*.c') do call :element %1 lib\vtls "%%c" %3 ) else if "!var!" == "CURL_LIB_VTLS_H_FILES" ( for /f "delims=" %%h in ('dir /b ..\lib\vtls\*.h') do call :element %1 lib\vtls "%%h" %3 ) else ( echo.!var!>> %3 ) endlocal ) exit /B rem Generates a single file xml element. rem rem %1 - Project Type (dsp for VC6, vcproj1 for VC7 and VC7.1, vcproj2 for VC8 and VC9 rem or vcxproj for VC10, VC11, VC12, VC14 and VC15) rem %2 - Directory (src, lib, lib\vauth, lib\vquic, lib\vssh, lib\vtls) rem %3 - Source filename rem %4 - Output project file rem :element set "SPACES= " if "%2" == "lib\vauth" ( set "TABS= " ) else if "%2" == "lib\vquic" ( set "TABS= " ) else if "%2" == "lib\vssh" ( set "TABS= " ) else if "%2" == "lib\vtls" ( set "TABS= " ) else ( set "TABS= " ) |
︙ | ︙ |
Changes to jni/curl/scripts/Makefile.in.
︙ | ︙ | |||
257 258 259 260 261 262 263 264 265 266 267 268 269 270 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ | > | 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_BEARSSL = @USE_BEARSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ |
︙ | ︙ |
Changes to jni/curl/src/Makefile.in.
︙ | ︙ | |||
540 541 542 543 544 545 546 547 548 549 550 551 552 553 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ | > | 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_BEARSSL = @USE_BEARSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ |
︙ | ︙ |
Changes to jni/curl/src/slist_wc.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/slist_wc.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_SLIST_WC_H #define HEADER_CURL_SLIST_WC_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_SLIST_WC_H #define HEADER_CURL_SLIST_WC_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_binmode.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_binmode.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_BINMODE_H #define HEADER_CURL_TOOL_BINMODE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_BINMODE_H #define HEADER_CURL_TOOL_BINMODE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_bname.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_bname.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_BNAME_H #define HEADER_CURL_TOOL_BNAME_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_BNAME_H #define HEADER_CURL_TOOL_BNAME_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_cb_dbg.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_CB_DBG_H #define HEADER_CURL_TOOL_CB_DBG_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_CB_DBG_H #define HEADER_CURL_TOOL_CB_DBG_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_cb_hdr.c.
︙ | ︙ | |||
55 56 57 58 59 60 61 62 63 64 65 66 67 68 | size_t tool_header_cb(char *ptr, size_t size, size_t nmemb, void *userdata) { struct per_transfer *per = userdata; struct HdrCbData *hdrcbdata = &per->hdrcbdata; struct OutStruct *outs = &per->outs; struct OutStruct *heads = &per->heads; const char *str = ptr; const size_t cb = size * nmemb; const char *end = (char *)ptr + cb; long protocol = 0; /* * Once that libcurl has called back tool_header_cb() the returned value | > | 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | size_t tool_header_cb(char *ptr, size_t size, size_t nmemb, void *userdata) { struct per_transfer *per = userdata; struct HdrCbData *hdrcbdata = &per->hdrcbdata; struct OutStruct *outs = &per->outs; struct OutStruct *heads = &per->heads; struct OutStruct *etag_save = &per->etag_save; const char *str = ptr; const size_t cb = size * nmemb; const char *end = (char *)ptr + cb; long protocol = 0; /* * Once that libcurl has called back tool_header_cb() the returned value |
︙ | ︙ | |||
90 91 92 93 94 95 96 97 98 99 100 101 102 103 | if(heads->config->headerfile && heads->stream) { size_t rc = fwrite(ptr, size, nmemb, heads->stream); if(rc != cb) return rc; /* flush the stream to send off what we got earlier */ (void)fflush(heads->stream); } /* * This callback sets the filename where output shall be written when * curl options --remote-name (-O) and --remote-header-name (-J) have * been simultaneously given and additionally server returns an HTTP * Content-Disposition header specifying a filename property. */ | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | if(heads->config->headerfile && heads->stream) { size_t rc = fwrite(ptr, size, nmemb, heads->stream); if(rc != cb) return rc; /* flush the stream to send off what we got earlier */ (void)fflush(heads->stream); } /* * Write etag to file when --etag-save option is given. * etag string that we want is enveloped in double quotes */ if(etag_save->config->etag_save_file && etag_save->stream) { /* match only header that start with etag (case insensitive) */ if(curl_strnequal(str, "etag:", 5)) { char *etag_h = NULL; char *first = NULL; char *last = NULL; size_t etag_length = 0; etag_h = ptr; /* point to first occurence of double quote */ first = memchr(etag_h, '\"', cb); /* * if server side messed with the etag header and doesn't include * double quotes around the etag, kindly exit with a warning */ if(!first) { warnf( etag_save->config->global, "\nReceived header etag is missing double quote/s\n"); return 1; } else { /* discard first double quote */ first++; } /* point to last occurence of double quote */ last = memchr(first, '\"', cb); if(!last) { warnf( etag_save->config->global, "\nReceived header etag is missing double quote/s\n"); return 1; } /* get length of desired etag */ etag_length = (size_t)last - (size_t)first; fwrite(first, size, etag_length, etag_save->stream); /* terminate with new line */ fputc('\n', etag_save->stream); } (void)fflush(etag_save->stream); } /* * This callback sets the filename where output shall be written when * curl options --remote-name (-O) and --remote-header-name (-J) have * been simultaneously given and additionally server returns an HTTP * Content-Disposition header specifying a filename property. */ |
︙ | ︙ |
Changes to jni/curl/src/tool_cb_hdr.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_CB_HDR_H #define HEADER_CURL_TOOL_CB_HDR_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_CB_HDR_H #define HEADER_CURL_TOOL_CB_HDR_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | */ struct HdrCbData { struct GlobalConfig *global; struct OperationConfig *config; struct OutStruct *outs; struct OutStruct *heads; bool honor_cd_filename; }; /* ** callback for CURLOPT_HEADERFUNCTION */ size_t tool_header_cb(char *ptr, size_t size, size_t nmemb, void *userdata); #endif /* HEADER_CURL_TOOL_CB_HDR_H */ | > | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | */ struct HdrCbData { struct GlobalConfig *global; struct OperationConfig *config; struct OutStruct *outs; struct OutStruct *heads; struct OutStruct *etag_save; bool honor_cd_filename; }; /* ** callback for CURLOPT_HEADERFUNCTION */ size_t tool_header_cb(char *ptr, size_t size, size_t nmemb, void *userdata); #endif /* HEADER_CURL_TOOL_CB_HDR_H */ |
Changes to jni/curl/src/tool_cb_prg.c.
︙ | ︙ | |||
28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #define ENABLE_CURLX_PRINTF /* use our own printf() functions */ #include "curlx.h" #include "tool_cfgable.h" #include "tool_cb_prg.h" #include "tool_util.h" #include "memdebug.h" /* keep this as LAST include */ #ifdef HAVE_TERMIOS_H # include <termios.h> #elif defined(HAVE_TERMIO_H) # include <termio.h> | > | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | #define ENABLE_CURLX_PRINTF /* use our own printf() functions */ #include "curlx.h" #include "tool_cfgable.h" #include "tool_cb_prg.h" #include "tool_util.h" #include "tool_operate.h" #include "memdebug.h" /* keep this as LAST include */ #ifdef HAVE_TERMIOS_H # include <termios.h> #elif defined(HAVE_TERMIO_H) # include <termio.h> |
︙ | ︙ | |||
117 118 119 120 121 122 123 | curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow) { /* The original progress-bar source code was written for curl by Lars Aas, and this new edition inherits some of his concepts. */ struct timeval now = tvnow(); | > > > | | 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow) { /* The original progress-bar source code was written for curl by Lars Aas, and this new edition inherits some of his concepts. */ struct timeval now = tvnow(); struct per_transfer *per = clientp; struct OutStruct *outs = &per->outs; struct OperationConfig *config = outs->config; struct ProgressData *bar = &per->progressbar; curl_off_t total; curl_off_t point; /* Calculate expected transfer size. initial_size can be less than zero when indicating that we are expecting to get the filesize from the remote */ if(bar->initial_size < 0 || |
︙ | ︙ | |||
186 187 188 189 190 191 192 193 194 195 196 197 198 199 | line[num] = '\0'; msnprintf(format, sizeof(format), "\r%%-%ds %%5.1f%%%%", barwidth); fprintf(bar->out, format, line, percent); } fflush(bar->out); bar->prev = point; bar->prevtime = now; return 0; } void progressbarinit(struct ProgressData *bar, struct OperationConfig *config) { | > > > > > | 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | line[num] = '\0'; msnprintf(format, sizeof(format), "\r%%-%ds %%5.1f%%%%", barwidth); fprintf(bar->out, format, line, percent); } fflush(bar->out); bar->prev = point; bar->prevtime = now; if(config->readbusy) { config->readbusy = FALSE; curl_easy_pause(per->curl, CURLPAUSE_CONT); } return 0; } void progressbarinit(struct ProgressData *bar, struct OperationConfig *config) { |
︙ | ︙ |
Changes to jni/curl/src/tool_cb_rea.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #define ENABLE_CURLX_PRINTF /* use our own printf() functions */ #include "curlx.h" #include "tool_cfgable.h" #include "tool_cb_rea.h" #include "memdebug.h" /* keep this as LAST include */ /* ** callback for CURLOPT_READFUNCTION */ | > | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #define ENABLE_CURLX_PRINTF /* use our own printf() functions */ #include "curlx.h" #include "tool_cfgable.h" #include "tool_cb_rea.h" #include "tool_operate.h" #include "memdebug.h" /* keep this as LAST include */ /* ** callback for CURLOPT_READFUNCTION */ |
︙ | ︙ | |||
48 49 50 51 52 53 54 | } /* since size_t is unsigned we can't return negative values fine */ rc = 0; } in->config->readbusy = FALSE; return (size_t)rc; } | > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | } /* since size_t is unsigned we can't return negative values fine */ rc = 0; } in->config->readbusy = FALSE; return (size_t)rc; } /* ** callback for CURLOPT_XFERINFOFUNCTION used to unpause busy reads */ int tool_readbusy_cb(void *clientp, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow) { struct per_transfer *per = clientp; struct OutStruct *outs = &per->outs; struct OperationConfig *config = outs->config; (void)dltotal; /* unused */ (void)dlnow; /* unused */ (void)ultotal; /* unused */ (void)ulnow; /* unused */ if(config->readbusy) { config->readbusy = FALSE; curl_easy_pause(per->curl, CURLPAUSE_CONT); } return per->noprogress? 0 : CURL_PROGRESSFUNC_CONTINUE; } |
Changes to jni/curl/src/tool_cb_rea.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_CB_REA_H #define HEADER_CURL_TOOL_CB_REA_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_CB_REA_H #define HEADER_CURL_TOOL_CB_REA_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
25 26 27 28 29 30 31 32 | /* ** callback for CURLOPT_READFUNCTION */ size_t tool_read_cb(void *buffer, size_t sz, size_t nmemb, void *userdata); #endif /* HEADER_CURL_TOOL_CB_REA_H */ | > > > > > > > > | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | /* ** callback for CURLOPT_READFUNCTION */ size_t tool_read_cb(void *buffer, size_t sz, size_t nmemb, void *userdata); /* ** callback for CURLOPT_XFERINFOFUNCTION used to unpause busy reads */ int tool_readbusy_cb(void *clientp, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow); #endif /* HEADER_CURL_TOOL_CB_REA_H */ |
Changes to jni/curl/src/tool_cb_see.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_cb_see.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_CB_SEE_H #define HEADER_CURL_TOOL_CB_SEE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_CB_SEE_H #define HEADER_CURL_TOOL_CB_SEE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_cfgable.c.
︙ | ︙ | |||
124 125 126 127 128 129 130 131 132 133 134 135 136 137 | Curl_safefree(config->key_type); Curl_safefree(config->proxy_key_type); Curl_safefree(config->key_passwd); Curl_safefree(config->proxy_key_passwd); Curl_safefree(config->pubkey); Curl_safefree(config->hostpubmd5); Curl_safefree(config->engine); Curl_safefree(config->request_target); Curl_safefree(config->customrequest); Curl_safefree(config->krblevel); Curl_safefree(config->oauth_bearer); Curl_safefree(config->sasl_authzid); | > > | 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | Curl_safefree(config->key_type); Curl_safefree(config->proxy_key_type); Curl_safefree(config->key_passwd); Curl_safefree(config->proxy_key_passwd); Curl_safefree(config->pubkey); Curl_safefree(config->hostpubmd5); Curl_safefree(config->engine); Curl_safefree(config->etag_save_file); Curl_safefree(config->etag_compare_file); Curl_safefree(config->request_target); Curl_safefree(config->customrequest); Curl_safefree(config->krblevel); Curl_safefree(config->oauth_bearer); Curl_safefree(config->sasl_authzid); |
︙ | ︙ |
Changes to jni/curl/src/tool_cfgable.h.
︙ | ︙ | |||
152 153 154 155 156 157 158 159 160 161 162 163 164 165 | char *key_type; char *proxy_key_type; char *key_passwd; char *proxy_key_passwd; char *pubkey; char *hostpubmd5; char *engine; bool crlf; char *customrequest; char *krblevel; char *request_target; long httpversion; bool http09_allowed; bool nobuffer; | > > | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | char *key_type; char *proxy_key_type; char *key_passwd; char *proxy_key_passwd; char *pubkey; char *hostpubmd5; char *engine; char *etag_save_file; char *etag_compare_file; bool crlf; char *customrequest; char *krblevel; char *request_target; long httpversion; bool http09_allowed; bool nobuffer; |
︙ | ︙ | |||
296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 | bool fail_early; /* exit on first transfer error */ bool styled_output; /* enable fancy output style detection */ #ifdef CURLDEBUG bool test_event_based; #endif bool parallel; long parallel_max; struct OperationConfig *first; struct OperationConfig *current; struct OperationConfig *last; /* Always last in the struct */ }; void config_init(struct OperationConfig *config); void config_free(struct OperationConfig *config); #endif /* HEADER_CURL_TOOL_CFGABLE_H */ | > | 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 | bool fail_early; /* exit on first transfer error */ bool styled_output; /* enable fancy output style detection */ #ifdef CURLDEBUG bool test_event_based; #endif bool parallel; long parallel_max; bool parallel_connect; struct OperationConfig *first; struct OperationConfig *current; struct OperationConfig *last; /* Always last in the struct */ }; void config_init(struct OperationConfig *config); void config_free(struct OperationConfig *config); #endif /* HEADER_CURL_TOOL_CFGABLE_H */ |
Changes to jni/curl/src/tool_convert.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_CONVERT_H #define HEADER_CURL_TOOL_CONVERT_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_CONVERT_H #define HEADER_CURL_TOOL_CONVERT_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_dirhie.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_DIRHIE_H #define HEADER_CURL_TOOL_DIRHIE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_DIRHIE_H #define HEADER_CURL_TOOL_DIRHIE_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_doswin.c.
︙ | ︙ | |||
34 35 36 37 38 39 40 | #endif #include "tool_bname.h" #include "tool_doswin.h" #include "memdebug.h" /* keep this as LAST include */ | < < < < < < < < < < < < < < < < < < < < < < < < < < < | | | 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 | #endif #include "tool_bname.h" #include "tool_doswin.h" #include "memdebug.h" /* keep this as LAST include */ #ifdef WIN32 # undef PATH_MAX # define PATH_MAX MAX_PATH #endif #ifndef S_ISCHR # ifdef S_IFCHR # define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) # else # define S_ISCHR(m) (0) /* cannot tell if file is a device */ # endif #endif #ifdef WIN32 # define _use_lfn(f) (1) /* long file names always available */ #elif !defined(__DJGPP__) || (__DJGPP__ < 2) /* DJGPP 2.0 has _use_lfn() */ # define _use_lfn(f) (0) /* long file names never available */ #elif defined(__DJGPP__) # include <fcntl.h> /* _use_lfn(f) prototype */ #endif #ifndef UNITTESTS static SANITIZEcode truncate_dryrun(const char *path, const size_t truncate_pos); |
︙ | ︙ |
Changes to jni/curl/src/tool_doswin.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_DOSWIN_H #define HEADER_CURL_TOOL_DOSWIN_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_DOSWIN_H #define HEADER_CURL_TOOL_DOSWIN_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_easysrc.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
119 120 121 122 123 124 125 | else { ret = easysrc_add(plist, bufp); curl_free(bufp); } return ret; } | | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | else { ret = easysrc_add(plist, bufp); curl_free(bufp); } return ret; } #define CHKRET(v) do {CURLcode ret = (v); if(ret) return ret;} while(0) CURLcode easysrc_init(void) { CHKRET(easysrc_add(&easysrc_code, "hnd = curl_easy_init();")); return CURLE_OK; } |
︙ | ︙ |
Changes to jni/curl/src/tool_getparam.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
54 55 56 57 58 59 60 | *(str) = NULL; \ } \ if((val)) { \ *(str) = strdup((val)); \ if(!(*(str))) \ return PARAM_NO_MEM; \ } \ | | | 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | *(str) = NULL; \ } \ if((val)) { \ *(str) = strdup((val)); \ if(!(*(str))) \ return PARAM_NO_MEM; \ } \ } while(0) struct LongShort { const char *letter; /* short name option */ const char *lname; /* long name option */ enum { ARG_NONE, /* stand-alone but not a boolean */ ARG_BOOL, /* accepts a --no-[name] prefix */ |
︙ | ︙ | |||
264 265 266 267 268 269 270 271 272 273 274 275 276 277 | {"E5", "login-options", ARG_STRING}, {"E6", "proxy-cacert", ARG_FILENAME}, {"E7", "proxy-capath", ARG_FILENAME}, {"E8", "proxy-insecure", ARG_BOOL}, {"E9", "proxy-tlsv1", ARG_NONE}, {"EA", "socks5-basic", ARG_BOOL}, {"EB", "socks5-gssapi", ARG_BOOL}, {"f", "fail", ARG_BOOL}, {"fa", "fail-early", ARG_BOOL}, {"fb", "styled-output", ARG_BOOL}, {"F", "form", ARG_STRING}, {"Fs", "form-string", ARG_STRING}, {"g", "globoff", ARG_BOOL}, {"G", "get", ARG_NONE}, | > > | 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 | {"E5", "login-options", ARG_STRING}, {"E6", "proxy-cacert", ARG_FILENAME}, {"E7", "proxy-capath", ARG_FILENAME}, {"E8", "proxy-insecure", ARG_BOOL}, {"E9", "proxy-tlsv1", ARG_NONE}, {"EA", "socks5-basic", ARG_BOOL}, {"EB", "socks5-gssapi", ARG_BOOL}, {"EC", "etag-save", ARG_FILENAME}, {"ED", "etag-compare", ARG_FILENAME}, {"f", "fail", ARG_BOOL}, {"fa", "fail-early", ARG_BOOL}, {"fb", "styled-output", ARG_BOOL}, {"F", "form", ARG_STRING}, {"Fs", "form-string", ARG_STRING}, {"g", "globoff", ARG_BOOL}, {"G", "get", ARG_NONE}, |
︙ | ︙ | |||
317 318 319 320 321 322 323 324 325 326 327 328 329 330 | {"xa", "preproxy", ARG_STRING}, {"X", "request", ARG_STRING}, {"Y", "speed-limit", ARG_STRING}, {"y", "speed-time", ARG_STRING}, {"z", "time-cond", ARG_STRING}, {"Z", "parallel", ARG_BOOL}, {"Zb", "parallel-max", ARG_STRING}, {"#", "progress-bar", ARG_BOOL}, {"#m", "progress-meter", ARG_BOOL}, {":", "next", ARG_NONE}, }; /* Split the argument of -E to 'certname' and 'passphrase' separated by colon. * We allow ':' and '\' to be escaped by '\' so that we can use certificate | > | 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 | {"xa", "preproxy", ARG_STRING}, {"X", "request", ARG_STRING}, {"Y", "speed-limit", ARG_STRING}, {"y", "speed-time", ARG_STRING}, {"z", "time-cond", ARG_STRING}, {"Z", "parallel", ARG_BOOL}, {"Zb", "parallel-max", ARG_STRING}, {"Zc", "parallel-immediate", ARG_BOOL}, {"#", "progress-bar", ARG_BOOL}, {"#m", "progress-meter", ARG_BOOL}, {":", "next", ARG_NONE}, }; /* Split the argument of -E to 'certname' and 'passphrase' separated by colon. * We allow ':' and '\' to be escaped by '\' so that we can use certificate |
︙ | ︙ | |||
1202 1203 1204 1205 1206 1207 1208 | break; case '3': /* --http2-prior-knowledge */ /* HTTP version 2.0 over clean TCP*/ config->httpversion = CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE; break; case '4': /* --http3 */ /* HTTP version 3 go over QUIC - at once */ | > | > > | 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 | break; case '3': /* --http2-prior-knowledge */ /* HTTP version 2.0 over clean TCP*/ config->httpversion = CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE; break; case '4': /* --http3 */ /* HTTP version 3 go over QUIC - at once */ if(curlinfo->features & CURL_VERSION_HTTP3) config->httpversion = CURL_HTTP_VERSION_3; else return PARAM_LIBCURL_DOESNT_SUPPORT; break; case '9': /* Allow HTTP/0.9 responses! */ config->http09_allowed = toggle; break; } break; |
︙ | ︙ | |||
1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 | case 'B': /* --socks5-gssapi */ if(toggle) config->socks5_auth |= CURLAUTH_GSSAPI; else config->socks5_auth &= ~CURLAUTH_GSSAPI; break; default: /* unknown flag */ return PARAM_OPTION_UNKNOWN; } break; case 'f': switch(subletter) { | > > > > > > > > | 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 | case 'B': /* --socks5-gssapi */ if(toggle) config->socks5_auth |= CURLAUTH_GSSAPI; else config->socks5_auth &= ~CURLAUTH_GSSAPI; break; case 'C': GetStr(&config->etag_save_file, nextarg); break; case 'D': GetStr(&config->etag_compare_file, nextarg); break; default: /* unknown flag */ return PARAM_OPTION_UNKNOWN; } break; case 'f': switch(subletter) { |
︙ | ︙ | |||
1970 1971 1972 1973 1974 1975 1976 | Curl_safefree(config->range); config->range = strdup(buffer); if(!config->range) return PARAM_NO_MEM; } { /* byte range requested */ | < | | 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 | Curl_safefree(config->range); config->range = strdup(buffer); if(!config->range) return PARAM_NO_MEM; } { /* byte range requested */ const char *tmp_range = nextarg; while(*tmp_range != '\0') { if(!ISDIGIT(*tmp_range) && *tmp_range != '-' && *tmp_range != ',') { warnf(global, "Invalid character is found in given range. " "A specified range MUST have only digits in " "\'start\'-\'stop\'. The server's response to this " "request is uncertain.\n"); break; |
︙ | ︙ | |||
2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 | case 'b': /* --parallel-max */ err = str2unum(&global->parallel_max, nextarg); if(err) return err; if((global->parallel_max > MAX_PARALLEL) || (global->parallel_max < 1)) global->parallel_max = PARALLEL_DEFAULT; break; } break; case 'z': /* time condition coming up */ switch(*nextarg) { case '+': nextarg++; | > > > | 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 | case 'b': /* --parallel-max */ err = str2unum(&global->parallel_max, nextarg); if(err) return err; if((global->parallel_max > MAX_PARALLEL) || (global->parallel_max < 1)) global->parallel_max = PARALLEL_DEFAULT; break; case 'c': /* --parallel-connect */ global->parallel_connect = toggle; break; } break; case 'z': /* time condition coming up */ switch(*nextarg) { case '+': nextarg++; |
︙ | ︙ |
Changes to jni/curl/src/tool_help.c.
︙ | ︙ | |||
127 128 129 130 131 132 133 134 135 136 137 138 139 140 | "Resolve host names over DOH"}, {"-D, --dump-header <filename>", "Write the received headers to <filename>"}, {" --egd-file <file>", "EGD socket path for random data"}, {" --engine <name>", "Crypto engine to use"}, {" --expect100-timeout <seconds>", "How long to wait for 100-continue"}, {"-f, --fail", "Fail silently (no output at all) on HTTP errors"}, {" --fail-early", "Fail on first transfer error, do not continue"}, {" --false-start", | > > > > | 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | "Resolve host names over DOH"}, {"-D, --dump-header <filename>", "Write the received headers to <filename>"}, {" --egd-file <file>", "EGD socket path for random data"}, {" --engine <name>", "Crypto engine to use"}, {" --etag-save <file>", "Get an ETag from response header and save it to a FILE"}, {" --etag-compare <file>", "Get an ETag from a file and send a conditional request"}, {" --expect100-timeout <seconds>", "How long to wait for 100-continue"}, {"-f, --fail", "Fail silently (no output at all) on HTTP errors"}, {" --fail-early", "Fail on first transfer error, do not continue"}, {" --false-start", |
︙ | ︙ | |||
275 276 277 278 279 280 281 282 283 284 285 286 287 288 | "Use HTTP NTLM authentication with winbind"}, {" --oauth2-bearer <token>", "OAuth 2 Bearer Token"}, {"-o, --output <file>", "Write to file instead of stdout"}, {"-Z, --parallel", "Perform transfers in parallel"}, {" --parallel-max", "Maximum concurrency for parallel transfers"}, {" --pass <phrase>", "Pass phrase for the private key"}, {" --path-as-is", "Do not squash .. sequences in URL path"}, {" --pinnedpubkey <hashes>", | > > | 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 | "Use HTTP NTLM authentication with winbind"}, {" --oauth2-bearer <token>", "OAuth 2 Bearer Token"}, {"-o, --output <file>", "Write to file instead of stdout"}, {"-Z, --parallel", "Perform transfers in parallel"}, {" --parallel-immediate", "Do not wait for multiplexing (with --parallel)"}, {" --parallel-max", "Maximum concurrency for parallel transfers"}, {" --pass <phrase>", "Pass phrase for the private key"}, {" --path-as-is", "Do not squash .. sequences in URL path"}, {" --pinnedpubkey <hashes>", |
︙ | ︙ |
Changes to jni/curl/src/tool_helpers.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_HELPERS_H #define HEADER_CURL_TOOL_HELPERS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_HELPERS_H #define HEADER_CURL_TOOL_HELPERS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_homedir.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_homedir.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_HOMEDIR_H #define HEADER_CURL_TOOL_HOMEDIR_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_HOMEDIR_H #define HEADER_CURL_TOOL_HOMEDIR_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_hugehelp.c.
︙ | ︙ | |||
169 170 171 172 173 174 175 | fputs( " stract socket prefixed with '@', however the <path> argument\n" " should not have this leading character.\n" "\n" " Added in 7.53.0.\n" "\n" " --alt-svc <file name>\n" | | | | 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 | fputs( " stract socket prefixed with '@', however the <path> argument\n" " should not have this leading character.\n" "\n" " Added in 7.53.0.\n" "\n" " --alt-svc <file name>\n" " (HTTPS) WARNING: this option is experimental. Do not use in pro-\n" " duction.\n" "\n" " This option enables the alt-svc parser in curl. If the file name\n" " points to an existing alt-svc cache file, that will be used. Af-\n" , stdout); fputs( " ter a completed transfer, the cache will be saved to the file\n" " name again if it has been modified.\n" |
︙ | ︙ | |||
937 938 939 940 941 942 943 944 945 946 947 948 949 950 | " (TLS) Select the OpenSSL crypto engine to use for cipher opera-\n" " tions. Use --engine list to print a list of build-time supported\n" " engines. Note that not all (or none) of the engines may be\n" , stdout); fputs( " available at run-time.\n" "\n" " --expect100-timeout <seconds>\n" " (HTTP) Maximum time in seconds that you allow curl to wait for a\n" " 100-continue response when curl emits an Expects: 100-continue\n" " header in its request. By default curl will wait one second.\n" " This option accepts decimal values! When curl stops waiting, it\n" " will continue as if the response has been received.\n" "\n" | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > < < < < > > > > < < > > < < > > < < > > < < < < > > < < > > < < > > > > < < < < > > > > < < > > < < > > < < > > < < > > < < < < > > > > < < > > < < < < > > > > < < > > < < > > < < > > < < < < > > < < > > > > < < > > < < > > < < > > < < > > < < > > < < > > > < < < > > > < > < > < > < < < > > > < > < > < < < > > > < > < > < | 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 | " (TLS) Select the OpenSSL crypto engine to use for cipher opera-\n" " tions. Use --engine list to print a list of build-time supported\n" " engines. Note that not all (or none) of the engines may be\n" , stdout); fputs( " available at run-time.\n" "\n" " --etag-compare <file>\n" " (HTTP) This option makes a conditional HTTP request for the spe-\n" " cific ETag read from the given file by sending a custom If-None-\n" " Match header using the extracted ETag.\n" "\n" " For correct results, make sure that specified file contains only\n" " a single line with a desired ETag. An empty file is parsed as an\n" " empty ETag.\n" "\n" , stdout); fputs( " Use the option --etag-save to first save the ETag from a re-\n" " sponse, and then use this option to compare using the saved ETag\n" " in a subsequent request.\n" "\n" " OMPARISON: There are 2 types of comparison or ETags, Weak and\n" " Strong. This option expects, and uses a strong comparison.\n" "\n" " Added in 7.68.0.\n" "\n" " --etag-save <file>\n" " (HTTP) This option saves an HTTP ETag to the specified file.\n" , stdout); fputs( " Etag is usually part of headers returned by a request. When\n" " server sends an ETag, it must be enveloped by a double quote.\n" " This option extracts the ETag without the double quotes and\n" " saves it into the <file>.\n" "\n" " A server can send a week ETag which is prefixed by \"W/\". This\n" " identifier is not considered, and only relevant ETag between\n" " quotation marks is parsed.\n" "\n" , stdout); fputs( " It an ETag wasn't send by the server or it cannot be parsed, and\n" " empty file is created.\n" "\n" " Added in 7.68.0.\n" "\n" " --expect100-timeout <seconds>\n" " (HTTP) Maximum time in seconds that you allow curl to wait for a\n" " 100-continue response when curl emits an Expects: 100-continue\n" " header in its request. By default curl will wait one second.\n" , stdout); fputs( " This option accepts decimal values! When curl stops waiting, it\n" " will continue as if the response has been received.\n" "\n" " See also --connect-timeout. Added in 7.47.0.\n" "\n" " --fail-early\n" " Fail and exit on the first detected transfer error.\n" "\n" " When curl is used to do multiple transfers on the command line,\n" " it will attempt to operate on each given URL, one by one. By de-\n" , stdout); fputs( " fault, it will ignore errors if there are more URLs given and\n" " the last URL's success will determine the error code curl re-\n" " turns. So early failures will be \"hidden\" by subsequent success-\n" " ful transfers.\n" "\n" " Using this option, curl will instead return an error on the\n" " first transfer that fails, independent of the amount of URLs\n" , stdout); fputs( " that are given on the command line. This way, no transfer fail-\n" " ures go undetected by scripts and similar.\n" "\n" " This option is global and does not need to be specified for each\n" " use of -:, --next.\n" "\n" " This option does not imply -f, --fail, which causes transfers to\n" " fail due to the server's HTTP status code. You can combine the\n" " two options, however note -f, --fail is not global and is there-\n" , stdout); fputs( " fore contained by -:, --next.\n" "\n" " Added in 7.52.0.\n" "\n" " -f, --fail\n" " (HTTP) Fail silently (no output at all) on server errors. This\n" " is mostly done to better enable scripts etc to better deal with\n" " failed attempts. In normal cases when an HTTP server fails to\n" " deliver a document, it returns an HTML document stating so\n" " (which often also describes why and more). This flag will pre-\n" , stdout); fputs( " vent curl from outputting that and return error 22.\n" "\n" " This method is not fail-safe and there are occasions where non-\n" " successful response codes will slip through, especially when au-\n" " thentication is involved (response codes 401 and 407).\n" "\n" " --false-start\n" " (TLS) Tells curl to use false start during the TLS handshake.\n" " False start is a mode where a TLS client will start sending ap-\n" , stdout); fputs( " plication data before verifying the server's Finished message,\n" " thus saving a round trip when performing a full handshake.\n" "\n" " This is currently only implemented in the NSS and Secure Trans-\n" " port (on iOS 7.0 or later, or OS X 10.9 or later) backends.\n" "\n" " Added in 7.42.0.\n" "\n" " --form-string <name=string>\n" " (HTTP SMTP IMAP) Similar to -F, --form except that the value\n" , stdout); fputs( " string for the named parameter is used literally. Leading '@'\n" " and '<' characters, and the ';type=' string in the value have no\n" " special meaning. Use this in preference to -F, --form if there's\n" " any possibility that the string value may accidentally trigger\n" " the '@' or '<' features of -F, --form.\n" "\n" " See also -F, --form.\n" "\n" " -F, --form <name=content>\n" , stdout); fputs( " (HTTP SMTP IMAP) For HTTP protocol family, this lets curl emu-\n" " late a filled-in form in which a user has pressed the submit\n" " button. This causes curl to POST data using the Content-Type\n" " multipart/form-data according to RFC 2388.\n" "\n" " For SMTP and IMAP protocols, this is the mean to compose a mul-\n" " tipart mail message to transmit.\n" "\n" , stdout); fputs( " This enables uploading of binary files etc. To force the 'con-\n" " tent' part to be a file, prefix the file name with an @ sign. To\n" " just get the content part from a file, prefix the file name with\n" " the symbol <. The difference between @ and < is then that @\n" " makes a file get attached in the post as a file upload, while\n" " the < makes a text field and just get the contents for that text\n" , stdout); fputs( " field from a file.\n" "\n" " Tell curl to read content from stdin instead of a file by using\n" " - as filename. This goes for both @ and < constructs. When stdin\n" " is used, the contents is buffered in memory first by curl to de-\n" " termine its size and allow a possible resend. Defining a part's\n" " data from a named non-regular file (such as a named pipe or sim-\n" , stdout); fputs( " ilar) is unfortunately not subject to buffering and will be ef-\n" " fectively read at transmission time; since the full size is un-\n" " known before the transfer starts, such data is sent as chunks by\n" " HTTP and rejected by IMAP.\n" "\n" " Example: send an image to an HTTP server, where 'profile' is the\n" " name of the form-field to which the file portrait.jpg will be\n" " the input:\n" "\n" , stdout); fputs( " curl -F profile=@portrait.jpg https://example.com/upload.cgi\n" "\n" " Example: send a your name and shoe size in two text fields to\n" " the server:\n" "\n" " curl -F name=John -F shoesize=11 https://example.com/\n" "\n" " Example: send a your essay in a text field to the server. Send\n" " it as a plain text field, but get the contents for it from a lo-\n" " cal file:\n" "\n" , stdout); fputs( " curl -F \"story=<hugefile.txt\" https://example.com/\n" "\n" " You can also tell curl what Content-Type to use by using\n" " 'type=', in a manner similar to:\n" "\n" " curl -F \"web=@index.html;type=text/html\" example.com\n" "\n" " or\n" "\n" " curl -F \"name=daniel;type=text/foo\" example.com\n" "\n" " You can also explicitly change the name field of a file upload\n" " part by setting filename=, like this:\n" "\n" , stdout); fputs( " curl -F \"file=@localfile;filename=nameinpost\" example.com\n" "\n" " If filename/path contains ',' or ';', it must be quoted by dou-\n" " ble-quotes like:\n" "\n" " curl -F \"file=@\\\"localfile\\\";filename=\\\"nameinpost\\\"\" exam-\n" " ple.com\n" "\n" " or\n" "\n" " curl -F 'file=@\"localfile\";filename=\"nameinpost\"' example.com\n" "\n" " Note that if a filename/path is quoted by double-quotes, any\n" , stdout); fputs( " double-quote or backslash within the filename must be escaped by\n" " backslash.\n" "\n" " Quoting must also be applied to non-file data if it contains\n" " semicolons, leading/trailing spaces or leading double quotes:\n" "\n" " curl -F 'colors=\"red; green; blue\";type=text/x-myapp' exam-\n" " ple.com\n" "\n" " You can add custom headers to the field by setting headers=,\n" " like\n" "\n" , stdout); fputs( " curl -F \"submit=OK;headers=\\\"X-submit-type: OK\\\"\" example.com\n" "\n" " or\n" "\n" " curl -F \"submit=OK;headers=@headerfile\" example.com\n" "\n" " The headers= keyword may appear more that once and above notes\n" " about quoting apply. When headers are read from a file, Empty\n" " lines and lines starting with '#' are comments and ignored; each\n" " header can be folded by splitting between two words and starting\n" , stdout); fputs( " the continuation line with a space; embedded carriage-returns\n" " and trailing spaces are stripped. Here is an example of a\n" " header file contents:\n" "\n" " # This file contain two headers.\n" " X-header-1: this is a header\n" "\n" " # The following header is folded.\n" " X-header-2: this is\n" " another header\n" "\n" " To support sending multipart mail messages, the syntax is ex-\n" , stdout); fputs( " tended as follows:\n" " - name can be omitted: the equal sign is the first character of\n" " the argument,\n" " - if data starts with '(', this signals to start a new multi-\n" " part: it can be followed by a content type specification.\n" " - a multipart can be terminated with a '=)' argument.\n" "\n" " Example: the following command sends an SMTP mime e-mail con-\n" , stdout); fputs( " sisting in an inline part in two alternative formats: plain text\n" " and HTML. It attaches a text file:\n" "\n" " curl -F '=(;type=multipart/alternative' \\\n" " -F '=plain text message' \\\n" " -F '= <body>HTML message</body>;type=text/html' \\\n" " -F '=)' -F '=@textfile.txt' ... smtp://example.com\n" "\n" " Data can be encoded for transfer using encoder=. Available en-\n" , stdout); fputs( " codings are binary and 8bit that do nothing else than adding the\n" " corresponding Content-Transfer-Encoding header, 7bit that only\n" " rejects 8-bit characters with a transfer error, quoted-printable\n" " and base64 that encodes data according to the corresponding\n" " schemes, limiting lines length to 76 characters.\n" "\n" " Example: send multipart mail with a quoted-printable text mes-\n" , stdout); fputs( " sage and a base64 attached file:\n" "\n" " curl -F '=text message;encoder=quoted-printable' \\\n" " -F '=@localfile;encoder=base64' ... smtp://example.com\n" "\n" " See further examples and details in the MANUAL.\n" "\n" " This option can be used multiple times.\n" "\n" " This option overrides -d, --data and -I, --head and -T, --up-\n" " load-file.\n" "\n" " --ftp-account <data>\n" , stdout); fputs( " (FTP) When an FTP server asks for \"account data\" after user name\n" " and password has been provided, this data is sent off using the\n" " ACCT command.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " Added in 7.13.0.\n" "\n" " --ftp-alternative-to-user <command>\n" " (FTP) If authenticating with the USER and PASS commands fails,\n" , stdout); fputs( " send this command. When connecting to Tumbleweed's Secure\n" " Transport server over FTPS using a client certificate, using\n" " \"SITE AUTH\" will tell the server to retrieve the username from\n" " the certificate.\n" " Added in 7.15.5.\n" "\n" " --ftp-create-dirs\n" " (FTP SFTP) When an FTP or SFTP URL/operation uses a path that\n" " doesn't currently exist on the server, the standard behavior of\n" , stdout); fputs( " curl is to fail. Using this option, curl will instead attempt to\n" " create missing directories.\n" "\n" " See also --create-dirs.\n" "\n" " --ftp-method <method>\n" " (FTP) Control what method curl should use to reach a file on an\n" " FTP(S) server. The method argument should be one of the follow-\n" " ing alternatives:\n" "\n" " multicwd\n" " curl does a single CWD operation for each path part in\n" , stdout); fputs( " the given URL. For deep hierarchies this means very many\n" " commands. This is how RFC 1738 says it should be done.\n" " This is the default but the slowest behavior.\n" "\n" " nocwd curl does no CWD at all. curl will do SIZE, RETR, STOR\n" " etc and give a full path to the server for all these com-\n" " mands. This is the fastest behavior.\n" "\n" " singlecwd\n" , stdout); fputs( " curl does one CWD with the full target directory and then\n" " operates on the file \"normally\" (like in the multicwd\n" " case). This is somewhat more standards compliant than\n" " 'nocwd' but without the full penalty of 'multicwd'.\n" "\n" " Added in 7.15.1.\n" "\n" " --ftp-pasv\n" " (FTP) Use passive mode for the data connection. Passive is the\n" , stdout); fputs( " internal default behavior, but using this option can be used to\n" " override a previous -P, --ftp-port option.\n" "\n" " If this option is used several times, only the first one is\n" " used. Undoing an enforced passive really isn't doable but you\n" " must then instead enforce the correct -P, --ftp-port again.\n" "\n" " Passive mode means that curl will try the EPSV command first and\n" , stdout); fputs( " then PASV, unless --disable-epsv is used.\n" " See also --disable-epsv. Added in 7.11.0.\n" "\n" " -P, --ftp-port <address>\n" " (FTP) Reverses the default initiator/listener roles when con-\n" " necting with FTP. This option makes curl use active mode. curl\n" " then tells the server to connect back to the client's specified\n" " address and port, while passive mode asks the server to setup an\n" , stdout); fputs( " IP address and port for it to connect to. <address> should be\n" " one of:\n" "\n" " interface\n" " e.g. \"eth0\" to specify which interface's IP address you\n" " want to use (Unix only)\n" "\n" " IP address\n" " e.g. \"192.168.10.1\" to specify the exact IP address\n" "\n" " host name\n" " e.g. \"my.host.domain\" to specify the machine\n" "\n" , stdout); fputs( " - make curl pick the same IP address that is already used\n" " for the control connection\n" "\n" " If this option is used several times, the last one will be used. Dis-\n" " able the use of PORT with --ftp-pasv. Disable the attempt to use the\n" " EPRT command instead of PORT by using --disable-eprt. EPRT is really\n" " PORT++.\n" "\n" " Since 7.19.5, you can append \":[start]-[end]\" to the right of the ad-\n" , stdout); fputs( " dress, to tell curl what TCP port range to use. That means you specify\n" " a port range, from a lower to a higher number. A single number works as\n" " well, but do note that it increases the risk of failure since the port\n" " may not be available.\n" "\n" " See also --ftp-pasv and --disable-eprt.\n" "\n" " --ftp-pret\n" " (FTP) Tell curl to send a PRET command before PASV (and EPSV).\n" " Certain FTP servers, mainly drftpd, require this non-standard\n" , stdout); fputs( " command for directory listings as well as up and downloads in\n" " PASV mode.\n" "\n" " Added in 7.20.0.\n" "\n" " --ftp-skip-pasv-ip\n" " (FTP) Tell curl to not use the IP address the server suggests in\n" " its response to curl's PASV command when curl connects the data\n" " connection. Instead curl will re-use the same IP address it al-\n" " ready uses for the control connection.\n" "\n" , stdout); fputs( " This option has no effect if PORT, EPRT or EPSV is used instead\n" " of PASV.\n" "\n" " See also --ftp-pasv. Added in 7.14.2.\n" "\n" " --ftp-ssl-ccc-mode <active/passive>\n" " (FTP) Sets the CCC mode. The passive mode will not initiate the\n" " shutdown, but instead wait for the server to do it, and will not\n" " reply to the shutdown from the server. The active mode initiates\n" , stdout); fputs( " the shutdown and waits for a reply from the server.\n" "\n" " See also --ftp-ssl-ccc. Added in 7.16.2.\n" "\n" " --ftp-ssl-ccc\n" " (FTP) Use CCC (Clear Command Channel) Shuts down the SSL/TLS\n" " layer after authenticating. The rest of the control channel com-\n" " munication will be unencrypted. This allows NAT routers to fol-\n" " low the FTP transaction. The default mode is passive.\n" "\n" , stdout); fputs( " See also --ssl and --ftp-ssl-ccc-mode. Added in 7.16.1.\n" "\n" " --ftp-ssl-control\n" " (FTP) Require SSL/TLS for the FTP login, clear for transfer.\n" " Allows secure authentication, but non-encrypted data transfers\n" " for efficiency. Fails the transfer if the server doesn't sup-\n" " port SSL/TLS.\n" "\n" " Added in 7.16.0.\n" "\n" " -G, --get\n" " When used, this option will make all data specified with -d,\n" , stdout); fputs( " --data, --data-binary or --data-urlencode to be used in an HTTP\n" " GET request instead of the POST request that otherwise would be\n" " used. The data will be appended to the URL with a '?' separator.\n" " If used in combination with -I, --head, the POST data will in-\n" " stead be appended to the URL with a HEAD request.\n" "\n" " If this option is used several times, only the first one is\n" , stdout); fputs( " used. This is because undoing a GET doesn't make sense, but you\n" " should then instead enforce the alternative method you prefer.\n" "\n" " -g, --globoff\n" " This option switches off the \"URL globbing parser\". When you set\n" " this option, you can specify URLs that contain the letters {}[]\n" " without having them being interpreted by curl itself. Note that\n" " these letters are not normal legal URL contents but they should\n" , stdout); fputs( " be encoded according to the URI standard.\n" "\n" " --happy-eyeballs-timeout-ms <milliseconds>\n" " Happy eyeballs is an algorithm that attempts to connect to both\n" " IPv4 and IPv6 addresses for dual-stack hosts, preferring IPv6\n" " first for the number of milliseconds. If the IPv6 address cannot\n" " be connected to within that time then a connection attempt is\n" , stdout); fputs( " made to the IPv4 address in parallel. The first connection to be\n" " established is the one that is used.\n" "\n" " The range of suggested useful values is limited. Happy Eyeballs\n" " RFC 6555 says \"It is RECOMMENDED that connection attempts be\n" " paced 150-250 ms apart to balance human factors against network\n" " load.\" libcurl currently defaults to 200 ms. Firefox and Chrome\n" " currently default to 300 ms.\n" "\n" , stdout); fputs( " If this option is used several times, the last one will be used.\n" "\n" " Added in 7.59.0.\n" "\n" " --haproxy-protocol\n" " (HTTP) Send a HAProxy PROXY protocol v1 header at the beginning\n" " of the connection. This is used by some load balancers and re-\n" " verse proxies to indicate the client's true IP address and port.\n" " This option is primarily useful when sending test requests to a\n" , stdout); fputs( " service that expects this header.\n" "\n" " Added in 7.60.0.\n" "\n" " -I, --head\n" " (HTTP FTP FILE) Fetch the headers only! HTTP-servers feature the\n" " command HEAD which this uses to get nothing but the header of a\n" " document. When used on an FTP or FILE file, curl displays the\n" " file size and last modification time only.\n" "\n" " -H, --header <header/@file>\n" , stdout); fputs( " (HTTP) Extra header to include in the request when sending HTTP\n" " to a server. You may specify any number of extra headers. Note\n" " that if you should add a custom header that has the same name as\n" " one of the internal ones curl would use, your externally set\n" " header will be used instead of the internal one. This allows you\n" " to make even trickier stuff than curl would normally do. You\n" , stdout); fputs( " should not replace internally set headers without knowing per-\n" " fectly well what you're doing. Remove an internal header by giv-\n" " ing a replacement without content on the right side of the\n" " colon, as in: -H \"Host:\". If you send the custom header with no-\n" " value then its header must be terminated with a semicolon, such\n" " as -H \"X-Custom-Header;\" to send \"X-Custom-Header:\".\n" "\n" , stdout); fputs( " curl will make sure that each header you add/replace is sent\n" " with the proper end-of-line marker, you should thus not add that\n" " as a part of the header content: do not add newlines or carriage\n" " returns, they will only mess things up for you.\n" "\n" " Starting in 7.55.0, this option can take an argument in @file-\n" " name style, which then adds a header for each line in the input\n" , stdout); fputs( " file. Using @- will make curl read the header file from stdin.\n" "\n" " See also the -A, --user-agent and -e, --referer options.\n" "\n" " Starting in 7.37.0, you need --proxy-header to send custom head-\n" " ers intended for a proxy.\n" "\n" " Example:\n" "\n" " curl -H \"X-First-Name: Joe\" http://example.com/\n" "\n" " WARNING: headers set with this option will be set in all re-\n" , stdout); fputs( " quests - even after redirects are followed, like when told with\n" " -L, --location. This can lead to the header being sent to other\n" " hosts than the original host, so sensitive headers should be\n" " used with caution combined with following redirects.\n" "\n" " This option can be used multiple times to add/replace/remove\n" " multiple headers.\n" "\n" " -h, --help\n" , stdout); fputs( " Usage help. This lists all current command line options with a\n" " short description.\n" " --hostpubmd5 <md5>\n" " (SFTP SCP) Pass a string containing 32 hexadecimal digits. The\n" " string should be the 128 bit MD5 checksum of the remote host's\n" " public key, curl will refuse the connection with the host unless\n" " the md5sums match.\n" |
︙ | ︙ | |||
1527 1528 1529 1530 1531 1532 1533 | "\n" " See also --http1.1 and --http3. --http2 requires that the under-\n" " lying libcurl was built to support HTTP/2. This option overrides\n" " --http1.1 and -0, --http1.0 and --http2-prior-knowledge. Added\n" " in 7.33.0.\n" "\n" " --http3\n" | | | 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 | "\n" " See also --http1.1 and --http3. --http2 requires that the under-\n" " lying libcurl was built to support HTTP/2. This option overrides\n" " --http1.1 and -0, --http1.0 and --http2-prior-knowledge. Added\n" " in 7.33.0.\n" "\n" " --http3\n" " (HTTP) WARNING: this option is experimental. Do not use in pro-\n" " duction.\n" "\n" , stdout); fputs( " Tells curl to use HTTP version 3 directly to the host and port\n" " number used in the URL. A normal HTTP/3 transaction will be done\n" " to a host and then get redirected via Alt-SVc, but this option\n" |
︙ | ︙ | |||
2184 2185 2186 2187 2188 2189 2190 2191 | , stdout); fputs( " will force the output to be done to stdout.\n" "\n" " See also -O, --remote-name and --remote-name-all and -J, --re-\n" " mote-header-name.\n" "\n" " --parallel-max\n" | > > > > > > > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 | , stdout); fputs( " will force the output to be done to stdout.\n" "\n" " See also -O, --remote-name and --remote-name-all and -J, --re-\n" " mote-header-name.\n" "\n" " --parallel-immediate\n" " When doing parallel transfers, this option will instruct curl\n" " that it should rather prefer opening up more connections in par-\n" " allel at once rather than waiting to see if new transfers can be\n" , stdout); fputs( " added as multiplexed streams on another connection.\n" "\n" " See also -Z, --parallel and --parallel-max. Added in 7.68.0.\n" "\n" " --parallel-max\n" " When asked to do parallel transfers, using -Z, --parallel, this\n" " option controls the maximum amount of transfers to do simultane-\n" " ously.\n" "\n" " The default is 50.\n" "\n" " See also -Z, --parallel. Added in 7.66.0.\n" "\n" " -Z, --parallel\n" , stdout); fputs( " Makes curl perform its transfers in parallel as compared to the\n" " regular serial manner.\n" "\n" " Added in 7.66.0.\n" "\n" " --pass <phrase>\n" " (SSH TLS) Passphrase for the private key\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " --path-as-is\n" " Tell curl to not handle sequences of /../ or /./ in the given\n" " URL path. Normally curl will squash or merge them according to\n" , stdout); fputs( " standards but with this option set you tell it not to do that.\n" "\n" " Added in 7.42.0.\n" "\n" " --pinnedpubkey <hashes>\n" " (TLS) Tells curl to use the specified public key file (or\n" " hashes) to verify the peer. This can be a path to a file which\n" " contains a single public key in PEM or DER format, or any number\n" " of base64 encoded sha256 hashes preceded by 'sha256//' and sepa-\n" " rated by ';'\n" "\n" , stdout); fputs( " When negotiating a TLS or SSL connection, the server sends a\n" " certificate indicating its identity. A public key is extracted\n" " from this certificate and if it does not exactly match the pub-\n" " lic key provided to this option, curl will abort the connection\n" " before sending or receiving any data.\n" "\n" " PEM/DER support:\n" " 7.39.0: OpenSSL, GnuTLS and GSKit\n" " 7.43.0: NSS and wolfSSL\n" , stdout); fputs( " 7.47.0: mbedtls sha256 support:\n" " 7.44.0: OpenSSL, GnuTLS, NSS and wolfSSL\n" " 7.47.0: mbedtls Other SSL backends not supported.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " --post301\n" " (HTTP) Tells curl to respect RFC 7231/6.4.2 and not convert POST\n" " requests into GET requests when following a 301 redirection. The\n" , stdout); fputs( " non-RFC behaviour is ubiquitous in web browsers, so curl does\n" " the conversion by default to maintain consistency. However, a\n" " server may require a POST to remain a POST after such a redi-\n" " rection. This option is meaningful only when using -L, --loca-\n" " tion.\n" "\n" " See also --post302 and --post303 and -L, --location. Added in\n" " 7.17.1.\n" "\n" " --post302\n" , stdout); fputs( " (HTTP) Tells curl to respect RFC 7231/6.4.3 and not convert POST\n" " requests into GET requests when following a 302 redirection. The\n" " non-RFC behaviour is ubiquitous in web browsers, so curl does\n" " the conversion by default to maintain consistency. However, a\n" " server may require a POST to remain a POST after such a redi-\n" " rection. This option is meaningful only when using -L, --loca-\n" " tion.\n" "\n" , stdout); fputs( " See also --post301 and --post303 and -L, --location. Added in\n" " 7.19.1.\n" "\n" " --post303\n" " (HTTP) Tells curl to violate RFC 7231/6.4.4 and not convert POST\n" " requests into GET requests when following 303 redirections. A\n" " server may require a POST to remain a POST after a 303 redirect-\n" " ion. This option is meaningful only when using -L, --location.\n" "\n" , stdout); fputs( " See also --post302 and --post301 and -L, --location. Added in\n" " 7.26.0.\n" "\n" " --preproxy [protocol://]host[:port]\n" " Use the specified SOCKS proxy before connecting to an HTTP or\n" " HTTPS -x, --proxy. In such a case curl first connects to the\n" " SOCKS proxy and then connects (through SOCKS) to the HTTP or\n" " HTTPS proxy. Hence pre proxy.\n" "\n" , stdout); fputs( " The pre proxy string should be specified with a protocol:// pre-\n" " fix to specify alternative proxy protocols. Use socks4://,\n" " socks4a://, socks5:// or socks5h:// to request the specific\n" " SOCKS version to be used. No protocol specified will make curl\n" " default to SOCKS4.\n" "\n" " If the port number is not specified in the proxy string, it is\n" " assumed to be 1080.\n" "\n" , stdout); fputs( " User and password that might be provided in the proxy string are\n" " URL decoded by curl. This allows you to pass in special charac-\n" " ters such as @ by using %40 or pass in a colon with %3a.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " Added in 7.52.0.\n" "\n" " -#, --progress-bar\n" " Make curl display transfer progress as a simple progress bar in-\n" , stdout); fputs( " stead of the standard, more informational, meter.\n" "\n" " This progress bar draws a single line of '#' characters across\n" " the screen and shows a percentage if the transfer size is known.\n" " For transfers without a known size, there will be space ship\n" " (-=o=-) that moves back and forth but only while data is being\n" " transferred, with a set of flying hash sign symbols on top.\n" "\n" " --proto-default <protocol>\n" , stdout); fputs( " Tells curl to use protocol for any URL missing a scheme name.\n" "\n" " Example:\n" "\n" " curl --proto-default https ftp.mozilla.org\n" "\n" " An unknown or unsupported protocol causes error CURLE_UNSUP-\n" " PORTED_PROTOCOL (1).\n" "\n" " This option does not change the default proxy protocol (http).\n" "\n" " Without this option curl would make a guess based on the host,\n" " see --url for details.\n" "\n" , stdout); fputs( " Added in 7.45.0.\n" "\n" " --proto-redir <protocols>\n" " Tells curl to limit what protocols it may use on redirect. Pro-\n" " tocols denied by --proto are not overridden by this option. See\n" " --proto for how protocols are represented.\n" "\n" " Example, allow only HTTP and HTTPS on redirect:\n" "\n" " curl --proto-redir -all,http,https http://example.com\n" "\n" " By default curl will allow HTTP, HTTPS, FTP and FTPS on redirect\n" , stdout); fputs( " (7.65.2). Older versions of curl allowed all protocols on redi-\n" " rect except several disabled for security reasons: Since 7.19.4\n" " FILE and SCP are disabled, and since 7.40.0 SMB and SMBS are\n" " also disabled. Specifying all or +all enables all protocols on\n" " redirect, including those disabled for security.\n" "\n" " Added in 7.20.2.\n" "\n" " --proto <protocols>\n" , stdout); fputs( " Tells curl to limit what protocols it may use in the transfer.\n" " Protocols are evaluated left to right, are comma separated, and\n" " are each a protocol name or 'all', optionally prefixed by zero\n" " or more modifiers. Available modifiers are:\n" "\n" " + Permit this protocol in addition to protocols already permit-\n" " ted (this is the default if no modifier is used).\n" "\n" , stdout); fputs( " - Deny this protocol, removing it from the list of protocols\n" " already permitted.\n" "\n" " = Permit only this protocol (ignoring the list already permit-\n" " ted), though subject to later modification by subsequent en-\n" " tries in the comma separated list.\n" "\n" " For example:\n" "\n" " --proto -ftps uses the default protocols, but disables ftps\n" "\n" " --proto -all,https,+http\n" , stdout); fputs( " only enables http and https\n" "\n" " --proto =http,https\n" " also only enables http and https\n" "\n" " Unknown protocols produce a warning. This allows scripts to safely rely\n" " on being able to disable potentially dangerous protocols, without rely-\n" " ing upon support for that protocol being built into curl to avoid an\n" " error.\n" "\n" " This option can be used multiple times, in which case the effect is the\n" , stdout); fputs( " same as concatenating the protocols into one instance of the option.\n" "\n" " See also --proto-redir and --proto-default. Added in 7.20.2.\n" "\n" " --proxy-anyauth\n" " Tells curl to pick a suitable authentication method when commu-\n" " nicating with the given HTTP proxy. This might cause an extra\n" " request/response round-trip.\n" "\n" " See also -x, --proxy and --proxy-basic and --proxy-digest. Added\n" " in 7.13.2.\n" "\n" " --proxy-basic\n" , stdout); fputs( " Tells curl to use HTTP Basic authentication when communicating\n" " with the given proxy. Use --basic for enabling HTTP Basic with a\n" " remote host. Basic is the default authentication method curl\n" " uses with proxies.\n" "\n" " See also -x, --proxy and --proxy-anyauth and --proxy-digest.\n" "\n" " --proxy-cacert <file>\n" " Same as --cacert but used in HTTPS proxy context.\n" "\n" , stdout); fputs( " See also --proxy-capath and --cacert and --capath and -x,\n" " --proxy. Added in 7.52.0.\n" "\n" " --proxy-capath <dir>\n" " Same as --capath but used in HTTPS proxy context.\n" "\n" " See also --proxy-cacert and -x, --proxy and --capath. Added in\n" " 7.52.0.\n" "\n" " --proxy-cert-type <type>\n" " Same as --cert-type but used in HTTPS proxy context.\n" "\n" " Added in 7.52.0.\n" "\n" |
︙ | ︙ | |||
2461 2462 2463 2464 2465 2466 2467 | "\n" " --proxy-crlfile <file>\n" " Same as --crlfile but used in HTTPS proxy context.\n" "\n" " Added in 7.52.0.\n" "\n" " --proxy-digest\n" | | | | | | | | | | | | | | | | | | | | | | | | | 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 | "\n" " --proxy-crlfile <file>\n" " Same as --crlfile but used in HTTPS proxy context.\n" "\n" " Added in 7.52.0.\n" "\n" " --proxy-digest\n" " Tells curl to use HTTP Digest authentication when communicating\n" , stdout); fputs( " with the given proxy. Use --digest for enabling HTTP Digest with\n" " a remote host.\n" "\n" " See also -x, --proxy and --proxy-anyauth and --proxy-basic.\n" "\n" " --proxy-header <header/@file>\n" " (HTTP) Extra header to include in the request when sending HTTP\n" " to a proxy. You may specify any number of extra headers. This is\n" " the equivalent option to -H, --header but is for proxy communi-\n" , stdout); fputs( " cation only like in CONNECT requests when you want a separate\n" " header sent to the proxy to what is sent to the actual remote\n" " host.\n" "\n" " curl will make sure that each header you add/replace is sent\n" " with the proper end-of-line marker, you should thus not add that\n" " as a part of the header content: do not add newlines or carriage\n" " returns, they will only mess things up for you.\n" "\n" , stdout); fputs( " Headers specified with this option will not be included in re-\n" " quests that curl knows will not be sent to a proxy.\n" "\n" " Starting in 7.55.0, this option can take an argument in @file-\n" " name style, which then adds a header for each line in the input\n" " file. Using @- will make curl read the header file from stdin.\n" "\n" " This option can be used multiple times to add/replace/remove\n" " multiple headers.\n" "\n" , stdout); fputs( " Added in 7.37.0.\n" " --proxy-insecure\n" " Same as -k, --insecure but used in HTTPS proxy context.\n" "\n" " Added in 7.52.0.\n" "\n" " --proxy-key-type <type>\n" " Same as --key-type but used in HTTPS proxy context.\n" "\n" " Added in 7.52.0.\n" "\n" " --proxy-key <key>\n" " Same as --key but used in HTTPS proxy context.\n" "\n" " --proxy-negotiate\n" " Tells curl to use HTTP Negotiate (SPNEGO) authentication when\n" , stdout); fputs( " communicating with the given proxy. Use --negotiate for enabling\n" " HTTP Negotiate (SPNEGO) with a remote host.\n" "\n" " See also --proxy-anyauth and --proxy-basic. Added in 7.17.1.\n" "\n" " --proxy-ntlm\n" " Tells curl to use HTTP NTLM authentication when communicating\n" " with the given proxy. Use --ntlm for enabling NTLM with a remote\n" " host.\n" "\n" " See also --proxy-negotiate and --proxy-anyauth.\n" "\n" , stdout); fputs( " --proxy-pass <phrase>\n" " Same as --pass but used in HTTPS proxy context.\n" "\n" " Added in 7.52.0.\n" "\n" " --proxy-pinnedpubkey <hashes>\n" " (TLS) Tells curl to use the specified public key file (or\n" " hashes) to verify the proxy. This can be a path to a file which\n" " contains a single public key in PEM or DER format, or any number\n" " of base64 encoded sha256 hashes preceded by 'sha256//' and sepa-\n" , stdout); fputs( " rated by ';'\n" "\n" " When negotiating a TLS or SSL connection, the server sends a\n" " certificate indicating its identity. A public key is extracted\n" " from this certificate and if it does not exactly match the pub-\n" " lic key provided to this option, curl will abort the connection\n" " before sending or receiving any data.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" , stdout); fputs( " --proxy-service-name <name>\n" " This option allows you to change the service name for proxy ne-\n" " gotiation.\n" "\n" " Added in 7.43.0.\n" "\n" " --proxy-ssl-allow-beast\n" " Same as --ssl-allow-beast but used in HTTPS proxy context.\n" "\n" " Added in 7.52.0.\n" "\n" " --proxy-tls13-ciphers <ciphersuite list>\n" " (TLS) Specifies which cipher suites to use in the connection to\n" , stdout); fputs( " your HTTPS proxy when it negotiates TLS 1.3. The list of ciphers\n" " suites must specify valid ciphers. Read up on TLS 1.3 cipher\n" " suite details on this URL:\n" "\n" " https://curl.haxx.se/docs/ssl-ciphers.html\n" "\n" " This option is currently used only when curl is built to use\n" " OpenSSL 1.1.1 or later. If you are using a different SSL backend\n" " you can try setting TLS 1.3 cipher suites by using the --proxy-\n" , stdout); fputs( " ciphers option.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " --proxy-tlsauthtype <type>\n" |
︙ | ︙ | |||
2607 2608 2609 2610 2611 2612 2613 | "\n" " --proxy-tlsv1\n" " Same as -1, --tlsv1 but used in HTTPS proxy context.\n" "\n" " Added in 7.52.0.\n" "\n" " -U, --proxy-user <user:password>\n" | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 | "\n" " --proxy-tlsv1\n" " Same as -1, --tlsv1 but used in HTTPS proxy context.\n" "\n" " Added in 7.52.0.\n" "\n" " -U, --proxy-user <user:password>\n" " Specify the user name and password to use for proxy authentica-\n" " tion.\n" "\n" " If you use a Windows SSPI-enabled curl binary and do either Ne-\n" " gotiate or NTLM authentication then you can tell curl to select\n" , stdout); fputs( " the user name and password from your environment by specifying a\n" " single colon with this option: \"-U :\".\n" "\n" " On systems where it works, curl will hide the given option argu-\n" " ment from process listings. This is not enough to protect cre-\n" " dentials from possibly getting seen by other users on the same\n" " system as they will still be visible for a brief moment before\n" , stdout); fputs( " cleared. Such sensitive data should be retrieved from a file in-\n" " stead or similar and never used in clear text in a command line.\n" " If this option is used several times, the last one will be used.\n" "\n" " -x, --proxy [protocol://]host[:port]\n" " Use the specified proxy.\n" "\n" " The proxy string can be specified with a protocol:// prefix. No\n" " protocol specified or http:// will be treated as HTTP proxy. Use\n" , stdout); fputs( " socks4://, socks4a://, socks5:// or socks5h:// to request a spe-\n" " cific SOCKS version to be used. (The protocol support was added\n" " in curl 7.21.7)\n" "\n" " HTTPS proxy support via https:// protocol prefix was added in\n" " 7.52.0 for OpenSSL, GnuTLS and NSS.\n" "\n" " Unrecognized and unsupported proxy protocols cause an error\n" " since 7.52.0. Prior versions may ignore the protocol and use\n" , stdout); fputs( " http:// instead.\n" "\n" " If the port number is not specified in the proxy string, it is\n" " assumed to be 1080.\n" "\n" " This option overrides existing environment variables that set\n" " the proxy to use. If there's an environment variable setting a\n" " proxy, you can set proxy to \"\" to override it.\n" "\n" " All operations that are performed over an HTTP proxy will trans-\n" , stdout); fputs( " parently be converted to HTTP. It means that certain protocol\n" " specific operations might not be available. This is not the case\n" " if you can tunnel through the proxy, as one with the -p, --prox-\n" " ytunnel option.\n" "\n" " User and password that might be provided in the proxy string are\n" " URL decoded by curl. This allows you to pass in special charac-\n" " ters such as @ by using %40 or pass in a colon with %3a.\n" "\n" , stdout); fputs( " The proxy host can be specified the exact same way as the proxy\n" " environment variables, including the protocol prefix (http://)\n" " and the embedded user + password.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " --proxy1.0 <host[:port]>\n" " Use the specified HTTP 1.0 proxy. If the port number is not\n" " specified, it is assumed at port 1080.\n" "\n" , stdout); fputs( " The only difference between this and the HTTP proxy option -x,\n" " --proxy, is that attempts to use CONNECT through the proxy will\n" " specify an HTTP 1.0 protocol instead of the default HTTP 1.1.\n" "\n" " -p, --proxytunnel\n" " When an HTTP proxy is used -x, --proxy, this option will make\n" " curl tunnel through the proxy. The tunnel approach is made with\n" " the HTTP proxy CONNECT request and requires that the proxy al-\n" , stdout); fputs( " lows direct connect to the remote port number curl wants to tun-\n" " nel through to.\n" "\n" " To suppress proxy CONNECT response headers when curl is set to\n" " output headers use --suppress-connect-headers.\n" "\n" " See also -x, --proxy.\n" "\n" " --pubkey <key>\n" " (SFTP SCP) Public key file name. Allows you to provide your pub-\n" " lic key in this separate file.\n" "\n" , stdout); fputs( " If this option is used several times, the last one will be used.\n" " (As of 7.39.0, curl attempts to automatically extract the public\n" " key from the private key file, so passing this option is gener-\n" " ally not required. Note that this public key extraction requires\n" " libcurl to be linked against a copy of libssh2 1.2.8 or higher\n" " that is itself linked against OpenSSL.)\n" "\n" " -Q, --quote\n" , stdout); fputs( " (FTP SFTP) Send an arbitrary command to the remote FTP or SFTP\n" " server. Quote commands are sent BEFORE the transfer takes place\n" " (just after the initial PWD command in an FTP transfer, to be\n" " exact). To make commands take place after a successful transfer,\n" " prefix them with a dash '-'. To make commands be sent after\n" " curl has changed the working directory, just before the transfer\n" , stdout); fputs( " command(s), prefix the command with a '+' (this is only sup-\n" " ported for FTP). You may specify any number of commands.\n" "\n" " If the server returns failure for one of the commands, the en-\n" " tire operation will be aborted. You must send syntactically cor-\n" " rect FTP commands as RFC 959 defines to FTP servers, or one of\n" " the commands listed below to SFTP servers.\n" "\n" , stdout); fputs( " Prefix the command with an asterisk (*) to make curl continue\n" " even if the command fails as by default curl will stop at first\n" " failure.\n" "\n" " This option can be used multiple times.\n" "\n" " SFTP is a binary protocol. Unlike for FTP, curl interprets SFTP\n" " quote commands itself before sending them to the server. File\n" " names may be quoted shell-style to embed spaces or special char-\n" , stdout); fputs( " acters. Following is the list of all supported SFTP quote com-\n" " mands:\n" "\n" " chgrp group file\n" " The chgrp command sets the group ID of the file named by\n" " the file operand to the group ID specified by the group\n" " operand. The group operand is a decimal integer group ID.\n" "\n" " chmod mode file\n" " The chmod command modifies the file mode bits of the\n" , stdout); fputs( " specified file. The mode operand is an octal integer mode\n" " number.\n" "\n" " chown user file\n" " The chown command sets the owner of the file named by the\n" " file operand to the user ID specified by the user oper-\n" " and. The user operand is a decimal integer user ID.\n" "\n" " ln source_file target_file\n" " The ln and symlink commands create a symbolic link at the\n" , stdout); fputs( " target_file location pointing to the source_file loca-\n" " tion.\n" "\n" " mkdir directory_name\n" " The mkdir command creates the directory named by the di-\n" " rectory_name operand.\n" "\n" " pwd The pwd command returns the absolute pathname of the cur-\n" " rent working directory.\n" "\n" " rename source target\n" , stdout); fputs( " The rename command renames the file or directory named by\n" " the source operand to the destination path named by the\n" " target operand.\n" "\n" " rm file\n" " The rm command removes the file specified by the file op-\n" " erand.\n" "\n" " rmdir directory\n" " The rmdir command removes the directory entry specified\n" , stdout); fputs( " by the directory operand, provided it is empty.\n" "\n" " symlink source_file target_file\n" " See ln.\n" "\n" " --random-file <file>\n" " Specify the path name to file containing what will be considered\n" " as random data. The data may be used to seed the random engine\n" " for SSL connections. See also the --egd-file option.\n" "\n" " -r, --range <range>\n" , stdout); fputs( " (HTTP FTP SFTP FILE) Retrieve a byte range (i.e. a partial docu-\n" " ment) from an HTTP/1.1, FTP or SFTP server or a local FILE.\n" " Ranges can be specified in a number of ways.\n" "\n" " 0-499 specifies the first 500 bytes\n" "\n" " 500-999 specifies the second 500 bytes\n" "\n" " -500 specifies the last 500 bytes\n" "\n" " 9500- specifies the bytes from offset 9500 and forward\n" "\n" , stdout); fputs( " 0-0,-1 specifies the first and last byte only(*)(HTTP)\n" "\n" " 100-199,500-599\n" " specifies two separate 100-byte ranges(*) (HTTP)\n" "\n" " (*) = NOTE that this will cause the server to reply with a mul-\n" " tipart response!\n" "\n" " Only digit characters (0-9) are valid in the 'start' and 'stop'\n" " fields of the 'start-stop' range syntax. If a non-digit charac-\n" , stdout); fputs( " ter is given in the range, the server's response will be unspec-\n" " ified, depending on the server's configuration.\n" "\n" " You should also be aware that many HTTP/1.1 servers do not have\n" " this feature enabled, so that when you attempt to get a range,\n" " you'll instead get the whole document.\n" "\n" " FTP and SFTP range downloads only support the simple 'start-\n" , stdout); fputs( " stop' syntax (optionally with one of the numbers omitted). FTP\n" " use depends on the extended FTP command SIZE.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " --raw (HTTP) When used, it disables all internal HTTP decoding of con-\n" " tent or transfer encodings and instead makes them passed on un-\n" " altered, raw.\n" "\n" " Added in 7.16.2.\n" "\n" " -e, --referer <URL>\n" , stdout); fputs( " (HTTP) Sends the \"Referrer Page\" information to the HTTP server.\n" " This can also be set with the -H, --header flag of course. When\n" " used with -L, --location you can append \";auto\" to the -e,\n" " --referer URL to make curl automatically set the previous URL\n" " when it follows a Location: header. The \";auto\" string can be\n" " used alone, even if you don't set an initial -e, --referer.\n" "\n" , stdout); fputs( " If this option is used several times, the last one will be used.\n" "\n" " See also -A, --user-agent and -H, --header.\n" "\n" " -J, --remote-header-name\n" " (HTTP) This option tells the -O, --remote-name option to use the\n" " server-specified Content-Disposition filename instead of ex-\n" " tracting a filename from the URL.\n" "\n" " If the server specifies a file name and a file with that name\n" , stdout); fputs( " already exists in the current working directory it will not be\n" " overwritten and an error will occur. If the server doesn't spec-\n" " ify a file name then this option has no effect.\n" "\n" " There's no attempt to decode %-sequences (yet) in the provided\n" " file name, so this option may provide you with rather unexpected\n" " file names.\n" "\n" " WARNING: Exercise judicious use of this option, especially on\n" , stdout); fputs( " Windows. A rogue server could send you the name of a DLL or\n" " other file that could possibly be loaded automatically by Win-\n" " dows or some third party software.\n" "\n" " --remote-name-all\n" " This option changes the default action for all given URLs to be\n" " dealt with as if -O, --remote-name were used for each one. So if\n" " you want to disable that for a specific URL after --remote-name-\n" , stdout); fputs( " all has been used, you must use \"-o -\" or --no-remote-name.\n" "\n" " Added in 7.19.0.\n" "\n" " -O, --remote-name\n" " Write output to a local file named like the remote file we get.\n" " (Only the file part of the remote file is used, the path is cut\n" " off.)\n" "\n" " The file will be saved in the current working directory. If you\n" " want the file saved in a different directory, make sure you\n" , stdout); fputs( " change the current working directory before invoking curl with\n" " this option.\n" "\n" " The remote file name to use for saving is extracted from the\n" " given URL, nothing else, and if it already exists it will be\n" " overwritten. If you want the server to be able to choose the\n" " file name refer to -J, --remote-header-name which can be used in\n" , stdout); fputs( " addition to this option. If the server chooses a file name and\n" " that name already exists it will not be overwritten.\n" "\n" " There is no URL decoding done on the file name. If it has %20 or\n" " other URL encoded parts of the name, they will end up as-is as\n" " file name.\n" "\n" " You may use this option as many times as the number of URLs you\n" " have.\n" "\n" " -R, --remote-time\n" , stdout); fputs( " When used, this will make curl attempt to figure out the time-\n" " stamp of the remote file, and if that is available make the lo-\n" " cal file get that same timestamp.\n" "\n" " --request-target\n" " (HTTP) Tells curl to use an alternative \"target\" (path) instead\n" " of using the path as provided in the URL. Particularly useful\n" " when wanting to issue HTTP requests without leading slash or\n" , stdout); fputs( " other data that doesn't follow the regular URL pattern, like\n" " \"OPTIONS *\".\n" "\n" " Added in 7.55.0.\n" "\n" " -X, --request <command>\n" " (HTTP) Specifies a custom request method to use when communicat-\n" " ing with the HTTP server. The specified request method will be\n" " used instead of the method otherwise used (which defaults to\n" " GET). Read the HTTP 1.1 specification for details and explana-\n" , stdout); fputs( " tions. Common additional HTTP requests include PUT and DELETE,\n" " but related technologies like WebDAV offers PROPFIND, COPY, MOVE\n" " and more.\n" "\n" " Normally you don't need this option. All sorts of GET, HEAD,\n" " POST and PUT requests are rather invoked by using dedicated com-\n" " mand line options.\n" "\n" " This option only changes the actual word used in the HTTP re-\n" , stdout); fputs( " quest, it does not alter the way curl behaves. So for example if\n" " you want to make a proper HEAD request, using -X HEAD will not\n" " suffice. You need to use the -I, --head option.\n" "\n" " The method string you set with -X, --request will be used for\n" " all requests, which if you for example use -L, --location may\n" " cause unintended side-effects when curl doesn't change request\n" , stdout); fputs( " method according to the HTTP 30x response codes - and similar.\n" "\n" " (FTP) Specifies a custom FTP command to use instead of LIST when\n" " doing file lists with FTP.\n" "\n" " (POP3) Specifies a custom POP3 command to use instead of LIST or\n" " RETR. (Added in 7.26.0)\n" "\n" " (IMAP) Specifies a custom IMAP command to use instead of LIST.\n" " (Added in 7.30.0)\n" "\n" , stdout); fputs( " (SMTP) Specifies a custom SMTP command to use instead of HELP or\n" " VRFY. (Added in 7.34.0)\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " --resolve <host:port:address[,address]...>\n" " Provide a custom address for a specific host and port pair. Us-\n" " ing this, you can make the curl requests(s) use a specified ad-\n" " dress and prevent the otherwise normally resolved address to be\n" , stdout); fputs( " used. Consider it a sort of /etc/hosts alternative provided on\n" " the command line. The port number should be the number used for\n" " the specific protocol the host will be used for. It means you\n" " need several entries if you want to provide address for the same\n" " host but different ports.\n" "\n" " By specifying '*' as host you can tell curl to resolve any host\n" , stdout); fputs( " and specific port pair to the specified address. Wildcard is re-\n" " solved last so any --resolve with a specific host and port will\n" " be used first.\n" "\n" " The provided address set by this option will be used even if -4,\n" " --ipv4 or -6, --ipv6 is set to make curl use another IP version.\n" " Support for providing the IP address within [brackets] was added\n" " in 7.57.0.\n" "\n" , stdout); fputs( " Support for providing multiple IP addresses per entry was added\n" " in 7.59.0.\n" "\n" " Support for resolving with wildcard was added in 7.64.0.\n" "\n" " This option can be used many times to add many host names to re-\n" " solve.\n" "\n" " Added in 7.21.3.\n" "\n" " --retry-connrefused\n" " In addition to the other conditions, consider ECONNREFUSED as a\n" " transient error too for --retry. This option is used together\n" , stdout); fputs( " with --retry.\n" "\n" " Added in 7.52.0.\n" "\n" " --retry-delay <seconds>\n" " Make curl sleep this amount of time before each retry when a\n" " transfer has failed with a transient error (it changes the de-\n" " fault backoff time algorithm between retries). This option is\n" " only interesting if --retry is also used. Setting this delay to\n" " zero will make curl use the default backoff time.\n" "\n" , stdout); fputs( " If this option is used several times, the last one will be used.\n" "\n" " Added in 7.12.3.\n" "\n" " --retry-max-time <seconds>\n" " The retry timer is reset before the first transfer attempt. Re-\n" " tries will be done as usual (see --retry) as long as the timer\n" " hasn't reached this given limit. Notice that if the timer hasn't\n" " reached the limit, the request will be made and while perform-\n" , stdout); fputs( " ing, it may take longer than this given time period. To limit a\n" " single request's maximum time, use -m, --max-time. Set this op-\n" " tion to zero to not timeout retries.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " Added in 7.12.3.\n" "\n" " --retry <num>\n" " If a transient error is returned when curl tries to perform a\n" , stdout); fputs( " transfer, it will retry this number of times before giving up.\n" " Setting the number to 0 makes curl do no retries (which is the\n" " default). Transient error means either: a timeout, an FTP 4xx\n" " response code or an HTTP 408 or 5xx response code.\n" "\n" " When curl is about to retry a transfer, it will first wait one\n" " second and then for all forthcoming retries it will double the\n" , stdout); fputs( " waiting time until it reaches 10 minutes which then will be the\n" " delay between the rest of the retries. By using --retry-delay\n" " you disable this exponential backoff algorithm. See also\n" " --retry-max-time to limit the total time allowed for retries.\n" "\n" " Since curl 7.66.0, curl will comply with the Retry-After: re-\n" " sponse header if one was present to know when to issue the next\n" " retry.\n" "\n" , stdout); fputs( " If this option is used several times, the last one will be used.\n" "\n" " Added in 7.12.3.\n" "\n" " --sasl-authzid\n" " Use this authorisation identity (authzid), during SASL PLAIN au-\n" " thentication, in addition to the authentication identity (auth-\n" " cid) as specified by -u, --user.\n" "\n" " If the option isn't specified, the server will derive the au-\n" " thzid from the authcid, but if specified, and depending on the\n" , stdout); fputs( " server implementation, it may be used to access another user's\n" " inbox, that the user has been granted access to, or a shared\n" " mailbox for example.\n" "\n" " Added in 7.66.0.\n" "\n" " --sasl-ir\n" " Enable initial response in SASL authentication.\n" "\n" " Added in 7.31.0.\n" "\n" " --service-name <name>\n" " This option allows you to change the service name for SPNEGO.\n" "\n" , stdout); fputs( " Examples: --negotiate --service-name sockd would use\n" " sockd/server-name.\n" "\n" " Added in 7.43.0.\n" " -S, --show-error\n" " When used with -s, --silent, it makes curl show an error message\n" " if it fails.\n" " -s, --silent\n" " Silent or quiet mode. Don't show progress meter or error mes-\n" " sages. Makes Curl mute. It will still output the data you ask\n" , stdout); fputs( " for, potentially even to the terminal/stdout unless you redirect\n" " it.\n" "\n" " Use -S, --show-error in addition to this option to disable\n" " progress meter but still show error messages.\n" "\n" " See also -v, --verbose and --stderr.\n" "\n" " --socks4 <host[:port]>\n" " Use the specified SOCKS4 proxy. If the port number is not speci-\n" " fied, it is assumed at port 1080.\n" "\n" , stdout); fputs( " This option overrides any previous use of -x, --proxy, as they\n" " are mutually exclusive.\n" "\n" " Since 7.21.7, this option is superfluous since you can specify a\n" " socks4 proxy with -x, --proxy using a socks4:// protocol prefix.\n" " Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n" " the same time -x, --proxy is used with an HTTP/HTTPS proxy. In\n" , stdout); fputs( " such a case curl first connects to the SOCKS proxy and then con-\n" " nects (through SOCKS) to the HTTP or HTTPS proxy.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " Added in 7.15.2.\n" "\n" " --socks4a <host[:port]>\n" " Use the specified SOCKS4a proxy. If the port number is not spec-\n" " ified, it is assumed at port 1080.\n" "\n" " This option overrides any previous use of -x, --proxy, as they\n" , stdout); fputs( " are mutually exclusive.\n" "\n" " Since 7.21.7, this option is superfluous since you can specify a\n" " socks4a proxy with -x, --proxy using a socks4a:// protocol pre-\n" " fix.\n" "\n" " Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n" " the same time -x, --proxy is used with an HTTP/HTTPS proxy. In\n" " such a case curl first connects to the SOCKS proxy and then con-\n" , stdout); fputs( " nects (through SOCKS) to the HTTP or HTTPS proxy.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " Added in 7.18.0.\n" "\n" " --socks5-basic\n" " Tells curl to use username/password authentication when connect-\n" " ing to a SOCKS5 proxy. The username/password authentication is\n" " enabled by default. Use --socks5-gssapi to force GSS-API au-\n" " thentication to SOCKS5 proxies.\n" "\n" , stdout); fputs( " Added in 7.55.0.\n" "\n" " --socks5-gssapi-nec\n" " As part of the GSS-API negotiation a protection mode is negoti-\n" " ated. RFC 1961 says in section 4.3/4.4 it should be protected,\n" " but the NEC reference implementation does not. The option\n" " --socks5-gssapi-nec allows the unprotected exchange of the pro-\n" " tection mode negotiation.\n" "\n" " Added in 7.19.4.\n" "\n" " --socks5-gssapi-service <name>\n" , stdout); fputs( " The default service name for a socks server is rcmd/server-fqdn.\n" " This option allows you to change it.\n" "\n" " Examples: --socks5 proxy-name --socks5-gssapi-service sockd\n" " would use sockd/proxy-name --socks5 proxy-name --socks5-gssapi-\n" " service sockd/real-name would use sockd/real-name for cases\n" " where the proxy-name does not match the principal name.\n" "\n" " Added in 7.19.4.\n" "\n" " --socks5-gssapi\n" , stdout); fputs( " Tells curl to use GSS-API authentication when connecting to a\n" " SOCKS5 proxy. The GSS-API authentication is enabled by default\n" " (if curl is compiled with GSS-API support). Use --socks5-basic\n" " to force username/password authentication to SOCKS5 proxies.\n" "\n" " Added in 7.55.0.\n" "\n" " --socks5-hostname <host[:port]>\n" " Use the specified SOCKS5 proxy (and let the proxy resolve the\n" , stdout); fputs( " host name). If the port number is not specified, it is assumed\n" " at port 1080.\n" "\n" " This option overrides any previous use of -x, --proxy, as they\n" " are mutually exclusive.\n" "\n" " Since 7.21.7, this option is superfluous since you can specify a\n" " socks5 hostname proxy with -x, --proxy using a socks5h:// proto-\n" " col prefix.\n" "\n" " Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n" , stdout); fputs( " the same time -x, --proxy is used with an HTTP/HTTPS proxy. In\n" " such a case curl first connects to the SOCKS proxy and then con-\n" " nects (through SOCKS) to the HTTP or HTTPS proxy.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " Added in 7.18.0.\n" "\n" " --socks5 <host[:port]>\n" " Use the specified SOCKS5 proxy - but resolve the host name lo-\n" , stdout); fputs( " cally. If the port number is not specified, it is assumed at\n" " port 1080.\n" "\n" " This option overrides any previous use of -x, --proxy, as they\n" " are mutually exclusive.\n" "\n" " Since 7.21.7, this option is superfluous since you can specify a\n" " socks5 proxy with -x, --proxy using a socks5:// protocol prefix.\n" " Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n" , stdout); fputs( " the same time -x, --proxy is used with an HTTP/HTTPS proxy. In\n" " such a case curl first connects to the SOCKS proxy and then con-\n" " nects (through SOCKS) to the HTTP or HTTPS proxy.\n" "\n" " If this option is used several times, the last one will be used.\n" " This option (as well as --socks4) does not work with IPV6, FTPS\n" " or LDAP.\n" "\n" " Added in 7.18.0.\n" "\n" " -Y, --speed-limit <speed>\n" , stdout); fputs( " If a download is slower than this given speed (in bytes per sec-\n" " ond) for speed-time seconds it gets aborted. speed-time is set\n" " with -y, --speed-time and is 30 if not set.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " -y, --speed-time <seconds>\n" " If a download is slower than speed-limit bytes per second during\n" " a speed-time period, the download gets aborted. If speed-time is\n" , stdout); fputs( " used, the default speed-limit will be 1 unless set with -Y,\n" " --speed-limit.\n" "\n" " This option controls transfers and thus will not affect slow\n" " connects etc. If this is a concern for you, try the --connect-\n" " timeout option.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " --ssl-allow-beast\n" " This option tells curl to not work around a security flaw in the\n" , stdout); fputs( " SSL3 and TLS1.0 protocols known as BEAST. If this option isn't\n" " used, the SSL layer may use workarounds known to cause interop-\n" " erability problems with some older SSL implementations. WARNING:\n" " this option loosens the SSL security, and by using this flag you\n" " ask for exactly that.\n" "\n" " Added in 7.25.0.\n" "\n" " --ssl-no-revoke\n" |
︙ | ︙ | |||
3331 3332 3333 3334 3335 3336 3337 | " This option was formerly known as --ftp-ssl-reqd.\n" "\n" " Added in 7.20.0.\n" "\n" , stdout); fputs( " --ssl (FTP IMAP POP3 SMTP) Try to use SSL/TLS for the connection. Re-\n" | | | | | | | | | | | | | | | | | | | | | | | | 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 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 | " This option was formerly known as --ftp-ssl-reqd.\n" "\n" " Added in 7.20.0.\n" "\n" , stdout); fputs( " --ssl (FTP IMAP POP3 SMTP) Try to use SSL/TLS for the connection. Re-\n" " verts to a non-secure connection if the server doesn't support\n" " SSL/TLS. See also --ftp-ssl-control and --ssl-reqd for differ-\n" " ent levels of encryption required.\n" "\n" " This option was formerly known as --ftp-ssl (Added in 7.11.0).\n" " That option name can still be used but will be removed in a fu-\n" " ture version.\n" "\n" , stdout); fputs( " Added in 7.20.0.\n" "\n" " -2, --sslv2\n" " (SSL) Forces curl to use SSL version 2 when negotiating with a\n" " remote SSL server. Sometimes curl is built without SSLv2 sup-\n" " port. SSLv2 is widely considered insecure (see RFC 6176).\n" "\n" " See also --http1.1 and --http2. -2, --sslv2 requires that the\n" " underlying libcurl was built to support TLS. This option over-\n" , stdout); fputs( " rides -3, --sslv3 and -1, --tlsv1 and --tlsv1.1 and --tlsv1.2.\n" "\n" " -3, --sslv3\n" " (SSL) Forces curl to use SSL version 3 when negotiating with a\n" " remote SSL server. Sometimes curl is built without SSLv3 sup-\n" " port. SSLv3 is widely considered insecure (see RFC 7568).\n" "\n" " See also --http1.1 and --http2. -3, --sslv3 requires that the\n" " underlying libcurl was built to support TLS. This option over-\n" , stdout); fputs( " rides -2, --sslv2 and -1, --tlsv1 and --tlsv1.1 and --tlsv1.2.\n" "\n" " --stderr\n" " Redirect all writes to stderr to the specified file instead. If\n" " the file name is a plain '-', it is instead written to stdout.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " See also -v, --verbose and -s, --silent.\n" "\n" " --styled-output\n" " Enables the automatic use of bold font styles when writing HTTP\n" , stdout); fputs( " headers to the terminal. Use --no-styled-output to switch them\n" " off.\n" "\n" " Added in 7.61.0.\n" "\n" " --suppress-connect-headers\n" " When -p, --proxytunnel is used and a CONNECT request is made\n" " don't output proxy CONNECT response headers. This option is\n" " meant to be used with -D, --dump-header or -i, --include which\n" " are used to show protocol headers in the output. It has no ef-\n" , stdout); fputs( " fect on debug options such as -v, --verbose or --trace, or any\n" " statistics.\n" "\n" " See also -D, --dump-header and -i, --include and -p, --proxytun-\n" " nel.\n" "\n" " --tcp-fastopen\n" " Enable use of TCP Fast Open (RFC7413).\n" "\n" " Added in 7.49.0.\n" "\n" " --tcp-nodelay\n" " Turn on the TCP_NODELAY option. See the curl_easy_setopt(3) man\n" " page for details about this option.\n" "\n" , stdout); fputs( " Since 7.50.2, curl sets this option by default and you need to\n" " explicitly switch it off if you don't want it on.\n" "\n" " Added in 7.11.2.\n" "\n" " -t, --telnet-option <opt=val>\n" " Pass options to the telnet protocol. Supported options are:\n" "\n" |
︙ | ︙ | |||
3436 3437 3438 3439 3440 3441 3442 | " Added in 7.20.0.\n" "\n" " --tftp-no-options\n" " (TFTP) Tells curl not to send TFTP options requests.\n" "\n" , stdout); fputs( | | | | | | | | | | | | | | | | | | > > < > | > > | | < > | | < > | | < > | < > | | | < > | < > | > > < < | | < | < > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 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 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 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 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 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 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 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 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 | " Added in 7.20.0.\n" "\n" " --tftp-no-options\n" " (TFTP) Tells curl not to send TFTP options requests.\n" "\n" , stdout); fputs( " This option improves interop with some legacy servers that do\n" " not acknowledge or properly implement TFTP options. When this\n" " option is used --tftp-blksize is ignored.\n" "\n" " Added in 7.48.0.\n" "\n" " -z, --time-cond <time>\n" " (HTTP FTP) Request a file that has been modified later than the\n" " given time and date, or one that has been modified before that\n" , stdout); fputs( " time. The <date expression> can be all sorts of date strings or\n" " if it doesn't match any internal ones, it is taken as a filename\n" " and tries to get the modification date (mtime) from <file> in-\n" " stead. See the curl_getdate(3) man pages for date expression de-\n" " tails.\n" "\n" " Start the date expression with a dash (-) to make it request for\n" " a document that is older than the given date/time, default is a\n" , stdout); fputs( " document that is newer than the specified date/time.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " --tls-max <VERSION>\n" " (SSL) VERSION defines maximum supported TLS version. The minimum\n" " acceptable version is set by tlsv1.0, tlsv1.1, tlsv1.2 or\n" " tlsv1.3.\n" "\n" " default\n" " Use up to recommended TLS version.\n" "\n" " 1.0 Use up to TLSv1.0.\n" , stdout); fputs( " 1.1 Use up to TLSv1.1.\n" " 1.2 Use up to TLSv1.2.\n" " 1.3 Use up to TLSv1.3.\n" "\n" " See also --tlsv1.0 and --tlsv1.1 and --tlsv1.2 and --tlsv1.3. --tls-max\n" " requires that the underlying libcurl was built to support TLS. Added in\n" " 7.54.0.\n" "\n" " --tls13-ciphers <list of TLS 1.3 ciphersuites>\n" " (TLS) Specifies which cipher suites to use in the connection if\n" , stdout); fputs( " it negotiates TLS 1.3. The list of ciphers suites must specify\n" " valid ciphers. Read up on TLS 1.3 cipher suite details on this\n" " URL:\n" "\n" " https://curl.haxx.se/docs/ssl-ciphers.html\n" "\n" " This option is currently used only when curl is built to use\n" " OpenSSL 1.1.1 or later. If you are using a different SSL backend\n" " you can try setting TLS 1.3 cipher suites by using the --ciphers\n" " option.\n" "\n" , stdout); fputs( " If this option is used several times, the last one will be used.\n" "\n" " --tlsauthtype <type>\n" " Set TLS authentication type. Currently, the only supported op-\n" " tion is \"SRP\", for TLS-SRP (RFC 5054). If --tlsuser and\n" " --tlspassword are specified but --tlsauthtype is not, then this\n" " option defaults to \"SRP\". This option works only if the under-\n" , stdout); fputs( " lying libcurl is built with TLS-SRP support, which requires\n" " OpenSSL or GnuTLS with TLS-SRP support.\n" "\n" " Added in 7.21.4.\n" "\n" " --tlspassword\n" " Set password for use with the TLS authentication method speci-\n" " fied with --tlsauthtype. Requires that --tlsuser also be set.\n" "\n" " This doesn't work with TLS 1.3.\n" "\n" " Added in 7.21.4.\n" " --tlsuser <name>\n" , stdout); fputs( " Set username for use with the TLS authentication method speci-\n" " fied with --tlsauthtype. Requires that --tlspassword also is\n" " set.\n" "\n" " This doesn't work with TLS 1.3.\n" "\n" " Added in 7.21.4.\n" "\n" " --tlsv1.0\n" " (TLS) Forces curl to use TLS version 1.0 or later when connect-\n" " ing to a remote TLS server.\n" "\n" " In old versions of curl this option was documented to allow\n" , stdout); fputs( " _only_ TLS 1.0, but behavior was inconsistent depending on the\n" " TLS library. Use --tls-max if you want to set a maximum TLS ver-\n" " sion.\n" "\n" " Added in 7.34.0.\n" "\n" " --tlsv1.1\n" " (TLS) Forces curl to use TLS version 1.1 or later when connect-\n" " ing to a remote TLS server.\n" "\n" " In old versions of curl this option was documented to allow\n" , stdout); fputs( " _only_ TLS 1.1, but behavior was inconsistent depending on the\n" " TLS library. Use --tls-max if you want to set a maximum TLS ver-\n" " sion.\n" "\n" " Added in 7.34.0.\n" "\n" " --tlsv1.2\n" " (TLS) Forces curl to use TLS version 1.2 or later when connect-\n" " ing to a remote TLS server.\n" "\n" " In old versions of curl this option was documented to allow\n" , stdout); fputs( " _only_ TLS 1.2, but behavior was inconsistent depending on the\n" " TLS library. Use --tls-max if you want to set a maximum TLS ver-\n" " sion.\n" "\n" " Added in 7.34.0.\n" "\n" " --tlsv1.3\n" " (TLS) Forces curl to use TLS version 1.3 or later when connect-\n" " ing to a remote TLS server.\n" "\n" " Note that TLS 1.3 is only supported by a subset of TLS backends.\n" , stdout); fputs( " At the time of this writing, they are BoringSSL, NSS, and Secure\n" " Transport (on iOS 11 or later, and macOS 10.13 or later).\n" "\n" " Added in 7.52.0.\n" "\n" " -1, --tlsv1\n" " (SSL) Tells curl to use at least TLS version 1.x when negotiat-\n" " ing with a remote TLS server. That means TLS version 1.0 or\n" " higher\n" "\n" " See also --http1.1 and --http2. -1, --tlsv1 requires that the\n" , stdout); fputs( " underlying libcurl was built to support TLS. This option over-\n" " rides --tlsv1.1 and --tlsv1.2 and --tlsv1.3.\n" "\n" " --tr-encoding\n" " (HTTP) Request a compressed Transfer-Encoding response using one\n" " of the algorithms curl supports, and uncompress the data while\n" " receiving it.\n" "\n" " Added in 7.21.6.\n" "\n" " --trace-ascii <file>\n" " Enables a full trace dump of all incoming and outgoing data, in-\n" , stdout); fputs( " cluding descriptive information, to the given output file. Use\n" " \"-\" as filename to have the output sent to stdout.\n" "\n" " This is very similar to --trace, but leaves out the hex part and\n" " only shows the ASCII part of the dump. It makes smaller output\n" " that might be easier to read for untrained humans.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" , stdout); fputs( " This option overrides --trace and -v, --verbose.\n" "\n" " --trace-time\n" " Prepends a time stamp to each trace or verbose line that curl\n" " displays.\n" "\n" " Added in 7.14.0.\n" "\n" " --trace <file>\n" " Enables a full trace dump of all incoming and outgoing data, in-\n" " cluding descriptive information, to the given output file. Use\n" " \"-\" as filename to have the output sent to stdout. Use \"%\" as\n" , stdout); fputs( " filename to have the output sent to stderr.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " This option overrides -v, --verbose and --trace-ascii.\n" "\n" " --unix-socket <path>\n" " (HTTP) Connect through this Unix domain socket, instead of using\n" " the network.\n" "\n" " Added in 7.40.0.\n" "\n" " -T, --upload-file <file>\n" " This transfers the specified local file to the remote URL. If\n" , stdout); fputs( " there is no file part in the specified URL, curl will append the\n" " local file name. NOTE that you must use a trailing / on the last\n" " directory to really prove to Curl that there is no file name or\n" " curl will think that your last directory name is the remote file\n" " name to use. That will most likely cause the upload operation to\n" " fail. If this is used on an HTTP(S) server, the PUT command will\n" " be used.\n" "\n" , stdout); fputs( " Use the file name \"-\" (a single dash) to use stdin instead of a\n" " given file. Alternately, the file name \".\" (a single period)\n" " may be specified instead of \"-\" to use stdin in non-blocking\n" " mode to allow reading server output while stdin is being up-\n" " loaded.\n" "\n" " You can specify one -T, --upload-file for each URL on the com-\n" " mand line. Each -T, --upload-file + URL pair specifies what to\n" , stdout); fputs( " upload and to where. curl also supports \"globbing\" of the -T,\n" " --upload-file argument, meaning that you can upload multiple\n" " files to a single URL by using the same URL globbing style sup-\n" " ported in the URL, like this:\n" "\n" " curl --upload-file \"{file1,file2}\" http://www.example.com\n" "\n" " or even\n" "\n" " curl -T \"img[1-1000].png\" ftp://ftp.example.com/upload/\n" "\n" , stdout); fputs( " When uploading to an SMTP server: the uploaded data is assumed\n" " to be RFC 5322 formatted. It has to feature the necessary set of\n" " headers and mail body formatted correctly by the user as curl\n" " will not transcode nor encode it further in any way.\n" "\n" " --url <url>\n" " Specify a URL to fetch. This option is mostly handy when you\n" " want to specify URL(s) in a config file.\n" "\n" , stdout); fputs( " If the given URL is missing a scheme name (such as \"http://\" or\n" " \"ftp://\" etc) then curl will make a guess based on the host. If\n" " the outermost sub-domain name matches DICT, FTP, IMAP, LDAP,\n" " POP3 or SMTP then that protocol will be used, otherwise HTTP\n" " will be used. Since 7.45.0 guessing can be disabled by setting a\n" " default protocol, see --proto-default for details.\n" "\n" , stdout); fputs( " This option may be used any number of times. To control where\n" " this URL is written, use the -o, --output or the -O, --remote-\n" " name options.\n" "\n" " -B, --use-ascii\n" " (FTP LDAP) Enable ASCII transfer. For FTP, this can also be en-\n" " forced by using a URL that ends with \";type=A\". This option\n" " causes data sent to stdout to be in text mode for win32 systems.\n" "\n" " -A, --user-agent <name>\n" , stdout); fputs( " (HTTP) Specify the User-Agent string to send to the HTTP server.\n" " To encode blanks in the string, surround the string with single\n" " quote marks. This header can also be set with the -H, --header\n" " or the --proxy-header options.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " -u, --user <user:password>\n" " Specify the user name and password to use for server authentica-\n" , stdout); fputs( " tion. Overrides -n, --netrc and --netrc-optional.\n" "\n" " If you simply specify the user name, curl will prompt for a\n" " password.\n" "\n" " The user name and passwords are split up on the first colon,\n" " which makes it impossible to use a colon in the user name with\n" " this option. The password can, still.\n" "\n" " On systems where it works, curl will hide the given option argu-\n" , stdout); fputs( " ment from process listings. This is not enough to protect cre-\n" " dentials from possibly getting seen by other users on the same\n" " system as they will still be visible for a brief moment before\n" " cleared. Such sensitive data should be retrieved from a file in-\n" " stead or similar and never used in clear text in a command line.\n" " When using Kerberos V5 with a Windows based server you should\n" , stdout); fputs( " include the Windows domain name in the user name, in order for\n" " the server to successfully obtain a Kerberos Ticket. If you\n" " don't then the initial authentication handshake may fail.\n" "\n" " When using NTLM, the user name can be specified simply as the\n" " user name, without the domain, if there is a single domain and\n" " forest in your setup for example.\n" "\n" , stdout); fputs( " To specify the domain name use either Down-Level Logon Name or\n" " UPN (User Principal Name) formats. For example, EXAMPLE\\user and\n" " user@example.com respectively.\n" "\n" " If you use a Windows SSPI-enabled curl binary and perform Ker-\n" " beros V5, Negotiate, NTLM or Digest authentication then you can\n" " tell curl to select the user name and password from your envi-\n" , stdout); fputs( " ronment by specifying a single colon with this option: \"-u :\".\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " -v, --verbose\n" " Makes curl verbose during the operation. Useful for debugging\n" " and seeing what's going on \"under the hood\". A line starting\n" " with '>' means \"header data\" sent by curl, '<' means \"header\n" " data\" received by curl that is hidden in normal cases, and a\n" , stdout); fputs( " line starting with '*' means additional info provided by curl.\n" "\n" " If you only want HTTP headers in the output, -i, --include might\n" " be the option you're looking for.\n" "\n" " If you think this option still doesn't give you enough details,\n" " consider using --trace or --trace-ascii instead.\n" "\n" " Use -s, --silent to make curl really quiet.\n" "\n" " See also -i, --include. This option overrides --trace and\n" , stdout); fputs( " --trace-ascii.\n" "\n" " -V, --version\n" " Displays information about curl and the libcurl version it uses.\n" " The first line includes the full version of curl, libcurl and\n" " other 3rd party libraries linked with the executable.\n" "\n" " The second line (starts with \"Protocols:\") shows all protocols\n" " that libcurl reports to support.\n" "\n" " The third line (starts with \"Features:\") shows specific features\n" , stdout); fputs( " libcurl reports to offer. Available features include:\n" "\n" " IPv6 You can use IPv6 with this.\n" "\n" " krb4 Krb4 for FTP is supported.\n" "\n" " SSL SSL versions of various protocols are supported, such as\n" " HTTPS, FTPS, POP3S and so on.\n" "\n" " libz Automatic decompression of compressed files over HTTP is\n" " supported.\n" "\n" " NTLM NTLM authentication is supported.\n" "\n" , stdout); fputs( " Debug This curl uses a libcurl built with Debug. This enables\n" " more error-tracking and memory debugging etc. For curl-\n" " developers only!\n" "\n" " AsynchDNS\n" " This curl uses asynchronous name resolves. Asynchronous\n" " name resolves can be done using either the c-ares or the\n" " threaded resolver backends.\n" "\n" " SPNEGO SPNEGO authentication is supported.\n" "\n" , stdout); fputs( " Largefile\n" " This curl supports transfers of large files, files larger\n" " than 2GB.\n" "\n" " IDN This curl supports IDN - international domain names.\n" "\n" " GSS-API\n" " GSS-API is supported.\n" "\n" " SSPI SSPI is supported.\n" "\n" " TLS-SRP\n" " SRP (Secure Remote Password) authentication is supported\n" " for TLS.\n" "\n" , stdout); fputs( " HTTP2 HTTP/2 support has been built-in.\n" "\n" " UnixSockets\n" " Unix sockets support is provided.\n" "\n" " HTTPS-proxy\n" " This curl is built to support HTTPS proxy.\n" "\n" " Metalink\n" " This curl supports Metalink (both version 3 and 4 (RFC\n" " 5854)), which describes mirrors and hashes. curl will\n" " use mirrors for failover if there are errors (such as the\n" , stdout); fputs( " file or server not being available).\n" "\n" " PSL PSL is short for Public Suffix List and means that this\n" " curl has been built with knowledge about \"public suf-\n" " fixes\".\n" "\n" " MultiSSL\n" " This curl supports multiple TLS backends.\n" "\n" " -w, --write-out <format>\n" " Make curl display information on stdout after a completed trans-\n" , stdout); fputs( " fer. The format is a string that may contain plain text mixed\n" " with any number of variables. The format can be specified as a\n" " literal \"string\", or you can have curl read the format from a\n" " file with \"@filename\" and to tell curl to read the format from\n" " stdin you write \"@-\".\n" "\n" " The variables present in the output format will be substituted\n" , stdout); fputs( " by the value or text that curl thinks fit, as described below.\n" " All variables are specified as %{variable_name} and to output a\n" " normal % you just write them as %%. You can output a newline by\n" " using \\n, a carriage return with \\r and a tab space with \\t.\n" "\n" " The output will be written to standard output, but this can be\n" " switched to standard error by using %{stderr}.\n" "\n" , stdout); fputs( " NOTE: The %-symbol is a special symbol in the win32-environment,\n" " where all occurrences of % must be doubled when using this op-\n" " tion.\n" "\n" " The variables available are:\n" "\n" " content_type The Content-Type of the requested document, if\n" " there was any.\n" "\n" " filename_effective\n" " The ultimate filename that curl writes out to.\n" , stdout); fputs( " This is only meaningful if curl is told to write\n" " to a file with the -O, --remote-name or -o,\n" " --output option. It's most useful in combination\n" " with the -J, --remote-header-name option. (Added\n" " in 7.26.0)\n" "\n" " ftp_entry_path The initial path curl ended up in when logging on\n" , stdout); fputs( " to the remote FTP server. (Added in 7.15.4)\n" "\n" " http_code The numerical response code that was found in the\n" " last retrieved HTTP(S) or FTP(s) transfer. In\n" " 7.18.2 the alias response_code was added to show\n" " the same info.\n" "\n" " http_connect The numerical code that was found in the last re-\n" , stdout); fputs( " sponse (from a proxy) to a curl CONNECT request.\n" " (Added in 7.12.4)\n" "\n" " http_version The http version that was effectively used.\n" " (Added in 7.50.0)\n" "\n" " local_ip The IP address of the local end of the most re-\n" " cently done connection - can be either IPv4 or\n" " IPv6 (Added in 7.29.0)\n" "\n" , stdout); fputs( " local_port The local port number of the most recently done\n" " connection (Added in 7.29.0)\n" "\n" " num_connects Number of new connects made in the recent trans-\n" " fer. (Added in 7.12.3)\n" "\n" " num_redirects Number of redirects that were followed in the re-\n" " quest. (Added in 7.12.3)\n" "\n" " proxy_ssl_verify_result\n" , stdout); fputs( " The result of the HTTPS proxy's SSL peer certifi-\n" " cate verification that was requested. 0 means the\n" " verification was successful. (Added in 7.52.0)\n" "\n" " redirect_url When an HTTP request was made without -L, --loca-\n" " tion to follow redirects (or when --max-redir is\n" " met), this variable will show the actual URL a\n" , stdout); fputs( " redirect would have gone to. (Added in 7.18.2)\n" "\n" " remote_ip The remote IP address of the most recently done\n" " connection - can be either IPv4 or IPv6 (Added in\n" " 7.29.0)\n" "\n" " remote_port The remote port number of the most recently done\n" " connection (Added in 7.29.0)\n" "\n" " scheme The URL scheme (sometimes called protocol) that\n" , stdout); fputs( " was effectively used (Added in 7.52.0)\n" "\n" " size_download The total amount of bytes that were downloaded.\n" "\n" " size_header The total amount of bytes of the downloaded head-\n" " ers.\n" "\n" " size_request The total amount of bytes that were sent in the\n" " HTTP request.\n" "\n" " size_upload The total amount of bytes that were uploaded.\n" "\n" , stdout); fputs( " speed_download The average download speed that curl measured for\n" " the complete download. Bytes per second.\n" "\n" " speed_upload The average upload speed that curl measured for\n" " the complete upload. Bytes per second.\n" "\n" " ssl_verify_result\n" " The result of the SSL peer certificate verifica-\n" " tion that was requested. 0 means the verification\n" , stdout); fputs( " was successful. (Added in 7.19.0)\n" "\n" " stderr From this point on, the -w, --write-out output\n" " will be written to standard error. (Added in\n" " 7.63.0)\n" "\n" " stdout From this point on, the -w, --write-out output\n" " will be written to standard output. This is the\n" " default, but can be used to switch back after\n" , stdout); fputs( " switching to stderr. (Added in 7.63.0)\n" "\n" " time_appconnect\n" " The time, in seconds, it took from the start un-\n" " til the SSL/SSH/etc connect/handshake to the re-\n" " mote host was completed. (Added in 7.19.0)\n" "\n" " time_connect The time, in seconds, it took from the start un-\n" " til the TCP connect to the remote host (or proxy)\n" , stdout); fputs( " was completed.\n" "\n" " time_namelookup\n" " The time, in seconds, it took from the start un-\n" " til the name resolving was completed.\n" "\n" " time_pretransfer\n" " The time, in seconds, it took from the start un-\n" " til the file transfer was just about to begin.\n" " This includes all pre-transfer commands and nego-\n" , stdout); fputs( " tiations that are specific to the particular pro-\n" " tocol(s) involved.\n" "\n" " time_redirect The time, in seconds, it took for all redirection\n" " steps including name lookup, connect, pretransfer\n" " and transfer before the final transaction was\n" " started. time_redirect shows the complete execu-\n" , stdout); fputs( " tion time for multiple redirections. (Added in\n" " 7.12.3)\n" "\n" " time_starttransfer\n" " The time, in seconds, it took from the start un-\n" " til the first byte was just about to be trans-\n" " ferred. This includes time_pretransfer and also\n" " the time the server needed to calculate the re-\n" , stdout); fputs( " sult.\n" "\n" " time_total The total time, in seconds, that the full opera-\n" " tion lasted.\n" "\n" " url_effective The URL that was fetched last. This is most mean-\n" " ingful if you've told curl to follow location:\n" " headers.\n" "\n" " If this option is used several times, the last one will be used.\n" "\n" " --xattr\n" , stdout); fputs( " When saving output to a file, this option tells curl to store\n" " certain file metadata in extended file attributes. Currently,\n" " the URL is stored in the xdg.origin.url attribute and, for HTTP,\n" " the content type is stored in the mime_type attribute. If the\n" " file system does not support extended attributes, a warning is\n" " issued.\n" "\n" "FILES\n" " ~/.curlrc\n" , stdout); fputs( " Default config file, see -K, --config for details.\n" "\n" "ENVIRONMENT\n" " The environment variables can be specified in lower case or upper case.\n" " The lower case version has precedence. http_proxy is an exception as it\n" " is only available in lower case.\n" "\n" " Using an environment variable to set the proxy has the same effect as\n" " using the -x, --proxy option.\n" "\n" " http_proxy [protocol://]<host>[:port]\n" " Sets the proxy server to use for HTTP.\n" , stdout); fputs( " HTTPS_PROXY [protocol://]<host>[:port]\n" " Sets the proxy server to use for HTTPS.\n" "\n" " [url-protocol]_PROXY [protocol://]<host>[:port]\n" " Sets the proxy server to use for [url-protocol], where the pro-\n" " tocol is a protocol that curl supports and as specified in a\n" " URL. FTP, FTPS, POP3, IMAP, SMTP, LDAP etc.\n" "\n" " ALL_PROXY [protocol://]<host>[:port]\n" " Sets the proxy server to use if no protocol-specific proxy is\n" , stdout); fputs( " set.\n" "\n" " NO_PROXY <comma-separated list of hosts/domains>\n" " list of host names that shouldn't go through any proxy. If set\n" " to an asterisk '*' only, it matches all hosts. Each name in this\n" " list is matched as either a domain name which contains the host-\n" " name, or the hostname itself.\n" "\n" " This environment variable disables use of the proxy even when\n" , stdout); fputs( " specified with the -x, --proxy option. That is NO_PROXY=di-\n" " rect.example.com curl -x http://proxy.example.com http://di-\n" " rect.example.com accesses the target URL directly, and\n" " NO_PROXY=direct.example.com curl -x http://proxy.example.com\n" " http://somewhere.example.com accesses the target URL through the\n" " proxy.\n" "\n" " The list of host names can also be include numerical IP ad-\n" , stdout); fputs( " dresses, and IPv6 versions should then be given without enclos-\n" " ing brackets.\n" "\n" "PROXY PROTOCOL PREFIXES\n" " Since curl version 7.21.7, the proxy string may be specified with a\n" " protocol:// prefix to specify alternative proxy protocols.\n" "\n" " If no protocol is specified in the proxy string or if the string\n" " doesn't match a supported one, the proxy will be treated as an HTTP\n" " proxy.\n" "\n" , stdout); fputs( " The supported proxy protocol prefixes are as follows:\n" "\n" " http://\n" " Makes it use it as an HTTP proxy. The default if no scheme pre-\n" " fix is used.\n" "\n" " https://\n" " Makes it treated as an HTTPS proxy.\n" "\n" " socks4://\n" " Makes it the equivalent of --socks4\n" "\n" " socks4a://\n" " Makes it the equivalent of --socks4a\n" "\n" " socks5://\n" " Makes it the equivalent of --socks5\n" "\n" " socks5h://\n" , stdout); fputs( " Makes it the equivalent of --socks5-hostname\n" "\n" "EXIT CODES\n" " There are a bunch of different error codes and their corresponding er-\n" " ror messages that may appear during bad conditions. At the time of this\n" " writing, the exit codes are:\n" "\n" " 1 Unsupported protocol. This build of curl has no support for this\n" " protocol.\n" "\n" " 2 Failed to initialize.\n" "\n" " 3 URL malformed. The syntax was not correct.\n" "\n" , stdout); fputs( " 4 A feature or option that was needed to perform the desired re-\n" " quest was not enabled or was explicitly disabled at build-time.\n" " To make curl able to do this, you probably need another build of\n" " libcurl!\n" "\n" " 5 Couldn't resolve proxy. The given proxy host could not be re-\n" " solved.\n" "\n" " 6 Couldn't resolve host. The given remote host was not resolved.\n" "\n" " 7 Failed to connect to host.\n" "\n" , stdout); fputs( " 8 Weird server reply. The server sent data curl couldn't parse.\n" "\n" " 9 FTP access denied. The server denied login or denied access to\n" " the particular resource or directory you wanted to reach. Most\n" " often you tried to change to a directory that doesn't exist on\n" " the server.\n" "\n" " 10 FTP accept failed. While waiting for the server to connect back\n" " when an active FTP session is used, an error code was sent over\n" , stdout); fputs( " the control connection or similar.\n" "\n" " 11 FTP weird PASS reply. Curl couldn't parse the reply sent to the\n" " PASS request.\n" "\n" " 12 During an active FTP session while waiting for the server to\n" " connect back to curl, the timeout expired.\n" "\n" " 13 FTP weird PASV reply, Curl couldn't parse the reply sent to the\n" " PASV request.\n" "\n" " 14 FTP weird 227 format. Curl couldn't parse the 227-line the\n" , stdout); fputs( " server sent.\n" "\n" " 15 FTP can't get host. Couldn't resolve the host IP we got in the\n" " 227-line.\n" "\n" " 16 HTTP/2 error. A problem was detected in the HTTP2 framing layer.\n" " This is somewhat generic and can be one out of several problems,\n" " see the error message for details.\n" "\n" " 17 FTP couldn't set binary. Couldn't change transfer method to bi-\n" " nary.\n" "\n" , stdout); fputs( " 18 Partial file. Only a part of the file was transferred.\n" "\n" " 19 FTP couldn't download/access the given file, the RETR (or simi-\n" " lar) command failed.\n" "\n" " 21 FTP quote error. A quote command returned error from the server.\n" " 22 HTTP page not retrieved. The requested url was not found or re-\n" " turned another error with the HTTP error code being 400 or\n" " above. This return code only appears if -f, --fail is used.\n" "\n" , stdout); fputs( " 23 Write error. Curl couldn't write data to a local filesystem or\n" " similar.\n" "\n" " 25 FTP couldn't STOR file. The server denied the STOR operation,\n" " used for FTP uploading.\n" "\n" " 26 Read error. Various reading problems.\n" "\n" " 27 Out of memory. A memory allocation request failed.\n" "\n" " 28 Operation timeout. The specified time-out period was reached ac-\n" " cording to the conditions.\n" "\n" , stdout); fputs( " 30 FTP PORT failed. The PORT command failed. Not all FTP servers\n" " support the PORT command, try doing a transfer using PASV in-\n" " stead!\n" "\n" " 31 FTP couldn't use REST. The REST command failed. This command is\n" " used for resumed FTP transfers.\n" "\n" " 33 HTTP range error. The range \"command\" didn't work.\n" "\n" " 34 HTTP post error. Internal post-request generation error.\n" "\n" , stdout); fputs( " 35 SSL connect error. The SSL handshaking failed.\n" "\n" " 36 Bad download resume. Couldn't continue an earlier aborted down-\n" " load.\n" "\n" " 37 FILE couldn't read file. Failed to open the file. Permissions?\n" "\n" " 38 LDAP cannot bind. LDAP bind operation failed.\n" "\n" " 39 LDAP search failed.\n" "\n" " 41 Function not found. A required LDAP function was not found.\n" "\n" " 42 Aborted by callback. An application told curl to abort the oper-\n" , stdout); fputs( " ation.\n" "\n" " 43 Internal error. A function was called with a bad parameter.\n" "\n" " 45 Interface error. A specified outgoing interface could not be\n" " used.\n" "\n" " 47 Too many redirects. When following redirects, curl hit the maxi-\n" " mum amount.\n" "\n" " 48 Unknown option specified to libcurl. This indicates that you\n" " passed a weird option to curl that was passed on to libcurl and\n" , stdout); fputs( " rejected. Read up in the manual!\n" "\n" " 49 Malformed telnet option.\n" "\n" " 51 The peer's SSL certificate or SSH MD5 fingerprint was not OK.\n" "\n" " 52 The server didn't reply anything, which here is considered an\n" " error.\n" "\n" " 53 SSL crypto engine not found.\n" "\n" " 54 Cannot set SSL crypto engine as default.\n" "\n" " 55 Failed sending network data.\n" "\n" " 56 Failure in receiving network data.\n" "\n" , stdout); fputs( " 58 Problem with the local certificate.\n" "\n" " 59 Couldn't use specified SSL cipher.\n" "\n" " 60 Peer certificate cannot be authenticated with known CA certifi-\n" " cates.\n" "\n" " 61 Unrecognized transfer encoding.\n" "\n" " 62 Invalid LDAP URL.\n" "\n" " 63 Maximum file size exceeded.\n" "\n" " 64 Requested FTP SSL level failed.\n" "\n" " 65 Sending the data requires a rewind that failed.\n" "\n" " 66 Failed to initialise SSL Engine.\n" "\n" , stdout); fputs( " 67 The user name, password, or similar was not accepted and curl\n" " failed to log in.\n" "\n" " 68 File not found on TFTP server.\n" "\n" " 69 Permission problem on TFTP server.\n" "\n" " 70 Out of disk space on TFTP server.\n" |
︙ | ︙ | |||
4354 4355 4356 4357 4358 4359 4360 | "\n" " 78 The resource referenced in the URL does not exist.\n" "\n" " 79 An unspecified error occurred during the SSH session.\n" "\n" " 80 Failed to shut down the SSL connection.\n" "\n" | | | 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 | "\n" " 78 The resource referenced in the URL does not exist.\n" "\n" " 79 An unspecified error occurred during the SSH session.\n" "\n" " 80 Failed to shut down the SSL connection.\n" "\n" " 82 Could not load CRL file, missing or wrong format (added in\n" " 7.19.0).\n" "\n" " 83 Issuer check failed (added in 7.19.0).\n" "\n" , stdout); fputs( " 84 The FTP PRET command failed\n" |
︙ | ︙ | |||
4385 4386 4387 4388 4389 4390 4391 | "\n" , stdout); fputs( " XX More error codes will appear here in future releases. The exist-\n" " ing ones are meant to never change.\n" "\n" "AUTHORS / CONTRIBUTORS\n" | | | 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 | "\n" , stdout); fputs( " XX More error codes will appear here in future releases. The exist-\n" " ing ones are meant to never change.\n" "\n" "AUTHORS / CONTRIBUTORS\n" " Daniel Stenberg is the main author, but the whole list of contributors\n" " is found in the separate THANKS file.\n" "\n" "WWW\n" " https://curl.haxx.se\n" "\n" "SEE ALSO\n" " ftp(1), wget(1)\n" |
︙ | ︙ | |||
4411 4412 4413 4414 4415 4416 4417 | */ #ifdef USE_MANUAL #include "tool_hugehelp.h" #include <zlib.h> #include "memdebug.h" /* keep this as LAST include */ static const unsigned char hugehelpgz[] = { /* This mumbo-jumbo is the huge help text compressed with gzip. | | | | | | | | | | | | > | < > | | < | | | | | | < | > | < | > | | | | < < | | | | | | | | | | | | | | | | | | | | | | | > | < > | | < | | | | | | | > | | < | > | > > | | < | < < | | | | | | | | | | | | | | | | | < | | > | < | | | | | | | | | | | | < | > | | | | | > | > | < < | | | | | > | | | | | | | | | | | | | | | | | | | | | | > | < | | | | | | < | < < > > | > | | > | > > | < | | > | < < < | < > | | > | > | | < < | | < < < > > > | | > | | | | | | | < | | | | > | | | | | | | | | | | | | | | | | | | < | | | | | | < | > | | | | | | | | | | | | | | | | | | | | | | > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < < < | < > > | | | > > | | | | | | | | | | | | > | | | | | > | < > | > | < < | | | | | | | | | | | | | | | > | < | | > | | | | < | > | | | | | | | | > | < < | > | | | | | | | | | | | | | > | | | | | | > | < | | | | | | | | | | | | | | | | | | | | | | | < | | | | | | | | > | | > | < < | | | < < < < < | | < > | | | > > > > | > | | > > | | | | | | | | | | | | | | | | | | | | | | > | > | < | | < | < | < > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > | | | | > | < > | | < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < | > | | | | | | | | | | | | | | | | | | | | | | | | > | | | < | | | | | | > > | | < > | | < < | | | | | | | | | | > | | | | | | | | | | > | < | | | | > | | > > | > | > | < < | < | < < | | | | < | | | | | | | | | | | | | | | | | | | | | | | | < | < | | > > | | | | | | | | | < < < < < < < < < < | | | | | | < < > > > | | < | | > | > > > > > > > > > > | | | | | | | | | | | | > | | | | | < | | | | | | | | | > | < | | | | | | | | | | | | | < | | > | | | | | | | | | | | | | | | | | | | < | | | > | | | | | | | | | | | < | | > | | | | | | | | | | | > < < < < < < < < < < < | | | | | > | < < < | > | > > | | < < > | | | > | | > > > > > > > | > > > | | | < | < < < < < | | | < > | < < < < | > | < | < | | | | | > > | > > > > > > > | > > | | | | | | | | | < | | > | | | | | > | < | < | > | | | | | | | | | > | | | < | < < | > > | > | | | | | | | | | | | | | | | | | | | | | > > | | < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | | > | < | | < | | | | | < | | > | | | > | | < | | | | | | | | | | | | | | | | | | | | | | | | | > | | | | | | | | | | | | | | | | < | > > | | | < | | | | | | | | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < | | | | | | | | | | | | | | | | | | < | > | | | | | | | | | | | < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | | | | | | | | > | < | | | | | | | | | | > > | | | < < | | | | < < | | | | | | | | | | | | | | | > | | < | | | | | | | | | | | | | | > | < | | > | | | > | < | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > | | | > | | | < | < < < | < | | | | | | | | | | | | | | | | | | | | | | | | | | | | < | | > | | | | | | | | | | | | | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | | | | | | | | | | | | > | | < | | | | | > | > | | | < < | | | < | > | < | | | | | | | | | | | | | | > | | < | | | | | | | | | | | | | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | > | | | | | | | | | | | > | | > | | < < | > | < | | | | | | | | | | | < | | | | | | | | | | | | | | | | | > | | < | | | | | | | | | | | | | | | | | | | < | | > | | | | | | | | | | > | < | > | | < | | | | > | | | | | | | | | | | | | | | | | | | | | | < | | > | | | | | | | | > | < | | | | | | | | | | | | | | | | | | | | | | | | | | > | | | < | | > | | | | | | | | | | | | | | | | | < | | < < | | > > | > | | | > > | | | | < | | | > > | | < | < | < | | | | | | | > | < | | | > | | | | | | | | | | > > | | | | | < < | | | | | | | | | | | | | | | | | | | | < | > | | | | | | > | < < | | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | | | | | | | | > | | < | | | | | | | | | | | | | | < < < | < | < > | | | | | | | | | | | | < | > | | | > | | < | | | | | | | | | | | | > > > | | | | | | | | | | | | | | | | | | | | | | | | | > | < | | | | | | | | | | | | | | | | | | | > > | | < < | | | | | | | | > > | > | | | | | | > | < | | | | | | | | < | | > | < | > | | | | | | | | | | | | | | | | | | < | > | | | | | | | | | | | | | | | | | | | | > | | | | | | < | | > | | | | | | | | | | | | | | | | | | | | | | > | | | | | | | | < | > | < | > | | | | > | | < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | | < | | | | | | | | | < | > | | | | | | | < | > | | | | | | | | | | | | | | | | > | < | < | > | | | | | | < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > | | | > > | > > | | < | > > > | | > > > > > > | > | < > | | | < | > | < < < < < < < < < < < | | | | | | | | < | | > | | | | | | | | | | | | | | | > | | < | | | | | | | | | | | | > | < | | | | | | < | | > | | | | | | | | | | | | | | < | > | | | | | | | | | | | | | | | | | > | | < | | | | | | | | | | > | < | | | | | | | | | | | | | | | | | | | | | | | > > > | | | < | > | | | | | | | | | | | | | | | < | > | | | | | | | | | | < < < | | | | | | | | | | | > | | < | | | | | | | | > | < | | | | > | | | | | | | | | | > | < | | | | | | | | | | | | | | | | | > | | < | > | | | | | | > | < | | | | | | | | | | | | | | | | | | | | | | | | | < | < | < | > > > | | | | | | | | | | | | | | | < | > | | | < | > | > | | | | | | < | | > | | | | | | > | | < | | | | | | | | | > | < | > | | | | | | | | | | | | < | | > | | | | | > | < | | | < | > | | > | < | | | | | | | | | | | | | | | | > | | < | | | | | | | | < | > > | > | < | | > | | | | | | | | | | | | | | | | | > | | < | | | | | | | < | | | | | | > | < | | < | > | | | < | | > | | | | | | | | | | | | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | < < < | > | | | | | | | | | | | | < | | > | | | | | | | | | | | | | | | < | < | > | | < | | | | | | | | | | | | | | | | | | | | | | | | | > > > | | | | | | | > | | | < | | | | | | | | | | | | | | | < | | > | | | | | | | | | | | | | | | | | | | | | | | | | | | < | > | | | | > | | | | | | | | | | > | < | | | | | | | < | | < > | < > | | > | | | > | | | | | < | | > > | < | | | | | | | | | | | | | | | | | | | < < | | > | | | | | | | | | | | | | | | | | | | | | | | > | | < | > | | < < | | | | | | | | | | | | | | | | | | | | | | | > | | < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < | > | | | > | | | | | | | | | | | | | | | | > | | < | | | | < | | > | | | | > > | | | | | | | | | | | | | | | | | > | < | | | | | | | | | | | < | < | > | | | | | | | | | | | | > | < | | | | | | | | | | | | | | | | < | | | < | > | | > | | < | | < | < | | > > | | | | | | | | | | | | | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > | | | | | | | | | | | | | > > | | | < < | < | > | | | | | | | | | | | < < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | | | | | | | | | | | | | | | | < | | > | | | | | | | | | > | | | < | | | | | | | | | > | | < | > | | | < | | | | | | | | < | | > | > > | < | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > | > > | | | < < | | | < < | | | < | > | | | | | | | < | > | | | | | | > | | | < | | < | > | > | | > | | < | | | | | > > | | | < < | | | < | | > | | | | | | | | | | | | | | | | | | | | > | < | | | | | | | | | | > | | | | | | | | | | | | < < | | | > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | < | | | | | | | | > | | | | | | | | | | | | | | | | | < < | | > > | | | | | | | | > > | | | | < | < | | > | > > > | | | < < | | | | | > | < | | | | | < | > | | | < < | | | | | | | | < | | | | > | | | | | | | | | | | | | | | < | < | | | | | | | | | | | | | | | | | | | | | | | > | < > | | | < | | | > | | < | > | | | | | < | < > | | > | | < < | | > | | > | | | | | | | | | | | | | | | | > > | | > | | > > > > | > | | | > | < < < | | < > | < < | < | < < > | | | | | | | | | | > | > > > > > | | < > | < | < < < < | < | | | | | | | | < | | | | | | | | | | | | | | | | | < | < | > | > | | | | | | | | | | | | | > | < < | | | > | | | | | | | | > | | < < | | > | | | | | | > | | | | | | | | | | | | | | | | | | | | | < | > | | | | | | | | > > | > | | < | | | | | | < | | > | | | > | > | > > | > | < | < | > | | < < < < | < | | | | | | | | | | | | | | | | | | | | | | | | < | | > | | > > > < | | > | | | | | > > | | < < | | | | | | < | > | | | > > | < | < > > | > | | | | | | | | | | | | | | | | | | | | | | | | < | < | > | > | | < | | | | | | | | | | | | | | | | | | | | | > | < | | | | | | | | | < | | | > > | | | < | | | < > | < > | | < | | | | | | | | | | > | | < | | | | | > | | < | | | | | | | | > | | | < | | | | | | | | | > | < | | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 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 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 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 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 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 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 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 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 7678 7679 7680 7681 7682 7683 7684 7685 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 7697 7698 7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 7712 7713 7714 7715 7716 7717 7718 7719 7720 7721 7722 7723 7724 7725 7726 7727 7728 7729 7730 7731 7732 7733 7734 7735 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 7749 7750 7751 7752 7753 7754 7755 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 7771 7772 7773 7774 7775 7776 7777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 7793 7794 7795 7796 7797 7798 7799 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 7810 7811 7812 7813 7814 7815 7816 7817 7818 7819 7820 7821 7822 7823 7824 7825 7826 7827 7828 7829 7830 7831 7832 7833 7834 7835 7836 7837 7838 7839 7840 7841 7842 7843 7844 7845 7846 7847 7848 7849 7850 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 7871 7872 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 7889 7890 7891 7892 7893 7894 7895 7896 7897 7898 7899 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 7921 7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 7932 7933 7934 7935 7936 7937 7938 7939 7940 7941 7942 7943 7944 7945 7946 7947 7948 7949 7950 7951 7952 7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 7964 7965 7966 7967 7968 7969 7970 7971 7972 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 7991 7992 7993 7994 7995 7996 7997 7998 7999 8000 8001 8002 8003 8004 8005 8006 8007 8008 8009 8010 8011 8012 8013 8014 8015 8016 8017 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 8029 8030 8031 8032 8033 8034 8035 8036 8037 8038 8039 8040 8041 8042 8043 8044 8045 8046 8047 8048 8049 8050 8051 8052 8053 8054 8055 8056 8057 8058 8059 8060 8061 8062 8063 8064 8065 8066 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 8078 8079 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 8098 8099 8100 8101 8102 8103 8104 8105 8106 8107 8108 8109 8110 8111 8112 8113 8114 8115 8116 8117 8118 8119 8120 8121 8122 8123 8124 8125 8126 8127 8128 8129 8130 8131 8132 8133 8134 8135 8136 8137 8138 8139 8140 8141 8142 8143 8144 8145 8146 8147 8148 8149 8150 8151 8152 8153 8154 8155 8156 8157 8158 8159 8160 8161 8162 8163 8164 8165 8166 8167 8168 8169 8170 8171 8172 8173 8174 8175 8176 8177 8178 8179 8180 8181 8182 8183 8184 8185 8186 8187 8188 8189 8190 8191 8192 8193 8194 8195 8196 8197 8198 8199 8200 8201 8202 8203 8204 8205 8206 8207 8208 8209 8210 8211 8212 8213 8214 8215 8216 8217 8218 8219 8220 8221 8222 8223 8224 8225 8226 8227 8228 8229 8230 8231 8232 8233 8234 8235 8236 8237 8238 8239 8240 8241 8242 8243 8244 8245 8246 8247 8248 8249 8250 8251 8252 8253 8254 8255 8256 8257 8258 8259 8260 8261 8262 8263 8264 8265 8266 8267 8268 8269 8270 8271 8272 8273 8274 8275 8276 8277 8278 8279 8280 8281 8282 8283 8284 8285 8286 8287 8288 8289 8290 8291 8292 8293 8294 8295 8296 8297 8298 8299 8300 8301 8302 8303 8304 8305 8306 8307 8308 8309 8310 8311 8312 8313 8314 8315 8316 8317 8318 8319 8320 8321 8322 8323 8324 8325 8326 8327 8328 8329 8330 8331 8332 8333 8334 8335 8336 8337 8338 8339 8340 8341 8342 8343 8344 8345 8346 8347 8348 8349 8350 8351 8352 8353 8354 8355 8356 8357 8358 8359 8360 8361 8362 8363 8364 8365 8366 8367 8368 8369 8370 8371 8372 8373 8374 8375 8376 8377 8378 8379 8380 8381 8382 8383 8384 8385 8386 8387 8388 8389 8390 8391 8392 8393 8394 8395 8396 8397 8398 8399 8400 8401 8402 8403 8404 8405 8406 8407 8408 8409 8410 8411 8412 8413 8414 8415 8416 8417 8418 8419 8420 8421 8422 8423 8424 8425 8426 8427 8428 8429 8430 8431 8432 8433 8434 8435 8436 8437 8438 8439 8440 8441 8442 8443 8444 8445 8446 8447 8448 8449 8450 8451 8452 8453 8454 8455 8456 8457 8458 8459 8460 8461 8462 8463 8464 8465 8466 8467 8468 8469 8470 8471 8472 8473 8474 8475 8476 8477 8478 8479 8480 8481 8482 8483 8484 8485 8486 8487 8488 8489 8490 8491 8492 8493 8494 8495 8496 8497 8498 8499 8500 8501 8502 8503 8504 8505 8506 8507 | */ #ifdef USE_MANUAL #include "tool_hugehelp.h" #include <zlib.h> #include "memdebug.h" /* keep this as LAST include */ static const unsigned char hugehelpgz[] = { /* This mumbo-jumbo is the huge help text compressed with gzip. Thanks to this operation, the size of this data shrank from 172264 to 48278 bytes. You can disable the use of compressed help texts by NOT passing -c to the mkhelp.pl tool. */ 0x1f, 0x8b, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xed, 0xbd, 0x6b, 0x77, 0xdb, 0x46, 0x96, 0x2e, 0xfc, 0x3d, 0xbf, 0x02, 0xcd, 0x5e, 0x7d, 0x24, 0x4d, 0x93, 0xd4, 0xdd, 0x8e, 0x15, 0x39, 0x13, 0x45, 0x96, 0x63, 0x4d, 0x64, 0x49, 0x23, 0xca, 0x49, 0xfa, 0x74, 0xb2, 0xbc, 0x40, 0x12, 0xa4, 0xd0, 0x22, 0x01, 0x36, 0x00, 0xea, 0x92, 0x9e, 0x3e, 0xbf, 0xfd, 0xdd, 0xd7, 0xaa, 0x02, 0xaa, 0x40, 0x29, 0xe9, 0x38, 0x73, 0x2e, 0x6f, 0xcf, 0x9a, 0xd8, 0x96, 0x80, 0x42, 0x5d, 0x76, 0xed, 0xfb, 0x7e, 0x76, 0x14, 0x3d, 0xf5, 0xbf, 0x8f, 0xf4, 0xff, 0x1f, 0xe1, 0x7f, 0xf0, 0xe7, 0x67, 0x51, 0x74, 0x59, 0xe4, 0x7f, 0x4b, 0x46, 0x55, 0xf8, 0xd9, 0x8f, 0x1f, 0xff, 0x2b, 0xe2, 0xff, 0x83, 0x77, 0x7e, 0x84, 0x3f, 0x3f, 0x5b, 0x39, 0xf6, 0x66, 0x64, 0x5f, 0xf8, 0xaf, 0x8f, 0x1b, 0xd1, 0x53, 0x2f, 0xfc, 0x57, 0xb4, 0x4e, 0x2f, 0x7c, 0x94, 0x2f, 0x1c, 0xe2, 0xdf, 0x3f, 0x7e, 0x5c, 0xfd, 0x91, 0x1f, 0x71, 0x56, 0xf8, 0x9f, 0x4d, 0x7c, 0xef, 0xc7, 0x8f, 0xf8, 0x57, 0xf8, 0xc9, 0x67, 0x9f, 0x9d, 0x1f, 0xbd, 0x3f, 0xd1, 0x57, 0x47, 0xcb, 0x62, 0x16, 0xf5, 0xa2, 0xaa, 0x88, 0xb3, 0x72, 0x92, 0x14, 0x51, 0x1c, 0x7d, 0xb8, 0x3a, 0xfb, 0xec, 0xb3, 0xc1, 0x5f, 0xce, 0x2f, 0x2e, 0x07, 0xa7, 0x83, 0xda, 0x63, 0x7f, 0xcd, 0x17, 0x55, 0x9a, 0x67, 0x25, 0x4c, 0x1f, 0x1e, 0x2a, 0x7f, 0xfa, 0xec, 0xb3, 0x37, 0x27, 0x83, 0xe3, 0xab, 0xd3, 0xcb, 0xeb, 0xd3, 0x8b, 0xf3, 0xda, 0x93, 0x51, 0x5a, 0x46, 0x30, 0x54, 0x95, 0xe7, 0x33, 0xf8, 0x8f, 0x1d, 0x7d, 0x1c, 0x57, 0x71, 0x34, 0x29, 0xf2, 0x79, 0x94, 0x17, 0xf8, 0x8b, 0x38, 0x2a, 0x93, 0xe2, 0x2e, 0x29, 0xba, 0xd1, 0xb2, 0x4c, 0xb3, 0x69, 0x94, 0x67, 0x49, 0x94, 0x4f, 0xa2, 0xea, 0x26, 0xd1, 0xe1, 0xca, 0xe5, 0x62, 0x91, 0x17, 0x55, 0x32, 0x8e, 0x16, 0x45, 0x5e, 0xe5, 0xa3, 0x7c, 0x56, 0x46, 0xeb, 0x6f, 0x4e, 0x8f, 0xaf, 0xbb, 0xd1, 0xdb, 0xd3, 0xb3, 0x13, 0xf8, 0xef, 0xf5, 0x25, 0xfd, 0x67, 0xd0, 0x8d, 0xbe, 0xb9, 0xb8, 0x7c, 0x77, 0x72, 0xd5, 0x8d, 0xde, 0x5d, 0xe3, 0xcf, 0xf0, 0xbf, 0xf0, 0xc3, 0xe8, 0xf4, 0xfd, 0xd1, 0x65, 0x57, 0x87, 0xc3, 0x7f, 0xe0, 0x0f, 0xcf, 0xde, 0xc0, 0x0f, 0xf9, 0x0f, 0xfc, 0xe7, 0xe5, 0xc5, 0xe5, 0xae, 0xfc, 0x81, 0xff, 0xbc, 0xba, 0x7e, 0x0f, 0xbf, 0xbd, 0xba, 0x1e, 0xc0, 0x7f, 0x07, 0xc7, 0xf8, 0x1f, 0xfa, 0xca, 0xe0, 0xfd, 0xd7, 0xf4, 0x9f, 0x81, 0x19, 0x6e, 0xf0, 0x9e, 0x7f, 0x4e, 0x5f, 0xba, 0x3e, 0x39, 0x3b, 0x3f, 0xb9, 0x8e, 0xe2, 0x6c, 0x1c, 0x5d, 0xc3, 0xf3, 0x1b, 0xfd, 0xe8, 0xfa, 0x26, 0x89, 0x46, 0xf9, 0x7c, 0x8e, 0x3f, 0x82, 0x1d, 0x19, 0x27, 0x65, 0x3a, 0xcd, 0x60, 0x29, 0xb0, 0xf2, 0xfb, 0xbc, 0xb8, 0x8d, 0xa2, 0xfb, 0xb4, 0xba, 0xc9, 0x97, 0x95, 0x0e, 0xb7, 0x84, 0xdd, 0x88, 0xd2, 0xac, 0x4a, 0x8a, 0x78, 0x84, 0x3b, 0xdd, 0xff, 0xac, 0xb6, 0xab, 0xf9, 0x04, 0xf6, 0xb0, 0x84, 0x4d, 0x1b, 0x2e, 0xcb, 0x59, 0x1e, 0x8f, 0x71, 0xab, 0xe0, 0x95, 0xc9, 0x12, 0x36, 0xb9, 0x48, 0x47, 0xb7, 0x65, 0x34, 0x4b, 0x6f, 0x13, 0xdc, 0xa8, 0x87, 0x47, 0xdd, 0xb8, 0x2e, 0x0f, 0x1a, 0x2f, 0x61, 0x4f, 0xb3, 0x9e, 0x0e, 0x57, 0xa5, 0xa3, 0x18, 0x3f, 0x40, 0x3b, 0x17, 0x2d, 0x17, 0x38, 0x1a, 0xef, 0x58, 0xb4, 0xc8, 0x4b, 0x78, 0x69, 0x30, 0x38, 0x83, 0x99, 0x67, 0x59, 0x42, 0xf3, 0x28, 0xbb, 0xf0, 0x8f, 0xfc, 0x36, 0x4d, 0xe0, 0x2f, 0x93, 0x74, 0x96, 0x44, 0x7c, 0xa2, 0x66, 0x38, 0x3c, 0xda, 0xa8, 0x48, 0xca, 0xe5, 0x3c, 0x81, 0xdd, 0x7b, 0x9f, 0x54, 0xf1, 0x2c, 0xcd, 0x6e, 0xe1, 0xaf, 0xb8, 0xf0, 0x79, 0x5e, 0x24, 0xfd, 0xe8, 0xa8, 0x8c, 0x1e, 0xf3, 0x25, 0x2c, 0x78, 0x36, 0x83, 0x33, 0x4f, 0xa2, 0x61, 0x32, 0xcb, 0xef, 0xbb, 0x78, 0xd2, 0x51, 0xb6, 0x9c, 0x0f, 0x61, 0x80, 0x7c, 0x62, 0x87, 0x8b, 0xab, 0x25, 0x0c, 0xc7, 0x4f, 0xcf, 0x63, 0x58, 0x13, 0xbc, 0x5b, 0x44, 0x37, 0x09, 0xac, 0xb9, 0x5c, 0xa4, 0xd9, 0x1f, 0xea, 0xfb, 0x02, 0x5b, 0xbb, 0xc8, 0xef, 0x93, 0x02, 0x76, 0x76, 0xf8, 0x18, 0xc1, 0x26, 0x0c, 0x99, 0x08, 0x27, 0x40, 0x64, 0x51, 0x0c, 0x43, 0x18, 0x02, 0xec, 0x15, 0xc9, 0x2c, 0x46, 0x62, 0x32, 0xdf, 0xe8, 0xc3, 0x21, 0x26, 0x86, 0xda, 0xe4, 0xd5, 0xf5, 0xdd, 0x0d, 0x7a, 0x79, 0x0c, 0x2b, 0x49, 0x67, 0x25, 0x1c, 0x03, 0x5e, 0x0a, 0x79, 0x06, 0x0f, 0x15, 0xe9, 0x1f, 0x68, 0xf3, 0x31, 0xab, 0xe2, 0x07, 0xfa, 0xbc, 0xd0, 0x66, 0x6f, 0x9c, 0x2c, 0x92, 0x6c, 0x9c, 0x64, 0x55, 0x3f, 0xfa, 0x4b, 0xbe, 0x5c, 0x83, 0x6f, 0x4f, 0x52, 0xd8, 0x83, 0x58, 0x86, 0x82, 0x2f, 0x03, 0x11, 0x8c, 0x8a, 0x74, 0xe1, 0x1c, 0x45, 0x9e, 0xc1, 0x99, 0x47, 0x57, 0x6f, 0x8f, 0xa3, 0xdd, 0x57, 0x9f, 0xbf, 0xb0, 0x67, 0x0e, 0x03, 0x44, 0xa3, 0x38, 0x83, 0x15, 0x27, 0xa3, 0x74, 0xf2, 0x18, 0xcd, 0x97, 0xb3, 0x2a, 0x5d, 0xc0, 0xee, 0xe3, 0xe5, 0xc3, 0x0b, 0xb4, 0x88, 0x8b, 0xaa, 0x44, 0x22, 0xa0, 0x1f, 0xd0, 0xda, 0xef, 0x8b, 0xb4, 0xc2, 0x8b, 0x44, 0xbf, 0x83, 0x19, 0x26, 0x55, 0xa9, 0xc3, 0x21, 0xad, 0xc1, 0x77, 0x86, 0x40, 0x5b, 0xb0, 0xb5, 0x71, 0x09, 0x1f, 0x3d, 0xf8, 0xcc, 0x72, 0x90, 0x9b, 0xaa, 0x5a, 0x1c, 0x6c, 0x6e, 0x96, 0x69, 0x95, 0xf4, 0xff, 0x01, 0xf7, 0xb0, 0x5b, 0xdd, 0xe7, 0xdd, 0xea, 0xa6, 0x48, 0x92, 0x7f, 0xf6, 0x81, 0x86, 0xcd, 0x93, 0xf0, 0xdd, 0x47, 0x99, 0xd8, 0x34, 0xa9, 0xe0, 0x0b, 0x7f, 0x5f, 0x26, 0x19, 0x8e, 0x08, 0xf3, 0x88, 0x67, 0x8b, 0x9b, 0x18, 0x8e, 0x33, 0x01, 0x6a, 0xc4, 0x9b, 0x0d, 0x04, 0x83, 0xb3, 0xe2, 0xbb, 0xfd, 0xd7, 0x9f, 0xfc, 0x8f, 0x4e, 0xe8, 0x9b, 0xf0, 0xdf, 0x7e, 0xf2, 0x10, 0xcf, 0x61, 0x6d, 0xf8, 0xa9, 0x4d, 0x24, 0xb1, 0xbf, 0x6e, 0xf7, 0xb6, 0xb7, 0xb6, 0x7e, 0xea, 0x57, 0x0f, 0xd5, 0xf3, 0x9e, 0xdf, 0xda, 0xb2, 0x6f, 0xe0, 0xa3, 0xeb, 0xb8, 0xde, 0x68, 0x06, 0x24, 0x83, 0x1f, 0xff, 0x39, 0x29, 0xf2, 0x72, 0xe3, 0x79, 0x23, 0xc5, 0xbd, 0x9f, 0xeb, 0xdf, 0x3d, 0x4f, 0x4a, 0xa2, 0x19, 0xbb, 0xd6, 0x28, 0x2e, 0x80, 0x6e, 0xf3, 0xca, 0xb2, 0xa7, 0x2e, 0x5c, 0xca, 0xca, 0xec, 0x0c, 0xdc, 0x39, 0x78, 0x1a, 0x18, 0x5b, 0x3c, 0x43, 0x9e, 0x56, 0x46, 0x59, 0xf2, 0x60, 0x6e, 0x39, 0xdc, 0xfe, 0x24, 0x1e, 0xdd, 0x44, 0x39, 0x10, 0x7f, 0x11, 0x38, 0x02, 0x77, 0x42, 0x71, 0x31, 0xba, 0x49, 0xef, 0x60, 0x37, 0x5e, 0xbd, 0x7a, 0xd1, 0x83, 0xff, 0xbc, 0xfa, 0x69, 0xf3, 0x2e, 0x9f, 0xc1, 0xe6, 0xec, 0xfd, 0xb4, 0x89, 0x47, 0xfc, 0x8f, 0xb8, 0x3b, 0xec, 0x8e, 0xfe, 0xd9, 0xbf, 0xa9, 0xe6, 0xb3, 0x56, 0xc2, 0x89, 0x33, 0xf8, 0xff, 0x79, 0xbe, 0xcc, 0x2a, 0x43, 0x2c, 0x40, 0x73, 0x95, 0xc3, 0x9c, 0xe0, 0xba, 0xc2, 0x1d, 0x45, 0xd2, 0x46, 0x1a, 0xc2, 0x5b, 0x07, 0x17, 0xd4, 0x5e, 0xc7, 0x6a, 0x74, 0x83, 0xeb, 0x07, 0xea, 0x89, 0x65, 0x13, 0xaa, 0x34, 0xc6, 0x9b, 0x09, 0x0c, 0x02, 0x19, 0x16, 0x8d, 0xc5, 0x5f, 0x4b, 0xe1, 0xc1, 0xbc, 0x18, 0x27, 0x45, 0xbf, 0x39, 0x0d, 0x73, 0x65, 0x9d, 0x6f, 0x46, 0x2a, 0x51, 0xf0, 0x07, 0x34, 0xb1, 0x79, 0xfa, 0x00, 0x23, 0x10, 0xc3, 0xcc, 0x68, 0xe2, 0x3c, 0x5a, 0x84, 0x33, 0xa6, 0xcf, 0xe8, 0xfb, 0xf6, 0xca, 0xc2, 0xd4, 0x6b, 0x4b, 0xa7, 0x8f, 0xda, 0xc5, 0x47, 0x70, 0x78, 0x0b, 0x78, 0x6b, 0x89, 0x7c, 0x95, 0xae, 0x35, 0x0e, 0x03, 0x0c, 0x61, 0x0a, 0xe7, 0x02, 0x67, 0x81, 0x54, 0x8c, 0x47, 0xf5, 0x18, 0x9d, 0x03, 0xc1, 0x30, 0x33, 0x72, 0x88, 0x7d, 0x96, 0x54, 0xd5, 0x93, 0xc7, 0x64, 0x29, 0xf6, 0x60, 0xdb, 0x23, 0xda, 0xb6, 0xe7, 0x81, 0xce, 0x0e, 0x76, 0xea, 0x0f, 0x7f, 0x0f, 0x4c, 0xda, 0x5e, 0x17, 0xf8, 0xfa, 0x3f, 0xfe, 0xe9, 0x50, 0xdd, 0x3d, 0xfe, 0x36, 0xcd, 0xee, 0xf2, 0x5b, 0xd8, 0x22, 0x92, 0xa2, 0x71, 0x7d, 0x37, 0x91, 0x0f, 0xcd, 0x17, 0x95, 0x11, 0x4f, 0x48, 0x8e, 0xf0, 0xa3, 0x61, 0x3c, 0x9c, 0x3d, 0x46, 0x37, 0xf1, 0x5d, 0x82, 0xeb, 0x5d, 0x00, 0x9d, 0xe2, 0x0e, 0x80, 0xd8, 0x98, 0x11, 0x1f, 0x13, 0xc6, 0x30, 0xce, 0x97, 0x43, 0x60, 0x2e, 0x7f, 0x5f, 0xe6, 0x15, 0x6f, 0x4c, 0x7c, 0x97, 0xa7, 0xe3, 0x9a, 0x2c, 0xbe, 0x49, 0x90, 0xa1, 0xe1, 0x87, 0x49, 0x48, 0x01, 0x43, 0xc5, 0x99, 0xd2, 0x45, 0x4b, 0x2b, 0x14, 0x77, 0xc0, 0x0a, 0xe3, 0x59, 0x99, 0x47, 0xd1, 0x34, 0xc7, 0x5b, 0x42, 0x0c, 0x98, 0xc8, 0x1c, 0x0e, 0xe5, 0x26, 0x46, 0xa9, 0x06, 0x02, 0xcc, 0xdc, 0x83, 0x22, 0x21, 0x5e, 0x4c, 0x27, 0x15, 0xcf, 0xba, 0x2c, 0xbd, 0xf0, 0x1d, 0xd9, 0xaa, 0x68, 0xed, 0x7f, 0xac, 0x75, 0xa3, 0xb5, 0x7f, 0x5f, 0x23, 0x7a, 0x58, 0xfb, 0xb7, 0x35, 0x7b, 0xce, 0xa0, 0x8c, 0xdd, 0xa5, 0xe3, 0x84, 0x49, 0xe2, 0xf4, 0xf2, 0xee, 0x45, 0xf4, 0x33, 0xea, 0x0e, 0xc0, 0x6b, 0x93, 0x07, 0x25, 0x48, 0x5d, 0x1b, 0xbc, 0x1d, 0x01, 0xd3, 0x8d, 0x17, 0xa8, 0x44, 0x24, 0xc5, 0x08, 0xa8, 0x37, 0x9e, 0x02, 0xbd, 0x82, 0x2c, 0xd6, 0xe1, 0x70, 0x7c, 0x7c, 0x85, 0x97, 0x05, 0x0c, 0x32, 0xca, 0xe2, 0x39, 0xdc, 0x88, 0x33, 0x9c, 0x51, 0x9a, 0xf9, 0x87, 0xf9, 0xd7, 0x49, 0xf2, 0xf9, 0xd6, 0xc1, 0xc1, 0xee, 0x9f, 0x76, 0xf6, 0x93, 0xea, 0x66, 0xeb, 0xa7, 0x4d, 0xf3, 0xc8, 0xe9, 0x84, 0xb6, 0x5d, 0xc9, 0x4f, 0x27, 0x01, 0x52, 0xde, 0x48, 0x09, 0x78, 0x1f, 0xfe, 0x9e, 0x4c, 0xd2, 0x87, 0xae, 0xea, 0x4b, 0x7c, 0xe7, 0x62, 0x20, 0x35, 0x38, 0x3f, 0x64, 0x11, 0x3a, 0xdc, 0x74, 0x99, 0x94, 0xb0, 0x93, 0xf7, 0x37, 0x71, 0x15, 0x99, 0x01, 0xf8, 0x64, 0xe7, 0xe9, 0xf4, 0xa6, 0x8a, 0xee, 0x63, 0x14, 0x36, 0xa7, 0x15, 0x0f, 0x81, 0x52, 0x1e, 0x44, 0xcc, 0x24, 0x06, 0x59, 0x81, 0x67, 0x48, 0x22, 0x7d, 0x68, 0x35, 0x8c, 0x0a, 0xc8, 0x9c, 0x0f, 0xc4, 0xaa, 0x53, 0xc3, 0xb8, 0xc4, 0x4b, 0x9b, 0x01, 0x73, 0xa8, 0x40, 0x47, 0x58, 0xe2, 0xbf, 0x6e, 0x40, 0x0b, 0xa0, 0x3d, 0x90, 0x89, 0x92, 0xa0, 0x7c, 0x8b, 0xc7, 0x89, 0x67, 0x63, 0x84, 0x17, 0x1c, 0x52, 0x57, 0x8e, 0xd9, 0xbc, 0x51, 0xc2, 0x85, 0x03, 0xce, 0x64, 0x28, 0xa3, 0x83, 0x4c, 0xb6, 0xc3, 0xeb, 0xa4, 0x39, 0xc6, 0x25, 0x2a, 0x0a, 0xac, 0x0e, 0xc0, 0xe4, 0x9d, 0xc5, 0xc2, 0xa6, 0xc5, 0xb7, 0xa8, 0x92, 0x34, 0x14, 0x1f, 0x7a, 0x6d, 0x9c, 0x03, 0x91, 0xc1, 0x6c, 0x81, 0x19, 0xe3, 0xca, 0x90, 0xc5, 0xd2, 0xae, 0x10, 0x91, 0xc3, 0x98, 0xf8, 0xc3, 0xb4, 0x42, 0x19, 0x43, 0x3a, 0x2c, 0xcc, 0x17, 0x36, 0x85, 0x14, 0x51, 0x60, 0xd4, 0xce, 0xfa, 0x49, 0x3c, 0xc2, 0xb3, 0xd1, 0x1d, 0x68, 0x29, 0xa0, 0x90, 0x26, 0xe6, 0x2d, 0x92, 0xe7, 0x23, 0xd4, 0x8d, 0x66, 0x70, 0x5f, 0x46, 0x79, 0x51, 0xa0, 0xbe, 0x8f, 0x27, 0x38, 0x64, 0x26, 0x3a, 0x4f, 0x40, 0x8d, 0x70, 0xb7, 0x33, 0x45, 0x81, 0x06, 0xfc, 0x05, 0xf4, 0x12, 0xe2, 0x20, 0xa0, 0x3f, 0x10, 0xcf, 0xa7, 0x85, 0xd3, 0xec, 0x70, 0xec, 0xd1, 0x28, 0x59, 0x54, 0x65, 0x68, 0x4d, 0x7a, 0xe0, 0x30, 0x9d, 0x22, 0xc1, 0x9d, 0x77, 0x95, 0x2e, 0xda, 0x57, 0x23, 0xf4, 0x49, 0xef, 0x52, 0x3d, 0x06, 0xf4, 0xb0, 0xd2, 0xec, 0x5a, 0x45, 0xb4, 0x01, 0x6c, 0x8c, 0xf6, 0x7c, 0x8e, 0x13, 0xc5, 0x87, 0x4b, 0xbe, 0xa9, 0xc4, 0x9a, 0xf1, 0x20, 0x59, 0xd3, 0xe6, 0xef, 0xa2, 0xe8, 0x82, 0xfd, 0x34, 0x83, 0xc3, 0x57, 0xcd, 0x99, 0xe2, 0xe7, 0x51, 0xc5, 0x07, 0x49, 0x3e, 0x2e, 0x6f, 0x40, 0xf9, 0x2a, 0xe5, 0x66, 0xa7, 0x73, 0xa0, 0x99, 0x3b, 0x3c, 0xdf, 0x45, 0x92, 0x8c, 0xfb, 0xd1, 0xc5, 0x04, 0xb9, 0x6a, 0x01, 0x93, 0xae, 0xe8, 0xd7, 0x28, 0x55, 0x60, 0xdf, 0xc6, 0xa4, 0xc4, 0x9b, 0xab, 0xc5, 0x53, 0x71, 0xa4, 0x03, 0x71, 0xf2, 0x18, 0x7e, 0x02, 0xb3, 0x9d, 0xd5, 0x45, 0x10, 0xdd, 0x43, 0xe0, 0xde, 0x38, 0xbd, 0x61, 0x12, 0x11, 0x25, 0x0e, 0x93, 0xea, 0x3e, 0x49, 0xcc, 0x70, 0x65, 0x02, 0x62, 0x0f, 0x0f, 0x8d, 0x35, 0x3f, 0x62, 0x86, 0xb8, 0xb5, 0x97, 0x57, 0x17, 0xdf, 0x5c, 0x9d, 0x0c, 0x06, 0xd1, 0xfb, 0x93, 0xeb, 0x93, 0xab, 0xda, 0x4e, 0x67, 0x79, 0x31, 0xa7, 0x13, 0x1d, 0xa7, 0xe5, 0x62, 0x16, 0x3f, 0xe2, 0x51, 0xc3, 0x4a, 0xa6, 0x05, 0xde, 0xac, 0x79, 0x82, 0x52, 0x61, 0xbc, 0x24, 0x4e, 0x06, 0xe2, 0x08, 0x8e, 0x4f, 0x34, 0x5e, 0x64, 0x26, 0xa4, 0x26, 0x67, 0x53, 0xbb, 0xd3, 0xc0, 0x71, 0x44, 0x92, 0xa2, 0x28, 0x35, 0xe7, 0x81, 0xaa, 0x27, 0x19, 0x37, 0x5d, 0xfb, 0x33, 0xde, 0x26, 0x16, 0x6d, 0x40, 0xb3, 0xe9, 0x9c, 0x98, 0x1d, 0xfc, 0x69, 0xb5, 0xcd, 0x64, 0x02, 0xaa, 0x36, 0x48, 0x57, 0xb6, 0x14, 0x9a, 0x73, 0xd2, 0xd9, 0x1a, 0xfd, 0x18, 0xc8, 0x10, 0x59, 0x33, 0x0e, 0xc8, 0x53, 0xe1, 0x2f, 0x18, 0x26, 0x06, 0x3a, 0x09, 0xf2, 0x3e, 0x79, 0x6c, 0x81, 0x53, 0x48, 0xe0, 0x64, 0xc7, 0x3c, 0x7c, 0xb9, 0x9c, 0xd0, 0x45, 0x8e, 0xd6, 0x41, 0x33, 0x7f, 0x0f, 0xd6, 0x12, 0x58, 0x2c, 0xdd, 0xe8, 0x72, 0x83, 0xde, 0xdb, 0xde, 0xda, 0xd9, 0x63, 0x46, 0xd0, 0xd7, 0xe1, 0xde, 0x3a, 0x8c, 0x78, 0xfb, 0x16, 0x8f, 0x97, 0x1f, 0xc2, 0xc1, 0xfb, 0xd1, 0xf6, 0x7b, 0xfe, 0xc9, 0xde, 0xe7, 0xfb, 0x2f, 0x5f, 0xc8, 0x0f, 0xeb, 0x04, 0x6e, 0xe6, 0x4f, 0xd4, 0x41, 0x96, 0x1f, 0x9a, 0x82, 0x30, 0x13, 0x58, 0xdd, 0x3c, 0xcd, 0xe0, 0x9a, 0xc0, 0xb5, 0x12, 0x5e, 0x85, 0xf4, 0x0c, 0x93, 0x9f, 0x30, 0x67, 0x93, 0x73, 0xad, 0x9b, 0x94, 0xf0, 0x32, 0x90, 0x2c, 0xf0, 0x72, 0x73, 0x48, 0xac, 0x26, 0x54, 0x38, 0x91, 0x78, 0x88, 0x0c, 0x16, 0xed, 0x2a, 0x50, 0x80, 0x93, 0xe0, 0xd7, 0x8c, 0x54, 0x84, 0x37, 0x60, 0x6e, 0x20, 0x13, 0x51, 0xcc, 0xf9, 0xfb, 0x0e, 0xac, 0x80, 0x38, 0xe4, 0x7d, 0x5a, 0x12, 0x6b, 0xb8, 0xcf, 0x97, 0x33, 0xb0, 0x62, 0xf0, 0x81, 0xe5, 0x82, 0x5e, 0x80, 0x4f, 0x2d, 0x2c, 0x0f, 0x00, 0x8d, 0x05, 0x69, 0xa7, 0x39, 0x0a, 0x4c, 0x0d, 0xfe, 0xb9, 0x00, 0x52, 0xe2, 0xe9, 0xf4, 0x9b, 0x12, 0x82, 0x78, 0x9f, 0x47, 0x89, 0x78, 0xe7, 0x89, 0x69, 0x5f, 0x5e, 0x0c, 0xae, 0x51, 0x03, 0xb8, 0xfc, 0x70, 0x0d, 0x03, 0x81, 0x0a, 0x50, 0x56, 0x40, 0x94, 0xf8, 0x62, 0x96, 0x90, 0x09, 0xa9, 0xc3, 0x01, 0xed, 0xa5, 0xc4, 0xa8, 0x48, 0xad, 0xd1, 0x4f, 0xf2, 0x1c, 0xd9, 0xc6, 0xc6, 0x2b, 0xa8, 0x16, 0x36, 0xcb, 0x70, 0xf3, 0x4e, 0xb4, 0xfe, 0xe5, 0x06, 0xd0, 0x6c, 0x2f, 0x37, 0xbb, 0xd3, 0xeb, 0xc9, 0xab, 0xf0, 0xed, 0x32, 0x9d, 0xa7, 0xb3, 0xb8, 0x70, 0xa6, 0xce, 0x1c, 0x15, 0xef, 0xa7, 0xe1, 0x2b, 0x23, 0xa0, 0x1a, 0x9a, 0xb6, 0x35, 0x25, 0x71, 0x0f, 0x89, 0x2b, 0xd9, 0xa3, 0x1a, 0xa3, 0x42, 0x40, 0x1a, 0xf3, 0x22, 0x35, 0x5b, 0x87, 0x67, 0x86, 0xec, 0xaa, 0xb6, 0x51, 0xcd, 0x73, 0xf3, 0x36, 0x0e, 0x25, 0x12, 0x79, 0x2a, 0xcc, 0xd6, 0x45, 0x9d, 0x61, 0x5c, 0x74, 0x22, 0xc3, 0x8b, 0xf9, 0x6e, 0xe2, 0x0d, 0x29, 0x92, 0xe9, 0x12, 0x56, 0x10, 0xf1, 0xee, 0xe2, 0x4a, 0xff, 0xe8, 0xac, 0x54, 0x07, 0xe8, 0x0d, 0xf1, 0x91, 0xb4, 0x64, 0x33, 0x73, 0x02, 0x76, 0x0b, 0x5e, 0x1a, 0xd5, 0x5f, 0x49, 0xa3, 0x11, 0x8a, 0x09, 0x10, 0x8c, 0xa3, 0xd7, 0xc2, 0x55, 0xa9, 0x12, 0x60, 0x34, 0xc4, 0xfe, 0xf1, 0xc9, 0x1e, 0x1c, 0x59, 0xaf, 0x57, 0xc2, 0xfe, 0xa3, 0xee, 0xbd, 0x10, 0x9b, 0xfe, 0x82, 0x1c, 0x26, 0xc6, 0xb7, 0x72, 0x21, 0x3a, 0x30, 0x89, 0x4d, 0x7e, 0x97, 0x58, 0x28, 0x28, 0xaa, 0xf7, 0xf0, 0xe1, 0x18, 0x8e, 0x0c, 0x2e, 0xdc, 0x7b, 0xdc, 0x28, 0xf6, 0x8d, 0x44, 0x46, 0x6d, 0x26, 0xca, 0x48, 0xf1, 0xde, 0xc7, 0x56, 0x97, 0x19, 0x8f, 0x53, 0xfc, 0x2d, 0xdc, 0x2f, 0x90, 0x70, 0xcb, 0x84, 0x6c, 0x0f, 0xd9, 0xd4, 0xb9, 0xdd, 0x4c, 0x32, 0x63, 0xcb, 0x9b, 0x1c, 0xcd, 0xc4, 0x0e, 0xf3, 0xe2, 0x1e, 0x7e, 0xab, 0x43, 0xf2, 0x7c, 0x1e, 0xe9, 0xb7, 0xe4, 0x53, 0xb0, 0x8e, 0xb1, 0xab, 0x9b, 0x75, 0x41, 0xd0, 0x3c, 0x3a, 0x46, 0x02, 0xf1, 0x6a, 0x9e, 0x7b, 0x61, 0x14, 0x1e, 0x10, 0xa9, 0x0b, 0x54, 0xa6, 0x84, 0x87, 0x93, 0x30, 0xa4, 0x2b, 0x5b, 0xf2, 0xd4, 0xba, 0xb0, 0xb7, 0xf8, 0xe4, 0xf4, 0x46, 0x1f, 0x75, 0x04, 0x6b, 0x0c, 0x8b, 0x43, 0xe1, 0x80, 0xf6, 0xf4, 0x58, 0xf9, 0x7e, 0x5e, 0x30, 0x33, 0x9b, 0xe5, 0x40, 0xcb, 0x1d, 0x56, 0x59, 0x65, 0xda, 0x38, 0x6b, 0x9c, 0x25, 0xee, 0x38, 0xfb, 0x99, 0x72, 0x73, 0x36, 0x66, 0xd2, 0xb2, 0x5f, 0xe5, 0x93, 0x53, 0xb3, 0x1b, 0x35, 0xa0, 0x3d, 0x02, 0xd1, 0x59, 0x22, 0x1d, 0xeb, 0xce, 0x13, 0x79, 0x83, 0xa8, 0x5b, 0xab, 0xf8, 0x3e, 0x92, 0x8d, 0xd5, 0xd8, 0xf9, 0x92, 0xc8, 0x47, 0x04, 0x99, 0x59, 0x19, 0xac, 0x68, 0x9c, 0xc6, 0x44, 0x27, 0x7c, 0x34, 0xa4, 0x8c, 0x58, 0x8b, 0x30, 0xa0, 0x07, 0x3f, 0x36, 0x0d, 0xba, 0xd9, 0xcc, 0x15, 0x49, 0x3a, 0xa7, 0xde, 0x05, 0xac, 0xfd, 0x8c, 0xd6, 0xd1, 0xbb, 0x8b, 0xf0, 0xfa, 0x81, 0xd9, 0x80, 0x77, 0xb1, 0x77, 0x71, 0x76, 0xe7, 0x5c, 0x23, 0xb4, 0xdc, 0x33, 0xd4, 0x53, 0xba, 0xe4, 0x1d, 0x19, 0xe6, 0x39, 0x98, 0xc9, 0x76, 0x69, 0x28, 0x0f, 0x92, 0x0c, 0xa9, 0x5d, 0x4e, 0x14, 0x58, 0xc2, 0xc2, 0xf0, 0xdb, 0x47, 0x30, 0x97, 0xe2, 0x69, 0x9c, 0x1a, 0x7a, 0x93, 0x9b, 0x31, 0x8e, 0xf4, 0xe1, 0x2c, 0x97, 0xe7, 0xf1, 0xa8, 0x50, 0x05, 0x12, 0xbe, 0xb5, 0x2c, 0xf9, 0xfa, 0xc0, 0xaa, 0x80, 0xf3, 0x10, 0xef, 0x90, 0x71, 0x51, 0x6d, 0xd4, 0xe1, 0x86, 0xa4, 0x28, 0xa3, 0xce, 0x49, 0xcc, 0x97, 0x34, 0x48, 0x18, 0xb1, 0xd3, 0x8f, 0xde, 0xe5, 0xf7, 0x09, 0xf9, 0x0a, 0x49, 0xbf, 0x4f, 0xd1, 0xdb, 0x05, 0xaa, 0xe0, 0x7d, 0x12, 0xcd, 0x41, 0xf5, 0x84, 0xdd, 0x24, 0xed, 0x83, 0x7e, 0xe6, 0x98, 0x87, 0x40, 0xe1, 0xf7, 0xbc, 0x4b, 0x66, 0x15, 0xe6, 0x28, 0x27, 0x7c, 0x25, 0xa2, 0x75, 0x52, 0x6f, 0x46, 0xb8, 0x5b, 0x8b, 0xca, 0xae, 0xc2, 0x6c, 0xc8, 0x7d, 0x5c, 0x3a, 0x97, 0x2b, 0x21, 0xd3, 0xf4, 0x65, 0x7f, 0xfb, 0x55, 0x7f, 0xab, 0x0f, 0x86, 0x48, 0x72, 0x97, 0xe6, 0xcb, 0x12, 0x3e, 0x8d, 0xd3, 0xb0, 0xef, 0x24, 0x78, 0x2b, 0xab, 0x7c, 0x3a, 0x9d, 0xb1, 0xce, 0xb3, 0x99, 0x4f, 0x26, 0xac, 0xfb, 0x80, 0xa6, 0x67, 0xf4, 0x67, 0xb6, 0x80, 0x70, 0x67, 0xe4, 0xba, 0x31, 0x4b, 0xf5, 0x4d, 0xe4, 0xbe, 0x75, 0x5e, 0xf4, 0x7a, 0xf1, 0xb0, 0xac, 0xd0, 0x98, 0xea, 0x2d, 0xb3, 0xf4, 0xa1, 0x57, 0xe6, 0xa3, 0x5b, 0x38, 0x94, 0xc3, 0x45, 0x5c, 0xdd, 0x7c, 0xd9, 0x70, 0x09, 0xaf, 0xa3, 0x2c, 0xd9, 0x88, 0xa2, 0x63, 0x56, 0x2b, 0x71, 0x27, 0x0a, 0xbe, 0x6f, 0x70, 0x9a, 0x32, 0x4a, 0xf4, 0x01, 0x46, 0x01, 0x5a, 0x9e, 0xc3, 0xa1, 0x46, 0x3c, 0x58, 0x57, 0x59, 0x69, 0x63, 0x38, 0x72, 0x38, 0xa2, 0x18, 0x21, 0xbf, 0x1d, 0x5c, 0x9d, 0xbc, 0xb8, 0x05, 0x45, 0xfb, 0x1c, 0x4c, 0xc6, 0x03, 0xfc, 0x37, 0xb0, 0xb0, 0x8a, 0xb6, 0x5c, 0x24, 0x2b, 0xcc, 0x88, 0x99, 0x31, 0x5a, 0xe4, 0xf1, 0xb0, 0xd7, 0x18, 0x4e, 0xbe, 0x2f, 0x1f, 0x8d, 0xd4, 0xd6, 0x50, 0x52, 0x8a, 0xd6, 0xbe, 0x02, 0xfb, 0xef, 0x86, 0x8f, 0x9d, 0x06, 0xe4, 0x35, 0x02, 0x85, 0x4e, 0xc1, 0x82, 0xc8, 0xaa, 0xe6, 0x70, 0x37, 0x24, 0xaa, 0x51, 0xca, 0xb0, 0xb1, 0x4b, 0x44, 0x22, 0x1e, 0x20, 0x63, 0x7f, 0xf6, 0x3f, 0x6b, 0xbc, 0x76, 0x64, 0xcf, 0x74, 0x7f, 0x17, 0xce, 0xd4, 0xdd, 0xe8, 0x59, 0xd5, 0x2b, 0xef, 0x46, 0xd1, 0x21, 0x69, 0xdf, 0x48, 0xa6, 0xc1, 0x0d, 0x1e, 0x6c, 0x44, 0xdf, 0x1f, 0x5d, 0x9d, 0x9f, 0x9e, 0x7f, 0x73, 0xc0, 0x1f, 0x15, 0x4a, 0x83, 0xbf, 0x25, 0x0f, 0x20, 0x02, 0x53, 0x9c, 0x2c, 0x48, 0xb2, 0xe8, 0x4d, 0x4e, 0xb3, 0xc3, 0xf3, 0x86, 0xef, 0x81, 0x1c, 0x69, 0xee, 0xc8, 0x78, 0xd9, 0x70, 0xfc, 0x1a, 0x6e, 0x6d, 0x47, 0xe5, 0xbb, 0xc9, 0x3b, 0xac, 0x13, 0x04, 0xe6, 0xc8, 0xbe, 0x63, 0x52, 0x96, 0xfa, 0x28, 0x2a, 0xc9, 0xc6, 0xd7, 0x69, 0x37, 0x86, 0x5b, 0xe4, 0x60, 0xe9, 0xb2, 0x91, 0x0f, 0xe3, 0x3d, 0xc0, 0x9d, 0xc1, 0x2d, 0xd2, 0xc1, 0x46, 0xc0, 0x8b, 0x12, 0xd1, 0x1a, 0x88, 0xcf, 0x91, 0xcd, 0x20, 0x7c, 0xac, 0x1f, 0x1d, 0x4d, 0x9a, 0xb3, 0x46, 0xc5, 0x05, 0x55, 0x7a, 0x15, 0x81, 0x63, 0xab, 0x05, 0xb3, 0x8b, 0x97, 0x47, 0xd4, 0x61, 0x4a, 0x38, 0x9c, 0xb1, 0x8a, 0x79, 0xfc, 0x4c, 0x63, 0x38, 0xb2, 0x3b, 0x89, 0xc7, 0xa0, 0x46, 0x98, 0xe2, 0x69, 0xa2, 0xdd, 0x07, 0x5c, 0x7a, 0x9e, 0x8f, 0xc9, 0x88, 0xf0, 0xf6, 0x67, 0x60, 0xbc, 0x3d, 0x9d, 0x8e, 0x5d, 0x75, 0xb4, 0x8e, 0x7e, 0x3f, 0x20, 0x81, 0x6c, 0x5a, 0xdd, 0x6c, 0x58, 0x9f, 0x06, 0xea, 0x28, 0xb0, 0xe0, 0x4d, 0x98, 0x08, 0xad, 0x3b, 0x6b, 0xd2, 0x39, 0xf9, 0x9c, 0x49, 0xed, 0xfc, 0xdb, 0xb2, 0xac, 0xc8, 0x14, 0x12, 0xd9, 0xcf, 0x2b, 0x81, 0x99, 0xcd, 0x93, 0x79, 0x5e, 0x3c, 0x7a, 0x13, 0x39, 0x25, 0xcd, 0x03, 0xad, 0x4e, 0x39, 0x2d, 0x24, 0x02, 0x12, 0x8e, 0xea, 0x0f, 0x44, 0x0b, 0x00, 0x1d, 0xea, 0xc6, 0x08, 0x24, 0x8d, 0x09, 0xb8, 0x0f, 0x18, 0xdf, 0xd6, 0x5b, 0xab, 0xd6, 0x13, 0x79, 0x79, 0xd8, 0xb0, 0x17, 0x53, 0x6a, 0x28, 0xfe, 0x1b, 0xfc, 0xff, 0x59, 0x8c, 0x2c, 0x27, 0x4b, 0x6a, 0x27, 0x44, 0xa2, 0x83, 0x97, 0xb6, 0x8a, 0xd6, 0x5f, 0xec, 0xf5, 0xb7, 0x6b, 0xb4, 0x9e, 0x3d, 0x62, 0x94, 0x20, 0xcc, 0x40, 0xae, 0x41, 0x6b, 0x2c, 0x79, 0xce, 0xb0, 0x8b, 0x93, 0x74, 0xba, 0x2c, 0x12, 0x56, 0xdf, 0x28, 0xb0, 0xa0, 0xf1, 0x04, 0xd4, 0x88, 0x6e, 0x72, 0x72, 0xc3, 0x83, 0x24, 0x4d, 0x66, 0x93, 0x6e, 0x63, 0x38, 0xb2, 0x5d, 0x90, 0xfc, 0x69, 0xfa, 0xc4, 0x31, 0xc1, 0x46, 0xa1, 0xc1, 0xb2, 0x44, 0x34, 0xd8, 0x39, 0x70, 0x93, 0x08, 0xfd, 0xd0, 0xd1, 0x68, 0x16, 0xa7, 0x73, 0x22, 0x53, 0xf1, 0xb3, 0xf6, 0x43, 0xd7, 0x02, 0xad, 0x0b, 0x7c, 0x7b, 0x88, 0x76, 0x6f, 0x51, 0xa2, 0x58, 0xa6, 0x53, 0x55, 0xb5, 0x99, 0xad, 0xca, 0x9b, 0x64, 0x74, 0xab, 0x9c, 0x4b, 0xf5, 0xcd, 0x26, 0x1d, 0x63, 0x80, 0x81, 0x8c, 0x6b, 0x78, 0x6a, 0x59, 0xe2, 0x35, 0x29, 0xcb, 0x14, 0x7d, 0x67, 0x68, 0x0b, 0x2e, 0x47, 0x64, 0x22, 0xd2, 0x85, 0x01, 0xea, 0x56, 0xf6, 0x17, 0x01, 0x3f, 0xcd, 0xc6, 0xbd, 0xaa, 0x48, 0x17, 0x6d, 0xb3, 0xe3, 0x53, 0xa9, 0x6b, 0xa7, 0xa5, 0x98, 0xeb, 0x64, 0x09, 0xb3, 0x6d, 0x3c, 0x8a, 0x1a, 0xbb, 0xd9, 0x24, 0x4a, 0xda, 0xdb, 0x2e, 0x3a, 0x83, 0x52, 0x50, 0x16, 0xd8, 0x52, 0x22, 0x5f, 0x27, 0xd8, 0x45, 0x22, 0xb5, 0xc0, 0x84, 0x4b, 0x47, 0xa4, 0x01, 0xa5, 0xd3, 0x04, 0x03, 0x39, 0x20, 0xc8, 0xaa, 0x19, 0xe8, 0x45, 0x3e, 0x8d, 0xc3, 0x6f, 0x92, 0x69, 0x5e, 0xa1, 0x2a, 0xe2, 0x91, 0xc9, 0x07, 0x62, 0xf2, 0x86, 0x26, 0x54, 0xe7, 0x77, 0x15, 0xb2, 0x94, 0x95, 0x71, 0xf8, 0x34, 0xeb, 0xfc, 0xe2, 0x6e, 0x28, 0x2b, 0xb8, 0x59, 0xcd, 0x53, 0x87, 0xd1, 0x46, 0x09, 0x19, 0x5e, 0xa4, 0x35, 0xaa, 0xd2, 0xaa, 0xda, 0x3e, 0xb2, 0x04, 0x54, 0x90, 0xab, 0xfb, 0x74, 0x94, 0xa8, 0x2f, 0x4e, 0x1c, 0xd4, 0xb3, 0xd4, 0xe7, 0xf3, 0x73, 0xbc, 0x93, 0xf0, 0x12, 0x2b, 0xe4, 0xe8, 0x3a, 0xb9, 0x4f, 0x51, 0x61, 0x17, 0xa6, 0x47, 0xfa, 0x98, 0xc8, 0x82, 0xb8, 0x48, 0xc9, 0x4f, 0x04, 0xc3, 0xc9, 0x3c, 0x1d, 0x73, 0xde, 0xbd, 0x63, 0x3c, 0x6f, 0x7a, 0x5f, 0x6c, 0x18, 0x6b, 0xbb, 0xd0, 0xe5, 0x9a, 0xc4, 0xe9, 0x2c, 0xb0, 0x4f, 0xc4, 0xc8, 0xa6, 0x09, 0xb9, 0xd4, 0xf8, 0x0c, 0x96, 0xb8, 0xe9, 0x18, 0x74, 0xf3, 0x99, 0x54, 0x92, 0xb0, 0x31, 0x41, 0x96, 0xc7, 0xc3, 0xa3, 0xd9, 0x5e, 0xd2, 0xd8, 0xf8, 0xec, 0xe4, 0xef, 0x7c, 0x7c, 0xce, 0xf5, 0x8c, 0x71, 0xd4, 0x78, 0x81, 0xd1, 0xa5, 0xe6, 0x0d, 0x45, 0xbb, 0x0b, 0x03, 0x94, 0x1b, 0xea, 0x3e, 0x4e, 0xc4, 0x79, 0x6e, 0x02, 0x7b, 0xc4, 0x90, 0x90, 0xa7, 0xc9, 0x15, 0xe6, 0x71, 0x84, 0x03, 0x37, 0x79, 0x39, 0x08, 0x57, 0x90, 0xc5, 0xc4, 0x43, 0x6b, 0x14, 0x9b, 0x03, 0xfb, 0x32, 0xe1, 0x25, 0x74, 0xf7, 0x0a, 0xaf, 0x23, 0x2b, 0x8b, 0xee, 0x6c, 0x88, 0x97, 0xa3, 0xdd, 0x87, 0x4a, 0x32, 0x4b, 0x99, 0x6e, 0xc4, 0x4a, 0x1d, 0x33, 0xab, 0x11, 0x3b, 0x80, 0x45, 0x81, 0x60, 0x51, 0x43, 0x53, 0x9d, 0xcc, 0xe2, 0x29, 0xf9, 0xd6, 0xa6, 0xcd, 0x1b, 0x9a, 0xe5, 0x12, 0xe5, 0x2b, 0x73, 0x60, 0xef, 0xb8, 0x6a, 0xf1, 0x6b, 0x95, 0xd1, 0x3a, 0x10, 0xd9, 0x6c, 0x49, 0xb2, 0xfe, 0x02, 0x96, 0x37, 0x18, 0xbc, 0xdb, 0x70, 0xd9, 0x1b, 0xed, 0xee, 0x73, 0x98, 0x1b, 0x72, 0x27, 0xb2, 0xc0, 0xbf, 0xe6, 0xf3, 0xa8, 0x33, 0x38, 0x63, 0xda, 0xb9, 0x6a, 0x9c, 0xd2, 0x25, 0xae, 0x02, 0xfd, 0xa0, 0x7d, 0x73, 0xf5, 0xf1, 0x49, 0x75, 0xc7, 0x32, 0x61, 0xd7, 0xb4, 0x83, 0x65, 0xb9, 0x24, 0xcf, 0x14, 0xc9, 0xe3, 0xe6, 0x70, 0xc0, 0xec, 0x81, 0x15, 0x2d, 0x33, 0xfc, 0xd3, 0x28, 0xd0, 0x29, 0x99, 0x72, 0x78, 0x16, 0x05, 0xfa, 0xbf, 0xd1, 0x08, 0x36, 0x0a, 0x28, 0xf0, 0x14, 0x1d, 0x1b, 0xf7, 0xb2, 0x79, 0x09, 0x41, 0x3d, 0x23, 0x76, 0x03, 0x22, 0x14, 0x04, 0x33, 0x5e, 0xb8, 0x16, 0xee, 0xbd, 0x5e, 0x2e, 0x81, 0xbf, 0xa0, 0xdd, 0x20, 0xcc, 0x03, 0xe9, 0xb1, 0x39, 0x3b, 0x66, 0x2f, 0x20, 0x69, 0x1c, 0x3e, 0xb2, 0xf1, 0x5b, 0x5f, 0x10, 0x3a, 0x34, 0xf7, 0x14, 0x41, 0xfc, 0x26, 0x60, 0x8d, 0x91, 0x3e, 0xe6, 0xa9, 0x62, 0xd7, 0x67, 0x83, 0xd0, 0x61, 0xd6, 0x83, 0x53, 0xf8, 0x3e, 0x32, 0x5b, 0xf4, 0x21, 0xb2, 0x4f, 0x35, 0x47, 0x8b, 0xc0, 0x09, 0x50, 0xb9, 0xce, 0xbe, 0x45, 0x82, 0x91, 0x2c, 0x36, 0x96, 0x39, 0xf2, 0x8d, 0x0c, 0x0c, 0x85, 0x35, 0x6a, 0x27, 0xc6, 0x7f, 0x7a, 0x7c, 0xe4, 0x8e, 0x4b, 0x0e, 0xd3, 0xe6, 0x45, 0x70, 0x7e, 0xbf, 0x5e, 0x6e, 0x18, 0x1e, 0x06, 0xa3, 0x5c, 0x9e, 0xbc, 0x27, 0xe3, 0x35, 0x06, 0xba, 0x39, 0x57, 0x5f, 0xa5, 0x06, 0xb6, 0x87, 0xcb, 0x74, 0x56, 0x0b, 0x08, 0x58, 0x7b, 0x9b, 0xa2, 0xca, 0x4c, 0x5a, 0x34, 0x35, 0x0e, 0x6d, 0xa5, 0xe4, 0x1b, 0x6e, 0x12, 0x5a, 0xf5, 0xb8, 0x10, 0xb7, 0xf6, 0xb2, 0xac, 0x79, 0x8f, 0x54, 0x2e, 0xcf, 0x2a, 0x52, 0xb1, 0xd1, 0xa8, 0x75, 0xc6, 0xf4, 0x4e, 0x88, 0xa6, 0x85, 0x62, 0x60, 0x9a, 0xa5, 0x3f, 0x8b, 0x0e, 0x9a, 0x64, 0x77, 0x69, 0x91, 0x67, 0xa8, 0xe3, 0x82, 0xdd, 0x5b, 0xa4, 0xc4, 0x96, 0x51, 0xfd, 0x02, 0xc6, 0xb1, 0x76, 0xfc, 0xe1, 0xea, 0xec, 0xe3, 0xf1, 0xd1, 0xc7, 0xaf, 0x3f, 0x9c, 0xbf, 0x39, 0x3b, 0x59, 0x6b, 0x0c, 0x87, 0x0e, 0xbf, 0x54, 0xbc, 0xf4, 0x25, 0x9a, 0x1d, 0x74, 0x49, 0x60, 0x8a, 0x3c, 0xf2, 0x34, 0xbd, 0x03, 0x86, 0x46, 0x56, 0x04, 0x39, 0xe8, 0xe9, 0x6f, 0xe4, 0xd2, 0x92, 0x0d, 0x6f, 0x0c, 0x37, 0x5c, 0xa2, 0x9e, 0xd6, 0xaf, 0x69, 0xcb, 0x7a, 0x55, 0xc4, 0x64, 0xd7, 0x09, 0x06, 0x34, 0x6c, 0xd4, 0xa2, 0xb2, 0x31, 0xda, 0x2e, 0x8e, 0x85, 0xe8, 0xf8, 0xea, 0x97, 0x15, 0x98, 0x48, 0x1a, 0x1d, 0x00, 0xad, 0x2d, 0xbf, 0xd5, 0x14, 0x03, 0xb0, 0xaf, 0x8e, 0x02, 0xc7, 0x5d, 0x5a, 0x4d, 0x74, 0x1c, 0xad, 0xe1, 0x48, 0x40, 0xbf, 0x3d, 0x99, 0xe4, 0xa8, 0xa8, 0xc0, 0xb8, 0x49, 0x52, 0xba, 0x18, 0x1a, 0x42, 0x45, 0x9d, 0x95, 0x3c, 0x73, 0x9e, 0x86, 0x0d, 0xba, 0x26, 0xee, 0x01, 0x69, 0xf7, 0xc9, 0x43, 0x42, 0x37, 0x4f, 0xde, 0x3a, 0x5e, 0x16, 0x74, 0x9b, 0xbf, 0x07, 0x6d, 0x04, 0xb9, 0xdf, 0x1b, 0x72, 0xed, 0xc1, 0x0b, 0xfa, 0x10, 0x88, 0x99, 0xa6, 0xc8, 0xcb, 0x67, 0x18, 0x54, 0x8d, 0xc9, 0x8d, 0x42, 0x4e, 0xaf, 0xcb, 0xa3, 0xeb, 0x77, 0x41, 0x65, 0xd6, 0xe6, 0xf3, 0x08, 0x29, 0x92, 0x62, 0x5e, 0x56, 0x72, 0x41, 0xce, 0x07, 0x83, 0x88, 0xb2, 0x45, 0x66, 0xe9, 0xb0, 0x88, 0xf1, 0x9b, 0xf8, 0x63, 0xfc, 0x29, 0x90, 0x75, 0x63, 0xb8, 0xcb, 0x6f, 0x8f, 0x07, 0x7f, 0xdc, 0xde, 0x46, 0x2d, 0x7e, 0x09, 0xfb, 0xb2, 0x0e, 0xaf, 0x64, 0x25, 0xdc, 0xcc, 0x79, 0xbf, 0xcc, 0x37, 0x48, 0x6c, 0x97, 0xa2, 0x0e, 0xc4, 0x77, 0x20, 0x6d, 0x89, 0x8e, 0x94, 0xa8, 0xe1, 0x38, 0xbd, 0x3d, 0x21, 0x46, 0x27, 0xa9, 0x34, 0xc0, 0x2f, 0x40, 0x5e, 0xcf, 0x7c, 0x85, 0x7c, 0x3d, 0xbd, 0x18, 0x48, 0x22, 0x4a, 0x3c, 0x82, 0xbf, 0xa2, 0x97, 0x60, 0x03, 0x57, 0x56, 0xbf, 0x61, 0xba, 0xaa, 0x01, 0x6b, 0xa3, 0xd7, 0x68, 0xbe, 0x50, 0xfe, 0x8c, 0xcf, 0x15, 0xb2, 0xe6, 0xe5, 0xb2, 0x39, 0x4a, 0x44, 0x0e, 0xc3, 0x78, 0x74, 0x7b, 0x1f, 0x17, 0x63, 0xb6, 0x87, 0x80, 0x62, 0x86, 0xe9, 0x2c, 0xad, 0x1e, 0xd9, 0xa8, 0x6d, 0x1a, 0xd4, 0x1c, 0x1c, 0xc5, 0x0d, 0x84, 0x7b, 0x34, 0x05, 0x7b, 0x1f, 0xb5, 0x4f, 0x54, 0xf1, 0xd3, 0xca, 0xb5, 0x67, 0x49, 0x45, 0xaa, 0x8c, 0x8a, 0x63, 0xbe, 0xed, 0x89, 0xc7, 0x8a, 0xef, 0x11, 0x4d, 0xd3, 0xd2, 0xae, 0xb2, 0x41, 0x97, 0x49, 0x29, 0xf9, 0x44, 0xe5, 0x23, 0x48, 0xf9, 0x79, 0x14, 0x50, 0x11, 0x29, 0x75, 0x28, 0xfa, 0x36, 0x79, 0x04, 0xe3, 0x39, 0xcd, 0x2c, 0xa7, 0x64, 0xe3, 0x3e, 0x41, 0xeb, 0x8e, 0x75, 0xd1, 0x54, 0x3d, 0xe9, 0x89, 0x04, 0x43, 0x58, 0x92, 0xf8, 0xde, 0x03, 0x7e, 0x5f, 0xf5, 0x70, 0x1c, 0x62, 0xad, 0xac, 0xb1, 0x64, 0xfa, 0x92, 0x7f, 0x88, 0x03, 0xf8, 0x79, 0x96, 0x25, 0x33, 0x39, 0xbe, 0xeb, 0x55, 0x07, 0x60, 0x9e, 0x85, 0x29, 0x7f, 0xcf, 0x37, 0xba, 0x31, 0xdc, 0x4b, 0x8e, 0xec, 0xc7, 0x95, 0xca, 0x24, 0x4d, 0x19, 0x02, 0xab, 0x68, 0xcb, 0xfc, 0xaa, 0xdf, 0xfa, 0x19, 0xef, 0x36, 0x15, 0xf6, 0xd0, 0xeb, 0x67, 0xce, 0x1e, 0x51, 0x3a, 0x64, 0x3c, 0x63, 0x39, 0xe2, 0x2f, 0x8c, 0x66, 0x45, 0xd1, 0x8b, 0xc6, 0x70, 0xae, 0x96, 0xad, 0x32, 0x4c, 0xd6, 0xb1, 0x06, 0x7a, 0x6a, 0x5e, 0x90, 0xb3, 0xa8, 0xc8, 0xe1, 0xac, 0x6b, 0xe7, 0xb9, 0xce, 0xca, 0x46, 0xf3, 0x9a, 0x08, 0x37, 0x77, 0x36, 0x66, 0x23, 0x74, 0xd1, 0x3d, 0xcd, 0xc4, 0x37, 0x59, 0x5b, 0x2d, 0xce, 0xba, 0x84, 0x26, 0x2e, 0x7d, 0x08, 0x6c, 0xec, 0x5f, 0x17, 0xd0, 0xcc, 0x0c, 0x89, 0xf9, 0xf9, 0x32, 0x4b, 0x68, 0xb1, 0x26, 0xa8, 0xdf, 0xab, 0x44, 0xc6, 0x49, 0x18, 0xff, 0xeb, 0x82, 0xb3, 0x05, 0x58, 0x71, 0x64, 0x47, 0xb2, 0x6f, 0x06, 0xa0, 0x2f, 0x50, 0xfc, 0x8d, 0x07, 0x9d, 0x68, 0x3d, 0xe9, 0x4f, 0x61, 0xbc, 0x0e, 0x8e, 0xb3, 0x7d, 0x80, 0xff, 0xdd, 0xa1, 0xff, 0xee, 0x76, 0x34, 0xaf, 0xcf, 0xdd, 0x7a, 0x94, 0xe6, 0x4d, 0x59, 0xc4, 0xc1, 0x38, 0x2b, 0xdc, 0xbb, 0xec, 0x60, 0x6e, 0x63, 0x3c, 0xac, 0xb3, 0x9e, 0xf1, 0x2e, 0xfb, 0xea, 0x96, 0x6e, 0xc3, 0x9c, 0xfd, 0x11, 0x77, 0x09, 0x3b, 0x44, 0x60, 0x65, 0x23, 0x50, 0x0f, 0xc9, 0x87, 0xa8, 0xb7, 0x6a, 0xf4, 0xb1, 0x48, 0x6e, 0xe2, 0xf2, 0x26, 0x5a, 0x56, 0x4c, 0x84, 0x40, 0xb7, 0xcd, 0xe1, 0x16, 0xb3, 0xd4, 0xba, 0xd9, 0xe4, 0xd3, 0x7d, 0xb5, 0xfb, 0xec, 0x29, 0x72, 0xf8, 0x63, 0x96, 0xdf, 0xeb, 0x33, 0x3d, 0x49, 0xb4, 0x0b, 0xa9, 0x05, 0x70, 0x9a, 0xe4, 0x37, 0xc1, 0xc7, 0xdc, 0x30, 0xf6, 0x1c, 0xb5, 0x49, 0xcc, 0x02, 0x04, 0x16, 0x37, 0x81, 0x1d, 0x43, 0x8b, 0x6e, 0x46, 0xe7, 0x86, 0xb6, 0x2b, 0xcd, 0xdb, 0x33, 0x4d, 0x45, 0xcf, 0x4b, 0x27, 0xe2, 0xba, 0x95, 0x7f, 0x93, 0x3c, 0x15, 0xed, 0xab, 0xe4, 0x50, 0x77, 0x53, 0xf5, 0x7a, 0x9a, 0xb4, 0x95, 0x41, 0x1a, 0x4d, 0x47, 0x16, 0xcb, 0xd1, 0x12, 0xa5, 0xeb, 0x74, 0x4a, 0xb6, 0x46, 0xc8, 0x81, 0xc1, 0x4e, 0xa9, 0x7f, 0xe9, 0x92, 0xc0, 0x8c, 0x7b, 0xe8, 0x2c, 0x5d, 0x96, 0xcf, 0xb8, 0x23, 0x0e, 0xd3, 0xe5, 0x77, 0x8c, 0xb3, 0x98, 0x43, 0xfa, 0xee, 0x06, 0x34, 0xa9, 0xf0, 0xd1, 0x21, 0x8c, 0x63, 0xe7, 0x66, 0x0d, 0x78, 0xa0, 0x2b, 0x71, 0x91, 0xac, 0xc7, 0xb7, 0x71, 0x3f, 0xba, 0x38, 0x1e, 0x5c, 0xe2, 0x27, 0x80, 0x3a, 0xb2, 0x29, 0xcc, 0xe2, 0x6c, 0xd0, 0x18, 0x2e, 0x79, 0xa8, 0x92, 0xac, 0x0c, 0x39, 0x28, 0xfd, 0x6d, 0xd6, 0x10, 0x82, 0xe6, 0xd6, 0xc8, 0x64, 0xc1, 0xd2, 0xa7, 0xa0, 0x38, 0xc6, 0x78, 0x31, 0x01, 0x23, 0xe2, 0xab, 0xe6, 0x7d, 0x68, 0x01, 0x37, 0x7f, 0xbc, 0x61, 0x5c, 0x35, 0x5d, 0xa5, 0x05, 0x13, 0x2b, 0x2c, 0x97, 0x53, 0xb4, 0x41, 0x4a, 0xb5, 0x1b, 0xcd, 0x17, 0x60, 0x37, 0x7c, 0x55, 0x41, 0x96, 0x6d, 0x3c, 0x89, 0x60, 0x35, 0x61, 0x1a, 0x15, 0xa9, 0x48, 0x59, 0x6e, 0x47, 0xc5, 0x54, 0x0a, 0x4a, 0x19, 0x4d, 0x29, 0xba, 0x36, 0x4a, 0x40, 0x05, 0x1d, 0x07, 0x94, 0x00, 0x3e, 0x14, 0x35, 0x9c, 0x26, 0x92, 0x26, 0x1a, 0xf0, 0xff, 0xd0, 0x40, 0x23, 0x56, 0xd1, 0x90, 0xea, 0x29, 0x4a, 0x91, 0xa2, 0x9f, 0x14, 0x15, 0x66, 0x36, 0xd5, 0x71, 0x3c, 0x73, 0xff, 0xbf, 0xc9, 0x96, 0xb0, 0xf1, 0x01, 0x69, 0x8c, 0x4a, 0x15, 0x8a, 0x19, 0xdc, 0xc0, 0x55, 0x8e, 0xbd, 0xbd, 0xed, 0xba, 0x13, 0x9b, 0x88, 0x0d, 0x0c, 0x80, 0x24, 0x3a, 0xc4, 0xff, 0x3e, 0xc9, 0x95, 0x29, 0x6f, 0x85, 0x9e, 0x97, 0x60, 0x27, 0xf3, 0x4e, 0xf1, 0xc5, 0x44, 0x75, 0x06, 0xed, 0x49, 0x2f, 0x22, 0xb7, 0x3e, 0xf2, 0xbd, 0x6e, 0xf4, 0x06, 0xb3, 0xb1, 0x4f, 0xce, 0xbf, 0x21, 0x1a, 0xb8, 0xdc, 0xde, 0xa1, 0xd0, 0x92, 0xb1, 0x1e, 0xc6, 0xf4, 0x91, 0x92, 0x1d, 0x09, 0x1c, 0x1a, 0xf6, 0x15, 0x5f, 0x92, 0x09, 0x5d, 0x62, 0xa3, 0x18, 0x13, 0xa4, 0xd4, 0xa1, 0xf1, 0xa7, 0x93, 0x5f, 0x9e, 0x21, 0x7a, 0xd2, 0x95, 0x1d, 0x14, 0xc7, 0xcc, 0x6d, 0xf2, 0x68, 0xff, 0x46, 0xbb, 0xea, 0x6c, 0xb5, 0x7d, 0xf8, 0xd0, 0xd9, 0xa4, 0xbf, 0x1e, 0x60, 0x7a, 0x12, 0x68, 0xa9, 0xe3, 0x9f, 0x7e, 0x9d, 0x44, 0x0c, 0xef, 0x7c, 0xc0, 0xd9, 0x42, 0x7e, 0x2e, 0x4d, 0x04, 0xe2, 0xb8, 0x3f, 0xb3, 0x78, 0xc9, 0x85, 0xc7, 0x34, 0x79, 0x24, 0xf8, 0x38, 0x33, 0x2a, 0x49, 0x8f, 0xb3, 0xbf, 0x28, 0x1b, 0xac, 0xb9, 0xf7, 0xa3, 0x7c, 0xe6, 0xc9, 0xba, 0x9a, 0xe1, 0x4a, 0xfa, 0xfc, 0x8e, 0xc8, 0x37, 0x32, 0xe6, 0x98, 0xd9, 0x88, 0x16, 0xdd, 0xbc, 0x0e, 0x46, 0xa7, 0x26, 0xf5, 0xcb, 0x4a, 0x46, 0x7c, 0x93, 0x5f, 0xa4, 0x18, 0x37, 0x4d, 0x8d, 0x35, 0xa5, 0x7e, 0x64, 0x35, 0xde, 0x90, 0xfa, 0x0f, 0x67, 0xab, 0x7b, 0x0b, 0x87, 0x8e, 0x7e, 0x26, 0xb3, 0x6b, 0x5d, 0xd7, 0xd3, 0x04, 0x4c, 0xae, 0x48, 0x55, 0x3f, 0x97, 0x4c, 0x52, 0x3f, 0x86, 0xc1, 0xe9, 0x06, 0xe2, 0x8d, 0x92, 0xb4, 0xaa, 0x9a, 0x2f, 0x9f, 0xc9, 0x0f, 0x2d, 0xd1, 0x8e, 0xb3, 0x25, 0x9d, 0xd0, 0x51, 0x54, 0x1c, 0xf9, 0x94, 0x2b, 0x94, 0xde, 0xe1, 0xd6, 0x29, 0xed, 0x58, 0xc7, 0x66, 0x5d, 0xf5, 0xcd, 0x33, 0xfc, 0x33, 0x43, 0x9f, 0xd8, 0x1f, 0x02, 0x04, 0x19, 0xa4, 0x45, 0xf4, 0x8d, 0x4b, 0xec, 0x83, 0x14, 0x18, 0xcc, 0x80, 0x94, 0x14, 0xf4, 0xd9, 0xe3, 0xb3, 0x0c, 0x3a, 0x55, 0x40, 0xd4, 0x6e, 0x73, 0x8c, 0x39, 0xcf, 0xda, 0x69, 0x12, 0x08, 0xb0, 0xf1, 0x0a, 0xf3, 0x49, 0x98, 0x76, 0xd1, 0xf7, 0x9a, 0x8e, 0x6e, 0x29, 0xf2, 0x22, 0x12, 0xca, 0x5d, 0x9f, 0x26, 0xed, 0x71, 0xba, 0x69, 0xe0, 0x08, 0xc8, 0x96, 0x44, 0xa7, 0x30, 0xd2, 0x24, 0x4a, 0xe7, 0x34, 0x63, 0x9d, 0xad, 0xd5, 0xcb, 0x00, 0x73, 0xfd, 0xf8, 0xe6, 0xf4, 0x2a, 0x5a, 0x47, 0x0d, 0xbc, 0x69, 0xe4, 0xaa, 0x78, 0xdf, 0x4c, 0xaa, 0xd1, 0xe6, 0xe2, 0x36, 0xdd, 0x04, 0x63, 0x73, 0x3c, 0xdc, 0x30, 0x46, 0x14, 0x7d, 0x0e, 0xa9, 0xd0, 0x18, 0xa6, 0x6a, 0x99, 0x92, 0x69, 0xea, 0xb9, 0x1e, 0xad, 0xa9, 0xca, 0xe5, 0x2d, 0xc6, 0x46, 0xe5, 0x6d, 0x62, 0x82, 0xa6, 0x10, 0x0d, 0xa7, 0x46, 0x50, 0x60, 0x27, 0x61, 0xbf, 0x34, 0xd8, 0xd8, 0xcd, 0xbb, 0xca, 0xa9, 0x8f, 0xe2, 0xc8, 0x61, 0x07, 0x8e, 0xe6, 0xeb, 0x89, 0xb8, 0xb0, 0xda, 0x6f, 0x17, 0x33, 0x2d, 0x71, 0x53, 0x16, 0x28, 0x92, 0xc6, 0xe8, 0x06, 0x6c, 0x0e, 0x47, 0x9a, 0x5c, 0xa7, 0xbf, 0xd9, 0x89, 0x4c, 0x6e, 0x29, 0xec, 0x32, 0x27, 0x4f, 0x9b, 0xc0, 0x17, 0x90, 0xd8, 0x64, 0x59, 0x1a, 0x3f, 0x66, 0x6c, 0xce, 0xab, 0x1f, 0x62, 0xa8, 0xce, 0x71, 0x1a, 0x9d, 0x0b, 0x74, 0x63, 0xba, 0x59, 0xae, 0xb5, 0x2e, 0x93, 0xa2, 0xa3, 0xea, 0xfc, 0xd8, 0x89, 0x9c, 0xdc, 0xc4, 0x5a, 0x8a, 0x62, 0x6a, 0xb3, 0x87, 0x1c, 0x21, 0x00, 0x12, 0xd9, 0xdc, 0xe1, 0x71, 0x32, 0x4b, 0xe7, 0x29, 0xd9, 0x5e, 0xee, 0x14, 0x7a, 0xa1, 0x00, 0xa1, 0x9d, 0xd2, 0x8f, 0xfe, 0x94, 0x34, 0xdf, 0x37, 0xc6, 0x5f, 0xc3, 0x94, 0xc8, 0x23, 0xc6, 0xe9, 0x98, 0x61, 0xab, 0xb9, 0x3e, 0x21, 0x93, 0x31, 0xbc, 0x22, 0x6c, 0x6c, 0xee, 0x52, 0x9b, 0x2a, 0x6f, 0x5d, 0x22, 0x7a, 0xe9, 0x99, 0xa9, 0x45, 0x8b, 0xdb, 0x51, 0xb9, 0xbd, 0xdd, 0x14, 0x74, 0xa5, 0xa5, 0x28, 0xb1, 0xdf, 0x63, 0x43, 0x98, 0x1f, 0xae, 0x4e, 0xa3, 0x75, 0xac, 0x10, 0x79, 0xb9, 0xbf, 0xbd, 0xb3, 0xe1, 0xa6, 0x95, 0x28, 0x03, 0xf0, 0xe5, 0xe6, 0x23, 0x87, 0x64, 0x9d, 0x0b, 0x38, 0xcb, 0x47, 0xb1, 0x68, 0x1c, 0x76, 0xe8, 0x71, 0x72, 0x97, 0x8e, 0xb0, 0x40, 0x07, 0xa3, 0xf1, 0xc8, 0x83, 0x87, 0x09, 0x4c, 0xd2, 0xdb, 0x71, 0x9b, 0xce, 0xcb, 0xb3, 0x07, 0x13, 0xc9, 0x68, 0xca, 0x98, 0x34, 0x0d, 0x34, 0x50, 0xc9, 0xde, 0xb9, 0xb3, 0x96, 0x28, 0x41, 0xdc, 0xe2, 0x09, 0xc2, 0x75, 0x71, 0xf9, 0x0c, 0xe9, 0x18, 0x5d, 0x1b, 0xf8, 0xe9, 0xf5, 0x64, 0xb3, 0x84, 0xf5, 0x9a, 0xd8, 0x31, 0xa6, 0x9f, 0x34, 0x0f, 0x50, 0xe6, 0xd4, 0x41, 0x41, 0x92, 0x91, 0x70, 0x8f, 0xed, 0xa0, 0x66, 0xf7, 0x5d, 0x4d, 0xa8, 0x3e, 0xaa, 0xef, 0x29, 0x27, 0xc2, 0x01, 0xcd, 0x25, 0x3c, 0xe4, 0xef, 0xe4, 0x64, 0xaa, 0xb3, 0x4f, 0x39, 0x1e, 0x3c, 0x7b, 0xf1, 0x1a, 0x0e, 0x59, 0x51, 0x50, 0x7e, 0x1b, 0xeb, 0xe3, 0x9e, 0x1c, 0x87, 0xd7, 0x37, 0x55, 0x08, 0x91, 0x14, 0x52, 0x7f, 0x23, 0x7b, 0x7e, 0x80, 0x79, 0x92, 0xa7, 0xe7, 0x56, 0x1c, 0x3d, 0xa4, 0x14, 0x9b, 0xfc, 0x0d, 0xdf, 0x57, 0xac, 0x82, 0x1f, 0x8e, 0x68, 0x94, 0x8f, 0x1b, 0x26, 0x3b, 0x6e, 0x82, 0x23, 0xf0, 0x88, 0xfb, 0x71, 0xa8, 0x92, 0x38, 0x5e, 0xd8, 0x93, 0x8d, 0x94, 0xca, 0xee, 0xf5, 0x5f, 0xc4, 0x03, 0x43, 0x1e, 0x35, 0x62, 0x81, 0xbf, 0x8a, 0x03, 0x3e, 0xe1, 0x73, 0x3a, 0xf6, 0x24, 0x76, 0x69, 0x94, 0x21, 0xab, 0xab, 0x61, 0xa6, 0x78, 0x44, 0x1b, 0xe7, 0x5b, 0x34, 0x98, 0x33, 0x48, 0x29, 0x01, 0x98, 0xf0, 0xd5, 0xb8, 0x9b, 0xec, 0xd8, 0x81, 0xeb, 0xb2, 0x7e, 0xc6, 0x41, 0xca, 0xe8, 0xf2, 0xed, 0x0f, 0xca, 0x2d, 0x43, 0x06, 0x3c, 0x39, 0xa2, 0xbe, 0x30, 0xa9, 0x61, 0x60, 0x51, 0x60, 0x9a, 0x5a, 0x2a, 0x29, 0x9f, 0xec, 0x26, 0xa2, 0x70, 0xf8, 0x86, 0xcd, 0x64, 0xc4, 0xad, 0xee, 0x1c, 0xd2, 0xef, 0x9a, 0xb1, 0xa6, 0x9c, 0x2d, 0x99, 0x2f, 0x7f, 0xe4, 0x5f, 0x33, 0x8f, 0x85, 0x7f, 0x55, 0x37, 0xcb, 0xf9, 0x10, 0xce, 0x33, 0xab, 0xbe, 0xec, 0x44, 0x1c, 0x6c, 0x9d, 0xc8, 0x7e, 0xae, 0x30, 0x3b, 0x53, 0x2d, 0xd6, 0x51, 0xdf, 0x62, 0x6d, 0xd7, 0x78, 0x76, 0x5a, 0x38, 0x60, 0x93, 0xf3, 0xe0, 0xf0, 0xd8, 0x97, 0xed, 0xa9, 0x7a, 0x1f, 0x80, 0x3c, 0x7f, 0x7c, 0xff, 0x97, 0x1f, 0x5f, 0xed, 0xee, 0xc5, 0x2f, 0xe3, 0xd1, 0x8b, 0xc9, 0xe7, 0xf1, 0xfe, 0x78, 0xff, 0xe5, 0xab, 0x9d, 0xcf, 0xf7, 0xe3, 0x97, 0x7b, 0x93, 0xf8, 0xc5, 0x76, 0xb2, 0xfd, 0x6a, 0xb2, 0xb3, 0x3b, 0x1e, 0x4f, 0x92, 0xcf, 0xc7, 0x2f, 0xe3, 0x4e, 0x9f, 0xcc, 0x2f, 0x9d, 0xba, 0xcf, 0x6a, 0x35, 0xf0, 0x16, 0x47, 0x83, 0x77, 0x47, 0xbd, 0xed, 0xe8, 0x26, 0x79, 0xd0, 0x0b, 0xc6, 0x1e, 0x4d, 0x93, 0x72, 0x97, 0x48, 0x52, 0x75, 0xfb, 0x62, 0xb5, 0x4a, 0x10, 0x53, 0xa6, 0xd1, 0x57, 0x42, 0x1a, 0x30, 0xef, 0xa2, 0x6e, 0x2b, 0x27, 0xd5, 0x19, 0xff, 0xe1, 0x81, 0xfa, 0xec, 0x71, 0x5d, 0xcd, 0xcb, 0x7f, 0x06, 0xef, 0xcc, 0xde, 0xc7, 0x23, 0x50, 0x92, 0x60, 0x4f, 0xe4, 0xc1, 0x01, 0x98, 0xb6, 0xc0, 0xa6, 0xbb, 0x91, 0xfc, 0x05, 0xbd, 0xc4, 0xce, 0x18, 0xdf, 0x14, 0xf9, 0x72, 0x71, 0x99, 0xcf, 0xd2, 0xd1, 0xe3, 0xaa, 0xe1, 0xdc, 0xc7, 0x6a, 0xbf, 0x38, 0x61, 0x16, 0x9e, 0x96, 0xc9, 0xef, 0x68, 0x5a, 0x39, 0xec, 0xf8, 0x19, 0xb6, 0x55, 0x6f, 0x94, 0x2e, 0x6e, 0x30, 0xce, 0x7b, 0x48, 0x29, 0x7e, 0x18, 0x9a, 0xe1, 0x1f, 0x84, 0x6d, 0xaa, 0x81, 0xdc, 0xc8, 0x52, 0xce, 0x53, 0xdf, 0x16, 0x8d, 0x2b, 0xd5, 0xfa, 0x37, 0x75, 0x53, 0x49, 0x5a, 0x69, 0xea, 0xf9, 0xf1, 0xec, 0x87, 0xf8, 0xb6, 0xab, 0xb6, 0xcd, 0xce, 0x0b, 0xf9, 0x55, 0x3f, 0xba, 0xa2, 0x38, 0xf9, 0x72, 0xc1, 0xe6, 0x05, 0xf9, 0xf3, 0xf9, 0x77, 0xcd, 0x8b, 0x86, 0x93, 0x17, 0x8a, 0xe1, 0x2a, 0x3c, 0xd8, 0xd1, 0x0f, 0x57, 0x67, 0x07, 0xcd, 0x7d, 0xa2, 0x4a, 0xa3, 0xf2, 0x60, 0x73, 0x93, 0x42, 0x3e, 0x37, 0xf1, 0xc3, 0x43, 0xbf, 0x4c, 0x36, 0xc7, 0xf9, 0xa8, 0xdc, 0x2c, 0xcb, 0x99, 0xee, 0x46, 0xbd, 0xf0, 0xef, 0x13, 0x78, 0x73, 0xf3, 0x39, 0xb1, 0xad, 0x64, 0xdc, 0x2b, 0x4b, 0x2f, 0x37, 0x68, 0x70, 0xac, 0x99, 0x07, 0x27, 0x92, 0x93, 0x46, 0x72, 0xae, 0x07, 0xbb, 0x3b, 0x18, 0xbc, 0x8b, 0xf4, 0x65, 0xda, 0x5e, 0x13, 0x12, 0x37, 0x79, 0x39, 0xdd, 0x80, 0x1a, 0x16, 0x0b, 0xc3, 0xfe, 0xc2, 0x75, 0xe8, 0xa0, 0x3a, 0x9d, 0xf3, 0x1f, 0x52, 0xb8, 0x92, 0x56, 0x2b, 0xb3, 0xf8, 0x5e, 0x34, 0x1c, 0x20, 0x66, 0x11, 0xe1, 0xf8, 0xbf, 0x3a, 0xc1, 0xe2, 0xc8, 0x3e, 0x69, 0x3d, 0x42, 0xcd, 0xca, 0x74, 0xa0, 0xde, 0x69, 0x5e, 0x80, 0xf0, 0x98, 0x97, 0x21, 0x2f, 0xa8, 0xde, 0xf2, 0x92, 0xd5, 0xbe, 0x92, 0x13, 0x11, 0x61, 0x98, 0xcc, 0x19, 0x1c, 0x8e, 0x91, 0x12, 0x18, 0xfb, 0xee, 0x61, 0x05, 0xe3, 0x5b, 0x7a, 0x78, 0x6d, 0x5e, 0xb4, 0x65, 0x66, 0x83, 0x1f, 0x24, 0x8e, 0x61, 0xb2, 0x52, 0x55, 0xe6, 0x59, 0x08, 0x94, 0xf8, 0x4f, 0x62, 0x02, 0x75, 0x88, 0xa2, 0xc8, 0x1d, 0xa5, 0xb6, 0xf7, 0x2d, 0x19, 0x97, 0x20, 0x1d, 0xd3, 0xa9, 0x86, 0xd7, 0x5b, 0x72, 0xec, 0x50, 0x74, 0x55, 0x94, 0xb8, 0x2c, 0xb5, 0xe0, 0x28, 0x14, 0x30, 0x85, 0x8d, 0x52, 0x4b, 0x24, 0x35, 0x93, 0xd3, 0x81, 0x6a, 0x25, 0xf0, 0xde, 0x4d, 0xc0, 0x82, 0x1f, 0xfb, 0x38, 0xa6, 0x51, 0xe9, 0xbd, 0xa4, 0xe1, 0xc5, 0x7d, 0xe1, 0x24, 0xb6, 0xa1, 0x56, 0x46, 0x6e, 0x06, 0x78, 0xa6, 0x69, 0xed, 0x51, 0xc2, 0xad, 0xd1, 0xf9, 0x42, 0xf5, 0xad, 0xcd, 0xf5, 0x68, 0xde, 0xbd, 0xee, 0x6d, 0x4a, 0x15, 0xd5, 0x31, 0x25, 0xf5, 0x87, 0x44, 0x7b, 0xee, 0x04, 0x69, 0x71, 0x40, 0x5f, 0xe6, 0x55, 0x26, 0x6d, 0x52, 0xcb, 0x94, 0x48, 0x21, 0x00, 0x0e, 0x04, 0x62, 0x0f, 0xd3, 0xcd, 0xb1, 0x8e, 0x7e, 0x96, 0x5b, 0x05, 0x0b, 0x08, 0x0f, 0x78, 0x21, 0x95, 0x22, 0xf6, 0x3d, 0xbe, 0xcd, 0x05, 0x49, 0x9c, 0x44, 0xc8, 0x85, 0x75, 0x9c, 0xed, 0xc5, 0x3f, 0x23, 0xf1, 0x35, 0xd4, 0x18, 0xb9, 0xe5, 0x67, 0x78, 0x7e, 0x21, 0xd7, 0x90, 0xa4, 0xe4, 0x73, 0x95, 0x63, 0x4a, 0xf5, 0xbb, 0x52, 0xf1, 0xc9, 0x15, 0x06, 0xea, 0xd9, 0x2e, 0x73, 0x49, 0xd9, 0xc4, 0x89, 0xe2, 0x3c, 0x79, 0x8e, 0x4d, 0x52, 0x37, 0xd5, 0x9c, 0x35, 0x63, 0x24, 0x2e, 0x6d, 0xa2, 0x7e, 0xe9, 0x47, 0x2b, 0xed, 0x66, 0x86, 0xac, 0x57, 0xaf, 0xe8, 0x81, 0x26, 0x52, 0x24, 0xfa, 0x85, 0x2c, 0x6f, 0x4e, 0x4a, 0xe7, 0x11, 0xca, 0x47, 0xd5, 0xc4, 0x7e, 0x67, 0x02, 0x9a, 0xe0, 0x6f, 0x4e, 0xb9, 0x25, 0x7b, 0x33, 0x89, 0xec, 0x23, 0x91, 0xb5, 0x33, 0xed, 0x31, 0x92, 0xbf, 0x81, 0xca, 0x35, 0x4a, 0x9e, 0xfa, 0x01, 0xce, 0xe9, 0xf5, 0x46, 0xc8, 0x4f, 0x6c, 0x47, 0x52, 0x8a, 0xc2, 0x7b, 0x3a, 0xcb, 0x4b, 0x8d, 0xbf, 0xa0, 0x72, 0xc1, 0x45, 0xb7, 0xc0, 0x0d, 0xbe, 0x97, 0x1f, 0xf0, 0xd1, 0x34, 0x86, 0xe3, 0xa7, 0xba, 0x32, 0xc5, 0x89, 0x55, 0x36, 0xc4, 0x56, 0xb5, 0x95, 0xc2, 0xa8, 0x6d, 0x18, 0x6b, 0xf2, 0x20, 0xfa, 0xf1, 0xc7, 0x6e, 0x04, 0x46, 0x72, 0x63, 0xb8, 0x1f, 0x2b, 0xf8, 0x29, 0xd0, 0xe2, 0x8f, 0x5c, 0xad, 0xf4, 0xe3, 0x1d, 0x1a, 0x81, 0xe8, 0x60, 0x2e, 0x67, 0x18, 0x3d, 0x62, 0x35, 0xbb, 0xee, 0x95, 0xe3, 0x62, 0xe8, 0x15, 0xa9, 0x59, 0xd6, 0x6e, 0xe7, 0x54, 0x4c, 0x38, 0xb0, 0xe5, 0x3c, 0x13, 0xeb, 0x84, 0x89, 0x93, 0xee, 0x3d, 0xc9, 0x81, 0xb5, 0x3f, 0xae, 0x59, 0x42, 0x0a, 0xed, 0x5d, 0x91, 0xb0, 0xa4, 0x27, 0x51, 0x95, 0x3a, 0x62, 0x4a, 0x4b, 0x87, 0xc9, 0xdc, 0x8c, 0x38, 0x5c, 0x8a, 0xcc, 0xf4, 0x02, 0x9d, 0xeb, 0x5c, 0x03, 0xd6, 0x14, 0xe3, 0xd6, 0x94, 0xc4, 0xc2, 0xb8, 0xc5, 0xcd, 0x63, 0x89, 0x99, 0x1c, 0x32, 0x1b, 0xef, 0xf6, 0xb4, 0x26, 0x18, 0xcb, 0xde, 0x63, 0x45, 0x0f, 0xf2, 0x01, 0x64, 0x7e, 0x35, 0xd6, 0x09, 0x33, 0x5a, 0xeb, 0xad, 0x99, 0x58, 0x98, 0xe4, 0xcb, 0x78, 0x89, 0xf4, 0x26, 0x39, 0xdb, 0x26, 0x1f, 0x7a, 0x9f, 0x74, 0x92, 0xe2, 0x72, 0x37, 0xdd, 0xd1, 0x56, 0xb6, 0x63, 0x69, 0xaa, 0x46, 0xf1, 0xe5, 0xfb, 0xc2, 0x7f, 0x02, 0x0e, 0x27, 0x4a, 0x8b, 0x24, 0xd3, 0x43, 0x07, 0x20, 0x6f, 0x88, 0x0d, 0x0f, 0xf5, 0x7a, 0x04, 0x32, 0xb2, 0x60, 0x60, 0x10, 0x24, 0x09, 0xca, 0x3c, 0x78, 0xc4, 0x32, 0xb0, 0xc5, 0xcc, 0xe3, 0xb7, 0x92, 0x0a, 0xa8, 0x95, 0xd6, 0x78, 0xc1, 0x11, 0x8d, 0xe2, 0x3e, 0x13, 0x34, 0x81, 0x41, 0x4e, 0x5e, 0x99, 0x11, 0xe5, 0x30, 0x48, 0xba, 0x8c, 0x14, 0x94, 0x05, 0xac, 0x40, 0x94, 0x81, 0x9e, 0x0e, 0x84, 0xf3, 0x79, 0x1d, 0x75, 0xda, 0x35, 0xa1, 0x4e, 0xf3, 0x0d, 0xca, 0x80, 0xb4, 0x2e, 0x4e, 0x29, 0x96, 0xa7, 0x89, 0xac, 0x4b, 0x26, 0x5d, 0xef, 0xef, 0x9c, 0xd0, 0xc6, 0xf5, 0x5c, 0x22, 0x5f, 0x37, 0x38, 0x41, 0xb8, 0x0c, 0x44, 0xf6, 0x6d, 0x96, 0x95, 0x43, 0x1f, 0x36, 0x4f, 0x29, 0x25, 0xf7, 0x35, 0x49, 0x2f, 0x96, 0x76, 0xce, 0xd3, 0x5e, 0x28, 0x5e, 0xdf, 0xc6, 0x72, 0x13, 0xfc, 0x9e, 0xb8, 0xa4, 0x55, 0x74, 0x98, 0x1b, 0xbd, 0x98, 0x11, 0x48, 0x87, 0x16, 0xba, 0x90, 0x4a, 0xe4, 0xed, 0xce, 0xf6, 0x86, 0x29, 0x8d, 0x24, 0xa4, 0x0d, 0xce, 0xcc, 0x16, 0x3d, 0xa1, 0x73, 0x93, 0x73, 0x2e, 0x51, 0xe7, 0x00, 0xab, 0xf6, 0xe4, 0x36, 0xd2, 0x1a, 0x15, 0x03, 0xa1, 0x31, 0x1c, 0x65, 0x6a, 0xbd, 0xbb, 0x78, 0x7f, 0x52, 0xcf, 0xc0, 0xa5, 0x9f, 0x84, 0x9c, 0xaf, 0xc0, 0xae, 0xde, 0x02, 0x87, 0x61, 0x1a, 0x88, 0x3d, 0x6d, 0x8e, 0x69, 0x0b, 0xa6, 0x35, 0x4d, 0xaa, 0xc5, 0xfd, 0x32, 0x1d, 0xaf, 0x6f, 0x20, 0x8d, 0x60, 0xad, 0x49, 0x8f, 0x0a, 0x9c, 0xd8, 0x34, 0x2c, 0xa3, 0x75, 0x56, 0xd0, 0x8b, 0xa4, 0x5a, 0x16, 0x19, 0x3b, 0xcc, 0x71, 0xee, 0x4d, 0x23, 0x0b, 0xa4, 0x33, 0x8b, 0x3a, 0xd7, 0x39, 0x20, 0x80, 0x39, 0x9c, 0xc2, 0xc4, 0x03, 0x82, 0xb9, 0x7b, 0x61, 0xf2, 0x3e, 0xe8, 0xe0, 0x69, 0x2d, 0x9e, 0xfc, 0x72, 0x77, 0x22, 0x3a, 0xba, 0xbc, 0x7c, 0x73, 0x74, 0x7d, 0x64, 0xd6, 0x46, 0x02, 0x9a, 0x98, 0x0b, 0x69, 0xc8, 0xc0, 0x87, 0x50, 0x6b, 0xc2, 0x27, 0xd7, 0xfe, 0xf4, 0x61, 0x70, 0x72, 0xd5, 0x3c, 0xd8, 0xcb, 0xab, 0x0b, 0x44, 0x23, 0xfa, 0xd3, 0x8f, 0x47, 0x8b, 0xc5, 0x4c, 0x83, 0x82, 0x6f, 0xe2, 0x2a, 0x5e, 0xf3, 0x6e, 0xf5, 0xce, 0x06, 0xce, 0xef, 0xde, 0xcc, 0x6f, 0x22, 0x42, 0x8e, 0x4c, 0xfd, 0xa8, 0x8f, 0x07, 0x5a, 0x8c, 0x34, 0xfd, 0xd6, 0xec, 0x06, 0x6d, 0x00, 0x65, 0xcf, 0xb6, 0x2f, 0x24, 0xb7, 0x9c, 0x4c, 0x13, 0xc9, 0x74, 0xb3, 0x66, 0x60, 0x64, 0x27, 0xa3, 0x65, 0xa5, 0x24, 0x4f, 0xf4, 0x85, 0x25, 0xdc, 0xcd, 0x7d, 0xf1, 0x8e, 0xc7, 0x86, 0x51, 0x98, 0x0b, 0x10, 0x82, 0x00, 0x10, 0x1a, 0xa5, 0x48, 0xeb, 0x6c, 0x99, 0x8b, 0x05, 0x68, 0x6a, 0x9c, 0x70, 0x58, 0x85, 0x10, 0x05, 0x78, 0x4a, 0xde, 0x86, 0xfc, 0x11, 0x6e, 0x63, 0x2f, 0x3a, 0x91, 0x52, 0x37, 0x5a, 0x38, 0xfc, 0xc0, 0x7b, 0xa8, 0x32, 0xe6, 0x83, 0xb0, 0xfb, 0x30, 0xaf, 0x70, 0x50, 0x36, 0x3a, 0x4d, 0x11, 0xc0, 0x75, 0xad, 0xf0, 0x10, 0x4e, 0x1b, 0x37, 0x9d, 0xac, 0xa7, 0x4e, 0x20, 0xe9, 0xa9, 0x17, 0x4f, 0x91, 0xbc, 0xe0, 0x51, 0xd0, 0xae, 0xc1, 0x68, 0xc2, 0x7f, 0x6d, 0x6e, 0xf7, 0xb7, 0x3a, 0xfe, 0xe4, 0xf1, 0xb2, 0x10, 0x42, 0x8a, 0x89, 0xaa, 0x21, 0x37, 0xac, 0xf2, 0xfc, 0xc9, 0xf9, 0x31, 0x0b, 0x03, 0xfd, 0x74, 0x01, 0xe3, 0x07, 0xa7, 0xd2, 0xbb, 0xf0, 0xb2, 0x40, 0x30, 0x73, 0xb7, 0x50, 0xa6, 0x08, 0x3c, 0x31, 0xcb, 0xef, 0x71, 0x25, 0x40, 0x6a, 0xb3, 0x59, 0x0d, 0xca, 0xa6, 0x13, 0xde, 0xe6, 0x8c, 0x50, 0xa3, 0x92, 0xe6, 0x6e, 0x07, 0x23, 0xd7, 0xaa, 0x7c, 0xba, 0x1a, 0x9e, 0x49, 0x79, 0x25, 0x2b, 0xd2, 0x50, 0x82, 0x8b, 0x24, 0x00, 0x5c, 0xce, 0xe3, 0x7b, 0x33, 0x37, 0x33, 0xa3, 0xa7, 0xe9, 0x21, 0x3d, 0x1c, 0x04, 0xb5, 0xd2, 0x43, 0x2e, 0x54, 0xf7, 0x6c, 0xf9, 0xf7, 0xf1, 0x43, 0x3a, 0x5f, 0xce, 0xe9, 0x63, 0x48, 0xdb, 0xf2, 0x98, 0xc4, 0x13, 0xc8, 0xab, 0xc8, 0xe9, 0x29, 0x44, 0xe4, 0x6b, 0x65, 0xe4, 0x58, 0xf4, 0x21, 0x21, 0x03, 0x22, 0xb9, 0x6f, 0x97, 0x47, 0xca, 0x02, 0x05, 0x1c, 0xca, 0x86, 0x37, 0x00, 0xf4, 0x83, 0x18, 0x73, 0x0e, 0xca, 0xdc, 0x24, 0xec, 0x04, 0xd8, 0x39, 0x23, 0x25, 0x88, 0x0e, 0xe7, 0xe4, 0xab, 0x26, 0x45, 0x9a, 0x8f, 0xcd, 0xbd, 0x41, 0xfd, 0x31, 0xcd, 0x96, 0xb0, 0xcf, 0xec, 0x4b, 0xe6, 0x20, 0x04, 0xfe, 0xca, 0xf3, 0x10, 0x52, 0x56, 0xfd, 0x80, 0x8a, 0x25, 0x34, 0x05, 0xf5, 0x65, 0x7f, 0x77, 0xa7, 0xbf, 0xd5, 0xad, 0x19, 0xf4, 0x02, 0x28, 0x01, 0xb7, 0x6b, 0x94, 0xce, 0x4d, 0xb1, 0x69, 0xff, 0x77, 0x73, 0xdc, 0x50, 0x46, 0xf8, 0x3c, 0x7e, 0xa0, 0xe3, 0x0b, 0x1e, 0x6b, 0x1e, 0x1d, 0xbe, 0xbb, 0x18, 0x5c, 0x6f, 0x1f, 0x5c, 0x5e, 0x5c, 0xc1, 0x7f, 0xf1, 0xef, 0x3b, 0xf4, 0xf7, 0x1d, 0xcf, 0xaa, 0x7c, 0x2b, 0x19, 0xb4, 0x5a, 0xac, 0x43, 0x1a, 0x0a, 0x69, 0x34, 0xbc, 0x9b, 0x91, 0x33, 0x10, 0xea, 0xe5, 0xc4, 0x06, 0x47, 0xa6, 0x9c, 0xb1, 0x79, 0xc4, 0xce, 0xa7, 0x34, 0xc9, 0xae, 0x1f, 0xf9, 0x89, 0x7c, 0x69, 0xa5, 0xda, 0x94, 0x14, 0xc2, 0x6b, 0x89, 0x7d, 0xd3, 0xd7, 0xcd, 0x45, 0xcc, 0x52, 0x9f, 0xa3, 0x60, 0x75, 0x94, 0x1b, 0x56, 0xff, 0xd5, 0x68, 0x06, 0xda, 0x7d, 0x82, 0xb9, 0x24, 0xe3, 0x84, 0x03, 0x2c, 0xf8, 0x93, 0x90, 0x61, 0x02, 0xd7, 0x4f, 0x4a, 0x16, 0xbc, 0x04, 0x43, 0xa2, 0x48, 0x8d, 0xea, 0xc0, 0x6c, 0x60, 0x8e, 0x29, 0x68, 0xe2, 0xbc, 0x1d, 0x59, 0xe2, 0x55, 0x08, 0x30, 0x88, 0x9c, 0xeb, 0xc4, 0xa2, 0x0a, 0x7d, 0xaa, 0xb5, 0x3f, 0xbf, 0xb8, 0x8e, 0xe2, 0xc9, 0x44, 0x81, 0x01, 0xb0, 0x2c, 0x01, 0x35, 0xd6, 0xcd, 0x05, 0x4b, 0xb2, 0xb8, 0x0a, 0xa5, 0x6e, 0x88, 0x3e, 0x72, 0x7d, 0x36, 0xd8, 0x44, 0x17, 0x16, 0x27, 0xc1, 0x0d, 0xce, 0x4f, 0xbb, 0x35, 0x5f, 0xb5, 0x9b, 0xfa, 0xb2, 0x81, 0x92, 0x32, 0xac, 0x50, 0xc4, 0x8e, 0x2c, 0xb4, 0x70, 0x33, 0x98, 0x54, 0x47, 0x47, 0xda, 0x91, 0x6a, 0xb0, 0x0e, 0x1d, 0x6d, 0x27, 0xd2, 0xa8, 0x29, 0xd9, 0xc5, 0xf3, 0x45, 0xf5, 0xe8, 0x17, 0x8b, 0x92, 0x6f, 0x03, 0x41, 0x58, 0x50, 0xe9, 0xe8, 0xa0, 0x59, 0x82, 0xcb, 0xa2, 0x25, 0x75, 0xfa, 0x3c, 0xec, 0x4e, 0x87, 0x46, 0xa5, 0x41, 0xe1, 0xef, 0x38, 0x26, 0x11, 0xed, 0x30, 0x09, 0xa5, 0xf7, 0xf3, 0x87, 0x9c, 0xc1, 0x23, 0x33, 0x3c, 0x4c, 0xcc, 0xd4, 0xa9, 0x29, 0x75, 0x20, 0x83, 0xc9, 0x8b, 0x74, 0x8a, 0x79, 0x02, 0xcd, 0xd2, 0x31, 0x3b, 0x11, 0xcf, 0x33, 0x85, 0xca, 0x58, 0x59, 0x75, 0x1c, 0x57, 0x42, 0xe5, 0x25, 0xe8, 0x53, 0xda, 0x68, 0xa1, 0x26, 0x8d, 0x4e, 0x07, 0xf9, 0x4f, 0x15, 0xd0, 0xe3, 0x59, 0xd9, 0x83, 0xd5, 0xa1, 0xdc, 0xb1, 0x41, 0x20, 0x2d, 0xfd, 0xd1, 0xbb, 0x44, 0x30, 0x38, 0xa7, 0x95, 0x32, 0x70, 0x0e, 0x1b, 0x35, 0x87, 0x63, 0xb8, 0x36, 0xe0, 0x08, 0x5a, 0xf5, 0xd1, 0xd9, 0xde, 0x79, 0xd9, 0xdf, 0x82, 0xff, 0x83, 0x43, 0x11, 0xfd, 0x88, 0xb0, 0xa2, 0x2c, 0x26, 0x90, 0x79, 0x32, 0x79, 0x68, 0x92, 0x24, 0x0b, 0xa0, 0xbc, 0x98, 0x76, 0x56, 0xd6, 0xb0, 0xd6, 0x44, 0x0a, 0x1e, 0xa4, 0x11, 0x27, 0xf1, 0x58, 0x7e, 0xa2, 0x77, 0xbc, 0x58, 0xce, 0x02, 0x69, 0x7d, 0x8e, 0x1b, 0x19, 0xb5, 0xb3, 0xd9, 0x9d, 0x38, 0x91, 0xdf, 0x21, 0x6f, 0xe2, 0x3a, 0xbe, 0x7e, 0x2d, 0x29, 0xea, 0x55, 0xcd, 0x27, 0x78, 0x2c, 0x26, 0x1b, 0x71, 0xe6, 0x1e, 0x5c, 0x86, 0xc3, 0x7c, 0x32, 0x29, 0x93, 0xaa, 0x29, 0x80, 0x8e, 0xe5, 0x91, 0xcd, 0x2b, 0x42, 0x37, 0x24, 0x4e, 0xa5, 0x15, 0x37, 0x51, 0x1d, 0x93, 0x27, 0x92, 0x2c, 0x34, 0x66, 0x5b, 0x3c, 0x5c, 0x3f, 0x50, 0x64, 0xe0, 0xfe, 0x5e, 0x33, 0x44, 0xb8, 0x24, 0x5e, 0x91, 0x5e, 0xa8, 0xdc, 0x8a, 0x41, 0x5c, 0x44, 0xd2, 0x35, 0x21, 0xd9, 0xf4, 0x4a, 0xdc, 0xa6, 0x8b, 0x05, 0x9a, 0x37, 0x0c, 0x6f, 0x46, 0x64, 0x6b, 0x02, 0x68, 0x14, 0xc7, 0x25, 0x52, 0xd6, 0x6c, 0x41, 0x50, 0x92, 0x47, 0x22, 0xf3, 0x87, 0xc9, 0xc4, 0x0f, 0x02, 0x71, 0x52, 0xa3, 0x8b, 0x69, 0x23, 0x35, 0xba, 0x63, 0xc4, 0xaf, 0xc9, 0x62, 0x65, 0x31, 0x13, 0x07, 0xed, 0x41, 0x8a, 0xff, 0xba, 0x81, 0xfb, 0x6f, 0x8b, 0xb3, 0x8c, 0x1f, 0x6e, 0x70, 0xfa, 0x3f, 0x4f, 0x2c, 0x02, 0x91, 0x81, 0xf8, 0xe1, 0x72, 0x97, 0x50, 0xf1, 0x10, 0xdc, 0xc2, 0xde, 0x31, 0x9c, 0x57, 0x87, 0xa6, 0x62, 0x53, 0x4d, 0xf2, 0x46, 0x39, 0x06, 0xd9, 0x3d, 0xa8, 0x49, 0x90, 0x36, 0xb4, 0x89, 0x45, 0xff, 0x9e, 0x68, 0x60, 0x80, 0x4a, 0xf6, 0x2f, 0xca, 0x1a, 0xe9, 0x76, 0x54, 0x52, 0x35, 0xe7, 0xd6, 0x9c, 0x88, 0xb2, 0xb8, 0x99, 0x66, 0xa8, 0x32, 0xb2, 0x02, 0xe3, 0x95, 0x64, 0x68, 0x1d, 0x2c, 0x43, 0x9d, 0x2c, 0xab, 0xdf, 0x31, 0x76, 0x52, 0x20, 0xfd, 0x12, 0x86, 0x9d, 0x43, 0xd4, 0x23, 0x26, 0x6a, 0x04, 0xea, 0xec, 0xfd, 0x0d, 0xac, 0xec, 0x43, 0x75, 0x53, 0xb4, 0xa1, 0x02, 0xa8, 0x53, 0x03, 0x8b, 0x28, 0xc8, 0x08, 0x23, 0xda, 0x30, 0xe0, 0x34, 0xba, 0xd5, 0x8c, 0xa9, 0x13, 0x93, 0x2e, 0x43, 0x28, 0xa0, 0xcd, 0x3b, 0x3f, 0x21, 0xc4, 0x1b, 0xa7, 0xfc, 0xdb, 0xd4, 0x4e, 0xf6, 0x31, 0x4a, 0x35, 0xe3, 0x11, 0x4a, 0x4e, 0xac, 0x94, 0x31, 0xd4, 0x68, 0x48, 0x3d, 0x99, 0x9b, 0x66, 0x3d, 0x2e, 0xae, 0xd6, 0x67, 0x29, 0x98, 0x86, 0x90, 0x6d, 0x42, 0x8e, 0x7c, 0x44, 0x6c, 0x86, 0x57, 0x92, 0x58, 0x41, 0x6a, 0x2d, 0x7d, 0x36, 0xe4, 0x46, 0x67, 0x5f, 0x24, 0x39, 0x10, 0xf9, 0xe3, 0xe8, 0x20, 0xbb, 0x05, 0xdd, 0x39, 0xeb, 0xe2, 0x4f, 0xa9, 0x10, 0xd5, 0x5c, 0x32, 0xf6, 0x6d, 0x54, 0x09, 0x07, 0x2d, 0x92, 0x80, 0x2e, 0xeb, 0x3c, 0x2b, 0x8f, 0x3a, 0x6e, 0x94, 0xf3, 0xa4, 0x92, 0xd4, 0x11, 0x9e, 0xbc, 0xd6, 0x66, 0x51, 0x7d, 0xd7, 0xe9, 0xa4, 0x31, 0x1c, 0x61, 0xc5, 0x25, 0x55, 0xbd, 0x5a, 0x5f, 0x62, 0xb8, 0x0c, 0x90, 0x85, 0xbe, 0xd0, 0x2e, 0x5c, 0x83, 0x8e, 0xfa, 0x65, 0x79, 0x05, 0xe1, 0xd4, 0x05, 0x9d, 0x0e, 0xba, 0x89, 0xaa, 0x71, 0x88, 0x26, 0x59, 0xf7, 0xd5, 0x0b, 0x29, 0xb8, 0x81, 0x6e, 0x3a, 0x04, 0x22, 0xa0, 0x51, 0xf4, 0xde, 0x7e, 0x4d, 0x13, 0x57, 0x02, 0x55, 0x85, 0x4e, 0x55, 0x29, 0xa6, 0xd0, 0x14, 0x63, 0xf5, 0x8c, 0xe8, 0x44, 0x81, 0x0b, 0x8b, 0x5d, 0x74, 0x1f, 0x13, 0xa5, 0x99, 0xf1, 0x43, 0xb5, 0x0f, 0x4e, 0xfe, 0x63, 0x6f, 0x68, 0xc9, 0xd9, 0x62, 0xe7, 0x04, 0xd3, 0x94, 0xe4, 0x21, 0xa4, 0x79, 0x10, 0x2c, 0x6b, 0x95, 0x53, 0x5c, 0x4a, 0x70, 0x34, 0x66, 0x53, 0x78, 0x0b, 0xef, 0x6f, 0xf2, 0x59, 0x12, 0x0a, 0x91, 0x38, 0x25, 0xbf, 0x84, 0xec, 0x82, 0x69, 0xbd, 0xe4, 0x6d, 0xbe, 0xa3, 0x8c, 0xe1, 0x5a, 0xe8, 0x04, 0xf4, 0xbb, 0x24, 0xc6, 0x82, 0x23, 0x93, 0x34, 0x7f, 0xd7, 0xf5, 0xd2, 0xd8, 0xe1, 0x9e, 0x0f, 0xf3, 0xd2, 0xd0, 0x0b, 0x16, 0xd6, 0xa2, 0x04, 0xb9, 0x8f, 0x0b, 0x62, 0xcc, 0x02, 0x91, 0xa5, 0xe8, 0xa1, 0x6e, 0xce, 0x20, 0xaa, 0x82, 0xcd, 0x7a, 0x87, 0x14, 0x8b, 0xd1, 0x81, 0x4c, 0x40, 0x01, 0x40, 0x37, 0x2d, 0xd1, 0x0e, 0x0e, 0x29, 0xe0, 0x57, 0x37, 0x84, 0x83, 0x2b, 0x15, 0xeb, 0x70, 0x0f, 0x6f, 0x50, 0xa6, 0xa7, 0xd5, 0x32, 0xae, 0x9e, 0x97, 0xb0, 0xdd, 0xc6, 0x9b, 0x98, 0x39, 0xb9, 0xf9, 0xa8, 0x6d, 0x98, 0x0d, 0x2d, 0x51, 0x44, 0xf7, 0x20, 0x0f, 0xf1, 0xae, 0xfd, 0xd7, 0x13, 0x8c, 0xe9, 0x92, 0xe0, 0xfc, 0x6e, 0xea, 0x78, 0x50, 0x54, 0x93, 0x2b, 0xf2, 0x44, 0x2b, 0xdf, 0x78, 0x4c, 0x15, 0xf7, 0xa7, 0x81, 0x40, 0x3f, 0x45, 0xc7, 0x60, 0x3a, 0xb3, 0x47, 0x3b, 0xa0, 0x53, 0x32, 0xab, 0x19, 0xde, 0x0e, 0x56, 0x9e, 0xf9, 0x82, 0x97, 0xb5, 0xd4, 0x19, 0x80, 0x0a, 0xce, 0xdf, 0x3c, 0xe8, 0x28, 0xf4, 0xa8, 0xc1, 0x52, 0x12, 0x2e, 0x22, 0x45, 0x5b, 0x5a, 0xff, 0xa1, 0xbe, 0x7a, 0xbc, 0xfe, 0xcd, 0xe1, 0x10, 0x87, 0x7b, 0xfb, 0xf5, 0x77, 0x47, 0x67, 0x1f, 0x4e, 0xb6, 0xbf, 0x88, 0xf0, 0x5f, 0x3b, 0xfc, 0xaf, 0x9d, 0x4e, 0xe8, 0xb8, 0x80, 0x51, 0xad, 0xbd, 0x5e, 0x8b, 0xca, 0xc7, 0xf9, 0x30, 0x9f, 0x99, 0x03, 0x93, 0xad, 0xd0, 0x40, 0x5a, 0x57, 0xa4, 0xb8, 0x29, 0xdd, 0x16, 0x57, 0x79, 0x93, 0x65, 0x97, 0x92, 0x74, 0xa8, 0xec, 0x86, 0x22, 0x78, 0x6e, 0x2d, 0x71, 0x45, 0x95, 0xd6, 0xca, 0xc3, 0x24, 0x96, 0xd7, 0x96, 0x08, 0x4a, 0x42, 0x49, 0x2f, 0x76, 0x19, 0xe0, 0x1c, 0x2c, 0x5e, 0x2c, 0x9e, 0xb3, 0xcb, 0x30, 0xfc, 0x6c, 0x33, 0xe0, 0x4e, 0x74, 0xa5, 0x0c, 0xe8, 0x34, 0xbf, 0x2e, 0x06, 0x02, 0xa2, 0x71, 0x3c, 0x0a, 0xfe, 0xc0, 0x5a, 0x91, 0x18, 0xd6, 0x4b, 0xab, 0xc6, 0x77, 0x9b, 0xc3, 0x0d, 0x45, 0x77, 0x71, 0x70, 0xb9, 0xce, 0x10, 0x0a, 0xac, 0xa7, 0xe9, 0x19, 0xd6, 0xd5, 0x81, 0xc6, 0xe8, 0x18, 0x35, 0x6b, 0xf5, 0x67, 0x44, 0x0e, 0xf2, 0xb3, 0xc1, 0x90, 0x14, 0x10, 0xc6, 0xa8, 0x16, 0x12, 0x64, 0x5f, 0xb3, 0x0f, 0xbd, 0xc2, 0x28, 0x30, 0xb0, 0x39, 0x94, 0x6e, 0x32, 0xf7, 0xb2, 0xb3, 0x32, 0xd0, 0x24, 0xd7, 0x81, 0xbd, 0x6f, 0xb8, 0x98, 0x20, 0x7a, 0x7c, 0xe2, 0x96, 0xa8, 0x4c, 0x44, 0xb5, 0x25, 0x56, 0x70, 0x7d, 0x53, 0x13, 0x34, 0xaa, 0xf2, 0x69, 0x81, 0x33, 0xc7, 0x67, 0x45, 0x72, 0xf0, 0x30, 0x4c, 0xa6, 0x98, 0xbd, 0x39, 0x73, 0xc0, 0x9c, 0xd4, 0x8a, 0xc6, 0xbb, 0xa6, 0x70, 0x18, 0x18, 0xe8, 0x37, 0x84, 0x0f, 0xdf, 0x7f, 0x9c, 0x25, 0x1b, 0x6a, 0x18, 0xa8, 0xb0, 0xdb, 0x7c, 0x9f, 0xff, 0x0c, 0xf3, 0x8e, 0xe5, 0x23, 0x21, 0x99, 0x29, 0x22, 0xb0, 0x75, 0xe6, 0x96, 0xbf, 0x70, 0x99, 0xb8, 0xcb, 0x35, 0x6a, 0xb6, 0x31, 0x05, 0x81, 0x51, 0x2f, 0xa3, 0x54, 0x6d, 0x8f, 0x74, 0x44, 0xbb, 0xf0, 0x24, 0xb4, 0x83, 0x37, 0x03, 0xa4, 0x9c, 0x4b, 0x86, 0x8e, 0x21, 0x31, 0x11, 0x3b, 0x4d, 0x16, 0xde, 0xd4, 0xa9, 0x5a, 0x04, 0xd1, 0xc9, 0x43, 0x52, 0x8c, 0x10, 0x6a, 0x62, 0x04, 0x7a, 0x29, 0xf1, 0xd3, 0x89, 0xb8, 0xa7, 0x30, 0x97, 0x4a, 0xb2, 0xe2, 0xeb, 0xb8, 0x30, 0x24, 0x7e, 0x95, 0xce, 0x5a, 0x49, 0x8c, 0x72, 0x1f, 0x46, 0x40, 0x18, 0x7d, 0x83, 0x7f, 0xa7, 0x02, 0xb2, 0xce, 0x3e, 0xb4, 0xc8, 0x8c, 0xc2, 0x09, 0x5e, 0xc6, 0x1e, 0xed, 0xb0, 0xbe, 0xe8, 0x9c, 0xa6, 0x90, 0x0b, 0xcd, 0x85, 0xd1, 0xcc, 0x6c, 0x74, 0x08, 0xa1, 0x02, 0x08, 0x14, 0xaa, 0x3d, 0x3d, 0xd1, 0x9c, 0x0e, 0xe1, 0x77, 0x50, 0xb4, 0x24, 0x7b, 0x54, 0x28, 0xa9, 0x75, 0x12, 0x9b, 0xac, 0x1c, 0x2a, 0xe0, 0x20, 0x69, 0x5e, 0x7e, 0x31, 0xf2, 0x2c, 0xbf, 0xc7, 0x18, 0x4c, 0x1d, 0xfe, 0x53, 0xc1, 0x7e, 0x38, 0xa7, 0x8e, 0xf9, 0x72, 0x0f, 0x75, 0x25, 0xfe, 0x6c, 0x5f, 0xa3, 0xb5, 0x41, 0x0a, 0xd0, 0x72, 0xda, 0x66, 0x25, 0x52, 0x6c, 0x33, 0x28, 0x2a, 0x76, 0x26, 0xb3, 0x7e, 0x61, 0xd1, 0xb7, 0x42, 0x82, 0x8d, 0x56, 0x3c, 0xcc, 0xab, 0x1b, 0x27, 0x0f, 0x15, 0x11, 0xfd, 0xd0, 0xcf, 0x33, 0x59, 0x56, 0x64, 0x04, 0xa8, 0x19, 0x58, 0x49, 0xaa, 0xb1, 0x38, 0x8b, 0xbc, 0xac, 0x87, 0x5b, 0x44, 0x7e, 0xc3, 0x25, 0x1a, 0xf4, 0x5a, 0x4c, 0xa0, 0xcd, 0x28, 0x53, 0x1c, 0xe9, 0x12, 0x0c, 0x60, 0x02, 0x17, 0x84, 0x6f, 0x62, 0xa2, 0x52, 0x59, 0x22, 0x90, 0x1c, 0xa5, 0xa4, 0xc2, 0xc6, 0x7a, 0x90, 0x13, 0x04, 0x92, 0x94, 0xb9, 0x47, 0xba, 0xce, 0xf0, 0x37, 0x16, 0xb8, 0x89, 0x71, 0x31, 0xd0, 0x6a, 0x1f, 0xca, 0xd1, 0x94, 0x74, 0x7f, 0x91, 0x1e, 0x02, 0x4e, 0x11, 0xa3, 0xbf, 0xb6, 0x5c, 0xd8, 0x7f, 0xd9, 0xa8, 0xf1, 0x8c, 0xbc, 0xa2, 0x64, 0xf4, 0x5c, 0xc2, 0x1f, 0x36, 0x89, 0xf1, 0xb4, 0xdd, 0x3e, 0xe3, 0x8a, 0x6d, 0xfc, 0x2d, 0x14, 0xe7, 0x5d, 0x2e, 0xc6, 0xa4, 0xf6, 0xe9, 0x3b, 0xa4, 0x28, 0x39, 0x28, 0x98, 0x65, 0x2e, 0xb7, 0x91, 0x86, 0x47, 0x26, 0x63, 0xb9, 0x4c, 0x08, 0x24, 0xa7, 0x79, 0xff, 0xdd, 0x00, 0x4b, 0x0d, 0xa6, 0x8d, 0x7d, 0x38, 0x73, 0x97, 0x37, 0xc0, 0x8b, 0x24, 0x7c, 0x7b, 0x40, 0xfb, 0x65, 0x28, 0x50, 0xa9, 0x02, 0x1c, 0x38, 0xfc, 0xdf, 0x96, 0xd9, 0xa8, 0x21, 0xa3, 0xf2, 0xae, 0x03, 0xc6, 0x29, 0x51, 0x59, 0x23, 0x21, 0x9a, 0x44, 0x4f, 0x1f, 0x12, 0xf8, 0x1b, 0xac, 0x08, 0xc5, 0xea, 0x0d, 0x14, 0x6f, 0x33, 0xa7, 0x84, 0xf6, 0x26, 0x85, 0x13, 0x2a, 0x46, 0x37, 0x84, 0x24, 0x40, 0x7e, 0xa4, 0x44, 0x9d, 0xa3, 0x9e, 0x22, 0x2c, 0x9e, 0x7f, 0x1a, 0x56, 0x74, 0xb1, 0x14, 0xd9, 0x11, 0xa2, 0x85, 0xe4, 0x99, 0x32, 0xe9, 0xb6, 0x79, 0xfa, 0x99, 0x5d, 0x37, 0xb8, 0xe7, 0xc9, 0xac, 0xb4, 0x02, 0xd2, 0xbc, 0x63, 0x25, 0x25, 0x19, 0xe1, 0x19, 0xf9, 0x64, 0x59, 0x14, 0xa7, 0xc1, 0x1b, 0x4e, 0x33, 0x01, 0x35, 0x47, 0x26, 0x83, 0x76, 0x25, 0xd2, 0xc9, 0xa3, 0x62, 0xcc, 0xc8, 0x08, 0x4d, 0x98, 0x19, 0x4f, 0xf2, 0xe4, 0x66, 0xdf, 0x04, 0xc0, 0x46, 0xb7, 0x2a, 0x55, 0xb0, 0x75, 0x26, 0x15, 0x74, 0x64, 0x60, 0xf9, 0x34, 0x35, 0x01, 0xc1, 0xf8, 0x57, 0xaf, 0x37, 0xa9, 0xbc, 0x74, 0x2d, 0xe7, 0xac, 0xeb, 0x24, 0x30, 0x9b, 0x08, 0x46, 0xcf, 0x7b, 0x85, 0xe2, 0xbb, 0xc3, 0x1a, 0x9e, 0xe8, 0xec, 0x2d, 0x7b, 0xf1, 0x8e, 0xaf, 0xf0, 0x6f, 0xa9, 0x41, 0x28, 0xa2, 0x3a, 0x5c, 0xea, 0xea, 0xc1, 0x09, 0xb2, 0xef, 0xbf, 0x6b, 0x96, 0x61, 0xae, 0x5f, 0x0c, 0x36, 0x77, 0x5f, 0x6d, 0x6d, 0x04, 0x72, 0x96, 0xe1, 0x1b, 0x2e, 0x48, 0xe1, 0xde, 0x56, 0x7f, 0x6b, 0xa3, 0x31, 0x1b, 0xdc, 0xee, 0x15, 0x00, 0x2a, 0x0a, 0xad, 0x6e, 0x84, 0x06, 0x25, 0x23, 0xdb, 0x62, 0x2d, 0xc9, 0x9b, 0x76, 0x8b, 0x49, 0xaf, 0x92, 0x3b, 0x20, 0xb5, 0x60, 0xfe, 0xda, 0x59, 0x5a, 0x8a, 0x61, 0x83, 0x92, 0x4c, 0x65, 0x0b, 0x56, 0x6b, 0xd7, 0x73, 0x82, 0xe9, 0x11, 0x14, 0x96, 0x9c, 0xeb, 0x10, 0x88, 0xb6, 0x94, 0x30, 0xa9, 0x82, 0x12, 0xf3, 0x28, 0xa6, 0xff, 0xc9, 0x9d, 0x2d, 0x47, 0x35, 0xa8, 0xc7, 0x97, 0xee, 0x99, 0xa2, 0xa6, 0xdf, 0x8b, 0xcb, 0x51, 0x9a, 0xb2, 0x3d, 0xd3, 0x62, 0xc6, 0x68, 0xc6, 0x23, 0x61, 0xc8, 0x51, 0x25, 0x75, 0x1a, 0x73, 0xa8, 0xd6, 0xa2, 0x94, 0x7a, 0xc3, 0xa2, 0xb2, 0x0a, 0x24, 0xb6, 0x6a, 0x5c, 0xb1, 0xe1, 0xb1, 0x53, 0x8b, 0x00, 0x2b, 0x1b, 0xfd, 0xb2, 0x6c, 0xaa, 0x51, 0x70, 0x17, 0x18, 0xae, 0x2c, 0x00, 0x36, 0x88, 0x7c, 0x82, 0x33, 0x9e, 0xe3, 0xaa, 0xcc, 0x71, 0x9f, 0x42, 0x9b, 0x4a, 0x1e, 0x0a, 0x82, 0xa6, 0x35, 0x06, 0x94, 0xb9, 0xfb, 0x92, 0x0f, 0xf4, 0x55, 0xd7, 0xa6, 0xeb, 0xd4, 0x0c, 0xa0, 0x38, 0xa0, 0x08, 0x32, 0xb2, 0x7e, 0x44, 0xe1, 0x71, 0xae, 0xa4, 0xc2, 0x85, 0x48, 0x7f, 0x09, 0x72, 0x7b, 0x70, 0x8e, 0x88, 0x74, 0x97, 0x40, 0x18, 0x22, 0xb3, 0x5b, 0x01, 0x70, 0xa9, 0x2e, 0xac, 0x8f, 0x70, 0x3b, 0x89, 0x82, 0xb2, 0xe4, 0x1e, 0xb9, 0x71, 0x29, 0xaa, 0x44, 0x51, 0xa4, 0xe8, 0x37, 0x32, 0xc9, 0x05, 0xac, 0x8e, 0x61, 0x16, 0x26, 0x0a, 0xe7, 0x71, 0xa0, 0xb6, 0x7b, 0x44, 0xb7, 0xb3, 0x34, 0x39, 0xdb, 0x19, 0x61, 0x4f, 0x22, 0xbe, 0x9c, 0xb7, 0x37, 0xd4, 0x1c, 0x80, 0x26, 0xa7, 0x88, 0xb3, 0x55, 0x3d, 0xfd, 0x03, 0xb5, 0x76, 0xce, 0x6f, 0x66, 0x78, 0xb3, 0xbc, 0x66, 0x60, 0x96, 0xed, 0xe1, 0x92, 0xcd, 0x87, 0xde, 0xfd, 0xfd, 0x7d, 0x0f, 0x2f, 0x1c, 0xe6, 0xe4, 0x48, 0x99, 0x45, 0xbf, 0x86, 0x1c, 0x4d, 0x76, 0x25, 0x9b, 0x9c, 0xc8, 0x44, 0xfc, 0xf8, 0x86, 0x93, 0x22, 0x55, 0x0c, 0xd3, 0x8a, 0xea, 0xf9, 0x84, 0xb8, 0xe8, 0x35, 0xa9, 0xab, 0x93, 0xe9, 0x90, 0x86, 0xa3, 0x8e, 0xa8, 0xc0, 0xed, 0xb3, 0x6b, 0x41, 0xf8, 0xa9, 0x51, 0x95, 0x60, 0xfd, 0x3a, 0x7c, 0x62, 0x7e, 0x10, 0xf5, 0xde, 0x45, 0x9d, 0x63, 0x59, 0xed, 0x35, 0x3c, 0x71, 0x50, 0x5f, 0x0b, 0x3f, 0xec, 0x07, 0x73, 0xe0, 0xdd, 0xce, 0xf3, 0xe0, 0x13, 0x5b, 0x2f, 0x32, 0xb5, 0x56, 0xb1, 0x59, 0x33, 0x55, 0xc0, 0x59, 0x87, 0x69, 0x2f, 0xec, 0xd6, 0x62, 0xcc, 0x33, 0x5a, 0x7a, 0x5c, 0x4a, 0x1b, 0x9e, 0x21, 0xdf, 0xf0, 0x15, 0xd7, 0xb1, 0x88, 0xef, 0x9f, 0xbe, 0xe3, 0xce, 0x4d, 0x14, 0xea, 0x9d, 0x91, 0xab, 0xcb, 0x01, 0x23, 0x46, 0xff, 0x8e, 0x49, 0xc2, 0x0c, 0xcc, 0x54, 0x9a, 0x60, 0xd8, 0x62, 0x2a, 0x36, 0x4c, 0x45, 0x2f, 0xfd, 0x6a, 0x45, 0x1d, 0x9a, 0x75, 0x0a, 0xdb, 0x55, 0xd4, 0x22, 0x1f, 0x0d, 0x4c, 0x53, 0x5a, 0x96, 0xa1, 0xaa, 0x67, 0x30, 0x1a, 0xbb, 0xba, 0xae, 0xb9, 0x9c, 0x42, 0xcb, 0xec, 0xd8, 0x73, 0x96, 0x29, 0xf0, 0xb7, 0xa1, 0xf4, 0x4e, 0x8e, 0x73, 0xe0, 0x55, 0x55, 0x80, 0x32, 0x71, 0x59, 0x25, 0x05, 0x12, 0x3a, 0x65, 0xc1, 0xf7, 0x34, 0x85, 0x39, 0x24, 0xac, 0x81, 0xa1, 0x1c, 0x7f, 0x73, 0x4a, 0xd9, 0xdc, 0xc0, 0x48, 0x33, 0x01, 0x71, 0xe0, 0xf9, 0x73, 0xbf, 0x23, 0x63, 0xd4, 0x4e, 0x91, 0x95, 0x70, 0x49, 0x64, 0x1c, 0x85, 0x00, 0x50, 0xd5, 0xe6, 0x88, 0xd4, 0xb8, 0x90, 0xa4, 0x55, 0xb1, 0x11, 0xe4, 0xf2, 0x9a, 0xf0, 0x6e, 0x6c, 0x4b, 0x04, 0x82, 0xfb, 0x45, 0x5f, 0x57, 0xb0, 0x91, 0xb8, 0x94, 0x08, 0x2e, 0x29, 0x6b, 0x5e, 0xfa, 0xb8, 0xa5, 0x57, 0xee, 0x1f, 0x95, 0xf8, 0x79, 0x6f, 0xf2, 0xf9, 0x70, 0x7b, 0x37, 0x3a, 0x93, 0x86, 0x27, 0xc5, 0x6c, 0x5d, 0xe2, 0x7a, 0x0c, 0xb8, 0x16, 0x0b, 0x7d, 0x69, 0x21, 0xcf, 0xad, 0x49, 0x8c, 0x04, 0x66, 0xfc, 0x1f, 0x28, 0xa1, 0x48, 0xee, 0x02, 0xcf, 0x43, 0xcd, 0x43, 0xeb, 0x25, 0xdd, 0xd1, 0x14, 0xca, 0x4f, 0x12, 0x62, 0xc3, 0xc3, 0xa1, 0xfd, 0xf7, 0x1a, 0xb5, 0xa5, 0xaf, 0xc4, 0x51, 0x85, 0x79, 0xf0, 0xa5, 0x63, 0x8d, 0x48, 0xb1, 0x2c, 0xcd, 0x5d, 0x6b, 0x84, 0x70, 0x1b, 0xc2, 0xc3, 0x71, 0x84, 0xd3, 0xd9, 0x3d, 0xa6, 0x38, 0xc4, 0x9c, 0x2f, 0xb9, 0x87, 0xd8, 0x1f, 0x9a, 0x9b, 0xf7, 0xfa, 0xe9, 0xdd, 0xfb, 0xa5, 0xdb, 0xb7, 0x7a, 0xf7, 0xb8, 0x77, 0x83, 0x26, 0xcb, 0xbe, 0x76, 0x1c, 0x74, 0x94, 0xec, 0xc1, 0xd6, 0x97, 0x71, 0xd4, 0xd5, 0xb9, 0x8c, 0x63, 0x64, 0xbe, 0xfe, 0xad, 0x4e, 0x9d, 0x88, 0x91, 0x2c, 0x7a, 0x9c, 0x7c, 0x78, 0x38, 0x0e, 0x2b, 0xd2, 0xd9, 0xbb, 0xd8, 0x8b, 0xa2, 0x87, 0xd3, 0x08, 0x02, 0x5e, 0x3c, 0xaa, 0x98, 0x98, 0x87, 0x94, 0xe6, 0xd9, 0x0b, 0x0f, 0xa7, 0x85, 0x80, 0xa2, 0x88, 0x7b, 0xeb, 0xfb, 0x4a, 0x05, 0xff, 0xf3, 0x17, 0x47, 0x69, 0x45, 0xb6, 0x5f, 0xa0, 0x9b, 0x11, 0xc2, 0x21, 0x98, 0x75, 0xdf, 0x6f, 0xa8, 0xd7, 0x47, 0x60, 0x20, 0xb9, 0x7f, 0x94, 0xaa, 0x04, 0x1b, 0xdd, 0xfa, 0x86, 0x21, 0xd4, 0x1d, 0x09, 0x03, 0x3d, 0xe5, 0xb4, 0xf5, 0x8c, 0xf5, 0xec, 0xb0, 0x27, 0x43, 0xf0, 0xec, 0xfe, 0x6f, 0x5a, 0x1f, 0xd1, 0xb3, 0x25, 0x03, 0x8c, 0x30, 0x94, 0x0c, 0xe0, 0x4d, 0x49, 0xf7, 0x11, 0x55, 0x2b, 0xa0, 0x88, 0x6f, 0x99, 0x1d, 0xa1, 0x0f, 0xa0, 0x52, 0x84, 0xf1, 0xd6, 0x99, 0xc0, 0x85, 0x32, 0xc6, 0xfb, 0x6b, 0xab, 0xcc, 0xf4, 0x70, 0x91, 0x3d, 0x21, 0xd9, 0x3e, 0x11, 0xe1, 0x0a, 0x4a, 0x35, 0x94, 0x19, 0x26, 0x4a, 0x8f, 0xfc, 0xda, 0x45, 0xa3, 0xe2, 0xab, 0x8a, 0x6c, 0xaf, 0x49, 0xca, 0xed, 0xcf, 0x6b, 0x92, 0xd2, 0xbe, 0xb3, 0x4a, 0x46, 0x0e, 0x12, 0x4e, 0x48, 0x73, 0x1d, 0x98, 0xf4, 0x12, 0x57, 0x59, 0x63, 0x17, 0x0f, 0x3f, 0xb5, 0x09, 0x5f, 0xf5, 0x8a, 0x8e, 0x39, 0xb7, 0xc8, 0xa9, 0x9d, 0xa4, 0x04, 0x73, 0x8c, 0x9a, 0x89, 0x75, 0x14, 0x0d, 0x8b, 0xfc, 0xbe, 0x24, 0x75, 0x54, 0x0d, 0xd4, 0x98, 0x53, 0x60, 0x6f, 0xbc, 0x92, 0x68, 0xd8, 0xde, 0x99, 0xc1, 0x81, 0x7d, 0x77, 0xfd, 0xfe, 0x8c, 0xbb, 0x3a, 0x70, 0x75, 0x2e, 0x16, 0x21, 0xc9, 0x9c, 0x97, 0xc3, 0x39, 0x58, 0xd2, 0xa0, 0x9d, 0x54, 0xcc, 0xca, 0x94, 0x3b, 0x7a, 0x25, 0xc4, 0x14, 0xd2, 0x93, 0x80, 0xf0, 0x22, 0x14, 0x9f, 0x11, 0x45, 0xd2, 0xc1, 0xa1, 0x72, 0x34, 0xe0, 0x5f, 0xae, 0xeb, 0x82, 0x9d, 0x4c, 0x19, 0x31, 0xa4, 0x47, 0xbd, 0xc5, 0xa3, 0xc0, 0x47, 0xbc, 0xdb, 0xe7, 0xa8, 0x69, 0xd4, 0x7c, 0x8c, 0x20, 0xa5, 0x8d, 0x87, 0x06, 0xb5, 0x2e, 0xd3, 0x79, 0x84, 0x50, 0xb3, 0xe2, 0xba, 0xa6, 0xe5, 0x95, 0xd5, 0x1a, 0xcd, 0xcb, 0xf6, 0x10, 0x71, 0x95, 0x2f, 0xd4, 0x43, 0x50, 0x1f, 0x92, 0x40, 0xd2, 0xb2, 0x40, 0x67, 0x1e, 0x6b, 0xd5, 0xdd, 0x40, 0xce, 0xbd, 0x28, 0x24, 0xea, 0xcd, 0x37, 0xa1, 0xcd, 0x9a, 0xa9, 0xa7, 0xcd, 0x12, 0x70, 0x6c, 0xe7, 0x06, 0x07, 0x94, 0x44, 0x46, 0xa8, 0xa2, 0x62, 0x0a, 0x3a, 0x4d, 0x20, 0x36, 0x18, 0x9d, 0x7a, 0x81, 0xc5, 0xe4, 0x1c, 0xf7, 0xd4, 0xbb, 0xa0, 0x82, 0x6d, 0x3b, 0x89, 0x94, 0xb6, 0x79, 0x84, 0xda, 0xcb, 0x04, 0xd4, 0x45, 0xd0, 0x5c, 0xd4, 0x3d, 0x22, 0xaf, 0xfb, 0xbb, 0x7c, 0xff, 0xa3, 0xf8, 0xbf, 0xba, 0x4e, 0x78, 0x2d, 0x45, 0x0f, 0x94, 0x1b, 0x2f, 0xb4, 0x91, 0xf5, 0x79, 0x52, 0x4c, 0xb9, 0x0c, 0x81, 0x21, 0x61, 0x83, 0x28, 0x16, 0x71, 0xe4, 0xa0, 0xb4, 0x45, 0xd1, 0xff, 0xe8, 0xb1, 0x44, 0x25, 0x57, 0xd5, 0x12, 0xeb, 0x5f, 0xc4, 0x9f, 0xbe, 0xd6, 0x1b, 0x33, 0x5b, 0x19, 0xc7, 0x19, 0xec, 0x04, 0xdc, 0x58, 0x3f, 0x3f, 0x66, 0x36, 0x7b, 0x3d, 0xcb, 0x97, 0xe5, 0xe3, 0x5a, 0x24, 0x8d, 0x7c, 0xa4, 0xf7, 0x45, 0x25, 0xb9, 0x3c, 0x78, 0x96, 0x70, 0xbe, 0xcb, 0xec, 0x56, 0x85, 0x22, 0x56, 0x2a, 0x94, 0xec, 0xa8, 0x6d, 0x0c, 0xb7, 0xe6, 0x7c, 0xec, 0x7f, 0xb8, 0x63, 0x07, 0x77, 0x99, 0xdc, 0xff, 0x6c, 0x38, 0x3f, 0xcf, 0x72, 0xb6, 0x21, 0x99, 0x90, 0xd9, 0x1c, 0xd5, 0x22, 0x75, 0x66, 0x40, 0x14, 0x1e, 0x0c, 0xc3, 0xab, 0x21, 0x07, 0x9b, 0xba, 0x41, 0xfc, 0xa6, 0xa5, 0xf8, 0xc4, 0x4a, 0x1e, 0x0e, 0x28, 0x59, 0xe4, 0x3c, 0x86, 0x30, 0x31, 0x8d, 0x6f, 0xdc, 0x12, 0xb8, 0x7e, 0x74, 0x09, 0xfb, 0xe5, 0x41, 0x4d, 0x60, 0x24, 0xdb, 0x0c, 0x17, 0xd7, 0x40, 0x4f, 0x27, 0x79, 0x3e, 0x8c, 0x8b, 0x35, 0xd9, 0x7b, 0x42, 0x55, 0x87, 0x01, 0xc7, 0xec, 0x7c, 0xc1, 0xb3, 0xee, 0x8d, 0xbb, 0xc1, 0x1b, 0x8d, 0x3a, 0x03, 0xbd, 0xdb, 0xd7, 0xa2, 0x0e, 0xfd, 0x39, 0x06, 0xc8, 0xf3, 0xd9, 0xd8, 0x6c, 0x85, 0xfb, 0xd5, 0xc0, 0xa1, 0x51, 0x6d, 0x82, 0x75, 0x05, 0xa8, 0x27, 0x80, 0xca, 0x5b, 0xd4, 0x59, 0x60, 0x9c, 0xfa, 0x88, 0xe2, 0x8e, 0xb0, 0x21, 0x98, 0x38, 0x11, 0x86, 0x6d, 0x91, 0x20, 0x89, 0x31, 0xc1, 0x1d, 0xe6, 0x80, 0x33, 0x0a, 0xf1, 0x18, 0xcb, 0x53, 0x7c, 0x87, 0xbb, 0xcb, 0xbe, 0x24, 0x5b, 0x75, 0x45, 0xa6, 0x9b, 0xcb, 0x35, 0x1c, 0x39, 0x66, 0x8d, 0xb9, 0xa6, 0x70, 0x5b, 0xe1, 0xda, 0xb5, 0xb8, 0xb8, 0xc4, 0x5e, 0x85, 0xbf, 0xb2, 0x13, 0xa4, 0x77, 0xaa, 0x59, 0x74, 0xfc, 0xcf, 0x6b, 0x42, 0x6c, 0x26, 0xe7, 0x64, 0x2f, 0x40, 0x9a, 0x35, 0xeb, 0x32, 0x99, 0x25, 0x53, 0x5e, 0xed, 0xe1, 0xd9, 0xc9, 0x77, 0x27, 0x67, 0x9e, 0xd8, 0xfc, 0x66, 0x30, 0xd8, 0xbc, 0x4d, 0x8a, 0x21, 0x75, 0x64, 0xc5, 0xc0, 0x45, 0x44, 0xcf, 0x99, 0x04, 0x2f, 0x47, 0x96, 0xdc, 0x5b, 0xc8, 0x16, 0x49, 0xf4, 0xf6, 0x7c, 0x36, 0x98, 0xc1, 0xcb, 0x9f, 0x14, 0x98, 0x77, 0x2a, 0x39, 0x92, 0x5c, 0x42, 0x92, 0x8d, 0xa3, 0x22, 0x19, 0x73, 0xc3, 0x52, 0x3f, 0x8b, 0x90, 0x90, 0x3d, 0xa2, 0xe8, 0x0d, 0x1d, 0x2a, 0x67, 0x92, 0x53, 0x00, 0xcb, 0x2c, 0xc2, 0x7b, 0x63, 0x41, 0xd5, 0xf3, 0xd1, 0x1b, 0xf9, 0xa6, 0xd4, 0xa3, 0xe2, 0x2e, 0x31, 0xb0, 0x1b, 0x5b, 0x29, 0x17, 0xdf, 0xf6, 0x8e, 0x06, 0xbd, 0x37, 0x27, 0x67, 0x27, 0xdf, 0x1c, 0x5d, 0x9f, 0x18, 0x3c, 0xf3, 0x32, 0x69, 0x51, 0xc1, 0x44, 0xff, 0xfa, 0x56, 0xb6, 0x85, 0xd6, 0x8f, 0x58, 0xf8, 0x55, 0xca, 0xdd, 0x58, 0x14, 0xf2, 0x9f, 0xdb, 0x6a, 0xa3, 0x55, 0x54, 0x71, 0x9e, 0x60, 0x78, 0x38, 0xb8, 0x17, 0xb3, 0xb9, 0x4c, 0xd5, 0x5b, 0x41, 0x3c, 0xbb, 0xc7, 0xae, 0x6c, 0x1f, 0x32, 0x4c, 0xa5, 0x4f, 0x4d, 0x29, 0x29, 0xaf, 0xde, 0xf5, 0x08, 0xd9, 0x9d, 0xad, 0x1d, 0x30, 0x21, 0xd3, 0xb7, 0xf8, 0x0b, 0xb4, 0x0c, 0x9c, 0xe2, 0xc7, 0x6f, 0xe8, 0xc9, 0x06, 0xc6, 0xb8, 0x85, 0x46, 0x47, 0x06, 0x23, 0xbf, 0x0a, 0x00, 0x96, 0x20, 0x01, 0x95, 0xa3, 0x9b, 0x64, 0x2e, 0xaa, 0x2c, 0xa6, 0x26, 0x50, 0x10, 0x9c, 0x6b, 0x2a, 0x05, 0x2f, 0x88, 0x53, 0xc8, 0x86, 0x09, 0x43, 0x2e, 0x10, 0x46, 0x1a, 0xd2, 0x75, 0x28, 0xd5, 0xf7, 0x1e, 0x3b, 0x0e, 0x60, 0xac, 0x05, 0xd3, 0x76, 0xa8, 0xc0, 0xb8, 0x4f, 0x09, 0x86, 0x4e, 0xde, 0x80, 0x9f, 0x27, 0xc0, 0xad, 0x03, 0x9b, 0x77, 0xd6, 0x00, 0x98, 0x1b, 0xb4, 0xf5, 0x9c, 0x5c, 0x67, 0xf4, 0x23, 0x6e, 0x5e, 0x22, 0x3a, 0x37, 0x4e, 0xf2, 0x57, 0x3a, 0xaa, 0xa5, 0x3c, 0x41, 0xca, 0x0d, 0xd1, 0x8d, 0x45, 0x66, 0x70, 0x38, 0x6b, 0x3b, 0xc8, 0x34, 0xa4, 0x15, 0xab, 0x33, 0x5d, 0x66, 0x0f, 0x0c, 0xad, 0x3e, 0x96, 0xd3, 0xa1, 0x1f, 0x49, 0x23, 0x02, 0x93, 0xe2, 0x11, 0x74, 0xe5, 0x5b, 0x8e, 0x51, 0xef, 0x55, 0x80, 0x18, 0xf1, 0xfa, 0x57, 0xbf, 0xa3, 0x84, 0x29, 0xb5, 0xeb, 0x25, 0x0b, 0x0f, 0xb0, 0x7b, 0xfd, 0xad, 0xe2, 0xef, 0x1b, 0xdd, 0xd2, 0x6d, 0xb4, 0xe6, 0xf4, 0x45, 0x3a, 0xb9, 0xbc, 0xe2, 0xd6, 0xea, 0x67, 0xf8, 0x17, 0x89, 0xbc, 0x95, 0x21, 0xfc, 0x3b, 0xe9, 0xfe, 0x81, 0xc9, 0x28, 0x09, 0x85, 0x6e, 0x4c, 0x30, 0x5d, 0x93, 0x11, 0x39, 0xff, 0x54, 0x80, 0xd6, 0xe5, 0x3a, 0xd0, 0x16, 0x7b, 0xc9, 0xff, 0xa6, 0x3b, 0x27, 0xce, 0x04, 0xa7, 0x20, 0x08, 0x45, 0x34, 0x09, 0xce, 0xa1, 0xd5, 0x00, 0xc9, 0x05, 0xfe, 0x12, 0xf5, 0x4d, 0x96, 0x6b, 0x55, 0x1b, 0xe7, 0xe5, 0x16, 0x08, 0xa2, 0x12, 0xe1, 0xb0, 0xf8, 0x66, 0x54, 0x50, 0x2f, 0xd7, 0x18, 0xa6, 0xd2, 0x6f, 0x2c, 0x95, 0xba, 0x71, 0x21, 0xec, 0xa6, 0x1f, 0x0f, 0xa1, 0x3e, 0x64, 0xe2, 0x88, 0x93, 0xac, 0x74, 0x5a, 0xb0, 0xe6, 0xda, 0x77, 0x25, 0xc7, 0x00, 0x2d, 0x08, 0x54, 0x80, 0xa5, 0x5e, 0x80, 0x92, 0x0f, 0x3c, 0x0d, 0x5f, 0x6a, 0x12, 0x34, 0x13, 0x2d, 0x79, 0x94, 0xb0, 0x39, 0x2b, 0x84, 0x13, 0x09, 0x4f, 0xc6, 0x04, 0x28, 0x4b, 0xa6, 0xcd, 0x90, 0x35, 0x18, 0xca, 0xea, 0xbb, 0x89, 0xb3, 0xc0, 0x9d, 0x83, 0x8d, 0x37, 0x0d, 0xd1, 0x68, 0x95, 0x72, 0x6c, 0x01, 0x25, 0x1e, 0x69, 0xa3, 0x09, 0x6b, 0x05, 0x86, 0x1e, 0x30, 0xb0, 0x14, 0xe3, 0x1a, 0x32, 0x15, 0xde, 0x19, 0x6a, 0x0c, 0x24, 0xf4, 0x96, 0x87, 0xa8, 0x4a, 0x98, 0x8b, 0x8d, 0xb6, 0xd4, 0x48, 0xb0, 0xbd, 0xe8, 0xdb, 0x78, 0xe6, 0xa9, 0xc2, 0xc6, 0x41, 0xd5, 0xc5, 0x06, 0xc3, 0xf5, 0x12, 0x1c, 0x3a, 0x3e, 0x12, 0xf6, 0x59, 0x33, 0x03, 0x25, 0xe1, 0xa2, 0x0b, 0xf8, 0x36, 0x4d, 0x17, 0xdd, 0x40, 0x26, 0x22, 0x8b, 0xc4, 0xe3, 0x7d, 0xff, 0x0d, 0x4d, 0x0e, 0xbf, 0x43, 0x2f, 0xd0, 0xbd, 0x47, 0xe8, 0xa1, 0xa9, 0xf6, 0x78, 0x62, 0x52, 0x1e, 0x26, 0xf0, 0xbd, 0x14, 0x1b, 0xe0, 0xb9, 0x61, 0x00, 0x3f, 0xcd, 0xb9, 0x04, 0x02, 0xa4, 0xaa, 0x80, 0x9c, 0x1d, 0x40, 0xf8, 0x2e, 0xe6, 0x52, 0x24, 0x91, 0xdb, 0x3d, 0xd2, 0xf4, 0xa1, 0xea, 0x5d, 0x76, 0x25, 0x9e, 0x49, 0xe9, 0x8d, 0x79, 0xe1, 0x97, 0xc0, 0x8e, 0x0c, 0xd6, 0x92, 0x3e, 0x19, 0x97, 0x77, 0xe1, 0x1b, 0x5e, 0xde, 0x05, 0x6f, 0xf8, 0x33, 0xee, 0xb9, 0xb5, 0xb7, 0x4e, 0x2e, 0x07, 0xdf, 0x45, 0x2d, 0xa0, 0x11, 0xdc, 0xc9, 0x85, 0xaf, 0xb8, 0x5d, 0x1d, 0x12, 0xbd, 0x7b, 0xcd, 0xdb, 0xef, 0x79, 0x30, 0x3e, 0xe0, 0xdd, 0x73, 0xf8, 0xbe, 0x5c, 0xee, 0xcb, 0xa3, 0xc1, 0x77, 0xce, 0xb5, 0x76, 0x48, 0x20, 0x54, 0x8c, 0x69, 0x32, 0xdb, 0x31, 0x48, 0xcc, 0xa4, 0x83, 0x83, 0x05, 0xe9, 0xbd, 0xbc, 0x7b, 0x0e, 0xbd, 0xc3, 0x4c, 0x3c, 0x7a, 0xf7, 0xf6, 0x78, 0x15, 0xbd, 0xbb, 0x07, 0x55, 0x4f, 0x9a, 0x75, 0xa8, 0x3d, 0xe3, 0x16, 0xda, 0x58, 0xe0, 0xd1, 0x46, 0xe6, 0x18, 0x48, 0x14, 0xd2, 0xf6, 0x53, 0x09, 0x69, 0x9e, 0xbf, 0x8c, 0xd0, 0xe1, 0x05, 0x8f, 0xd0, 0xf5, 0x3c, 0xc3, 0x94, 0xde, 0x46, 0xe8, 0x9a, 0x52, 0x9c, 0x30, 0x91, 0xbb, 0x34, 0xee, 0xd3, 0xb7, 0x43, 0xb5, 0x6e, 0x19, 0xb8, 0xbf, 0x43, 0x9a, 0x69, 0x66, 0xa1, 0x0c, 0x2c, 0x90, 0x43, 0x00, 0x5c, 0x44, 0x41, 0x19, 0xb8, 0x20, 0xd6, 0x77, 0xe7, 0x9b, 0xd2, 0xfc, 0x5a, 0xf5, 0x43, 0xa1, 0x1a, 0x36, 0x37, 0x56, 0x43, 0xa1, 0x4d, 0xee, 0x01, 0x17, 0x50, 0x60, 0xe2, 0xdd, 0xc8, 0x1a, 0x7a, 0x50, 0x12, 0xac, 0x4e, 0x2f, 0x13, 0xcc, 0xf3, 0x20, 0x18, 0xb2, 0xe6, 0x3d, 0x45, 0x35, 0x8f, 0xb4, 0x01, 0x54, 0x54, 0x7a, 0x69, 0xd6, 0xf3, 0xd3, 0xa0, 0xdd, 0xd0, 0x56, 0x55, 0xc3, 0xa6, 0xc5, 0x12, 0x45, 0x52, 0x78, 0x25, 0xc8, 0x81, 0xca, 0x28, 0x59, 0x9a, 0x12, 0x13, 0x60, 0xaf, 0x64, 0xa0, 0xa0, 0x36, 0x88, 0xb0, 0x56, 0x6f, 0xf7, 0x52, 0xe5, 0x35, 0x67, 0xdc, 0x8b, 0x06, 0x8a, 0xf1, 0x38, 0x2b, 0x7b, 0xb6, 0x3d, 0xfb, 0xa1, 0xf9, 0xab, 0x67, 0x5f, 0xbc, 0x39, 0x1f, 0x60, 0xe4, 0x2a, 0xa1, 0x5a, 0x03, 0x35, 0x83, 0xcb, 0x84, 0xeb, 0x43, 0xa6, 0xc4, 0x39, 0xe0, 0x11, 0x53, 0xf0, 0x67, 0x3a, 0x22, 0x1e, 0x06, 0x1d, 0x42, 0xf4, 0x09, 0xaf, 0x50, 0x2f, 0xe6, 0x82, 0x1b, 0xb0, 0xed, 0x28, 0x2e, 0x8e, 0x2b, 0xb0, 0x73, 0xd3, 0x8a, 0x76, 0xf2, 0x3c, 0x05, 0x30, 0x8e, 0xb4, 0x2c, 0x0f, 0xa7, 0xb1, 0xa1, 0xbd, 0x99, 0x17, 0x8c, 0xc8, 0x2e, 0x18, 0x64, 0xa6, 0xc3, 0x55, 0xd6, 0x68, 0x49, 0xdf, 0x5c, 0xac, 0x60, 0x26, 0x49, 0xce, 0xd8, 0xc6, 0x4a, 0xe3, 0x11, 0x37, 0x70, 0x71, 0xb7, 0xd7, 0xc3, 0x87, 0x25, 0xfd, 0xd0, 0xfc, 0xf4, 0x05, 0xfd, 0xb4, 0xef, 0x6d, 0xb4, 0x57, 0x42, 0x23, 0xed, 0x53, 0x0d, 0x3a, 0x2e, 0x66, 0x37, 0x66, 0x63, 0xec, 0xbc, 0x41, 0x67, 0xaf, 0x8d, 0x14, 0x10, 0x2d, 0x91, 0x31, 0x0f, 0x6d, 0xf3, 0xb6, 0xc8, 0xc3, 0x69, 0x01, 0xdd, 0xa6, 0xac, 0x1d, 0xfa, 0xee, 0x6e, 0xe0, 0xd0, 0xcd, 0x9c, 0x0f, 0x65, 0x99, 0xe1, 0x23, 0xaf, 0x49, 0x97, 0x61, 0xca, 0xfd, 0xad, 0x0e, 0xd3, 0x45, 0x4f, 0xdf, 0x62, 0xe1, 0x31, 0x8f, 0x6f, 0x45, 0xa4, 0xef, 0x09, 0x1d, 0xf4, 0x3c, 0x98, 0x15, 0xee, 0xb5, 0x4c, 0x2d, 0xa9, 0xed, 0x3a, 0x6b, 0x44, 0x23, 0xfa, 0x56, 0x65, 0x40, 0x5b, 0x91, 0x28, 0xf8, 0x3b, 0xa1, 0x9a, 0x2f, 0xcd, 0xce, 0x76, 0x7d, 0x3c, 0x5a, 0xdf, 0x41, 0x33, 0x31, 0xef, 0x3e, 0x71, 0x7e, 0x96, 0xc8, 0x56, 0x9f, 0x9f, 0xee, 0xd9, 0xff, 0x1e, 0xe7, 0xf7, 0xe2, 0x93, 0x9c, 0xdf, 0x8b, 0xff, 0x6d, 0xce, 0xef, 0xc5, 0xbf, 0x7c, 0x7e, 0x7b, 0xde, 0xf9, 0xbd, 0xf8, 0xdf, 0xe5, 0xfc, 0xb4, 0xbf, 0x9a, 0x9e, 0x5e, 0xe2, 0x9d, 0xdf, 0x40, 0xd2, 0x46, 0x14, 0x98, 0x0f, 0x77, 0x5a, 0xdf, 0xe2, 0x20, 0x8d, 0x24, 0x3a, 0xb2, 0x17, 0x5c, 0x73, 0x6d, 0x19, 0x1a, 0xb2, 0xa5, 0x61, 0x49, 0x5f, 0xcb, 0x2a, 0x74, 0xd0, 0xd3, 0xcb, 0xc8, 0x4c, 0xc0, 0x39, 0x06, 0x0b, 0xb4, 0x45, 0x0a, 0x5a, 0xd0, 0x45, 0x5d, 0xa2, 0xdf, 0x12, 0xd6, 0xcf, 0xe5, 0x95, 0xa5, 0x2d, 0x0a, 0x0e, 0x21, 0x69, 0xc1, 0xc6, 0x1d, 0x1c, 0xe2, 0x76, 0xf5, 0xf8, 0xf1, 0x2f, 0x83, 0xc5, 0x6e, 0xd4, 0xae, 0xd9, 0x4e, 0x29, 0x14, 0x96, 0x70, 0xb6, 0xce, 0x9e, 0x9b, 0x89, 0x66, 0x39, 0x87, 0x16, 0x3a, 0xb3, 0xa6, 0xaa, 0x63, 0x4e, 0xf0, 0xe9, 0x23, 0xcb, 0x6f, 0x08, 0xc7, 0xe7, 0xf0, 0xc3, 0x95, 0xef, 0x7b, 0x83, 0xa5, 0xfa, 0xd0, 0x88, 0x70, 0x5c, 0x3d, 0xb4, 0xed, 0x7b, 0x84, 0x12, 0x0f, 0xb7, 0xf1, 0xe2, 0xdd, 0x86, 0xe3, 0x04, 0xa2, 0xa0, 0x45, 0x1e, 0xea, 0x77, 0xc7, 0x65, 0xb7, 0xa6, 0xb4, 0xbc, 0xec, 0x36, 0x7a, 0x5c, 0x9a, 0xb4, 0x77, 0xab, 0xa4, 0x90, 0x77, 0x44, 0x0a, 0x76, 0x0b, 0xaf, 0xbf, 0x25, 0x2a, 0x83, 0x69, 0x29, 0xa8, 0x71, 0x08, 0xa3, 0xa1, 0x72, 0x90, 0x66, 0xf6, 0x7b, 0x66, 0xfc, 0xbd, 0xd8, 0xa9, 0xed, 0xea, 0x1b, 0xd2, 0x15, 0x97, 0xf3, 0x85, 0x94, 0x16, 0x3f, 0x51, 0x5a, 0x19, 0x71, 0x37, 0x46, 0x2a, 0x9b, 0x64, 0xf7, 0xbe, 0x54, 0x19, 0xa9, 0x65, 0x6e, 0x4a, 0x2b, 0xc4, 0x7c, 0x6f, 0x05, 0x46, 0x0b, 0x62, 0x51, 0x5d, 0x37, 0x13, 0xa4, 0xb8, 0x22, 0x46, 0xf1, 0xd5, 0x91, 0x4b, 0x3a, 0x5a, 0xb3, 0x14, 0x3a, 0x10, 0x08, 0x00, 0x7f, 0x35, 0x04, 0xce, 0x4d, 0x51, 0x42, 0x2c, 0xb0, 0xc2, 0x39, 0x33, 0xba, 0x20, 0xbc, 0x0a, 0xc3, 0xf4, 0xa5, 0xca, 0xaa, 0x74, 0xe2, 0xd4, 0xa6, 0x30, 0x84, 0xc0, 0x9d, 0x42, 0xd5, 0x01, 0x14, 0xec, 0x21, 0xf5, 0x56, 0xb2, 0xfa, 0x04, 0xba, 0xc3, 0x60, 0x33, 0x65, 0x77, 0x5a, 0x7b, 0x53, 0x6b, 0x51, 0xd2, 0x1b, 0xfa, 0xe1, 0x80, 0x5a, 0x09, 0xe0, 0x1f, 0x88, 0x36, 0x5a, 0xca, 0x32, 0x58, 0x35, 0x73, 0x1c, 0x13, 0x81, 0x9b, 0xe4, 0x56, 0x7d, 0x04, 0x5d, 0x01, 0x68, 0xe8, 0xe8, 0x02, 0xa5, 0x5f, 0x05, 0x37, 0x01, 0xa9, 0xbb, 0xa4, 0x1a, 0x46, 0x12, 0x67, 0xff, 0x7a, 0x09, 0x85, 0x02, 0x30, 0x10, 0x3c, 0xc6, 0x5a, 0x0a, 0x38, 0xe7, 0x16, 0xdf, 0x24, 0x6e, 0xd5, 0xb4, 0x81, 0xa0, 0xe4, 0x28, 0x05, 0x27, 0x2f, 0xc2, 0x2e, 0x4a, 0x26, 0xac, 0xd7, 0x70, 0x88, 0x50, 0x11, 0x64, 0xea, 0x1d, 0x41, 0x71, 0x5a, 0x0a, 0xf4, 0x2c, 0xb7, 0x5c, 0x26, 0xd0, 0x9b, 0xdf, 0xaf, 0x4a, 0xd9, 0xc9, 0x0c, 0x77, 0x59, 0x54, 0x32, 0xe5, 0xf0, 0xff, 0xaa, 0x2c, 0xe4, 0x06, 0xe0, 0x1a, 0x77, 0x12, 0x37, 0x90, 0x6b, 0xe4, 0x11, 0xcc, 0xaa, 0x22, 0x5f, 0x3c, 0x46, 0xdf, 0xc4, 0xb8, 0x2c, 0x52, 0xeb, 0xe3, 0x64, 0xee, 0x95, 0xa6, 0x71, 0x6f, 0x71, 0x51, 0xb3, 0xb9, 0xcf, 0xb8, 0xae, 0x90, 0xec, 0x02, 0xde, 0x16, 0x20, 0x56, 0xd8, 0x2f, 0x74, 0x26, 0x4b, 0xd9, 0x08, 0xa7, 0x5e, 0x0f, 0x06, 0x67, 0xbe, 0x2d, 0xa7, 0x8d, 0x8d, 0x56, 0x62, 0x12, 0xd0, 0x68, 0xbd, 0x66, 0x74, 0x44, 0x06, 0x3f, 0x0c, 0x72, 0x0e, 0x59, 0x77, 0x32, 0x53, 0xcc, 0x0e, 0xc5, 0x91, 0x1f, 0x15, 0x8f, 0x0b, 0x34, 0xbe, 0xa4, 0x08, 0x97, 0xaf, 0x39, 0xce, 0x8f, 0x41, 0x60, 0x57, 0x96, 0x3d, 0x7f, 0x28, 0x1d, 0x2c, 0x75, 0x92, 0xa5, 0x18, 0xbf, 0x47, 0x50, 0x64, 0x04, 0xb7, 0x12, 0xd9, 0x8a, 0x52, 0x67, 0x4c, 0x68, 0x2e, 0xad, 0x3d, 0xce, 0xa4, 0x73, 0x59, 0xa3, 0x3b, 0x06, 0x9b, 0x33, 0x68, 0x69, 0x21, 0x22, 0x22, 0x85, 0x53, 0x36, 0x54, 0xbe, 0xcb, 0x1b, 0x52, 0xb5, 0xd7, 0xbc, 0x19, 0xa6, 0x79, 0x42, 0x8c, 0x08, 0x0f, 0x99, 0x07, 0x25, 0x03, 0x36, 0xee, 0xb4, 0x27, 0xa0, 0x18, 0x2d, 0x74, 0xe2, 0x58, 0xa9, 0x42, 0xba, 0x5c, 0x8c, 0x4c, 0xe9, 0x7b, 0xc6, 0xf1, 0x48, 0x5c, 0x4d, 0x33, 0x30, 0x14, 0xef, 0x0b, 0xd8, 0xad, 0x17, 0x73, 0x20, 0x18, 0x97, 0x93, 0xeb, 0x78, 0xea, 0x84, 0x15, 0x1b, 0xd5, 0xe6, 0xd4, 0x3e, 0x2c, 0x63, 0x4c, 0x44, 0x60, 0x64, 0xc0, 0x4b, 0xe6, 0x70, 0x7b, 0x7a, 0xe7, 0xb0, 0xec, 0x9e, 0x87, 0x5c, 0x84, 0xbe, 0x09, 0x91, 0x16, 0x96, 0xbf, 0x51, 0x2e, 0x36, 0x65, 0xaf, 0xe0, 0x97, 0xfa, 0x21, 0x30, 0x9c, 0x51, 0x5e, 0x08, 0x22, 0x0d, 0xa6, 0xcf, 0xc0, 0xcd, 0xa3, 0x9c, 0xa1, 0xd2, 0x00, 0x0d, 0xd8, 0xb8, 0x7a, 0xbd, 0x1b, 0x56, 0xa0, 0x62, 0xd8, 0xe8, 0xa8, 0x02, 0x9e, 0x48, 0x89, 0xfb, 0xe3, 0xa4, 0xc4, 0xd6, 0x4a, 0x3c, 0x81, 0xe8, 0xc8, 0x65, 0x51, 0x04, 0x0d, 0x86, 0x9d, 0xe4, 0xa5, 0x09, 0x42, 0x93, 0x06, 0xe8, 0xc1, 0xe0, 0xc4, 0x3f, 0x48, 0x66, 0x83, 0x1c, 0x84, 0x9c, 0x1f, 0x83, 0xdf, 0xe6, 0xe2, 0x40, 0x31, 0x50, 0xb8, 0xbc, 0xcb, 0x12, 0xbc, 0x89, 0x83, 0x9a, 0x85, 0xf4, 0x7c, 0x32, 0x48, 0x74, 0x4b, 0x8d, 0xd4, 0xd8, 0x88, 0x8b, 0x12, 0x87, 0xdd, 0x5c, 0x66, 0x72, 0x38, 0xb8, 0x0f, 0xcd, 0x1a, 0x63, 0xaa, 0x0b, 0x03, 0x64, 0x1a, 0xb0, 0x1f, 0x1f, 0x11, 0xf6, 0xfd, 0xe5, 0xd1, 0xd5, 0xe9, 0xe0, 0xe2, 0xfc, 0x00, 0xd9, 0x05, 0x62, 0x68, 0xc2, 0xff, 0xef, 0x70, 0x9b, 0x22, 0x02, 0x82, 0xa6, 0x4f, 0xa6, 0x25, 0x63, 0x90, 0xd2, 0x97, 0x50, 0xe9, 0xf9, 0x3e, 0x89, 0x6f, 0x43, 0xc5, 0x43, 0x03, 0x60, 0x50, 0xd8, 0x0b, 0xa9, 0x46, 0xa3, 0x9c, 0xbe, 0x24, 0xe8, 0xc0, 0x54, 0xf0, 0x42, 0x70, 0x2f, 0x88, 0xf6, 0x6a, 0x87, 0x5f, 0xa9, 0x9a, 0xd4, 0xb3, 0x94, 0x9c, 0x9d, 0x5e, 0x75, 0x4d, 0x1a, 0x4a, 0x03, 0x3e, 0xcf, 0x59, 0x5d, 0x74, 0x3f, 0xe8, 0x40, 0x34, 0x8f, 0xa7, 0x46, 0x5f, 0x4d, 0x6b, 0xe8, 0xa4, 0xe2, 0x50, 0xa6, 0xe9, 0x5c, 0x8c, 0x0e, 0x10, 0xd8, 0x1a, 0xa3, 0x12, 0x70, 0x80, 0x5d, 0x32, 0x6b, 0x1d, 0x60, 0x27, 0x89, 0xe3, 0x07, 0xa3, 0x0e, 0x91, 0x68, 0x1c, 0x94, 0x65, 0x86, 0x73, 0xa1, 0x2a, 0x66, 0x55, 0xfe, 0x92, 0xec, 0x2e, 0x99, 0xe5, 0x0b, 0x2d, 0x04, 0x14, 0xd4, 0x5a, 0x02, 0x43, 0xed, 0xaf, 0x80, 0x98, 0x91, 0xab, 0xc6, 0x2e, 0x3c, 0xa6, 0x38, 0x37, 0xff, 0x5a, 0x31, 0x56, 0x15, 0x56, 0x35, 0x74, 0x80, 0xbc, 0x4b, 0xe8, 0xf2, 0xca, 0x64, 0x73, 0x78, 0x8b, 0x03, 0x10, 0x3f, 0xb6, 0x17, 0x1b, 0xae, 0x81, 0xdc, 0x4d, 0x71, 0x74, 0x9f, 0x24, 0xb7, 0xfc, 0x69, 0xd3, 0x26, 0x93, 0x3b, 0x13, 0x48, 0xaf, 0x94, 0xef, 0x37, 0x3b, 0xc1, 0x18, 0x7d, 0x4a, 0x01, 0x6b, 0x38, 0x83, 0x42, 0xb3, 0x48, 0xad, 0xd4, 0x97, 0xa0, 0x0e, 0x47, 0x07, 0x0b, 0x10, 0x16, 0x77, 0x14, 0x06, 0xe0, 0x05, 0x0a, 0xe8, 0x6d, 0x00, 0x37, 0x56, 0x1a, 0x3c, 0xc7, 0xc5, 0x6d, 0x69, 0x6f, 0xb9, 0xaf, 0x0a, 0x90, 0x22, 0xc8, 0x33, 0x8e, 0xb9, 0x9f, 0x12, 0xae, 0xa4, 0x5e, 0x2a, 0x80, 0x15, 0xa6, 0x95, 0x53, 0xa7, 0xc9, 0x63, 0x85, 0x5a, 0xcc, 0xd7, 0x39, 0x4b, 0x5b, 0x1d, 0xd6, 0x2a, 0xda, 0xa6, 0xcb, 0xb2, 0xbd, 0xb5, 0xf5, 0x24, 0x52, 0x9c, 0x90, 0xf9, 0x4a, 0xc0, 0x38, 0x54, 0x8a, 0x39, 0xcc, 0x6d, 0x90, 0x4d, 0xe2, 0x54, 0xca, 0x56, 0x9b, 0xd8, 0x9a, 0xf0, 0x49, 0x03, 0xdc, 0x66, 0x15, 0x31, 0x56, 0xae, 0x19, 0x50, 0x91, 0x60, 0xe3, 0x70, 0xb7, 0xf8, 0x42, 0x1f, 0xd4, 0xde, 0x69, 0xa2, 0x43, 0xb1, 0x1c, 0x48, 0x19, 0x23, 0xd5, 0xdc, 0x88, 0xaf, 0x1f, 0xad, 0xf7, 0x96, 0xd4, 0x62, 0x8e, 0x0a, 0xd2, 0xac, 0x38, 0xda, 0xcb, 0xf3, 0xef, 0xaf, 0x32, 0x00, 0xc2, 0x68, 0x70, 0x7f, 0x60, 0xf5, 0x92, 0x86, 0x05, 0x39, 0xb5, 0x28, 0x69, 0x54, 0x02, 0x95, 0x0a, 0x87, 0x2d, 0xcc, 0x6a, 0x81, 0xf3, 0x37, 0x5b, 0xed, 0x39, 0x5d, 0xf3, 0x58, 0x17, 0x5e, 0x89, 0xea, 0x5f, 0xc7, 0xf6, 0xab, 0xd7, 0x22, 0xbc, 0xac, 0x9f, 0x2f, 0x02, 0x6c, 0xf4, 0x08, 0x46, 0xa3, 0x29, 0x08, 0x11, 0x79, 0x03, 0x09, 0x9d, 0x3c, 0xce, 0x79, 0xe6, 0xf8, 0xe1, 0x11, 0x53, 0x92, 0xf3, 0x3f, 0xb5, 0xe2, 0xb6, 0x01, 0x65, 0xee, 0xaa, 0xd7, 0xda, 0x7f, 0x45, 0xf5, 0xbd, 0x71, 0xee, 0x20, 0x18, 0x9a, 0x22, 0xeb, 0x86, 0x43, 0x9f, 0x3d, 0xfa, 0x3e, 0x38, 0x12, 0xd7, 0x91, 0xd8, 0x60, 0x11, 0xc3, 0x85, 0x50, 0x8e, 0x1c, 0xf9, 0x03, 0x58, 0x53, 0x00, 0xbb, 0xb5, 0x4b, 0x87, 0x07, 0xb7, 0x06, 0xcb, 0x86, 0xf8, 0x94, 0x83, 0x4e, 0x0e, 0x0b, 0xae, 0xc9, 0xdd, 0x26, 0x79, 0x25, 0xa5, 0x05, 0x05, 0x45, 0xf9, 0xc3, 0x9d, 0x33, 0x61, 0xd4, 0xd2, 0x24, 0x08, 0xfb, 0x37, 0xcd, 0xc1, 0xe9, 0x80, 0x27, 0x11, 0xa7, 0xac, 0x5c, 0x52, 0x0c, 0x93, 0x87, 0x37, 0x38, 0x9c, 0xac, 0x84, 0x30, 0x7e, 0x09, 0x46, 0x4b, 0x04, 0x87, 0xc1, 0x53, 0x1e, 0x31, 0x47, 0x0a, 0x21, 0x7c, 0x23, 0x3a, 0x1c, 0x02, 0x42, 0x59, 0x16, 0x4e, 0xa6, 0x54, 0xe7, 0x26, 0x85, 0x53, 0xcd, 0x3a, 0xa4, 0x12, 0x59, 0xc1, 0x2a, 0x1f, 0xf5, 0x16, 0xbb, 0x9c, 0x39, 0xe1, 0x39, 0x5f, 0x77, 0xf0, 0xaa, 0xe3, 0xbb, 0x51, 0xed, 0x42, 0xa8, 0x57, 0x81, 0x65, 0x8b, 0x85, 0x60, 0xe1, 0x73, 0x0b, 0xc6, 0xf4, 0x6c, 0x39, 0x36, 0xde, 0x7c, 0xea, 0xcf, 0xd8, 0x75, 0x9b, 0xa3, 0xd9, 0x70, 0x63, 0x3c, 0x47, 0x57, 0x3e, 0x7b, 0x2c, 0x70, 0x97, 0x83, 0xad, 0xab, 0xf0, 0x20, 0x04, 0xb8, 0x2b, 0x80, 0x2c, 0x2f, 0x09, 0xde, 0xf1, 0x23, 0xd5, 0x9e, 0x9a, 0x4f, 0x13, 0x75, 0x7b, 0x30, 0xa0, 0x08, 0x89, 0x9b, 0x93, 0xff, 0x47, 0xe8, 0x18, 0xb7, 0x70, 0x54, 0xa4, 0x8b, 0x8a, 0xb3, 0xd2, 0xa4, 0xc4, 0x66, 0x25, 0x7c, 0x1a, 0xfc, 0x6d, 0x3a, 0xcb, 0x87, 0x31, 0xdf, 0x11, 0x93, 0xe1, 0xaa, 0x71, 0xaf, 0x1a, 0x6c, 0x3d, 0xb2, 0x37, 0x24, 0xcf, 0x40, 0xdb, 0x1d, 0x58, 0x72, 0xef, 0xa0, 0x4b, 0x79, 0x1b, 0x0f, 0xd5, 0xca, 0x0f, 0x9a, 0x4f, 0x30, 0x08, 0x6c, 0x6f, 0xd2, 0x95, 0xdb, 0xab, 0xd8, 0x1c, 0x94, 0x20, 0x5c, 0x3a, 0x77, 0xca, 0xb3, 0xbc, 0x09, 0x4c, 0x67, 0xbc, 0x4c, 0xea, 0xf9, 0xc2, 0x6b, 0x92, 0x2c, 0x24, 0x8d, 0x4d, 0x29, 0x67, 0xd5, 0xf4, 0xab, 0x91, 0xa4, 0x9c, 0x60, 0x2e, 0x2c, 0xc2, 0xc4, 0x4b, 0xee, 0x6a, 0x37, 0xba, 0xc9, 0xef, 0xa9, 0x4e, 0x2f, 0x43, 0xdb, 0xc4, 0x4e, 0x4e, 0xa5, 0xa7, 0xb3, 0x57, 0x0c, 0xaf, 0xe3, 0x53, 0xfc, 0x84, 0xdd, 0x02, 0xa4, 0x4b, 0xf3, 0x99, 0xac, 0xd8, 0x19, 0xb7, 0xd7, 0x44, 0xdd, 0x51, 0x64, 0x3e, 0x1d, 0x16, 0x4f, 0xc4, 0xd6, 0x4a, 0x74, 0x1d, 0x61, 0x94, 0x77, 0x1d, 0x88, 0x45, 0x6a, 0xa0, 0x63, 0x4a, 0x3f, 0x23, 0x84, 0x64, 0x55, 0x24, 0x98, 0x17, 0x84, 0xeb, 0xb3, 0xf1, 0xa6, 0x60, 0xa6, 0xf3, 0xec, 0x91, 0x73, 0x29, 0xe9, 0xcc, 0xc9, 0xeb, 0x21, 0x91, 0x63, 0x25, 0xa8, 0xa4, 0x1a, 0x39, 0xbf, 0x1c, 0x27, 0xf1, 0x2c, 0xd4, 0x33, 0x09, 0x27, 0x8c, 0x3a, 0x3f, 0xb3, 0x36, 0x04, 0xcb, 0xca, 0x24, 0x70, 0x2e, 0x95, 0x36, 0x9c, 0x6b, 0x2e, 0xca, 0xa2, 0x99, 0x21, 0xdd, 0xaa, 0x80, 0x8f, 0x05, 0xbb, 0xb8, 0xd1, 0x03, 0x84, 0x20, 0x31, 0x12, 0x5c, 0x1a, 0x4a, 0x7b, 0xb1, 0x85, 0x98, 0x88, 0xec, 0x89, 0x69, 0xe9, 0xfa, 0x00, 0x51, 0x00, 0x55, 0x45, 0x35, 0x87, 0x93, 0x70, 0x1a, 0xa3, 0x03, 0x90, 0x90, 0xd1, 0xe2, 0x3d, 0x9c, 0x18, 0x67, 0x42, 0x22, 0x93, 0xdc, 0x90, 0x7b, 0x48, 0xd9, 0x76, 0xc2, 0x39, 0x16, 0xfe, 0x49, 0xdf, 0x25, 0x9a, 0x1f, 0x4b, 0x06, 0x08, 0x1f, 0x40, 0x65, 0x20, 0x13, 0x70, 0x34, 0xe1, 0x33, 0xcc, 0x64, 0x76, 0x76, 0x5a, 0x1c, 0x70, 0xdc, 0xe3, 0x5c, 0x69, 0x8c, 0x2e, 0x7b, 0x19, 0x4f, 0x12, 0x35, 0x5a, 0x84, 0x7d, 0xe7, 0x23, 0xd8, 0x42, 0x4a, 0xd5, 0x21, 0x68, 0x3a, 0xb4, 0x91, 0x3d, 0x6b, 0x87, 0xb9, 0x26, 0x72, 0x49, 0x23, 0x72, 0xf1, 0x22, 0x08, 0xbb, 0x2d, 0x67, 0xe9, 0x42, 0xa3, 0x94, 0xdd, 0x28, 0x91, 0xdc, 0xd2, 0xd9, 0xa3, 0x9c, 0xca, 0xb2, 0x17, 0x70, 0xc0, 0x69, 0xba, 0x9d, 0x82, 0xa0, 0xcf, 0xd0, 0x32, 0x5a, 0x6f, 0x8c, 0xbe, 0xb7, 0xb5, 0x4d, 0x93, 0xdd, 0xdb, 0x7a, 0xb9, 0x51, 0x97, 0xca, 0xb3, 0x32, 0xe9, 0x51, 0xea, 0x72, 0xd8, 0x47, 0xc1, 0x0d, 0x4b, 0x6d, 0x74, 0x95, 0xfc, 0x11, 0xf8, 0x92, 0xe4, 0x3b, 0x8f, 0x97, 0x85, 0xda, 0x64, 0xd8, 0xca, 0x16, 0xdd, 0x93, 0xe5, 0x0d, 0x62, 0xef, 0x7a, 0x52, 0xde, 0xbe, 0x43, 0xae, 0x3b, 0x8a, 0xe0, 0xf3, 0x3e, 0xc5, 0xf4, 0xaa, 0xb4, 0xc9, 0xe4, 0x7d, 0xa0, 0xe7, 0xd4, 0x00, 0x0f, 0x14, 0xa0, 0x38, 0x70, 0xa3, 0x9c, 0x2a, 0x2c, 0x49, 0x1c, 0xf5, 0xa6, 0xf3, 0x86, 0xef, 0xbc, 0x4d, 0xb3, 0xb4, 0xbc, 0xa1, 0x66, 0xf5, 0x65, 0x19, 0x4f, 0x13, 0x1f, 0xe6, 0x04, 0x18, 0x12, 0x98, 0x00, 0x6c, 0xee, 0x17, 0xd4, 0x9f, 0x04, 0x13, 0x84, 0x79, 0xdf, 0xa5, 0x6c, 0x51, 0x3a, 0xad, 0x12, 0x3e, 0xa6, 0x5d, 0x66, 0x88, 0x5e, 0xd2, 0xd2, 0x69, 0x03, 0xdc, 0xd6, 0x05, 0x18, 0x7b, 0x52, 0x12, 0x50, 0x22, 0x77, 0x88, 0xe3, 0x16, 0x71, 0xa1, 0xde, 0x5f, 0xd1, 0x3a, 0x1e, 0xee, 0xc5, 0x00, 0x58, 0x90, 0xed, 0x58, 0x4f, 0x89, 0xe0, 0xf0, 0xb3, 0x1f, 0x40, 0x17, 0xed, 0xbf, 0x32, 0x3f, 0xde, 0x78, 0x5e, 0xdb, 0xe0, 0x9d, 0x86, 0x6e, 0x86, 0x15, 0x19, 0x12, 0x8f, 0x26, 0x87, 0xd5, 0x6b, 0xfe, 0x47, 0xd8, 0xe3, 0x4d, 0xe8, 0x06, 0x60, 0x40, 0xbc, 0x3f, 0x22, 0x60, 0x41, 0x8b, 0xf3, 0xef, 0x14, 0x6f, 0xd4, 0x2a, 0xb5, 0xa9, 0x87, 0x32, 0xaa, 0xaa, 0x41, 0x98, 0x57, 0xe3, 0xa9, 0xe1, 0x3c, 0x72, 0x9b, 0x7b, 0xa1, 0xba, 0x1c, 0x08, 0xde, 0x0a, 0xdd, 0x93, 0x08, 0xc0, 0x16, 0x9d, 0x25, 0xdc, 0x32, 0x2d, 0x5a, 0xfb, 0x6a, 0x2d, 0x50, 0xd3, 0xbd, 0x76, 0xe8, 0xf4, 0x99, 0x28, 0x6d, 0x3b, 0xc6, 0xb5, 0x2f, 0xd0, 0xb2, 0x47, 0x48, 0x2d, 0xfe, 0xa6, 0x9c, 0x01, 0x57, 0x59, 0x84, 0x93, 0xbb, 0x34, 0xb1, 0x5b, 0x50, 0x62, 0xeb, 0x29, 0xa4, 0x0b, 0x86, 0xe7, 0xc6, 0xb2, 0x89, 0xfa, 0xba, 0x55, 0x9f, 0x5b, 0xf3, 0x6a, 0xbe, 0xb1, 0x80, 0x8b, 0x31, 0xdb, 0xb8, 0x55, 0xbb, 0xd3, 0xcc, 0x9a, 0xe7, 0xc4, 0x93, 0xa1, 0x88, 0xd5, 0x68, 0x44, 0x76, 0x21, 0x5d, 0x7d, 0xf8, 0xe5, 0x74, 0x1a, 0x4c, 0x74, 0x85, 0x2d, 0xc0, 0x83, 0xc7, 0x35, 0x4f, 0xc0, 0xde, 0x22, 0x7d, 0x03, 0xe5, 0x7c, 0x7b, 0x09, 0x8d, 0xd5, 0xdd, 0x03, 0xcf, 0x38, 0xab, 0x38, 0x74, 0xab, 0x14, 0xc3, 0x54, 0x40, 0x44, 0xc0, 0x34, 0x80, 0xae, 0x2c, 0xfa, 0x99, 0x89, 0x79, 0x4c, 0x62, 0x20, 0x8a, 0x47, 0x49, 0x30, 0x9a, 0x51, 0x55, 0x19, 0x73, 0x90, 0x64, 0xee, 0xf1, 0xb0, 0x99, 0x16, 0x68, 0x70, 0x1d, 0x13, 0x76, 0x94, 0xe2, 0x92, 0x17, 0xdc, 0x67, 0x96, 0x07, 0xb6, 0xf4, 0x29, 0xd2, 0xb6, 0x4a, 0xb6, 0xa2, 0xa9, 0xe9, 0x1b, 0x77, 0xeb, 0x9b, 0x44, 0x55, 0x51, 0x1b, 0x90, 0x4a, 0xb4, 0x84, 0x61, 0x38, 0x11, 0xab, 0xc8, 0x2d, 0x69, 0x6f, 0x46, 0xaa, 0xc8, 0x84, 0x00, 0x6e, 0xb4, 0x49, 0x97, 0x84, 0xeb, 0xca, 0x46, 0x08, 0x66, 0x46, 0x4c, 0x26, 0x8f, 0xb0, 0x55, 0xe7, 0xce, 0xee, 0xe7, 0x9f, 0x07, 0x1d, 0x7c, 0xbc, 0x4b, 0x48, 0x84, 0xb8, 0x53, 0x16, 0x19, 0xb9, 0x6b, 0x30, 0xee, 0xf1, 0xfb, 0x48, 0x61, 0xea, 0xe6, 0xca, 0xa9, 0x47, 0x2c, 0x7c, 0xd5, 0x77, 0xf2, 0x92, 0xff, 0x65, 0x8e, 0x6a, 0x85, 0x70, 0x31, 0x52, 0xaf, 0x90, 0x6b, 0xcc, 0xd3, 0x16, 0x95, 0x2e, 0x91, 0x24, 0x6d, 0x4e, 0xe8, 0x17, 0x80, 0x58, 0xa9, 0x2a, 0xe0, 0xe2, 0x0f, 0xd0, 0x1a, 0xa8, 0xd2, 0x89, 0x73, 0xff, 0x78, 0x3b, 0xd6, 0x5a, 0x40, 0x01, 0xd6, 0x22, 0xcd, 0x81, 0x19, 0x26, 0x06, 0x65, 0x87, 0xbd, 0x1c, 0x0d, 0x1c, 0x34, 0xf6, 0x3f, 0x66, 0x58, 0x19, 0x8c, 0xfd, 0x8e, 0xe0, 0x03, 0x8d, 0xe1, 0x08, 0x27, 0x63, 0x9a, 0x54, 0x7e, 0x35, 0xab, 0x53, 0xe3, 0xb1, 0x62, 0xf0, 0x90, 0x4d, 0x24, 0xc5, 0xb8, 0xd1, 0x61, 0x5f, 0xe2, 0xc9, 0xe3, 0x74, 0xa2, 0x97, 0xd4, 0xf4, 0x08, 0xfa, 0x8a, 0x4e, 0xe3, 0x50, 0xb6, 0x5e, 0x8a, 0xd3, 0xbf, 0x0a, 0x22, 0x5d, 0x4a, 0xa1, 0x09, 0xc1, 0x2e, 0x56, 0x15, 0xa8, 0xd5, 0x96, 0x77, 0x53, 0x2d, 0x11, 0x77, 0xa4, 0xe1, 0x0a, 0x4e, 0xde, 0x60, 0xce, 0xde, 0x9f, 0x85, 0xa0, 0x96, 0x0e, 0xcd, 0xa0, 0xd2, 0xf0, 0x0a, 0xcb, 0xb9, 0x70, 0x2a, 0xa1, 0x9d, 0xd0, 0x6e, 0x15, 0xc8, 0x1f, 0xe0, 0x69, 0xcf, 0xea, 0xc1, 0x77, 0x9d, 0x7d, 0xf2, 0xcf, 0xde, 0xcd, 0xaf, 0x10, 0x5c, 0x25, 0xde, 0x62, 0x5b, 0x06, 0xe4, 0xc6, 0xe8, 0x63, 0xe3, 0xf3, 0xe6, 0x6b, 0xd1, 0x8c, 0xcb, 0xe1, 0x52, 0x2d, 0x9e, 0x07, 0x51, 0xd6, 0x34, 0x4f, 0x78, 0x96, 0x04, 0xae, 0xa4, 0xbb, 0x8a, 0xbe, 0xab, 0xaa, 0x58, 0x8e, 0x50, 0xb1, 0x24, 0xa3, 0x9c, 0x3e, 0x15, 0xea, 0xc9, 0xa8, 0x41, 0x36, 0xb3, 0x62, 0xea, 0x9c, 0x4a, 0xe7, 0x45, 0xbb, 0x2c, 0xb0, 0xb0, 0x6c, 0xe1, 0x09, 0x6a, 0x30, 0xd7, 0x29, 0xf4, 0x82, 0xdd, 0xbc, 0x13, 0x72, 0xb7, 0x94, 0xe9, 0xcf, 0xac, 0x94, 0x49, 0x81, 0x87, 0x82, 0x64, 0x92, 0x83, 0x23, 0xc1, 0xb6, 0x2d, 0xd1, 0x1b, 0xec, 0x35, 0xcd, 0xa2, 0x1c, 0xe9, 0xcd, 0xe3, 0xd3, 0x6e, 0x79, 0x13, 0x4b, 0x24, 0x54, 0xe3, 0x8a, 0x64, 0xba, 0x44, 0x29, 0x47, 0xfb, 0xb4, 0xae, 0xa0, 0xd8, 0xfa, 0xc4, 0x22, 0x5d, 0x50, 0x3f, 0x2b, 0xb0, 0xe7, 0xbc, 0x8a, 0x29, 0x78, 0x8b, 0xbb, 0x48, 0x2f, 0x33, 0xd8, 0xae, 0x6a, 0x89, 0x99, 0x28, 0x82, 0x0a, 0x06, 0xfc, 0xeb, 0x6f, 0x14, 0x00, 0xca, 0x65, 0xe9, 0xdc, 0x81, 0x69, 0x6c, 0x4c, 0xef, 0x64, 0xe2, 0xd9, 0x2e, 0x09, 0xe5, 0x3f, 0x12, 0x9c, 0x25, 0x26, 0x14, 0x56, 0xca, 0x00, 0xb8, 0xdd, 0x28, 0x3a, 0x62, 0xbe, 0xc0, 0x48, 0xc0, 0x28, 0xb1, 0x60, 0xde, 0xb4, 0x29, 0x84, 0xad, 0xe1, 0xdd, 0x6a, 0xc2, 0xc5, 0x55, 0xdd, 0xc9, 0x45, 0x4b, 0x96, 0x96, 0x57, 0x5d, 0xc6, 0xff, 0xe6, 0x22, 0x57, 0x81, 0x7e, 0x8b, 0x4b, 0x2e, 0xa2, 0x2b, 0xfd, 0x36, 0xdc, 0x24, 0x04, 0x58, 0xab, 0xfe, 0x9b, 0x31, 0x78, 0x91, 0xf3, 0x05, 0x40, 0xf4, 0x08, 0x3d, 0xfc, 0x40, 0xdc, 0xa7, 0xd8, 0xd4, 0x54, 0x18, 0x9a, 0x89, 0x4e, 0x4b, 0x91, 0x2c, 0xab, 0x88, 0x6b, 0xc0, 0x3a, 0x71, 0xef, 0xd7, 0xe4, 0xe2, 0x86, 0x90, 0xdb, 0xac, 0x9d, 0x4f, 0xac, 0x9a, 0xaf, 0x89, 0xc1, 0x3b, 0x36, 0x3c, 0x04, 0x55, 0xaa, 0x22, 0x06, 0x8e, 0xf9, 0xb7, 0xc5, 0xb4, 0x05, 0x5a, 0x97, 0x3b, 0xa7, 0x81, 0xad, 0xe0, 0xb7, 0x6a, 0x24, 0x3a, 0xec, 0xbd, 0x8d, 0x64, 0x3e, 0xaf, 0xbf, 0xaa, 0x0d, 0xa7, 0xed, 0x8b, 0xdc, 0xee, 0x1c, 0x82, 0xf4, 0x34, 0x9a, 0xa6, 0x4f, 0x6c, 0x02, 0xb7, 0xb6, 0x31, 0x45, 0x25, 0xe5, 0x4d, 0x9e, 0xc8, 0xd9, 0x65, 0x64, 0x02, 0x9b, 0x4e, 0x7c, 0xb0, 0xae, 0x32, 0xd8, 0x57, 0x49, 0x35, 0xde, 0xf6, 0x69, 0x93, 0x5c, 0xff, 0x8f, 0xfc, 0x26, 0xc3, 0x7f, 0xe0, 0x17, 0xf0, 0x03, 0xaf, 0xb7, 0xb7, 0x83, 0x33, 0x6f, 0x9d, 0x2f, 0x4f, 0x58, 0x67, 0x8c, 0xc2, 0x48, 0x0a, 0x05, 0x1c, 0xde, 0x56, 0x33, 0xfd, 0xfb, 0x54, 0x3b, 0xed, 0xbb, 0xd9, 0xe8, 0x0e, 0x11, 0x2a, 0xa5, 0xf3, 0x2a, 0x27, 0x61, 0x07, 0x59, 0x62, 0x6a, 0xe4, 0xc3, 0xcc, 0x87, 0x38, 0x02, 0x5d, 0x0d, 0x8f, 0xa4, 0x7d, 0xf1, 0x1d, 0xcc, 0x08, 0x78, 0x7c, 0x7d, 0x78, 0xb3, 0x9c, 0x26, 0xc4, 0x37, 0xab, 0x87, 0xaa, 0xf3, 0xac, 0x95, 0xa3, 0x97, 0x82, 0xdd, 0x14, 0x5c, 0x68, 0x53, 0x39, 0x29, 0xa7, 0x54, 0xb9, 0x56, 0x53, 0x21, 0x38, 0x21, 0x1f, 0x2d, 0x25, 0x4d, 0x78, 0x68, 0x56, 0x97, 0xb2, 0x32, 0xda, 0xe5, 0x4d, 0x13, 0xf4, 0x23, 0x8b, 0xb7, 0xb2, 0x62, 0x05, 0xf7, 0xc9, 0xf0, 0xf5, 0x57, 0xe8, 0xdb, 0x7a, 0xa0, 0x2e, 0x32, 0xac, 0xd5, 0xe2, 0xd6, 0x6d, 0x52, 0x53, 0x99, 0xc8, 0x59, 0x44, 0x73, 0x90, 0xbc, 0x68, 0x1f, 0xd6, 0xa9, 0x76, 0x75, 0x86, 0x9c, 0xe4, 0xf9, 0xca, 0x11, 0xd5, 0x77, 0x43, 0x7b, 0xe2, 0xa4, 0xb4, 0x73, 0xa2, 0xb7, 0xad, 0xe4, 0x67, 0x82, 0x20, 0x39, 0x53, 0x13, 0x97, 0x21, 0x64, 0x15, 0x8a, 0xbb, 0xb2, 0x8d, 0xae, 0x12, 0xe7, 0x75, 0x97, 0x8a, 0x3d, 0xc3, 0x7d, 0xc3, 0xec, 0x1a, 0xf8, 0x3a, 0x12, 0x10, 0x1e, 0xfe, 0xf5, 0x0b, 0xf3, 0x3a, 0xfe, 0x07, 0x6e, 0x33, 0xf5, 0x65, 0x58, 0xb1, 0x1a, 0x4c, 0x08, 0xd1, 0x77, 0x36, 0x29, 0x09, 0xc1, 0xc4, 0x5b, 0xd7, 0xba, 0xac, 0x68, 0x7f, 0xb1, 0x56, 0x8b, 0x56, 0x51, 0x34, 0x89, 0x78, 0xdc, 0x38, 0xf7, 0xd4, 0x5a, 0xcc, 0xc9, 0x97, 0x70, 0x13, 0xce, 0xbe, 0x65, 0xe2, 0x38, 0x73, 0x9d, 0xfa, 0x8f, 0x1d, 0x33, 0xf9, 0x1f, 0x3b, 0x76, 0xfa, 0x3f, 0x76, 0xec, 0x02, 0x7e, 0xec, 0x20, 0x18, 0x31, 0x2e, 0xc2, 0x37, 0x88, 0x7f, 0xe9, 0xa1, 0xaf, 0xf1, 0x57, 0xed, 0x47, 0x9d, 0x6f, 0x3a, 0x9f, 0xec, 0xac, 0xad, 0xda, 0x34, 0x37, 0x43, 0x80, 0xaa, 0x23, 0x9b, 0x7b, 0x08, 0xec, 0xba, 0xb6, 0x4d, 0x76, 0x5b, 0xd0, 0x38, 0x7b, 0xf4, 0x4a, 0x6e, 0xed, 0x03, 0xb8, 0xe3, 0xb6, 0x45, 0xa1, 0xd3, 0x7a, 0xc7, 0x60, 0x19, 0x9b, 0xa8, 0x21, 0x81, 0x58, 0x8e, 0x7d, 0x79, 0x64, 0x5e, 0xf7, 0xe4, 0xcf, 0x7f, 0xc2, 0x17, 0x48, 0xff, 0xa7, 0x31, 0xe4, 0x56, 0x13, 0x8c, 0x99, 0x64, 0x67, 0x53, 0xd9, 0x4c, 0xc6, 0xb9, 0x2b, 0x2c, 0xfe, 0x26, 0x5c, 0x6f, 0xca, 0x24, 0xe1, 0xc5, 0x36, 0xe7, 0x29, 0x35, 0xac, 0x84, 0x55, 0xcd, 0xd8, 0x42, 0xdd, 0x44, 0xa9, 0x40, 0x15, 0x10, 0xd4, 0x47, 0xb2, 0x24, 0x13, 0x5d, 0x8c, 0x57, 0x37, 0xae, 0xb9, 0x82, 0xa4, 0x51, 0x11, 0x9f, 0xe5, 0x45, 0xf9, 0xba, 0x53, 0x60, 0xff, 0xef, 0x68, 0x5a, 0x80, 0x06, 0xfb, 0x05, 0x92, 0xd6, 0x12, 0x0e, 0xcb, 0xde, 0xd3, 0x87, 0xde, 0xfc, 0x11, 0xe6, 0xbd, 0xf6, 0x8b, 0x28, 0xc3, 0x61, 0x69, 0x63, 0xca, 0xd5, 0xa2, 0x14, 0x87, 0x66, 0xb6, 0x1a, 0x5f, 0x5d, 0xe7, 0x52, 0xca, 0xef, 0x5f, 0x87, 0xc0, 0x4e, 0xbd, 0x85, 0x38, 0x9c, 0x97, 0x4c, 0xb5, 0xd7, 0x17, 0xdf, 0x7e, 0xa1, 0x03, 0xfc, 0xd8, 0xf9, 0xa1, 0xc7, 0x3f, 0x25, 0xd4, 0x88, 0x83, 0xe8, 0xe2, 0x5b, 0xa4, 0xee, 0x5f, 0xc6, 0xc0, 0x56, 0x7d, 0xe0, 0x2b, 0xfe, 0x0b, 0x51, 0xf6, 0xaa, 0x61, 0xaf, 0x6d, 0xb6, 0xdc, 0x6b, 0x6c, 0x63, 0x4f, 0xd5, 0xa6, 0x64, 0x85, 0x2f, 0x16, 0x58, 0x3f, 0xaa, 0x28, 0x09, 0x15, 0xa3, 0x24, 0x50, 0xd4, 0x28, 0x1e, 0xe6, 0x5c, 0x28, 0x53, 0xf9, 0x1d, 0x12, 0x08, 0xa1, 0x9d, 0xce, 0x56, 0x7c, 0x57, 0x0b, 0x72, 0x5c, 0x90, 0x3a, 0x5c, 0x4f, 0x36, 0xab, 0x57, 0xb4, 0x77, 0xa3, 0x93, 0x40, 0x2b, 0x1c, 0x0b, 0x71, 0xc7, 0x7f, 0x23, 0xbd, 0x8c, 0x90, 0xfc, 0xd0, 0xc4, 0xc2, 0xb6, 0x9a, 0x71, 0x91, 0x68, 0x9f, 0x34, 0xe9, 0xec, 0x4a, 0x01, 0x26, 0x20, 0x98, 0x40, 0x28, 0x40, 0xa2, 0x93, 0x52, 0x8e, 0x34, 0xc9, 0x67, 0x63, 0x89, 0x4a, 0x00, 0xd5, 0xf3, 0x01, 0x9b, 0x66, 0xaa, 0xa0, 0x71, 0xe0, 0x56, 0x48, 0xa4, 0x42, 0x3e, 0x1b, 0x50, 0x39, 0x24, 0x9a, 0xc8, 0xde, 0x38, 0x37, 0xfb, 0x84, 0x09, 0xff, 0x0b, 0x34, 0xfa, 0x87, 0x09, 0x39, 0x9f, 0x4c, 0x6d, 0x7e, 0x4f, 0x9c, 0xc3, 0x01, 0x0f, 0x4e, 0x64, 0xee, 0x8d, 0x5e, 0x1c, 0x4e, 0x86, 0xd3, 0x82, 0x7d, 0xcc, 0x16, 0x7e, 0x87, 0x2a, 0xa1, 0x94, 0x33, 0x69, 0x7f, 0x33, 0x14, 0x2f, 0xe1, 0xc5, 0x9a, 0xdc, 0x19, 0xdc, 0x21, 0xff, 0xb6, 0x45, 0x7f, 0x14, 0x5f, 0xb2, 0x93, 0x62, 0x43, 0xab, 0x97, 0xc3, 0xea, 0x7b, 0x2f, 0xfc, 0x20, 0xa9, 0xa1, 0xbd, 0xed, 0x03, 0xa7, 0x57, 0x1d, 0xff, 0x2c, 0x3c, 0xbc, 0x0b, 0x05, 0xa6, 0x01, 0xe2, 0x52, 0xb6, 0x7f, 0xc5, 0xf8, 0x3b, 0x66, 0xfc, 0xcf, 0x02, 0xe8, 0x5b, 0x8c, 0x8f, 0x15, 0xfe, 0xec, 0xb5, 0x4d, 0x05, 0x57, 0x2f, 0xaa, 0xf1, 0x64, 0xd4, 0x7c, 0x08, 0x0a, 0xfc, 0xcf, 0xc8, 0x5c, 0x1c, 0x6e, 0xf0, 0x5b, 0xfd, 0x30, 0x68, 0x31, 0x99, 0x81, 0xb4, 0x0e, 0xd8, 0xc6, 0xa6, 0x89, 0xc8, 0xa2, 0x5e, 0x08, 0x2b, 0x9f, 0x23, 0x10, 0xf7, 0xf8, 0xc0, 0x76, 0x3e, 0x66, 0x28, 0xa1, 0xd4, 0xad, 0xb2, 0xb2, 0x68, 0x0a, 0x5e, 0x71, 0x7b, 0x0d, 0xe6, 0xde, 0xfb, 0x14, 0xb0, 0x62, 0x06, 0xe0, 0x73, 0xda, 0xf2, 0xae, 0xad, 0xaf, 0x89, 0x53, 0x05, 0x3f, 0x84, 0x0d, 0x83, 0x29, 0x1d, 0x96, 0x20, 0x39, 0x62, 0x42, 0x4e, 0x12, 0x5f, 0x4e, 0x2f, 0xa0, 0x75, 0x1c, 0x48, 0x96, 0x83, 0xdc, 0x09, 0x86, 0x8b, 0xa3, 0x0c, 0x14, 0xb5, 0x9b, 0x19, 0xda, 0xb1, 0x06, 0x11, 0xe7, 0x1b, 0xc9, 0xce, 0x16, 0xcb, 0x60, 0x6c, 0x9b, 0xda, 0x9c, 0xf5, 0x38, 0x5a, 0x7b, 0xbd, 0xb1, 0x66, 0x96, 0xd6, 0x6e, 0x16, 0x79, 0x7d, 0x7f, 0x35, 0x08, 0x69, 0xba, 0x81, 0x93, 0x67, 0x69, 0x8e, 0xb9, 0x0f, 0x49, 0x8f, 0x0e, 0x34, 0x88, 0xa3, 0x5a, 0x56, 0xe2, 0xed, 0xa4, 0xf2, 0x22, 0xba, 0x9d, 0x8c, 0xf8, 0xc5, 0x24, 0x1e, 0xcf, 0x2a, 0x2c, 0xd8, 0xa2, 0x92, 0x3a, 0xc6, 0x7c, 0x2d, 0x0f, 0x1c, 0x7d, 0x3c, 0x70, 0x3d, 0x31, 0x90, 0x43, 0xad, 0x74, 0xc4, 0x25, 0xe2, 0x78, 0x34, 0x56, 0xa9, 0xde, 0x6b, 0xaf, 0xd7, 0x59, 0x60, 0x59, 0x7f, 0x9a, 0xf3, 0xed, 0xb5, 0xe8, 0xc7, 0x30, 0xba, 0x41, 0xc4, 0xef, 0x3a, 0x16, 0x82, 0x90, 0xed, 0x53, 0x6f, 0x44, 0x87, 0xc3, 0x7c, 0xfc, 0xf8, 0x25, 0x85, 0x9d, 0xe4, 0x95, 0xc3, 0x4d, 0xfa, 0x51, 0x43, 0x65, 0x6e, 0x1b, 0x88, 0x46, 0x81, 0xa3, 0xa2, 0x3f, 0xbf, 0xc2, 0xc7, 0xd5, 0x62, 0x58, 0x8b, 0xfa, 0x7d, 0x60, 0x42, 0xe5, 0x9c, 0x9a, 0x32, 0xae, 0x10, 0x2c, 0x8c, 0x7a, 0x4a, 0x22, 0x96, 0x52, 0x9b, 0x18, 0xb8, 0x8a, 0x3c, 0x3b, 0x6a, 0x65, 0xb3, 0x13, 0x92, 0x7f, 0x55, 0xbc, 0xee, 0x47, 0x47, 0x26, 0x57, 0x32, 0x09, 0x74, 0x4a, 0xc0, 0x6b, 0xcc, 0xb2, 0xc3, 0x01, 0x06, 0xf9, 0x7c, 0x98, 0x8a, 0x9b, 0x7d, 0x9c, 0xd7, 0xd0, 0x97, 0x19, 0xd9, 0x07, 0x84, 0x7b, 0x18, 0x2f, 0x93, 0x72, 0x0f, 0x31, 0x46, 0xc4, 0xee, 0x74, 0x63, 0xbf, 0xc8, 0xd4, 0x7a, 0x27, 0x02, 0xcf, 0xa8, 0x6c, 0xb4, 0x1b, 0xbd, 0x34, 0x5f, 0x0a, 0xe4, 0x1f, 0xb2, 0xc5, 0x5f, 0x46, 0x9f, 0xf7, 0xf0, 0x29, 0xa7, 0x67, 0xb8, 0xd0, 0x7d, 0x3d, 0x83, 0xa3, 0x2b, 0x4a, 0x61, 0x8f, 0xd2, 0x53, 0x03, 0x65, 0x99, 0x24, 0x09, 0x86, 0x71, 0x99, 0xbc, 0xd8, 0x53, 0xf5, 0x92, 0x77, 0xa9, 0x54, 0xff, 0x6d, 0xcd, 0x09, 0xcb, 0x72, 0xc8, 0x59, 0x50, 0xf3, 0x22, 0x10, 0xbc, 0x04, 0x2a, 0x67, 0xd8, 0x02, 0x92, 0x2b, 0x31, 0x50, 0x9a, 0x82, 0x22, 0x39, 0xad, 0xa8, 0xae, 0xf4, 0xe5, 0x0b, 0x67, 0xd2, 0x4f, 0xb8, 0x2b, 0x1a, 0x9c, 0x54, 0x56, 0xd8, 0x5c, 0x91, 0xda, 0xeb, 0xf0, 0x5d, 0xef, 0x5e, 0xa2, 0xaf, 0x83, 0xe1, 0x27, 0x65, 0x8d, 0xc6, 0xc1, 0xf8, 0xd4, 0x35, 0x72, 0x2f, 0xc1, 0x17, 0x4a, 0x38, 0xcd, 0x4f, 0xaf, 0x24, 0x6a, 0xc7, 0x44, 0xd2, 0xf7, 0x79, 0x12, 0x4c, 0xd8, 0x4f, 0xd3, 0x35, 0x06, 0x11, 0x26, 0xcb, 0x82, 0xa4, 0x8f, 0x3c, 0xc6, 0x4a, 0x82, 0x56, 0xab, 0x8a, 0x9e, 0xfe, 0xfe, 0xe8, 0xfc, 0xc3, 0xd1, 0xd9, 0xf3, 0x7b, 0xc3, 0xd5, 0xda, 0x8d, 0x3e, 0x51, 0x09, 0xe1, 0x42, 0xda, 0x34, 0x00, 0xdf, 0xc2, 0x80, 0x36, 0x5e, 0xd4, 0x01, 0x01, 0x6e, 0x9a, 0x39, 0xdb, 0x58, 0x3a, 0x8c, 0x74, 0x85, 0x49, 0x22, 0x61, 0x20, 0x38, 0xae, 0xf6, 0x90, 0x10, 0xb9, 0x93, 0xbf, 0x1f, 0x97, 0xd2, 0x99, 0xb7, 0xa3, 0xef, 0xe3, 0xeb, 0x1d, 0x29, 0x21, 0x32, 0x68, 0x21, 0x21, 0x2a, 0x37, 0x08, 0x27, 0x26, 0xf5, 0x6a, 0xc1, 0xb0, 0xdc, 0x63, 0x11, 0x68, 0x35, 0xef, 0x5b, 0x3e, 0x99, 0xd8, 0x34, 0xd8, 0x66, 0x84, 0xef, 0xf8, 0xb8, 0x1d, 0x78, 0xe1, 0x53, 0x62, 0x66, 0x37, 0xea, 0x92, 0x68, 0x1b, 0x2d, 0x77, 0xef, 0x55, 0x39, 0x63, 0x92, 0x1c, 0xca, 0xdc, 0xc2, 0xbb, 0x0a, 0x13, 0x74, 0xf1, 0x63, 0x54, 0xc5, 0xa5, 0xa6, 0xe3, 0x83, 0x93, 0x2b, 0xda, 0xac, 0xcb, 0xa3, 0xc1, 0xc0, 0xc8, 0xc2, 0x52, 0xd2, 0x12, 0xba, 0x9e, 0x31, 0x46, 0x6a, 0xa4, 0xdb, 0xfc, 0xaa, 0x1f, 0x99, 0x7e, 0xe1, 0x92, 0xd4, 0x4f, 0xb1, 0x1f, 0xb0, 0xf9, 0xae, 0x97, 0x73, 0xb8, 0x30, 0xa0, 0xf1, 0x8e, 0xd7, 0x4a, 0x09, 0xc5, 0x36, 0x09, 0x0f, 0x39, 0x97, 0x68, 0x52, 0x9c, 0x14, 0x89, 0xff, 0x79, 0x8b, 0xf5, 0x53, 0x12, 0x43, 0x42, 0x2e, 0xcf, 0xc1, 0x6b, 0x17, 0xe8, 0xbc, 0x1b, 0x76, 0xa6, 0x77, 0x06, 0xa7, 0xd7, 0x27, 0xb0, 0x7d, 0x1f, 0xae, 0xdf, 0x75, 0x24, 0x75, 0xa1, 0x89, 0x85, 0x44, 0x4e, 0x7b, 0x6c, 0xf4, 0x7d, 0x67, 0x30, 0x13, 0x0a, 0x76, 0xa4, 0x80, 0xb5, 0x10, 0xd2, 0xc0, 0xed, 0x47, 0xfb, 0x2b, 0x4e, 0x69, 0xbf, 0xbf, 0xdf, 0x3c, 0xa5, 0xf6, 0xa6, 0x05, 0x0c, 0x63, 0xef, 0x91, 0xbb, 0x60, 0xe3, 0x63, 0xf6, 0xd4, 0xa6, 0x6d, 0xa1, 0x45, 0x41, 0x36, 0xc2, 0x58, 0x8b, 0x19, 0x10, 0xc5, 0xc3, 0x50, 0x55, 0x40, 0x59, 0x27, 0x2e, 0x4e, 0x08, 0xfe, 0x06, 0x74, 0x4e, 0xbc, 0xbd, 0x1c, 0x0e, 0x85, 0x13, 0x8b, 0x8b, 0xb1, 0x01, 0x07, 0xf0, 0xf5, 0x43, 0xcd, 0xf5, 0xc3, 0x84, 0x73, 0x20, 0x01, 0x6d, 0xcc, 0x55, 0xc3, 0x6c, 0xf0, 0x3b, 0xec, 0xd8, 0x7c, 0xbe, 0x70, 0x4b, 0x05, 0xf2, 0xa2, 0x53, 0xaf, 0x2e, 0xd3, 0x1b, 0x60, 0x65, 0xf6, 0x63, 0xb8, 0x0b, 0x00, 0xee, 0xab, 0xe4, 0x8b, 0x1c, 0xf2, 0x9f, 0x61, 0x7a, 0x27, 0x91, 0x5b, 0xe4, 0x33, 0x76, 0x20, 0xca, 0x1b, 0x9c, 0xc4, 0xc9, 0x25, 0x8f, 0x52, 0x8d, 0x57, 0x50, 0xc2, 0xa1, 0x84, 0x68, 0x30, 0x09, 0x34, 0xf3, 0x9b, 0x2f, 0xae, 0x0f, 0x36, 0x8c, 0xa7, 0xf5, 0x9a, 0x22, 0x8a, 0x34, 0x5a, 0xa0, 0x96, 0xd5, 0xc1, 0xd7, 0x15, 0xf5, 0x32, 0x84, 0xf1, 0xe6, 0xdc, 0x5e, 0xdf, 0x62, 0x22, 0x46, 0x3d, 0xba, 0x1f, 0xb7, 0x20, 0x96, 0x92, 0x5b, 0x8b, 0x92, 0xc8, 0xc8, 0x06, 0xe4, 0xaa, 0x84, 0xe3, 0xef, 0xdf, 0x38, 0x2d, 0xd7, 0x34, 0x4f, 0x8d, 0xe9, 0x45, 0x14, 0xd2, 0x36, 0x4c, 0xd0, 0xc4, 0x26, 0x5b, 0xf6, 0x29, 0xa8, 0x3a, 0x4e, 0x92, 0x85, 0x69, 0x70, 0x91, 0x52, 0xa5, 0x65, 0x5a, 0x52, 0x10, 0x55, 0x9a, 0x8b, 0x50, 0x53, 0xd1, 0x96, 0xd9, 0x09, 0xeb, 0xd0, 0x4c, 0x7d, 0xb2, 0x77, 0xb0, 0x85, 0x24, 0x86, 0x71, 0xb7, 0x5f, 0xee, 0x7e, 0x0e, 0xb2, 0xf9, 0x91, 0xf2, 0xc0, 0xed, 0x96, 0x31, 0x22, 0x7c, 0x3b, 0xda, 0xab, 0x18, 0x35, 0x9a, 0xde, 0x2b, 0xa0, 0x3a, 0x51, 0x89, 0x66, 0x04, 0x39, 0xa8, 0x04, 0xe2, 0xc2, 0x47, 0x24, 0x83, 0x4d, 0x94, 0x0d, 0x93, 0xa4, 0x3b, 0xda, 0x27, 0x4e, 0x10, 0xeb, 0x3b, 0x04, 0x8c, 0x6d, 0xaa, 0xb0, 0x9f, 0x26, 0xb0, 0x94, 0xab, 0x93, 0xeb, 0x2b, 0xf8, 0x63, 0x70, 0x7d, 0x71, 0xd5, 0x82, 0xcf, 0x5b, 0x31, 0x58, 0x13, 0x6e, 0x9a, 0xa6, 0xab, 0xd0, 0x36, 0xd7, 0xb1, 0x3b, 0x29, 0x13, 0x9a, 0xd9, 0x4e, 0x19, 0x84, 0x7b, 0x74, 0x50, 0x1f, 0xcb, 0x7e, 0x6d, 0xa1, 0x13, 0x90, 0x0f, 0x2b, 0x17, 0xc6, 0x67, 0xbe, 0x9a, 0x42, 0x68, 0xc1, 0x48, 0x8c, 0xb8, 0x62, 0xc3, 0xe8, 0x69, 0xb6, 0x60, 0xb4, 0xa1, 0xf3, 0xdf, 0x36, 0x33, 0xd1, 0xd2, 0x90, 0x16, 0x4c, 0x5b, 0x4e, 0xcd, 0xe5, 0x16, 0x5d, 0x0a, 0xa2, 0x85, 0xea, 0x57, 0x47, 0x01, 0x61, 0x3a, 0xd1, 0x3a, 0x39, 0x90, 0x45, 0x2f, 0x79, 0x82, 0x7e, 0x41, 0x17, 0xda, 0xb0, 0x0b, 0x2e, 0xf3, 0x79, 0xc2, 0x1e, 0x7e, 0x4e, 0xce, 0x55, 0xe6, 0xc4, 0xb2, 0x85, 0xd1, 0xc9, 0xa3, 0x10, 0x2a, 0x92, 0x01, 0x92, 0xc4, 0x53, 0x5e, 0x33, 0xb8, 0x32, 0xb9, 0x50, 0x07, 0x9f, 0x4b, 0x02, 0x96, 0x6a, 0x45, 0x08, 0x9d, 0x6b, 0x3a, 0x2b, 0x07, 0x61, 0xb2, 0xce, 0xbc, 0xb7, 0x9b, 0x4c, 0x06, 0xa1, 0x79, 0xc2, 0x9c, 0x85, 0xba, 0xa9, 0x2a, 0xc4, 0x0a, 0x25, 0x5a, 0x69, 0x8e, 0x0d, 0xe9, 0x12, 0x6e, 0x17, 0xe9, 0x4b, 0x79, 0x2a, 0x18, 0x56, 0xa3, 0x1a, 0x76, 0xac, 0xac, 0x32, 0xb4, 0x2d, 0x47, 0xce, 0x21, 0x9a, 0x65, 0x93, 0xe9, 0xd6, 0xf4, 0x39, 0x9f, 0xcd, 0xaa, 0xd2, 0x16, 0xd9, 0xbe, 0x7c, 0x1e, 0x26, 0x51, 0x6b, 0xf3, 0xc7, 0xb6, 0x5e, 0x01, 0x4d, 0x0d, 0x86, 0xd2, 0xad, 0xac, 0x93, 0x21, 0xa7, 0x7e, 0x3d, 0x21, 0x1c, 0xb5, 0xe8, 0x43, 0x26, 0xf8, 0x61, 0x19, 0xd8, 0x16, 0x94, 0xff, 0x30, 0x36, 0x9b, 0x86, 0xb0, 0x7a, 0x98, 0xb6, 0xc5, 0x42, 0x6b, 0x9c, 0xb3, 0x42, 0x4f, 0xc8, 0xfe, 0x3e, 0x50, 0x24, 0xf9, 0x90, 0x29, 0x9b, 0x40, 0x25, 0x8d, 0x8c, 0x67, 0xed, 0x92, 0x51, 0xd5, 0x5c, 0x29, 0x61, 0xfd, 0x78, 0x0b, 0xbd, 0x74, 0x0f, 0x8d, 0x59, 0x1a, 0x59, 0x3f, 0x96, 0x17, 0x54, 0x0c, 0xb9, 0xc3, 0xb8, 0x3a, 0xea, 0x15, 0x10, 0x70, 0xa3, 0x2c, 0x58, 0xa0, 0xcb, 0xc0, 0x46, 0xcb, 0x6c, 0x86, 0x39, 0xe2, 0x75, 0xc0, 0x20, 0x55, 0x03, 0xfb, 0x2b, 0xb0, 0x0c, 0x5c, 0x7c, 0xa1, 0x1a, 0x49, 0xd6, 0x51, 0x5b, 0xea, 0xab, 0x6b, 0xc5, 0x7f, 0x20, 0x02, 0xbd, 0xc2, 0x23, 0x53, 0x5c, 0x62, 0xa5, 0xad, 0x34, 0x4b, 0x11, 0x4f, 0x2e, 0x2f, 0x36, 0xb1, 0x56, 0x11, 0x91, 0x5b, 0xc1, 0xaa, 0xcc, 0x67, 0xd4, 0xe0, 0x4d, 0x55, 0x37, 0xaf, 0xa1, 0x9e, 0xaa, 0x72, 0x8c, 0xc4, 0x06, 0x83, 0xf7, 0x03, 0x55, 0x82, 0x02, 0xce, 0x9f, 0xb8, 0xe0, 0x41, 0xfd, 0x50, 0x53, 0x50, 0xce, 0x08, 0xa1, 0x8c, 0xc7, 0xba, 0x3a, 0xa6, 0x0d, 0xaa, 0xb5, 0xc5, 0x14, 0x9d, 0x2b, 0xa9, 0x7c, 0x94, 0x7f, 0xdf, 0x52, 0xd1, 0xad, 0xed, 0xbd, 0x08, 0x22, 0x10, 0x76, 0xa5, 0xcb, 0xd9, 0x21, 0xf5, 0x9b, 0x49, 0x96, 0x43, 0xfd, 0x6b, 0x65, 0x52, 0x2d, 0x17, 0xbe, 0x9c, 0xb7, 0x18, 0x04, 0x66, 0x44, 0x0d, 0x8a, 0x3a, 0x53, 0x44, 0x6c, 0x1d, 0xbb, 0xfd, 0x6e, 0x8f, 0x96, 0xe6, 0x6d, 0x24, 0x4d, 0xc0, 0x93, 0xee, 0x6d, 0x78, 0x30, 0x2a, 0x5e, 0xb0, 0x4d, 0x7c, 0xd4, 0x01, 0xfd, 0x62, 0xab, 0xc3, 0x70, 0x3b, 0x52, 0xbc, 0x2b, 0x65, 0x4f, 0xfa, 0x36, 0xec, 0x8b, 0x33, 0x5f, 0xff, 0xce, 0x68, 0x3d, 0x8a, 0x14, 0xae, 0xe3, 0xe9, 0xac, 0x7f, 0xc8, 0xd2, 0x07, 0xba, 0xbf, 0x1b, 0x9f, 0xb5, 0x2e, 0x7d, 0xc5, 0xac, 0x3a, 0xdb, 0xaf, 0x76, 0xfa, 0xdb, 0x2f, 0x3e, 0xef, 0x6f, 0x53, 0x3f, 0x73, 0x67, 0x6e, 0xb6, 0xef, 0xb6, 0x33, 0x50, 0xa0, 0xab, 0x7b, 0xd4, 0x8e, 0xeb, 0xce, 0x5f, 0x98, 0x3f, 0xf6, 0xf1, 0xb9, 0x3e, 0xf7, 0x56, 0xf3, 0xbe, 0x31, 0x07, 0x9d, 0x26, 0xcd, 0xbc, 0x38, 0x48, 0xcf, 0x66, 0x15, 0x31, 0x2d, 0x2e, 0x52, 0x24, 0x23, 0xc5, 0x5a, 0x76, 0xf6, 0x49, 0xdb, 0xc2, 0x9a, 0x36, 0x57, 0x74, 0x3b, 0xc3, 0x33, 0x52, 0x96, 0x3e, 0x12, 0x35, 0xd2, 0x72, 0x75, 0xf3, 0x7d, 0x8f, 0x6d, 0xfe, 0x62, 0xab, 0x0f, 0x81, 0xbc, 0xcc, 0xa5, 0x6b, 0x82, 0x35, 0x12, 0xd0, 0x5f, 0x13, 0x2b, 0x4e, 0xa0, 0xbf, 0xf8, 0x41, 0xd5, 0xb8, 0x4d, 0x40, 0xdc, 0x15, 0x32, 0x04, 0x81, 0x67, 0x2b, 0x71, 0x5c, 0x3c, 0x09, 0x1a, 0xd9, 0xa0, 0x05, 0x34, 0x40, 0xfd, 0x0c, 0xd8, 0x1e, 0x33, 0x69, 0x1d, 0x0e, 0xdf, 0xf9, 0xf3, 0x9f, 0x2d, 0x47, 0x1a, 0x50, 0x16, 0x0c, 0x75, 0x74, 0xda, 0x27, 0xc0, 0x6e, 0x8e, 0x55, 0x73, 0x6f, 0x98, 0xce, 0xc1, 0x5f, 0xc9, 0x39, 0xfc, 0x53, 0xef, 0xaf, 0xf0, 0xcf, 0x9f, 0x3a, 0x7a, 0xa9, 0x19, 0x9c, 0xd1, 0x16, 0x8c, 0x58, 0x10, 0x5c, 0x3a, 0xa0, 0x6e, 0x54, 0x6f, 0x4e, 0x4e, 0x9a, 0xc1, 0xf5, 0xf1, 0x25, 0x5f, 0xc6, 0x82, 0xc3, 0xde, 0x44, 0xcd, 0xc8, 0x87, 0x48, 0xad, 0x47, 0x16, 0x4e, 0x7d, 0x95, 0x98, 0x4e, 0xcc, 0x5e, 0x3a, 0xaf, 0x74, 0x6d, 0x52, 0xc3, 0x3d, 0x73, 0x80, 0x18, 0xf4, 0xdb, 0x29, 0xfa, 0x57, 0x18, 0x98, 0x04, 0xf8, 0xae, 0x2a, 0xd2, 0xd2, 0x37, 0x1e, 0xe1, 0x1d, 0x81, 0x0d, 0x98, 0xeb, 0x70, 0x0f, 0x53, 0xea, 0x46, 0x02, 0x82, 0xce, 0xb5, 0x11, 0x95, 0x20, 0xea, 0xc2, 0x36, 0xc0, 0x46, 0x29, 0xb7, 0x2d, 0xd2, 0xf2, 0x16, 0xd7, 0x27, 0x65, 0x3e, 0x4e, 0xae, 0x10, 0xce, 0xe7, 0x33, 0xa3, 0xf5, 0x3d, 0x2a, 0x70, 0x99, 0x29, 0xdf, 0x76, 0x76, 0xd6, 0x4a, 0x07, 0x3d, 0x76, 0x85, 0x23, 0x0e, 0x82, 0x2f, 0xca, 0x63, 0x45, 0xf2, 0x0c, 0x4c, 0x50, 0x49, 0x85, 0xb9, 0x04, 0x3d, 0xd7, 0x90, 0x86, 0x03, 0xd0, 0x87, 0xc0, 0x26, 0x48, 0x2c, 0x28, 0xfd, 0x36, 0x9a, 0x52, 0x0b, 0xfb, 0x94, 0xa1, 0xa3, 0x98, 0x41, 0x02, 0x0d, 0xca, 0x25, 0x75, 0x4e, 0xc4, 0xf2, 0x89, 0x02, 0xa6, 0x31, 0xee, 0x2a, 0x42, 0x0b, 0xdf, 0x0c, 0x0c, 0xf2, 0xaa, 0x4e, 0xf7, 0x59, 0xd0, 0x56, 0xa0, 0x8b, 0x66, 0x95, 0xd1, 0x19, 0xfb, 0xd4, 0x71, 0xf3, 0x69, 0xd7, 0xf1, 0x4f, 0xe0, 0xd6, 0xda, 0x57, 0xf3, 0x3e, 0x43, 0xcf, 0x12, 0xb5, 0x2d, 0x6d, 0x8a, 0x76, 0x9c, 0xfe, 0x3c, 0x04, 0xd4, 0xee, 0x08, 0xd5, 0x9d, 0x2d, 0xdf, 0x95, 0x52, 0xde, 0xa6, 0xbc, 0xc9, 0xbd, 0x74, 0xf1, 0xf4, 0x06, 0x2a, 0xd8, 0x23, 0x1e, 0x69, 0x8d, 0xb3, 0x18, 0x09, 0x53, 0x2e, 0xa7, 0x53, 0x42, 0x46, 0xf2, 0x33, 0xf3, 0xa8, 0x62, 0x51, 0x0a, 0x07, 0xa4, 0xab, 0x0d, 0x30, 0x72, 0x9a, 0xb9, 0xee, 0x86, 0x2d, 0x8b, 0x14, 0x86, 0x53, 0xda, 0xfe, 0x54, 0xad, 0x00, 0x0a, 0xd8, 0xd1, 0x54, 0xae, 0xb7, 0xd5, 0x64, 0x8a, 0xa4, 0xa7, 0x13, 0x6d, 0xf2, 0x41, 0x4c, 0x0d, 0xf2, 0x32, 0x60, 0x99, 0x23, 0x92, 0xaf, 0xa1, 0x9d, 0xf7, 0xad, 0x74, 0x37, 0xa2, 0x87, 0x0d, 0xbb, 0xa4, 0x31, 0x28, 0x5b, 0x3a, 0x11, 0x28, 0x57, 0xc6, 0xe2, 0x2c, 0x0c, 0xb6, 0x21, 0xeb, 0x95, 0xc2, 0x8f, 0x9a, 0x52, 0x73, 0x42, 0xdb, 0xb1, 0xca, 0x2f, 0x60, 0x59, 0xa1, 0xab, 0x2d, 0xed, 0xf5, 0x77, 0xbc, 0x83, 0x2d, 0x67, 0xbd, 0xd1, 0x68, 0xd4, 0x23, 0x3d, 0xe0, 0x90, 0x95, 0x93, 0x4d, 0x51, 0x0e, 0x5a, 0x7c, 0x06, 0x83, 0x44, 0xf6, 0xfb, 0xf8, 0xf8, 0x58, 0xf4, 0x98, 0xeb, 0x9b, 0x86, 0x46, 0x61, 0x60, 0x07, 0x45, 0xa3, 0x0a, 0x35, 0xbb, 0x2d, 0x6f, 0x96, 0x15, 0x12, 0x2b, 0x2b, 0xf2, 0xca, 0x7a, 0x4d, 0x8d, 0x6c, 0x03, 0x1b, 0x3a, 0x87, 0x03, 0xe9, 0xda, 0xcc, 0x44, 0x18, 0xdb, 0x3b, 0x9a, 0x05, 0xb7, 0xc1, 0xa2, 0x17, 0x65, 0xec, 0x66, 0xa3, 0x6d, 0x9e, 0xaa, 0x0b, 0xe0, 0xa8, 0x13, 0x2c, 0x43, 0x99, 0x6c, 0x3a, 0x0a, 0x7d, 0x36, 0x4e, 0x25, 0x03, 0x2c, 0x96, 0x6f, 0x35, 0xc7, 0x7e, 0xe2, 0x3c, 0x64, 0xab, 0xeb, 0x47, 0xf2, 0xa2, 0xf5, 0x48, 0x82, 0x9b, 0x8f, 0x56, 0x15, 0x6e, 0xfb, 0xfa, 0x31, 0xe1, 0x4a, 0x1f, 0xcb, 0x85, 0x38, 0xbe, 0xc1, 0xfc, 0xad, 0x19, 0x1e, 0x0e, 0x4c, 0xb9, 0x64, 0x26, 0x20, 0xf2, 0x63, 0x30, 0x38, 0xdb, 0xbc, 0x3e, 0x1b, 0x78, 0x19, 0xef, 0x8f, 0xe8, 0x32, 0x26, 0xd7, 0x70, 0xdd, 0xe5, 0xc9, 0x5b, 0x44, 0x2d, 0x02, 0xf2, 0x49, 0x9d, 0xc2, 0xf9, 0x2b, 0x41, 0xd4, 0xab, 0x65, 0xa6, 0xc5, 0x30, 0x46, 0x76, 0x67, 0x49, 0x46, 0x50, 0x22, 0x28, 0xc2, 0xe9, 0x06, 0x50, 0x42, 0x6c, 0x19, 0x9d, 0x1f, 0x5d, 0x63, 0x79, 0x4b, 0x25, 0x29, 0x1e, 0xe8, 0x02, 0xf2, 0x3d, 0xe3, 0xf7, 0x06, 0x9d, 0x86, 0xa2, 0x36, 0xf1, 0xc8, 0xb6, 0xc4, 0x52, 0x65, 0x9d, 0x8f, 0xaf, 0x54, 0xc2, 0x5b, 0xb5, 0xfd, 0xb0, 0xa5, 0x22, 0x1d, 0x9a, 0x34, 0xdf, 0x3c, 0x8d, 0xed, 0xe0, 0x69, 0xf0, 0x06, 0x84, 0xaf, 0xc3, 0x95, 0xb0, 0x72, 0xdd, 0x68, 0xc1, 0x72, 0xd1, 0xe9, 0xcf, 0xf2, 0x69, 0x8a, 0x9e, 0x40, 0x3a, 0x2f, 0x37, 0xf0, 0xe6, 0xb9, 0x49, 0x79, 0x77, 0x4a, 0x2e, 0xc5, 0xa9, 0xc3, 0x98, 0xf3, 0x15, 0x41, 0x39, 0x61, 0xf6, 0xd4, 0x74, 0xe3, 0xd3, 0x12, 0x48, 0xbf, 0xc2, 0x90, 0x10, 0x54, 0xd3, 0x11, 0x98, 0x08, 0x23, 0xcc, 0xfe, 0xa0, 0x72, 0xc0, 0xb2, 0x9e, 0x62, 0x9b, 0xd6, 0xc0, 0x59, 0xd5, 0x43, 0x5a, 0xfa, 0xb1, 0x0a, 0xd2, 0x14, 0x64, 0x85, 0x2b, 0xfd, 0xf0, 0x2f, 0x6a, 0xc2, 0xe3, 0x1b, 0xb4, 0xc8, 0xa6, 0x9e, 0xd0, 0x35, 0x58, 0x44, 0x01, 0xfc, 0x57, 0x52, 0x51, 0x09, 0xe4, 0x45, 0x3a, 0xdc, 0xbb, 0x8d, 0x3d, 0x56, 0xf5, 0x70, 0xe8, 0x36, 0x9b, 0x5a, 0x32, 0x36, 0x6d, 0xbd, 0x65, 0x41, 0x0d, 0x20, 0x4e, 0x13, 0x7d, 0x1b, 0xc3, 0x7d, 0x73, 0x62, 0x9b, 0xe8, 0x34, 0x50, 0xe4, 0x6a, 0x0d, 0x76, 0x38, 0x0e, 0x89, 0x31, 0xa8, 0x7b, 0xec, 0xc5, 0x7d, 0xdf, 0x62, 0xe4, 0xb0, 0x12, 0x7b, 0x6d, 0x7b, 0x72, 0xf0, 0xfd, 0x60, 0x2d, 0x30, 0x31, 0x59, 0xaa, 0x08, 0x40, 0xa6, 0x01, 0xfa, 0x7f, 0x5f, 0xb3, 0x3d, 0xe2, 0xfa, 0x01, 0x3f, 0x84, 0x4a, 0x07, 0x1f, 0x46, 0xde, 0x86, 0x9e, 0xba, 0x76, 0xc2, 0xf6, 0xbb, 0x7e, 0x93, 0x27, 0x5e, 0xde, 0xea, 0xf9, 0xbc, 0x3b, 0x39, 0x7a, 0xd3, 0x8a, 0x62, 0xf2, 0x29, 0xf0, 0xe5, 0xad, 0x57, 0x73, 0x98, 0x70, 0x2f, 0xa0, 0xa5, 0x3a, 0x4a, 0xe8, 0x74, 0x94, 0x50, 0x19, 0xab, 0x26, 0x21, 0xf0, 0x16, 0xbc, 0x21, 0xad, 0x2d, 0x71, 0x5a, 0x3d, 0x23, 0x6e, 0xf6, 0x81, 0x78, 0xac, 0x51, 0x53, 0xe6, 0xda, 0x2a, 0x87, 0x90, 0xa7, 0x44, 0xc8, 0xb3, 0x7c, 0x98, 0x4f, 0x26, 0x2b, 0xa4, 0x3b, 0x83, 0x04, 0x53, 0x0d, 0x14, 0x13, 0x4c, 0x07, 0xb7, 0x11, 0xdf, 0x1b, 0xe2, 0xec, 0x09, 0xbb, 0xa2, 0xe8, 0x48, 0x61, 0x02, 0xa9, 0xe4, 0xde, 0xdd, 0xa8, 0x17, 0xa6, 0xab, 0xcd, 0xa0, 0x26, 0x1e, 0x15, 0xe6, 0xb3, 0x3b, 0x46, 0xd3, 0x84, 0x4c, 0x7b, 0x97, 0x32, 0xfa, 0xc7, 0x3f, 0xff, 0xfa, 0x53, 0xa0, 0xc7, 0x0d, 0x3a, 0xfc, 0x6e, 0xb8, 0xb2, 0x10, 0x9e, 0x9e, 0x0b, 0x76, 0x97, 0xe9, 0x16, 0xc2, 0x89, 0x26, 0x1c, 0xcf, 0xa8, 0xca, 0x64, 0x36, 0xe9, 0x3b, 0x39, 0x95, 0xbe, 0x58, 0x44, 0x13, 0x4a, 0x3f, 0x48, 0x3d, 0x4b, 0xb1, 0x14, 0x9c, 0xcb, 0x77, 0xb1, 0x7f, 0x03, 0x35, 0x8a, 0xb3, 0x29, 0xd3, 0x06, 0xdf, 0x9d, 0x4f, 0xc2, 0x43, 0x11, 0xb3, 0xcd, 0xdc, 0x9a, 0xc1, 0xf4, 0x0f, 0x57, 0xa7, 0xc6, 0xd5, 0xe9, 0x72, 0xe5, 0x1b, 0xa0, 0xd4, 0xc7, 0x5e, 0xf2, 0x98, 0x0c, 0x81, 0x4b, 0x94, 0x0a, 0xfc, 0xd0, 0x9b, 0x97, 0xd1, 0xe1, 0x1c, 0x68, 0x3c, 0x6d, 0x81, 0xec, 0x78, 0x87, 0xaf, 0x45, 0xfa, 0x9a, 0x41, 0xb1, 0x9e, 0xe6, 0x05, 0xec, 0xd0, 0x5c, 0xaa, 0x71, 0xa5, 0x24, 0xb9, 0xee, 0xcc, 0x88, 0xa8, 0xc0, 0xc4, 0x73, 0x07, 0xdc, 0xed, 0x89, 0xc6, 0x4d, 0x90, 0x9c, 0x0e, 0x5c, 0x24, 0x29, 0xeb, 0x4b, 0x50, 0x1e, 0x61, 0xf6, 0x60, 0x64, 0xa3, 0xb5, 0x5e, 0x76, 0x85, 0xa4, 0x0a, 0x45, 0x13, 0x0d, 0xc2, 0x08, 0x98, 0x32, 0x44, 0xb6, 0xb0, 0x80, 0xe9, 0xb8, 0x2b, 0x32, 0xbd, 0xac, 0x5d, 0x0c, 0x50, 0x41, 0x46, 0xf1, 0xf7, 0x55, 0x17, 0xc0, 0x6e, 0xd0, 0xc8, 0x66, 0xaf, 0x62, 0xc1, 0x46, 0xaa, 0x5d, 0xe6, 0x5d, 0x4f, 0xac, 0x31, 0x95, 0xbd, 0x4b, 0x39, 0x8f, 0xc7, 0xa6, 0x90, 0xde, 0x05, 0x90, 0xa5, 0x32, 0xc4, 0x18, 0xeb, 0x22, 0x93, 0x19, 0xb3, 0x38, 0x49, 0xab, 0xb2, 0x63, 0x12, 0xc3, 0x6d, 0x02, 0xb5, 0x94, 0x98, 0x22, 0xc0, 0xd5, 0xb0, 0xe2, 0xd0, 0xa7, 0xb2, 0x72, 0xf1, 0x3c, 0x04, 0x63, 0xbd, 0xd7, 0x82, 0x9a, 0x36, 0x25, 0xb3, 0x5f, 0xec, 0x07, 0x82, 0xcc, 0xa7, 0x0e, 0x92, 0x0c, 0x43, 0x82, 0x6f, 0x53, 0x7a, 0x05, 0xf2, 0x10, 0x3e, 0xf0, 0x13, 0x39, 0xf0, 0xc6, 0x70, 0x18, 0x6b, 0x79, 0xb1, 0xbf, 0xbf, 0xcf, 0xb1, 0x96, 0xce, 0x29, 0x7d, 0xf8, 0xea, 0xe4, 0xf8, 0xe2, 0xfd, 0xfb, 0x93, 0xf3, 0x37, 0x27, 0x6f, 0x34, 0xe3, 0xc3, 0x59, 0x89, 0xa5, 0x0e, 0x7f, 0x45, 0x98, 0x25, 0x08, 0xfb, 0xbc, 0xbd, 0xbf, 0xd5, 0xdb, 0xd9, 0xdf, 0x8a, 0x80, 0x16, 0x63, 0x53, 0xa7, 0x16, 0xcf, 0x62, 0xb4, 0x6f, 0x6f, 0x96, 0xa0, 0xaa, 0x21, 0xc0, 0x73, 0x85, 0x98, 0x1b, 0xe4, 0x7a, 0x45, 0x6f, 0x4f, 0x52, 0xa1, 0x1d, 0x1d, 0xc8, 0x0c, 0xe8, 0x77, 0x0c, 0x54, 0xa7, 0x0d, 0x58, 0x8a, 0xee, 0x43, 0x04, 0xba, 0xb3, 0x85, 0x1f, 0xea, 0x47, 0x6f, 0x41, 0xfb, 0x98, 0xe4, 0x0f, 0x4c, 0x8b, 0xc7, 0x37, 0xa0, 0x94, 0x26, 0x7e, 0xa8, 0xb2, 0xfe, 0x3e, 0xbe, 0xbe, 0xcb, 0xaf, 0xff, 0x8e, 0x31, 0xfa, 0xfd, 0x57, 0x75, 0xc3, 0x12, 0x2e, 0x32, 0xf5, 0x06, 0xd1, 0x92, 0xc4, 0x16, 0x28, 0xa9, 0x01, 0x9b, 0xe3, 0xef, 0x8e, 0x2e, 0xf1, 0x69, 0x30, 0xcb, 0x2f, 0x7e, 0xf8, 0x8b, 0x2d, 0xf3, 0xbc, 0xdb, 0xd6, 0x6c, 0x46, 0xa9, 0x64, 0xa5, 0x76, 0xac, 0x99, 0x1f, 0xf4, 0xb6, 0xca, 0xac, 0x31, 0x08, 0x55, 0xc8, 0xd0, 0x0a, 0x31, 0x03, 0x15, 0xb6, 0x8e, 0x3b, 0x25, 0xca, 0xa1, 0x15, 0xa5, 0x5c, 0xf1, 0x50, 0x5d, 0x3f, 0xb0, 0x72, 0x9c, 0xc6, 0x43, 0xca, 0xdd, 0x7f, 0xd2, 0x6c, 0xcc, 0xed, 0xc9, 0x6b, 0x8e, 0xd9, 0xaa, 0x58, 0x26, 0x21, 0xaf, 0xe9, 0x4a, 0x8c, 0x1d, 0x02, 0x6e, 0x4a, 0xe7, 0x71, 0x91, 0xce, 0x1e, 0x95, 0xc0, 0xef, 0xb9, 0x63, 0x32, 0xa7, 0x4a, 0x51, 0xec, 0xcb, 0x42, 0x8a, 0xe7, 0x5e, 0xda, 0xa9, 0xe9, 0xe8, 0x83, 0x44, 0x2c, 0x18, 0x60, 0x7c, 0xae, 0xbc, 0x59, 0x2b, 0x51, 0x91, 0xea, 0xf6, 0xbf, 0x51, 0x28, 0xda, 0xa0, 0x47, 0xa3, 0xb7, 0xa7, 0x67, 0x27, 0x1b, 0xd1, 0xdb, 0xa4, 0x92, 0x12, 0x27, 0xcd, 0x30, 0x46, 0x91, 0xff, 0x07, 0x52, 0xb0, 0x0c, 0x34, 0xad, 0xd4, 0x08, 0x07, 0x73, 0xc1, 0xc4, 0x07, 0x47, 0xca, 0x86, 0xd6, 0x4b, 0xf1, 0xe1, 0xd0, 0x12, 0x31, 0x1e, 0xa7, 0xb9, 0x65, 0x1a, 0xdf, 0x94, 0x93, 0x0f, 0xe4, 0xdd, 0x2a, 0xce, 0x43, 0xdf, 0xc1, 0xbd, 0xcc, 0xdd, 0x14, 0x02, 0x9c, 0xb4, 0xe4, 0x3c, 0x6b, 0xbc, 0x38, 0x2d, 0x17, 0x33, 0xe4, 0x06, 0x41, 0x94, 0x97, 0x59, 0x62, 0x2b, 0xfb, 0x88, 0xf2, 0xc1, 0x7a, 0x30, 0x89, 0x98, 0xcc, 0x50, 0x71, 0xbd, 0xce, 0xc6, 0xbd, 0xd3, 0x8d, 0xc3, 0xb4, 0x13, 0xfe, 0x73, 0xf3, 0xab, 0x55, 0x98, 0x69, 0x27, 0xd4, 0x39, 0x5d, 0xde, 0x20, 0x8a, 0xa2, 0x5e, 0xae, 0x1a, 0x33, 0x54, 0xb5, 0xb3, 0x46, 0x09, 0x01, 0xf5, 0x95, 0x7c, 0x77, 0x6a, 0xee, 0xfe, 0x45, 0xba, 0xf5, 0xa9, 0xfe, 0x80, 0x25, 0xe0, 0x56, 0xba, 0x70, 0xaf, 0x76, 0x93, 0x65, 0x1c, 0x85, 0x1a, 0x63, 0x32, 0x57, 0x96, 0xc6, 0xec, 0xac, 0x4d, 0x61, 0xb6, 0xbe, 0x41, 0x24, 0xd4, 0xf9, 0xe2, 0x63, 0x37, 0xd2, 0xc2, 0x80, 0x7c, 0x29, 0x5c, 0x45, 0x56, 0x06, 0x5d, 0xfe, 0x52, 0xde, 0x26, 0xa1, 0x3d, 0x6a, 0xac, 0xcd, 0x4e, 0x19, 0xd6, 0xa1, 0x97, 0xa8, 0xd0, 0x71, 0x65, 0x17, 0x75, 0xa3, 0x29, 0x18, 0x35, 0x39, 0xa0, 0x2d, 0xc9, 0xd7, 0x5d, 0x16, 0xd4, 0xd4, 0xd9, 0xdd, 0xcf, 0xd4, 0x2d, 0x51, 0x5f, 0x5d, 0x84, 0xbd, 0x23, 0x9d, 0x12, 0xbb, 0x3f, 0x61, 0xd5, 0xfb, 0xe8, 0x36, 0xa5, 0x42, 0xc4, 0x25, 0xa9, 0x73, 0x71, 0xa6, 0xf5, 0x56, 0x3c, 0x4d, 0xd3, 0xed, 0x03, 0xc8, 0xad, 0x4f, 0xe5, 0x0c, 0x61, 0xed, 0x93, 0x81, 0x2b, 0xd1, 0x69, 0x80, 0x58, 0xdc, 0x3a, 0x9f, 0x19, 0x55, 0x34, 0x98, 0xdb, 0xa2, 0x8a, 0x1a, 0xd6, 0x43, 0x92, 0xae, 0x18, 0xe8, 0x0e, 0x00, 0xd7, 0x18, 0x81, 0x38, 0xd0, 0xd7, 0x76, 0x2f, 0x10, 0x63, 0x6b, 0x45, 0xc2, 0x0d, 0x4a, 0xfa, 0x60, 0x89, 0xce, 0xb1, 0x24, 0x40, 0x51, 0xfc, 0x71, 0xc9, 0xb2, 0x3d, 0xc0, 0xdb, 0xa6, 0xe9, 0x5d, 0x28, 0xcb, 0x82, 0x21, 0xf3, 0x68, 0x62, 0x94, 0xa5, 0x61, 0x41, 0xeb, 0x34, 0xed, 0xd8, 0x84, 0xb4, 0xd9, 0x2f, 0x8d, 0xb8, 0x70, 0xb2, 0xb3, 0xde, 0x0d, 0x9e, 0xa1, 0xc6, 0x8a, 0x80, 0x5e, 0x19, 0xb7, 0x69, 0x7f, 0x07, 0x9a, 0xcf, 0x41, 0xc7, 0xf4, 0xd5, 0x20, 0xbf, 0x2a, 0x71, 0xc7, 0x1a, 0xe5, 0x90, 0x91, 0x91, 0x79, 0xb5, 0x74, 0x0c, 0x45, 0x20, 0x9a, 0x7b, 0xa5, 0x8c, 0xcb, 0x14, 0xdc, 0xf8, 0x69, 0xcd, 0xa6, 0x00, 0x86, 0x2b, 0x46, 0xfd, 0xbe, 0x21, 0x38, 0xa5, 0x1f, 0x7a, 0xc7, 0xf4, 0xf1, 0xde, 0x3b, 0x1a, 0xee, 0x8b, 0x8e, 0x71, 0xf8, 0x36, 0x7f, 0x75, 0xe0, 0xb7, 0x8b, 0xb7, 0x7e, 0xc3, 0x06, 0x48, 0x26, 0x25, 0x92, 0xc8, 0x04, 0xb9, 0x13, 0x23, 0x5c, 0x91, 0x4d, 0x3d, 0x70, 0x8a, 0xa6, 0x94, 0x7e, 0xaf, 0x65, 0x93, 0x72, 0x00, 0x52, 0x64, 0x41, 0x60, 0x3a, 0xe3, 0x5e, 0x3e, 0xe9, 0x51, 0x86, 0x34, 0x42, 0xe7, 0x61, 0x32, 0x92, 0x73, 0xeb, 0x08, 0x20, 0x84, 0x3a, 0x30, 0x8c, 0xc7, 0x21, 0xd5, 0x9c, 0x0b, 0x19, 0x05, 0x20, 0xd1, 0xe1, 0x8e, 0x72, 0x90, 0x07, 0xe2, 0x95, 0xa7, 0xd7, 0x4d, 0x2f, 0x42, 0x44, 0xe6, 0x92, 0x82, 0x08, 0xcf, 0x9f, 0x46, 0xe5, 0x11, 0x5d, 0xd6, 0xde, 0x69, 0xd5, 0x64, 0xc3, 0xcd, 0xd9, 0x95, 0x4b, 0xfe, 0xe7, 0xe5, 0x82, 0x54, 0x56, 0xc4, 0x6d, 0xf6, 0xbc, 0x2f, 0x5a, 0x24, 0x42, 0x88, 0xcc, 0x20, 0xfc, 0xf7, 0xfb, 0x5b, 0x5d, 0x2f, 0x50, 0x5f, 0x91, 0xb1, 0x9f, 0xd9, 0x2c, 0x21, 0x78, 0x98, 0x78, 0x64, 0x2f, 0x54, 0x5d, 0x5b, 0x56, 0x8f, 0xc8, 0xaf, 0x4d, 0x31, 0x2d, 0xa5, 0x16, 0xdb, 0xba, 0x07, 0x9b, 0xd3, 0x43, 0x5b, 0x28, 0x6c, 0x93, 0xab, 0x68, 0x43, 0x40, 0xd7, 0x92, 0xb1, 0xf5, 0x55, 0xaf, 0xd9, 0x2c, 0xd9, 0xf4, 0xbc, 0x74, 0xab, 0x37, 0x9c, 0xee, 0x95, 0xad, 0x9e, 0x26, 0xc2, 0x94, 0x3e, 0xd2, 0x06, 0x68, 0x3d, 0xd8, 0x54, 0xe9, 0xeb, 0xdd, 0x4b, 0xf0, 0x87, 0x0c, 0xd8, 0xa1, 0xf0, 0xd1, 0x65, 0xfb, 0x9e, 0x31, 0xd4, 0xfa, 0x4b, 0xdc, 0x31, 0xd3, 0x60, 0x46, 0x3b, 0xa9, 0x59, 0xf9, 0x40, 0x64, 0xeb, 0xdc, 0xa5, 0xe6, 0x9e, 0x21, 0x57, 0x41, 0x4e, 0x90, 0x69, 0xce, 0x77, 0x4c, 0xfa, 0xca, 0x63, 0x6b, 0x6a, 0x71, 0x4b, 0xce, 0x2f, 0x5d, 0x9b, 0xb7, 0xa8, 0xd8, 0xf7, 0xce, 0xe1, 0x18, 0x0e, 0xa2, 0xff, 0xc8, 0x13, 0xae, 0x59, 0x7d, 0xa2, 0x64, 0xf5, 0xfb, 0xa3, 0xab, 0xf3, 0xd3, 0xf3, 0x6f, 0x0e, 0x0c, 0x8f, 0x43, 0x7e, 0xd7, 0xec, 0x6c, 0x64, 0x78, 0x37, 0xfd, 0x96, 0xf1, 0xbb, 0xd1, 0xfb, 0xd3, 0xd6, 0x69, 0x01, 0x63, 0x99, 0xc4, 0x9e, 0xd9, 0x79, 0x59, 0x24, 0x1c, 0x17, 0x61, 0x5b, 0x54, 0x2b, 0x27, 0xa4, 0x5c, 0x93, 0x44, 0x25, 0xb5, 0xef, 0x0c, 0x00, 0x36, 0xf4, 0xce, 0xf0, 0x4c, 0x66, 0x79, 0xad, 0x53, 0x20, 0x12, 0xe5, 0x8c, 0x8e, 0x3f, 0x77, 0x29, 0x80, 0x2d, 0x66, 0xca, 0x7e, 0x45, 0x5b, 0x2a, 0x0f, 0x34, 0x93, 0x25, 0x33, 0x8f, 0xd3, 0x70, 0xc4, 0xcf, 0x61, 0xba, 0xa4, 0x49, 0xab, 0xa3, 0x92, 0x8e, 0xac, 0x4c, 0xc9, 0xd9, 0x60, 0xb6, 0x44, 0x73, 0xbc, 0x02, 0x7e, 0x10, 0x69, 0x32, 0x10, 0x2f, 0xf9, 0xbe, 0x30, 0x3a, 0x99, 0xfc, 0xd4, 0xd6, 0x65, 0x98, 0x1d, 0x78, 0x76, 0x9a, 0xb3, 0xcd, 0x73, 0x66, 0x7d, 0x9e, 0x0d, 0x44, 0x87, 0x65, 0xc1, 0x9f, 0x28, 0x4a, 0x82, 0x38, 0x24, 0xb3, 0xc4, 0x56, 0x25, 0x19, 0x5d, 0xe7, 0x86, 0x75, 0x9d, 0xd9, 0xc2, 0x03, 0xdb, 0xc3, 0x34, 0xf3, 0x08, 0x7f, 0xa3, 0x4e, 0x1d, 0x0c, 0x5e, 0x91, 0x04, 0x56, 0xb3, 0xa4, 0x06, 0x6e, 0x67, 0x1a, 0x04, 0x33, 0x53, 0xf7, 0xe5, 0x29, 0xe2, 0x3d, 0x25, 0x8c, 0x37, 0xe6, 0x56, 0xc0, 0xc0, 0xd7, 0x61, 0x8f, 0x17, 0xcb, 0xe1, 0x7c, 0xbc, 0x1f, 0x1d, 0xc2, 0x7f, 0x3c, 0x25, 0x8b, 0x72, 0x46, 0x07, 0xc7, 0xa0, 0x68, 0x61, 0x82, 0x0b, 0xc3, 0xe0, 0xa6, 0x04, 0x83, 0x6b, 0x7a, 0x09, 0xed, 0xee, 0xc0, 0x4c, 0x1f, 0x62, 0x85, 0xb6, 0x04, 0x8d, 0x70, 0x9a, 0x56, 0x9c, 0xa7, 0xd7, 0x82, 0x1b, 0xe4, 0xa4, 0x36, 0xd0, 0x99, 0x6f, 0xef, 0x7c, 0x1e, 0x61, 0xf1, 0xc1, 0xfb, 0x37, 0xfb, 0xd1, 0xe8, 0x26, 0x19, 0xdd, 0x96, 0xcb, 0xb9, 0xb2, 0x63, 0xdc, 0x53, 0x30, 0x0f, 0x70, 0x9e, 0x1e, 0xe2, 0x03, 0x4c, 0x7c, 0x96, 0x8e, 0xb0, 0xf4, 0xaf, 0x5b, 0x8b, 0x4e, 0x4d, 0x34, 0x3a, 0xe5, 0xd8, 0xa1, 0x46, 0x6c, 0x50, 0xba, 0x00, 0xe7, 0xd4, 0x04, 0x82, 0x17, 0xb0, 0x07, 0xf0, 0x71, 0x04, 0xc4, 0x06, 0xbd, 0x7c, 0xa5, 0xcb, 0xf6, 0x65, 0xdd, 0xeb, 0x8d, 0x17, 0x7b, 0xab, 0xff, 0xaa, 0x05, 0xff, 0xba, 0xd6, 0xa0, 0x09, 0x6b, 0x95, 0x4c, 0xb5, 0x1d, 0xd9, 0x03, 0xa8, 0xe5, 0xe3, 0x24, 0x11, 0x10, 0x4a, 0xc3, 0x78, 0xde, 0xc7, 0xf1, 0xc9, 0x4d, 0x7c, 0x42, 0x3a, 0x8c, 0x52, 0x16, 0x5b, 0x42, 0x98, 0x14, 0x4c, 0x5a, 0x94, 0x26, 0x64, 0xa2, 0x80, 0x06, 0xe1, 0x8c, 0x42, 0xb0, 0xbe, 0xd2, 0x66, 0xea, 0xbf, 0xd5, 0x65, 0x63, 0x59, 0x8c, 0x94, 0xd0, 0x3a, 0x68, 0x0e, 0x5a, 0x4b, 0x48, 0x78, 0x6d, 0x68, 0x53, 0x78, 0x44, 0x66, 0xbe, 0xcb, 0x71, 0x69, 0x7b, 0x1c, 0x25, 0xa3, 0x11, 0x92, 0xf3, 0x1c, 0xb1, 0xa0, 0xd9, 0xa2, 0xce, 0xef, 0xb3, 0x69, 0x81, 0xfe, 0x11, 0x2a, 0x0a, 0x8b, 0x43, 0xb1, 0x8c, 0x10, 0x82, 0xa9, 0x1d, 0x1b, 0x2c, 0xae, 0x17, 0xc8, 0xe9, 0xcd, 0xae, 0x60, 0xbe, 0x3d, 0x07, 0xb1, 0xb9, 0x62, 0x99, 0x6d, 0x76, 0xe7, 0x88, 0xb6, 0xba, 0x72, 0x4c, 0xdb, 0xfd, 0xad, 0xe7, 0x1c, 0x13, 0x12, 0x51, 0xed, 0x74, 0xe0, 0x3d, 0x57, 0x4b, 0xd6, 0x24, 0x72, 0x20, 0xf6, 0x96, 0xec, 0x3b, 0x84, 0x5e, 0x66, 0xff, 0x55, 0x32, 0xae, 0x0d, 0xb5, 0x92, 0xe7, 0xb8, 0x2d, 0x3c, 0x79, 0xba, 0xdb, 0x12, 0x86, 0xc1, 0x7f, 0xed, 0x34, 0x89, 0x0e, 0x7e, 0xfd, 0x2b, 0x57, 0xb3, 0xfd, 0x0b, 0x4a, 0x35, 0xb6, 0xba, 0xf6, 0x7b, 0x5b, 0xa6, 0x31, 0x0e, 0x4f, 0xc8, 0xde, 0x8b, 0xc6, 0x70, 0x7e, 0xe3, 0x13, 0x7a, 0x01, 0xcb, 0x5d, 0xf2, 0xa2, 0x87, 0x2a, 0x3b, 0x1c, 0x96, 0xa7, 0x42, 0x05, 0xa7, 0x0f, 0xc7, 0x5b, 0xa2, 0x62, 0x8b, 0x3a, 0x2d, 0x11, 0x27, 0xc5, 0x8c, 0x18, 0xd5, 0xcc, 0x98, 0xf4, 0xc1, 0xb4, 0x7d, 0x22, 0x90, 0x1d, 0x47, 0x45, 0xa7, 0x1f, 0xe0, 0xa6, 0x46, 0x1f, 0x16, 0x44, 0x83, 0x7d, 0xc2, 0x54, 0x36, 0xed, 0x5f, 0x68, 0x76, 0x51, 0xdb, 0xec, 0x2c, 0xf6, 0x97, 0xc6, 0xe4, 0xa9, 0x58, 0xb3, 0xd4, 0xef, 0x94, 0x58, 0x05, 0x8b, 0x2a, 0xbf, 0x34, 0x0a, 0xe5, 0xb6, 0x28, 0x76, 0x92, 0x21, 0x58, 0x5f, 0xbd, 0x58, 0xa0, 0x6a, 0xca, 0x28, 0xb5, 0x6c, 0x7a, 0x6c, 0x92, 0xc1, 0xea, 0xbe, 0x76, 0x6e, 0xb5, 0x4d, 0x4a, 0x02, 0xfe, 0x15, 0xf2, 0x85, 0x64, 0x21, 0x60, 0x3f, 0x2f, 0x00, 0x14, 0x3c, 0x8e, 0x67, 0x37, 0xc2, 0xf1, 0xf0, 0xbb, 0x1a, 0xad, 0x8c, 0x78, 0x2d, 0xfd, 0xe7, 0x11, 0xf7, 0x56, 0x37, 0x38, 0x3b, 0xa4, 0x36, 0x97, 0xf8, 0x6b, 0x60, 0x78, 0xaf, 0x02, 0xc4, 0xf5, 0xab, 0xee, 0xc2, 0xce, 0xaa, 0x30, 0xa8, 0x7f, 0x07, 0x77, 0xfb, 0xfa, 0xb5, 0xb6, 0xbd, 0xf2, 0xd8, 0x59, 0x6b, 0x13, 0xa1, 0xe7, 0xed, 0x56, 0xcb, 0xde, 0x98, 0xbd, 0x6b, 0xec, 0x56, 0xdb, 0xd1, 0xea, 0x55, 0xf5, 0xa1, 0xf7, 0xc3, 0x57, 0x75, 0xb7, 0xc5, 0xe7, 0x62, 0x54, 0xd4, 0x86, 0xd3, 0x13, 0x7d, 0x66, 0x45, 0x3a, 0x27, 0x00, 0xbc, 0x7e, 0xf4, 0xc6, 0xe6, 0xb4, 0x10, 0xf0, 0x9e, 0x67, 0xac, 0x8e, 0x97, 0x2d, 0x99, 0x1f, 0xab, 0x4f, 0x6b, 0x57, 0x92, 0x7a, 0x6c, 0xe2, 0x02, 0xc9, 0x74, 0x29, 0xca, 0xca, 0x3d, 0x40, 0x4c, 0xf1, 0xdc, 0x68, 0xf8, 0x52, 0xc2, 0x74, 0x98, 0x9a, 0x25, 0x01, 0x18, 0xda, 0xfa, 0x5d, 0x37, 0x66, 0x6e, 0xd4, 0x6b, 0x2c, 0x21, 0x08, 0x79, 0x8a, 0xe8, 0x8b, 0xa6, 0xf3, 0x01, 0x4a, 0x44, 0x55, 0x28, 0xe1, 0x23, 0x77, 0x69, 0x1c, 0x1d, 0xcd, 0xaa, 0xde, 0xe0, 0xbb, 0x11, 0x47, 0xd8, 0x6a, 0xe1, 0x29, 0xaf, 0xd5, 0x37, 0x79, 0x55, 0xa8, 0x4b, 0x63, 0x29, 0x49, 0xab, 0x69, 0x31, 0x5a, 0xce, 0x09, 0x03, 0x95, 0xc8, 0xca, 0x74, 0x0b, 0xc2, 0x83, 0xb4, 0x94, 0xc6, 0xe9, 0xf6, 0x3e, 0xf8, 0x61, 0x7c, 0x5b, 0xea, 0x92, 0xa4, 0x48, 0x87, 0xeb, 0x30, 0xcc, 0x9c, 0xeb, 0x4d, 0x36, 0x03, 0x22, 0xa8, 0x61, 0xd9, 0x31, 0x4c, 0x2f, 0xa2, 0xc0, 0xfc, 0xe7, 0x87, 0xd3, 0xe3, 0x9a, 0x77, 0x5f, 0x10, 0xe6, 0x57, 0x46, 0x2b, 0x18, 0x56, 0x56, 0x9e, 0x9c, 0xa0, 0x0e, 0xab, 0xd9, 0xb8, 0x9a, 0x38, 0x57, 0x3b, 0xde, 0x3c, 0x0b, 0x88, 0x54, 0xd0, 0x17, 0x7e, 0xd9, 0x1d, 0xdd, 0xd1, 0x3b, 0xba, 0xfb, 0x5b, 0xdf, 0xd1, 0xdd, 0xdf, 0xe6, 0x8e, 0x2a, 0x07, 0x71, 0xfe, 0xee, 0x5e, 0x57, 0xcf, 0x2c, 0xa5, 0xeb, 0xeb, 0x3a, 0x9c, 0xeb, 0x39, 0x03, 0x3d, 0x06, 0x8f, 0xe8, 0x89, 0xdf, 0xa2, 0xc7, 0x05, 0xb2, 0xa1, 0xda, 0xb0, 0x48, 0x2e, 0xb1, 0x82, 0x3f, 0x76, 0xa3, 0x53, 0x06, 0x36, 0xa7, 0xec, 0x24, 0x79, 0xfd, 0x8c, 0xeb, 0x6b, 0xc5, 0xef, 0xad, 0x3e, 0xff, 0x40, 0x05, 0x7e, 0x3a, 0x42, 0x78, 0x35, 0xeb, 0x71, 0x47, 0x8b, 0x59, 0x75, 0xc6, 0x62, 0x49, 0x21, 0x85, 0xe8, 0x68, 0x81, 0x25, 0xb2, 0xa0, 0x71, 0x3c, 0x30, 0xce, 0x1e, 0xf6, 0xdd, 0x44, 0x12, 0xf3, 0x73, 0x91, 0x70, 0x93, 0xd1, 0x83, 0x2b, 0x99, 0xf7, 0xcd, 0xe9, 0xd0, 0xe8, 0x0c, 0x7f, 0x38, 0x43, 0xe2, 0x2f, 0xd8, 0x70, 0xdc, 0x01, 0x02, 0x9f, 0x7a, 0xcd, 0x75, 0x86, 0x8f, 0x55, 0xa0, 0x0c, 0x0c, 0x57, 0x8d, 0xbb, 0xb0, 0x5e, 0x4a, 0x96, 0xe9, 0x1e, 0xec, 0xe3, 0x06, 0x98, 0x99, 0xb7, 0x04, 0xe0, 0x9b, 0x50, 0x9d, 0x8e, 0x31, 0xae, 0xa8, 0x2f, 0xca, 0x14, 0x3d, 0x56, 0xda, 0x92, 0xc2, 0xab, 0x98, 0xf9, 0x39, 0xd1, 0x34, 0x47, 0xcd, 0x21, 0x14, 0xb8, 0xd9, 0x7a, 0x89, 0x6a, 0xda, 0xa5, 0xfe, 0xa3, 0xe4, 0x9b, 0x6e, 0x06, 0x8f, 0xc4, 0x63, 0xcd, 0xf6, 0xaf, 0xea, 0x34, 0x0a, 0xeb, 0x2f, 0x16, 0xaf, 0x30, 0x2e, 0x69, 0xd4, 0x44, 0x81, 0x3d, 0xe9, 0x9a, 0x13, 0xee, 0xcb, 0x62, 0x5e, 0x1c, 0x91, 0x67, 0x93, 0xbf, 0x20, 0x0e, 0x28, 0x36, 0xf3, 0x0d, 0x44, 0x34, 0x7a, 0x89, 0xd0, 0x9f, 0xcf, 0xfd, 0xb6, 0xba, 0x3e, 0xac, 0x9e, 0xf1, 0x3d, 0x5b, 0xa0, 0xe8, 0xda, 0x8d, 0x55, 0x70, 0xe7, 0x7e, 0xbf, 0x1f, 0x80, 0xb3, 0xb8, 0x4b, 0x93, 0xfb, 0x9a, 0x2b, 0x5e, 0x66, 0xd6, 0x35, 0x0d, 0x33, 0xd8, 0x03, 0x74, 0x87, 0x3b, 0x04, 0x43, 0x0e, 0x11, 0x49, 0xb3, 0xa5, 0x9c, 0xc4, 0x5e, 0x79, 0xf7, 0x69, 0x67, 0x9b, 0x6f, 0x79, 0x9b, 0xcb, 0x50, 0x3d, 0x28, 0x03, 0x23, 0xdb, 0x7e, 0x0e, 0x5d, 0xf4, 0x88, 0x14, 0x8f, 0x11, 0xb5, 0x6f, 0xb2, 0x3c, 0x8d, 0xae, 0x3f, 0xd7, 0x1f, 0xa4, 0x25, 0xe3, 0x12, 0x33, 0xae, 0x90, 0x1f, 0x2d, 0xe6, 0xcf, 0xd4, 0xf9, 0x81, 0xf0, 0x73, 0x95, 0x5e, 0x20, 0xf6, 0x46, 0xe8, 0x88, 0xe2, 0x86, 0x20, 0xd2, 0x8c, 0x80, 0x5c, 0x31, 0x81, 0xd4, 0x23, 0x39, 0x11, 0xa7, 0x7f, 0x95, 0x93, 0x29, 0x63, 0xdb, 0x8b, 0x44, 0xba, 0xc0, 0x70, 0xbc, 0xd7, 0x74, 0x39, 0x71, 0xf8, 0xb4, 0xbb, 0x12, 0xb0, 0x8e, 0xa4, 0x41, 0xa7, 0xf8, 0x62, 0x2d, 0xde, 0x72, 0xd3, 0x46, 0xb4, 0xf5, 0xa9, 0x16, 0x53, 0xcb, 0x7a, 0xb5, 0x19, 0xbc, 0x8f, 0x56, 0x26, 0x83, 0x97, 0x2e, 0x50, 0xb6, 0x07, 0x35, 0x60, 0xbb, 0x00, 0xe1, 0xc0, 0xdc, 0xe6, 0x2d, 0x78, 0xc4, 0xac, 0x56, 0x30, 0xea, 0x05, 0x36, 0x22, 0x5c, 0x62, 0xe2, 0x09, 0xdd, 0x7d, 0xa9, 0x5e, 0x97, 0x82, 0xf5, 0x26, 0x98, 0x89, 0x81, 0x84, 0xc3, 0xdd, 0xef, 0xdf, 0xc4, 0x0f, 0x0f, 0xfd, 0x32, 0xd9, 0x04, 0xaa, 0x2d, 0x37, 0xcb, 0x72, 0x86, 0x1f, 0x2d, 0x09, 0x7d, 0x6d, 0x65, 0x8f, 0xe3, 0x87, 0x47, 0x43, 0x40, 0xc2, 0x9c, 0x47, 0x31, 0xbe, 0x5a, 0x63, 0xb6, 0xb6, 0xc9, 0x31, 0xb7, 0x09, 0x6b, 0xa6, 0x0c, 0x33, 0xf0, 0x34, 0x41, 0xa8, 0xbb, 0xd5, 0xb6, 0xcc, 0x1a, 0x6c, 0x72, 0x96, 0x19, 0xc7, 0xe2, 0xe9, 0x23, 0xd4, 0x74, 0xd1, 0x56, 0xda, 0x21, 0x77, 0xd5, 0x09, 0x8d, 0xc2, 0xa6, 0x98, 0x02, 0x08, 0xee, 0x14, 0x25, 0xb0, 0x3a, 0xdc, 0xf7, 0x0f, 0x2d, 0xe9, 0xfc, 0x36, 0x00, 0xf9, 0xd4, 0xe6, 0xb6, 0x74, 0x96, 0x86, 0xa5, 0x22, 0x07, 0x16, 0x60, 0xf0, 0xfe, 0xfe, 0xbe, 0xbf, 0xca, 0x6f, 0xf9, 0x2f, 0xc7, 0xc0, 0xeb, 0xc3, 0x5d, 0x00, 0xd5, 0x9e, 0xa5, 0xd9, 0xf2, 0x21, 0x72, 0x30, 0x5e, 0x4c, 0x4b, 0x38, 0x0d, 0xcc, 0x45, 0xdf, 0x5d, 0xbd, 0xed, 0x9a, 0xc8, 0xa6, 0xa4, 0xb0, 0xa1, 0xe7, 0xb7, 0xf4, 0xb5, 0xb6, 0x24, 0x65, 0xdc, 0x1d, 0x04, 0x8d, 0x3e, 0x3e, 0xba, 0xfc, 0x78, 0x7e, 0x72, 0xfd, 0xf1, 0xea, 0xe8, 0x7b, 0xdc, 0x42, 0xf6, 0xca, 0x80, 0xbc, 0xc2, 0x78, 0x40, 0x91, 0xe7, 0xd8, 0x09, 0xe9, 0x3d, 0x95, 0x0d, 0xa6, 0x19, 0xc1, 0xab, 0x84, 0x3a, 0xb7, 0x59, 0xcc, 0x28, 0x99, 0x27, 0xcc, 0xe5, 0x20, 0xaa, 0xed, 0xd7, 0x6d, 0x52, 0x64, 0xc9, 0xac, 0x9f, 0x17, 0x53, 0xa4, 0xc2, 0xcd, 0x37, 0xc2, 0x3f, 0x83, 0xc3, 0x6d, 0x4a, 0x56, 0x03, 0x42, 0x90, 0xdd, 0x15, 0x13, 0x44, 0x2c, 0x79, 0x6e, 0xa7, 0x5a, 0x87, 0x34, 0xf7, 0x88, 0x01, 0x2e, 0xee, 0xf6, 0x56, 0xa8, 0x77, 0xf5, 0x7e, 0xe1, 0xd2, 0xe9, 0x93, 0x28, 0x88, 0x7c, 0x3f, 0x6e, 0xae, 0x0a, 0x57, 0x67, 0xce, 0x1e, 0xbb, 0x01, 0x00, 0x04, 0x52, 0xe7, 0x72, 0x03, 0x25, 0x41, 0x05, 0x6e, 0x98, 0x64, 0x13, 0xbc, 0xd2, 0x82, 0xd4, 0x66, 0xb5, 0xa2, 0xa6, 0x0f, 0xa1, 0xcd, 0xf7, 0xd0, 0x7b, 0xe1, 0x5b, 0x86, 0xd8, 0x7a, 0xd7, 0x59, 0xf3, 0x0b, 0x59, 0xf3, 0x8b, 0x7f, 0x69, 0xcd, 0x2f, 0xfe, 0x85, 0x35, 0xef, 0xfd, 0xc6, 0x6b, 0xde, 0x0b, 0xae, 0xd9, 0xf9, 0x4a, 0xef, 0x6f, 0xb8, 0xe6, 0xbf, 0x2d, 0xb3, 0xdb, 0x1e, 0xcc, 0x17, 0xa5, 0xb0, 0x74, 0xda, 0x2c, 0xc3, 0x26, 0x5b, 0xad, 0xd1, 0x0e, 0xf9, 0xf6, 0x2d, 0xc0, 0xb0, 0xd3, 0x39, 0x34, 0x76, 0x3a, 0xe9, 0x71, 0xdc, 0xa9, 0xa9, 0x87, 0x37, 0x0d, 0x84, 0x14, 0xeb, 0x7d, 0xcb, 0x11, 0xfa, 0x29, 0x50, 0xb3, 0xef, 0xc8, 0x6c, 0x74, 0xd8, 0x8e, 0xf6, 0x5d, 0xa1, 0x9b, 0x1e, 0xfb, 0x38, 0x47, 0x23, 0x72, 0x93, 0xdd, 0x68, 0xdb, 0x39, 0x8a, 0x81, 0x4b, 0x9a, 0x3f, 0x37, 0x39, 0x52, 0x0c, 0x28, 0x1d, 0x98, 0xe3, 0x82, 0x18, 0xf3, 0xf1, 0x79, 0xc6, 0xf5, 0xe3, 0x02, 0x07, 0x04, 0xd9, 0x5c, 0x80, 0x0c, 0xe6, 0x44, 0x94, 0xd9, 0x3d, 0x65, 0x27, 0xe8, 0x24, 0xa3, 0xc6, 0x04, 0x25, 0xda, 0x71, 0x93, 0x3c, 0xae, 0x79, 0x0a, 0xc3, 0x68, 0x96, 0x23, 0xbf, 0x19, 0xaf, 0x36, 0x3e, 0x86, 0xb6, 0xcd, 0x29, 0xcb, 0x8b, 0x46, 0xdf, 0x53, 0x57, 0x6e, 0xdc, 0x26, 0xc9, 0x22, 0x9e, 0x11, 0xb4, 0x06, 0xe6, 0x3e, 0xb4, 0x35, 0xca, 0xaa, 0x25, 0x47, 0x6a, 0xe1, 0x00, 0xbd, 0x51, 0xcb, 0x3c, 0x23, 0x3e, 0xc7, 0x07, 0x89, 0x95, 0x32, 0x51, 0x3a, 0xa6, 0x5a, 0xd7, 0x70, 0xdf, 0x14, 0xdb, 0x94, 0xc1, 0x4c, 0x02, 0x5b, 0x6f, 0xe4, 0x43, 0xc1, 0x80, 0x31, 0x9f, 0x50, 0x1c, 0x39, 0x4c, 0xcd, 0xb9, 0x4b, 0x31, 0x25, 0xaf, 0x89, 0x3d, 0x6c, 0xde, 0xe7, 0xd7, 0x09, 0x55, 0xaa, 0xd6, 0x39, 0x81, 0x0f, 0x10, 0x9f, 0xc8, 0x8d, 0xfc, 0x43, 0x75, 0x83, 0xba, 0x49, 0x7b, 0x24, 0xa5, 0x00, 0xca, 0xac, 0xff, 0x5e, 0x1f, 0x5f, 0x7e, 0xfc, 0xf6, 0xe4, 0xe4, 0xf2, 0xf4, 0xcd, 0xd9, 0x89, 0x5c, 0x18, 0xf3, 0xa3, 0xf3, 0xeb, 0xef, 0xce, 0xb4, 0x5b, 0xa8, 0xd2, 0xa2, 0x47, 0xf0, 0x02, 0xfb, 0xcf, 0x4c, 0xb9, 0x4b, 0xed, 0xb0, 0xc0, 0x90, 0x3e, 0x3a, 0xfd, 0x01, 0xb4, 0xd6, 0xcb, 0xde, 0x87, 0x1f, 0xbc, 0x5e, 0x24, 0x4e, 0x8d, 0x89, 0xdf, 0x4c, 0xc0, 0x96, 0x9c, 0xf4, 0x7a, 0x59, 0x6e, 0x0f, 0xb0, 0x35, 0xe5, 0xee, 0x37, 0x16, 0x83, 0x30, 0xdc, 0x32, 0x33, 0x0a, 0x43, 0xd7, 0x6d, 0xe0, 0xe8, 0xa6, 0xb5, 0xbd, 0xd8, 0xd2, 0x36, 0x6a, 0x2b, 0x83, 0x16, 0x8d, 0xd6, 0x6d, 0xb7, 0xc9, 0x23, 0x61, 0x38, 0x46, 0x87, 0xf8, 0xdf, 0x70, 0xb3, 0xd3, 0xcb, 0x22, 0xbd, 0x43, 0xfd, 0x0f, 0x9e, 0xe5, 0x90, 0x2e, 0x3e, 0xda, 0x37, 0xad, 0x5f, 0x25, 0xac, 0x8c, 0x83, 0x50, 0xe6, 0x09, 0x0d, 0x1a, 0x85, 0xbc, 0x3d, 0x84, 0x8c, 0x83, 0xbf, 0xe1, 0xf1, 0x68, 0x40, 0xd8, 0x9e, 0x7e, 0xf4, 0xe6, 0xe4, 0xaa, 0x1b, 0x5d, 0x9e, 0xbc, 0xe7, 0x42, 0x95, 0x93, 0xf3, 0x6f, 0xb8, 0x1b, 0xae, 0x36, 0x39, 0xa5, 0x4c, 0x08, 0x3f, 0x59, 0xd3, 0xd9, 0x13, 0x78, 0x97, 0x32, 0x53, 0xcb, 0x12, 0xa4, 0xeb, 0x27, 0x04, 0xd0, 0xe1, 0xb5, 0x1d, 0xc2, 0x7f, 0x42, 0x5b, 0x05, 0x76, 0xc4, 0xbb, 0xc0, 0x76, 0x89, 0x62, 0x66, 0x72, 0x67, 0xc4, 0x28, 0xc0, 0xdd, 0xe0, 0x1d, 0x83, 0x0d, 0xf1, 0xb3, 0x38, 0x74, 0x83, 0xc8, 0xec, 0x23, 0x08, 0x21, 0x6e, 0xa1, 0x2e, 0x31, 0x78, 0xb4, 0x62, 0xe1, 0x73, 0x5d, 0xa4, 0x4b, 0x02, 0x24, 0xb7, 0x9b, 0x11, 0xaa, 0x8e, 0x2e, 0x52, 0x6e, 0x47, 0xdf, 0x40, 0xa6, 0x83, 0xed, 0x4e, 0xc7, 0x8c, 0xc0, 0x80, 0x01, 0xe4, 0xbc, 0xc0, 0x04, 0x0e, 0x84, 0x3e, 0xf8, 0x5f, 0x9b, 0xfd, 0xb2, 0xbc, 0xd9, 0x4c, 0xc7, 0x1f, 0x8b, 0x32, 0x5e, 0x6b, 0xca, 0x22, 0xe7, 0xd7, 0x63, 0xfc, 0x75, 0xb4, 0xd6, 0x37, 0x8f, 0xca, 0xdf, 0xf1, 0xe7, 0x41, 0x2c, 0x00, 0x15, 0x41, 0xec, 0x5a, 0xd1, 0x7c, 0x4e, 0x6d, 0xa2, 0x3b, 0x4b, 0x87, 0x05, 0x28, 0x70, 0xb6, 0xfb, 0x87, 0xf4, 0xc4, 0x5d, 0xdc, 0x8e, 0xca, 0xed, 0x6d, 0x1f, 0x8d, 0xde, 0x94, 0x38, 0x76, 0x35, 0x2f, 0xf7, 0xf2, 0xdb, 0xe3, 0xc1, 0x1f, 0xb7, 0xb7, 0x29, 0x0d, 0x7a, 0x1d, 0xd3, 0x55, 0x5f, 0xee, 0x6f, 0xef, 0x6c, 0x84, 0xd4, 0x47, 0x2f, 0xaf, 0x67, 0xc2, 0xad, 0x30, 0x17, 0xce, 0x01, 0x52, 0x98, 0x5b, 0x8a, 0x1e, 0xcc, 0xd0, 0xe3, 0x04, 0x93, 0x04, 0xa9, 0xb2, 0x93, 0xc3, 0x99, 0x94, 0x3b, 0xe9, 0xa5, 0x5e, 0x18, 0x1c, 0xa4, 0x0e, 0xcf, 0xfe, 0xa0, 0x63, 0xa8, 0xca, 0xcd, 0x21, 0xa7, 0xfc, 0x13, 0x67, 0xd6, 0x7d, 0xde, 0xa7, 0x66, 0x78, 0xcd, 0x5d, 0x17, 0x25, 0x3a, 0x5a, 0xa0, 0x29, 0x16, 0x5f, 0xb6, 0x81, 0x70, 0x23, 0x41, 0x00, 0xf3, 0x03, 0x3c, 0x5f, 0xbd, 0xcc, 0xa9, 0xc3, 0xf4, 0x83, 0x04, 0x1f, 0xdb, 0x41, 0xcd, 0xee, 0x3b, 0x0c, 0xc2, 0x1d, 0xd4, 0x77, 0xf6, 0xf1, 0x37, 0xa2, 0x0e, 0xdc, 0xdd, 0xf0, 0x90, 0x9f, 0xf4, 0x4e, 0x16, 0xc3, 0xe8, 0x70, 0x06, 0x2f, 0xce, 0x5a, 0x4a, 0xef, 0x4e, 0xb8, 0xdd, 0xd6, 0xb7, 0x49, 0x31, 0x4c, 0x8a, 0xbc, 0x6c, 0x54, 0x09, 0x69, 0x8f, 0x57, 0xf6, 0xa9, 0xd0, 0x38, 0x9a, 0x2e, 0xe5, 0xb5, 0x57, 0xae, 0xc8, 0xfa, 0x16, 0x8c, 0xf7, 0x3a, 0x2e, 0xcf, 0x1a, 0xd5, 0x2a, 0xe1, 0x05, 0xc0, 0xfe, 0x52, 0xf8, 0x27, 0x70, 0xe3, 0x09, 0x37, 0x09, 0x8d, 0x67, 0x6b, 0xd8, 0xf5, 0xa7, 0x79, 0x8d, 0x84, 0xd2, 0xd6, 0xfa, 0x58, 0x80, 0xc6, 0xc6, 0x1a, 0x65, 0x41, 0x51, 0xb9, 0x75, 0x1c, 0xc9, 0x5c, 0x34, 0xbf, 0x1b, 0xaf, 0xb9, 0x4d, 0x03, 0x2c, 0xbd, 0x4e, 0x48, 0x66, 0xb8, 0x3a, 0x74, 0x52, 0x5b, 0x86, 0xf1, 0x6f, 0x2c, 0xa6, 0xf8, 0x18, 0x9e, 0x1b, 0x39, 0xb2, 0x9e, 0x55, 0x65, 0xf3, 0x8d, 0xe1, 0xf4, 0xac, 0xdc, 0x73, 0xd6, 0xf7, 0x83, 0x1d, 0x74, 0x8f, 0xb8, 0x3a, 0xbc, 0x81, 0x35, 0x42, 0x5d, 0x09, 0xb0, 0xa4, 0x69, 0xcc, 0x86, 0xa1, 0x54, 0xbf, 0xda, 0xc4, 0x09, 0xe6, 0x34, 0x7e, 0x70, 0x9c, 0x96, 0x4a, 0xfd, 0x43, 0x74, 0xda, 0x3d, 0x36, 0xde, 0x8f, 0x23, 0xf1, 0x46, 0x50, 0x5d, 0xd4, 0x7d, 0x81, 0x68, 0xa9, 0x99, 0xc5, 0x5c, 0x9e, 0x25, 0xad, 0x20, 0x5a, 0x8a, 0xa8, 0x0a, 0x87, 0x34, 0x93, 0xde, 0x86, 0x9a, 0x8d, 0x58, 0xe8, 0x9c, 0x7a, 0x92, 0xcc, 0xa1, 0x0e, 0x03, 0x7c, 0xef, 0x0f, 0x4f, 0x42, 0xaa, 0x3c, 0x75, 0x76, 0x4e, 0x73, 0xec, 0x00, 0x4c, 0xc2, 0xb3, 0xb1, 0xe2, 0x1a, 0x65, 0x7e, 0x54, 0x31, 0xd0, 0x23, 0x99, 0x74, 0x08, 0xfc, 0x34, 0xf1, 0xc0, 0xb2, 0x06, 0x35, 0x7c, 0x05, 0x69, 0xf9, 0xaa, 0x25, 0x74, 0xf4, 0x1e, 0x52, 0x3b, 0xe1, 0x48, 0x98, 0x26, 0x65, 0x4c, 0xfb, 0x3d, 0x52, 0x59, 0x9b, 0xee, 0x36, 0x6c, 0x57, 0x62, 0xcb, 0xb4, 0xe9, 0xd6, 0x12, 0x18, 0xbd, 0x82, 0x1c, 0x69, 0x96, 0x34, 0x6f, 0x07, 0xfa, 0xa2, 0x25, 0xff, 0x96, 0x8c, 0x8b, 0xd8, 0xf3, 0x81, 0x50, 0xc1, 0x03, 0x77, 0x00, 0x11, 0x22, 0x58, 0x1b, 0xb3, 0x67, 0x94, 0x8e, 0xc4, 0x4c, 0x15, 0x2f, 0x9e, 0x84, 0xa1, 0xb8, 0x6b, 0x02, 0xdc, 0x68, 0xcf, 0x54, 0x18, 0xc2, 0x10, 0xf7, 0xe9, 0xb8, 0xba, 0xa1, 0x9e, 0x3c, 0x6a, 0x19, 0x95, 0x82, 0x0b, 0x80, 0x4e, 0xea, 0xd4, 0xaf, 0x7a, 0x1b, 0xb6, 0x38, 0xf0, 0xf8, 0xc0, 0x68, 0x53, 0x23, 0x06, 0xc8, 0x42, 0x47, 0x1d, 0x9d, 0x03, 0x39, 0xb5, 0x37, 0x59, 0xd5, 0x33, 0xd0, 0x30, 0xd8, 0x37, 0x7b, 0x82, 0xed, 0x76, 0x3c, 0x73, 0x4d, 0xcb, 0xd3, 0xfa, 0x7a, 0x43, 0x90, 0x86, 0xd7, 0x6e, 0x19, 0x14, 0xff, 0xdb, 0x35, 0xed, 0x2a, 0xbb, 0xcc, 0x2a, 0xb7, 0x82, 0x06, 0x79, 0x79, 0x74, 0x9b, 0xfa, 0x9d, 0x1a, 0xe8, 0xeb, 0x5d, 0xe0, 0x35, 0x73, 0x1e, 0xe1, 0xfd, 0x9a, 0x3a, 0x4a, 0x11, 0x30, 0x61, 0x1a, 0xcb, 0xef, 0x19, 0x2c, 0x65, 0x6d, 0xca, 0x0f, 0x7d, 0x63, 0x1f, 0x6a, 0x0c, 0x87, 0x5e, 0x7b, 0xf6, 0xd2, 0x6b, 0x32, 0x5d, 0x79, 0x80, 0x05, 0x1a, 0xdf, 0x76, 0xa3, 0xdd, 0x39, 0x1d, 0xca, 0xf6, 0x37, 0x21, 0xc6, 0xc5, 0x3d, 0x82, 0xcb, 0xdc, 0x94, 0xcb, 0xf7, 0xfe, 0x82, 0x26, 0x17, 0x6d, 0x18, 0xd3, 0xa5, 0xa9, 0x04, 0xe3, 0x7a, 0x14, 0xe5, 0x07, 0x81, 0xa0, 0x03, 0xe5, 0x52, 0x2e, 0xd0, 0x48, 0x18, 0x27, 0x8a, 0x12, 0x3e, 0x27, 0xef, 0x26, 0x66, 0x4b, 0x2d, 0x04, 0x0e, 0x03, 0xc9, 0xb5, 0x67, 0x20, 0x48, 0xcb, 0x19, 0x3e, 0x40, 0x6d, 0xb2, 0x72, 0x2f, 0xb3, 0x7a, 0xb6, 0x20, 0x03, 0xc9, 0x74, 0xb2, 0x73, 0x26, 0x85, 0x55, 0xad, 0xa3, 0x48, 0x7c, 0x3c, 0x9f, 0x50, 0x24, 0xce, 0x28, 0x45, 0x2f, 0x2d, 0xab, 0x5e, 0x00, 0xef, 0x95, 0x62, 0x40, 0x97, 0x17, 0x97, 0xbb, 0x1b, 0x2e, 0x28, 0xa6, 0x80, 0x23, 0x70, 0xcf, 0x47, 0x8a, 0x12, 0x19, 0xe0, 0x84, 0xae, 0xb2, 0x1b, 0x2e, 0xd3, 0xf3, 0x6d, 0xcb, 0x91, 0x20, 0xc6, 0x21, 0x73, 0xa1, 0x2f, 0x92, 0xcb, 0xdf, 0x16, 0x8a, 0x38, 0xdd, 0x10, 0xed, 0xc5, 0x54, 0x78, 0xc4, 0xcf, 0x7c, 0x58, 0x99, 0x92, 0x13, 0xca, 0x09, 0x91, 0xa5, 0x47, 0xc5, 0x7f, 0xf5, 0x7e, 0x22, 0x58, 0xb8, 0xe0, 0xcd, 0x32, 0xe2, 0xc4, 0xa3, 0x40, 0x4a, 0x97, 0x04, 0x79, 0xed, 0x93, 0x14, 0x90, 0xd0, 0x62, 0x48, 0x42, 0x17, 0xb2, 0xb9, 0x16, 0xe8, 0x2d, 0x45, 0xaa, 0x65, 0x4c, 0xe5, 0x7e, 0x5b, 0x05, 0xae, 0xed, 0x6b, 0x51, 0xb3, 0xc8, 0xa4, 0x6b, 0x59, 0x1c, 0x9d, 0x9f, 0x0d, 0xae, 0xdd, 0x20, 0x12, 0xe9, 0x61, 0x5e, 0x2a, 0x73, 0x1d, 0xd8, 0xcd, 0x49, 0x2d, 0x3a, 0x3b, 0x1d, 0x5c, 0xf7, 0x43, 0x1d, 0x1b, 0x40, 0x3b, 0x1f, 0x60, 0xb9, 0x4d, 0x0d, 0x28, 0x23, 0xa2, 0xd3, 0x93, 0x62, 0x51, 0x8e, 0x8e, 0x71, 0xb4, 0x28, 0x2d, 0x5c, 0x50, 0x88, 0xe6, 0x70, 0x30, 0xc5, 0x2f, 0x38, 0x4d, 0x59, 0x52, 0x9c, 0x35, 0x4a, 0x54, 0x2e, 0x87, 0x3d, 0x07, 0x49, 0x91, 0xf5, 0x1d, 0x6a, 0xd1, 0x05, 0xd4, 0x0b, 0x12, 0xea, 0xd6, 0xb7, 0x31, 0xd7, 0x99, 0xa0, 0x68, 0x7f, 0x04, 0x01, 0xb3, 0xe6, 0xea, 0x1e, 0x45, 0x09, 0x21, 0xee, 0x92, 0x93, 0x09, 0x9f, 0x7d, 0x36, 0x51, 0xe1, 0x56, 0x34, 0x76, 0x52, 0xba, 0x3a, 0xd6, 0x6b, 0x16, 0x30, 0x6c, 0xf7, 0x4b, 0xe2, 0x94, 0x0e, 0x09, 0x5a, 0xa2, 0x2b, 0x93, 0x84, 0x5d, 0x4e, 0x66, 0xda, 0xad, 0x20, 0xc0, 0xe9, 0x98, 0x71, 0x30, 0xcb, 0x3a, 0x10, 0x26, 0x83, 0x1e, 0x20, 0xd3, 0xe1, 0x06, 0x40, 0xa8, 0xba, 0xb5, 0x9d, 0x24, 0xfb, 0xe4, 0x6a, 0xf9, 0xa9, 0xbd, 0x1f, 0x38, 0xe3, 0x99, 0x02, 0x65, 0xdd, 0x36, 0x84, 0x36, 0x9f, 0x8c, 0xb4, 0x19, 0xd3, 0x87, 0xd3, 0x37, 0x67, 0x66, 0xb7, 0x64, 0x77, 0x28, 0x85, 0xd6, 0xac, 0x15, 0xcb, 0x5a, 0x94, 0x6d, 0xd2, 0x99, 0x78, 0x41, 0x9f, 0x65, 0x96, 0xfe, 0x9d, 0x52, 0xad, 0x6c, 0x83, 0x7b, 0xe4, 0x7f, 0xe8, 0x3a, 0x57, 0x49, 0xb6, 0x56, 0x9a, 0x4e, 0x76, 0xe9, 0xd8, 0x94, 0x7f, 0x70, 0x8c, 0x2f, 0x98, 0x7f, 0xbc, 0x12, 0x39, 0x65, 0xbb, 0x0e, 0x6f, 0x4a, 0x28, 0xc7, 0x02, 0x46, 0x06, 0x02, 0x69, 0x93, 0xca, 0x17, 0x3d, 0xe5, 0x82, 0x74, 0x33, 0x9b, 0x5d, 0x57, 0x07, 0xd9, 0xc9, 0x0b, 0x29, 0x7a, 0x5c, 0x7f, 0x7b, 0x75, 0xf1, 0xbe, 0x77, 0x7d, 0xb1, 0x41, 0x09, 0x7b, 0x34, 0xf2, 0x8a, 0x14, 0x91, 0xd2, 0xf4, 0x49, 0xb5, 0x28, 0x25, 0xe2, 0x6b, 0x5b, 0x2f, 0x37, 0xa4, 0xd0, 0x87, 0x45, 0x0a, 0x4d, 0x4f, 0xdf, 0xf2, 0xda, 0x97, 0x64, 0xac, 0x89, 0xc4, 0xd4, 0x22, 0x15, 0xfd, 0x8e, 0x23, 0x27, 0x8e, 0xc5, 0x29, 0x1d, 0xc2, 0xb9, 0x87, 0xcb, 0xf2, 0x31, 0x92, 0xda, 0x52, 0xc4, 0x2c, 0x24, 0x5b, 0xca, 0x8f, 0x0e, 0x98, 0xde, 0xdb, 0x06, 0xa9, 0x08, 0xab, 0xee, 0xb8, 0xac, 0xab, 0xca, 0xe1, 0xfa, 0xc6, 0x45, 0x91, 0xdf, 0xab, 0xe0, 0x92, 0xda, 0x6f, 0x98, 0x3a, 0x1e, 0x52, 0xf1, 0xd8, 0x8a, 0xee, 0x22, 0x80, 0x65, 0xda, 0x39, 0x7c, 0xa5, 0xfa, 0xb7, 0x5f, 0xc7, 0xdc, 0xd0, 0x0c, 0xf0, 0x5e, 0x55, 0x2c, 0xb1, 0xa4, 0x34, 0xec, 0x76, 0x3e, 0x43, 0x36, 0x59, 0x4f, 0x19, 0xef, 0x0a, 0xa2, 0x22, 0x02, 0xf0, 0x50, 0xaf, 0x37, 0xe3, 0x97, 0x24, 0xff, 0x04, 0xc7, 0x14, 0xff, 0xec, 0xdd, 0x60, 0x81, 0x5a, 0x46, 0x8d, 0x1e, 0xdb, 0xb8, 0x52, 0xda, 0xb8, 0xcd, 0xc5, 0x4b, 0x2b, 0xee, 0xbf, 0xa9, 0x49, 0x38, 0x04, 0xa6, 0x46, 0xcc, 0x00, 0x7f, 0xea, 0xe9, 0x92, 0x8a, 0x92, 0x94, 0x22, 0x42, 0xc5, 0x78, 0x39, 0xa2, 0x63, 0xc2, 0x88, 0x1f, 0xb6, 0xf7, 0x1c, 0x32, 0x6e, 0xab, 0x82, 0x3c, 0xe0, 0xd0, 0x36, 0x5d, 0x9e, 0x1d, 0x38, 0x4d, 0x2d, 0x2b, 0xe2, 0xc7, 0x6c, 0xcf, 0x32, 0x54, 0x26, 0x31, 0xf7, 0x35, 0x61, 0xc5, 0xb2, 0x68, 0xda, 0x9c, 0x18, 0x55, 0xd2, 0x9e, 0xc9, 0x3e, 0xbb, 0x42, 0xd0, 0x7c, 0x82, 0x0b, 0x97, 0xa0, 0x3f, 0x22, 0x5b, 0x22, 0x01, 0x53, 0xd0, 0xfd, 0xeb, 0xb8, 0x04, 0xbe, 0x54, 0x1f, 0x6f, 0x63, 0x85, 0x7b, 0x7a, 0xa9, 0x85, 0x15, 0xce, 0xe9, 0xd5, 0x0e, 0x24, 0x7c, 0x72, 0xa7, 0x35, 0x8c, 0x0b, 0x4e, 0xcd, 0x70, 0x76, 0x5c, 0x58, 0x14, 0x01, 0x2f, 0x52, 0xae, 0x7a, 0x4c, 0xdd, 0xae, 0xef, 0x42, 0xcc, 0x29, 0x36, 0xfd, 0x1c, 0xab, 0x48, 0x3f, 0x1a, 0xad, 0x6b, 0xe5, 0xa7, 0xa9, 0x44, 0x3a, 0x93, 0x5f, 0x1d, 0x98, 0xd2, 0x54, 0xe4, 0x69, 0x8d, 0xe1, 0x76, 0x7f, 0xf8, 0xa1, 0xde, 0x7f, 0x79, 0xa3, 0x0d, 0x0c, 0x43, 0x6a, 0x52, 0xc6, 0xcc, 0xfb, 0x74, 0xc2, 0x5e, 0x5d, 0x9d, 0x92, 0x1d, 0x86, 0x18, 0x28, 0x8b, 0x9f, 0x1d, 0x30, 0xe2, 0x29, 0x02, 0x13, 0xf0, 0x46, 0x8b, 0xad, 0x6a, 0x29, 0x1c, 0x04, 0x93, 0x71, 0x1a, 0xc8, 0x59, 0x24, 0x86, 0xab, 0xb9, 0x17, 0x1c, 0x53, 0xa1, 0x9c, 0x74, 0x77, 0xbb, 0x4a, 0xeb, 0x9c, 0xb9, 0xc1, 0xd8, 0x82, 0x00, 0x35, 0xaf, 0x6e, 0x12, 0x6d, 0x80, 0x33, 0x4d, 0xe9, 0x25, 0xc9, 0x7b, 0x6e, 0x2b, 0x81, 0x69, 0xb1, 0xa3, 0x22, 0x11, 0x6f, 0x83, 0x36, 0x01, 0xf2, 0xa2, 0xc8, 0x08, 0xda, 0xc3, 0x97, 0x87, 0x9c, 0xaa, 0xb1, 0x73, 0x5f, 0x2c, 0xde, 0x62, 0xe3, 0xc4, 0xa4, 0x0c, 0xc3, 0xd7, 0xde, 0xef, 0x73, 0x82, 0xd8, 0xa4, 0xde, 0x4b, 0x04, 0x1b, 0x97, 0xb3, 0x63, 0x4b, 0xda, 0x07, 0xb3, 0xbc, 0xf9, 0xb3, 0xde, 0xdc, 0xbe, 0x1b, 0xbc, 0x44, 0x2a, 0x08, 0x85, 0x40, 0x95, 0x99, 0xe0, 0xb9, 0x20, 0xb6, 0x2f, 0xe6, 0xc2, 0x69, 0x4b, 0x32, 0xf4, 0x14, 0x6b, 0x8c, 0x9c, 0xd5, 0x69, 0x42, 0xa2, 0x98, 0x93, 0xf1, 0xe2, 0x03, 0x4d, 0xdb, 0x2b, 0x8b, 0x39, 0x3c, 0xe4, 0xf4, 0xb4, 0xb8, 0x74, 0xec, 0xdc, 0x02, 0xa3, 0xb4, 0x47, 0x8f, 0x95, 0x6d, 0xe9, 0x26, 0x82, 0x3c, 0x4e, 0x39, 0x70, 0xdc, 0x3e, 0xc5, 0xdd, 0x33, 0x75, 0x93, 0x19, 0xd4, 0x13, 0x29, 0x34, 0x93, 0x3e, 0x1c, 0xdf, 0x9c, 0x5c, 0x37, 0xaf, 0x96, 0x1b, 0x39, 0x24, 0x8c, 0x11, 0xf8, 0xf7, 0xe5, 0x87, 0xeb, 0x0d, 0x6a, 0x4e, 0xa6, 0x80, 0xc1, 0x55, 0xad, 0xe9, 0x8c, 0xa9, 0x5f, 0xf5, 0x4b, 0x71, 0x18, 0xd5, 0x43, 0xf8, 0x94, 0x24, 0x03, 0xc9, 0xcd, 0x40, 0x1f, 0xcb, 0xee, 0xd6, 0x36, 0xd8, 0x51, 0x5b, 0x3b, 0xd4, 0x70, 0x7a, 0x77, 0x6b, 0xd7, 0x00, 0x21, 0xe8, 0x53, 0x7e, 0x9b, 0x0a, 0x7e, 0x91, 0x5c, 0x26, 0x44, 0xf7, 0xbb, 0x0f, 0x0f, 0xf4, 0xe3, 0x7a, 0x79, 0x45, 0xcf, 0x94, 0x24, 0xba, 0xd3, 0x0c, 0xca, 0x7d, 0x67, 0xbf, 0x29, 0xb2, 0xb7, 0xcc, 0xb8, 0x00, 0x98, 0x1a, 0x7a, 0x23, 0x6e, 0x48, 0xbf, 0xbd, 0xbb, 0x95, 0xd3, 0xaa, 0x4f, 0xd0, 0xd1, 0xdc, 0xf6, 0x74, 0x40, 0x2c, 0x2e, 0xe2, 0x8c, 0xa0, 0x90, 0x78, 0xac, 0x19, 0x9f, 0x11, 0xbc, 0x26, 0xd8, 0x83, 0x07, 0xbb, 0x43, 0xa6, 0x65, 0xaa, 0x30, 0x00, 0x10, 0x74, 0xc2, 0x8e, 0x4c, 0x31, 0x4d, 0xc0, 0x09, 0x81, 0xfc, 0xef, 0x00, 0xd3, 0x44, 0xe0, 0x4e, 0xd0, 0xfe, 0xea, 0x5f, 0x35, 0x8f, 0x8f, 0xff, 0xb5, 0x5b, 0x97, 0x94, 0xe8, 0x1e, 0xd6, 0x41, 0x0f, 0xe5, 0x2f, 0x9e, 0xaf, 0x92, 0xfa, 0x0c, 0x93, 0x6e, 0x4c, 0x1d, 0x62, 0x36, 0x6a, 0xfe, 0x13, 0x1a, 0xc3, 0x4c, 0x4c, 0xb4, 0x14, 0xe9, 0xe0, 0xce, 0x2c, 0xba, 0x49, 0x1b, 0x35, 0xf9, 0xd0, 0x6f, 0x6b, 0x00, 0xa8, 0x9a, 0xa0, 0x37, 0xbe, 0x26, 0x58, 0x18, 0xc4, 0x00, 0x47, 0x25, 0xce, 0x17, 0xa1, 0xbb, 0x5b, 0x2a, 0xf8, 0x03, 0x0a, 0x57, 0xe3, 0x6c, 0x97, 0x39, 0x36, 0xa6, 0x13, 0x1d, 0x55, 0xd4, 0x0f, 0x9a, 0xfc, 0x60, 0xbe, 0x89, 0x8a, 0x5b, 0xd1, 0xe5, 0xad, 0xa0, 0x3e, 0xeb, 0xd8, 0x30, 0x47, 0x53, 0x30, 0x6b, 0x33, 0xe5, 0x40, 0xc8, 0xdc, 0x4d, 0xd4, 0x08, 0x65, 0xd8, 0x0e, 0x35, 0x79, 0x2f, 0x6a, 0x2c, 0x14, 0xee, 0x21, 0x8a, 0x56, 0x54, 0xfb, 0xa5, 0x1b, 0xf4, 0x5e, 0x97, 0xfe, 0xb6, 0xbf, 0xf5, 0x8a, 0x4f, 0xf4, 0xf4, 0xe4, 0xfa, 0x6d, 0xd3, 0x99, 0x57, 0x00, 0x41, 0xf1, 0x7f, 0x7b, 0x49, 0x5c, 0xdc, 0x80, 0x71, 0x81, 0x50, 0x49, 0x3d, 0xec, 0xbf, 0xd1, 0xdb, 0xda, 0x0a, 0xe5, 0x6d, 0x7c, 0x42, 0x78, 0x88, 0xdd, 0xbd, 0x7a, 0x48, 0x0f, 0x55, 0xfa, 0x1e, 0x6e, 0x77, 0x3b, 0x92, 0x6f, 0x9d, 0xbc, 0x62, 0xd5, 0x9d, 0xe5, 0xf1, 0x5a, 0xc0, 0x3e, 0x89, 0x0c, 0x24, 0x74, 0xd4, 0x04, 0xc2, 0x74, 0x4c, 0xec, 0xa6, 0x7a, 0x63, 0xb2, 0x93, 0x40, 0xcc, 0x93, 0x4c, 0xaa, 0x1e, 0x37, 0x22, 0xee, 0x23, 0xc9, 0xed, 0xde, 0x2a, 0x62, 0x00, 0x64, 0x41, 0x04, 0x0b, 0xe7, 0x4b, 0xa9, 0x1d, 0x2c, 0x12, 0x84, 0x5c, 0x63, 0xb5, 0x4f, 0xda, 0x66, 0x3d, 0x0d, 0x1b, 0x47, 0x5b, 0x50, 0x8c, 0x16, 0x52, 0x44, 0xca, 0xff, 0x46, 0x51, 0x5c, 0xcb, 0x9f, 0xdd, 0xd9, 0x0f, 0x6c, 0x1c, 0x09, 0xec, 0x5f, 0xb9, 0x71, 0x56, 0x39, 0x62, 0xff, 0x1d, 0x19, 0xbc, 0xa6, 0xd4, 0x2d, 0x90, 0xa9, 0xad, 0x6d, 0x9d, 0x7f, 0xf1, 0x5a, 0x70, 0xb7, 0xfb, 0xab, 0xc0, 0x27, 0xed, 0x5b, 0xbf, 0x72, 0x2d, 0x5d, 0xdb, 0xf9, 0x04, 0xa5, 0xc7, 0x5c, 0x1a, 0xbb, 0x91, 0x9f, 0x81, 0x02, 0x9a, 0x4d, 0x60, 0x98, 0x64, 0x91, 0xd0, 0xe2, 0xdd, 0xbc, 0x05, 0x87, 0xb8, 0x8d, 0x8d, 0x8a, 0xb6, 0xa2, 0x16, 0x44, 0x82, 0x10, 0x4d, 0x17, 0x88, 0xf8, 0x51, 0x06, 0xfd, 0x2c, 0x62, 0xe6, 0xb3, 0x1f, 0x81, 0x36, 0x53, 0x5d, 0xb2, 0x5d, 0x11, 0x63, 0xf2, 0xba, 0xee, 0xb1, 0xf2, 0x2c, 0x4f, 0x69, 0xbc, 0x8b, 0x67, 0x68, 0xae, 0xd3, 0x18, 0xe6, 0xb0, 0x72, 0x5b, 0x59, 0xcf, 0x83, 0xe7, 0x2d, 0xe2, 0xdf, 0x9d, 0x47, 0x66, 0xde, 0xe7, 0x84, 0x47, 0x55, 0x66, 0xbf, 0xbb, 0x7a, 0xfb, 0x17, 0xb5, 0xbb, 0x37, 0xba, 0x2d, 0x96, 0x70, 0x63, 0xba, 0xc3, 0xc4, 0x49, 0x04, 0x14, 0x08, 0x88, 0xda, 0xae, 0xf3, 0xbf, 0x6c, 0x96, 0xa5, 0x17, 0x54, 0xa0, 0xa4, 0x8f, 0x75, 0x0c, 0xb3, 0xc1, 0x73, 0x03, 0x31, 0xe9, 0x76, 0xfb, 0xfb, 0xe4, 0x0f, 0x79, 0x7b, 0xbc, 0xbf, 0xbb, 0xb3, 0x0d, 0x56, 0xeb, 0x7a, 0x83, 0x5b, 0x6c, 0x7c, 0xf6, 0xac, 0xdd, 0x36, 0xe7, 0x9d, 0x3c, 0x2c, 0x90, 0xf6, 0xd6, 0x4f, 0x7e, 0xb8, 0x3c, 0xf7, 0xd6, 0x08, 0x6b, 0xf2, 0x02, 0xa9, 0x6d, 0x6b, 0xb4, 0xba, 0x40, 0x6d, 0x7c, 0xcd, 0x3f, 0xa6, 0x86, 0xd5, 0x81, 0x50, 0xe5, 0xdb, 0x22, 0x45, 0x1d, 0xb7, 0x83, 0x5b, 0xd2, 0x39, 0xcb, 0xb3, 0x31, 0x88, 0xfe, 0x0b, 0x84, 0xe8, 0x4b, 0x3a, 0xa0, 0xab, 0x3f, 0xb9, 0xba, 0xf6, 0x6b, 0xf2, 0xbe, 0x4b, 0x57, 0x25, 0xf3, 0x33, 0x5c, 0xde, 0xd3, 0x0f, 0x09, 0x11, 0x19, 0xc1, 0x4d, 0xb8, 0xc6, 0x64, 0x39, 0x4d, 0xd8, 0xbd, 0x8b, 0xa6, 0x59, 0xfd, 0xb6, 0x3d, 0x50, 0x43, 0x22, 0xf2, 0xf8, 0x1c, 0x92, 0x43, 0xbb, 0x2d, 0x16, 0xc2, 0xdc, 0x52, 0xa3, 0x21, 0xec, 0x23, 0x5a, 0x57, 0xb7, 0xfe, 0x86, 0xd3, 0xd1, 0x9d, 0xc0, 0x3b, 0x39, 0xd6, 0x81, 0x7a, 0x5b, 0x80, 0xe7, 0xd2, 0x63, 0xd6, 0xae, 0x48, 0xeb, 0x29, 0xf1, 0x74, 0x13, 0x09, 0x0c, 0xa2, 0x5b, 0xc7, 0x2e, 0x0c, 0xf9, 0xc0, 0x29, 0x83, 0x80, 0x3a, 0xee, 0xc5, 0x59, 0x1d, 0xe7, 0x15, 0xc1, 0x0c, 0xd8, 0xfa, 0x49, 0x1e, 0xa8, 0x89, 0x2a, 0xa8, 0x88, 0x2f, 0x76, 0x7d, 0x79, 0x24, 0x4b, 0x11, 0x78, 0x17, 0x71, 0x33, 0x19, 0x28, 0xea, 0xb7, 0x56, 0xed, 0xed, 0x06, 0xe3, 0x10, 0xa1, 0x90, 0x14, 0x47, 0x25, 0xc4, 0x3a, 0x6b, 0xc4, 0x25, 0xdc, 0x38, 0x04, 0xdd, 0x14, 0x8c, 0x44, 0x48, 0x94, 0xc1, 0x37, 0x54, 0x9c, 0xc8, 0x44, 0x7b, 0x68, 0x62, 0x45, 0x30, 0xa2, 0x69, 0x82, 0x9a, 0xd0, 0x44, 0x8d, 0xf8, 0xf6, 0x3f, 0x0f, 0x10, 0xdf, 0xf9, 0xc5, 0xf5, 0xc9, 0x81, 0x40, 0x7c, 0x29, 0x16, 0x8e, 0x9a, 0x09, 0x9c, 0x98, 0xc6, 0x8d, 0xdc, 0xb9, 0xe6, 0x10, 0x85, 0xac, 0x9e, 0x7a, 0x37, 0x74, 0xe5, 0x29, 0x47, 0x1c, 0xaf, 0x09, 0x7b, 0x79, 0xab, 0x56, 0x84, 0x5c, 0x2a, 0xf5, 0x17, 0xcb, 0x80, 0xe9, 0x09, 0xcf, 0xdf, 0x47, 0x46, 0x21, 0xf8, 0x0c, 0x42, 0xa4, 0x60, 0x79, 0xeb, 0x91, 0x10, 0x8b, 0x32, 0x36, 0xb8, 0x4c, 0xc2, 0xe2, 0x08, 0xfb, 0xa9, 0xfa, 0x4d, 0x40, 0x29, 0x42, 0xf7, 0x56, 0x1a, 0xc9, 0x93, 0x3d, 0x62, 0x60, 0x36, 0x57, 0x89, 0x38, 0x1b, 0x48, 0x6c, 0x5e, 0x2a, 0x31, 0xce, 0xd0, 0x0b, 0xf8, 0x65, 0x2b, 0xcc, 0x55, 0xe5, 0xdc, 0x27, 0xa5, 0x13, 0xb8, 0x47, 0x6a, 0xa5, 0xa1, 0x55, 0x69, 0xcc, 0x14, 0xc1, 0xb0, 0xf1, 0xc3, 0xd7, 0xc4, 0x02, 0xeb, 0x6e, 0x11, 0xd5, 0xd2, 0xba, 0x46, 0x5d, 0xa3, 0xc4, 0x9d, 0x84, 0xca, 0xb2, 0xd8, 0x00, 0x27, 0x6d, 0xa1, 0x05, 0x89, 0xd5, 0xc5, 0x18, 0x10, 0xa5, 0x1a, 0x45, 0xdf, 0x08, 0x04, 0xb7, 0x5b, 0x81, 0x40, 0x3a, 0x1f, 0x59, 0xb3, 0x29, 0x03, 0x3d, 0xc0, 0x47, 0xf6, 0xb7, 0x5a, 0x6c, 0x59, 0x56, 0x79, 0x07, 0x49, 0x5d, 0xd0, 0xc2, 0x1b, 0xbd, 0x6d, 0xe3, 0x84, 0x4d, 0xa9, 0xb8, 0x5d, 0xd0, 0xdc, 0x3e, 0x5d, 0x88, 0x69, 0xde, 0x95, 0x33, 0x5a, 0x99, 0xc7, 0xf8, 0x5e, 0xc3, 0xbe, 0xf8, 0x50, 0x9a, 0x69, 0x8a, 0x1a, 0x6b, 0x4a, 0x1c, 0xc5, 0x53, 0xd0, 0x5a, 0xb8, 0x99, 0x39, 0x46, 0xcf, 0x6d, 0xf0, 0xdb, 0x37, 0xe6, 0xd0, 0x49, 0xd1, 0x8f, 0x22, 0x17, 0x81, 0x4c, 0x4b, 0x8e, 0xe4, 0x60, 0x70, 0xd7, 0xc9, 0xdf, 0x36, 0xc4, 0xfa, 0xfd, 0xe8, 0x6f, 0xf9, 0x50, 0x9c, 0x30, 0x68, 0x39, 0x86, 0x90, 0x7c, 0x26, 0x94, 0x3f, 0xbf, 0x04, 0x2a, 0x1b, 0x2f, 0xd9, 0xaf, 0x8a, 0x13, 0x92, 0x4c, 0x6c, 0x6e, 0xfd, 0x8c, 0x01, 0x8f, 0x68, 0x4a, 0x38, 0x9a, 0x9c, 0x0a, 0xaa, 0x85, 0xe8, 0x7e, 0xb5, 0xf3, 0x4e, 0x13, 0xad, 0x25, 0x1e, 0xa1, 0x37, 0x04, 0x06, 0x17, 0x70, 0x04, 0x06, 0xdc, 0xb3, 0x09, 0xeb, 0xf1, 0xa8, 0x5a, 0xca, 0xc6, 0x37, 0x67, 0x97, 0xab, 0x97, 0x14, 0xde, 0x25, 0x18, 0x78, 0xca, 0x42, 0x1a, 0x01, 0xe5, 0xc5, 0xa3, 0x47, 0xd5, 0x17, 0xac, 0x70, 0x15, 0x40, 0x47, 0x0b, 0x1a, 0xef, 0xd7, 0x78, 0xea, 0x24, 0x30, 0xda, 0x99, 0x96, 0x2d, 0xdd, 0x5a, 0x7e, 0x53, 0x3b, 0xc5, 0xed, 0xb9, 0xc5, 0x4e, 0x67, 0x05, 0x9e, 0xac, 0x5d, 0xf5, 0xa4, 0x8a, 0x71, 0x97, 0x57, 0x16, 0xa3, 0x5b, 0x97, 0x80, 0xa9, 0xac, 0xa1, 0xc8, 0x20, 0xd5, 0x33, 0x62, 0x8d, 0x0d, 0xc5, 0xc1, 0xb5, 0xe1, 0xd4, 0xa9, 0xaf, 0x47, 0xbc, 0x97, 0xaf, 0x30, 0x3f, 0x5c, 0x27, 0x66, 0x65, 0x2b, 0x4a, 0x71, 0x98, 0x3d, 0xce, 0x18, 0x8b, 0xf6, 0x3f, 0xdf, 0xdf, 0xdb, 0xd0, 0xe6, 0xc5, 0x9a, 0x85, 0xb8, 0x11, 0xea, 0x00, 0x48, 0x37, 0x4e, 0x7a, 0x2a, 0x90, 0x5e, 0x93, 0x62, 0x8f, 0x4c, 0x46, 0xeb, 0x10, 0xc7, 0x66, 0xca, 0x4d, 0xb3, 0xd0, 0xc5, 0x4e, 0xed, 0xe7, 0x98, 0x29, 0x7b, 0xf9, 0x03, 0xf8, 0xb1, 0x84, 0x5f, 0x5e, 0x27, 0x0e, 0x1f, 0x97, 0x96, 0x79, 0xdb, 0xca, 0x20, 0x86, 0xf6, 0x27, 0x25, 0x4d, 0x53, 0xdf, 0x36, 0xa8, 0x7c, 0x3d, 0x58, 0x56, 0xce, 0xe9, 0xe7, 0xa4, 0xa9, 0x8a, 0xea, 0x71, 0x83, 0x1d, 0xd9, 0x73, 0x47, 0x2e, 0xb0, 0x6f, 0x84, 0x6b, 0xbb, 0x58, 0xf0, 0x84, 0x80, 0xaa, 0x09, 0x67, 0xa2, 0xe4, 0x0c, 0xa9, 0xfa, 0x3e, 0x32, 0xf4, 0x29, 0x81, 0x2f, 0xc8, 0xfb, 0x92, 0x20, 0x25, 0x67, 0xc2, 0x88, 0xbb, 0x9e, 0x40, 0x9e, 0x6b, 0x77, 0x28, 0x56, 0x3d, 0xf2, 0xc2, 0x96, 0xe6, 0x72, 0x90, 0x86, 0xc5, 0x25, 0xe5, 0x0b, 0xb7, 0x01, 0xef, 0xa8, 0x1b, 0x24, 0x56, 0x8c, 0x90, 0xda, 0xcc, 0x5a, 0xeb, 0x5b, 0x94, 0xda, 0x14, 0x8a, 0xa7, 0x59, 0xd6, 0xa2, 0x7f, 0x37, 0x54, 0xe9, 0x57, 0xb4, 0xf1, 0x57, 0x1b, 0x1b, 0xd1, 0x32, 0x7b, 0xb2, 0xa4, 0x18, 0x37, 0x8f, 0x7c, 0x29, 0x7e, 0x73, 0xd8, 0x59, 0xb4, 0x4e, 0x13, 0xde, 0xdc, 0xdc, 0x78, 0x7a, 0xd2, 0xf2, 0xe4, 0x53, 0x93, 0xbc, 0x64, 0xc7, 0x86, 0xd3, 0x4e, 0x62, 0xe2, 0xcc, 0x01, 0xbf, 0xe9, 0xc0, 0x65, 0x74, 0x99, 0x22, 0xc9, 0xc1, 0x9c, 0x21, 0xe6, 0x69, 0xfc, 0xe8, 0x3b, 0xf1, 0x35, 0x2b, 0x8d, 0x17, 0x58, 0x5f, 0xbb, 0xd6, 0x23, 0x13, 0x9c, 0x9f, 0xb0, 0x10, 0x4c, 0x8d, 0x22, 0x7c, 0xb5, 0x23, 0x20, 0x42, 0x5f, 0xdf, 0xb4, 0xd3, 0x72, 0x16, 0x47, 0x26, 0x6e, 0xda, 0x8d, 0x1c, 0x37, 0x3b, 0xdf, 0x42, 0xf5, 0x41, 0xb0, 0x3b, 0x3e, 0x50, 0x1b, 0xa1, 0x4f, 0x9b, 0x0c, 0x4b, 0xee, 0xa4, 0xde, 0xf7, 0x10, 0x91, 0xf9, 0x49, 0xdb, 0xcd, 0x3b, 0xd0, 0x4b, 0xc1, 0x75, 0x91, 0xca, 0x80, 0xc0, 0x51, 0x6f, 0xed, 0x9a, 0x19, 0x8f, 0x98, 0x3b, 0xb6, 0x4b, 0x43, 0x3e, 0x1d, 0x0c, 0xa7, 0xeb, 0x31, 0x5e, 0x9a, 0x9b, 0xa1, 0x6f, 0xda, 0x31, 0x06, 0xe3, 0x19, 0xf2, 0x4f, 0x6b, 0x9b, 0xd9, 0xe5, 0x3b, 0x4a, 0x30, 0x38, 0x21, 0x5d, 0x9d, 0xba, 0x26, 0xfa, 0x48, 0x0e, 0x66, 0x0f, 0x57, 0xa6, 0xe0, 0x99, 0x1c, 0x3c, 0xf2, 0xf3, 0x4a, 0x16, 0x9e, 0x2f, 0x67, 0xd5, 0xd7, 0xa6, 0x83, 0xd6, 0x7d, 0x0d, 0x2f, 0xeb, 0xbe, 0x06, 0x03, 0x4a, 0x11, 0xd6, 0xd0, 0x38, 0xf9, 0xb2, 0x8c, 0xce, 0xf5, 0xb1, 0x68, 0x7d, 0x70, 0x79, 0x7e, 0xf2, 0xcd, 0xc5, 0xc6, 0x53, 0x3e, 0xca, 0x3a, 0xff, 0x37, 0xeb, 0x8a, 0x35, 0x4b, 0x58, 0xa6, 0x4f, 0xd6, 0xc9, 0x37, 0x83, 0x41, 0xef, 0xe8, 0xf2, 0x94, 0xba, 0x5c, 0x0e, 0xe0, 0xcf, 0x16, 0x2c, 0xf6, 0x3e, 0xb5, 0x02, 0xe8, 0x7d, 0x27, 0xb5, 0xa3, 0xa5, 0x26, 0x09, 0x92, 0x07, 0x10, 0x0f, 0x53, 0xd0, 0x13, 0x79, 0x8f, 0x0c, 0xb4, 0x07, 0x0d, 0xdf, 0x34, 0x79, 0x2e, 0x4f, 0x37, 0xe9, 0x53, 0xf8, 0x49, 0x5a, 0x50, 0x8b, 0xfb, 0x60, 0xe9, 0x37, 0xb8, 0x44, 0xcd, 0x87, 0x52, 0x4c, 0x89, 0x41, 0x6b, 0x32, 0x38, 0x58, 0x7e, 0x28, 0x4e, 0x6c, 0xc0, 0x2e, 0x5c, 0x7a, 0x83, 0xae, 0x30, 0xac, 0xad, 0x50, 0xd0, 0xd4, 0x86, 0xeb, 0x8d, 0x4c, 0x34, 0x86, 0xc6, 0x9b, 0x21, 0xfc, 0xc8, 0x40, 0xa3, 0xab, 0x4d, 0xa7, 0xc8, 0x5a, 0x6f, 0x19, 0x45, 0x07, 0x6b, 0xd2, 0x38, 0x3e, 0xcb, 0x97, 0xd3, 0x1b, 0x36, 0xb0, 0xea, 0x7e, 0x08, 0xe2, 0xe5, 0x1a, 0x7d, 0x35, 0xbd, 0x1b, 0x60, 0x92, 0x1e, 0x09, 0xd2, 0x3b, 0xaa, 0xf7, 0x14, 0x09, 0x06, 0x87, 0x58, 0xbd, 0xe1, 0xa4, 0x8b, 0xf1, 0xef, 0x82, 0x81, 0xbe, 0x42, 0x03, 0x19, 0x72, 0xe0, 0x94, 0xdc, 0x68, 0x59, 0x35, 0x9b, 0xcb, 0x5f, 0xe3, 0xec, 0x91, 0xdc, 0xa5, 0xe2, 0xbf, 0xa7, 0xfa, 0x4f, 0x43, 0xd3, 0x75, 0x42, 0xaf, 0x8a, 0x11, 0x19, 0xfa, 0x9c, 0x82, 0xca, 0x85, 0x9f, 0xab, 0x68, 0x96, 0x7a, 0xda, 0xcf, 0x41, 0x4c, 0x93, 0x69, 0xd7, 0xcb, 0xba, 0x3a, 0x4a, 0x17, 0xcc, 0x61, 0x09, 0x93, 0x89, 0x22, 0x2c, 0x44, 0x10, 0x60, 0x45, 0xd4, 0x02, 0x72, 0x3d, 0x1e, 0x96, 0xf9, 0x6c, 0x59, 0x91, 0x2e, 0x80, 0x4e, 0x51, 0x2c, 0xae, 0xd9, 0x20, 0xd2, 0x95, 0xf0, 0x25, 0x8c, 0x1a, 0x39, 0x09, 0xa8, 0x51, 0xa8, 0x0e, 0xc0, 0xb6, 0x27, 0xed, 0xdb, 0x10, 0x00, 0x47, 0x11, 0xc5, 0x3f, 0x81, 0x3b, 0xcb, 0x63, 0xd1, 0x50, 0x0b, 0x4a, 0x4b, 0xba, 0x53, 0xb0, 0x37, 0xff, 0xfc, 0xf4, 0xac, 0x6a, 0xbb, 0xa3, 0xde, 0x75, 0x64, 0xdd, 0xb5, 0x44, 0x75, 0xab, 0x35, 0x86, 0x38, 0x5b, 0x6b, 0xa6, 0xb2, 0x66, 0x0b, 0x0c, 0xf1, 0x96, 0x0c, 0x1f, 0xcd, 0xc7, 0xf8, 0x3b, 0x31, 0xe5, 0xf2, 0x18, 0x45, 0xf8, 0xb9, 0xd0, 0x4a, 0xf6, 0x30, 0xfa, 0xab, 0x92, 0x51, 0xea, 0x5f, 0x6a, 0x0c, 0xfd, 0x5d, 0xc2, 0x79, 0x67, 0x7c, 0xc4, 0x74, 0x1a, 0xb5, 0x43, 0x66, 0x2d, 0xbf, 0xd9, 0xd4, 0x0e, 0x37, 0xa2, 0x4f, 0x4f, 0x78, 0x04, 0x8c, 0xa1, 0x74, 0xb3, 0x2a, 0x55, 0x8f, 0xd0, 0xdf, 0x16, 0x73, 0x3b, 0x4d, 0x7e, 0xd9, 0xf9, 0x86, 0x29, 0x05, 0xca, 0x57, 0x77, 0xbc, 0xb5, 0xa7, 0xd3, 0x7f, 0xc6, 0x86, 0xd8, 0xf5, 0xdb, 0x1f, 0x7a, 0x96, 0x9d, 0x89, 0x17, 0x97, 0x04, 0x49, 0x69, 0x16, 0x05, 0x9c, 0xff, 0xa3, 0xfc, 0x05, 0xef, 0xc0, 0xf7, 0x69, 0x06, 0x9a, 0x61, 0xb9, 0xa1, 0xc4, 0x99, 0x66, 0x21, 0x18, 0x05, 0xe4, 0x1d, 0x6b, 0x25, 0x58, 0x62, 0xc0, 0x71, 0x6c, 0xa2, 0x1e, 0x2a, 0xce, 0x1c, 0xb0, 0xf1, 0x58, 0x91, 0xd3, 0xd8, 0xf4, 0x71, 0xe1, 0xd5, 0xcf, 0x8c, 0x0c, 0xd3, 0xa1, 0x31, 0x08, 0xbc, 0x18, 0xcc, 0x82, 0x2c, 0x7d, 0xe8, 0x9b, 0xe0, 0xbe, 0x41, 0x5f, 0x73, 0x83, 0x9b, 0xc0, 0x08, 0x03, 0x3d, 0xed, 0x89, 0xb3, 0x35, 0x43, 0x58, 0xb8, 0xbb, 0xb4, 0xce, 0xf5, 0xfd, 0x8d, 0x68, 0x52, 0x2d, 0xd6, 0xb7, 0x37, 0x18, 0xc3, 0x5e, 0x7a, 0xa9, 0xe7, 0x56, 0xdc, 0xfb, 0x5e, 0x1c, 0xcc, 0x2d, 0x8c, 0x8e, 0xcd, 0x67, 0x29, 0xb8, 0x89, 0x70, 0x6e, 0x54, 0xc5, 0x37, 0x91, 0x1b, 0xcc, 0x1b, 0x66, 0x1a, 0x30, 0x53, 0x1a, 0x73, 0x60, 0xef, 0xb8, 0x16, 0x7f, 0x81, 0xc8, 0xae, 0x54, 0xd9, 0x08, 0x16, 0x84, 0xed, 0x82, 0x2b, 0xbd, 0xc0, 0xa4, 0xf4, 0x19, 0x76, 0x6e, 0x36, 0xee, 0x21, 0x0f, 0x99, 0x16, 0x39, 0x88, 0xc8, 0x22, 0x80, 0x7f, 0x29, 0x36, 0xc5, 0x35, 0x55, 0xdf, 0xdc, 0xa5, 0x45, 0x9e, 0x11, 0xc4, 0xe8, 0x5d, 0x5c, 0xa4, 0x14, 0xe6, 0xef, 0xbc, 0xbb, 0x78, 0x7f, 0xd2, 0x71, 0x9d, 0x22, 0x93, 0x54, 0xfc, 0xe8, 0x74, 0x7e, 0x4d, 0x2f, 0xb5, 0x9e, 0x66, 0xc8, 0x69, 0x08, 0x22, 0x7d, 0xc4, 0x6a, 0x1f, 0x01, 0x31, 0x10, 0x54, 0x5c, 0x62, 0x22, 0xe4, 0xa0, 0x4a, 0x4a, 0x12, 0x80, 0xf4, 0x55, 0x54, 0x0a, 0xa3, 0x24, 0xa0, 0x50, 0xf7, 0x1b, 0x35, 0x0d, 0xa9, 0x03, 0x4e, 0xee, 0x76, 0xf6, 0x8b, 0x9c, 0xee, 0x7f, 0xa8, 0xe6, 0x6b, 0x5b, 0x14, 0xeb, 0x62, 0x6f, 0x8a, 0xc7, 0xf9, 0x23, 0x5a, 0x36, 0x6b, 0x75, 0x01, 0xb8, 0x56, 0xa2, 0x31, 0x5e, 0xad, 0xe9, 0xf6, 0x52, 0xba, 0xa8, 0xe5, 0xf1, 0x7e, 0xc7, 0xe5, 0x96, 0xaf, 0x33, 0x55, 0xf3, 0x27, 0xec, 0xe8, 0x3c, 0xb8, 0xbd, 0x7d, 0x07, 0x7c, 0xfb, 0x1e, 0xaa, 0x27, 0xf1, 0x91, 0x62, 0x5b, 0x20, 0x56, 0x6f, 0xd6, 0x5c, 0x8f, 0xd2, 0x63, 0x8f, 0x09, 0xdf, 0xab, 0x08, 0x9f, 0xcf, 0x47, 0x0c, 0x2b, 0x66, 0xe2, 0xaa, 0x0d, 0xc0, 0x67, 0xd5, 0x92, 0x32, 0xa7, 0x6d, 0x2b, 0x8d, 0xd6, 0x0a, 0x38, 0x0a, 0x82, 0x9b, 0xd2, 0xa8, 0x14, 0x77, 0x31, 0x2d, 0x10, 0xc3, 0xc7, 0x46, 0x91, 0xe5, 0x4b, 0x5d, 0xb7, 0x9a, 0xba, 0x0d, 0x82, 0xd8, 0x26, 0xa3, 0x18, 0xbd, 0x84, 0x31, 0x78, 0x19, 0xc5, 0xd5, 0xe0, 0xbf, 0x29, 0x92, 0xad, 0xaf, 0x1f, 0x9b, 0x9d, 0x54, 0xc7, 0x36, 0x55, 0x2c, 0xc1, 0xdf, 0xd8, 0x9c, 0x31, 0x11, 0x7f, 0x46, 0xe9, 0x20, 0x85, 0x03, 0xdb, 0x8f, 0xc4, 0x94, 0x65, 0x93, 0x84, 0x41, 0xdb, 0xcc, 0x7d, 0x84, 0xa5, 0x49, 0x23, 0x85, 0x72, 0x59, 0xdc, 0x51, 0xd5, 0xab, 0xf4, 0xdf, 0xe2, 0xd4, 0x60, 0x7b, 0x1e, 0x72, 0x0e, 0x01, 0x29, 0xef, 0xcc, 0x10, 0xd3, 0x36, 0x0b, 0x41, 0xc6, 0x8a, 0xbe, 0xe1, 0x59, 0x98, 0x09, 0x1a, 0x4b, 0x07, 0x01, 0x50, 0x58, 0x8b, 0xf5, 0x92, 0xf4, 0xf3, 0x92, 0x70, 0x73, 0xab, 0x22, 0x1e, 0xd9, 0xbf, 0xf4, 0xe2, 0x72, 0x94, 0xa6, 0xda, 0xcf, 0x09, 0xe3, 0x83, 0x09, 0xa6, 0xc3, 0x06, 0xf1, 0x71, 0xec, 0x79, 0x98, 0x4e, 0x2a, 0xe3, 0x9c, 0xdd, 0xbb, 0x9c, 0x73, 0x12, 0x73, 0xab, 0x3f, 0xcc, 0x60, 0xa1, 0xd2, 0x38, 0x09, 0x1e, 0x86, 0x5a, 0x5c, 0x69, 0xa5, 0x4d, 0x8b, 0x69, 0x0b, 0xd6, 0xf7, 0xb6, 0x6b, 0x7e, 0xeb, 0x26, 0xf4, 0x10, 0xa5, 0xaa, 0xac, 0xd8, 0x94, 0xbc, 0xbf, 0xdf, 0x71, 0x9f, 0x59, 0x15, 0x0d, 0x6f, 0x80, 0x22, 0x65, 0x79, 0x2f, 0x9e, 0x2d, 0x82, 0x29, 0x6e, 0x83, 0x8d, 0x5a, 0xc3, 0xcb, 0xa3, 0xb3, 0xcb, 0x73, 0xc2, 0xcb, 0x43, 0xe4, 0xf4, 0xac, 0xe4, 0x2c, 0x05, 0xfc, 0x19, 0x26, 0xb0, 0x67, 0x0c, 0x2b, 0x49, 0x49, 0x23, 0x63, 0xbf, 0xbc, 0x9a, 0x9a, 0x43, 0x90, 0xf9, 0x10, 0xb2, 0xaf, 0x38, 0xbd, 0x2d, 0x8b, 0x9c, 0x02, 0x47, 0x66, 0xf0, 0x6a, 0x5f, 0x34, 0x97, 0x03, 0x5f, 0xb5, 0xdf, 0xd6, 0x2e, 0x0b, 0xa6, 0x10, 0xa9, 0xfe, 0xae, 0x01, 0x0c, 0xcc, 0x23, 0x81, 0x07, 0xf4, 0xf8, 0x79, 0x95, 0x18, 0x6c, 0x42, 0xb1, 0xeb, 0x0c, 0x16, 0xaa, 0x76, 0xb0, 0xe2, 0x24, 0x0d, 0x02, 0xae, 0xd0, 0xfa, 0xf8, 0x72, 0x35, 0xa2, 0x01, 0x6c, 0x6c, 0xb6, 0xc8, 0x9a, 0x78, 0x5b, 0xb2, 0xdd, 0x41, 0x23, 0xd4, 0x03, 0x7f, 0x5b, 0x59, 0x17, 0xa6, 0x53, 0xc5, 0xc6, 0x59, 0x2b, 0x0e, 0xf8, 0xbc, 0xcb, 0x5f, 0x1d, 0x2e, 0x91, 0x43, 0x34, 0xbe, 0x20, 0xc7, 0xcb, 0x4a, 0x13, 0x3f, 0x81, 0xdf, 0x13, 0xf7, 0x17, 0x23, 0x29, 0x61, 0x0d, 0x67, 0x12, 0xcf, 0x41, 0x2d, 0xc8, 0xb4, 0x50, 0x00, 0x3d, 0xbf, 0x98, 0xcf, 0xd9, 0x9c, 0xf0, 0x32, 0x16, 0x8e, 0xa5, 0x70, 0xf6, 0xc4, 0x05, 0x1a, 0xf5, 0x03, 0xfc, 0x19, 0xe4, 0xa4, 0xee, 0xf0, 0xa1, 0x9a, 0x30, 0x7a, 0xdd, 0xe0, 0x1e, 0x48, 0xdc, 0x46, 0x5b, 0x7f, 0x32, 0x70, 0x38, 0x0f, 0x61, 0xba, 0x7f, 0x63, 0xe7, 0xaa, 0x9b, 0x65, 0x76, 0x0b, 0x53, 0xf0, 0xcb, 0xa1, 0x35, 0xd9, 0x17, 0x9b, 0x5f, 0x70, 0xcb, 0x5c, 0xfc, 0x0b, 0xf7, 0x5f, 0x36, 0x23, 0x20, 0x66, 0xf9, 0x1d, 0x3a, 0xf2, 0x04, 0xc4, 0xdb, 0x51, 0x4e, 0x43, 0xb3, 0x1b, 0x9b, 0xfb, 0x01, 0xb3, 0x32, 0x1b, 0x18, 0x4c, 0x67, 0xd7, 0x93, 0xb6, 0xcd, 0xe6, 0x81, 0x1a, 0x1d, 0x91, 0x22, 0x51, 0x6c, 0x05, 0x90, 0xa2, 0x8a, 0x24, 0x4d, 0xf5, 0xf2, 0xd8, 0xe1, 0x92, 0xc8, 0x1e, 0x4d, 0x36, 0xfa, 0x26, 0x61, 0xb7, 0x38, 0xdd, 0xa7, 0x02, 0x33, 0xa9, 0xd7, 0xe6, 0xb7, 0xd1, 0x01, 0x2b, 0x29, 0xe4, 0xc8, 0x02, 0x22, 0xb0, 0xa5, 0xfc, 0x92, 0x89, 0x62, 0x74, 0x36, 0xec, 0x0b, 0xeb, 0x36, 0xa6, 0x0c, 0xf0, 0x2d, 0x5b, 0xca, 0x95, 0x64, 0x86, 0xc8, 0xe6, 0x41, 0xe0, 0xd9, 0x4f, 0xbe, 0x4b, 0x76, 0x21, 0xce, 0x46, 0x99, 0x1f, 0x36, 0x36, 0x29, 0x7b, 0x16, 0x37, 0x3c, 0xf7, 0x99, 0xe1, 0x79, 0x9d, 0x17, 0xda, 0x95, 0x7a, 0x75, 0xd4, 0x81, 0x1b, 0xfd, 0x24, 0x0f, 0xc4, 0xe1, 0x31, 0xc1, 0xfe, 0xf2, 0xdc, 0xaf, 0xf2, 0x16, 0xf7, 0xdf, 0x90, 0xea, 0xb3, 0x9f, 0xe2, 0x82, 0xc6, 0x74, 0x97, 0x9f, 0xb5, 0xb8, 0xb6, 0x7e, 0x3d, 0x0b, 0x54, 0x8b, 0x4a, 0x58, 0x9d, 0xcf, 0x01, 0x33, 0x8f, 0x01, 0x0a, 0xdd, 0x7d, 0x1a, 0x16, 0x88, 0x9f, 0x04, 0x2b, 0x7b, 0x8a, 0x59, 0x29, 0xe8, 0x06, 0xf4, 0xd8, 0xe0, 0x85, 0xf1, 0x1b, 0x71, 0xad, 0x8d, 0xe9, 0xb2, 0xa6, 0x6f, 0x45, 0xf4, 0x96, 0xb2, 0x1b, 0xc5, 0xc9, 0x9d, 0x2f, 0x29, 0x9a, 0xe6, 0xa5, 0x40, 0x5a, 0xca, 0x8f, 0x19, 0xe5, 0x03, 0xeb, 0xdc, 0xe3, 0x22, 0xe3, 0xfc, 0x98, 0xb1, 0x9b, 0x87, 0x07, 0xcc, 0xd4, 0x5c, 0x2d, 0x86, 0x9c, 0xeb, 0x95, 0xbe, 0xdf, 0xa8, 0x4c, 0xa9, 0x1e, 0x36, 0x68, 0xc2, 0xda, 0x8e, 0x6a, 0x5a, 0x2f, 0xb4, 0xe2, 0xde, 0xb8, 0xd7, 0x46, 0xbc, 0x1b, 0xed, 0x97, 0xa6, 0xbe, 0x65, 0x7c, 0x73, 0x0c, 0xf9, 0x37, 0x76, 0x86, 0x60, 0x0a, 0x9e, 0x89, 0x45, 0xc7, 0x04, 0x51, 0x76, 0xcd, 0xc2, 0xea, 0xa0, 0x8d, 0x2f, 0xbd, 0xb3, 0x13, 0x62, 0x4b, 0xc7, 0x41, 0xf4, 0x0d, 0xbd, 0x94, 0xd2, 0xd0, 0x57, 0x62, 0x4d, 0x78, 0x8d, 0x14, 0xf6, 0xe7, 0xf4, 0x0d, 0x2c, 0x14, 0xad, 0x0c, 0x6c, 0xef, 0xfe, 0x35, 0x29, 0x28, 0xa1, 0x6b, 0x49, 0xdd, 0x01, 0x4c, 0x3c, 0x9e, 0x7c, 0x33, 0x88, 0x6d, 0xea, 0x62, 0xb2, 0x21, 0x48, 0x63, 0xdf, 0xe1, 0x53, 0x9c, 0x2b, 0x21, 0xdd, 0x83, 0xc2, 0xae, 0x24, 0x34, 0x05, 0xa8, 0x4e, 0xfa, 0x66, 0x09, 0x94, 0x8a, 0x6a, 0x0a, 0x77, 0xfb, 0xe2, 0xbc, 0xda, 0x1c, 0xcd, 0x03, 0x62, 0xb7, 0x38, 0x61, 0x67, 0xc6, 0x1e, 0x15, 0x70, 0x00, 0xa2, 0x4c, 0x80, 0x85, 0x72, 0x8d, 0xd7, 0xb0, 0xc8, 0x6f, 0x13, 0xe6, 0x17, 0x64, 0x14, 0x12, 0x6a, 0x16, 0xeb, 0xc0, 0xe2, 0x47, 0x07, 0x09, 0xc5, 0x0d, 0x3d, 0x30, 0xd7, 0xc4, 0x0b, 0x98, 0x73, 0x77, 0x51, 0x81, 0xdb, 0xb0, 0x72, 0x2c, 0xa5, 0xd7, 0x09, 0xe8, 0x42, 0x7b, 0x70, 0xf0, 0x55, 0x1b, 0x21, 0x48, 0xdf, 0xef, 0xc8, 0xb3, 0xcd, 0xa9, 0xbb, 0x3c, 0x3b, 0x70, 0xa4, 0xcf, 0x6f, 0x1a, 0x0a, 0xb4, 0x44, 0xce, 0xcb, 0xe8, 0x90, 0x19, 0xc2, 0xc3, 0x23, 0x95, 0x80, 0x36, 0x3d, 0x94, 0xd4, 0xfc, 0xb6, 0xa7, 0xd6, 0xe2, 0xd8, 0xd4, 0x0e, 0x4e, 0xa4, 0xa6, 0x86, 0x6b, 0x52, 0xc6, 0x16, 0xba, 0x57, 0xda, 0x5f, 0x10, 0xd4, 0x88, 0x0f, 0x86, 0x8b, 0x2e, 0x4e, 0xe3, 0x7a, 0xe3, 0xf2, 0x65, 0x32, 0x9f, 0xf0, 0x74, 0x08, 0x6f, 0x29, 0x2d, 0xad, 0x7d, 0xf0, 0x6f, 0x98, 0xc1, 0x0d, 0xc6, 0x48, 0x85, 0x29, 0x7c, 0xfc, 0x25, 0xcf, 0x5c, 0xe0, 0x46, 0x90, 0xa6, 0xc6, 0x87, 0x0b, 0xf4, 0x0d, 0x9e, 0x10, 0x42, 0xc7, 0xbb, 0x5a, 0x1d, 0x77, 0xe6, 0x88, 0x4e, 0xd0, 0xd2, 0x0c, 0x18, 0xf1, 0x8a, 0x9e, 0x42, 0x6b, 0x4c, 0x05, 0xd5, 0x9f, 0xb3, 0xed, 0xc4, 0x23, 0x12, 0x6b, 0x1a, 0x9d, 0xe2, 0x92, 0x1a, 0x98, 0xc3, 0x80, 0xa7, 0x05, 0x67, 0x24, 0xc9, 0x6a, 0xda, 0xac, 0x56, 0x7f, 0x64, 0x7a, 0x40, 0xd6, 0x72, 0x9d, 0xc8, 0xba, 0x24, 0xb3, 0xe6, 0x3e, 0xd0, 0xc6, 0x91, 0x66, 0x13, 0xd9, 0x87, 0xba, 0xce, 0xdf, 0x0f, 0x3e, 0xdf, 0xea, 0x8a, 0x39, 0x8a, 0x01, 0x4a, 0xf7, 0x19, 0x02, 0x14, 0x0e, 0x68, 0x80, 0xf8, 0x1c, 0xfc, 0xd4, 0x3c, 0xda, 0x82, 0x9e, 0x8f, 0xa9, 0x4a, 0xbb, 0x98, 0xa7, 0x50, 0x77, 0x56, 0x5b, 0x4f, 0x60, 0xd5, 0xe2, 0xf9, 0x29, 0x43, 0x99, 0xba, 0x63, 0x47, 0x69, 0x90, 0xc3, 0x38, 0x95, 0x08, 0xf7, 0x1a, 0xf5, 0x8a, 0x0c, 0xfa, 0x90, 0xf0, 0xb5, 0x80, 0xdf, 0x89, 0x93, 0x0f, 0x85, 0xdc, 0x4c, 0x0f, 0x4f, 0xea, 0x60, 0xc6, 0xa4, 0x4d, 0xe7, 0x08, 0x17, 0xa6, 0x43, 0x0d, 0x88, 0x74, 0xca, 0xb0, 0xf7, 0x2b, 0xef, 0xc9, 0xab, 0xfe, 0x5e, 0xed, 0x9e, 0x54, 0xb3, 0x79, 0xef, 0x7e, 0xf8, 0x44, 0xb8, 0xea, 0xfa, 0xec, 0x3d, 0xa5, 0xeb, 0x28, 0xbb, 0xa1, 0x2e, 0x3a, 0x1a, 0x39, 0x40, 0x59, 0xc5, 0xee, 0x5d, 0x44, 0x57, 0xa7, 0x89, 0x04, 0x6c, 0xfa, 0x46, 0x64, 0xc6, 0x54, 0xfb, 0x8a, 0xa3, 0x46, 0xc0, 0x0a, 0x23, 0x1c, 0x91, 0x22, 0x10, 0x58, 0xad, 0x3f, 0x4b, 0x83, 0x45, 0x59, 0x9a, 0x15, 0x9d, 0x3c, 0x24, 0xa3, 0x25, 0xa5, 0x16, 0xa0, 0x62, 0x8f, 0xf8, 0x5f, 0xab, 0x63, 0x1e, 0x4e, 0x9c, 0x43, 0x22, 0x1b, 0xf0, 0x83, 0xe6, 0x66, 0xd8, 0x56, 0x6a, 0xb2, 0x78, 0x5e, 0xbd, 0xe7, 0xf1, 0x64, 0x70, 0x02, 0xfa, 0x5d, 0xfd, 0x57, 0x5e, 0x78, 0x9f, 0x6a, 0x31, 0x50, 0x99, 0x01, 0x7a, 0x4a, 0xa7, 0x19, 0xab, 0x8b, 0xef, 0xd3, 0x51, 0x91, 0x97, 0xf9, 0x84, 0xb3, 0x0c, 0x1d, 0xd3, 0xf6, 0xf4, 0x74, 0x10, 0xdd, 0x27, 0x43, 0x2d, 0x67, 0xee, 0xfb, 0xfe, 0x7f, 0xe6, 0x22, 0x18, 0xd5, 0x2a, 0xd2, 0xa4, 0xc2, 0x5d, 0xd3, 0x38, 0x36, 0xe2, 0x7b, 0x51, 0x53, 0x41, 0x41, 0xbf, 0x21, 0xdb, 0x0b, 0xfb, 0xb2, 0xce, 0x48, 0x34, 0x2d, 0x92, 0x3c, 0x90, 0xcb, 0xc0, 0x13, 0x50, 0xb1, 0xc2, 0x74, 0x42, 0xfa, 0xd7, 0x30, 0x96, 0x8e, 0x77, 0xec, 0xd5, 0x01, 0xb6, 0x83, 0xda, 0xa5, 0x78, 0xc3, 0x6e, 0xd1, 0xcd, 0xe9, 0xd5, 0x19, 0x0d, 0x13, 0xec, 0x11, 0x8b, 0xec, 0xc0, 0x6d, 0x5b, 0x46, 0x1d, 0x5a, 0xc7, 0x79, 0x41, 0xf9, 0x63, 0x4e, 0x37, 0x2a, 0x6c, 0xdb, 0xba, 0x2c, 0xd0, 0xcd, 0x4f, 0xd0, 0xb3, 0x3e, 0x3f, 0xbd, 0xbf, 0xc9, 0xb9, 0x77, 0x1f, 0x6d, 0xb3, 0xd5, 0xd9, 0xa8, 0x28, 0x4b, 0xfa, 0x9d, 0x10, 0x57, 0xb0, 0xf2, 0xc6, 0x3d, 0xa8, 0x20, 0x4c, 0xa5, 0x9c, 0x87, 0x2d, 0x07, 0x96, 0xfc, 0x92, 0x37, 0xe9, 0xb4, 0xa5, 0x35, 0x31, 0xbb, 0xfc, 0x08, 0x9a, 0xc3, 0x2a, 0x46, 0x34, 0x23, 0x11, 0x9a, 0x05, 0xdf, 0x52, 0xaf, 0xe1, 0x36, 0xfe, 0xcb, 0x77, 0x9e, 0xb7, 0x50, 0xdf, 0xef, 0x1c, 0x06, 0x34, 0xbe, 0x0b, 0x67, 0x2e, 0xe6, 0x0a, 0x58, 0x8d, 0xdd, 0x51, 0xd9, 0x6d, 0xe4, 0xdc, 0x03, 0x0f, 0x79, 0x4a, 0x5f, 0x0f, 0x07, 0x59, 0x34, 0x0a, 0x19, 0xc8, 0x25, 0x72, 0x02, 0xe9, 0xf2, 0xef, 0x31, 0x1d, 0x4f, 0x3d, 0x4a, 0xe9, 0x5e, 0xdd, 0x1c, 0x7f, 0xb0, 0xd3, 0x1b, 0x26, 0x31, 0x76, 0xc7, 0x3a, 0xac, 0x50, 0x61, 0x5a, 0x55, 0x55, 0x14, 0x28, 0x2b, 0xfa, 0x9a, 0xdf, 0xbd, 0x26, 0x5d, 0x0b, 0x8f, 0xf6, 0xe2, 0xe8, 0xc3, 0xf5, 0xbb, 0x68, 0xa7, 0xbf, 0xf5, 0xac, 0xaa, 0x22, 0x62, 0x08, 0xb5, 0x31, 0xf4, 0xf0, 0xa8, 0xc9, 0x76, 0xf6, 0xb7, 0x65, 0x56, 0x6f, 0xbe, 0x13, 0x8a, 0xab, 0x88, 0xfe, 0xa4, 0xe2, 0x17, 0xd3, 0xbc, 0x9a, 0x99, 0xf1, 0x6e, 0x7b, 0xb6, 0x5e, 0x8f, 0xcc, 0xef, 0xe2, 0xa9, 0x10, 0x74, 0x19, 0x84, 0x56, 0xa9, 0x4d, 0x56, 0x80, 0x9f, 0x34, 0xd0, 0x4d, 0x8d, 0xb0, 0xd0, 0x72, 0xe1, 0x3b, 0x65, 0x1a, 0x2b, 0x93, 0x1e, 0x7b, 0xf5, 0xf6, 0xb8, 0x31, 0xdc, 0x8b, 0x97, 0xfb, 0x5b, 0x9f, 0x30, 0xc1, 0x32, 0x47, 0x0b, 0x42, 0x4c, 0xb2, 0x20, 0xe2, 0xd1, 0xf7, 0x05, 0x96, 0x1c, 0xab, 0x8f, 0x28, 0x97, 0x87, 0x5c, 0x48, 0x84, 0xb2, 0x1a, 0x63, 0xa6, 0x9d, 0x41, 0x4c, 0x29, 0x54, 0xdb, 0xff, 0xc7, 0x3f, 0x7d, 0xb3, 0xee, 0xaf, 0x3f, 0x51, 0x28, 0x87, 0xda, 0x91, 0x9a, 0x0a, 0x0d, 0x65, 0x32, 0xa5, 0x15, 0xc7, 0x78, 0x9d, 0xd7, 0xfe, 0xb8, 0x16, 0x99, 0xa6, 0x61, 0x62, 0x98, 0x87, 0x7b, 0x2e, 0x68, 0xb8, 0x4f, 0x67, 0xa7, 0xc7, 0x4a, 0x90, 0xf2, 0xb1, 0xa3, 0x11, 0xe8, 0x2e, 0x48, 0x2b, 0xad, 0x71, 0x5b, 0xd3, 0x3f, 0xed, 0x7e, 0x25, 0xd0, 0x6b, 0x1a, 0xe2, 0xc0, 0x50, 0x04, 0xe7, 0xc5, 0xd1, 0x0a, 0x50, 0x17, 0xa5, 0xd2, 0xf3, 0x34, 0x6b, 0xf1, 0x3b, 0x4b, 0xf2, 0xd7, 0x3f, 0xe0, 0x04, 0xba, 0xd5, 0x7d, 0xfe, 0xcf, 0xba, 0x0f, 0x1a, 0x34, 0x0c, 0x9c, 0xef, 0xc7, 0x3f, 0x6e, 0x63, 0x35, 0x57, 0xa7, 0x39, 0x44, 0x4e, 0xcd, 0x24, 0xcc, 0xa9, 0x1a, 0x05, 0x69, 0x15, 0xb0, 0xb2, 0x7e, 0x10, 0x0b, 0xc5, 0xbb, 0xa8, 0x35, 0xfe, 0xb3, 0x8f, 0xff, 0xfd, 0xeb, 0x76, 0x6f, 0xff, 0x27, 0xf3, 0xd1, 0x3f, 0x6e, 0x7f, 0xfc, 0xe3, 0x4e, 0x27, 0x54, 0xac, 0x67, 0x61, 0x1b, 0x9c, 0xe4, 0x52, 0x54, 0x68, 0xb3, 0x47, 0xa9, 0xb0, 0x91, 0xe0, 0xb0, 0x6d, 0x53, 0x4a, 0x4d, 0xcf, 0x03, 0xd8, 0x56, 0xe8, 0x73, 0xec, 0x37, 0x1d, 0xfd, 0xda, 0xaa, 0x54, 0x99, 0xc3, 0x7d, 0xce, 0xef, 0x2b, 0xb8, 0x05, 0xde, 0x10, 0xa9, 0xfd, 0xf0, 0x78, 0x21, 0xc2, 0x68, 0xb9, 0xe4, 0x81, 0x48, 0x37, 0x0a, 0x8f, 0xe2, 0xef, 0x86, 0xa4, 0xb4, 0x81, 0x3c, 0x8b, 0xa3, 0xc6, 0xa6, 0x0f, 0x87, 0xe6, 0x27, 0x59, 0xe2, 0x15, 0xd1, 0x69, 0xb9, 0x2d, 0x5b, 0x6f, 0xca, 0x0e, 0x72, 0x9b, 0x6e, 0xc0, 0xf8, 0x5f, 0x49, 0x24, 0x2b, 0x37, 0x81, 0x53, 0xba, 0xd2, 0x5e, 0xd6, 0xd8, 0xdf, 0x30, 0x01, 0xc7, 0xf5, 0xcf, 0xb0, 0x54, 0x81, 0x01, 0xd3, 0xd2, 0x86, 0xce, 0xe8, 0x67, 0x12, 0x36, 0x43, 0x78, 0x06, 0xea, 0x93, 0x19, 0x2a, 0xae, 0x8e, 0x87, 0xd8, 0x45, 0xb4, 0xd6, 0x94, 0xcd, 0x74, 0xd8, 0x1a, 0x5a, 0xa4, 0xb0, 0xb8, 0x6c, 0xd9, 0x10, 0x77, 0x2b, 0x9c, 0x4d, 0x90, 0x8d, 0xa2, 0xcd, 0x59, 0xdd, 0x40, 0xb1, 0x87, 0x79, 0xbf, 0x55, 0xd2, 0x73, 0xea, 0x99, 0xa9, 0x7e, 0x9a, 0x7e, 0xaa, 0xc5, 0x8f, 0x23, 0x6e, 0xd0, 0x46, 0x21, 0xd9, 0x9e, 0x17, 0x47, 0x46, 0x09, 0x35, 0x7e, 0x04, 0x6e, 0xc8, 0xa8, 0xbc, 0x7d, 0x53, 0xb7, 0xa2, 0x2e, 0x02, 0xe1, 0x36, 0x40, 0x6a, 0x6b, 0xbd, 0xb5, 0x68, 0xdd, 0x18, 0x76, 0xe3, 0xb8, 0xbc, 0xd9, 0x08, 0x79, 0x90, 0xad, 0xd3, 0xd6, 0x32, 0x2a, 0xe9, 0xaa, 0x42, 0x22, 0x93, 0x39, 0x54, 0xbb, 0x02, 0x7b, 0xc1, 0x70, 0x28, 0x98, 0xde, 0xd9, 0x33, 0x39, 0x00, 0xb5, 0x9f, 0xf4, 0xd0, 0x54, 0x64, 0x58, 0xe5, 0xff, 0xa0, 0x88, 0x98, 0x1f, 0x90, 0xa4, 0x67, 0x39, 0x43, 0xaf, 0xc7, 0xc5, 0x6b, 0x56, 0x88, 0x6a, 0x1f, 0xf6, 0x5e, 0x3a, 0x9f, 0x27, 0xe3, 0x40, 0x1a, 0x1b, 0x27, 0x71, 0x8d, 0x39, 0xfd, 0x5b, 0x9f, 0x76, 0x3c, 0x29, 0x01, 0xf8, 0x01, 0x0d, 0xe0, 0x05, 0xa1, 0x38, 0xc5, 0xc1, 0x2f, 0xfa, 0xa0, 0xe0, 0xaa, 0x30, 0x8e, 0x09, 0x86, 0x0a, 0xc9, 0x8d, 0xb6, 0x5c, 0x70, 0x4d, 0xab, 0xdb, 0x07, 0x80, 0x7b, 0xc6, 0xf7, 0x7c, 0xaf, 0x0e, 0xcc, 0x26, 0x46, 0x49, 0x32, 0x4a, 0x74, 0x34, 0xaa, 0xde, 0xb8, 0x8f, 0x19, 0xab, 0xca, 0xa2, 0xda, 0x20, 0xc4, 0x81, 0x75, 0x00, 0x31, 0x9c, 0x4c, 0x73, 0x38, 0xb2, 0x9a, 0x90, 0xaf, 0x88, 0x04, 0x78, 0x40, 0xe1, 0x45, 0x21, 0x8c, 0x92, 0x1b, 0x41, 0x73, 0x0d, 0xa6, 0xeb, 0x1c, 0x6f, 0x3d, 0xbb, 0xff, 0xd9, 0x75, 0xf6, 0x57, 0x8d, 0x10, 0xdd, 0xee, 0x79, 0xfc, 0x50, 0x77, 0x8c, 0x35, 0x90, 0x69, 0xdd, 0x07, 0x43, 0x27, 0x12, 0x97, 0xb7, 0x9c, 0x7c, 0x30, 0xce, 0xed, 0xa9, 0x38, 0x87, 0xc2, 0x82, 0xae, 0x3e, 0x07, 0xc1, 0x1c, 0x0a, 0xa7, 0xd5, 0xa1, 0xdd, 0x5f, 0xe4, 0xb3, 0xb2, 0x06, 0x57, 0x27, 0xe8, 0x02, 0xc8, 0x6b, 0xcc, 0xc6, 0xf1, 0x37, 0xcb, 0x14, 0xb7, 0x28, 0xce, 0x02, 0x69, 0xfb, 0x65, 0x20, 0xaa, 0x8a, 0xba, 0x87, 0x76, 0x91, 0x07, 0x6a, 0x09, 0x68, 0x0e, 0x2d, 0xfb, 0xb6, 0xaa, 0xe5, 0x4b, 0xed, 0xc1, 0xf6, 0xfc, 0x1c, 0xa9, 0xec, 0x23, 0x8c, 0x08, 0xbb, 0x0c, 0xa6, 0x27, 0x39, 0x9b, 0x92, 0xb2, 0x4f, 0xe2, 0x82, 0xb7, 0x34, 0x94, 0x63, 0x92, 0x4c, 0x11, 0x3e, 0x09, 0xb5, 0x42, 0x44, 0x90, 0x00, 0x1e, 0x97, 0x3d, 0xd1, 0x0e, 0xfd, 0x45, 0xf3, 0x3c, 0xcb, 0x32, 0x3a, 0x5c, 0xdc, 0x14, 0x60, 0x61, 0xf9, 0xb5, 0xa8, 0x83, 0x77, 0x11, 0x63, 0x0d, 0xc3, 0x53, 0xfc, 0x8c, 0xe1, 0xc0, 0x0e, 0x1c, 0xeb, 0x27, 0xc4, 0x10, 0xc5, 0x24, 0xbb, 0x5e, 0x5c, 0xf6, 0x3c, 0xea, 0xb8, 0xb6, 0x20, 0x04, 0x1c, 0x63, 0xcd, 0xd9, 0xe6, 0xc7, 0xfc, 0x6e, 0x4c, 0x3b, 0xc8, 0x10, 0xa7, 0x0a, 0xe8, 0x63, 0xb3, 0xdf, 0xdf, 0x44, 0xbd, 0x60, 0x13, 0xfe, 0x48, 0x9d, 0xa6, 0x4b, 0xcd, 0xce, 0x9e, 0x20, 0x49, 0xf0, 0x5b, 0xe8, 0x66, 0x95, 0x2e, 0xd8, 0x4e, 0xa7, 0xc4, 0xbf, 0x2f, 0x29, 0x3d, 0xbf, 0x00, 0x8b, 0xad, 0x60, 0x9c, 0x83, 0x79, 0x43, 0x11, 0xf5, 0xfa, 0x69, 0x72, 0xd8, 0xb1, 0x14, 0x4c, 0x9d, 0x46, 0x8f, 0x58, 0x74, 0x9d, 0x90, 0x87, 0x13, 0x17, 0x91, 0x56, 0x8a, 0x64, 0x48, 0x18, 0x13, 0xf1, 0x4a, 0x9f, 0xc9, 0xde, 0x4e, 0xe3, 0xf8, 0x52, 0x38, 0xf0, 0x31, 0xd8, 0x9f, 0x04, 0x80, 0x8c, 0x19, 0xca, 0x7e, 0x8d, 0x23, 0x3b, 0xac, 0x25, 0x39, 0xa5, 0x09, 0xe9, 0x48, 0xf2, 0xc7, 0x2a, 0xf5, 0x4e, 0xeb, 0x4e, 0xa9, 0xc7, 0xf0, 0x14, 0x52, 0xfe, 0x08, 0xe5, 0x38, 0x4a, 0x05, 0x03, 0x91, 0x43, 0x62, 0xda, 0x11, 0x09, 0x20, 0x56, 0xcc, 0x19, 0x92, 0x64, 0x20, 0x4b, 0xca, 0x54, 0xc8, 0xb3, 0x68, 0xfc, 0x7a, 0x46, 0x68, 0x39, 0x53, 0x80, 0x35, 0x23, 0x86, 0x34, 0xec, 0xfc, 0x9b, 0x93, 0x2b, 0xb1, 0x02, 0x08, 0x36, 0xc3, 0x36, 0x7e, 0xf7, 0x40, 0xcb, 0xc9, 0x59, 0xf0, 0x62, 0x8f, 0x4c, 0x7a, 0xdc, 0xb7, 0xf2, 0x26, 0xde, 0xd9, 0x7f, 0x21, 0xd3, 0x56, 0x44, 0x41, 0xf2, 0x45, 0xac, 0xf1, 0xaf, 0x36, 0x37, 0x39, 0x99, 0x08, 0x1d, 0x40, 0x9e, 0xec, 0x25, 0x5f, 0x2c, 0x3e, 0xfb, 0xc5, 0x5a, 0x38, 0x8d, 0x58, 0xad, 0x43, 0x6d, 0x3f, 0x4e, 0xfd, 0x0f, 0x29, 0xdd, 0xd9, 0x6d, 0x5e, 0xd3, 0xad, 0xb5, 0x26, 0xa4, 0xda, 0xbe, 0x78, 0x45, 0x4f, 0x17, 0xc1, 0xe0, 0xa1, 0xe6, 0xc9, 0xc0, 0x1d, 0xb4, 0x56, 0x1f, 0xb1, 0x8d, 0x9d, 0xdd, 0xe1, 0x0c, 0x61, 0x6c, 0x7a, 0x3f, 0xf2, 0x81, 0x9e, 0xb8, 0x06, 0x8e, 0xa8, 0xce, 0x1d, 0x59, 0x92, 0xe3, 0x53, 0x8e, 0xeb, 0x10, 0xe5, 0x69, 0x50, 0x9a, 0xdd, 0x9e, 0x74, 0x98, 0xcb, 0xa1, 0x97, 0xc5, 0x25, 0xdf, 0x34, 0x58, 0xc4, 0xe4, 0x35, 0x73, 0x72, 0xa7, 0xed, 0x75, 0x01, 0x8d, 0xab, 0xe0, 0xe8, 0xb8, 0xb3, 0x01, 0x9e, 0x77, 0x86, 0xb0, 0xef, 0x15, 0x62, 0x8a, 0x92, 0x67, 0x47, 0x49, 0xca, 0xe0, 0x74, 0x70, 0xb6, 0x18, 0x15, 0xf7, 0xee, 0x01, 0x90, 0xc2, 0x26, 0xd2, 0x81, 0x18, 0xf4, 0x5e, 0x93, 0x19, 0x8c, 0xc1, 0xbd, 0xea, 0x6f, 0x1d, 0x28, 0x6c, 0x75, 0x37, 0xfa, 0x26, 0x5b, 0xe2, 0x79, 0xe0, 0xa2, 0xbf, 0x19, 0x7c, 0xeb, 0x15, 0xa0, 0xe2, 0x1b, 0x7b, 0xbb, 0xf8, 0xc6, 0xf9, 0x80, 0x9f, 0xba, 0xcf, 0x67, 0x13, 0x78, 0x33, 0xf4, 0xdc, 0x4b, 0x7c, 0x0e, 0x28, 0x6e, 0x5c, 0xcd, 0x4a, 0x25, 0xaa, 0x15, 0x33, 0xd9, 0xdb, 0x0b, 0xcc, 0xa4, 0xfb, 0x8b, 0x3f, 0x74, 0x41, 0x72, 0x1d, 0x89, 0x09, 0x7b, 0xb3, 0x11, 0xe1, 0x50, 0x69, 0x8e, 0x01, 0x61, 0xff, 0x94, 0xcc, 0x97, 0xc1, 0x54, 0x9e, 0xd3, 0xb9, 0xb1, 0x20, 0x2c, 0xc9, 0x8a, 0x30, 0x3a, 0x5e, 0xee, 0xec, 0x6e, 0x6f, 0xbe, 0xe8, 0xef, 0xf5, 0x77, 0x4c, 0xaa, 0x2c, 0xd0, 0xc1, 0x1d, 0x76, 0x16, 0xc2, 0xcc, 0xa4, 0x40, 0x48, 0x88, 0x92, 0xc4, 0xd2, 0x0c, 0xc6, 0x71, 0xa0, 0x63, 0xa4, 0x03, 0x84, 0x4d, 0x92, 0x43, 0xa0, 0x98, 0x6d, 0xb7, 0xe6, 0xb2, 0x1f, 0xe8, 0x64, 0x8c, 0xf8, 0x33, 0x54, 0x2c, 0x26, 0xfe, 0x3f, 0xac, 0x1a, 0xa0, 0x50, 0xf5, 0x30, 0xfd, 0xfb, 0x32, 0xad, 0x40, 0x0b, 0x40, 0xa6, 0x82, 0x5e, 0x4d, 0x6d, 0x45, 0x41, 0x76, 0x03, 0xad, 0x03, 0x6f, 0x44, 0xc0, 0x5d, 0xcc, 0x93, 0xa7, 0x9a, 0x04, 0x1b, 0x5c, 0xe7, 0xba, 0xce, 0x94, 0x78, 0x57, 0xc4, 0x2d, 0xa0, 0xc0, 0xbe, 0xcf, 0x46, 0xd4, 0x59, 0x14, 0xcc, 0xef, 0x3b, 0x0a, 0xa5, 0x78, 0x1d, 0x9f, 0xa5, 0x03, 0x14, 0x41, 0xb1, 0x68, 0x30, 0x4c, 0x33, 0xb6, 0x6c, 0xbf, 0x08, 0xf9, 0x01, 0xd7, 0x80, 0xb1, 0x57, 0x90, 0xd6, 0xed, 0x71, 0x27, 0xbb, 0x0f, 0xb5, 0x13, 0x97, 0x4e, 0x0b, 0x58, 0x83, 0xc9, 0x41, 0x1f, 0x86, 0xc7, 0x24, 0x16, 0x85, 0xc5, 0xb4, 0x2b, 0x90, 0x9e, 0x9e, 0xf0, 0xd0, 0x09, 0xa6, 0x4e, 0x1d, 0x54, 0x87, 0xff, 0xd5, 0xe8, 0x3f, 0xde, 0xda, 0x7a, 0xb6, 0xd9, 0xa0, 0x59, 0xc6, 0xfc, 0xd5, 0x54, 0xb6, 0xfb, 0xdb, 0x53, 0xd9, 0xce, 0x73, 0xa9, 0xcc, 0x12, 0x19, 0xde, 0xb3, 0x15, 0x24, 0x46, 0x08, 0x82, 0x2c, 0x7a, 0x5b, 0xa8, 0xcc, 0x25, 0x33, 0xc9, 0x67, 0xf3, 0x09, 0xad, 0x46, 0x67, 0x86, 0xcc, 0x5a, 0xa8, 0x8c, 0x71, 0xf7, 0x98, 0xc6, 0x56, 0x93, 0x98, 0x42, 0x3c, 0x44, 0xab, 0xa9, 0xac, 0x1e, 0x98, 0x5a, 0x4d, 0x67, 0x96, 0x1c, 0x9e, 0x4d, 0x65, 0xda, 0xe9, 0x8b, 0xb9, 0x4e, 0x0b, 0x89, 0xd5, 0x68, 0x4c, 0x88, 0x2c, 0x48, 0x65, 0xaf, 0x42, 0x54, 0xb6, 0xfb, 0x1c, 0x2a, 0x83, 0x03, 0x9d, 0xa1, 0xa8, 0xac, 0x51, 0xd9, 0xde, 0x6f, 0x4b, 0x65, 0x88, 0xfb, 0xd5, 0xac, 0x1f, 0x8f, 0x8e, 0xfe, 0xd5, 0x73, 0x8c, 0x69, 0x58, 0x1d, 0xd5, 0x2b, 0xab, 0xfe, 0x65, 0x9c, 0xa2, 0x71, 0xa1, 0x9f, 0x3c, 0xb1, 0x3a, 0xd2, 0xd6, 0xf6, 0x2f, 0x3e, 0xb1, 0x9d, 0xa6, 0x65, 0x52, 0x24, 0x1c, 0xcb, 0xf8, 0xab, 0xc6, 0x94, 0x0e, 0x36, 0x37, 0x7f, 0x22, 0xdf, 0xdc, 0x01, 0xca, 0xbe, 0x9f, 0x9a, 0x2a, 0x7c, 0x48, 0x9d, 0x1d, 0x5c, 0x1c, 0x7f, 0x3b, 0x90, 0x98, 0x88, 0xe8, 0x1c, 0xaa, 0x93, 0xb0, 0x0d, 0x0e, 0xba, 0x2a, 0x21, 0x22, 0x78, 0x6a, 0x2e, 0xb7, 0x87, 0xee, 0x3d, 0x74, 0x35, 0x30, 0x41, 0xa9, 0x88, 0xc2, 0x8c, 0x09, 0xf8, 0x51, 0xb0, 0x06, 0x38, 0xe6, 0x21, 0xa3, 0x96, 0x51, 0x8b, 0xa1, 0xc6, 0x13, 0x91, 0x99, 0x18, 0x97, 0x58, 0xe6, 0xbc, 0xb8, 0x5e, 0xdd, 0x14, 0x54, 0xec, 0x45, 0x8f, 0x6e, 0x68, 0x58, 0x72, 0xd5, 0xec, 0x64, 0x5e, 0xef, 0x08, 0x20, 0x7b, 0x51, 0x68, 0xa4, 0x37, 0x64, 0xe4, 0x9a, 0xdf, 0xaa, 0x87, 0x36, 0x04, 0x04, 0x23, 0x80, 0x8f, 0xce, 0x7e, 0xe3, 0x7b, 0x5e, 0x5a, 0x6d, 0xfa, 0x50, 0xc3, 0x9d, 0x42, 0xf1, 0x40, 0x7d, 0xd5, 0x2b, 0x6d, 0x5d, 0xf4, 0xc0, 0x8d, 0x66, 0x68, 0x10, 0x4e, 0x6a, 0x4c, 0xa8, 0x39, 0x50, 0xb9, 0x07, 0x43, 0x36, 0xfd, 0x7d, 0xfc, 0x8b, 0x18, 0x7f, 0xc3, 0x7f, 0xdf, 0xc7, 0xef, 0x52, 0xe0, 0x8e, 0xfe, 0x75, 0x83, 0xff, 0x94, 0x9c, 0x15, 0xc6, 0x94, 0xab, 0x9d, 0xf2, 0x28, 0xbc, 0xd1, 0x6e, 0x15, 0xa1, 0xc1, 0x3b, 0x39, 0xcf, 0x6d, 0x9d, 0xad, 0xbb, 0x6a, 0x17, 0x9a, 0xd2, 0x4b, 0x05, 0x33, 0x5c, 0x98, 0x46, 0xde, 0x0b, 0x2b, 0x5c, 0x89, 0x0b, 0x3c, 0xab, 0x48, 0x22, 0x6e, 0x3b, 0x41, 0x1b, 0x88, 0x97, 0x03, 0xe0, 0xe6, 0xbb, 0x01, 0x64, 0x78, 0x6e, 0x96, 0x23, 0xf3, 0xde, 0xde, 0xfa, 0xdc, 0x77, 0x49, 0x7c, 0xd0, 0x2a, 0x57, 0x8b, 0xbe, 0x4a, 0xe9, 0x36, 0x54, 0x6f, 0x32, 0xb4, 0xb5, 0x5d, 0xa1, 0xcf, 0x06, 0x0a, 0x61, 0xd1, 0xf6, 0x1d, 0x27, 0x6c, 0x2c, 0x0d, 0xd9, 0xee, 0xf5, 0xeb, 0x0c, 0xa8, 0xae, 0xbf, 0x24, 0xc9, 0x26, 0xa8, 0xe1, 0x91, 0x24, 0x8d, 0x78, 0xfc, 0x1d, 0xbd, 0x18, 0x1a, 0xca, 0xfc, 0xca, 0x62, 0x3b, 0xfe, 0x69, 0x6f, 0x0b, 0x4f, 0x55, 0x47, 0xc1, 0x86, 0x59, 0x33, 0x0d, 0x41, 0xfd, 0x69, 0x37, 0xee, 0xff, 0x8e, 0xd8, 0x6c, 0xfb, 0x75, 0x2b, 0xfa, 0x8f, 0x5d, 0x37, 0xef, 0x6c, 0x18, 0x17, 0x01, 0x9f, 0x8d, 0x68, 0x88, 0x8a, 0x3b, 0xa4, 0xa8, 0x3d, 0x26, 0x21, 0x2d, 0x66, 0x03, 0x96, 0xea, 0x63, 0xcc, 0x0f, 0x61, 0xa8, 0xc8, 0xef, 0x40, 0x63, 0xe2, 0x40, 0x6e, 0x33, 0xf9, 0x2e, 0x7b, 0x16, 0x6b, 0x49, 0x7a, 0x5d, 0x4e, 0x73, 0x0b, 0x57, 0xce, 0xd5, 0x3e, 0x32, 0x2e, 0xe2, 0x7b, 0xc7, 0x82, 0xe6, 0x6e, 0x15, 0x13, 0x8e, 0x07, 0x99, 0xd4, 0x1e, 0x2c, 0xa3, 0xc0, 0x48, 0x7f, 0x48, 0xfb, 0x28, 0x47, 0x45, 0x22, 0x91, 0x37, 0x84, 0x3e, 0xa5, 0xa8, 0x3e, 0x22, 0x86, 0x82, 0xda, 0x31, 0x4d, 0xb4, 0x9a, 0xda, 0xac, 0x5a, 0xe1, 0x72, 0x08, 0x23, 0xa7, 0x1f, 0x28, 0x54, 0xb0, 0xee, 0x2c, 0xcd, 0x5a, 0x8c, 0x05, 0x50, 0x07, 0x5f, 0xd5, 0xba, 0x76, 0xd3, 0xb5, 0x06, 0x2f, 0x33, 0x36, 0xb6, 0x84, 0x6f, 0xa7, 0x8b, 0xa6, 0x88, 0xee, 0xbd, 0xce, 0x5f, 0xf7, 0x36, 0x0c, 0x88, 0x61, 0x7e, 0x97, 0x94, 0xdc, 0xa7, 0x1a, 0x27, 0x8b, 0x79, 0x00, 0x37, 0xe4, 0x64, 0x11, 0xf1, 0x45, 0x45, 0xdc, 0x94, 0x94, 0x2d, 0x50, 0x75, 0x5e, 0xcb, 0x25, 0x9e, 0x59, 0x81, 0x09, 0x00, 0xc2, 0xef, 0xd0, 0x1d, 0x03, 0xbb, 0x35, 0xe1, 0x9c, 0x4f, 0x2a, 0xf3, 0xc6, 0xec, 0x08, 0xc1, 0x56, 0xe7, 0x58, 0x4b, 0xbe, 0xa8, 0xcb, 0x26, 0x44, 0x0c, 0x50, 0xde, 0x70, 0xa8, 0x4c, 0xe5, 0xcb, 0x27, 0xeb, 0x81, 0x0c, 0xfb, 0x99, 0x88, 0x13, 0x03, 0x2f, 0x1f, 0xd5, 0x87, 0x31, 0x2a, 0xfb, 0xe8, 0x26, 0x99, 0x4b, 0x6b, 0xaa, 0x16, 0x74, 0x85, 0x56, 0x28, 0x82, 0xfa, 0x9c, 0x38, 0x61, 0x76, 0x52, 0x2d, 0xfa, 0xf3, 0xfc, 0x67, 0xd8, 0xe6, 0x18, 0x7b, 0x5d, 0x7a, 0x57, 0x02, 0x64, 0x7d, 0xc6, 0xe7, 0x82, 0xa1, 0xb3, 0xcc, 0x58, 0x95, 0x91, 0x83, 0x2f, 0x29, 0xd8, 0xf9, 0x8c, 0x82, 0x11, 0x45, 0xc7, 0x30, 0xe3, 0x93, 0x8f, 0x1f, 0xce, 0x07, 0x1f, 0x2e, 0x9b, 0x84, 0x7d, 0x79, 0x71, 0x75, 0x7d, 0xf2, 0xe6, 0xe3, 0xe5, 0xd5, 0xc5, 0xf5, 0xc5, 0xf1, 0xc5, 0x59, 0xb4, 0xbe, 0xbd, 0xb1, 0xb2, 0xea, 0xd3, 0x78, 0x20, 0x1c, 0xfc, 0x50, 0x9d, 0x3f, 0xf3, 0x2c, 0x33, 0x8b, 0x75, 0x5c, 0x8f, 0x3f, 0xda, 0xf7, 0x42, 0x5d, 0xf5, 0xbe, 0x2b, 0xec, 0x8a, 0x20, 0xf1, 0x46, 0x6c, 0x3d, 0x8e, 0xa6, 0x4b, 0xbe, 0x29, 0x36, 0x8b, 0x84, 0xd1, 0x73, 0x3d, 0x85, 0x4b, 0xe3, 0xd8, 0x4e, 0xc1, 0xe0, 0x4a, 0x77, 0xdc, 0x7e, 0x53, 0x67, 0xc1, 0x33, 0x20, 0x05, 0xcc, 0x52, 0x45, 0xb9, 0x9a, 0x2c, 0x18, 0x65, 0x88, 0xa0, 0xe9, 0xcd, 0x1b, 0xd4, 0xb7, 0x43, 0x22, 0x8b, 0x79, 0x66, 0x34, 0x3a, 0x10, 0xa5, 0x97, 0x7e, 0xff, 0x36, 0x79, 0x05, 0xe6, 0x9b, 0x49, 0x17, 0x61, 0x99, 0x08, 0x45, 0x96, 0xa9, 0x3d, 0x11, 0x27, 0x3a, 0xc0, 0x03, 0xf8, 0x5b, 0x87, 0xab, 0x52, 0xb5, 0xa4, 0x17, 0xad, 0xe7, 0x97, 0x19, 0x81, 0xe7, 0xde, 0x99, 0x14, 0x0e, 0x87, 0x4a, 0x19, 0xe1, 0x83, 0x06, 0x38, 0xec, 0x89, 0x06, 0x2d, 0x19, 0x3d, 0x88, 0x6e, 0x24, 0xa9, 0x2f, 0x8a, 0x3b, 0x35, 0x70, 0x17, 0xf3, 0x04, 0x21, 0xf3, 0x26, 0x62, 0x14, 0xa9, 0x8b, 0x67, 0xdf, 0x65, 0x82, 0x96, 0x68, 0xed, 0x8a, 0xa2, 0x23, 0x0b, 0xe2, 0xe4, 0xba, 0xa4, 0x68, 0x42, 0x5c, 0x54, 0x4a, 0x13, 0xe9, 0x1a, 0x3c, 0xac, 0xb7, 0x8d, 0x69, 0x35, 0xd9, 0xcf, 0xcb, 0xfe, 0x8b, 0xfd, 0xfe, 0x0e, 0x82, 0xb9, 0x5c, 0xcc, 0x30, 0xbe, 0x29, 0x8a, 0x05, 0x39, 0x97, 0xe9, 0x03, 0x82, 0x5c, 0x45, 0xa9, 0x91, 0x76, 0xaf, 0x64, 0xc4, 0x90, 0x2d, 0xa5, 0x35, 0xe6, 0x2a, 0xc9, 0x14, 0xee, 0x43, 0x3a, 0x4d, 0x0b, 0xda, 0x39, 0x82, 0x05, 0xc1, 0x67, 0x0e, 0x6c, 0x76, 0x20, 0xe6, 0xcb, 0x35, 0x79, 0xed, 0xa9, 0xe9, 0xc5, 0x38, 0x38, 0xbe, 0x14, 0x50, 0x0e, 0x0b, 0x1f, 0x42, 0xec, 0x5c, 0xdb, 0xa9, 0x6f, 0xf5, 0xb7, 0xa2, 0xc1, 0xfb, 0xaf, 0x05, 0xb9, 0xf5, 0xeb, 0x41, 0x40, 0x13, 0x20, 0x7d, 0x5e, 0x5f, 0xef, 0xbb, 0x41, 0x46, 0x5c, 0x1c, 0xcc, 0xee, 0xcf, 0xf8, 0xa7, 0x16, 0x56, 0x50, 0xe6, 0xb2, 0x5d, 0x71, 0xe4, 0x39, 0xf9, 0x74, 0x4b, 0xbb, 0x0e, 0xba, 0x07, 0xdc, 0x57, 0x44, 0xc8, 0x0d, 0x2d, 0xb9, 0xbf, 0x1a, 0x21, 0x70, 0xc7, 0xbb, 0x68, 0x4f, 0x5e, 0x31, 0xeb, 0xec, 0x7e, 0xea, 0x92, 0x89, 0xa6, 0xa4, 0xd2, 0xa1, 0x29, 0xd3, 0x2e, 0x6b, 0x77, 0x20, 0xc1, 0xaa, 0x42, 0x72, 0x0c, 0xcf, 0x92, 0x09, 0xa9, 0x86, 0x54, 0xea, 0xdb, 0xa5, 0x5f, 0x52, 0xa4, 0xd9, 0x24, 0x13, 0x86, 0xe1, 0xe2, 0xe8, 0x98, 0xa8, 0x0a, 0xd3, 0xd1, 0xb6, 0x0d, 0xbc, 0xe4, 0x1a, 0x6c, 0x2c, 0xf6, 0x25, 0x93, 0x7a, 0xf3, 0xd9, 0x23, 0x85, 0x21, 0xd3, 0x07, 0xbe, 0xdb, 0x3f, 0x27, 0x45, 0xee, 0xa7, 0x3d, 0x90, 0xf2, 0xa0, 0x20, 0x7f, 0xa0, 0x72, 0x1f, 0x29, 0x0a, 0x91, 0xfd, 0x21, 0x7e, 0xd5, 0xbb, 0x73, 0x7f, 0xa6, 0x96, 0xd8, 0x0c, 0xda, 0xcd, 0x4a, 0x85, 0xa0, 0xd0, 0x10, 0xa0, 0x66, 0xaa, 0xc1, 0x6a, 0x87, 0x07, 0xcc, 0xb0, 0x36, 0xf9, 0x91, 0xcb, 0x9a, 0x3d, 0x13, 0x93, 0xd4, 0xbf, 0x31, 0x9a, 0x32, 0x36, 0x2b, 0xdb, 0x84, 0xd7, 0xb0, 0xfd, 0x9c, 0x05, 0x22, 0x14, 0x7d, 0xce, 0xe7, 0xe9, 0xbd, 0x28, 0x7a, 0x93, 0x64, 0x8f, 0xca, 0xd3, 0x6d, 0x42, 0x21, 0xc1, 0x09, 0xdd, 0xb1, 0x4f, 0xdc, 0x22, 0x5e, 0x50, 0xea, 0x29, 0xdc, 0x45, 0x33, 0x45, 0x7f, 0x4a, 0xf5, 0x39, 0x87, 0x38, 0xd7, 0x6b, 0xb3, 0x0d, 0xc4, 0xb4, 0xea, 0x7b, 0xb1, 0x4e, 0xa0, 0x35, 0x1a, 0x6a, 0xa7, 0xef, 0xe9, 0x88, 0x2b, 0xb7, 0x61, 0x83, 0xe2, 0x9a, 0x64, 0xd2, 0x95, 0xcb, 0xe1, 0xdf, 0xb8, 0xfb, 0x41, 0x84, 0xae, 0x85, 0x42, 0xb6, 0x41, 0x12, 0x50, 0xe1, 0x54, 0xe1, 0x01, 0x0e, 0x5b, 0x01, 0x77, 0xc8, 0x42, 0xc3, 0x51, 0x12, 0x80, 0xb6, 0x1d, 0xa8, 0x93, 0x18, 0x4d, 0x29, 0x58, 0x2f, 0x9a, 0xb4, 0xa8, 0x0c, 0x7a, 0x7f, 0x7a, 0x13, 0xe4, 0xa9, 0x9c, 0xd7, 0xd8, 0x10, 0xbe, 0xbc, 0x97, 0x9c, 0x4b, 0x6b, 0x32, 0xbb, 0xf1, 0xf1, 0xd6, 0xb1, 0x94, 0x53, 0x97, 0xdd, 0x3f, 0xe3, 0x1f, 0xfe, 0x1a, 0x6a, 0x24, 0x8b, 0xdb, 0xac, 0x8c, 0x04, 0x1f, 0x27, 0xb6, 0x44, 0xaf, 0xb7, 0x7d, 0xe0, 0xb5, 0x15, 0x03, 0xab, 0xc7, 0x26, 0x2e, 0xf6, 0x9c, 0x0f, 0x7c, 0xc8, 0x14, 0xe4, 0x51, 0xa9, 0x7b, 0x61, 0xba, 0x4e, 0x48, 0xe5, 0x4c, 0xdd, 0x10, 0x42, 0x6c, 0xa0, 0x85, 0x74, 0xa4, 0x89, 0x27, 0x98, 0xf4, 0x5e, 0x24, 0x16, 0x24, 0x1b, 0x4f, 0x92, 0x21, 0xc0, 0x04, 0x75, 0x5f, 0x73, 0xb0, 0x17, 0x79, 0xc5, 0xf8, 0xff, 0x98, 0x25, 0x8f, 0x9a, 0x4e, 0x81, 0x3e, 0x42, 0x67, 0x93, 0x55, 0x49, 0xc6, 0xd1, 0xcc, 0xe1, 0x73, 0xc2, 0x01, 0x46, 0x0b, 0x25, 0x7f, 0x91, 0x23, 0xaf, 0x0e, 0x07, 0x93, 0xcf, 0x71, 0xa2, 0x23, 0xb9, 0x9c, 0x6c, 0x70, 0x2f, 0xbe, 0xcb, 0x53, 0xcc, 0x96, 0x33, 0x3c, 0x99, 0xd4, 0x37, 0x4b, 0x25, 0xd7, 0xe1, 0x0e, 0x36, 0x36, 0xc5, 0x4c, 0xec, 0x2b, 0xf4, 0x64, 0x52, 0x06, 0x20, 0xb9, 0x3c, 0x9c, 0x8a, 0x48, 0xbe, 0xdd, 0x3a, 0x1c, 0xe5, 0x21, 0x51, 0xb8, 0x3a, 0xc3, 0x30, 0x53, 0xc6, 0xb1, 0x2b, 0x31, 0x3e, 0x95, 0xdd, 0xe2, 0x0c, 0xd1, 0x4c, 0xc3, 0x3c, 0x8c, 0x18, 0xa5, 0x92, 0x56, 0x7c, 0x36, 0x40, 0xfe, 0x5d, 0xd7, 0x92, 0xa3, 0x0b, 0x98, 0x74, 0x69, 0xab, 0xe6, 0xf6, 0x9f, 0x90, 0x11, 0x0f, 0x8f, 0x9a, 0xa0, 0xb9, 0x52, 0x05, 0x5b, 0x10, 0xda, 0x01, 0x6c, 0x74, 0x5a, 0xd1, 0x81, 0x35, 0x12, 0xc4, 0x35, 0x6f, 0x5a, 0xfc, 0x35, 0xf3, 0xf9, 0xd2, 0x6f, 0x2a, 0x2a, 0xd1, 0x3a, 0x41, 0x2f, 0xa8, 0x6c, 0xb7, 0x38, 0x52, 0x80, 0xc4, 0x51, 0xc3, 0x8d, 0x4f, 0x9c, 0x5e, 0x30, 0x98, 0x87, 0x8f, 0xf1, 0xbb, 0xb0, 0x1f, 0x71, 0xd3, 0xa0, 0x5d, 0x01, 0xc1, 0x64, 0xe3, 0x1e, 0x30, 0x81, 0xc5, 0x0a, 0x3f, 0x9c, 0x75, 0x55, 0xd5, 0x32, 0xcb, 0x5d, 0x78, 0x1d, 0xfe, 0x09, 0x27, 0xb0, 0xca, 0xde, 0xf9, 0x95, 0x19, 0xa0, 0x69, 0xec, 0x86, 0x76, 0x32, 0x94, 0x21, 0xdb, 0x94, 0xb3, 0xb8, 0xa8, 0xd6, 0x6e, 0x28, 0xbc, 0x83, 0xb4, 0x81, 0xba, 0x61, 0x6d, 0xe9, 0x84, 0xbc, 0x77, 0xb2, 0x6d, 0x1f, 0xb8, 0xe6, 0x94, 0x46, 0x24, 0x28, 0x81, 0x4c, 0x6a, 0x12, 0x9c, 0x2f, 0xb1, 0x29, 0xe7, 0xed, 0x23, 0xe1, 0xcf, 0x49, 0x63, 0x0d, 0x79, 0x92, 0xc2, 0x41, 0x2e, 0xb7, 0x0b, 0x9f, 0x76, 0xc0, 0x17, 0x44, 0x7c, 0x92, 0x3e, 0x84, 0x13, 0x4b, 0x57, 0x22, 0xbb, 0xb4, 0x1c, 0x46, 0x08, 0xd4, 0x68, 0xdc, 0x48, 0xf7, 0xd6, 0x9f, 0x8f, 0x62, 0x0c, 0xdc, 0x86, 0x93, 0x4c, 0x07, 0x72, 0xdf, 0x7a, 0xfa, 0x14, 0xf2, 0x69, 0xcd, 0xf0, 0x75, 0x9c, 0x83, 0xdc, 0x9c, 0xed, 0x61, 0x45, 0x2a, 0x97, 0xf3, 0x39, 0x8a, 0xd7, 0x4b, 0xce, 0x96, 0x8e, 0x6b, 0xff, 0xe9, 0xfe, 0xf6, 0xa1, 0x1b, 0x62, 0xd2, 0x78, 0x56, 0xed, 0x5e, 0x96, 0xfa, 0x67, 0x0e, 0xe1, 0x46, 0xaf, 0x5a, 0x14, 0x3d, 0xf4, 0x6b, 0x16, 0xe5, 0xad, 0x8a, 0x96, 0x41, 0xfb, 0xed, 0x9d, 0x09, 0x7f, 0x66, 0x45, 0xac, 0xaa, 0x65, 0x09, 0x30, 0xe2, 0x8a, 0xf6, 0xdc, 0xce, 0x32, 0xcc, 0x83, 0xbf, 0x74, 0x25, 0x4f, 0x6f, 0x23, 0x91, 0x06, 0xfe, 0xf7, 0xaf, 0x07, 0xe4, 0x06, 0x1c, 0xff, 0xd4, 0x3a, 0x8f, 0x93, 0xae, 0xcc, 0xe5, 0x13, 0x4c, 0x23, 0x5d, 0xdc, 0xa0, 0x6e, 0x79, 0x18, 0x2a, 0x69, 0x73, 0x36, 0x42, 0x1e, 0xfb, 0xed, 0xbf, 0x5f, 0xcc, 0x2c, 0xf0, 0xd7, 0x8a, 0xef, 0xcb, 0x63, 0xbf, 0xf9, 0xf7, 0xf9, 0xee, 0x3e, 0xe9, 0xf6, 0x21, 0x46, 0xf5, 0x46, 0xea, 0x06, 0x02, 0x3c, 0xf1, 0x57, 0x33, 0x45, 0xa9, 0x45, 0xf0, 0xb9, 0xa2, 0x7c, 0x2c, 0xd8, 0x9d, 0x46, 0xd8, 0x22, 0x71, 0xc5, 0xdf, 0x84, 0x83, 0x11, 0x6b, 0xf6, 0x37, 0x47, 0xda, 0x45, 0x1d, 0xf2, 0x9f, 0x9b, 0x5f, 0x85, 0xce, 0x48, 0xcb, 0xbb, 0x50, 0x0a, 0x6a, 0x7f, 0x29, 0x6a, 0x58, 0xc4, 0x70, 0x2a, 0xa2, 0xf1, 0x9a, 0x66, 0x3b, 0xb8, 0x59, 0xa6, 0x2f, 0x19, 0xbe, 0x1a, 0xea, 0x6a, 0x25, 0x3b, 0xa4, 0xe9, 0xd9, 0x1a, 0xa6, 0xb0, 0x39, 0x43, 0xa8, 0x78, 0x24, 0xce, 0x17, 0xcb, 0xb6, 0x06, 0x85, 0xcd, 0xd6, 0xc0, 0x16, 0xd8, 0xf9, 0x5d, 0x57, 0x9a, 0x4a, 0xc1, 0x68, 0x48, 0x55, 0x92, 0x9b, 0x2c, 0xc1, 0x0f, 0x39, 0x4e, 0x1f, 0xfe, 0x8a, 0xf1, 0xe7, 0xb8, 0x64, 0x86, 0x2b, 0xaf, 0x61, 0x85, 0xc7, 0x17, 0xe7, 0xe7, 0x27, 0xc7, 0xcd, 0x60, 0xa1, 0x69, 0xc2, 0x6b, 0x55, 0x7d, 0xaf, 0xa7, 0x29, 0x7d, 0x9e, 0xfa, 0x55, 0x48, 0xb4, 0x88, 0xbf, 0x4f, 0xed, 0xce, 0x62, 0x81, 0xae, 0xe6, 0x5f, 0x4a, 0x3b, 0x10, 0x86, 0x35, 0x16, 0x0a, 0x08, 0x54, 0x51, 0x7a, 0xf4, 0xe0, 0x42, 0x6a, 0x90, 0x33, 0x0d, 0xb1, 0x74, 0xb4, 0xf4, 0x9b, 0x4c, 0x58, 0x99, 0x05, 0x55, 0x32, 0x8c, 0xc7, 0x9b, 0x52, 0x28, 0xa0, 0xdf, 0x6e, 0xa3, 0x65, 0x46, 0x42, 0xc4, 0x62, 0xac, 0x5e, 0x3e, 0xe1, 0xf6, 0xca, 0xf3, 0xb8, 0xb8, 0xc5, 0x70, 0xb6, 0x53, 0x96, 0x45, 0x85, 0xb9, 0x04, 0xca, 0x3e, 0x1e, 0x87, 0xb0, 0x3a, 0xc8, 0xeb, 0xee, 0x56, 0xa1, 0xc8, 0x64, 0xa4, 0x25, 0xe9, 0x81, 0xd6, 0xcb, 0xe2, 0xeb, 0x59, 0x72, 0x8f, 0x9f, 0x61, 0x80, 0x22, 0x04, 0xdc, 0xf0, 0x7b, 0x9c, 0x30, 0xae, 0x3e, 0x47, 0x15, 0x1e, 0x05, 0xeb, 0x03, 0x8f, 0x6a, 0xce, 0x5d, 0x44, 0x08, 0xa8, 0x1c, 0xdb, 0xf2, 0x71, 0xad, 0x95, 0xb7, 0x57, 0xef, 0x04, 0x6c, 0xb4, 0x11, 0x50, 0xf3, 0xf2, 0x90, 0xa5, 0x10, 0xcd, 0x00, 0x90, 0x52, 0x31, 0x46, 0x1b, 0x5e, 0x13, 0xef, 0x34, 0x1d, 0x03, 0x5a, 0x2b, 0x65, 0x6d, 0x08, 0x3d, 0xdd, 0xb8, 0x25, 0xf2, 0x37, 0xc0, 0xe6, 0x01, 0x74, 0x57, 0xf0, 0x13, 0xc0, 0xc4, 0xf6, 0x9b, 0x40, 0xd8, 0x84, 0x11, 0x47, 0x4e, 0x52, 0x04, 0x87, 0x9c, 0x52, 0x55, 0x09, 0x3e, 0x4c, 0x97, 0xd5, 0x53, 0x73, 0x91, 0xa1, 0x52, 0xc1, 0x65, 0x57, 0xac, 0x02, 0x8a, 0x61, 0xc2, 0xee, 0xe2, 0x39, 0xc8, 0xde, 0x2b, 0xd8, 0x13, 0x47, 0x21, 0xe4, 0x02, 0xc3, 0x9f, 0x8b, 0x65, 0xe5, 0x05, 0x12, 0x11, 0xf6, 0x8e, 0x11, 0x4f, 0xbe, 0xea, 0xf9, 0x2d, 0xe2, 0xe2, 0xb1, 0x7b, 0xa6, 0xc4, 0xc0, 0xc9, 0xec, 0x2f, 0xab, 0x71, 0xfa, 0x14, 0x2c, 0xa9, 0xd6, 0x2b, 0x85, 0xac, 0x1a, 0xda, 0x31, 0x4b, 0xaa, 0x9b, 0xe4, 0x57, 0x68, 0xd2, 0x82, 0x79, 0x45, 0x59, 0xc4, 0x2a, 0x74, 0x23, 0x42, 0x0f, 0x68, 0x70, 0x3f, 0xb0, 0x72, 0xd0, 0xb1, 0x95, 0xb4, 0x09, 0xa5, 0x5b, 0xee, 0x5a, 0xc7, 0x0f, 0xfd, 0xf6, 0x92, 0xe9, 0x36, 0x79, 0x7c, 0x96, 0x8e, 0x62, 0x9e, 0xfb, 0x14, 0x33, 0x88, 0x0e, 0xe1, 0x3f, 0x2b, 0xbf, 0xfd, 0xfc, 0xcf, 0x7a, 0x18, 0xa0, 0xcf, 0x93, 0xba, 0x16, 0xdf, 0xd6, 0x02, 0xdc, 0x7a, 0x6d, 0x91, 0xee, 0xfd, 0xf2, 0xc8, 0x9a, 0x44, 0x5e, 0x29, 0x83, 0x6d, 0x7d, 0xa0, 0x2b, 0x86, 0x03, 0x01, 0xfb, 0x10, 0xd6, 0xae, 0x84, 0xa0, 0x9e, 0x27, 0x92, 0x9f, 0x14, 0xc1, 0xb5, 0xf2, 0xea, 0x66, 0x9e, 0x95, 0xa9, 0xae, 0x7c, 0xe6, 0xc6, 0x05, 0x6a, 0x8d, 0xa3, 0x7f, 0x51, 0x5d, 0xa1, 0x92, 0xce, 0x9a, 0xb2, 0x42, 0x5f, 0xa9, 0x6d, 0xc2, 0x73, 0xa4, 0x92, 0xb7, 0x25, 0xcd, 0x1a, 0xcd, 0xda, 0x46, 0xf9, 0xbb, 0xb0, 0x2a, 0xeb, 0xdd, 0x92, 0x27, 0x3d, 0xf5, 0x9b, 0x5f, 0x8b, 0xe7, 0xa7, 0x6c, 0xd7, 0x0f, 0x66, 0x65, 0xbe, 0x36, 0xe7, 0x03, 0x73, 0x96, 0x75, 0x7b, 0xca, 0x76, 0x33, 0x67, 0xdb, 0xf1, 0x4a, 0x04, 0x92, 0xb6, 0x69, 0xb4, 0xff, 0x0b, 0x53, 0xb6, 0xdd, 0x8c, 0xed, 0x98, 0xf2, 0xb5, 0x03, 0xe9, 0xda, 0xb2, 0xd1, 0x92, 0xaf, 0xc9, 0x19, 0xdb, 0x2b, 0x53, 0xb6, 0xdd, 0x9c, 0xed, 0x55, 0x49, 0xdb, 0x04, 0x16, 0xb0, 0x22, 0x65, 0xfb, 0xd7, 0x65, 0x6c, 0xb7, 0xa5, 0x6c, 0xff, 0xf2, 0x9c, 0xed, 0xdf, 0x36, 0x65, 0xfb, 0xb7, 0xcc, 0x46, 0xa6, 0xdb, 0x83, 0x27, 0x92, 0x8e, 0xa4, 0xe8, 0xec, 0xb0, 0x15, 0xea, 0x59, 0x2b, 0x31, 0x6b, 0x09, 0x2c, 0x4e, 0x98, 0x59, 0x86, 0x61, 0x8d, 0xc6, 0x51, 0xdc, 0xfd, 0xba, 0x21, 0xa1, 0x95, 0x40, 0x06, 0x9c, 0x1b, 0x07, 0xde, 0x0d, 0xdd, 0xf4, 0xb2, 0x9c, 0xf5, 0x68, 0x06, 0x58, 0x0b, 0xee, 0x59, 0x89, 0x96, 0xcf, 0x34, 0x9e, 0xfb, 0xed, 0x59, 0x4e, 0x35, 0x2b, 0xb7, 0x77, 0xad, 0xad, 0x2e, 0x7f, 0x59, 0x62, 0x9d, 0x72, 0xc8, 0x6e, 0x97, 0x82, 0x91, 0x81, 0x70, 0x19, 0xc5, 0x9e, 0xe1, 0xd7, 0xc8, 0x4b, 0x9a, 0x98, 0x5e, 0x97, 0x26, 0x24, 0x61, 0x5a, 0x57, 0x7b, 0xc5, 0x30, 0x04, 0x4b, 0xe0, 0xae, 0x83, 0x64, 0x08, 0x96, 0xbd, 0x28, 0xd3, 0x2e, 0xe9, 0x16, 0x6e, 0xf7, 0x77, 0xb9, 0x72, 0x5d, 0x43, 0x3a, 0x32, 0x4f, 0x0f, 0x29, 0x8c, 0xbe, 0xcf, 0x40, 0xed, 0x36, 0x07, 0x8d, 0x7b, 0xc9, 0xe9, 0x3b, 0xfd, 0xe8, 0x0a, 0xd5, 0x47, 0x50, 0xd6, 0x61, 0x46, 0x32, 0xb8, 0xfc, 0x2e, 0x34, 0x5c, 0x1d, 0x1c, 0x18, 0xe8, 0xe7, 0xc3, 0xd5, 0x99, 0x1f, 0x9f, 0xa6, 0xe8, 0xc1, 0xc1, 0xe6, 0x26, 0x65, 0x48, 0xdd, 0xc4, 0x0f, 0x0f, 0xfd, 0x32, 0xd9, 0x1c, 0xe7, 0xa3, 0x72, 0x13, 0x4f, 0x50, 0xbf, 0x7c, 0x53, 0xcd, 0x67, 0xab, 0xb2, 0x1e, 0xd2, 0x52, 0x8b, 0xa5, 0x15, 0x0a, 0xd9, 0x66, 0x5e, 0xb2, 0xb5, 0x95, 0xba, 0x2d, 0x00, 0x88, 0xef, 0x7b, 0xc8, 0x61, 0x54, 0x55, 0x00, 0x8b, 0x82, 0xff, 0xa3, 0x5e, 0x38, 0x18, 0x54, 0x0a, 0x14, 0x94, 0xbb, 0xfd, 0x82, 0x9d, 0x1a, 0x02, 0xff, 0x80, 0xd8, 0x0e, 0x40, 0xa8, 0xdf, 0xa4, 0x22, 0x16, 0x56, 0xdf, 0x33, 0xdd, 0xf4, 0x5a, 0xa3, 0x5e, 0x43, 0x5e, 0x7e, 0x3b, 0x3d, 0xa2, 0xb3, 0x96, 0xde, 0xbd, 0xbf, 0x39, 0x4b, 0x00, 0xea, 0x46, 0x29, 0xff, 0x1c, 0x65, 0xd7, 0x7d, 0xf4, 0x53, 0xdc, 0x32, 0x93, 0x90, 0x77, 0xc8, 0xd9, 0x76, 0x2b, 0x67, 0x62, 0x1e, 0xfe, 0x14, 0x33, 0x21, 0xfc, 0x84, 0x20, 0x7f, 0xac, 0xcd, 0x81, 0x1e, 0xfb, 0x14, 0xdf, 0xbf, 0xdb, 0x6e, 0xfb, 0x2c, 0x35, 0xe7, 0xa5, 0x27, 0x7e, 0xc3, 0x0f, 0x7f, 0x30, 0xce, 0x2a, 0xc6, 0x9a, 0x38, 0xc4, 0xff, 0x1e, 0xe8, 0x0e, 0xaf, 0xec, 0xfa, 0xd7, 0xd2, 0x52, 0x41, 0xf8, 0x9b, 0x95, 0x0d, 0xab, 0xc1, 0x5c, 0x42, 0x64, 0x8e, 0xf7, 0x8a, 0x91, 0xba, 0x04, 0x6c, 0x9d, 0x7a, 0x60, 0xf4, 0x14, 0xa9, 0x91, 0x91, 0x6d, 0x18, 0x6c, 0x08, 0x3f, 0x3d, 0xce, 0x15, 0xfc, 0x0a, 0x0c, 0x85, 0xb0, 0x18, 0x4a, 0x28, 0xd8, 0x1f, 0x40, 0xfa, 0x61, 0x43, 0xdc, 0x5c, 0x64, 0xb7, 0x1d, 0x53, 0x99, 0xcc, 0xfc, 0xb4, 0x96, 0xa7, 0x7a, 0x49, 0x10, 0xcf, 0x76, 0x21, 0xa2, 0x86, 0xc6, 0x8f, 0x46, 0x7c, 0xa5, 0xc9, 0x44, 0x15, 0x67, 0x78, 0x66, 0x41, 0x45, 0xcc, 0x15, 0x3f, 0x88, 0x3a, 0xbd, 0x0f, 0xd1, 0x41, 0xc7, 0xdb, 0xa2, 0x8b, 0x4c, 0x7a, 0xf1, 0x90, 0xc7, 0xab, 0x20, 0x80, 0x02, 0x6a, 0xef, 0xe5, 0x6a, 0x26, 0x37, 0x08, 0x24, 0x65, 0xcd, 0x09, 0xd3, 0xc7, 0x62, 0xea, 0x05, 0xe1, 0xe6, 0xda, 0xb7, 0xd5, 0xf4, 0x9d, 0x42, 0x41, 0x82, 0x4e, 0x1b, 0x0b, 0x4a, 0x4f, 0xda, 0x13, 0xf7, 0xd4, 0x40, 0xd6, 0x8a, 0xc1, 0x44, 0x0c, 0x66, 0x62, 0x35, 0xbe, 0x0f, 0x02, 0x29, 0x3d, 0xdb, 0xa5, 0x94, 0x6e, 0x91, 0x97, 0x65, 0x3a, 0x04, 0x4e, 0x3d, 0x15, 0x16, 0x59, 0x26, 0x9c, 0x4f, 0xc5, 0xa5, 0xd7, 0xb8, 0x9b, 0x35, 0x58, 0x86, 0xe6, 0x16, 0xd1, 0x4a, 0x05, 0x0d, 0x42, 0x9c, 0x4b, 0x30, 0x3b, 0x66, 0x6c, 0x77, 0x29, 0x0e, 0xcd, 0xd4, 0x16, 0x47, 0xc3, 0x22, 0x4d, 0x26, 0x98, 0xea, 0x48, 0x2b, 0x12, 0xc5, 0xab, 0xc9, 0x64, 0x67, 0x88, 0x98, 0x82, 0x49, 0x3a, 0x98, 0x69, 0x5b, 0x22, 0x18, 0x28, 0xa5, 0x5f, 0x53, 0xee, 0xa3, 0xcd, 0xed, 0x2e, 0x12, 0xcc, 0x1c, 0xb8, 0x4b, 0xe4, 0x58, 0x63, 0xed, 0x89, 0xd4, 0x92, 0x93, 0x5a, 0x18, 0xcc, 0x74, 0xaa, 0x76, 0x20, 0xa8, 0x26, 0x83, 0x1b, 0x83, 0x5f, 0xa4, 0x1e, 0x9b, 0x9a, 0xbe, 0x6b, 0x21, 0x15, 0xfa, 0x9f, 0x8c, 0xc7, 0x3b, 0x5e, 0xe8, 0x5f, 0x50, 0x07, 0x50, 0x6f, 0xc1, 0xb6, 0x2a, 0x2b, 0xde, 0xc9, 0x8c, 0x16, 0x13, 0xe8, 0xa9, 0x74, 0xf8, 0x09, 0x36, 0x2b, 0x88, 0xce, 0x9b, 0x5a, 0x4e, 0x20, 0xb1, 0x1c, 0x13, 0xe8, 0x38, 0x5f, 0xcd, 0xac, 0xae, 0x22, 0xd4, 0x07, 0x2a, 0xe5, 0x77, 0x03, 0xc3, 0x1f, 0x3c, 0x11, 0x6f, 0xd3, 0xe5, 0xdb, 0x13, 0xe4, 0x9d, 0xfc, 0x78, 0x2a, 0x08, 0x61, 0x1f, 0x79, 0x8c, 0x33, 0xf0, 0x65, 0x32, 0x62, 0xbb, 0x73, 0x6e, 0xbc, 0xa6, 0xc6, 0xbb, 0x99, 0xf1, 0xa0, 0xf3, 0x39, 0xb1, 0x7a, 0x8b, 0xc6, 0x8a, 0x0e, 0xd6, 0x70, 0x94, 0x98, 0x6e, 0x28, 0xf5, 0xe5, 0x78, 0xe9, 0x75, 0xd7, 0x74, 0x79, 0xb9, 0x0e, 0x75, 0x97, 0xc6, 0x46, 0x81, 0xb2, 0x1f, 0xe2, 0xfd, 0x14, 0x58, 0xee, 0xb8, 0xb5, 0x36, 0x04, 0xb9, 0x3d, 0xe3, 0x20, 0x05, 0x2a, 0x3b, 0xcf, 0x07, 0x03, 0x3f, 0x45, 0x3e, 0x03, 0xe3, 0x24, 0x9f, 0x66, 0xe9, 0xcf, 0x84, 0x19, 0x84, 0x41, 0xcb, 0x66, 0x7a, 0x6b, 0xad, 0x48, 0x21, 0x72, 0x02, 0xf2, 0x98, 0x28, 0xe1, 0xf3, 0x37, 0x4a, 0xa2, 0x23, 0xa9, 0x83, 0xe9, 0x60, 0x08, 0x2c, 0x66, 0x32, 0x01, 0x31, 0xc8, 0xc0, 0x8d, 0xad, 0xc4, 0x16, 0x33, 0xb9, 0xb3, 0xfc, 0x61, 0xef, 0x70, 0x95, 0x2a, 0x04, 0x13, 0x28, 0x88, 0xf4, 0xc5, 0x23, 0xfd, 0xe2, 0xa2, 0x02, 0x6a, 0x58, 0xf9, 0xcb, 0x4b, 0x0a, 0xc2, 0xb0, 0x58, 0xc9, 0x03, 0x33, 0xd0, 0x9a, 0x24, 0x70, 0x60, 0x75, 0x24, 0x27, 0xbb, 0x4c, 0x42, 0xe2, 0x45, 0xf7, 0x98, 0x05, 0xe9, 0xb3, 0xe0, 0x07, 0x55, 0xf9, 0x8c, 0xfd, 0xbb, 0xd5, 0x44, 0x1e, 0x34, 0x81, 0x8e, 0x67, 0x40, 0x0e, 0xa2, 0x1b, 0x5f, 0xc1, 0xfe, 0xc5, 0x9f, 0x4e, 0x2d, 0x70, 0x18, 0x7f, 0x21, 0x61, 0x9c, 0x40, 0x53, 0x09, 0x24, 0x36, 0x0a, 0x5e, 0xd8, 0x60, 0x73, 0x56, 0x84, 0x63, 0x20, 0xdd, 0x9d, 0xdc, 0xcb, 0x52, 0x0d, 0x26, 0xad, 0xd8, 0x71, 0x80, 0x3e, 0x02, 0xe3, 0x61, 0x5d, 0x95, 0xba, 0xee, 0xe1, 0xd7, 0x58, 0xa9, 0xa5, 0x54, 0xd1, 0x24, 0x2d, 0xdb, 0x78, 0xc1, 0x4c, 0x91, 0x53, 0x44, 0xc4, 0xc7, 0x6f, 0x1a, 0x0a, 0xd6, 0xa5, 0x18, 0x23, 0xc3, 0x7a, 0xa4, 0x25, 0x78, 0x41, 0xa4, 0x05, 0x2c, 0xc1, 0x26, 0x43, 0x40, 0x66, 0x2e, 0x2b, 0x32, 0xb4, 0xd2, 0x45, 0xee, 0xc3, 0x2c, 0x57, 0x3c, 0x75, 0xbd, 0x85, 0x72, 0xd9, 0xe6, 0x62, 0x1f, 0x65, 0x90, 0x16, 0x5d, 0xfe, 0x13, 0x54, 0xa2, 0xfc, 0xaa, 0x52, 0x94, 0x4f, 0x5b, 0x89, 0x62, 0x25, 0x05, 0x4a, 0x1d, 0x5f, 0x4e, 0x50, 0x94, 0x10, 0x5d, 0x32, 0x9c, 0x06, 0x75, 0x1f, 0x9b, 0x8e, 0x40, 0xfc, 0x5a, 0x63, 0xb8, 0xf0, 0x65, 0xea, 0x46, 0xb5, 0x2c, 0xd9, 0xc4, 0xe3, 0x91, 0xeb, 0xc2, 0x35, 0x36, 0x5a, 0xe0, 0x97, 0x12, 0x2c, 0x19, 0x1f, 0x27, 0x02, 0x9d, 0xf6, 0x67, 0xdb, 0x91, 0xe7, 0x53, 0x1b, 0x60, 0xdb, 0xc0, 0x9b, 0x0f, 0x1d, 0x79, 0xfc, 0xe5, 0x93, 0x02, 0x99, 0xee, 0x19, 0xbe, 0x66, 0x91, 0x49, 0x1d, 0x7e, 0x67, 0x31, 0xca, 0xca, 0x10, 0x9c, 0xaa, 0x19, 0x46, 0x98, 0x9d, 0x61, 0x6f, 0x98, 0x19, 0x87, 0xef, 0xb7, 0x30, 0xb8, 0x44, 0xe3, 0xae, 0x6a, 0x12, 0x03, 0x47, 0x1f, 0x26, 0xd5, 0x3d, 0x6a, 0x71, 0xb4, 0x1f, 0xba, 0x91, 0x0e, 0x17, 0x90, 0x2d, 0x6a, 0xcd, 0x77, 0xe9, 0x72, 0x1a, 0x1c, 0x32, 0x14, 0xc6, 0x57, 0x36, 0x7e, 0x11, 0x8d, 0xe9, 0x7a, 0xb7, 0x2f, 0xd8, 0x62, 0xcb, 0x86, 0xa8, 0x6b, 0x7b, 0xa3, 0xb9, 0xb8, 0xb5, 0x8a, 0x21, 0x4d, 0x5b, 0x92, 0x07, 0x5d, 0x1f, 0xbf, 0xb9, 0xc6, 0x72, 0x6d, 0x83, 0x80, 0x15, 0x18, 0x18, 0xa3, 0x77, 0x65, 0x3e, 0x7a, 0xfe, 0x8e, 0xaa, 0x15, 0xc0, 0x4e, 0xc2, 0xb8, 0x5c, 0x28, 0x34, 0xdc, 0xc6, 0x64, 0xd8, 0x93, 0x23, 0xbf, 0x8d, 0x17, 0xf0, 0x33, 0x0c, 0x09, 0x12, 0xd4, 0x2f, 0xf7, 0x83, 0xf4, 0xf2, 0x12, 0x88, 0x00, 0xdc, 0x89, 0x35, 0xc2, 0xe2, 0x74, 0x3e, 0x7e, 0x03, 0x0b, 0x31, 0xce, 0x42, 0x6d, 0x87, 0x4a, 0x41, 0xd4, 0x52, 0xef, 0x94, 0x06, 0xc9, 0x25, 0xd8, 0xe2, 0x0a, 0x57, 0x41, 0x8d, 0xcc, 0xf8, 0x00, 0x2b, 0x1f, 0x12, 0xbe, 0xb6, 0xc8, 0xbc, 0x1f, 0x68, 0x3e, 0x4a, 0x9a, 0x0e, 0x55, 0x64, 0x79, 0xf3, 0x97, 0x2c, 0x3e, 0x6d, 0x46, 0x69, 0x5d, 0x3d, 0xa6, 0xb7, 0xb4, 0xdf, 0x63, 0x18, 0x41, 0xb9, 0xf4, 0x05, 0x81, 0xa6, 0x96, 0xf1, 0x4d, 0xcb, 0xde, 0xb6, 0xc8, 0x64, 0x28, 0x87, 0xa3, 0x76, 0x6b, 0x25, 0xf6, 0x10, 0x88, 0xcd, 0xad, 0x0f, 0xb0, 0x2e, 0x62, 0x70, 0x7c, 0xb9, 0x11, 0x5d, 0x36, 0x90, 0x60, 0xa8, 0x28, 0x09, 0x85, 0xa9, 0xcb, 0x87, 0xa5, 0x45, 0x22, 0x23, 0x8f, 0xb6, 0xa3, 0x86, 0x28, 0xde, 0xb3, 0xc1, 0xd8, 0xa5, 0xd0, 0xef, 0x6f, 0xce, 0x98, 0x1a, 0x6b, 0x39, 0xa2, 0x22, 0x0d, 0x06, 0x05, 0x11, 0x93, 0xd2, 0xbd, 0xa6, 0x60, 0x41, 0xe7, 0x58, 0x6a, 0xc7, 0x4d, 0xc9, 0xc4, 0x29, 0xaf, 0xf8, 0x27, 0x33, 0x2f, 0xd5, 0x91, 0x36, 0x42, 0xb3, 0xce, 0x1d, 0xf4, 0x23, 0xe9, 0x0e, 0x5a, 0xb2, 0x54, 0x6a, 0x74, 0xef, 0x20, 0x1e, 0x36, 0x4d, 0xb2, 0x24, 0x84, 0x10, 0xf6, 0x48, 0x82, 0x5c, 0x48, 0x7a, 0xdc, 0x6f, 0xa2, 0x9a, 0x3b, 0x41, 0x03, 0x99, 0x5c, 0x9a, 0xdb, 0x0e, 0x06, 0x2d, 0xc8, 0xa7, 0xac, 0xe3, 0x61, 0x73, 0x50, 0xe4, 0x88, 0x88, 0x8f, 0x4f, 0x26, 0xc1, 0x28, 0x5f, 0x3c, 0xe2, 0x66, 0xc0, 0x63, 0x65, 0x79, 0xb3, 0x03, 0x7c, 0x63, 0xa7, 0xff, 0x39, 0xa3, 0x65, 0xdf, 0x80, 0xb0, 0x0e, 0xc0, 0x24, 0x73, 0xfa, 0x88, 0xb4, 0x11, 0x6e, 0x8c, 0x27, 0x5a, 0x78, 0xdf, 0x2a, 0xfe, 0xbd, 0xff, 0x44, 0x4a, 0xfb, 0xfb, 0xd2, 0x8f, 0xdf, 0xad, 0x23, 0x41, 0x45, 0x48, 0x56, 0x1b, 0xdc, 0xf4, 0x92, 0x33, 0x0d, 0x86, 0x69, 0x45, 0xcd, 0x26, 0xd4, 0x8a, 0xac, 0x5f, 0x4d, 0x6a, 0x0c, 0x57, 0xd0, 0x5b, 0xc1, 0x9a, 0xf8, 0x7e, 0xf4, 0x9f, 0xf8, 0x29, 0x7d, 0x9b, 0xcb, 0x32, 0x28, 0x19, 0xe2, 0xeb, 0x93, 0xb7, 0x17, 0x57, 0x27, 0xf5, 0x72, 0xc5, 0x8a, 0x30, 0xb7, 0x22, 0x0a, 0xf6, 0x37, 0x67, 0xc7, 0x68, 0x83, 0x02, 0x83, 0x20, 0x99, 0x0a, 0x29, 0xda, 0xfd, 0xd1, 0xe5, 0xf7, 0x6f, 0xcc, 0xec, 0x50, 0x4b, 0xc8, 0xb8, 0x7b, 0x99, 0x0c, 0xda, 0xe5, 0x9d, 0x6e, 0x8a, 0x76, 0xd4, 0x02, 0xb0, 0x49, 0x9b, 0x34, 0x7d, 0x37, 0xf3, 0xa3, 0x14, 0x0b, 0x4e, 0x8c, 0xd1, 0x52, 0x7d, 0xc2, 0xb6, 0x2f, 0x4b, 0x2c, 0xbd, 0x37, 0x83, 0x7a, 0x7a, 0x2f, 0x5b, 0x47, 0x0c, 0x38, 0xc5, 0xa9, 0xc5, 0x71, 0x44, 0xa8, 0x7e, 0x08, 0xf4, 0xd7, 0x8f, 0xfc, 0x0f, 0x69, 0x52, 0x08, 0x7d, 0x25, 0xc4, 0xb0, 0x6f, 0x30, 0x4b, 0x9b, 0x02, 0x21, 0x2c, 0xed, 0xd0, 0xe1, 0x82, 0x44, 0x6b, 0xfa, 0xc1, 0x75, 0x19, 0x81, 0x51, 0xc2, 0x3d, 0xee, 0x46, 0x06, 0x22, 0xe4, 0xf0, 0xcd, 0xf5, 0x12, 0x0b, 0x1d, 0x9c, 0xa9, 0x9a, 0xdf, 0x44, 0x6a, 0x41, 0xaf, 0xfd, 0x79, 0xcd, 0xd6, 0x84, 0x70, 0x5f, 0xcb, 0x70, 0x1f, 0x58, 0xdb, 0x17, 0x70, 0xe3, 0xa9, 0xfc, 0x2d, 0x5d, 0x71, 0x5b, 0x3d, 0xb6, 0x84, 0xee, 0x24, 0xa5, 0x87, 0xda, 0xf3, 0x2e, 0x19, 0x49, 0x96, 0x18, 0x87, 0x08, 0x53, 0x1d, 0x45, 0x03, 0x7e, 0x7e, 0xf1, 0x45, 0x85, 0xb0, 0x0b, 0xb6, 0x57, 0x98, 0x32, 0x1c, 0x0a, 0x98, 0x69, 0x43, 0x0b, 0x0a, 0x45, 0x50, 0x13, 0xb6, 0xf2, 0x31, 0xab, 0xf0, 0xa2, 0x32, 0x4f, 0x19, 0xe5, 0x45, 0xb0, 0x00, 0x0c, 0x09, 0xc9, 0x92, 0x6e, 0x49, 0x48, 0x13, 0xaf, 0xf6, 0x5f, 0xa1, 0x68, 0xa7, 0x0c, 0x25, 0xe9, 0x94, 0x27, 0xb8, 0xdb, 0x14, 0x3d, 0x65, 0x50, 0x65, 0x0f, 0xe5, 0xda, 0x5d, 0x83, 0x76, 0x37, 0x1f, 0x26, 0x33, 0xee, 0xce, 0x37, 0x70, 0x06, 0xf1, 0xc1, 0x94, 0x56, 0x1c, 0x18, 0xc2, 0xf8, 0x01, 0xf9, 0xa4, 0xe5, 0x6d, 0xb4, 0xfe, 0x6f, 0x1b, 0x8c, 0x40, 0xa2, 0x69, 0x39, 0xe8, 0x9b, 0x4d, 0xb3, 0xa5, 0x47, 0xf9, 0xe8, 0x9c, 0x4b, 0x6b, 0x9b, 0x4a, 0x7b, 0x4e, 0xeb, 0x1b, 0x86, 0x6a, 0xf2, 0xca, 0x2a, 0x5f, 0x44, 0xdc, 0x4e, 0xb1, 0xf0, 0x82, 0x63, 0x72, 0x5c, 0x2b, 0xed, 0xd4, 0xf6, 0xb2, 0x05, 0x5f, 0x22, 0x12, 0x13, 0x22, 0xb0, 0x72, 0x71, 0xb8, 0xaa, 0x76, 0xd5, 0x8f, 0x3e, 0x64, 0x94, 0x88, 0x27, 0x74, 0x27, 0x72, 0x22, 0xcd, 0x60, 0xfd, 0x40, 0xd3, 0x20, 0x29, 0x02, 0x4c, 0xe8, 0xef, 0x75, 0xe6, 0x23, 0x4c, 0xb2, 0x11, 0x20, 0xa5, 0x4b, 0x2b, 0x6c, 0xcd, 0xb0, 0xad, 0x28, 0x7a, 0xeb, 0xf7, 0x9d, 0xe4, 0xbe, 0x79, 0x48, 0xea, 0xb0, 0x1c, 0x1a, 0x1b, 0x43, 0xe0, 0xc9, 0x6c, 0xd6, 0x63, 0x70, 0x7b, 0x84, 0xfa, 0x46, 0xe5, 0x9e, 0xab, 0xa4, 0x29, 0x81, 0xcd, 0x35, 0x7c, 0x3c, 0xc9, 0x42, 0xc5, 0xde, 0x84, 0x24, 0xab, 0x70, 0x23, 0x52, 0x8a, 0xa5, 0x81, 0x35, 0xac, 0xdc, 0xb3, 0xce, 0x10, 0xda, 0x1c, 0x5e, 0x52, 0x5b, 0xa7, 0x38, 0x1f, 0x2e, 0x76, 0x74, 0x33, 0x2d, 0x16, 0xdc, 0xad, 0x32, 0xd4, 0x4a, 0xd3, 0xd5, 0xba, 0xf9, 0x51, 0x25, 0x8a, 0x32, 0xa9, 0x78, 0x32, 0xfc, 0xee, 0xe9, 0x9b, 0x5a, 0xdb, 0x7b, 0xdc, 0x0a, 0x34, 0xfd, 0xc2, 0xc3, 0x99, 0xc7, 0xe8, 0x3e, 0x5a, 0xa9, 0x61, 0x86, 0xb2, 0x26, 0xc6, 0x50, 0x31, 0xc9, 0xe9, 0x77, 0xe1, 0xe1, 0x64, 0x14, 0x56, 0x55, 0x79, 0x0c, 0x1d, 0x98, 0x48, 0x05, 0x2c, 0xd1, 0x14, 0x1b, 0x8f, 0x21, 0x31, 0x4c, 0x93, 0xc2, 0x7c, 0xc6, 0x4f, 0x92, 0xbc, 0x99, 0xe7, 0x63, 0xac, 0xe9, 0x4a, 0x9e, 0xde, 0x0b, 0x7c, 0xd2, 0xde, 0x37, 0x29, 0x87, 0x2b, 0x0d, 0xd4, 0x2d, 0x57, 0xec, 0x61, 0x13, 0x82, 0xaa, 0x94, 0x9d, 0x09, 0x0f, 0x67, 0x97, 0xaa, 0xdd, 0x63, 0xe5, 0x4d, 0x77, 0x09, 0x59, 0x94, 0x8f, 0x2a, 0x67, 0x05, 0xf8, 0x40, 0x78, 0x38, 0x66, 0xac, 0x81, 0x95, 0x61, 0x81, 0x14, 0x59, 0x94, 0xab, 0x57, 0xc6, 0x0f, 0x7a, 0x87, 0x0c, 0x3f, 0xb4, 0x98, 0xc0, 0xb5, 0x13, 0x6e, 0x5f, 0x59, 0xe8, 0x84, 0x69, 0x06, 0xcd, 0x03, 0xd6, 0xae, 0x61, 0x05, 0x1f, 0x65, 0x2f, 0x3c, 0x9c, 0x39, 0x61, 0x01, 0x21, 0x5f, 0x71, 0xc0, 0xf2, 0x15, 0x6f, 0x17, 0x66, 0x19, 0xa8, 0x77, 0xcb, 0x62, 0x94, 0x7c, 0xa4, 0xb9, 0x55, 0x71, 0x31, 0x4d, 0xaa, 0x8f, 0xab, 0x37, 0x64, 0x26, 0x68, 0x0a, 0x8f, 0x73, 0x6a, 0xff, 0x6e, 0x98, 0x85, 0xe0, 0xfe, 0xc6, 0x82, 0x2e, 0x00, 0x0a, 0x1e, 0xfd, 0x9e, 0xad, 0x99, 0x16, 0xb2, 0xb7, 0xdf, 0x8b, 0x14, 0x4a, 0x07, 0xc4, 0x65, 0x9a, 0x29, 0x88, 0x8d, 0xf0, 0x18, 0x67, 0x8a, 0x51, 0x08, 0x79, 0x69, 0x55, 0xb8, 0x6a, 0x7e, 0x8b, 0x25, 0x56, 0x46, 0x09, 0xf8, 0x18, 0x68, 0xda, 0xe2, 0xd2, 0x31, 0x3f, 0xae, 0xc7, 0xcd, 0x6b, 0x92, 0x1a, 0x42, 0xd3, 0x25, 0xd8, 0x3d, 0xe9, 0xc8, 0x2f, 0x85, 0x76, 0x04, 0xa2, 0x7e, 0xd0, 0xdc, 0xc8, 0xe6, 0xec, 0x16, 0xf7, 0x63, 0xe3, 0x88, 0x81, 0xbf, 0xea, 0x77, 0x55, 0xb8, 0x53, 0x53, 0x0f, 0x6d, 0xc4, 0x8d, 0x09, 0x4c, 0x3c, 0xd8, 0x44, 0x91, 0xc9, 0x5b, 0x3f, 0x9d, 0x55, 0xbe, 0xfe, 0xe3, 0x7d, 0xbc, 0x48, 0x38, 0xef, 0x95, 0xb6, 0x57, 0x0e, 0xa3, 0x7d, 0x6b, 0xe4, 0x69, 0x3b, 0x45, 0xe6, 0xee, 0x96, 0x75, 0x15, 0x81, 0x2d, 0x6a, 0x67, 0x77, 0xf2, 0xd5, 0xc6, 0x75, 0x18, 0x27, 0xe8, 0x97, 0x15, 0x42, 0xc0, 0x84, 0x2d, 0x1e, 0x48, 0xb9, 0xde, 0x2a, 0x32, 0x6a, 0xdd, 0xe3, 0x62, 0xfe, 0xc4, 0x15, 0x87, 0x07, 0xec, 0xaa, 0x18, 0x87, 0xc3, 0xac, 0xca, 0xbb, 0x97, 0x72, 0x89, 0x5b, 0x76, 0xbe, 0x6d, 0x06, 0x35, 0x1a, 0x5c, 0x35, 0x13, 0x97, 0xfa, 0xdc, 0xc9, 0xd8, 0xad, 0x05, 0x55, 0xae, 0xa2, 0x2e, 0xe0, 0x3a, 0xb3, 0xf0, 0x70, 0x86, 0x3c, 0xf5, 0x3d, 0xd9, 0x9e, 0xae, 0xe3, 0xbb, 0xe4, 0x0e, 0x2f, 0x60, 0x36, 0xfa, 0xb4, 0xa1, 0xd7, 0xfb, 0x17, 0xb1, 0x07, 0xb4, 0xcf, 0x67, 0x99, 0x6b, 0x91, 0xe3, 0x17, 0x41, 0xf2, 0xae, 0x28, 0x65, 0x71, 0x9a, 0x43, 0x98, 0x03, 0xe7, 0x1e, 0xcf, 0x14, 0x77, 0xa5, 0x84, 0x3c, 0x4a, 0x54, 0xa5, 0x06, 0x61, 0xa2, 0xa4, 0x12, 0x5c, 0xdc, 0x18, 0x5b, 0xaf, 0xf8, 0x79, 0xf3, 0xfc, 0x49, 0xce, 0xda, 0x62, 0x18, 0x64, 0x8c, 0x1c, 0x8a, 0x12, 0xa2, 0x1d, 0xa4, 0xcb, 0x44, 0xac, 0x04, 0x7d, 0x3c, 0xe2, 0x6e, 0x2e, 0x7e, 0xe3, 0xec, 0x46, 0x02, 0x1d, 0xaa, 0x1f, 0x0d, 0x18, 0xf4, 0x64, 0x3a, 0x76, 0xdb, 0xd0, 0x3b, 0xcb, 0x2f, 0xba, 0xbc, 0x05, 0x53, 0x58, 0x3c, 0xfd, 0x11, 0x2c, 0x12, 0x21, 0x95, 0x98, 0x74, 0x15, 0x44, 0x3d, 0xd8, 0x88, 0xae, 0x24, 0xb4, 0x89, 0x3a, 0xdd, 0x63, 0x85, 0x20, 0xdb, 0x38, 0xc0, 0x7a, 0xda, 0x07, 0x61, 0xc8, 0x45, 0x01, 0xa8, 0x20, 0x61, 0xa7, 0x84, 0x50, 0xa0, 0x78, 0x43, 0x02, 0xa2, 0xec, 0x70, 0xdb, 0xdc, 0xee, 0x6f, 0x77, 0x5d, 0xab, 0xd3, 0xa6, 0xfe, 0xa1, 0xee, 0x1d, 0x1b, 0x88, 0x76, 0xfc, 0x74, 0xd3, 0xcf, 0x70, 0x85, 0x1f, 0x2e, 0x7d, 0xb7, 0x30, 0xb9, 0x96, 0xad, 0xc1, 0x72, 0x1f, 0x3f, 0xfa, 0x8a, 0xe9, 0x56, 0x6f, 0xef, 0xd5, 0xab, 0x9a, 0x3c, 0x2f, 0x1d, 0x7c, 0xfb, 0xfd, 0xad, 0x2d, 0x5a, 0x9b, 0x57, 0x13, 0x0d, 0xbf, 0xe8, 0xbd, 0xa2, 0x17, 0xeb, 0xaf, 0x95, 0x09, 0x1c, 0xc1, 0xb8, 0xfd, 0xbd, 0x1e, 0xfe, 0x26, 0xf0, 0x39, 0xf2, 0xa7, 0xb4, 0xbe, 0xf5, 0x0a, 0x3f, 0x17, 0x78, 0x8b, 0x1e, 0xe6, 0x7d, 0xcc, 0x27, 0x13, 0x74, 0x64, 0xe1, 0x93, 0x8a, 0xcb, 0x73, 0x1f, 0x17, 0x63, 0x7f, 0xb9, 0x5b, 0xdd, 0xde, 0x76, 0xdb, 0x72, 0x29, 0x9a, 0x4c, 0x09, 0x70, 0x78, 0x9e, 0x68, 0x27, 0x82, 0xf5, 0xc1, 0x05, 0x42, 0xcd, 0x81, 0xb6, 0x61, 0x46, 0xdb, 0xaf, 0x5e, 0x75, 0x71, 0x66, 0xfb, 0xaf, 0x5e, 0xb5, 0x16, 0x84, 0x3b, 0x9f, 0xb9, 0xcf, 0xad, 0xfb, 0x09, 0x5f, 0xb7, 0x44, 0x53, 0xa2, 0x91, 0x13, 0xfe, 0x0e, 0xfe, 0x26, 0x7a, 0x1d, 0x9d, 0x5f, 0x5c, 0x9f, 0x38, 0x9e, 0x19, 0xba, 0x5f, 0x1c, 0x30, 0x74, 0x4c, 0x4d, 0x8a, 0xc1, 0x2e, 0xa8, 0xc7, 0x1a, 0x59, 0xbd, 0x60, 0x93, 0xf8, 0xc6, 0x24, 0x15, 0xab, 0xa8, 0x47, 0xf0, 0x0f, 0x7e, 0x46, 0x04, 0x35, 0x52, 0x9b, 0xa6, 0x95, 0x0b, 0xdb, 0xb4, 0x0e, 0x87, 0xbd, 0x41, 0x2e, 0x0e, 0x4e, 0x72, 0x93, 0x60, 0xca, 0x5a, 0x89, 0xd5, 0x1d, 0x9c, 0x08, 0x8b, 0xff, 0xc8, 0x17, 0x6b, 0x5e, 0x81, 0x45, 0x32, 0xc3, 0xbc, 0x55, 0x91, 0x84, 0xfc, 0x42, 0x8f, 0x9e, 0x94, 0xeb, 0x42, 0xf6, 0xea, 0x03, 0x79, 0xe0, 0x63, 0x42, 0xb5, 0x74, 0x3f, 0x1e, 0x88, 0xa7, 0x20, 0x27, 0xe4, 0x44, 0x0c, 0xad, 0xcc, 0xc2, 0x61, 0x5c, 0x74, 0xe3, 0xb5, 0xd2, 0x3a, 0x3c, 0x8d, 0x77, 0x2e, 0xc3, 0x73, 0xf0, 0xf0, 0x08, 0xd9, 0x89, 0x3f, 0x4e, 0x16, 0x9a, 0x52, 0x9a, 0xd5, 0xc7, 0x01, 0x5a, 0x9e, 0xa4, 0xd3, 0x65, 0x11, 0x4e, 0xbf, 0xa4, 0x5e, 0x7e, 0x92, 0xe9, 0xa0, 0xdd, 0x1c, 0xe2, 0xfb, 0xb8, 0x48, 0xb4, 0xf9, 0x60, 0xf6, 0x68, 0xee, 0xb6, 0x5a, 0xc1, 0x5a, 0x0f, 0x84, 0xad, 0x36, 0x3c, 0x4b, 0x1a, 0x4b, 0xb8, 0x40, 0x8f, 0x41, 0x2f, 0x81, 0xa4, 0xe8, 0x48, 0x4b, 0x89, 0xb8, 0xb2, 0x15, 0x59, 0xe2, 0x40, 0xc4, 0xc3, 0x46, 0x61, 0x4a, 0x98, 0x99, 0xb4, 0x05, 0x7e, 0x4e, 0xdd, 0xda, 0xcc, 0xfa, 0xee, 0xf1, 0x59, 0xf2, 0xb6, 0xdc, 0xe4, 0x4e, 0xfb, 0x16, 0x1f, 0xb4, 0x01, 0x39, 0x0f, 0xc3, 0xb9, 0xd0, 0x5f, 0xf9, 0x90, 0xe0, 0xf9, 0xfb, 0x6c, 0x96, 0xc7, 0x63, 0xeb, 0x3c, 0x59, 0x68, 0xba, 0xae, 0x40, 0x8e, 0xc9, 0xd1, 0x7a, 0x59, 0x1d, 0x78, 0xd2, 0x7c, 0xc6, 0xd1, 0xba, 0x03, 0x28, 0x42, 0x14, 0xea, 0xb8, 0x41, 0x98, 0x4b, 0x21, 0xa5, 0x30, 0x40, 0x06, 0xc2, 0xdd, 0xf8, 0x66, 0x2f, 0xd2, 0x3b, 0x9f, 0x96, 0x49, 0x74, 0xa1, 0x3e, 0xb4, 0x28, 0x24, 0x1d, 0x97, 0x46, 0x34, 0x38, 0xfd, 0x9f, 0x27, 0x9f, 0x32, 0xea, 0x54, 0xc4, 0xf7, 0xa6, 0x70, 0xf0, 0x7b, 0x06, 0xac, 0x94, 0x68, 0x90, 0x41, 0xaa, 0x88, 0x67, 0x62, 0xc3, 0x63, 0xaf, 0x53, 0x92, 0x1e, 0x14, 0x56, 0x94, 0x36, 0xd3, 0x40, 0x58, 0x3e, 0x6d, 0x63, 0x7d, 0x9f, 0x45, 0x2e, 0xe3, 0x5c, 0x74, 0xaa, 0xf8, 0x62, 0x07, 0x20, 0x9f, 0xe3, 0x9c, 0x5c, 0x89, 0x64, 0xda, 0xa3, 0xb7, 0x97, 0xe1, 0xa4, 0x02, 0x1d, 0x64, 0x09, 0x11, 0x11, 0x27, 0x05, 0x73, 0x7d, 0xa2, 0x57, 0xa4, 0x5b, 0x69, 0x9f, 0x70, 0x5b, 0x0d, 0x0c, 0x4f, 0x15, 0xd1, 0xe1, 0x87, 0xab, 0xb3, 0x96, 0x72, 0xc9, 0x01, 0x9d, 0x01, 0x6e, 0x56, 0xe7, 0x2a, 0x21, 0x34, 0xb3, 0x22, 0xba, 0x8c, 0xa7, 0x49, 0xc7, 0x05, 0x90, 0xab, 0x21, 0x48, 0x8a, 0x03, 0x22, 0xe4, 0x4e, 0x71, 0xdb, 0xa1, 0x20, 0x13, 0xb7, 0x61, 0x61, 0xb7, 0xc8, 0x71, 0x32, 0x8b, 0x65, 0xef, 0x96, 0x05, 0x86, 0xf3, 0x69, 0xe7, 0x03, 0x2d, 0xbe, 0xd4, 0x4f, 0xd9, 0x80, 0xfe, 0x94, 0xd6, 0x65, 0x54, 0x96, 0x15, 0x2f, 0x90, 0x86, 0xa2, 0xce, 0x17, 0xe8, 0x81, 0xef, 0xe8, 0x34, 0x7b, 0x89, 0x1f, 0x64, 0xd3, 0xad, 0xc0, 0xc0, 0x70, 0xcd, 0x0b, 0x55, 0xf7, 0xdd, 0xe3, 0xac, 0x35, 0xde, 0x9a, 0x20, 0x1e, 0x6f, 0x49, 0xb1, 0x64, 0xaf, 0x85, 0x1b, 0x86, 0xbf, 0x10, 0x74, 0x91, 0x71, 0x58, 0x31, 0xe3, 0x24, 0x3a, 0x93, 0xf9, 0x1d, 0x48, 0xb0, 0x85, 0x75, 0x21, 0x9d, 0x5a, 0x2d, 0x33, 0x28, 0xb4, 0xd8, 0x78, 0x86, 0x8d, 0x8a, 0x8c, 0xf7, 0x0b, 0xd7, 0x38, 0xce, 0xb1, 0xb9, 0x0d, 0x4e, 0x29, 0xce, 0x8c, 0x33, 0xb9, 0x76, 0xb2, 0x9f, 0x1c, 0xea, 0xd0, 0x06, 0x80, 0x8e, 0xba, 0xd2, 0x7d, 0xab, 0x07, 0xd4, 0x91, 0x49, 0x1d, 0xbc, 0x73, 0xac, 0x0e, 0xed, 0xfd, 0x87, 0xd3, 0xd2, 0xc5, 0x69, 0xca, 0xd2, 0x82, 0x98, 0xeb, 0x4c, 0xb7, 0xa2, 0x32, 0x15, 0x3a, 0x42, 0xaf, 0x2d, 0x8c, 0xad, 0x98, 0x15, 0x61, 0x19, 0x74, 0xe7, 0xf7, 0x9c, 0x82, 0x96, 0x63, 0x2e, 0xdd, 0xec, 0xbd, 0x49, 0x41, 0x88, 0x94, 0x8c, 0x40, 0x44, 0x5a, 0x2e, 0xb7, 0x23, 0xd3, 0x8b, 0xc8, 0x25, 0xbc, 0x3d, 0x1f, 0xdd, 0x6f, 0x24, 0x75, 0x1d, 0xe6, 0x15, 0x13, 0xb3, 0x01, 0x8a, 0x78, 0xc2, 0x59, 0x6c, 0xb5, 0x85, 0xd8, 0x3a, 0x2b, 0x68, 0xcf, 0x62, 0xed, 0x60, 0x20, 0xf0, 0x1e, 0xe8, 0xb7, 0x0c, 0xec, 0x8e, 0xc1, 0x05, 0xa2, 0xcc, 0x99, 0x32, 0x32, 0xe9, 0xf1, 0xd2, 0x1d, 0xcb, 0x33, 0x36, 0x4d, 0x4f, 0x79, 0x4e, 0xf6, 0x68, 0x86, 0x01, 0x61, 0x52, 0xa6, 0x41, 0x11, 0x47, 0x4e, 0x18, 0x85, 0x8f, 0x4b, 0x53, 0x47, 0x30, 0x6c, 0xbf, 0xb1, 0x04, 0x6d, 0xae, 0x14, 0x16, 0xb8, 0x8f, 0xb5, 0x85, 0x51, 0xce, 0xa8, 0x4b, 0x78, 0x18, 0x1b, 0xc8, 0x72, 0x41, 0x78, 0x09, 0x85, 0xd0, 0x29, 0x7b, 0x07, 0x1f, 0x71, 0xe5, 0x20, 0x27, 0x6c, 0x44, 0x7f, 0xea, 0xd9, 0xc6, 0x1b, 0xeb, 0x8f, 0x09, 0x68, 0xd8, 0x36, 0xe9, 0x83, 0x0c, 0xa9, 0x40, 0xf5, 0x67, 0xc4, 0x5d, 0x5b, 0xcb, 0x5a, 0x5d, 0x0a, 0x19, 0x21, 0x4e, 0x64, 0x91, 0x37, 0x5d, 0x7a, 0xe8, 0x2c, 0xb3, 0xe4, 0x01, 0x31, 0xc0, 0xdb, 0x87, 0xf3, 0x95, 0xec, 0xef, 0x8f, 0xae, 0xce, 0x4f, 0xcf, 0xbf, 0x39, 0x40, 0x84, 0xba, 0xa4, 0x18, 0x61, 0x8b, 0xec, 0xe8, 0x6f, 0xcb, 0x71, 0x3a, 0x62, 0x4e, 0x21, 0xbd, 0x9b, 0x6b, 0x95, 0x31, 0x89, 0x38, 0x58, 0x81, 0xb9, 0x78, 0x85, 0x30, 0x92, 0xcc, 0x8b, 0x75, 0x3d, 0x45, 0x3e, 0x5d, 0x9a, 0xad, 0x1f, 0x91, 0x2a, 0x42, 0x61, 0x00, 0x0a, 0x8f, 0x22, 0x3f, 0x62, 0xa2, 0x85, 0xd1, 0x51, 0x51, 0x78, 0x73, 0x76, 0x16, 0xb5, 0xf4, 0xed, 0xd6, 0xda, 0x2d, 0xce, 0x18, 0xa2, 0x81, 0x4c, 0xbe, 0x29, 0xc6, 0xf3, 0x40, 0xf8, 0x23, 0xb7, 0xa9, 0x71, 0x3d, 0x30, 0x5d, 0xbf, 0xf7, 0x33, 0x39, 0x29, 0xcf, 0x98, 0x92, 0x03, 0xe9, 0x84, 0xd3, 0x62, 0x4c, 0xb6, 0x10, 0x30, 0xc9, 0x7c, 0x52, 0xa1, 0x7a, 0x54, 0x93, 0xa4, 0xf5, 0x7e, 0x4d, 0xab, 0x9c, 0xed, 0x37, 0x6c, 0xe5, 0xd4, 0x80, 0x53, 0x38, 0x22, 0x49, 0x49, 0xab, 0x40, 0x8f, 0xac, 0x17, 0x52, 0x8f, 0x2f, 0xf4, 0x49, 0x79, 0xd4, 0x3c, 0x4e, 0x62, 0xd3, 0x71, 0xbe, 0x44, 0x6e, 0xe9, 0xb3, 0x8b, 0xfb, 0xa4, 0x10, 0xe3, 0xd3, 0x54, 0x11, 0x03, 0xb3, 0xeb, 0x47, 0x83, 0x1c, 0x9e, 0x0f, 0x54, 0x2d, 0x68, 0x27, 0x4c, 0xdb, 0xed, 0x36, 0xae, 0x24, 0x89, 0xd6, 0xe4, 0x55, 0x51, 0x93, 0x30, 0x8a, 0xb9, 0xd5, 0xd7, 0x1b, 0xe8, 0xc3, 0x8d, 0xf4, 0x3f, 0x4c, 0x8c, 0x42, 0xf1, 0xa8, 0xa1, 0x1d, 0xa4, 0x90, 0x4e, 0x0f, 0xd8, 0x69, 0x87, 0x1a, 0x1c, 0x62, 0x77, 0x70, 0x67, 0xa4, 0x27, 0x7a, 0xdc, 0xba, 0x69, 0xea, 0xcd, 0x05, 0x07, 0x5b, 0x07, 0x3a, 0x2d, 0xb9, 0x62, 0xb1, 0x3b, 0x1d, 0xcf, 0xa9, 0x74, 0x70, 0x33, 0xa1, 0x52, 0xae, 0xd2, 0x4b, 0x50, 0xc3, 0xf4, 0x02, 0xe0, 0x17, 0x0c, 0x66, 0x26, 0x0f, 0xb9, 0x75, 0xf2, 0xee, 0xcb, 0x22, 0x6e, 0xba, 0xd6, 0xb9, 0x90, 0x12, 0xa4, 0x4f, 0xe5, 0xd5, 0xe9, 0x4d, 0xfa, 0x1b, 0xc1, 0xbc, 0x1a, 0x9e, 0x83, 0x48, 0xa4, 0x32, 0xbe, 0xb3, 0x09, 0x5f, 0xad, 0x8c, 0x4f, 0x8b, 0x55, 0x9a, 0x32, 0x9a, 0x0e, 0xd4, 0x78, 0x95, 0x74, 0xa8, 0x38, 0x72, 0x0a, 0x59, 0xdc, 0x50, 0x65, 0x0d, 0x93, 0xc0, 0x1f, 0x4e, 0x2a, 0xbe, 0x24, 0xc8, 0xd5, 0xca, 0x84, 0x25, 0x72, 0x93, 0x66, 0x77, 0x39, 0xfd, 0x46, 0x82, 0x54, 0x81, 0x14, 0x95, 0xb4, 0xb5, 0xac, 0xe5, 0xba, 0xb1, 0xab, 0xea, 0xa0, 0xd1, 0x22, 0x02, 0x58, 0x0b, 0x97, 0x06, 0xba, 0x3d, 0x5b, 0x6c, 0x9b, 0x96, 0x26, 0x29, 0xf0, 0x65, 0x42, 0xe2, 0xed, 0x46, 0xda, 0xea, 0x1d, 0x5e, 0x9c, 0x95, 0x89, 0xb4, 0x9f, 0xe6, 0x92, 0x40, 0x15, 0x38, 0x22, 0x6f, 0x52, 0xe3, 0xfb, 0x69, 0x97, 0x24, 0xa6, 0x4c, 0xc8, 0xec, 0xb5, 0xb5, 0x5f, 0x31, 0xa3, 0x91, 0x1b, 0x41, 0xe3, 0x0d, 0x1e, 0xdd, 0xe4, 0xb9, 0xd4, 0x9c, 0xb6, 0x31, 0xdb, 0x88, 0x1b, 0xa4, 0x21, 0x22, 0x46, 0x8b, 0xfe, 0x60, 0xe0, 0xc3, 0x6c, 0xb0, 0xce, 0x4b, 0xf0, 0x75, 0xa1, 0x06, 0x6b, 0xe8, 0xa4, 0x75, 0xd9, 0xc6, 0xf3, 0x31, 0xc2, 0x59, 0x98, 0xab, 0x0f, 0xaf, 0x48, 0x5c, 0x80, 0x45, 0x77, 0x78, 0x7b, 0x24, 0xb3, 0xd2, 0xdd, 0x94, 0xa0, 0xb0, 0xe3, 0x5c, 0x4b, 0x0b, 0x90, 0x4d, 0x54, 0x43, 0x66, 0x53, 0x56, 0x0f, 0x68, 0xd0, 0x4c, 0xd3, 0x8a, 0x18, 0xc8, 0x9f, 0x76, 0xb6, 0xda, 0x98, 0x3c, 0x0e, 0xa4, 0x35, 0xae, 0x78, 0x1b, 0x4b, 0x63, 0x7f, 0x91, 0x18, 0xb4, 0x85, 0x01, 0x28, 0x43, 0x96, 0x0b, 0xf4, 0xd3, 0xf5, 0x90, 0x5e, 0xe2, 0xb2, 0x6d, 0xff, 0xc3, 0x56, 0xf1, 0xaf, 0x6d, 0x4a, 0xd9, 0xd2, 0x93, 0xd2, 0xf2, 0xaf, 0x2b, 0xe7, 0x8c, 0x71, 0xa0, 0x50, 0x82, 0x99, 0xf2, 0x12, 0xf5, 0x93, 0x38, 0x4a, 0xbb, 0xd5, 0x19, 0xc8, 0xae, 0xa7, 0xe6, 0x83, 0x72, 0x39, 0x71, 0x34, 0xdf, 0x7c, 0x8d, 0xe7, 0x8b, 0x28, 0xc0, 0xb2, 0xba, 0x7a, 0x03, 0x34, 0x4d, 0x25, 0xb6, 0x70, 0x97, 0xb1, 0xb0, 0xc7, 0x59, 0xee, 0xa3, 0xaf, 0x08, 0x23, 0x65, 0x63, 0x3c, 0x96, 0x74, 0x4d, 0xda, 0x10, 0xfc, 0x52, 0x5d, 0x30, 0x52, 0xce, 0x59, 0x2f, 0xe8, 0xed, 0x0f, 0x76, 0x8d, 0x90, 0xec, 0x71, 0x17, 0x0a, 0xbf, 0xc3, 0x6f, 0x77, 0xa2, 0x75, 0xe4, 0xaa, 0x1b, 0x46, 0x79, 0xf5, 0xeb, 0x9f, 0xb5, 0x39, 0x0b, 0xdb, 0x30, 0x31, 0x4b, 0xc8, 0x66, 0xf2, 0x2c, 0xea, 0xaf, 0x60, 0xe5, 0x15, 0x20, 0xff, 0xb1, 0xe7, 0x1b, 0x57, 0x0f, 0x4e, 0x96, 0xb3, 0x90, 0x99, 0x83, 0x77, 0x5b, 0x82, 0x43, 0x69, 0x59, 0x2e, 0xc5, 0x08, 0x34, 0x00, 0x33, 0x06, 0x71, 0x30, 0x9a, 0xc1, 0x7c, 0xe8, 0xd3, 0xe5, 0x0c, 0xb3, 0x4a, 0x5a, 0xd5, 0x13, 0xf2, 0x0e, 0x8b, 0xe2, 0x6b, 0x1a, 0x78, 0xb2, 0x1d, 0x25, 0xa7, 0xc3, 0x8d, 0xe8, 0xa4, 0x91, 0x1a, 0x6e, 0x42, 0x97, 0x64, 0x55, 0x63, 0xb8, 0xce, 0xc5, 0xe5, 0xf5, 0xe9, 0xc5, 0xf9, 0x20, 0xfa, 0xb7, 0xce, 0xca, 0xf2, 0xae, 0x3a, 0xb0, 0xf2, 0x0f, 0x5d, 0x7b, 0x26, 0xd1, 0xa1, 0xf8, 0x19, 0xda, 0x6c, 0x63, 0x47, 0x89, 0x1f, 0x81, 0xf4, 0x06, 0xfe, 0xaa, 0x6f, 0x0a, 0xb4, 0x9b, 0x9c, 0x56, 0x03, 0x8d, 0xce, 0xd3, 0x96, 0x0d, 0x9c, 0x5f, 0xd3, 0x88, 0x66, 0x66, 0x6f, 0x6d, 0x96, 0xc6, 0xf0, 0x61, 0x0e, 0x2c, 0x9c, 0xaf, 0x96, 0xca, 0x29, 0x2f, 0xd0, 0x16, 0xdf, 0x93, 0x5a, 0xca, 0x16, 0xf4, 0xba, 0x34, 0x5d, 0x16, 0x45, 0xab, 0x0c, 0x74, 0x98, 0xfb, 0xe6, 0xe4, 0x1a, 0x9d, 0x34, 0x54, 0xe5, 0x6a, 0x27, 0x48, 0xae, 0x2e, 0x51, 0x7c, 0x62, 0xa3, 0x9c, 0x69, 0x71, 0x2b, 0x5e, 0x1a, 0xd0, 0x9e, 0x67, 0x71, 0x16, 0x2c, 0x61, 0x03, 0x8d, 0xf6, 0x18, 0x76, 0x23, 0xb7, 0xd0, 0xaf, 0xea, 0x3b, 0x71, 0xfa, 0x9a, 0x30, 0x2c, 0xd3, 0xe5, 0x87, 0x6b, 0xf1, 0x53, 0xbd, 0x39, 0x39, 0x3b, 0xb9, 0x3e, 0x69, 0x5a, 0xee, 0x43, 0x06, 0xb3, 0xa4, 0x52, 0x97, 0x2a, 0x19, 0xdd, 0x64, 0xf9, 0x2c, 0x9f, 0xa6, 0xd2, 0x88, 0x37, 0xfa, 0x3e, 0x19, 0xbe, 0x39, 0xfa, 0x0e, 0xf5, 0x09, 0xf4, 0x39, 0x5d, 0x5e, 0x5d, 0x5c, 0xbe, 0x3d, 0x3d, 0x7f, 0xd3, 0x8d, 0x8e, 0x2f, 0x2e, 0xff, 0xd2, 0x8d, 0xde, 0x5f, 0x7c, 0x77, 0x12, 0x48, 0x71, 0x46, 0x84, 0x5b, 0x8f, 0x62, 0x4c, 0xb3, 0x3e, 0x6b, 0x78, 0x67, 0x1c, 0xb2, 0x70, 0x84, 0x08, 0xe6, 0xff, 0x83, 0xf6, 0x8b, 0xec, 0x96, 0xee, 0x1a, 0x6c, 0x1d, 0xc8, 0xd0, 0x77, 0x27, 0x47, 0x6f, 0xba, 0x1e, 0x80, 0x39, 0xb6, 0x52, 0x81, 0x8f, 0xe1, 0xfa, 0xcc, 0xa2, 0x09, 0xf6, 0x9a, 0xad, 0x0f, 0xd2, 0x10, 0x38, 0xc8, 0xc5, 0x37, 0x16, 0x08, 0x96, 0xaa, 0xf4, 0xc7, 0x6d, 0x99, 0x13, 0x82, 0xc5, 0xdf, 0xda, 0xfa, 0xda, 0x29, 0xbb, 0x40, 0x65, 0xcd, 0x55, 0xb3, 0x05, 0xac, 0x89, 0xd2, 0xea, 0xb5, 0x08, 0xcb, 0xcd, 0x92, 0x6d, 0x41, 0x0c, 0xea, 0xd6, 0xa0, 0x02, 0x88, 0x1f, 0xb1, 0xeb, 0x31, 0x96, 0x9e, 0x86, 0xd4, 0xb4, 0x08, 0xcc, 0x24, 0xd4, 0xaa, 0x27, 0x16, 0x25, 0x76, 0xb5, 0x86, 0x2d, 0x40, 0xea, 0x02, 0xdb, 0x84, 0x9b, 0xa7, 0x1b, 0x64, 0x7a, 0x7a, 0xfe, 0xc0, 0x3f, 0x16, 0xb0, 0xa8, 0x40, 0xe2, 0xf6, 0x72, 0x02, 0x64, 0x99, 0x70, 0xca, 0x14, 0x1f, 0x93, 0x71, 0x0b, 0x44, 0xbd, 0x53, 0x75, 0x4a, 0xac, 0x52, 0xb0, 0xf4, 0xc6, 0xa8, 0x63, 0x86, 0xb1, 0xa2, 0xd4, 0x67, 0x55, 0x67, 0x13, 0xae, 0x87, 0x04, 0xd7, 0x19, 0xd0, 0xf7, 0xf5, 0x88, 0x15, 0xcd, 0x48, 0x3c, 0x38, 0xee, 0xa6, 0x10, 0xe8, 0x86, 0xe7, 0xcb, 0x02, 0x01, 0xeb, 0x09, 0x17, 0x7a, 0x12, 0x58, 0x49, 0x26, 0x1e, 0xd1, 0x08, 0x43, 0x6f, 0x3d, 0xb6, 0xa5, 0xdd, 0x9c, 0x5f, 0xe5, 0x9e, 0xa2, 0x9b, 0xca, 0x1c, 0xbc, 0x10, 0x15, 0xad, 0xd3, 0xf6, 0x98, 0x74, 0x7d, 0x79, 0xbb, 0x5b, 0x0f, 0xd6, 0xc7, 0x8e, 0xda, 0x44, 0x19, 0xf5, 0x04, 0xeb, 0x9b, 0x8a, 0xf7, 0xbc, 0xad, 0x5b, 0x7f, 0xdb, 0xc2, 0x18, 0x5d, 0xaf, 0xad, 0x29, 0xe8, 0x37, 0x2c, 0xea, 0xec, 0x14, 0xae, 0x43, 0x00, 0x1a, 0x87, 0x9b, 0xee, 0x72, 0x3a, 0x02, 0xe9, 0x55, 0xb4, 0xfb, 0x30, 0x96, 0xff, 0x61, 0x6c, 0x70, 0x1f, 0xfc, 0x32, 0xfe, 0xe2, 0xa9, 0x4f, 0x7b, 0x67, 0x76, 0x75, 0x72, 0x7d, 0xd5, 0x8f, 0xd6, 0x5d, 0xcc, 0xd7, 0x17, 0xfd, 0x2d, 0x3f, 0x68, 0x73, 0xfa, 0xfe, 0x28, 0xbc, 0x5e, 0xfc, 0x45, 0xdb, 0x57, 0x89, 0x37, 0xe0, 0x77, 0xfd, 0x3c, 0x62, 0x07, 0xe9, 0x69, 0x2b, 0xf4, 0xbd, 0xc1, 0xfb, 0x96, 0xfd, 0xc5, 0x5f, 0xac, 0x58, 0xe5, 0xbb, 0x93, 0xb3, 0x40, 0x6f, 0x9f, 0xef, 0xae, 0xde, 0xfe, 0xa5, 0xbe, 0xca, 0xdd, 0xbd, 0xc0, 0x57, 0x7f, 0x4b, 0x87, 0x7a, 0x52, 0xe6, 0x33, 0x50, 0x58, 0xa8, 0x8a, 0x83, 0x8a, 0x38, 0x0e, 0x40, 0x04, 0x60, 0xae, 0xf9, 0x5f, 0xbb, 0xf2, 0x97, 0x9f, 0xfa, 0xfd, 0xfe, 0x97, 0x3e, 0x2a, 0x3a, 0xf9, 0x68, 0xcc, 0x72, 0xe5, 0xd9, 0xa6, 0x05, 0x4e, 0x55, 0x33, 0x54, 0x25, 0x84, 0x51, 0x8b, 0x45, 0x9c, 0x16, 0xd4, 0x13, 0x28, 0x28, 0x70, 0x71, 0x49, 0xb6, 0xd2, 0xcb, 0x68, 0x73, 0x82, 0x08, 0xc6, 0xd7, 0x75, 0xbd, 0xdc, 0x90, 0xba, 0x6a, 0x2b, 0x83, 0xe3, 0xb1, 0xe7, 0x08, 0xe1, 0xbe, 0x2c, 0xf8, 0xd9, 0x02, 0xfd, 0xb3, 0x6c, 0xeb, 0x58, 0x59, 0x9b, 0xa9, 0xec, 0x90, 0xd5, 0x8f, 0xcd, 0xf4, 0x83, 0xde, 0x0b, 0xa9, 0x93, 0x3c, 0x96, 0x90, 0x3a, 0x39, 0x92, 0x63, 0x12, 0x2b, 0xd4, 0x66, 0x36, 0xa9, 0x46, 0x9b, 0xb8, 0xce, 0xb2, 0xa6, 0x01, 0x1a, 0x15, 0xce, 0x73, 0x22, 0xb9, 0x79, 0x92, 0x54, 0x41, 0xcb, 0xc9, 0x2d, 0x4e, 0x49, 0x82, 0x2d, 0xe2, 0x75, 0x34, 0x75, 0xd6, 0x0f, 0x7c, 0x6e, 0x56, 0xeb, 0x88, 0xe4, 0x56, 0x20, 0x6a, 0xab, 0x0b, 0x8f, 0x1d, 0x3a, 0x65, 0x6a, 0xbe, 0xda, 0x4f, 0xdc, 0x59, 0x29, 0x09, 0x13, 0x29, 0x08, 0x7d, 0x7c, 0x52, 0x93, 0x08, 0xea, 0xa1, 0x73, 0x0f, 0xbd, 0xa5, 0xf6, 0x99, 0x26, 0xc0, 0x48, 0xe2, 0x6a, 0xc4, 0xe3, 0x4a, 0x7d, 0x79, 0xf8, 0xb5, 0x49, 0xd8, 0xa0, 0x32, 0xf3, 0xb5, 0x7f, 0x5b, 0x43, 0x45, 0x98, 0x5e, 0x0f, 0xd6, 0xb6, 0x2b, 0xe1, 0xa2, 0x61, 0x83, 0x4f, 0x05, 0xf4, 0x06, 0xb3, 0x29, 0x86, 0xf8, 0x94, 0x97, 0xba, 0xc4, 0x43, 0x4b, 0xe8, 0x47, 0xdf, 0xa7, 0xb3, 0xf1, 0x28, 0x2e, 0x28, 0x3d, 0xcc, 0x17, 0xaf, 0x42, 0x26, 0x7c, 0x9f, 0xca, 0x9c, 0xbe, 0x6a, 0x2f, 0x8f, 0x36, 0x93, 0x09, 0x53, 0x7d, 0xa0, 0xe8, 0xc7, 0x1c, 0x06, 0x06, 0xbf, 0xdb, 0x8a, 0xce, 0x98, 0x7c, 0x74, 0x8f, 0x51, 0xd4, 0xd5, 0x3b, 0x78, 0xd4, 0xcf, 0x55, 0xe3, 0x10, 0xbd, 0x3d, 0x3f, 0x96, 0x92, 0x2e, 0xee, 0xf6, 0xc8, 0x7d, 0xf5, 0xa2, 0xcb, 0xff, 0x7a, 0x61, 0xcb, 0x4f, 0x1c, 0x23, 0x8d, 0xed, 0x18, 0xd6, 0xfa, 0x4f, 0x2f, 0xb5, 0xc8, 0xb5, 0xc9, 0x13, 0x07, 0x0e, 0x26, 0x39, 0xcf, 0x52, 0xcb, 0xd6, 0xe0, 0x1d, 0x9d, 0x2d, 0xee, 0x08, 0xf0, 0xaf, 0xbf, 0x0e, 0x0b, 0x84, 0x1d, 0xa9, 0xca, 0x9f, 0x56, 0xd5, 0x13, 0x83, 0xce, 0xff, 0xb2, 0x1f, 0x68, 0xbf, 0x1d, 0xfc, 0x90, 0x49, 0xf7, 0xb5, 0x5f, 0x43, 0xa0, 0x28, 0x0a, 0xdb, 0x61, 0xd6, 0x8f, 0x2d, 0x27, 0x0e, 0x7e, 0xe8, 0xd5, 0x13, 0x1f, 0xe2, 0x23, 0x35, 0xb8, 0x6f, 0xf7, 0x4a, 0x15, 0x66, 0xfa, 0xd2, 0x4b, 0x7b, 0xaf, 0xbf, 0xf5, 0xfc, 0x0c, 0x65, 0x6b, 0x7c, 0x33, 0xfc, 0x20, 0xff, 0x84, 0xa8, 0x44, 0x52, 0xc4, 0xf2, 0x36, 0x9a, 0x5b, 0xd9, 0x19, 0x03, 0x61, 0x73, 0x6a, 0xbc, 0x1c, 0x36, 0x80, 0x4a, 0x84, 0x0a, 0x30, 0x0e, 0x4b, 0x6f, 0x07, 0x4e, 0xb3, 0x86, 0xbb, 0x45, 0x78, 0x22, 0x06, 0x45, 0xf9, 0xc7, 0x08, 0xbf, 0xa0, 0x5c, 0xee, 0x04, 0x8b, 0x98, 0xae, 0x4e, 0xde, 0x7e, 0x18, 0x9c, 0xbc, 0x89, 0xe2, 0x00, 0x04, 0x16, 0xc5, 0x4b, 0x53, 0x72, 0xcb, 0x49, 0x83, 0xa0, 0x2a, 0xcf, 0x39, 0x23, 0x48, 0xe6, 0xe2, 0xf5, 0x1c, 0x94, 0xe4, 0x22, 0xb0, 0x8c, 0xfd, 0xba, 0x13, 0xd6, 0xe3, 0xe4, 0xc5, 0x5f, 0x80, 0x3b, 0xc2, 0xab, 0x1e, 0x27, 0xd8, 0x9c, 0xeb, 0x90, 0xb3, 0x60, 0x3c, 0x50, 0x35, 0xdb, 0xc6, 0xab, 0x9c, 0x25, 0xc9, 0x42, 0x8a, 0xfe, 0x6c, 0x27, 0x79, 0x38, 0x1b, 0xf5, 0x04, 0x4a, 0x73, 0x0e, 0x1a, 0x55, 0x03, 0x87, 0x71, 0x4b, 0x27, 0x29, 0x82, 0x57, 0xe3, 0x8c, 0x75, 0x8b, 0x19, 0x60, 0xb7, 0x85, 0x77, 0x65, 0x3d, 0xad, 0x1a, 0x2e, 0x74, 0xaf, 0xab, 0x1e, 0xb9, 0xd4, 0x11, 0xa0, 0x07, 0xec, 0x22, 0x9e, 0x4c, 0x3c, 0x9b, 0xe6, 0x05, 0x8c, 0x37, 0x37, 0x75, 0x8a, 0x0c, 0xe7, 0x50, 0x6e, 0x34, 0x7b, 0x71, 0xfa, 0x35, 0xdf, 0x5c, 0xea, 0x48, 0x21, 0xf0, 0x84, 0x6b, 0xb8, 0x91, 0x2d, 0xf0, 0x3e, 0x91, 0xc7, 0x04, 0xc3, 0x83, 0x2c, 0xd3, 0x06, 0x52, 0x75, 0x4d, 0xfb, 0xc1, 0x5b, 0xe8, 0x99, 0x9b, 0xd8, 0x75, 0xa4, 0xe9, 0xce, 0x51, 0xd5, 0x5d, 0xc3, 0x01, 0xee, 0xdc, 0x7f, 0xcf, 0x6e, 0x6e, 0xdb, 0x3b, 0xa1, 0x1b, 0x30, 0x8f, 0x1f, 0xc8, 0x45, 0xd5, 0x4a, 0x0e, 0xec, 0xb0, 0xc5, 0xed, 0xc0, 0xc7, 0x0a, 0x66, 0xf9, 0xc4, 0x60, 0x6d, 0xe5, 0x0b, 0xe7, 0x25, 0x99, 0x93, 0x16, 0x07, 0x16, 0xd9, 0xdd, 0x7e, 0xe8, 0x91, 0xd2, 0xb8, 0x4d, 0x4b, 0x33, 0xf2, 0x13, 0xc6, 0xb8, 0x4c, 0x34, 0xe2, 0xd6, 0xb9, 0xb5, 0x14, 0x7d, 0x6f, 0x03, 0x7f, 0x3c, 0xcb, 0x31, 0x4a, 0xc9, 0xc4, 0x40, 0xdf, 0xf7, 0x21, 0xfb, 0xd0, 0x48, 0x28, 0x90, 0x10, 0xd5, 0xa0, 0x65, 0x9f, 0x30, 0xb5, 0xb2, 0xa1, 0x62, 0x31, 0x04, 0x30, 0x63, 0x0f, 0xd8, 0xc4, 0x8e, 0x23, 0x6f, 0x7a, 0x39, 0xac, 0x3c, 0x0e, 0x2b, 0x0a, 0x34, 0x44, 0xb7, 0x8e, 0xac, 0x2c, 0x9b, 0x4d, 0xe5, 0x99, 0xd4, 0xa0, 0x9a, 0x5a, 0xa9, 0x49, 0x8d, 0x7c, 0x40, 0x55, 0xeb, 0x6a, 0xfb, 0x1c, 0x2a, 0x6d, 0xc2, 0xe5, 0x90, 0x9d, 0x19, 0x67, 0xee, 0x5c, 0xe9, 0x00, 0x60, 0x8c, 0x34, 0x1f, 0x53, 0x51, 0x14, 0xb7, 0xe1, 0x69, 0x83, 0x8f, 0x91, 0xb9, 0xac, 0xa1, 0xa7, 0xf2, 0x21, 0x9d, 0x2f, 0xe7, 0xf4, 0x7e, 0x97, 0xcb, 0x1f, 0xe7, 0x28, 0xb5, 0xf4, 0x50, 0x29, 0xbb, 0xb0, 0x52, 0x8a, 0x0a, 0x39, 0x33, 0x90, 0xb7, 0x11, 0xd1, 0x56, 0x9c, 0xf1, 0x83, 0x6f, 0x71, 0x8b, 0x0d, 0x3a, 0xa8, 0xff, 0x76, 0xfa, 0x8c, 0x0e, 0x41, 0xa3, 0xfb, 0xd2, 0x9f, 0x84, 0xcf, 0x3a, 0x88, 0x2e, 0x31, 0xcf, 0x39, 0x19, 0x3b, 0x56, 0xa4, 0x90, 0x1b, 0x81, 0xd8, 0xf0, 0x19, 0xb5, 0x73, 0x28, 0x69, 0x35, 0x49, 0xf3, 0x15, 0x8a, 0xc7, 0xa5, 0x5a, 0xe7, 0x2f, 0x8b, 0x25, 0xa1, 0xfb, 0x29, 0x43, 0xfa, 0x2d, 0x17, 0x9e, 0xcc, 0x37, 0x7c, 0xc2, 0xa8, 0xa3, 0xf0, 0xf9, 0x2d, 0xc9, 0x89, 0x11, 0xdb, 0x16, 0xfd, 0xe5, 0xb2, 0xc7, 0xc6, 0x8d, 0x25, 0x0d, 0x17, 0xc2, 0x9d, 0x35, 0x89, 0x97, 0x79, 0x42, 0x84, 0x15, 0x53, 0x86, 0x43, 0x3a, 0xc0, 0x4d, 0xe1, 0xe3, 0xeb, 0x6a, 0x19, 0xde, 0xde, 0xc3, 0x83, 0x47, 0xe1, 0x8e, 0x41, 0xcc, 0x78, 0x93, 0x6c, 0x2d, 0xef, 0x6d, 0x7d, 0x8e, 0xff, 0xdc, 0x7f, 0x68, 0x18, 0xcd, 0xfd, 0x20, 0x38, 0xa4, 0x96, 0xe5, 0xc6, 0xc3, 0x9c, 0x43, 0x70, 0xbc, 0x61, 0xb1, 0xb3, 0x99, 0x1a, 0x45, 0x90, 0xce, 0xaf, 0xf7, 0x31, 0x6e, 0x6e, 0x9e, 0xf9, 0xa9, 0x0d, 0x94, 0x8b, 0xe9, 0xf4, 0x7a, 0xd5, 0x40, 0x29, 0x35, 0x2d, 0x04, 0xe5, 0x1f, 0x37, 0x53, 0xf7, 0x4a, 0x07, 0x1d, 0xe7, 0x4b, 0x0e, 0x64, 0x26, 0x5e, 0x64, 0x2c, 0xe5, 0xdd, 0xc7, 0x2b, 0x05, 0x22, 0x2b, 0x9d, 0xe1, 0x3b, 0x7c, 0xaf, 0xcb, 0x68, 0x1b, 0x8e, 0x21, 0xcd, 0x96, 0x95, 0x01, 0xeb, 0xa3, 0x0f, 0x2a, 0x85, 0x06, 0x77, 0x1f, 0xf9, 0xbc, 0x11, 0x2c, 0xc2, 0x0b, 0x4a, 0x27, 0x40, 0xc8, 0xf7, 0x84, 0x74, 0x72, 0x71, 0xf0, 0xb8, 0x52, 0x36, 0xe0, 0x2a, 0x32, 0x51, 0x58, 0xe9, 0xdc, 0x94, 0x3c, 0xc0, 0x66, 0x33, 0x88, 0x52, 0x64, 0x84, 0x83, 0x15, 0x6a, 0x92, 0x21, 0xcc, 0x0d, 0x1b, 0x02, 0x99, 0x3f, 0x35, 0x26, 0x6e, 0x5a, 0x78, 0x11, 0x9f, 0xcb, 0x2b, 0xb9, 0x92, 0xa6, 0xf9, 0x1a, 0x6b, 0x6d, 0xe1, 0xab, 0x2d, 0x0d, 0xd4, 0x18, 0x5b, 0x0f, 0xb4, 0xb6, 0x17, 0x58, 0x0d, 0xec, 0x14, 0xa2, 0xc1, 0x49, 0x98, 0xac, 0x4d, 0x1c, 0xfe, 0x8a, 0x3e, 0x7d, 0x84, 0x21, 0xe3, 0x83, 0x90, 0x46, 0xe6, 0x16, 0x73, 0x23, 0xeb, 0x25, 0x5e, 0x40, 0xfe, 0xfa, 0x44, 0xf1, 0xb8, 0x11, 0xa9, 0x9b, 0x2f, 0xab, 0x71, 0xc0, 0x73, 0x3a, 0x40, 0xf2, 0xe0, 0x73, 0xe6, 0x90, 0xaa, 0xf3, 0x3b, 0xb2, 0xa3, 0x32, 0x46, 0xf8, 0xc9, 0x65, 0x75, 0xf3, 0x73, 0x3a, 0x0e, 0x22, 0x37, 0xe0, 0x6d, 0x80, 0x5f, 0xc3, 0xa9, 0x95, 0xec, 0xfe, 0x52, 0x64, 0xd3, 0x68, 0x5d, 0x5e, 0xdb, 0xe8, 0x46, 0xe3, 0x25, 0x39, 0xe4, 0x06, 0x47, 0x83, 0xb3, 0xe8, 0xf2, 0xec, 0xe8, 0xf4, 0x1c, 0xde, 0xe9, 0xf9, 0x46, 0xaa, 0x01, 0x2c, 0xeb, 0x36, 0x5b, 0x8c, 0x91, 0xc7, 0xb3, 0x8e, 0x69, 0x66, 0xbe, 0xc3, 0x1f, 0xf2, 0x31, 0x8d, 0xc6, 0x24, 0x4a, 0x6b, 0xb5, 0x07, 0xbd, 0xa5, 0x66, 0x3c, 0xb5, 0xa3, 0xea, 0x58, 0xa5, 0x49, 0x33, 0x65, 0x24, 0x15, 0xd5, 0x89, 0x35, 0xf2, 0x65, 0x04, 0xc9, 0x75, 0x97, 0xc8, 0xd4, 0xfc, 0xd5, 0xc0, 0xca, 0x6d, 0x76, 0x11, 0xce, 0x10, 0x66, 0xc4, 0x1d, 0xb3, 0x80, 0x2a, 0x9c, 0x61, 0x09, 0xdc, 0xcd, 0x64, 0xb9, 0x52, 0xc6, 0x60, 0x5b, 0x26, 0x14, 0x4c, 0x0a, 0xdd, 0x8e, 0x98, 0x1c, 0x2a, 0xdb, 0xa4, 0x62, 0xd6, 0xc9, 0xca, 0x8f, 0xa9, 0x70, 0xd8, 0x58, 0x69, 0xb8, 0xd8, 0xb5, 0xd2, 0x93, 0xd0, 0xc3, 0xfc, 0xa1, 0x6b, 0x61, 0x12, 0xa8, 0xb4, 0xc9, 0xe4, 0x37, 0x4c, 0x81, 0x99, 0x11, 0x0c, 0x15, 0x8f, 0x04, 0x83, 0x76, 0x4d, 0xa6, 0x7b, 0x79, 0x13, 0xfb, 0x05, 0x03, 0x73, 0xd0, 0x6e, 0x61, 0x40, 0xd7, 0x35, 0xba, 0x8a, 0xc6, 0x5e, 0x34, 0x7a, 0x79, 0x13, 0x8d, 0xa5, 0x4d, 0x1d, 0xe7, 0x84, 0xb2, 0x6c, 0x4d, 0x8e, 0x9c, 0xe1, 0xce, 0x30, 0x04, 0xd1, 0x51, 0x9d, 0x1c, 0x56, 0x02, 0xb0, 0x6f, 0x37, 0xbe, 0xf7, 0x89, 0x50, 0x62, 0x19, 0xb5, 0xbb, 0xad, 0xf1, 0x65, 0x79, 0xc0, 0x5f, 0xb7, 0x60, 0xd4, 0xfe, 0x64, 0x18, 0xd9, 0x0b, 0xab, 0x99, 0xb8, 0x41, 0x69, 0x08, 0x1e, 0x8a, 0x9e, 0xd8, 0x94, 0xd4, 0xb8, 0xa7, 0x32, 0x4c, 0x18, 0x7a, 0x56, 0x57, 0x3e, 0x40, 0xea, 0xc7, 0x0e, 0xbe, 0xbd, 0x10, 0x8c, 0x95, 0x89, 0xcf, 0x8a, 0x9d, 0x55, 0xd2, 0xd3, 0x98, 0x28, 0x57, 0x89, 0x3a, 0x67, 0x24, 0x39, 0x8e, 0x61, 0xf3, 0xcd, 0xb0, 0x01, 0x82, 0xdf, 0x2e, 0x81, 0x53, 0x10, 0x26, 0xdc, 0x24, 0x55, 0x67, 0xe0, 0x8c, 0xe9, 0xf1, 0x61, 0x6a, 0xa2, 0x41, 0x74, 0xf6, 0xf7, 0x65, 0x9a, 0x50, 0x37, 0x5f, 0x90, 0xc3, 0xd1, 0x1b, 0xce, 0x98, 0x94, 0x66, 0xa3, 0xdc, 0xd5, 0x98, 0x3a, 0x1f, 0xe3, 0xa3, 0x66, 0x02, 0x1e, 0x1f, 0x86, 0x09, 0xa1, 0x7c, 0x7a, 0x4f, 0x93, 0x3e, 0xc6, 0x49, 0xcf, 0x41, 0x00, 0x92, 0x5f, 0xcb, 0x41, 0xd7, 0xd3, 0x64, 0x1a, 0xad, 0x70, 0x61, 0x51, 0x15, 0x97, 0xb7, 0x7e, 0x0d, 0x4b, 0xb7, 0xd6, 0xa9, 0x8d, 0x7c, 0x29, 0xc2, 0x98, 0x2a, 0x6c, 0xf3, 0x97, 0xc5, 0xb3, 0xcd, 0xb2, 0x1a, 0xa3, 0x5e, 0xb0, 0xcc, 0x66, 0x38, 0x49, 0x1c, 0xaa, 0xa5, 0x6f, 0x68, 0x00, 0x87, 0x8a, 0x20, 0xd0, 0x1b, 0x07, 0x44, 0x31, 0x1d, 0xc3, 0x06, 0xa5, 0x96, 0xcf, 0x35, 0xec, 0xf0, 0x27, 0x22, 0x57, 0x7d, 0x50, 0x2c, 0x77, 0xab, 0x90, 0xed, 0xf0, 0x8a, 0x69, 0x23, 0x6b, 0xe7, 0xb6, 0x0a, 0x22, 0xe4, 0x0e, 0x27, 0x04, 0x84, 0x36, 0xcc, 0x4b, 0x05, 0x4f, 0x87, 0x45, 0xc2, 0xeb, 0xb5, 0xfb, 0x44, 0x10, 0x74, 0xbf, 0x10, 0xe5, 0x87, 0xfb, 0xa5, 0x3b, 0x18, 0x3f, 0xab, 0xda, 0xa4, 0xfb, 0x4d, 0xe6, 0x7f, 0x31, 0xc0, 0x4f, 0x08, 0xc1, 0x0c, 0x5d, 0x2c, 0x26, 0x27, 0x58, 0x12, 0xfd, 0x6a, 0x40, 0x37, 0xe4, 0xd4, 0xc0, 0xc4, 0x8b, 0x40, 0x8b, 0x4e, 0x20, 0xa7, 0xa5, 0x60, 0x83, 0x8c, 0x66, 0xa0, 0x03, 0x05, 0x1c, 0x31, 0x03, 0x01, 0x86, 0x43, 0x18, 0xbc, 0x6e, 0x53, 0x64, 0x97, 0x4b, 0x54, 0xcd, 0x67, 0x4b, 0xfc, 0x36, 0x23, 0xc8, 0x19, 0x04, 0x33, 0x85, 0x34, 0x08, 0xa2, 0xfe, 0x19, 0x08, 0x32, 0xbc, 0xa3, 0x0e, 0x00, 0xa2, 0x62, 0xfa, 0x1a, 0x6c, 0xc0, 0x26, 0x46, 0x54, 0xbf, 0x65, 0x76, 0xe8, 0x2d, 0xe1, 0x61, 0x12, 0x01, 0x58, 0x75, 0x1c, 0x53, 0x58, 0xe6, 0xa5, 0xd3, 0x11, 0x84, 0x40, 0xc1, 0xd4, 0x09, 0xa2, 0xba, 0x51, 0xce, 0x04, 0x2b, 0x5f, 0xee, 0xdc, 0x54, 0x43, 0x51, 0x00, 0x01, 0xaa, 0xbc, 0x70, 0x70, 0x00, 0x81, 0x00, 0x32, 0x2f, 0x1e, 0x88, 0xc8, 0x5c, 0xdc, 0x58, 0x90, 0x78, 0x0e, 0x2b, 0xd4, 0x52, 0x44, 0x56, 0xea, 0xdd, 0xab, 0x4d, 0x89, 0x21, 0x9a, 0xb2, 0x50, 0x06, 0x3f, 0xbf, 0xb4, 0xae, 0x20, 0x3d, 0xf4, 0xda, 0x46, 0x2d, 0x6e, 0x96, 0xd7, 0x60, 0xa8, 0x7f, 0x57, 0x9d, 0x6b, 0xbf, 0xde, 0x50, 0x4f, 0x20, 0x1d, 0x7f, 0xd5, 0x85, 0x8a, 0x9f, 0x77, 0xa3, 0x5a, 0xaa, 0x6d, 0xfe, 0xdf, 0xbc, 0x51, 0xf1, 0xf3, 0xae, 0x54, 0x5c, 0xbb, 0x53, 0xb8, 0x4c, 0x9f, 0x2d, 0x3d, 0xb4, 0xce, 0xf8, 0x37, 0xbc, 0x65, 0x26, 0x31, 0xe9, 0xb9, 0x77, 0x4c, 0x69, 0xe2, 0xff, 0xed, 0x5b, 0xf6, 0x79, 0x43, 0x0b, 0x24, 0x7c, 0xd4, 0x15, 0x7d, 0x2b, 0xdd, 0xdc, 0x2d, 0x54, 0x90, 0x51, 0xd7, 0xda, 0x34, 0x50, 0x86, 0xe1, 0xe6, 0x95, 0x0c, 0xbd, 0x15, 0x0c, 0x5d, 0xe6, 0x7a, 0xb4, 0xfb, 0xe6, 0x38, 0x14, 0x77, 0x60, 0xe5, 0xc8, 0x9e, 0xf3, 0x56, 0x11, 0xa2, 0x2d, 0x6e, 0x4a, 0x5f, 0xd4, 0x07, 0x5d, 0xd3, 0x14, 0xe4, 0xfa, 0x22, 0x25, 0xed, 0x00, 0x14, 0x17, 0x34, 0x6f, 0xbf, 0x19, 0x0c, 0x7a, 0x47, 0x97, 0xa7, 0xd1, 0x13, 0x76, 0x17, 0xe1, 0xc2, 0xd8, 0x39, 0x86, 0xec, 0xe5, 0xf6, 0x34, 0xac, 0xfa, 0xd7, 0x41, 0xcf, 0x6d, 0x6e, 0xeb, 0x51, 0x19, 0xd5, 0xd2, 0x8c, 0x75, 0x52, 0xa6, 0xe5, 0x06, 0x6a, 0xdb, 0x8a, 0xba, 0x4c, 0xa9, 0xfe, 0xe8, 0xac, 0x41, 0xae, 0x45, 0x0f, 0x78, 0x39, 0xd9, 0x84, 0xb0, 0x83, 0xe8, 0x38, 0xdb, 0xaf, 0x5e, 0x6c, 0xc3, 0xad, 0x78, 0x64, 0xd4, 0x47, 0x79, 0x79, 0xaf, 0xbf, 0xbb, 0xb9, 0xd7, 0xdf, 0x43, 0x9e, 0x26, 0xc1, 0x52, 0x72, 0x76, 0xc8, 0xf0, 0xc0, 0xed, 0x02, 0x59, 0x49, 0x2c, 0xc4, 0xce, 0x4f, 0x8e, 0x23, 0x4e, 0x5d, 0x25, 0x18, 0xc0, 0x86, 0xd1, 0xc5, 0x19, 0x6e, 0x94, 0xc2, 0x22, 0x47, 0xc8, 0xc4, 0xea, 0x39, 0x29, 0xbc, 0xed, 0x50, 0x53, 0x82, 0x2c, 0xae, 0xcc, 0x4c, 0x04, 0xd9, 0x1d, 0x5b, 0x15, 0xb2, 0x2f, 0x38, 0x47, 0xbf, 0x02, 0xcd, 0xd9, 0x12, 0x67, 0xc3, 0x9e, 0x48, 0x2f, 0xdf, 0x6b, 0x3f, 0x1f, 0x35, 0x5f, 0x5a, 0x0c, 0x20, 0xeb, 0xb9, 0xf7, 0xec, 0x1c, 0x61, 0x88, 0x6a, 0x94, 0xa2, 0x0b, 0x72, 0x34, 0x37, 0x26, 0xc9, 0xe4, 0xef, 0xe3, 0xac, 0xff, 0x4b, 0xed, 0xa9, 0x80, 0x42, 0xec, 0x98, 0x4d, 0x3a, 0x75, 0x61, 0x64, 0x62, 0x2b, 0xb5, 0x2d, 0x48, 0x4c, 0xa4, 0xa6, 0x87, 0x8c, 0x49, 0x00, 0x2f, 0x33, 0x5b, 0x50, 0xce, 0x50, 0x66, 0xfc, 0xc0, 0xcf, 0x74, 0xf4, 0x80, 0x41, 0x8e, 0x1f, 0xe3, 0xb1, 0x8a, 0x24, 0x9e, 0xc9, 0xac, 0x9c, 0xef, 0xf8, 0xbf, 0xc4, 0xdd, 0x23, 0x66, 0x5b, 0xfa, 0x69, 0x99, 0x12, 0x54, 0x70, 0xa6, 0x60, 0xd2, 0xb4, 0x6c, 0x27, 0x97, 0x45, 0x01, 0xe2, 0x24, 0x5d, 0xc4, 0xb3, 0xe8, 0x19, 0xb5, 0x05, 0xed, 0x87, 0xff, 0x44, 0x9f, 0x5e, 0x9a, 0xbd, 0xde, 0xce, 0x15, 0x8c, 0x4e, 0x52, 0x8f, 0x9a, 0x52, 0x35, 0xc0, 0xe5, 0x5a, 0x06, 0x43, 0xe4, 0x04, 0xcb, 0xcd, 0x94, 0xe2, 0x9a, 0x09, 0x34, 0x60, 0x49, 0x1a, 0xcf, 0x2b, 0xba, 0xe3, 0x6c, 0x28, 0x4d, 0x87, 0x95, 0x9a, 0xd7, 0x8d, 0x26, 0x23, 0x0c, 0x31, 0xf7, 0x2a, 0x17, 0xa6, 0xf8, 0x24, 0xe7, 0xfd, 0x2d, 0x98, 0x21, 0xaa, 0x70, 0xec, 0x67, 0xf8, 0xe5, 0xca, 0x9c, 0x6c, 0x61, 0xb4, 0x4e, 0x69, 0x20, 0x52, 0x23, 0xac, 0x38, 0xa1, 0x9a, 0x58, 0x10, 0x70, 0x16, 0x51, 0xd4, 0x98, 0x08, 0x04, 0x37, 0xe4, 0x09, 0xd3, 0x2a, 0xa0, 0xf8, 0x79, 0x7c, 0xf6, 0xff, 0x09, 0x35, 0x70, 0x3f, 0x32, 0x67, 0xf5, 0x1c, 0x75, 0x90, 0x91, 0xd5, 0xb9, 0xdf, 0xb8, 0x07, 0x7d, 0x67, 0x4d, 0xae, 0xff, 0x5f, 0x1b, 0xfc, 0x3f, 0x49, 0x1b, 0xfc, 0x57, 0x6e, 0x69, 0x4f, 0xf2, 0x9a, 0xf9, 0x5a, 0x9a, 0xcc, 0x2a, 0xa9, 0x43, 0x09, 0x16, 0x1c, 0xcc, 0x1e, 0xfb, 0x51, 0x0b, 0xbc, 0xf1, 0x13, 0x57, 0xd4, 0x27, 0x85, 0xff, 0x37, 0xae, 0xe8, 0xb3, 0x6e, 0xe6, 0xff, 0xef, 0xfb, 0xf8, 0xdf, 0xed, 0x1e, 0x06, 0x08, 0x52, 0x07, 0x5b, 0x07, 0x32, 0xbb, 0xc7, 0xac, 0x3d, 0x6e, 0x76, 0x46, 0x96, 0xf6, 0x86, 0x55, 0x7d, 0xb0, 0x1c, 0x8f, 0xb7, 0xee, 0xf4, 0xf2, 0xbb, 0x17, 0x84, 0xc2, 0x33, 0x68, 0x26, 0xb3, 0x14, 0xd1, 0xd9, 0x9b, 0xa3, 0xcb, 0x5f, 0x70, 0xdb, 0xff, 0x42, 0x6e, 0xd6, 0x45, 0x92, 0x8c, 0x7b, 0x1c, 0x37, 0x3c, 0xa4, 0x7f, 0x04, 0x03, 0xee, 0x8a, 0xae, 0x41, 0x64, 0x8b, 0xe1, 0x44, 0x3f, 0x8f, 0x81, 0x5e, 0x06, 0x35, 0x25, 0x13, 0xcc, 0x9b, 0x05, 0xb5, 0x5d, 0xf6, 0x7c, 0x2c, 0x79, 0x36, 0xde, 0x10, 0x15, 0x90, 0xbf, 0x4d, 0xa4, 0x22, 0xf9, 0x27, 0x78, 0xbd, 0xa7, 0x88, 0x8b, 0x67, 0xa0, 0x43, 0x9d, 0x67, 0x38, 0x13, 0x2f, 0x98, 0x0c, 0xf5, 0x68, 0x97, 0xc2, 0x21, 0x4f, 0x46, 0xaf, 0xdb, 0xdd, 0x42, 0xff, 0x3b, 0x71, 0x90, 0xa4, 0xfa, 0x84, 0x68, 0x1b, 0xcd, 0xcf, 0xb7, 0xa5, 0xd3, 0xac, 0xdc, 0x4a, 0xf7, 0x24, 0x6a, 0x3b, 0x88, 0x11, 0x72, 0x0e, 0x1d, 0x7a, 0x5d, 0xca, 0x9d, 0x6f, 0x72, 0x06, 0x09, 0xcf, 0xd7, 0x7c, 0xa2, 0xbe, 0x97, 0xa7, 0x93, 0xfa, 0x76, 0x06, 0xb2, 0x77, 0xbb, 0xb5, 0x6c, 0x25, 0x77, 0x4a, 0x26, 0x4e, 0xbe, 0x1d, 0xa9, 0x6b, 0x9f, 0x31, 0x25, 0x04, 0xca, 0xe2, 0x2f, 0x7e, 0x36, 0xa5, 0xf3, 0xfa, 0x53, 0x9d, 0x88, 0xf3, 0xac, 0x2a, 0xa8, 0xc5, 0x88, 0xa6, 0x10, 0x94, 0x0a, 0xda, 0xbf, 0x74, 0xba, 0x39, 0xc7, 0x54, 0x28, 0x40, 0xbb, 0xe6, 0xb7, 0xdb, 0xe4, 0xfb, 0x9d, 0x54, 0xa3, 0xbe, 0x39, 0x59, 0x02, 0x30, 0x84, 0x5f, 0x8d, 0x40, 0xc5, 0xd5, 0x8e, 0xd4, 0x5d, 0x6a, 0xe1, 0xa6, 0xcd, 0xd9, 0x5a, 0x7c, 0x15, 0x9a, 0x09, 0xf3, 0xe9, 0xdb, 0xb3, 0xad, 0xee, 0x7f, 0xe8, 0x43, 0x48, 0xa8, 0x3b, 0xc6, 0x70, 0x85, 0x18, 0xd8, 0x19, 0x81, 0x2f, 0x50, 0x93, 0x64, 0x8c, 0x04, 0x4f, 0x66, 0xf1, 0xbd, 0xd4, 0xc3, 0x35, 0xf9, 0xfd, 0xe0, 0x6c, 0x97, 0xb6, 0xf5, 0xfa, 0x6c, 0xe0, 0xc2, 0xe7, 0x97, 0x14, 0x8c, 0xa7, 0xfa, 0xc7, 0xaf, 0x4f, 0x8e, 0x06, 0xd7, 0x7d, 0x6f, 0x89, 0x1c, 0x07, 0x0e, 0x12, 0x0c, 0x33, 0xe1, 0xc1, 0x19, 0xac, 0xf5, 0x11, 0xe1, 0x33, 0xa5, 0xae, 0x12, 0x27, 0xc7, 0x73, 0xd3, 0xd1, 0xd1, 0xce, 0x8d, 0x39, 0xbb, 0xbf, 0x4a, 0x0a, 0x3f, 0x25, 0x09, 0xf6, 0x6e, 0x98, 0xce, 0x70, 0x05, 0x30, 0x2f, 0xb0, 0x86, 0xe6, 0x52, 0x34, 0x41, 0x55, 0xfa, 0xf9, 0x0c, 0x33, 0x09, 0xf0, 0x33, 0x75, 0x3f, 0x04, 0x26, 0x24, 0x0b, 0x74, 0x41, 0x7b, 0x21, 0x32, 0xe8, 0x1d, 0x39, 0xb6, 0x7f, 0x32, 0x53, 0xd5, 0xbd, 0xe2, 0xb8, 0xb3, 0xd3, 0xb1, 0x0f, 0xf1, 0x8d, 0x10, 0xc4, 0xc5, 0x4f, 0xf7, 0x8e, 0xcb, 0x5b, 0x8d, 0xec, 0x52, 0x5f, 0x51, 0x8c, 0x1a, 0xaf, 0xcc, 0x39, 0x6d, 0x5a, 0x42, 0x70, 0xd0, 0x54, 0x13, 0x8f, 0xd5, 0x51, 0x5e, 0x71, 0x04, 0x3a, 0x00, 0xb2, 0x64, 0xb6, 0xb1, 0xe2, 0xc4, 0x35, 0x73, 0xc4, 0xed, 0x7b, 0x8a, 0xa3, 0x85, 0x7b, 0xad, 0x45, 0xa3, 0x9b, 0x04, 0x84, 0x48, 0xdf, 0x41, 0x76, 0x78, 0xf6, 0x86, 0x7c, 0xe6, 0xc1, 0xff, 0x05, 0xb6, 0xe7, 0x17, 0x6f, 0xc8, 0xde, 0x9e, 0xbf, 0x21, 0x45, 0xf2, 0xf7, 0x71, 0x08, 0x0b, 0x9d, 0x6a, 0x50, 0xa8, 0xfc, 0x85, 0xcb, 0x46, 0xae, 0x18, 0xd0, 0x1d, 0xa7, 0xba, 0x89, 0x2d, 0x8d, 0x34, 0x8f, 0xde, 0x82, 0xe9, 0xa1, 0x85, 0x8d, 0x01, 0x48, 0xbf, 0x1d, 0xbb, 0x82, 0x6e, 0x3a, 0xed, 0x37, 0xd3, 0x30, 0x1c, 0x88, 0x64, 0x37, 0xcb, 0x47, 0x56, 0x6a, 0x90, 0x98, 0xcb, 0x42, 0x8d, 0x71, 0xb0, 0xc4, 0xd4, 0x5c, 0x9e, 0x5e, 0x6f, 0x52, 0x2d, 0xcc, 0xc2, 0x56, 0x52, 0xc7, 0x96, 0xb7, 0x19, 0x2d, 0x4b, 0xbf, 0x2e, 0x1e, 0xd5, 0xfd, 0xba, 0x72, 0xf5, 0x7e, 0xb6, 0x25, 0xf6, 0xdc, 0xe1, 0x44, 0x6a, 0x42, 0x2d, 0x93, 0x26, 0xea, 0xad, 0xdb, 0x60, 0x4b, 0x56, 0x65, 0x23, 0x7c, 0xe6, 0x41, 0xdb, 0x52, 0x8b, 0x8c, 0x9a, 0x05, 0x0b, 0x07, 0xd7, 0xe8, 0xa8, 0x6c, 0x01, 0x97, 0x56, 0x52, 0x41, 0x83, 0x77, 0xdb, 0xb3, 0x0a, 0xac, 0xf9, 0xbb, 0x64, 0x46, 0x05, 0xde, 0x49, 0x36, 0x2a, 0x1e, 0x17, 0x2e, 0x78, 0xff, 0xf8, 0x5f, 0xd9, 0x7f, 0xad, 0x0c, 0xa2, 0xd0, 0x31, 0x28, 0x3e, 0xc0, 0xec, 0x36, 0x7c, 0xfd, 0x0b, 0xeb, 0x74, 0x65, 0x3c, 0xc6, 0x23, 0x45, 0x29, 0x5c, 0xb9, 0xb5, 0x02, 0x68, 0xcb, 0x28, 0xe7, 0x66, 0x08, 0x4d, 0x81, 0x5a, 0x98, 0xf8, 0x0e, 0x64, 0xdc, 0x5c, 0x53, 0x09, 0xf0, 0xec, 0x93, 0xdf, 0xe9, 0xf2, 0x76, 0xdd, 0xed, 0x78, 0x3c, 0x61, 0x70, 0xb6, 0x11, 0xbd, 0x45, 0x1f, 0x4d, 0xdd, 0x09, 0x8f, 0xd7, 0x55, 0xdb, 0x93, 0xed, 0xb0, 0x23, 0xca, 0xed, 0xd6, 0xac, 0x10, 0xf8, 0x5e, 0x0a, 0x15, 0x55, 0x86, 0xd3, 0xdb, 0xb6, 0x46, 0x77, 0x00, 0xac, 0x95, 0x13, 0x1b, 0xd5, 0xb3, 0xc4, 0x3d, 0x55, 0xb5, 0xf4, 0x19, 0x9e, 0xbe, 0xdb, 0x69, 0x03, 0xa2, 0xef, 0xcb, 0xaf, 0xa9, 0x88, 0x7d, 0x9c, 0x10, 0x96, 0xbb, 0x62, 0x69, 0x62, 0x05, 0x17, 0xd3, 0x1b, 0x65, 0xf5, 0xa2, 0x7b, 0xfa, 0xc5, 0xf6, 0xcb, 0x17, 0x1b, 0xab, 0xba, 0x94, 0x63, 0xef, 0x1e, 0x2c, 0xce, 0x65, 0x12, 0xc2, 0x7f, 0xed, 0xf4, 0xdd, 0x0d, 0x8a, 0x6c, 0x67, 0x13, 0x29, 0xb2, 0xf6, 0x25, 0x1c, 0x88, 0x1b, 0x24, 0x09, 0xda, 0x08, 0x6d, 0xf7, 0x40, 0xc4, 0xc2, 0xeb, 0x42, 0x5b, 0x46, 0x6e, 0x39, 0x91, 0x72, 0xd3, 0x28, 0xf4, 0x90, 0xe8, 0xc9, 0x48, 0xec, 0xed, 0xea, 0x1c, 0x58, 0x7a, 0xba, 0xed, 0x39, 0x79, 0xb2, 0xf4, 0xf7, 0x7e, 0xfd, 0x5f, 0x6e, 0x30, 0xd3, 0x0e, 0xf0, 0x6b, 0x4e, 0x79, 0xf7, 0x77, 0x38, 0xe5, 0xdd, 0xd5, 0xa7, 0xbc, 0xfb, 0xdc, 0x53, 0x7e, 0xb9, 0xff, 0xe2, 0xf3, 0x5f, 0x71, 0xca, 0xce, 0x0e, 0xff, 0xb7, 0x9d, 0xb2, 0x43, 0x69, 0xbf, 0xee, 0x94, 0x25, 0x29, 0xa4, 0x59, 0x90, 0x29, 0xc9, 0x2f, 0x94, 0xd6, 0x8a, 0x50, 0x1a, 0x5c, 0xc6, 0xc2, 0xcf, 0xfa, 0x75, 0x56, 0xd2, 0x7c, 0x92, 0x9b, 0xde, 0xa1, 0x1e, 0x16, 0x30, 0xb2, 0x2d, 0xb4, 0x08, 0x69, 0xb8, 0x8b, 0x19, 0xf6, 0x4e, 0x5b, 0xeb, 0xad, 0xa9, 0x7b, 0x44, 0xcb, 0x27, 0x15, 0x17, 0x8b, 0x3f, 0x07, 0x47, 0xfd, 0x3b, 0xa2, 0xaa, 0xf9, 0x39, 0x33, 0x4e, 0xd6, 0x53, 0x7d, 0xd3, 0x1e, 0x67, 0x60, 0x26, 0x70, 0x0e, 0x52, 0x30, 0xfb, 0x4d, 0x90, 0xdf, 0x0d, 0xb2, 0x93, 0x3a, 0x6a, 0x86, 0xa0, 0x14, 0x82, 0x14, 0xc8, 0x30, 0xa9, 0xe7, 0x71, 0x96, 0x48, 0x01, 0x31, 0x2e, 0x1a, 0x29, 0x03, 0x4d, 0xf9, 0xa6, 0x4b, 0x58, 0x7a, 0x05, 0x35, 0x32, 0x96, 0xfa, 0xe2, 0x2e, 0x07, 0xf5, 0xac, 0x36, 0x19, 0x0a, 0x02, 0x94, 0x70, 0x4b, 0x46, 0x37, 0xdc, 0x5f, 0x24, 0x00, 0xf6, 0xb3, 0x2a, 0xc1, 0xaf, 0x99, 0x70, 0xd7, 0xd2, 0x9b, 0x28, 0xd8, 0x81, 0x0a, 0xfb, 0x54, 0xd5, 0x1b, 0x55, 0x71, 0x8e, 0x38, 0x23, 0xea, 0x91, 0xc2, 0xdf, 0xec, 0xfd, 0x24, 0x8d, 0xa3, 0xbc, 0x42, 0x64, 0x94, 0xe9, 0xb2, 0xa0, 0x7a, 0xd3, 0x25, 0x9b, 0x4d, 0xa8, 0x3b, 0xf3, 0x74, 0xcd, 0x0c, 0x26, 0x9d, 0x4b, 0xcf, 0x6d, 0x15, 0x92, 0x6c, 0x82, 0xbf, 0xc1, 0xd3, 0x1d, 0x2f, 0xe7, 0x0b, 0x05, 0x43, 0xc4, 0xea, 0xa6, 0x94, 0xca, 0xe8, 0x04, 0x10, 0x81, 0x92, 0xae, 0x03, 0x6e, 0x34, 0xe3, 0x65, 0x92, 0xe4, 0x36, 0xf6, 0x58, 0xe9, 0x59, 0x09, 0xb0, 0x07, 0x2f, 0x80, 0x12, 0xd7, 0xa8, 0x94, 0x08, 0xf1, 0xd5, 0x92, 0x89, 0x97, 0x7a, 0x40, 0x8d, 0x6a, 0x29, 0x3a, 0x99, 0x0c, 0x97, 0x53, 0xc5, 0x14, 0x30, 0x0d, 0xee, 0xea, 0x54, 0x49, 0xf5, 0x57, 0x88, 0x32, 0x94, 0x74, 0x39, 0x19, 0xfe, 0xd1, 0x07, 0x57, 0xa9, 0xb0, 0xbb, 0xe3, 0x68, 0x55, 0x72, 0x98, 0xb7, 0x70, 0x22, 0xf6, 0xda, 0xca, 0xe9, 0x27, 0xb5, 0xc6, 0x63, 0x81, 0xd6, 0x59, 0x2e, 0xa9, 0x54, 0xa3, 0x45, 0x6f, 0x12, 0x23, 0x34, 0xa9, 0x57, 0x58, 0x2e, 0x09, 0xa1, 0x72, 0x05, 0xae, 0x8f, 0x2f, 0xa3, 0xb7, 0xb1, 0xb4, 0x1b, 0x8a, 0xd6, 0x81, 0x03, 0xbf, 0xdc, 0xdb, 0xde, 0xdd, 0x58, 0xa9, 0x87, 0xd7, 0xe1, 0xb6, 0xe8, 0x5b, 0x59, 0x1e, 0x4a, 0x58, 0xbf, 0x5e, 0x82, 0xd9, 0xac, 0x38, 0x3e, 0xf0, 0xa5, 0x8f, 0xe7, 0x17, 0x6f, 0x4e, 0xce, 0x8e, 0xfe, 0x62, 0x50, 0x23, 0x70, 0x13, 0xb4, 0xf2, 0xf8, 0x23, 0x98, 0xaf, 0x8f, 0x1f, 0xcb, 0x04, 0xe6, 0x5c, 0xad, 0xef, 0x6e, 0x60, 0xe5, 0x9e, 0xd7, 0x14, 0x72, 0x9a, 0xd4, 0xb1, 0x36, 0xb8, 0x7e, 0x60, 0x05, 0x60, 0x94, 0x71, 0x50, 0x6e, 0xf5, 0x77, 0xa4, 0xeb, 0x88, 0xb4, 0x4d, 0xb0, 0x3c, 0xcb, 0x69, 0x9c, 0x12, 0x0b, 0xac, 0x1c, 0xd7, 0xe6, 0xfa, 0x15, 0x5a, 0x08, 0xec, 0x91, 0x8e, 0x52, 0xb4, 0x56, 0xe4, 0x5a, 0xa7, 0x18, 0x86, 0x9f, 0xd4, 0x61, 0x29, 0xa9, 0x78, 0x17, 0x7f, 0xb1, 0x3a, 0xac, 0x5c, 0xe7, 0xfd, 0x15, 0x09, 0x8b, 0x64, 0x96, 0x25, 0x55, 0x4f, 0x26, 0x76, 0x08, 0x7f, 0xbe, 0xbe, 0x8b, 0x67, 0x5e, 0x49, 0x38, 0xf6, 0x54, 0x54, 0xca, 0x34, 0xac, 0x08, 0xdf, 0x74, 0x3a, 0xae, 0x0c, 0x4c, 0xeb, 0x11, 0x7d, 0x12, 0xae, 0x8a, 0xd7, 0x61, 0xe4, 0xfa, 0xfa, 0x2f, 0x97, 0x27, 0xaf, 0x0f, 0x91, 0x91, 0x7d, 0x89, 0xb5, 0x27, 0x65, 0x8d, 0xaf, 0x45, 0xd8, 0xc3, 0xdd, 0x5b, 0xc3, 0x0f, 0x6f, 0x4e, 0x07, 0x97, 0x67, 0x17, 0xc7, 0xaf, 0x0f, 0x7f, 0x40, 0x9b, 0x12, 0x84, 0xc7, 0xa3, 0xf3, 0xae, 0xf9, 0x99, 0xe9, 0xa2, 0xe0, 0x03, 0x8a, 0x9c, 0x7c, 0xff, 0xf1, 0xe4, 0xfc, 0xbb, 0xd7, 0x87, 0x77, 0x71, 0xd1, 0xc5, 0xf5, 0xf1, 0xdb, 0x2d, 0x0d, 0x4b, 0x6b, 0xa4, 0x86, 0xea, 0xf9, 0x70, 0x76, 0x5b, 0xa6, 0x3f, 0x27, 0x11, 0xbc, 0x3e, 0x5b, 0xfa, 0x30, 0xe6, 0xd7, 0x8c, 0xc3, 0x00, 0x9b, 0x81, 0x7f, 0x8b, 0xbe, 0x3e, 0xfb, 0x16, 0xa1, 0x72, 0x8d, 0x9f, 0x74, 0xce, 0x7d, 0x97, 0xa2, 0x2f, 0xf7, 0xb7, 0x77, 0x36, 0x6c, 0xb7, 0x4f, 0x82, 0xda, 0x86, 0x19, 0xdf, 0x7a, 0x55, 0x53, 0x3f, 0x4b, 0xfd, 0x97, 0xad, 0x65, 0xa8, 0xac, 0x45, 0xc5, 0xe5, 0x07, 0xe2, 0x72, 0xa2, 0xe4, 0x7c, 0xca, 0x7f, 0xc5, 0x66, 0xa9, 0x05, 0xa5, 0xad, 0x7b, 0x1e, 0xb7, 0xeb, 0xb7, 0x0e, 0xc6, 0xcd, 0xd7, 0x96, 0xf4, 0x60, 0x3a, 0xe2, 0xb5, 0x5b, 0x29, 0x1f, 0x3f, 0x61, 0x2c, 0xa7, 0x69, 0x52, 0xd2, 0x66, 0x83, 0x48, 0x13, 0xfa, 0x09, 0xef, 0xb3, 0x93, 0xe3, 0x43, 0x15, 0x60, 0x39, 0x63, 0x33, 0xd2, 0x2a, 0x95, 0xf0, 0x14, 0x52, 0xe0, 0x09, 0x1f, 0x5e, 0x3a, 0xc7, 0xda, 0xe3, 0xa4, 0x8c, 0xd4, 0xbf, 0xe3, 0x78, 0x6f, 0x66, 0xc9, 0x34, 0x1e, 0x3d, 0x1a, 0x84, 0x69, 0x3a, 0x90, 0x71, 0xf3, 0x76, 0x92, 0x87, 0x6f, 0x84, 0xc6, 0x1c, 0x88, 0xe0, 0x29, 0xb1, 0x67, 0x86, 0x52, 0x81, 0xeb, 0x6a, 0x9c, 0x3e, 0x3c, 0x35, 0x03, 0x16, 0xa3, 0xe2, 0x12, 0x37, 0xb5, 0x29, 0x9d, 0xeb, 0x5b, 0xdc, 0xa0, 0x3e, 0x24, 0x1b, 0x6a, 0x47, 0xbc, 0x72, 0x4f, 0xf7, 0xea, 0x1e, 0xf3, 0x9f, 0xe9, 0x92, 0x23, 0x0a, 0x17, 0x39, 0x65, 0x0f, 0xf1, 0xaf, 0x61, 0x1c, 0x7e, 0x6a, 0xcf, 0x45, 0x6e, 0x0b, 0x6e, 0x37, 0xcd, 0x4d, 0x0f, 0x70, 0xd9, 0xa6, 0xbe, 0x40, 0xda, 0xda, 0x20, 0x9c, 0x7b, 0x65, 0xdd, 0xe9, 0x61, 0x8c, 0x3b, 0xe3, 0xd4, 0x06, 0xf2, 0x64, 0x61, 0x85, 0x94, 0xd1, 0x32, 0x9e, 0x29, 0xd0, 0xc5, 0xdf, 0x07, 0x1c, 0x9b, 0x92, 0x8c, 0x70, 0x88, 0x63, 0x21, 0x4b, 0x44, 0x9d, 0x04, 0x76, 0xea, 0x4b, 0x8d, 0xfa, 0x50, 0xe7, 0xa3, 0x5c, 0x90, 0xd7, 0xe8, 0x21, 0x46, 0x92, 0x29, 0x7d, 0x18, 0x0e, 0xce, 0x6e, 0x57, 0xc7, 0x01, 0x27, 0x68, 0x60, 0x48, 0xcd, 0xc0, 0x4a, 0xc3, 0x34, 0x4b, 0xd5, 0x4a, 0xb1, 0x08, 0x92, 0xcc, 0x74, 0x0b, 0x3c, 0x1b, 0xc0, 0x22, 0x70, 0xaa, 0xf6, 0x14, 0x10, 0x9c, 0x57, 0x26, 0xe9, 0x08, 0x34, 0xa1, 0xf5, 0x39, 0x2e, 0x44, 0xfa, 0x13, 0x70, 0x33, 0x88, 0xb6, 0x86, 0xed, 0x0d, 0x29, 0x05, 0x63, 0xe2, 0x08, 0x22, 0xa1, 0x48, 0x26, 0x31, 0x2c, 0x43, 0x63, 0x37, 0x02, 0xd5, 0xc7, 0x15, 0x27, 0xf1, 0x37, 0x45, 0x14, 0x82, 0x8a, 0x6b, 0xea, 0x7c, 0x6d, 0x04, 0x29, 0x73, 0xa6, 0x4e, 0x74, 0xeb, 0x3d, 0xdb, 0x22, 0x2c, 0xad, 0x8c, 0xca, 0x16, 0x80, 0xdc, 0x31, 0xc0, 0xe7, 0x06, 0xb8, 0x8d, 0x5d, 0x9f, 0x4a, 0x1f, 0x42, 0x11, 0xf8, 0xb1, 0x4d, 0x2e, 0xfd, 0x54, 0x16, 0x94, 0x06, 0x4a, 0xcf, 0xbd, 0xc1, 0xb2, 0xe4, 0xde, 0x1d, 0xcc, 0xda, 0x1d, 0x66, 0xc0, 0x4f, 0xe9, 0xed, 0x06, 0x9b, 0x09, 0xeb, 0xd5, 0xa2, 0xc3, 0xef, 0x4e, 0xae, 0x06, 0xa7, 0x17, 0xe7, 0x5f, 0x06, 0xcd, 0x61, 0xf9, 0xa5, 0x69, 0xf5, 0xa6, 0x95, 0xae, 0xb6, 0x1d, 0x17, 0x7a, 0xc1, 0xd4, 0xd7, 0xc2, 0x5d, 0x9d, 0xd2, 0x0c, 0x1f, 0xf1, 0xba, 0x7c, 0x8d, 0x92, 0x45, 0x45, 0xfa, 0x92, 0xda, 0xd2, 0xb4, 0x4b, 0x14, 0xb7, 0xa0, 0x3e, 0x30, 0x64, 0xc3, 0x61, 0xa9, 0x9b, 0xd8, 0x76, 0xe6, 0x6f, 0x3b, 0x01, 0x98, 0x37, 0xfe, 0xcd, 0xae, 0xb7, 0x41, 0xe1, 0x84, 0x1d, 0x27, 0x5e, 0xbe, 0x5c, 0x70, 0x95, 0x24, 0x82, 0x99, 0x30, 0xf0, 0x91, 0xbb, 0x00, 0xaf, 0x6f, 0x43, 0x7f, 0xab, 0xfe, 0x22, 0x3c, 0x7c, 0xb7, 0xed, 0x54, 0xb0, 0x98, 0xe7, 0xb6, 0x43, 0xcf, 0x6d, 0xfb, 0xcf, 0xed, 0x84, 0x9e, 0xdb, 0xf1, 0x9f, 0xdb, 0x0d, 0x3d, 0xe7, 0xac, 0xd7, 0x31, 0xe3, 0x65, 0xe7, 0x56, 0x59, 0xc6, 0xb5, 0x7f, 0xed, 0xf6, 0xed, 0xf1, 0x7f, 0x66, 0xbc, 0x15, 0xcd, 0x46, 0xb5, 0x8e, 0x61, 0xaf, 0x76, 0x7d, 0xbb, 0x59, 0xaf, 0x7c, 0x5a, 0x87, 0x03, 0x35, 0xb1, 0xe1, 0x62, 0x86, 0xef, 0x6d, 0xef, 0xf6, 0x46, 0xe9, 0xe2, 0x06, 0xa5, 0xce, 0xa1, 0xb6, 0x76, 0xc3, 0xcd, 0xc7, 0xc5, 0xca, 0x2f, 0x96, 0x68, 0x92, 0xfb, 0x7a, 0xc8, 0xd9, 0x60, 0x23, 0x72, 0xf0, 0x8a, 0x04, 0xa2, 0x93, 0x5e, 0x89, 0xf8, 0x1d, 0x8b, 0x56, 0xe4, 0x3b, 0x98, 0xbd, 0x52, 0x17, 0xe3, 0xbe, 0x81, 0xf7, 0x64, 0x02, 0x4c, 0xba, 0x3a, 0x2b, 0x9d, 0xa6, 0x8c, 0xcd, 0xa8, 0xba, 0x1a, 0x7a, 0x6f, 0xba, 0x76, 0xa9, 0xc7, 0x85, 0xbe, 0xa2, 0x18, 0x77, 0xd8, 0x9b, 0x2d, 0x6b, 0xac, 0x8e, 0x87, 0x33, 0x2a, 0x77, 0x9e, 0x85, 0x44, 0xe5, 0x87, 0xab, 0x33, 0x4f, 0xb5, 0x8c, 0xd0, 0x35, 0x53, 0x1e, 0x6c, 0x6e, 0x52, 0x83, 0xf1, 0x9b, 0xf8, 0xe1, 0xa1, 0x5f, 0x26, 0x9b, 0xc0, 0x4f, 0xca, 0x4d, 0xf2, 0xf7, 0xca, 0xa7, 0x6f, 0xaa, 0xf9, 0x6c, 0x95, 0xa3, 0x36, 0x2d, 0x15, 0x53, 0x96, 0xb1, 0x18, 0xc7, 0x8c, 0xba, 0x60, 0x8b, 0xb4, 0xe9, 0x42, 0xf2, 0x01, 0x6b, 0xd2, 0x5d, 0xb3, 0xe1, 0x07, 0x77, 0x52, 0xa5, 0x3e, 0xce, 0xdb, 0x28, 0xfb, 0x48, 0x60, 0x1a, 0x88, 0x56, 0x36, 0x21, 0x39, 0xf3, 0xc1, 0x62, 0xe7, 0xe0, 0x0b, 0x58, 0x4f, 0x9b, 0x78, 0xe1, 0x0c, 0x03, 0x92, 0x53, 0x10, 0x28, 0x3e, 0xf9, 0x0a, 0x42, 0x7b, 0x56, 0xba, 0x81, 0x0f, 0x74, 0x0f, 0xc8, 0x92, 0x83, 0x6a, 0xc6, 0x27, 0x66, 0x9a, 0x98, 0x92, 0x87, 0xca, 0x3c, 0xa8, 0x1c, 0xf0, 0xdf, 0x2f, 0xfd, 0xa2, 0xf3, 0x88, 0x96, 0xe0, 0xa5, 0xee, 0xa1, 0xfe, 0x8f, 0x65, 0x5f, 0xbc, 0xff, 0xfc, 0x3d, 0xb7, 0x3d, 0x06, 0x99, 0x17, 0xc1, 0xf0, 0x11, 0x1d, 0x4b, 0x67, 0x70, 0x75, 0xd9, 0xe9, 0x4a, 0xb4, 0x1e, 0x3e, 0xd0, 0x83, 0x7f, 0x47, 0x64, 0x65, 0x62, 0x7b, 0x9d, 0xfd, 0x3d, 0x49, 0xac, 0xe3, 0x39, 0x72, 0x93, 0x39, 0x3f, 0x7c, 0x44, 0xbf, 0x34, 0xc9, 0x85, 0xdc, 0x85, 0xd6, 0x56, 0xa3, 0x82, 0x01, 0x58, 0x5f, 0x21, 0xa7, 0xfc, 0x74, 0x2d, 0xf0, 0x7a, 0x58, 0xad, 0x33, 0xb0, 0x8f, 0x40, 0x33, 0x34, 0xcd, 0x7e, 0x23, 0x40, 0x90, 0x17, 0xb7, 0xd2, 0x0a, 0x44, 0xc2, 0x1c, 0xcc, 0x5c, 0xbc, 0xee, 0xcb, 0x0d, 0x2f, 0xa2, 0x43, 0x8d, 0xec, 0x62, 0xd5, 0x65, 0xcb, 0x8e, 0x29, 0x0c, 0x5e, 0x4b, 0x8b, 0x61, 0xa5, 0x55, 0xd8, 0xb0, 0x6f, 0xb2, 0x25, 0x9e, 0x09, 0x8d, 0xd2, 0x18, 0xe4, 0x09, 0xac, 0x9a, 0xbd, 0xc6, 0xe9, 0xeb, 0xe6, 0x05, 0x8e, 0xdd, 0xec, 0x2b, 0x1e, 0x11, 0x59, 0x34, 0x5a, 0xa1, 0x8d, 0xdf, 0x6e, 0x90, 0x83, 0x45, 0x06, 0x6c, 0xab, 0x26, 0x53, 0x6c, 0x19, 0xe7, 0x40, 0xfa, 0x1a, 0x7c, 0x13, 0x36, 0x6d, 0xcf, 0xda, 0xe9, 0x87, 0x11, 0x36, 0x0d, 0x54, 0x2f, 0xb4, 0xd9, 0x2b, 0xca, 0xf8, 0x9e, 0x5c, 0xbf, 0xbb, 0x7c, 0xfa, 0x58, 0x30, 0x3f, 0x9b, 0x08, 0x5f, 0x13, 0x58, 0xa3, 0x67, 0xed, 0x81, 0x6c, 0xc1, 0xaf, 0xdc, 0x01, 0xf1, 0x48, 0x37, 0x49, 0x1a, 0x37, 0xc2, 0x77, 0x95, 0x7d, 0x8a, 0x7d, 0xa9, 0x6d, 0x0c, 0x0a, 0xe0, 0xb0, 0xd8, 0x0a, 0x04, 0x14, 0x1c, 0x8d, 0x83, 0x34, 0x0c, 0xe5, 0xa3, 0x4f, 0xd6, 0x6c, 0x50, 0x00, 0x51, 0x02, 0x0b, 0x38, 0x88, 0x76, 0x49, 0xf1, 0x31, 0x93, 0xd0, 0x1d, 0x2b, 0x9f, 0x20, 0xdb, 0x81, 0x3f, 0x5f, 0x33, 0x12, 0x09, 0x74, 0x4a, 0x95, 0x52, 0xf6, 0xd1, 0x44, 0x9c, 0x0b, 0xdf, 0x18, 0xee, 0x23, 0x5e, 0xdd, 0x8f, 0xc2, 0xd6, 0x48, 0x45, 0x43, 0x56, 0x41, 0xb0, 0x9c, 0x29, 0x36, 0x77, 0x88, 0x09, 0x68, 0x15, 0x23, 0x11, 0x25, 0xb5, 0xa5, 0x69, 0x76, 0x48, 0x6a, 0xee, 0x3b, 0x0c, 0x03, 0x77, 0x1c, 0xdb, 0x69, 0xab, 0xb7, 0x57, 0x75, 0xd1, 0x06, 0x64, 0x1b, 0x35, 0x25, 0x31, 0x2a, 0xa7, 0xec, 0x9a, 0x67, 0x59, 0x3c, 0x55, 0x6b, 0xed, 0x2b, 0x22, 0xa8, 0x1f, 0xfd, 0xca, 0xc3, 0xda, 0xfe, 0x3f, 0xec, 0xb0, 0xb6, 0xff, 0x6f, 0x38, 0xac, 0x9d, 0x5f, 0x79, 0x58, 0x3b, 0xff, 0x87, 0x1d, 0xd6, 0xce, 0xff, 0x0d, 0x87, 0xb5, 0xfb, 0x2b, 0x0f, 0x6b, 0xf7, 0x37, 0x3f, 0xac, 0x73, 0xfc, 0x3d, 0x49, 0x09, 0xd5, 0x29, 0xd3, 0xb2, 0xa9, 0x72, 0x0d, 0x1f, 0xa9, 0xb5, 0xfd, 0x10, 0x37, 0x44, 0xcc, 0x11, 0x51, 0x55, 0xcb, 0xa6, 0x4d, 0x76, 0x54, 0x19, 0xd4, 0x2a, 0xd3, 0x7f, 0x45, 0x02, 0x5c, 0x82, 0x85, 0x8f, 0xfa, 0xd4, 0xd7, 0x39, 0xfa, 0x67, 0x40, 0xef, 0xe8, 0x46, 0xe7, 0x83, 0x01, 0x27, 0x35, 0x0d, 0x28, 0x30, 0xdb, 0x3c, 0x2c, 0x74, 0x75, 0x92, 0x05, 0xb5, 0x8e, 0x4a, 0xe9, 0x05, 0xcc, 0xd0, 0x32, 0x17, 0x7e, 0x6f, 0x1e, 0x8f, 0xf0, 0xc7, 0x5b, 0xfd, 0x6d, 0xbb, 0x39, 0x1b, 0xbf, 0x00, 0x66, 0xce, 0x46, 0x4d, 0x83, 0xb6, 0x7d, 0x00, 0x10, 0x1e, 0xf3, 0x40, 0x50, 0x07, 0xae, 0x1f, 0xcd, 0x83, 0x40, 0xca, 0xa9, 0xd9, 0xd4, 0x0e, 0x3d, 0x4e, 0xfd, 0xe5, 0x24, 0xf0, 0x4d, 0x44, 0xad, 0xee, 0x59, 0xca, 0xf0, 0x60, 0x94, 0x24, 0x5f, 0xfa, 0x35, 0x43, 0x83, 0xe9, 0x14, 0x91, 0xf6, 0x7e, 0x69, 0xdc, 0xda, 0x89, 0x11, 0xff, 0xb7, 0xc5, 0xad, 0x9f, 0x65, 0x7d, 0xbb, 0x57, 0xa6, 0xe8, 0x69, 0xe3, 0xb6, 0x30, 0x3a, 0xbc, 0x75, 0x5b, 0x62, 0x9d, 0x11, 0x01, 0x47, 0x8e, 0x99, 0x74, 0x30, 0x8f, 0xe7, 0x44, 0xde, 0xb5, 0xd1, 0x43, 0x36, 0x92, 0x7c, 0x74, 0xa7, 0x5c, 0x73, 0xfa, 0x0d, 0x9e, 0x91, 0x02, 0x67, 0xf0, 0x2a, 0x4b, 0xa6, 0xb8, 0x65, 0xa6, 0x9f, 0xb1, 0x08, 0x14, 0x84, 0xac, 0xe6, 0x25, 0x37, 0x8c, 0x12, 0xc6, 0xdd, 0x4a, 0x9f, 0xd2, 0xa0, 0x5f, 0xd4, 0xd7, 0x1b, 0x8f, 0x92, 0x5e, 0x5c, 0x8e, 0xd2, 0x34, 0xdc, 0x38, 0x56, 0xa3, 0xcc, 0x98, 0xd6, 0x43, 0xf1, 0x01, 0x78, 0x3e, 0xc2, 0x88, 0x9e, 0xf6, 0x81, 0x47, 0x7e, 0x48, 0x48, 0x54, 0x38, 0xdd, 0x7c, 0x59, 0x4d, 0x73, 0x0d, 0x15, 0x74, 0x03, 0x6e, 0x47, 0x8c, 0xf9, 0xd1, 0x11, 0xc3, 0xe9, 0x8c, 0x8a, 0x74, 0x41, 0x28, 0xb7, 0x6e, 0xd3, 0xb9, 0xae, 0xe9, 0xc9, 0x4e, 0xae, 0x3c, 0x89, 0xcd, 0x72, 0x8b, 0xf2, 0x0f, 0x9e, 0xf9, 0xdb, 0xe9, 0x75, 0xd0, 0x69, 0x6a, 0x7a, 0x75, 0xc1, 0xbb, 0x88, 0x4d, 0xee, 0x44, 0x45, 0x23, 0x85, 0x54, 0x6a, 0x09, 0xf2, 0x6b, 0x90, 0x04, 0x48, 0xe8, 0x51, 0xf1, 0xaf, 0xa9, 0x1d, 0x89, 0x06, 0x3f, 0x51, 0x00, 0xc0, 0x1d, 0x44, 0xe7, 0x7d, 0x2e, 0x38, 0x20, 0x37, 0xc9, 0x03, 0x57, 0xa9, 0xfa, 0x06, 0x1d, 0xc3, 0x26, 0x62, 0xb4, 0x56, 0x02, 0xf3, 0x47, 0x83, 0xe3, 0xd3, 0xd3, 0x5a, 0x4d, 0x2b, 0x6e, 0x1e, 0x83, 0xe7, 0x12, 0xf0, 0x48, 0x89, 0x20, 0xc2, 0x18, 0x12, 0x0e, 0xc5, 0xf8, 0xb9, 0x13, 0x25, 0x5c, 0x3f, 0x8a, 0xeb, 0x00, 0x27, 0x48, 0xb5, 0x4f, 0x68, 0x2c, 0x66, 0x4d, 0x06, 0xd3, 0x4c, 0x11, 0xda, 0xed, 0x66, 0x39, 0x8f, 0xb3, 0x4f, 0x8f, 0x4b, 0x17, 0x2e, 0x15, 0x91, 0xdd, 0xe2, 0x7b, 0xe5, 0xc6, 0x91, 0x7d, 0x5a, 0x0b, 0xb4, 0xfd, 0xb8, 0x2c, 0xa4, 0x29, 0x24, 0xe3, 0xb4, 0x49, 0xdf, 0x0e, 0x58, 0x26, 0xa1, 0x68, 0xf2, 0xc8, 0xb0, 0x56, 0x0d, 0x4d, 0x33, 0x24, 0xbe, 0x30, 0x12, 0xbc, 0x33, 0x4d, 0x97, 0x23, 0x07, 0xe9, 0x56, 0xd6, 0xe2, 0x6d, 0x37, 0x45, 0x25, 0x7d, 0xe4, 0xf7, 0xbc, 0x01, 0xee, 0x05, 0x78, 0x92, 0xfe, 0xe5, 0x02, 0xb4, 0xdc, 0x00, 0xaa, 0xc3, 0xb1, 0x2d, 0xee, 0x9e, 0xbe, 0x04, 0xa4, 0x8b, 0x74, 0xfe, 0xd4, 0x09, 0x37, 0x86, 0x79, 0xc6, 0x4d, 0xaa, 0xc1, 0xbb, 0xfc, 0xbe, 0x94, 0x16, 0xc0, 0x9b, 0x71, 0x98, 0x98, 0x7b, 0xa6, 0xcb, 0x2c, 0x7d, 0xa0, 0x72, 0x11, 0x50, 0x25, 0x0e, 0xb1, 0x29, 0x4a, 0x4b, 0xc3, 0x8f, 0x63, 0x56, 0x6c, 0x22, 0xad, 0x7e, 0xa1, 0x55, 0x7c, 0x80, 0x97, 0x41, 0x65, 0x9c, 0x63, 0xf6, 0x10, 0x8f, 0xd1, 0x75, 0x91, 0xd7, 0x89, 0xad, 0x07, 0xb2, 0x8f, 0xb2, 0xa4, 0x42, 0xcb, 0x75, 0x65, 0xdc, 0xac, 0x1e, 0x8b, 0xbc, 0x26, 0xbc, 0xb1, 0x05, 0x96, 0x24, 0xac, 0xe8, 0xdf, 0xcd, 0xe1, 0x44, 0xa7, 0x00, 0xc0, 0x05, 0xec, 0xc6, 0x38, 0x99, 0x6d, 0xf3, 0x25, 0xf4, 0x23, 0x52, 0x9f, 0x9a, 0xbe, 0x84, 0x12, 0xa5, 0x4c, 0x77, 0x22, 0xdb, 0xdb, 0x2b, 0x6d, 0xc6, 0x3d, 0xa8, 0x7b, 0x94, 0x0d, 0x0e, 0x4b, 0xdf, 0x4d, 0x5f, 0x76, 0x37, 0x9a, 0x8c, 0xf5, 0x9d, 0x7e, 0xc7, 0xb5, 0x1e, 0x68, 0x84, 0x82, 0x98, 0xce, 0x90, 0xfc, 0x37, 0x35, 0x77, 0x62, 0xe6, 0x67, 0xf6, 0xdb, 0xc6, 0x5a, 0xcc, 0xea, 0xb0, 0x8c, 0x8c, 0xe2, 0xa7, 0xf8, 0xef, 0x63, 0x56, 0xef, 0xd9, 0x29, 0x5e, 0x5f, 0x84, 0x34, 0xcb, 0x6b, 0xaa, 0x2f, 0x4e, 0x74, 0xfb, 0x06, 0x7b, 0xad, 0xeb, 0xbc, 0x0a, 0x26, 0x44, 0xfb, 0x35, 0xcd, 0x1a, 0x6b, 0x74, 0x0b, 0xf2, 0xb2, 0xa6, 0x4d, 0x63, 0x2e, 0x51, 0xa3, 0x18, 0xd7, 0x16, 0x4b, 0xf9, 0xb0, 0x3d, 0x09, 0x66, 0x01, 0x9a, 0xd6, 0xce, 0x7c, 0xb0, 0xdc, 0x14, 0x5e, 0x2a, 0x86, 0x3d, 0xdc, 0xde, 0x74, 0x56, 0xab, 0xca, 0x10, 0x47, 0xb0, 0x16, 0x82, 0xad, 0x83, 0xb2, 0xce, 0x4a, 0x1b, 0x5f, 0x1e, 0x6c, 0x2d, 0xa2, 0xc0, 0xef, 0xed, 0xa0, 0xe0, 0x41, 0xf0, 0xa8, 0x7a, 0x7a, 0x1c, 0x72, 0x8e, 0xf5, 0x58, 0xb1, 0x53, 0x31, 0x12, 0xb7, 0xa1, 0x6a, 0x27, 0xdc, 0xf0, 0x34, 0x73, 0xc9, 0xdd, 0x8b, 0x9d, 0x49, 0x7b, 0x31, 0x61, 0x4b, 0xd1, 0x91, 0x60, 0xd6, 0x27, 0xe8, 0x48, 0x6d, 0x7e, 0xa7, 0xef, 0x7e, 0x87, 0x4b, 0x71, 0x36, 0x3c, 0x78, 0xb8, 0xc7, 0x66, 0xef, 0x73, 0xf3, 0x6d, 0x9c, 0xa7, 0x56, 0x9c, 0xcb, 0xcc, 0x28, 0x75, 0x19, 0xf3, 0xb6, 0x29, 0xad, 0xc1, 0xbf, 0x89, 0x04, 0x81, 0x60, 0x8d, 0x3c, 0x82, 0xaf, 0x95, 0x2e, 0x45, 0x9c, 0xcf, 0x2d, 0x1c, 0x8d, 0x31, 0x6a, 0x65, 0xb5, 0x18, 0x2a, 0x66, 0xe0, 0x52, 0xcf, 0x0f, 0x4a, 0xdd, 0x13, 0x83, 0xad, 0xb2, 0xdc, 0x82, 0x44, 0xe4, 0x68, 0xfe, 0x75, 0x36, 0x8d, 0x08, 0xb1, 0xb3, 0x51, 0xae, 0x1d, 0x58, 0xda, 0xba, 0xbd, 0x08, 0x96, 0x7f, 0x74, 0x82, 0x6f, 0xf8, 0x83, 0xfd, 0x59, 0xfa, 0x23, 0xa5, 0x6e, 0xaf, 0xd1, 0x7b, 0xba, 0x0c, 0x4d, 0xba, 0x12, 0xca, 0x93, 0xc6, 0x11, 0x84, 0x1e, 0xd0, 0x97, 0x36, 0x5a, 0xa8, 0xb4, 0xab, 0x9a, 0x19, 0x75, 0xa6, 0xb3, 0x7c, 0x38, 0x84, 0x85, 0x77, 0x1c, 0xa5, 0x14, 0xbe, 0xec, 0x79, 0xaa, 0xdd, 0x79, 0x80, 0x65, 0x35, 0x25, 0x63, 0xba, 0xcb, 0x59, 0x6f, 0xd2, 0x7a, 0x01, 0x05, 0xb2, 0x86, 0x10, 0xe4, 0xfb, 0x8a, 0xb4, 0x1e, 0x90, 0x33, 0x92, 0x7f, 0x2f, 0x84, 0x81, 0x0b, 0xab, 0x05, 0x15, 0xa8, 0x58, 0x12, 0x7f, 0xaa, 0x13, 0xe4, 0x4c, 0xc6, 0xa8, 0x2d, 0x19, 0xb7, 0xd6, 0xe8, 0xaa, 0xab, 0x7d, 0x0e, 0xd3, 0xd2, 0x8f, 0xde, 0xd0, 0x2e, 0xd4, 0x17, 0xd4, 0xf9, 0x07, 0xfe, 0xb1, 0xdd, 0xc5, 0xff, 0xee, 0xfc, 0xb3, 0x43, 0x01, 0x9e, 0x83, 0xcd, 0xcd, 0xfb, 0xfb, 0xfb, 0xbe, 0xc2, 0x15, 0xc2, 0x91, 0x7d, 0xe6, 0xd7, 0x15, 0x22, 0xca, 0x5b, 0xcb, 0x07, 0xae, 0xa3, 0x4e, 0x3a, 0x9f, 0xfe, 0x75, 0xbb, 0xb7, 0xbd, 0xb5, 0xb5, 0xf5, 0x53, 0x7f, 0x81, 0x5b, 0x3c, 0xa1, 0x61, 0xe1, 0xbf, 0xee, 0xb0, 0x9b, 0x3c, 0x93, 0xcd, 0x20, 0xa0, 0xac, 0x6c, 0xa4, 0x41, 0x88, 0xc9, 0xb8, 0x29, 0x08, 0x13, 0xf2, 0x81, 0xc3, 0x64, 0x38, 0x4e, 0x1d, 0xb7, 0x57, 0xe9, 0x73, 0x7f, 0x3e, 0x0c, 0x50, 0xec, 0xef, 0xee, 0xec, 0x44, 0xac, 0x72, 0x70, 0xf1, 0x1b, 0xa7, 0x4a, 0x20, 0xee, 0x81, 0x34, 0x30, 0x67, 0x59, 0x86, 0xe0, 0x8e, 0x31, 0x87, 0x82, 0x80, 0x36, 0x5a, 0x12, 0x46, 0x39, 0x33, 0x01, 0x01, 0x1e, 0x81, 0xfb, 0xe4, 0xe3, 0x47, 0x3b, 0x30, 0x50, 0x79, 0x81, 0xbc, 0x95, 0x7b, 0x8d, 0x1a, 0x14, 0xc9, 0xb8, 0x0c, 0x69, 0x6d, 0xa6, 0x90, 0x8d, 0x84, 0x1c, 0x81, 0xf0, 0x66, 0xb9, 0xb4, 0xd1, 0xa6, 0xbc, 0x80, 0xc9, 0xb2, 0x90, 0x1e, 0x4a, 0x94, 0x46, 0x71, 0x1f, 0x3f, 0xd6, 0x84, 0x3d, 0xec, 0xf8, 0x21, 0xfc, 0xc7, 0x73, 0x83, 0x9b, 0xf2, 0x5c, 0xe9, 0x01, 0x3d, 0x49, 0xaa, 0xd1, 0x8d, 0x87, 0x29, 0x4f, 0xec, 0x1b, 0x55, 0xf7, 0x1b, 0x58, 0x8d, 0x81, 0x6c, 0x6f, 0xeb, 0x2f, 0x69, 0xab, 0x7e, 0x61, 0x50, 0xec, 0x26, 0x42, 0x75, 0x0f, 0xdc, 0x6e, 0x9e, 0x79, 0x62, 0x1b, 0x76, 0xa8, 0xe9, 0x71, 0x4a, 0x19, 0xa9, 0x69, 0xa9, 0x55, 0xc9, 0xa3, 0x9b, 0x64, 0x2e, 0xfc, 0x72, 0x5d, 0x13, 0x32, 0x3b, 0x42, 0x84, 0x1d, 0x5f, 0xa4, 0x75, 0x26, 0xf2, 0x1b, 0x58, 0xcc, 0x86, 0x54, 0xf5, 0x1a, 0x29, 0x27, 0xad, 0x96, 0xa6, 0x4b, 0xb4, 0x1a, 0x87, 0xb1, 0x88, 0x13, 0x2d, 0x37, 0x6f, 0xcb, 0x9b, 0x46, 0x9e, 0x98, 0x14, 0x24, 0xc5, 0xd0, 0xff, 0xd2, 0x13, 0xdd, 0x47, 0x84, 0x2a, 0xa5, 0xaf, 0xc0, 0x8d, 0x7d, 0x73, 0x7a, 0x7c, 0x4d, 0x25, 0xb6, 0x5d, 0x2a, 0xc6, 0xe9, 0x52, 0x5d, 0xad, 0xdf, 0x06, 0xeb, 0x92, 0xfc, 0x23, 0x44, 0xa8, 0x12, 0xab, 0x8a, 0x6d, 0x02, 0x9f, 0xc5, 0x38, 0xd7, 0x2a, 0x39, 0xa7, 0x81, 0x59, 0x20, 0x33, 0xb9, 0xa6, 0x25, 0x9a, 0xb4, 0xc7, 0xbd, 0xfd, 0xfe, 0x16, 0xaf, 0xd1, 0x76, 0xd8, 0xd6, 0x3a, 0x30, 0x72, 0x23, 0x69, 0xfc, 0x32, 0x0e, 0x67, 0x24, 0x98, 0xe9, 0x74, 0x23, 0xc6, 0x56, 0x67, 0xa0, 0x06, 0xfd, 0xad, 0x93, 0x8b, 0xb9, 0x52, 0x33, 0x75, 0xa1, 0x55, 0x91, 0x2c, 0x1b, 0xa0, 0xd8, 0x18, 0x79, 0xcb, 0x4d, 0x0d, 0xa7, 0xa0, 0xb8, 0x84, 0x8a, 0xf1, 0x88, 0x26, 0x22, 0xf1, 0x60, 0x55, 0x49, 0xd6, 0xb5, 0x9d, 0xad, 0x72, 0x94, 0x02, 0x22, 0xb1, 0xa4, 0xba, 0xa9, 0xd6, 0x08, 0x36, 0xa4, 0x9f, 0x78, 0x0d, 0xc3, 0x7a, 0x5f, 0x0b, 0xae, 0x2d, 0xeb, 0xc9, 0xa1, 0xc2, 0x32, 0x3c, 0xca, 0x0d, 0xcd, 0xa1, 0x65, 0xbb, 0x55, 0x15, 0xce, 0x3e, 0xba, 0x0b, 0xf9, 0xd8, 0xab, 0x66, 0xcb, 0x77, 0xb8, 0xa2, 0x3d, 0x1f, 0x0b, 0x73, 0x44, 0xc9, 0x56, 0x8f, 0xa6, 0x33, 0x61, 0x2c, 0x2b, 0x24, 0x4a, 0x20, 0x63, 0x8f, 0xfc, 0x53, 0x9d, 0x2f, 0x30, 0x8a, 0xf4, 0xfa, 0xa8, 0x53, 0xbb, 0x91, 0xa1, 0xde, 0x58, 0x25, 0x73, 0xb7, 0xba, 0x25, 0x23, 0x3c, 0x0d, 0xf9, 0x7e, 0xf2, 0x50, 0xb1, 0xdc, 0x9f, 0x50, 0x7f, 0xeb, 0x6c, 0x77, 0x27, 0x2a, 0x1f, 0x41, 0x89, 0x98, 0xbb, 0x9b, 0xd0, 0x6c, 0x67, 0x1e, 0x8c, 0x9c, 0xd5, 0xfa, 0x00, 0x32, 0xdf, 0xfa, 0x80, 0xaf, 0x1c, 0xd1, 0x2b, 0xd2, 0x39, 0x4c, 0xb3, 0x01, 0xdd, 0x1a, 0x79, 0x75, 0x7b, 0x36, 0xa8, 0x05, 0xb3, 0xb1, 0x99, 0x8b, 0x0d, 0x67, 0x71, 0x76, 0x6b, 0xd2, 0xb6, 0x79, 0xa4, 0x2e, 0x36, 0x9f, 0xe5, 0x3a, 0x55, 0xfb, 0x43, 0x49, 0x0f, 0x24, 0xc9, 0xe8, 0xf5, 0x68, 0x43, 0xbd, 0x74, 0x1e, 0x17, 0x58, 0xc0, 0x48, 0x7b, 0x26, 0xa9, 0xd5, 0xee, 0x99, 0x98, 0x96, 0x66, 0x2c, 0xcd, 0xdf, 0x51, 0xbe, 0x3c, 0x3f, 0xe7, 0x8b, 0x30, 0x8e, 0xe0, 0x33, 0xaa, 0x90, 0xe6, 0xa7, 0xb7, 0xf4, 0x9b, 0xfb, 0xed, 0x22, 0xf7, 0x06, 0x66, 0x19, 0xb8, 0x36, 0xfc, 0xf7, 0x40, 0x23, 0x86, 0x6d, 0xfc, 0xdb, 0x48, 0x0f, 0xd3, 0x52, 0xdd, 0xc4, 0x18, 0xdd, 0x26, 0xb9, 0xac, 0xde, 0xd9, 0xb8, 0x66, 0x28, 0x7e, 0xdf, 0x8f, 0x2e, 0xac, 0x39, 0x99, 0x75, 0x09, 0x70, 0xb7, 0x2a, 0x46, 0x62, 0x4c, 0xd2, 0xdf, 0x25, 0x31, 0x34, 0x9e, 0x85, 0x76, 0x80, 0x7a, 0xc6, 0xa5, 0x84, 0xf9, 0x5d, 0x86, 0x66, 0xa7, 0xe0, 0xe0, 0xc2, 0xe7, 0x60, 0x63, 0xb1, 0x69, 0x29, 0x27, 0x0a, 0xc4, 0x5e, 0xde, 0x37, 0x2f, 0x22, 0xdc, 0xad, 0x8e, 0xd3, 0x06, 0x4c, 0x9b, 0x5a, 0xfb, 0x78, 0x29, 0xa9, 0x02, 0x33, 0x90, 0x8b, 0x9c, 0xd9, 0x62, 0xbb, 0x4d, 0x00, 0x4b, 0xcb, 0xb3, 0xae, 0x87, 0x1e, 0x85, 0x81, 0x79, 0xf6, 0x38, 0x61, 0xc6, 0xe1, 0x5c, 0xba, 0x83, 0x9b, 0x16, 0xc3, 0x31, 0xbf, 0xa7, 0xb4, 0xe9, 0x7e, 0xf9, 0x89, 0x46, 0xc6, 0xdc, 0x69, 0x48, 0x0f, 0x03, 0xa8, 0xb0, 0xcb, 0x85, 0x82, 0xde, 0x92, 0x2e, 0x32, 0xbd, 0x91, 0x02, 0x66, 0x95, 0x72, 0x98, 0xb7, 0x74, 0x6d, 0xcc, 0x1b, 0x6c, 0x09, 0xe5, 0xf8, 0x3f, 0x04, 0x11, 0x0c, 0xd4, 0x4d, 0x4f, 0x5f, 0xc6, 0xdb, 0x48, 0x49, 0x8e, 0xb0, 0xc3, 0x04, 0x43, 0x8d, 0xd9, 0x42, 0x98, 0x8b, 0x69, 0x53, 0x9f, 0x51, 0x9f, 0x48, 0x32, 0xb6, 0xea, 0x73, 0x83, 0xec, 0x06, 0xe7, 0xe3, 0x23, 0x33, 0x8e, 0x19, 0xb8, 0xb7, 0xd4, 0x96, 0xca, 0xa6, 0x7d, 0xfa, 0x54, 0xe4, 0x48, 0x89, 0x89, 0xa4, 0xc0, 0xd1, 0x2c, 0x68, 0x76, 0xa9, 0x1b, 0x1f, 0x68, 0x59, 0xc5, 0x2b, 0x95, 0x0e, 0x1d, 0x8f, 0x2e, 0xa0, 0x30, 0xdc, 0x85, 0xbb, 0x94, 0xf7, 0x9e, 0xa1, 0xd2, 0x86, 0x45, 0x9a, 0x4c, 0x50, 0x03, 0xa1, 0x15, 0x49, 0x86, 0xaa, 0xe7, 0x35, 0x4a, 0x10, 0x55, 0x1b, 0x73, 0xdf, 0xe1, 0x1c, 0xb1, 0x3c, 0x39, 0x25, 0xcf, 0x11, 0xf3, 0x44, 0xd3, 0xe9, 0x8b, 0x21, 0xec, 0xb1, 0x12, 0x93, 0x16, 0x11, 0x6b, 0xc5, 0x54, 0x30, 0xfb, 0x93, 0xba, 0xbc, 0x8b, 0xc7, 0x13, 0xa9, 0x2b, 0xc3, 0x5b, 0x6c, 0x3a, 0x45, 0xd2, 0x17, 0x99, 0xad, 0x8a, 0x76, 0xe3, 0x34, 0x1b, 0x0b, 0xe3, 0x42, 0xe3, 0x2e, 0x7d, 0x9b, 0x14, 0x20, 0xff, 0xf2, 0x32, 0xfa, 0x6e, 0x5f, 0x93, 0x3c, 0xa5, 0xdf, 0xbd, 0xa8, 0x22, 0xa6, 0xa4, 0x96, 0x8a, 0x11, 0x78, 0xea, 0x5e, 0xf8, 0x82, 0x4b, 0x43, 0x98, 0x7b, 0xe9, 0xeb, 0xa2, 0x90, 0xb0, 0x91, 0x9e, 0x35, 0xaf, 0x1c, 0xfc, 0x04, 0xc8, 0x0f, 0xfe, 0x19, 0xee, 0x6d, 0x66, 0x5b, 0x54, 0x83, 0x76, 0x85, 0xc4, 0x82, 0xbe, 0x3c, 0x38, 0xcb, 0x61, 0x45, 0x4a, 0x0e, 0x48, 0x27, 0x33, 0xf1, 0xe8, 0x3a, 0x45, 0x77, 0x8f, 0xa4, 0xef, 0xf8, 0x2a, 0x20, 0x17, 0x42, 0x88, 0x5a, 0x63, 0xd1, 0xc7, 0x1b, 0xb9, 0x14, 0xa8, 0x47, 0x96, 0x37, 0xa8, 0x89, 0xa1, 0x86, 0x40, 0x46, 0x7e, 0x8b, 0x7a, 0xcf, 0xf2, 0xf1, 0xfc, 0xfa, 0xec, 0xbd, 0x98, 0xce, 0x96, 0xcd, 0x89, 0x56, 0x63, 0xcd, 0x62, 0x61, 0x3b, 0x4c, 0x55, 0x3e, 0xe2, 0x80, 0x6e, 0x86, 0x16, 0x2f, 0x32, 0xde, 0x05, 0x6e, 0x5b, 0x57, 0x32, 0x7d, 0x0a, 0x29, 0x8b, 0x13, 0xa3, 0x4b, 0x37, 0x35, 0xe0, 0xc9, 0x46, 0x22, 0x2c, 0xe9, 0xec, 0xc9, 0x55, 0x02, 0x12, 0x05, 0x18, 0xcd, 0x2a, 0xf8, 0x76, 0x94, 0x73, 0xca, 0x0f, 0x9d, 0x2f, 0xf3, 0x4a, 0x90, 0xc5, 0x70, 0x37, 0x8e, 0xe8, 0x4d, 0x7e, 0x9f, 0xf5, 0xce, 0xb0, 0xba, 0x39, 0x3a, 0xcb, 0xa7, 0xb0, 0x55, 0xe7, 0xa4, 0xb0, 0x34, 0x4f, 0xed, 0xc3, 0xe5, 0x79, 0xb4, 0x8e, 0x72, 0x37, 0xba, 0x34, 0x88, 0x76, 0xf8, 0xe4, 0x86, 0xd8, 0x17, 0x25, 0xeb, 0x24, 0x32, 0x9b, 0x6e, 0x74, 0xf2, 0xc3, 0xd1, 0xfb, 0xcb, 0xb3, 0x93, 0x1f, 0xd9, 0xc4, 0xf0, 0x96, 0x83, 0x3f, 0xfe, 0xca, 0xb1, 0xb9, 0x28, 0x42, 0x83, 0x19, 0x89, 0x30, 0x8f, 0x20, 0x9c, 0x0d, 0xd3, 0x27, 0xb3, 0x46, 0x25, 0xc1, 0xc1, 0xe0, 0xf2, 0xb4, 0xa7, 0x70, 0x74, 0xdc, 0x0b, 0x35, 0xcd, 0xd0, 0x40, 0x22, 0x79, 0x24, 0x6d, 0x54, 0xbe, 0xf5, 0x83, 0x51, 0x7a, 0x23, 0xba, 0xd1, 0xb9, 0x26, 0x3a, 0x76, 0xe9, 0xc4, 0xf1, 0x0a, 0xbe, 0x49, 0xa7, 0x14, 0x50, 0x6a, 0xa4, 0xa7, 0x21, 0x71, 0xd0, 0x14, 0x46, 0x5e, 0xb1, 0x10, 0xb5, 0xb0, 0xb3, 0x58, 0x7c, 0x65, 0x32, 0x63, 0xf7, 0x65, 0xab, 0x84, 0x24, 0x66, 0x40, 0xc7, 0x88, 0x55, 0x28, 0x5e, 0xa8, 0x4c, 0xaa, 0x52, 0x86, 0x8f, 0x6e, 0xef, 0x3c, 0x43, 0x23, 0x2c, 0x17, 0x44, 0x9b, 0x30, 0x6c, 0xff, 0x20, 0xea, 0xf4, 0x96, 0xd1, 0x41, 0xe7, 0x13, 0xaa, 0x08, 0xae, 0xa7, 0x37, 0xd0, 0x8a, 0x4b, 0xe2, 0x65, 0xea, 0x0a, 0x96, 0x06, 0x12, 0xe4, 0xaf, 0x56, 0x6f, 0x1b, 0x7b, 0xcc, 0xe1, 0xaa, 0x8b, 0xf4, 0xa5, 0xc2, 0xb7, 0x69, 0x00, 0x2c, 0x26, 0x23, 0xbe, 0x94, 0x70, 0xdc, 0x14, 0x34, 0xd4, 0x35, 0x60, 0x03, 0xec, 0xc6, 0x47, 0x16, 0xdf, 0xa1, 0xd8, 0xa4, 0x58, 0x50, 0xf9, 0x18, 0x74, 0xd5, 0x23, 0x8e, 0x41, 0x94, 0x98, 0xdf, 0xee, 0x0f, 0x47, 0x7b, 0xb5, 0xf6, 0xe5, 0x9a, 0xc4, 0x57, 0x3b, 0xa2, 0x54, 0x21, 0xaf, 0xee, 0xb0, 0x02, 0x8b, 0x8a, 0x31, 0xce, 0x1e, 0x6e, 0xfc, 0xda, 0xe1, 0x9a, 0xb6, 0xab, 0xd1, 0x27, 0x9b, 0x0c, 0x87, 0xde, 0x93, 0x10, 0x9f, 0xaa, 0xd5, 0x72, 0xfa, 0x92, 0xb9, 0x0e, 0x52, 0x73, 0x9c, 0x90, 0xf0, 0xe6, 0xae, 0x94, 0x8c, 0x20, 0xc9, 0x21, 0xc4, 0xa6, 0xca, 0x51, 0x9b, 0xb9, 0xcc, 0xf5, 0xdf, 0x74, 0xae, 0x4e, 0xe7, 0x66, 0x0c, 0x4a, 0xd8, 0x0e, 0x82, 0x43, 0x6e, 0xfe, 0xdb, 0xa6, 0x0f, 0x71, 0xe2, 0x2a, 0x1a, 0xc7, 0xa4, 0x09, 0x07, 0x0b, 0x14, 0xbb, 0x8d, 0xca, 0x3f, 0x8a, 0x6b, 0xf9, 0xee, 0xcb, 0xca, 0xe0, 0xa5, 0xe2, 0xc8, 0x6b, 0x05, 0x36, 0x87, 0xca, 0x6f, 0xa9, 0x63, 0x6c, 0x5e, 0xb4, 0xde, 0x54, 0x75, 0xed, 0x5a, 0xca, 0x63, 0x69, 0xab, 0xf9, 0x64, 0xa8, 0x4e, 0xd0, 0x83, 0xa2, 0x0e, 0x88, 0x6d, 0xd7, 0xf5, 0xb1, 0x72, 0xb8, 0x71, 0x9d, 0xb6, 0xac, 0x31, 0xd1, 0xa7, 0x7a, 0xac, 0x54, 0x8b, 0x90, 0x83, 0x18, 0xfd, 0x4e, 0x31, 0x6f, 0xbd, 0x37, 0xa2, 0xf8, 0xb2, 0xa9, 0x79, 0x41, 0x7b, 0xd5, 0x24, 0x6d, 0x93, 0xdd, 0x27, 0xaf, 0xee, 0xd4, 0x06, 0x43, 0xcc, 0xfc, 0xc2, 0xa9, 0xa5, 0xc1, 0xb0, 0xc8, 0x77, 0x72, 0xab, 0x4a, 0xdf, 0xce, 0x7a, 0x23, 0x81, 0x33, 0x37, 0x1e, 0x25, 0x85, 0x88, 0xec, 0x38, 0x14, 0x1b, 0x45, 0xc3, 0xf3, 0x9a, 0x34, 0x90, 0x92, 0x77, 0xbf, 0xec, 0x87, 0x54, 0x58, 0x69, 0x72, 0xc4, 0x21, 0x3b, 0x59, 0x11, 0x7b, 0xd8, 0x29, 0x9a, 0xa6, 0x43, 0x48, 0xde, 0x4e, 0xd7, 0x8c, 0x1d, 0x08, 0xad, 0x92, 0xf4, 0xd8, 0x2d, 0xc6, 0x14, 0xac, 0x78, 0x94, 0xc4, 0x1a, 0x6e, 0x0a, 0x9e, 0xdd, 0x6a, 0x76, 0x22, 0x8e, 0x9c, 0x3c, 0x24, 0xa3, 0x65, 0x55, 0x2f, 0xb0, 0x73, 0xe6, 0x24, 0xb0, 0x51, 0x34, 0xa5, 0x75, 0xba, 0x08, 0x6a, 0x8c, 0x5e, 0x2a, 0xe6, 0xcf, 0x41, 0x67, 0x43, 0x83, 0xb8, 0xb1, 0xe8, 0xf0, 0xfc, 0x8b, 0x50, 0x7c, 0x56, 0xa7, 0x5c, 0x24, 0xec, 0x51, 0xb5, 0xa9, 0x0a, 0xc1, 0xcf, 0x03, 0x8d, 0x16, 0xc1, 0xaf, 0xbf, 0x65, 0xdf, 0x9b, 0xf3, 0x71, 0xd3, 0x0b, 0x54, 0xdc, 0x72, 0xa5, 0x77, 0x95, 0xbd, 0x2f, 0x53, 0x53, 0x74, 0x60, 0x50, 0x77, 0x40, 0xdd, 0x64, 0xc8, 0xeb, 0xab, 0xba, 0xf9, 0x9e, 0x3b, 0xf4, 0xf4, 0xf2, 0xee, 0x85, 0xe3, 0xcd, 0x46, 0x89, 0x47, 0x3f, 0x32, 0x1c, 0xdf, 0x5b, 0xc5, 0x6d, 0x31, 0xdc, 0x83, 0x3f, 0xbe, 0xc5, 0x3f, 0x26, 0xec, 0x17, 0x10, 0xc8, 0x3e, 0xf6, 0xc3, 0xfa, 0xa4, 0x8d, 0x90, 0x0b, 0x91, 0x8b, 0xdb, 0x40, 0x99, 0x5a, 0x58, 0x06, 0x89, 0xf8, 0x7e, 0x16, 0x6a, 0x89, 0xac, 0x1a, 0x1d, 0xa6, 0xcb, 0xa5, 0xc9, 0x7e, 0x90, 0x52, 0xfe, 0x47, 0x78, 0x74, 0x8c, 0xf7, 0xd6, 0x25, 0x9f, 0xd3, 0x80, 0x1b, 0xb6, 0xe6, 0xa1, 0xea, 0x54, 0xd8, 0xaa, 0x9f, 0x31, 0x50, 0x61, 0xea, 0xe4, 0x81, 0x03, 0x68, 0x6a, 0x85, 0x12, 0xa0, 0x4d, 0xe8, 0x60, 0xf7, 0x34, 0x5e, 0x34, 0xe6, 0x67, 0x69, 0xcb, 0x14, 0xda, 0x97, 0x4c, 0xd2, 0x5d, 0xfe, 0xf0, 0x21, 0x6d, 0xdb, 0xdf, 0x7b, 0x43, 0xb5, 0xd9, 0x7c, 0xe3, 0xb5, 0x4b, 0x22, 0x2a, 0x6c, 0x7a, 0xd4, 0x16, 0x9d, 0x82, 0x1f, 0x35, 0xdc, 0x81, 0xd5, 0x92, 0x96, 0x79, 0xce, 0xb9, 0x29, 0x25, 0xf6, 0xf4, 0x20, 0xb6, 0x70, 0xcb, 0x3e, 0x19, 0x4c, 0x69, 0x4a, 0xe6, 0x18, 0xfa, 0x32, 0x92, 0x91, 0x41, 0xc2, 0x50, 0xb3, 0xc2, 0xcf, 0xf5, 0xc2, 0xc3, 0x8d, 0x51, 0x7b, 0x43, 0x29, 0xcb, 0xe9, 0x5b, 0x7f, 0xf0, 0xa2, 0x9d, 0xe5, 0x63, 0x36, 0xba, 0x79, 0x73, 0x3e, 0x08, 0xbf, 0xde, 0x5c, 0x1c, 0x3d, 0x0d, 0x5a, 0x08, 0xd2, 0x02, 0x9b, 0x9c, 0x82, 0x91, 0x89, 0xee, 0xb3, 0x23, 0xe7, 0xb7, 0xe1, 0xe1, 0xea, 0xaf, 0x18, 0x57, 0x20, 0x6a, 0x16, 0xcc, 0xc5, 0x45, 0xf1, 0xa4, 0x3a, 0x94, 0x5e, 0x8c, 0x77, 0x81, 0xbd, 0x1e, 0xe1, 0xe1, 0xaa, 0x1b, 0x8c, 0x16, 0x01, 0x11, 0xc8, 0x88, 0x85, 0x93, 0x80, 0xd6, 0xa4, 0x6b, 0x6a, 0xe7, 0xa3, 0x7f, 0xfc, 0x92, 0x63, 0x3e, 0x03, 0x8b, 0x36, 0x09, 0x04, 0x17, 0xbd, 0x1d, 0x32, 0x71, 0x1a, 0x1b, 0xfb, 0x05, 0x52, 0x9d, 0xe1, 0xeb, 0x4c, 0xa5, 0x5d, 0x21, 0x56, 0xfa, 0x51, 0xd1, 0xb6, 0x24, 0xd8, 0x93, 0x9d, 0x6f, 0xbe, 0xf6, 0xa5, 0xe7, 0x9b, 0xf3, 0x96, 0xcf, 0xe1, 0x6f, 0x7a, 0x5a, 0xab, 0x28, 0x1a, 0x81, 0xa3, 0xd0, 0xfb, 0x7b, 0x21, 0x40, 0xcb, 0xe1, 0x09, 0x28, 0x0a, 0xf3, 0x13, 0x5c, 0x02, 0xe1, 0xe7, 0xf9, 0x8f, 0x95, 0x0f, 0x4a, 0xc5, 0x40, 0xf8, 0x53, 0x5c, 0x86, 0xc1, 0x19, 0x7e, 0xd1, 0x15, 0x47, 0x71, 0x2f, 0x45, 0x11, 0xde, 0x58, 0x75, 0x46, 0xe1, 0xe1, 0x90, 0xbf, 0x85, 0x00, 0xaf, 0x90, 0x2d, 0xec, 0xf0, 0x1f, 0x9b, 0x3b, 0x26, 0x35, 0xcd, 0x14, 0x9c, 0xd2, 0x35, 0x05, 0x09, 0xee, 0x2b, 0x08, 0x59, 0xfa, 0x30, 0xa0, 0x7c, 0x82, 0x16, 0x6a, 0xa6, 0xc4, 0x03, 0xce, 0x38, 0x30, 0x93, 0xc3, 0x79, 0xaa, 0x26, 0x16, 0x9c, 0xc9, 0x80, 0xdd, 0x77, 0x4f, 0x11, 0x53, 0x1a, 0xc8, 0xa6, 0x5b, 0x85, 0xea, 0xf9, 0x1e, 0x94, 0x24, 0x14, 0xae, 0xcf, 0x26, 0x52, 0x7d, 0x21, 0x5a, 0x1f, 0x82, 0xb8, 0x76, 0x40, 0x7a, 0x58, 0xc5, 0xde, 0xe3, 0x02, 0x99, 0xf0, 0x70, 0xfb, 0x9f, 0xef, 0xef, 0x6d, 0x6c, 0x74, 0xd5, 0x57, 0x25, 0x09, 0x32, 0x43, 0x2a, 0xf7, 0x4a, 0x91, 0x73, 0x71, 0x33, 0x76, 0xd8, 0xe2, 0x1b, 0x62, 0x0c, 0xc6, 0x67, 0x14, 0x1e, 0x0e, 0xe5, 0x98, 0xbe, 0x87, 0x87, 0x88, 0x26, 0x38, 0x31, 0x74, 0x63, 0x08, 0xa3, 0xb0, 0x49, 0xf8, 0x01, 0x13, 0x73, 0x69, 0xe5, 0x0a, 0xe4, 0x48, 0xb1, 0x1e, 0x46, 0x74, 0x2c, 0x71, 0xb8, 0x38, 0x56, 0x49, 0xeb, 0x27, 0x82, 0x5e, 0xb2, 0xd8, 0xa3, 0x3f, 0xa8, 0xb4, 0xf2, 0x46, 0x1b, 0x44, 0x5f, 0x2e, 0x87, 0x33, 0x90, 0x41, 0x83, 0xe5, 0x64, 0x02, 0xa7, 0x7d, 0x96, 0x4a, 0xa7, 0x6f, 0xd6, 0xc1, 0x25, 0xb9, 0xa1, 0x4d, 0xe6, 0xd0, 0xba, 0xeb, 0x84, 0x26, 0xb9, 0x9e, 0xb6, 0x3c, 0x5c, 0xb4, 0xb6, 0xa8, 0xb3, 0xe0, 0x0f, 0xc1, 0x09, 0x4d, 0x7a, 0x6d, 0x0b, 0x7b, 0x48, 0x4a, 0xdf, 0x8c, 0x7b, 0x8f, 0x71, 0x5b, 0x10, 0xd8, 0xcf, 0x3e, 0x7a, 0xd3, 0x52, 0xbb, 0x9e, 0xb2, 0x6b, 0xf4, 0xce, 0x7b, 0xd4, 0x3b, 0x09, 0xe2, 0x07, 0x63, 0x19, 0xd1, 0x21, 0x6b, 0x98, 0xed, 0x3d, 0x96, 0x15, 0x6a, 0xc1, 0xd5, 0x45, 0x49, 0xab, 0x27, 0xbf, 0x7f, 0x8c, 0xdd, 0x15, 0x25, 0x09, 0x73, 0x96, 0x60, 0xac, 0x91, 0xf8, 0xa3, 0x8f, 0x79, 0x52, 0xb0, 0x7f, 0x92, 0xc7, 0x10, 0xdf, 0x87, 0x78, 0xf0, 0x29, 0xb7, 0x2e, 0x26, 0xcc, 0x26, 0xf6, 0x02, 0x31, 0x56, 0x10, 0xfb, 0xbc, 0x80, 0x76, 0x1e, 0x3c, 0x9e, 0x20, 0x29, 0xb5, 0xd9, 0x63, 0xe4, 0xc4, 0x79, 0x14, 0xcc, 0xa1, 0xac, 0x7d, 0xc9, 0x73, 0xdd, 0x60, 0x6d, 0xb7, 0xa7, 0x93, 0x54, 0x64, 0x13, 0x77, 0x78, 0x46, 0x1d, 0x2a, 0x5e, 0xd7, 0xf8, 0x39, 0x65, 0x5f, 0xa9, 0xd5, 0xc0, 0x7a, 0xb7, 0x8e, 0x2d, 0x1e, 0xca, 0x38, 0x10, 0x53, 0xd7, 0x39, 0x76, 0xbe, 0xd2, 0x4c, 0xae, 0x8e, 0xa6, 0x00, 0x34, 0x1a, 0xdf, 0xcb, 0x98, 0x32, 0x64, 0x00, 0xcf, 0x81, 0xd3, 0x22, 0x28, 0x49, 0x1d, 0x4f, 0x0d, 0x86, 0xec, 0x75, 0x82, 0x0a, 0xad, 0xd9, 0x00, 0xd3, 0xc1, 0xb2, 0x66, 0xf6, 0xe9, 0x27, 0x6c, 0xd4, 0x0f, 0xd3, 0xbb, 0xab, 0xb4, 0x5a, 0xfa, 0x4c, 0x77, 0xa8, 0xe8, 0xa3, 0x84, 0x7f, 0x41, 0x62, 0x1a, 0x0f, 0xc3, 0x82, 0x54, 0x90, 0x99, 0x87, 0x09, 0x9f, 0xd8, 0xca, 0xb5, 0x34, 0x3c, 0x02, 0x9d, 0x9f, 0xb3, 0xfc, 0xde, 0xcb, 0x10, 0x47, 0x0b, 0xc3, 0xcc, 0xae, 0x5e, 0x5d, 0x07, 0x6f, 0xff, 0xe9, 0x1f, 0xfa, 0xcb, 0x8f, 0xb8, 0x53, 0xff, 0xd4, 0x9d, 0xd2, 0xa4, 0xbb, 0xd8, 0x03, 0x61, 0x20, 0xdb, 0x3a, 0xfa, 0x13, 0xed, 0xca, 0xdf, 0x30, 0xab, 0x89, 0xb7, 0x06, 0xf1, 0x8f, 0x68, 0xc0, 0x3f, 0xf5, 0x8d, 0x1e, 0x2d, 0x83, 0xc4, 0x58, 0x55, 0x4e, 0xca, 0xfe, 0xf0, 0xd1, 0x73, 0x49, 0x21, 0x19, 0xfe, 0x98, 0x75, 0x09, 0xc8, 0x19, 0x4c, 0x3a, 0xc4, 0x80, 0xe1, 0x56, 0xbd, 0x7c, 0x8a, 0x3f, 0x16, 0x82, 0x66, 0x04, 0xb6, 0x0c, 0xcc, 0x1c, 0x0d, 0x3d, 0xfe, 0x79, 0xd8, 0xb0, 0xd0, 0xa4, 0x16, 0xf1, 0xa6, 0xd4, 0x00, 0xae, 0x60, 0x1c, 0x6c, 0x40, 0xaf, 0x86, 0xf8, 0x50, 0xb1, 0x65, 0x68, 0xaa, 0xf0, 0x74, 0xf3, 0xec, 0x09, 0x01, 0x46, 0xa0, 0x87, 0xf4, 0x65, 0x6e, 0x09, 0x67, 0x72, 0x34, 0xfe, 0xf4, 0x0f, 0x4e, 0x04, 0xfc, 0xa7, 0xaf, 0xfb, 0x5e, 0x5c, 0x9f, 0x1c, 0xd0, 0x94, 0xfe, 0xd4, 0x2b, 0x1f, 0xe7, 0xc3, 0x7c, 0x26, 0x17, 0x0f, 0x37, 0x1f, 0x36, 0x50, 0x7f, 0xc6, 0x54, 0x42, 0xb1, 0xba, 0x9e, 0x03, 0x8f, 0xd2, 0x0d, 0x76, 0xbe, 0x40, 0x3b, 0x2c, 0x1f, 0x71, 0xbd, 0x2c, 0x16, 0x2e, 0xc0, 0xcd, 0xfb, 0x53, 0xa4, 0x88, 0x27, 0xdc, 0xf5, 0x56, 0xfa, 0x1b, 0x8b, 0x47, 0x55, 0x4b, 0x40, 0x82, 0x21, 0xa0, 0xd5, 0x74, 0x6c, 0x78, 0x7a, 0x10, 0x58, 0x06, 0xf9, 0x05, 0x4c, 0xf3, 0x23, 0x95, 0x64, 0x8a, 0x99, 0x7b, 0xcc, 0x3f, 0xeb, 0x5d, 0xd3, 0xcf, 0x34, 0x8f, 0x46, 0xa0, 0x0c, 0x30, 0x33, 0x43, 0x8a, 0x4f, 0xba, 0x7e, 0xf9, 0x73, 0x14, 0x4a, 0xcd, 0xc3, 0xc4, 0x77, 0xe0, 0x33, 0xde, 0x3c, 0xf5, 0x56, 0x7f, 0x4c, 0x08, 0xee, 0x37, 0xbd, 0x4b, 0x56, 0x8f, 0x46, 0xfd, 0x83, 0x80, 0x31, 0xcf, 0x63, 0x49, 0x66, 0xe3, 0xec, 0x35, 0x73, 0x9f, 0x14, 0x74, 0x8d, 0x72, 0x9b, 0xe1, 0xb4, 0xfb, 0x4f, 0x0d, 0x87, 0x7b, 0xaa, 0x55, 0x1b, 0x92, 0xf9, 0x83, 0xfe, 0xb5, 0x74, 0x62, 0x34, 0x8c, 0x0a, 0x0b, 0x72, 0x30, 0xe5, 0x08, 0x47, 0x7e, 0x62, 0xad, 0xb9, 0x86, 0x28, 0x84, 0x6d, 0x71, 0xb8, 0xf2, 0xa2, 0x1b, 0xd9, 0xe8, 0xb6, 0x26, 0xf5, 0x45, 0x18, 0x08, 0x5f, 0x3d, 0x9c, 0x89, 0x92, 0x9b, 0xd0, 0xd4, 0x29, 0x35, 0x03, 0xcf, 0x39, 0xfd, 0x90, 0xe6, 0x89, 0x75, 0x2c, 0x73, 0xf4, 0xda, 0x06, 0xe2, 0xcc, 0x51, 0x80, 0xdb, 0x53, 0x70, 0xf4, 0x3f, 0x9c, 0x68, 0x3b, 0xbb, 0xb6, 0x7a, 0x4e, 0x94, 0x1d, 0x74, 0x11, 0x86, 0xd4, 0x5c, 0x3d, 0x1c, 0xe7, 0xdf, 0xbf, 0xe8, 0x6f, 0x6d, 0x78, 0x87, 0x5a, 0x2d, 0x3e, 0x02, 0x6d, 0x14, 0x8f, 0x1f, 0x31, 0x4b, 0x95, 0xce, 0x4c, 0xa3, 0x0a, 0xf4, 0x03, 0xda, 0x59, 0xc6, 0x46, 0x58, 0x2e, 0x70, 0x1c, 0x22, 0xf3, 0x59, 0xce, 0x06, 0xdb, 0x53, 0xcb, 0xa8, 0xe7, 0x83, 0xba, 0x10, 0x3d, 0xeb, 0xf5, 0x0e, 0x73, 0x7b, 0xde, 0xc4, 0x30, 0x01, 0xe5, 0x23, 0x45, 0xae, 0x0d, 0x31, 0x81, 0xdc, 0x4b, 0x8a, 0x74, 0xe4, 0xb6, 0x5b, 0xa5, 0x07, 0x88, 0xa4, 0x18, 0x79, 0x14, 0x43, 0xd9, 0x41, 0x88, 0xe5, 0xc6, 0xff, 0xc8, 0xff, 0xeb, 0x84, 0xac, 0x4c, 0xba, 0x23, 0x9d, 0x36, 0x4c, 0x14, 0x33, 0x6b, 0x6c, 0x06, 0xc2, 0xe9, 0x13, 0xeb, 0x24, 0x0c, 0xf7, 0x1d, 0x46, 0xc3, 0x9b, 0xa5, 0x71, 0x69, 0x26, 0xc8, 0x2b, 0xa0, 0x1b, 0x45, 0xeb, 0x25, 0xe4, 0xba, 0x1b, 0xaf, 0xf6, 0x2b, 0x0a, 0x44, 0x8d, 0x38, 0xd6, 0x34, 0xc9, 0xfb, 0x2d, 0x3b, 0xc3, 0x89, 0xc3, 0xcd, 0x9d, 0x69, 0xdf, 0x10, 0x5e, 0xb3, 0x1f, 0x7c, 0x6c, 0xba, 0x15, 0x78, 0x63, 0xd7, 0x25, 0x88, 0x47, 0xca, 0xf9, 0x06, 0xdf, 0x16, 0xa2, 0x05, 0x07, 0xa4, 0x8e, 0x18, 0xcc, 0x13, 0xb7, 0x76, 0xbd, 0xde, 0xbd, 0xb9, 0xe5, 0x9c, 0x0d, 0x0a, 0x08, 0x73, 0x34, 0xfc, 0x59, 0x64, 0xa1, 0x41, 0x38, 0xb9, 0x8f, 0x0a, 0xe9, 0x0c, 0xeb, 0x99, 0x3d, 0x46, 0x41, 0xf4, 0xfe, 0x15, 0x9f, 0xdf, 0xdf, 0x0a, 0xd0, 0x3f, 0xa5, 0x0f, 0x7f, 0x4c, 0x17, 0x0e, 0xcf, 0x3a, 0xbd, 0xc4, 0xc3, 0xa2, 0xba, 0x17, 0x29, 0x9b, 0xe0, 0x1c, 0x63, 0x4c, 0xb9, 0xd0, 0x1e, 0x58, 0x9c, 0xab, 0xf4, 0xe4, 0x66, 0x8e, 0x18, 0x5f, 0x81, 0x1d, 0x02, 0x2e, 0x10, 0x05, 0xd8, 0xb7, 0xa2, 0xa5, 0x89, 0x83, 0xe0, 0xf4, 0xf2, 0x6e, 0xcf, 0x0f, 0x44, 0x45, 0x01, 0x77, 0x99, 0xbb, 0xa4, 0x9d, 0x57, 0xad, 0x4b, 0xe2, 0x7e, 0x1d, 0xb2, 0x24, 0x5e, 0x80, 0xdb, 0x64, 0x47, 0x16, 0xa2, 0xeb, 0x70, 0x27, 0xfa, 0xc4, 0x92, 0xec, 0x22, 0x9e, 0x9c, 0x09, 0x7c, 0xeb, 0xa3, 0x41, 0x80, 0x07, 0xd9, 0xcc, 0x9f, 0xc6, 0x6f, 0x83, 0x62, 0x62, 0xb1, 0xe1, 0x11, 0x1d, 0x51, 0x89, 0x94, 0xa7, 0x12, 0xd6, 0xa8, 0xa3, 0x80, 0x82, 0xdd, 0xa0, 0xaf, 0xdd, 0xe0, 0x1c, 0xb4, 0xcf, 0x6d, 0x69, 0xe6, 0x00, 0x53, 0xb0, 0x3f, 0xe4, 0xeb, 0x82, 0xa2, 0x6f, 0x92, 0x4b, 0x4f, 0x76, 0x33, 0x9b, 0x27, 0xe6, 0xc0, 0x57, 0xe0, 0xe9, 0x59, 0xd0, 0x35, 0xfa, 0x58, 0x96, 0x33, 0x24, 0xf5, 0x74, 0xf2, 0x08, 0x53, 0x2a, 0x5b, 0xa1, 0x69, 0x5c, 0x01, 0xca, 0xcf, 0xe9, 0x71, 0x39, 0x06, 0xf3, 0x5a, 0x49, 0x3e, 0xcd, 0x45, 0x82, 0xe9, 0x37, 0x0c, 0x3d, 0xfe, 0x14, 0x31, 0xa2, 0x1c, 0xa6, 0xcf, 0xdb, 0x40, 0x9f, 0xf0, 0x09, 0xa3, 0x2c, 0xf4, 0xa3, 0x2d, 0x63, 0x09, 0x3e, 0x41, 0x08, 0xb5, 0x91, 0x70, 0x10, 0x1b, 0xdd, 0xae, 0x6f, 0x08, 0x16, 0x22, 0x7a, 0x1b, 0xa2, 0xbb, 0xff, 0x91, 0x34, 0x01, 0x8e, 0x47, 0x4b, 0xd6, 0xb9, 0x41, 0x61, 0xc2, 0x41, 0x89, 0x36, 0x34, 0xa6, 0xdc, 0x3b, 0x43, 0x61, 0x38, 0x0b, 0x40, 0xab, 0x47, 0x01, 0xa8, 0x0c, 0x6a, 0xa5, 0x45, 0x39, 0xd8, 0xf6, 0xa8, 0xd7, 0x73, 0xa9, 0x28, 0xed, 0x61, 0x25, 0x6c, 0x8f, 0x7e, 0x11, 0xb5, 0xba, 0x58, 0x6d, 0xba, 0x47, 0xb5, 0xd1, 0x55, 0xad, 0x4e, 0x55, 0x35, 0xc9, 0xb1, 0x21, 0x74, 0x4c, 0x62, 0xfc, 0x23, 0xec, 0x3a, 0x43, 0x99, 0x66, 0xf1, 0xea, 0xe1, 0x74, 0x3a, 0xd2, 0x8d, 0x8d, 0xac, 0xad, 0x29, 0x01, 0x87, 0xe5, 0x0d, 0x52, 0x02, 0xa1, 0x12, 0xd8, 0x39, 0x14, 0xa6, 0x86, 0x65, 0x5d, 0x5b, 0xf9, 0xea, 0x33, 0xae, 0x7f, 0xe9, 0x7a, 0xb7, 0xb0, 0xa8, 0x06, 0x17, 0x7a, 0x4a, 0x30, 0x06, 0x19, 0x83, 0xac, 0x41, 0x79, 0x94, 0xb3, 0x86, 0x36, 0x1e, 0xf5, 0xa9, 0x58, 0x94, 0x64, 0xbf, 0xd6, 0xe2, 0x46, 0x94, 0x2c, 0x28, 0xbf, 0x58, 0x2f, 0x2d, 0x48, 0x33, 0x16, 0xcb, 0x8d, 0x4d, 0xc4, 0x60, 0x23, 0x84, 0xe3, 0xd6, 0x54, 0xe3, 0x80, 0x82, 0x5d, 0x91, 0x45, 0xe1, 0xe8, 0x27, 0xef, 0x06, 0x02, 0xe1, 0x7d, 0x34, 0xbd, 0x42, 0x38, 0x70, 0x93, 0x57, 0x98, 0xe7, 0x31, 0x07, 0x79, 0x4e, 0xcc, 0x80, 0x21, 0x0d, 0x2d, 0xe3, 0xd2, 0xa7, 0x03, 0x3e, 0x3a, 0x1a, 0x4d, 0xc2, 0xc0, 0xd1, 0xaa, 0xd1, 0xb4, 0x46, 0xd0, 0x0c, 0x45, 0xa1, 0xd4, 0x27, 0x6e, 0x1a, 0x62, 0x0d, 0x05, 0xbf, 0xa8, 0x97, 0x58, 0xf6, 0x94, 0x3f, 0xb9, 0x62, 0x05, 0x8e, 0xf1, 0xbe, 0xfa, 0x8b, 0x2e, 0x8b, 0x08, 0x7f, 0x5a, 0xd2, 0xff, 0xa3, 0xe7, 0x6d, 0x9d, 0x66, 0xb0, 0xfb, 0x63, 0x61, 0x9b, 0x14, 0x7b, 0x0e, 0x38, 0x56, 0x8c, 0x89, 0x04, 0x53, 0xa7, 0x91, 0x0b, 0x37, 0xd7, 0xb1, 0x36, 0x0d, 0xf0, 0xce, 0x72, 0x89, 0x08, 0xdc, 0x93, 0xa7, 0x64, 0x39, 0x23, 0x53, 0xb1, 0x07, 0xc9, 0x8c, 0x87, 0xd0, 0x95, 0xf5, 0x0e, 0x33, 0x2d, 0xb3, 0x32, 0x4b, 0xa4, 0xcd, 0xd5, 0x69, 0x69, 0xe1, 0xc3, 0x6f, 0x34, 0x2b, 0x1e, 0xed, 0x39, 0x73, 0xfa, 0x57, 0xe5, 0x5a, 0x53, 0x92, 0x91, 0xa8, 0x32, 0x12, 0xe6, 0x59, 0xcc, 0x7e, 0xb5, 0x28, 0xab, 0x49, 0xab, 0xa7, 0xef, 0x6c, 0x9b, 0x28, 0xdb, 0x0e, 0xb2, 0x10, 0x46, 0x0c, 0xd7, 0xff, 0xbd, 0x45, 0xc5, 0x99, 0x44, 0xc5, 0x22, 0x4f, 0x91, 0xe4, 0xb2, 0xae, 0xd8, 0x96, 0xf7, 0x64, 0x5b, 0x5a, 0x3f, 0x64, 0xb8, 0xee, 0x36, 0x0a, 0x64, 0xa0, 0x93, 0xeb, 0x4a, 0x9d, 0x2a, 0x6c, 0x44, 0xa8, 0x67, 0x84, 0x5d, 0x23, 0xfd, 0xe7, 0x33, 0xe4, 0x17, 0xbb, 0xe1, 0x35, 0xd0, 0x8c, 0x3e, 0xf1, 0x1a, 0xda, 0xfd, 0x42, 0xfd, 0xc8, 0xc5, 0x8c, 0x5d, 0x3d, 0x9c, 0xe4, 0xc9, 0xb3, 0x2b, 0xc9, 0x6d, 0x89, 0x56, 0x03, 0x06, 0x47, 0x3f, 0x70, 0xc4, 0xce, 0xda, 0x27, 0x2c, 0x1e, 0x7a, 0x41, 0x13, 0xab, 0xb9, 0xc0, 0xb4, 0x6e, 0x39, 0x04, 0xb7, 0x0c, 0x85, 0xc2, 0xc7, 0x78, 0xb1, 0x10, 0x69, 0xf3, 0x34, 0xc9, 0x47, 0x0c, 0x0b, 0xc9, 0x4d, 0x80, 0xb1, 0x0d, 0x15, 0x01, 0x70, 0x56, 0x79, 0x7e, 0xcb, 0x4e, 0x55, 0x4e, 0xc1, 0xc6, 0x62, 0x48, 0x1f, 0x87, 0xda, 0x23, 0xf9, 0x99, 0xde, 0x9b, 0xcd, 0xc1, 0xe0, 0xdd, 0x66, 0x52, 0x8d, 0x54, 0xea, 0x6d, 0xda, 0xec, 0x3f, 0xb1, 0xbe, 0x9f, 0xd6, 0x62, 0x49, 0xf2, 0x52, 0x3f, 0x40, 0x24, 0x7e, 0xe3, 0xd7, 0x7e, 0x06, 0xed, 0xd3, 0x26, 0xd4, 0x6d, 0xd1, 0x4f, 0xb0, 0x4c, 0x44, 0xd3, 0xd6, 0x8f, 0xd4, 0x5d, 0x0a, 0x34, 0xe9, 0x75, 0x46, 0xa4, 0x05, 0x3b, 0xf5, 0xe9, 0x9b, 0x6d, 0x17, 0x17, 0x5c, 0x0a, 0xba, 0x56, 0x30, 0xe5, 0x67, 0xb9, 0xf8, 0x6f, 0x39, 0x4f, 0xf2, 0xec, 0x70, 0xec, 0x97, 0x12, 0xa4, 0x9e, 0x9e, 0xf0, 0x02, 0x7d, 0x18, 0xec, 0xa6, 0x78, 0x7a, 0xc6, 0xcf, 0x9e, 0xf0, 0xf3, 0x66, 0x2c, 0x81, 0x01, 0xf2, 0xa1, 0xe9, 0x24, 0x68, 0xce, 0xe4, 0x9e, 0x16, 0x14, 0x71, 0xac, 0x09, 0x98, 0xa6, 0xd9, 0x73, 0x9c, 0x7b, 0x26, 0x45, 0x07, 0xfd, 0xad, 0xd8, 0xc0, 0xde, 0x0c, 0x2a, 0x09, 0xc0, 0xa5, 0xe4, 0x0a, 0x4f, 0xf3, 0x27, 0x67, 0x17, 0x0b, 0x8c, 0x37, 0x8a, 0x05, 0xc7, 0xf9, 0x3e, 0x52, 0xfa, 0xc1, 0x3c, 0x9e, 0x74, 0xb4, 0xc4, 0xfc, 0xe3, 0x40, 0x3f, 0x6b, 0xcf, 0x8d, 0x05, 0xfa, 0x1e, 0xd7, 0x5a, 0xdd, 0x61, 0x58, 0xbe, 0xe5, 0x2c, 0x8c, 0x5e, 0xff, 0xd4, 0x66, 0x63, 0xea, 0xf5, 0x6c, 0x66, 0xec, 0x80, 0x27, 0x45, 0x12, 0x88, 0xb3, 0x85, 0x6e, 0x0f, 0xd2, 0x05, 0x91, 0x09, 0x93, 0x69, 0x57, 0x2f, 0x46, 0x37, 0x7a, 0x36, 0x29, 0x50, 0xa8, 0x41, 0xb7, 0xd6, 0x82, 0x12, 0xd3, 0x59, 0x62, 0xac, 0x9d, 0x7f, 0x19, 0x8f, 0x0c, 0x80, 0xd1, 0x53, 0xb3, 0x8b, 0xb9, 0x8f, 0x5d, 0x63, 0x17, 0x38, 0x8f, 0xa8, 0xa6, 0x51, 0x50, 0x76, 0xd4, 0xb3, 0xc4, 0x79, 0x2a, 0xdd, 0xbc, 0x4d, 0x68, 0xcf, 0xdd, 0xad, 0xd2, 0xf2, 0xe7, 0x67, 0x08, 0xbc, 0xa0, 0x41, 0x4e, 0x53, 0xa5, 0x99, 0x3f, 0xff, 0xfa, 0x7c, 0x82, 0x0b, 0xcf, 0x29, 0x6a, 0xa8, 0x92, 0x36, 0x2f, 0x8e, 0xb6, 0x72, 0x78, 0xae, 0x2b, 0x84, 0x32, 0xf4, 0xd5, 0x49, 0x6e, 0x72, 0xdd, 0x1a, 0x2c, 0x82, 0x63, 0x3a, 0xb3, 0x32, 0x7f, 0x5a, 0x0b, 0xa4, 0x13, 0x70, 0xd2, 0xd7, 0x11, 0xba, 0x9f, 0x1d, 0x98, 0x60, 0x07, 0xe1, 0xc5, 0xa9, 0x94, 0x68, 0x9e, 0x76, 0x29, 0xc2, 0x19, 0x86, 0x6f, 0x8c, 0x58, 0x05, 0x75, 0x23, 0xc1, 0xdf, 0x65, 0x83, 0x43, 0x4b, 0x79, 0x7b, 0x94, 0x62, 0xfb, 0x1c, 0x22, 0x42, 0x87, 0x67, 0xe0, 0xae, 0x52, 0x53, 0x04, 0x35, 0xca, 0xf8, 0xcb, 0x54, 0x9f, 0x69, 0x9c, 0xa6, 0x09, 0xc7, 0x9f, 0xf0, 0x75, 0x5b, 0xce, 0x41, 0x56, 0x28, 0xea, 0x93, 0xbd, 0xa7, 0x5c, 0xed, 0x14, 0x94, 0xc0, 0xa8, 0x04, 0xe5, 0x90, 0x52, 0x13, 0x6c, 0x0c, 0x4b, 0x68, 0xf8, 0x53, 0x7c, 0x12, 0x0a, 0xe3, 0x7f, 0xb0, 0x7a, 0x38, 0x6d, 0x00, 0xf2, 0x09, 0x71, 0x4c, 0x1f, 0x62, 0xb8, 0x03, 0xa1, 0xfa, 0x80, 0x32, 0x26, 0x29, 0x64, 0x9b, 0xae, 0x70, 0xc0, 0xa4, 0xde, 0x2f, 0xb7, 0x6a, 0x76, 0x67, 0x2f, 0xab, 0x40, 0x09, 0x09, 0xa8, 0xf5, 0x14, 0xdf, 0x66, 0x61, 0x01, 0x16, 0x75, 0x4c, 0xd5, 0x23, 0x78, 0xca, 0xc9, 0x43, 0xc5, 0xf1, 0x05, 0xfa, 0x1d, 0xce, 0x25, 0x05, 0xbd, 0x0e, 0x43, 0xda, 0x16, 0x20, 0x35, 0x50, 0x55, 0x21, 0x75, 0xac, 0xf4, 0x35, 0xe3, 0xaf, 0x7b, 0x18, 0x4f, 0xfb, 0x79, 0x91, 0xa2, 0xbc, 0xa1, 0x44, 0x4e, 0x1d, 0x0c, 0xe9, 0xbe, 0x4b, 0xfc, 0x04, 0xad, 0xc7, 0xd0, 0x70, 0x1a, 0x59, 0x8b, 0x22, 0x0e, 0xad, 0x79, 0x43, 0xcf, 0x89, 0x5e, 0xf1, 0x77, 0x66, 0x54, 0x81, 0x4e, 0x08, 0xd5, 0x97, 0x6b, 0x0d, 0x8e, 0xe9, 0x14, 0xab, 0x29, 0x2f, 0x66, 0xb5, 0x76, 0xa1, 0x18, 0x83, 0x05, 0xc2, 0x2b, 0xb8, 0x92, 0xdd, 0xf3, 0x45, 0xa5, 0x65, 0xb9, 0xa4, 0x03, 0x7b, 0x7b, 0x7a, 0x76, 0x62, 0xb2, 0xda, 0xfe, 0xd7, 0x66, 0x1f, 0xb7, 0xbc, 0x18, 0x79, 0x39, 0x7c, 0x5c, 0x43, 0xea, 0x14, 0x04, 0x4b, 0x91, 0xe9, 0xb7, 0x5d, 0xee, 0xab, 0x49, 0x3f, 0xae, 0x55, 0x98, 0x9e, 0x9c, 0x7f, 0x77, 0x7a, 0x75, 0x71, 0xfe, 0xfe, 0xe4, 0xfc, 0xfa, 0x33, 0x87, 0xdd, 0x85, 0xba, 0x46, 0x94, 0x7e, 0x72, 0x41, 0x8a, 0xe1, 0xa0, 0x7b, 0x2a, 0x02, 0xe4, 0xde, 0x2d, 0xb0, 0x52, 0xf9, 0x57, 0xdf, 0x1d, 0xce, 0x79, 0x48, 0x3d, 0xfb, 0x98, 0x49, 0xb2, 0x40, 0xcf, 0xce, 0x18, 0xe3, 0xaa, 0x7d, 0x8e, 0x05, 0x98, 0xbe, 0xc4, 0xd8, 0xb8, 0xe2, 0x01, 0x81, 0xc2, 0x29, 0x15, 0x18, 0x6b, 0xc7, 0x3e, 0x33, 0x5b, 0xc2, 0x41, 0x40, 0x1b, 0x2b, 0xad, 0x4d, 0xc2, 0x12, 0xf7, 0x07, 0x29, 0x00, 0xcd, 0xa2, 0xe0, 0x6a, 0x14, 0xfd, 0x8e, 0x14, 0x02, 0xfa, 0xec, 0x0d, 0xe7, 0xe1, 0x70, 0xf4, 0x85, 0x99, 0x84, 0x93, 0x03, 0xea, 0xa0, 0x0e, 0x3b, 0x2d, 0x94, 0x9b, 0x48, 0xc3, 0xce, 0x2a, 0xfe, 0xaa, 0xce, 0xa2, 0x83, 0xcd, 0xcd, 0x9f, 0xa8, 0x7b, 0xf7, 0x97, 0xd2, 0xbe, 0xdb, 0x47, 0x4c, 0x2d, 0x9d, 0x69, 0xd8, 0x92, 0x21, 0xad, 0x2e, 0x44, 0xba, 0x35, 0xdb, 0x49, 0x6e, 0xe0, 0x8f, 0x97, 0x57, 0x17, 0x3f, 0xfc, 0xe5, 0x37, 0xfe, 0x84, 0x93, 0x6c, 0xf6, 0x57, 0xcc, 0xc1, 0xd4, 0xc1, 0x7f, 0xfa, 0xcd, 0xbf, 0x56, 0x1f, 0xbe, 0x2b, 0x91, 0x76, 0x6e, 0x35, 0xee, 0x2b, 0x64, 0x5c, 0xbc, 0xcd, 0x50, 0xfa, 0x36, 0x25, 0x3a, 0x72, 0x7c, 0x1c, 0x26, 0x19, 0x88, 0x44, 0x5c, 0x59, 0x27, 0xd0, 0xd8, 0x07, 0xd6, 0xee, 0x73, 0x49, 0xb1, 0xcd, 0xe0, 0xd5, 0xaa, 0x72, 0xac, 0x1c, 0xe7, 0xda, 0x72, 0xca, 0x47, 0x35, 0xfb, 0x71, 0x74, 0x76, 0xf6, 0x9b, 0x6e, 0x02, 0x75, 0x40, 0xb6, 0x6b, 0xe9, 0x19, 0x0d, 0x55, 0x9e, 0x7e, 0x02, 0xb8, 0xf6, 0xfc, 0x42, 0x66, 0x73, 0x48, 0xca, 0x71, 0xaf, 0x4c, 0x40, 0xa5, 0x8d, 0x31, 0xde, 0xaf, 0xc0, 0xe5, 0x38, 0xb1, 0x72, 0x93, 0x13, 0x27, 0x3d, 0x1c, 0x75, 0x7a, 0x88, 0x92, 0x05, 0xc8, 0x84, 0xa2, 0xbc, 0x4a, 0xde, 0x4d, 0x2e, 0x8b, 0xa3, 0xba, 0x85, 0xdc, 0xe0, 0x12, 0x71, 0x3f, 0x76, 0xee, 0x07, 0x3e, 0x09, 0xb4, 0x7b, 0x66, 0x74, 0x08, 0x94, 0xb7, 0x45, 0x5a, 0xde, 0x52, 0x51, 0x07, 0xde, 0x50, 0x52, 0x90, 0xb4, 0x7e, 0x1f, 0x55, 0x5e, 0x9a, 0x53, 0x9f, 0x21, 0x46, 0x6c, 0x35, 0x5d, 0x5a, 0x86, 0x66, 0x47, 0x7d, 0xb3, 0x58, 0x14, 0xa3, 0x1b, 0x95, 0x9d, 0xd0, 0x71, 0xad, 0xb4, 0x4b, 0xc0, 0xdf, 0x39, 0x89, 0xaa, 0x34, 0x38, 0x03, 0xa1, 0xb2, 0xf4, 0xae, 0x96, 0x1b, 0xe3, 0x03, 0xfc, 0xe9, 0xaa, 0x4c, 0x66, 0x93, 0x70, 0x85, 0x7d, 0x90, 0x5b, 0x48, 0x85, 0xbf, 0x69, 0x48, 0xaf, 0xc4, 0x8a, 0x87, 0x95, 0x10, 0x26, 0x0d, 0x86, 0x16, 0x7c, 0x7f, 0x9d, 0xd0, 0x61, 0x2d, 0xcf, 0xe0, 0xc1, 0xb6, 0x11, 0x8b, 0x9c, 0x6a, 0x56, 0xce, 0x13, 0xd3, 0xb3, 0x7d, 0x3d, 0xf6, 0x0b, 0xa6, 0x80, 0x23, 0xb9, 0xf8, 0x1d, 0x2a, 0x79, 0x7b, 0x0f, 0x91, 0x02, 0x87, 0xf0, 0x39, 0xd5, 0x9e, 0x91, 0xdf, 0x3c, 0x67, 0x38, 0x6a, 0xce, 0x50, 0x62, 0x6e, 0xb4, 0x4c, 0x35, 0xaa, 0x30, 0xbb, 0xb7, 0x8a, 0xc4, 0x2f, 0xce, 0x4a, 0x38, 0x61, 0xed, 0xf8, 0x75, 0x12, 0xce, 0xc4, 0x57, 0x4d, 0xb4, 0x75, 0xa6, 0x81, 0xd8, 0x30, 0x3c, 0x86, 0x2e, 0x78, 0x06, 0x91, 0x71, 0xc7, 0x33, 0xf3, 0x24, 0x6d, 0x95, 0xe7, 0xc8, 0x7a, 0x9c, 0x42, 0x69, 0x25, 0xa1, 0x20, 0x5c, 0x30, 0xfd, 0xc6, 0xbd, 0x32, 0x72, 0x17, 0x4c, 0x49, 0x3b, 0x29, 0xe1, 0xa6, 0x2c, 0xd4, 0x46, 0xda, 0x31, 0xdc, 0x12, 0xf9, 0xfe, 0x71, 0x8a, 0xbf, 0xa0, 0x50, 0x27, 0x46, 0x44, 0xb1, 0x12, 0x53, 0x77, 0x20, 0xc5, 0xb2, 0x54, 0x5f, 0x37, 0xd4, 0x32, 0x63, 0x0d, 0x6e, 0x81, 0x08, 0x9c, 0xe5, 0x65, 0x08, 0x4e, 0x73, 0x88, 0x59, 0xf3, 0x09, 0x35, 0xfa, 0xe1, 0x2b, 0x0f, 0xff, 0xbd, 0xbe, 0x38, 0xbe, 0x38, 0x83, 0xbf, 0x9c, 0xbc, 0x3d, 0xfd, 0xc1, 0x6a, 0x05, 0x0c, 0x50, 0x51, 0x2b, 0x90, 0x21, 0xdc, 0xc5, 0x97, 0x5d, 0x97, 0x0d, 0x71, 0x0e, 0x22, 0xa6, 0x1f, 0x72, 0x4a, 0x5c, 0x93, 0x42, 0x0d, 0xb7, 0x74, 0xf8, 0x1c, 0xca, 0x69, 0xcc, 0x17, 0x75, 0xf0, 0x47, 0x62, 0x01, 0x5e, 0x42, 0x2d, 0x9a, 0x47, 0x36, 0xc5, 0x14, 0x76, 0x93, 0xb1, 0x46, 0xca, 0x65, 0x73, 0x92, 0x8d, 0x6a, 0x3f, 0x99, 0x2a, 0x2c, 0x51, 0x6d, 0x72, 0x79, 0x61, 0xba, 0xe0, 0x56, 0x6e, 0x87, 0xf5, 0x46, 0x4b, 0x1b, 0x17, 0x2f, 0x3f, 0x4b, 0xdc, 0x45, 0x9a, 0xb6, 0xe8, 0x55, 0x91, 0x10, 0x57, 0x24, 0xa0, 0x3a, 0x54, 0x04, 0x5c, 0x94, 0x8f, 0x06, 0x45, 0x50, 0x85, 0x8e, 0x19, 0xb1, 0xbe, 0x26, 0xd9, 0x00, 0xc9, 0xe5, 0xa3, 0xdc, 0x0a, 0xd4, 0xe3, 0x1d, 0x88, 0x1f, 0xa1, 0xd6, 0x60, 0xb9, 0xa0, 0xd4, 0x29, 0xe1, 0x1f, 0x94, 0x5d, 0xc5, 0x51, 0x0c, 0xe1, 0xa8, 0xd7, 0x4e, 0x6b, 0x77, 0x96, 0x0a, 0x12, 0x7c, 0x5a, 0xf8, 0xa6, 0x15, 0x9e, 0x81, 0x28, 0xfb, 0x75, 0x8d, 0xa3, 0x6c, 0xfb, 0x34, 0x9a, 0xa8, 0xb2, 0x07, 0xf6, 0xd3, 0x5e, 0xd6, 0x35, 0x66, 0x7d, 0x97, 0x7b, 0xab, 0xc6, 0x40, 0x8d, 0xf0, 0xef, 0xcb, 0xf4, 0x2e, 0xa6, 0xda, 0x32, 0xb8, 0x2c, 0xbd, 0x1e, 0xbf, 0xd4, 0x18, 0x23, 0xfe, 0x55, 0x83, 0xc4, 0xf5, 0x51, 0xf6, 0x7f, 0xcd, 0x20, 0xfb, 0x8d, 0x31, 0x6e, 0x7e, 0xd5, 0x20, 0x3d, 0x15, 0x10, 0xa0, 0x18, 0xff, 0x70, 0x7a, 0x1d, 0x1d, 0x5f, 0xbc, 0xb1, 0x17, 0xec, 0xda, 0x64, 0x6f, 0xc7, 0xd1, 0x70, 0x99, 0x01, 0x0d, 0x62, 0x2f, 0x26, 0xd3, 0xdd, 0x82, 0xd3, 0x14, 0x31, 0x07, 0xa7, 0xd4, 0x8a, 0xb5, 0xb4, 0x60, 0x28, 0x22, 0xcc, 0xab, 0x61, 0x24, 0x25, 0xa7, 0x46, 0x17, 0x9f, 0x9e, 0x23, 0xd0, 0xd1, 0x54, 0xa5, 0x2f, 0xde, 0x4a, 0xc4, 0xba, 0x8b, 0x0b, 0xad, 0x2a, 0x1d, 0xc6, 0x08, 0x66, 0x94, 0x71, 0x6d, 0x24, 0xc8, 0xce, 0x00, 0xf4, 0xb0, 0x0e, 0xe7, 0x22, 0x10, 0x83, 0xee, 0x9c, 0x56, 0x3a, 0x15, 0x37, 0x93, 0x70, 0x5b, 0x73, 0xfd, 0x6b, 0x94, 0x2e, 0xed, 0xed, 0x48, 0xf8, 0x61, 0x5e, 0xf7, 0xd8, 0xc0, 0x59, 0xa3, 0x4a, 0x9c, 0xd9, 0x9c, 0x7d, 0x6e, 0x72, 0xed, 0x49, 0x6c, 0x33, 0x84, 0xf9, 0xce, 0x8e, 0x84, 0x12, 0x40, 0x45, 0x67, 0xbf, 0x81, 0xe4, 0x95, 0xa5, 0x3f, 0x3b, 0x0a, 0xfa, 0xae, 0xd1, 0xc7, 0x60, 0xe5, 0x33, 0xea, 0x1c, 0x3d, 0xe6, 0x0b, 0x51, 0x3e, 0x82, 0x50, 0x7f, 0x20, 0x83, 0x1c, 0xed, 0x27, 0x81, 0x73, 0xb2, 0x6f, 0xee, 0x89, 0x56, 0x16, 0x19, 0xdc, 0x28, 0x6a, 0xbf, 0xb5, 0xa8, 0x47, 0x83, 0xac, 0xd7, 0x42, 0x4b, 0xa4, 0x29, 0xc4, 0x99, 0x94, 0xd8, 0xc9, 0x3a, 0xe0, 0xb9, 0xb0, 0x89, 0x07, 0x0c, 0xdf, 0xc0, 0xe5, 0xd6, 0x02, 0xbf, 0xed, 0xb4, 0x29, 0x34, 0x60, 0x3f, 0x98, 0x99, 0x44, 0xfb, 0xd5, 0xe3, 0x1e, 0x4d, 0x5e, 0x5d, 0xba, 0xad, 0xc0, 0x54, 0x8b, 0x63, 0x9c, 0xd3, 0x06, 0x76, 0x29, 0x93, 0x17, 0xf6, 0x6d, 0x18, 0x23, 0xd4, 0x03, 0xb5, 0x46, 0x8c, 0x33, 0xae, 0x34, 0xd4, 0x13, 0x08, 0xd7, 0xdc, 0xd9, 0x9a, 0xa7, 0x7d, 0xfe, 0xe3, 0x58, 0x35, 0x36, 0x29, 0x1b, 0x72, 0x19, 0x0b, 0x0b, 0x19, 0xb1, 0x6e, 0x72, 0xc2, 0xe8, 0x40, 0x19, 0x44, 0xeb, 0x23, 0x06, 0xe9, 0x6f, 0x42, 0xd9, 0xf0, 0x71, 0xbe, 0x68, 0xf9, 0x0a, 0x43, 0x3a, 0xd9, 0x8f, 0xb8, 0x3e, 0x79, 0xdd, 0x42, 0x79, 0xd6, 0x19, 0xed, 0x65, 0x93, 0x2e, 0x1c, 0xcf, 0x3e, 0x8d, 0x68, 0x9e, 0xfc, 0x5c, 0x7c, 0x11, 0x09, 0x16, 0x2d, 0x8a, 0xf2, 0x5c, 0x24, 0x8b, 0x99, 0xac, 0x4c, 0x7e, 0x42, 0x81, 0x63, 0xf2, 0x26, 0xd0, 0x2e, 0x8f, 0x74, 0x96, 0xa0, 0x0e, 0xbb, 0xa6, 0xe0, 0x2b, 0xf9, 0x2c, 0x36, 0x81, 0x63, 0xd5, 0x81, 0x70, 0x37, 0x52, 0x43, 0x6f, 0xd2, 0x74, 0x9e, 0x7e, 0x84, 0x09, 0x8e, 0x84, 0xea, 0xa0, 0xff, 0x96, 0x37, 0x3c, 0xa4, 0xbb, 0x86, 0x2b, 0x19, 0x57, 0xbb, 0x2c, 0xb8, 0x68, 0xd7, 0x62, 0x3b, 0x2a, 0xd8, 0xba, 0xe4, 0xff, 0x15, 0x08, 0xc9, 0xd7, 0x07, 0x5e, 0x94, 0x7b, 0xe8, 0x93, 0xf9, 0xa4, 0x12, 0xec, 0x2f, 0xee, 0xb7, 0xc6, 0xfb, 0x73, 0x13, 0x67, 0xd3, 0x84, 0xfd, 0x2f, 0x0e, 0x3c, 0x25, 0xf7, 0xea, 0x63, 0x71, 0x08, 0x77, 0x9d, 0x9c, 0x3c, 0xad, 0xe8, 0x13, 0x76, 0x1f, 0xb6, 0xb7, 0xcc, 0x3e, 0x70, 0x1b, 0x2e, 0xaa, 0x4e, 0xc1, 0x5d, 0xf8, 0x9e, 0x10, 0x09, 0xef, 0x63, 0x6e, 0xd3, 0xab, 0xcd, 0xec, 0xad, 0xd1, 0x62, 0xc2, 0x3c, 0x18, 0x59, 0xf3, 0xf3, 0xa4, 0x09, 0xc9, 0x01, 0xb3, 0x60, 0x50, 0x1f, 0xe0, 0x54, 0x4f, 0x2e, 0x6f, 0x14, 0x71, 0xd5, 0x25, 0x83, 0xde, 0x30, 0x48, 0x8e, 0xb3, 0x12, 0xef, 0xbd, 0x4b, 0x42, 0xb0, 0x19, 0x8a, 0x5b, 0xe5, 0x64, 0x73, 0x58, 0xd0, 0x10, 0x67, 0x3d, 0xdb, 0x66, 0x3d, 0xf7, 0x44, 0x28, 0x97, 0x47, 0x83, 0x81, 0x92, 0xc9, 0xb1, 0x4f, 0x11, 0x12, 0x3d, 0x22, 0x04, 0x1d, 0x29, 0x92, 0x0e, 0xa8, 0x8a, 0x32, 0x48, 0x23, 0xc9, 0x60, 0x9b, 0x79, 0xda, 0x1b, 0x66, 0xcc, 0xa4, 0x4d, 0xc8, 0x7a, 0x99, 0xae, 0x74, 0xc5, 0xf7, 0xab, 0x77, 0xf2, 0xb3, 0x60, 0xba, 0x0a, 0x07, 0x2c, 0x71, 0x9f, 0xa9, 0x18, 0x59, 0x79, 0x3c, 0xa9, 0x86, 0x0f, 0x8b, 0xb4, 0xd6, 0x11, 0x71, 0x7b, 0xd7, 0x5f, 0xf4, 0x77, 0xbc, 0xaa, 0xee, 0xbf, 0xb4, 0xe8, 0xef, 0x02, 0x8b, 0xde, 0xb3, 0x17, 0x87, 0x3f, 0x16, 0xed, 0xec, 0xbc, 0xd4, 0x82, 0x10, 0xa0, 0x63, 0xfa, 0x9e, 0xfd, 0xa0, 0xf3, 0x45, 0x78, 0xae, 0x47, 0xf5, 0x07, 0xfe, 0xb7, 0x9c, 0xcb, 0xeb, 0x7c, 0x6a, 0xdf, 0x7c, 0x0a, 0xd4, 0x6f, 0xb4, 0x40, 0x41, 0xa7, 0x67, 0x2e, 0xe3, 0x31, 0x1f, 0x35, 0xe5, 0x50, 0x0d, 0xbf, 0xc7, 0xfc, 0xa9, 0xca, 0xe8, 0x92, 0x8d, 0x4f, 0xe9, 0x2c, 0x9c, 0xef, 0xbc, 0x30, 0x6e, 0x94, 0xcd, 0x1d, 0x0d, 0xa0, 0x1f, 0x11, 0x2f, 0x9e, 0x25, 0x73, 0xa2, 0xcc, 0x71, 0x82, 0x68, 0x3d, 0xd6, 0xfd, 0xc7, 0x35, 0x77, 0x93, 0x22, 0x26, 0xb4, 0xe5, 0x59, 0xfc, 0x18, 0x00, 0xdb, 0x12, 0x4f, 0x31, 0x9b, 0x2b, 0x31, 0xce, 0x3e, 0x43, 0x5b, 0x81, 0x34, 0x01, 0x71, 0x9b, 0xa1, 0x1f, 0x16, 0x4f, 0x34, 0x9f, 0x18, 0x57, 0xad, 0x7c, 0xd5, 0x83, 0x03, 0x28, 0xa5, 0x3d, 0x22, 0x5f, 0x19, 0xd1, 0x12, 0xc2, 0xd8, 0x70, 0xdb, 0x2f, 0xed, 0x11, 0x99, 0x73, 0x40, 0xc7, 0x16, 0x43, 0x84, 0x38, 0xbb, 0xa7, 0xbc, 0x44, 0xe3, 0x01, 0xd2, 0x76, 0x07, 0xa3, 0x74, 0xa9, 0x6f, 0x35, 0x17, 0x8e, 0x82, 0xb8, 0xcd, 0xdc, 0xf8, 0x12, 0x99, 0x9d, 0x00, 0xee, 0xf6, 0xa3, 0x0b, 0xf2, 0xc2, 0xd5, 0x20, 0xc6, 0x27, 0x4c, 0xfa, 0xb6, 0x68, 0xb4, 0x4e, 0xb8, 0xaf, 0xec, 0x09, 0xeb, 0x9c, 0x34, 0xf9, 0x65, 0x53, 0x99, 0xac, 0x11, 0x28, 0xea, 0x6d, 0x4e, 0xa2, 0xab, 0x93, 0xeb, 0x2b, 0x8a, 0xf3, 0x12, 0x03, 0xf0, 0x40, 0x52, 0xe3, 0x62, 0xc3, 0x80, 0x04, 0x09, 0x3b, 0xb3, 0x7a, 0x88, 0x65, 0x10, 0x8c, 0x5f, 0x66, 0xce, 0x9b, 0xff, 0xa9, 0xef, 0x71, 0xf5, 0x4b, 0xa2, 0xb5, 0x26, 0x36, 0xa2, 0x53, 0x47, 0x56, 0xdb, 0xd9, 0xb1, 0x59, 0x48, 0xdc, 0x3a, 0x99, 0xc5, 0x9c, 0x64, 0x92, 0xf7, 0x25, 0xbb, 0x45, 0x8b, 0x2f, 0xb4, 0x55, 0x1e, 0x3e, 0xc4, 0xd9, 0xd8, 0x79, 0x11, 0x10, 0xb9, 0xf2, 0x69, 0x95, 0xff, 0x3c, 0x05, 0x8b, 0xa2, 0xc6, 0x5f, 0xe3, 0x9f, 0x32, 0xf7, 0x94, 0x0a, 0xc0, 0x68, 0x6f, 0x6b, 0x2b, 0x00, 0x3b, 0x1c, 0x0f, 0x81, 0xa9, 0x8a, 0x36, 0x27, 0x55, 0x3d, 0xf4, 0x16, 0x7b, 0x4d, 0x49, 0xbd, 0x2c, 0xd1, 0xd4, 0xe8, 0x4d, 0xd0, 0x8d, 0x89, 0x3b, 0xe6, 0x1b, 0x15, 0x3b, 0xcc, 0x63, 0xbe, 0xa7, 0x2a, 0x23, 0xdd, 0xb4, 0x06, 0x73, 0xe1, 0x12, 0x24, 0xed, 0xcd, 0x1b, 0x3b, 0x60, 0xcc, 0xe2, 0xff, 0xf6, 0x66, 0xe6, 0xf1, 0xef, 0x9d, 0x7d, 0x9f, 0x22, 0x06, 0xd7, 0x17, 0x57, 0x42, 0x61, 0xbe, 0x68, 0xe6, 0x1d, 0xa1, 0x47, 0x2c, 0xda, 0x4a, 0xd7, 0x87, 0xdc, 0x19, 0x1b, 0x7c, 0x00, 0x83, 0x62, 0xea, 0x7c, 0x95, 0x39, 0x00, 0xb5, 0xe7, 0x93, 0xa5, 0x7d, 0x27, 0x88, 0x00, 0x8a, 0xd7, 0xab, 0xf7, 0xd2, 0x79, 0x89, 0xaf, 0xd9, 0x05, 0xdf, 0x5f, 0xae, 0x5e, 0x47, 0x3a, 0x92, 0x3a, 0x76, 0xc4, 0xfb, 0x95, 0x74, 0x58, 0xd3, 0x47, 0xb4, 0x49, 0x8b, 0x7c, 0x89, 0x2e, 0x2c, 0x24, 0x33, 0x73, 0x78, 0x59, 0xa7, 0xb1, 0x8a, 0xa9, 0x97, 0x2d, 0xf2, 0x09, 0x86, 0x2c, 0x96, 0xc4, 0xa6, 0x98, 0x7d, 0x61, 0x23, 0x0f, 0xd6, 0x3d, 0x2f, 0xc6, 0x92, 0xbe, 0x22, 0x82, 0x53, 0x8d, 0x05, 0xab, 0x67, 0x5b, 0xa9, 0x7f, 0x79, 0x71, 0x75, 0x6d, 0x64, 0x3e, 0x7e, 0x96, 0x7e, 0xd0, 0xb8, 0x3d, 0xd8, 0x2f, 0x45, 0xf0, 0x27, 0x44, 0xb2, 0x51, 0x87, 0xe0, 0xcf, 0x82, 0x10, 0x04, 0x72, 0x24, 0x34, 0x8e, 0x0e, 0xd4, 0xa5, 0x3e, 0x7e, 0xe3, 0x9c, 0xe1, 0x7c, 0x0c, 0xbf, 0x61, 0x0f, 0x3a, 0x09, 0x9a, 0x16, 0x64, 0x30, 0xab, 0xdc, 0xee, 0x6e, 0xfb, 0x94, 0x81, 0x36, 0xf4, 0xd5, 0xc9, 0xe0, 0x9a, 0x67, 0x8e, 0x7f, 0xf3, 0x66, 0xce, 0xf5, 0xa1, 0xf2, 0x43, 0xdf, 0x89, 0x6a, 0x28, 0x03, 0x33, 0xd0, 0xc0, 0xda, 0xa0, 0xf1, 0x4d, 0x81, 0xbb, 0xb3, 0x63, 0xbb, 0x4e, 0xb6, 0x21, 0x31, 0x4d, 0xa1, 0x13, 0xba, 0xdf, 0xf4, 0x83, 0x8e, 0x7c, 0xa5, 0x03, 0x6a, 0xd9, 0x58, 0x1b, 0x87, 0x39, 0x23, 0xec, 0xd9, 0x11, 0x16, 0x28, 0xa9, 0x64, 0x80, 0x53, 0x6d, 0xc2, 0x8b, 0x3f, 0xec, 0x29, 0xa9, 0x90, 0xb0, 0x60, 0xa2, 0xe0, 0xe7, 0xec, 0x38, 0xfb, 0x52, 0xa2, 0x7e, 0x66, 0x54, 0x05, 0x67, 0x2a, 0xf8, 0x63, 0x4d, 0xf9, 0x21, 0x6d, 0xa3, 0x41, 0x72, 0xbb, 0x4c, 0xe9, 0x5f, 0x63, 0xb6, 0xa0, 0x49, 0x5b, 0xe4, 0xb5, 0xbb, 0x72, 0x01, 0x94, 0xad, 0x34, 0x5b, 0x26, 0xa4, 0xa3, 0xc5, 0xc5, 0x0c, 0x7b, 0x3d, 0x00, 0x13, 0x29, 0xb8, 0x7e, 0xec, 0x3e, 0x0b, 0xc1, 0x52, 0x3b, 0xdf, 0x10, 0xf9, 0x73, 0x7a, 0x76, 0x62, 0x8f, 0x8a, 0xfb, 0x44, 0xd0, 0x25, 0xb6, 0xba, 0x3e, 0x5c, 0xd8, 0xcc, 0x88, 0x89, 0x7e, 0x74, 0x89, 0x1d, 0xd1, 0x49, 0x67, 0x2a, 0xff, 0xdd, 0x8e, 0xc6, 0x97, 0x84, 0x3c, 0xf0, 0x20, 0x36, 0xa9, 0xdc, 0x39, 0xcd, 0xe0, 0x64, 0xe9, 0x27, 0xf8, 0x57, 0x07, 0xd3, 0xdc, 0x5b, 0xee, 0x2b, 0xfb, 0x72, 0x09, 0x2b, 0x01, 0x0b, 0xbd, 0xf9, 0xc8, 0x9e, 0xd0, 0x15, 0x98, 0xef, 0x34, 0x84, 0x61, 0xcd, 0x78, 0x97, 0xa5, 0x59, 0xcc, 0x98, 0x47, 0x98, 0xe8, 0x33, 0x35, 0x16, 0xee, 0x0c, 0xc5, 0xc2, 0xe0, 0x68, 0x68, 0x1a, 0x08, 0x61, 0x92, 0x30, 0x2a, 0x72, 0x30, 0x56, 0x86, 0x9c, 0x76, 0x66, 0x72, 0xed, 0xdd, 0x18, 0x30, 0x6d, 0xad, 0xc1, 0x8b, 0x6a, 0x6e, 0x6e, 0xa3, 0xbd, 0xfb, 0x1e, 0x53, 0xa2, 0x21, 0x1b, 0x23, 0xbf, 0x6a, 0xb3, 0x93, 0xec, 0x64, 0xc1, 0xbd, 0x43, 0xa7, 0x01, 0xc6, 0x03, 0x40, 0xbe, 0xbb, 0xca, 0xff, 0xde, 0xbe, 0x1d, 0x6a, 0x42, 0xe0, 0x3d, 0xca, 0xd7, 0x8f, 0x6a, 0x4e, 0x39, 0xd3, 0x49, 0x22, 0x35, 0x4f, 0xb2, 0xd9, 0xc8, 0xb5, 0xe7, 0x81, 0x2b, 0xe5, 0x7c, 0xe3, 0xa5, 0x98, 0xbe, 0x68, 0xfb, 0x66, 0x8f, 0x36, 0xf9, 0xbe, 0xcf, 0x51, 0x65, 0xf6, 0x9b, 0x71, 0xa3, 0x1a, 0xf9, 0x8d, 0x80, 0x30, 0xde, 0x88, 0x5f, 0x06, 0x5b, 0x51, 0x79, 0x88, 0x8b, 0xcb, 0xb9, 0xe4, 0xf0, 0x3a, 0x5f, 0xfa, 0x5c, 0x3c, 0x19, 0x58, 0x7c, 0x9e, 0x59, 0x90, 0x22, 0x67, 0x21, 0xa8, 0xe8, 0x8a, 0xd5, 0xac, 0xa1, 0x7c, 0x60, 0x8e, 0xa3, 0xd8, 0xa4, 0x00, 0xfb, 0x18, 0x7b, 0x88, 0x5c, 0x86, 0x6c, 0x56, 0x94, 0x5d, 0xf5, 0x28, 0xe4, 0x5a, 0x04, 0x2c, 0x9e, 0x05, 0x79, 0x8c, 0x7f, 0x65, 0x9a, 0x06, 0xf9, 0x2e, 0xf1, 0x22, 0xf9, 0x1b, 0x29, 0x92, 0x7d, 0xd3, 0x0b, 0x56, 0x03, 0xca, 0x71, 0xb6, 0x8c, 0x1d, 0x5b, 0x7e, 0xef, 0x95, 0x78, 0xa8, 0xc4, 0x0d, 0x82, 0x91, 0xf5, 0x0c, 0xc1, 0xaf, 0x1b, 0xe1, 0xc5, 0xfd, 0x6d, 0xe3, 0xab, 0xc4, 0x94, 0x59, 0xa9, 0x03, 0x71, 0x13, 0x67, 0x11, 0xfe, 0x78, 0xf0, 0x2e, 0x7a, 0xff, 0x66, 0x1f, 0x13, 0x7a, 0xa6, 0x49, 0xb1, 0x28, 0x30, 0x89, 0x53, 0x69, 0xf8, 0xe2, 0x5b, 0x67, 0xb0, 0x1d, 0x9b, 0x7d, 0xa1, 0xe0, 0x88, 0xc2, 0xcc, 0xc4, 0x5e, 0x80, 0x23, 0xc4, 0xc2, 0xe7, 0xa9, 0x36, 0xd8, 0x54, 0x1c, 0x3f, 0x45, 0xab, 0x22, 0xad, 0xe5, 0xb3, 0x66, 0x52, 0x78, 0x8d, 0x81, 0xed, 0xef, 0x5a, 0x06, 0x56, 0x3c, 0x2e, 0xb0, 0xb9, 0x4a, 0x36, 0x45, 0xb3, 0x20, 0x70, 0xa3, 0xf6, 0x99, 0x69, 0x1e, 0xf3, 0xbd, 0x47, 0x1d, 0xd6, 0x7f, 0x8d, 0xd4, 0x73, 0x72, 0x97, 0x3a, 0xef, 0xed, 0xbb, 0x5e, 0x85, 0x52, 0x3a, 0xa3, 0x49, 0x4b, 0x0c, 0xd2, 0x50, 0x9c, 0x67, 0x5f, 0x98, 0x67, 0xd1, 0x6f, 0x94, 0x66, 0x4e, 0x0b, 0xa3, 0x96, 0x37, 0x44, 0xf9, 0x55, 0x03, 0x41, 0x15, 0x33, 0xd6, 0x77, 0x9c, 0xbd, 0x77, 0x5e, 0x79, 0x55, 0x77, 0x9a, 0x50, 0x6f, 0x03, 0x43, 0x98, 0xb4, 0x28, 0xea, 0x5b, 0xeb, 0xb8, 0x59, 0x58, 0x46, 0x5f, 0x36, 0xf3, 0xa0, 0x95, 0x07, 0x26, 0x2e, 0x82, 0x88, 0x5e, 0x75, 0x26, 0xfd, 0xe3, 0xa3, 0xa8, 0xad, 0x08, 0x88, 0x68, 0xdd, 0xf9, 0xc8, 0xb6, 0xdc, 0x19, 0xec, 0x7a, 0x3d, 0xcd, 0xd2, 0x9f, 0x13, 0x27, 0x17, 0x4c, 0xdb, 0x4f, 0x39, 0x8f, 0xef, 0x08, 0xc3, 0xe0, 0xce, 0xc6, 0xc4, 0x14, 0x31, 0x78, 0x6a, 0x1f, 0xd8, 0x15, 0xaa, 0xe5, 0xee, 0x71, 0x9c, 0xfb, 0x00, 0xa3, 0x52, 0xe8, 0x3e, 0xa9, 0xa5, 0xd5, 0xbf, 0xd8, 0x13, 0x9d, 0x4b, 0x75, 0x63, 0x94, 0xbc, 0xb8, 0x11, 0x33, 0x02, 0x64, 0x6c, 0xb2, 0xe9, 0x17, 0x22, 0xf6, 0xe4, 0x28, 0x4d, 0x0b, 0x2a, 0xd3, 0xce, 0x0b, 0xff, 0x7a, 0x9f, 0x66, 0x92, 0xe8, 0xee, 0xbd, 0xfe, 0xa2, 0xc5, 0xfd, 0x58, 0xb2, 0xcc, 0x3c, 0x21, 0x5a, 0x72, 0x9e, 0x7f, 0x69, 0x6f, 0x82, 0x45, 0xa0, 0xed, 0x5a, 0xdc, 0xdb, 0xae, 0x8b, 0x59, 0xaa, 0x77, 0x89, 0x5d, 0x28, 0x09, 0xf7, 0x3a, 0x08, 0x20, 0xcb, 0x4f, 0xcc, 0xe7, 0x67, 0x39, 0x72, 0x53, 0xe7, 0x7b, 0x4c, 0x52, 0x6f, 0xa9, 0x57, 0x85, 0x35, 0x0e, 0xb2, 0xe8, 0xda, 0x29, 0x93, 0xb5, 0x4f, 0xbf, 0x12, 0xda, 0x50, 0x79, 0x69, 0x8c, 0xd5, 0xb6, 0x37, 0x5e, 0x6e, 0xb9, 0xca, 0xea, 0x18, 0xa3, 0xb2, 0x5c, 0xc6, 0xdf, 0xfa, 0x02, 0x53, 0xc6, 0x29, 0x88, 0x91, 0x29, 0x10, 0x35, 0x3d, 0x63, 0xd1, 0x0c, 0xed, 0x63, 0x3b, 0x35, 0xa6, 0x7b, 0xed, 0xaa, 0x4f, 0xd1, 0xe9, 0x1b, 0xe7, 0xc1, 0x5d, 0xbb, 0xc0, 0x78, 0x86, 0xda, 0xc0, 0x23, 0xfb, 0xa9, 0xca, 0x68, 0x1d, 0xdf, 0x72, 0x30, 0x4b, 0x5e, 0x32, 0x65, 0x9c, 0xe7, 0x8c, 0xba, 0x45, 0xdb, 0xef, 0x3d, 0xc3, 0xe4, 0x70, 0x7c, 0x03, 0x52, 0x6d, 0x54, 0x51, 0x4e, 0x68, 0xa6, 0x31, 0xae, 0xe6, 0xd9, 0xbf, 0x7c, 0xb1, 0xe2, 0x59, 0x11, 0x9a, 0xa5, 0x11, 0xf5, 0xce, 0x7b, 0x2f, 0xfd, 0x6b, 0xae, 0xe6, 0x80, 0x96, 0x29, 0xc0, 0x55, 0xc3, 0x9b, 0x16, 0xad, 0x63, 0x79, 0xf4, 0xbf, 0xab, 0x63, 0xb0, 0x40, 0x3c, 0xc1, 0xf2, 0xdf, 0xdd, 0xf9, 0x7e, 0xee, 0xd6, 0x3a, 0xb0, 0x57, 0xb0, 0x48, 0x28, 0x4e, 0x30, 0xaa, 0xb5, 0x8b, 0xb0, 0x39, 0x42, 0xb4, 0x3b, 0xce, 0x08, 0x7c, 0xe6, 0xa0, 0x47, 0x2c, 0x33, 0xcb, 0x39, 0xd8, 0x08, 0x14, 0x34, 0x82, 0xb1, 0x0b, 0x3d, 0x89, 0x3c, 0x5f, 0x3c, 0x50, 0x8e, 0x0f, 0x75, 0xab, 0x71, 0x0d, 0xca, 0x9b, 0x25, 0x9b, 0xdc, 0x66, 0x45, 0xd6, 0xc1, 0xe6, 0xbc, 0xb6, 0x63, 0xb9, 0x17, 0xcd, 0x8d, 0xd4, 0xc6, 0x63, 0x98, 0x2d, 0xdb, 0xe4, 0xa6, 0x7f, 0x00, 0xd5, 0x4b, 0xdf, 0x17, 0x39, 0xfe, 0x55, 0x21, 0x42, 0xd6, 0xe3, 0x96, 0xd4, 0x4c, 0x49, 0x22, 0x77, 0x3e, 0x23, 0xaa, 0x0d, 0xa6, 0x38, 0xc1, 0x29, 0xdd, 0x24, 0xa3, 0x5b, 0xbd, 0x32, 0x32, 0x88, 0x4d, 0x3d, 0x77, 0xde, 0xda, 0x33, 0x5b, 0x4b, 0x06, 0xcd, 0xd5, 0x49, 0xd3, 0x0a, 0xb0, 0x8f, 0x32, 0xd5, 0x5c, 0x5d, 0x0f, 0x2e, 0x0f, 0x70, 0xce, 0x1c, 0x37, 0x84, 0x0b, 0x71, 0x3c, 0x48, 0xfe, 0x2e, 0x75, 0x66, 0xa5, 0x7d, 0xfa, 0x45, 0xcb, 0xd3, 0x03, 0x71, 0xec, 0x9d, 0x12, 0x52, 0x33, 0x9c, 0x83, 0xfb, 0x12, 0x13, 0xcd, 0x32, 0x53, 0xff, 0x3e, 0xfb, 0xbf, 0x70, 0x66, 0xc4, 0x0d, 0x31, 0xb6, 0x6c, 0x1f, 0xfe, 0xdc, 0xda, 0x34, 0x37, 0xcb, 0xec, 0xd6, 0xe8, 0x8b, 0x82, 0xa3, 0xa7, 0x07, 0x6c, 0x5f, 0x78, 0xa5, 0x57, 0xc3, 0xf1, 0x83, 0x9a, 0xbc, 0xa7, 0xae, 0x78, 0x28, 0xc4, 0xed, 0x28, 0x31, 0x4f, 0xe0, 0xaf, 0x4b, 0x67, 0x0f, 0x5e, 0x6d, 0x19, 0xf1, 0x2b, 0x90, 0x3c, 0xb7, 0xc9, 0xa3, 0xa5, 0x3a, 0xcd, 0xb1, 0x58, 0xa4, 0x19, 0xba, 0x20, 0xec, 0x23, 0x76, 0x80, 0xed, 0x9a, 0x10, 0x68, 0xaa, 0x1b, 0x65, 0x15, 0x57, 0x4b, 0x47, 0xc4, 0xbc, 0x62, 0xda, 0x19, 0x60, 0xd4, 0x71, 0x2e, 0xf4, 0x9a, 0x66, 0xea, 0x6d, 0x6b, 0xb8, 0xd0, 0xf4, 0xa5, 0x1f, 0x7e, 0x60, 0x39, 0x92, 0x2b, 0x30, 0x92, 0x84, 0xae, 0x4c, 0xf3, 0x27, 0x60, 0xba, 0xac, 0x7a, 0xe0, 0x15, 0xa6, 0x78, 0x4f, 0x91, 0x60, 0x7f, 0x4a, 0xc5, 0xbe, 0xa1, 0xcb, 0x13, 0x8a, 0x9e, 0xe7, 0x99, 0xc4, 0x6c, 0x31, 0x79, 0x93, 0x5c, 0x9f, 0x0c, 0x36, 0xcd, 0xae, 0x30, 0x98, 0xc1, 0xd1, 0x87, 0xeb, 0x77, 0x17, 0x57, 0x83, 0x68, 0x13, 0x6b, 0xdb, 0xaf, 0xaf, 0x4e, 0xbf, 0xfe, 0x70, 0x0d, 0xff, 0xd4, 0x91, 0xde, 0xc4, 0x59, 0x0a, 0xd2, 0x69, 0x50, 0x25, 0x19, 0xd0, 0xca, 0x54, 0x7b, 0x34, 0x51, 0x0e, 0x0a, 0xca, 0xe3, 0xbc, 0x50, 0x48, 0x13, 0x4c, 0x47, 0xc9, 0x67, 0x36, 0x99, 0x80, 0x3d, 0xd8, 0x98, 0xe3, 0x97, 0x5b, 0xcb, 0x39, 0x6d, 0x14, 0xe5, 0x6b, 0xda, 0x4e, 0x74, 0xfd, 0xee, 0xe8, 0xfc, 0xdb, 0x81, 0x76, 0xf0, 0xf8, 0xfe, 0xfb, 0xef, 0x9b, 0xc1, 0x5d, 0xd2, 0x61, 0x6f, 0xe2, 0x87, 0x87, 0x7e, 0x99, 0x7c, 0xf6, 0xd9, 0xe0, 0xe4, 0x24, 0x3a, 0x3a, 0x1b, 0x5c, 0x7c, 0x66, 0x71, 0x1c, 0xd6, 0xb7, 0x37, 0x40, 0x49, 0x9b, 0x26, 0x15, 0xfc, 0xe5, 0xb3, 0xcf, 0xfe, 0x3f, 0x9c, 0x42, 0xb5, 0x6c, 0xe8, 0xa0, 0x02, 0x00, }; #define BUF_SIZE 0x10000 static voidpf zalloc_func(voidpf opaque, unsigned int items, unsigned int size) { (void) opaque; /* not a typo, keep it calloc() */ return (voidpf) calloc(items, size); |
︙ | ︙ |
Changes to jni/curl/src/tool_hugehelp.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_HUGEHELP_H #define HEADER_CURL_TOOL_HUGEHELP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_HUGEHELP_H #define HEADER_CURL_TOOL_HUGEHELP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_libinfo.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_libinfo.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_LIBINFO_H #define HEADER_CURL_TOOL_LIBINFO_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_LIBINFO_H #define HEADER_CURL_TOOL_LIBINFO_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_main.c.
︙ | ︙ | |||
162 163 164 165 166 167 168 | if(!result) { /* Initialise the config */ config_init(config->first); config->first->global = config; } else { | | | | | 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 | if(!result) { /* Initialise the config */ config_init(config->first); config->first->global = config; } else { errorf(config, "error retrieving curl library information\n"); free(config->first); } } else { errorf(config, "error initializing curl library\n"); free(config->first); } } else { errorf(config, "error initializing curl\n"); result = CURLE_FAILED_INIT; } return result; } static void free_globalconfig(struct GlobalConfig *config) |
︙ | ︙ |
Changes to jni/curl/src/tool_metalink.c.
︙ | ︙ | |||
115 116 117 118 119 120 121 | free(*(str)); \ *(str) = NULL; \ } \ if((val)) \ *(str) = strdup((val)); \ if(!(val)) \ return PARAM_NO_MEM; \ | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | free(*(str)); \ *(str) = NULL; \ } \ if((val)) \ *(str) = strdup((val)); \ if(!(val)) \ return PARAM_NO_MEM; \ } while(0) #if defined(USE_OPENSSL) /* Functions are already defined */ #elif defined(USE_GNUTLS_NETTLE) static int MD5_Init(MD5_CTX *ctx) { |
︙ | ︙ |
Changes to jni/curl/src/tool_msgs.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #include "tool_cfgable.h" #include "tool_msgs.h" #include "memdebug.h" /* keep this as LAST include */ #define WARN_PREFIX "Warning: " #define NOTE_PREFIX "Note: " static void voutf(struct GlobalConfig *config, const char *prefix, const char *fmt, va_list ap) { size_t width = (79 - strlen(prefix)); | > | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | #include "tool_cfgable.h" #include "tool_msgs.h" #include "memdebug.h" /* keep this as LAST include */ #define WARN_PREFIX "Warning: " #define NOTE_PREFIX "Note: " #define ERROR_PREFIX "curl: " static void voutf(struct GlobalConfig *config, const char *prefix, const char *fmt, va_list ap) { size_t width = (79 - strlen(prefix)); |
︙ | ︙ | |||
100 101 102 103 104 105 106 | { va_list ap; va_start(ap, fmt); voutf(config, WARN_PREFIX, fmt, ap); va_end(ap); } /* | | > < > > > > > > > > > > > > > > | 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 | { va_list ap; va_start(ap, fmt); voutf(config, WARN_PREFIX, fmt, ap); va_end(ap); } /* * Emit help formatted message on given stream. This is for errors with or * related to command line arguments. */ void helpf(FILE *errors, const char *fmt, ...) { if(fmt) { va_list ap; va_start(ap, fmt); fputs("curl: ", errors); /* prefix it */ vfprintf(errors, fmt, ap); va_end(ap); } fprintf(errors, "curl: try 'curl --help' " #ifdef USE_MANUAL "or 'curl --manual' " #endif "for more information\n"); } /* * Emit error message on error stream if not muted. When errors are not tied * to command line arguments, use helpf() for such errors. */ void errorf(struct GlobalConfig *config, const char *fmt, ...) { if(!config->mute) { va_list ap; va_start(ap, fmt); voutf(config, ERROR_PREFIX, fmt, ap); va_end(ap); } } |
Changes to jni/curl/src/tool_msgs.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_MSGS_H #define HEADER_CURL_TOOL_MSGS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | < > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #ifndef HEADER_CURL_TOOL_MSGS_H #define HEADER_CURL_TOOL_MSGS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "tool_setup.h" void warnf(struct GlobalConfig *config, const char *fmt, ...); void notef(struct GlobalConfig *config, const char *fmt, ...); void helpf(FILE *errors, const char *fmt, ...); void errorf(struct GlobalConfig *config, const char *fmt, ...); #endif /* HEADER_CURL_TOOL_MSGS_H */ |
Changes to jni/curl/src/tool_operate.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
640 641 642 643 644 645 646 647 648 649 650 651 652 653 | /* Close function-local opened file descriptors */ if(per->heads.fopened && per->heads.stream) fclose(per->heads.stream); if(per->heads.alloc_filename) Curl_safefree(per->heads.filename); curl_easy_cleanup(per->curl); if(outs->alloc_filename) free(outs->filename); free(per->this_url); free(per->separator_err); free(per->separator); free(per->outfile); | > > > > > > | 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 | /* Close function-local opened file descriptors */ if(per->heads.fopened && per->heads.stream) fclose(per->heads.stream); if(per->heads.alloc_filename) Curl_safefree(per->heads.filename); if(per->etag_save.fopened && per->etag_save.stream) fclose(per->etag_save.stream); if(per->etag_save.alloc_filename) Curl_safefree(per->etag_save.filename); curl_easy_cleanup(per->curl); if(outs->alloc_filename) free(outs->filename); free(per->this_url); free(per->separator_err); free(per->separator); free(per->outfile); |
︙ | ︙ | |||
696 697 698 699 700 701 702 | if(config->postfields) { if(config->use_httpget) { if(!httpgetfields) { /* Use the postfields data for a http get */ httpgetfields = state->httpgetfields = strdup(config->postfields); Curl_safefree(config->postfields); if(!httpgetfields) { | | | > > | 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 | if(config->postfields) { if(config->use_httpget) { if(!httpgetfields) { /* Use the postfields data for a http get */ httpgetfields = state->httpgetfields = strdup(config->postfields); Curl_safefree(config->postfields); if(!httpgetfields) { errorf(global, "out of memory\n"); result = CURLE_OUT_OF_MEMORY; } else if(SetHTTPrequest(config, (config->no_body?HTTPREQ_HEAD:HTTPREQ_GET), &config->httpreq)) { result = CURLE_FAILED_INIT; } } } else { if(SetHTTPrequest(config, HTTPREQ_SIMPLEPOST, &config->httpreq)) result = CURLE_FAILED_INIT; } if(result) { single_transfer_cleanup(config); return result; } } if(!state->urlnode) { /* first time caller, setup things */ state->urlnode = config->url_list; state->infilenum = 1; } |
︙ | ︙ | |||
758 759 760 761 762 763 764 | continue; /* next URL please */ } /* save outfile pattern before expansion */ if(urlnode->outfile && !state->outfiles) { state->outfiles = strdup(urlnode->outfile); if(!state->outfiles) { | | | 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 | continue; /* next URL please */ } /* save outfile pattern before expansion */ if(urlnode->outfile && !state->outfiles) { state->outfiles = strdup(urlnode->outfile); if(!state->outfiles) { errorf(global, "out of memory\n"); result = CURLE_OUT_OF_MEMORY; break; } } infiles = urlnode->infile; |
︙ | ︙ | |||
786 787 788 789 790 791 792 | if(!state->up && !infiles) Curl_nop_stmt; else { if(!state->uploadfile) { if(inglob) { result = glob_next_url(&state->uploadfile, inglob); if(result == CURLE_OUT_OF_MEMORY) | | | | 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 | if(!state->up && !infiles) Curl_nop_stmt; else { if(!state->uploadfile) { if(inglob) { result = glob_next_url(&state->uploadfile, inglob); if(result == CURLE_OUT_OF_MEMORY) errorf(global, "out of memory\n"); } else if(!state->up) { state->uploadfile = strdup(infiles); if(!state->uploadfile) { errorf(global, "out of memory\n"); result = CURLE_OUT_OF_MEMORY; } } } if(result) break; } |
︙ | ︙ | |||
825 826 827 828 829 830 831 | else urlnum = state->urlnum; /* if multiple files extracted to stdout, insert separators! */ separator = ((!state->outfiles || !strcmp(state->outfiles, "-")) && urlnum > 1); | < < < < < < > | 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 | else urlnum = state->urlnum; /* if multiple files extracted to stdout, insert separators! */ separator = ((!state->outfiles || !strcmp(state->outfiles, "-")) && urlnum > 1); if(state->up < state->infilenum) { struct per_transfer *per; struct OutStruct *outs; struct InStruct *input; struct OutStruct *heads; struct OutStruct *etag_save; struct HdrCbData *hdrcbdata = NULL; CURL *curl = curl_easy_init(); result = add_per_transfer(&per); if(result || !curl) { curl_easy_cleanup(curl); result = CURLE_OUT_OF_MEMORY; break; |
︙ | ︙ | |||
884 885 886 887 888 889 890 891 892 893 894 895 896 897 | } else { /* always use binary mode for protocol header output */ set_binmode(heads->stream); } } hdrcbdata = &per->hdrcbdata; outs = &per->outs; input = &per->input; per->outfile = NULL; | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | } else { /* always use binary mode for protocol header output */ set_binmode(heads->stream); } } /* --etag-save */ etag_save = &per->etag_save; etag_save->stream = stdout; etag_save->config = config; if(config->etag_save_file) { /* open file for output: */ if(strcmp(config->etag_save_file, "-")) { FILE *newfile = fopen(config->etag_save_file, "wb"); if(!newfile) { warnf( config->global, "Failed to open %s\n", config->etag_save_file); result = CURLE_WRITE_ERROR; break; } else { etag_save->filename = config->etag_save_file; etag_save->s_isreg = TRUE; etag_save->fopened = TRUE; etag_save->stream = newfile; } } else { /* always use binary mode for protocol header output */ set_binmode(etag_save->stream); } } /* --etag-compare */ if(config->etag_compare_file) { char *etag_from_file = NULL; char *header = NULL; /* open file for reading: */ FILE *file = fopen(config->etag_compare_file, FOPEN_READTEXT); if(!file) { errorf(config->global, "Failed to open %s\n", config->etag_compare_file); result = CURLE_READ_ERROR; break; } if((PARAM_OK == file2string(&etag_from_file, file)) && etag_from_file) { header = aprintf("If-None-Match: \"%s\"", etag_from_file); Curl_safefree(etag_from_file); } else header = aprintf("If-None-Match: \"\""); if(!header) { if(file) fclose(file); errorf(config->global, "Failed to allocate memory for custom etag header\n"); result = CURLE_OUT_OF_MEMORY; break; } /* add Etag from file to list of custom headers */ add2list(&config->headers, header); Curl_safefree(header); if(file) { fclose(file); } } hdrcbdata = &per->hdrcbdata; outs = &per->outs; input = &per->input; per->outfile = NULL; |
︙ | ︙ | |||
955 956 957 958 959 960 961 | if(!per->outfile) { /* extract the file name from the URL */ result = get_url_file_name(&per->outfile, per->this_url); if(result) break; if(!*per->outfile && !config->content_disposition) { | | | 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 | if(!per->outfile) { /* extract the file name from the URL */ result = get_url_file_name(&per->outfile, per->this_url); if(result) break; if(!*per->outfile && !config->content_disposition) { errorf(global, "Remote file name has no length!\n"); result = CURLE_WRITE_ERROR; break; } } else if(state->urls) { /* fill '#1' ... '#9' terms from URL pattern */ char *storefile = per->outfile; |
︙ | ︙ | |||
1012 1013 1014 1015 1016 1017 1018 | FILE *file = fopen(outfile, "ab", "ctx=stm", "rfm=stmlf", "rat=cr", "mrs=0"); #else /* open file for output: */ FILE *file = fopen(per->outfile, "ab"); #endif if(!file) { | | | 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 | FILE *file = fopen(outfile, "ab", "ctx=stm", "rfm=stmlf", "rat=cr", "mrs=0"); #else /* open file for output: */ FILE *file = fopen(per->outfile, "ab"); #endif if(!file) { errorf(global, "Can't open '%s'!\n", per->outfile); result = CURLE_WRITE_ERROR; break; } outs->fopened = TRUE; outs->stream = file; outs->init = config->resume_from; } |
︙ | ︙ | |||
1082 1083 1084 1085 1086 1087 1088 | if(per->uploadfile && config->resume_from_current) config->resume_from = -1; /* -1 will then force get-it-yourself */ if(output_expected(per->this_url, per->uploadfile) && outs->stream && isatty(fileno(outs->stream))) /* we send the output to a tty, therefore we switch off the progress meter */ | | | | 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 | if(per->uploadfile && config->resume_from_current) config->resume_from = -1; /* -1 will then force get-it-yourself */ if(output_expected(per->this_url, per->uploadfile) && outs->stream && isatty(fileno(outs->stream))) /* we send the output to a tty, therefore we switch off the progress meter */ per->noprogress = global->noprogress = global->isatty = TRUE; else { /* progress meter is per download, so restore config values */ per->noprogress = global->noprogress = orig_noprogress; global->isatty = orig_isatty; } if(urlnum > 1 && !global->mute) { per->separator_err = aprintf("\n[%lu/%lu]: %s --> %s", state->li + 1, urlnum, per->this_url, |
︙ | ︙ | |||
1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 | case HTTPREQ_SIMPLEPOST: my_setopt_str(curl, CURLOPT_POSTFIELDS, config->postfields); my_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, config->postfieldsize); break; case HTTPREQ_MIMEPOST: result = tool2curlmime(curl, config->mimeroot, &config->mimepost); if(result) break; my_setopt_mimepost(curl, CURLOPT_MIMEPOST, config->mimepost); break; default: break; | > > > | 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 | case HTTPREQ_SIMPLEPOST: my_setopt_str(curl, CURLOPT_POSTFIELDS, config->postfields); my_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, config->postfieldsize); break; case HTTPREQ_MIMEPOST: /* free previous remainders */ curl_mime_free(config->mimepost); config->mimepost = NULL; result = tool2curlmime(curl, config->mimeroot, &config->mimepost); if(result) break; my_setopt_mimepost(curl, CURLOPT_MIMEPOST, config->mimepost); break; default: break; |
︙ | ︙ | |||
1517 1518 1519 1520 1521 1522 1523 | if(config->path_as_is) my_setopt(curl, CURLOPT_PATH_AS_IS, 1L); if(built_in_protos & (CURLPROTO_SCP|CURLPROTO_SFTP)) { if(!config->insecure_ok) { char *home; char *file; | | > > > | 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 | if(config->path_as_is) my_setopt(curl, CURLOPT_PATH_AS_IS, 1L); if(built_in_protos & (CURLPROTO_SCP|CURLPROTO_SFTP)) { if(!config->insecure_ok) { char *home; char *file; result = CURLE_FAILED_INIT; home = homedir(); if(home) { file = aprintf("%s/.ssh/known_hosts", home); if(file) { /* new in curl 7.19.6 */ result = res_setopt_str(curl, CURLOPT_SSH_KNOWNHOSTS, file); curl_free(file); if(result == CURLE_UNKNOWN_OPTION) /* libssh2 version older than 1.1.1 */ result = CURLE_OK; } Curl_safefree(home); } else { errorf(global, "Failed to figure out user's home dir!"); } if(result) break; } } if(config->no_body || config->remote_time) { /* no body or use remote time */ |
︙ | ︙ | |||
1575 1576 1577 1578 1579 1580 1581 | progressbarinit(&per->progressbar, config); if((global->progressmode == CURL_PROGRESS_BAR) && !global->noprogress && !global->mute) { /* we want the alternative style, then we have to implement it ourselves! */ my_setopt(curl, CURLOPT_XFERINFOFUNCTION, tool_progress_cb); | | > > > > > > > | 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 | progressbarinit(&per->progressbar, config); if((global->progressmode == CURL_PROGRESS_BAR) && !global->noprogress && !global->mute) { /* we want the alternative style, then we have to implement it ourselves! */ my_setopt(curl, CURLOPT_XFERINFOFUNCTION, tool_progress_cb); my_setopt(curl, CURLOPT_XFERINFODATA, per); } else if(per->uploadfile && !strcmp(per->uploadfile, ".")) { /* when reading from stdin in non-blocking mode, we use the progress function to unpause a busy read */ my_setopt(curl, CURLOPT_NOPROGRESS, 0L); my_setopt(curl, CURLOPT_XFERINFOFUNCTION, tool_readbusy_cb); my_setopt(curl, CURLOPT_XFERINFODATA, per); } /* new in libcurl 7.24.0: */ if(config->dns_servers) my_setopt_str(curl, CURLOPT_DNS_SERVERS, config->dns_servers); /* new in libcurl 7.33.0: */ |
︙ | ︙ | |||
1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 | && (urlnode->flags & GETOUT_USEREMOTE)) hdrcbdata->honor_cd_filename = TRUE; else hdrcbdata->honor_cd_filename = FALSE; hdrcbdata->outs = outs; hdrcbdata->heads = heads; hdrcbdata->global = global; hdrcbdata->config = config; my_setopt(curl, CURLOPT_HEADERFUNCTION, tool_header_cb); my_setopt(curl, CURLOPT_HEADERDATA, per); if(config->resolve) | > | 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 | && (urlnode->flags & GETOUT_USEREMOTE)) hdrcbdata->honor_cd_filename = TRUE; else hdrcbdata->honor_cd_filename = FALSE; hdrcbdata->outs = outs; hdrcbdata->heads = heads; hdrcbdata->etag_save = etag_save; hdrcbdata->global = global; hdrcbdata->config = config; my_setopt(curl, CURLOPT_HEADERFUNCTION, tool_header_cb); my_setopt(curl, CURLOPT_HEADERDATA, per); if(config->resolve) |
︙ | ︙ | |||
1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 | per->retry_sleep_default = (config->retry_delay) ? config->retry_delay*1000L : RETRY_SLEEP_DEFAULT; /* ms */ per->retry_numretries = config->req_retry; per->retry_sleep = per->retry_sleep_default; /* ms */ per->retrystart = tvnow(); state->li++; } else { /* Free this URL node data without destroying the the node itself nor modifying next pointer. */ Curl_safefree(urlnode->outfile); Curl_safefree(urlnode->infile); urlnode->flags = 0; | > > > > > > > > > | 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 | per->retry_sleep_default = (config->retry_delay) ? config->retry_delay*1000L : RETRY_SLEEP_DEFAULT; /* ms */ per->retry_numretries = config->req_retry; per->retry_sleep = per->retry_sleep_default; /* ms */ per->retrystart = tvnow(); state->li++; /* Here's looping around each globbed URL */ if(state->li >= urlnum) { state->li = 0; state->urlnum = 0; /* forced reglob of URLs */ glob_cleanup(state->urls); state->urls = NULL; state->up++; Curl_safefree(state->uploadfile); /* clear it to get the next */ } } else { /* Free this URL node data without destroying the the node itself nor modifying next pointer. */ Curl_safefree(urlnode->outfile); Curl_safefree(urlnode->infile); urlnode->flags = 0; |
︙ | ︙ | |||
1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 | /* already added */ continue; result = pre_transfer(global, per); if(result) break; (void)curl_easy_setopt(per->curl, CURLOPT_PRIVATE, per); (void)curl_easy_setopt(per->curl, CURLOPT_XFERINFOFUNCTION, xferinfo_cb); (void)curl_easy_setopt(per->curl, CURLOPT_XFERINFODATA, per); mcode = curl_multi_add_handle(multi, per->curl); if(mcode) return CURLE_OUT_OF_MEMORY; | > > > > | 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 | /* already added */ continue; result = pre_transfer(global, per); if(result) break; /* parallel connect means that we don't set PIPEWAIT since pipewait will make libcurl prefer multiplexing */ (void)curl_easy_setopt(per->curl, CURLOPT_PIPEWAIT, global->parallel_connect ? 0L : 1L); (void)curl_easy_setopt(per->curl, CURLOPT_PRIVATE, per); (void)curl_easy_setopt(per->curl, CURLOPT_XFERINFOFUNCTION, xferinfo_cb); (void)curl_easy_setopt(per->curl, CURLOPT_XFERINFODATA, per); mcode = curl_multi_add_handle(multi, per->curl); if(mcode) return CURLE_OUT_OF_MEMORY; |
︙ | ︙ | |||
2005 2006 2007 2008 2009 2010 2011 | multi = curl_multi_init(); if(!multi) return CURLE_OUT_OF_MEMORY; result = add_parallel_transfers(global, multi, share, &more_transfers, &added_transfers); | | > > | 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 | multi = curl_multi_init(); if(!multi) return CURLE_OUT_OF_MEMORY; result = add_parallel_transfers(global, multi, share, &more_transfers, &added_transfers); if(result) { curl_multi_cleanup(multi); return result; } while(!mcode && (still_running || more_transfers)) { mcode = curl_multi_poll(multi, NULL, 0, 1000, NULL); if(!mcode) mcode = curl_multi_perform(multi, &still_running); progress_meter(global, &start, FALSE); |
︙ | ︙ | |||
2189 2190 2191 2192 2193 2194 2195 | 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); | | | | 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 | 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); 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); 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); errorf(global, "out of memory\n"); return CURLE_OUT_OF_MEMORY; } } } } if(env) |
︙ | ︙ | |||
2397 2398 2399 2400 2401 2402 2403 | /* Dump the libcurl code if previously enabled */ dumpeasysrc(global); } #endif } else | | | 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 | /* Dump the libcurl code if previously enabled */ dumpeasysrc(global); } #endif } else errorf(global, "out of memory\n"); } } return result; } |
Changes to jni/curl/src/tool_operate.h.
︙ | ︙ | |||
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | bool metalink_next_res; metalinkfile *mlfile; metalink_resource *mlres; char *this_url; char *outfile; bool infdopen; /* TRUE if infd needs closing */ int infd; struct ProgressData progressbar; struct OutStruct outs; struct OutStruct heads; struct InStruct input; struct HdrCbData hdrcbdata; char errorbuffer[CURL_ERROR_SIZE]; bool added; /* set TRUE when added to the multi handle */ /* for parallel progress bar */ | > > | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | bool metalink_next_res; metalinkfile *mlfile; metalink_resource *mlres; char *this_url; char *outfile; bool infdopen; /* TRUE if infd needs closing */ int infd; bool noprogress; struct ProgressData progressbar; struct OutStruct outs; struct OutStruct heads; struct OutStruct etag_save; struct InStruct input; struct HdrCbData hdrcbdata; char errorbuffer[CURL_ERROR_SIZE]; bool added; /* set TRUE when added to the multi handle */ /* for parallel progress bar */ |
︙ | ︙ |
Changes to jni/curl/src/tool_operhlp.c.
︙ | ︙ | |||
111 112 113 114 115 116 117 | /* there is a trailing slash on the URL */ urlbuffer = aprintf("%s%s", url, encfile); else /* there is no trailing slash on the URL */ urlbuffer = aprintf("%s/%s", url, encfile); curl_free(encfile); | < | | > | < | < > | > > | 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 | /* there is a trailing slash on the URL */ urlbuffer = aprintf("%s%s", url, encfile); else /* there is no trailing slash on the URL */ urlbuffer = aprintf("%s/%s", url, encfile); curl_free(encfile); if(!urlbuffer) { url = NULL; goto end; } Curl_safefree(url); url = urlbuffer; /* use our new URL instead! */ } } end: curl_easy_cleanup(curl); return url; } /* Extracts the name portion of the URL. * Returns a pointer to a heap-allocated string or NULL if * no name part, at location indicated by first argument. |
︙ | ︙ |
Changes to jni/curl/src/tool_panykey.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_panykey.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_PANYKEY_H #define HEADER_CURL_TOOL_PANYKEY_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_PANYKEY_H #define HEADER_CURL_TOOL_PANYKEY_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_paramhlp.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
61 62 63 64 65 66 67 | char *string = NULL; if(file) { char *ptr; size_t alloc = 512; size_t alloc_needed; char buffer[256]; size_t stringlen = 0; | | | 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | char *string = NULL; if(file) { char *ptr; size_t alloc = 512; size_t alloc_needed; char buffer[256]; size_t stringlen = 0; string = calloc(1, alloc); if(!string) return PARAM_NO_MEM; while(fgets(buffer, sizeof(buffer), file)) { size_t buflen; ptr = strchr(buffer, '\r'); if(ptr) |
︙ | ︙ | |||
556 557 558 559 560 561 562 | warnf(config->global, "unrecognized ftp CCC method '%s', using default\n", str); return CURLFTPSSL_CCC_PASSIVE; } | | | 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 | warnf(config->global, "unrecognized ftp CCC method '%s', using default\n", str); return CURLFTPSSL_CCC_PASSIVE; } long delegation(struct OperationConfig *config, const char *str) { if(curl_strequal("none", str)) return CURLGSSAPI_DELEGATION_NONE; if(curl_strequal("policy", str)) return CURLGSSAPI_DELEGATION_POLICY_FLAG; if(curl_strequal("always", str)) return CURLGSSAPI_DELEGATION_FLAG; |
︙ | ︙ | |||
602 603 604 605 606 607 608 | return result; } /* Check we have a user agent */ if(!config->useragent) { config->useragent = my_useragent(); if(!config->useragent) { | | | 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 | return result; } /* Check we have a user agent */ if(!config->useragent) { config->useragent = my_useragent(); if(!config->useragent) { errorf(config->global, "out of memory\n"); result = CURLE_OUT_OF_MEMORY; } } return result; } |
︙ | ︙ |
Changes to jni/curl/src/tool_paramhlp.h.
︙ | ︙ | |||
46 47 48 49 50 51 52 | ParameterError add2list(struct curl_slist **list, const char *ptr); int ftpfilemethod(struct OperationConfig *config, const char *str); int ftpcccmethod(struct OperationConfig *config, const char *str); | | | 46 47 48 49 50 51 52 53 54 55 56 57 | ParameterError add2list(struct curl_slist **list, const char *ptr); int ftpfilemethod(struct OperationConfig *config, const char *str); int ftpcccmethod(struct OperationConfig *config, const char *str); long delegation(struct OperationConfig *config, const char *str); ParameterError str2tls_max(long *val, const char *str); #endif /* HEADER_CURL_TOOL_PARAMHLP_H */ |
Changes to jni/curl/src/tool_parsecfg.c.
︙ | ︙ | |||
93 94 95 96 97 98 99 100 101 102 103 104 105 106 | filename = pathalloc; } #else /* Windows */ if(home) { int i = 0; char prefix = '.'; do { /* check for .curlrc then _curlrc in the home dir */ pathalloc = curl_maprintf("%s%s%ccurlrc", home, DIR_CHAR, prefix); if(!pathalloc) { free(home); return 1; /* out of memory */ } | > > | 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | filename = pathalloc; } #else /* Windows */ if(home) { int i = 0; char prefix = '.'; do { /* if it was allocated in a previous attempt */ curl_free(pathalloc); /* check for .curlrc then _curlrc in the home dir */ pathalloc = curl_maprintf("%s%s%ccurlrc", home, DIR_CHAR, prefix); if(!pathalloc) { free(home); return 1; /* out of memory */ } |
︙ | ︙ | |||
281 282 283 284 285 286 287 | } if(file != stdin) fclose(file); } else rc = 1; /* couldn't open the file */ | | | 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 | } if(file != stdin) fclose(file); } else rc = 1; /* couldn't open the file */ curl_free(pathalloc); return rc; } /* * Copies the string from line to the buffer at param, unquoting * backslash-quoted characters and NUL-terminating the output string. * Stops at the first non-backslash-quoted double quote character or the |
︙ | ︙ |
Changes to jni/curl/src/tool_parsecfg.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_PARSECFG_H #define HEADER_CURL_TOOL_PARSECFG_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_PARSECFG_H #define HEADER_CURL_TOOL_PARSECFG_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_progress.c.
︙ | ︙ | |||
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | int xferinfo_cb(void *clientp, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow) { struct per_transfer *per = clientp; per->dltotal = dltotal; per->dlnow = dlnow; per->ultotal = ultotal; per->ulnow = ulnow; return 0; } /* Provide a string that is 2 + 1 + 2 + 1 + 2 = 8 letters long (plus the zero byte) */ static void time2str(char *r, curl_off_t seconds) { | > > > > > > > > | 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 | int xferinfo_cb(void *clientp, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow) { struct per_transfer *per = clientp; struct OutStruct *outs = &per->outs; struct OperationConfig *config = outs->config; per->dltotal = dltotal; per->dlnow = dlnow; per->ultotal = ultotal; per->ulnow = ulnow; if(config->readbusy) { config->readbusy = FALSE; curl_easy_pause(per->curl, CURLPAUSE_CONT); } return 0; } /* Provide a string that is 2 + 1 + 2 + 1 + 2 = 8 letters long (plus the zero byte) */ static void time2str(char *r, curl_off_t seconds) { |
︙ | ︙ |
Changes to jni/curl/src/tool_sdecls.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_SDECLS_H #define HEADER_CURL_TOOL_SDECLS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_SDECLS_H #define HEADER_CURL_TOOL_SDECLS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_setopt.c.
︙ | ︙ | |||
120 121 122 123 124 125 126 127 128 129 130 131 132 133 | NV(CURLUSESSL_ALL), NVEND, }; const NameValueUnsigned setopt_nv_CURLSSLOPT[] = { NV(CURLSSLOPT_ALLOW_BEAST), NV(CURLSSLOPT_NO_REVOKE), NVEND, }; const NameValue setopt_nv_CURL_NETRC[] = { NV(CURL_NETRC_IGNORED), NV(CURL_NETRC_OPTIONAL), NV(CURL_NETRC_REQUIRED), | > | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | NV(CURLUSESSL_ALL), NVEND, }; const NameValueUnsigned setopt_nv_CURLSSLOPT[] = { NV(CURLSSLOPT_ALLOW_BEAST), NV(CURLSSLOPT_NO_REVOKE), NV(CURLSSLOPT_NO_PARTIALCHAIN), NVEND, }; const NameValue setopt_nv_CURL_NETRC[] = { NV(CURL_NETRC_IGNORED), NV(CURL_NETRC_OPTIONAL), NV(CURL_NETRC_REQUIRED), |
︙ | ︙ | |||
177 178 179 180 181 182 183 | }; /* Format and add code; jump to nomem on malloc error */ #define ADD(args) do { \ ret = easysrc_add args; \ if(ret) \ goto nomem; \ | | | | | 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 | }; /* Format and add code; jump to nomem on malloc error */ #define ADD(args) do { \ ret = easysrc_add args; \ if(ret) \ goto nomem; \ } while(0) #define ADDF(args) do { \ ret = easysrc_addf args; \ if(ret) \ goto nomem; \ } while(0) #define NULL_CHECK(p) do { \ if(!p) { \ ret = CURLE_OUT_OF_MEMORY; \ goto nomem; \ } \ } while(0) #define DECL0(s) ADD((&easysrc_decl, s)) #define DECL1(f,a) ADDF((&easysrc_decl, f,a)) #define DATA0(s) ADD((&easysrc_data, s)) #define DATA1(f,a) ADDF((&easysrc_data, f,a)) #define DATA2(f,a,b) ADDF((&easysrc_data, f,a,b)) |
︙ | ︙ |
Changes to jni/curl/src/tool_setopt.h.
︙ | ︙ | |||
31 32 33 34 35 36 37 | #define SETOPT_CHECK(v,opt) do { \ if(!tool_setopt_skip(opt)) { \ result = (v); \ if(result) \ break; \ } \ | | | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #define SETOPT_CHECK(v,opt) do { \ if(!tool_setopt_skip(opt)) { \ result = (v); \ if(result) \ break; \ } \ } while(0) /* allow removed features to simulate success: */ bool tool_setopt_skip(CURLoption tag); #ifndef CURL_DISABLE_LIBCURL_OPTION /* Associate symbolic names with option values */ |
︙ | ︙ |
Changes to jni/curl/src/tool_setup.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_SETUP_H #define HEADER_CURL_TOOL_SETUP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_SETUP_H #define HEADER_CURL_TOOL_SETUP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_sleep.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_sleep.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_SLEEP_H #define HEADER_CURL_TOOL_SLEEP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_SLEEP_H #define HEADER_CURL_TOOL_SLEEP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_strdup.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_TOOL_STRDUP_H #define HEADER_TOOL_STRDUP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_TOOL_STRDUP_H #define HEADER_TOOL_STRDUP_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_urlglob.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_URLGLOB_H #define HEADER_CURL_TOOL_URLGLOB_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_URLGLOB_H #define HEADER_CURL_TOOL_URLGLOB_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_util.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_util.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_UTIL_H #define HEADER_CURL_TOOL_UTIL_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_UTIL_H #define HEADER_CURL_TOOL_UTIL_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_version.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_VERSION_H #define HEADER_CURL_TOOL_VERSION_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #ifndef HEADER_CURL_TOOL_VERSION_H #define HEADER_CURL_TOOL_VERSION_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include <curl/curlver.h> #define CURL_NAME "curl" #define CURL_COPYRIGHT LIBCURL_COPYRIGHT #define CURL_VERSION "7.68.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_vms.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_vms.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_VMS_H #define HEADER_CURL_TOOL_VMS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_VMS_H #define HEADER_CURL_TOOL_VMS_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_writeout.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_WRITEOUT_H #define HEADER_CURL_TOOL_WRITEOUT_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_WRITEOUT_H #define HEADER_CURL_TOOL_WRITEOUT_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/src/tool_xattr.h.
1 2 3 4 5 6 7 8 9 | #ifndef HEADER_CURL_TOOL_XATTR_H #define HEADER_CURL_TOOL_XATTR_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #ifndef HEADER_CURL_TOOL_XATTR_H #define HEADER_CURL_TOOL_XATTR_H /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ |
Changes to jni/curl/tests/Makefile.am.
︙ | ︙ | |||
34 35 36 37 38 39 40 | EXTRA_DIST = ftpserver.pl httpserver.pl secureserver.pl runtests.pl \ getpart.pm FILEFORMAT README stunnel.pem memanalyze.pl testcurl.pl \ valgrind.pm ftp.pm sshserver.pl sshhelp.pm pathhelp.pm testcurl.1 runtests.1 \ serverhelp.pm tftpserver.pl rtspserver.pl directories.pm symbol-scan.pl \ CMakeLists.txt mem-include-scan.pl valgrind.supp extern-scan.pl \ manpage-scan.pl nroff-scan.pl http2-server.pl dictserver.py \ negtelnetserver.py $(SMBDEPS) objnames-test08.sh objnames-test10.sh \ | | | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | EXTRA_DIST = ftpserver.pl httpserver.pl secureserver.pl runtests.pl \ getpart.pm FILEFORMAT README stunnel.pem memanalyze.pl testcurl.pl \ valgrind.pm ftp.pm sshserver.pl sshhelp.pm pathhelp.pm testcurl.1 runtests.1 \ serverhelp.pm tftpserver.pl rtspserver.pl directories.pm symbol-scan.pl \ CMakeLists.txt mem-include-scan.pl valgrind.supp extern-scan.pl \ manpage-scan.pl nroff-scan.pl http2-server.pl dictserver.py \ negtelnetserver.py $(SMBDEPS) objnames-test08.sh objnames-test10.sh \ objnames.inc disable-scan.pl manpage-syntax.pl error-codes.pl DISTCLEANFILES = configurehelp.pm # we have two variables here to make sure DIST_SUBDIRS won't get 'unit' # added twice as then targets such as 'distclean' misbehave and try to # do things twice in that subdir at times (and thus fails). if BUILD_UNITTESTS |
︙ | ︙ |
Changes to jni/curl/tests/Makefile.in.
︙ | ︙ | |||
338 339 340 341 342 343 344 345 346 347 348 349 350 351 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ | > | 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_BEARSSL = @USE_BEARSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ |
︙ | ︙ | |||
434 435 436 437 438 439 440 | EXTRA_DIST = ftpserver.pl httpserver.pl secureserver.pl runtests.pl \ getpart.pm FILEFORMAT README stunnel.pem memanalyze.pl testcurl.pl \ valgrind.pm ftp.pm sshserver.pl sshhelp.pm pathhelp.pm testcurl.1 runtests.1 \ serverhelp.pm tftpserver.pl rtspserver.pl directories.pm symbol-scan.pl \ CMakeLists.txt mem-include-scan.pl valgrind.supp extern-scan.pl \ manpage-scan.pl nroff-scan.pl http2-server.pl dictserver.py \ negtelnetserver.py $(SMBDEPS) objnames-test08.sh objnames-test10.sh \ | | | 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 | EXTRA_DIST = ftpserver.pl httpserver.pl secureserver.pl runtests.pl \ getpart.pm FILEFORMAT README stunnel.pem memanalyze.pl testcurl.pl \ valgrind.pm ftp.pm sshserver.pl sshhelp.pm pathhelp.pm testcurl.1 runtests.1 \ serverhelp.pm tftpserver.pl rtspserver.pl directories.pm symbol-scan.pl \ CMakeLists.txt mem-include-scan.pl valgrind.supp extern-scan.pl \ manpage-scan.pl nroff-scan.pl http2-server.pl dictserver.py \ negtelnetserver.py $(SMBDEPS) objnames-test08.sh objnames-test10.sh \ objnames.inc disable-scan.pl manpage-syntax.pl error-codes.pl DISTCLEANFILES = configurehelp.pm @BUILD_UNITTESTS_FALSE@BUILD_UNIT = # we have two variables here to make sure DIST_SUBDIRS won't get 'unit' # added twice as then targets such as 'distclean' misbehave and try to # do things twice in that subdir at times (and thus fails). |
︙ | ︙ |
Changes to jni/curl/tests/certs/Makefile.in.
︙ | ︙ | |||
317 318 319 320 321 322 323 324 325 326 327 328 329 330 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ | > | 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_BEARSSL = @USE_BEARSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ |
︙ | ︙ |
Changes to jni/curl/tests/certs/scripts/Makefile.in.
︙ | ︙ | |||
257 258 259 260 261 262 263 264 265 266 267 268 269 270 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ | > | 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_BEARSSL = @USE_BEARSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ |
︙ | ︙ |
Changes to jni/curl/tests/data/Makefile.in.
︙ | ︙ | |||
17 18 19 20 21 22 23 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
279 280 281 282 283 284 285 286 287 288 289 290 291 292 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ | > | 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_BEARSSL = @USE_BEARSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ |
︙ | ︙ | |||
395 396 397 398 399 400 401 | test271 test272 test273 test274 test275 test276 test277 test278 test279 \ test280 test281 test282 test283 test284 test285 test286 test287 test288 \ test289 test290 test291 test292 test293 test294 test295 test296 test297 \ test298 test299 test300 test301 test302 test303 test304 test305 test306 \ test307 test308 test309 test310 test311 test312 test313 test314 test315 \ test316 test317 test318 test319 test320 test321 test322 test323 test324 \ test325 test326 test327 test328 test329 test330 test331 test332 test333 \ | | | < > > | 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 | test271 test272 test273 test274 test275 test276 test277 test278 test279 \ test280 test281 test282 test283 test284 test285 test286 test287 test288 \ test289 test290 test291 test292 test293 test294 test295 test296 test297 \ test298 test299 test300 test301 test302 test303 test304 test305 test306 \ test307 test308 test309 test310 test311 test312 test313 test314 test315 \ test316 test317 test318 test319 test320 test321 test322 test323 test324 \ test325 test326 test327 test328 test329 test330 test331 test332 test333 \ test334 test335 test336 test337 test338 test339 test340 test341 test342 \ test343 \ test350 test351 test352 test353 test354 test355 test356 \ test393 test394 test395 \ \ test400 test401 test402 test403 test404 test405 test406 test407 test408 \ test409 \ \ test490 test491 test492 \ \ test500 test501 test502 test503 test504 test505 test506 test507 test508 \ test509 test510 test511 test512 test513 test514 test515 test516 test517 \ test518 test519 test520 test521 test522 test523 test524 test525 test526 \ test527 test528 test529 test530 test531 test532 test533 test534 test535 \ test537 test538 test539 test540 test541 test542 test543 test544 \ test545 test546 test547 test548 test549 test550 test551 test552 test553 \ |
︙ | ︙ | |||
469 470 471 472 473 474 475 | test1112 test1113 test1114 test1115 test1116 test1117 test1118 test1119 \ test1120 test1121 test1122 test1123 test1124 test1125 test1126 test1127 \ test1128 test1129 test1130 test1131 test1132 test1133 test1134 test1135 \ test1136 test1137 test1138 test1139 test1140 test1141 test1142 test1143 \ test1144 test1145 test1146 test1147 test1148 test1149 test1150 test1151 \ test1152 test1153 test1154 test1155 test1156 test1157 test1158 test1159 \ test1160 test1161 test1162 test1163 test1164 test1165 test1166 \ | | | | | 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 | test1112 test1113 test1114 test1115 test1116 test1117 test1118 test1119 \ test1120 test1121 test1122 test1123 test1124 test1125 test1126 test1127 \ test1128 test1129 test1130 test1131 test1132 test1133 test1134 test1135 \ test1136 test1137 test1138 test1139 test1140 test1141 test1142 test1143 \ test1144 test1145 test1146 test1147 test1148 test1149 test1150 test1151 \ test1152 test1153 test1154 test1155 test1156 test1157 test1158 test1159 \ test1160 test1161 test1162 test1163 test1164 test1165 test1166 \ test1170 test1171 test1172 test1173 test1174 test1175 \ \ test1200 test1201 test1202 test1203 test1204 test1205 test1206 test1207 \ test1208 test1209 test1210 test1211 test1212 test1213 test1214 test1215 \ test1216 test1217 test1218 test1219 \ test1220 test1221 test1222 test1223 test1224 test1225 test1226 test1227 \ test1228 test1229 test1230 test1231 test1232 test1233 test1234 test1235 \ test1236 test1237 test1238 test1239 test1240 test1241 test1242 test1243 \ test1244 test1245 test1246 test1247 test1248 test1249 test1250 test1251 \ test1252 test1253 test1254 test1255 test1256 test1257 test1258 test1259 \ test1260 test1261 test1262 test1263 test1264 test1265 test1266 test1267 \ test1268 test1269 test1270 test1271 \ \ test1280 test1281 test1282 test1283 test1284 test1285 test1286 test1287 \ test1288 test1289 test1290 test1291 test1292 test1293 \ test1298 test1299 \ test1300 test1301 test1302 test1303 test1304 test1305 test1306 test1307 \ test1308 test1309 test1310 test1311 test1312 test1313 test1314 test1315 \ test1316 test1317 test1318 test1319 test1320 test1321 test1322 test1323 \ test1324 test1325 test1326 test1327 test1328 test1329 test1330 test1331 \ test1332 test1333 test1334 test1335 test1336 test1337 test1338 test1339 \ test1340 test1341 test1342 test1343 test1344 test1345 test1346 test1347 \ |
︙ | ︙ | |||
515 516 517 518 519 520 521 | test1508 test1509 test1510 test1511 test1512 test1513 test1514 test1515 \ test1516 test1517 test1518 test1519 test1520 test1521 test1522 test1523 \ \ test1525 test1526 test1527 test1528 test1529 test1530 test1531 test1532 \ test1533 test1534 test1535 test1536 test1537 test1538 \ test1540 test1541 \ test1550 test1551 test1552 test1553 test1554 test1555 test1556 test1557 \ | | | 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 | test1508 test1509 test1510 test1511 test1512 test1513 test1514 test1515 \ test1516 test1517 test1518 test1519 test1520 test1521 test1522 test1523 \ \ test1525 test1526 test1527 test1528 test1529 test1530 test1531 test1532 \ test1533 test1534 test1535 test1536 test1537 test1538 \ test1540 test1541 \ test1550 test1551 test1552 test1553 test1554 test1555 test1556 test1557 \ test1558 test1559 test1560 test1561 test1562 test1563 test1564 test1565 \ \ test1590 test1591 test1592 test1593 test1594 test1595 test1596 \ \ test1600 test1601 test1602 test1603 test1604 test1605 test1606 test1607 \ test1608 test1609 test1620 test1621 \ \ test1650 test1651 test1652 test1653 test1654 test1655 \ |
︙ | ︙ |
Changes to jni/curl/tests/data/Makefile.inc.
1 2 3 4 5 6 7 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
53 54 55 56 57 58 59 | test271 test272 test273 test274 test275 test276 test277 test278 test279 \ test280 test281 test282 test283 test284 test285 test286 test287 test288 \ test289 test290 test291 test292 test293 test294 test295 test296 test297 \ test298 test299 test300 test301 test302 test303 test304 test305 test306 \ test307 test308 test309 test310 test311 test312 test313 test314 test315 \ test316 test317 test318 test319 test320 test321 test322 test323 test324 \ test325 test326 test327 test328 test329 test330 test331 test332 test333 \ | | | < > > | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | test271 test272 test273 test274 test275 test276 test277 test278 test279 \ test280 test281 test282 test283 test284 test285 test286 test287 test288 \ test289 test290 test291 test292 test293 test294 test295 test296 test297 \ test298 test299 test300 test301 test302 test303 test304 test305 test306 \ test307 test308 test309 test310 test311 test312 test313 test314 test315 \ test316 test317 test318 test319 test320 test321 test322 test323 test324 \ test325 test326 test327 test328 test329 test330 test331 test332 test333 \ test334 test335 test336 test337 test338 test339 test340 test341 test342 \ test343 \ test350 test351 test352 test353 test354 test355 test356 \ test393 test394 test395 \ \ test400 test401 test402 test403 test404 test405 test406 test407 test408 \ test409 \ \ test490 test491 test492 \ \ test500 test501 test502 test503 test504 test505 test506 test507 test508 \ test509 test510 test511 test512 test513 test514 test515 test516 test517 \ test518 test519 test520 test521 test522 test523 test524 test525 test526 \ test527 test528 test529 test530 test531 test532 test533 test534 test535 \ test537 test538 test539 test540 test541 test542 test543 test544 \ test545 test546 test547 test548 test549 test550 test551 test552 test553 \ |
︙ | ︙ | |||
127 128 129 130 131 132 133 | test1112 test1113 test1114 test1115 test1116 test1117 test1118 test1119 \ test1120 test1121 test1122 test1123 test1124 test1125 test1126 test1127 \ test1128 test1129 test1130 test1131 test1132 test1133 test1134 test1135 \ test1136 test1137 test1138 test1139 test1140 test1141 test1142 test1143 \ test1144 test1145 test1146 test1147 test1148 test1149 test1150 test1151 \ test1152 test1153 test1154 test1155 test1156 test1157 test1158 test1159 \ test1160 test1161 test1162 test1163 test1164 test1165 test1166 \ | | | | | 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 | test1112 test1113 test1114 test1115 test1116 test1117 test1118 test1119 \ test1120 test1121 test1122 test1123 test1124 test1125 test1126 test1127 \ test1128 test1129 test1130 test1131 test1132 test1133 test1134 test1135 \ test1136 test1137 test1138 test1139 test1140 test1141 test1142 test1143 \ test1144 test1145 test1146 test1147 test1148 test1149 test1150 test1151 \ test1152 test1153 test1154 test1155 test1156 test1157 test1158 test1159 \ test1160 test1161 test1162 test1163 test1164 test1165 test1166 \ test1170 test1171 test1172 test1173 test1174 test1175 \ \ test1200 test1201 test1202 test1203 test1204 test1205 test1206 test1207 \ test1208 test1209 test1210 test1211 test1212 test1213 test1214 test1215 \ test1216 test1217 test1218 test1219 \ test1220 test1221 test1222 test1223 test1224 test1225 test1226 test1227 \ test1228 test1229 test1230 test1231 test1232 test1233 test1234 test1235 \ test1236 test1237 test1238 test1239 test1240 test1241 test1242 test1243 \ test1244 test1245 test1246 test1247 test1248 test1249 test1250 test1251 \ test1252 test1253 test1254 test1255 test1256 test1257 test1258 test1259 \ test1260 test1261 test1262 test1263 test1264 test1265 test1266 test1267 \ test1268 test1269 test1270 test1271 \ \ test1280 test1281 test1282 test1283 test1284 test1285 test1286 test1287 \ test1288 test1289 test1290 test1291 test1292 test1293 \ test1298 test1299 \ test1300 test1301 test1302 test1303 test1304 test1305 test1306 test1307 \ test1308 test1309 test1310 test1311 test1312 test1313 test1314 test1315 \ test1316 test1317 test1318 test1319 test1320 test1321 test1322 test1323 \ test1324 test1325 test1326 test1327 test1328 test1329 test1330 test1331 \ test1332 test1333 test1334 test1335 test1336 test1337 test1338 test1339 \ test1340 test1341 test1342 test1343 test1344 test1345 test1346 test1347 \ |
︙ | ︙ | |||
173 174 175 176 177 178 179 | test1508 test1509 test1510 test1511 test1512 test1513 test1514 test1515 \ test1516 test1517 test1518 test1519 test1520 test1521 test1522 test1523 \ \ test1525 test1526 test1527 test1528 test1529 test1530 test1531 test1532 \ test1533 test1534 test1535 test1536 test1537 test1538 \ test1540 test1541 \ test1550 test1551 test1552 test1553 test1554 test1555 test1556 test1557 \ | | | 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | test1508 test1509 test1510 test1511 test1512 test1513 test1514 test1515 \ test1516 test1517 test1518 test1519 test1520 test1521 test1522 test1523 \ \ test1525 test1526 test1527 test1528 test1529 test1530 test1531 test1532 \ test1533 test1534 test1535 test1536 test1537 test1538 \ test1540 test1541 \ test1550 test1551 test1552 test1553 test1554 test1555 test1556 test1557 \ test1558 test1559 test1560 test1561 test1562 test1563 test1564 test1565 \ \ test1590 test1591 test1592 test1593 test1594 test1595 test1596 \ \ test1600 test1601 test1602 test1603 test1604 test1605 test1606 test1607 \ test1608 test1609 test1620 test1621 \ \ test1650 test1651 test1652 test1653 test1654 test1655 \ |
︙ | ︙ |
Changes to jni/curl/tests/data/test1008.
︙ | ︙ | |||
82 83 84 85 86 87 88 89 90 91 92 93 94 95 | # Client-side <client> <server> http </server> <features> NTLM !SSPI debug proxy </features> <name> HTTP proxy CONNECT auth NTLM with chunked-encoded 407 response </name> | > | 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | # Client-side <client> <server> http </server> <features> NTLM SSL !SSPI debug proxy </features> <name> HTTP proxy CONNECT auth NTLM with chunked-encoded 407 response </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1021.
︙ | ︙ | |||
87 88 89 90 91 92 93 94 95 96 97 98 99 100 | # Client-side <client> <server> http </server> <features> NTLM !SSPI debug proxy </features> <name> HTTP proxy CONNECT with any proxyauth and proxy offers NTLM and close </name> | > | 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | # Client-side <client> <server> http </server> <features> NTLM SSL !SSPI debug proxy </features> <name> HTTP proxy CONNECT with any proxyauth and proxy offers NTLM and close </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1097.
︙ | ︙ | |||
41 42 43 44 45 46 47 48 49 50 51 52 53 54 | # Client-side <client> <server> https </server> <features> NTLM !SSPI </features> <name> HTTP POST using CONNECT with --proxy-ntlm but no auth is required </name> <command> http://test.a.galaxy.far.far.away.1097:%HTTPPORT/1097 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-ntlm -d "dummy=value" -p | > | 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | # Client-side <client> <server> https </server> <features> NTLM SSL !SSPI </features> <name> HTTP POST using CONNECT with --proxy-ntlm but no auth is required </name> <command> http://test.a.galaxy.far.far.away.1097:%HTTPPORT/1097 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:bar --proxy-ntlm -d "dummy=value" -p |
︙ | ︙ |
Changes to jni/curl/tests/data/test1100.
︙ | ︙ | |||
59 60 61 62 63 64 65 66 67 68 69 70 71 72 | </reply> # Client-side <client> <features> NTLM !SSPI debug </features> <server> http </server> <name> | > | 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | </reply> # Client-side <client> <features> NTLM SSL !SSPI debug </features> <server> http </server> <name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1135.
︙ | ︙ | |||
88 89 90 91 92 93 94 95 96 97 98 99 100 101 | CURL_EXTERN char *curl_mvaprintf(const char *format, va_list args); CURL_EXTERN CURLM *curl_multi_init(void); CURL_EXTERN CURLMcode curl_multi_add_handle(CURLM *multi_handle, CURL_EXTERN CURLMcode curl_multi_remove_handle(CURLM *multi_handle, CURL_EXTERN CURLMcode curl_multi_fdset(CURLM *multi_handle, CURL_EXTERN CURLMcode curl_multi_wait(CURLM *multi_handle, CURL_EXTERN CURLMcode curl_multi_poll(CURLM *multi_handle, CURL_EXTERN CURLMcode curl_multi_perform(CURLM *multi_handle, CURL_EXTERN CURLMcode curl_multi_cleanup(CURLM *multi_handle); CURL_EXTERN CURLMsg *curl_multi_info_read(CURLM *multi_handle, CURL_EXTERN const char *curl_multi_strerror(CURLMcode); CURL_EXTERN CURLMcode curl_multi_socket(CURLM *multi_handle, curl_socket_t s, CURL_EXTERN CURLMcode curl_multi_socket_action(CURLM *multi_handle, CURL_EXTERN CURLMcode curl_multi_socket_all(CURLM *multi_handle, | > | 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | CURL_EXTERN char *curl_mvaprintf(const char *format, va_list args); CURL_EXTERN CURLM *curl_multi_init(void); CURL_EXTERN CURLMcode curl_multi_add_handle(CURLM *multi_handle, CURL_EXTERN CURLMcode curl_multi_remove_handle(CURLM *multi_handle, CURL_EXTERN CURLMcode curl_multi_fdset(CURLM *multi_handle, CURL_EXTERN CURLMcode curl_multi_wait(CURLM *multi_handle, CURL_EXTERN CURLMcode curl_multi_poll(CURLM *multi_handle, CURL_EXTERN CURLMcode curl_multi_wakeup(CURLM *multi_handle); CURL_EXTERN CURLMcode curl_multi_perform(CURLM *multi_handle, CURL_EXTERN CURLMcode curl_multi_cleanup(CURLM *multi_handle); CURL_EXTERN CURLMsg *curl_multi_info_read(CURLM *multi_handle, CURL_EXTERN const char *curl_multi_strerror(CURLMcode); CURL_EXTERN CURLMcode curl_multi_socket(CURLM *multi_handle, curl_socket_t s, CURL_EXTERN CURLMcode curl_multi_socket_action(CURLM *multi_handle, CURL_EXTERN CURLMcode curl_multi_socket_all(CURLM *multi_handle, |
︙ | ︙ |
Added jni/curl/tests/data/test1175.
> > > > > > > > > > > > > > > > > > > > > > > > > | 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 | <testcase> <info> <keywords> source analysis symbols-in-versions </keywords> </info> # # Client-side <client> <server> none </server> <name> Verify that symbols-in-versions and libcurl-errors.3 are in sync </name> <command type="perl"> %SRCDIR/error-codes.pl %SRCDIR </command> </client> </testcase> |
Changes to jni/curl/tests/data/test1215.
︙ | ︙ | |||
54 55 56 57 58 59 60 61 62 63 64 65 66 67 | </reply> # Client-side <client> <features> NTLM !SSPI debug proxy </features> <server> http </server> | > | 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | </reply> # Client-side <client> <features> NTLM SSL !SSPI debug proxy </features> <server> http </server> |
︙ | ︙ |
Added jni/curl/tests/data/test1270.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | <testcase> <info> <keywords> HTTP HTTP GET redirect_url followlocation --write-out </keywords> </info> # Server-side <reply> <data nocheck="yes"> HTTP/1.1 302 Captive Portal Server: ohlala/2000 Date: Tue, 17 Dec 2019 13:08:30 GMT Cache-Control: no-cache,no-store,must-revalidate,post-check=0,pre-check=0 Location: https://moo.moo.moo Content-Type: text/html; charset=utf-8 X-Frame-Options: SAMEORIGIN Strict-Transport-Security: max-age=604800 Content-Length: 0 Connection: close </data> </reply> # Client-side <client> <server> http </server> <name> Basic 'redirect_url' </name> <command> http://%HOSTIP:%HTTPPORT/we/want/our/1270 -w '%{redirect_url}\n' -s </command> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> GET /we/want/our/1270 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* </protocol> <stdout> HTTP/1.1 302 Captive Portal Server: ohlala/2000 Date: Tue, 17 Dec 2019 13:08:30 GMT Cache-Control: no-cache,no-store,must-revalidate,post-check=0,pre-check=0 Location: https://moo.moo.moo Content-Type: text/html; charset=utf-8 X-Frame-Options: SAMEORIGIN Strict-Transport-Security: max-age=604800 Content-Length: 0 Connection: close https://moo.moo.moo/ </stdout> </verify> </testcase> |
Added jni/curl/tests/data/test1271.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | <testcase> <info> <keywords> HTTP HTTP GET --write-out </keywords> </info> # Server-side <reply> <data> HTTP/1.1 200 This is a weirdo text message swsclose Content-Length: 4 Connection: close Moo </data> </reply> # Client-side <client> <server> http </server> <name> --write-out from file with empty file </name> <command> http://%HOSTIP:%HTTPPORT/we/want/our/1271 -w @log/blank1271 </command> <file name="log/blank1271"> </file> </client> # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> GET /we/want/our/1271 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* </protocol> </verify> </testcase> |
Added jni/curl/tests/data/test1293.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | <testcase> <info> <keywords> HTTP HTTP GET -F </keywords> </info> # # Server-side <reply> <data nocheck="yes"> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ETag: "21025-dc7-39462498" Accept-Ranges: bytes Content-Length: 6 Connection: close Content-Type: text/html Funny-head: yesyes -foo- </data> </reply> # # Client-side <client> <server> http </server> <name> Multipart formpost to two URLs, the first failing </name> <command> http://0 http://%HOSTIP:%HTTPPORT/1293 -F= </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <strippart> s/^--------------------------[a-z0-9]*/------------------------------/ s/boundary=------------------------[a-z0-9]*/boundary=----------------------------/ </strippart> <protocol> POST /1293 HTTP/1.1 Host: 127.0.0.1:8990 Accept: */* Content-Length: 126 Content-Type: multipart/form-data; boundary=---------------------------- ------------------------------ Content-Disposition: form-data -------------------------------- </protocol> </verify> </testcase> |
Changes to jni/curl/tests/data/test1330.
︙ | ︙ | |||
41 42 43 44 45 46 47 48 49 50 51 | MEM unit1330.c: free() </file> <stripfile> s/ =.*// s/\(.*\)/()/ s/:\d+/:/ s:^(MEM )(.*/)(.*):$1$3: </stripfile> </verify> </testcase> | > | 41 42 43 44 45 46 47 48 49 50 51 52 | MEM unit1330.c: free() </file> <stripfile> s/ =.*// s/\(.*\)/()/ s/:\d+/:/ s:^(MEM )(.*/)(.*):$1$3: s/\r\n/\n/ </stripfile> </verify> </testcase> |
Changes to jni/curl/tests/data/test1448.
︙ | ︙ | |||
37 38 39 40 41 42 43 | <server> http </server> <features> idn </features> <setenv> | | | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | <server> http </server> <features> idn </features> <setenv> LC_ALL=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 </setenv> <precheck> perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");' </precheck> <name> Redirect following to UTF-8 IDN host name |
︙ | ︙ |
Changes to jni/curl/tests/data/test1455.
︙ | ︙ | |||
33 34 35 36 37 38 39 | <server> http </server> <name> HTTP GET when PROXY Protocol enabled </name> <command> | | > | 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 | <server> http </server> <name> HTTP GET when PROXY Protocol enabled </name> <command> http://%HOSTIP:%HTTPPORT/1455 --haproxy-protocol -H "Testno: 1455" </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <strippart> s/^PROXY TCP4 %CLIENTIP %HOSTIP (\d*) %HTTPPORT/proxy-line/ </strippart> <protocol> proxy-line GET /1455 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* Testno: 1455 </protocol> </verify> </testcase> |
Changes to jni/curl/tests/data/test1456.
︙ | ︙ | |||
36 37 38 39 40 41 42 | <server> http-ipv6 </server> <name> HTTP-IPv6 GET with PROXY protocol </name> <command> | | > > > > > > | | 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 | <server> http-ipv6 </server> <name> HTTP-IPv6 GET with PROXY protocol </name> <command> -g "http://%HOST6IP:%HTTP6PORT/1456" --haproxy-protocol </command> <features> proxy </features> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent: </strip> # Strip off the (random) local port number. This test used to use a fixed # local port number that frequently causes the test to fail <strippart> s/PROXY TCP6 ::1 ::1 (\d+) (\d+)/PROXY TCP6 ::1 ::1 $2/ </strippart> <protocol> PROXY TCP6 ::1 ::1 %HTTP6PORT GET /1456 HTTP/1.1 Host: %HOST6IP:%HTTP6PORT Accept: */* </protocol> </verify> </testcase> |
Changes to jni/curl/tests/data/test150.
︙ | ︙ | |||
53 54 55 56 57 58 59 60 61 62 63 64 65 66 | </reply> # Client-side <client> <features> NTLM !SSPI debug </features> <server> http </server> <name> | > | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | </reply> # Client-side <client> <features> NTLM SSL !SSPI debug </features> <server> http </server> <name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1538.
︙ | ︙ | |||
123 124 125 126 127 128 129 | e88: Chunk callback failed e89: The max connection limit is reached e90: SSL public key does not match pinned public key e91: SSL server certificate status verification FAILED e92: Stream error in the HTTP/2 framing layer e93: API function called from within callback e94: An authentication function returned an error | > | > | | 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 | e88: Chunk callback failed e89: The max connection limit is reached e90: SSL public key does not match pinned public key e91: SSL server certificate status verification FAILED e92: Stream error in the HTTP/2 framing layer e93: API function called from within callback e94: An authentication function returned an error e95: HTTP/3 error e96: Unknown error m-1: Please call curl_multi_perform() soon m0: No error m1: Invalid multi handle m2: Invalid easy handle m3: Out of memory m4: Internal error m5: Invalid socket argument m6: Unknown option m7: The easy handle is already added to a multi handle m8: API function called from within callback m9: Wakeup is unavailable or failed m10: Unknown error s0: No error s1: Unknown share option s2: Share currently in use s3: Invalid share handle s4: Out of memory s5: Feature not enabled in this library s6: CURLSHcode unknown |
︙ | ︙ |
Changes to jni/curl/tests/data/test155.
︙ | ︙ | |||
72 73 74 75 76 77 78 79 80 81 82 83 84 85 | </reply> # Client-side <client> <features> NTLM !SSPI debug </features> <server> http </server> <name> | > | 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | </reply> # Client-side <client> <features> NTLM SSL !SSPI debug </features> <server> http </server> <name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1554.
︙ | ︙ | |||
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 | -> Mutex lock <- Mutex unlock -> Mutex lock <- Mutex unlock -> Mutex lock <- Mutex unlock -> Mutex lock <- Mutex unlock run 1: foobar and so on fun! -> Mutex lock <- Mutex unlock -> Mutex lock <- Mutex unlock -> Mutex lock <- Mutex unlock -> Mutex lock <- Mutex unlock run 1: foobar and so on fun! -> Mutex lock <- Mutex unlock -> Mutex lock <- Mutex unlock -> Mutex lock <- Mutex unlock </datacheck> | > > > > > > | 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 | -> Mutex lock <- Mutex unlock -> Mutex lock <- Mutex unlock -> Mutex lock <- Mutex unlock -> Mutex lock <- Mutex unlock -> Mutex lock <- Mutex unlock run 1: foobar and so on fun! -> Mutex lock <- Mutex unlock -> Mutex lock <- Mutex unlock -> Mutex lock <- Mutex unlock -> Mutex lock <- Mutex unlock -> Mutex lock <- Mutex unlock run 1: foobar and so on fun! -> Mutex lock <- Mutex unlock -> Mutex lock <- Mutex unlock -> Mutex lock <- Mutex unlock -> Mutex lock <- Mutex unlock </datacheck> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1558.
︙ | ︙ | |||
19 20 21 22 23 24 25 | <tool> lib1558 </tool> <name> CURLINFO_PROTOCOL for file:// transfer </name> | < < < < | | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | <tool> lib1558 </tool> <name> CURLINFO_PROTOCOL for file:// transfer </name> <command> file://%FILE_PWD/log/data1558 </command> <file name="log/data1558"> hello </file> </client> # |
︙ | ︙ |
Changes to jni/curl/tests/data/test1560.
︙ | ︙ | |||
18 19 20 21 22 23 24 25 26 27 28 29 30 31 | http pop3 smtp imap ldap dict ftp </features> <name> URL API </name> <tool> lib1560 </tool> | > | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | http pop3 smtp imap ldap dict ftp ipv6 </features> <name> URL API </name> <tool> lib1560 </tool> |
︙ | ︙ |
Added jni/curl/tests/data/test1564.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <testcase> <info> <keywords> multi wakeup </keywords> </info> # Server-side <reply> </reply> # Client-side <client> <server> none </server> <tool> lib1564 </tool> <name> wakeup before poll with no easy handles </name> <command> </command> </client> # Verify data after the test has been "shot" <verify> </verify> </testcase> |
Added jni/curl/tests/data/test1565.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | <testcase> <info> <keywords> HTTP HTTP GET multi multi-threaded wakeup </keywords> </info> # Server-side <reply> <data nocheck="yes"> HTTP/1.1 200 OK Content-Length: 3 OK </data> </reply> # Client-side <client> <server> http </server> <tool> lib1565 </tool> <name> wakeup from another thread </name> <command> http://%HOSTIP:%HTTPPORT/1 </command> </client> # Verify data after the test has been "shot" <verify> </verify> </testcase> |
Changes to jni/curl/tests/data/test159.
︙ | ︙ | |||
39 40 41 42 43 44 45 46 47 48 49 50 51 52 | </reply> # Client-side <client> <features> NTLM !SSPI debug </features> <server> http </server> <name> | > | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | </reply> # Client-side <client> <features> NTLM SSL !SSPI debug </features> <server> http </server> <name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test162.
︙ | ︙ | |||
23 24 25 26 27 28 29 30 31 32 33 34 35 36 | </data1001> </reply> # Client-side <client> <features> NTLM !SSPI proxy </features> <server> http </server> <name> | > | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | </data1001> </reply> # Client-side <client> <features> NTLM SSL !SSPI proxy </features> <server> http </server> <name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test165.
︙ | ︙ | |||
28 29 30 31 32 33 34 | http </server> <features> idn proxy </features> <setenv> | | | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | http </server> <features> idn proxy </features> <setenv> LC_ALL=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 </setenv> <precheck> perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");' </precheck> <name> HTTP over proxy with IDN host name |
︙ | ︙ |
Changes to jni/curl/tests/data/test1650.
︙ | ︙ | |||
10 11 12 13 14 15 16 | # Client-side <client> <server> none </server> <features> unittest | < > | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | # Client-side <client> <server> none </server> <features> unittest DoH </features> <name> DOH </name> <tool> unit1650 </tool> |
︙ | ︙ |
Changes to jni/curl/tests/data/test1655.
︙ | ︙ | |||
10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # Client-side <client> <server> none </server> <features> unittest </features> <name> unit test for doh_encode </name> <tool> unit1655 </tool> | > | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | # Client-side <client> <server> none </server> <features> unittest DoH </features> <name> unit test for doh_encode </name> <tool> unit1655 </tool> |
︙ | ︙ |
Changes to jni/curl/tests/data/test169.
︙ | ︙ | |||
73 74 75 76 77 78 79 80 81 82 83 84 85 86 | # Client-side <client> <server> http </server> <features> NTLM !SSPI debug proxy </features> <name> HTTP with proxy-requiring-NTLM to site-requiring-Digest </name> | > | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | # Client-side <client> <server> http </server> <features> NTLM SSL !SSPI debug proxy </features> <name> HTTP with proxy-requiring-NTLM to site-requiring-Digest </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test170.
︙ | ︙ | |||
15 16 17 18 19 20 21 22 23 24 25 26 27 28 | # Client-side <client> <server> http </server> <features> NTLM !SSPI proxy </features> <name> HTTP POST with --proxy-ntlm and no SSL with no response </name> <command> | > | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | # Client-side <client> <server> http </server> <features> NTLM SSL !SSPI proxy </features> <name> HTTP POST with --proxy-ntlm and no SSL with no response </name> <command> |
︙ | ︙ |
Changes to jni/curl/tests/data/test176.
︙ | ︙ | |||
44 45 46 47 48 49 50 51 52 53 54 55 56 57 | </reply> # Client-side <client> <features> NTLM !SSPI </features> <server> http </server> <name> HTTP POST --ntlm to server not requiring any auth at all | > | 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | </reply> # Client-side <client> <features> NTLM SSL !SSPI </features> <server> http </server> <name> HTTP POST --ntlm to server not requiring any auth at all |
︙ | ︙ |
Changes to jni/curl/tests/data/test2025.
︙ | ︙ | |||
191 192 193 194 195 196 197 198 199 200 201 202 203 204 | </reply> # Client-side <client> <features> NTLM !SSPI </features> <server> http </server> <tool> libauthretry | > | 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 | </reply> # Client-side <client> <features> NTLM SSL !SSPI </features> <server> http </server> <tool> libauthretry |
︙ | ︙ |
Changes to jni/curl/tests/data/test2028.
︙ | ︙ | |||
227 228 229 230 231 232 233 234 235 236 237 238 239 240 | </reply> # Client-side <client> <features> NTLM !SSPI </features> <server> http </server> <tool> libauthretry | > | 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 | </reply> # Client-side <client> <features> NTLM SSL !SSPI </features> <server> http </server> <tool> libauthretry |
︙ | ︙ |
Changes to jni/curl/tests/data/test2029.
︙ | ︙ | |||
164 165 166 167 168 169 170 171 172 173 174 175 176 177 | </reply> # Client-side <client> <features> NTLM !SSPI </features> <server> http </server> <tool> libauthretry | > | 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | </reply> # Client-side <client> <features> NTLM SSL !SSPI </features> <server> http </server> <tool> libauthretry |
︙ | ︙ |
Changes to jni/curl/tests/data/test2030.
︙ | ︙ | |||
216 217 218 219 220 221 222 223 224 225 226 227 228 229 | </reply> # Client-side <client> <features> NTLM !SSPI </features> <server> http </server> <tool> libauthretry | > | 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 | </reply> # Client-side <client> <features> NTLM SSL !SSPI </features> <server> http </server> <tool> libauthretry |
︙ | ︙ |
Changes to jni/curl/tests/data/test2031.
︙ | ︙ | |||
230 231 232 233 234 235 236 237 238 239 240 241 242 243 | </reply> # Client-side <client> <features> NTLM !SSPI </features> <server> http </server> <tool> libauthretry | > | 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 | </reply> # Client-side <client> <features> NTLM SSL !SSPI </features> <server> http </server> <tool> libauthretry |
︙ | ︙ |
Changes to jni/curl/tests/data/test2032.
︙ | ︙ | |||
62 63 64 65 66 67 68 69 70 71 72 73 74 75 | </reply> # Client-side <client> <features> NTLM !SSPI </features> <server> http </server> <tool> libntlmconnect | > | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | </reply> # Client-side <client> <features> NTLM SSL !SSPI </features> <server> http </server> <tool> libntlmconnect |
︙ | ︙ |
Changes to jni/curl/tests/data/test2033.
︙ | ︙ | |||
63 64 65 66 67 68 69 70 71 72 73 74 75 76 | </reply> # Client-side <client> <features> NTLM !SSPI </features> <server> http </server> <tool> lib2033 | > | 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | </reply> # Client-side <client> <features> NTLM SSL !SSPI </features> <server> http </server> <tool> lib2033 |
︙ | ︙ |
Changes to jni/curl/tests/data/test2046.
︙ | ︙ | |||
37 38 39 40 41 42 43 | <server> http </server> <features> idn </features> <setenv> | | | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | <server> http </server> <features> idn </features> <setenv> LC_ALL=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 </setenv> <precheck> perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");' </precheck> <name> Connection re-use with IDN host name |
︙ | ︙ |
Changes to jni/curl/tests/data/test2047.
︙ | ︙ | |||
38 39 40 41 42 43 44 | <server> http </server> <features> idn </features> <setenv> | | | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | <server> http </server> <features> idn </features> <setenv> LC_ALL=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 </setenv> <precheck> perl -MI18N::Langinfo=langinfo,CODESET -e 'die "Needs a UTF-8 locale" if (lc(langinfo(CODESET())) ne "utf-8");' </precheck> <name> Connection re-use with IDN host name over HTTP proxy |
︙ | ︙ |
jni/curl/tests/data/test2055 became a regular file.
︙ | ︙ |
Changes to jni/curl/tests/data/test209.
︙ | ︙ | |||
73 74 75 76 77 78 79 80 81 82 83 84 85 86 | # Client-side <client> <server> http </server> <features> NTLM !SSPI debug proxy </features> <name> HTTP proxy CONNECT auth NTLM </name> | > | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | # Client-side <client> <server> http </server> <features> NTLM SSL !SSPI debug proxy </features> <name> HTTP proxy CONNECT auth NTLM </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test2100.
cannot compute difference between binary files
Changes to jni/curl/tests/data/test213.
︙ | ︙ | |||
73 74 75 76 77 78 79 80 81 82 83 84 85 86 | # Client-side <client> <server> http </server> <features> NTLM !SSPI debug proxy </features> <name> HTTP 1.0 proxy CONNECT auth NTLM and then POST </name> | > | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | # Client-side <client> <server> http </server> <features> NTLM SSL !SSPI debug proxy </features> <name> HTTP 1.0 proxy CONNECT auth NTLM and then POST </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test239.
︙ | ︙ | |||
48 49 50 51 52 53 54 55 56 57 58 59 60 61 | # Client-side <client> <server> http </server> <features> NTLM !SSPI debug proxy </features> <name> HTTP proxy-auth NTLM and then POST </name> | > | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | # Client-side <client> <server> http </server> <features> NTLM SSL !SSPI debug proxy </features> <name> HTTP proxy-auth NTLM and then POST </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test243.
︙ | ︙ | |||
69 70 71 72 73 74 75 76 77 78 79 80 81 82 | # Client-side <client> <server> http </server> <features> NTLM !SSPI debug proxy </features> <name> HTTP POST with --proxy-anyauth, picking NTLM </name> | > | 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | # Client-side <client> <server> http </server> <features> NTLM SSL !SSPI debug proxy </features> <name> HTTP POST with --proxy-anyauth, picking NTLM </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test265.
︙ | ︙ | |||
74 75 76 77 78 79 80 81 82 83 84 85 86 87 | # Client-side <client> <server> http </server> <features> NTLM !SSPI debug proxy </features> <name> HTTP proxy CONNECT auth NTLM and then POST, response-body in the 407 </name> | > | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | # Client-side <client> <server> http </server> <features> NTLM SSL !SSPI debug proxy </features> <name> HTTP proxy CONNECT auth NTLM and then POST, response-body in the 407 </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test267.
︙ | ︙ | |||
52 53 54 55 56 57 58 59 60 61 62 63 64 65 | </reply> # Client-side <client> <features> NTLM !SSPI debug </features> <server> http </server> <name> | > | 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | </reply> # Client-side <client> <features> NTLM SSL !SSPI debug </features> <server> http </server> <name> |
︙ | ︙ |
Added jni/curl/tests/data/test339.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | <testcase> <info> <keywords> HTTP HTTP GET </keywords> </info> # # Server-side <reply> <data nocheck="yes"> HTTP/1.1 200 funky chunky! Server: fakeit/0.9 fakeitbad/1.0 Transfer-Encoding: chunked Trailer: chunky-trailer Connection: mooo ETag: "asdf" 40 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 30 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 21;heresatest=moooo cccccccccccccccccccccccccccccccc 0 chunky-trailer: header data </data> </reply> # # Client-side <client> <server> http </server> <name> Check if --etag-save saved correct etag to a file </name> <command> http://%HOSTIP:%HTTPPORT/339 --etag-save log/etag339 </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> GET /339 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* </protocol> <file name="log/etag339"> asdf </file> </verify> </testcase> |
Added jni/curl/tests/data/test341.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 HTTP GET </keywords> </info> # # Server-side <reply> <data nocheck="yes"> HTTP/1.1 200 funky chunky! Server: fakeit/0.9 fakeitbad/1.0 Transfer-Encoding: chunked Trailer: chunky-trailer Connection: mooo ETag: "asdf" 40 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 30 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 21;heresatest=moooo cccccccccccccccccccccccccccccccc 0 chunky-trailer: header data </data> </reply> # # Client-side <client> <server> http </server> <name> Try to open a non existing file with --etag-compare should return an error </name> <command> http://%HOSTIP:%HTTPPORT/341 --etag-compare log/etag341 </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <errorcode> 26 </errorcode> </verify> </testcase> |
Added jni/curl/tests/data/test342.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | <testcase> <info> <keywords> HTTP HTTP GET </keywords> </info> # # Server-side <reply> <data> HTTP/1.1 304 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ETag: "21025-dc7-39462498" Accept-Ranges: bytes Content-Length: 0 Connection: close Content-Type: text/html Funny-head: yesyes </data> </reply> # # Client-side <client> <server> http </server> <name> Check if --etag-compare set correct etag in header </name> <file name="log/etag342"> 21025-dc7-39462498 </file> <command> http://%HOSTIP:%HTTPPORT/342 --etag-compare log/etag342 </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> GET /342 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* If-None-Match: "21025-dc7-39462498" </protocol> </verify> </testcase> |
Added jni/curl/tests/data/test343.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | <testcase> <info> <keywords> HTTP HTTP GET </keywords> </info> # # Server-side <reply> <data> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ETag: "21025-dc7-11111" Accept-Ranges: bytes Content-Length: 0 Connection: close Content-Type: text/html Funny-head: yesyes </data> </reply> # # Client-side <client> <server> http </server> <name> Both --etag-compare and --etag-save to save new Etag </name> <file name="log/etag343"> 21025-dc7-39462498 </file> <command> http://%HOSTIP:%HTTPPORT/343 --etag-compare log/etag343 --etag-save log/out343 </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> GET /343 HTTP/1.1 Host: %HOSTIP:%HTTPPORT Accept: */* If-None-Match: "21025-dc7-39462498" </protocol> <file name="log/out343"> 21025-dc7-11111 </file> </verify> </testcase> |
Added jni/curl/tests/data/test490.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | <testcase> <info> <keywords> HTTP HTTP PUT </keywords> </info> # # Server-side <reply> <data> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ETag: "21025-dc7-39462498" Accept-Ranges: bytes Content-Length: 6 Connection: close Content-Type: text/html Funny-head: yesyes -foo- </data> </reply> # # Client-side <client> <server> http </server> <name> Two globbed HTTP PUTs </name> <command> http://%HOSTIP:%HTTPPORT/490 -T '{log/in490,log/in490}' </command> <file name="log/in490"> surprise! </file> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> PUT /490 HTTP/1.1 Host: 127.0.0.1:8990 Accept: */* Content-Length: 10 Expect: 100-continue surprise! PUT /490 HTTP/1.1 Host: 127.0.0.1:8990 Accept: */* Content-Length: 10 Expect: 100-continue surprise! </protocol> </verify> </testcase> |
Added jni/curl/tests/data/test491.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | <testcase> <info> <keywords> HTTP HTTP PUT </keywords> </info> # # Server-side <reply> <data> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ETag: "21025-dc7-39462498" Accept-Ranges: bytes Content-Length: 6 Connection: close Content-Type: text/html Funny-head: yesyes -foo- </data> </reply> # # Client-side <client> <server> http </server> <name> Two globbed HTTP PUTs, the second upload file is missing </name> <command> http://%HOSTIP:%HTTPPORT/491 -T '{log/in491,log/bad491}' </command> <file name="log/in491"> surprise! </file> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> PUT /491 HTTP/1.1 Host: 127.0.0.1:8990 Accept: */* Content-Length: 10 Expect: 100-continue surprise! </protocol> <errorcode> 26 </errorcode> </verify> </testcase> |
Added jni/curl/tests/data/test492.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | <testcase> <info> <keywords> HTTP HTTP PUT </keywords> </info> # # Server-side <reply> <data> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Server: test-server/fake Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT ETag: "21025-dc7-39462498" Accept-Ranges: bytes Content-Length: 6 Connection: close Content-Type: text/html Funny-head: yesyes -foo- </data> </reply> # # Client-side <client> <server> http </server> <name> Two globbed HTTP PUTs to two globbed URLs </name> <command> 'http://%HOSTIP:%HTTPPORT/{one,two}/' -T '{log/first492,log/second492}' -H "Testno: 492" </command> <file name="log/first492"> first 492 contents </file> <file1 name="log/second492"> second 492 contents </file1> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <protocol> PUT /one/first492 HTTP/1.1 Host: 127.0.0.1:8990 Accept: */* Testno: 492 Content-Length: 19 Expect: 100-continue first 492 contents PUT /two/first492 HTTP/1.1 Host: 127.0.0.1:8990 Accept: */* Testno: 492 Content-Length: 19 Expect: 100-continue first 492 contents PUT /one/second492 HTTP/1.1 Host: 127.0.0.1:8990 Accept: */* Testno: 492 Content-Length: 20 Expect: 100-continue second 492 contents PUT /two/second492 HTTP/1.1 Host: 127.0.0.1:8990 Accept: */* Testno: 492 Content-Length: 20 Expect: 100-continue second 492 contents </protocol> </verify> </testcase> |
Changes to jni/curl/tests/data/test547.
︙ | ︙ | |||
72 73 74 75 76 77 78 79 80 81 82 83 84 85 | </server> # tool to use <tool> lib547 </tool> <features> NTLM !SSPI debug proxy </features> <name> HTTP proxy auth NTLM with POST data from read callback </name> | > | 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | </server> # tool to use <tool> lib547 </tool> <features> NTLM SSL !SSPI debug proxy </features> <name> HTTP proxy auth NTLM with POST data from read callback </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test548.
︙ | ︙ | |||
72 73 74 75 76 77 78 79 80 81 82 83 84 85 | </server> # tool to use <tool> lib548 </tool> <features> NTLM !SSPI debug proxy </features> <name> HTTP proxy auth NTLM with POST data from CURLOPT_POSTFIELDS </name> | > | 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | </server> # tool to use <tool> lib548 </tool> <features> NTLM SSL !SSPI debug proxy </features> <name> HTTP proxy auth NTLM with POST data from CURLOPT_POSTFIELDS </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test555.
︙ | ︙ | |||
77 78 79 80 81 82 83 84 85 86 87 88 89 90 | </server> # tool to use <tool> lib555 </tool> <features> NTLM !SSPI debug proxy </features> <name> HTTP proxy auth NTLM with POST data from read callback multi-if </name> | > | 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | </server> # tool to use <tool> lib555 </tool> <features> NTLM SSL !SSPI debug proxy </features> <name> HTTP proxy auth NTLM with POST data from read callback multi-if </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test558.
︙ | ︙ | |||
47 48 49 50 51 52 53 54 55 56 57 | </file> <stripfile> s/^MEM escape.c:\d+ free\(\(nil\)\)[\n]$// s/ =.*// s/\(.*\)/()/ s/:\d+/:/ s:^(MEM |FD )(.*/)(.*):$1$3: </stripfile> </verify> </testcase> | > | 47 48 49 50 51 52 53 54 55 56 57 58 | </file> <stripfile> s/^MEM escape.c:\d+ free\(\(nil\)\)[\n]$// s/ =.*// s/\(.*\)/()/ s/:\d+/:/ s:^(MEM |FD )(.*/)(.*):$1$3: s/\r\n/\n/ </stripfile> </verify> </testcase> |
Changes to jni/curl/tests/data/test590.
︙ | ︙ | |||
70 71 72 73 74 75 76 77 78 79 80 81 82 83 | </server> # tool to use <tool> lib590 </tool> <features> NTLM !SSPI debug proxy </features> <name> HTTP proxy offers Negotiate+NTLM, use only NTLM </name> | > | 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | </server> # tool to use <tool> lib590 </tool> <features> NTLM SSL !SSPI debug proxy </features> <name> HTTP proxy offers Negotiate+NTLM, use only NTLM </name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test67.
︙ | ︙ | |||
52 53 54 55 56 57 58 59 60 61 62 63 64 65 | </reply> # Client-side <client> <features> NTLM !SSPI debug </features> <server> http </server> <name> | > | 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | </reply> # Client-side <client> <features> NTLM SSL !SSPI debug </features> <server> http </server> <name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test68.
︙ | ︙ | |||
51 52 53 54 55 56 57 58 59 60 61 62 63 64 | </reply> # Client-side <client> <features> NTLM !SSPI debug </features> <server> http </server> <name> | > | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | </reply> # Client-side <client> <features> NTLM SSL !SSPI debug </features> <server> http </server> <name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test69.
︙ | ︙ | |||
68 69 70 71 72 73 74 75 76 77 78 79 80 81 | </reply> # Client-side <client> <features> NTLM !SSPI debug </features> <server> http </server> <name> | > | 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | </reply> # Client-side <client> <features> NTLM SSL !SSPI debug </features> <server> http </server> <name> |
︙ | ︙ |
jni/curl/tests/data/test714 became a regular file.
︙ | ︙ |
jni/curl/tests/data/test715 became a regular file.
︙ | ︙ |
Changes to jni/curl/tests/data/test81.
︙ | ︙ | |||
51 52 53 54 55 56 57 58 59 60 61 62 63 64 | </reply> # Client-side <client> <features> NTLM !SSPI debug proxy </features> <server> http </server> | > | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | </reply> # Client-side <client> <features> NTLM SSL !SSPI debug proxy </features> <server> http </server> |
︙ | ︙ |
Changes to jni/curl/tests/data/test822.
︙ | ︙ | |||
31 32 33 34 35 36 37 38 39 40 41 42 43 44 | # Client-side <client> <server> imap </server> <features> NTLM !SSPI debug </features> <name> IMAP NTLM authentication </name> <setenv> | > | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | # Client-side <client> <server> imap </server> <features> NTLM SSL !SSPI debug </features> <name> IMAP NTLM authentication </name> <setenv> |
︙ | ︙ |
Changes to jni/curl/tests/data/test827.
︙ | ︙ | |||
32 33 34 35 36 37 38 39 40 41 42 43 44 45 | # Client-side <client> <server> imap </server> <features> NTLM !SSPI debug </features> <name> IMAP NTLM authentication with initial response </name> <setenv> | > | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | # Client-side <client> <server> imap </server> <features> NTLM SSL !SSPI debug </features> <name> IMAP NTLM authentication with initial response </name> <setenv> |
︙ | ︙ |
Changes to jni/curl/tests/data/test831.
︙ | ︙ | |||
24 25 26 27 28 29 30 31 32 33 34 35 36 37 | # Client-side <client> <server> imap </server> <features> NTLM !SSPI </features> <name> IMAP NTLM graceful cancellation </name> <setenv> # we force our own host name, in order to make the test machine independent | > | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | # Client-side <client> <server> imap </server> <features> NTLM SSL !SSPI </features> <name> IMAP NTLM graceful cancellation </name> <setenv> # we force our own host name, in order to make the test machine independent |
︙ | ︙ |
Changes to jni/curl/tests/data/test834.
︙ | ︙ | |||
35 36 37 38 39 40 41 42 43 44 45 46 47 48 | # Client-side <client> <server> imap </server> <features> NTLM !SSPI </features> <name> IMAP NTLM authentication with SASL downgrade </name> <setenv> # we force our own host name, in order to make the test machine independent | > | 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | # Client-side <client> <server> imap </server> <features> NTLM SSL !SSPI </features> <name> IMAP NTLM authentication with SASL downgrade </name> <setenv> # we force our own host name, in order to make the test machine independent |
︙ | ︙ |
Changes to jni/curl/tests/data/test868.
︙ | ︙ | |||
33 34 35 36 37 38 39 40 41 42 43 44 45 46 | # Client-side <client> <server> pop3 </server> <features> NTLM !SSPI debug </features> <name> POP3 NTLM authentication </name> <setenv> | > | 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | # Client-side <client> <server> pop3 </server> <features> NTLM SSL !SSPI debug </features> <name> POP3 NTLM authentication </name> <setenv> |
︙ | ︙ |
Changes to jni/curl/tests/data/test873.
︙ | ︙ | |||
33 34 35 36 37 38 39 40 41 42 43 44 45 46 | # Client-side <client> <server> pop3 </server> <features> NTLM !SSPI debug </features> <name> POP3 NTLM authentication with initial response </name> <setenv> | > | 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | # Client-side <client> <server> pop3 </server> <features> NTLM SSL !SSPI debug </features> <name> POP3 NTLM authentication with initial response </name> <setenv> |
︙ | ︙ |
Changes to jni/curl/tests/data/test877.
︙ | ︙ | |||
25 26 27 28 29 30 31 32 33 34 35 36 37 38 | # Client-side <client> <server> pop3 </server> <features> NTLM !SSPI </features> <name> POP3 NTLM graceful cancellation </name> <setenv> # we force our own host name, in order to make the test machine independent | > | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | # Client-side <client> <server> pop3 </server> <features> NTLM SSL !SSPI </features> <name> POP3 NTLM graceful cancellation </name> <setenv> # we force our own host name, in order to make the test machine independent |
︙ | ︙ |
Changes to jni/curl/tests/data/test880.
︙ | ︙ | |||
37 38 39 40 41 42 43 44 45 46 47 48 49 50 | # Client-side <client> <server> pop3 </server> <features> NTLM !SSPI </features> <name> POP3 NTLM authentication with SASL downgrade </name> <setenv> # we force our own host name, in order to make the test machine independent | > | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | # Client-side <client> <server> pop3 </server> <features> NTLM SSL !SSPI </features> <name> POP3 NTLM authentication with SASL downgrade </name> <setenv> # we force our own host name, in order to make the test machine independent |
︙ | ︙ |
Changes to jni/curl/tests/data/test89.
︙ | ︙ | |||
85 86 87 88 89 90 91 92 93 94 95 96 97 98 | </reply> # Client-side <client> <features> NTLM !SSPI debug </features> <server> http </server> <name> | > | 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | </reply> # Client-side <client> <features> NTLM SSL !SSPI debug </features> <server> http </server> <name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test90.
︙ | ︙ | |||
123 124 125 126 127 128 129 130 131 132 133 134 135 136 | </reply> # Client-side <client> <features> NTLM !SSPI debug </features> <server> http </server> <name> | > | 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | </reply> # Client-side <client> <features> NTLM SSL !SSPI debug </features> <server> http </server> <name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test906.
︙ | ︙ | |||
23 24 25 26 27 28 29 30 31 32 33 34 35 36 | # Client-side <client> <server> smtp </server> <features> NTLM !SSPI debug </features> <name> SMTP NTLM authentication </name> <setenv> | > | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | # Client-side <client> <server> smtp </server> <features> NTLM SSL !SSPI debug </features> <name> SMTP NTLM authentication </name> <setenv> |
︙ | ︙ |
Changes to jni/curl/tests/data/test91.
︙ | ︙ | |||
69 70 71 72 73 74 75 76 77 78 79 80 81 82 | </reply> # Client-side <client> <features> NTLM !SSPI debug </features> <server> http </server> <name> | > | 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | </reply> # Client-side <client> <features> NTLM SSL !SSPI debug </features> <server> http </server> <name> |
︙ | ︙ |
Changes to jni/curl/tests/data/test921.
︙ | ︙ | |||
23 24 25 26 27 28 29 30 31 32 33 34 35 36 | # Client-side <client> <server> smtp </server> <features> NTLM !SSPI debug </features> <name> SMTP NTLM authentication with initial response </name> <setenv> | > | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | # Client-side <client> <server> smtp </server> <features> NTLM SSL !SSPI debug </features> <name> SMTP NTLM authentication with initial response </name> <setenv> |
︙ | ︙ |
Changes to jni/curl/tests/data/test933.
︙ | ︙ | |||
24 25 26 27 28 29 30 31 32 33 34 35 36 37 | # Client-side <client> <server> smtp </server> <features> NTLM !SSPI </features> <name> SMTP NTLM graceful cancellation </name> <setenv> # we force our own host name, in order to make the test machine independent | > | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | # Client-side <client> <server> smtp </server> <features> NTLM SSL !SSPI </features> <name> SMTP NTLM graceful cancellation </name> <setenv> # we force our own host name, in order to make the test machine independent |
︙ | ︙ |
Changes to jni/curl/tests/data/test936.
︙ | ︙ | |||
27 28 29 30 31 32 33 34 35 36 37 38 39 40 | # Client-side <client> <server> smtp </server> <features> NTLM !SSPI </features> <name> SMTP NTLM authentication with SASL downgrade </name> <stdin> mail body | > | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | # Client-side <client> <server> smtp </server> <features> NTLM SSL !SSPI </features> <name> SMTP NTLM authentication with SASL downgrade </name> <stdin> mail body |
︙ | ︙ |
Changes to jni/curl/tests/disable-scan.pl.
︙ | ︙ | |||
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | use strict; use warnings; # the DISABLE options that can be set by configure my %disable; # the DISABLE options that are used in C files my %file; # we may get the dir root pointed out my $root=$ARGV[0] || "."; sub scan_configure { open S, "<$root/configure.ac"; while(<S>) { if(/(CURL_DISABLE_[A-Z_]+)/g) { my ($sym)=($1); $disable{$sym} = 1; | > > > | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | use strict; use warnings; # the DISABLE options that can be set by configure my %disable; # the DISABLE options that are used in C files my %file; # the DISABLE options that are documented my %docs; # we may get the dir root pointed out my $root=$ARGV[0] || "."; my $DOCS="CURL-DISABLE.md"; sub scan_configure { open S, "<$root/configure.ac"; while(<S>) { if(/(CURL_DISABLE_[A-Z_]+)/g) { my ($sym)=($1); $disable{$sym} = 1; |
︙ | ︙ | |||
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 | sub scan_sources { scan_dir("$root/src"); scan_dir("$root/lib"); scan_dir("$root/lib/vtls"); scan_dir("$root/lib/vauth"); } scan_configure(); scan_sources(); my $error = 0; # Check the configure symbols for use in code for my $s (sort keys %disable) { if(!$file{$s}) { printf "Present in configure.ac, not used by code: %s\n", $s; $error++; } } # Check the code symbols for use in configure for my $s (sort keys %file) { if(!$disable{$s}) { printf "Not set by configure: %s (%s)\n", $s, $file{$s}; $error++; } } exit $error; | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | sub scan_sources { scan_dir("$root/src"); scan_dir("$root/lib"); scan_dir("$root/lib/vtls"); scan_dir("$root/lib/vauth"); } sub scan_docs { open F, "<$root/docs/$DOCS"; my $line = 0; while(<F>) { $line++; if(/^## (CURL_DISABLE_[A-Z_]+)/g) { my ($sym)=($1); $docs{$sym} = $line; } } close F; } scan_configure(); scan_sources(); scan_docs(); my $error = 0; # Check the configure symbols for use in code for my $s (sort keys %disable) { if(!$file{$s}) { printf "Present in configure.ac, not used by code: %s\n", $s; $error++; } if(!$docs{$s}) { printf "Present in configure.ac, not documented in $DOCS: %s\n", $s; $error++; } } # Check the code symbols for use in configure for my $s (sort keys %file) { if(!$disable{$s}) { printf "Not set by configure: %s (%s)\n", $s, $file{$s}; $error++; } if(!$docs{$s}) { printf "Used in code, not documented in $DOCS: %s\n", $s; $error++; } } # Check the documented symbols for my $s (sort keys %docs) { if(!$disable{$s}) { printf "Documented but not in configure: %s\n", $s; $error++; } if(!$file{$s}) { printf "Documented, but not used by code: %s\n", $s; $error++; } } exit $error; |
Added jni/curl/tests/error-codes.pl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | #!/usr/bin/env perl #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 2010-2019, Daniel Stenberg, <daniel@haxx.se>, et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at https://curl.haxx.se/docs/copyright.html. # # You may opt to use, copy, modify, merge, publish, distribute and/or sell # copies of the Software, and permit persons to whom the Software is # furnished to do so, under the terms of the COPYING file. # # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY # KIND, either express or implied. # ########################################################################### # # use strict; use warnings; # we may get the dir root pointed out my $root=$ARGV[0] || "."; my %error; # from the include file my %docs; # from libcurl-errors.3 sub getdocserrors { open(F, "<$root/docs/libcurl/libcurl-errors.3"); while(<F>) { if($_ =~ /^.IP \"(CURL[EM]_[^ \t\"]*)/) { my ($symbol) = ($1); if($symbol =~ /OBSOLETE/) { ; } else { $docs{$symbol}=1; } } } close(F); } sub getincludeerrors { open(F, "<$root/docs/libcurl/symbols-in-versions"); while(<F>) { if($_ =~ /^(CURL[EM]_[^ \t]*)[ \t]*([0-9.]+)[ \t]*(.*)/) { my ($symbol, $added, $rest) = ($1,$2,$3); if($rest =~ /^([0-9.]+)/) { # removed! } else { $error{$symbol}=$added; } } } close(F); } getincludeerrors(); getdocserrors(); for(sort keys %error) { if($error{$_} && !$docs{$_}) { print "$_ is not in libcurl-errors.3\n"; } } for(sort keys %docs) { if($docs{$_} && !$error{$_}) { print "$_ is not in symbols-in-versions\n"; } } |
Changes to jni/curl/tests/ftpserver.pl.
︙ | ︙ | |||
63 64 65 66 67 68 69 70 71 72 73 74 75 76 | server_pidfilename server_logfilename mainsockf_pidfilename mainsockf_logfilename datasockf_pidfilename datasockf_logfilename ); #********************************************************************** # global vars... # my $verbose = 0; # set to 1 for debugging my $idstr = ""; # server instance string my $idnum = 1; # server instance number | > > > > | 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | server_pidfilename server_logfilename mainsockf_pidfilename mainsockf_logfilename datasockf_pidfilename datasockf_logfilename ); use sshhelp qw( exe_ext ); #********************************************************************** # global vars... # my $verbose = 0; # set to 1 for debugging my $idstr = ""; # server instance string my $idnum = 1; # server instance number |
︙ | ︙ | |||
407 408 409 410 411 412 413 | exit; } return $result; } sub startsf { | | | 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 | exit; } return $result; } sub startsf { my $mainsockfcmd = "./server/sockfilt".exe_ext('SRV')." " . "--ipv$ipvnum --port $port " . "--pidfile \"$mainsockf_pidfile\" " . "--logfile \"$mainsockf_logfile\""; $sfpid = open2(*SFREAD, *SFWRITE, $mainsockfcmd); print STDERR "$mainsockfcmd\n" if($verbose); |
︙ | ︙ | |||
2397 2398 2399 2400 2401 2402 2403 | datasockf_state('STOPPED'); logmsg "====> Passive DATA channel requested by client\n"; logmsg "DATA sockfilt for passive data channel starting...\n"; # We fire up a new sockfilt to do the data transfer for us. | | | 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 | datasockf_state('STOPPED'); logmsg "====> Passive DATA channel requested by client\n"; logmsg "DATA sockfilt for passive data channel starting...\n"; # We fire up a new sockfilt to do the data transfer for us. my $datasockfcmd = "./server/sockfilt".exe_ext('SRV')." " . "--ipv$ipvnum $bindonly --port 0 " . "--pidfile \"$datasockf_pidfile\" " . "--logfile \"$datasockf_logfile\""; $slavepid = open2(\*DREAD, \*DWRITE, $datasockfcmd); if($nodataconn) { datasockf_state('PASSIVE_NODATACONN'); |
︙ | ︙ | |||
2616 2617 2618 2619 2620 2621 2622 | logmsg "====> Active DATA channel not established\n"; return; } logmsg "DATA sockfilt for active data channel starting...\n"; # We fire up a new sockfilt to do the data transfer for us. | | | 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 | logmsg "====> Active DATA channel not established\n"; return; } logmsg "DATA sockfilt for active data channel starting...\n"; # We fire up a new sockfilt to do the data transfer for us. my $datasockfcmd = "./server/sockfilt".exe_ext('SRV')." " . "--ipv$ipvnum --connect $port --addr \"$addr\" " . "--pidfile \"$datasockf_pidfile\" " . "--logfile \"$datasockf_logfile\""; $slavepid = open2(\*DREAD, \*DWRITE, $datasockfcmd); datasockf_state('ACTIVE'); |
︙ | ︙ |
Changes to jni/curl/tests/httpserver.pl.
︙ | ︙ | |||
29 30 31 32 33 34 35 36 37 38 39 40 41 42 | use strict; use warnings; use serverhelp qw( server_pidfilename server_logfilename ); my $verbose = 0; # set to 1 for debugging my $port = 8990; # just a default my $unix_socket; # location to place a listening Unix socket my $ipvnum = 4; # default IP version of http server my $idnum = 1; # default http server instance number my $proto = 'http'; # protocol the http server speaks | > > > > | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | use strict; use warnings; use serverhelp qw( server_pidfilename server_logfilename ); use sshhelp qw( exe_ext ); my $verbose = 0; # set to 1 for debugging my $port = 8990; # just a default my $unix_socket; # location to place a listening Unix socket my $ipvnum = 4; # default IP version of http server my $idnum = 1; # default http server instance number my $proto = 'http'; # protocol the http server speaks |
︙ | ︙ | |||
129 130 131 132 133 134 135 | $flags .= "--unix-socket '$unix_socket' "; } else { $flags .= "--ipv$ipvnum --port $port "; } $flags .= "--srcdir \"$srcdir\""; if($verbose) { | | | | 133 134 135 136 137 138 139 140 141 142 143 | $flags .= "--unix-socket '$unix_socket' "; } else { $flags .= "--ipv$ipvnum --port $port "; } $flags .= "--srcdir \"$srcdir\""; if($verbose) { print STDERR "RUN: server/sws".exe_ext('SRV')." $flags\n"; } exec("server/sws".exe_ext('SRV')." $flags"); |
Changes to jni/curl/tests/libtest/CMakeLists.txt.
1 2 | set(TARGET_LABEL_PREFIX "Test ") | < < < < | 1 2 3 4 5 6 7 8 9 | set(TARGET_LABEL_PREFIX "Test ") function(setup_test TEST_NAME) # ARGN are the files in the test add_executable( ${TEST_NAME} ${ARGN} ) string(TOUPPER ${TEST_NAME} UPPER_TEST_NAME) include_directories( ${CURL_SOURCE_DIR}/lib # To be able to reach "curl_setup_once.h" ${CURL_BINARY_DIR}/lib # To be able to reach "curl_config.h" |
︙ | ︙ |
Changes to jni/curl/tests/libtest/Makefile.am.
︙ | ︙ | |||
133 134 135 136 137 138 139 | CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) checksrc: | | | 133 134 135 136 137 138 139 140 141 142 143 144 145 | CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) checksrc: $(CHECKSRC)@PERL@ $(top_srcdir)/lib/checksrc.pl $(srcdir)/*.[ch] if CURLDEBUG # for debug builds, we scan the sources on all regular make invokes all-local: checksrc endif |
Changes to jni/curl/tests/libtest/Makefile.in.
︙ | ︙ | |||
133 134 135 136 137 138 139 | lib1529$(EXEEXT) lib1530$(EXEEXT) lib1531$(EXEEXT) \ lib1532$(EXEEXT) lib1533$(EXEEXT) lib1534$(EXEEXT) \ lib1535$(EXEEXT) lib1536$(EXEEXT) lib1537$(EXEEXT) \ lib1538$(EXEEXT) lib1540$(EXEEXT) lib1541$(EXEEXT) \ lib1550$(EXEEXT) lib1551$(EXEEXT) lib1552$(EXEEXT) \ lib1553$(EXEEXT) lib1554$(EXEEXT) lib1555$(EXEEXT) \ lib1556$(EXEEXT) lib1557$(EXEEXT) lib1558$(EXEEXT) \ | | > | | | | 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | lib1529$(EXEEXT) lib1530$(EXEEXT) lib1531$(EXEEXT) \ lib1532$(EXEEXT) lib1533$(EXEEXT) lib1534$(EXEEXT) \ lib1535$(EXEEXT) lib1536$(EXEEXT) lib1537$(EXEEXT) \ lib1538$(EXEEXT) lib1540$(EXEEXT) lib1541$(EXEEXT) \ lib1550$(EXEEXT) lib1551$(EXEEXT) lib1552$(EXEEXT) \ lib1553$(EXEEXT) lib1554$(EXEEXT) lib1555$(EXEEXT) \ lib1556$(EXEEXT) lib1557$(EXEEXT) lib1558$(EXEEXT) \ lib1559$(EXEEXT) lib1560$(EXEEXT) lib1564$(EXEEXT) \ lib1565$(EXEEXT) lib1591$(EXEEXT) lib1592$(EXEEXT) \ lib1593$(EXEEXT) lib1594$(EXEEXT) lib1596$(EXEEXT) \ lib1900$(EXEEXT) lib1905$(EXEEXT) lib1906$(EXEEXT) \ lib1907$(EXEEXT) lib2033$(EXEEXT) @USE_CPPFLAG_CURL_STATICLIB_TRUE@am__append_1 = -DCURL_STATICLIB @CURL_LT_SHLIB_USE_NO_UNDEFINED_TRUE@am__append_2 = -no-undefined @CURL_LT_SHLIB_USE_MIMPURE_TEXT_TRUE@am__append_3 = -mimpure-text @DOING_CURL_SYMBOL_HIDING_TRUE@am__append_4 = -DCURL_HIDDEN_SYMBOLS @DOING_CURL_SYMBOL_HIDING_TRUE@am__append_5 = $(CFLAG_CURL_SYMBOL_HIDING) # Build a stub gssapi implementation for testing |
︙ | ︙ | |||
532 533 534 535 536 537 538 | $(am__objects_122) $(am__objects_123) lib1559_OBJECTS = $(am_lib1559_OBJECTS) lib1559_DEPENDENCIES = $(am__DEPENDENCIES_1) am_lib1560_OBJECTS = lib1560.$(OBJEXT) $(am__objects_121) \ $(am__objects_122) $(am__objects_123) lib1560_OBJECTS = $(am_lib1560_OBJECTS) lib1560_DEPENDENCIES = $(am__DEPENDENCIES_1) | | | | | > > > > > > > > > > > > > > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | $(am__objects_122) $(am__objects_123) lib1559_OBJECTS = $(am_lib1559_OBJECTS) lib1559_DEPENDENCIES = $(am__DEPENDENCIES_1) am_lib1560_OBJECTS = lib1560.$(OBJEXT) $(am__objects_121) \ $(am__objects_122) $(am__objects_123) lib1560_OBJECTS = $(am_lib1560_OBJECTS) lib1560_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_124 = lib1564-first.$(OBJEXT) am__objects_125 = lib1564-testutil.$(OBJEXT) am__objects_126 = ../../lib/lib1564-warnless.$(OBJEXT) am_lib1564_OBJECTS = lib1564-lib1564.$(OBJEXT) $(am__objects_124) \ $(am__objects_125) $(am__objects_126) lib1564_OBJECTS = $(am_lib1564_OBJECTS) lib1564_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_127 = lib1565-first.$(OBJEXT) am__objects_128 = lib1565-testutil.$(OBJEXT) am__objects_129 = ../../lib/lib1565-warnless.$(OBJEXT) am_lib1565_OBJECTS = lib1565-lib1565.$(OBJEXT) $(am__objects_127) \ $(am__objects_128) $(am__objects_129) lib1565_OBJECTS = $(am_lib1565_OBJECTS) lib1565_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_130 = lib1591-first.$(OBJEXT) am__objects_131 = lib1591-testutil.$(OBJEXT) am__objects_132 = ../../lib/lib1591-warnless.$(OBJEXT) am_lib1591_OBJECTS = lib1591-lib1591.$(OBJEXT) $(am__objects_130) \ $(am__objects_131) $(am__objects_132) lib1591_OBJECTS = $(am_lib1591_OBJECTS) lib1591_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_133 = lib1592-first.$(OBJEXT) am__objects_134 = lib1592-testutil.$(OBJEXT) am__objects_135 = ../../lib/lib1592-warnless.$(OBJEXT) am_lib1592_OBJECTS = lib1592-lib1592.$(OBJEXT) $(am__objects_133) \ $(am__objects_134) $(am__objects_135) lib1592_OBJECTS = $(am_lib1592_OBJECTS) lib1592_DEPENDENCIES = $(am__DEPENDENCIES_1) am_lib1593_OBJECTS = lib1593.$(OBJEXT) $(am__objects_121) \ $(am__objects_122) $(am__objects_123) lib1593_OBJECTS = $(am_lib1593_OBJECTS) lib1593_DEPENDENCIES = $(am__DEPENDENCIES_1) am_lib1594_OBJECTS = lib1594.$(OBJEXT) $(am__objects_121) \ $(am__objects_122) $(am__objects_123) lib1594_OBJECTS = $(am_lib1594_OBJECTS) lib1594_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_136 = lib1596-first.$(OBJEXT) am__objects_137 = lib1596-testutil.$(OBJEXT) am__objects_138 = ../../lib/lib1596-warnless.$(OBJEXT) am_lib1596_OBJECTS = lib1596-lib1594.$(OBJEXT) $(am__objects_136) \ $(am__objects_137) $(am__objects_138) lib1596_OBJECTS = $(am_lib1596_OBJECTS) lib1596_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_139 = lib1900-first.$(OBJEXT) am__objects_140 = lib1900-testutil.$(OBJEXT) am__objects_141 = ../../lib/lib1900-warnless.$(OBJEXT) am_lib1900_OBJECTS = lib1900-lib1900.$(OBJEXT) $(am__objects_139) \ $(am__objects_140) $(am__objects_141) lib1900_OBJECTS = $(am_lib1900_OBJECTS) lib1900_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_142 = lib1905-first.$(OBJEXT) am__objects_143 = lib1905-testutil.$(OBJEXT) am__objects_144 = ../../lib/lib1905-warnless.$(OBJEXT) am_lib1905_OBJECTS = lib1905-lib1905.$(OBJEXT) $(am__objects_142) \ $(am__objects_143) $(am__objects_144) lib1905_OBJECTS = $(am_lib1905_OBJECTS) lib1905_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_145 = lib1906-first.$(OBJEXT) am__objects_146 = lib1906-testutil.$(OBJEXT) am__objects_147 = ../../lib/lib1906-warnless.$(OBJEXT) am_lib1906_OBJECTS = lib1906-lib1906.$(OBJEXT) $(am__objects_145) \ $(am__objects_146) $(am__objects_147) lib1906_OBJECTS = $(am_lib1906_OBJECTS) lib1906_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_148 = lib1907-first.$(OBJEXT) am__objects_149 = lib1907-testutil.$(OBJEXT) am__objects_150 = ../../lib/lib1907-warnless.$(OBJEXT) am_lib1907_OBJECTS = lib1907-lib1907.$(OBJEXT) $(am__objects_148) \ $(am__objects_149) $(am__objects_150) lib1907_OBJECTS = $(am_lib1907_OBJECTS) lib1907_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_151 = lib2033-first.$(OBJEXT) am__objects_152 = lib2033-testutil.$(OBJEXT) am__objects_153 = ../../lib/lib2033-warnless.$(OBJEXT) am_lib2033_OBJECTS = lib2033-libntlmconnect.$(OBJEXT) \ $(am__objects_151) $(am__objects_152) $(am__objects_153) lib2033_OBJECTS = $(am_lib2033_OBJECTS) lib2033_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_154 = lib500-first.$(OBJEXT) am__objects_155 = lib500-testutil.$(OBJEXT) am__objects_156 = lib500-testtrace.$(OBJEXT) am_lib500_OBJECTS = lib500-lib500.$(OBJEXT) $(am__objects_154) \ $(am__objects_155) $(am__objects_156) lib500_OBJECTS = $(am_lib500_OBJECTS) lib500_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_157 = lib501-first.$(OBJEXT) am_lib501_OBJECTS = lib501-lib501.$(OBJEXT) $(am__objects_157) lib501_OBJECTS = $(am_lib501_OBJECTS) lib501_LDADD = $(LDADD) lib501_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_158 = lib502-first.$(OBJEXT) am__objects_159 = lib502-testutil.$(OBJEXT) am__objects_160 = ../../lib/lib502-warnless.$(OBJEXT) am_lib502_OBJECTS = lib502-lib502.$(OBJEXT) $(am__objects_158) \ $(am__objects_159) $(am__objects_160) lib502_OBJECTS = $(am_lib502_OBJECTS) lib502_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_161 = lib503-first.$(OBJEXT) am__objects_162 = lib503-testutil.$(OBJEXT) am__objects_163 = ../../lib/lib503-warnless.$(OBJEXT) am_lib503_OBJECTS = lib503-lib503.$(OBJEXT) $(am__objects_161) \ $(am__objects_162) $(am__objects_163) lib503_OBJECTS = $(am_lib503_OBJECTS) lib503_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_164 = lib504-first.$(OBJEXT) am__objects_165 = lib504-testutil.$(OBJEXT) am__objects_166 = ../../lib/lib504-warnless.$(OBJEXT) am_lib504_OBJECTS = lib504-lib504.$(OBJEXT) $(am__objects_164) \ $(am__objects_165) $(am__objects_166) lib504_OBJECTS = $(am_lib504_OBJECTS) lib504_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_167 = lib505-first.$(OBJEXT) am_lib505_OBJECTS = lib505-lib505.$(OBJEXT) $(am__objects_167) lib505_OBJECTS = $(am_lib505_OBJECTS) lib505_LDADD = $(LDADD) lib505_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_168 = lib506-first.$(OBJEXT) am_lib506_OBJECTS = lib506-lib506.$(OBJEXT) $(am__objects_168) lib506_OBJECTS = $(am_lib506_OBJECTS) lib506_LDADD = $(LDADD) lib506_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_169 = lib507-first.$(OBJEXT) am__objects_170 = lib507-testutil.$(OBJEXT) am__objects_171 = ../../lib/lib507-warnless.$(OBJEXT) am_lib507_OBJECTS = lib507-lib507.$(OBJEXT) $(am__objects_169) \ $(am__objects_170) $(am__objects_171) lib507_OBJECTS = $(am_lib507_OBJECTS) lib507_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_172 = lib508-first.$(OBJEXT) am_lib508_OBJECTS = lib508-lib508.$(OBJEXT) $(am__objects_172) lib508_OBJECTS = $(am_lib508_OBJECTS) lib508_LDADD = $(LDADD) lib508_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_173 = lib509-first.$(OBJEXT) am_lib509_OBJECTS = lib509-lib509.$(OBJEXT) $(am__objects_173) lib509_OBJECTS = $(am_lib509_OBJECTS) lib509_LDADD = $(LDADD) lib509_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_174 = lib510-first.$(OBJEXT) am_lib510_OBJECTS = lib510-lib510.$(OBJEXT) $(am__objects_174) lib510_OBJECTS = $(am_lib510_OBJECTS) lib510_LDADD = $(LDADD) lib510_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_175 = lib511-first.$(OBJEXT) am_lib511_OBJECTS = lib511-lib511.$(OBJEXT) $(am__objects_175) lib511_OBJECTS = $(am_lib511_OBJECTS) lib511_LDADD = $(LDADD) lib511_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_176 = lib512-first.$(OBJEXT) am_lib512_OBJECTS = lib512-lib512.$(OBJEXT) $(am__objects_176) lib512_OBJECTS = $(am_lib512_OBJECTS) lib512_LDADD = $(LDADD) lib512_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_177 = lib513-first.$(OBJEXT) am_lib513_OBJECTS = lib513-lib513.$(OBJEXT) $(am__objects_177) lib513_OBJECTS = $(am_lib513_OBJECTS) lib513_LDADD = $(LDADD) lib513_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_178 = lib514-first.$(OBJEXT) am_lib514_OBJECTS = lib514-lib514.$(OBJEXT) $(am__objects_178) lib514_OBJECTS = $(am_lib514_OBJECTS) lib514_LDADD = $(LDADD) lib514_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_179 = lib515-first.$(OBJEXT) am_lib515_OBJECTS = lib515-lib515.$(OBJEXT) $(am__objects_179) lib515_OBJECTS = $(am_lib515_OBJECTS) lib515_LDADD = $(LDADD) lib515_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_180 = lib516-first.$(OBJEXT) am_lib516_OBJECTS = lib516-lib516.$(OBJEXT) $(am__objects_180) lib516_OBJECTS = $(am_lib516_OBJECTS) lib516_LDADD = $(LDADD) lib516_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_181 = lib517-first.$(OBJEXT) am_lib517_OBJECTS = lib517-lib517.$(OBJEXT) $(am__objects_181) lib517_OBJECTS = $(am_lib517_OBJECTS) lib517_LDADD = $(LDADD) lib517_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_182 = lib518-first.$(OBJEXT) am__objects_183 = ../../lib/lib518-warnless.$(OBJEXT) am_lib518_OBJECTS = lib518-lib518.$(OBJEXT) $(am__objects_182) \ $(am__objects_183) lib518_OBJECTS = $(am_lib518_OBJECTS) lib518_LDADD = $(LDADD) lib518_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_184 = lib519-first.$(OBJEXT) am_lib519_OBJECTS = lib519-lib519.$(OBJEXT) $(am__objects_184) lib519_OBJECTS = $(am_lib519_OBJECTS) lib519_LDADD = $(LDADD) lib519_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_185 = lib520-first.$(OBJEXT) am_lib520_OBJECTS = lib520-lib520.$(OBJEXT) $(am__objects_185) lib520_OBJECTS = $(am_lib520_OBJECTS) lib520_LDADD = $(LDADD) lib520_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_186 = lib521-first.$(OBJEXT) am_lib521_OBJECTS = lib521-lib521.$(OBJEXT) $(am__objects_186) lib521_OBJECTS = $(am_lib521_OBJECTS) lib521_LDADD = $(LDADD) lib521_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_187 = lib523-first.$(OBJEXT) am_lib523_OBJECTS = lib523-lib523.$(OBJEXT) $(am__objects_187) lib523_OBJECTS = $(am_lib523_OBJECTS) lib523_LDADD = $(LDADD) lib523_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_188 = lib524-first.$(OBJEXT) am_lib524_OBJECTS = lib524-lib524.$(OBJEXT) $(am__objects_188) lib524_OBJECTS = $(am_lib524_OBJECTS) lib524_LDADD = $(LDADD) lib524_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_189 = lib525-first.$(OBJEXT) am__objects_190 = lib525-testutil.$(OBJEXT) am__objects_191 = ../../lib/lib525-warnless.$(OBJEXT) am_lib525_OBJECTS = lib525-lib525.$(OBJEXT) $(am__objects_189) \ $(am__objects_190) $(am__objects_191) lib525_OBJECTS = $(am_lib525_OBJECTS) lib525_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_192 = lib526-first.$(OBJEXT) am__objects_193 = lib526-testutil.$(OBJEXT) am__objects_194 = ../../lib/lib526-warnless.$(OBJEXT) am_lib526_OBJECTS = lib526-lib526.$(OBJEXT) $(am__objects_192) \ $(am__objects_193) $(am__objects_194) lib526_OBJECTS = $(am_lib526_OBJECTS) lib526_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_195 = lib527-first.$(OBJEXT) am__objects_196 = lib527-testutil.$(OBJEXT) am__objects_197 = ../../lib/lib527-warnless.$(OBJEXT) am_lib527_OBJECTS = lib527-lib526.$(OBJEXT) $(am__objects_195) \ $(am__objects_196) $(am__objects_197) lib527_OBJECTS = $(am_lib527_OBJECTS) lib527_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_198 = lib529-first.$(OBJEXT) am__objects_199 = lib529-testutil.$(OBJEXT) am__objects_200 = ../../lib/lib529-warnless.$(OBJEXT) am_lib529_OBJECTS = lib529-lib525.$(OBJEXT) $(am__objects_198) \ $(am__objects_199) $(am__objects_200) lib529_OBJECTS = $(am_lib529_OBJECTS) lib529_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_201 = lib530-first.$(OBJEXT) am__objects_202 = lib530-testutil.$(OBJEXT) am__objects_203 = ../../lib/lib530-warnless.$(OBJEXT) am_lib530_OBJECTS = lib530-lib530.$(OBJEXT) $(am__objects_201) \ $(am__objects_202) $(am__objects_203) lib530_OBJECTS = $(am_lib530_OBJECTS) lib530_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_204 = lib532-first.$(OBJEXT) am__objects_205 = lib532-testutil.$(OBJEXT) am__objects_206 = ../../lib/lib532-warnless.$(OBJEXT) am_lib532_OBJECTS = lib532-lib526.$(OBJEXT) $(am__objects_204) \ $(am__objects_205) $(am__objects_206) lib532_OBJECTS = $(am_lib532_OBJECTS) lib532_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_207 = lib533-first.$(OBJEXT) am__objects_208 = lib533-testutil.$(OBJEXT) am__objects_209 = ../../lib/lib533-warnless.$(OBJEXT) am_lib533_OBJECTS = lib533-lib533.$(OBJEXT) $(am__objects_207) \ $(am__objects_208) $(am__objects_209) lib533_OBJECTS = $(am_lib533_OBJECTS) lib533_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_210 = lib537-first.$(OBJEXT) am__objects_211 = ../../lib/lib537-warnless.$(OBJEXT) am_lib537_OBJECTS = lib537-lib537.$(OBJEXT) $(am__objects_210) \ $(am__objects_211) lib537_OBJECTS = $(am_lib537_OBJECTS) lib537_LDADD = $(LDADD) lib537_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_212 = lib539-first.$(OBJEXT) am_lib539_OBJECTS = lib539-lib539.$(OBJEXT) $(am__objects_212) lib539_OBJECTS = $(am_lib539_OBJECTS) lib539_LDADD = $(LDADD) lib539_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_213 = lib540-first.$(OBJEXT) am__objects_214 = lib540-testutil.$(OBJEXT) am__objects_215 = ../../lib/lib540-warnless.$(OBJEXT) am_lib540_OBJECTS = lib540-lib540.$(OBJEXT) $(am__objects_213) \ $(am__objects_214) $(am__objects_215) lib540_OBJECTS = $(am_lib540_OBJECTS) lib540_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_216 = lib541-first.$(OBJEXT) am_lib541_OBJECTS = lib541-lib541.$(OBJEXT) $(am__objects_216) lib541_OBJECTS = $(am_lib541_OBJECTS) lib541_LDADD = $(LDADD) lib541_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_217 = lib542-first.$(OBJEXT) am_lib542_OBJECTS = lib542-lib542.$(OBJEXT) $(am__objects_217) lib542_OBJECTS = $(am_lib542_OBJECTS) lib542_LDADD = $(LDADD) lib542_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_218 = lib543-first.$(OBJEXT) am_lib543_OBJECTS = lib543-lib543.$(OBJEXT) $(am__objects_218) lib543_OBJECTS = $(am_lib543_OBJECTS) lib543_LDADD = $(LDADD) lib543_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_219 = lib544-first.$(OBJEXT) am_lib544_OBJECTS = lib544-lib544.$(OBJEXT) $(am__objects_219) lib544_OBJECTS = $(am_lib544_OBJECTS) lib544_LDADD = $(LDADD) lib544_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_220 = lib545-first.$(OBJEXT) am_lib545_OBJECTS = lib545-lib544.$(OBJEXT) $(am__objects_220) lib545_OBJECTS = $(am_lib545_OBJECTS) lib545_LDADD = $(LDADD) lib545_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_221 = lib547-first.$(OBJEXT) am_lib547_OBJECTS = lib547-lib547.$(OBJEXT) $(am__objects_221) lib547_OBJECTS = $(am_lib547_OBJECTS) lib547_LDADD = $(LDADD) lib547_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_222 = lib548-first.$(OBJEXT) am_lib548_OBJECTS = lib548-lib547.$(OBJEXT) $(am__objects_222) lib548_OBJECTS = $(am_lib548_OBJECTS) lib548_LDADD = $(LDADD) lib548_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_223 = lib549-first.$(OBJEXT) am_lib549_OBJECTS = lib549-lib549.$(OBJEXT) $(am__objects_223) lib549_OBJECTS = $(am_lib549_OBJECTS) lib549_LDADD = $(LDADD) lib549_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_224 = lib552-first.$(OBJEXT) am__objects_225 = ../../lib/lib552-warnless.$(OBJEXT) am_lib552_OBJECTS = lib552-lib552.$(OBJEXT) $(am__objects_224) \ $(am__objects_225) lib552_OBJECTS = $(am_lib552_OBJECTS) lib552_LDADD = $(LDADD) lib552_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_226 = lib553-first.$(OBJEXT) am_lib553_OBJECTS = lib553-lib553.$(OBJEXT) $(am__objects_226) lib553_OBJECTS = $(am_lib553_OBJECTS) lib553_LDADD = $(LDADD) lib553_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_227 = lib554-first.$(OBJEXT) am_lib554_OBJECTS = lib554-lib554.$(OBJEXT) $(am__objects_227) lib554_OBJECTS = $(am_lib554_OBJECTS) lib554_LDADD = $(LDADD) lib554_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_228 = lib555-first.$(OBJEXT) am__objects_229 = lib555-testutil.$(OBJEXT) am__objects_230 = ../../lib/lib555-warnless.$(OBJEXT) am_lib555_OBJECTS = lib555-lib555.$(OBJEXT) $(am__objects_228) \ $(am__objects_229) $(am__objects_230) lib555_OBJECTS = $(am_lib555_OBJECTS) lib555_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_231 = lib556-first.$(OBJEXT) am__objects_232 = ../../lib/lib556-warnless.$(OBJEXT) am_lib556_OBJECTS = lib556-lib556.$(OBJEXT) $(am__objects_231) \ $(am__objects_232) lib556_OBJECTS = $(am_lib556_OBJECTS) lib556_LDADD = $(LDADD) lib556_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_233 = lib557-first.$(OBJEXT) am_lib557_OBJECTS = lib557-lib557.$(OBJEXT) $(am__objects_233) lib557_OBJECTS = $(am_lib557_OBJECTS) lib557_LDADD = $(LDADD) lib557_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_234 = lib558-first.$(OBJEXT) am_lib558_OBJECTS = lib558-lib558.$(OBJEXT) $(am__objects_234) lib558_OBJECTS = $(am_lib558_OBJECTS) lib558_LDADD = $(LDADD) lib558_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_235 = lib559-first.$(OBJEXT) am_lib559_OBJECTS = lib559-lib559.$(OBJEXT) $(am__objects_235) lib559_OBJECTS = $(am_lib559_OBJECTS) lib559_LDADD = $(LDADD) lib559_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_236 = lib560-first.$(OBJEXT) am__objects_237 = lib560-testutil.$(OBJEXT) am__objects_238 = ../../lib/lib560-warnless.$(OBJEXT) am_lib560_OBJECTS = lib560-lib560.$(OBJEXT) $(am__objects_236) \ $(am__objects_237) $(am__objects_238) lib560_OBJECTS = $(am_lib560_OBJECTS) lib560_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_239 = lib562-first.$(OBJEXT) am_lib562_OBJECTS = lib562-lib562.$(OBJEXT) $(am__objects_239) lib562_OBJECTS = $(am_lib562_OBJECTS) lib562_LDADD = $(LDADD) lib562_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_240 = lib564-first.$(OBJEXT) am__objects_241 = lib564-testutil.$(OBJEXT) am__objects_242 = ../../lib/lib564-warnless.$(OBJEXT) am_lib564_OBJECTS = lib564-lib564.$(OBJEXT) $(am__objects_240) \ $(am__objects_241) $(am__objects_242) lib564_OBJECTS = $(am_lib564_OBJECTS) lib564_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_243 = lib565-first.$(OBJEXT) am_lib565_OBJECTS = lib565-lib510.$(OBJEXT) $(am__objects_243) lib565_OBJECTS = $(am_lib565_OBJECTS) lib565_LDADD = $(LDADD) lib565_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_244 = lib566-first.$(OBJEXT) am_lib566_OBJECTS = lib566-lib566.$(OBJEXT) $(am__objects_244) lib566_OBJECTS = $(am_lib566_OBJECTS) lib566_LDADD = $(LDADD) lib566_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_245 = lib567-first.$(OBJEXT) am_lib567_OBJECTS = lib567-lib567.$(OBJEXT) $(am__objects_245) lib567_OBJECTS = $(am_lib567_OBJECTS) lib567_LDADD = $(LDADD) lib567_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_246 = lib568-first.$(OBJEXT) am_lib568_OBJECTS = lib568-lib568.$(OBJEXT) $(am__objects_246) lib568_OBJECTS = $(am_lib568_OBJECTS) lib568_LDADD = $(LDADD) lib568_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_247 = lib569-first.$(OBJEXT) am_lib569_OBJECTS = lib569-lib569.$(OBJEXT) $(am__objects_247) lib569_OBJECTS = $(am_lib569_OBJECTS) lib569_LDADD = $(LDADD) lib569_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_248 = lib570-first.$(OBJEXT) am_lib570_OBJECTS = lib570-lib570.$(OBJEXT) $(am__objects_248) lib570_OBJECTS = $(am_lib570_OBJECTS) lib570_LDADD = $(LDADD) lib570_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_249 = lib571-first.$(OBJEXT) am__objects_250 = ../../lib/lib571-warnless.$(OBJEXT) am_lib571_OBJECTS = lib571-lib571.$(OBJEXT) $(am__objects_249) \ $(am__objects_250) lib571_OBJECTS = $(am_lib571_OBJECTS) lib571_LDADD = $(LDADD) lib571_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_251 = lib572-first.$(OBJEXT) am_lib572_OBJECTS = lib572-lib572.$(OBJEXT) $(am__objects_251) lib572_OBJECTS = $(am_lib572_OBJECTS) lib572_LDADD = $(LDADD) lib572_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_252 = lib573-first.$(OBJEXT) am__objects_253 = lib573-testutil.$(OBJEXT) am__objects_254 = ../../lib/lib573-warnless.$(OBJEXT) am__objects_255 = lib573-testtrace.$(OBJEXT) am_lib573_OBJECTS = lib573-lib573.$(OBJEXT) $(am__objects_252) \ $(am__objects_253) $(am__objects_254) $(am__objects_255) lib573_OBJECTS = $(am_lib573_OBJECTS) lib573_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_256 = lib574-first.$(OBJEXT) am_lib574_OBJECTS = lib574-lib574.$(OBJEXT) $(am__objects_256) lib574_OBJECTS = $(am_lib574_OBJECTS) lib574_LDADD = $(LDADD) lib574_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_257 = lib575-first.$(OBJEXT) am__objects_258 = lib575-testutil.$(OBJEXT) am__objects_259 = ../../lib/lib575-warnless.$(OBJEXT) am_lib575_OBJECTS = lib575-lib575.$(OBJEXT) $(am__objects_257) \ $(am__objects_258) $(am__objects_259) lib575_OBJECTS = $(am_lib575_OBJECTS) lib575_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_260 = lib576-first.$(OBJEXT) am_lib576_OBJECTS = lib576-lib576.$(OBJEXT) $(am__objects_260) lib576_OBJECTS = $(am_lib576_OBJECTS) lib576_LDADD = $(LDADD) lib576_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_261 = lib578-first.$(OBJEXT) am_lib578_OBJECTS = lib578-lib578.$(OBJEXT) $(am__objects_261) lib578_OBJECTS = $(am_lib578_OBJECTS) lib578_LDADD = $(LDADD) lib578_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_262 = lib579-first.$(OBJEXT) am_lib579_OBJECTS = lib579-lib579.$(OBJEXT) $(am__objects_262) lib579_OBJECTS = $(am_lib579_OBJECTS) lib579_LDADD = $(LDADD) lib579_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_263 = lib582-first.$(OBJEXT) am__objects_264 = lib582-testutil.$(OBJEXT) am__objects_265 = ../../lib/lib582-warnless.$(OBJEXT) am_lib582_OBJECTS = lib582-lib582.$(OBJEXT) $(am__objects_263) \ $(am__objects_264) $(am__objects_265) lib582_OBJECTS = $(am_lib582_OBJECTS) lib582_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_266 = lib583-first.$(OBJEXT) am_lib583_OBJECTS = lib583-lib583.$(OBJEXT) $(am__objects_266) lib583_OBJECTS = $(am_lib583_OBJECTS) lib583_LDADD = $(LDADD) lib583_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_267 = lib585-first.$(OBJEXT) am__objects_268 = lib585-testutil.$(OBJEXT) am__objects_269 = lib585-testtrace.$(OBJEXT) am_lib585_OBJECTS = lib585-lib500.$(OBJEXT) $(am__objects_267) \ $(am__objects_268) $(am__objects_269) lib585_OBJECTS = $(am_lib585_OBJECTS) lib585_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_270 = lib586-first.$(OBJEXT) am_lib586_OBJECTS = lib586-lib586.$(OBJEXT) $(am__objects_270) lib586_OBJECTS = $(am_lib586_OBJECTS) lib586_LDADD = $(LDADD) lib586_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_271 = lib587-first.$(OBJEXT) am_lib587_OBJECTS = lib587-lib554.$(OBJEXT) $(am__objects_271) lib587_OBJECTS = $(am_lib587_OBJECTS) lib587_LDADD = $(LDADD) lib587_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_272 = lib589-first.$(OBJEXT) am_lib589_OBJECTS = lib589-lib589.$(OBJEXT) $(am__objects_272) lib589_OBJECTS = $(am_lib589_OBJECTS) lib589_LDADD = $(LDADD) lib589_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_273 = lib590-first.$(OBJEXT) am_lib590_OBJECTS = lib590-lib590.$(OBJEXT) $(am__objects_273) lib590_OBJECTS = $(am_lib590_OBJECTS) lib590_LDADD = $(LDADD) lib590_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_274 = lib591-first.$(OBJEXT) am__objects_275 = lib591-testutil.$(OBJEXT) am__objects_276 = ../../lib/lib591-warnless.$(OBJEXT) am_lib591_OBJECTS = lib591-lib591.$(OBJEXT) $(am__objects_274) \ $(am__objects_275) $(am__objects_276) lib591_OBJECTS = $(am_lib591_OBJECTS) lib591_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_277 = lib597-first.$(OBJEXT) am__objects_278 = lib597-testutil.$(OBJEXT) am__objects_279 = ../../lib/lib597-warnless.$(OBJEXT) am_lib597_OBJECTS = lib597-lib597.$(OBJEXT) $(am__objects_277) \ $(am__objects_278) $(am__objects_279) lib597_OBJECTS = $(am_lib597_OBJECTS) lib597_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_280 = lib598-first.$(OBJEXT) am_lib598_OBJECTS = lib598-lib598.$(OBJEXT) $(am__objects_280) lib598_OBJECTS = $(am_lib598_OBJECTS) lib598_LDADD = $(LDADD) lib598_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_281 = lib599-first.$(OBJEXT) am_lib599_OBJECTS = lib599-lib599.$(OBJEXT) $(am__objects_281) lib599_OBJECTS = $(am_lib599_OBJECTS) lib599_LDADD = $(LDADD) lib599_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_282 = lib643-first.$(OBJEXT) am_lib643_OBJECTS = lib643-lib643.$(OBJEXT) $(am__objects_282) lib643_OBJECTS = $(am_lib643_OBJECTS) lib643_LDADD = $(LDADD) lib643_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_283 = lib644-first.$(OBJEXT) am_lib644_OBJECTS = lib644-lib643.$(OBJEXT) $(am__objects_283) lib644_OBJECTS = $(am_lib644_OBJECTS) lib644_LDADD = $(LDADD) lib644_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_284 = lib645-first.$(OBJEXT) am_lib645_OBJECTS = lib645-lib643.$(OBJEXT) $(am__objects_284) lib645_OBJECTS = $(am_lib645_OBJECTS) lib645_LDADD = $(LDADD) lib645_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_285 = lib650-first.$(OBJEXT) am_lib650_OBJECTS = lib650-lib650.$(OBJEXT) $(am__objects_285) lib650_OBJECTS = $(am_lib650_OBJECTS) lib650_LDADD = $(LDADD) lib650_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_286 = lib651-first.$(OBJEXT) am_lib651_OBJECTS = lib651-lib651.$(OBJEXT) $(am__objects_286) lib651_OBJECTS = $(am_lib651_OBJECTS) lib651_LDADD = $(LDADD) lib651_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_287 = lib652-first.$(OBJEXT) am_lib652_OBJECTS = lib652-lib652.$(OBJEXT) $(am__objects_287) lib652_OBJECTS = $(am_lib652_OBJECTS) lib652_LDADD = $(LDADD) lib652_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_288 = lib653-first.$(OBJEXT) am_lib653_OBJECTS = lib653-lib653.$(OBJEXT) $(am__objects_288) lib653_OBJECTS = $(am_lib653_OBJECTS) lib653_LDADD = $(LDADD) lib653_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_289 = lib654-first.$(OBJEXT) am_lib654_OBJECTS = lib654-lib654.$(OBJEXT) $(am__objects_289) lib654_OBJECTS = $(am_lib654_OBJECTS) lib654_LDADD = $(LDADD) lib654_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_290 = lib655-first.$(OBJEXT) am_lib655_OBJECTS = lib655-lib655.$(OBJEXT) $(am__objects_290) lib655_OBJECTS = $(am_lib655_OBJECTS) lib655_LDADD = $(LDADD) lib655_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_291 = lib658-first.$(OBJEXT) am__objects_292 = lib658-testutil.$(OBJEXT) am__objects_293 = ../../lib/lib658-warnless.$(OBJEXT) am_lib658_OBJECTS = lib658-lib658.$(OBJEXT) $(am__objects_291) \ $(am__objects_292) $(am__objects_293) lib658_OBJECTS = $(am_lib658_OBJECTS) lib658_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_294 = lib659-first.$(OBJEXT) am__objects_295 = lib659-testutil.$(OBJEXT) am__objects_296 = ../../lib/lib659-warnless.$(OBJEXT) am_lib659_OBJECTS = lib659-lib659.$(OBJEXT) $(am__objects_294) \ $(am__objects_295) $(am__objects_296) lib659_OBJECTS = $(am_lib659_OBJECTS) lib659_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_297 = lib661-first.$(OBJEXT) am_lib661_OBJECTS = lib661-lib661.$(OBJEXT) $(am__objects_297) lib661_OBJECTS = $(am_lib661_OBJECTS) lib661_LDADD = $(LDADD) lib661_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_298 = libauthretry-first.$(OBJEXT) am_libauthretry_OBJECTS = libauthretry-libauthretry.$(OBJEXT) \ $(am__objects_298) libauthretry_OBJECTS = $(am_libauthretry_OBJECTS) libauthretry_LDADD = $(LDADD) libauthretry_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_299 = libntlmconnect-first.$(OBJEXT) am__objects_300 = libntlmconnect-testutil.$(OBJEXT) am__objects_301 = ../../lib/libntlmconnect-warnless.$(OBJEXT) am_libntlmconnect_OBJECTS = libntlmconnect-libntlmconnect.$(OBJEXT) \ $(am__objects_299) $(am__objects_300) $(am__objects_301) libntlmconnect_OBJECTS = $(am_libntlmconnect_OBJECTS) libntlmconnect_DEPENDENCIES = $(am__DEPENDENCIES_1) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) |
︙ | ︙ | |||
1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 | ../../lib/$(DEPDIR)/lib1537-warnless.Po \ ../../lib/$(DEPDIR)/lib1538-warnless.Po \ ../../lib/$(DEPDIR)/lib1540-warnless.Po \ ../../lib/$(DEPDIR)/lib1541-warnless.Po \ ../../lib/$(DEPDIR)/lib1555-warnless.Po \ ../../lib/$(DEPDIR)/lib1556-warnless.Po \ ../../lib/$(DEPDIR)/lib1557-warnless.Po \ ../../lib/$(DEPDIR)/lib1591-warnless.Po \ ../../lib/$(DEPDIR)/lib1592-warnless.Po \ ../../lib/$(DEPDIR)/lib1596-warnless.Po \ ../../lib/$(DEPDIR)/lib1900-warnless.Po \ ../../lib/$(DEPDIR)/lib1905-warnless.Po \ ../../lib/$(DEPDIR)/lib1906-warnless.Po \ ../../lib/$(DEPDIR)/lib1907-warnless.Po \ | > > | 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 | ../../lib/$(DEPDIR)/lib1537-warnless.Po \ ../../lib/$(DEPDIR)/lib1538-warnless.Po \ ../../lib/$(DEPDIR)/lib1540-warnless.Po \ ../../lib/$(DEPDIR)/lib1541-warnless.Po \ ../../lib/$(DEPDIR)/lib1555-warnless.Po \ ../../lib/$(DEPDIR)/lib1556-warnless.Po \ ../../lib/$(DEPDIR)/lib1557-warnless.Po \ ../../lib/$(DEPDIR)/lib1564-warnless.Po \ ../../lib/$(DEPDIR)/lib1565-warnless.Po \ ../../lib/$(DEPDIR)/lib1591-warnless.Po \ ../../lib/$(DEPDIR)/lib1592-warnless.Po \ ../../lib/$(DEPDIR)/lib1596-warnless.Po \ ../../lib/$(DEPDIR)/lib1900-warnless.Po \ ../../lib/$(DEPDIR)/lib1905-warnless.Po \ ../../lib/$(DEPDIR)/lib1906-warnless.Po \ ../../lib/$(DEPDIR)/lib1907-warnless.Po \ |
︙ | ︙ | |||
1278 1279 1280 1281 1282 1283 1284 | ./$(DEPDIR)/lib1553-testutil.Po ./$(DEPDIR)/lib1554-first.Po \ ./$(DEPDIR)/lib1554-lib1554.Po ./$(DEPDIR)/lib1555-first.Po \ ./$(DEPDIR)/lib1555-lib1555.Po ./$(DEPDIR)/lib1555-testutil.Po \ ./$(DEPDIR)/lib1556-first.Po ./$(DEPDIR)/lib1556-lib1556.Po \ ./$(DEPDIR)/lib1556-testutil.Po ./$(DEPDIR)/lib1557-first.Po \ ./$(DEPDIR)/lib1557-lib1557.Po ./$(DEPDIR)/lib1557-testutil.Po \ ./$(DEPDIR)/lib1558.Po ./$(DEPDIR)/lib1559.Po \ | | > > > | 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 | ./$(DEPDIR)/lib1553-testutil.Po ./$(DEPDIR)/lib1554-first.Po \ ./$(DEPDIR)/lib1554-lib1554.Po ./$(DEPDIR)/lib1555-first.Po \ ./$(DEPDIR)/lib1555-lib1555.Po ./$(DEPDIR)/lib1555-testutil.Po \ ./$(DEPDIR)/lib1556-first.Po ./$(DEPDIR)/lib1556-lib1556.Po \ ./$(DEPDIR)/lib1556-testutil.Po ./$(DEPDIR)/lib1557-first.Po \ ./$(DEPDIR)/lib1557-lib1557.Po ./$(DEPDIR)/lib1557-testutil.Po \ ./$(DEPDIR)/lib1558.Po ./$(DEPDIR)/lib1559.Po \ ./$(DEPDIR)/lib1560.Po ./$(DEPDIR)/lib1564-first.Po \ ./$(DEPDIR)/lib1564-lib1564.Po ./$(DEPDIR)/lib1564-testutil.Po \ ./$(DEPDIR)/lib1565-first.Po ./$(DEPDIR)/lib1565-lib1565.Po \ ./$(DEPDIR)/lib1565-testutil.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)/lib1900-first.Po ./$(DEPDIR)/lib1900-lib1900.Po \ ./$(DEPDIR)/lib1900-testutil.Po ./$(DEPDIR)/lib1905-first.Po \ |
︙ | ︙ | |||
1442 1443 1444 1445 1446 1447 1448 | $(lib1530_SOURCES) $(lib1531_SOURCES) $(lib1532_SOURCES) \ $(lib1533_SOURCES) $(lib1534_SOURCES) $(lib1535_SOURCES) \ $(lib1536_SOURCES) $(lib1537_SOURCES) $(lib1538_SOURCES) \ $(lib1540_SOURCES) $(lib1541_SOURCES) $(lib1550_SOURCES) \ $(lib1551_SOURCES) $(lib1552_SOURCES) $(lib1553_SOURCES) \ $(lib1554_SOURCES) $(lib1555_SOURCES) $(lib1556_SOURCES) \ $(lib1557_SOURCES) $(lib1558_SOURCES) $(lib1559_SOURCES) \ | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | 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 | $(lib1530_SOURCES) $(lib1531_SOURCES) $(lib1532_SOURCES) \ $(lib1533_SOURCES) $(lib1534_SOURCES) $(lib1535_SOURCES) \ $(lib1536_SOURCES) $(lib1537_SOURCES) $(lib1538_SOURCES) \ $(lib1540_SOURCES) $(lib1541_SOURCES) $(lib1550_SOURCES) \ $(lib1551_SOURCES) $(lib1552_SOURCES) $(lib1553_SOURCES) \ $(lib1554_SOURCES) $(lib1555_SOURCES) $(lib1556_SOURCES) \ $(lib1557_SOURCES) $(lib1558_SOURCES) $(lib1559_SOURCES) \ $(lib1560_SOURCES) $(lib1564_SOURCES) $(lib1565_SOURCES) \ $(lib1591_SOURCES) $(lib1592_SOURCES) $(lib1593_SOURCES) \ $(lib1594_SOURCES) $(lib1596_SOURCES) $(lib1900_SOURCES) \ $(lib1905_SOURCES) $(lib1906_SOURCES) $(lib1907_SOURCES) \ $(lib2033_SOURCES) $(lib500_SOURCES) $(lib501_SOURCES) \ $(lib502_SOURCES) $(lib503_SOURCES) $(lib504_SOURCES) \ $(lib505_SOURCES) $(lib506_SOURCES) $(lib507_SOURCES) \ $(lib508_SOURCES) $(lib509_SOURCES) $(lib510_SOURCES) \ $(lib511_SOURCES) $(lib512_SOURCES) $(lib513_SOURCES) \ $(lib514_SOURCES) $(lib515_SOURCES) $(lib516_SOURCES) \ $(lib517_SOURCES) $(lib518_SOURCES) $(lib519_SOURCES) \ $(lib520_SOURCES) $(lib521_SOURCES) $(lib523_SOURCES) \ $(lib524_SOURCES) $(lib525_SOURCES) $(lib526_SOURCES) \ $(lib527_SOURCES) $(lib529_SOURCES) $(lib530_SOURCES) \ $(lib532_SOURCES) $(lib533_SOURCES) $(lib537_SOURCES) \ $(lib539_SOURCES) $(lib540_SOURCES) $(lib541_SOURCES) \ $(lib542_SOURCES) $(lib543_SOURCES) $(lib544_SOURCES) \ $(lib545_SOURCES) $(lib547_SOURCES) $(lib548_SOURCES) \ $(lib549_SOURCES) $(lib552_SOURCES) $(lib553_SOURCES) \ $(lib554_SOURCES) $(lib555_SOURCES) $(lib556_SOURCES) \ $(lib557_SOURCES) $(lib558_SOURCES) $(lib559_SOURCES) \ $(lib560_SOURCES) $(lib562_SOURCES) $(lib564_SOURCES) \ $(lib565_SOURCES) $(lib566_SOURCES) $(lib567_SOURCES) \ $(lib568_SOURCES) $(lib569_SOURCES) $(lib570_SOURCES) \ $(lib571_SOURCES) $(lib572_SOURCES) $(lib573_SOURCES) \ $(lib574_SOURCES) $(lib575_SOURCES) $(lib576_SOURCES) \ $(lib578_SOURCES) $(lib579_SOURCES) $(lib582_SOURCES) \ $(lib583_SOURCES) $(lib585_SOURCES) $(lib586_SOURCES) \ $(lib587_SOURCES) $(lib589_SOURCES) $(lib590_SOURCES) \ $(lib591_SOURCES) $(lib597_SOURCES) $(lib598_SOURCES) \ $(lib599_SOURCES) $(lib643_SOURCES) $(lib644_SOURCES) \ $(lib645_SOURCES) $(lib650_SOURCES) $(lib651_SOURCES) \ $(lib652_SOURCES) $(lib653_SOURCES) $(lib654_SOURCES) \ $(lib655_SOURCES) $(lib658_SOURCES) $(lib659_SOURCES) \ $(lib661_SOURCES) $(libauthretry_SOURCES) \ $(libntlmconnect_SOURCES) DIST_SOURCES = $(libhostname_la_SOURCES) \ $(am__libstubgss_la_SOURCES_DIST) $(chkdecimalpoint_SOURCES) \ $(chkhostname_SOURCES) $(lib1156_SOURCES) $(lib1500_SOURCES) \ $(lib1501_SOURCES) $(lib1502_SOURCES) $(lib1503_SOURCES) \ $(lib1504_SOURCES) $(lib1505_SOURCES) $(lib1506_SOURCES) \ $(lib1507_SOURCES) $(lib1508_SOURCES) $(lib1509_SOURCES) \ $(lib1510_SOURCES) $(lib1511_SOURCES) $(lib1512_SOURCES) \ $(lib1513_SOURCES) $(lib1514_SOURCES) $(lib1515_SOURCES) \ $(lib1517_SOURCES) $(lib1518_SOURCES) $(lib1520_SOURCES) \ $(lib1522_SOURCES) $(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) $(lib1540_SOURCES) $(lib1541_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) $(lib1591_SOURCES) $(lib1592_SOURCES) \ $(lib1593_SOURCES) $(lib1594_SOURCES) $(lib1596_SOURCES) \ $(lib1900_SOURCES) $(lib1905_SOURCES) $(lib1906_SOURCES) \ $(lib1907_SOURCES) $(lib2033_SOURCES) $(lib500_SOURCES) \ $(lib501_SOURCES) $(lib502_SOURCES) $(lib503_SOURCES) \ $(lib504_SOURCES) $(lib505_SOURCES) $(lib506_SOURCES) \ $(lib507_SOURCES) $(lib508_SOURCES) $(lib509_SOURCES) \ $(lib510_SOURCES) $(lib511_SOURCES) $(lib512_SOURCES) \ |
︙ | ︙ | |||
1477 1478 1479 1480 1481 1482 1483 | $(lib590_SOURCES) $(lib591_SOURCES) $(lib597_SOURCES) \ $(lib598_SOURCES) $(lib599_SOURCES) $(lib643_SOURCES) \ $(lib644_SOURCES) $(lib645_SOURCES) $(lib650_SOURCES) \ $(lib651_SOURCES) $(lib652_SOURCES) $(lib653_SOURCES) \ $(lib654_SOURCES) $(lib655_SOURCES) $(lib658_SOURCES) \ $(lib659_SOURCES) $(lib661_SOURCES) $(libauthretry_SOURCES) \ $(libntlmconnect_SOURCES) | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 | $(lib590_SOURCES) $(lib591_SOURCES) $(lib597_SOURCES) \ $(lib598_SOURCES) $(lib599_SOURCES) $(lib643_SOURCES) \ $(lib644_SOURCES) $(lib645_SOURCES) $(lib650_SOURCES) \ $(lib651_SOURCES) $(lib652_SOURCES) $(lib653_SOURCES) \ $(lib654_SOURCES) $(lib655_SOURCES) $(lib658_SOURCES) \ $(lib659_SOURCES) $(lib661_SOURCES) $(libauthretry_SOURCES) \ $(libntlmconnect_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, |
︙ | ︙ | |||
1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ | > | 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_BEARSSL = @USE_BEARSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ |
︙ | ︙ | |||
2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 | lib1557_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1557 lib1558_SOURCES = lib1558.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1558_LDADD = $(TESTUTIL_LIBS) lib1559_SOURCES = lib1559.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1559_LDADD = $(TESTUTIL_LIBS) lib1560_SOURCES = lib1560.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1560_LDADD = $(TESTUTIL_LIBS) lib1591_SOURCES = lib1591.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1591_LDADD = $(TESTUTIL_LIBS) lib1591_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1591 lib1592_SOURCES = lib1592.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1592_LDADD = $(TESTUTIL_LIBS) lib1592_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1592 lib1593_SOURCES = lib1593.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) | > > > > > > | 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 | lib1557_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1557 lib1558_SOURCES = lib1558.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1558_LDADD = $(TESTUTIL_LIBS) lib1559_SOURCES = lib1559.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1559_LDADD = $(TESTUTIL_LIBS) lib1560_SOURCES = lib1560.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1560_LDADD = $(TESTUTIL_LIBS) lib1564_SOURCES = lib1564.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1564_LDADD = $(TESTUTIL_LIBS) lib1564_CPPFLAGS = $(AM_CPPFLAGS) lib1565_SOURCES = lib1565.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1565_LDADD = $(TESTUTIL_LIBS) lib1565_CPPFLAGS = $(AM_CPPFLAGS) lib1591_SOURCES = lib1591.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1591_LDADD = $(TESTUTIL_LIBS) lib1591_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1591 lib1592_SOURCES = lib1592.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1592_LDADD = $(TESTUTIL_LIBS) lib1592_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1592 lib1593_SOURCES = lib1593.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) |
︙ | ︙ | |||
2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 | lib1559$(EXEEXT): $(lib1559_OBJECTS) $(lib1559_DEPENDENCIES) $(EXTRA_lib1559_DEPENDENCIES) @rm -f lib1559$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1559_OBJECTS) $(lib1559_LDADD) $(LIBS) lib1560$(EXEEXT): $(lib1560_OBJECTS) $(lib1560_DEPENDENCIES) $(EXTRA_lib1560_DEPENDENCIES) @rm -f lib1560$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1560_OBJECTS) $(lib1560_LDADD) $(LIBS) ../../lib/lib1591-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib1591$(EXEEXT): $(lib1591_OBJECTS) $(lib1591_DEPENDENCIES) $(EXTRA_lib1591_DEPENDENCIES) @rm -f lib1591$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1591_OBJECTS) $(lib1591_LDADD) $(LIBS) ../../lib/lib1592-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ | > > > > > > > > > > > > | 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 | lib1559$(EXEEXT): $(lib1559_OBJECTS) $(lib1559_DEPENDENCIES) $(EXTRA_lib1559_DEPENDENCIES) @rm -f lib1559$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1559_OBJECTS) $(lib1559_LDADD) $(LIBS) lib1560$(EXEEXT): $(lib1560_OBJECTS) $(lib1560_DEPENDENCIES) $(EXTRA_lib1560_DEPENDENCIES) @rm -f lib1560$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1560_OBJECTS) $(lib1560_LDADD) $(LIBS) ../../lib/lib1564-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib1564$(EXEEXT): $(lib1564_OBJECTS) $(lib1564_DEPENDENCIES) $(EXTRA_lib1564_DEPENDENCIES) @rm -f lib1564$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1564_OBJECTS) $(lib1564_LDADD) $(LIBS) ../../lib/lib1565-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib1565$(EXEEXT): $(lib1565_OBJECTS) $(lib1565_DEPENDENCIES) $(EXTRA_lib1565_DEPENDENCIES) @rm -f lib1565$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1565_OBJECTS) $(lib1565_LDADD) $(LIBS) ../../lib/lib1591-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ ../../lib/$(DEPDIR)/$(am__dirstamp) lib1591$(EXEEXT): $(lib1591_OBJECTS) $(lib1591_DEPENDENCIES) $(EXTRA_lib1591_DEPENDENCIES) @rm -f lib1591$(EXEEXT) $(AM_V_CCLD)$(LINK) $(lib1591_OBJECTS) $(lib1591_LDADD) $(LIBS) ../../lib/lib1592-warnless.$(OBJEXT): ../../lib/$(am__dirstamp) \ |
︙ | ︙ | |||
3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 | @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1537-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1538-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1540-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1541-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1555-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1556-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1557-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1591-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1592-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1596-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1900-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1905-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1906-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1907-warnless.Po@am__quote@ # am--include-marker | > > | 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 | @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1537-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1538-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1540-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1541-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1555-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1556-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1557-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1564-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1565-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1591-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1592-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1596-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1900-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1905-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1906-warnless.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@../../lib/$(DEPDIR)/lib1907-warnless.Po@am__quote@ # am--include-marker |
︙ | ︙ | |||
3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1556-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1557-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1557-lib1557.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1557-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1558.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1559.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1560.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1591-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1591-lib1591.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1591-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1592-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1592-lib1592.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1592-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1593.Po@am__quote@ # am--include-marker | > > > > > > | 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1556-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1557-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1557-lib1557.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1557-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1558.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1559.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1560.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1564-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1564-lib1564.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1564-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1565-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1565-lib1565.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1565-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1591-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1591-lib1591.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1591-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1592-first.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1592-lib1592.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1592-testutil.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib1593.Po@am__quote@ # am--include-marker |
︙ | ︙ | |||
5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 | ../../lib/lib1557-warnless.obj: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1557_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib1557-warnless.obj -MD -MP -MF ../../lib/$(DEPDIR)/lib1557-warnless.Tpo -c -o ../../lib/lib1557-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib1557-warnless.Tpo ../../lib/$(DEPDIR)/lib1557-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib1557-warnless.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1557_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib1557-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` lib1591-lib1591.o: lib1591.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1591_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1591-lib1591.o -MD -MP -MF $(DEPDIR)/lib1591-lib1591.Tpo -c -o lib1591-lib1591.o `test -f 'lib1591.c' || echo '$(srcdir)/'`lib1591.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1591-lib1591.Tpo $(DEPDIR)/lib1591-lib1591.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib1591.c' object='lib1591-lib1591.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1591_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1591-lib1591.o `test -f 'lib1591.c' || echo '$(srcdir)/'`lib1591.c | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 | ../../lib/lib1557-warnless.obj: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1557_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib1557-warnless.obj -MD -MP -MF ../../lib/$(DEPDIR)/lib1557-warnless.Tpo -c -o ../../lib/lib1557-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib1557-warnless.Tpo ../../lib/$(DEPDIR)/lib1557-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib1557-warnless.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1557_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib1557-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` lib1564-lib1564.o: lib1564.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1564_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1564-lib1564.o -MD -MP -MF $(DEPDIR)/lib1564-lib1564.Tpo -c -o lib1564-lib1564.o `test -f 'lib1564.c' || echo '$(srcdir)/'`lib1564.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1564-lib1564.Tpo $(DEPDIR)/lib1564-lib1564.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib1564.c' object='lib1564-lib1564.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1564_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1564-lib1564.o `test -f 'lib1564.c' || echo '$(srcdir)/'`lib1564.c lib1564-lib1564.obj: lib1564.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1564_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1564-lib1564.obj -MD -MP -MF $(DEPDIR)/lib1564-lib1564.Tpo -c -o lib1564-lib1564.obj `if test -f 'lib1564.c'; then $(CYGPATH_W) 'lib1564.c'; else $(CYGPATH_W) '$(srcdir)/lib1564.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1564-lib1564.Tpo $(DEPDIR)/lib1564-lib1564.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib1564.c' object='lib1564-lib1564.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1564_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1564-lib1564.obj `if test -f 'lib1564.c'; then $(CYGPATH_W) 'lib1564.c'; else $(CYGPATH_W) '$(srcdir)/lib1564.c'; fi` lib1564-first.o: first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1564_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1564-first.o -MD -MP -MF $(DEPDIR)/lib1564-first.Tpo -c -o lib1564-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1564-first.Tpo $(DEPDIR)/lib1564-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='first.c' object='lib1564-first.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1564_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1564-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c lib1564-first.obj: first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1564_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1564-first.obj -MD -MP -MF $(DEPDIR)/lib1564-first.Tpo -c -o lib1564-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1564-first.Tpo $(DEPDIR)/lib1564-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='first.c' object='lib1564-first.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1564_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1564-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi` lib1564-testutil.o: testutil.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1564_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1564-testutil.o -MD -MP -MF $(DEPDIR)/lib1564-testutil.Tpo -c -o lib1564-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1564-testutil.Tpo $(DEPDIR)/lib1564-testutil.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutil.c' object='lib1564-testutil.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1564_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1564-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c lib1564-testutil.obj: testutil.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1564_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1564-testutil.obj -MD -MP -MF $(DEPDIR)/lib1564-testutil.Tpo -c -o lib1564-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1564-testutil.Tpo $(DEPDIR)/lib1564-testutil.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutil.c' object='lib1564-testutil.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1564_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1564-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi` ../../lib/lib1564-warnless.o: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1564_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib1564-warnless.o -MD -MP -MF ../../lib/$(DEPDIR)/lib1564-warnless.Tpo -c -o ../../lib/lib1564-warnless.o `test -f '../../lib/warnless.c' || echo '$(srcdir)/'`../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib1564-warnless.Tpo ../../lib/$(DEPDIR)/lib1564-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib1564-warnless.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1564_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib1564-warnless.o `test -f '../../lib/warnless.c' || echo '$(srcdir)/'`../../lib/warnless.c ../../lib/lib1564-warnless.obj: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1564_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib1564-warnless.obj -MD -MP -MF ../../lib/$(DEPDIR)/lib1564-warnless.Tpo -c -o ../../lib/lib1564-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib1564-warnless.Tpo ../../lib/$(DEPDIR)/lib1564-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib1564-warnless.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1564_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib1564-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` lib1565-lib1565.o: lib1565.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1565_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1565-lib1565.o -MD -MP -MF $(DEPDIR)/lib1565-lib1565.Tpo -c -o lib1565-lib1565.o `test -f 'lib1565.c' || echo '$(srcdir)/'`lib1565.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1565-lib1565.Tpo $(DEPDIR)/lib1565-lib1565.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib1565.c' object='lib1565-lib1565.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1565_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1565-lib1565.o `test -f 'lib1565.c' || echo '$(srcdir)/'`lib1565.c lib1565-lib1565.obj: lib1565.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1565_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1565-lib1565.obj -MD -MP -MF $(DEPDIR)/lib1565-lib1565.Tpo -c -o lib1565-lib1565.obj `if test -f 'lib1565.c'; then $(CYGPATH_W) 'lib1565.c'; else $(CYGPATH_W) '$(srcdir)/lib1565.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1565-lib1565.Tpo $(DEPDIR)/lib1565-lib1565.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib1565.c' object='lib1565-lib1565.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1565_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1565-lib1565.obj `if test -f 'lib1565.c'; then $(CYGPATH_W) 'lib1565.c'; else $(CYGPATH_W) '$(srcdir)/lib1565.c'; fi` lib1565-first.o: first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1565_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1565-first.o -MD -MP -MF $(DEPDIR)/lib1565-first.Tpo -c -o lib1565-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1565-first.Tpo $(DEPDIR)/lib1565-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='first.c' object='lib1565-first.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1565_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1565-first.o `test -f 'first.c' || echo '$(srcdir)/'`first.c lib1565-first.obj: first.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1565_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1565-first.obj -MD -MP -MF $(DEPDIR)/lib1565-first.Tpo -c -o lib1565-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1565-first.Tpo $(DEPDIR)/lib1565-first.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='first.c' object='lib1565-first.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1565_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1565-first.obj `if test -f 'first.c'; then $(CYGPATH_W) 'first.c'; else $(CYGPATH_W) '$(srcdir)/first.c'; fi` lib1565-testutil.o: testutil.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1565_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1565-testutil.o -MD -MP -MF $(DEPDIR)/lib1565-testutil.Tpo -c -o lib1565-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1565-testutil.Tpo $(DEPDIR)/lib1565-testutil.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutil.c' object='lib1565-testutil.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1565_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1565-testutil.o `test -f 'testutil.c' || echo '$(srcdir)/'`testutil.c lib1565-testutil.obj: testutil.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1565_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1565-testutil.obj -MD -MP -MF $(DEPDIR)/lib1565-testutil.Tpo -c -o lib1565-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1565-testutil.Tpo $(DEPDIR)/lib1565-testutil.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testutil.c' object='lib1565-testutil.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1565_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1565-testutil.obj `if test -f 'testutil.c'; then $(CYGPATH_W) 'testutil.c'; else $(CYGPATH_W) '$(srcdir)/testutil.c'; fi` ../../lib/lib1565-warnless.o: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1565_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib1565-warnless.o -MD -MP -MF ../../lib/$(DEPDIR)/lib1565-warnless.Tpo -c -o ../../lib/lib1565-warnless.o `test -f '../../lib/warnless.c' || echo '$(srcdir)/'`../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib1565-warnless.Tpo ../../lib/$(DEPDIR)/lib1565-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib1565-warnless.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1565_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib1565-warnless.o `test -f '../../lib/warnless.c' || echo '$(srcdir)/'`../../lib/warnless.c ../../lib/lib1565-warnless.obj: ../../lib/warnless.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1565_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ../../lib/lib1565-warnless.obj -MD -MP -MF ../../lib/$(DEPDIR)/lib1565-warnless.Tpo -c -o ../../lib/lib1565-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../../lib/$(DEPDIR)/lib1565-warnless.Tpo ../../lib/$(DEPDIR)/lib1565-warnless.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../../lib/warnless.c' object='../../lib/lib1565-warnless.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1565_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ../../lib/lib1565-warnless.obj `if test -f '../../lib/warnless.c'; then $(CYGPATH_W) '../../lib/warnless.c'; else $(CYGPATH_W) '$(srcdir)/../../lib/warnless.c'; fi` lib1591-lib1591.o: lib1591.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1591_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lib1591-lib1591.o -MD -MP -MF $(DEPDIR)/lib1591-lib1591.Tpo -c -o lib1591-lib1591.o `test -f 'lib1591.c' || echo '$(srcdir)/'`lib1591.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lib1591-lib1591.Tpo $(DEPDIR)/lib1591-lib1591.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lib1591.c' object='lib1591-lib1591.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib1591_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lib1591-lib1591.o `test -f 'lib1591.c' || echo '$(srcdir)/'`lib1591.c |
︙ | ︙ | |||
9972 9973 9974 9975 9976 9977 9978 9979 9980 9981 9982 9983 9984 9985 | -rm -f ../../lib/$(DEPDIR)/lib1537-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1538-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1540-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1541-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1555-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1556-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1557-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1591-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1592-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1596-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1900-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1905-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1906-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1907-warnless.Po | > > | 10133 10134 10135 10136 10137 10138 10139 10140 10141 10142 10143 10144 10145 10146 10147 10148 | -rm -f ../../lib/$(DEPDIR)/lib1537-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1538-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1540-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1541-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1555-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1556-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1557-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1564-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1565-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1591-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1592-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1596-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1900-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1905-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1906-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1907-warnless.Po |
︙ | ︙ | |||
10147 10148 10149 10150 10151 10152 10153 10154 10155 10156 10157 10158 10159 10160 | -rm -f ./$(DEPDIR)/lib1556-testutil.Po -rm -f ./$(DEPDIR)/lib1557-first.Po -rm -f ./$(DEPDIR)/lib1557-lib1557.Po -rm -f ./$(DEPDIR)/lib1557-testutil.Po -rm -f ./$(DEPDIR)/lib1558.Po -rm -f ./$(DEPDIR)/lib1559.Po -rm -f ./$(DEPDIR)/lib1560.Po -rm -f ./$(DEPDIR)/lib1591-first.Po -rm -f ./$(DEPDIR)/lib1591-lib1591.Po -rm -f ./$(DEPDIR)/lib1591-testutil.Po -rm -f ./$(DEPDIR)/lib1592-first.Po -rm -f ./$(DEPDIR)/lib1592-lib1592.Po -rm -f ./$(DEPDIR)/lib1592-testutil.Po -rm -f ./$(DEPDIR)/lib1593.Po | > > > > > > | 10310 10311 10312 10313 10314 10315 10316 10317 10318 10319 10320 10321 10322 10323 10324 10325 10326 10327 10328 10329 | -rm -f ./$(DEPDIR)/lib1556-testutil.Po -rm -f ./$(DEPDIR)/lib1557-first.Po -rm -f ./$(DEPDIR)/lib1557-lib1557.Po -rm -f ./$(DEPDIR)/lib1557-testutil.Po -rm -f ./$(DEPDIR)/lib1558.Po -rm -f ./$(DEPDIR)/lib1559.Po -rm -f ./$(DEPDIR)/lib1560.Po -rm -f ./$(DEPDIR)/lib1564-first.Po -rm -f ./$(DEPDIR)/lib1564-lib1564.Po -rm -f ./$(DEPDIR)/lib1564-testutil.Po -rm -f ./$(DEPDIR)/lib1565-first.Po -rm -f ./$(DEPDIR)/lib1565-lib1565.Po -rm -f ./$(DEPDIR)/lib1565-testutil.Po -rm -f ./$(DEPDIR)/lib1591-first.Po -rm -f ./$(DEPDIR)/lib1591-lib1591.Po -rm -f ./$(DEPDIR)/lib1591-testutil.Po -rm -f ./$(DEPDIR)/lib1592-first.Po -rm -f ./$(DEPDIR)/lib1592-lib1592.Po -rm -f ./$(DEPDIR)/lib1592-testutil.Po -rm -f ./$(DEPDIR)/lib1593.Po |
︙ | ︙ | |||
10471 10472 10473 10474 10475 10476 10477 10478 10479 10480 10481 10482 10483 10484 | -rm -f ../../lib/$(DEPDIR)/lib1537-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1538-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1540-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1541-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1555-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1556-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1557-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1591-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1592-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1596-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1900-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1905-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1906-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1907-warnless.Po | > > | 10640 10641 10642 10643 10644 10645 10646 10647 10648 10649 10650 10651 10652 10653 10654 10655 | -rm -f ../../lib/$(DEPDIR)/lib1537-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1538-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1540-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1541-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1555-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1556-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1557-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1564-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1565-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1591-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1592-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1596-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1900-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1905-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1906-warnless.Po -rm -f ../../lib/$(DEPDIR)/lib1907-warnless.Po |
︙ | ︙ | |||
10646 10647 10648 10649 10650 10651 10652 10653 10654 10655 10656 10657 10658 10659 | -rm -f ./$(DEPDIR)/lib1556-testutil.Po -rm -f ./$(DEPDIR)/lib1557-first.Po -rm -f ./$(DEPDIR)/lib1557-lib1557.Po -rm -f ./$(DEPDIR)/lib1557-testutil.Po -rm -f ./$(DEPDIR)/lib1558.Po -rm -f ./$(DEPDIR)/lib1559.Po -rm -f ./$(DEPDIR)/lib1560.Po -rm -f ./$(DEPDIR)/lib1591-first.Po -rm -f ./$(DEPDIR)/lib1591-lib1591.Po -rm -f ./$(DEPDIR)/lib1591-testutil.Po -rm -f ./$(DEPDIR)/lib1592-first.Po -rm -f ./$(DEPDIR)/lib1592-lib1592.Po -rm -f ./$(DEPDIR)/lib1592-testutil.Po -rm -f ./$(DEPDIR)/lib1593.Po | > > > > > > | 10817 10818 10819 10820 10821 10822 10823 10824 10825 10826 10827 10828 10829 10830 10831 10832 10833 10834 10835 10836 | -rm -f ./$(DEPDIR)/lib1556-testutil.Po -rm -f ./$(DEPDIR)/lib1557-first.Po -rm -f ./$(DEPDIR)/lib1557-lib1557.Po -rm -f ./$(DEPDIR)/lib1557-testutil.Po -rm -f ./$(DEPDIR)/lib1558.Po -rm -f ./$(DEPDIR)/lib1559.Po -rm -f ./$(DEPDIR)/lib1560.Po -rm -f ./$(DEPDIR)/lib1564-first.Po -rm -f ./$(DEPDIR)/lib1564-lib1564.Po -rm -f ./$(DEPDIR)/lib1564-testutil.Po -rm -f ./$(DEPDIR)/lib1565-first.Po -rm -f ./$(DEPDIR)/lib1565-lib1565.Po -rm -f ./$(DEPDIR)/lib1565-testutil.Po -rm -f ./$(DEPDIR)/lib1591-first.Po -rm -f ./$(DEPDIR)/lib1591-lib1591.Po -rm -f ./$(DEPDIR)/lib1591-testutil.Po -rm -f ./$(DEPDIR)/lib1592-first.Po -rm -f ./$(DEPDIR)/lib1592-lib1592.Po -rm -f ./$(DEPDIR)/lib1592-testutil.Po -rm -f ./$(DEPDIR)/lib1593.Po |
︙ | ︙ | |||
10929 10930 10931 10932 10933 10934 10935 | .PRECIOUS: Makefile lib1521.c: $(top_srcdir)/tests/libtest/mk-lib1521.pl $(top_srcdir)/include/curl/curl.h @PERL@ $(top_srcdir)/tests/libtest/mk-lib1521.pl < $(top_srcdir)/include/curl/curl.h > lib1521.c checksrc: | | | 11106 11107 11108 11109 11110 11111 11112 11113 11114 11115 11116 11117 11118 11119 11120 | .PRECIOUS: Makefile lib1521.c: $(top_srcdir)/tests/libtest/mk-lib1521.pl $(top_srcdir)/include/curl/curl.h @PERL@ $(top_srcdir)/tests/libtest/mk-lib1521.pl < $(top_srcdir)/include/curl/curl.h > lib1521.c checksrc: $(CHECKSRC)@PERL@ $(top_srcdir)/lib/checksrc.pl $(srcdir)/*.[ch] # for debug builds, we scan the sources on all regular make invokes @CURLDEBUG_TRUE@all-local: checksrc # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: |
Changes to jni/curl/tests/libtest/Makefile.inc.
︙ | ︙ | |||
27 28 29 30 31 32 33 | lib1500 lib1501 lib1502 lib1503 lib1504 lib1505 lib1506 lib1507 lib1508 \ 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 \ lib1540 lib1541 \ lib1550 lib1551 lib1552 lib1553 lib1554 lib1555 lib1556 lib1557 \ | | | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | lib1500 lib1501 lib1502 lib1503 lib1504 lib1505 lib1506 lib1507 lib1508 \ 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 \ lib1540 lib1541 \ lib1550 lib1551 lib1552 lib1553 lib1554 lib1555 lib1556 lib1557 \ lib1558 lib1559 lib1560 lib1564 lib1565 \ lib1591 lib1592 lib1593 lib1594 lib1596 \ lib1900 lib1905 lib1906 lib1907 \ lib2033 chkdecimalpoint_SOURCES = chkdecimalpoint.c ../../lib/mprintf.c \ ../../lib/curl_ctype.c chkdecimalpoint_LDADD = |
︙ | ︙ | |||
531 532 533 534 535 536 537 538 539 540 541 542 543 544 | lib1558_LDADD = $(TESTUTIL_LIBS) lib1559_SOURCES = lib1559.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1559_LDADD = $(TESTUTIL_LIBS) lib1560_SOURCES = lib1560.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1560_LDADD = $(TESTUTIL_LIBS) lib1591_SOURCES = lib1591.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1591_LDADD = $(TESTUTIL_LIBS) lib1591_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1591 lib1592_SOURCES = lib1592.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1592_LDADD = $(TESTUTIL_LIBS) | > > > > > > > > | 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 | lib1558_LDADD = $(TESTUTIL_LIBS) lib1559_SOURCES = lib1559.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1559_LDADD = $(TESTUTIL_LIBS) lib1560_SOURCES = lib1560.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1560_LDADD = $(TESTUTIL_LIBS) lib1564_SOURCES = lib1564.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1564_LDADD = $(TESTUTIL_LIBS) lib1564_CPPFLAGS = $(AM_CPPFLAGS) lib1565_SOURCES = lib1565.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1565_LDADD = $(TESTUTIL_LIBS) lib1565_CPPFLAGS = $(AM_CPPFLAGS) lib1591_SOURCES = lib1591.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1591_LDADD = $(TESTUTIL_LIBS) lib1591_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1591 lib1592_SOURCES = lib1592.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS) lib1592_LDADD = $(TESTUTIL_LIBS) |
︙ | ︙ |
Changes to jni/curl/tests/libtest/lib1557.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
45 46 47 48 49 50 51 | easy_init(curl2); easy_setopt(curl2, CURLOPT_URL, URL); multi_add_handle(curlm, curl2); multi_perform(curlm, &running_handles); multi_remove_handle(curlm, curl2); | < < > > | 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | easy_init(curl2); easy_setopt(curl2, CURLOPT_URL, URL); multi_add_handle(curlm, curl2); multi_perform(curlm, &running_handles); multi_remove_handle(curlm, curl2); /* If curl2 is still in the connect-pending list, this will crash */ multi_remove_handle(curlm, curl1); test_cleanup: curl_easy_cleanup(curl1); curl_easy_cleanup(curl2); curl_multi_cleanup(curlm); curl_global_cleanup(); return res; } |
Changes to jni/curl/tests/libtest/lib1559.c.
︙ | ︙ | |||
29 30 31 32 33 34 35 36 37 38 39 40 41 42 | int test(char *URL) { CURLcode res = 0; CURL *curl = NULL; char *longurl = malloc(EXCESSIVE); CURLU *u; (void)URL; memset(longurl, 'a', EXCESSIVE); longurl[EXCESSIVE-1] = 0; global_init(CURL_GLOBAL_ALL); easy_init(curl); | > > > | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | int test(char *URL) { CURLcode res = 0; CURL *curl = NULL; char *longurl = malloc(EXCESSIVE); CURLU *u; (void)URL; if(!longurl) return 1; memset(longurl, 'a', EXCESSIVE); longurl[EXCESSIVE-1] = 0; global_init(CURL_GLOBAL_ALL); easy_init(curl); |
︙ | ︙ | |||
58 59 60 61 62 63 64 | EXCESSIVE, (int)uc); uc = curl_url_set(u, CURLUPART_USER, longurl, 0); printf("CURLUPART_USER %d bytes user == %d\n", EXCESSIVE, (int)uc); curl_url_cleanup(u); } | < < < < < < < | | 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | EXCESSIVE, (int)uc); uc = curl_url_set(u, CURLUPART_USER, longurl, 0); printf("CURLUPART_USER %d bytes user == %d\n", EXCESSIVE, (int)uc); curl_url_cleanup(u); } test_cleanup: free(longurl); curl_easy_cleanup(curl); curl_global_cleanup(); return res; /* return the final return code */ } |
Added jni/curl/tests/libtest/lib1564.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "test.h" #include "testutil.h" #include "warnless.h" #include "memdebug.h" #define TEST_HANG_TIMEOUT 60 * 1000 #define WAKEUP_NUM 1234567 int test(char *URL) { CURLM *multi = NULL; int numfds; int i; int res = 0; struct timeval time_before_wait, time_after_wait; (void)URL; start_test_timing(); global_init(CURL_GLOBAL_ALL); multi_init(multi); /* no wakeup */ time_before_wait = tutil_tvnow(); multi_poll(multi, NULL, 0, 1000, &numfds); time_after_wait = tutil_tvnow(); if(tutil_tvdiff(time_after_wait, time_before_wait) < 500) { fprintf(stderr, "%s:%d curl_multi_poll returned too early\n", __FILE__, __LINE__); res = TEST_ERR_MAJOR_BAD; goto test_cleanup; } abort_on_test_timeout(); /* try a single wakeup */ multi_wakeup(multi); time_before_wait = tutil_tvnow(); multi_poll(multi, NULL, 0, 1000, &numfds); time_after_wait = tutil_tvnow(); if(tutil_tvdiff(time_after_wait, time_before_wait) > 500) { fprintf(stderr, "%s:%d curl_multi_poll returned too late\n", __FILE__, __LINE__); res = TEST_ERR_MAJOR_BAD; goto test_cleanup; } abort_on_test_timeout(); /* previous wakeup should not wake up this */ time_before_wait = tutil_tvnow(); multi_poll(multi, NULL, 0, 1000, &numfds); time_after_wait = tutil_tvnow(); if(tutil_tvdiff(time_after_wait, time_before_wait) < 500) { fprintf(stderr, "%s:%d curl_multi_poll returned too early\n", __FILE__, __LINE__); res = TEST_ERR_MAJOR_BAD; goto test_cleanup; } abort_on_test_timeout(); /* try lots of wakeup */ for(i = 0; i < WAKEUP_NUM; ++i) multi_wakeup(multi); time_before_wait = tutil_tvnow(); multi_poll(multi, NULL, 0, 1000, &numfds); time_after_wait = tutil_tvnow(); if(tutil_tvdiff(time_after_wait, time_before_wait) > 500) { fprintf(stderr, "%s:%d curl_multi_poll returned too late\n", __FILE__, __LINE__); res = TEST_ERR_MAJOR_BAD; goto test_cleanup; } abort_on_test_timeout(); #if !defined(WIN32) && !defined(_WIN32) && !defined(__WIN32__) \ && !defined(__CYGWIN__) /* Even lots of previous wakeups should not wake up this. On Windows (particularly when using MinGW), the socketpair used for curl_multi_wakeup() is really asynchronous, meaning when it's called a lot, it can take some time before all of the data can be read. Sometimes it can wake up more than one curl_multi_poll() call. */ time_before_wait = tutil_tvnow(); multi_poll(multi, NULL, 0, 1000, &numfds); time_after_wait = tutil_tvnow(); if(tutil_tvdiff(time_after_wait, time_before_wait) < 500) { fprintf(stderr, "%s:%d curl_multi_poll returned too early\n", __FILE__, __LINE__); res = TEST_ERR_MAJOR_BAD; goto test_cleanup; } abort_on_test_timeout(); #endif test_cleanup: curl_multi_cleanup(multi); curl_global_cleanup(); return res; } |
Added jni/curl/tests/libtest/lib1565.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include "test.h" #include "testutil.h" #include "warnless.h" #include "memdebug.h" #ifdef HAVE_PTHREAD_H #include <pthread.h> #include <unistd.h> #define TEST_HANG_TIMEOUT 60 * 1000 #define CONN_NUM 3 #define TIME_BETWEEN_START_SECS 2 static pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; static CURL *pending_handles[CONN_NUM]; static int pending_num = 0; static int test_failure = 0; static CURLM *multi = NULL; static const char *url; static void *run_thread(void *ptr) { CURL *easy = NULL; int res = 0; int i; (void)ptr; for(i = 0; i < CONN_NUM; i++) { sleep(TIME_BETWEEN_START_SECS); easy_init(easy); easy_setopt(easy, CURLOPT_URL, url); easy_setopt(easy, CURLOPT_VERBOSE, 0L); pthread_mutex_lock(&lock); if(test_failure) { pthread_mutex_unlock(&lock); goto test_cleanup; } pending_handles[pending_num] = easy; pending_num++; easy = NULL; pthread_mutex_unlock(&lock); multi_wakeup(multi); } test_cleanup: curl_easy_cleanup(easy); pthread_mutex_lock(&lock); if(!test_failure) test_failure = res; pthread_mutex_unlock(&lock); return NULL; } int test(char *URL) { int still_running; int num; int i; int res = 0; CURL *started_handles[CONN_NUM]; int started_num = 0; int finished_num = 0; pthread_t tid = 0; struct CURLMsg *message; start_test_timing(); global_init(CURL_GLOBAL_ALL); multi_init(multi); url = URL; res = pthread_create(&tid, NULL, run_thread, NULL); if(0 != res) { fprintf(stderr, "%s:%d Couldn't create thread, errno %d\n", __FILE__, __LINE__, res); goto test_cleanup; } while(1) { multi_perform(multi, &still_running); abort_on_test_timeout(); while((message = curl_multi_info_read(multi, &num)) != NULL) { if(message->msg == CURLMSG_DONE) { res = message->data.result; if(res) goto test_cleanup; multi_remove_handle(multi, message->easy_handle); finished_num++; } else { fprintf(stderr, "%s:%d Got an unexpected message from curl: %i\n", __FILE__, __LINE__, (int)message->msg); res = TEST_ERR_MAJOR_BAD; goto test_cleanup; } abort_on_test_timeout(); } if(CONN_NUM == finished_num) break; multi_poll(multi, NULL, 0, TEST_HANG_TIMEOUT, &num); abort_on_test_timeout(); pthread_mutex_lock(&lock); while(pending_num > 0) { res_multi_add_handle(multi, pending_handles[pending_num - 1]); if(res) { pthread_mutex_unlock(&lock); goto test_cleanup; } started_handles[started_num] = pending_handles[pending_num - 1]; started_num++; pending_num--; } pthread_mutex_unlock(&lock); abort_on_test_timeout(); } if(CONN_NUM != started_num) { fprintf(stderr, "%s:%d Not all connections started: %d of %d\n", __FILE__, __LINE__, started_num, CONN_NUM); goto test_cleanup; } if(CONN_NUM != finished_num) { fprintf(stderr, "%s:%d Not all connections finished: %d of %d\n", __FILE__, __LINE__, started_num, CONN_NUM); goto test_cleanup; } test_cleanup: pthread_mutex_lock(&lock); if(!test_failure) test_failure = res; pthread_mutex_unlock(&lock); if(0 != tid) pthread_join(tid, NULL); curl_multi_cleanup(multi); for(i = 0; i < pending_num; i++) curl_easy_cleanup(pending_handles[i]); for(i = 0; i < started_num; i++) curl_easy_cleanup(started_handles[i]); curl_global_cleanup(); return test_failure; } #else /* without pthread, this test doesn't work */ int test(char *URL) { (void)URL; return 0; } #endif |
Changes to jni/curl/tests/libtest/lib1591.c.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is |
︙ | ︙ | |||
46 47 48 49 50 51 52 53 54 55 | consumed += amount; (void)stream; memcpy(ptr, data, amount); return amount; } static int trailers_callback(struct curl_slist **list, void *userdata) { (void)userdata; | > > > > > | > | > > | > > > > > | 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 | consumed += amount; (void)stream; memcpy(ptr, data, amount); return amount; } /* * carefully not leak memory on OOM */ static int trailers_callback(struct curl_slist **list, void *userdata) { struct curl_slist *nlist = NULL; struct curl_slist *nlist2 = NULL; (void)userdata; nlist = curl_slist_append(*list, "my-super-awesome-trailer: trail1"); if(nlist) nlist2 = curl_slist_append(nlist, "my-other-awesome-trailer: trail2"); if(nlist2) { *list = nlist2; return CURL_TRAILERFUNC_OK; } else { curl_slist_free_all(nlist); return CURL_TRAILERFUNC_ABORT; } } int test(char *URL) { CURL *curl = NULL; CURLcode res = CURLE_FAILED_INIT; /* http and proxy header list*/ |
︙ | ︙ |
Changes to jni/curl/tests/libtest/test.h.
1 2 3 4 5 6 7 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | /*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ /* !checksrc! disable ASSIGNWITHINCONDITION 14 */ /* Now include the curl_setup.h file from libcurl's private libdir (the source version, but that might include "curl_config.h" from the build dir so we need both of them in the include path), so that we get good in-depth knowledge about the system we're building this on */ #define CURL_NO_OLDIES |
︙ | ︙ | |||
127 128 129 130 131 132 133 | /* ---------------------------------------------------------------- */ #define exe_easy_init(A,Y,Z) do { \ if(((A) = curl_easy_init()) == NULL) { \ fprintf(stderr, "%s:%d curl_easy_init() failed\n", (Y), (Z)); \ res = TEST_ERR_EASY_INIT; \ } \ | | | | | | | | | | | | | | 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 | /* ---------------------------------------------------------------- */ #define exe_easy_init(A,Y,Z) do { \ if(((A) = curl_easy_init()) == NULL) { \ fprintf(stderr, "%s:%d curl_easy_init() failed\n", (Y), (Z)); \ res = TEST_ERR_EASY_INIT; \ } \ } while(0) #define res_easy_init(A) \ exe_easy_init((A), (__FILE__), (__LINE__)) #define chk_easy_init(A,Y,Z) do { \ exe_easy_init((A), (Y), (Z)); \ if(res) \ goto test_cleanup; \ } while(0) #define easy_init(A) \ chk_easy_init((A), (__FILE__), (__LINE__)) /* ---------------------------------------------------------------- */ #define exe_multi_init(A,Y,Z) do { \ if(((A) = curl_multi_init()) == NULL) { \ fprintf(stderr, "%s:%d curl_multi_init() failed\n", (Y), (Z)); \ res = TEST_ERR_MULTI_INIT; \ } \ } while(0) #define res_multi_init(A) \ exe_multi_init((A), (__FILE__), (__LINE__)) #define chk_multi_init(A,Y,Z) do { \ exe_multi_init((A), (Y), (Z)); \ if(res) \ goto test_cleanup; \ } while(0) #define multi_init(A) \ chk_multi_init((A), (__FILE__), (__LINE__)) /* ---------------------------------------------------------------- */ #define exe_easy_setopt(A,B,C,Y,Z) do { \ CURLcode ec; \ if((ec = curl_easy_setopt((A), (B), (C))) != CURLE_OK) { \ fprintf(stderr, "%s:%d curl_easy_setopt() failed, " \ "with code %d (%s)\n", \ (Y), (Z), (int)ec, curl_easy_strerror(ec)); \ res = (int)ec; \ } \ } while(0) #define res_easy_setopt(A, B, C) \ exe_easy_setopt((A), (B), (C), (__FILE__), (__LINE__)) #define chk_easy_setopt(A, B, C, Y, Z) do { \ exe_easy_setopt((A), (B), (C), (Y), (Z)); \ if(res) \ goto test_cleanup; \ } while(0) #define easy_setopt(A, B, C) \ chk_easy_setopt((A), (B), (C), (__FILE__), (__LINE__)) /* ---------------------------------------------------------------- */ #define exe_multi_setopt(A, B, C, Y, Z) do { \ CURLMcode ec; \ if((ec = curl_multi_setopt((A), (B), (C))) != CURLM_OK) { \ fprintf(stderr, "%s:%d curl_multi_setopt() failed, " \ "with code %d (%s)\n", \ (Y), (Z), (int)ec, curl_multi_strerror(ec)); \ res = (int)ec; \ } \ } while(0) #define res_multi_setopt(A,B,C) \ exe_multi_setopt((A), (B), (C), (__FILE__), (__LINE__)) #define chk_multi_setopt(A,B,C,Y,Z) do { \ exe_multi_setopt((A), (B), (C), (Y), (Z)); \ if(res) \ goto test_cleanup; \ } while(0) #define multi_setopt(A,B,C) \ chk_multi_setopt((A), (B), (C), (__FILE__), (__LINE__)) /* ---------------------------------------------------------------- */ #define exe_multi_add_handle(A,B,Y,Z) do { \ CURLMcode ec; \ if((ec = curl_multi_add_handle((A), (B))) != CURLM_OK) { \ fprintf(stderr, "%s:%d curl_multi_add_handle() failed, " \ "with code %d (%s)\n", \ (Y), (Z), (int)ec, curl_multi_strerror(ec)); \ res = (int)ec; \ } \ } while(0) #define res_multi_add_handle(A, B) \ exe_multi_add_handle((A), (B), (__FILE__), (__LINE__)) #define chk_multi_add_handle(A, B, Y, Z) do { \ exe_multi_add_handle((A), (B), (Y), (Z)); \ if(res) \ goto test_cleanup; \ } while(0) #define multi_add_handle(A, B) \ chk_multi_add_handle((A), (B), (__FILE__), (__LINE__)) /* ---------------------------------------------------------------- */ #define exe_multi_remove_handle(A,B,Y,Z) do { \ CURLMcode ec; \ if((ec = curl_multi_remove_handle((A), (B))) != CURLM_OK) { \ fprintf(stderr, "%s:%d curl_multi_remove_handle() failed, " \ "with code %d (%s)\n", \ (Y), (Z), (int)ec, curl_multi_strerror(ec)); \ res = (int)ec; \ } \ } while(0) #define res_multi_remove_handle(A, B) \ exe_multi_remove_handle((A), (B), (__FILE__), (__LINE__)) #define chk_multi_remove_handle(A, B, Y, Z) do { \ exe_multi_remove_handle((A), (B), (Y), (Z)); \ if(res) \ goto test_cleanup; \ } while(0) #define multi_remove_handle(A, B) \ chk_multi_remove_handle((A), (B), (__FILE__), (__LINE__)) /* ---------------------------------------------------------------- */ |
︙ | ︙ | |||
275 276 277 278 279 280 281 | } \ else if(*((B)) < 0) { \ fprintf(stderr, "%s:%d curl_multi_perform() succeeded, " \ "but returned invalid running_handles value (%d)\n", \ (Y), (Z), (int)*((B))); \ res = TEST_ERR_NUM_HANDLES; \ } \ | | | | | | | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | | | | | | | 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 | } \ else if(*((B)) < 0) { \ fprintf(stderr, "%s:%d curl_multi_perform() succeeded, " \ "but returned invalid running_handles value (%d)\n", \ (Y), (Z), (int)*((B))); \ res = TEST_ERR_NUM_HANDLES; \ } \ } while(0) #define res_multi_perform(A, B) \ exe_multi_perform((A), (B), (__FILE__), (__LINE__)) #define chk_multi_perform(A, B, Y, Z) do { \ exe_multi_perform((A), (B), (Y), (Z)); \ if(res) \ goto test_cleanup; \ } while(0) #define multi_perform(A,B) \ chk_multi_perform((A), (B), (__FILE__), (__LINE__)) /* ---------------------------------------------------------------- */ #define exe_multi_fdset(A, B, C, D, E, Y, Z) do { \ CURLMcode ec; \ if((ec = curl_multi_fdset((A), (B), (C), (D), (E))) != CURLM_OK) { \ fprintf(stderr, "%s:%d curl_multi_fdset() failed, " \ "with code %d (%s)\n", \ (Y), (Z), (int)ec, curl_multi_strerror(ec)); \ res = (int)ec; \ } \ else if(*((E)) < -1) { \ fprintf(stderr, "%s:%d curl_multi_fdset() succeeded, " \ "but returned invalid max_fd value (%d)\n", \ (Y), (Z), (int)*((E))); \ res = TEST_ERR_NUM_HANDLES; \ } \ } while(0) #define res_multi_fdset(A, B, C, D, E) \ exe_multi_fdset((A), (B), (C), (D), (E), (__FILE__), (__LINE__)) #define chk_multi_fdset(A, B, C, D, E, Y, Z) do { \ exe_multi_fdset((A), (B), (C), (D), (E), (Y), (Z)); \ if(res) \ goto test_cleanup; \ } while(0) #define multi_fdset(A, B, C, D, E) \ chk_multi_fdset((A), (B), (C), (D), (E), (__FILE__), (__LINE__)) /* ---------------------------------------------------------------- */ #define exe_multi_timeout(A,B,Y,Z) do { \ CURLMcode ec; \ if((ec = curl_multi_timeout((A), (B))) != CURLM_OK) { \ fprintf(stderr, "%s:%d curl_multi_timeout() failed, " \ "with code %d (%s)\n", \ (Y), (Z), (int)ec, curl_multi_strerror(ec)); \ res = (int)ec; \ } \ else if(*((B)) < -1L) { \ fprintf(stderr, "%s:%d curl_multi_timeout() succeeded, " \ "but returned invalid timeout value (%ld)\n", \ (Y), (Z), (long)*((B))); \ res = TEST_ERR_BAD_TIMEOUT; \ } \ } while(0) #define res_multi_timeout(A, B) \ exe_multi_timeout((A), (B), (__FILE__), (__LINE__)) #define chk_multi_timeout(A, B, Y, Z) do { \ exe_multi_timeout((A), (B), (Y), (Z)); \ if(res) \ goto test_cleanup; \ } while(0) #define multi_timeout(A, B) \ chk_multi_timeout((A), (B), (__FILE__), (__LINE__)) /* ---------------------------------------------------------------- */ #define exe_multi_poll(A,B,C,D,E,Y,Z) do { \ CURLMcode ec; \ if((ec = curl_multi_poll((A), (B), (C), (D), (E))) != CURLM_OK) { \ fprintf(stderr, "%s:%d curl_multi_poll() failed, " \ "with code %d (%s)\n", \ (Y), (Z), (int)ec, curl_multi_strerror(ec)); \ res = (int)ec; \ } \ else if(*((E)) < 0) { \ fprintf(stderr, "%s:%d curl_multi_poll() succeeded, " \ "but returned invalid numfds value (%d)\n", \ (Y), (Z), (int)*((E))); \ res = TEST_ERR_NUM_HANDLES; \ } \ } while(0) #define res_multi_poll(A, B, C, D, E) \ exe_multi_poll((A), (B), (C), (D), (E), (__FILE__), (__LINE__)) #define chk_multi_poll(A, B, C, D, E, Y, Z) do { \ exe_multi_poll((A), (B), (C), (D), (E), (Y), (Z)); \ if(res) \ goto test_cleanup; \ } while(0) #define multi_poll(A, B, C, D, E) \ chk_multi_poll((A), (B), (C), (D), (E), (__FILE__), (__LINE__)) /* ---------------------------------------------------------------- */ #define exe_multi_wakeup(A,Y,Z) do { \ CURLMcode ec; \ if((ec = curl_multi_wakeup((A))) != CURLM_OK) { \ fprintf(stderr, "%s:%d curl_multi_wakeup() failed, " \ "with code %d (%s)\n", \ (Y), (Z), (int)ec, curl_multi_strerror(ec)); \ res = (int)ec; \ } \ } while(0) #define res_multi_wakeup(A) \ exe_multi_wakeup((A), (__FILE__), (__LINE__)) #define chk_multi_wakeup(A, Y, Z) do { \ exe_multi_wakeup((A), (Y), (Z)); \ if(res) \ goto test_cleanup; \ } while(0) #define multi_wakeup(A) \ chk_multi_wakeup((A), (__FILE__), (__LINE__)) /* ---------------------------------------------------------------- */ #define exe_select_test(A, B, C, D, E, Y, Z) do { \ int ec; \ if(select_wrapper((A), (B), (C), (D), (E)) == -1) { \ ec = SOCKERRNO; \ fprintf(stderr, "%s:%d select() failed, with " \ "errno %d (%s)\n", \ (Y), (Z), ec, strerror(ec)); \ res = TEST_ERR_SELECT; \ } \ } while(0) #define res_select_test(A, B, C, D, E) \ exe_select_test((A), (B), (C), (D), (E), (__FILE__), (__LINE__)) #define chk_select_test(A, B, C, D, E, Y, Z) do { \ exe_select_test((A), (B), (C), (D), (E), (Y), (Z)); \ if(res) \ goto test_cleanup; \ } while(0) #define select_test(A, B, C, D, E) \ chk_select_test((A), (B), (C), (D), (E), (__FILE__), (__LINE__)) /* ---------------------------------------------------------------- */ #define start_test_timing() do { \ tv_test_start = tutil_tvnow(); \ } while(0) #define exe_test_timedout(Y,Z) do { \ if(tutil_tvdiff(tutil_tvnow(), tv_test_start) > TEST_HANG_TIMEOUT) { \ fprintf(stderr, "%s:%d ABORTING TEST, since it seems " \ "that it would have run forever.\n", (Y), (Z)); \ res = TEST_ERR_RUNS_FOREVER; \ } \ } while(0) #define res_test_timedout() \ exe_test_timedout((__FILE__), (__LINE__)) #define chk_test_timedout(Y, Z) do { \ exe_test_timedout(Y, Z); \ if(res) \ goto test_cleanup; \ } while(0) #define abort_on_test_timeout() \ chk_test_timedout((__FILE__), (__LINE__)) /* ---------------------------------------------------------------- */ #define exe_global_init(A,Y,Z) do { \ CURLcode ec; \ if((ec = curl_global_init((A))) != CURLE_OK) { \ fprintf(stderr, "%s:%d curl_global_init() failed, " \ "with code %d (%s)\n", \ (Y), (Z), (int)ec, curl_easy_strerror(ec)); \ res = (int)ec; \ } \ } while(0) #define res_global_init(A) \ exe_global_init((A), (__FILE__), (__LINE__)) #define chk_global_init(A, Y, Z) do { \ exe_global_init((A), (Y), (Z)); \ if(res) \ return res; \ } while(0) /* global_init() is different than other macros. In case of failure it 'return's instead of going to 'test_cleanup'. */ #define global_init(A) \ chk_global_init((A), (__FILE__), (__LINE__)) /* ---------------------------------------------------------------- */ |
jni/curl/tests/manpage-scan.pl became executable.
︙ | ︙ |
Changes to jni/curl/tests/runtests.1.
1 2 3 4 5 6 7 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at https://curl.haxx.se/docs/copyright.html. .\" * .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell .\" * copies of the Software, and permit persons to whom the Software is .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH runtests.pl 1 "December 13, 2019" "Curl 7.68.0" "runtests" .SH NAME runtests.pl \- run one or more test cases .SH SYNOPSIS .B runtests.pl [options] [test number] [!test number] [key word] [!key word] .SH DESCRIPTION \fIruntests.pl\fP runs one, several or all the existing test cases in curl's |
︙ | ︙ | |||
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | access to the machine and logs. .IP "-R" Run the tests in a scrambled, or randomized, order instead of sequentially. .IP "-r" Display run time statistics. (Requires Perl Time::HiRes module) .IP "-rf" Display full run time statistics. (Requires Perl Time::HiRes module) .IP "-s" Shorter output. Speaks less than default. .IP "-t[num]" Selects a \fBtorture\fP test for the given tests. This makes runtests.pl first run the tests once and count the number of memory allocations made. It then reruns the test that number of times, each time forcing one of the allocations to fail until all allocs have been tested. By setting \fInum\fP you can force the allocation with that number to be set to fail at once instead of looping through everyone, which is very handy when debugging and then often in | > > > > > > > > > > > > | 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 | access to the machine and logs. .IP "-R" Run the tests in a scrambled, or randomized, order instead of sequentially. .IP "-r" Display run time statistics. (Requires Perl Time::HiRes module) .IP "-rf" Display full run time statistics. (Requires Perl Time::HiRes module) .IP "--repeat=[num]" This will repeat the given set of test numbers this many times. If no test numbers are given, it will repeat ALL tests this many times. It iteratively adds the new sequence at the end of the initially given one. If \fB-R\fP is also used, the scrambling is done after the repeats have extended the test sequence. .IP "-s" Shorter output. Speaks less than default. .IP "--shallow=[num](,seed)" Used together with \fB-t\fP. This limits the number of tests to fail in torture mode to no more than 'num' per test case. If this reduces the amount, the given 'seed' will be used to randomly discard entries to fail until the amount is 'num'. .IP "-t[num]" Selects a \fBtorture\fP test for the given tests. This makes runtests.pl first run the tests once and count the number of memory allocations made. It then reruns the test that number of times, each time forcing one of the allocations to fail until all allocs have been tested. By setting \fInum\fP you can force the allocation with that number to be set to fail at once instead of looping through everyone, which is very handy when debugging and then often in |
︙ | ︙ |
Changes to jni/curl/tests/runtests.pl.
︙ | ︙ | |||
146 147 148 149 150 151 152 | my $HTTP2PORT; # HTTP/2 server port my $DICTPORT; # DICT server port my $SMBPORT; # SMB server port my $SMBSPORT; # SMBS server port my $NEGTELNETPORT; # TELNET server port with negotiation my $srcdir = $ENV{'srcdir'} || '.'; | | | 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | my $HTTP2PORT; # HTTP/2 server port my $DICTPORT; # DICT server port my $SMBPORT; # SMB server port my $SMBSPORT; # SMBS server port my $NEGTELNETPORT; # TELNET server port with negotiation my $srcdir = $ENV{'srcdir'} || '.'; my $CURL="../src/curl".exe_ext('TOOL'); # what curl executable 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 $DBGCURL=$CURL; #"../src/.libs/curl"; # alternative for debugging my $LOGDIR="log"; my $TESTDIR="$srcdir/data"; my $LIBDIR="./libtest"; |
︙ | ︙ | |||
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 | # invoke perl like this: my $perl="perl -I$srcdir"; my $server_response_maxtime=13; my $debug_build=0; # built debug enabled (--enable-debug) my $has_memory_tracking=0; # built with memory tracking (--enable-curldebug) my $libtool; # name of the file that the memory debugging creates: my $memdump="$LOGDIR/memdump"; # the path to the script that analyzes the memory debug output file: my $memanalyze="$perl $srcdir/memanalyze.pl"; my $pwd = getcwd(); # current working directory my $posix_pwd = $pwd; my $start; my $ftpchecktime=1; # time it took to verify our test FTP server my $scrambleorder; my $stunnel = checkcmd("stunnel4") || checkcmd("tstunnel") || checkcmd("stunnel"); my $valgrind = checktestcmd("valgrind"); my $valgrind_logfile="--logfile"; my $valgrind_tool; my $gdb = checktestcmd("gdb"); my $httptlssrv = find_httptlssrv(); my $has_ssl; # set if libcurl is built with SSL support my $has_largefile; # set if libcurl is built with large file support my $has_idn; # set if libcurl is built with IDN support my $http_ipv6; # set if HTTP server has IPv6 support my $http_unix; # set if HTTP server has Unix sockets support my $ftp_ipv6; # set if FTP server has IPv6 support my $tftp_ipv6; # set if TFTP server has IPv6 support | > > > > | 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 | # invoke perl like this: my $perl="perl -I$srcdir"; my $server_response_maxtime=13; my $debug_build=0; # built debug enabled (--enable-debug) my $has_memory_tracking=0; # built with memory tracking (--enable-curldebug) my $libtool; my $repeat = 0; # name of the file that the memory debugging creates: my $memdump="$LOGDIR/memdump"; # the path to the script that analyzes the memory debug output file: my $memanalyze="$perl $srcdir/memanalyze.pl"; my $pwd = getcwd(); # current working directory my $posix_pwd = $pwd; my $start; my $ftpchecktime=1; # time it took to verify our test FTP server my $scrambleorder; my $stunnel = checkcmd("stunnel4") || checkcmd("tstunnel") || checkcmd("stunnel"); my $valgrind = checktestcmd("valgrind"); my $valgrind_logfile="--logfile"; my $valgrind_tool; my $gdb = checktestcmd("gdb"); my $httptlssrv = find_httptlssrv(); my $uname_release = `uname -r`; my $is_wsl = $uname_release =~ /Microsoft$/; my $has_ssl; # set if libcurl is built with SSL support my $has_largefile; # set if libcurl is built with large file support my $has_idn; # set if libcurl is built with IDN support my $http_ipv6; # set if HTTP server has IPv6 support my $http_unix; # set if HTTP server has Unix sockets support my $ftp_ipv6; # set if FTP server has IPv6 support my $tftp_ipv6; # set if TFTP server has IPv6 support |
︙ | ︙ | |||
314 315 316 317 318 319 320 321 322 323 324 325 326 | my %serverpidfile;# all server pid file names, identified by server id my %runcert; # cert file currently in use by an ssl running server # torture test variables my $torture; my $tortnum; my $tortalloc; ####################################################################### # logmsg is our general message logging subroutine. # sub logmsg { for(@_) { | > > > > > > > | | 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 | my %serverpidfile;# all server pid file names, identified by server id my %runcert; # cert file currently in use by an ssl running server # torture test variables my $torture; my $tortnum; my $tortalloc; my $shallow; my $shallowseed; ####################################################################### # logmsg is our general message logging subroutine. # sub logmsg { for(@_) { my $line = $_; if ($is_wsl) { # use \r\n for WSL shell $line =~ s/\r?\n$/\r\n/g; } print "$line"; } } # get the name of the current user my $USER = $ENV{USER}; # Linux if (!$USER) { $USER = $ENV{USERNAME}; # Windows |
︙ | ︙ | |||
586 587 588 589 590 591 592 | } } if(!$count) { logmsg " found no functions to make fail\n"; return 0; } | > > > > > > > > > > > > > > > > | | | > > > > > | 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 | } } if(!$count) { logmsg " found no functions to make fail\n"; return 0; } my @ttests = (1 .. $count); if($shallow && ($shallow < $count)) { my $discard = scalar(@ttests) - $shallow; my $percent = sprintf("%.2f%%", $shallow * 100 / scalar(@ttests));; logmsg " $count functions found, but only fail $shallow ($percent)\n"; while($discard) { my $rm; do { # find a test to discard $rm = rand(scalar(@ttests)); } while(!$ttests[$rm]); $ttests[$rm] = undef; $discard--; } } else { logmsg " $count functions to make fail\n"; } for (@ttests) { my $limit = $_; my $fail; my $dumped_core; if(!defined($limit)) { # --shallow can undefine them next; } if($tortalloc && ($tortalloc != $limit)) { next; } if($verbose) { my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time()); |
︙ | ︙ | |||
2903 2904 2905 2906 2907 2908 2909 | close(CONF); } if($has_ipv6) { # client has IPv6 support # check if the HTTP server has it! | > | > | > | | 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 | close(CONF); } if($has_ipv6) { # client has IPv6 support # check if the HTTP server has it! my $cmd = "server/sws".exe_ext('SRV')." --version"; my @sws = `$cmd`; if($sws[0] =~ /IPv6/) { # HTTP server has IPv6 support! $http_ipv6 = 1; $gopher_ipv6 = 1; } # check if the FTP server has it! $cmd = "server/sockfilt".exe_ext('SRV')." --version"; @sws = `$cmd`; if($sws[0] =~ /IPv6/) { # FTP server has IPv6 support! $ftp_ipv6 = 1; } } if($has_unix) { # client has Unix sockets support, check whether the HTTP server has it my $cmd = "server/sws".exe_ext('SRV')." --version"; my @sws = `$cmd`; $http_unix = 1 if($sws[0] =~ /unix/); } if(!$has_memory_tracking && $torture) { die "can't run torture tests since curl was built without ". "TrackMemory feature (--enable-curldebug)"; } |
︙ | ︙ | |||
3330 3331 3332 3333 3334 3335 3336 | $oldenv{$var} = ($ENV{$var})?"$ENV{$var}":'notset'; # set new value if(!$content) { delete $ENV{$var} if($ENV{$var}); } else { if($var =~ /^LD_PRELOAD/) { | | | 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 | $oldenv{$var} = ($ENV{$var})?"$ENV{$var}":'notset'; # set new value if(!$content) { delete $ENV{$var} if($ENV{$var}); } else { if($var =~ /^LD_PRELOAD/) { if(exe_ext('TOOL') && (exe_ext('TOOL') eq '.exe')) { # print "Skipping LD_PRELOAD due to lack of OS support\n"; next; } if($debug_build || ($has_shared ne "yes")) { # print "Skipping LD_PRELOAD due to no release shared build\n"; next; } |
︙ | ︙ | |||
3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 | my @codepieces = getpart("client", "tool"); my $tool=""; if(@codepieces) { $tool = $codepieces[0]; chomp $tool; } # remove server output logfile unlink($SERVERIN); unlink($SERVER2IN); unlink($PROXYIN); | > | 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 | my @codepieces = getpart("client", "tool"); my $tool=""; if(@codepieces) { $tool = $codepieces[0]; chomp $tool; $tool .= exe_ext('TOOL'); } # remove server output logfile unlink($SERVERIN); unlink($SERVER2IN); unlink($PROXYIN); |
︙ | ︙ | |||
5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 | # torture $torture=1; my $xtra = $1; if($xtra =~ s/(\d+)$//) { $tortalloc = $1; } } elsif($ARGV[0] eq "-a") { # continue anyway, even if a test fail $anyway=1; } elsif($ARGV[0] eq "-p") { $postmortem=1; | > > > > > > > > > > > > | 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 | # torture $torture=1; my $xtra = $1; if($xtra =~ s/(\d+)$//) { $tortalloc = $1; } } elsif($ARGV[0] =~ /--shallow=(\d+)(,|)(\d*)/) { # Fail no more than this amount per tests when running # torture. my ($num, $seed)=($1,$3); $shallow=$num; $shallowseed=$seed?$seed:1234; # get a real seed later srand($shallowseed); # make it predictable } elsif($ARGV[0] =~ /--repeat=(\d+)/) { # Repeat-run the given tests this many times $repeat = $1; } elsif($ARGV[0] eq "-a") { # continue anyway, even if a test fail $anyway=1; } elsif($ARGV[0] eq "-p") { $postmortem=1; |
︙ | ︙ | |||
5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 | } } 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 -bN use base port number N for test servers (default $base) -c path use this curl executable -d display server debug info -e event-based execution -g run the test case with gdb -gw run the test case with gdb as a windowed application -h this help text -k keep stdout and stderr files present after tests -l list all test case names/descriptions -n no valgrind -p print log file contents when a test fails -R scrambled order -r run time statistics -rf full run time statistics -s short output | > | | 5102 5103 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 | } } 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] -bN use base port number N for test servers (default $base) -c path use this curl executable -d display server debug info -e event-based execution -g run the test case with gdb -gw run the test case with gdb as a windowed application -h this help text -k keep stdout and stderr files present after tests -l list all test case names/descriptions -n no valgrind -p print log file contents when a test fails -R scrambled order -r run time statistics -rf full run time statistics -s short output --shallow=[num](,seed) make the torture tests thinner -t[N] torture (simulate function failures); N means fail Nth function -v verbose output -vc path use this curl only to verify the existing servers [num] like "5 6 9" or " 5 to 22 " to run those tests only [!num] like "!5 !6 !9" to disable those tests [keyword] like "IPv6" to select only tests containing the key word [!keyword] like "!cookies" to disable any tests containing the key word |
︙ | ︙ | |||
5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 | } split(" ", $TESTCASES); if($verified eq "") { print "No existing test cases were specified\n"; exit; } $TESTCASES = $verified; } if($scrambleorder) { # scramble the order of the test cases my @rand; while($TESTCASES) { my @all = split(/ +/, $TESTCASES); if(!$all[0]) { | > > > > > > > | 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 | } split(" ", $TESTCASES); if($verified eq "") { print "No existing test cases were specified\n"; exit; } $TESTCASES = $verified; } if($repeat) { my $s; for(1 .. $repeat) { $s .= $TESTCASES; } $TESTCASES = $s; } if($scrambleorder) { # scramble the order of the test cases my @rand; while($TESTCASES) { my @all = split(/ +/, $TESTCASES); if(!$all[0]) { |
︙ | ︙ |
Changes to jni/curl/tests/server/CMakeLists.txt.
1 2 3 | set(TARGET_LABEL_PREFIX "Test server ") if(MSVC) | | | 1 2 3 4 5 6 7 8 9 10 11 | set(TARGET_LABEL_PREFIX "Test server ") if(MSVC) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4306") endif() function(SETUP_EXECUTABLE TEST_NAME) # ARGN are the files in the test add_executable(${TEST_NAME} ${ARGN}) string(TOUPPER ${TEST_NAME} UPPER_TEST_NAME) include_directories( |
︙ | ︙ |
Changes to jni/curl/tests/server/Makefile.am.
︙ | ︙ | |||
58 59 60 61 62 63 64 | CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) checksrc: | | | 58 59 60 61 62 63 64 65 66 67 68 69 70 | CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) checksrc: $(CHECKSRC)@PERL@ $(top_srcdir)/lib/checksrc.pl $(srcdir)/*.[ch] if CURLDEBUG # for debug builds, we scan the sources on all regular make invokes all-local: checksrc endif |
Changes to jni/curl/tests/server/Makefile.in.
︙ | ︙ | |||
523 524 525 526 527 528 529 530 531 532 533 534 535 536 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ | > | 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_BEARSSL = @USE_BEARSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ |
︙ | ︙ | |||
2582 2583 2584 2585 2586 2587 2588 | mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am .PRECIOUS: Makefile checksrc: | | | 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 | mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am .PRECIOUS: Makefile checksrc: $(CHECKSRC)@PERL@ $(top_srcdir)/lib/checksrc.pl $(srcdir)/*.[ch] # for debug builds, we scan the sources on all regular make invokes @CURLDEBUG_TRUE@all-local: checksrc # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: |
Changes to jni/curl/tests/server/resolve.c.
︙ | ︙ | |||
64 65 66 67 68 69 70 | int arg = 1; const char *host = NULL; int rc = 0; while(argc>arg) { if(!strcmp("--version", argv[arg])) { printf("resolve IPv4%s\n", | | | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | int arg = 1; const char *host = NULL; int rc = 0; while(argc>arg) { if(!strcmp("--version", argv[arg])) { printf("resolve IPv4%s\n", #if defined(CURLRES_IPV6) "/IPv6" #else "" #endif ); return 0; } |
︙ | ︙ | |||
91 92 93 94 95 96 97 | host = argv[arg++]; } } if(!host) { puts("Usage: resolve [option] <host>\n" " --version\n" " --ipv4" | | | | 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 | host = argv[arg++]; } } if(!host) { puts("Usage: resolve [option] <host>\n" " --version\n" " --ipv4" #if defined(CURLRES_IPV6) "\n --ipv6" #endif ); return 1; } #ifdef WIN32 win32_init(); atexit(win32_cleanup); #endif #if defined(CURLRES_IPV6) if(use_ipv6) { /* Check that the system has IPv6 enabled before checking the resolver */ curl_socket_t s = socket(PF_INET6, SOCK_DGRAM, 0); if(s == CURL_SOCKET_BAD) /* an IPv6 address was requested and we can't get/use one */ rc = -1; else { |
︙ | ︙ |
Changes to jni/curl/tests/server/sws.c.
︙ | ︙ | |||
363 364 365 366 367 368 369 370 371 372 373 374 375 376 | { FILE *stream; char *filename; int error; filename = test2file(req->testno); req->close = FALSE; stream = fopen(filename, "rb"); if(!stream) { error = errno; logmsg("fopen() failed with error: %d %s", error, strerror(error)); logmsg(" [1] Error opening file: %s", filename); logmsg(" Couldn't open test file %ld", req->testno); req->open = FALSE; /* closes connection */ | > > | 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 | { FILE *stream; char *filename; int error; filename = test2file(req->testno); req->close = FALSE; req->connmon = FALSE; stream = fopen(filename, "rb"); if(!stream) { error = errno; logmsg("fopen() failed with error: %d %s", error, strerror(error)); logmsg(" [1] Error opening file: %s", filename); logmsg(" Couldn't open test file %ld", req->testno); req->open = FALSE; /* closes connection */ |
︙ | ︙ | |||
387 388 389 390 391 392 393 | fclose(stream); if(error) { logmsg("getpart() failed with error: %d", error); req->open = FALSE; /* closes connection */ return 1; /* done */ } | < < | 389 390 391 392 393 394 395 396 397 398 399 400 401 402 | fclose(stream); if(error) { logmsg("getpart() failed with error: %d", error); req->open = FALSE; /* closes connection */ return 1; /* done */ } cmd = orgcmd; while(cmd && cmdsize) { char *check; if(!strncmp(CMD_AUTH_REQUIRED, cmd, strlen(CMD_AUTH_REQUIRED))) { logmsg("instructed to require authorization header"); req->auth_req = TRUE; |
︙ | ︙ | |||
536 537 538 539 540 541 542 | req->partno = 0; if(req->testno) { msnprintf(logbuf, sizeof(logbuf), "Requested test number %ld part %ld", req->testno, req->partno); logmsg("%s", logbuf); | | < < < | > > | 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 | req->partno = 0; if(req->testno) { msnprintf(logbuf, sizeof(logbuf), "Requested test number %ld part %ld", req->testno, req->partno); logmsg("%s", logbuf); } else { logmsg("No test number"); req->testno = DOCNUMBER_NOTHING; } } if(req->testno == DOCNUMBER_NOTHING) { /* didn't find any in the first scan, try alternative test case number placements */ |
︙ | ︙ | |||
601 602 603 604 605 606 607 | } logmsg("Port number: %d, test case number: %ld", req->connect_port, req->testno); } } | < < < < < < < < | 600 601 602 603 604 605 606 607 608 609 610 611 612 613 | } logmsg("Port number: %d, test case number: %ld", req->connect_port, req->testno); } } if(req->testno == DOCNUMBER_NOTHING) { /* Still no test case number. Try to get the the number off the last dot instead, IE we consider the TLD to be the test number. Test 123 can then be written as "example.com.123". */ /* find the last dot */ ptr = strrchr(doc, '.'); |
︙ | ︙ | |||
649 650 651 652 653 654 655 | req->testno = DOCNUMBER_404; } else parse_servercmd(req); } } else if((req->offset >= 3) && (req->testno == DOCNUMBER_NOTHING)) { | | | | > > > > > > > > > > > > > > > | 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 | req->testno = DOCNUMBER_404; } else parse_servercmd(req); } } else if((req->offset >= 3) && (req->testno == DOCNUMBER_NOTHING)) { logmsg("** Unusual request. Starts with %02x %02x %02x (%c%c%c)", line[0], line[1], line[2], line[0], line[1], line[2]); } if(!end) { /* we don't have a complete request yet! */ logmsg("request not complete yet"); return 0; /* not complete yet */ } logmsg("- request found to be complete (%d)", req->testno); if(req->testno == DOCNUMBER_NOTHING) { /* check for a Testno: header with the test case number */ char *testno = strstr(line, "\nTestno: "); if(testno) { req->testno = strtol(&testno[9], NULL, 10); logmsg("Found test number %d in Testno: header!", req->testno); } else { logmsg("No Testno: header"); } } /* find and parse <servercmd> for this test */ parse_servercmd(req); if(use_gopher) { /* when using gopher we cannot check the request until the entire thing has been received */ char *ptr; /* find the last slash in the line */ |
︙ | ︙ | |||
1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 | return -1; } if(sendfailure) { logmsg("Sending response failed. Only (%zu bytes) of (%zu bytes) " "were sent", responsesize-count, responsesize); free(ptr); free(cmd); return -1; } logmsg("Response sent (%zu bytes) and written to %s", responsesize, responsedump); | > > | 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 | return -1; } if(sendfailure) { logmsg("Sending response failed. Only (%zu bytes) of (%zu bytes) " "were sent", responsesize-count, responsesize); prevtestno = req->testno; prevpartno = req->partno; free(ptr); free(cmd); return -1; } logmsg("Response sent (%zu bytes) and written to %s", responsesize, responsedump); |
︙ | ︙ |
Changes to jni/curl/tests/server/util.c.
︙ | ︙ | |||
146 147 148 149 150 151 152 | #ifdef WIN32 /* use instead of perror() on generic windows */ void win32_perror(const char *msg) { char buf[512]; DWORD err = SOCKERRNO; | | > | 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | #ifdef WIN32 /* use instead of perror() on generic windows */ void win32_perror(const char *msg) { char buf[512]; DWORD err = SOCKERRNO; if(!FormatMessageA((FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS), NULL, err, LANG_NEUTRAL, buf, sizeof(buf), NULL)) msnprintf(buf, sizeof(buf), "Unknown error %lu (%#lx)", err, err); if(msg) fprintf(stderr, "%s: ", msg); fprintf(stderr, "%s\n", buf); } #endif /* WIN32 */ |
︙ | ︙ |
Changes to jni/curl/tests/sshhelp.pm.
︙ | ︙ | |||
102 103 104 105 106 107 108 | sshversioninfo ); #*************************************************************************** # Global variables initialization # | | | | | | | | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | sshversioninfo ); #*************************************************************************** # Global variables initialization # $sshdexe = 'sshd' .exe_ext('SSH'); # base name and ext of ssh daemon $sshexe = 'ssh' .exe_ext('SSH'); # base name and ext of ssh client $sftpsrvexe = 'sftp-server' .exe_ext('SSH'); # base name and ext of sftp-server $sftpexe = 'sftp' .exe_ext('SSH'); # base name and ext of sftp client $sshkeygenexe = 'ssh-keygen' .exe_ext('SSH'); # base name and ext of ssh-keygen $httptlssrvexe = 'gnutls-serv' .exe_ext('SSH'); # base name and ext of gnutls-serv $sshdconfig = 'curl_sshd_config'; # ssh daemon config file $sshconfig = 'curl_ssh_config'; # ssh client config file $sftpconfig = 'curl_sftp_config'; # sftp client config file $sshdlog = undef; # ssh daemon log file $sshlog = undef; # ssh client log file $sftplog = undef; # sftp client log file $sftpcmds = 'curl_sftp_cmds'; # sftp client commands batch file |
︙ | ︙ | |||
176 177 178 179 180 181 182 183 184 185 186 187 188 189 | ); #*************************************************************************** # Return file extension for executable files on this operating system # sub exe_ext { if ($^O eq 'MSWin32' || $^O eq 'cygwin' || $^O eq 'msys' || $^O eq 'dos' || $^O eq 'os2') { return '.exe'; } } | > > > > > > > | 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 | ); #*************************************************************************** # Return file extension for executable files on this operating system # sub exe_ext { my ($component, @arr) = @_; if ($ENV{'CURL_TEST_EXE_EXT'}) { return $ENV{'CURL_TEST_EXE_EXT'}; } if ($ENV{'CURL_TEST_EXE_EXT_'.$component}) { return $ENV{'CURL_TEST_EXE_EXT_'.$component}; } if ($^O eq 'MSWin32' || $^O eq 'cygwin' || $^O eq 'msys' || $^O eq 'dos' || $^O eq 'os2') { return '.exe'; } } |
︙ | ︙ | |||
310 311 312 313 314 315 316 | #*************************************************************************** # Find an executable file somewhere in the given path # sub find_exe_file { my $fn = $_[0]; shift; my @path = @_; | | | 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 | #*************************************************************************** # Find an executable file somewhere in the given path # sub find_exe_file { my $fn = $_[0]; shift; my @path = @_; my $xext = exe_ext('SSH'); foreach (@path) { my $file = File::Spec->catfile($_, $fn); if(-e $file && ! -d $file) { return $file if(-x $file); return $file if(($xext) && (lc($file) =~ /\Q$xext\E$/)); } } |
︙ | ︙ |
Changes to jni/curl/tests/sshserver.pl.
︙ | ︙ | |||
367 368 369 370 371 372 373 374 375 376 377 378 379 380 | exit 1; } logmsg 'generating client keys...' if($verbose); if(system "\"$sshkeygen\" -q -t rsa -f $cliprvkeyf -C 'curl test client' -N ''") { logmsg 'Could not generate client key'; exit 1; } } #*************************************************************************** # Convert paths for curl's tests running on Windows with Cygwin/Msys OpenSSH # my $clipubkeyf_config = abs_path("$path/$clipubkeyf"); | > > > | 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 | exit 1; } logmsg 'generating client keys...' if($verbose); if(system "\"$sshkeygen\" -q -t rsa -f $cliprvkeyf -C 'curl test client' -N ''") { logmsg 'Could not generate client key'; exit 1; } # Make sure that permissions are restricted so openssh doesn't complain system "chmod 600 $hstprvkeyf"; system "chmod 600 $cliprvkeyf"; } #*************************************************************************** # Convert paths for curl's tests running on Windows with Cygwin/Msys OpenSSH # my $clipubkeyf_config = abs_path("$path/$clipubkeyf"); |
︙ | ︙ |
jni/curl/tests/symbol-scan.pl became executable.
︙ | ︙ |
Changes to jni/curl/tests/testcurl.1.
︙ | ︙ | |||
16 17 18 19 20 21 22 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | .\" * furnished to do so, under the terms of the COPYING file. .\" * .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY .\" * KIND, either express or implied. .\" * .\" ************************************************************************** .\" .TH testcurl.pl 1 "October 22, 2016" "Curl 7.68.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.am.
︙ | ︙ | |||
66 67 68 69 70 71 72 | CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) checksrc: | | | 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | CHECKSRC = $(CS_$(V)) CS_0 = @echo " RUN " $@; CS_1 = CS_ = $(CS_0) checksrc: $(CHECKSRC)@PERL@ $(top_srcdir)/lib/checksrc.pl $(srcdir)/*.[ch] if BUILD_UNITTESTS noinst_PROGRAMS = $(UNITPROGS) else noinst_PROGRAMS = endif |
Changes to jni/curl/tests/unit/Makefile.in.
︙ | ︙ | |||
624 625 626 627 628 629 630 631 632 633 634 635 636 637 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ | > | 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 | SSL_BACKENDS = @SSL_BACKENDS@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_BEARSSL = @USE_BEARSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH = @USE_LIBSSH@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_MESALINK = @USE_MESALINK@ |
︙ | ︙ | |||
2553 2554 2555 2556 2557 2558 2559 | mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am .PRECIOUS: Makefile checksrc: | | | 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 | mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am .PRECIOUS: Makefile checksrc: $(CHECKSRC)@PERL@ $(top_srcdir)/lib/checksrc.pl $(srcdir)/*.[ch] # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: |
Changes to jni/curl/tests/unit/curlcheck.h.
︙ | ︙ | |||
48 49 50 51 52 53 54 | /* fail() is for when the test case figured out by itself that a check proved a failure */ #define fail(msg) do { \ fprintf(stderr, "%s:%d test failed: '%s'\n", \ __FILE__, __LINE__, msg); \ unitfail++; \ | | | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | /* fail() is for when the test case figured out by itself that a check proved a failure */ #define fail(msg) do { \ fprintf(stderr, "%s:%d test failed: '%s'\n", \ __FILE__, __LINE__, msg); \ unitfail++; \ } while(0) /* The abort macros mark the current test step as failed, and exit the test */ #define abort_if(expr, msg) \ if(expr) { \ fprintf(stderr, "%s:%d Abort assertion '%s' met: %s\n", \ __FILE__, __LINE__, #expr, msg); \ |
︙ | ︙ | |||
73 74 75 76 77 78 79 | } #define abort_test(msg) do { \ fprintf(stderr, "%s:%d test aborted: '%s'\n", \ __FILE__, __LINE__, msg); \ unitfail++; \ goto unit_test_abort; \ | | | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | } #define abort_test(msg) do { \ fprintf(stderr, "%s:%d test aborted: '%s'\n", \ __FILE__, __LINE__, msg); \ unitfail++; \ goto unit_test_abort; \ } while(0) extern int unitfail; #define UNITTEST_START \ int test(char *arg) \ |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1607.c.
︙ | ︙ | |||
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | }, { "test.com:0:127.0.0.1", "test.com", 0, { "127.0.0.1", } }, }; UNITTEST_START int i; int testnum = sizeof(tests) / sizeof(struct testcase); for(i = 0; i < testnum; ++i) { int j; int addressnum = sizeof(tests[i].address) / sizeof(*tests[i].address); struct Curl_addrinfo *addr; struct Curl_dns_entry *dns; | > > > > < < | | < < < > | | < | < | 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 | }, { "test.com:0:127.0.0.1", "test.com", 0, { "127.0.0.1", } }, }; UNITTEST_START { int i; int testnum = sizeof(tests) / sizeof(struct testcase); struct Curl_multi *multi = NULL; struct Curl_easy *easy = NULL; struct curl_slist *list = NULL; for(i = 0; i < testnum; ++i) { int j; int addressnum = sizeof(tests[i].address) / sizeof(*tests[i].address); struct Curl_addrinfo *addr; struct Curl_dns_entry *dns; void *entry_id; bool problem = false; easy = curl_easy_init(); if(!easy) goto error; /* create a multi handle and add the easy handle to it so that the hostcache is setup */ multi = curl_multi_init(); curl_multi_add_handle(multi, easy); list = curl_slist_append(NULL, tests[i].optval); if(!list) goto error; curl_easy_setopt(easy, CURLOPT_RESOLVE, list); Curl_loadhostpairs(easy); entry_id = (void *)aprintf("%s:%d", tests[i].host, tests[i].port); if(!entry_id) goto error; dns = Curl_hash_pick(easy->dns.hostcache, entry_id, strlen(entry_id) + 1); free(entry_id); entry_id = NULL; addr = dns ? dns->addr : NULL; for(j = 0; j < addressnum; ++j) { |
︙ | ︙ | |||
198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | break; } addr = addr->ai_next; } curl_easy_cleanup(easy); curl_multi_cleanup(multi); curl_slist_free_all(list); if(problem) { unitfail++; continue; } } UNITTEST_STOP | > > > > > > > > | 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | break; } addr = addr->ai_next; } curl_easy_cleanup(easy); easy = NULL; curl_multi_cleanup(multi); multi = NULL; curl_slist_free_all(list); list = NULL; if(problem) { unitfail++; continue; } } error: curl_easy_cleanup(easy); curl_multi_cleanup(multi); curl_slist_free_all(list); } UNITTEST_STOP |
Changes to jni/curl/tests/unit/unit1609.c.
︙ | ︙ | |||
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | }, }; UNITTEST_START { int i; int testnum = sizeof(tests) / sizeof(struct testcase); /* important: we setup cache outside of the loop and also clean cache after the loop. In contrast,for example, test 1607 sets up and cleans cache on each iteration. */ for(i = 0; i < testnum; ++i) { int j; int addressnum = sizeof (tests[i].address) / sizeof (*tests[i].address); struct Curl_addrinfo *addr; struct Curl_dns_entry *dns; | > > > < < | > > | | > | < | | | 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 | }, }; UNITTEST_START { int i; int testnum = sizeof(tests) / sizeof(struct testcase); struct Curl_multi *multi = NULL; struct Curl_easy *easy = NULL; struct curl_slist *list = NULL; /* important: we setup cache outside of the loop and also clean cache after the loop. In contrast,for example, test 1607 sets up and cleans cache on each iteration. */ for(i = 0; i < testnum; ++i) { int j; int addressnum = sizeof (tests[i].address) / sizeof (*tests[i].address); struct Curl_addrinfo *addr; struct Curl_dns_entry *dns; void *entry_id; bool problem = false; easy = curl_easy_init(); if(!easy) { curl_global_cleanup(); return CURLE_OUT_OF_MEMORY; } /* create a multi handle and add the easy handle to it so that the hostcache is setup */ multi = curl_multi_init(); if(!multi) goto error; curl_multi_add_handle(multi, easy); list = curl_slist_append(NULL, tests[i].optval); if(!list) goto error; curl_easy_setopt(easy, CURLOPT_RESOLVE, list); if(Curl_loadhostpairs(easy)) goto error; entry_id = (void *)aprintf("%s:%d", tests[i].host, tests[i].port); if(!entry_id) goto error; dns = Curl_hash_pick(easy->dns.hostcache, entry_id, strlen(entry_id) + 1); free(entry_id); entry_id = NULL; addr = dns ? dns->addr : NULL; for(j = 0; j < addressnum; ++j) { |
︙ | ︙ | |||
190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 | break; } addr = addr->ai_next; } curl_easy_cleanup(easy); Curl_hash_destroy(&multi->hostcache); curl_multi_cleanup(multi); curl_slist_free_all(list); if(problem) { unitfail++; continue; } } } UNITTEST_STOP | > > > > > > > > | 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 | break; } addr = addr->ai_next; } curl_easy_cleanup(easy); easy = NULL; Curl_hash_destroy(&multi->hostcache); curl_multi_cleanup(multi); multi = NULL; curl_slist_free_all(list); list = NULL; if(problem) { unitfail++; continue; } } goto unit_test_abort; error: curl_easy_cleanup(easy); curl_multi_cleanup(multi); curl_slist_free_all(list); } UNITTEST_STOP |
Changes to jni/curl/tests/unit/unit1620.c.
︙ | ︙ | |||
42 43 44 45 46 47 48 49 50 51 52 53 54 55 | const char *hostname = "hostname"; enum dupstring i; bool async = FALSE; bool protocol_connect = FALSE; rc = Curl_open(&empty); fail_unless(rc == CURLE_OK, "Curl_open() failed"); rc = Curl_connect(empty, &async, &protocol_connect); fail_unless(rc == CURLE_URL_MALFORMAT, "Curl_connect() failed to return CURLE_URL_MALFORMAT"); fail_unless(empty->magic == CURLEASY_MAGIC_NUMBER, | > > | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | const char *hostname = "hostname"; enum dupstring i; bool async = FALSE; bool protocol_connect = FALSE; rc = Curl_open(&empty); if(rc) goto unit_test_abort; fail_unless(rc == CURLE_OK, "Curl_open() failed"); rc = Curl_connect(empty, &async, &protocol_connect); fail_unless(rc == CURLE_URL_MALFORMAT, "Curl_connect() failed to return CURLE_URL_MALFORMAT"); fail_unless(empty->magic == CURLEASY_MAGIC_NUMBER, |
︙ | ︙ |
Changes to jni/curl/tests/unit/unit1650.c.
︙ | ︙ | |||
29 30 31 32 33 34 35 | } static void unit_stop(void) { } | | | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | } static void unit_stop(void) { } #ifndef CURL_DISABLE_DOH #define DNS_PREAMBLE "\x00\x00\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00" #define LABEL_TEST "\x04\x74\x65\x73\x74" #define LABEL_HOST "\x04\x68\x6f\x73\x74" #define LABEL_NAME "\x04\x6e\x61\x6d\x65" #define DNSA_TYPE "\x01" #define DNSAAAA_TYPE "\x1c" #define DNSA_EPILOGUE "\x00\x00" DNSA_TYPE "\x00\x01" |
︙ | ︙ | |||
279 280 281 282 283 284 285 | } fail_if(d.numcname, "bad cname counter"); } } } UNITTEST_STOP | | | 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 | } fail_if(d.numcname, "bad cname counter"); } } } UNITTEST_STOP #else /* CURL_DISABLE_DOH */ UNITTEST_START { return 1; /* nothing to do, just fail */ } UNITTEST_STOP #endif |
Changes to jni/curl/tests/unit/unit1655.c.
︙ | ︙ | |||
30 31 32 33 34 35 36 37 38 | } static void unit_stop(void) { /* done before shutting down and exiting */ } UNITTEST_START | > > > | > > | | > > > | < > > | < | > > > > > > > > > > > > > > > > > > > > > | < < > > > > | > > > > > > > > > | | | > | | | | > | > > > > > > > > > | > > | > | | > > | | | > > > > > > > > > > > > > > > > > > > > | 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 | } static void unit_stop(void) { /* done before shutting down and exiting */ } #ifndef CURL_DISABLE_DOH UNITTEST_START /* * Prove detection of write overflow using a short buffer and a name * of maximal valid length. * * Prove detection of other invalid input. */ do { const char *max = /* ..|....1.........2.........3.........4.........5.........6... */ /* 3456789012345678901234567890123456789012345678901234567890123 */ "this.is.a.maximum-length.hostname." /* 34: 34 */ "with-no-label-of-greater-length-than-the-sixty-three-characters." /* 64: 98 */ "specified.in.the.RFCs." /* 22: 120 */ "and.with.a.QNAME.encoding.whose.length.is.exactly." /* 50: 170 */ "the.maximum.length.allowed." /* 27: 197 */ "that.is.two-hundred.and.fifty-six." /* 34: 231 */ "including.the.last.null." /* 24: 255 */ ""; const char *toolong = /* ..|....1.........2.........3.........4.........5.........6... */ /* 3456789012345678901234567890123456789012345678901234567890123 */ "here.is.a.hostname.which.is.just.barely.too.long." /* 49: 49 */ "to.be.encoded.as.a.QNAME.of.the.maximum.allowed.length." /* 55: 104 */ "which.is.256.including.a.final.zero-length.label." /* 49: 153 */ "representing.the.root.node.so.that.a.name.with." /* 47: 200 */ "a.trailing.dot.may.have.up.to." /* 30: 230 */ "255.characters.never.more." /* 26: 256 */ ""; const char *emptylabel = "this.is.an.otherwise-valid.hostname." ".with.an.empty.label."; const char *outsizelabel = "this.is.an.otherwise-valid.hostname." "with-a-label-of-greater-length-than-the-sixty-three-characters-" "specified.in.the.RFCs."; struct test { const char *name; const DOHcode expected_result; }; /* plays the role of struct dnsprobe in urldata.h */ struct demo { unsigned char dohbuffer[255 + 16]; /* deliberately short buffer */ unsigned char canary1; unsigned char canary2; unsigned char canary3; }; const struct test playlist[4] = { { toolong, DOH_DNS_NAME_TOO_LONG }, /* expect early failure */ { emptylabel, DOH_DNS_BAD_LABEL }, /* also */ { outsizelabel, DOH_DNS_BAD_LABEL }, /* also */ { max, DOH_OK } /* expect buffer overwrite */ }; for(int i = 0; i < (int)(sizeof(playlist)/sizeof(*playlist)); i++) { const char *name = playlist[i].name; size_t olen = 100000; struct demo victim; DOHcode d; victim.canary1 = 87; /* magic numbers, arbritrarily picked */ victim.canary2 = 35; victim.canary3 = 41; d = doh_encode(name, DNS_TYPE_A, victim.dohbuffer, sizeof(struct demo), /* allow room for overflow */ &olen); fail_unless(d == playlist[i].expected_result, "result returned was not as expected"); if(d == playlist[i].expected_result) { if(name == max) { fail_if(victim.canary1 == 87, "demo one-byte buffer overwrite did not happen"); } else { fail_unless(victim.canary1 == 87, "one-byte buffer overwrite has happened"); } fail_unless(victim.canary2 == 35, "two-byte buffer overwrite has happened"); fail_unless(victim.canary3 == 41, "three-byte buffer overwrite has happened"); } else { if(d == DOH_OK) { fail_unless(olen <= sizeof(victim.dohbuffer), "wrote outside bounds"); fail_unless(olen > strlen(name), "unrealistic low size"); } } } } while(0); /* run normal cases and try to trigger buffer length related errors */ do { DNStype dnstype = DNS_TYPE_A; unsigned char buffer[128]; const size_t buflen = sizeof(buffer); const size_t magic1 = 9765; size_t olen1 = magic1; const char *sunshine1 = "a.com"; const char *dotshine1 = "a.com."; const char *sunshine2 = "aa.com"; size_t olen2; DOHcode ret2; size_t olen; DOHcode ret = doh_encode(sunshine1, dnstype, buffer, buflen, &olen1); fail_unless(ret == DOH_OK, "sunshine case 1 should pass fine"); fail_if(olen1 == magic1, "olen has not been assigned properly"); fail_unless(olen1 > strlen(sunshine1), "bad out length"); /* with a trailing dot, the response should have the same length */ olen2 = magic1; ret2 = doh_encode(dotshine1, dnstype, buffer, buflen, &olen2); fail_unless(ret2 == DOH_OK, "dotshine case should pass fine"); fail_if(olen2 == magic1, "olen has not been assigned properly"); fail_unless(olen1 == olen2, "olen should not grow for a trailing dot"); /* add one letter, the response should be one longer */ olen2 = magic1; ret2 = doh_encode(sunshine2, dnstype, buffer, buflen, &olen2); fail_unless(ret2 == DOH_OK, "sunshine case 2 should pass fine"); fail_if(olen2 == magic1, "olen has not been assigned properly"); fail_unless(olen1 + 1 == olen2, "olen should grow with the hostname"); /* pass a short buffer, should fail */ ret = doh_encode(sunshine1, dnstype, buffer, olen1 - 1, &olen); fail_if(ret == DOH_OK, "short buffer should have been noticed"); /* pass a minimum buffer, should succeed */ ret = doh_encode(sunshine1, dnstype, buffer, olen1, &olen); fail_unless(ret == DOH_OK, "minimal length buffer should be long enough"); fail_unless(olen == olen1, "bad buffer length"); } while(0); UNITTEST_STOP #else /* CURL_DISABLE_DOH */ UNITTEST_START { return 1; /* nothing to do, just fail */ } UNITTEST_STOP #endif |
Changes to jni/curl/winbuild/BUILD.WINDOWS.txt.
︙ | ︙ | |||
109 110 111 112 113 114 115 116 117 118 119 120 121 122 | libcurl but *not* the static CRT. If you must you can force nmake to link in the static CRT by passing RTLIBCFG=static. Typically you shouldn't use that option, and nmake will default to the DLL CRT. RTLIBCFG is rarely used and therefore rarely tested. When passing RTLIBCFG for a configuration that was already built but not with that option, or if the option was specified differently, you must destroy the build directory containing the configuration so that nmake can build it from scratch. Legacy Windows and SSL ====================== When you build curl using the build files in this directory the default SSL backend will be WinSSL (Windows SSPI, more specifically Schannel), the native SSL library that comes with the Windows OS. WinSSL in Windows <= XP is not able to connect to servers that no longer support the legacy handshakes and | > > > > > > | 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | libcurl but *not* the static CRT. If you must you can force nmake to link in the static CRT by passing RTLIBCFG=static. Typically you shouldn't use that option, and nmake will default to the DLL CRT. RTLIBCFG is rarely used and therefore rarely tested. When passing RTLIBCFG for a configuration that was already built but not with that option, or if the option was specified differently, you must destroy the build directory containing the configuration so that nmake can build it from scratch. Building your own application with a static libcurl =================================================== When building an application that uses the static libcurl library on Windows, you must define CURL_STATICLIB. Otherwise the linker will look for dynamic import symbols. Legacy Windows and SSL ====================== When you build curl using the build files in this directory the default SSL backend will be WinSSL (Windows SSPI, more specifically Schannel), the native SSL library that comes with the Windows OS. WinSSL in Windows <= XP is not able to connect to servers that no longer support the legacy handshakes and |
︙ | ︙ |
Changes to jni/curl/winbuild/MakefileBuild.vc.
︙ | ︙ | |||
57 58 59 60 61 62 63 | !If "$(CC)" == "" CC = cl.exe !Endif !IF "$(VC)"=="6" CC_NODEBUG = $(CC) /O2 /DNDEBUG CC_DEBUG = $(CC) /Od /Gm /Zi /D_DEBUG /GZ | | | | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | !If "$(CC)" == "" CC = cl.exe !Endif !IF "$(VC)"=="6" CC_NODEBUG = $(CC) /O2 /DNDEBUG CC_DEBUG = $(CC) /Od /Gm /Zi /D_DEBUG /GZ CFLAGS = /I. /I../lib /I../include /nologo /W4 /GX /DWIN32 /YX /FD /c /DBUILDING_LIBCURL !ELSE CC_NODEBUG = $(CC) /O2 /DNDEBUG CC_DEBUG = $(CC) /Od /D_DEBUG /RTC1 /Z7 /LDd CFLAGS = /I. /I ../lib /I../include /nologo /W4 /EHsc /DWIN32 /FD /c /DBUILDING_LIBCURL !ENDIF LFLAGS = /nologo /machine:$(MACHINE) LNKDLL = link.exe /DLL # Use lib.exe instead of link.exe as link.exe /lib has the following bad habits: # - optimizing options like /opt:ref raises warnings (at least in Visual Studio 2015) # - all (including Windows) dependencies are aggregated (as static parts) |
︙ | ︙ | |||
218 219 220 221 222 223 224 225 226 227 228 229 230 231 | !ENDIF USE_CARES = true CARES = static !ENDIF !IFDEF USE_CARES CARES_CFLAGS = /DUSE_ARES /I"$(CARES_INC_DIR)" !ENDIF !IFDEF ZLIB_PATH ZLIB_INC_DIR = $(ZLIB_PATH)\include ZLIB_LIB_DIR = $(ZLIB_PATH)\lib ZLIB_LFLAGS = $(ZLIB_LFLAGS) "/LIBPATH:$(ZLIB_LIB_DIR)" | > > > | 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 | !ENDIF USE_CARES = true CARES = static !ENDIF !IFDEF USE_CARES CARES_CFLAGS = /DUSE_ARES /I"$(CARES_INC_DIR)" !IF "$(CARES)"=="static" CARES_CFLAGS = $(CARES_CFLAGS) /DCARES_STATICLIB !ENDIF !ENDIF !IFDEF ZLIB_PATH ZLIB_INC_DIR = $(ZLIB_PATH)\include ZLIB_LIB_DIR = $(ZLIB_PATH)\lib ZLIB_LFLAGS = $(ZLIB_LFLAGS) "/LIBPATH:$(ZLIB_LIB_DIR)" |
︙ | ︙ |