1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 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 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 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 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 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
|
2025-12-12 Werner Koch <wk@gnupg.org>
Release 1.58.
+ commit e880193c55f0321bbefc16be3194fdbb7a48078f
w32: Fix a syntax error in a non-DLL build.
+ commit 421e101cf9760a4bc4f296d12ce25a7c3fe5b7b2
* src/w32-utils.c (_gpgrt_w32__init_utils): Fix syntax error.
2025-12-10 Werner Koch <wk@gnupg.org>
Release 1.57.
+ commit 39d7b85a7d69975f1dfec5a0add10b4d57dcfc9e
2025-12-09 Werner Koch <wk@gnupg.org>
argparse: gpgrt_fconcat to get the SYSCONFDIR.
+ commit 6fe7cf710254d78ada27fbf63747ab0e97bc6979
* src/stringutils.c (_gpgrt_fconcat): New internal function.
* src/argparse.c (_gpgrt_argparser): Use it.
New function gpgrt_fconcat.
+ commit 34dba88757fedb61d1ea63616a3e03837ccf50ab
* src/w32-utils.c: New.
* src/init.c (_gpg_err_init, DllMain): Call new init function.
* src/visibility.c (gpgrt_fconcat): New.
* src/gpg-error.h.in (gpgrt_fconcat): New prototype.
(GPGRT_FCONCAT_ABS): New.
(GPGRT_FCONCAT_TILDE): New.
(GPGRT_FCONCAT_SYSCONF): New.
* src/gpg-error.def.in (gpgrt_fconcat): New.
* src/gpg-error.vers: (gpgrt_fconcat): New.
* src/stringutils.c (_gpgrt_vfnameconcat): Repalce want-abs but a new
flags arg. Change to support GPGRT_FCONCAT_SYSCONF. Fix tilde
expansion under Windows to use CISDL_PROFILE instead of $HOME. Adjust
all callers.
* src/gpg-error.c (main): New command "fconcat".
2025-11-26 Daniel Cerqueira <dan.git@lispclub.com>
po: Update Portuguese Translation.
+ commit a2a752fe21cce949a7b6b82bd903b46a73cce968
2025-11-26 Werner Koch <wk@gnupg.org>
Dynload GetThreadUILanguage to keep support for Windows XP.
+ commit cb7f580639cc7cc43cf279b0755e8261882b9f93
* src/w32-gettext.c (get_thread_ui_language): New func ptr.
(module_init): Initialize it.
(my_nl_locale_name): Use it instead of a direct call.
2025-11-26 Ingo Klöcker <dev@ingo-kloecker.de>
Use UI language instead of locale for translations.
+ commit 7f3e0c3942812d975fecc75b32493bb0c48b100c
* src/w32-gettext.c (my_nl_locale_name): Use GetThreadUILanguage instead
of GetThreadLocale.
2025-11-19 Werner Koch <wk@gnupg.org>
build: On zOS use pkg-config to find zoslib.
+ commit f090f07f1065dca26a013e173f132d39eda973c1
* configure.ac (EXTRA_LIBS_FOR_BUILD): Use "openedition" instead of
"zOS" for build tools checking. Also chnage to use pkg-config.
2025-11-19 Daniel Nylander <po@danielnylander.se>
po: Update Swedish translation.
+ commit baf43baea909603ca22d8bf26661f1503566be54
2025-11-19 NIIBE Yutaka <gniibe@fsij.org>
NIIBE Yutaka <gniibe@fsij.org>
spawn:posix: Rename the field to ENVP to avoid a build issue.
+ commit 26d740f940b3cbda43e0b06a45c86f21ebc236ed
* src/spawn-posix.c (struct gpgrt_spawn_actions): Rename the field to
ENVP.
(my_exec, _gpgrt_spawn_actions_set_environ): Follow the change.
2025-11-19 NIIBE Yutaka <gniibe@fsij.org>
argparse: Use SYSCONFDIR for /etc.
+ commit a9fc729253eec88f56d810bd2a8edd327267c5b4
* src/Makefile.am (libgpg_error_la_CPPFLAGS): Add SYSCONFDIR.
* src/argparse.c (_gpgrt_argparser): Use it.
2025-10-07 Werner Koch <wk@gnupg.org>
Release 1.56.
+ commit b3b68bde07b02dd2b6d78356ac90baa652a309fa
estream: Implictly enable sysopen when the the share flag is given.
+ commit 461cb5a8ea24785ef4f8c5282e09e69bf487fa7f
* src/estream.c (parse_mode): Fix parsing of "share". Set sysopen
flag.
estream: Extend the new share keyword to allow all modes.
+ commit 0b170a499a87abc4a18b6f7d76beb44901fa0cdd
* src/estream.c (X_SHARE_RW): Replace by ...
(X_SHARE_CUSTOM,X_SHARE_READ,X_SHARE_WRITE,X_SHARE_DEL): new.
(func_file_create_w32): Set share_mode accordingly.
(parse_mode): Extend the "share" keyword.
* src/gpg-error.c (main): Add option --openmode to allow testing of
the share modes.
2025-10-03 NIIBE Yutaka <gniibe@fsij.org>
Update copyright and version string in gpg-error.m4.
+ commit 413b65f34fd1d58ae879412bfa248521ff284b3c
* src/gpg-error.m4: Update.
2025-10-02 Werner Koch <wk@gnupg.org>
estream: New mode keyword "share=rw".
+ commit 2344947717d29170c918a195541db568648c7aa3
* src/estream.c (X_SAMETHREAD): Move to the top. Also for the other
X_constants.
(_gpgrt_fopen): Move setting of FILE_FLAG_SEQUENTIAL_SCAN to ...
(func_file_create_w32): here. Replace arg flags_and_attrs by xflags
and use cflags to set certain properties.
(parse_mode): Add mode keyword "share=rw".
2025-09-24 NIIBE Yutaka <gniibe@fsij.org>
Also fix for test(1) operator -o.
+ commit a51f30e923670040136dbf68f2a4275f586d129a
* autogen.sh: Don't use -o operator, but shell ||.
* src/gpgrt-config.in: Likewise.
2025-09-23 Werner Koch <wk@gnupg.org>
Fixes for obsoleted/removed test(1) operator -a.
+ commit 6344dd1cad8f44b9a6ab39570795479e32bf7058
* autogen.sh: Here.
* configure.ac: And here.
* src/gen-lock-obj.sh: And here.
* src/gpg-error.m4 (AM_PATH_GPG_ERROR): And here.
* src/gpgrt-config.in (eval_compare_version): And here.
* src/gpgrt.m4 (AM_PATH_GPGRT): And here.
Silence warnings when enabling the trace functions.
+ commit 3cf07222264c1966333429280059dfed917b36e9
* src/w32-estream.c (reader): Use correct printf format specifiers for
the trace functions.
2025-09-23 NIIBE Yutaka <gniibe@fsij.org>
w32: Don't convert slash->backslash when it's under Wine.
+ commit 0313b660f8bd4e82ec8af6da593d745b9e658ce8
* src/sysutils.c (_gpgrt_fname_to_wchar): No change under Wine.
w32:spawn: Fix thread-unfriendly internal check.
+ commit 00a40c0c599fb439facf1af55495d7ca1e496683
* src/gpgrt-int.h (_gpgrt_windows_feature): New.
* src/init.c (windows_specific_init): New.
(real_init) [HAVE_W32_SYSTEM]: Call windows_specific_init.
(_gpgrt_windows_feature): New.
* src/spawn-w32.c (check_windows_version): Remove.
(_gpgrt_process_spawn): Use _gpgrt_windows_feature.
2025-08-14 Werner Koch <wk@gnupg.org>
estream: Support the %b conversion specifier from C23.
+ commit 6ac5332e4f6988112f4272cfe7a2eee31173ff3f
* src/estream-printf.c (CONSSPEC_BIN): New.
(compute_type): Handle it.
(parse_format): Support 'b'.
(do_format): Divert 'b' to pr_integer.
(pr_integer): Print binary format.
* tests/t-printf.c (check_fprintf_sf): Add two simple testcases.
Set build specific variable for zOS.
+ commit 7ee191f54c2a830767207fb6563380a87f60ddf0
* configure.ac (EXTRA_LIBS_FOR_BUILD): New ac_subst.
* src/Makefile.am (mkheader): Append that var to the rule.
2025-07-20 Ben Kibbey <bjk@luxsci.net>
syscfg: Add x86_64 Android arch.
+ commit c6eacfae7c067149b08d07f2cadf2da14f888de5
* src/syscfg/lock-obj-pub.x86_64-unknown-linux-androideabi.h: New.
* src/Makefile.am (lock_obj_pub): Add it.
syscfg: Add i686 Android arch.
+ commit 7e05d3bda6ad10d564d151fa2c4c4939aa8892d4
* src/syscfg/lock-obj-pub.i686-unknown-linux-androideabi.h: New.
* src/Makefile.am (lock_obj_pub): Add it.
syscfg: Add armv7a alias to arm for Android.
+ commit 5caa2a6944ec12593a12aba772cfde5efc73b019
* src/mkheader.c (canon_host_triplet): Add alias.
syscfg: Add 64-bit Android arch.
+ commit 587287c4a735b68ff3405ffcd2ea02da4ca82282
* src/syscfg/lock-obj-pub.aarch64-unknown-linux-androideabi.h: New.
* src/Makefile.am (lock_obj_pub): Add it.
2025-07-16 NIIBE Yutaka <gniibe@fsij.org>
w32:spawn: Support pipe I/O for GPGRT_PROCESS_DETACHED.
+ commit 8a38d914512ca928ffa5c79199bd410c9324e0e6
* src/spawn-w32.c (struct gpgrt_spawn_actions): Add detached field.
(spawn_detached): Merge into ...
(_gpgrt_process_spawn): ... here, supporting pipe I/O.
(_gpgrt_process_release): Handle detached process.
(_gpgrt_process_wait_list): Likewise.
2025-07-15 NIIBE Yutaka <gniibe@fsij.org>
w32:spawn: New flag GPGRT_PROCESS_STDIO_NUL.
+ commit 311fb769d1ddb1aa6d7463b5b516359afebf208a
* src/gpg-error.h.in (GPGRT_PROCESS_STDIO_NUL): New.
* src/spawn-w32.c (w32_open_null): Add ENABLE_NULL_DEVICE argument.
(_gpgrt_process_spawn): Follow the change.
w32:spawn: Fix resource leaks for HANDLEs by w32_open_null.
+ commit f28bf71b86ba6eac4260084f3a164a5c273c4628
* src/spawn-w32.c (_gpgrt_process_spawn): Don't modify hd fields in
ACT. Clean up use of hd_in, hd_out, and hd_err.
2025-07-14 NIIBE Yutaka <gniibe@fsij.org>
w32:spawn: Fix inheriting HANDLEs.
+ commit 0b01950237abe1cc28ef1fa5459e20c300af0946
* src/spawn-w32.c (spawn_detached): Use EXTENDED_STARTUPINFO_PRESENT
to enable lpAttributeList in STARTUPINFOEXW.
(_gpgrt_process_spawn): Likewise.
2025-07-02 NIIBE Yutaka <gniibe@fsij.org>
gpgrt-config: It's gcc which supports -print-search-dirs option.
+ commit cac7168088147a4d308b5ae7482135bc00db9f69
* src/gpgrt-config.in (determine_gpgrt_libdir): Default to gcc.
2025-07-01 NIIBE Yutaka <gniibe@fsij.org>
spawn: Define _GPGRT_NEED_AFLOCAL for OS without AF_LOCAL.
+ commit dffca928fbc94dd738c8a118eb64e0889441c077
* src/spawn-posix.c (_GPGRT_NEED_AFLOCAL): Add.
2025-06-26 NIIBE Yutaka <gniibe@fsij.org>
spawn:posix: Use 1024 for arbitrary limit, following GPGME.
+ commit 6cb61bb9cb552c430cc3a466ee056df5ed5a06e1
* src/spawn-posix.c (get_max_fds): Use 1024 (was: 256).
spawn:posix: Add an improvement when closefrom is not available.
+ commit d302aff1eff1c51240007a75a1b2d7c08b326055
* src/gpgrt-int.h (_gpgrt_close_all_fds): Fix function declaration.
* src/spawn-posix.c (USE_GET_MAX_FDS): Define when closefrom is not
available.
(get_max_fds): Add an argument of FALLBACK_MAX_FDS.
(_gpgrt_close_all_fds, my_exec, spawn_detached): Likewise.
(_gpgrt_process_spawn): [USE_GET_MAX_FDS && _SC_OPEN_MAX]: It's a
parent process which calls sysconf.
posix:spawn: Use getdents64 when closefrom is not available.
+ commit 9cc016c38df1531d6081317bfcc7ea705172e2ac
* configure.ac (AC_CHECK_FUNCS): Check getdents64.
* src/spawn-posix.c [!HAVE_CLOSEFROM] (get_max_fds): Use getdents64
instead of readdir, for AS-Safety.
2025-06-23 NIIBE Yutaka <gniibe@fsij.org>
spawn:posix: Fix spawning a process on POSIX machine.
+ commit 2c029e737e88494038b5143f1232b458977f31d4
* src/spawn-posix.c (get_max_fds): Don't use _POSIX_OPEN_MAX, since
it's irrelevant; It's a minimum value of OPEN_MAX.
2025-06-16 Werner Koch <wk@gnupg.org>
w32: Allow building on Windows with gcc < 12.
+ commit 1d4e09c9b1b184d0369a90c2adacab8f197310f6
* src/spawn-w32.c (_WIN32_WINNT): Define.
2025-06-10 Collin Funk via Gnupg-devel <gnupg-devel@gnupg.org>
argparse: Remove a duplicated condition.
+ commit 0cee6a44f8a22c8a015115bd5567e25e207cdbfe
* src/argparse.c (emulated_registry_lookup): Remove duplicated
condition.
2025-05-28 Werner Koch <wk@gnupg.org>
libtool: Add support for zOS.
+ commit c42825f1612b13c27c2472c4190d64655891078b
* m4/libtool.m4: Add casefor openedition.
2025-05-28 NIIBE Yutaka <gniibe@fsij.org>
argparse: Fix a memory leak.
+ commit ba7ed54668e4d7baea563f8b94cc887a41642f8d
* src/argparse.c (handle_meta_echo): Free the STRING.
yat2m: Release the memory after the use.
+ commit 98d8f3d396b58d3086fd0416246908eba078917b
* doc/yat2m.c (add_content): Fix the type of LINE.
(finish_page): Clean up.
2025-04-24 Werner Koch <wk@gnupg.org>
Release 1.55.
+ commit 99381397a06564fd8ae1c623c11036a5da099a4f
Add commands mkdir and chdir to gpg-error.
+ commit c002490a8f6dda044ae41118a6019da9ea3fc98c
* src/gpg-error.c (main): Add new commands mkdir and chdir. Allow for
commands w/o dashes.
w32: Yet another extended length path kludge.
+ commit fba44d619d388aa413f4f50756c287a722437475
* src/sysutils.c (_gpgrt_fname_to_wchar): Change threshold from 255
to 250.
2025-04-22 Werner Koch <wk@gnupg.org>
w32: More changes to the extended length path handling.
+ commit 65114f24e13f835a289f791ed7a5e408b2843d59
* src/sysutils.c (has_path_separator): New.
(_gpgrt_fname_to_wchar): Rewrite to add the prefix only when needed.
----
GetFullPathNameW has no MAX_PATH limit and thus can be used with any
input. We now prefix the resulting absolute path after the call to
GFPN. This allows to check whether the CWD is an UNC and thus use the
right prefix. We also don't run the entire thing for just a drive
letter etc and further skip the prefix if the absolute path is less
than MAX_PATH. This gives better backward compatibility.
There is also now a GPGRT_DISABLE_EXTLENPATH=-2 which does not disable
the extended path handling but enables debug output. To actually
disable the feature a positive value must be used.
Updates-commit 28ae4ee194ec56e98123d3aceda130161dfd2df8
2025-04-21 NIIBE Yutaka <gniibe@fsij.org>
Mark the initializations with __nonstring__ attribute.
+ commit 1c58363541fcc331511d067ce388f32298fd8d29
* src/b64enc.c (bintoasc): Use GPGRT_ATTR_NONSTRING.
* src/gpg-error.h.in (GPGRT_ATTR_NONSTRING): New.
2025-04-17 Werner Koch <wk@gnupg.org>
Release 1.54.
+ commit 9d47a0f1f8ae0b9aa4c2d0c230c08c8fbe243f42
2025-04-16 Werner Koch <wk@gnupg.org>
w32: Fix extended length path handling for UNC specified files.
+ commit 28ae4ee194ec56e98123d3aceda130161dfd2df8
* src/sysutils.c (_gpgrt_fname_to_wchar): Fix the extended length path
support for UNC file names. Also add an envvar to disable the entire
extended length path support.
Add command --fopen to gpg-error to help testing.
+ commit 3c9beea348cdeaa3f3026a934b40badfb4d4bab2
* src/gpg-error.c (main): Implement command --fopen. Also ignore log
file settings from the Registry.
2025-04-09 Werner Koch <wk@gnupg.org>
Release 1.53.
+ commit f9e98ed8315eaf0468870149d22c5dcf992288ec
tests: Check that we do not use the es macros in the public API.
+ commit 26b876030dbda890b9630595419b422aa182c0dd
* tests/t-version.c: Undef the macros.
2025-04-09 NIIBE Yutaka <gniibe@fsij.org>
Use gpgrt_stream_t for the API of gpgrt_nvc_*.
+ commit 32475a7868f5e2e1c274a65ecc6791375054eaa4
* src/gpg-error.h.in (gpgrt_nvc_parse): Use gpgrt_stream_t.
(gpgrt_nvc_write): Likewise.
2025-04-08 Werner Koch <wk@gnupg.org>
Release 1.52.
+ commit be471d158e4951f4b17335b0fc9ae2387a786b5b
2025-04-07 Werner Koch <wk@gnupg.org>
argparse: Make getreg meta command work on Unix.
+ commit 9864dd4d66342cca340f8ebe57f46b2fa274bac0
* src/argparse.c (_gpgrt_argparse_internal_s): Add fields no_registry
and registry.
(initialize): Init them.
(emulated_registry_lookup): New.
(handle_meta_getenv): Use it.
* tests/etc/t-argparse.conf: Add a getreg meta command.
* tests/t-argparse.c (opt): Add a disable-akr command.
* tests/etc/Registry: New.
Add a section mode to the name-value functions.
+ commit d0b7d33536736ef6f3d41575b6f58b2d3a7c139b
* src/gpg-error.h.in (GPGRT_NVC_SECTION): New.
* src/name-value.c (_gpgrt_name_value_container): Add section_mode.
(_gpgrt_nvc_new): Set it.
(_gpgrt_nvc_get_flag): Return it.
(valid_name): Add arg sectionmode and change callers.
(do_nvc_parse): Parse section names in section mode.
(_gpgrt_nvc_write): Return an error in section mode.
Allow name-value lookup w/o a trailing colon for the name.
+ commit afb277e5bdd92c16a4fdbd33b89dab4c03a5ae62
* src/name-value.c (_gpgrt_name_value_entry): Add field namelen.
(ascii_memcasecmp): New.
(same_name_p): New.
(valid_name): Strip the colon and return the length.
(do_nvc_add): Set namelen.
(_gpgrt_nvc_lookup): Simplify.
* tests/t-name-value.c (test_getting_values): Add some extra tests.
New public API gpgrt_nvc_* and gpgrt_nve_*
+ commit 7ec1f27b60eec95297c5267ab5ebbdb73b263c3f
* src/name-value.c: New.
* tests/t-name-value.c: New.
* src/gpg-error.def.in: Add new functions.
* src/gpg-error.h.in: Ditto.
* src/gpg-error.vers: Ditto.
* src/visibility.c: Ditto.
* src/visibility.h: Ditto.
Update the copyright notice.
+ commit 17bb01f86d1d75bb57418a0101c0f08a49bfdd07
* configure.ac (GPGRT_STD_COPYRIGHT_LINE): New.
* src/gpg-error.c (my_strusage): Use it here.
2025-04-04 Werner Koch <wk@gnupg.org>
w32: Improve the detection of the need for a \\?\ prefix.
+ commit a4a692fcf1ed128693ec6d64d5e3163775aad10b
* src/sysutils.c (_gpgrt_fname_to_wchar): Use the no-max-path prefix
for shorter files and for filenames with path separators.
Add test cases for the strlist functions.
+ commit b6b0af7d4eb2c65318ac87253dc3979f99b301dd
* tests/t-strlist.c: new.
tests: Add macros to improve the debug output.
+ commit be036dccd756e326470afcd7928a1d20790fc24a
* tests/t-common.h (current_func): New var.
(enter_test_function, leave_test_function): New macros.
(die, fail, show): Print the fucntion name.
2025-04-01 Werner Koch <wk@gnupg.org>
New public API gpgrt_strlist_*
+ commit 47097806f13d93daffb73b4221f3f18a99f66b2b
* src/strlist.c: Rename all functions to have a _gpgrt_strlist prefix.
(append_to_strlist2, strlist_length): Remove.
(_gpgrt_strlist_free): rtake care of the wipe flag.
(_gpgrt_strlist_add): Add a flags arg to use it for prepend and
append. Return an error on failure.
(_gpgrt_strlist_tokenize): Ditto.
(_gpgrt_strlist_copy): Chnage to return an error on failure.
(_gpgrt_strlist_pop): Ditto.
* src/Makefile.am (libgpg_error_la_SOURCES): Add strlist.c.
* src/argparse.c (trim_spaces): Move to ...
* src/stringutils.c (_gpgrt_trim_spaces): here and rename.
* src/visibility.c: Add wrappers for all exported functions.
* src/visibility.h: MArk exported functions as visisble.
* src/gpg-error.def.in: Export new functions
* src/gpg-error.vers: Ditto.
* src/gpg-error.h.in (GPGRT_STRLIST_APPEND): New.
(GPGRT_STRLIST_WIPE): New.
(gpgrt_strlist_free): New.
(gpgrt_strlist_add): New.
(gpgrt_strlist_tokenize): New.
(gpgrt_strlist_copy): New.
(gpgrt_strlist_rev): New.
(gpgrt_strlist_prev): New.
(gpgrt_strlist_last): New.
(gpgrt_strlist_pop): New.
(gpgrt_strlist_find): New.
(gpgrt_strlist_count): New inline function.
2025-02-21 Ingo Klöcker <dev@ingo-kloecker.de>
Fix logic for finding the beta version number.
+ commit 542b6fce139047b5a0fa42ae11179a2308ac8f9e
* autogen.sh: Check if $tmp is empty after each assignment.
2025-02-06 NIIBE Yutaka <gniibe@fsij.org>
gpgrt-config: Append default directory to PKG_CONFIG_PATH.
+ commit dbf1e0dc47229384d59cb19084de39a855e5c871
* src/gpgrt-config.in: Fix initializing PKG_CONFIG_PATH.
2025-01-22 NIIBE Yutaka <gniibe@fsij.org>
Skip gpg-error-config-test.sh for specific incompatible pkg-config.
+ commit b6df311368133df90c3bf338fbf5c90bd8d950f8
* src/gpg-error-config-test.sh.in: Skip the test with pkgconf 1.8.0.
2025-01-15 NIIBE Yutaka <gniibe@fsij.org>
build: Remove defining GPG_ERR_ENABLE_ERRNO_MACROS.
+ commit 71756ce3735183ddf7c340e071fa649c446e262c
* configure.ac (GPG_ERR_ENABLE_ERRNO_MACROS): Remove.
2025-01-14 NIIBE Yutaka <gniibe@fsij.org>
spawn: Care about closefrom/close call is interrupted.
+ commit 0f4fe2edf5e50cc72b3decea486f2cf57d265d8e
* src/spawn-posix.c (closefrom_really): Handle interrupted call of
closefrom.
(close_except): Likewise for call of close.
(_gpgrt_close_all_fds): Use closefrom_really and close_except.
2025-01-08 NIIBE Yutaka <gniibe@fsij.org>
spawn: Use closefrom when available.
+ commit e3e793302b67e37727caf11a868b5b91d7c13f8c
* configure.ac (AC_CHECK_FUNCS): Check closefrom.
* src/spawn-posix.c [HAVE_CLOSEFROM]: Use closefrom if possible.
2024-12-12 Werner Koch <wk@gnupg.org>
New Windows API gpgrt_w32_reg_get_string.
+ commit 652328c786f37e3a3de5c3b143ce9e0d524bfeb4
* src/w32-reg.c (_gpgrt_w32_reg_query_string): Implement a prefix for
root and consider an empty string for root also HKCU.
* src/visibility.c (gpgrt_w32_reg_get_string): New.
* src/gpg-error.def.in: Add new function.
* src/gpg-error.c (my_strusage): Print the Windows version (32 or 64
bit) of the binary.
(main): New command --getreg.
2024-12-03 Werner Koch <wk@gnupg.org>
Minor cleanness fix for autogen.sh.
+ commit 65a4bc30d99aada8e5f17711bc5a4ff242d22881
* autogen.sh (w32root): Remove double slash in case of HOME=/.
2024-12-02 Daniel Cerqueira <dan.git@lispclub.com>
po: Update Portuguese Translation.
+ commit 7baf9f6b4030012a9d813d5e0c108dd836479ad4
2024-11-21 Werner Koch <wk@gnupg.org>
autogen.sh: New command --print-tsdir.
+ commit e15a7c411dcadb229f4ff1ae0259c51dde9fd535
* autogen.sh: New command --print-tsdir.
(maintainer_mode_option): Allow setting via autogen.rc
2024-11-14 NIIBE Yutaka <gniibe@fsij.org>
spawn:w32: Fix a memory leak on an error path.
+ commit eb005c30157f4ce0cd335955f13567dda03685e3
* src/spawn-w32.c (spawn_detached): Make sure to release
lpAttributeList.
(_gpgrt_process_spawn): Likewise.
2024-11-11 Werner Koch <wk@gnupg.org>
Release 1.51.
+ commit b0bb9266010d84b30fa2dc6a2127b7e40dc03660
2024-10-23 NIIBE Yutaka <gniibe@fsij.org>
Avoid use of 'nullptr' for an identifier.
+ commit d14c69a7f256a9444c5c64b808d8767e5a8ba68e
* tests/t-printf.c (check_fprintf_sf): Use 'null_ptr'
as an identifier.
2024-10-16 NIIBE Yutaka <gniibe@fsij.org>
spawn: Shorter identifier gpgrt_spawn_actions_set_env_rev.
+ commit 1bca948594d9f8c26231bfb7ff7b2f3ebf9df295
* src/gpg-error.def.in: Rename to gpgrt_spawn_actions_set_env_rev.
* src/gpg-error.h.in: Likewise.
* src/gpg-error.vers: Likewise.
* src/gpgrt-int.h: Likewise.
* src/spawn-posix.c: Likewise.
* src/spawn-w32.c: Likewise.
* src/visibility.c: Likewise.
* src/visibility.h: Likewise.
* tests/t-spawn.c (run_test): Use gpgrt_spawn_actions_set_env_rev.
2024-10-11 NIIBE Yutaka <gniibe@fsij.org>
spawn: Add new function to modify environment.
+ commit 1860f6407f834b681c21f67db7236eaad161524c
* src/gpg-error.def.in (gpgrt_spawn_actions_set_envchange): New.
* src/gpg-error.vers (gpgrt_spawn_actions_set_envchange): New.
* src/gpg-error.h.in (gpgrt_spawn_actions_set_envchange): New.
* src/gpgrt-int.h (_gpgrt_spawn_actions_set_envchange): New.
* src/spawn-posix.c (struct gpgrt_spawn_actions): New field ENVCHANGE.
(prepare_environ): New.
(my_exec): Take care of ENVCHANGE.
(_gpgrt_spawn_actions_set_envchange): New.
* src/spawn-w32.c (struct gpgrt_spawn_actions): New field ENVCHANGE.
(prepare_env_block): New.
(_gpgrt_spawn_actions_set_envchange): New.
(spawn_detached, _gpgrt_process_spawn): Take care of ENVCHANGE.
* src/visibility.c (gpgrt_spawn_actions_set_envchange): New.
* src/visibility.h (gpgrt_spawn_actions_set_envchange): New.
* tests/Makefile.am (TESTS): Add t-spawn.
* tests/t-spawn.c: New.
2024-10-10 NIIBE Yutaka <gniibe@fsij.org>
w32: Fix releasing memory for UTF-8 text.
+ commit 68600fe17c5f8c72e421b5ca9d9622568c6f57fd
* src/spawn-w32.c (spawn_detached): Use _gpgrt_free_wchar.
(_gpgrt_process_spawn): Likewise.
2024-09-24 Werner Koch <wk@gnupg.org>
estream: Let poll return an error for a closed fd.
+ commit 4a3dc85f695e6448e6279dc48894b500168f42f9
* src/estream.c (_gpgrt_poll): Set got_nval.
2024-09-19 NIIBE Yutaka <gniibe@fsij.org>
posix: Fix forgotten _gpgrt_post_syscall on error path.
+ commit bcab96484d4858fcde669b36d309ab7fbc79174e
* src/spawn-posix.c (do_create_pipe_and_estream): Call post_syscall.
posix: Fix memory leak for spawn.
+ commit 4a0c942151da91ad75dbb45d4dc10c4751ee28e4
* src/spawn-posix.c (spawn_detached): Free ARGV.
2024-09-16 NIIBE Yutaka <gniibe@fsij.org>
w32:spawn: Remove unused function get_max_fds.
+ commit c2a713fe11e35b4567e0c7d2a20d8ab416b366ad
* src/spawn-w32.c (get_max_fds): Remove.
2024-09-06 NIIBE Yutaka <gniibe@fsij.org>
w32: Clarify the environment block encoding.
+ commit 0f7b327ccf6d2018b193d5598c4a8a338f874a59
* src/spawn-w32.c (_gpgrt_spawn_actions_set_envvars): It's an ASCII
string.
2024-08-27 NIIBE Yutaka <gniibe@fsij.org>
w32: Add GPGRT_PROCESS_ALLOW_SET_FG for gpgrt_process_spawn.
+ commit b79d4206f482b323fb9f9d52a1c715e853752195
* src/gpg-error.h.in (GPGRT_PROCESS_ALLOW_SET_FG): New.
* src/spawn-w32.c (_gpgrt_process_spawn): Support the flag.
2024-08-02 Werner Koch <wk@gnupg.org>
w32: Allow initialization of new threads to utf8 mode.
+ commit 7f36440d90964ffe809064365cb16033ba1dda69
* src/init.c (utf8_for_new_threads): New var.
(_gpgrt_w32_utf8_for_new_threads): New func.
(get_tls): Init the TLS utf8 flag from the new var.
* src/w32-gettext.c (_gpg_w32_gettext_use_utf8): Implement new flag.
2024-07-04 Werner Koch <wk@gnupg.org>
Put the full commit id into VERSION.
+ commit 9c448f7c7a55c8293cd33ea0fcd33dd42032504d
* autogen.sh <find-version>: Also print the full commit id.
* configure.ac: Get the full commit id. Add it to VERSION.
(BUILD_REVISION): Replace this ac_define by
(BUILD_COMMITID): this.
* src/version.c (cright_blurb): Use here.
2024-06-20 Werner Koch <wk@gnupg.org>
core: Declare environ for macOS and others.
+ commit a59e902b887fd92337c9728f668cf9c89da3957a
* src/spawn-posix.c (environ): Declare.
2024-06-19 Werner Koch <wk@gnupg.org>
Release 1.50.
+ commit bb732615daad9bba9026354ae90f0f5292ea4908
spawn: New flag GPGRT_PROCESS_NO_EUID_CHECK.
+ commit bdd1060445fa358d3ca3f1f98334de60cd5d6c10
* src/gpg-error.h.in (GPGRT_PROCESS_NO_EUID_CHECK): New.
* src/spawn-posix.c (spawn_detached): Move check to ...
(_gpgrt_process_spawn): here and skip if flag is set.
spawn: Keep struct definitions at the top of the file.
+ commit 0078afb8c60af2c61c01688ca52f51ca95b25721
* src/spawn-posix.c: Move include and struct defs around.
* src/spawn-w32.c: Move struct defs around.
2024-06-13 NIIBE Yutaka <gniibe@fsij.org>
Apply spell fix.
+ commit 82a34b733d89b2c3ebc45d8124378ada19017a65
* src/gpg-error.m4: Apply spell fix from GnuPG master.
Fix gpg-error.m4.
+ commit c690e6e3655e7d9db79cd07cfacf3234ecd548cf
* src/gpg-error.m4 (_AM_PATH_GPGRT_CONFIG): Don't set
gpg_error_config_version.
(AM_PATH_GPG_ERROR): Set GPG_ERROR_CONFIG here and set
gpg_error_config_version with GPG_ERROR_CONFIG.
2024-06-07 NIIBE Yutaka <gniibe@fsij.org>
spawn: Support the use case in libassuan where PGMNAME==NULL.
+ commit d53f35a5e6644b94fb25bf6afd365f4b0f5a18e0
* src/spawn-posix.c (my_exec): When PGMNAME==NULL, just fork.
(_gpgrt_process_spawn): Support PGMNAME==NULL use case.
* src/spawn-w32.c (_gpgrt_process_spawn): Return GPG_ERR_INV_ARG,
when PGMNAME==NULL.
2024-06-06 NIIBE Yutaka <gniibe@fsij.org>
spawn: Expose gpgrt_spawn_actions functions.
+ commit e644311383350ce704611cce69f322a7d9dd548e
* src/gpg-error.def.in: Update.
* src/gpg-error.h.in: Add declarations.
* src/gpg-error.vers: Update.
* src/visibility.c: Update.
* src/visibility.h: Update.
spawn: Add new GPGRT_PROCESS_NO_CONSOLE for Windows.
+ commit 03fd278d7f7a1e3e0d082de5efb9d85740cf0ab8
* src/gpg-error.h.in (GPGRT_PROCESS_NO_CONSOLE): New.
* src/spawn-w32.c (_gpgrt_process_spawn): Handle
GPGRT_PROCESS_NO_CONSOLE.
Fix return type of gpgrt_b64dec_*.
+ commit 7d132a1a72ad618640640db278056ce04d32fdde
* src/gpg-error.h.in (gpgrt_b64dec_proc): Return gpg_err_code_t.
(gpgrt_b64dec_finish): Ditto.
* src/visibility.c: Fix return type.
2024-06-05 Werner Koch <wk@gnupg.org>
spawn:w32: Allow for up to 32 inherited handles.
+ commit 4ee656242aa93af42e74acb706a13f99212a93d6
* src/spawn-w32.c (spawn_detached): Increase array size.
(_gpgrt_process_spawn): Ditto.
spawn: Avoid bumping the error counter.
+ commit 60b9a68def583d7c3a1d47daec717a7f71233c55
* src/spawn-posix.c: Use log_info instead of log_error.
* src/spawn-w32.c: Ditto.
(spawn_detached): Fix copying of hd[2]
(_gpgrt_process_spawn): Ditto.
2024-06-05 NIIBE Yutaka <gniibe@fsij.org>
spawn: Expose spawn functions API.
+ commit 2caaef8f6b89d7fcbbe3d480d192fe1952576942
* src/gpg-error.def.in: Update.
* src/gpg-error.vers: Update.
* src/gpg-error.h.in: Add declarations.
* src/visibility.c: Add implementations.
* src/visibility.h: Expose them.
2024-06-04 NIIBE Yutaka <gniibe@fsij.org>
spawn:w32: Fix setting of dwFlags for CreateProcess.
+ commit 3be8b2c95faac8543e2ceddb308b8c138dde11d8
* src/spawn-w32.c (_gpgrt_process_spawn): Only set
STARTF_USESTDHANDLES with active handles.
2024-05-30 NIIBE Yutaka <gniibe@fsij.org>
spawn: Allow NULL for ACT.
+ commit adcb4170a40d7cf66181a6b3efc7c187892a1318
* src/spawn-posix.c (_gpgrt_process_spawn): ACT may be null.
* src/spawn-w32.c (_gpgrt_process_spawn): Likewise.
2024-05-29 NIIBE Yutaka <gniibe@fsij.org>
Fix process termination check at release.
+ commit 5fec7d7ada4c5b1978cfba3be8b67475ff1e0859
* src/spawn-posix.c (_gpgrt_process_release): When NOT terminated,
terminate and wait.
* src/spawn-w32.c (_gpgrt_process_release): Likewise.
Fix how environment variables are specified for spawn.
+ commit fbe1f5153c3cb8b7c5de40973cceee7f639804e7
* src/gpgrt-int.h (_gpgrt_spawn_actions_set_envvars)
[HAVE_W32_SYSTEM]: Assume use with GetEnvironmentStrings.
(_gpgrt_spawn_actions_set_environ) [!HAVE_W32_SYSTEM]:
New.
* src/spawn-posix.c: Follow the change.
* src/spawn-w32.c: Can specify envvars now.
Cleaner semantics for _gpgrt_process_spawn without a callback.
+ commit 6c05b35977c9d15da45b4fe6c0c870dbbf51657c
* src/gpg-error.h.in (@define:struct_spawn_cb_arg@): Remove.
(gpgrt_spawn_actions_t): New.
(@define:spawn_actions_functions@): New.
* src/gpgrt-int.h (_gpgrt_spawn_actions_new)
(_gpgrt_spawn_actions_release, _gpgrt_spawn_actions_set_envvars)
(_gpgrt_spawn_actions_set_redirect): New.
[HAVE_W32_SYSTEM] (_gpgrt_spawn_actions_set_inherit_handles): New.
[!HAVE_W32_SYSTEM] (_gpgrt_spawn_actions_set_inherit_fds)
(_gpgrt_spawn_actions_set_atfork): New.
(_gpgrt_process_spawn): Use gpgrt_spawn_actions_t.
(_gpgrt_spawn_helper): Remove.
* src/mkheader.c: Emit gpgrt_spawn_actions_* definition.
* src/spawn-posix.c(_gpgrt_spawn_actions_new)
(_gpgrt_spawn_actions_release, _gpgrt_spawn_actions_set_envvars)
(_gpgrt_spawn_actions_set_redirect)
(_gpgrt_spawn_actions_set_inherit_fds)
(_gpgrt_spawn_actions_set_atfork): New.
(spawn_detached, _gpgrt_process_spawn): Use gpgrt_spawn_actions_t.
(_gpgrt_spawn_helper): Remove.
* src/spawn-w32.c: Ditto, with
_gpgrt_spawn_actions_set_inherit_handles, but no
_gpgrt_spawn_actions_set_atfork.
2024-05-28 NIIBE Yutaka <gniibe@fsij.org>
Import spawn functions from GnuPG master.
+ commit 8dc6e3281e17c5d2885dc71634ab1068b88fc738
* src/gpg-error.h.in (@define:gpgrt_process_t@): Remove.
(@define:struct_spawn_cb_arg@): New.
(enum gpgrt_process_requests): New.
(GPGRT_PROCESS_DETACHED, GPGRT_PROCESS_STDIN_PIPE)
(GPGRT_PROCESS_STDOUT_PIPE, GPGRT_PROCESS_STDERR_PIPE)
(GPGRT_PROCESS_STDINOUT_SOCKETPAIR, GPGRT_PROCESS_STDIN_KEEP)
(GPGRT_PROCESS_STDOUT_KEEP, GPGRT_PROCESS_STDERR_KEEP)
(GPGRT_PROCESS_STDFDS_SETTING, GPGRT_PROCESS_STREAM_NONBLOCK):
New.
* src/gpgrt-int.h (_gpgrt_process_spawn, _gpgrt_process_terminate)
(_gpgrt_process_get_fds, _gpgrt_process_get_streams)
(_gpgrt_process_ctl, _gpgrt_process_wait, _gpgrt_process_release)
(_gpgrt_process_wait_list, _gpgrt_spawn_helper): New.
* src/mkheader.c: Emit definition of struct_spawn_cb_arg.
* src/spawn-posix.c (_gpgrt_process_spawn, _gpgrt_process_terminate)
(_gpgrt_process_get_fds, _gpgrt_process_get_streams)
(_gpgrt_process_ctl, _gpgrt_process_wait, _gpgrt_process_release)
(_gpgrt_process_wait_list, _gpgrt_spawn_helper): New.
* src/spawn-w32.c: Ditto.
2024-04-26 Werner Koch <wk@gnupg.org>
argparse: Fix a theoretical memory leak.
+ commit a5f0e0b2f7897fc6ef1ab847146e16ef64d1d4a7
* src/argparse.c (store_alias): Free NAME because it has ownerhip
here. Take care P is actually a pointer into NAME.
2024-04-25 Werner Koch <wk@gnupg.org>
Release 1.49.
+ commit faed9c271ad22bbd2ed265d8e11badb53b7a2f32
logging: New function gpgrt_logv_domain.
+ commit 2f9a0895a103f0baf1c2ea38662112c1359bdb90
* src/gpg-error.h.in (gpgrt_logv_domain): New. Also add printf
attributes to the other logv functions.
* src/visibility.c (gpgrt_logv_domain): New.
2024-04-22 Werner Koch <wk@gnupg.org>
core: New function gpgrt_add_post_log_func.
+ commit 319a505623c197d06ca3e76f30691fe65a982d6f
* src/gpg-error.h.in (gpgrt_add_post_log_func): New.
* src/gpg-error.vers: Add new function
* src/gpg-error.def.in: Ditto.
* src/visibility.c (gpgrt_add_post_log_func): New.
* src/logging.c (struct post_log_func_item_s): New.
(post_log_func_list): New.
(_gpgrt_add_post_log_func): new.
(run_post_log_funcs): New.
(_gpgrt_logv_internal): Call for fatal and bug log levels.
2024-04-19 Werner Koch <wk@gnupg.org>
logging: Indent continuation lines of log_printhex.
+ commit 6ab3e9ac43ba104f557d538db100953ae6245076
* src/logging.c (_gpgrt_logv_internal): Change to return the length
w/o prefix.
(_gpgrt_logv_printhex): Indent wrapped lines properly.
2024-04-12 Werner Koch <wk@gnupg.org>
logging: Add a truncate keyword to log_printhex.
+ commit 0a39fbefcb55379de1cdf1049de303c5ca0691b3
* src/logging.c (_gpgrt_logv_printhex): Add keyword support.
2024-04-08 Werner Koch <wk@gnupg.org>
argparser: avoid endless loop due to a conf file read error.
+ commit 2dc93cfecc7a7b22fd08365a789b8c6c4b8cc36c
* src/argparse.c (struct _gpgrt_argparse_internal_s): Add forceeof
flag.
(initialize): Clear.
(_gpgrt_argparse): Clear.
(_gpgrt_argparse): Act upon.
2024-02-23 Werner Koch <wk@gnupg.org>
Release 1.48.
+ commit 77b7c5ff6b756870811acaff53df0ebf1e5c2368
2024-02-21 Werner Koch <wk@gnupg.org>
argparse: Adjust help output for command mode.
+ commit c3b6eaedd8707bca9892a0e188bf04532ca70818
* src/argparse.c (show_help): Adjust for command style options.
2024-02-06 Werner Koch <wk@gnupg.org>
core: Add "wipe" mode flag.
+ commit 49507cf6977f6c9fce1b651ae808e37b63fc3e4e
* src/gpgrt-int.h (struct _gpgrt_stream_internal): Add field "wipe".
* src/estream.c (mem_free2): New.
(struct estream_cookie_mem): Add flag "wipe".
(func_mem_create): Add arg wipe.
(func_mem_destroy): Wipe.
(X_WIPE): New.
(parse_mode): Parse "wipe" mode flag.
(init_stream_obj): Set it.
(do_close): Wipe internal struct with its static buffers.
(doreadline): Pass wipe mode along to help buffer.
(_gpgrt_mopen): Pass wipe mode.
(_gpgrt_fopenmem): Ditto.
core: New function gpgrt_wipememory.
+ commit 1fdd8749014cf390d6ea9dd4350146473362044e
* src/init.c (_gpgrt_wipememory): New.
* src/visibility.c (gpgrt_wipememory): New.
* src/visibility.h: Add it.
* src/gpg-error.def.in: Ditto.
* src/gpg-error.vers: Ditto.
argparser: Implement a command mode.
+ commit b113114c7498fc6c48065a8c4816c610c6f08198
* src/gpg-error.h.in (ARGPARSE_FLAG_COMMAND): New.
* src/argparse.c (struct _gpgrt_argparse_internal_s): Add flags
explicit_cmd_mode, cmd_mode, and command_seen.
(initialize): Init them. Mark default commands as commands.
(handle_meta_command): New.
(handle_metacmd): Add "command-mode" and "-command-mode".
(find_long_option): Add arg only_commands.
(arg_parse): Factor some code out to ...
(handle_special_commands): new.
(arg_parse): Implement the command-mode.
* tests/t-argparse.c (main): Add some testing code.
2024-02-01 Jakub Jelen <jjelen@redhat.com>
gpgrt-config: Avoid warning about literals for curly braces.
+ commit ae6fec7399d77e4e3a63287d94b1366ad121b505
* src/gpgrt-config.in: Fix the pattern match for an expression with
variable in the ".pc" config file.
2024-01-16 NIIBE Yutaka <gniibe@fsij.org>
estream: Fix call to string filter for estream-printf.
+ commit 4a9def77488f2631f71737357d9e9dd874c9b302
* src/estream-printf.c (pr_string): Make sure to prepare
NUL-terminated string to call the string filter.
2024-01-15 Ineiev <ineiev@gnu.org>
po: Update Russian translation.
+ commit 521e8d4db70c5cf4d4977d93f9ff7adce5de023f
2024-01-15 Jakub Bogusz <qboosh@pld-linux.org>
po: update Polish translation.
+ commit 5142d0d7a2a3b52456010d47bac44322009bb31a
2023-11-16 NIIBE Yutaka <gniibe@fsij.org>
yat2m: Fix HTML output for backslash.
+ commit f83eac17363a8c76c10b06712ba3dd39146f36b4
* doc/yat2m.c (proc_texi_buffer): Use &bsol.
2023-11-15 NIIBE Yutaka <gniibe@fsij.org>
yat2m: Implement @item handling with @table item specification.
+ commit e31d65345bcb420a2e0ee609d91322abfde4aa44
* doc/yat2m.c (MAX_TABLE_NESTING): New.
(table_item_stack): New.
(proc_texi_cmd): Add @gcctabopt and @gnupgtabopt.
Add handling of @item argument with proc_texi_buffer.
Add handling of @table argument, push to table_item_stack.
yat2m: Also handle @file treating '-' as minus.
+ commit cfb1871240c4d12c2d2b7c92e2ef7afb30692f88
* doc/yat2m.c (proc_texi_cmd): It's minus for @file.
2023-11-14 NIIBE Yutaka <gniibe@fsij.org>
yat2m: Output \- for @samp, @kbd, and @env, too.
+ commit 7375b4c0acedc6333c9074db14a15fc2949f7752
* doc/yat2m.c (proc_texi_cmd): Support more commands.
2023-11-09 NIIBE Yutaka <gniibe@fsij.org>
yat2m: Generate \- for roff for some commands.
+ commit 3534e2cc73f9339acc8d154e9551339e544507c6
* doc/yat2m.c (proc_texi_cmd): New flag to enable generating \- for
roff for @command, @code, @url and @option for their argument, and
@example and @smallexample until their @end.
(proc_texi_buffer): Emit \- when enabled.
2023-11-07 NIIBE Yutaka <gniibe@fsij.org>
yat2m: Add support of @minus{} command.
+ commit 8275d716bae68124c4c6bebde5305aed1dad5cd4
* doc/yat2m.c (proc_texi_cmd): Support @minus.
yat2m: Use \fP to return previous font.
+ commit ab6324e5787a00d2f42638277542bc96b91de52e
* doc/yat2m.c (proc_texi_cmd): Use \fP instead of \fR.
yat2m: Fix backslash output in man.
+ commit 6fe51354634361970761095f71e278b90b0dd4e7
* doc/yat2m.c (proc_texi_buffer): Use \[rs] for backslash.
2023-11-07 Ben Kibbey <bjk@luxsci.net>
yat2m: Parse @dots{} to show ellipsis in HTML mode.
+ commit db81ea1219e2baad0fadbc665465d3d03cbb4de2
* doc/yat2m.c (proc_texi_cmd): Add "dots" to comamnd table and output
"..." in manpages and ellipsis in HTML mode.
2023-11-06 NIIBE Yutaka <gniibe@fsij.org>
yat2m: No en-dash and em-dash for @item line.
+ commit 260f709413d8df6d0f2e65fb21685f8ce3038f5f
* doc/yat2m.c (proc_texi_cmd): Disable parsing for dashes
for @item.
2023-11-02 NIIBE Yutaka <gniibe@fsij.org>
yat2m: Interpret -- and --- verbatimly in @example.
+ commit c57e1b1435e6a09e547b18df6c458f9f32a1a513
* doc/yat2m.c (example_cmd_active): New.
(proc_texi_cmd): Don't apply the processing for en-dash
and em-dash when it's in @example/@smallexample.
yat2m: Support Texinfo input -- and ---.
+ commit 82a8e2cece08fa0ca6aff9bdf62414731d384083
* doc/yat2m.c (proc_texi_buffer): Handle en-dash and em-dash.
2023-10-05 NIIBE Yutaka <gniibe@fsij.org>
doc: Minor style fix.
+ commit 53d9d77a496f5b6bc6616a95abfc053f396c1a12
2023-09-27 NIIBE Yutaka <gniibe@fsij.org>
estream: String filter should NOT be called with non-nul string.
+ commit 0fc740ffca848d17b8c71d1682de1e29b24db3cb
* src/estream-printf.c (pr_string): Call the string filter function SF
conditionally to avoid possible SEGV.
2023-09-01 NIIBE Yutaka <gniibe@fsij.org>
Fix the previous commit.
+ commit 19d7ec4bfeda6222b11ac92cd4509850322727fc
build: Change the default for --with-libtool-modification.
+ commit 071effebcf7db745f5d3bc2b8bb43ffaac54366e
* configure.ac (--with-libtool-modification): default=never.
2023-08-09 NIIBE Yutaka <gniibe@fsij.org>
build: Update libtool-patch.sed.
+ commit b369ef64e05a2336eb98a28a55dd02193aefaefa
* build-aux/libtool-patch.sed: Fail with exit code 1,
when it doesn't go well.
2023-08-08 NIIBE Yutaka <gniibe@fsij.org>
build: Use sed for --with-libtool-modification.
+ commit 8dd210e9e15905f8c6d155c64b09378d65382335
* configure.ac (--with-libtool-modification): Use sed.
2023-08-04 NIIBE Yutaka <gniibe@fsij.org>
build: Add build-aux/libtool.patch in the tarball.
+ commit 03a3b3c02cf220c6e7ee1acecef7403a64ddf4a3
* Makefile.am (EXTRA_DIST): build-aux/libtool.patch.
2023-08-02 NIIBE Yutaka <gniibe@fsij.org>
build: New configure option --with-libtool-modification.
+ commit 64532db11fcda9b886df74c00c730108852f4f52
* configure.ac (--with-libtool-modification): New.
2023-07-28 NIIBE Yutaka <gniibe@fsij.org>
build: Fix libtool modification.
+ commit e0286bf0a22861f8eadb70a077644a2925baff00
* build-aux/ltmain.sh: Fix reverting mistake.
* build-aux/libtool.patch: Regenerate and fix whitespace mistake.
* configure.ac [x86_64-*mingw32*] (libtool-patch): Exit when failed.
build: Support --verbose option for mkheader.
+ commit ab8b4d58035f4d3093b1df7c25c227e15b673f42
* src/mkheader.c (include_file): Only emit the notification when
invoked with --verbose.
(main): Add --verbose handling.
build: Apply libtool.patch at the last stage of configure.
+ commit c1d3f5952f621a553c122cee7a20e990d982a715
* build-aux/libtool.patch: New.
* build-aux/ltmain.sh: Revert our local change to original.
* configure.ac [x86_64-*mingw32*] (libtool-patch): Introduce a
construct with AC_CONFIG_COMMANDS to apply build-aux/libtool.patch
after libtool generation.
2023-07-27 NIIBE Yutaka <gniibe@fsij.org>
yat2m: No additional newline after the end of subsection.
+ commit da48e3cb30be2897b733dbc9db271bfa166fd260
* doc/yat2m.c (proc_texi_buffer): Add 'break' in switch.
build: Recover the local change for libtool.
+ commit ff2763c46c7a8f8f9f77f665060f1dc70e515e20
* ltmain.sh: Prefix the SO number for W64 with a "6".
build: Update libtool from version 2.4.7.
+ commit 692c2990598689de1dae5867b0e966d7ffeae747
* build-aux/compile, build-aux/depcomp, build-aux/ltmain.sh: Update.
* m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4: Update.
* m4/ltversion.m4, m4/lt~obsolete.m4: Update.
build: Update autobuild.m4 from autobuild 5.3.
+ commit f599ff4988dbf6739e020ee21c7e957387cc3237
* m4/autobuild.m4: Update.
2023-07-17 NIIBE Yutaka <gniibe@fsij.org>
gpgscm: Incorporate changes from GnuPG.
+ commit 0e8105a364c8cac68a254b5617a83987cc44fcff
* gpgscm/scheme.c [__GNUC__] (type_to_string): Use
__builtin_unreachable for GCC.
* gpgscm/ffi.c (do_get_temp_path): Remove the last backslash.
* gpgscm/ffi.c (do_chdir): Use gpg_error_from_syserror.
2023-06-12 Werner Koch <wk@gnupg.org>
yat2m: Fix Windows build.
+ commit 3faf11925549260c3822660a2b83785a68326664
* doc/yat2m.c (mystpcpy): New. Use instead of stpcpy.
2023-06-09 Werner Koch <wk@gnupg.org>
w32: Map ERROR_FILE_INVALID to EIO.
+ commit 32213bb48ea3520588f59ac96456adc156e2c4e8
* src/estream.c (map_w32_to_errno): Add a mapping.
yat2m: Add option --gnupgorg.
+ commit 93d764498895e4cc9bdf14ac4c0cb41431946066
2023-06-01 Werner Koch <wk@gnupg.org>
yat2m: Some basic HTML formatting works now.
+ commit 43dcdbff50fa33728ab4717cacdf8ff600aea3b9
* doc/yat2m.c: Lots of changes for option --html.
2023-05-26 NIIBE Yutaka <gniibe@fsij.org>
Add GNU system support for cross compilation.
+ commit 6877540eb1fcc159302b1722264e1059c9f32bc1
* configure.ac: Cross compile should work well for
GNU system.
2023-05-24 Werner Koch <wk@gnupg.org>
core: New mode flag "sequential" for gpgrt_fopen.
+ commit 7a42ff0ec971f4f2add28b0edad6cf381b5b8acc
* src/estream.c (X_SEQUENTIAL): New.
(func_file_create_w32): Add arg flags_and_attrs,
(parse_mode): Parse the new "sequenial" flag.
(_gpgrt_fopen): Use the sequenial flag in sysopen mode under Windows.
2023-05-17 NIIBE Yutaka <gniibe@fsij.org>
w32: Use _putenv_s when available.
+ commit 89e53ad90f3aa4ee4379b91a8c8965bc87a39c53
* src/sysutils.c (_gpgrt_setenv): Use _putenv_s when the macro
_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES is defined.
2023-05-12 NIIBE Yutaka <gniibe@fsij.org>
tests: Use -no-fast-install LDFLAGS for Windows.
+ commit dfdd07c3c488735d87c13f89270eeb4fa5714ef8
* tests/Makefile.am [HAVE_W32_SYSTEM] (AM_LDFLAGS): Conditionalize.
2023-04-10 NIIBE Yutaka <gniibe@fsij.org>
gpgrt-config: Simplify to set gpgrt_libdir.
+ commit 9c17795ec25f3cb7cfd08cc1f9c5dcc1f33ec296
* src/gpgrt-config.in (determine_gpgrt_libdir): Merge the two cases.
2023-04-06 Werner Koch <wk@gnupg.org>
Release 1.47.
+ commit a25cea92798a5ece3f49924911507f5335915ecc
build: Make distcheck work again.
+ commit bcc16b4cd00f02fbb824a9b6fc69e00fc6458b19
* Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Add
with --install-gpg-error-config.
core: New error codes for PUKs and reset codes.
+ commit 0262cd3371cf9794be94851955fec099b0e1fab5
* src/err-codes.h.in (GPG_ERR_BAD_PUK): New
(GPG_ERR_NO_RESET_CODE, GPG_ERR_BAD_RESET_CODE): New.
2023-04-04 NIIBE Yutaka <gniibe@fsij.org>
core: Add GPG_ERR_SOURCE_TKD.
+ commit 1a382660855fb46da86980797acc50af1718c359
* src/err-sources.h.in (GPG_ERR_SOURCE_TKD): New.
2023-04-01 NIIBE Yutaka <gniibe@fsij.org>
m4: Fix behavior with older gpg-error-config and gpgrt-config.
+ commit c61e831b6f0c3c4bc9047e583ad3261bd9babefc
* src/gpg-error.m4 (_AM_PATH_GPGRT_CONFIG): Set the variable
gpg_error_config_version on error with gpgrt-config.
2023-03-23 NIIBE Yutaka <gniibe@fsij.org>
m4: Fallback to $possible_libdir1, when not found with $CC.
+ commit ed36ba06f907c0d67f8a60930dc329d58a4cd77d
* src/gpg-error.m4: Try $possible_libdir1 for gpgrt_libdir.
2023-03-21 Werner Koch <wk@gnupg.org>
Avoid segv in logging with improper use of the "socket://" .
+ commit 68333be63042be281a497a5751474e9e3d119dc3
* src/logging.c (fun_writer): Protect calling socket_dir_cb if not
set.
2023-03-15 Werner Koch <wk@gnupg.org>
build: Improve the beta numbering by autogen.sh.
+ commit fbbc55b3febef6d22dae5e2675c75b1d1f561b09
* autogen.sh: Introduce a 3rd matchstr and simplify rules.
2022-12-16 Werner Koch <wk@gnupg.org>
core: Fix translations of --help.
+ commit 885a287a57cf060b4c5b441822c09d23b8dee2bd
* src/argparse.c (show_help): Do not translate the empty string.
2022-12-13 pengyi <pengyi37@huawei.com>
NIIBE Yutaka <gniibe@fsij.org>
Add more tests for t-printf and t-strerror.
+ commit 72e0fb3fc858301de7b200e1c08da6904ab44bc0
* tests/t-printf.c (check_fwrite): New.
(main): Add check_fwrite.
* tests/t-strerror.c (main): Add three more cases to LIST.
2022-12-05 NIIBE Yutaka <gniibe@fsij.org>
Handle strerror_r failure on non-GNU systems.
+ commit be94bcf6aace55e319a203c6b60e31b1c204b0dc
* src/strerror.c (system_strerror_r): Make sure to fill the buffer.
2022-11-29 NIIBE Yutaka <gniibe@fsij.org>
gpgrt-config: Support a simple invocation.
+ commit 3f812a0f5df8aaa82372ea0c40573703119ed83d
* src/gpgrt-config.in (determine_gpgrt_libdir): New.
2022-11-29 NIIBE Yutaka <gniibe@fsij.org>
Andreas Metzler <ametzler@debian.org>
doc: Add man page of gpgrt-config.
+ commit 4c6890aca2d0234fdc3da4678a003160091dc0dd
* doc/Makefile.am (myman_pages): Add gpgrt-config.1.
* doc/gpgrt.texi: Add gpgrt-config.1.
2022-11-15 NIIBE Yutaka <gniibe@fsij.org>
gpg-error.m4: Factor out _AM_PATH_GPGRT_CONFIG.
+ commit 788f63347eda2d35ba5d9dad5e339743343d2f66
* src/gpg-error.m4 (_AM_PATH_POSSIBLE_GPG_ERROR_CONFIG): New.
(_AM_PATH_GPGRT_CONFIG): New.
(AM_PATH_GPG_ERROR): Use _AM_PATH_POSSIBLE_GPG_ERROR_CONFIG
and _AM_PATH_GPGRT_CONFIG.
Revert "spawn: Expose spawn functions."
+ commit c580094dbe97249caebdedbf0f584e604fd20240
This reverts commit 43c1e85fe29a52a9debc068d97c5860a4694b821.
2022-11-04 NIIBE Yutaka <gniibe@fsij.org>
spawn: Introduce gpgrt_process_t and use it for spawn API.
+ commit 5d30adb5ad376a07576b258b9395adadf5576867
* configure.ac (AC_FUNC_FORK): No use.
* src/gpg-error.h.in (@define:gpgrt_process_t@): New.
(@define:pid_t@): Remove.
(gpgrt_spawn_process, gpgrt_spawn_process_fd): Use gpgrt_process_t.
(gpgrt_wait_process, gpgrt_wait_processes): Likewise.
(gpgrt_kill_process, gpgrt_release_process): Likewise.
* src/gpgrt-int.h (_gpgrt_spawn_process): Likewise.
(_gpgrt_spawn_process_fd): Likewise.
(_gpgrt_wait_process, _gpgrt_wait_processes): Likewise.
(_gpgrt_kill_process, _gpgrt_release_process): Likewise.
* src/mkheader.c (write_special): Handle @define:gpgrt_process_t@.
Remove handling of @define:pid_t@.
* src/spawn-posix.c (_gpgrt_spawn_process): Use gpgrt_process_t.
(_gpgrt_spawn_process_fd): Likewise.
(_gpgrt_wait_process, _gpgrt_wait_processes): Likewise.
(_gpgrt_kill_process, _gpgrt_release_process): Likewise.
* src/spawn-w32.c (_gpgrt_spawn_process): Use gpgrt_process_t.
(_gpgrt_spawn_process_fd): Likewise.
(_gpgrt_wait_process, _gpgrt_wait_processes): Likewise.
(_gpgrt_kill_process, _gpgrt_release_process): Likewise.
2022-10-31 NIIBE Yutaka <gniibe@fsij.org>
spawn: Fix spawn_cb of gpgrt_spawn_process_fd.
+ commit 6c20e8393eba4a9f330143b2158e28ea594cbadd
* src/gpg-error.def.in (gpgrt_close_all_fds): New.
* src/gpg-error.vers (gpgrt_close_all_fds): New.
* src/gpg-error.h.in (GPGRT_SPAWN_INHERIT_FILE): New.
(gpgrt_spawn_process_fd): SPAWN_CB having return value.
* src/gpgrt-int.h (_gpgrt_spawn_process_fd): SPAWN_CB change.
* src/spawn-posix.c (_gpgrt_close_all_fds): Rename from close_all_fds,
and export it.
(do_exec): Support the case not closing fds.
(_gpgrt_spawn_process_fd): Handle return value of SPAWN_CB to
determine closing all fds or not.
* src/spawn-w32.c (_gpgrt_spawn_process_fd): Run SPAWN_CB.
(_gpgrt_close_all_fds): New.
* src/visibility.c (gpgrt_close_all_fds): New.
* src/visibility.h (gpgrt_close_all_fds): New.
2022-10-27 NIIBE Yutaka <gniibe@fsij.org>
spawn: Expose spawn functions.
+ commit 43c1e85fe29a52a9debc068d97c5860a4694b821
* src/gpg-error.def.in: Update.
* src/gpg-error.vers: Update.
* src/gpg-error.h.in: Add declarations.
* src/visibility.c: Add implementations.
* src/visibility.h: Expose them.
2022-10-20 NIIBE Yutaka <gniibe@fsij.org>
gpgrt_spawn_process, gpgrt_spawn_process_fd: Change the API.
+ commit 5ad97e8fa62882b2014a67b4e57dab3b37ccaf4c
* src/gpg-error.h.in (gpgrt_spawn_process): Remove PREEXEC argument.
(gpgrt_spawn_process_fd): Add AFTER_FORK_CB and AFTER_FORK_CB_ARG.
* src/gpgrt-int.h (_gpgrt_spawn_process): Remove PREEXEC argument.
(_gpgrt_spawn_process_fd): Add AFTER_FORK_CB and AFTER_FORK_CB_ARG.
* src/spawn-posix.c (do_exec): Remove PREEXEC argument.
(_gpgrt_spawn_process): Remove PREEXEC argument.
(_gpgrt_spawn_process_fd): Add AFTER_FORK_CB and AFTER_FORK_CB_ARG.
(_gpgrt_spawn_process_detached): Follow the change of do_exec.
* src/spawn-w32.c (_gpgrt_spawn_process): Remove PREEXEC argument.
(_gpgrt_spawn_process_fd): Add AFTER_FORK_CB and AFTER_FORK_CB_ARG.
* src/visibility.c (gpgrt_spawn_process): Remove PREEXEC argument.
(gpgrt_spawn_process_fd): Add AFTER_FORK_CB and AFTER_FORK_CB_ARG.
2022-10-19 NIIBE Yutaka <gniibe@fsij.org>
spawn: Update changes from gnupg.
+ commit 494886acb0bf3d536f4e620340e42c8ec8947742
* src/gpg-error.h.in (GPGRT_SPAWN_KEEP_STDIN): New.
(GPGRT_SPAWN_KEEP_STDOUT, GPGRT_SPAWN_KEEP_STDERR): New.
* src/gpgrt-int.h: Add comment.
* src/spawn-posix.c (do_exec): Add the argument FLAGS.
(_gpgrt_spawn_process): Add FLAGS.
(_gpgrt_spawn_process_fd): Follow the change.
(_gpgrt_spawn_process_detached): Likewise.
* src/spawn-w32.c (_gpgrt_spawn_process): Handle FLAGS.
2022-10-11 NIIBE Yutaka <gniibe@fsij.org>
build: Remove potomo from repo.
+ commit be4f289a5c09f43cb6b893bdc709a743a100be15
* potomo: Remove.
2022-10-07 Werner Koch <wk@gnupg.org>
Release 1.46.
+ commit ea031873aa9642831017937fd33e9009d514ee07
2022-09-21 Damien Goutte-Gattat <dgouttegattat@incenp.org>
m4: Fix detection of gpgrt's libdir.
+ commit 628cb1a786bd5d420be17c2e9ffd407f4fbf517e
* src/gpg-error.m4 (GPGRT_CONFIG): Handle the case where none of the
system lib directories contain a pkgconfig subdirectory.
2022-09-19 Damien Goutte-Gattat via Gnupg-devel <gnupg-devel@gnupg.org>
build: Fix installation of gpg-error-config.1.
+ commit b5043421d2b3ff5999e88808737ff400bf15b0ee
* doc/Makefile.am (myman_pages): Rename man page to gpg-error-config.1
and only install if gpg-error-config itself is installed.
2022-09-15 NIIBE Yutaka <gniibe@fsij.org>
yat2m: Use __noreturn__ attribute.
+ commit a86ad1cbb6bd83cb30ab87f5ad1c70077288a8da
* doc/yat2m.c (ATTR_NR_PRINTF): Use __noreturn__.
Remove extra semicolons.
+ commit 6f103890e9728072e1c9c1e0a1d7f87220d8eecc
* src/gpgrt-int.h: Remove extra.
* src/visibility.h: Likewise.
2022-09-08 NIIBE Yutaka <gniibe@fsij.org>
Silence compiler warnings.
+ commit 10dc853291a1786f061e01cdcf477be0c31441b1
* src/argparse.c (show_version): It's no args.
(_gpgrt_log_get_fd, _gpgrt_log_get_stream): Likewise.
2022-08-25 NIIBE Yutaka <gniibe@fsij.org>
gpgrt-config: Strip system paths for --cflags and --libs.
+ commit 4615816f71e91f4c3bb8b0e4122dd153ec7c1927
* src/gpgrt-config.in: Strip -I and -L with system paths.
2022-08-17 Ingo Klöcker <dev@ingo-kloecker.de>
build: Omit -L<libdir> for standard paths on some 64-bit systems.
+ commit fcb19dbfd49338e5c282e2853d71d66a0594d3c1
* configure.ac (GPG_ERROR_CONFIG_LIBS): Handle the case $libdir =
'${exec_prefix}/lib64'.
2022-08-15 NIIBE Yutaka <gniibe@fsij.org>
build: Only install gpg-error-config when enabled.
+ commit 0b47de9c719b0ed0da0791f0525de073737bde5a
* configure.ac (INSTALL_GPG_ERROR_CONFIG): New.
* src/Makefile.am (bin_SCRIPTS, noinst_SCRIPTS): Conditionalize.
2022-08-02 Werner Koch <wk@gnupg.org>
w32: Convert REG_DWORD values to a string.
+ commit 745d333cf7b5b6fee62e3b26c8a2ccc004e017da
* src/w32-reg.c (_gpgrt_w32_reg_query_string): Handle REG_DWORD
2022-07-28 NIIBE Yutaka <gniibe@fsij.org>
w32: Fix for bidirectional pipe.
+ commit 25701f105b947500f920eb5a13e328f8f7843d38
* src/estream.c (func_w32_seek): Return an error with ESPIPE, when
it's pipe.
2022-07-22 NIIBE Yutaka <gniibe@fsij.org>
doc: Update gpgrt.texi for old gpg-error-config script.
+ commit 1e7d0d3ef627f3cdee70b8409f04d7e2ecf4fdd6
* doc/gpgrt.texi: Address pkg-config. Manual entry is for
gpg-error-config. gpgrt-config is an internal command for
gpg-error.m4.
2022-07-19 NIIBE Yutaka <gniibe@fsij.org>
build: Fix configure script.
+ commit 64bcee3c467d837694d225e15981ea76ebf7e7b9
* configure.ac (AC_HEADER_TIME): Remove obsolete AC macro.
(AC_CHECK_SIZEOF(time_t)): Remove unneeded check.
build: Update config.guess, config.sub, and config.rpath.
+ commit b1b808f30f83e92e7d30a9336588c15553699a7b
* build-aux/config.guess: Update from upstream.
* build-aux/config.sub: Ditto.
* build-aux/config.rpath: Update from gettext 0.21.
2022-06-28 NIIBE Yutaka <gniibe@fsij.org>
Remove Windows CE support.
+ commit 14ead267268f8ed14bf1ab49189646a95654b706
* contrib/*: Remove.
* Makefile.am: Remove contrib.
* autogen.sh: Remove Windows CE support.
* configure.ac (have_w32ce_system): Remove.
* src/Makefile.am [HAVE_W32CE_SYSTEM] (extra_cppflags): Remove.
(gpg_extra_headers): Remove.
(EXTRA_DIST): Remove mkw32errmap.c and w32ce-add.h
(BUILT_SOURCES): Remove mkw32errmap.map.c.
(tmp_files): Remove mkw32errmap.tab.h mkw32errmap.map.c
(CLEANFILES): Likewise.
* src/estream-printf.c [HAVE_W32CE_SYSTEM]: Remove.
* src/estream.c [HAVE_W32CE_SYSTEM]: Remove.
* src/gpg-error.def.in [HAVE_W32CE_SYSTEM]: Remove.
* src/gpgrt-int.h: Fix comment.
* src/init.c [HAVE_W32CE_SYSTEM]: Remove.
* src/init.h [HAVE_W32CE_SYSTEM]: Remove.
* src/mkheader.c: Remove Windows CE support.
* src/mkw32errmap.c, src/w32ce-add.h: Remove.
* src/spawn-posix.c [HAVE_W32CE_SYSTEM]: Remove.
* src/spawn-w32.c [HAVE_W32CE_SYSTEM]: Remove.
* src/sysutils.c [HAVE_W32CE_SYSTEM]: Remove.
* src/w32-estream.c [HAVE_W32CE_SYSTEM]: Remove.
* src/w32-reg.c [HAVE_W32CE_SYSTEM]: Remove.
* tests/Makefile.am [HAVE_W32CE_SYSTEM]: Remove.
Typo fix in autogen.sh.
+ commit 084d135f44a027e86f1005c893935464ffbc4b82
* autogen.sh: Fix typo.
2022-04-07 Werner Koch <wk@gnupg.org>
Release 1.45.
+ commit dbac537e5e865fb6f3aa8596d213aa8c47a9dea1
2022-04-07 NIIBE Yutaka <gniibe@fsij.org>
logging: Fix the previous commit.
+ commit 74e6afcc36b28b0acc49fbe25f29b42d1a223caf
* src/logging.c (set_file_fd): Open with append mode.
logging: Fix gpgrt_log_get_fd for file.
+ commit 5ef201c10b1cc870ae06e34ad02bb5da0a763bfe
* src/logging.c (fun_writer): Only use this for socket writing.
(set_file_fd): Use es_stderr when "-".
Use the stream by _gpgrt_fdopen when FD is specified.
Use the stream by _gpgrt_fopen when name is not socket.
Only use the stream by _gpgrt_fopencookie for socket.
[HAVE_W32CE_SYSTEM]: Remove W32CE support.
2022-04-04 NIIBE Yutaka <gniibe@fsij.org>
w32: Add ES_SYSHD_SOCK support for gpgrt_sysopen.
+ commit 018ea46a30cf4eda70070ba42c4fee642fb2fd8a
* src/mkheader.c (write_special): Support @SOCKET_t@ substitution.
* src/gpgrt-int.h (gpgrt_stream_backend_kind_t): Add BACKEND_SOCK.
* src/gpg-error.h.in (struct _gpgrt_syshd): Use @SOCKET_t@.
* src/estream.c [HAVE_W32_SYSTEM] (estream_cookie_sock_t): New.
[HAVE_W32_SYSTEM] (func_sock_create, func_sock_read): New.
[HAVE_W32_SYSTEM] (func_sock_write, func_sock_seek): New.
[HAVE_W32_SYSTEM] (func_sock_destroy, func_sock_ioctl): New.
[HAVE_W32_SYSTEM] (estream_functions_sock, do_sockopen): New.
[HAVE_W32_SYSTEM] (do_sysopen): Call do_sockopen.
2022-03-29 NIIBE Yutaka <gniibe@fsij.org>
w32: Fix handle_to_pid for MinGW-w64.
+ commit 660db9c9a90f377fc14a5d659d974d68d782b2d1
* src/spawn-w32.c (handle_to_pid): Use pid_t to coerce the type.
2022-03-28 NIIBE Yutaka <gniibe@fsij.org>
core: Fix support of posix-lock for FreeBSD.
+ commit 6e17e70bb7eea1f6ed4c08f795ea65a09f89d38f
* src/posix-lock.c [__FreeBSD__] (use_pthread_p): Use
pthread_key_create to determine if it's linked to lpthread or not.
yat2m: Only emit a message of the page with --verbose option.
+ commit 70489b4f75c0afcb1b5c65e579b231d8f657b8c6
* doc/yat2m.c (finish_page): Conditionalize the output with VERBOSE.
2022-03-25 NIIBE Yutaka <gniibe@fsij.org>
w32: Fix for MinGW which doesn't define EOPNOTSUPP.
+ commit 8e67e8c3f21c798ff1f4862b0e7228825e6dd4f6
* src/w32-estream.c: Add EOPNOTSUPP.
2022-03-04 Werner Koch <wk@gnupg.org>
w32: Support file names longer than MAX_PATH.
+ commit 32dad4e4135f0bdc436ed684da753d4b0cdb0ea1
* src/sysutils.c (any8bitchar): Remove.
(_gpgrt_fname_to_wchar): New.
(_gpgrt_mkdir): Use instead of plain utf8 conversion.
(_gpgrt_access): Reimplement using GetFileAttributesW so that long
files names are supported.
* src/estream.c (_gpgrt_w32_get_last_err_code): New.
(func_file_create_w32): New.
(_gpgrt_fopen): Handle the "sysopen" mode flag. Support mapping of
/dev/null.
(_gpgrt_freopen): Support mapping of /dev/null.
* src/w32-gettext.c (load_domain): Allow long file names.
* src/visibility.c (gpgrt_free_wchar): Make function public.
(gpgrt_fname_to_wchar): Ditto.
(gpgrt_utf8_to_wchar): Ditto.
(gpgrt_wchar_to_utf8): Ditto.
* src/w32-add.h (gpgrt_free_wchar): New prototype.
(gpgrt_fname_to_wchar): Ditto.
(gpgrt_utf8_to_wchar): Ditto.
(gpgrt_wchar_to_utf8): Ditto.
* src/gpg-error.def.in: Add them here too.
2022-02-17 NIIBE Yutaka <gniibe@fsij.org>
gpg-error.m4: Fix use with older gpgrt-config (< 1.33).
+ commit 666d64d2bc6539d0ca03dea69abc5a8ccdf37be5
* src/gpg-error.m4: When gpgrt-config doesn't work expected for
gpg-error.pc, unset GPGRT_CONFIG.
2022-02-01 NIIBE Yutaka <gniibe@fsij.org>
build,tests: Fix detection of have_lock_optimization.
+ commit 433aba9e778ebe9500c29ae1ae34999d48e98a19
* configure.ac: Lock optimization (without sys/single_threaded.h) is
only known to work on GNU system, using weak symbol.
2022-01-27 Werner Koch <wk@gnupg.org>
Release 1.44.
+ commit 54eff9cb9ac86809f3217179eb1029058d4a7936
* configure.ac: Bump LT version to C32/A32/R2.
2022-01-27 Emir SARI <emir_sari@icloud.com>
Add Turkish translations.
+ commit 663b91fe91af0bb290fe18092896a8917bf51e14
2022-01-25 Werner Koch <wk@gnupg.org>
core: Fix returning of option attributes for options with args.
+ commit 5ab088aba9f05b480c311e94d45a88728ac9320b
* src/argparse.c (_gpgrt_argparse): Set attributes info flags
2022-01-18 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
build: Detect more flexible musl variants of GNU.
+ commit 0150919b6a8244be1055d01ad21d6fa47788ab0e
* configure.ac: expand *-*-linux-musl to *-*-linux-musl*.
2022-01-18 NIIBE Yutaka <gniibe@fsij.org>
po,w32: Directly run msgfmt at install-data-hook.
+ commit b26220f92fa668e185dbf2bcc5006c6e74b20073
* Makefile.am (EXTRA_DIST): Remove potomo.
[HAVE_W32_SYSTEM] (install-data-hook): Run msgfmt.
po: Update files from gettext 0.21 to match m4/po.m4.
+ commit b37c68f28a921d1c03507469f4af53e012ef7679
* po/Makefile.in.in: Update.
* po/Makevars: Update.
* po/Rules-quot: Update.
* po/insert-header.sin: Update.
* po/remove-potcdate.sin: Update.
2021-12-22 NIIBE Yutaka <gniibe@fsij.org>
build: Recover and update *.m4.
+ commit 973dbdbfc90136798cfa4001166a40b904fdad70
* m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: Copied
from gnulib.
* m4/po.m4, m4/nls.m4, m4/progtest.m4: Likewise.
* m4/gettext.m4, m4/iconv.m4: Update from gnulib.
* m4/host-cpu-c-abi.m4: New from gnulib.
build: Remove obsolete m4 files.
+ commit 980e4410bb0a372a7bcce5f454915e6565a56b96
* m4/glibc2.m4, m4/glibc21.m4, m4/intdiv0.m4, m4/intmax.m4: Remove.
* m4/inttypes-h.m4, m4/inttypes-pri.m4, m4/inttypes.m4: Remove.
* m4/inttypes_h.m4, m4/isc-posix.m4, m4/lcmessage.m4: Remove.
* m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: Remove.
* m4/longdouble.m4, m4/longlong.m4, m4/nls.m4, m4/po.m4: Remove.
* m4/printf-posix.m4, m4/progtest.m4, m4/signed.m4: Remove.
* m4/size_max.m4, m4/stdint_h.m4, m4/uintmax_t.m4: Remove.
* m4/ulonglong.m4, m4/visibility.m4, m4/wchar_t.m4: Remove.
* m4/wint_t.m4, m4/xsize.m4: Remove.
2021-12-17 NIIBE Yutaka <gniibe@fsij.org>
tests: Fix gpg-error-config-test for PKG_CONFIG_LIBDIR.
+ commit 8d2bd9a0d4bba9b820bc03a9275441c39182d5b7
* src/gpg-error-config-test.sh.in: Clear PKG_CONFIG_LIBDIR.
2021-12-15 NIIBE Yutaka <gniibe@fsij.org>
build: Update configure.ac for newer autoconf.
+ commit f5e043ad271f431f2c35fc6b22fc51b448507b01
* configure.ac (AC_PREREQ): Require 2.69 or later.
(AC_CONFIG_HEADERS): Replace AC_CONFIG_HEADER.
(AC_HEADER_STDC): Remove.
* m4/codeset.m4: Update from gnulib.
2021-12-13 NIIBE Yutaka <gniibe@fsij.org>
build: Fix have_lock_optimization code for 'guessing yes'.
+ commit f15c06951bb91eb0a4ab54f6707b6e21448945f9
* configure.ac: Support 'guessing yes' for gl_cv_have_weak.
build: Detect a system with musl, as a variant of GNU System.
+ commit e17cf023d894acc3932505f66fbd9c31ce56793f
* configure.ac: Add *-*-linux-musl.
2021-12-07 Jakub Jelen <jjelen@redhat.com>
configure: Add missing check for logging.
+ commit 7fac8e02d80d139f43fc5fd179618ab769512124
* configure.ac: Add missing check for inet_pton to avoid using inet_addr
in modern systems.
2021-11-29 NIIBE Yutaka <gniibe@fsij.org>
tests,w32: Use CreatePipe and es_sysopen.
+ commit 858bcd4343ac40566825cfa861ee60bcc54cb6c8
* tests/t-poll.c (create_pipe): Use CreatePipe.
2021-11-25 NIIBE Yutaka <gniibe@fsij.org>
build,tests: Run t-lock-single-posix only on platforms supported.
+ commit 50e0f32b19356fd7c64c799192379ff2204cd8a3
* configure.ac (HAVE_LOCK_OPTIMIZATION): New.
* tests/Makefile.am: Use HAVE_LOCK_OPTIMIZATION for
t-lock-single-posix.
2021-11-19 NIIBE Yutaka <gniibe@fsij.org>
build: Fix dependency to gpg-error-config-test.sh.
+ commit 0fcfca8e9ffa25836f391df75f5b3bb1b7dc1a69
* src/Makefile.am (gpg-error-config): It depends on configure
generated gpg-error-config-test.sh.
2021-11-12 NIIBE Yutaka <gniibe@fsij.org>
build: Fix for configure generated files.
+ commit fd83c3e29744c8d7829df3de8c10f9c68f11e429
* src/Makefile.am (bin_SCRIPTS): Add gpgrt-config.
(EXTRA_DIST): Add gpgrt-config.in and gpg-error-config-test.sh.in.
(CLEANFILES): Add configure generated files.
configure: Escape includedir/libdir to defer interpretation of vars.
+ commit 1e5b17f4284ea2904c65d08097735a1a4a8879a1
configure.ac: Escape includedir for GPG_ERROR_CONFIG_CFLAGS.
Escape libdir for GPG_ERROR_CONFIG_LIBS.
2021-11-04 NIIBE Yutaka <gniibe@fsij.org>
estream: Only include sys/select.h when needed.
+ commit 61843dace32f12475b1ade5423deaa0421cbbc0b
* src/estream.c: The select function is only used when poll is not
available. So, let it include the header file only when needed.
2021-11-03 Werner Koch <wk@gnupg.org>
Release 1.43.
+ commit d7fb04832a71a2c1509d45027798f184ca274f8d
2021-11-03 Ineiev <ineiev@gnu.org>
po: Update Russian translation.
+ commit 983a1b491ea6dfa7bb1868a6ac41fb9222bbe301
2021-11-03 Werner Koch <wk@gnupg.org>
argparse: Add more system variables.
+ commit 62755bcd302eca755d52b80b62dc17ae0e683b75
* src/argparse.c (get_var): Fix "_windows", add "_gpgrtversion" and
"strusageN".
(handle_meta_if): Avoid evaluating inactive branches.
* tests/t-argparse.conf: Add a few other outputs.
2021-10-31 Werner Koch <wk@gnupg.org>
argparse: Add support to read values from the Windows Registry.
+ commit b1790f4cc71f14422255bbfba78e91f037e035dd
* src/argparse.c (struct variable_s): New.
(struct _gpgrt_argparse_internal_s): New fields expand, if_cond,
if_active and vartbl.
(deinitialize): Free vartbl.
(initialize): Clear new vars.
(get_var): New.
(substitute_vars): New.
(set_variable): New.
(handle_meta_if): New.
(handle_meta_let): New.
(handle_meta_getenv): New.
(handle_meta_echo): Re-implement in terms of variabale substitution.
(handle_meta_expand): New.
(handle_metacmd): Add new meta commands.
(_gpgrt_argparse): Expand values if enabled.
(_gpgrt_argparse): Take care of conditions.
(_gpgrt_argparser): Reset some state at the end of a file.
* tests/etc/t-argparse.conf: Adjust for changed system variables.
* tests/t-argparse.c (my_strusage): Add a value for a version test.
(main): Add new option "street".
* tests/t-argparse.conf: A couple if additions for the new conditions.
2021-10-22 Werner Koch <wk@gnupg.org>
core: new internal function _gpgrt_w32_reg_get_string.
+ commit 2a32501a561a5d70069bcb6e7e87fb949370520e
* src/w32-reg.c (_gpgrt_w32_reg_query_string): Allow abbreviated root
names.
(_gpgrt_w32_reg_get_string): New.
2021-09-27 NIIBE Yutaka <gniibe@fsij.org>
libtool: Link without -flat_namespace for macOS.
+ commit a3987e44970505a5540f9702c1e41292c22b69cf
* m4/libtool.m4: Not setting 10.0 to MACOSX_DEPLOYMENT_TARGET when not
defined. Only specify -flat_namespace to linker for specific
(older) versions and hosts.
2021-09-10 NIIBE Yutaka <gniibe@fsij.org>
gpgrt-config: Fix behavior when PKG_CONFIG_LIBDIR="".
+ commit 6b08dd09864e7fbb424296ad490f9fe65c9bc247
* src/gpgrt-config.in: Correctly detect the case.
2021-08-26 NIIBE Yutaka <gniibe@fsij.org>
tests: Add a test for locking when single thread.
+ commit 2b476b3ebc1d13d681594c15505844766c0fbc4b
* tests/Makefile.am (TESTS): Add t-lock-single-posix.
* tests/t-lock-single-posix.c: New.
2021-08-06 NIIBE Yutaka <gniibe@fsij.org>
posix-lock: Support GNU C library 2.34 or later.
+ commit 67595e8244ed67910f7372873cdbf674c2e85403
* configure.ac: Add check for sys/single_threaded.h.
* src/posix-lock.c [USE_POSIX_THREADS_FROM_LIBC]: Use
__libc_single_threaded to detect if it's single threaded.
m4: Merge our local change for threadlib.m4.
+ commit 8538a83fd1b5e54d7dbe6dc9042cc74942e38e51
* m4/threadlib.m4: Add THREADLIB_CPPFLAGS support.
m4: Update m4/threadlib.m4 from gnulib.
+ commit 7ad1ff9673e4589880170b9f84df93510b044814
* m4/threadlib.m4: Update.
2021-08-05 NIIBE Yutaka <gniibe@fsij.org>
build: Simplify checking headers.
+ commit f8fe24a792321483baa7415e06640fb5077fcb13
* configure.ac (AC_HEADER_STDC): Remove stdlib.h.
core: Minor clean up.
+ commit b82b0d7a8d8f69aec928a2c604c1260b34a08449
* src/stringutils.c: Remove inclusion of pwd.h.
2021-06-21 NIIBE Yutaka <gniibe@fsij.org>
build: Fix --disable-threads.
+ commit 220a427b4f997ef6af1b2d4e82ef1dc96e0cd6ff
* src/gen-lock-obj.sh: Fix generating '}}}'.
2021-06-08 NIIBE Yutaka <gniibe@fsij.org>
core: Avoid truncation of error message in the middle of a character.
+ commit 6d19a40a8a23d9aa5d61ace247a5fea1bd103995
* configure.ac (AM_LANGINFO_CODESET): Add.
* src/strerror.c (_gpg_strerror_r): Check the boundary of character.
2021-05-21 NIIBE Yutaka <gniibe@fsij.org>
build: _DARWIN_C_SOURCE should be 1.
+ commit f9b50dafc5d3cc9d463be17b1d9e66817d4cb41c
* configure.ac (*-apple-darwin*): Set _DARWIN_C_SOURCE 1.
2021-05-20 Werner Koch <wk@gnupg.org>
core: Make gpgrt_free robust against legacy free implementations.
+ commit 448bf7b01cade87f45fb39f455f37a6aadeeceda
* src/init.c (_gpgrt_free): Shortcut NULL and save ERRNO.
2021-04-12 Jakub Jelen <jjelen@redhat.com>
build,tests: Fix leaks of memory or file pointer.
+ commit ad062b0a5b7d598081405ecfb71b51540281a1b7
* src/mkheader.c (parse_config_h): Close FP.
* tests/t-b64.c (test_b64enc_string): Free STATE.
(test_b64dec_string): Free BUFFER.
* tests/t-syserror.c (main): Close FP.
2021-04-08 NIIBE Yutaka <gniibe@fsij.org>
core: Fix gpgrt_wait_processes, by skipping invalid PID.
+ commit 956c40f106ead6d0191bc183805021e70c15e760
* src/spawn-posix.c (_gpgrt_wait_processes): Skip invalid PID.
2021-04-07 NIIBE Yutaka <gniibe@fsij.org>
build: Fix gpgrt-config for handling 'Requires' field.
+ commit 89a353f418f5e879ab5564ec0767a6cbdb19d51c
* src/gpgrt-config.in (get_attr_l): Fix thinko for word split.
2021-03-31 NIIBE Yutaka <gniibe@fsij.org>
m4: Fix previous commit.
+ commit 8536f82194ec21635cd017d7e0bd382106e196c6
m4: Support cross-compiling better.
+ commit 9b9c5dfa1020ce5a5a5e4954c58112d2707ec578
* src/gpg-error.m4 (GPGRT_CONFIG): Prefer the one under $prefix.
(sed expression): Better compatibility to POSIX sed.
2021-03-26 David Michael <fedora.dm0@gmail.com>
build: Fix generation of lock-obj-pub.native.h for cross build.
+ commit 33593864cd54143db594c4237bba41e14179061c
* src/gen-lock-obj.sh: Capture echo output with quotes.
2021-03-22 Werner Koch <wk@gnupg.org>
Release 1.42.
+ commit 303062bf9a383de67227ff942c5482f3a87c71ed
core: Add GPG_ERR_SOURCE_TPM2D.
+ commit 200bf2ed9d610219cc0b12a91dedb3bfd52d36b7
* src/err-sources.h.in (GPG_ERR_SOURCE_TPM2D): New.
2021-03-05 Werner Koch <wk@gnupg.org>
w32: Allow Unicode paths for the gettext domain.
+ commit 618ce381f9d70f3a94e87f58f667a6138411018e
* src/w32-gettext.c: Remove remaining WindowsCE support
(load_domain): Use CreateFileW.
2021-03-04 Werner Koch <wk@gnupg.org>
w32: Minor cleanup of w32-gettext.
+ commit 3bf1de7b72be8e1d9fa78eb94730772d9cf61c44
* src/w32-gettext.c: Include gpgrt.h instead gpg-error.h.
(utf8_to_wchar): Use underscored function.
(_gpg_w32_textdomain): Ditto.
2021-02-18 NIIBE Yutaka <gniibe@fsij.org>
build: Support --disable-threads by gen-lock-obj.sh.
+ commit 1fb90a7da186ee2ee098a666f6f3a35bb1720e59
* configure.ac: Supply --disable-threads to gen-lock-obj.sh.
Tighten the condition of using gen-lock-obj.sh for GNU/Linux.
* src/gen-lock-obj.sh: Support --disable-threads.
2021-02-16 NIIBE Yutaka <gniibe@fsij.org>
build: Fix gpgrt-config.
+ commit ed3cd20de8d3eab92dd8fff02bcc214c55d08398
* src/gpgrt-config.in: Remove delimiter variable.
build: More fix for determining libdir for gpgrt-config.
+ commit 28a21addc2e30b0756cdc6774c79f69070df8829
* src/gpg-error.m4: Use CC -print-search-dirs for better support of
GNU style cross prefix.
2021-02-15 NIIBE Yutaka <gniibe@fsij.org>
build: Fix the previous change.
+ commit d7fd25bbfb83cd445bc81aa695b2c6127c22fa59
* src/gpg-error.m4: Fix test condition for GPGRT_CONFIG.
Fix behaviour when there is no GPG_ERROR_CONFIG.
2021-02-12 NIIBE Yutaka <gniibe@fsij.org>
build: Improve how to determine $libdir for gpgrt-config.
+ commit 3cabbad4eec0e5bc6bdaa9f8626578934138adee
* src/gpg-error.m4: Fix $gpgrt_libdir handling.
2021-02-09 NIIBE Yutaka <gniibe@fsij.org>
Support cross-compiling on more platforms.
+ commit 99ae862a96a569724f49a604ebb7d3f6d2c2d374
* src/gen-lock-obj.sh (ECHO_C, ECHO_N): Portability fix.
2020-12-21 Werner Koch <wk@gnupg.org>
Release 1.41.
+ commit 98032624ae89a67ee6fe3b1db5d95032e681d163
core: Yet another fix to the ignore meta command.
+ commit 7021b58b0f2d95b94a2bac43e15ec97d89706b7f
* src/argparse.c (_gpgrt_argparse): Entirely skip ignored sysconf
commands. Fix state transitions in the ignore case.
Release 1.40.
+ commit c1f4ed561e9d214be9fdc3005134b9d0ed87554f
* configure.ac: Bump LT version to C31/A31/R0.
w32: Allow Unicode for internal getusername function.
+ commit 007cfe8a0ca4c03412f031878d6ce232612a90d8
* src/sysutils.c (_gpgrt_getusername) [W32]: Use GetUserNameW.
2020-12-18 Werner Koch <wk@gnupg.org>
core: Fix the "ignore" meta command of the argparser.
+ commit 4b09c8c2023d52b97be6069c20897ebfb25f9bca
* src/argparse.c (_gpgrt_argparse): Factor some code out to ...
(prepare_arg_return): new.
(_gpgrt_argparse): No missing arg error in ignore sections.
2020-12-07 NIIBE Yutaka <gniibe@fsij.org>
John Ericson
build: Use AC_CHECK_TOOL to detect objdump for cross build.
+ commit 9ee011259f819a3cf50fe7019fa4366dbc437e0e
* configure.ac (CROSS_HOST_OBJDUMP): Remove, but use AC_CHECK_TOOL.
2020-11-17 NIIBE Yutaka <gniibe@fsij.org>
m4: Update with newer autoconf constructs.
+ commit 8047ca99858a7ee812ef11ed3bd2868e920ac1b7
* src/gpg-error.m4: Replace AC_HELP_STRING to AS_HELP_STRING.
build: Update to new autoconf constructs.
+ commit 41d753e21eaae3e4332e841de2f40e7055f2a68c
* configure.ac Replace AC_GNU_SOURCE to Use AC_USE_SYSTEM_EXTENSIONS.
Replace AC_HELP_STRING to AS_HELP_STRING.
* m4/estream.m4: Replace AC_TRY_LINK to AC_LINK_IFELSE.
* m4/gnupg-misc.m4: Replace AC_TRY_COMPILE to AC_COMPILE_IFELSE.
* m4/libtool.m4: Use AC_LANG_PUSH/AC_LANG_POP instead of
AC_LANG_SAVE/AC_LANG_RESTORE.
* m4/readline.m4: Replace AC_HELP_STRING to AS_HELP_STRING.
Fix quote for _combo.
* m4/threadlib.m4: Replace AC_HELP_STRING to AS_HELP_STRING.
2020-10-19 Werner Koch <wk@gnupg.org>
New public function gpgrt_access.
+ commit 4764c5a3a4d704b3b42bafc5eba3996579030703
* src/gpg-error.h.in (gpgrt_access): New.
* src/gpg-error.vers. src/gpg-error.def.in: Add new function.
* src/sysutils.c (any8bitchar): New.
(_gpgrt_access): New.
* src/visibility.c (gpgrt_access): New.
* src/spawn-w32.c (_gpgrt_spawn_process_detached): Use it.
* src/argparse.c (try_versioned_conffile): Use it.
* tests/t-stringutils.c (check_access): New simple test.
2020-10-09 Werner Koch <wk@gnupg.org>
w32: Support utf8 also for getcwd.
+ commit dbedf190969de1a796560cfa15fb4ea986bc79dc
* src/sysutils.c (_gpgrt_getcwd) [W32]: Implement utf-8 support.
* src/w32-gettext.c (wchar_to_native): Factor some code out to ..
(wchar_to_cp): new.
(_gpgrt_wchar_to_utf8): New.
* tests/t-stringutils.c: Include windows.h.
(utf8_to_wchar): New.
(wchar_to_utf8): New.
(mygetcwd): Use wchar version for Windows.
(main): New option --pwd.
2020-08-24 Werner Koch <wk@gnupg.org>
Release 1.39.
+ commit 59d9f8106db3a23cb5d51d01dc6b719413d3f760
2020-08-21 Werner Koch <wk@gnupg.org>
core,w32: Add UTF-8 support to gpgrt_fopen, gpgrt_mkdir and gpgrt_chdir.
+ commit a68c1975bda47b0698b48761a62e95b371095e9a
* src/protos.h: New.
* src/Makefile.am (libgpg_error_la_SOURCES): Add file.
* src/gpgrt-int.h: Include protos.h.
* src/sysutils.c (_gpgrt_mkdir) [W32]: Make UTF-8 aware.
(_gpgrt_chdir) [W32]: Ditto.
* src/w32-gettext.c: Include protos.h.
(utf8_to_wchar): Allow for strings.
(_gpgrt_utf8_to_wchar): New.
(_gpgrt_free_wchar): New.
* src/estream.c (map_w32_to_errno): Add more error codes.
(_gpgrt_w32_set_errno): New.
(any8bitchar) [W32]: New helper.
(func_file_create) [W32]: Convert file name and use _wopen.
2020-08-21 NIIBE Yutaka <gniibe@fsij.org>
argparse: Handle a corner case of wrong ARGC.
+ commit 87a6b28c0f3b6c5b38e0f8a8533df39d3f0c0f03
* src/argparse.c (arg_parse): Avoid null dereference when ARGC is wrong.
2020-08-17 Werner Koch <wk@gnupg.org>
Fix a current gcc's -fsanitize warning.
+ commit c5fcdd9a58a2508a20327226c52d155c29ddd5f3
* src/argparse.c (ARGPARSE_FLAG__INITIALIZED): Make sure it is an
unsigned int.
2020-08-11 Werner Koch <wk@gnupg.org>
core,w32: Use timeout in es_poll even if there are no FDs.
+ commit fd1340085bc6879436dd2882dc5178c133434675
* src/w32-estream.c (_gpgrt_w32_poll): Sleep if there are no handles
to wait for.
2020-08-05 Werner Koch <wk@gnupg.org>
Make --lib-version work again.
+ commit e0dab4843ded8af172c2566b4d7313a1a13e7e26
* src/gpg-error.c (main): Add printing code.
2020-08-03 NIIBE Yutaka <gniibe@fsij.org>
gpgrt-config: Fix handling 'Requires' field.
+ commit 4192cbc3c58589055de1fb5ccbe42f3d33adb0af
* src/gpgrt-config.in (get_attr_l): New.
(all_required_config_files): Use get_attr_l.
2020-07-15 NIIBE Yutaka <gniibe@fsij.org>
w32: Add gpgrt_fcancel to the definition.
+ commit c564d8c5a0e7c1aba9103cb4b6561b61074c60f1
* src/gpg-error.def.in (gpgrt_fcancel): Add.
2020-06-26 Werner Koch <wk@gnupg.org>
estream: Add gpgrt_fcancel.
+ commit 3413489d25577e3fe7f529b8e610a45d2bd1857c
* src/estream.c (do_close): Add arg 'cancel_mode' and chnage all
callers.
(_gpgrt_fcancel): New.
* src/gpg-error.def.in, src/gpg-error.vers: Add function.
* src/visibility.c (gpgrt_fcancel): New.
* src/gpg-error.h.in (gpgrt_fcancel): New.
2020-06-15 NIIBE Yutaka <gniibe@fsij.org>
build: Fix the gpg-error-config test for cross build.
+ commit 1a4c1f37a1c95a4cfcaab6df3364ee3515a1ea1b
* src/gpg-error-config-test.sh.in: Clear PKG_CONFIG_SYSROOT_DIR.
2020-06-12 NIIBE Yutaka <gniibe@fsij.org>
build: Fix command-line to make 'src 'dir.
+ commit 159e394920f6be822d771fe003498de4d93b07c3
* configure.ac: Mistake, then, fix it.
2020-06-11 NIIBE Yutaka <gniibe@fsij.org>
build: On cross build, detect host's objdump.
+ commit ce97528fa3dcc58d86e18d4d8820f210a624f63d
* configure.ac [*-*-linux*] (CROSS_HOST_OBJDUMP): New.
2020-06-03 David Michael <fedora.dm0@gmail.com>
build: Fix cross-compiling into a separate build dir.
+ commit 013720333c6ec1d38791689bc49ba039d98e16b3
* configure.ac: Create the src directory before writing into it.
* src/Makefile.am (EXTRA_DIST): Add gen-lock-obj.sh.
2020-05-29 Werner Koch <wk@gnupg.org>
Release 1.38.
+ commit 71d278824c5fe61865f7927a2ed1aa3115f9e439
2020-05-29 Yuri Chornoivan <yurchor@ukr.net>
po: Update Ukrainian translation.
+ commit 1143b2d3619939a60f47af75be2123f3b225b32b
2020-05-29 Ineiev <ineiev@gnu.org>
po: Update and proofread Russian translation.
+ commit a6104a9ab717499d405ff2af61a928a08774466a
2020-05-19 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
syscfg: add 64-bit big-endian MIPS architecture.
+ commit 0db8c768843db3e85935b972f1ed9d1b98159c46
* src/syscfg/lock-obj-pub.mips64-unknown-linux-gnuabi64.h: new.
* src/Makefile.am (lock_obj_pub): Add it.
2020-04-09 NIIBE Yutaka <gniibe@fsij.org>
build: Use gen-lock-obj.sh script when possible.
+ commit 988211d3d4c1f3d5cfa6b460210f65ab636763b5
* configure.ac (HAVE_GENERATED_LOCK_OBJ_H): New.
* src/Makefile.am: Support HAVE_GENERATED_LOCK_OBJ_H.
build: Add a shell script to generate lock-obj-pub.h.
+ commit 50e62b36ea01ed25d12c443088b85d4f41a2b3e1
* src/gen-lock-obj.sh: New.
2020-04-03 Werner Koch <wk@gnupg.org>
core: Improve the echo and info meta commands of the arg parser.
+ commit 98d11eff669c042d381ee4f18a42d32bcab256ef
* src/argparse.c (handle_meta_echo): Substitue some vars.
(handle_meta_user): Factor some code out to ...
(assure_username): new.
core: Implement meta command [user] also for Windows.
+ commit ef07aedc70992742fcef92811345670777a3047b
* src/argparse.c (initialize): Clear username.
* src/sysutils.c (_gpgrt_getusername): Implement for Windows.
core: Implement meta command [user] for the arg parser.
+ commit d843d260f5502ba90a2a35dfe202439f32b0e9aa
* src/sysutils.c (_gpgrt_getusername): New.
* src/argparse.c (struct _gpgrt_argparse_internal_s): New flags user_*
and store the current user.
(initialize): Free new malloced field. Clear new flags.
(handle_meta_user): Implement.
(handle_metacmd): Implement user sections. Remove "group" meta
command.
(_gpgrt_argparse): Implement user sections.
(finish_read_sys): Reset new vars.
2020-03-06 Werner Koch <wk@gnupg.org>
core: Tweak the printing of headers in the --help output.
+ commit 85b5006d01fc64763a6e1f0d6cbda91c5cb709c1
* src/argparse.c (show_help): Do not print empty sections between
headers.
core: Add features for pretty printing the help.
+ commit c59bf5824aafe938d5ab0d69079b9d93debc19fe
* src/gpg-error.h.in (ARGPARSE_OPT_HEADER): New.
(ARGPARSE_OPT_VERBATIM): New.
(ARGPARSE_verbatim): New.
(ARGPARSE_header): New.
* src/argparse.c (show_help): Implement them.
2020-03-03 Werner Koch <wk@gnupg.org>
core: New function gpgrt_reallocarray.
+ commit 969abd302211262562df93ae5412ee319aae69e6
* src/init.c (_gpgrt_reallocarray): New.
* src/visibility.c (gpgrt_reallocarray): New.
* src/gpg-error.vers, src/gpg-error.def.in: Add new function.
* src/gpg-error.h.in: Add new interface.
* tests/t-malloc.c: New.
* tests/Makefile.am (TESTS): Add new test.
core: Fix allocation bug introduced with last commit.
+ commit 72a15bad8f27303475498ce44e34d29b4c2c4593
* src/argparse.c (initialize): Increase number of extra slots.
2020-03-02 Werner Koch <wk@gnupg.org>
core: New internal option --dump-option-table for argparser.
+ commit db95feab16e32309a4bfb382827c495c2c49920c
* src/argparse.c (initialize): Add new internal option.
(arg_parse): Implement that option.
(dump_option_table): New.
(show_help): Remove exit and let the caller call my_exit.
core: Replace fputs by es_fputs in argparser.
+ commit f816797c87340a6130dea1e4f8f0e130511dfe3f
* src/argparse.c (writestrings): Use that function to match what we
are doing in flushstrings.
core: Allow returning of attributes from gpgrt_argparser.
+ commit d3661d81e9aafae75680164ede7322cf3d7b6804
* src/gpg-error.h.in (ARGPARSE_FLAG_WITHATTR): New.
(ARGPARSE_ATTR_FORCE): New.
(ARGPARSE_ATTR_IGNORE): New.
(ARGPARSE_TYPE_MASK): Moved from argparse.c to here.
* src/argparse.c: Always use macros for constants.
(_gpgrt_argparse): Handle ARGPARSE_FLAG_WITHATTR.
(arg_parse): Ditto.
* tests/t-argparse.c (main): Add commented test case.
2020-02-27 Werner Koch <wk@gnupg.org>
core: Implement meta commands for the argparser.
+ commit 2d1969ab465bad62f73a7c24ddc8bb490ff9fd40
* src/argparse.c (opttable_t): Add new flags forced, ignore, and
explicit_ignore.
(struct _gpgrt_argparse_internal_s): Change flags to bitflags. Add
several flags to support meta commands.
(initialize): Clear them.
(handle_meta_user): Use the new verbose flag.
(handle_meta_force): Implement.
(handle_meta_ignore): Implement.
(handle_meta_echo): Support "-echo".
(handle_meta_verbose): New.
(handle_metacmd): New meta command verbose. Add always flag and move
the detection of unexpected meta commands to here.
(_gpgrt_argparse): Make use of the ignore and forced meta commands.
(finish_read_sys): New.
(_gpgrt_argparser): Support the verbose flag. Call finish_read_sys.
(arg_parse): Ignore non-explicit ignored and all forced options.
* tests/t-argparse.c (main): Fix printing of the ARGPARSE_CONFFILE
case. New option 'M'.
* tests/t-argparse.conf, tests/etc/t-argparse.conf: Various changes to
test the new meta commands.
indent: Fix indentation in an argparse.c function.
+ commit ffa21bf5b7066f7fa437119ce6b508b324ea2611
* src/argparse.c (arg_parse): Fix it here.
2020-02-26 Werner Koch <wk@gnupg.org>
core: Add meta command handler stubs to argparse.c.
+ commit 2f169b341e410924c5d7ee7d76ac67f85f26ed6a
* src/argparse.c (handle_meta_user): New stub.
(handle_meta_force): New stub.
(handle_meta_ignore): New stub.
(handle_meta_echo): New.
(handle_metacmd): New.
(_gpgrt_argparse): Call meta command handler.
core: Prepare argparse.c to track additional info for options.
+ commit 9d268891dae6093e5346710a38ba8cd978f24f09
* src/argparse.c (opttable_t): New.
(struct _gpgrt_argparse_internal_s): Use this instead of a ppointer to
gpgrt_opt_t.
(initialize): Copy options to the new tableand keep an original ordinal.
(_gpgrt_argparse): Adjust for changes.
(any_opt_conffile): Ditto.
(find_long_option): Ditto.
(arg_parse): Ditto.
(long_opt_strlen): Adjust args.
(cmp_ordtbl): New.
(show_help): Print using the ordinal numbers.
2020-02-25 Werner Koch <wk@gnupg.org>
core: Add parser for meta commands to gpgrt_argparser.
+ commit 6fc2d7cb8ce9e08cb189608466803ee7c8eb6930
* src/gpg-error.h.in (ARGPARSE_INVALID_META): New
(ARGPARSE_UNKNOWN_META, ARGPARSE_UNEXPECTED_META): New.
* src/argparse.c (struct _gpgrt_argparse_internal_s): Add flag
insysconfig.
(initialize): Init flag. Add error strings.
(_gpgrt_argparser): Set that flag.
(_gpgrt_argparse): Add parsing of meta commands.
* tests/etc/t-argparse.conf: Add some test cases.
* tests/t-argparse.conf: Ditto.
* tests/t-argparse.c (main): Die only after printing all warnings.
core: Fold duplicated code from _gpgrt_argparse.
+ commit ca79d5edee8c6d93575708643ec825f81107e624
* src/argparse.c (_gpgrt_argparse): Fold common code.
core: Improve readability of _gpgrt_argparse.
+ commit 8c185e719860aaa93cc37c0ec91c7bd5e3c2a5ce
* src/argparse.c (_gpgrt_argparse): Use enum for the states and
replace continue and break.
core: New flag ARGPARSE_FLAG_USERVERS to try versioned config files.
+ commit e9f36cabe157aa046b32dfc0b9f5c175b9808722
* src/gpg-error.h.in (ARGPARSE_FLAG_USERVERS): New.
* src/argparse.c: Include unistd.h.
(try_versioned_conffile): New.
(_gpgrt_argparser): Use it.
core: New pseudo option ARGPARSE_PERMISSION_ERROR.
+ commit f25555aed0da7f0492b68efb789dbe3e03ec7fe8
* src/gpg-error.h.in (ARGPARSE_PERMISSION_ERROR): New.
* src/argparse.c (initialize): Add code to print this error.
2020-02-25 NIIBE Yutaka <gniibe@fsij.org>
w32: Fix exporting gpgrt_argparser.
+ commit 732ac9c681a0b6afdee2e8eb6937500850f74986
* src/gpg-error.def.in (gpgrt_argparser): Fix typo.
2020-02-22 Werner Koch <wk@gnupg.org>
core: Extend the way a config file can be specified,
+ commit b79b2a7fb3ad3ada45d17e8632f1ee4212ce0764
* src/argparse.c (PATHSEP_C, DIRSEP_C): New.
(is_absfname, is_twopartfname): New.
(_gpgrt_argparser): Allow for a two-part config name.
2020-02-20 Werner Koch <wk@gnupg.org>
core: Skip cmdline parsing for no or an empty argv.
+ commit 44258227f7dfb12b3c0faa8ab417a9dc2be46eed
* src/argparse.c (_gpgrt_argparser): Allow for empty argv. Also fix
memory leak.
2020-02-19 Werner Koch <wk@gnupg.org>
core: More fixes for the new option/argument parser.
+ commit 46b3749997da84c41f583b22cda812dd5e42bde0
* src/argparse.c (arg_parse): Always set opt_flags. New flag no_init.
(_gpgrt_argparse): Clear opt_flags at start.
(_gpgrt_argparser): Call arg_parse directly. Call arg_parse with
no_init set.
core: Some fixes for the new option/argument parser.
+ commit a264fe9c55251458df558718fae0845928bf225e
* src/argparse.c (ARGPARSE_FLAG__INITIALIZED): New.
(initialize): Use a flag bit to track the initialization state.
(_gpgrt_argparser): Clear some state on switching files.
2020-02-18 Werner Koch <wk@gnupg.org>
core: Add a high level option/argument parser.
+ commit 933eb9346a84c87f83f77d990be2f66e2f7b62e7
* gpg-error.h.in (GPGRT_CONFDIR_USER, GPGRT_CONFDIR_SYS): New consts.
(ARGPARSE_FLAG_SYS, ARGPARSE_FLAG_USER, ARGPARSE_FLAG_VERBOSE)
(ARGPARSE_NO_CONFFILE, ARGPARSE_CONFFILE, ARGPARSE_OPT_CONFFILE): New
consts.
(ARGPARSE_conffile, ARGPARSE_noconffile): New macros.
(gpgrt_set_confdir): New func.
(gpgrt_argparser): New func.
* src/argparse.c (confdir): New var.
(enum argparser_states): New.
(struct _gpgrt_argparse_internal_s): Add a couple of new fields.
(initialize): Init them.
(any_opt_conffile): New.
(_gpgrt_argparser): New.
(_gpgrt_set_confdir): New.
* src/visibility.c (gpgrt_argparser): New.
(gpgrt_set_confdir): New.
* src/gpg-error.def.in, src/gpg-error.vers: Add those functions.
* tests/t-argparse.c (main): Reworked.
* tests/etc/t-argparse.conf: New file.
* tests/t-argparse.conf: New file.
core: Add gpgrt_fnameconcat and gpgrt_absfnameconcat.
+ commit 5742b8eaf3fa9cda3dfb6b3ad0fea7485fff1a12
* src/gpg-error.h.in (gpgrt_fnameconcat): New.
(gpgrt_absfnameconcat): New.
* src/visibility.c (gpgrt_fnameconcat, gpgrt_absfnameconcat): New.
* src/stringutils.c: New file.
(_gpgrt_vfnameconcat): New.
(_gpgrt_fnameconcat, _gpgrt_absfnameconcat): New.
* src/gpg-error.def.in: Add new functions.
* src/gpg-error.vers: Ditto.
* src/sysutils.c: Include pwd.h.
(_gpgrt_getpwdir): New.
* configure.ac: Test for pwd.h, getpwnam, getpwuid, and their _r
variants.
* src/Makefile.am (libgpg_error_la_SOURCES): Add new file.
* tests/t-stringutils.c: New.
* tests/t-common.h (xmalloc, xstrdup, xfree): New.
(die): Kludge to avoid compiler warnings.
2020-02-18 NIIBE Yutaka <gniibe@fsij.org>
w32: Support static link with -lws2_32.
+ commit a6ab8e3a710b899ecfb2ff518725314a1e0e64ff
* configure.ac (GPG_ERROR_CONFIG_LIBS_PRIVATE): New.
* src/Makefile.am (socklibs): Use GPG_ERROR_CONFIG_LIBS_PRIVATE.
* src/gpg-error.pc.in: Require @GPG_ERROR_CONFIG_LIBS_PRIVATE@.
2020-02-10 Werner Koch <wk@gnupg.org>
logging: Also protect gpgrt_inc_errorcount against counter overflow.
+ commit d72c1ddfde09ffa69745ec2439c5a16d15e2202f
* src/logging.c (_gpgrt_inc_errorcount): Protect against counter
overflow.
(_gpgrt_logv_internal): Use that function here so that we have only
one check for counter overflow.
2020-02-07 Werner Koch <wk@gnupg.org>
Release 1.37.
+ commit 36b9924b483198f896c7ca3db233978978141b60
2020-02-06 Werner Koch <wk@gnupg.org>
tools: Allow error symbol lookup w/o the GPG_ERR_ prefix.
+ commit 796b66a9449c442991cc205f8a618dffab54d8a3
* src/gpg-error.c (get_err_from_codesymbol): New.
(main): Use it here.
build: Always pass -no-undefined to libtool.
+ commit 6e4b5ca624cb7f771c8dd1f12cbad851a5f0d782
* src/Makefile.am: Remove no_undefined macro.
2020-01-23 NIIBE Yutaka <gniibe@fsij.org>
po: Update Japanese Translation.
+ commit d1e4b4b001b3fd34b91403f880a42c4a474cdb83
2020-01-07 NIIBE Yutaka <gniibe@fsij.org>
build: Don't use -O0 which is not portable.
+ commit a2674207f7fef6d0f96b80838303a2e6a55e7785
* src/Makefile.am (mkheader): Remove -O0 option.
2019-12-13 Werner Koch <wk@gnupg.org>
New error codes for SQLite.
+ commit 308574372055662c76d27f1681b182afddce9166
* src/err-codes.h.in: Add GPG_ERR_SQL_ codes.
* src/gpg-error.h.in (gpg_err_code_from_sqlite): New.
2019-09-24 NIIBE Yutaka <gniibe@fsij.org>
Fix gpg-error.c for preprocessor use.
+ commit f73605e039493ca875f992a45730a6c99430fb14
* src/gpg-error.c (main): Fix conditional compilation.
2019-09-18 NIIBE Yutaka <gniibe@fsij.org>
tests: Fix deallocation of buffer in t-b64.c.
+ commit 46bb7eb8c5541d62cd90227bde205f663ef0e6d5
* tests/t-b64.c (test_b64dec_string): De-allocate.
gpgrt_setenv: Define behavior when value=NULL.
+ commit 4b8e8ba9f60cb6eb644be5f86b9c19ebf4332763
* src/sysutils.c (_gpgrt_setenv): Avoid call with value=NULL.
logging: Fix the case of using socket_dir_cb which may return NULL.
+ commit 521aeecf1e41e8e34bb354cf51bfd37ff7a900c6
* src/logging.c (fun_writer): Fix for socket_dir_cb.
estream: Care about erroneous case for stream close.
+ commit f41991480aaa79db55e75363dfbb4f278cb8ea21
* src/estream.c (do_list_remove): Only access ITEM->NEXT when it's not
null.
2019-09-10 Werner Koch <wk@gnupg.org>
core: Fix broken strings (first letter missing)
+ commit c1e80f6e8e368c271bbf413d9eaea772ef2062d1
src/err-codes.h.in (GPG_ERR_KEYBOXD): Add missing tabs.
2019-09-08 Werner Koch <wk@gnupg.org>
estream: Fix dead assigniment.
+ commit f7c24427329075adc98eb93d2abb12c087e0f9d2
* src/estream-printf.c (pr_string): Here.
2019-09-04 NIIBE Yutaka <gniibe@fsij.org>
gpgrt-config: Support Libs.private and Requires.private.
+ commit cb877252c4dc787755fb4e1ffc36757453af12eb
* src/gpgrt-config.in: Support Libs.private and Requires.private.
2019-08-23 NIIBE Yutaka <gniibe@fsij.org>
estream: Fix gpgrt_poll at EOF.
+ commit 157b9f6fafb6905fd94c21aaa9e2c103d954a9fc
* src/estream.c [HAVE_POLL_H] (_gpgrt_poll): Catch POLLHUP event
for want_read.
estream: Fix gpgrt_poll to prevent waiting indefinitely for others.
+ commit ab87480fc201ad687153429aee043ab454fed0a3
* src/estream.c (_gpgrt_poll): Go to leave, when something is ready.
2019-08-22 NIIBE Yutaka <gniibe@fsij.org>
estream: Fix poll condition.
+ commit fc1a7591bdcd64a3df1d2db29afca8e224f64c0a
* src/estream.c (_gpgrt_poll): Fix for want_oob.
2019-07-25 NIIBE Yutaka <gniibe@fsij.org>
w32: Fix cast to internal fd.
+ commit f93a0358dc82886db12c91180dc82e8bb1258ef0
* src/estream.c (tmpfd): Use intptr_t.
estream: Fix IS_INVALID_FD.
+ commit 5f9f2c32b038848212bec9d9a95858c18b9a0eee
* src/estream.c (IS_INVALID_FD): Simply compare to -1.
2019-07-24 NIIBE Yutaka <gniibe@fsij.org>
w32: Fix HANDLE to internal fd conversion.
+ commit 655ed9d83889bbb61d4b96755a2bd676622064c8
* src/spawn-w32.c (handle_to_fd): Use intptr_t type.
2019-07-18 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
build: Use {CFLAGS,CPPFLAGS, LDFLAGS}_FOR_BUILD for helper programs.
+ commit 732855a483709345a5c0f49504f45cb8da3f883a
* doc/Makefile.am: add CPPFLAGS_FOR_BUILD for yat2m-for-build (other
flags were already present).
* src/Makefile.am: add {CFLAGS,CPPFLAGS,LDFLAGS}_FOR_BUILD for
mkhelper, mkw32errmap, and mkerrcodes.
2019-07-11 NIIBE Yutaka <gniibe@fsij.org>
Fix signedness for a single-bit field.
+ commit 7ffab1750fdec31d6f6f62c3ff50f1a33eacda5c
* src/gpgrt-int.h (struct _gpgrt_b64state): Use unsigned for bit flags.
2019-06-27 Werner Koch <wk@gnupg.org>
estream: Add missing malloc check.
+ commit 382fddc151fd42cd6d1d02dbedb7b5031cc68958
* src/estream.c (_gpgrt_poll): Check for malloc error.
2019-06-27 NIIBE Yutaka <gniibe@fsij.org>
estream: Don't use variable length array.
+ commit 70a5ea407c71cf094794d3d3375aab7fc2c4eca6
* src/estream.c [HAVE_POLL_H] (_gpgrt_poll): No VLA.
2019-06-26 NIIBE Yutaka <gniibe@fsij.org>
estream: Use poll(2) when available.
+ commit a21a7de8c2cf986235382e7e04805744f6df116e
* configure.ac: Detect poll.h.
* src/estream.c [HAVE_POLL_H] (_gpgrt_poll): Use poll.
2019-06-18 NIIBE Yutaka <gniibe@fsij.org>
tests: Skip the test when pkg-config is too old.
+ commit 6c2fc52d72b4dbd9dac44d9c3105dc3e8a4d5605
* src/gpg-error-config-test.sh.in: Check pkg-config version.
build: Take care of POSIX shell path.
+ commit 7a7caf4ba1c460c9c36f754fcd0ebfeb4aa5cc6a
* configure.ac (INSTALLSHELLPATH): New.
* src/Makefile.am: Change invocation of gpg-error-config-test.sh.
* src/gpgrt-config.in (INSTALLSHELLPATH): To be substituted.
* src/gpg-error-config-test.sh.in: Likewise.
Portability fix for PID.
+ commit 10ae655db22321f0d6efb75f88e169b57ce63375
* src/spawn-posix.c (gpgrt_wait_processes): Cast to int.
build: Add failure exit for gpg-error-config build.
+ commit 849ac6abe3ce0001fb11cef0e26df0893468d238
* src/Makefile.am (gpg-error-config): Exit 1 on failure.
2019-05-29 NIIBE Yutaka <gniibe@fsij.org>
Detect to use strerror_s.
+ commit cd49ee71887cb2e7f2ca422fbc5c28f4bd92b3ca
* configure.ac [mingw32*] (strerror_s): Detect.
* src/strerror.c [HAVE_STRERROR_S] (system_strerror_r): Use strerror_s.
2019-05-14 NIIBE Yutaka <gniibe@fsij.org>
tests: Fix a memory leak.
+ commit bdb9561a366fa5afee0e855a22390e9282e1abd5
* tests/t-logging.c (check_log_info): Free LOGBUF.
2019-05-13 NIIBE Yutaka <gniibe@fsij.org>
build: Update m4/iconv.m4.
+ commit 07b1b3be179883cbd38446f38ae950f6d94a150b
* m4/iconv.m4: Update from gettext 0.20.1.
2019-04-15 NIIBE Yutaka <gniibe@fsij.org>
awk: Prepare for Gawk 5.0.
+ commit 7865041c77f4f7005282f10f9b6666b19072fbdf
* src/Makefile.am: Use pkg_namespace (instead of namespace).
* src/mkerrnos.awk: Likewise.
* lang/cl/mkerrcodes.awk: Don't escape # in regexp.
* src/mkerrcodes.awk, src/mkerrcodes1.awk, src/mkerrcodes2.awk: Ditto.
2019-03-19 Werner Koch <wk@gnupg.org>
Release 1.36.
+ commit 85f427fd28ae5947277ba02dffc83c53d9da2591
* configure.ac: Bump LT version to C27/A27/R0.
estream: Increase buffer size for Windows.
+ commit e4f460d8e338d6866a6ab457dcd811c63399706a
* src/gpgrt-int.h (BUFFER_BLOCK_SIZE) [W32]: Increase from 512 to 8k.
* src/w32-estream.c (READBUF_SIZE, WRITEBUF_SIZE): Increase from 4k to
8k.
2019-02-04 Werner Koch <wk@gnupg.org>
build: Fix for Microsoft MSVC.
+ commit 21dd885eecdee13da1689519e2fc50fcf64f6ef2
* src/gpgrt-int.h (_gpgrt_functions_w32_pollable): Declare with extern
so that strict toolchains don't get confused.
2019-01-23 NIIBE Yutaka <gniibe@fsij.org>
gpgscm: Build well even if NDEBUG defined.
+ commit 8a9397896fd202dcfb3fb46259e43bc05a0ddd2e
* gpgscm/scheme.c (gc_reservation_failure): Fix adding ";".
[!NDEBUG] (scheme_init_custom_alloc): Don't init seserved_lineno.
2019-01-16 Werner Koch <wk@gnupg.org>
Release 1.34.
+ commit 8bc75741cadf95e2fac64891cf402cde891afe64
* configure.ac: Bump LT version to C26/A26/R0.
build: Fix regression in make distcheck.
+ commit 5d2b20a04b526d090a2328bd79bc3a76ced327dc
* doc/Makefile.am (errorref.txt.x):
2019-01-15 NIIBE Yutaka <gniibe@fsij.org>
build: Fix for BSD make.
+ commit fd6f64f1897e00b1d9711463ebb6ec7d099e1995
* doc/Makefile.am (errorref.txt.x): Don't use $<.
2019-01-14 Andre Heinecke <aheinecke@gnupg.org>
Fix symbol name typo in gpg-error.def.in.
+ commit 51ea153871b79799f88b85f6b60c2b0a3bbd6a12
* src/gpg-error.def.in (gogrt_abort): Correct to gpgrt_abort.
2019-01-10 NIIBE Yutaka <gniibe@fsij.org>
build: Build with LD_LIBRARY_PATH, use of DT_RPATH (2/2).
+ commit 1fd997231b717853822dff9d3e981d95765f323d
* configure.ac (LDADD_FOR_TESTS_KLUDGE): New for --disable-new-dtags.
* tests/Makefile.am (LDADD): Use LDADD_FOR_TESTS_KLUDGE.
(t_lock_LDADD, t_poll_LDADD): Use LDADD.
build: Build with LD_LIBRARY_PATH, use of DT_RPATH (1/2).
+ commit 1044ee639dab7260da481250cd2a46a69ab2b5d3
* configure.ac: Check against --disable-new-dtags.
2019-01-04 Werner Koch <wk@gnupg.org>
core: New functions gpgrt_abort and gpgrt_add_emergency_cleanup.
+ commit 933bfd7b652a907c0d8dd5337c6b5b9cb82ce7b7
* src/init.c (emergency_cleanup_list): New gloabl var.
(_gpgrt_add_emergency_cleanup): New.
(_gpgrt_abort): New. Repalce all calls to abort by this. Also replace
all assert by either log_assert or a stderr output followed by a
_gpgrt_abort.
(run_emergency_cleanup): New.
* src/visibility.c (gpgrt_add_emergency_cleanup): New public API.
(gpgrt_abort): New public API.
2018-12-12 Werner Koch <wk@gnupg.org>
estream: Use correct POSIX name THOUSEP.
+ commit 12349de46d241cfbadbdf99773d6cabfcbc97578
* src/estream-printf.c: Replace HAVE_LANGINFO_THOUSANDS_SEP by
HAVE_LANGINFO_THOUSEP.
(pr_integer): Use THOUSEP.
2018-12-11 Alistair Francis <Alistair.Francis@wdc.com>
syscfg: Add a riscv32 architecture.
+ commit 27ded21fea2a6f1fc161a91744014cce711ad1b3
* src/syscfg/lock-obj-pub.riscv32-unknown-linux-gnu.h: New.
* src/Makefile.am (lock_obj_pub): Add it.
2018-12-10 NIIBE Yutaka <gniibe@fsij.org>
gpgrt-config: Portability fix for use of expr.
+ commit 1d71dbb13709318567aba5b61928d8af37563097
* src/gpgrt-config (sysroot): Care about possible interpretation of
minus sign be considered an option to a program.
(MAIN): Don't use 'match' of expr but use ':' instead.
2018-12-07 Werner Koch <wk@gnupg.org>
Silence cc warning about snprintf redefinition.
+ commit 60f3d4440249d7beec3390df66143204ea80be39
* src/gpgrt-int.h: First undef snprintf.
Release 1.33.
+ commit 174985d91ff277bd4a58a0de3d61fbbb46841cde
* configure.ac: Set LT version to C25/A25/R0.
Add W32-only function gpgrt_w32_override_locale.
+ commit 0b190ce89de7b3df873c3896d5126c7882b82e18
* src/w32-gettext.c (struct override_locale): new.
(my_nl_locale_name): Take care of that.
(gpgrt_w32_override_locale): New.
* src/gpg-error.def.in: Add gpgrt_w32_override_locale.
* src/gpg-error.c: New command --locale for Windows.
2018-12-06 Werner Koch <wk@gnupg.org>
logging: Escape controls in string arguments of log_ functions.
+ commit b7fae45c24cccb9898c6d5a3a633897afb4649dc
* src/logging.c (struct fmt_string_filter_s): New.
(fmt_string_filter): New.
(_gpgrt_logv_internal): Use the filter.
2018-12-05 Werner Koch <wk@gnupg.org>
core: Allow logging to an estream.
+ commit f4d139b399e1e5044fe6bb0ceecd4c72e63dac94
* src/logging.c (set_file_fd): Add and use new arg 'stream'.
(_gpgrt_log_set_sink): Implement setting an estream sink.
* tests/t-logging.c: New test.
* tests/Makefile.am (TESTS): Add test.
tests: Check print arguments of t-common functions.
+ commit 793838fd859afd837df070ee2e75c100e932b220
* tests/t-common.h: Include gpgrt.h instead of gpg-error.h.
(die, fail, show): Add printf attributes.
2018-12-05 Marcus Brinkmann <marcus.brinkmann@rub.de>
Fix gpgrt_ftruncate declaration.
+ commit 34d6637a34b139fbfafa6c15eaf2fc88158a1c3c
2018-11-26 Werner Koch <wk@gnupg.org>
core: New functions gpgrt_fprintf_sf anf gpgrt_fprintf_sf_unlocked.
+ commit bd8668c120ac0f725edb092b2c4ca49ffdb78ed2
* src/gpg-error.h.in (gpgrt_string_filter_t): New type.
(gpgrt_fprintf_sf, gpgrt_fprintf_sf_unlocked): New.
* src/gpg-error.vers, src/gpg-error.def.in: Add them.
* src/visibility.c (gpgrt_fprintf_sf): New.
(gpgrt_fprintf_sf_unlocked): New.
* src/estream-printf.c (pr_string): Add and use args sf, sfvalue and
string_no.
(do_format): Add args sf and sfvalue. Keep a string format counter.
(_gpgrt_estream_format): Add args sf and sfvalue. Change all callers
to provide NULL for them.
* src/estream.c (_gpgrt_vfprintf_unlocked, _gpgrt_vfprintf): Add sf
and sfvalue and adjust all callers.
(do_print_stream): Ditto.
* tests/t-printf.c (stream_to_string): New.
(struct sfstate_s): New.
(string_filter): New.
(check_fprintf_sf): New.
(main): Call new test.
core: Add a limited version of gpgrt_ftruncate.
+ commit ffb49b72f132d954a3d9fa11e45803c36a62fd25
* src/gpg-error.h.in (gpgrt_ftruncate, es_ftruncate): New.
* src/gpg-error.def.in, src/gpg-error.vers: Add gpgrt_ftruncate.
* src/visibility.c (gpgrt_ftruncate): new.
* src/gpgrt-int.h (COOKIE_IOCTL_TRUNCATE): New.
* src/estream.c (func_mem_ioctl): Support new internal IOCTL.
(_gpgrt_ftruncate): New.
2018-11-15 Werner Koch <wk@gnupg.org>
core: New API gpgrt_cmp_version.
+ commit a5d4a4b32b11814d673241d62624ecec1d577571
* src/gpg-error.h.in: New API gpgrt_cmp_version.
* src/visibility.c (gpgrt_cmp_version): New wrapper.
* src/version.c (parse_version_string): Revamped.
(do_cmp_version): New.
(_gpgrt_cmp_version): New.
(_gpg_error_check_version): Re-implemented using the new func.
* tests/t-version.c: Include t-common.h.
(t_gpgrt_cmp_version): New test.
(main): Run new test. Change test for new version number to require a
2 level number.
2018-11-14 NIIBE Yutaka <gniibe@fsij.org>
gpgrt-config: Prepend PKG_CONFIG_LIBDIR to PKG_CONFIG_PATH.
+ commit 4a92763a6e529824f1c6043b75ac1346af41a926
* src/gpgrt-config: Handle empty PKG_CONFIG_LIBDIR config, which
should ignore --libdir option. Otherwise, prepend
PKG_CONFIG_LIBDIR (instead of appending) to PKG_CONFIG_PATH.
2018-11-13 NIIBE Yutaka <gniibe@fsij.org>
Fix typo in the annotation.
+ commit 4b41cf3bd16c8afcb4ba152ab9d5d679a7cb91e7
* src/init.c [DLL_EXPORT] (DllMain): Fix typo.
gpgrt.m4: Don't support --with-*-prefix or SYSROOT.
+ commit 8ed48537de2b141a8f2050b15a65775374f1aa79
* src/gpgrt.m4: Remove old backward compatible support.
2018-11-07 NIIBE Yutaka <gniibe@fsij.org>
Fix a typo.
+ commit b39b44b9acbed6d4889acba4fe9eae2556c80acc
* src/spawn-w32.c (src/spawn-w32.c): Fix to use pid_to_handle.
2018-11-02 NIIBE Yutaka <gniibe@fsij.org>
gpgrt-config: Don't support variable reference in --libdir option.
+ commit 78af09ce13969b64f121ae5990e66fb7f1cd3f1d
* src/gpgrt-config: Simplify --libdir support, remove variable
substituion.
* src/gpg-error.m4: Expand possible ${prefix}, ${exec_prefix} in
libdir. Simplify invocation of gpgrt-config.
* src/gpgrt.m4: Likewise.
gpg-error.m4: Emit message when using gpgrt-config.
+ commit 42413de59a063def05620d899a7fbda265b6c406
* src/gpg-error.m4: Add AC_MSG_NOTICE.
gpg-error.m4: Find gpgrt_libdir by CC.
+ commit 7ffd88b0e98af21aa61a57dde042d75f0d403839
* src/gpg-error.m4 (gpgrt_libdir): New. Bump the version date.
* src/gpgrt.m4: Likewise.
2018-11-01 NIIBE Yutaka <gniibe@fsij.org>
gpg-error.m4: Unset GPGRT_CONFIG when gpgrt-config doesn't work.
+ commit 8f034bb3a1bbde2fc7a8d2ada6e3d779c465895b
* src/gpg-error.m4: Unset GPGRT_CONFIG when gpgrt-config doesn't work.
gpgrt-config: It's distributed script.
+ commit 998313bd321ae161ec58111ccc6c6f0921007bc5
* src/Makefile.am (dist_bin_SCRIPTS): Add gpgrt-config.
(bin_SCRIPTS): Remove gpgrt-config.
2018-10-31 Andre Heinecke <aheinecke@intevation.de>
w32: Remove cruft in w32-estream from olden times.
+ commit 5b898b8bc89c18e2fd02e6c9efd5e91cb96357cc
* src/w32-io.c (set_synchronize): Remove.
(create_reader, create_writer): No need for set_synchronize.
2018-10-31 NIIBE Yutaka <gniibe@fsij.org>
gpgrt-config: Fix typo in the script.
+ commit 2e9ee747ac81434ca542291287eb56c9025f0a39
* src/gpgrt-config: Add missing $ for libdir_option.
2018-10-29 NIIBE Yutaka <gniibe@fsij.org>
gpgrt-config: Better architecture independent support.
+ commit 93d45f7e7e937020c796781705516a4b62e6589a
* configure.ac: Don't generate gpgrt-config.
* src/gpgrt-config: Rename from gpgrt-config.in.
(--prefix, --exec-prefix, --libdir): Use --libdir to determine
PKG_CONFIG_LIBDIR.
* src/Makefile.am (EXTRA_DIST): Remove gpgrt-config.in.
* src/gpg-error-config-test.sh: Fix for path to gpgrt-config.
* src/gpg-error.m4: Provide --prefix, --exec-prefix, --libdir
option from configure. Don't use CC because we have --libdir.
Bump version date.
* src/gpgrt.m4: Likewise.
2018-10-27 Ben Kibbey <bjk@luxsci.net>
b64dec: Fix to use custom memory handlers.
+ commit b229ed40e2653bd3eabaa6931cd8582280a226d7
* src/b64dec.c (_gpgrt_b64dec_finish): Use xfree().
2018-10-26 NIIBE Yutaka <gniibe@fsij.org>
gpgrt-config: Clean up the implementation.
+ commit aec676c9ca2da4feb2970f6ce036179afe778b25
* src/gpgrt-config.in: Fix copyright notice.
(--exists): Support new option of pkg-config.
(--mt): Relax usage.
(--api-version): Support old option.
(default_module): New.
(usage): Only show pkg-config compatible options.
gpg-error.m4: Better backward compatibility support.
+ commit 1096ff770b3d5cc58f423b129cc5d83731398dd9
* src/gpg-error.m4: Don't assume newer implementation of
gpg-error-config. Use old way when it found old.
2018-10-25 NIIBE Yutaka <gniibe@fsij.org>
gpg-error-config: Keep old gpg-error-config implementation.
+ commit ffbff048bde636e3ec19f2912fa4034e70e18f44
* configure.ac: Generate gpgrt-config from gpgrt-config.in.
* src/gpgrt-config.in: Rename from src/gpg-error-config-new.in.
* src/Makefile.am (bin_SCRIPTS): Add gpgrt-config.
(EXTRA_DIST): Add gpgrt-config.in removing gpg-error-config-new.in.
(BUILT_SOURCES, CLEANFILES): Remove gpgrt-config.
(gpg-error-config): Always copy from gpg-error-config-old.
* src/gpg-error-config-test.sh: Follow the rename.
build: Set GPGRT_CONFIG in gpg-error.m4.
+ commit e06af32bdde0b4ce8c97193472961f31c5b55ddf
* src/gpg-error.m4: Detect gpgrt-config to set GPGRT_CONFIG.
build: Update gpg-error.m4 and gpgrt.m4.
+ commit abc641f27cf712dec572b6629552b6a6f0b7af27
* src/gpg-error.m4: Bump version date.
(min_gpg_error_version): Require >= 1.33, if not specified.
(gpg_error_config_args): Remove bogus uses.
* src/gpgrt.m4: Bump version date.
(libgpgrt-prefix): Add support of --with-libgpgrt-prefix option.
(gpgrt-config): Search/call gpgrt-config instead of gpg-error-config.
(min_gpgrt_version): Require >= 1.33, if not specified.
(gpgrt_config_args): Remove bogus uses.
2018-10-24 NIIBE Yutaka <gniibe@fsij.org>
gpg-error-config: Fix previous commit.
+ commit 184c22bea37d2bee3885ef96c1a3664361b02912
gpg-error-config: Old gpg-error-config support --modversion.
+ commit 6d8b1e958ca96b366daac38e7084f999d252a9f8
* src/gpg-error-config.in: Support --modversion.
gpg-error-config: Get var/attr from the first package.
+ commit 7b81ec272b0c54ac893c09be4715b76e84c27b23
* src/gpg-error-config-new.in: Only get it from the first.
2018-10-23 NIIBE Yutaka <gniibe@fsij.org>
build: Fix permission.
+ commit 25ea85066cf100e3381f7f7b2d8858a7dfcea480
* build-aux/config.guess: Chmod +x.
* build-aux/config.sub: Chmod +x.
build: Fix detecting build on multiarch environment.
+ commit 00e955558c66f80acad9225d2eae82459d87dc54
* configure.ac: Rough match by shell pattern.
build: Supply CC to invoke gpg-error-config.
+ commit f575b2fd3f733d78fb61b04805ea63ce65d89e19
* src/gpg-error.m4: Add CC when invoking gpg-error-config.
* src/gpgrt.m4: Likewise.
gpg-error-config: Fix cross build support.
+ commit 40e22c774afebca23fdaa6dec2b8698572501c32
* configure.ac: Fix regexp matching multiarch environment.
* src/gpg-error-config-new.in: Support standard cross build.
Handle the case where $multiarch != $triplet.
2018-10-22 NIIBE Yutaka <gniibe@fsij.org>
yat2m: Avoid compiler warnings.
+ commit 12b834ba59ae2f3cd0568e4cfa1dca47fc41269a
* doc/yat2m.c (isodatestring): Prepare enough buffer.
gpg-error-config: Support "auto", architecture independent script.
+ commit 91bcb2c7d824de50c7dfedd4490e515ddb5dfc5a
* configure.ac (pkg_config_libdir): Set it "auto" when it looks
multiarch environment.
* src/gpg-error-config-new.in: Automatically detects the triplet.
build: Update config.{guess,sub} to {2018-08-29,2018-08-29}.
+ commit 6d2e0546d50a0d4511fb7167566bfd0058a68f38
* build-aux/config.guess: Update.
* build-aux/config.sub: Update.
2018-10-19 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
build-aux: use https instead of http.
+ commit e99480affa595702595e59333aca96ab28389d34
2018-10-17 NIIBE Yutaka <gniibe@fsij.org>
gpg-error-config: Fix PKG_CONFIG_LIBDIR support.
+ commit d8cf57c35d4627fa28588d6ec385fcffbc5a01a0
* configure.ac (pkg_config_libdir): New.
* src/gpg-error-config-new.in: Use pkg_config_libdir.
2018-10-16 NIIBE Yutaka <gniibe@fsij.org>
gpg-error-config: Support PKG_CONFIG_LIBDIR.
+ commit e9566da20cf9428e3094cbd63277ea2179459232
* src/gpg-error-config-new.in: Use PKG_CONFIG_LIBDIR if specified.
2018-10-12 Wookey <wookey@debian.org>
Wookey <wookey@debian.org>
syscfg: Add support for arm64ilp32.
+ commit a3f4e8838036a14e87cca811e40c9f670f152fcd
* src/syscfg/lock-obj-pub.aarch64-unknown-linux-gnu_ilp32.h: New.
* src/Makefile.am (lock_obj_pub): Add it.
2018-10-10 NIIBE Yutaka <gniibe@fsij.org>
gpg-error-config: Fix the place of *.pc (for multilib).
+ commit 9f71b28dcb38e1d5d9001692e2f64009396aaf9b
* src/Makefile.am (pkgconfigdir): It should be under libdir.
* src/gpg-error-config-new.in: Likewise.
gpg-error-config: Add PKG_CONFIG_SYSROOT_DIR support.
+ commit 6167f3c461a4e53ccc5af620cdbfa28bfa9234f5
* src/gpg-error-config-new.in (sysroot): New function.
(want_cflags, want_libs): Use sysroot.
* src/gpg-error-config-test.sh: Test with PKG_CONFIG_SYSROOT_DIR.
2018-09-21 Werner Koch <wk@gnupg.org>
syscfg: Add support for arc-unknown-linux-gnu.
+ commit f4f0da74f526d7e35cedbc2e93454df6440dbfa5
* src/mkheader.c (canon_host_triplet): Add to table.
core: Make cross building in mkheader more explicit.
+ commit b371e3ca906e6a4db31900d419ddc2b21bed1ea3
* src/mkheader.c (main): Add option --cross.
(write_special): Don't use native in cross mode.
* src/Makefile.am (mkheader_opts): New.
(gpg-error.h): Add MKHEADER_OPTS.
core: Simplify calling convention of mkheader.
+ commit 3fc4ce49b23a364a1cf255c8e9e259047206e1e8
* src/Makefile.am (gpg-error.h): Remove HOST_OS from mkheader call.
* src/mkheader.c (canon_host_triplet): Add return arg r_os.
(main): Remove first arg and derive host_os from host_triplet.
2018-09-20 NIIBE Yutaka <gniibe@fsij.org>
src: Fix portability for echo.
+ commit 15309d0fb4c78f8de9bc5dea7d0f8b7468a957b4
* src/Makefile.am: Use ECHO_N and ECHO_C.
gpg-error-config: Remove white space for the output by old.
+ commit d510f38ccbc715faa8e07828bf6acd8e9b9a0658
* src/gpg-error-config-test.sh: Remove white spaces at the
end or at the beginning.
gpg-error-config: Use expr to remove var in expression.
+ commit a338801aa4bac9a3551729598bcb0ca41882cdb9
* src/gpg-error-config-new.in (remove_var_expr): Use expr.
gpg-error-config: Fix a variable name for zsh.
+ commit 4c2601a95f06efd352ad407add71a7ea6bab8152
* src/gpg-error-config-new.in (module_list): Rename from modules.
gpg-error-config: Don't use local variables.
+ commit 5731ad6377abcd3d36fd6aa59923a640b25b589b
* src/gpg-error-config-new.in: Use global variables only.
gpg-error-config: Avoid more space char.
+ commit 95ab4d037ce2b69754c0542949bf7d9d2467d96b
* src/gpg-error-config-new.in: Don't put more space.
2018-09-19 NIIBE Yutaka <gniibe@fsij.org>
src: Fix Makefile for BSD make.
+ commit 144f4b3df5200ce056f00e20420cde77eb1f673d
* src/Makefile.am (BUILT_SOURCES): Add srcdir to err-sources.h and
err-codes.h.
(CLEANFILES): Move err-sources.h and err-codes.h to...
(MAINTAINERCLEANFILES): ... this new target.
(gpg_error_LDADD): Remove ./ to generate libgpg-error.la.
Accept pkgconf difference for spaces.
+ commit 5564efac95e9546af948fc13c90584264b322950
* src/gpg-error-config-test.sh (OUTPUT_OLD): Use shell
and echo to remove spaces.
2018-09-18 Werner Koch <wk@gnupg.org>
syscfg: Support ARC CPUs and simplify aliasing table.
+ commit 48c8f8ddfc80551db7615e1eb3555c1dc3f6a657
* src/mkheader.c (xmalloc): New.
(xstrdup): Implement using xmalloc.
(canon_host_triplet): Add supporr for arc CPU. Adjust alias table to
also alias *-pc-*. Rename ibm to unknown. Add internal arg. Add
unknown vendor hack.
(main): New mode to just print the canonicalized form.
* src/Makefile.am (lock_obj_pub): s/-(pc|ibm)-/-unknown/. Also rename
files accordingly.
2018-09-11 NIIBE Yutaka <gniibe@fsij.org>
Make gpg-error-config compatible to pkg-config.
+ commit 78b679a778ddf37b8952f1808fd8c52cc8163f17
* configure.ac (AC_CONFIG_FILES): Generate src/gpg-error.pc, as well
as src/gpg-error-config-old and src/gpg-error-config-new.
* src/Makefile.am (pkgconfigdir, pkgconfig_DATA): New.
(EXTRA_DIST): Add gpg-error-config-new.in, gpg-error-config-test.sh,
and gpg-error.pc.in.
(CLEANFILES): Add gpg-error-config gpg-error-config-test.log.
(TESTS): New.
(gpg-error-config): New target.
* src/gpg-error-config-new.in: New.
* src/gpg-error-config-test.sh: New.
* src/gpg-error.pc.in: New.
* src/gpg-error.m4 (GPG_ERROR_MT_CFLAGS): Use --variable.
(GPG_ERROR_MT_LIBS, gpg_error_config_host): Likewise.
2018-09-06 NIIBE Yutaka <gniibe@fsij.org>
gpgscm: Suppress warnings for GCC > 6.
+ commit b2aba1bec151d6e6cbf66359a30ba2ff458fc138
* tests/gpgscm/scheme.c (CASE): Use unused attribute for GCC > 6.
(FALLTHROUGH): New for fallthrough.
(Eval_Cycle): Use FALLTHROUGH. Remove not-needed comment of
fallthrough.
po: Fix the previous commit.
+ commit 2148e19fbefa9c5d5cdc4982cd2043136c31fb64
2018-09-05 NIIBE Yutaka <gniibe@fsij.org>
po: Update Japanese Translation.
+ commit cb0113f4690ed130c55ef4c6d8699ebc051e957e
gpg-error-config: Forward compatibility support.
+ commit 61d78fdc25e5ff9289697c141457d8d322232250
* src/gpg-error-config.in: Support --variable=* option.
2018-09-04 NIIBE Yutaka <gniibe@fsij.org>
gpg-error-config: Determine output at configure time.
+ commit aa697dae4c363b3d24ec9be3a0cd41df3bf806ce
* src/gpg-error-config.in (isubdirafter): Remove.
Also for --cflags and --libs.
* configure.ac (GPG_ERROR_CONFIG_ISUBDIRAFTER): Remove.
(GPG_ERROR_CONFIG_CFLAGS): Add -idirafter gpg-extra for W32CE.
(GPG_ERROR_CONFIG_CFLAGS): Decide here if adding -I$includedir.
(GPG_ERROR_CONFIG_LIBS): Decide here if adding -L$libdir.
2018-07-17 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
build: use EXEEXT_FOR_BUILD everywhere.
+ commit 19f9902b004cb980de4da908fa571103bfe2b630
* src/Makefile.am: Use EXEEXT_FOR_BUILD with all build tools.
<michael.haubenwallner@ssi-schaefer.com>
2018-07-12 Werner Koch <wk@gnupg.org>
Release 1.32.
+ commit 7b08307ff25b757ed2502cb2bf7893640e404ad1
estream: Always propagate flush event to cookie functions.
+ commit bd5bcd2dd19ef0b1c3d33a3a388b537ba08a4eb6
* src/estream.c (flush_stream): Always call cookie's flush func.
2018-07-11 NIIBE Yutaka <gniibe@fsij.org>
build: Use AX_CC_FOR_BUILD and EXEEXT.
+ commit 0727c394562237d7e626849eae04790264e56208
* configure.ac (AX_CC_FOR_BUILD): New.
* doc/Makefile.am: Use EXEEXT and EXEEXT_FOR_BUILD.
* m4/ac_prog_cc_for_build.m4: Remove.
* m4/ax_cc_for_build.m4: New.
doc: Now, yat2m is a standard tool.
+ commit f1162767e3552d05c1255497d49de15c2d94d0b4
* configure.ac (YAT2M, HAVE_YAT2M): Remove.
* doc/Makefile.am: Always use yat2m which comes with this source.
2018-07-10 NIIBE Yutaka <gniibe@fsij.org>
build: Remove version_parts in autogen.sh.
+ commit 302d43a130e2364ea882474088a8b0a31bc325b9
* autogen.rc (version_parts): Remove.
* autogen.sh: Determine by $micro argument.
2018-07-05 Werner Koch <wk@gnupg.org>
Remove leftover debug output from gpg-error.
+ commit 1ac63f630cbe1b558ebe20b746bbe4962117d36f
* src/gpg-error.c (main): Remove a log_debug.
2018-07-05 Yuri Chornoivan <yurchor@ukr.net>
po: Update Ukrainian translation.
+ commit 8a72604dc44d36790669e6e591c12cc0b6e057bd
2018-07-05 Andre Heinecke <aheinecke@intevation.de>
core: Initialize values in estream_format.
+ commit fe2f8fca3114e3a5727fdbbc5e7ebc4e442d0401
* src/estream-printf.c (_gpgrt_estream_format): Make sure
valuetable.value is inialized even on stack.
2018-05-30 Ineiev <ineiev@gnu.org>
po: Update Russian translation.
+ commit 043a91b8cd4bb71cb96086b51d6bc1b1a1821a41
2018-05-30 Werner Koch <wk@gnupg.org>
core: Fix problem with C11 and stdnoreturn.h.
+ commit 3eee9efc46f983fe0bf474c814944fef93a2a1b7
* src/gpg-error.h.in (GPGRT_ATTR_NORETURN): Use gcc specific symbol name
__noreturn__.
2018-05-03 Andre Heinecke <aheinecke@intevation.de>
doc: Fix yat2m name for native w32 build.
+ commit 6eb80abcde5ad776379069871e4156b28ef69712
* doc/Makefile.am: Handle not cross compiling but building for
windows.
2018-05-02 Werner Koch <wk@gnupg.org>
Release 1.31.
+ commit 10a984d25048a09d1c489224bae866372e8066a1
* configure.ac: Set LT version to C24/A24/R2.
2018-05-01 Werner Koch <wk@gnupg.org>
core,w32: Avoid recursive use of npth_unprotect.
+ commit b26a227173e8e9b91be14f06ee781c6e214e50ff
* src/w32-estream.c (reader): Use standard free.
(writer): Ditto.
2018-05-01 emma peel <emma.peel@riseup.net>
po: new Spanish translation.
+ commit 7e2517a29619c35257b38aa137b6772e471d7e4e
2018-04-30 Werner Koch <wk@gnupg.org>
Release 1.30.
+ commit cac048bf8454ade95a905f9d3840b1ec284fce20
* configure.ac: Bump LT version to C24/A/24/R1.
build: More release creation automation.
+ commit d1d4c4f8eb9830bfb671054e1558342106ba9d8d
* Makefile.am: Add release and sign-release targets.
core: Fix gpgrt_poll for Windows under nPth.
+ commit 4f45f3e0bb404b4a9787cb55ca154c6f60c1437b
* src/estream.c (_gpgrt_poll) [W32]: Use syscall clamp.
2018-04-13 NIIBE Yutaka <gniibe@fsij.org>
doc: Fix yat2m build for cross compilation.
+ commit 792877a08ca7bc9d1377161dc9af374602a394cc
* doc/Makefile.am: Fix target of yat2m-for-build.
2018-04-12 NIIBE Yutaka <gniibe@fsij.org>
build: Check -lsocket -lnsl for Solaris.
+ commit e35749023ca68de6f1f85d3072f7b36fd6f6fe7c
* configure.ac: Check inet_addr for -lnsl, and socket for -lsocket.
2018-04-11 Damien Goutte-Gattat via Gnupg-devel <gnupg-devel@gnupg.org>
build: Make sure version.texi is generated in time.
+ commit 8ef76d9373db16f1ca176f9c87c8dac2758c8b85
[[PGP Signed Part:Good signature from AA4373E6C82C78AD Damien Goutte-Gattat <dgouttegattat@incenp.org> (trust undefined) created at 2018-04-11T17:05:27+0200 using RSA]]
[1. text/plain]
* doc/Makefile.am (yat2m-stamp): Depend on version.texi.
2018-04-11 Werner Koch <wk@gnupg.org>
Release 1.29.
+ commit c3825327da826e434ada9abde34e6bbd7ef61737
* configure.ac: Bump LT version to C24/A24/R0.
core: Finalize the API for argparse.
+ commit e901c9fb04f5a96ba2bd49225b396ce7857a3782
* src/gpg-error.h.in (ARGPARSE_end): Simplify.
* src/argparse.c (_gpgrt_argparse_internal_s): Add field opts.
(deinitialize): Release new field.
(initialize): Add arg opts and create a copy of the option list. Add
the internal options.
(_gpgrt_argparse): Rename arg opts to opts_orig and set new local var
opts. Adjust all references to opts.
(find_long_option): Adjust for chnaged type of OPTS. Re-indent.
(arg_parse): Remove internal option assignment. Rename arg opts to
opts_orig and set new local var opts. Adjust all references to opts.
(show_help): Adjust all references to opts.
2018-03-27 NIIBE Yutaka <gniibe@fsij.org>
doc: Support cross compilation for yat2m.
+ commit efc4769339d42a4a399c040c146cf4a29c02ea4f
* configure.ac (HAVE_YAT2M): New.
* doc/Makefile.am [CROSS_COMPILING]: Supported.
2018-03-22 Werner Koch <wk@gnupg.org>
build: Add option --git-build to autogen.sh.
+ commit 1b30d21c8780f5510815d4fb2523afad9fff85dc
yat2m: Avoid compiler warnings.
+ commit 30621ee4c13006d08881994c32c89f60604c0188
* doc/yat2m.c (evaluate_conditions): Mark args unused
(proc_texi_cmd): Avoid shadowing warning.
core: Add Base-64 encoder.
+ commit ffc8f805165a13d16ed227051c59d732117ec9d4
* src/b64enc.c: Change to fit into libgpg-error.
* src/Makefile.am: Add b64enc.c
* src/b64dec.c: Use xtrymalloc etc. Always use gpg_err_code_t.
(_gpgrt_b64dec_start): Set decoder flag
(_gpgrt_b64dec_finish): Check for conflict.
(_gpgrt_b64state): Move to ...
* src/gpgrt-int.h: here. Add new fields.
* src/visibility.c (gpgrt_b64enc_start): New.
(gpgrt_b64enc_write): New.
(gpgrt_b64enc_finish): New.
* src/gpg-error.vers, src/gpg-error.def.in: Add new functions.
* src/gpg-error.h.in: Ditto.
* src/visibility.h: Ditto.
* tests/t-b64dec.c: Remove.
* tests/t-b64.c: New.
* tests/Makefile.am (TESTS): Replace t-b64dec by t-b64.
2018-03-22 NIIBE Yutaka <gniibe@fsij.org>
doc: Fix build and installation of yat2m.
+ commit 4dc6d4d2067c726cdb13593bf151637319ff65e6
* configure.ac (YAT2M): Require it when cross compiling.
* doc/Makefile.am (bin_PROGRAMS): Add yat2m.
2018-03-21 Werner Koch <wk@gnupg.org>
po: Merge GnuPG's strings from argparse.c.
+ commit e492e0a0a73e1ea9c80f355a25f632af69d3a569
tools: Use gpgrt_argparse for the gpg-error tool.
+ commit 11ce9bc3d6fe75859e18112824ae7ec3ca0fc8df
* src/gpg-error.c (show_usage): Remove.
(my_strusage): New.
(main): Change to use argparse. Also use log_error.
core: Add public function gpgrt_usage.
+ commit ed78ef7f06649f85f1c94c4fb2bd3f6b16fd9a63
* src/visibility.c (gpgrt_usage): New.
core: Add the group of argparse functions.
+ commit 13d6fbfd4360cb74588556a3a0058c4057d0bcf0
* src/visibility.c (gpgrt_argparse): New.
(gpgrt_strusage): New.
(gpgrt_set_strusage): New.
(gpgrt_set_usage_outfnc): New.
(gpgrt_set_fixed_string_mapper): New.
* src/gpg-error.def.in, src/gpg-error.vers: Add new functions.
* src/gpg-error.h.in: Add ARGPARSE macros from the former argparse.h.
(gpgrt_argparse_t): New.
(gpgrt_opt_t): New.
* configure.ac (AH_BOTTOM): Request argparse macros.
* src/Makefile.am (libgpg_error_la_SOURCES): Add argparse.c.
* src/argparse.h: Remove.
* src/argparse.c: Revamp to fit into libgpg-error.
(_gpgrt_argparse): New.
(_gpgrt_usage): Rename from usage.
(_gpgrt_strusage): Rename from strusage. Define two new levels and
templates for three common licenses.
(_gpgrt_set_strusage): Rename from set_strusage.
(_gpgrt_set_usage_outfnc): New.
(_gpgrt_set_fixed_string_mapper): New.
* tests/t-argparse.c: New.
2018-03-18 Werner Koch <wk@gnupg.org>
core: Fix regression on arm64 due to invalid use of va_list.
+ commit 791177de023574223eddf7288eb7c5a0721ac623
* src/logging.c (_gpgrt_log_printhex): Provide a dummy arg instead of
NULL.
2018-03-14 Werner Koch <wk@gnupg.org>
core: Fix building on W64.
+ commit c36a60687976d98b54dac17f699dfca4918a737c
* src/w32-add.h: Remove hack to define pid_t.
* src/gpg-error.h.in: Eval macro to define pid_t.
* src/mkheader.c (have_sys_types_h, sys_types_h_included): New.
(parse_config_h): Test for sys/types.h.
(write_special): Protect inclusion of sys/types.h. Define new macro
'define:pid_t'.
2018-03-13 Werner Koch <wk@gnupg.org>
Release 1.28.
+ commit e32342397eab85fed5ef709317cc50dc7cbc41a5
2018-02-28 NIIBE Yutaka <gniibe@fsij.org>
Karsten Merker <merker@debian.org>
syscfg: Add a riscv64 architecture.
+ commit 596c0d701edeb45e0069bb74b9343e3d5b708ef0
* src/syscfg/lock-obj-pub.riscv64-unknown-linux-gnu.h: New.
* src/Makefile.am (lock_obj_pub): Add it.
2018-02-21 Werner Koch <wk@gnupg.org>
Todd Zullinger
build: Document how to use git send-email.
+ commit 70058cd9f944d620764e57c838209afae8a58c78
* autogen.rc: Add patches_to.
* autogen.sh: Run git config sendemail.to.
* doc/HACKING: Describe use of git send-email.
2018-02-21 Thorsten Behrens <Thorsten.Behrens@CIB.de>
doc: clarify patch submission workflow.
+ commit 887530733d0486ab68ff351c4855f5450c2d50e6
2017-12-11 Werner Koch <wk@gnupg.org>
core: Avoid using estream_t in the public API.
+ commit f9a33a7f7e44a644ff4e31f7e9f1c2c1ec1f8eee
* src/gpg-error.h.in: Always use gpgrt_stream-t.
2017-12-08 Werner Koch <wk@gnupg.org>
core: Rename the gpgrt_log_levels enum values.
+ commit de167fa92d009745c51dae547990845282cbb351
* src/gpg-error.h.in (gprt_log_levels): Rename to GPGRT_LOGLVL.
2017-11-29 Werner Koch <wk@gnupg.org>
core: Wrap blocking system calls of the spawn functions.
+ commit 4acf116ba6d144c2cfa39ff54a23b8864b4ce895
core: Unify syscall_clamp functions.
+ commit adc786d034b63176b941a1ef8d996acbf8d0ea5d
* src/estream.c (_gpgrt_set_syscall_clamp)
(_gpgrt_get_syscall_clamp): Move to ...
* src/syscall-clamp.c: new file.
(_gpgrt_pre_syscall, _gpgrt_post_syscall): New.
* src/Makefile.am (libgpg_error_la_SOURCES): Add that file.
* src/estream.c: Replace the syscall wrapper with the new functions.
* src/posix-lock.c: Ditto.
* src/w32-lock.c: Ditto.
* src/posix-thread.c: Ditto.
* src/w32-thread.c: Ditto.
core: Implement the spawn functions.
+ commit 1865c0ba1769b407a3c504f1ab0a4278704a9fc1
* src/gpg-error.h.in (GPGRT_SPAWN_NONBLOCK): New const.
(GPGRT_SPAWN_RUN_ASFW): New const.
(GPGRT_SPAWN_DETACHED): New const.
(gpgrt_make_pipe): New function.
(gpgrt_create_pipe): New macro.
(gpgrt_create_inbound_pipe): New macro.
(gpgrt_create_outbound_pipe): New macro.
(gpgrt_spawn_process): New function.
(gpgrt_spawn_process_fd): New function.
(gpgrt_spawn_process_detached): New function.
(gpgrt_wait_process): New function.
(gpgrt_wait_processes): New function.
(gpgrt_kill_process): New function.
(gpgrt_release_process): New function.
* src/gpg-error.def.in, src/gpg-error.vers: Add new functions.
* src/visibility.c, src/visibility.h: Add wrappers for new functions.
* src/spawn-posix.c: Rework to better fit the use in gpgrt. Rename
all public function with a _gpgrt prefix.
* src/spawn-w32.c: Ditto.
* src/gpgrt-int.h: Likewise.
* src/Makefile.am (arch_sources): Add spawn-posix.c and spawn-w32.c.
* src/w32-add.h: Add pid_t typedef as a temporary hack.
* configure.ac: Check for signal.h and getrlimit.
(AC_FUNC_FORK): New.
Import and relicense exechelp* functions from GnuPG.
+ commit 8f41cc23b12485404203be5881aaaadb78696b4d
* src/spawn-posix.c: New. Taken from GnuPG's exechelp-posix.c.
* src/spawn-w32.c: New. Taken from GnuPG's exechelp-w32.c.
* src/gpgrt-int.h: Include prototypes from GnuPG's exechelp.h.
2017-11-28 Werner Koch <wk@gnupg.org>
core: Change new functions to return gpg_err_code_t.
+ commit 513415c71781ab400ebb01f6b4cf2984ec6b1757
* src/gpg-error.h.in (gpgrt_sentenv, gpgrt_mkdir, gpgrt_chdir): Change
return type to gpg_err_code_t.
* src/sysutils.c (_gpgrt_setenv): Implement that.
(_gpgrt_mkdir): Ditto.
(_gpgrt_chdir): Ditto.
* gpgscm/ffi.c (do_setenv, do_mkdir): Adjust for this change.
gpgscm: Some adjustments for use in gpgrt.
+ commit 930d27ba6b1205395add0c79139e62355a1d5b62
* gpgscm/Makefile.am: Remove cruft leftover from GnuPG. Link to the
just build libgpg-error.
* gpgscm/private.h: Include gpgrt.h and provide i18n macros.
(xfree, xtrymalloc, xtrycalloc, xtryrealloc): New macros.
(xmalloc, xstrdup): New inline functions.
* gpgscm/main.c: Remove inclusion of gcrypt.h and gpg-error.h. Remove
all other gnupg specific headers.
(opts, parse_arguments): Temporary comment out.
(main): Adjust for use with gpgrt. Temporary comment out some stuff.
* gpgscm/ffi-private.h: Include local gpgrt.h instead of gpg-error.h.
* gpgscm/ffi.h: Ditto.
* gpgscm/ffi.c: Remove gpg-error.h and headers from GnuPG.
(do_getenv): Use gpgrt_getenv.
(do_setenv): Use gpgrt_setenv.
(do_mkdtemp): Temporary return an error.
(unlink_recursively): Use gpgrt_bsprintf.
(do_getcwd): Use gpgrt_getcwd.
(do_mkdir): Use gpgrt_mkdir.
(do_get_isotime): Temporary return an error.
(do_get_time): Directly use time().
core: New API functions gpgrt_mkdir, gpgrt_chdir, gpgrt_getcwd.
+ commit 4a2538e69dd35377bce0fb584f72322c69a111b3
* src/gpg-error.h.in (gpgrt_mkdir, gpgrt_chdir, gpgrt_getcwd): New.
* src/visibility.c, src/visibility.h: Add wrappers.
* src/gpg-error.vers, src/gpg-error.def.in: Add them.
* src/sysutils.c (modestr_to_mode): New.
(_gpgrt_mkdir, _gpgrt_chdir, _gpgrt_getcwd): New.
* m4/gnupg-misc.m4: New.
* m4/Makefile.am (EXTRA_DIST): Add new M4 file.
* configure.ac: Call new GNUPG_FUNC_MKDIR_TAKES_ONE_ARG.
(AC_CHECK_FUNCS): Add stat.
core: Prepare to build with gpgscm.
+ commit 241e9a73891fcd12f124aab1a299c2cf4f8eebc4
* configure.ac: New option --enable-gpgscm. Create gpgscm/Makefile.
(GPGRT_ENABLE_LOG_MACROS): Define.
* Makefile.am (SUBDIRS): Add gpgscm
* src/logging.c (_gpgrt_logv_clock): Do not use the log_debug macro.
core: New API functions gpgrt_getenv and gpgrt_setenv.
+ commit b67daca506991507cea9d383df7faf95117e58a6
* src/gpg-error.h.in (gpgrt_getenv, gpgrt_setenv): New.
(gpgrt_unsetenv): New macro.
* src/gpg-error.vers, src/gpg-error.def.in: Add them.
* src/visibility.c (gpgrt_getenv, gpgrt_setenv): New.
* src/visibility.h: Add them.
* src/sysutils.c: Include string.h and on Windows windows.h.
(_gpgrt_getenv): New.
(_gpgrt_setenv): New.
2017-11-27 Werner Koch <wk@gnupg.org>
core: Install new files gpgrt.m4 and gpgrt-config.
+ commit 97b0881216af24f2a46c11650e23691cff9cb12a
* src/gpgrt.m4: New. Bascially a copy of libgpg-error.m4
* src/gpg-error-config.in: Decide which name to print.
* src/Makefile.am (nodist_bin_SCRIPTS): Add gpgrt-config.
(m4data_DATA): Add gpgrt.m4
(EXTRA_DIST): Add gpgrt.m4.
(BUILT_SOURCES): Add gpgrt-config.
(CLEANFILES): Add gpgrt-config.
(gpgrt-config): Create from gpg-error-config.
core: Avoid endless recursion if log_set_sink has not been used.
+ commit 84ebd2f34882d29510f819a797fade0297fe9ab9
* src/logging.c (_gpgrt_log_set_sink): Do not call gf_is_valid if the
default sink has been requested.
core: Add new macro log_assert to the API.
+ commit d1e3401013f85620f3136958be079c13ca758b20
* src/gpg-error.h.in (log_assert): New macro.
2017-11-22 Werner Koch <wk@gnupg.org>
core: Do not use the estream_t alias in gpg-error.h.
+ commit e0ef8126c20216f79b7ad147c103bb2cf2790c59
* src/gpg-error.h.in: Use gpgrt_stream_t in prototypes.
2017-11-17 Werner Koch <wk@gnupg.org>
w32: Avoid unused code warning.
+ commit a950326d20990fa33cee637d5b54d708fff585b2
* src/w32-estream.c (_gpgrt_w32_poll) [!ENABLE_TRACING]: Do not use
waitinfo.
w32: Add new API fucntion gpgrt_w32_reg_query_string.
+ commit b5c4a2721d7b4bd54705c53e6f294ab2ef66a6f7
* src/w32-reg.c: New.
* src/w32-add.h: Add gpgrt_w32_reg_query_string.
* src/visibility.c (gpgrt_w32_reg_query_string): New wrapper.
* src/gpg-error.def.in: Add gpgrt_w32_reg_query_string.
* configure.ac (ac_check_funcs): Add stpcpy.
* src/Makefile.am (arch_sources): Add w32-reg.c
(socklibs): New.
(libgpg_error_la_LIBADD): Add socklibs.
* src/gpgrt-int.h (xfree, xtrymalloc, xtrycalloc)
(xtryrealloc): New internal macros.
(_gpgrt_stpcpy, stpcpy): New replacement fucntion and macro.
* src/logging.c (_gpgrt_logv_internal): Use new registry query
function and add standard registry key.
core: New API functions gpgrt_strdup and gpgrt_strconcat.
+ commit 0d8d46c76a32176be440b062d2501bbb044fb99d
* src/visibility.c (gpgrt_strdup): New API fucntion.
(gpgrt_strconcat): New API fucntion.
* src/visibility.h: Add corresponding macros.
* src/gpg-error.def.in: Add them.
* src/gpg-error.vers: Add them.
* src/gpgrt-int.h (DIM): New macro.
* src/init.c (_gpgrt_strdup): New.
(_gpgrt_strconcat_core): New.
(_gpgrt_strconcat): New.
core: New API functions gpgrt_malloc, gpgrt_calloc, and gpgrt_realloc.
+ commit 80c18e1b212cc91946864db7a53da50e9f91b861
* src/visibility.c (gpgrt_realloc): New API function.
(gpgrt_malloc): New API function.
(gpgrt_calloc): New API function.
* src/visibility.h: Add corresponding macros.
* src/gpg-error.def.in: Add them.
* src/gpg-error.vers: Add them.
* src/init.c (_gpgrt_calloc): New.
* src/gpg-error.h.in: Add prototypes.
core: Add logging API.
+ commit 1b653e7f37e2eb2a8f590a43651eb8aecbe8756e
* src/visibility.c (gpgrt_get_errorcount): New API.
(gpgrt_inc_errorcount): New API.
(gpgrt_log_set_sink): New API.
(gpgrt_log_set_socket_dir_cb): New API.
(gpgrt_log_set_pid_suffix_cb): New API.
(gpgrt_log_set_prefix): New API.
(gpgrt_log_get_prefix): New API.
(gpgrt_log_test_fd): New API.
(gpgrt_log_get_fd): New API.
(gpgrt_log_get_stream): New API.
(gpgrt_log): New API.
(gpgrt_logv): New API.
(gpgrt_logv_prefix): New API.
(gpgrt_log_string): New API.
(gpgrt_log_info): New API.
(gpgrt_log_error): New API.
(gpgrt_log_fatal): New API.
(gpgrt_log_bug): New API.
(gpgrt_log_debug): New API.
(gpgrt_log_debug_string): New API.
(gpgrt_log_printf): New API.
(gpgrt_log_flush): New API.
(gpgrt_log_printhex): New API.
(gpgrt_log_clock): New API.
(_gpgrt_log_assert): New function for the ABI.
* src/visibility.h: Add corresponding macros.
* src/gpg-error.def.in: Add new functions.
* src/gpg-error.vers: Add new functions.
* src/gpg-error.h.in (GPGRT_LOG_WITH_PREFIX): New constant.
(GPGRT_LOG_WITH_TIME): New constant.
(GPGRT_LOG_WITH_PID): New constant.
(GPGRT_LOG_RUN_DETACHED): New constant.
(GPGRT_LOG_NO_REGISTRY): New constant.
(GPGRT_LOG_BEGIN): New enum value.
(GPGRT_LOG_CONT): New enum value.
(GPGRT_LOG_INFO): New enum value.
(GPGRT_LOG_WARN): New enum value.
(GPGRT_LOG_ERROR): New enum value.
(GPGRT_LOG_FATAL): New enum value.
(GPGRT_LOG_BUG): New enum value.
(GPGRT_LOG_DEBUG): New enum value.
(log_get_errorcount, log_inc_errorcount, log_set_file, log_set_fd)
(log_set_stream, log_set_socket_dir_cb, log_set_pid_suffix_cb)
(log_set_prefix, log_get_prefix, log_test_fd, log_get_fd)
(log_get_stream, log_log, log_logv, log_logv_prefix, log_string)
(log_bug, log_fatal, log_error, log_info, log_debug, log_debug_string)
(log_printf, log_printhex, log_clock)
(log_flush) [GPGRT_ENABLE_LOG_MACROS]: New wrapper macros.
(gpgrt_assert): New macro.
* src/gpgrt-int.h: Add prototypes for logging.c.
(gpgrt_assert): Redefine for internal use.
* src/logging.h: Remove.
* src/logging.c: Include gpgrt-int.h instead of the stuff from GnuPG.
Use _gpgrt malloc funcsions and the internal versions of the estream
functions. Rename all public fucntions with a _gpgrt_ prefix.
(print_prefix): Return the printed length.
(_gpgrt_logv_internal): Ditto.
(_gpgrt_log_printhex): Change order of args and turn into a printf
like function.
(_gpgrt_logv_printhex): New. Take the core of the former
log_printhex.
(_gpgrt_log_clock): Turn into a printf like functions.
(_gpgrt_logv_clock): New. Take the core of the former log_clock.
New configure options and macros for internal use.
+ commit 9c904765c9b2b75e73b196b381470f0fb2f3b458
* configure.ac: Add option --enable-log-clock.
* configure.ac: Add option --enable-werror.
* src/sysutils.c: New.
* src/Makefile.am (libgpg_error_la_SOURCES): Add sysutils.c
* src/gpgrt-int.h: Add internal i18n macros and hacks to make working
with sockets easier.
(es_stdin, es_stdout, es_stderr): New internal macros.
(snprintf): New macro.
2017-10-05 Werner Koch <wk@gnupg.org>
gpgscm: Add required configure checks.
+ commit 7c48edad2c782f416854eaa5c03bcf546d68eae2
* configure.ac: Add new checks.
* m4/readline.m4: New. Taken from gnupg.
* m4/Makefile.am (EXTRA_DIST): Add it.
2017-08-21 Justus Winter <justus@g10code.com>
gpgscm: Fix -Wimplicit-fallthrough warnings.
+ commit dda5fb3474a81047e5bd52a194640fb44e1d60ab
* tests/gpgscm/scheme.c (CASE): Rearrange so that the case statement
is at the front.
(Eval_Cycle): Improve fallthrough annotations.
2017-08-08 Werner Koch <wk@gnupg.org>
build: New configure option --enable-all-tests.
+ commit 3aa37d802ac10a38414a8cfe120de92a76968836
* configure.ac: New option --enable-all-tests.
* tests/gpgscm/ffi.c (ffi_init): New gloabl var *run-all-tests*.
* tests/openpgp/all-tests.scm (all-tests): Use that var instead
of *maintainer-mode*.
* Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): Add --enable-all-tests.
gpgscm: Make the test summary stand out.
+ commit c2fbc80c643db372f16aed100393cd2d4de46979
* tests/gpgscm/tests.scm (test-pool): Add delimiter lines.
2017-08-07 Justus Winter <justus@g10code.com>
tests: Do not run all tests unless in maintainer mode.
+ commit d230224c38dd4b31348f7a1ad24be9e27935dc80
* configure.ac: Leak the maintainer mode flag into 'config.h'.
* tests/gpgscm/ffi.c: Pass it into the scheme environment.
* tests/openpgp/all-tests.scm: Only run tests against non-default
configurations (keyring, extended-key-format) in maintainer mode.
2017-07-18 Justus Winter <justus@g10code.com>
gpgscm,w32: Fix testing for absolute paths.
+ commit c4230af0e62d7c8812eaedf4e6451a6288ff5769
* tests/gpgscm/main.c (path_absolute_p): New function.
(load): Use new function.
2017-07-14 Justus Winter <justus@g10code.com>
gpgscm: Library improvements.
+ commit a4dbace8c1d771bed5783aadf87a8075454e5a35
* tests/gpgscm/repl.scm (prompt-yes-no?): New function.
* tests/gpgscm/tests.scm (pathsep-split): Likewise.
(pathsep-join): Likewise.
(with-path): Use the new function.
gpgscm: Fail early if the test setup fails.
+ commit c67386dcd95dd6a451b861e178503b29a7b13502
* tests/gpgscm/tests.scm (make-environment-cache): Check status code
of setup script.
2017-07-13 Justus Winter <justus@g10code.com>
gpgscm: Make loading of modules less verbose.
+ commit 8377569cae0764fd44701d67626b4c96f0bd8804
* tests/gpgscm/main.c (load): Increase logging threshold.
gpgscm: Make it impossible to catch '*interpreter-exit*'.
+ commit ba3164673676468472ae37f32c3964d231e8a8f8
* tests/gpgscm/init.scm (throw'): Make it impossible to catch
'*interpreter-exit*'. This fixes 'exit' (and with it 'fail') inside
'catch' statements.
2017-07-05 Werner Koch <wk@gnupg.org>
syscfg: Add lock-obj-pub file for ia64-unknown-linux-gnu.
+ commit 0f5c3f67946fb5389df5b9963e6976b462bf5726
* src/syscfg/lock-obj-pub.ia64-unknown-linux-gnu.h: new.
* src/Makefile.am (lock_obj_pub): Add it.
yat2m: Use version from libgpg-error.
+ commit 0148ea8d5acde2ad5d0376fb7eaa2221e88f258a
* doc/yat2m.c (VERSION): Define as PACKAGE_VERSION.
* doc/Makefile.am (yat2m): Pass PACKAGE_VERSION with -D.
build: Install yat2m.
+ commit d81b1379edbc6007a89c3b2fff1b51c8dfe2e868
* doc/Makefile.am (install-exec-hook): New.
(uninstall-local): Uninstall yat2m.
yat2m: Take care of SOURCE_DATE_EPOCH.
+ commit 5494a5728418938d2e42158bb646b07124184e64
* doc/yat2m.c (main): Set a default for OPT_DATE.
2017-07-05 NIIBE Yutaka <gniibe@fsij.org>
doc: minor fix for @xref.
+ commit 187e2ad24fb92210587beb779a1cc746821a169c
* doc/yat2m.c (proc_texi_cmd): Captalize "see" for xref.
2017-07-05 Justus Winter <justus@g10code.com>
doc: Implement simple '@ref'erences.
+ commit 55d560358f7ee4a8b68f98e051021a05d4c0bb1f
* doc/yat2m.c (proc_texi_cmd): Handle '@ref'.
2017-06-19 Justus Winter <justus@g10code.com>
gpgscm: Limit the number of parallel jobs.
+ commit 895ae4c6b1bd2fd9758d9c2835d9a3881e57a85a
* ffi.c (do_wait_processes): Suppress the timeout error.
* tests.scm (semaphore): New definition.
(test-pool): Only run a bounded number of tests in parallel.
(test::started?): New function.
(run-tests-parallel): Do not report results, do not start the tests.
(run-tests-sequential): Adapt.
(run-tests): Parse the number of parallel jobs.
gpgscm: Improve option parsing.
+ commit b4628b4a23d7e8b55ef3f17d79ca86ae77cbc685
* tests/gpgscm/tests.scm (flag): Accept arguments of the form
'--foo=bar'.
gpgscm: Improve error handling of foreign functions.
+ commit f8934d091a274685c1b2a303ac2772adddd303c6
* tests/gpgscm/ffi.scm (ffi-fail): Do not needlessly join the error
message.
gpgscm: Improve error reporting.
+ commit f57405bea31bac1e3c8e4353aea9bb3cede1b90c
* tests/gpgscm/init.scm (throw'): Guard against 'args' being atomic.
* tests/gpgscm/scheme.c (Eval_Cycle): Remove any superfluous colons in
error messages.
2017-05-31 Justus Winter <justus@g10code.com>
Align 'es_poll' semantics closer with POSIX.
+ commit 4a9857a2b6d8a8e847638416d35398508b3291fd
* src/estream.c (_gpgrt_poll): Do not return early if some streams are
found to be ready before even polling the others.
build: Prepend the maintainer CFLAGS.
+ commit df1d61d5c84d984fb2d2a6f1b69c57878decf13e
* configure.ac: Prepend the maintainer CFLAGS making it possible to
override e.g. the optimization level for debugging.
2017-05-30 NIIBE Yutaka <gniibe@fsij.org>
Fix memory leak for estream.
+ commit 1e7203515be0b030709109e9da621642dfa20312
* src/estream.c (do_list_remove): Free the item.
(do_close): Free the buffer.
2017-05-17 Justus Winter <justus@g10code.com>
gpgscm: Fix checking for opcode arguments.
+ commit d2747ce24d445ae7ef3ec4ed0cca2f30aa833e7c
* tests/gpgscm/scheme.c (Eval_Cycle): Update 'pcd' after dispatching
an instruction.
2017-05-11 Justus Winter <justus@g10code.com>
tests: Make it possible to run all tests using our infrastructure.
+ commit 4bc110e219b13d551c0c6c9987b7602e44715032
* Makefile.am (TESTS_ENVIRONMENT): New variable.
(check-all): New phony target to run all tests.
* tests/gpgme/gpgme-defs.scm (have-gpgme?): New function that tests
whether the GPGME test suite is available instead of exiting the
process.
* tests/gpgscm/init.scm (export): New macro.
* tests/gpgscm/tests.scm (run-tests): New function.
(load-tests): Likewise.
* tests/gpgme/run-tests.scm: Simplify and move the parsing of the list
of tests to 'all-tests.scm'.
* tests/gpgsm/run-tests.scm: Likewise.
* tests/migrations/run-tests.scm: Likewise.
* tests/openpgp/run-tests.scm: Likewise.
* tests/gpgme/Makefile.am: To select the tests to run, use the
variable 'TESTS'. This harmonizes the interface with the automake
test suite.
* tests/gpgsm/Makefile.am: Likewise.
* tests/migrations/Makefile.am: Likewise.
* tests/openpgp/Makefile.am: Likewise.
* tests/openpgp/README: Likewise.
* agent/all-tests.scm: New file.
* common/all-tests.scm: Likewise.
* g10/all-tests.scm: Likewise.
* g13/all-tests.scm: Likewise.
* tests/gpgme/all-tests.scm: Likewise.
* tests/gpgsm/all-tests.scm: Likewise.
* tests/migrations/all-tests.scm: Likewise.
* tests/openpgp/all-tests.scm: Likewise.
* tests/run-tests.scm: Likewise.
tests: Move the makefile parser.
+ commit 197404aae66c688d004337c0aefe153ef6b10f87
* tests/gpgme/gpgme-defs.scm (parse-makefile, parse-makefile-expand):
Move...
* tests/gpgscm/makefile.scm: ... here.
* tests/gpgscm/Makefile.am (EXTRA_DIST): Add new file.
gpgscm: Make it possible to set the logfile name.
+ commit dd48994b0c99a4099f49ccd437a08ddff39af8a2
* tests/gpgscm/tests.scm (test): Only set the default log filename
when it has not been set before.
2017-05-04 Justus Winter <justus@g10code.com>
tests: Support tests that are expected to fail.
+ commit 212a0febf8bbaf735ae2e65722f39a47a1c5b122
* tests/gpgscm/tests.scm (test-pool): Rework reporting. Filter using
the computed test status instead of the return value. Also print the
new categories 'failed expectedly' and 'passed unexpectedly'.
(test): If a test ends with a bang (!), it is expected to fail. Adapt
status, status-string, and xml accordingly.
2017-05-03 Justus Winter <justus@g10code.com>
gpgscm: Create and re-use frame objects.
+ commit 272b0ad65ec4c6023d4b5a4fb2f003ada432b6e5
* tests/gpgscm/scheme-private.h (struct scheme): New field
'frame_freelist'.
* tests/gpgscm/scheme.c (enum scheme_types): New type 'T_FRAME'.
(type_to_string): Handle new type.
(settype): New macro.
(gc_disable): Make sure there is at least one frame in the free list.
(mark): Handle frame objects.
(finalize_cell): Likewise.
(dump_stack_initialize): Initialize free list.
(dump_stack_free): Simplify.
(frame_length): New variable.
(dump_stack_make_frame): New function.
(frame_slots): Likewise.
(frame_payload): New macro.
(dump_stack_allocate_frame): New function.
(dump_stack_deallocate_frame): Likewise.
(dump_stack_preallocate_frame): Likewise.
(_s_return): Unpack frame object and deallocate it.
(s_save): Wrap state in an frame object.
(dump_stack_mark): Mark the free list.
gpgscm: Merge opexe_0.
+ commit df499c6ee5edf0a560138640141a3abef360b4f5
* tests/gpgscm/scheme-private.h (struct scheme): Remove field 'op'.
* tests/gpgscm/scheme.c (opexe_0): Inline into 'Eval_Cycle'.
(_Error_1): Return the opcode to evaluate next.
(Error_1): Do not return, but set the opcode and goto dispatch.
(Error_0): Likewise.
(s_goto): Likewise.
(s_return): Likewise.
(s_return_enable_gc): Likewise.
(s_thread_to): Remove superfluous cast.
(_s_return): Return the opcode to evaluate next.
(scheme_init_custom_alloc): Adapt to removal of field 'op'.
2017-04-24 Justus Winter <justus@g10code.com>
gpgscm: Refactor cell finalization.
+ commit 36e266a5cbb78560d32bc33f18f9041db1ff5080
* tests/gpgscm/scheme.c (finalize_cell): Use switch, return whether
the cell may be freed.
(gc): Update callsite.
gpgscm: Tweak error message display.
+ commit e8c896c7f9aabad6e1387f538accb54ac6b2b1cc
* tests/gpgscm/init.scm (throw'): If the first argument to the error
is a string, display it as such.
gpgscm: Fix test.
+ commit b67d1a3f36f2b15fb75de613942668b71cad1bd7
* tests/gpgscm/t-child.scm: Use 'string-length' on the string.
gpgscm: Improve syntax checking.
+ commit 008894eff46724d60a24879d319b427606fcafd1
* tests/gpgscm/scheme.c (opexe_0): Make sure closure arguments are
symbols.
gpgscm: Emit JUnit-style XML reports.
+ commit 5dc43e579ef4340c668fa7e294f5a69fef9d622e
* tests/gpgscm/Makefile.am (EXTRA_DIST): Add new file.
* tests/gpgscm/lib.scm (string-translate): New function.
* tests/gpgscm/main.c (main): Load new file.
* tests/gpgscm/tests.scm (dirname): New function.
(test-pool): Record execution times, emit XML report.
(test): Record execution times, record log file name, emit XML report.
(run-tests-parallel): Write XML report.
(run-tests-sequential): Likewise.
* tests/gpgscm/xml.scm: New file.
* tests/gpgme/Makefile.am (CLEANFILES): Add 'report.xml'.
* tests/gpgsm/Makefile.am: Likewise.
* tests/migrations/Makefile.am: Likewise.
* tests/openpgp/Makefile.am: Likewise.
gpgscm: Make logging less verbose and more useful.
+ commit a3e51fab6b30774959dc7d4d3409000fdbe1f7b3
* tests/gpgscm/tests.scm (call-with-io): When being verbose, include
the pid in the output, and avoid duplicating the command arguments.
gpgscm: Make test framework less functional.
+ commit aa843dbcd32c65eeac8c7c3cea4efb3ed7a94a0c
* tests/gpgscm/tests.scm (test-pool, tests): Previously, these methods
updated objects by creating new updated copies of the object being
manipulated. This made the code awkward without any benefit,
therefore I change it to just update the object.
gpgscm: Move 'trace' and 'stringify'.
+ commit 763bd518b27d4e125fa3dce64417ae2aca2101d4
* tests/gpgscm/tests.scm (trace, stringify): Move...
* tests/gpgscm/lib.scm: ... here.
gpgscm: Avoid fruitless garbage collection cycles.
+ commit 8bda9387d5be9193fd0f484fd1272367a7422389
* tests/gpgscm/scheme-private.h (CELL_MINRECOVER): New macro.
* tests/gpgscm/scheme.c (_get_cell): Move the heuristic to get more
cells...
(gc): ... here where every caller benefits from the optimization.
2017-04-19 NIIBE Yutaka <gniibe@fsij.org>
Minor clean up.
+ commit a8d267a7220399f7acf69723fe1d31efd2160319
* src/b64dec.c (_gpgrt_b64dec_proc): Add a comment.
* src/estream.c (_gpgrt_fread, _gpgrt_fwrite): Use &&.
* src/mkheader.c (xstrdup): Use memcpy as we know length.
2017-04-12 NIIBE Yutaka <gniibe@fsij.org>
gpgscm: Fix test program.
+ commit e71c0d39d2fb896df85949a61811e3b19fd050d7
* tests/gpgscm/t-child.c (main): Fix for setmode.
2017-04-11 Justus Winter <justus@g10code.com>
tests: Fix distcheck.
+ commit b03bcee96fc4eb950c6ae38fd8b5af831b281f02
* tests/gpgscm/Makefile.am (EXTRA_DIST): Add 'gnupg.scm'.
tests: Move common functionality.
+ commit d9dd8135ec6e1a4b7a66bc385714b8c1beba3e96
* tests/openpgp/defs.scm (with-home-directory,
with-ephemeral-home-directory): Move...
* tests/gpgscm/gnupg.scm: ... to this new file.
* tests/gpgscm/main.c (main): Load the new file.
2017-04-10 Justus Winter <justus@g10code.com>
gpgscm: Fix opcode dispatch.
+ commit afb7060de5c55976d08e0692fbffd0cc108914a0
* tests/gpgscm/scheme.c (opexe_0): Consider 'op', not 'sc->op'. The
former is the opcode we are currently executing.
gpgscm: Mmap script files.
+ commit ef41f332cba624e9bca6100ebacd4fffe4e61679
* tests/gpgscm/main.c (load): Try to mmap the script.
* tests/gpgscm/scheme.c (scheme_load_memory): New function, a
generalization of 'scheme_load_string'.
* tests/gpgscm/scheme.h (scheme_load_memory): New prototype.
gpgscm: Refactor checking for opcode arguments.
+ commit 6c9de8ff59a9c637de944706533421dc4cf20708
* tests/gpgscm/scheme.c (op_code_info): Fix type, add forward
declaration.
(check_arguments): New function.
(Eval_cycle): Use the new function.
gpgscm: Improve syntax dispatch.
+ commit 173531921d133a007d30c32cec00546749d8cfbf
* tests/gpgscm/scheme.c (assign_syntax): Add opcode parameter, store
opcode in the tag.
(syntaxnum): Add sc parameter, retrieve opcode from tag.
(opexe_0): Adapt callsite.
(scheme_init_custom_alloc): Likewise.
gpgscm: Make tags mandatory.
+ commit d6c83fbb06abc99de696b3f9a0b1cb962fa05b26
* tests/gpgscm/opdefines.h: Make tags mandatory.
* tests/gpgscm/scheme.c: Likewise.
* tests/gpgscm/scheme.h: Likewise.
gpgscm: Add and use opcode for reversing a list in place.
+ commit be78c20cdd93ed295bfee1aef1e9d2e9253b779c
* tests/gpgscm/lib.scm (string-split-pln): Use 'reverse!'.
(string-rtrim): Likewise.
* tests/gpgscm/opdefines.h (reverse!): New opcode.
* tests/gpgscm/scheme.c (opexe_0): Handle new opcode.
gpgscm: Deduplicate code.
+ commit 8a2d1706e5d4b3d33ff349838f0c51631e32a2ce
* tests/gpgscm/scheme.c (oblist_add_by_name): Deduplicate.
(new_slot_spec_in_env): Likewise.
gpgscm: Move dispatch table into rodata.
+ commit 5aeeb5af96dce901a8b21613e33baed8b9331692
* tests/gpgscm/opdefines.h: Use 0 instead of NULL.
* tests/gpgscm/scheme.c (op_code_info): Use char arrays instead of
pointers, make arity parameters smaller.
(INF_ARG): Adapt.
(_OP_DEF): Likewise.
(dispatch_table): Likewise.
(procname): Likewise.
(Eval_cycle): Likewise.
(scheme_init_custom_alloc): Likewise.
gpgscm: Use more threaded code.
+ commit 49c22bd71892f47835d9e03f3bd3122a1f0b8faa
* tests/gpgscm/scheme.c (opexe_0): Use 's_thread_to' instead of
's_goto' wherever possible.
gpgscm: Remove now obsolete dispatcher function from the opcodes.
+ commit 6d99d2f287aa40d8add81ce892026dfe05768fd4
* tests/gpgscm/opdefines.h: Remove now obsolete dispatcher function
from the opcodes.
* tests/gpgscm/scheme-private.h (_OP_DEF): Adapt.
* tests/gpgscm/scheme.c (dispatch_func): Remove type declaration.
(op_code_info): Remove 'func'.
(_OP_DEF): Adapt.
(Eval_Cycle): Always call 'opexe_0'.
gpgscm: Merge 'opexe_6'.
+ commit c183d8f4c6cdf6b48265f01e4c007895f2626fc5
* tests/gpgscm/scheme.c (opexe_6): Merge into 'opexe_0'.
* tests/gpgscm/opdefines.h: Adapt.
gpgscm: Merge 'opexe_5'.
+ commit 72674f169386d68a6d0fc2ba4bc5a065435802a0
* tests/gpgscm/scheme.c (opexe_5): Merge into 'opexe_0'.
* tests/gpgscm/opdefines.h: Adapt.
gpgscm: Merge 'opexe_4'.
+ commit 5898ead4a99d3bc9e23859daf2cca9632d92f1f7
* tests/gpgscm/scheme.c (opexe_4): Merge into 'opexe_0'.
* tests/gpgscm/opdefines.h: Adapt.
gpgscm: Merge 'opexe_3'.
+ commit b13610ec7bf2bf199eb22f936bc2f2d4ac240fde
* tests/gpgscm/scheme.c (opexe_3): Merge into 'opexe_0'.
* tests/gpgscm/opdefines.h: Adapt.
gpgscm: Merge 'opexe_2'.
+ commit 7bc96831c7156fa07cfd55259f309ca4fa676c2e
* tests/gpgscm/scheme.c (opexe_2): Merge into 'opexe_0'.
* tests/gpgscm/opdefines.h: Adapt.
gpgscm: Merge 'opexe_1'.
+ commit 19a1be5ac3c9f3e26c453cf2ddc6d88af19e2d43
* tests/gpgscm/scheme.c (opexe_1): Merge into 'opexe_0'.
* tests/gpgscm/opdefines.h: Adapt.
2017-04-07 Justus Winter <justus@g10code.com>
gpgscm: Allocate small integers in the rodata section.
+ commit 7cee693e31fa1196161d5fbe7149a176049735ac
* tests/gpgscm/Makefile.am (gpgscm_SOURCES): Add new file.
* tests/gpgscm/scheme-private.h (struct cell): Move number to the top
of the union so that we can initialize it.
(struct scheme): Remove 'integer_segment'.
* tests/gpgscm/scheme.c (initialize_small_integers): Remove function.
(small_integers): New variable.
(MAX_SMALL_INTEGER): Compute.
(mk_small_integer): Adapt.
(mark): Avoid marking objects already marked. This allows us to run
the algorithm over objects in the rodata section if they are already
marked.
(scheme_init_custom_alloc): Remove initialization.
(scheme_deinit): Remove deallocation.
* tests/gpgscm/small-integers.h: New file.
gpgscm: Make global data constant when possible.
+ commit 9fc4e6cbe6d5d3f2dd1c61ded15e2ad42f8f9460
* tests/gpgscm/scheme-private.h (struct scheme): Make 'vptr' const.
* tests/gpgscm/scheme.c (num_zero): Statically initialize and turn
into constant.
(num_one): Likewise.
(charnames): Change type so that it can be stored in rodata.
(is_ascii_name): Adapt slightly.
(assign_proc): Make argument const char *.
(op_code_info): Make some fields const char *.
(tests): Make const.
(dispatch_table): Make const. At least it can be made read-only after
relocation.
(Eval_Cycle): Adapt slightly.
(vtbl): Make const.
gpgscm: Remove arbitrary limit on number of cell segments.
+ commit 961f3b3a3001384d5df1d5a9963c5f67f800cd4d
* tests/gpgscm/scheme-private.h (struct scheme): Remove fixed-size
arrays for cell segments, replace them with a pointer to the new
'struct cell_segment' instead.
* tests/gpgscm/scheme.c (struct cell_segment): New definition.
(_alloc_cellseg): Allocate the header within the segment, return a
pointer to the header.
(_dealloc_cellseg): New function.
(alloc_cellseg): Insert the segments into a list.
(_get_cell): Allocate a new segment if less than a quarter of
CELL_SIGSIZE is recovered during garbage collection.
(initialize_small_integers): Adapt callsite.
(gc): Walk the list of segments.
(scheme_init_custom_alloc): Remove initialization of removed field.
(scheme_deinit): Adapt deallocation.
gpgscm: Fix compact vector encoding.
+ commit a493ad44b6a67026aeae08d25575fee8c0f137b4
* tests/gpgscm/scheme-private.h (struct cell): Use uintptr_t for
'_flags'. This way, '_flags' has the size of a machine word.
2017-04-06 Justus Winter <justus@g10code.com>
gpgscm: Avoid mutating integer.
+ commit 00de0fd1cebd89330765470bbb6e1e8bf5f3dfc9
* tests/gpgscm/scheme.c (opexe_5): Do not modify the integer in-place
while printing an vector. Integer objects may be shared, so they must
not be mutated.
gpgscm: Initialize unused slots in vectors.
+ commit 54ea82c2e7e5700b9644c663142c2d46441a3f4e
* tests/gpgscm/scheme.c (get_vector_object): Initialize unused slots
at the end of vectors.
2017-04-04 Justus Winter <justus@g10code.com>
gpgscm: Fix copying values.
+ commit 52d0423e48dfe4dd51dc0acbf119431701280a70
* tests/gpgscm/scheme.c (copy_value): New function.
(mk_tagged_value): Use new function.
(opexe_4): Likewise for OP_SAVE_FORCED.
gpgscm: Simplify get-output-string operation.
+ commit c9244b2eb43e0f06928b709ac35127966e1d24ce
* tests/gpgscm/scheme.c (opexe_4): Simplify 'get-output-string'.
gpgscm: Simplify substring operation.
+ commit 6900f118303962262923f9d103b802508d5f469f
* tests/gpgscm/scheme.c (opexe_2): Simplify 'substring'.
2017-04-03 Justus Winter <justus@g10code.com>
gpgscm: Slightly improve the procedure dispatch.
+ commit 9a4283ed6aafc1e43d8f7a5fd9cef6118615f284
* tests/gpgscm/scheme.c (procnum): Procedures always have an integer
number, so we can safely use the cheaper 'ivalue_unchecked'.
2017-03-23 Justus Winter <justus@g10code.com>
gpgscm: Make test cleanup more robust.
+ commit e1780b2f981d3fd48bbf2672b35f2f33152f6c32
* tests/gpgscm/tests.scm (mkdtemp-autoremove): New function that
cleans up at interpreter shutdown.
(run-tests-parallel): Use the new function.
(run-tests-sequential): Likewise.
(make-environment-cache): Execute setup with an temporary working
directory.
2017-03-21 Justus Winter <justus@g10code.com>
tests,w32: Use GetTempPath to get the path for temporary files.
+ commit 8835ee681f5ae92ded982b51f5808935d227b126
* tests/gpgscm/ffi.c (do_get_temp_path): New function.
(ffi_init): Make function available.
* tests/gpgscm/tests.scm (mkdtemp): Use the new function.
tests: Create temporary directories in '/tmp'.
+ commit cfc49428a427d1a140424c687cb45ba00117d443
* tests/gpgscm/tests.scm (mkdtemp): Create temporary directories in
'/tmp' on UNIX, or in '%Temp' on Windows.
* tests/migrations/common.scm (run-test): Turn error into a warning.
* tests/openpgp/defs.scm (start-agent): Likewise.
2017-03-17 Justus Winter <justus@g10code.com>
gpgscm: Simplify hash tables.
+ commit 053a3f9a61a2918131b9dec60149b93861c04a51
* tests/gpgscm/scheme.c (oblist_add_by_name): We now always get a
slot. Simplify accordingly.
(oblist_find_by_name): Always return the slot.
(vector_elem_slot): New function.
(new_slot_spec_in_env): We now always get a slot. Remove parameter
'env'. Simplify accordingly.
(find_slot_spec_in_env): Always return a slot.
(new_slot_in_env): Adapt callsite.
(opexe_0): Likewise.
(opexe_1): Likewise.
(scheme_define): Likewise.
gpgscm: Remove framework for immediate values.
+ commit a1ed4b6ab25f28114d8ba6f704824a456d4fdc0c
* tests/gpgscm/scheme.c (IMMEDIATE_TAG): Remove macro.
(is_immediate): Likewise.
(set_immediate): Likewise.
(clr_immediate): Likewise.
(enum scheme_types): Set the LSB in every value.
(fill_vector): Adapt.
(vector_elem): Likewise.
(set_vector_elem): Likewise.
(mark): Likewise.
(gc): Test for the LSB to tell typeflags apart from pointers stored in
the same memory location.
2017-03-09 Justus Winter <justus@g10code.com>
tests: Rework environment setup.
+ commit 14fcdcabb25d975f0f91be86b0571694fb533e7a
* tests/gpgscm/tests.scm (test::scm): Add a setup argument.
(test::binary): Likewise.
(run-tests-parallel): Remove setup parameter.
(run-tests-sequential): Likewise.
(make-environment-cache): New function that handles the cache
protocol.
* tests/gpgme/run-tests.scm: Adapt accordingly.
* tests/gpgsm/run-tests.scm: Likewise.
* tests/migrations/run-tests.scm: Likewise.
* tests/openpgp/run-tests.scm: Likewise.
2017-03-08 Justus Winter <justus@g10code.com>
build: Use macOS' compatibility macros to enable all features.
+ commit 5e51b642f747547c737a7abbc37e65b0f630d188
* configure.ac: On macOS, use the compatibility macros to expose every
feature of the libc. This is the equivalent of _GNU_SOURCE on GNU
libc.
2017-03-07 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
gpgscm: Use system strlwr if available.
+ commit ca3d31ec77612cecc16c376ac7c06ce09541b28e
* tests/gpgscm/scheme.c: Define local strlwr only when HAVE_STRLWR is
not defined in config.h.
* tests/gpgscm/scheme-config.h: Remove hack.
2017-03-07 NIIBE Yutaka <gniibe@fsij.org>
More change for common.
+ commit d372378d28b2504225aae6819d056330e7ac0674
* g10, scd, test, tools: Follow the change of removal of -Icommon.
w32: Conditionalize ISO 2022 definitions.
+ commit 1126c4c117a47c8ea8435ac11561d51b13f538dd
* src/w32-iconv.c (iso2022_SI_seq, iso2022_SO_seq) [USE_MLANG_DLL]:
Only for USE_MLANG_DLL.
2017-03-06 Justus Winter <justus@g10code.com>
tests: Harmonize temporary and socket directory handling.
+ commit 490c5d5afeaae66dc061295afbc254e57abd20c8
* tests/gpgscm/tests.scm (mkdtemp): Do not magically obey the
environment variable 'TMP', make sure to always return an absolute
path.
* tests/gpgme/Makefile.am (TMP): Drop variable.
(TESTS_ENVIRONMENT): Drop 'TMP'.
* tests/gpgme/gpgme-defs.scm (create-gpgmehome): Start the agent. Do
not create private key store, the agent does that for us.
* tests/gpgsm/Makefile.am (TMP): Drop variable.
(TESTS_ENVIRONMENT): Drop 'TMP'.
* tests/gpgme/gpgme-defs.scm (create-gpgsmhome): Start the agent. Do
not create private key store, the agent does that for us.
* tests/migrations/Makefile.am (TMP): Drop variable.
(TESTS_ENVIRONMENT): Drop 'TMP'.
* tests/migrations/common.scm (gpgconf): New variable.
(run-test): Create and remove socket directory.
* tests/migrations/extended-pkf.scm (src-tarball): Remove variable.
(setup): Remove function.
(trigger-migration): Likewise.
Use 'run-test' to execute the test.
* tests/migrations/from-classic.scm (src-tarball): Remove variable.
(setup): Remove function.
Use 'run-test' to execute the tests.
* tests/openpgp/Makefile.am (TMP): Drop variable.
(TESTS_ENVIRONMENT): Drop 'TMP'.
* tests/openpgp/README: Do not mention 'TMP'.
* tests/openpgp/defs.scm (with-home-directory): New macro.
(create-legacy-gpghome): Do not create private key store, the agent
does that for us.
(start-agent): Make sure to terminate the right agent with 'atexit'.
gpgscm: Fix creation of temporary directories.
+ commit 9e29af900544fe4210a72cae87be78186d03e231
* tests/gpgscm/ffi.c (do_mkdtemp): Use a larger buffer for the
template.
2017-02-28 Justus Winter <justus@g10code.com>
gpgscm: Improve parsing.
+ commit 9467f3c7758864f3c025c14166c9d099bea6fe62
* tests/gpgscm/scheme.c (port_increment_current_line): Avoid creating
the same integer if the delta is zero. This happens a lot during
parsing, and puts pressure on the memory allocator.
gpgscm: Fix calculating the line number.
+ commit 08e1cfddc94a6aae79b21d7795accf3e100a1f2f
* tests/gpgscm/scheme.c (opexe_5): Only increment the line number on
newlines.
2017-02-28 Werner Koch <wk@gnupg.org>
Release 1.27.
+ commit c1668f61c58ea6f0439e5193d83b4e2ac622b286
* configure.ac: Bump LT version to C22/A22/R0.
Add support for armv7-unknown-linux-gnueabihf.
+ commit 8d45ec8f8f61268a74d9c40b840a8fbd6f805a07
* src/syscfg/lock-obj-pub.arm-unknown-linux-gnueabihf.h: Remove.
* src/syscfg/lock-obj-pub.armv5-unknown-linux-musleabi.h: Remove.
* src/syscfg/lock-obj-pub.armv6-unknown-linux-musleabihf.h: Remove.
* src/Makefile.am (lock_obj_pub): Remove them.
* src/mkheader.c (canon_host_triplet): Add removed as aliases. Addn
alias for armv7-unknown-linux-gnueabihf.
New public header gpgrt.h as alias for gpg-error.h.
+ commit 012f1bdc87e9969131c72c5575af0851484a2196
* src/gpg-error.h.in (GPGRT_H): New double include protection.
* src/Makefile.am (nodist_include_HEADERS): Add gpgrt.h.
(BUILT_SOURCES): Ditto.
(CLEANFILES): Ditto.
(gpgrt.h): New rule.
tests: New option --debug for t-poll.
+ commit f141fdee4015d36aec2122853ef55f3ae42197da
* tests/t-poll.c (test_poll): Add option.
Improve tracing of estream.
+ commit f27e516aabd27afeddecfde197eae1fd21a11395
* src/gpgrt-int.h (trace_errno): Add new parameter. Adjust all users.
* src/init.c (trace_fp, trace_with_errno, trace_missing_lf)
(trace_prefix_done): New vars.
(_gpgrt_internal_trace_begin): Add arg WITH_ERRNO. Open a trace file
on first use. Init new vars.
(print_internal_trace_prefix): New.
* src/estream.c, src/w32-estream.c: Improve tracing.
2017-02-28 Justus Winter <justus@g10code.com>
gpgscm: Track source locations in every kind of ports.
+ commit 9b23e71a6b41cd11b39ab1e1d18c140eaf63c3e7
* tests/gpgscm/scheme-private.h (struct port): Move location
information out of the union.
* tests/gpgscm/scheme.c (mark): All ports need marking now.
(gc): Likewise all ports on the load stack.
(port_clear_location): Adapt accordingly. Also, add an empty function
for !SHOW_ERROR_LINE.
(port_increment_current_line): Likewise.
(port_reset_current_line): Drop function in favor of...
(port_init_location): ... this new function.
(file_push): Simplify.
(file_pop): Likewise.
(port_rep_from_filename): Likewise.
(port_rep_from_file): Likewise.
(port_rep_from_string): Also initialize the location.
(port_rep_from_scratch): Likewise.
(port_close): Simplify and generalize.
(skipspace): Likewise.
(token): Likewise.
(_Error_1): Generalize.
(opexe_5): Likewise.
(scheme_deinit): Simplify and generalize.
(scheme_load_named_file): Likewise.
(scheme_load_string): Also initialize the location.
2017-02-28 Werner Koch <wk@gnupg.org>
w32: Fix gpgrt_poll for Windows.
+ commit 07d5bd918d2185f79c7d61d56ee7f3090b6f5dcd
* src/estream.c (_gpgrt_poll) [W32]: Do not call the syscall clamp.
2017-02-27 Werner Koch <wk@gnupg.org>
Use the new tracing ramework for estream.
+ commit 84aaa84d41f17d6f5e2bb31930e101568df554e2
* src/estream.c: Add trace calls to some functions.
* src/w32-estream.c: Replace existing trace calls by the new
framework.
Add a tracing framework.
+ commit a52f12cc1879d171ddf309b5ac461bab06c8b5e2
* src/init.c (trace_save_errno, trace_arg_module)
(trace_arg_file, trace_arg_line): New module vars.
(do_internal_trace): New.
(_gpgrt_internal_trace_printf): New.
(_gpgrt_internal_trace): New.
(_gpgrt_internal_trace_errno): New.
(_gpgrt_internal_trace_end): New.
* src/gpgrt-int.h (trace): New macro.
(trace_errno): New macro.
(trace_start): New macro.
(trace_append): New macro.
(trace_finish): New macro.
2017-02-26 Werner Koch <wk@gnupg.org>
Rename internal functions of estream.
+ commit be49b02a56e8b405eeb0c07c80eb24e71e841b4a
* src/estream.c (_gpgrt_es_init): Rename to _gpgrt_estream_init.
(es_fill): Rename to fill_stream.
(es_fflush): Rename to flush_stream.
(es_deinitialize): Rename to deinit_stream_obj.
(es_create): Rename to create_stream
(es_read_nbf): Rename to do_read_nbf.
(es_read_lbf): Rename to do_read_lbf.
(es_read_fbf): Rename to do_read_fbf.
(es_peek): Rename to peek_stream.
(es_skip): Rename to skip_stream.
(es_print): Rename to do_print_stream.
2017-02-24 Werner Koch <wk@gnupg.org>
w32: Do not use the syscall clamps in pollable mode.
+ commit 915e1bf2ad1b23239b17843755376344e59a3110
* src/estream.c (estream_cookie_w32): Add flag no_syscall_clamp.
(func_w32_create): Add arg no_syscall_clamp.
(func_w32_read): Do not call pre/post_syscall_clamp when flag is set.
(func_w32_write): Ditto.
(func_w32_seek): Ditto.
(do_w32open): Set NO_SYSCALL_CLAMP in pollable mode.
(es_create) [W32]: Make sure that pollable-mode is unly used with the
W32 backend.
2017-02-23 Werner Koch <wk@gnupg.org>
w32: Replace gpgrt locks in w32-streams by native critical sections.
+ commit c9e44c92e08187626e878d826cdedf4cd4e931fe
* src/w32-estream.c (TRACE_ERR): Also print the error number. This is
in particular useful on non-english systems.
(reader_context_s, writer_context_s): Replace the gpgrt mutex by a
native critical section. Change all calls to gpgrt_lock_ fucntions by
the EnterCriticalSection et al.
(_gpgrt_w32_poll): Make CODE unsigned which is what WFMO returns.
Remove the then useless condition.
2017-02-19 Werner Koch <wk@gnupg.org>
New error code GPG_ERR_INV_NAME.
+ commit 3a2ee6df5911728938a2fb56237b08f790841a0c
2017-02-17 Justus Winter <justus@g10code.com>
gpgscm: Guard use of tagged expressions.
+ commit 86082852350810afa548c607241df95f9cac777a
* tests/gpgscm/init.scm (vm-history-print): Check that the tag added
to expressions when parsing source files matches the expected format.
* tests/gpgscm/lib.scm (assert): Likewise.
2017-02-15 Justus Winter <justus@g10code.com>
tests,build: Fix distcheck.
+ commit 52748cd96c70c9da01c35de10dd1627f7897d085
* tests/gpgscm/Makefile.am (EXTRA_DIST): Add 'time.scm'.
tests: Check expiration times of created keys.
+ commit b2db15dfe894a27246236ed416c8e2c2fc0e73c4
* tests/gpgscm/ffi.c (do_get_time): New function.
(ffi_init): Expose new function.
* tests/gpgscm/ffi.scm (get-time): Document new function.
* tests/gpgscm/time.scm: New file.
* tests/openpgp/quick-key-manipulation.scm: Use the new facilities to
check the expiration times of created keys.
* tests/openpgp/tofu.scm: Use the new module.
2017-02-02 NIIBE Yutaka <gniibe@fsij.org>
syscfg: Add a sh3 architecture.
+ commit 67e51f9957f875ca854f25f4a9a63aeb831c55c4
* src/syscfg/lock-obj-pub.sh3-unknown-linux-gnu.h: New.
* src/Makefile.am (lock_obj_pub): Add it.
2017-02-01 NIIBE Yutaka <gniibe@fsij.org>
Add Base64 decoder.
+ commit 4bfc2117b70415a5c5d3f0a0ac9086e168350d83
* NEWS: Add interface changes.
* src/Makefile.am (libgpg_error_la_SOURCES): Add b64dec.c.
* src/b64dec.c: New. Taken from gpgme. Prefix function names with
_gpgrt_. Change API a bit, not exposing the structure.
* src/gpg-error.def.in: Export Base64 functions.
* src/gpg-error.vers: Likewise.
* src/visibility.c, src/visibility.h: Likewise.
* src/gpg-error.h.in: Add Base64 struct and functions.
* src/gpgrt-int.h: Add Base64 internal functions.
* tests/Makefile.am (TESTS): Add t-b64dec.
* tests/t-b64dec.c: New.
2017-01-31 Justus Winter <justus@g10code.com>
gpgscm: Tune the hash tables.
+ commit 1c99db04ed62d395c1c88171ef147a580e0bb4ab
* tests/gpgscm/scheme.c (oblist_initial_value): Increase the size of
the hash table based on the number of symbols used after initializing
the interpreter.
(new_frame_in_env): Increase the size of the hash table based on the
number of variables in the global environement.
gpgscm: Optimize environment lookups and insertions.
+ commit fa2363d9d903dfc9885f7d2f290fb4d7738bb737
* tests/gpgscm/scheme.c (pointercmp): New function.
(new_slot_spec_in_env): Add and use slot for insertions.
(find_slot_spec_in_env): New variant of 'find_slot_in_env' that
returns the slot on failures.
(find_slot_in_env): Express using the new function.
(new_slot_in_env): Update callsite.
(opexe_0): Optimize lookup-or-insert.
(opexe_1): Likewise.
(scheme_define): Likewise.
gpgscm: Fix build with list environments.
+ commit e982432ba66652bc9bc16e334e1d4d184e1b68bd
* tests/gpgscm/scheme.c (new_slot_spec_in_env): Provide preallocation
inforomation if USE_ALIST_ENV.
gpgscm: Optimize symbol lookups and insertions.
+ commit d374a1271326e503bd7cabe11cf5fd10a970d9fc
* tests/gpgscm/scheme.c (oblist_find_by_name): Keep the list of
symbols sorted, return the slot where a new symbol must be inserted on
lookup failures.
(oblist_add_by_name): Add the new symbol at the given slot.
(mk_symbol): Adjust callsite.
(gensym): Likewise.
(assign_syntax): Likewise.
gpgscm: Fix build with object list.
+ commit 85f6f60197fe56c90b663fb34db4cddf62c28c1b
* tests/gpgscm/scheme.c (oblist_add_by_name): Provide preallocation
information if USE_OBJECT_LIST.
gpgscm: Remove unused functions.
+ commit 92e929d4b91cbb5e36d6cb89aabf2211a7185a65
* tests/gpgscm/scheme.c (check_cell_alloced): Remove function.
(check_range_alloced): Likewise.
2017-01-30 Justus Winter <justus@g10code.com>
gpgscm: Use a compact vector representation.
+ commit 5809edef40acf1f8f0e71b69dcb10e1d5464f2a5
* tests/gpgscm/scheme-private.h (struct cell): Add a compact vector
representation.
* tests/gpgscm/scheme.c (vector_length): Use new representation.
(vector_size): New macro.
(get_vector_object): Use the new representation.
(fill_vector): Likewise.
(vector_elem): Likewise.
(set_vector_elem): Likewise.
(mark): Likewise.
(gc): Likewise. Be careful not to confuse immediate values for type
flags.
(finalize_cell): Vectors now require finalization.
gpgscm: Provide framework for immediate values.
+ commit e1dc204ac465498436f463d419b9583011026807
* tests/gpgscm/scheme.c (IMMEDIATE_TAG): New macro.
({is,set,clr}_immediate): Likewise.
(enum scheme_types): Make type tags disjoint from immediate values.
(TYPE_BITS): We need one more bit now.
(ADJ,T_MASKTYPE): Compute values.
gpgscm: Fix setting the line of the first gc reservation.
+ commit c587e6a038fc532df064eec7bea2ad1db31238ad
* tests/gpgscm/scheme.c (_gc_disable): Negate guard.
gpgscm: Introduce macro for the vector length.
+ commit e2caaa957b56f20cfe09bc6ca5a595b37a860b51
* tests/gpgscm/scheme.c (vector_length): New macro.
(get_vector_object): Use the new macro.
(oblist_add_by_name): Likewise.
(oblist_find_by_name): Likewise.
(oblist_all_symbols): Likewise.
(mk_vector): Likewise.
(mark): Likewise.
(new_slot_spec_in_env): Likewise.
(find_slot_spec_in_env): Likewise.
(opexe_2): Likewise.
(opexe_5): Likewise.
2017-01-19 Werner Koch <wk@gnupg.org>
estream: Correctly set ERRNO to EOPNOTSUPP.
+ commit 55c497904dd0794ca5cfcafe369943736b0d4e62
* src/estream.c (es_flush, es_write_nbf): Fix setting of ERRNO to
EOPNOTSUPP.
2017-01-17 Werner Koch <wk@gnupg.org>
build: Modernize autogen.sh.
+ commit 66275ac5b8db9d83a72b5497eec4e6d9ac3b4e65
* autogen.sh: Update from GnuPG.
* autogen.rc (version_parts): New.
* configure.ac: Change to use autogen.sh --find-version helper.
* Makefile.am (dist-hook): Do not create VERSION
(EXTRA_DIST): Add VERSION.
2017-01-10 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
doc,configure: Be consistent about preferring --with-libgpg-error-prefix
+ commit 19de4cef279272d3969e36dd8cd2fa05a7bf5276
* doc/gpgrt.texi: Say "--with-libgpg-error-prefix" instead of
"--with-gpg-error-prefix".
* src/gpg-error.m4: When warning about library locations, warn with
the preferred "--with-libgpg-error-prefix" name.
2017-01-03 Werner Koch <wk@gnupg.org>
Fix macro GPGRT_GCC_VERSION.
+ commit 704c31992e8716bbe61e6d5751e125a64badeef0
* src/gpg-error.h.in (GPGRT_GCC_VERSION): Fix.
2017-01-02 Justus Winter <justus@g10code.com>
gpgscm: Fail if too many arguments are given.
+ commit 56787d898a6911e62b35c3054a22df1a913c26cf
* tests/gpgscm/scheme.c (opexe_0): Enable check.
* tests/gpgscm/tests.scm (test::report): Remove superfluous argument.
gpgscm: Add 'finally', rework all macros.
+ commit 7d95db002aac773e596c551b8fcba2d983244495
* tests/gpgscm/init.scm (finally): New macro.
* tests/gpgscm/tests.scm (letfd): Rewrite.
(with-working-directory): Likewise.
(with-temporary-working-directory): Likewise.
(lettmp): Likewise.
gpgscm: Use boxed values for source locations.
+ commit 4165c9303d894179c0da3a1b12316d3df8d4ce82
* tests/gpgscm/scheme-private.h (struct port): Use boxed values for
filename and current line. This allows us to use the same Scheme
object for labeling all expressions in a file.
* tests/gpgscm/scheme.c (file_push): Use boxed type for filename.
(mark): Mark location objects of port objects.
(gc): Mark location objects in the load stack.
(port_clear_location): New function.
(port_reset_current_line): Likewise.
(port_increment_current_line): Likewise.
(file_pop): Adapt accordingly.
(port_rep_from_filename): Likewise.
(port_rep_from_file): Likewise.
(port_close): Likewise.
(skipspace): Likewise.
(token): Likewise.
(_Error_1): Likewise.
(opexe_0): Likewise.
(opexe_5): Likewise.
(scheme_deinit): Likewise.
(scheme_load_file): Likewise.
(scheme_load_named_file): Likewise.
2016-12-21 Justus Winter <justus@g10code.com>
gpgscm: Guard use of union member.
+ commit aa6b3449bf1b42703b4c6466d87f91620743a5d2
* tests/gpgscm/scheme.c (opexe_5): Check that we have a file port
before accessing filename. Fixes a crash on 32-bit architectures.
2016-12-21 Werner Koch <wk@gnupg.org>
Release 1.26.
+ commit 82266defa39901ec9f97533623af5638a35e5a77
* configure.ac: Bump LT version to C21/A21/R0.
2016-12-20 Justus Winter <justus@g10code.com>
tests: Move argument parser.
+ commit 5f16dec938ac6e337c6ff72981285385d75ec455
* tests/gpgme/gpgme-defs.scm (flag): Move...
* tests/gpgscm/tests.scm: ... over here.
2016-12-19 Justus Winter <justus@g10code.com>
gpgscm: Change associativity of ::.
+ commit 3ae0b5d9af063e7af03558be2bf8f32e5bb4e5cd
* tests/gpgscm/scheme.c (mk_atom): Change associativity of the ::
infix-operator. This makes it possible to naturally express accessing
nested structures (e.g. a::b::c).
gpgscm: Display location when assertions fail.
+ commit b852ac097f3dfe4e62c3d27e18a22f1b9f704530
* tests/gpgscm/lib.scm (assert): Use location information if
available.
gpgscm: Make exception handling more robust.
+ commit 5221e0b2a3bd2dbb4f997e3c2118b176e10e116e
* tests/gpgscm/init.scm (throw'): Check that args is a list.
2016-12-13 Justus Winter <justus@g10code.com>
gpgscm: Print failed and skipped tests.
+ commit e8c5871609dd3ff3b2aa3d21ab5c3651ba683ed7
* tests/gpgscm/tests.scm (test-pool::report): Print failed and skipped
tests at the end.
gpgscm: Generalize the test runner.
+ commit b1e67a725d17ff1605ba79d8bb61f37c4a48f0a5
* tests/gpgscm/tests.scm (test::scm) Add explicit name argument.
(test::binary): Likewise. Also, add missing unquote.
* tests/openpgp/run-tests.scm: Adapt accordingly.
gpgscm: Move the test runner to the Scheme library.
+ commit 0031a4d4d8a1851f0c32ad1af2f42f59bd016001
* tests/openpgp/run-tests.scm: Move most of the code...
* tests/gpgscm/tests.scm: ... here.
gpgscm: Improve library functions.
+ commit f745dcab2b1789c8f64c2be4b5dcc7322212e1d2
* tests/gpgscm/tests.scm (absolute-path?): New function.
(canonical-path): Use the new function.
* tests/gpgscm/lib.scm (string-split-pln): New function.
(string-indexp, string-splitp): Likewise.
(string-splitn): Express using the above function.
(string-ltrim, string-rtrim): Fix corner case.
(list->string-reversed): New function.
(read-line): Fix performance.
2016-12-13 Werner Koch <wk@gnupg.org>
New error code GPG_ERR_TRY_LATER.
+ commit f02a657f0129b30700b2f36956ee37b40cc2da82
2016-12-12 Werner Koch <wk@gnupg.org>
New error code GPG_ERR_DNS_TIMEOUT.
+ commit 90b4dfad438900c7808b8c2995ba984fa3587bb2
New error codes to support libdns.
+ commit 56ab574c28586fccd95a08acdc9ee4962ab0db50
2016-12-08 Justus Winter <justus@g10code.com>
gpgscm: Better error reporting.
+ commit 735c66bd2d5672de8cc7573fe9d6af4615b86fe2
* tests/gpgscm/ffi.scm: Move the customized exception handling and
atexit logic...
* tests/gpgscm/init.scm: ... here.
(throw): Record the current history.
(throw'): New function that is history-aware.
(rethrow): New function.
(*error-hook*): Use the new throw'.
* tests/gpgscm/main.c (load): Fix error handling.
(main): Save and use the 'sc->retcode' as exit code.
* tests/gpgscm/repl.scm (repl): Print call history.
* tests/gpgscm/scheme.c (_Error_1): Make a snapshot of the history,
use it to provide a accurate location of the expression causing the
error at runtime, and hand the history trace to the '*error-hook*'.
(opexe_5): Tag all lists at parse time with the current location.
* tests/gpgscm/tests.scm: Update calls to 'throw', use 'rethrow'.
gpgscm: Keep a history of calls for error messages.
+ commit 81c95b26e769a1ed4933fdf598a3df42d0416928
* tests/gpgscm/init.scm (vm-history-print): New function.
* tests/gpgscm/opdefines.h: New opcodes 'CALLSTACK_POP', 'APPLY_CODE',
and 'VM_HISTORY'.
* tests/gpgscm/scheme-private.h (struct history): New definition.
(struct scheme): New field 'history'.
* tests/gpgscm/scheme.c (gc): Mark objects in the history.
(history_free): New function.
(history_init): Likewise.
(history_mark): Likewise.
(add_mod): New macro.
(sub_mod): Likewise.
(tailstack_clear): New function.
(callstack_pop): Likewise.
(callstack_push): Likewise.
(tailstack_push): Likewise.
(tailstack_flatten): Likewise.
(callstack_flatten): Likewise.
(history_flatten): Likewise.
(opexe_0): New variable 'callsite', keep track of the expression if it
is a call, implement the new opcodes, record function applications in
the history.
(opexe_6): Implement new opcode.
(scheme_init_custom_alloc): Initialize history.
(scheme_deinit): Free history.
* tests/gpgscm/scheme.h (USE_HISTORY): New macro.
gpgscm: Add flag TAIL_CONTEXT.
+ commit 83175b317dccceb149906cda721aa33178797f3e
* tests/gpgscm/scheme.c (S_FLAG_TAIL_CONTEXT): New macro. This flag
indicates that the interpreter is evaluating an expression in a tail
context (see R5RS, section 3.5).
(opexe_0): Clear and set the flag according to the rules layed out in
R5RS, section 3.5.
(opexe_1): Likewise.
gpgscm: Add flags to the interpreter.
+ commit 14d9ea4bd43e077fab4c756b513557cad76aacd2
* tests/gpgscm/scheme-private.h (struct scheme): Add field 'flags'.
* tests/gpgscm/scheme.c (S_OP_MASK): New macro.
(S_FLAG_MASK, s_set_flag, s_clear_flag, s_get_flag): Likewise.
(_s_return): Unpack the encoded opcode and flags.
(s_save): Encode the flags along with the opcode. Use normal
integers to encode the result.
(scheme_init_custom_alloc): Initialize 'op' and 'flags'.
gpgscm: Implement tags.
+ commit 88753eea0d9b1ea40a46f3b3969d418ba75cccf9
* tests/gpgscm/opdefines.h: Add opcodes to create and retrieve tags.
* tests/gpgscm/scheme.c (T_TAGGED): New macro.
(mk_tagged_value): New function.
(has_tag): Likewise.
(get_tag): Likewise.
(mark): Mark tag.
(opexe_4): Implement new opcodes.
* tests/gpgscm/scheme.h (USE_TAGS): New macro.
gpgscm: Generalize 'for-each-p'.
+ commit 94e8811cb2fd0cb56b330a811d13075d54681e38
* tests/gpgscm/tests.scm (for-each-p): Generalize to N lists like
for-each.
(for-each-p'): Likewise.
2016-12-06 Justus Winter <justus@g10code.com>
tests: Rename 'error' to 'fail'.
+ commit 85613efd8d49b39c1310d84484cb1647db83b4d5
* tests/gpgscm/tests.scm (error): Rename to 'fail'. 'error' is a
primitive function (an opcode) of the TinySCHEME vm, and 'error' is
also defined by R6RS. Better avoid redefining that. Fix all call
sites.
* tests/openpgp/4gb-packet.scm: Adapt.
* tests/openpgp/decrypt-multifile.scm: Likewise.
* tests/openpgp/ecc.scm: Likewise.
* tests/openpgp/export.scm: Likewise.
* tests/openpgp/gpgtar.scm: Likewise.
* tests/openpgp/gpgv-forged-keyring.scm: Likewise.
* tests/openpgp/import.scm: Likewise.
* tests/openpgp/issue2015.scm: Likewise.
* tests/openpgp/issue2346.scm: Likewise.
* tests/openpgp/issue2419.scm: Likewise.
* tests/openpgp/key-selection.scm: Likewise.
* tests/openpgp/mds.scm: Likewise.
* tests/openpgp/multisig.scm: Likewise.
* tests/openpgp/setup.scm: Likewise.
* tests/openpgp/signencrypt.scm: Likewise.
* tests/openpgp/ssh-import.scm: Likewise.
* tests/openpgp/tofu.scm: Likewise.
* tests/openpgp/verify.scm: Likewise.
2016-12-06 Neal H. Walfield <neal@g10code.com>
tests: Change (interactive-shell) to start an interactive shell.
+ commit 0d27b63f35c1e3a36631874fd111d3df2a1d51db
* tests/gpgscm/tests.scm (interactive-shell): Start an interactive
shell.
2016-12-02 Werner Koch <wk@gnupg.org>
Fix NULL segv in new option --desc.
+ commit 140a19617c78d5f0e2ac8d7e2c8e7092862ec2fb
* src/gpg-error.c (print_desc): Shortcur for unknown symbols.
New error code GPG_ERR_INV_FLAG.
+ commit c761c981b38741421d13bb7102b1ea7625d2d639
New option --desc for gpg-error.
+ commit b462d603f5110842489edce9e01e4ea40ac05cba
* doc/errorref.txt: Remove all tabs.
* doc/Makefile.am (install-data-local): New to install errorref.txt.
(uninstall-local): New.
(errorref.txt.x): New.
* src/Makefile.am (gpg_error_CPPFLAGS): Define PKGDATADIR
* src/gpg-error.c (print_desc): New.
(show_usage): New.
(main): Improve option parser. Add new option --desc. Call
print_desc.
2016-11-29 Justus Winter <justus@g10code.com>
gpgscm: Avoid truncating pointers.
+ commit 941c0efdf826717aae88ea448ec60801f74bb476
* tests/gpgscm/scheme.c (_alloc_cellseg): Avoid truncating pointers on
systems where sizeof(unsigned long) < sizeof(void *).
2016-11-23 Justus Winter <justus@g10code.com>
gpgscm: Make 'reverse' compatible with 'reverse_in_place'.
+ commit 7f7869357cae0f75c5976ece12a1d94a659b904a
* tests/gpgscm/scheme.c (reverse): Update prototype, add terminator
argument.
(opexe_4): Update callsite.
gpgscm: Clean sweeped cells.
+ commit a078d448415c74ee5169d548a901d27380d933f3
* tests/gpgscm/scheme.c (gc): Zero typeflag and car of free cells.
gpgscm: Fix initialization of 'sink'.
+ commit 95db0d64ac0ccab6cf0e6d6ec25251ccb0fab9d3
* tests/gpgscm/scheme.c (scheme_init_custom_alloc): Also initialize
cdr.
2016-11-22 Justus Winter <justus@g10code.com>
gpgscm: Refactor.
+ commit b18458f3dfd53627994783d0f2ad835ae70a05af
* tests/gpgscm/scheme.c (opexe_0): Reduce code duplication.
gpgscm: Fix property lists.
+ commit 08f16887de9d6f6dcb0b7a377407dbd4f541fe13
* tests/gpgscm/opdefines.h (put, get): Check arguments. Also rename
to 'set-symbol-property' and 'symbol-property', the names used by
Guile, because put and get are too unspecific.
* tests/gpgscm/scheme.c (hasprop): Only symbols have property lists.
(get_property): New function.
(set_property): Likewise.
(opexe_4): Use the new functions.
gpgscm: Fix installation of error handler.
+ commit 185ba177abeaf2f8ad66529a42966362107a2d8b
* tests/gpgscm/ffi.scm: Set '*error-hook*' again so that the
interpreter will use our function.
gpgscm: Use a static pool of cells for small integers.
+ commit eca7b9bbee2986157ec6c078c998bd8a25becd8f
* tests/gpgscm/scheme-private.h (struct scheme): New fields for the
static integer cells.
* tests/gpgscm/scheme.c (_alloc_cellseg): New function.
(alloc_cellseg): Use the new function.
(MAX_SMALL_INTEGER): New macro.
(initialize_small_integers): New function.
(mk_small_integer): Likewise.
(mk_integer): Return a small integer if possible.
(_s_return): Do not free 'op' if it is a small integer.
(s_save): Use a small integer to box the opcode.
(scheme_init_custom_alloc): Initialize small integers.
(scheme_deinit): Free chunk of small integers.
* tests/gpgscm/scheme.h (USE_SMALL_INTEGERS): New macro.
2016-11-17 Justus Winter <justus@g10code.com>
gpgscm: Re-enable the garbage collector in case of errors.
+ commit d2a75dc5ae2b172a232dad88639b15b4930b9151
* tests/gpgscm/scheme.c (opexe_0): Enable gc before calling 'Error_1'.
gpgscm: Fix string.
+ commit 63cad2c16fdd343be89b576901c8f34de7cb74bf
* tests/gpgscm/scheme.c (type_to_string): Fix string.
2016-11-17 NIIBE Yutaka <gniibe@fsij.org>
Fix EXEEXT for lock obj creation.
+ commit eeef6b8724b43e105ae2beef022fc957eb228bcf
* src/Makefile.am (lock-obj-pub.native.h): Add EXEEXT for
the executable gen-posix-lock-obj.
2016-11-15 Justus Winter <justus@g10code.com>
gpgscm: Mark cells requiring finalization.
+ commit ad10069af6b0d247f27b7dbf891029eb34d264e0
* tests/gpgscm/scheme.c (T_FINALIZE): New macro.
(mk_port): Use the new macro.
(mk_foreign_object): Likewise.
(mk_counted_string): Likewise.
(mk_empty_string): Likewise.
(gc): Only call 'finalize_cell' for cells with the new flag.
gpgscm: Recover more cells.
+ commit dd6bd1bf2a767e22bb7c1bd470ce94527a9fae3d
* tests/gpgscm/scheme.c (_s_return): Recover the cell holding the
opcode.
2016-11-14 Werner Koch <wk@gnupg.org>
Release 1.25.
+ commit 6d834f817fdb741ec64dcfbd2166ea044e4e0c3d
* configure.ac: Set LT version to C20/A20/R0.
po: Update German translation.
+ commit 9cecc8ccded0759d94b08c9859e7ea843430dd97
Fix typo in two new error descriptions.
+ commit 80350f97e9e811b9e77b59b8fc4172043f072f42
2016-11-14 Justus Winter <justus@g10code.com>
gpgscm: Avoid cell allocation overhead.
+ commit dc1d3a79fa3e7944ea6ef02bc968446f9aa6d648
* tests/gpgscm/scheme-private.h (struct scheme): New fields
'inhibit_gc', 'reserved_cells', and 'reserved_lineno'.
* tests/gpgscm/scheme.c (GC_ENABLED): New macro.
(USE_GC_LOCKING): Likewise.
(gc_reservations): Likewise.
(gc_reservation_failure): New function.
(_gc_disable): Likewise.
(gc_disable): New macro.
(gc_enable): Likewise.
(gc_enabled): Likewise.
(gc_consume): Likewise.
(get_cell_x): Consume reserved cell if garbage collection is disabled.
(_get_cell): Assert that gc is enabled.
(get_cell): Only record cell in the list of recently allocated cells
if gc is enabled.
(get_vector_object): Likewise.
(gc): Assert that gc is enabled.
(s_return): Add comment, adjust call to '_s_return'.
(s_return_enable_gc): New macro.
(_s_return): Add flag 'enable_gc' and re-enable gc if set.
(oblist_add_by_name): Use the new facilities to protect the
allocations.
(new_frame_in_env): Likewise.
(new_slot_spec_in_env): Likewise.
(s_save): Likewise.
(opexe_0): Likewise.
(opexe_1): Likewise.
(opexe_2): Likewise.
(opexe_5): Likewise.
(opexe_6): Likewise.
(scheme_init_custom_alloc): Initialize the new fields.
2016-11-12 Justus Winter <justus@g10code.com>
estream: Support 'es_poll' on Windows.
+ commit 40e5ff0a0084c0d9521b401db4f38885bfdae233
* src/Makefile.am (arch_sources): Add new file.
* src/estream.c (O_NONBLOCK): Move to 'gpgrt-int.h'.
(BUFFER_BLOCK_SIZE): Likewise.
(BUFFER_UNREAD_SIZE): Likewise.
(struct notify_list_s, notify_list_t): Likewise.
(struct _gpgrt_stream_internal, estream_internal_t): Likewise.
(X_POLLABLE): New macro.
(parse_mode): Parse keyword 'pollable', emulate O_NONBLOCK using the
same mechanism on Windows.
(_gpgrt_poll): Use the new '_gpgrt_w32_poll' on Windows.
* src/gpgrt-int.h (_gpgrt_functions_w32_pollable): New declaration.
(_gpgrt_w32_pollable_create): New prototype.
(_gpgrt_w32_poll): Likewise.
* src/w32-estream.c: New file. This code is adapted from GPGME.
* tests/t-poll.c (create_pipe): Create pollable streams.
estream: Track the kind of backend used.
+ commit e15416d3668ea9dcc6a64cbb98140a99be8a7865
* src/estream.c (struct _gpgrt_stream_internal): Add 'kind'.
(init_stream_obj): New parameter 'kind', initialize field.
(es_create): New parameter 'kind'. Update all callers.
* src/gpgrt-int.h (gpgrt_stream_backend_kind_t): New type.
estream: Rework how the cookie functions are handled.
+ commit a0651e910f962a49b0b7f7942512f17a5fe39a7d
* src/estream.c (cookie_ioctl_function_t): Move to 'gpgrt-int.h',
along with the macros for the IOCTL numbers.
(estream_functions_mem): Use the new type and add the ioctl function.
(estream_functions_fd): Likewise.
(estream_functions_w32): Likewise.
(estream_functions_fp): Likewise.
(init_stream_object): Use the new type, and also initialize
'func_ioctl'.
(es_create): Use the new type.
(_gpgrt_fopen): Adapt.
(_gpgrt_mopen): Likewise.
(_gpgrt_fopenmem): Likewise.
(_gpgrt_fopencookie): Likewise.
(_gpgrt_fdopen): Likewise.
(_gpgrt_fpopen): Likewise.
(do_w32open): Likewise.
* src/gpgrt-int.h (struct cookie_io_functions_s): New type.
estream: Rework modestring handling.
+ commit 135319b5d1f9a88187687646c762759cfa05a7ec
* src/estream.c (X_SAMETHREAD, X_SYSOPEN): New macros.
(parse_mode): Rework how information flows from here to 'es_create'.
Instead of using an integer flag per mode, use flags.
(init_stream_obj): Adapt accordingly.
(es_create): Likewise.
(_gpgrt_fopen): Likewise.
(_gpgrt_mopen): Likewise.
(_gpgrt_fopenmem): Likewise.
(_gpgrt_fopencookie): Likewise.
(_gpgrt_fdopen): Likewise.
(_gpgrt_fpopen): Likewise.
(do_w32open): Likewise.
(_gpgrt_freopen): Likewise.
2016-11-12 Werner Koch <wk@gnupg.org>
Add new interface gpgrt_get_syscall_clamp.
+ commit b7972767513c8748096ebed78d1e1621bd2bd459
* src/visibility.c (gpgrt_get_syscall_clamp): New.
* src/gpg-error.vers, src/gpg-error.def.in: Add function.
* src/gpg-error.h.in: Ditto.
* src/estream.c (_gpgrt_get_syscall_clamp): New.
2016-11-11 Werner Koch <wk@gnupg.org>
Use the syscall clamp functions also for lock functions.
+ commit 25d463c67821901c8fd6736c815f11e85bbae66f
* src/posix-lock.c (pre_lock_func, post_lock_func): New.
(_gpgrt_lock_set_lock_clamp): New.
(_gpgrt_lock_lock): Use clamp functions.
* src/w32-lock.c (pre_lock_func, post_lock_func): New.
(_gpgrt_lock_set_lock_clamp): New.
(_gpgrt_lock_lock): Use clamp functions.
* src/posix-lock.c (pre_syscall_func, post_syscall_func): New.
(_gpgrt_thread_set_syscall_clamp): New.
(_gpgrt_yield): Use clamp functions.
* src/w32-lock.c (pre_syscall_func, post_syscall_func): New.
(_gpgrt_thread_set_syscall_clamp): New.
(_gpgrt_yield): Use clamp functions.
* src/estream.c: Include lock.h and thread.h.
(do_deinit): Call _gpgrt_lock_set_lock_clamp.
(_gpgrt_set_syscall_clamp): Ditto.
2016-11-11 Andre Heinecke <aheinecke@intevation.de>
w32: Fix lock c++ narrowing conversion warning.
+ commit b1ccab5bf8e1206aae1307ad5d23890be4251c8f
* src/syscfg/lock-obj-pub.mingw32.h (gpgrt_lock_t): Declare priv as
unsigned char.
2016-11-10 Werner Koch <wk@gnupg.org>
Change description of GPG_ERR_OPEN_KEYRING.
+ commit bae57a21cfab25ad11c82dc6e69d82d1f2f7a415
2016-11-10 Justus Winter <justus@g10code.com>
gpgscm: Recover cells from the list of recently allocated cells.
+ commit 1659878b827d0a4e041921e0c3a3555d39a742df
* tests/gpgscm/scheme.c (ok_to_freely_gc): Recover cells.
gpgscm: Recover cells used to maintain interpreter state.
+ commit 85388f1ef82bd0a92e94a463acfa157e6f9356f8
* tests/gpgscm/scheme.c (free_cell): New function.
(free_cons): Likewise.
(_s_return): Use the new function to recover cells used to save the
state of the interpreter in 's_save'. This reduces the need to do a
garbage collection considerably.
gpgscm: Reduce opcode dispatch overhead.
+ commit f65fb16724712b3d6072f27b47e2658f27398dd4
* tests/gpgscm/scheme.c (s_thread_to): New macro.
(CASE): Likewise.
(opexe_[0-6]): Use 'CASE' instead of 'case' statements, replace
's_goto' with 's_thread_to' where applicable.
gpgscm: Make the compile-hook configurable.
+ commit a678b9fdf7d48409a32afab5b487322a7fc11e16
* tests/gpgscm/scheme-private.h (struct scheme): Make field
'COMPILE_HOOK' optional.
* tests/gpgscm/scheme.c (opexe_0): Fix guard.
(scheme_init_custom_alloc): Conditionally initialize 'COMPILE_HOOK'.
* tests/gpgscm/scheme.h (USE_COMPILE_HOOK): Define to 1 by default.
gpgscm: Drop obsolete commented-out code.
+ commit f69a754515f43037da8ac8535967cd825b220be4
* tests/gpgscm/scheme.c (opexe_5): Drop obsolete code.
gpgscm: Remove dubious stack implementation.
+ commit a6ce303f0c69542999c607309128afd6293e2e1b
* tests/gpgscm/scheme-private.h (struct scheme): Remove related fields.
* tests/gpgscm/scheme.c: Drop all !USE_SCHEME_STACK code.
* tests/gpgscm/scheme.h (USE_SCHEME_STACK): Remove macro.
2016-11-08 Justus Winter <justus@g10code.com>
gpgscm: Expose seek and associated constants.
+ commit 13831e9cd6839e44a8e32c640589edb8bf17ef51
* tests/gpgscm/ffi.c (do_seek): New function.
(ffi_init): Expose 'seek' and 'SEEK_{SET,CUR,END}'.
* tests/gpgscm/lib.scm: Document the new function.
gpgscm: Fix error message.
+ commit d5458258299889af97e714c15e6a9b859e1a0545
* tests/gpgscm/ffi.c (do_wait_processes): Fix and improve error
messages.
2016-11-07 Justus Winter <justus@g10code.com>
gpgscm: Generalize splice to write to multiple sinks.
+ commit 1edacbc5a4a0f4dee3ab82c1fda7c7b1c5874761
* tests/gpgscm/ffi.c (ordinal_suffix): New function.
(do_splice): Generalize splice to write to multiple sinks.
* tests/gpgscm/lib.scm (splice): Document this fact.
gpgscm: Drop 'len' argument from splice.
+ commit 598aeda60bc3e6d49d935927b5ec33145f7af9db
* tests/gpgscm/ffi.c (do_splice): Drop 'len' argument, no-one uses it.
* tests/gpgscm/lib.scm (splice): Document foreign function.
tests: Move environment creation and teardown into each test.
+ commit 1564fc3b2ff52e7e5ad9b01a24e1f399934775b8
* tests/gpgscm/tests.scm (log): New function.
* tests/openpgp/run-tests.scm (run-tests-parallel): Do not run the
startup and teardown scripts.
(run-tests-sequential): Likewise.
* tests/openpgp/setup.scm: Move all functions...
* tests/openpgp/defs.scm: ... here and make them less verbose.
(setup-environment): New function.
(setup-legacy-environment): Likewise.
(start-agent): Make less verbose, run 'stop-agent' at interpreter
exit.
(stop-agent): Make less verbose.
* tests/openpgp/finish.scm: Drop file.
* tests/openpgp/Makefile.am (EXTRA_DIST): Drop removed file.
* tests/openpgp/4gb-packet.scm: Use 'setup-environment' or
'setup-legacy-environment' as appropriate.
* tests/openpgp/armdetach.scm: Likewise.
* tests/openpgp/armdetachm.scm: Likewise.
* tests/openpgp/armencrypt.scm: Likewise.
* tests/openpgp/armencryptp.scm: Likewise.
* tests/openpgp/armor.scm: Likewise.
* tests/openpgp/armsignencrypt.scm: Likewise.
* tests/openpgp/armsigs.scm: Likewise.
* tests/openpgp/clearsig.scm: Likewise.
* tests/openpgp/conventional-mdc.scm: Likewise.
* tests/openpgp/conventional.scm: Likewise.
* tests/openpgp/decrypt-dsa.scm: Likewise.
* tests/openpgp/decrypt.scm: Likewise.
* tests/openpgp/default-key.scm: Likewise.
* tests/openpgp/detach.scm: Likewise.
* tests/openpgp/detachm.scm: Likewise.
* tests/openpgp/ecc.scm: Likewise.
* tests/openpgp/encrypt-dsa.scm: Likewise.
* tests/openpgp/encrypt.scm: Likewise.
* tests/openpgp/encryptp.scm: Likewise.
* tests/openpgp/export.scm: Likewise.
* tests/openpgp/finish.scm: Likewise.
* tests/openpgp/genkey1024.scm: Likewise.
* tests/openpgp/gpgtar.scm: Likewise.
* tests/openpgp/gpgv-forged-keyring.scm: Likewise.
* tests/openpgp/import.scm: Likewise.
* tests/openpgp/issue2015.scm: Likewise.
* tests/openpgp/issue2417.scm: Likewise.
* tests/openpgp/issue2419.scm: Likewise.
* tests/openpgp/key-selection.scm: Likewise.
* tests/openpgp/mds.scm: Likewise.
* tests/openpgp/multisig.scm: Likewise.
* tests/openpgp/quick-key-manipulation.scm: Likewise.
* tests/openpgp/seat.scm: Likewise.
* tests/openpgp/shell.scm: Likewise.
* tests/openpgp/signencrypt-dsa.scm: Likewise.
* tests/openpgp/signencrypt.scm: Likewise.
* tests/openpgp/sigs-dsa.scm: Likewise.
* tests/openpgp/sigs.scm: Likewise.
* tests/openpgp/ssh.scm: Likewise.
* tests/openpgp/tofu.scm: Likewise.
* tests/openpgp/use-exact-key.scm: Likewise.
* tests/openpgp/verify.scm: Likewise.
* tests/openpgp/version.scm: Likewise.
* tests/openpgp/issue2346.scm: Likewise and simplify.
gpgscm,w32: Provide schemish file handling for binary files.
+ commit fa82512020f8cd91c68bbf1d24a4f6bffe5385ba
* tests/gpgscm/lib.scm (call-with-binary-input-file): New function.
(call-with-binary-output-file): Likewise.
gpgscm: Add support for pseudo-random numbers.
+ commit 70c5f30074ec996f60f62cd09e67167da78c6d8a
* tests/gpgscm/ffi.c (do_getpid): New function.
(do_srandom): Likewise.
(random_scaled): Likewise.
(do_random): Likewise.
(do_make_random_string): Likewise.
(ffi_init): Expose the new functions.
* tests/gpgscm/lib.scm: Document the new functions.
2016-11-04 Justus Winter <justus@g10code.com>
gpgscm: Fix printing strings containing zero bytes.
+ commit fa221a1d5272eb231393a2cc0173635a5098bb89
* tests/gpgscm/scheme.c (atom2str): Fix computing the length of Scheme
strings. Scheme strings can contain zero bytes.
gpgscm: Implement 'atexit'.
+ commit 97024a0cd0e1f5262ee60bf40a91f169bcc45a23
* tests/gpgscm/ffi.scm (throw): Run *run-atexit-handlers* when
terminating the interpreter.
(*atexit-handlers*): New variable.
(*run-atexit-handlers*): New function.
(atexit): Likewise.
* tests/gpgscm/main.c (main): Run *run-atexit-handlers* at normal
interpreter shutdown.
2016-11-03 Justus Winter <justus@g10code.com>
gpgscm,tests: Add new functions to the test environment.
+ commit e4a694eb48a098c3a3983767099dcce4e9157d16
* tests/gpgscm/lib.scm (first, last, powerset): New functions.
* tests/gpgscm/tests.scm (interactive-shell): New function.
* tests/openpgp/Makefile.am (EXTRA_DIST): Add new file.
* tests/openpgp/README: Document 'interactive-shell'.
* tests/openpgp/shell.scm: New file.
2016-11-02 Justus Winter <justus@g10code.com>
gpgscm: Fix inclusion of readline header.
+ commit 0ccc6f5ffccec23587d06e32da88fb0acd80f2c6
* tests/gpgscm/ffi.c: Define magic macro to prevent the completion
function from redefined.
2016-11-02 Werner Koch <wk@gnupg.org>
Add error codes GPG_ERR_TOO_YOUNG and GPG_ERR_TOO_OLD.
+ commit 49e32eed4550869644d706352d683ddba5696d4e
2016-10-20 Justus Winter <justus@g10code.com>
common,w32: Fix setting environment variables on Windows.
+ commit e7ba35f207cb06f6d0e085ab3faf68d118606655
* common/sysutils.c (gnupg_setenv): Also update the environment block
maintained by the C runtime.
(gnupg_unsetenv): Likewise.
* tests/gpgscm/ffi.c (do_setenv): Fix error handling.
2016-10-18 Justus Winter <justus@g10code.com>
estream: Fix modestring parsing.
+ commit 0734f4863859257d18ca96f4b9be62be75fcffe1
* src/estream.c (parse_mode): Fix parsing the 'sysopen' flag.
2016-10-17 Justus Winter <justus@g10code.com>
gpgscm: Initialize nesting stack.
+ commit 7a262df038f495d27e2d8ec806ea0d47c925c88b
* tests/gpgscm/scheme.c (scheme_init_custom_alloc): Initialize nesting
stack.
2016-10-07 Justus Winter <justus@g10code.com>
tests: Improve handling of Windows newlines.
+ commit e8db2ea9542eef0bc7b51c9f69109a056269c048
* tests/gpgscm/lib.scm (string-split-newlines): New function.
* tests/openpgp/default-key.scm: Use new function.
* tests/openpgp/defs.scm: Likewise.
* tests/openpgp/export.scm: Likewise.
* tests/openpgp/import.scm: Likewise.
gpgscm: Improve test of low-level functions.
+ commit 2e47dcf432bc26cbaa1a6ba6716ab74facd06353
* tests/gpgscm/t-child.c: Print large amounts of data.
* tests/gpgscm/t-child.scm: Test that this works.
gpgscm: Improve path handling.
+ commit ff00a2d792091f35380c9541ee88fbd9c0d76c43
* tests/gpgscm/ffi.c (ffi_init): New Scheme variable '*win32*'.
* tests/gpgscm/tests.scm (canonical-path): Correctly handle paths with
drive letter on Windows. Use 'path-join'.
(path-expand): Use 'path-join'.
2016-10-07 Werner Koch <wk@gnupg.org>
Add error code USER_ID_EXISTS, NAME_EXISTS, and DUP_NAME.
+ commit 0c837a82207d0b19f9dabc8870ffb23d6a4ade64
2016-10-06 Justus Winter <justus@g10code.com>
gpgscm: Update callsite of 'gnupg_spawn_process'.
+ commit bbd3be18ca9feac21963cc7d682f5a7d89fd9aba
* tests/gpgscm/ffi.c (do_spawn_process): Adapt to the changes to
'gnupg_spawn_process'.
2016-10-04 Justus Winter <justus@g10code.com>
tests,w32: Do not expose 'glob' to gpgscm.
+ commit 7359d7acb687d572dd0a4e40fd979566efbf4e21
* tests/gpgscm/ffi.c (do_glob): Remove function.
(ffi_init): Likewise.
2016-09-19 Justus Winter <justus@g10code.com>
tests: Refine the repl function.
+ commit a3b6b7643d906264b56d6fa041bcb95e96eb1898
* tests/gpgscm/repl.scm (repl): Add an argument 'environment'.
(interactive-repl): Add an optional argument 'environment'.
tests: Implement interpreter shutdown using exceptions.
+ commit ea399aaaf4c9de92d24ab59cdc3586608bf35698
* tests/gpgscm/ffi.c (ffi_init): Rename 'exit' to '_exit'.
* tests/gpgscm/ffi.scm (*interpreter-exit*): New variable.
(throw): New function.
(exit): New function.
tests: Correctly handle exceptions in resource handling macros.
+ commit ec34346129c77a7011872812567689aa09d99caa
* tests/gpgscm/tests.scm (letfd): Correctly release resources when an
exception is thrown.
(with-working-directory): Likewise.
(with-temporary-working-directory): Likewise.
(lettmp): Likewise.
tests: Refine exception handling.
+ commit 3fd08ed018f837399564896462f64af8ae389eec
* tests/gpgscm/init.scm (catch): Bind all arguments to '*error*' in
the error handler, update and fix comment.
(*error-hook*): Revert to original definition.
* tests/gpgscm/tests.scm (tr:do): Adapt accordingly.
* tests/openpgp/issue2419.scm: Likewise.
tests: Use descriptive temporary file names.
+ commit 86f421b7de364138d2d066b267b0f08a62c42a42
* tests/gpgscm/ffi.c (do_get_isotime): New function.
(ffi_init): Add parameter 'scriptname', bind new function and
scriptname.
* tests/gpgscm/ffi.h (ffi_init): Update prototype.
* tests/gpgscm/main.c (main): Hand in the script name.
* tests/gpgscm/tests.scm (mkdtemp): Use current time and script name
for the names of temporary directories.
2016-09-19 Werner Koch <wk@gnupg.org>
gpgscm: Fix gcrypt version check.
+ commit a3cdf6ba9987ec2f4b951c3b2519f6beea147126
* tests/gpgscm/main.c (main): Check against required and not installed
version.
2016-09-17 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Fix more spelling.
+ commit 42b61e8469179292814fea267ecd7d911396b965
* NEWS, acinclude.m4, agent/command-ssh.c, agent/command.c,
agent/gpg-agent.c, agent/keyformat.txt, agent/protect-tool.c,
common/asshelp.c, common/b64enc.c, common/recsel.c, doc/DETAILS,
doc/HACKING, doc/Notes, doc/TRANSLATE, doc/dirmngr.texi,
doc/faq.org, doc/gpg-agent.texi, doc/gpg.texi, doc/gpgsm.texi,
doc/instguide.texi, g10/armor.c, g10/gpg.c, g10/keyedit.c,
g10/mainproc.c, g10/pkclist.c, g10/tofu.c, g13/sh-cmd.c,
g13/sh-dmcrypt.c, kbx/keybox-init.c, m4/pkg.m4, sm/call-dirmngr.c,
sm/gpgsm.c, tests/Makefile.am, tests/gpgscm/Manual.txt,
tests/gpgscm/scheme.c, tests/openpgp/gpgv-forged-keyring.scm,
tests/openpgp/multisig.test, tests/openpgp/verify.scm,
tests/pkits/README, tools/applygnupgdefaults,
tools/gpg-connect-agent.c, tools/mime-maker.c, tools/mime-parser.c:
minor spelling cleanup.
2016-09-15 NIIBE Yutaka <gniibe@fsij.org>
tests/gpgscm: Fix use of pointer.
+ commit 95f7320a37d3870330a2b1f3493025b4820fa767
* tests/gpgscm/scheme-private.h (struct scheme): Use (void *) for
alloc_seg.
* tests/gpgscm/scheme.c (alloc_cellseg): Use (void *) for cp. Use
(void *) for coercion of address calculation.
2016-09-06 Justus Winter <justus@g10code.com>
gpgscm: Fix detection of unbalanced parenthesis.
+ commit 36405b2d208e5ec4c2c289d99ba4e7e1a29b8321
* tests/gpgscm/main.c (load): Print error message.
* tests/gpgscm/scheme.c (opexe_0): Correctly report nesting level when
loading files.
2016-09-01 Werner Koch <wk@gnupg.org>
Check the size of the time_t.
+ commit bf7eb978597ba07906f0a7490e626c071af1987f
* configure.ac (AC_HEADER_TIME): New.
(AC_CHECK_SIZEOF): Check size of time_t.
Add error WINDOW_TOO_SMALL, WINDOW_TOO_LARGE, and MISSING_ENVVAR.
+ commit bc3e817bd7e671975f94bae20cbbf9a91fe3353b
2016-08-16 Werner Koch <wk@gnupg.org>
New error code GPG_ERR_ENGINE_TOO_OLD.
+ commit b2640cb1f7b3b056ea4f8fe4b79d58fcd10ef93b
2016-08-12 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Call log_set_prefix() with human-readable labels.
+ commit b912b371ffc56b0e657d58e2a891f6bb1affab4b
* agent/preset-passphrase.c, agent/protect-tool.c, dirmngr/dirmngr.c
* dirmngr/t-http.c, g10/gpg.c, g10/gpgv.c, g13/g13-syshelp.c
* g13/g13.c, kbx/kbxutil.c, scd/scdaemon.c, sm/gpgsm.c
* tests/gpgscm/main.c, tools/gpg-check-pattern.c
* tools/gpg-connect-agent.c, tools/gpgconf.c, tools/gpgtar.c
* tools/symcryptrun.c: Invoke log_set_prefix() with
human-readable labels.
2016-08-10 Justus Winter <justus@g10code.com>
tests: Improve temporary directory handling.
+ commit 0b5146376ba4e6ef129ed4a0641591bafa5902f9
* tests/gpgscm/ffi.c (ffi_init): Rename 'mkdtemp'.
* tests/gpgscm/tests.scm (mkdtemp): New function that uses a sensible
location and template if no arguments are given.
(with-temporary-working-directory): Simplify accordingly.
(make-temporary-file): Likewise.
* tests/openpgp/run-tests.scm (run-tests-parallel-isolated): Likewise.
(run-tests-sequential-isolated): Likewise.
gpgscm: Make the name of foreign functions more unique.
+ commit c609b6e6b08719b86a64fb186f6eee03d0b01b16
* tests/gpgscm/ffi-private.h (ffi_define_function_name): Add another
underscore.
2016-07-26 Justus Winter <justus@g10code.com>
gpgscm: Do not shadow common function name in catch macro.
+ commit d764c08a9215ab1c90a97fb019aa99ccf3721e02
* tests/gpgscm/init.scm (catch): Do not shadow 'exit'.
gpgscm: Make the verbose setting more useful.
+ commit bd958b94ea3cdafa2457fdf0dcf436458fa755f6
* tests/gpgscm/ffi.c (do_get_verbose): New function.
(do_set_verbose): Likewise.
(ffi_init): Turn *verbose* into a function, add *set-verbose!*.
* tests/gpgscm/tests.scm (call): Adapt accordingly.
(call-with-io): Dump output if *verbose* is high.
(pipe-do): Adapt accordingly.
* tests/openpgp/defs.scm: Set verbosity according to environment.
* tests/openpgp/run-tests.scm (test): Adapt accordingly.
2016-07-22 Justus Winter <justus@g10code.com>
gpgscm: Make function more general.
+ commit 593c5ac8553922a7cf8055c6f3d4d3ea6d0f8cb6
* tests/gpgscm/tests.scm (in-srcdir): Accept more path fragments.
2016-07-21 Justus Winter <justus@g10code.com>
gpgscm: Make assert macro more accurate.
+ commit 4f5e0f510d72935ed6bc37f38261efd0ca45e04b
* tests/gpgscm/lib.scm (assert): Print the representation of the
failed expression.
gpgscm: Make error message more useful.
+ commit bc5199d51c45e11c5d9cba828b31ced9381bd27c
* tests/gpgscm/scheme.c (opexe_0): Include names of missing function
parameters in the error message.
2016-07-19 Justus Winter <justus@g10code.com>
tests: Add test for ssh support.
+ commit 5851aec15309e9137603bf0e564fd5028ff742c1
* tests/gpgscm/tests.scm (path-expand): New function.
* tests/openpgp/Makefile.am (TESTS): Add new test.
(sample_keys): Add new keys.
(CLEANFILES): Clean ssh socket and control file.
* tests/openpgp/fake-pinentry.c (main): Add a default passphrase.
* tests/openpgp/gpg-agent.conf.tmpl: Enable ssh support.
* tests/openpgp/samplekeys/ssh-dsa.key: New file.
* tests/openpgp/samplekeys/ssh-ecdsa.key: Likewise.
* tests/openpgp/samplekeys/ssh-ed25519.key: Likewise.
* tests/openpgp/samplekeys/ssh-rsa.key: Likewise.
* tests/openpgp/ssh.scm: Likewise.
2016-07-15 Justus Winter <justus@g10code.com>
gpgscm: Fix linking.
+ commit 4932ef5277957153f4d066f17feb47a4db2b923b
* tests/gpgscm/Makefile.am: Add -lintl.
2016-07-14 Werner Koch <wk@gnupg.org>
gpgscm: Use kludge to avoid improper use of ffi_schemify_name.
+ commit 95c04eca273fe9bacbbd9666fd6806e0748792ed
* tests/gpgscm/ffi.c (ffi_schemify_name): Use xstrdup instead of
strdup for now.
Release 1.24.
+ commit bb1269c85bb41dbb6391756a65e8bc357d82d6b6
2016-07-13 Werner Koch <wk@gnupg.org>
build: Update config.{guess,sub} to {2016-05-15,2016-06-20}.
+ commit 387eeb5d5b57e4390c4eaf101bb5cf9cf3cbd4ba
* build-aux/config.guess: Update.
* build-aux/config.sub: Update.
2016-07-12 Yann E. MORIN <yann.morin.1998@free.fr>
Add an option to disable tests.
+ commit d57a16c3779eca84dedcf2423b26e41172cd5a96
* configure.ac: add an option to enable/disable building tests
* Makefile.am: conditionally build tests
Fix build without threads.
+ commit abcdfa7964da62b92984516608faf8941038b71d
* src/gen-posix-lock-obj.c: properly guard inclusioin of pthread.h
* tests/t-lock.c: likewise
* tests/t-poll.c: likewise
2016-07-07 Justus Winter <justus@g10code.com>
gpgscm: Capture output of spawned processes.
+ commit 912977e668d59baf39464fab7e93b9a617f9706f
* tests/gpgscm/tests.scm (call-check): Capture stdout and stderr, and
return stdout if the child exited successfully, or include stderr in
the error.
* tests/openpgp/version.scm: Demonstrate this by checking the stdout.
2016-07-05 Justus Winter <justus@g10code.com>
tests: Honor environment variable 'TMP'.
+ commit 228b225c412573d73901e3e79b7cab64a05bb26e
This fixes problems with long socket names, e.g. when doing distcheck.
* tests/gpgscm/tests.scm (path-join): New function.
(with-temporary-working-directory): Honor 'TMP'.
(make-temporary-file): Likewise.
* tests/migrations/Makefile.am (TMP): Default to '/tmp'.
(TESTS_ENVIRONMENT): Set 'TMP'.
* tests/openpgp/Makefile.am (TMP): Default to '/tmp'.
(TESTS_ENVIRONMENT): Set 'TMP'.
gpgscm: Improve robustness and compatibility.
+ commit 1406aa0fdf349b370cc2a5b87ada557455203dd2
* tests/gpgscm/ffi.c (do_getenv): Avoid gccism.
(do_mkdtemp): Handle errors.
2016-07-05 Andre Heinecke <aheinecke@intevation.de>
Define EWOULDBLOCK in case it is not defined.
+ commit 65e967627b3d60f550c7d302227dcf9f797e437f
* src/estream.c (EWOULDBLOCK): Define fallback.
2016-07-02 Werner Koch <wk@gnupg.org>
yat2m: Fix table formatting.
+ commit 1a53a0ac4cc241a5c6d360d6259dd04afc09264c
* doc/yat2m.c (proc_texi_cmd): Use .TQ for @itemx. Print a .P at the
end of a level 0 table.
2016-06-30 Justus Winter <justus@g10code.com>
gpgscm: Fix reallocating string ports.
+ commit 27d423b785afa3458e102fa3d7c1220ec50a47fe
* tests/gpgscm/scheme.c (realloc_port_string): Use memcpy because
Scheme strings may contain 0s.
gpgscm: Free memory backing string ports.
+ commit f103dd1d9dd69eb0a32cf2d91e3a595082f3f41c
* tests/gpgscm/scheme.c (finalize_cell): Free memory backing string
ports.
gpgscm: Use the allocator from libgcrypt.
+ commit 9af66b27499646f6386ab902e75056b961192f50
* tests/gpgscm/main.c (main): Use the allocator from libgcrypt.
2016-06-28 Justus Winter <justus@g10code.com>
gpgscm: Fix memory leaks.
+ commit b4e31c551b9205684e812e941bd974cc594cf97f
* tests/gpgscm/ffi-private.h (ffi_schemify_name): Fix prototype.
(ffi_define_function_name): Free schemified name.
(ffi_define_function): Likewise.
(ffi_define_constant): Likewise.
(ffi_define_variable_pointer): Likewise.
* tests/gpgscm/ffi.c (do_wait_processes): Free arrays.
(ffi_schemify_name): Fix type.
* tests/gpgscm/main.c (main): Free 'sc'.
gpgscm: Free file names.
+ commit 9368fd55602a1d36f6bf6bc3797a4f2d7a782ded
* tests/gpgscm/scheme.c (scheme_load_named_file): Free file name.
gpgscm: Fix buffer overflow.
+ commit 73b24ed0cb0ba3271e887d1044a497e53ca90b62
* tests/gpgscm/scheme.c (store_string): Avoid writing past allocated
buffer.
2016-06-27 Werner Koch <wk@gnupg.org>
estream: Fix bug es_fclose_snatch if a seek has been used.
+ commit 467ccbb6062439eda9dce7cd991934d1a5491713
* src/estream.c (func_mem_ioctl): Set LEN from DATA_LEN.
2016-06-25 Werner Koch <wk@gnupg.org>
w32: Silence compiler warnings about redefined macros.
+ commit 7213299fdb2293b974fc436686626ae0a29290b8
* src/estream.c (S_IRGRP) [W32]: Protect against redefinition.
doc: Update yat2m.c.
+ commit 9b5e3d1608922f4aaf9958e022431849d5a58501
* doc/yat2m.c: Update from gnupg.
2016-06-24 Werner Koch <wk@gnupg.org>
estream: Remove two compiler warning.
+ commit 0982a72ecc8e7738ec968b3a6710bdacb0f2da4e
* src/estream.c (func_file_create): Remove dead assignment.
(doreadline): Do not decrement SPACE_LEFT before breaking the loop.
Add an extra block to limit the scope of that variable.
2016-06-23 Justus Winter <justus@g10code.com>
gpgscm: Handle exceptions in the transformation monad.
+ commit 7b6728b7ecf7b0646db2de35625aba3b0cd0bf02
* tests/gpgscm/tests.scm (pipe:do): Raise errors.
(tr:spawn): Catch and return errors.
(tr:call-with-content): Likewise.
(tr:{open,write-to,pipe-do,assert-identity,assert-weak-identity}):
Adapt.
gpgscm: Add types for special objects.
+ commit 24df932e5fdda891760b34b7e5fccd5aba62fde8
* tests/gpgscm/scheme.c (enum scheme_types): Add types for boolean,
nil, eof, and the sink object.
(type_to_string): Handle new types.
(scheme_init_custom_alloc): Give special objects a type.
gpgscm: Fix Scheme initialization.
+ commit 64ab51521f1a5fabee292554d7403113898f1b28
This potentially causes a crash if the garbage collector marks an eof
object.
* tests/gpgscm/scheme.c (scheme_init_custom_alloc): Initialize
'EOF_OBJ'.
2016-06-21 Justus Winter <justus@g10code.com>
gpgscm: Add more file handling functions.
+ commit 5fee932e0ad2b2f5e876a70bdeef77c38e248a2e
* tests/gpgscm/ffi.c (do_glob): New function.
(ffi_init): Define new function.
* tests/gpgscm/tests.scm (basename-suffix): New function.x
gpgscm: Improve test framework.
+ commit d7df61081ec228db17e2bfe2e05820da8cc2d264
* tests/gpgscm/lib.scm (echo): Move...
* tests/gpgscm/tests.scm (echo): ... here.
(info, error, skip): And use echo here.
(file-exists?): New function.
(tr:spawn): Check that source exists and if the sink has been created.
(tr:call-with-content): Hand in optional arguments.
gpgscm: Use native string searching functions.
+ commit f4a23bc0fae621ac4b0978de4ea8f976ec6b650f
* tests/gpgscm/ffi-private.h: Handle character arguments.
* tests/gpgscm/ffi.c (do_string_index): New function.
(do_string_rindex): Likewise.
(do_string_contains): Likewise.
(ffi_init): Define new functions.
* tests/gpgscm/ffi.scm (ffi-define): New macro.
* tests/gpgscm/lib.scm (string-index): Use native function,
demonstrate behavior.
(string-rindex): Likewise.
(string-contains?): Likewise.
Demonstrate behavior of various other functions.
(read-all): Rework so that it can handle large files.
gpgscm: Improve error reporting.
+ commit 2bc2f95ac823f0a6449bd68dee4fc094db52f2e5
* tests/gpgscm/scheme.c (type_to_string): New function.
(Eval_Cycle): Include actual type in error message.
gpgscm: Make memory allocation failures fatal.
+ commit 224c171c856c662d22ba236eaa2128323bde1d08
* tests/gpgscm/scheme.c (Eval_Cycle): Exit if we run out of memory.
2016-06-17 Werner Koch <wk@gnupg.org>
tests: Make make distcheck work again.
+ commit cdd09e054a6bc4716c7847fd0779a091cbca0e8f
* Makefile.am (tests): Remove test code which would led to doubling
calls to for e.g. "make distclean".
* tests/Makefile.am: Typo fixes.
* tests/gpgscm/Makefile.am (EXTRA_DIST): Fix name of License file.
Add repl.scm.
(check): Replace by check-local because check is a standard automake
target.
* tests/openpgp/Makefile.am (TESTS_ENVIRONMENT): Replace gmake0sim by
automake generated macro.
(EXTRA_DIST): Add defs.scm
gpgscm: Silence compiler warnings.
+ commit d230bf3ee80cac2fe721afccab9e98b3a9be2e9a
* tests/gpgscm/scheme.c (mk_integer): Rename arg NUM to N.
(fill_vector): Ditto.
(mark): Rename var NUM to N.
(set_slot_in_env): Mark SC as unused.
(is_any): Mark P as unused.
Add license notices for TinySCHEME.
+ commit 8b1798f10c2641f79f4d770e88712be8b13dc22f
* tests/gpgscm/COPYING: Rename to ...
* tests/gpgscm/LICENSE.TinySCHEME: this.
* AUTHORS: Add a note about TinySCHEME.
* build-aux/speedo/w32/pkg-copyright.txt: Add TinySCHEME notice.
2016-06-17 Justus Winter <justus@g10code.com>
tests/gpgscm: Add a TinySCHEME-based test driver.
+ commit 5b417d262de048ef221ed77b2f9d2c1a843096bb
* configure.ac: Add new component.
* tests/Makefile.am: Likewise.
* tests/gpgscm/Makefile.am: New file.
* tests/gpgscm/ffi-private.h: Likewise.
* tests/gpgscm/ffi.c: Likewise.
* tests/gpgscm/ffi.h: Likewise.
* tests/gpgscm/ffi.scm: Likewise.
* tests/gpgscm/lib.scm: Likewise.
* tests/gpgscm/main.c: Likewise.
* tests/gpgscm/private.h: Likewise.
* tests/gpgscm/repl.scm: Likewise.
* tests/gpgscm/scheme-config.h: Likewise.
* tests/gpgscm/t-child.c: Likewise.
* tests/gpgscm/t-child.scm: Likewise.
* tests/gpgscm/tests.scm: Likewise.
tests/gpgscm: Foreign objects support for TinySCHEME.
+ commit 9fecd60c32aca6b32008310237d0ed524eede3d5
* tests/gpgscm/scheme-private.h (struct cell): Add 'foreign_object'.
(is_foreign_object): New prototype.
(get_foreign_object_{vtable,data}): Likewise.
* tests/gpgscm/scheme.c (enum scheme_types): New type.
(is_foreign_object): New function.
(get_foreign_object_{vtable,data}): Likewise.
(mk_foreign_object): Likewise.
(finalize_cell): Free foreign objects.
(atom2str): Pretty-print foreign objects.
(vtbl): Add new functions.
* tests/gpgscm/scheme.h (struct foreign_object_vtable): New type.
(mk_foreign_object): New prototype.
(struct scheme_interface): Add new functions.
Patch from Thomas Munro,
https://sourceforge.net/p/tinyscheme/patches/13/
tests/gpgscm: Dynamically allocate string buffer.
+ commit ef65b7bb2232343f72d03a0e0521de4ada3dc63b
* tests/gpgscm/scheme-config.h (strbuff{,_size}): Make buffer dynamic.
* tests/gpgscm/scheme.c (expand_strbuff): New function.
(putcharacter): Adapt length test.
(readstrexp): Expand buffer if necessary.
(scheme_init_custom_alloc): Initialize buffer.
(scheme_deinit): Free buffer.
Patch from Thomas Munro,
https://sourceforge.net/p/tinyscheme/patches/11/
tests/gpgscm: Make exception value available.
+ commit c0cf52627d8d68d23bcac60571455ffd1b052106
* tests/gpgscm/init.scm (throw): Hand exception value to the handler.
(catch): And bind it to *error*.
tests/gpgscm: Add package macro.
+ commit f6c0f9a420c4401d8d358049f8814799161185fa
* tests/gpgscm/init.scm: Add package macro from manual.
tests/gpgscm: Expose function to open streams as Scheme ports.
+ commit 2717b9c172f0a25094ad2e654459dbe9d7180e38
* tests/gpgscm/scheme.c (vtbl): Add 'port_from_file' to the vtable.
* tests/gpgscm/scheme.h (struct scheme_interface): New field
'mk_port_from_file'.
tests/gpgscm: Nicer error message.
+ commit 0c601ae085e95745a950a9d75ffdc8be42b3e1b2
* tests/gpgscm/scheme.c (opexe_0): Include the value that we tried to
evaluate as function-like in the error message.
tests/gpgscm: Fix error hook.
+ commit 16e4898a735e8f85c4ca6b44adf5a92b1a42d1af
* tests/gpgscm/init.scm (*error-hook*): Fix error hook so that the
whole error message is displayed.
tests/gpgscm: Handle unhandled enumeration values.
+ commit fe1c0866bc1b2c685136ea19521ffab2deb25ec3
* tests/gpgscm/scheme.c (opexe_{3,4}): Handle unhandled enumeration
values in the opcode dispatching code.
tests/gpgscm: Verbatim import of latest TinySCHEME.
+ commit 864992fdf695996dbac9bb344b1fdd879f735473
Revision 110 from svn://svn.code.sf.net/p/tinyscheme/code/trunk
* tests/gpgscm/COPYING: New file.
* tests/gpgscm/Manual.txt: Likewise.
* tests/gpgscm/init.scm: Likewise.
* tests/gpgscm/opdefines.h: Likewise.
* tests/gpgscm/scheme-private.h: Likewise.
* tests/gpgscm/scheme.c: Likewise.
* tests/gpgscm/scheme.h: Likewise.
2016-06-15 Werner Koch <wk@gnupg.org>
Release 1.23.
+ commit e444cacc74c488063336c196f0c01e98f67cf999
po: Update German translation.
+ commit d878afa4b884149dca587131bdf5b6d8f96227fa
2016-06-15 Jakub Bogusz <qboosh@pld-linux.org>
po: Update Polish translation.
+ commit b908104846a71cf8ae3d3323be6bbc6edcef6ee0
2016-06-15 Werner Koch <wk@gnupg.org>
tests: Fix rare deadlock condition in t-poll.
+ commit 7ed150201cc5058650cf9673a4e53720a37841c8
* tests/t-poll.c (launch_thread): Use es_fileno before starting the
thread.
2016-06-15 NIIBE Yutaka <gniibe@fsij.org>
estream: Fix assertion failure due to es_flush.
+ commit 28fd0ab40739e8cb73f208e30f78d8aa7a0a6d19
* src/estream.c (es_writen): Set writing flag even if no data was
written.
2016-06-15 Werner Koch <wk@gnupg.org>
Adjust memory limit of es_fopenmem to the block size.
+ commit baf4bcc0973c8b04bd760aaab0f4232c9354e203
* src/estream.c (func_mem_create): Round up memory limit.
2016-05-17 Werner Koch <wk@gnupg.org>
Add GPG_ERR_SUBKEYS_EXP_OR_REV.
+ commit 1ee822f9ff73a9a302ad0eb298640797d735e62b
2016-05-07 Werner Koch <wk@gnupg.org>
syscfg: Add a powerpc and a tilgegx architecture.
+ commit dfcd58fd3f58e548062b91bd6e20e27cbf4da18d
* src/syscfg/lock-obj-pub.powerpc-unknown-linux-gnuspe.h: New.
* src/syscfg/lock-obj-pub.tilegx-unknown-linux-gnu.h: New.
* src/Makefile.am (lock_obj_pub): Add them.
2016-04-25 Werner Koch <wk@gnupg.org>
Release 1.22.
+ commit 9a05076e90eef504cbc3ef614982f856b9b60540
* configure.ac: Set LT version to C18/A18/R0.
build: Update config.{guess,sub} to 2016-04-02 and 2016-03-30.
+ commit 8ae3af15caaaaffaa9dbeab5fd767076891200bb
* build-aux/config.guess: Update.
* build-aux/config.sub: Update.
2016-04-25 NIIBE Yutaka <gniibe@fsij.org>
Fix for HPPA.
+ commit f1104b92249005a31961d1a32c38ba65a0b3ff3a
* configure.ac (HAVE_GCC_ATTRIBUTE_ALIGNED): Revert.
* src/gen-posix-lock-obj.c (USE_16BYTE_ALIGNMENT): Revert.
* src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h: Revert.
2016-04-21 Werner Koch <wk@gnupg.org>
w32: Add iconv functions.
+ commit 1cd1ddb4ac2c13223a073f6d77696bcd6253e2ff
* src/w32-add.h (gpgrt_w32_iconv_t): New.
(gpgrt_w32_iconv_open, gpgrt_w32_iconv_close, gpgrt_w32_iconv): New.
( GPGRT_ENABLE_W32_ICONV_MACROS): New
* src/w32-iconv.c: Change license to LGPLv2.1+. Dispable mlang
feature. Remove external DLL loading. Simplify iconv functions. Use
cleaner context struct pattern. Use gpgrt namespace.
* src/gpg-error.def.in: Add new functions.
2016-04-05 Werner Koch <wk@gnupg.org>
estream,w32: Temporary fix for gpgrt_poll.
+ commit 4354720ab3631dfd2811d881566b10a72c8f2165
* src/estream.c (_gpgrt_poll) [W32]: Do not use FD_ISSET.
2016-03-29 Werner Koch <wk@gnupg.org>
estream: Prepare for new mode flag "sysopen".
+ commit 5d1adaa5fd12f65f49abeb99e5ae7226ec27ba0e
* src/estream.c (parse_mode): Add arg "sysopen". Adjust all callers.
estream: Use simpler names for static functions.
+ commit de0618d5c64e02b9b3a568fc859d9edcb4ab35ba
* src/estream.c: Replace all es_func_* to just func_*.
estream: Remove strange macro for better readability.
+ commit 217a451d54186283f09af5b3c03933f214ddf1c0
* src/estream.c (SET_UNLESS_NONZERO): Remove macro.
(es_deinitialize): Replace that macro by direct code.
2016-03-24 Peter Wu <peter@lekensteyn.nl>
Add function gpgrt_annotate_leaked_object.
+ commit 52c3606b2384f33ef30ea5ada3f187829de9dcf7
* src/gpg-error.h.in: add gpgrt_annotate_leaked_object to support
marking memory as non-leaked for Clang and GCC.
2016-03-14 Kylie McClain <somasis@exherbo.org>
syscfg: Add lock-obj-pub files for {armv5, armv6, x86_64}-musl targets.
+ commit 140cfd51cee738a55caf9d347981f6f81e1990a4
* src/syscfg/lock-obj-pub.armv5-unknown-linux-musleabi.h: New.
* src/syscfg/lock-obj-pub.armv6-unknown-linux-musleabihf.h New.
* src/syscfg/lock-obj-pub.x86_64-pc-linux-musl.h: New.
* src/Makefile.am (lock_obj_pub): Add files.
2016-03-04 NIIBE Yutaka <gniibe@fsij.org>
Fix detecting Solaris operating system.
+ commit f7a77c5c236ecec846de9be46703026f9b01008f
* src/gen-posix-lock-obj.c (USE_DOUBLE_FOR_ALIGNMENT): Check for
the macro __sun.
For Solaris, add -lrt correctly.
+ commit f9fc565129293f47cbfe4da48fcd6099e9ce5508
* configure.ac (LIB_SCHED_YIELD): Not avoiding defining LIB.
2016-03-01 NIIBE Yutaka <gniibe@fsij.org>
Fix for Solaris.
+ commit 34b07146bbb0863436fc9381a84314b18bdfb807
* src/gen-posix-lock-obj.c (USE_DOUBLE_FOR_ALIGNMENT): Check LP64.
2016-02-26 NIIBE Yutaka <gniibe@fsij.org>
po: Update Japanese translation.
+ commit 49655fb6ef39b307787e1b6e00c996f9c7db64f7
Add support for Solaris, fixing HPPA.
+ commit 5168b97fb5e2eebdc99b40f96f9b6289647e87d2
* configure.ac (HAVE_GCC_ATTRIBUTE_ALIGNED): Remove.
(LIB_SCHED_YIELD): New. Check sched_yield in -lrt.
* src/gen-posix-lock-obj.c (USE_16BYTE_ALIGNMENT): Remove.
(USE_DOUBLE_FOR_ALIGNMENT, USE_LONG_DOUBLE_FOR_ALIGNMENT): New.
* src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h: Update.
2016-02-08 Werner Koch <wk@gnupg.org>
build: Create an SWDB file during "make distcheck"
+ commit 1e6c5a70b3b51f81d2fc1289129f6c3e1920ebcc
* Makefile.am (distcheck-hook): New.
2016-01-19 Werner Koch <wk@gnupg.org>
Add GPG_ERR_DB_CORRUPTED.
+ commit b3bb6e2cc31208a198e74b42ca495c08ebb00fc4
2016-01-13 Marek Vasut <marex@denx.de>
Add new lock-obj-pub for NIOS2.
+ commit 71370060aae7a83f4d6c3b9c924f204a57cc2538
src/syscfg/lock-obj-pub.nios2-unknown-linux-gnu.h: New.
2015-12-14 NIIBE Yutaka <gniibe@fsij.org>
po: Update Japanese translation.
+ commit 1814a9bdc15f00bcf6b13ad16857a4f4922fa1d7
2015-12-12 Werner Koch <wk@gnupg.org>
Release 1.21.
+ commit 425b7687b4f74a22b0aa760262cb8f13ae40dc26
* configure.ac: Set LT version to C17/A17/Ro.
2015-12-07 Andre Heinecke <aheinecke@intevation.de>
Fix windows 8bit encoding conversion.
+ commit 823e858cdf5eb6b9945a46478f9876819c16bcd3
* src/w32-gettext.c (wchar_to_native): Convert to ConsoleOutputCP.
2015-12-03 Justus Winter <justus@g10code.com>
tests: Fix read past buffer.
+ commit 68827cbba2083db40df92de1bc449a3d2d0e81ed
* tests/t-poll.c (test_poll): Fix read past buffer.
2015-11-19 Justus Winter <justus@g10code.com>
Avoid 'malloc' corner case.
+ commit 06af687beaa1f8e72a05bd3a057b73fecb158c3d
* src/init.c (_gpgrt_realloc): Avoid calling 'malloc(0)'.
2015-10-21 Werner Koch <wk@gnupg.org>
Add error codes NO_NAME, NO_KEY, and SERVER_FAILURE.
+ commit a144fa8863846dc3f6d34731741cd63251620837
2015-10-18 Werner Koch <wk@gnupg.org>
estream: Avoid calling write(fd,NULL,n).
+ commit 75172adc3b103bd7ef75575a0c0c9c3b63fa4023
* src/estream.c (es_func_fd_write): Take care of a flush requests.
(es_func_w32_write): Ditto.
(es_func_fp_write): Ditto.
2015-09-28 Werner Koch <wk@gnupg.org>
estream: Keep track of EPIPE.
+ commit c09997bc50f3fffaf76d60d2e571b1d85536571e
* src/estream.c (_gpgrt_stream_internal): Add indicators.hup.
(init_stream_obj): Init it.
(es_fill, es_flush, es_seek): Set that.
(_gpgrt_poll): Set event.
Add GPG_ERR_FALSE and GPG_ERR_TRUE error codes.
+ commit d3e9514ff82ff767fc78ce485aef71ba56f3c0d5
2015-09-25 Werner Koch <wk@gnupg.org>
estream: Add gpgrt_set_nonblock and gpgrt_poll.
+ commit 071c2170479869f4c6694ae85d2b113e84482a01
* configure.ac (AC_CHECK_HEADERS): Add sys/select.h and sys/time.h.
* src/estream.c: Include both header if available.
(COOKIE_IOCTL_NONBLOCK): New.
(struct estream_cookie_fd): Add field nonblock.
(func_fd_create): Set nonblock from MODEFLAGS.
(es_func_fd_ioctl): New.
(parse_mode): Add modeflag "nonblock".
(es_fill): Map EWOULDBLOCK to EAGAIN. Do not set error indicator for
EAGAIN.
(es_flush, es_seek, es_write_nbf): Map EWOULDBLOCK to EAGAIN.
(do_fdopen): Call COOKIE_IOCTL_NONBLOCK.
(_gpgrt_set_nonblock): New.
(_gpgrt_get_nonblock): New.
(_gpgrt_poll): New.
* src/gpg-error.h.in (struct _gpgrt_poll_s): New.
(gpgrt_poll_t, es_poll_t): New.
(es_set_nonblock, es_get_nonblock, es_poll): New.
* src/gpg-error.vers, src/gpg-error.def.in: Add gpgrt_set_nonblock,
gpgrt_get_nonblock, and gpgrt_poll.
* src/visibility.c (gpgrt_set_nonblock, gpgrt_get_nonblock): New.
(gpgrt_poll): New.
* tests/t-common.h (DIM): New.
* tests/t-poll.c: New.
* tests/Makefile.am (TESTS): Add t-poll.
(t_poll_LDADD): New.
2015-09-24 Werner Koch <wk@gnupg.org>
estream: Replace indicator help functions to ease code reading.
+ commit 61d832c53b7db5367a5542347e3454c882d0bf28
* src/estream.c (es_set_indicators, es_get_indicator): Remove and
change callers to set/get indicators directly.
2015-09-17 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Support i[456]86-pc{,-linux,-kfreebsd}-gnu.h.
+ commit 9decdd7bd105ff6a0973cc1f6652e0eb0625d640
* src/mkheader (canon_host_triplet): Add new entries.
* src/syscfg/lock-obj-pub.i486-pc-gnu.h: Rename to ...
* src/syscfg/lock-obj-pub.i686-pc-gnu.h: this.
* src/syscfg/lock-obj-pub.i486-pc-kfreebsd-gnu.h: Rename to ...
* src/syscfg/lock-obj-pub.i686-pc-kfreebsd-gnu.h: this.
* src/syscfg/lock-obj-pub.i486-pc-linux-gnu.h: Remove.
* src/Makefile.am (lock_obj_pub): Update.
2015-08-26 Werner Koch <wk@gnupg.org>
Release 1.20.
+ commit 44caed05ec146654f1ce40bba4b25def83c369db
* configure.ac: Set LT version to C16/A16/R0.
Add new version macros.
+ commit 030ee30c4ae85f2f41ca77651e4a7d7c9993e284
* src/gpg-error.h.in (GPGRT_VERSION): New.
(GPGRT_VERSION_NUMBER): New.
(GPG_ERROR_VERSION, GPG_ERROR_VERSION_NUMBER): Move to top of file.
Add macro GPGRT_INLINE and avoid -Wundef warnings.
+ commit 9cd3f002addf2acae4a7b0f52f8941e517e83d73
* src/gpg-error.h.in (GPG_ERR_INLINE): Use #if defined for possible
undefined macros to avoid warnign with GCC's -Wundef option.
(GPGRT_INLINE): New.
2015-08-26 Yuri Chornoivan <yurchor@ukr.net>
Update Ukrainian translation.
+ commit 17e4f727d9bd8e406bf977af445ef57201d23249
2015-08-25 Werner Koch <wk@gnupg.org>
Make configure option --disable-build-timestamp the default.
+ commit d328c4d72fa6d224117d7332082509c240a4f2fc
* configure.ac (BUILD_TIMESTAMP): Set to "<none>" by default.
w32: Make sure the setmode is called.
+ commit 1e8d00260a97e0213559c74f687e478e7479a0ea
* src/estream.c (HAVE_DOSISH_SYSTEM): Define if needed.
2015-07-27 Werner Koch <wk@gnupg.org>
Add option --lib-version to the gpg-error tool.
+ commit d2e4bb4c77167a1ed10f1017a7d06a822bbd5135
* src/gpg-error.c (main): Add new option.
2015-07-24 Werner Koch <wk@gnupg.org>
Add new public macros for GCC attributes.
+ commit 4e790613f66efcfc62d73722d5f1730a37cb8324
* src/gpg-error.h.in (GPGRT_GCC_VERSION): New.
(GPGRT_ATTR_NORETURN, GPGRT_ATTR_PRINTF, GPGRT_ATTR_NR_PRINTF): New.
(GPGRT_ATTR_FORMAT_ARG, GPGRT_ATTR_SENTINEL): New.
(GPGRT_ATTR_USED, GPGRT_ATTR_UNUSED, GPGRT_ATTR_DEPRECATED): New.
(GPGRT_ATTR_PURE, GPGRT_ATTR_MALLOC): New.
(GPGRT_HAVE_MACRO_FUNCTION, GPGRT_HAVE_PRAGMA_GCC_PUSH): New.
(_GPGRT_GCC_A_PRINTF): Replace GPGRT_ATTR_PRINTF.
2015-06-15 Werner Koch <wk@gnupg.org>
Allow building with --disable-threads.
+ commit 13918d05a333255d22aa6718dd467fcb8eaf80c8
* src/posix-lock-obj.h (LOCK_ABI_NOT_AVAILABLE): New.
(LOCK_ABI_VERSION): Define depending on USE_POSIX_THREADS.
(_gpgrt_lock_t) [!USE_POSIX_THREADS]: Do not define the union.
* src/gen-posix-lock-obj.c: Take care of USE_POSIX_THREADS.
* src/posix-lock.c (_gpgrt_lock_init, _gpgrt_lock_lock)
(_gpgrt_lock_trylock, _gpgrt_lock_unlock)
(_gpgrt_lock_destroy): Return success for a no-threads version.
* tests/t-lock.c: Disable tests if threads are not available.
* src/mkheader.c (main): Add NO-THREADS to the printed comment.
* configure.ac: Show NO-TRHEADS in the final summary.
2015-04-14 NIIBE Yutaka <gniibe@fsij.org>
po: Update Japanese translation.
+ commit 4171d61a97d9628532db84b590a9c135f360fa90
2015-04-10 Werner Koch <wk@gnupg.org>
Release 1.19.
+ commit d77c33ae608d67086ea057cca5ddee99a7202f8b
po: Update German translation.
+ commit e43045fe63aed0aba6522ebfd6e336b03f250069
w32: Remove compiler warnings.
+ commit eaec10f48803ee2232d1c1515fbe8f485c1e84b0
* src/Makefile.am (pre_mkheader_cmds): Avoid make diagnostic about
failed but ignored command. This confuses Emacs' compiler job parser.
* tests/t-lock.c [W32]: Include time.h.
* src/init.c: Reorganize Windows only code.
(wchar_to_utf8, utf8_to_wchar): Remove unused functions.
(_gpg_err_set_errno): Use only one copy for all platforms.
2015-03-24 Werner Koch <wk@gnupg.org>
Use assert to print diagnosicts before calling abort.
+ commit 56feff58d4fab92701ae77a1004af820b85e7f6c
* src/posix-lock.c: Add assert calls.
2015-03-24 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Avoid breakage with gcc 5.
+ commit c01c8f0c4f55d76b037c7f6aa44ad25ede18d38a
* src/Makefile.am: Add -P to the C preprocessor when building
mkerrcodes.h, to avoid a noisy intermediate pipeline.
2015-03-19 Werner Koch <wk@gnupg.org>
Add option --defines to gpg-error.
+ commit 528ee704f8f9d881ba370dcbfa9194d6704f9a2f
* src/gpg-error.c (main): Add option --help and --defines.
Add GPG_ERR_LDAP_* error codes.
+ commit dc95f1ea1ab902b9f49de651084f514535e4a3fc
* src/err-codes.h.in: Add error codes.
* doc/ldap2gpgerr.c: New.
2015-03-16 Werner Koch <wk@gnupg.org>
Remove useless conditions.
+ commit b5cb32f979a80904ea58fc7531e43e2be2270573
* src/estream.c (fname_set_internal): Remove useless condition.
* src/mkheader.c (main): Ditto.
2015-03-06 Werner Koch <wk@gnupg.org>
Add host-triplet aliasing feature to mkheader.
+ commit 4441e96801fdc4c900abae8c0aa0b53e2e26e079
* src/Makefile.am (lock_obj_pub): Rename i586-pc-linux-gnu to
i686-pc-linux-gnu. Remove i486-pc-linux-gnu.
* src/mkheader.c (canon_host_triplet): New.
(main): Use it.
w32: Add a manifest to libgpg-error.
+ commit 0f814d4c4a285573eef2391c70e21cf8126cafcb
* src/gpg-error.w32-manifest.in: New.
* src/Makefile.am (EXTRA_DIST): Add it.
(versioninfo.lo): Depend on it.
* src/versioninfo.rc.in: Add it.
* configure.ac (AC_CONFIG_FILES): Add it.
(BUILD_VERSION): New.
2015-02-18 Neal H. Walfield <neal@gnu.org>
Correct URL.
+ commit b400d7c65daaf44f227073ddde7d06986afde786
2015-01-30 Werner Koch <wk@gnupg.org>
w32: Use -static-libgcc to avoid linking to libgcc_s_sjlj-1.dll.
+ commit 8487ec25e1c8f73ca7dc31e5d648cb05eede0f14
* src/Makefile.am (extra_ltoptions): New.
(libgpg_error_la_LDFLAGS): Use it.
2015-01-26 Werner Koch <wk@gnupg.org>
Release 1.18.
+ commit f79688532f100599b1e24dde1429a229524601c9
* configure.ac: Set LT version to C14/A14/R0.
po: Update German translation.
+ commit 83c0bd462b45ddb75da8c2778ba1fb0c210b53ff
2015-01-22 Werner Koch <wk@gnupg.org>
Add GPG_ERR_LEGACY_KEY.
+ commit 524d5bdee2954337e748428469972957663d497d
2015-01-05 Werner Koch <wk@gnupg.org>
Avoid false warning about uninitialized var.
+ commit 46aaffbe852e334fd1a72affc4a918ceb7dc457b
* src/gpg-error.c (get_err_from_str): Init SAVED_CHAR.
build: Update to gettext 0.19.
+ commit abe43b5cbf066086deb735bba37178b34f12a4cb
* po/Makefile.in.in (MSGMERGE): Remove --previous.
* po/Makevars (MSGMERGE_OPTIONS): Add --previous.
build: Require automake 1.14.
+ commit 3d32de205211ca91d21941273db306a759ccc3ba
* configure.ac (AM_INIT_AUTOMAKE): Add serial-tests.
* tests/Makefile.am (INCLUDES): Replace by AM_CPPFLAGS.
2014-12-28 Werner Koch <wk@gnupg.org>
Add GPG_ERR_REQUEST_TOO_SHORT and GPG_ERR_REQUEST_TOO_LONG.
+ commit a672a1510456f3f12769938ab95c50ec6904e42e
2014-12-15 Werner Koch <wk@gnupg.org>
Fix commit 754a987.
+ commit bcd9295d5b9c9f46478bff0680f57bd71b4061f8
* Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New.
(AUTOMAKE_OPTIONS): Move options to ...
* configure.ac (AM_INIT_AUTOMAKE): .. here.
(BUILD_DOC): Fix commit 754a987.
Add configure option --disable-doc.
+ commit 754a987f6df59e2ba0e69aada65ae4aaf593c148
* Makefile.am (doc) [!BUILD_DOC]: Do not recurse into doc/.
* configure.ac (BUILD_DOC): New am_conditional and new option.
Add GPG_ERR_OBJ_TERM_STATE.
+ commit 923c4b174520c401a827d8198ebd2dc83666000f
2014-12-03 Werner Koch <wk@gnupg.org>
Add GPG_ERR_FORBIDDEN.
+ commit 149fe98e1279b065edb06958d9a73a0c013c2db9
2014-11-26 Мирослав Николић <miroslavnikolic@rocketmail.com>
po: Add Serbian translation.
+ commit 210126d38096e764dd3a82da45f8b5f66309ecd5
2014-10-25 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Add new lock-obj-pub for mips64el-unknown-linux-gnuabi64.
+ commit a186f35d05575d6d653e5bebb2dd169d9444af18
* src/syscfg/lock-obj-pub.mips64el-unknown-linux-gnuabi64.h: New.
* src/Makefile.am (lock_obj_pub): Add.
2014-10-23 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
add lock-obj header for or1k-unknown-linux-gnu.
+ commit c143fa81462584ad39ea780908266bce3fb9a49e
* src/syscfg/lock-obj-pub.or1k-unknown-linux-gnu.h: new
add lock-obj for new arch triplet for x86.
+ commit d85af2fbac956eb2a8630d1c17b53a7a8760d7a4
* src/sysconfig/lock-obj-pub.i586-pc-linux-gnu.h: New.
2014-10-15 Werner Koch <wk@gnupg.org>
Release 1.17.
+ commit 1d9e4c29fc23da64f964ed3337cd18429e1a2964
* configure.ac: Set LT version to C13/A13/R0.
doc: Add a man page for gpg-error-config.
+ commit 9d9c25f6d76f1287f193f170ae5534f1ac346db0
* doc/gpgrt.texi: New. Just a start for now.
* doc/gpl.texi, doc/lgpl.texi: New. Take from Libgcrypt.
* doc/yat2m.c: New. Take from GnuPG master.
* doc/Makefile.am: New.
* configure.ac (AC_CONFIG_FILES): Add doc/Makefile.
* Makefile.am (SUBDIRS): Add doc/.
* build-aux/mdate-sh, build-aux/texinfo.tex: New.
Fix to help building native on Windows.
+ commit 7285a27a7985c10f6778c67b31dd501e6594cb44
* configure.ac (FORCE_USE_SYSCFG): New am_conditional.
* src/Makefile.am: Use new conditional to decide whether to build the
native lock object header.
2014-10-03 Werner Koch <wk@gnupg.org>
Change gpgrt_pending{,_unlocked} to macros.
+ commit 12b5188bd495e45775c34c8e6263e6be177c03da
* src/gpg-error.h.in (gpgrt_pending): Change to a macro.
(gpgrt_pending_unlocked): Change to a macro.
(_gpgrt_pending, _gpgrt_pending_unlocked): New private functions.
* src/visibility.c, src/visibility.h: Change accordingly.
* src/gpg-error.vers, src/gpg-error.def.in: Ditto.
* src/estream.c (_gpgrt_pending_unlocked): Rename to
_gpgrt__pending_unlocked.
(_gpgrt_pending): Rename to _gpgrt__pending.
2014-10-02 Werner Koch <wk@gnupg.org>
w32: Make it build again.
+ commit e8b04bed1093a9f1d87c150326e79adfeb02e2b4
* src/estream.c (es_func_w32_read): Fix var name.
build: Support SYSROOT based config script finding.
+ commit 3ecdcb6ac814e3b63aebbf66729ae6cb67c9f6d2
* src/gpg-error.m4: Add support for SYSROOT and set
gpg_config_script_warn. Use AC_PATH_PROG instead of AC_PATH_TOOL
because the config script is not expected to be installed with a
prefix for its name.
Add GPG_ERR_BOGUS_STRING and an experimental gpgrt_pending.
+ commit 74abfcf0c3ba7cd6ce36540c70699fc1719248b3
* src/visibility.c (gpgrt_pending, gpgrt_pending_unlocked): New.
* src/estream.c (_gpgrt_pending, _gpgrt_pending_unlocked): New.
(check_pending): new.
(check_pending_fbf, check_pending_nbf): New.
(es_func_mem_read, es_func_fd_read, es_func_w32_read)
(es_func_fp_read, es_fill): Take care of the special 0 value for SIZE.
2014-09-29 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
GNU calls little-endian powerpc64 powerpc64le, not powerpc64el.
+ commit d2757001c5719ca8c8bd6aa2e2e2d9a299fb76c6
* src/Makefile.am (lock_obj_pub): fix powerpc64el to powerpc64le
* src/sysconfig/lock-obj-pub.powerpc64el-unknown-linux-gnu.h : move to
src/sysconfig/lock-obj-pub.powerpc64le-unknown-linux-gnu.h
2014-09-29 Werner Koch <wk@gnupg.org>
Add error codes for use by a TLS library.
+ commit d58fa35e89feddb71feeba8e39a016cd37c4be29
2014-09-24 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Allow ./configure to explicitly set libgpg-error's build timestamp.
+ commit d620005fd1a655d591fccb44639e22ea445e4554
* configure.ac: add --enable-build-timestamp
2014-09-24 Werner Koch <wk@gnupg.org>
Add new error source GPG_ERR_SOURCE_TLS.
+ commit efb2442458c8dd8d5af5a533dc09370b54f5f86f
2014-09-23 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Add new lock-obj-pub for sparc64-unknown-linux-gnu.
+ commit f227618e9e0d01e9dd1afbd91f9a509a532717eb
* src/syscfg/lock-obj-pub.sparc64-unknown-linux-gnu.h: New.
* src/Makefile.am (lock_obj_pub): Add.
Add new lock-obj-pub for powerpc64el-unknown-linux-gnu.
+ commit 33e5504fbb5e5e2ff44023c0a22dfb668ff8b10f
* src/syscfg/lock-obj-pub.powerpc64el-unknown-linux-gnu.h: New.
* src/Makefile.am (lock_obj_pub): Add.
2014-09-18 Werner Koch <wk@gnupg.org>
Release 1.16.
+ commit 8f3187fe56cb8e535e3ceff75fdd4e128070af57
* configure.ac: Set LT version to C12/A12/R2.
Add new lock-obj-pub for Apple iOS.
+ commit cc4b0caa57a595a3727e51e061c519232f7bdb05
* src/syscfg/lock-obj-pub.aarch64-apple-darwin.h: New.
* src/syscfg/lock-obj-pub.arm-apple-darwin.h: New.
2014-09-12 Werner Koch <wk@gnupg.org>
Fix es_fclose for streams opened with "samethread".
+ commit c307e1f801cd9a25c4a5b9a90073362219d52ee6
* src/estream.c (destroy_stream_lock): New.
(es_create, do_close): Use new wrapper function.
Fix a prototype.
+ commit e1882ee8c541020ec590bf096508ca5b6d2ab944
* src/gpgrt-int.h: s/off_t/gpgrt_off_t/.
2014-09-11 Werner Koch <wk@gnupg.org>
Release 1.15.
+ commit 6ebcd696fdbc0485099fba987c0c302cb46dd116
* configure.ac: Set LT version to C12/A12/R1.
Fix build problems with non-gmake (ie. AIX).
+ commit 316171204d9a995f8b85431830bbc225ea144b48
* src/Makefile.am: Do not distribute gpg-error.h.
(lock-obj-pub.native.h): Prepend a "./" to match the dependency.
Fix problems with ssize_t and off_t.
+ commit 5a4684f3b0db4cd5c13f94b1319c245ef96ce91d
* configure.ac (AC_SYS_LARGEFILE): New.
(AC_CHECK_HEADERS): Check for stdint.h.
(AC_CHECK_SIZEOF): Add for int, long and long long.
(REPLACEMENT_FOR_OFF_T): New ac_define.
* src/mkheader.c (have_stdint_h, have_w32_system, have_w64_system)
(replacement_for_off_type, stdint_h_included): New.
(xfree, xstrdup): New.
(parse_config_h): New.
(write_special): Support "define:gpgrt_off_t", "define:gpgrt_ssize_t",
"api_ssize_t" tags.
(main): Add config.h arg. Call parse_config_h. Fix substitute code.
* src/Makefile.am (gpg-error.h): Pass config.h to mkheader.
* src/gpg-error.h.in: Include definitions for gpgrt_ssize_t and
gpgrt_off_t. Let mkheader insert ssize_t keywords. Chnage all off_t
to gpgrt_off_t.
* src/estream.c: Change all off_t to gpgrt_off_t. Chnage all ssize_t
to gpgrt_ssize_t.
* src/visibility.c (gpgrt_fseeko): Use gpgrt_off_t.
(gpgrt_ftello): Ditto.
(gpgrt_getline): Use gpgrt_ssize_t.
(gpgrt_read_line): Ditto.
Fix compiler warning for w32.
+ commit 4138644d74f127c1f4abf7455fe1e21f56d6e07e
* src/syscfg/lock-obj-pub.mingw32.h (GPGRT_LOCK_INITIALIZER): Add
mssing braces.
2014-09-08 Werner Koch <wk@gnupg.org>
Release 1.14.
+ commit 25f312dbb82722d23ad9faed8341923af6d3663c
* configure.ac: Set LT version to C12/A12/R0.
po: Update de.po.
+ commit 2ff05feae6c5090081612a7d9a787298f37d46a2
2014-08-26 Werner Koch <wk@gnupg.org>
Add gpgrt_set_alloc_func.
+ commit 7fdca61bcf60e730177889fbbd2f935ba33ae0c3
* src/visibility.c (gpgrt_set_alloc_func): New.
* configure.ac (_ESTREAM_PRINTF_REALLOC): Define.
(_ESTREAM_PRINTF_EXTRA_INCLUDE): Define.
* src/estream.c (mem_alloc, mem_realloc, mem_free): Simplify.
(_gpgrt_free): Remove.
* src/init.c (custom_realloc): New var.
(_gpgrt_set_alloc_func): New.
(_gpgrt_realloc, _gpgrt_malloc, _gpgrt_free): New.
* src/visibility.h (gpg_err_deinit): Mark as visible.
Export missing init functions.
+ commit d9d5b61a9f70556e8fc0775f1501380f65ce9502
* src/gpg-error.h.in (gpgrt_init): New macro.
(gpgrt_check_version): New prototype.
* src/init.c (_gpg_err_init): Rename from gpg_err_init.
(_gpg_err_deinit): Rename from gpg_err_deinit.
* src/visibility.c (gpg_err_init): New.
(gpg_err_deinit): New.
(gpgrt_check_version): New.
* src/gpg-error.vers (gpg_err_init, gpg_err_deinit): Add missing
symbols.
(gpgrt_check_version): New.
* src/gpg-error.def.in (gpg_err_init, gpg_err_deinit): Add missing
symbols.
(gpgrt_check_version): New.
* src/gpg-error.c (main): Use gpgrt_init macro.
Include required headers into gpg-error.h.
+ commit 320f1b864553f105217ad6b0c70598f9a48c6aaa
* src/gpg-error.h.in: Include stdarg.h.
2014-08-25 Werner Koch <wk@gnupg.org>
Replace locking code in estream functions.
+ commit fc651665010056e6184e8514e5c5436427d7052d
* src/posix-lock.c: Add weak program for pthread_mutex_trylock.
(_gpgrt_lock_trylock): New.
* src/w32-lock.c (_gpgrt_lock_init): Add missing return statement.
(_gpgrt_lock_trylock): New.
* src/visibility.c (gpgrt_set_syscall_clamp): New.
(gpgrt_lock_trylock): New.
(gpgrt_vsnprintf): Fix symbol name.
* src/init.c (DllMain): Mark unused arg.
* src/estream.c: Replace npth mutexes by our own locks. Replace yeild
macro by _gpgrt_yield.
(pre_syscall_func, post_syscall_func): New.
(do_deinit): Clear both new vars.
(es_func_fd_read, es_func_fd_write): Call pre and post syscall
functions instead of the former SYSCALL macros.
(es_func_w32_read, es_func_w32_write): Ditto.
(es_func_fd_seek, es_func_w32_seek, es_func_fp_read)
(es_func_fp_write, es_func_fp_seek, es_func_fp_destroy): Bracket
syscalls with the pre- and post-syscall fucntions.
(do_npth_read, do_npth_write): Remove.
(_gpgrt_es_init): Remove call to mutex init. It is now statically
initialized.
(_gpgrt_set_syscall_clamp): New.
(es_create): Destroy stream lock on error.
(do_close): Destroy stream lock.
Remove GnuPG specific code.
+ commit 98781deb0b1787fd7eaabee27ef6a06d37195267
* src/estream.c (es_write_sanitized_utf8_buffer): Remove.
Add test for the estream printf functions.
+ commit ce31fe792b5f8adf81710c1bf5986cd10636e16b
* tests/t-printf.c: New.
* configure.ac: Check for vasprintf.
Add gpgrt_snprintf and gpgrt_vsnprintf.
+ commit 8a5f2680daa5ea0280ef195efe3050df7bb06e78
Finish inclusion of estream into the API.
+ commit e5304d2c8aaaf1682707caa5694316640a18de57
Implement symbol visibility.
+ commit 216e7def2118a1774fa7ebeb45b8635b9fe6ba42
* configure.ac: New option --enable-ld-version-script.
(GPGRT_USE_VISIBILITY): New ac_define.
(HAVE_LD_VERSION_SCRIPT): New am_conditional.
* src/gpg-error.vers: New.
* src/gpgrt-int.h: New.
* src/visibility.c, src/visibility.h: New. Lot of changes to symbold
names.
First set of changes to include estream into the API.
+ commit 6714d41af5b3f4d447eb0caea0ede38b753397f8
* configure.ac (AH_BOTTOM): Define GPGRT_ENABLE_ES_MACROS.
* src/gpg-error.h.in: include stdio.h. Include most of the estream
functions and rename structures and types.
* src/estream.h: Rewrite. Include only gpg-error.h and local
prototypes.
* src/estream.c: Rename types and macros.
* src/estream-printf.c (_gpgrt_estream_snprintf): Prefix public
functions with _gpgrt_.
Fix some minor estream things.
+ commit 8d57ce619aa49862caeee30181fbbd9c76846554
* m4/estream.m4: Check for memrchr.
* src/estream.c (memrchr) [!HAVE_MEMRCHR]: New.
* src/init.c: Include estream.h
(real_init): Init estream.
Add missing redefine macros to cleanup the external symbols.
+ commit b84c1ee0d637108a74066e0da50cb132273020e9
Add estream code from GnuPG.
+ commit 2b74237d19e44f7173bb052677f0ec35e6ff51b0
* src/estream-printf.c, src/estream-printf.h: New.
* src/estream.c, src/estream.h: New.
* m4/estream.m4: New.
* src/Makefile.am (libgpg_error_la_SOURCES): Add new files.
* configure.ac (AH_BOTTOM): Define estream prefix.
<gcc>: Add useful gcc warning options.
(estream_INIT): Call.
2014-08-12 Joe Hansen <joedalton2@yahoo.dk>
Update Danish translation.
+ commit 1be556e5bb1fb7262a1b5630ac939cfcaadc7100
* po/da.po: Update.
2014-08-10 Werner Koch <wk@gnupg.org>
tests: Fix compiler warning.
+ commit ab5eff46116a9a246ffb2c083bec637d0321d0cb
* tests/t-lock.c: Include header vor getpid.
(revision_thread): Init "i" to avoid compiler warning.
2014-08-06 NIIBE Yutaka <gniibe@fsij.org>
Update ja.po.
+ commit 7b7e08e6f3561724006b63679c2500a62fc73837
2014-08-05 Werner Koch <wk@gnupg.org>
Use 16 byte alignment for hppa-unknown-linux-gnu.
+ commit 3325403c0dd2949bf52efa1b9a5b5cf3191110f9
* configure.ac (HAVE_GCC_ATTRIBUTE_ALIGNED): New.
* src/gen-posix-lock-obj.c (USE_16BYTE_ALIGNMENT): Set for HPPA-Linux.
(main): Enforce alignment if needed.
* src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h: Use 16 byte
alignment.
2014-07-27 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Add new lock-obj-pub.*.h from debian buildds.
+ commit 8338a4ba93367974758dc5e195f67e9d171d4086
* src/syscfg/lock-obj-pub.aarch64-unknown-linux-gnu.h: New.
* src/syscfg/lock-obj-pub.alpha-unknown-linux-gnu.h: New.
* src/syscfg/lock-obj-pub.arm-unknown-linux-gnueabi.h: New.
* src/syscfg/lock-obj-pub.arm-unknown-linux-gnueabihf.h: New.
* src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h: New.
* src/syscfg/lock-obj-pub.i486-pc-gnu.h: New.
* src/syscfg/lock-obj-pub.i486-pc-kfreebsd-gnu.h: New.
* src/syscfg/lock-obj-pub.i486-pc-linux-gnu.h: New.
* src/syscfg/lock-obj-pub.m68k-unknown-linux-gnu.h: New.
* src/syscfg/lock-obj-pub.mips-unknown-linux-gnu.h: New.
* src/syscfg/lock-obj-pub.mipsel-unknown-linux-gnu.h: New.
* src/syscfg/lock-obj-pub.powerpc-unknown-linux-gnu.h: New.
* src/syscfg/lock-obj-pub.powerpc64-unknown-linux-gnu.h: New.
* src/syscfg/lock-obj-pub.s390x-ibm-linux-gnu.h: New.
* src/syscfg/lock-obj-pub.sh4-unknown-linux-gnu.h: New.
* src/syscfg/lock-obj-pub.sparc-unknown-linux-gnu.h: New.
* src/syscfg/lock-obj-pub.x86_64-pc-kfreebsd-gnu.h: New.
* src/syscfg/lock-obj-pub.x86_64-pc-linux-gnu.h: New.
* src/syscfg/lock-obj-pub.x86_64-pc-linux-gnux32.h: New.
* src/Makefile.am (lock_obj_pub): Add new files.
2014-06-30 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Improve logging in a test module.
+ commit c7c41582574304974feac8bbd89b1460fbf6c92c
* tests/t-version.c (main): Print program name.
2014-06-25 Werner Koch <wk@gnupg.org>
Add missing prototype for build tool.
+ commit 51f9a8180ecbc24ed092bef5f2aa920a76769dcb
* src/gen-posix-lock-obj.c: Include string.h.
2014-06-10 Werner Koch <wk@gnupg.org>
New error code GPG_ERR_KEY_DISABLED.
+ commit 3fada688c0df6e3140e4fcaf59b9bcfcc7a70bf4
2014-04-15 Werner Koch <wk@gnupg.org>
Release 1.13.
+ commit 1900266b743cabdb39a0d6f8dd00d187a2ad2c97
* configure.ac: Set LT version to C11/A11/R0.
Update pl.po.
+ commit db6e26cad81957729adc9549e4c6afe28bc55d76
Add code GPG_ERR_KEY_ON_CARD.
+ commit d4b83dbad235973e521eb12b680ee43cfb5cbc9a
2014-01-29 Werner Koch <wk@gnupg.org>
Fix a syscfg/ file name.
+ commit bb5318aa5536fa48ec240c2ff48b9e2e1d9916ef
* src/syscfg/lock-obj.arm-unknown-linux-androideabi.h: Rename to ...
* src/syscfg/lock-obj-pub.arm-unknown-linux-androideabi.h: this.
* src/Makefile.am (lock_obj_pub): Fix file name.
2014-01-28 Werner Koch <wk@gnupg.org>
Fix the name of the file in the comment of the output.
+ commit 6245bf65fc2554c7c103324d451036de08869458
* src/gen-posix-lock-obj.c (main): Chnage comment in created file.
2014-01-25 Werner Koch <wk@gnupg.org>
Add lock info for arm-unknown-linux-androideabi.
+ commit e1aa030d7655743f0c3cdd5f7b26ae1b4665fbc6
* src/syscfg/lock-obj.arm-unknown-linux-androideabi.h: New. Provided
by Hans-Christoph Steiner.
* src/Makefile.am (lock_obj_pub): Add file.
2014-01-24 Werner Koch <wk@gnupg.org>
tests: Call srand for each thread under Windows.
+ commit 8e352780fd0e2fbc8f4c4971aae188d62df24d0a
* tests/t-lock.c (accountant_thread) [W32]: Call srand.
Do not use the threadlib macros for Windows.
+ commit 2e4c5963119dc02cac7b8f0dfb46572c43d1ebe7
* configure.ac: Move platform detection before gl_THREADLIB_EARLY. Do
not use gl_THREADLIB for Windows.
Make multi-threading flags available via gpg-error-config.
+ commit f209d163a8167caa6910cd367aba923f703ac69e
* m4/threadlib.m4: Set THREADLIB_CPPFLAGS.
* src/gpg-error-config.in: Add option --mt.
* configure.ac: Add support for the --mt option.
* src/gpg-error.m4: Add ac_subst GPG_ERROR_MT_CFLAGS and
GPG_ERROR_MT_LIBS.
Allow using gpgrt_lock_init on an unitialized variable.
+ commit 4e8a88e7632b1f1d2b31ae738a159802549882c3
* src/posix-lock.c (gpgrt_lock_init): Detect unitialized lock var.
* src/w32-lock.c (gpgrt_lock_init): Ditto.
2014-01-17 Werner Koch <wk@gnupg.org>
Move version number first in the Posix lock-obj.
+ commit e07538c0ed3c5cb3d870a490a4c12bef4375278a
* src/posix-lock-obj.h (_gpgrt_lock_t): Swap VERS and MTX and put MTX
into a union.
* src/posix-lock.c (gpgrt_lock_lock): Adjust for this change.
* src/gen-posix-lock-obj.c (main): Change output accordingly.
Extend the platform dependent build rules.
+ commit d83b12213231443b93de39863b916ada6232035a
* src/mkheader.c (mk_include_name): New.
(include_file): Implement '&' substitution.
(try_include_file): New.
(write_special): Use try_include_file and syscfg/.
(main): Add a new arg.
* configure.ac (CROSS_COMPILING): New am_conditional.
(HOST_TRIPLET_STRING): New ac_define.
* src/gen-posix-lock-obj.c (main): Print the host triplet.
* src/w32-lock-obj-pub.in: Move to ...
* src/syscfg/lock-obj-pub.mingw32.h: here.
* src/Makefile.am (lock_obj_pub): New.
(pre_mkheader_cmds): New.
(gpg-error.h): Run pre_mkheader_cmds.
(parts_of_gpg_error_h, lock-obj-pub.native.h): Do not use when
cross-compiling.
2014-01-16 Werner Koch <wk@gnupg.org>
Fix linking for last change on non-ELF platforms.
+ commit 4f9b13e99bdfed886dadfd1b70a69af3747ebc98
* src/Makefile.am (libgpg_error_la_LIBADD): Add LIBTHREAD.
Add gpgrt_lock_ functions.
+ commit ff937c39febe63d52c55590d8e3bd3a460f26651
* src/gpg-error.h.in (GPGRT_LOCK_DEFINE): New.
(gpgrt_lock_init): New.
(gpgrt_lock_lock): New.
(gpgrt_lock_unlock): New.
(gpgrt_lock_destroy): New.
(gpgrt_yield): New.
* src/gpg-error.def.in: Add new functions.
* m4/lock.m4, m4/threadlib.m4: New. Taken from current gnulib.
* configure.ac: Call gl_LOCK. Check size of pthread_mutex_t. Add
LIBTHREAD to GPG_ERROR_CONFIG_LIBS.
* src/err-codes.h.in (GPG_ERR_INV_LOCK_OBJ): New.
* src/gen-posix-lock-obj.c: New.
* src/gen-w32-lock-obj.c: New.
* src/lock.h, src/thread.h: New.
* src/posix-lock-obj.h, src/w32-lock-obj.h: New.
* src/posix-lock.c, src/w32-lock.c: New.
* src/posix-thread.c, src/w32-thread.c:
* src/w32-lock-obj-pub.in: New.
* src/mkheader.c (include_file): Support build time include files.
(write_special): Add keyword "include:lock-obj".
* src/Makefile.am:
(posix-lock-obj-pub.in): New rule.
(noinst_PROGRAMS): Add gen-*-lock-obj helpers.
* tests/t-common.h: New.
* tests/t-lock.c: New.
* tests/Makefile.am (t_lock_LDADD): Add new test.
2014-01-14 Werner Koch <wk@gnupg.org>
Improve maintainability by rewriting the mkheader helper.
+ commit 78a06348fb07f2dce861615cc6d19964818f7334
* src/mkheader.c: New. Based on the mkheader from Libassuan.
* src/mkheader.awk: Remove.
* src/errnos.in: Add trailing linefeed.
* src/gpg-error.h.in: Change meta include directives for use with
mkheader.c.
* src/Makefile.am (EXTRA_DIST): Replace mkheader.awk by mkheader.c
(BUILT_SOURCES): Remove extra-h.in.
(CLEANFILES): Remove extra-h.in. Add mkheader.c.
(parts_of_gpg_error_h): New.
(extra-h.in): Remove rule.
(mkheader): Add rule.
(gpg-error.h): Change rule to use mkheader.
2014-01-10 Werner Koch <wk@gnupg.org>
po: Update de.po.
+ commit c1871fddf85cdddc33c1b35d5f1c8bae76388ee5
Use the generic autogen.sh script.
+ commit e3ff40a78e9e95e1296b66f9c0d3df905c8af0d3
* Makefile.am (EXTRA_DIST): Add autogen.rc remove config.rpath.
* autogen.rc: New.
* autogen.sh: Update from current GnuPG.
Move helper scripts to build-aux.
+ commit 69c15393d1dac28e08c3b84b1aea286f12327847
* compile, config.guess, config.rpath, config.sub
* depcomp, install-sh, ltmain.sh, missing: Move to build-aux/.
* configure.ac (AC_CONFIG_AUX_DIR): New.
2013-12-09 Werner Koch <wk@gnupg.org>
Add build support for ppc64le.
+ commit 0b192cff772bd416dc85b8140b9eb0d52e4175dd
* config.guess, config.sub: Update to latest version (2013-11-29).
* m4/libtool.m4: Add patches for ppc64le.
2013-12-09 David 'Digit' Turner <digit@google.com>
Update libtool to support Android.
+ commit bf0d67dbfa4161e529781d6dfbfcce7126c3bf22
* m4/libtool.m4: Add "linux*android*" case. Taken from the libtool
repository.
2013-11-17 Werner Koch <wk@gnupg.org>
Add GPG_ERR_MAC_ALGO.
+ commit b70a430d020e8541f66cca38c00355bab7bb1017
2013-07-15 Werner Koch <wk@gnupg.org>
w32: Fix corrupted string output.
+ commit 52e1f2e131b422fdb66abeaf4a8f084689b39bf7
* src/w32-gettext.c (get_string): Pass the nul of the utf-8 string to
the conversion function but keep TRANSLEN without the nul.
2013-06-24 Werner Koch <wk@gnupg.org>
Release 1.12.
+ commit 12243cebd558dcadf8e85eea39b6db5f0b314667
* configure.ac: Set LT version to C10/A10/R0.
Update German translation.
+ commit f85ef07dca7c931d63b202d94bfaccba0a30f7f6
2013-06-17 Werner Koch <wk@gnupg.org>
Add hack to have different names for 64 bit Windows DLLs.
+ commit ca46b9a7bccb2eab085fc45722ffca1210f48223
* ltmain.sh: Prefix the SO number for W64 with a "6".
Support building for w64.
+ commit 1ca9b0dec0bfee560ce43d9dac6a26557ebe67a1
2013-05-23 Werner Koch <wk@gnupg.org>
w32: Fix installing of .def file.
+ commit db438148df9623528aa7305b6d56edd23db8cbbe
* src/Makefile.am (install-def-file): Create libdir first.
Fix libtool 2.4.2 to correctly detect .def files.
+ commit dd05f3790e536dec6ed56087780a1065ca66371e
* ltmain.sh (sed_uncomment_deffile): New.
(orig_export_symbols): Uncomment def file before testing for EXPORTS.
* m4/libtool.m4: Do the same for the generated code.
2013-04-11 Werner Koch <wk@gnupg.org>
Add GPG_ERR_*CRYPT_CTX* and GPG_ERR_BROKEN_*KEY.
+ commit d2e6d96dfd2acc855b244a972269adfcf477cd10
* src/err-codes.h.in (GPG_ERR_NO_CRYPT_CTX): New.
(GPG_ERR_WRONG_CRYPT_CTX, GPG_ERR_BAD_CRYPT_CTX): New.
(GPG_ERR_CRYPT_CTX_CONFLICT): New.
(GPG_ERR_BROKEN_PUBKEY, GPG_ERR_BROKEN_SECKEY): New.
2013-02-25 Werner Koch <wk@gnupg.org>
Release 1.11.
+ commit 3367ff0aa51b6685e37b749b3179643b82d23064
* configure.ac: Set LT version to C9/A9/R0.
* Makefile.am (GITLOG_TO_CHANGELOG): New.
(gen-ChangeLog): Use --tear-off.
* build-aux/gitlog-to-changelog: Remove.
Update helper scripts.
+ commit b0ce47b730452bb28d5f46db3857c9efa5f9f51e
* compile, config.guess, config.rpath, config.sub, depcomp,
* install-sh, mkinstalldirs: Update to current versions from gnulib.
2013-02-23 Werner Koch <wk@gnupg.org>
Add translation to Ukrainian.
+ commit 47ff6a21c6d84acebef3ff20d982a6c255a6d282
* po/uk.po: New.
* po/LINGUAS: Add uk.po
Add translation to Esperanto.
+ commit 95c63baa0516592ec1a1c045565d6f992cc807eb
* po/eo.po: New.
* po/LINGUAS: Add eo.po.
Add version macros and check function.
+ commit e6943de88627c6662fba3fe905c8761dbf0ccfa1
* configure.ac (VERSION_NUMBER): New ac_subst.
(BUILD_FILEVERSION): Build on all platforms
(BUILD_TIMESTAMP): Try to use an ISO string.
* src/Makefile.am (extra-h.in): Add new version numbers.
* src/versioninfo.rc.in: Update copyright year.
* src/version.c: New.
(gpg_error_check_version): New API.
* src/gpg-error.h.in: Add gpg_error_check_version prototype.
* src/gpg-error.def.in: Add gpg_error_check_version
* tests/t-version.c: New.
* tests/Makefile.am (TESTS): Add t-version.c
* src/gpg-error-config.in: s/VERSION/PACKAGE_VERSION/.
2013-02-22 Werner Koch <wk@gnupg.org>
Fix the alias mechanism for --with-libgpg-error-prefix.
+ commit 056cc2d0dfef023fda47ce377d3ee544612526a3
* src/gpg-error.m4: Do not use the no-action branch in AC_ARG_WITH.
2012-11-16 Werner Koch <wk@gnupg.org>
Switch to the new automagic beta numbering scheme.
+ commit 3977201d2a82fcbe0341660e07a3b0d5c790f927
* configure.ac: Change to a git only revision id setup.
(BUILD_FILEVERSION): Use revision id for this.
* src/versioninfo.rc.in (FileVersion): Use LT version.
Update to libtool 2.4.2.
+ commit 6971fe55fb76f3c93058ebdef37dc179dff5d651
Add new source id for Libassuan.
+ commit d447a2150c235878e2c80afcc99e207755cfd2f9
* src/err-sources.h.in (GPG_ERR_SOURCE_ASSUAN): New.
Improve parsing of the GIT revision number.
+ commit b2e4d03c88823151aa30f8a878ad1a30618d1340
* configure.ac (git_revision): Use git rev-parse.
Fix non-portable use of chmod in autogen.sh.
+ commit 17c8c16ee2dcb33abb7fdf50c40015f1b9d13689
* autogen.sh: Remove option -c from chmod.
2012-08-09 Werner Koch <wk@gnupg.org>
Update Italian translation.
+ commit 3034b80debc15e6372fbc36a1814b2d273d9e4a7
2012-08-09 Jordy Provost <jordy.provost@free.fr>
Typo fix.
+ commit 9216a742c75432fb2ea0ee1e1818459014e051c5
* src/err-codes.h.in: Unify uppercase.
2012-08-09 Freek de Kruijf <f.de.kruijf@gmail.com>
Update Dutch translation.
+ commit 10373c0d9f4a557ee9af5f1569749b9697a7ae33
* po/nl.po: Update.
2012-08-09 Petr Pisar <petr.pisar@atlas.cz>
Update Czech translation.
+ commit f95162ecc92f338bf244ffdb402ade617d207d7a
* po/cs.po: Update.
2012-08-09 Joe Hansen <joedalton2@yahoo.dk>
Add Danish translation.
+ commit 7adbeeb806d7cd373a159b0acfc9b733a3295356
* po/da.po: New.
* po/LINGUAS: Add da.po.
2012-08-09 David Prévot <taffit@debian.org>
Update French translation.
+ commit 42471f9cbd59d427c9e1a8bf0267835f1395c6b4
* po/fr.po: Update, proofread by Jordy Provost
Keep previous msgids of translated messages.
+ commit f7db2dceb8d1da2606d039c04bc84f331f9cfe89
* po/Makefile.in.in: Add --previous option to msgmerge.
2012-08-07 Werner Koch <wk@gnupg.org>
Add Japanese translation.
+ commit 4fef48a0868ca1379d016f41c9d810857c00655f
* po/ja.po: New.
* po/LINGUAS: Add ja.po.
Update German translation.
+ commit 2ed3e70f0aeec41ece79d96a8ea6d114addf954d
* po/de.po: Update.
2012-06-20 Rafaël Carré <funman@videolan.org>
Use CPPFLAGS when generating mkerrcodes.h.
+ commit c35dbfdaa2e30e08185e4a468278a29e2c48b500
* src/Makefile.am (mkerrcodes.h): Use CPPFLAGS.
2011-12-01 Werner Koch <wk@gnupg.org>
Remove non-source file from the repo.
+ commit a7eb1bec2b76318bd17d4413d7f44197a241e3bc
* po/remove-potcdate.sed: Remove.
Fix for newer autoconf version.
+ commit 5a0d2a5abc0a707c20449b6afd37daa9fd373a18
* Makefile.am (EXTRA_DIST): Fix filename.
* configure.ac (my_full_version): New.
(AC_INIT): Use new macro. Change bug address to the bug tracker URL.
Generate the ChangeLog from commit logs.
+ commit 9d75d671d66386ad862db0466c4dd67a246dfe72
* build-aux/gitlog-to-changelog: New script. Taken from gnulib.
* build-aux/git-log-fix: New file.
* build-aux/git-log-footer: New file.
* doc/HACKING: New file.
* ChangeLog: New file.
* Makefile.am (EXTRA_DIST): Add new files.
(gen-ChangeLog): New.
(dist-hook): Run gen-ChangeLog.
Rename all ChangeLog files to ChangeLog-2011.
2011-12-01 Werner Koch <wk@gnupg.org>
NB: Changes done before December 1st, 2011 are described in
per directory files named ChangeLog-2011. See doc/HACKING for
details.
-----
Copyright (C) 2011 Free Software Foundation, Inc.
Copying and distribution of this file and/or the original GIT
commit log messages, with or without modification, are
permitted provided the copyright notice and this notice are
preserved.
|