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
|
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.
|