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
|
2013-07-07 Christopher Faylor <me.cygwin2013@cgf.cx>
* cygcheck.cc (dll_info): Detect and report on symlinks. Output wrong
architecture message inline with stdout for clarity.
* path.cc (is_symlink): Always reset file pointer to beginning on exit.
(readlink): Assume that file pointer is set to the beginning.
2013-06-26 Corinna Vinschen <corinna@vinschen.de>
* cygpath.cc (do_pathconv): when -p option is given, generate wide
path without long path prefixing.
* wide_path.h (wide_path::wide_path): Allow extra bool parameter to
specify whether or not performing Windows long path prefixing.
2013-05-21 Corinna Vinschen <corinna@vinschen.de>
Reinstantiate accidentally removed patch from 2009-05-16:
* Makefile.in (cygpath.exe): Link against cygwin.a before linking
against ntdll.dll to avoid linking symbols defined in both DLLs
from ntdll.
(ps.exe): Ditto.
2013-05-10 Warren Young <warren@etr-usa.com>
* utils.sgml utils.xml: Renamed utils.sgml to utils.xml, added
<?xml> and <!DOCTYPE> tags to the top, and formatted it. No
content change.
2013-04-23 Corinna Vinschen <corinna@vinschen.de>
* Merge in cygwin-64bit-branch. See ChangeLog.64bit for details.
2013-02-20 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
* Makefile.in (CYGWIN_LDFLAGS): Replace -static-lib* with -static.
(MINGW_LDFLAGS): Ditto.
(ZLIB): Simplify accordingly.
2012-12-14 Corinna Vinschen <corinna@vinschen.de>
* utils.sgml (mount): Document sparse mount option.
2012-11-27 Christopher Faylor <me.cygwin2012@cgf.cx>
* Makefile.in: Move CFLAGS and CXXFLAGS so that they can be manipulated
by Makefile.common. Add -static-libstdc++ to *LDFLAGS. Add
dependencies for loadlib.h.
* loadlib.h: Update copyright.
(_load_sys_library): Properly define set_dll_library as WINAPI to avoid
stack corruption.
2012-11-27 Christopher Faylor <me.cygwin2012@cgf.cx>
* Makefile.in (ZLIBS): Common define to force static load.
(MINGW_LDFLAGS): Use static libgcc.
2012-11-27 Christopher Faylor <me.cygwin2012@cgf.cx>
* Makefile.in: Make sure that libz is always loaded staticly.
2012-11-26 Christopher Faylor <me.cygwin2012@cgf.cx>
* configure.ac: Rename from configure.in.
* configure.in: Delete.
* configure: Regenerate.
2012-11-26 Corinna Vinschen <corinna@vinschen.de>
* bloda.cc: Drop Mingw.org considerations.
* dump_setup.cc: Ditto.
* strace.cc: Ditto.
2012-11-12 Christopher Faylor <me.cygwin2012@cgf.cx>
* aclocal.m4: Regenerate.
* configure: Ditto.
* autogen.sh: New script.
* configure.in: Revamp for new configury.
* Makefile.in: Revamp for new configury. Rename ALL_* to just *.
Always use "VERBOSE" setting.
(MINGW_CXX): Don't include CFLAGS in definition.
(all): Define target first, before everything else so that it is the
default.
(ps.exe): Don't add useless -lcygwin.
(ldh.exe): For consistency, add to existing MINGW_LDFLAGS rather than
redefining them.
(cygcheck.exe): Always include -lz for MINGW_LDFLAGS. Don't try to
figure out where to find it.
(dumper.exe): Simplify check. Assume libraries are installed rather
than trying to retrieve from source tree.
(install): Just use /bin/mkdir to create directories.
(Makefile): Regenerate when standard dependencies change.
* dump_setup.cc: Always include zlib.h. Remove accommodations for it
possibly not existing.
* parse_pe.cc: Add define which allows building with installed
binutils package.
* dumper.cc: Ditto.
2012-11-09 Corinna Vinschen <corinna@vinschen.de>
* path.cc (vcygpath): Handle cygdrive prefix.
2012-11-07 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in ($(MINGW_BINS)): Drop -B$(mingw_build)/ from build
expression.
2012-11-05 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in (MINGW_CXX): Attach $(CFLAGS) to allow providing
build option tweaks to mingw compiler as well.
2012-10-24 Corinna Vinschen <corinna@vinschen.de>
* configure.in: Add AC_NO_EXECUTABLES,
* configure: Regenerate.
2012-10-24 Kai Tietz <ktietz70@googlemail.com>
Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Corinna Vinschen <corinna@vinschen.de>
* configure.in: Add check for MINGW_CXX. Remove libiconv check.
* configure: Regenerate.
* Makefile.in: Remove references to mingw and w32api directories.
Use MINGW_CXX instead of mingw script to build MINGW_BINS.
Check for libiconv with $CC --print-file-name.
* cygcheck.cc: Use relative include paths for Cygwin headers.
* path.cc: Ditto.
* strace.cc: Ditto
* mingw: Remove.
2012-10-19 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in (cygcheck.exe): Add temporary (1.7.17-only) hack to
allow cygcheck running on pre-Vista despite of the new w32api not
matching the locally used w32api.
2012-10-09 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (dump_sysinfo): Convert "if/else if" chain to a switch
statement. Drop "not yet supported" and "Server" from Windows 2012
output string.
2012-09-02 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (dump_sysinfo): Drop "not yet supported" text from
Windows 8. Update products array.
2012-07-11 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in (cygcheck.exe): Link against psapi.dll.
* bloda.cc: Change include section to work with Mingw64 headers.
Include psapi.h. Use SystemProcessInformation instead of
SystemProcessesAndThreadsInformation throughout and add define for
w32api headers. Ditto for PSYSTEM_PROCESS_INFORMATION vs.
PSYSTEM_PROCESSES.
(system_module_list): New type to replace SYSTEM_MODULE_INFORMATION.
Change usage throughout accordingly.
(get_module_list): Fetch module list using PSAPI functions
EnumDeviceDrivers and GetDeviceDriverBaseNameA.
* cygcheck.cc (max): Define as __max if not defined already.
(alloca): Only define if not defined already.
(handle_unique_object_name): Use explicit sharing flags rather than
FILE_SHARE_VALID_FLAGS which officially is only available in DDK
headers.
(PRODUCT_ULTIMATE_E): Only define if not defined already.
* dump_setup.cc: Change include section to work with Mingw64 headers.
(NtQueryAttributesFile): Drop NTOSAPI aka DECLSPEC_IMPORT.
* strace.cc: Change include section to work with Mingw64 headers.
(alloca): Only define if not defined already.
2012-07-06 Corinna Vinschen <corinna@vinschen.de>
* cygpath.cc: Change including headers to allow building against
Mingw64 headers. Include ntdef.h and ntdll.h rather than ddk headers.
Define _WIN32_WINNT and WINVER as 0x0602.
(RtlEqualUnicodePathPrefix): Drop definition. Pulled in from ntdll.h
now.
(get_device_name): s/Zw/Nt.
* dumper.cc: Include sys/param.h
(dumper::dump_memory_region): Use MIN rather than min.
* locale.cc: Include stdlib.h. Define _WIN32_WINNT and WINVER as
0x0602.
* ps.cc: Include ntdef.h and ntdll.h rather than ddk headers.
* regtool.cc (regDeleteKeyEx): Drop WINADVAPI qualifier.
2012-06-03 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (dump_sysinfo): Change "Server 8" to official
"Server 2012".
2012-05-05 Corinna Vinschen <corinna@vinschen.de>
* mkpasswd.c (current_user): Actually *use* $HOME if it's available.
Add comment to explain what we're doing here.
2012-04-05 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c (print_special_by_sid): Rename from print_special. Change
calls throughout.
(print_special_by_name): New function.
(main): Call print_special_by_name for TrustedInstaller account.
* mkpasswd.c (print_special_by_sid): Rename from print_special. Change
calls throughout.
(print_special_by_name): New function.
(enum_std_accounts): Call print_special_by_name for TrustedInstaller
account.
2012-02-24 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
* pldd.c: Fix typo in license header.
2012-02-24 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
* Makefile.in (CYGWIN_BINS): Add pldd.
(pldd.exe): Add -lpsapi to ALL_LDFLAGS.
* pldd.c: New file.
* utils.sgml (pldd): New section.
2012-02-09 Corinna Vinschen <corinna@vinschen.de>
* passwd.cc: Add -v option to print version information as well, since
it's used in older csih.
2012-02-04 Corinna Vinschen <corinna@vinschen.de>
* utils.sgml: Fix typos.
2012-01-31 Christopher Faylor <me.cygwin2012@cgf.cx>
* strace.cc (proc_child): Don't right-shift exit value.
(main): Call ExitProcess() to exit exactly the same way as any straced
child.
2012-01-29 Corinna Vinschen <corinna@vinschen.de>
* tzset.c: Throughout use wide characters to be locale agnostic.
(main): Call setlocale.
2012-01-29 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in (CYGWIN_BINS): Add tzset.
* tzset.c: New tool, new file.
* utils.sgml (tzset): New section.
2012-01-24 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
* ldd.cc (start_process): Handle .oct and .so as DLLs.
2011-12-22 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in (ps.exe): Revert previous change.
* ps.cc: Include psapi.h again.
(main): In CW_GETPINFO_FULL case. Evaluate minimal process access mask
required per OS and use that in OpenProcess call. Use
GetModuleFileNameExW on Windows 2000 or if fetching the drive mapping
failed. Handle empty process name.
2011-12-22 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in (ps.exe): Drop -lpsapi from ALL_LDFLAGS.
* ps.cc: Don't include psapi.h.
(dosdevs): Drop.
(unicode_buf): Define.
(main): Simplify path evaluation in CW_GETPINFO_FULL case. Fetch drive
map from Cygwin DLL. Use it to convert NT device paths to Win32 paths.
2011-12-02 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in (cygpath.exe): Add -luserenv to ALL_LDFLAGS.
* cygpath.cc: Throughout, use cygwin_conv_path WIN_W rather than WIN_A
conversion.
(get_long_path_name_w32impl): Remove.
(get_long_name): Drop pre-Windows 2000 accommodations. Just call
GetLongPathNameW here directly.
(get_special_folder): Convert first parameter to WCHAR buffer pointer.
Drop conversion of result from WCHAR * to char *.
(do_sysfolders): Accommodate change to get_special_folder and only
convert result to char * last. Drop pre-Windows 2000 accommodations
and just call GetProfilesDirectoryW directly. Replace call to
GetWindowsDirectoryW with call to GetSystemWindowsDirectoryW.
Just call GetShortPathNameW directly.
(do_pathconv): Simplify buffer handling.
2011-12-01 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c: Drop support for NT4 domains.
* mkpasswd.c: Ditto.
(psx_dir): Remove.
(current_user): Drop support for -m option. Use $HOME as is since it's
a POSIX path anyway.
(enum_users): Drop support for -m option.
(usage): Mention -m option as ignored.
(main): Drop support for -m option. Mark ignored options as deprecated.
* utils.sgml (mkpasswd): Remove description of -m option.
2011-11-28 Corinna Vinschen <corinna@vinschen.de>
* locale.cc (print_locale_with_codeset): Fetch Windows path as UNICODE
path and convert that to POSIX.
2011-11-28 Corinna Vinschen <corinna@vinschen.de>
* ps.cc: Remove all Win 9x considerations. Use psapi functions
directly. Drop support for older Cygwin DLLs. Just use progname_long
as is since it's already a POSIX path now. Rename "tty" to "pty" as in
the Cygwin DLL. Call setlocale to make sure wcstombs does the right
thing according to the current locale.
* Makefile.in (ps.exe): Link against psapi.dll.
2011-11-24 Christopher Faylor <me.cygwin2011@cgf.cx>
* strace.cc (attach_process): Use NT_SUCCESS to figure out if
NtSetInformationProcess succeeded.
(handle_output_debug_string): Put back DebugActiveProcess since it
seems to still be needed (on my system at least). Detect new format
_STRACE_INTERFACE_ACTIVATE_ADDR which informs whether this is a forked
process or not. Use that to decide if forkdebug should be handled.
2011-11-14 Christopher Faylor <me.cygwin2011@cgf.cx>
* strace.cc (handle_output_debug_string): Disable code which attempted
to add stuff in between '****' blocks since they no longer are the
first thing output by an straced process.
2011-10-13 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (dump_sysinfo): Add Windows 8 recognition. Note as
unsupported. Update products array.
2011-10-11 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
* utils.sgml (getconf): Expand documentation.
2011-10-10 Corinna Vinschen <corinna@vinschen.de>
* ldd.cc (VERSION): Remove.
2011-10-10 Christopher Faylor <me.cygwin2011@cgf.cx>
* ldd.cc: Update copyright.
2011-10-10 Corinna Vinschen <corinna@vinschen.de>
* Align usage output, version output, as well as usage and version
option handling to use the same style throughout all Cygwin utils.
Throughout use program_invocation_short_name to refer to current
process name in Cygwin executables.
* utils.sgml: Align documentation to above change. Add missing
sections for getconf, ldd, and setmetamode.
* strace.cc (proc_child): Avoid compiler warning.
2011-10-10 Andy Koppe <andy.koppe@gmail.com>
Corinna Vinschen <corinna@vinschen.de>
* locale.cc (usage): Restructure, rephrase, add new options. Drop
arguments, don't exit.
(print_version): New function.
(longopts): Add -f, -n, and -V options. Reorder.
(opts): Add -f, -n, and -V options.
(main): Call GetSystemDefaultUILanguage for -s option. Call
GetUserDefaultUILanguage for -u option. Add -f and -n options and
call GetUserDefaultLCID and GetSystemDefaultLCID respectively. Return
0 after calling usage in -h case. Add -V option and call print_version.
Don't print full usage in default case, rather just a short help message
similar to GNU tools.
* utils.sgml (locale): Align to above changes. Rephrase description.
2011-10-10 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (check_keys): Use UNICODE Win32 functions.
2011-09-12 Jon TURNEY <jon.turney@dronecode.org.uk>
* strace.cc (attach_process): Try to turn off DEBUG_ONLY_THIS_PROCESS
if Attaching to a process with the trace-children flag set.
(handle_output_debug_string): Apparently we don't need to explicitly
attach for debugging when a child process starts
* Makefile.in (strace.exe): Link with ntdll
2011-08-21 Christopher Faylor <me.cygwin2011@cgf.cx>
* Makefile.in: Check for header file existence when building dumper.exe
too.
2011-08-10 Corinna Vinschen <corinna@vinschen.de>
* ps.cc (main): Don't overwrite process name, just attach <defunct>
to it for zombie processes.
2011-07-19 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
* Makefile.in (CYGWIN_BINS): Add getconf.
(getconf.c): New file.
2011-06-14 Christopher Faylor <me.cygwin2011@cgf.cx>
* mingw: Force use of bash.
2011-05-29 Christopher Faylor <me.cygwin2011@cgf.cx>
* ps.cc (ttynam): Accommodate new console numbering.
(main): Ditto.
2011-05-03 Corinna Vinschen <corinna@vinschen.de>
* locale.cc (print_locale_with_codeset): Align printing of locale names
to POSIX.
2011-04-18 Corinna Vinschen <corinna@vinschen.de>
* setfacl.c (getaclentry): Allow extra colon in mask and other entries.
2011-04-12 Jon TURNEY <jon.turney@dronecode.org.uk>
* utils.sgml (strace): Fix a pair of exchanged lines in usage text.
2011-04-04 Corinna Vinschen <corinna@vinschen.de>
* passwd.c (main): Add the ability to specify a username for the -R
command.
* utils.sgml: Document the aforementioned change.
2011-02-29 Corinna Vinschen <corinna@vinschen.de>
* regtool.cc (cmd_set): Avoid a compiler warning.
2011-02-29 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (handle_unique_object_name): Avoid a compiler warning.
(dump_sysinfo): Ditto.
* loadlib.h (_load_sys_library): Mark as used, to avoid a compiler
warning.
* path.cc (oopt): Gurad with !FSTAB_ONLY to avoid a compiler warning.
(read_flags): Ditto.
2011-02-28 Corinna Vinschen <corinna@vinschen.de>
* setfacl.c (strchrnul): Drop local implementation.
2011-02-15 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc: Fix copyright dates.
2011-01-10 Jon TURNEY <jon.turney@dronecode.org.uk>
* cygcheck.cc (main): don't imply -d from -s option to cygcheck
2010-12-11 Corinna Vinschen <corinna@vinschen.de>
* setfacl.c (strchrnul): New function.
(getaclentry): Rewrite.
2010-12-06 Corinna Vinschen <corinna@vinschen.de>
* cygpath.cc (get_device_name): Fix path length test.
2010-10-30 Dmitry Potapov <dpotapov@gmail.com>
* regtool.c (cmd_set): Write correct number of bytes for REG_MULTI_SZ
case.
2010-09-06 Corinna Vinschen <corinna@vinschen.de>
* cygpath.cc (RtlEqualUnicodePathPrefix): New helper function.
(HARDDISK_PREFIX): Move.
(GLOBALROOT_PREFIX): Define.
(get_device_name): Take GLOBALROOT_PREFIX into account.
Improve check for path to allow filesystem access via block devices.
Potentially drop \\.\ prefix if resulting path is a valid DOS
pathname.
(do_pathconv): Make sure to drop \\?\ prefix only if path is
actually a filesystem based path.
(print_version): Fix copyright.
2010-08-28 Corinna Vinschen <corinna@vinschen.de>
* ldh.cc (WinMain): Change DONT_RESOLVE_DLL_REFERENCES to
LOAD_WITH_ALTERED_SEARCH_PATH.
2010-08-28 Corinna Vinschen <corinna@vinschen.de>
* loadlib.h: New header implementing safe LoadLibrary calls.
Include throughout files using LoadLibrary function.
* cygcheck.cc (dump_sysinfo): Retrieve kernel32.dll handle via
GetModuleHandle, rather than using LoadLibrary.
* cygpath.cc (get_long_name): Ditto.
(do_sysfolders): Append .dll suffix in LoadLibrary call.
* ldh.cc (WinMain): Use LoadLibraryExW with DONT_RESOLVE_DLL_REFERENCES
to avoid loading malicious library code.
* locale.cc (print_locale_with_codeset): Change way to retrieve
kernel32.dll path.
2010-08-26 Corinna Vinschen <corinna@vinschen.de>
* cygpath.cc (get_device_name): Prefer the \\.\X: DOS device for
harddisks, if available.
2010-08-21 Corinna Vinschen <corinna@vinschen.de>
* ldd.cc (report): Drop long pathname considerations which result in
invalid path, now that this is done in cygwin_conv_path.
2010-08-13 Corinna Vinschen <corinna@vinschen.de>
* mount.cc (from_fstab): Fix potentially fatal typo.
2010-08-11 Corinna Vinschen <corinna@vinschen.de>
* mount.cc (do_mount): Don't treat "bind" mount as remote mount.
(mount_entries): Drop the "bind" option from output.
* utils.sgml (mount): Match examples to actual mount output. Add
"bind" option and add example.
2010-08-10 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
* mingw: Use sysroot, if present, for mingw_dir.
2010-07-21 Corinna Vinschen <corinna@vinschen.de>
* dump_setup.cc (tfx_chars): New WCHAR array, copied from Cygwin.
(transform_chars): New function, copied from Cygwin.
(simple_nt_stat): New function to check file existance using native
NT function. Explain why.
(directory_exists): Call simple_nt_stat.
(file_exists): Ditto.
2010-07-05 Christopher Faylor <me+cygwin@cgf.cx>
* ldd.cc: Clean up formatting throughout.
(head): Move earlier.
(saw_file): Ditto.
(print_dlls): Reset head here. Record seen dll names so they will
not potentially be printed later.
(process_file): Remove clearing of head here.
2010-07-05 Corinna Vinschen <corinna@vinschen.de>
* dump_setup.cc (dump_file): Read requested content from setup.rc
file created by newer setup.exe.
2010-06-29 Corinna Vinschen <corinna@vinschen.de>
* utils.sgml (locale): Change stray local cygdrive prefix to Cygwin's
default.
2010-04-29 Corinna Vinschen <corinna@vinschen.de>
* utils.sgml (mount): Add description for "dos" and "ihash" mount
options.
2010-04-29 Corinna Vinschen <corinna@vinschen.de>
* path.cc: Include sys/cygwin.h if built for mount(1).
(struct opt): Add "dos" and "ihash" options.
(from_fstab_line): Call cygwin_internal rather than read_flags if
built for mount(1).
2010-04-29 Corinna Vinschen <corinna@vinschen.de>
* mount.cc (oopts): Remove entirely.
(usage): Call cygwin_internal (CW_LST_MNT_OPTS) to create list of
mount options.
(print_version): Fix copyright date.
(main): Replace option processing loop with single call to
cygwin_internal (CW_CVT_MNT_OPTS).
2010-04-28 Corinna Vinschen <corinna@vinschen.de>
* locale.cc (print_lc_xxx_charset): Remove.
(enum type_t): Change according to the fact that nl_langinfo now returns
all locale category values.
(lc_ctype_names): Add new category members. Redefine for exclusive
nl_langinfo usage.
(lc_numeric_names): Ditto.
(lc_time_names): Ditto.
(lc_collate_names): Ditto.
(lc_monetary_names): Ditto.
(lc_messages_names): Ditto.
(print_lc): Change switch according to new type_t values.
2010-03-27 Corinna Vinschen <corinna@vinschen.de>
* locale.cc (print_charmaps): Add EUC-CN and GB2312.
2010-03-24 Corinna Vinschen <corinna@vinschen.de>
* regtool.cc (find_key): Fix allocation size of "value".
2010-03-23 Corinna Vinschen <corinna@vinschen.de>
* locale.cc (add_locale_alias_locales): Always use loc_num at function
start to avoid confusing bsearch.
2010-03-23 Corinna Vinschen <corinna@vinschen.de>
* locale.cc: Revert accidental checkin of unfinished changes.
2010-03-23 Corinna Vinschen <corinna@vinschen.de>
* locale.cc (print_locale_with_codeset): Drop redundant name parameter.
Simplify creating locale string. Add "@" in case of a modifier.
(print_locale): Drop name parameter in calls to
print_locale_with_codeset.
2010-02-25 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
* utils.sgml (kill): Add SIGIO, SIGCLD, and SIGPWR.
2010-02-25 Corinna Vinschen <corinna@vinschen.de>
* utils.sgml (locale): Change description of -a and -av to match
latest changes.
2010-02-23 Corinna Vinschen <corinna@vinschen.de>
* locale.cc (printlocale): Remove.
(loc_t): New type to keep locale information for printing.
(print_codeset): New function to print codeset as on Linux.
(print_locale_with_codeset): New function to print single locale.
Print verbose style as the Linux locale(1) tool.
(print_locale): New function to print single locale plus its UTF-8
variation, if available.
(compare_locales): New helper function for bsearch and qsort on loc_t.
(add_locale): New function to store locale in loc_t array.
(add_locale_alias_locales): New function to store locales from
locale.alias file in loc_t.
(print_all_locales): Call add_locale instead of printlocale.
Call add_locale_alias_locales, sort locales alphabetically and print
them.
2010-02-22 Christopher Faylor <me+cygwin@cgf.cx>
* strace.cc (mnemonic_table): Add "special" mask option.
(usage): Document it.
* utils.sgml: Ditto.
2010-02-22 Corinna Vinschen <corinna@vinschen.de>
* cygpath.cc (do_pathconv): Fix erroneously printing native NT path
prefix introduced by previous patch.
2010-02-22 Corinna Vinschen <corinna@vinschen.de>
* locale.cc (lc_time_names): Add "date_fmt" entry.
2010-02-19 Christopher Faylor <me+cygwin@cgf.cx>
* strace.cc (mnemonic_table): Add pthread mask option.
(usage): Document strace pthread mask option.
* utils.sgml: Ditto.
2010-02-19 Corinna Vinschen <corinna@vinschen.de>
* locale.cc (print_lc_mstrings): New function to print
semicolon-separated strings.
(enum type_t): New type is_sepstrings_linf.
(lc_time_names): Change type of era and alt_digits entry to
is_sepstrings_linf.
(print_lc): Add case for is_sepstrings_linf and call print_lc_mstrings
in that case.
2010-02-17 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in (CYGWIN_BINS): Rename getlocale to locale.
* getlocale.c: Rename to ...
* locale.cc: Revamp to add full functionality of POSIX locale(1) tool,
as far as Cygwin supports it.
* utils.sgml (getlocale): Move and rename to ...
(locale): Accommodate new functionality.
2010-02-13 Ilguiz Latypov <ilatypov@infradead.org>
* cygpath.cc (do_pathconv): Fix potential crash.
2010-02-11 Corinna Vinschen <corinna@vinschen.de>
* getlocale.c (main): Rename local variable to avoid problems.
Avoid string comparisons, rather test language and sublanguage codes
wheere possible. Add more code to handle Serbian language/territory
state identical on all Windows versions. Fix handling for "@latin"
modifier in Belarusian locale.
* utils.sgml (getlocale): Try to make wording and example clearer.
2010-02-10 Corinna Vinschen <corinna@vinschen.de>
* getlocale.c (usage): Change text slightly.
2010-02-10 Corinna Vinschen <corinna@vinschen.de>
* getlocale.c (main): Restrict -a loop to avoid psudo language entries
on Vista and later.
2010-02-10 Corinna Vinschen <corinna@vinschen.de>
* getlocale.c (main): Revamp -a loop to avoid duplicates and to print
locales with the correct, supported modifiers.
2010-01-25 Corinna Vinschen <corinna@vinschen.de>
* getlocale.c (main): Use setlocale and fetch string from Windows
using GetLocaleInfoW. Explain why.
2010-01-22 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in (CYGWIN_BINS): Add getlocale.
* getlocale.c: New file.
* utils.sgml (getlocale): New section describing new getlocale tool.
2010-01-16 Corinna Vinschen <corinna@vinschen.de>
* cygpath.cc (get_mixed_name): Drop function. Replace with call to
convert_slashes throughout.
(do_sysfolders): Free allocated buffer.
(do_pathconv): Fix freeing last buffer.
2010-01-11 Corinna Vinschen <corinna@vinschen.de>
* mount.cc (do_mount_from_fstab): Allow to change cygdrive prefix, too.
2010-01-07 Corinna Vinschen <corinna@vinschen.de>
* cygpath.cc: Throughout, free obsolete path buffers.
2010-01-07 Corinna Vinschen <corinna@vinschen.de>
* cygpath.cc (main): Remove enforcing "en_US.UTF-8" locale.
Revert usage of argz functions when reading input from file and
simplify option usage. Allow only one option argument and use
the rest as filename argument to allow spaces in filenames. Restrict
processing special folder type options to one line.
2009-12-17 Christopher Faylor <me+cygwin@cgf.cx>
* ps.cc (main): Return 0 if pid found.
2009-12-16 Corinna Vinschen <corinna@vinschen.de>
* regtool.cc: Throughout, convert all registry calls to wide char
calls and use string conversion according to current locale.
(longopts): Change "dword-le" to "dword-be", as was originally
intended.
(usage): Change usage accordingly.
(print_version): Simplify copyright dates in output.
(cmd_list): Handle REG_LINK like REG_SZ.
(cmd_get): Ditto.
(main): Call setlocale.
* utils.sgml (regtool): Fix options and add missing descriptions for
new features.
2009-11-29 Corinna Vinschen <corinna@vinschen.de>
* setfacl.c (getaclentry): Allow to delete default entries for the
owner and owner group.
2009-11-27 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (dump_sysinfo): Fix typo in products.
2009-11-11 Corinna Vinschen <corinna@vinschen.de>
* getfacl.c (print_version): Fix copyright.
(main): Don't reuse local variables confusingly. Don't print any file
information if acl() fails. Improve error message. Always print a
trailing empty line. Set return code to 2 if accessing some file fails.
2009-11-04 Corinna Vinschen <corinna@vinschen.de>
* path.cc (read_mounts): Skip unnecessary test if path has been
fetched from loaded cygwin1.dll.
2009-11-04 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (cygwin_dll_path): New global variable.
(load_cygwin): Fetch cygwin DLL path and store in cygwin_dll_path.
* strace.cc: Full ditto.
* path.cc (read_mounts): First use the path stored in cygwin_dll_path,
if available. Then fall back to fetching own path. Add comment.
Drop printing warnings since they look funny in strace output.
2009-11-04 Corinna Vinschen <corinna@vinschen.de>
* path.cc (read_mounts): First get installation path from own path.
Check if cygwin1.dll exists in same directory. Only if not, try to
get installation path from setup registry key. Add ample warnings.
2009-11-04 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in (cygpath.exe): Add -fno-threadsafe-statics to CXXFLAGS.
2009-10-31 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc: Include cygprops.h.
(del_orphaned_reg): New option variable.
(unique_object_name_opt): Ditto.
(handle_reg_installation): New function.
(print_reg_installations): Ditto.
(del_orphaned_reg_installations): Ditto.
(memmem): Ditto.
(handle_unique_object_name): Ditto.
(dump_sysinfo): Call print_reg_installations from here.
(usage): Add usage for new options --delete-orphaned-installation-keys,
--enable-unique-object-names, --disable-unique-object-names, and
--show-unique-object-names.
(longopts): Add new options --delete-orphaned-installation-keys,
--enable-unique-object-names, --disable-unique-object-names, and
--show-unique-object-names.
(main): Handle new options.
* utils.sgml (cygcheck): Change documentaion accordingly.
2009-10-28 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (pretty_id): Drop arguments. Don't change CYGWIN
environment variable.
(dump_sysinfo): Don't tweak CYGWIN environment variable, just call
pretty_id once.
2009-10-20 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (dump_sysinfo): Update with latest NT 6.1 versions.
2009-10-15 Corinna Vinschen <corinna@vinschen.de>
* cygpath.cc (get_special_folder): Fetch path as WCHAR and convert
using my_wcstombs.
(get_user_folder): Remove.
(do_sysfolders): Use get_special_folder instead of get_user_folder.
Fetch system paths as WCHAR and convert using my_wcstombs.
2009-10-12 Corinna Vinschen <corinna@vinschen.de>
* kill.cc (main): Skip to PID loop on invalid option to handle
negative pids there.
2009-08-11 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c (enum_local_groups): Avoid error message if given group
name isn't found and return 0 to allow searching to proceed. Always
return 0 or 1, not -1.
(enum_groups): Avoid error message if given group name isn't found.
* mkpasswd.c (enum_users): Ditto.
2009-08-10 Dave Korn <dave.korn.cygwin@gmail.com>
* mingw: Add fallbacks to search for MinGW components in standard
install locations if not found in compiler's $prefix.
2009-08-09 Corinna Vinschen <corinna@vinschen.de>
* mount.cc (do_mount): Don't exit, just return.
2009-07-23 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (dump_sysinfo): Add missing "Server Foundation" to
products array.
2009-07-22 Corinna Vinschen <corinna@vinschen.de>
* mount.cc (do_mount): Replace --no-executable flag with notexec
mount option in hint for remote filesystems.
* path.cc (getmntent): Fix typo (noexec -> notexec).
2009-07-22 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in (path-mount.o): Add a rule to build stripped down version
of path.cc for usage in mount.
(mount.exe): Add dependency to path-mount.o.
* mount.cc (force): Convert to bool value. Accommodate throughout.
(from_fstab): New function.
(do_mount_from_fstab): New function.
(longopts): Add --all option.
(opts): Add -a option.
(usage): Document -a/--all option.
(main): Handle -a option as well as single parameter.
* path.cc: Add FSTAB_ONLY conditional to allow building path-mount.o.
(mount_table): Remove static storage class.
(max_mount_entry): Ditto.
(root_here): Unused. Remove.
(from_fstab_line): Remove static.
* path.h (struct mnt_t): Define here rather than in path.cc.
(from_fstab_line): Declare.
(mount_table): Declare.
(max_mount_entry): Declare.
* utils.sgml (mount): Document -a/--all option and mounting of single
path from fstab files.
2009-07-15 Corinna Vinschen <corinna@vinschen.de>
* strace.cc (main): Open trace output file in UNIX mode.
2009-07-13 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (dump_sysinfo): Remove "not yet supported" text.
2009-07-04 Christopher Faylor <me+cygwin@cgf.cx>
* cygwin-console-helper.cc: New file.
2009-06-10 Corinna Vinschen <corinna@vinschen.de>
* path.cc (oopts): Sort alphabetically, add missing "auto" and
"override" entries.
(from_fstab_line): Handle mount points same as Cygwin itself. Use
"cygdrive prefix" as posix name of cygdrive prefix.
(from_fstab): Add auto entries for /usr/bin and /usr/lib. Add
MOUNT_AUTOMATIC and MOUNT_IMMUTABLE flags to default root dir entry.
Use "cygdrive prefix" as posix name of default cygdrive prefix.
(getmntent): Allocate smaller buffers. Align output closer to output
of mount(1).
2009-05-17 Corinna Vinschen <corinna@vinschen.de>
* cygpath.cc (codepage): New variable.
(long_options): Add --codepage option.
(options): Add -C option.
(usage): Add -C/--codepage description.
(my_wcstombs): New function. Use througout instead of wcstombs.
(do_options): Handle -C/--codepage option.
* utils.sgml (cygpath): Add description for new -C/--codepage option.
2009-05-16 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in (cygpath.exe): Link against cygwin.a before linking
against ntdll.dll to avoid linking symbols defined in both DLLs
from ntdll.
(ps.exe): Ditto.
2009-05-15 Corinna Vinschen <corinna@vinschen.de>
* cygpath.cc (main): Only setlocale for LC_CTYPE category. Fallback
to UTF-8 if locale is "C".
* ldd.cc (main): Ditto.
* mkgroup.c (main): Ditto.
* mkpasswd.c (main): Ditto.
* passwd.c (main): Ditto.
2009-05-13 Corinna Vinschen <corinna@vinschen.de>
Christopher Faylor <me+cygwin@cgf.cx>
* mount.cc (oopts): Sort. Add override option. Add dummy "auto"
option for consistency.
(mount_entries): Avoid adding auto-mounted entries to -m output.
* utils.sgml: Sort mount options. Add description of override option.
2009-05-11 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in: Link ps.exe agains ntdll.dll.
* ps.cc (main): Enable SE_DEBUG_NAME privilege if Windows processes
have to be enumerated. Workaround EnumProcessModules problem when
running under WOW64 and use NtQueryInformationProcess to fetch
process image name.
2009-05-06 Corinna Vinschen <corinna@vinschen.de>
* mkpasswd.c (current_user): Don't use HOMEDRIVE/HOMEPATH to generate
user's homedir.
* mkgroup.c: Accommodate ctype changes.
* mkpasswd.c: Ditto.
* setfacl.c: Ditto.
* ssp.c: Ditto.
2009-05-04 Christopher Faylor <me+cygwin@cgf.cx>
* cygcheck.cc (find_app_on_path): Avoid using NULL pointer if
find_on_path doesn't find the app on the path.
2009-05-04 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (usage): Fix option order and print.
2009-04-22 Christopher Faylor <me+cygwin@cgf.cx>
* strace.cc (create_child): Set CYGWIN=noglob when starting new process
so that Cygwin will leave already-parsed the command line alonw.
2009-04-15 Corinna Vinschen <corinna@vinschen.de>
* cygpath.cc (do_pathconv): Only skip \\?\ prefix if it's really
given. Do backslash to slash conversion for mixed paths after
handling \\?\ prefix.
2009-04-13 Dave Korn <dave.korn.cygwin@gmail.com>
* Makefile.in (dumper.exe): Add -lz to ALL_LDFLAGS.
2009-04-07 Corinna Vinschen <corinna@vinschen.de>
* path.cc (readlink): Accommodate new UTF-16 symlinks.
2009-04-03 Kevin Buettner <kevinb@redhat.com>
* utils.sgml: Various syntactical and semantical fixes.
* cygcheck.cc (usage): Fix --find-package explanation.
2009-03-26 Yaakov Selkowitz <yselkowitz@cygwin.com>
* utils.sgml (passwd -R): Remove references to CYGWIN="server".
2009-03-24 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (dump_sysinfo): Fix compiler warning in printf.
* strace.cc (proc_child): Ditto.
* ldd.cc: Remove now useless undef wcscasecmp.
2009-03-23 Corinna Vinschen <corinna@vinschen.de>
* passwd.c (usage): Change description for -d option according to
previous change.
(main): Fix typo.
* utils.sgml: Add missing description for passwd -d option.
2009-03-23 Corinna Vinschen <corinna@vinschen.de>
* passwd.c (caller_is_admin): New function to test if calling user
is an administrator by inspecting user token.
(main): Drop fetching caller info from logonserver. Only fetch
server from environment when trying to change password for own
account. Drop admin check entirely in case of doing account
maintainance. Otherwise replace check for admin by result of
caller_is_admin call.
2009-03-22 Corinna Vinschen <corinna@vinschen.de>
* passwd.c (main): Always get logonserver from environment and
use when fetching user info for caller.
2009-03-22 Corinna Vinschen <corinna@vinschen.de>
* ldd.cc: Fix compiler warning.
* passwd.c: Use mbstowcs instead of MultiByteToWideChar throughout.
(main): Call setlocale. Fix a bug in fetching the logon server from
the environment.
2009-03-18 Christopher Faylor <me+cygwin@cgf.cx>
* ldh.cc: New file.
2009-03-17 Christopher Faylor <me+cygwin@cgf.cx>
* ldd.cc (load_dll): Start helper program rather than ldd.exe.
(set_entry_point_break): Rename from get_entry_point.
(print_dlls): Rename from print_dlls_and_kill_inferior. Avoid printing
specific dll name if we're looking at a dll.
(report): Always dump dlls on process exit. Don't allow thread
creation. Accommodate get_entry_point rename.
(start_process): Start process with DEBUG_ONLY_THIS_PROCESS.
(longopts): Eliminate "dll" option.
(main): Ditto.
2009-03-17 Corinna Vinschen <corinna@vinschen.de>
Christopher Faylor <me+cygwin@cgf.cx>
* ldd.cc: Use wide character Win32 paths throughout.
(load_dll): Fix size expression (add fn) in realloc.
2009-03-14 Christopher Faylor <me+cygwin@cgf.cx>
* ldd.cc (longopts): Add --dll option.
(get_module_filename): Generalized wrapper function which avoid path
length restrictions.
(load_dll): Handle special-case of inspecting a DLL.
(start_process): Accept an output parameter "isdll". Detect when file
to start is a DLL and start a wrapper instead.
(print_dlls_and_kill_inferior): When dealing with a DLL, avoid printing
everything before the DLL itself first appears. (This is not strictly
correct and should be fixed eventually)
(report): Deal with DLLs. Don't set a breakpoint for DLLs, just let
captive ldd process terminate normally. Pass dll info to
print_dlls_and_kill_inferior.
(main): Handle special-case "--dll" option by loading the DLL and
exiting.
2009-03-14 Corinna Vinschen <corinna@vinschen.de>
* path.cc (from_fstab): Use wcstombs/mbstowcs instead of
WideCharToMultiByte/MultiByteToWideChar to accommodate current locale.
2009-03-14 Corinna Vinschen <corinna@vinschen.de>
* wide_path.h (class wide_path): New class to convert Windows path
to WCHAR win32 path, including long path conversion if necessary.
* cygcheck.cc: Use class wide_path throughout to call Win32 functions
taking potentially long filenames.
(display_error): Use snprintf rather than sprintf.
(display_error_fmt): Ditto.
(dump_sysinfo): Use FindFirstFileW/FindNextFileW.
* cygpath.cc: Use class wide_path throughout to call Win32 functions
taking potentially long filenames.
(get_device_name): Raise buffer size to take long pathnames.
(get_short_paths): Convert to using GetShortPathNameW.
(get_short_name): Ditto.
(get_long_path_name_w32impl): Convert to equivalent of GetLongPathNameW.
(get_long_name): Convert to using GetLongPathNameW.
(do_sysfolders): Raise buffer size for POSIX pathname to PATH_MAX.
(do_pathconv): In case of POSIX->Win32 conversion, convert to wchar_t
Win32 path name and drop long pathname prefix if possible.
(main): Call setlocale to accommodate wide char/multibyte conversions.
2009-03-14 Christopher Faylor <me+cygwin@cgf.cx>
* ldd.cc: Rework to detect missing DLLs.
(start_process): Change to expect windows filename as input.
(tocyg): New function - convert cygwin fn to windows fn.
(print_dlls_and_kill_inferior): Accept extra argument denoting whether
to open input and look for nonexistent DLLs. Use tocyg to convert
filename and pass it to start_process.
(report): Flag when an DLL-not-found exception occurs and pass this
information to print_dlls_and_kill_inferior.
(filelist): New structure.
(saw_file): New function.
(dump_import_directory): Ditto.
(map_file): Ditto.
(skip_dos_stub): Ditto.
(get_directory_index): Ditto.
(process_file): Ditto.
2009-03-09 Corinna Vinschen <corinna@vinschen.de>
* utils.sgml: Fix typo.
2009-03-08 Christopher Faylor <me+cygwin@cgf.cx>
* cygcheck.cc (usage): Fix typo.
2009-03-02 Corinna Vinschen <corinna@vinschen.de>
* utils.sgml: Set example prompt to "$" throughout. Don't use "/"
as example cygdrive prefix. Remove reference to -u and -s options.
Add an example using the -o flag.
2009-03-02 Corinna Vinschen <corinna@vinschen.de>
* mount.cc (mount_entries): Handle a "/" cygdrive prefix correctly.
Add comments.
2009-02-23 Sjors Gielen <mailinglist@dazjorz.com>
* Makefile.in: Add DESTDIR functionality.
2009-01-29 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (dump_sysinfo): Evaluate and print state of
obcaseinsensitive kernel flag.
2009-01-21 Corinna Vinschen <corinna@vinschen.de>
* passwd.c: Remove CYGWIN=server requirement from usage text.
2009-01-17 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in: Fix copyright date.
* cygcheck.cc (scan_registry): Take additional parameter and add code
to avoid recursion in Wow6432Node subkey. Rename variable cygnus to
cygwin. Scan for "Cygwin" instead of for "cygnus" substring.
(dump_sysinfo): Drop unused calls to scan_registry. Drop scanning
HKEY_CURRENT_CONFIG.
2009-01-16 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (dump_sysinfo): Raise size of osname. Add Windows 7
and Windows 2008 R2 as recognized OSes. Update products array to
the latest documented list.
2009-01-09 Christopher Faylor <me+cygwin@cgf.cx>
* ldd.cc: New file. First stab at implementing ldd-like functionality
for Cygwin.
* Makefile.in (CYGWIN_BINS): Add ldd.
(ldd.exe): Use -lpsapi.
2009-01-05 Pierre Humblet <Pierre.Humblet@ieee.org>
* cygcheck.cc (dump_sysinfo_services): Quote the path for popen.
2008-12-30 Pierre Humblet <Pierre.Humblet@ieee.org>
* cygcheck.cc (pretty_id): Quote the path for popen.
(dump_sysinfo_services): Ditto.
2008-12-16 Corinna Vinschen <corinna@vinschen.de>
* utils.sgml: Fix typo in passwd screen text.
2008-12-15 Corinna Vinschen <corinna@vinschen.de>
* passwd.c (main): Put how to delete the registry password on its own
line in passwd -R output.
2008-12-13 Christopher Faylor <me+cygwin@cgf.cx>
* utils.sgml: Convert some backslashes to slashes.
2008-11-26 Corinna Vinschen <corinna@vinschen.de>
* passwd.c (longopts): Add --reg-store-pwd option.
(opts): Add -R option.
(usage): Add text for -R/--reg-store-pwd option.
(main): Fix size of local user and password string arrays.
Handle -R option.
* utils.sgml: Add text for passwd -R/--reg-store-pwd option.
2008-10-29 Christopher Faylor <me+cygwin@cgf.cx>
* Makefile.in (ALL_LDFLAGS): Link libgcc statically for everything
here.
2008-10-12 Christopher Faylor <me+cygwin@cgf.cx>
* mingw: Set sawcfile when -xc* is detected. Extend list of detected
source files.
2008-10-12 Christopher Faylor <me+cygwin@cgf.cx>
* mingw: Add more checks to allow more varied use.
2008-10-11 Christopher Faylor <me+cygwin@cgf.cx>
* mingw: Use a better method to find where mingw directory lives.
2008-10-11 Christopher Faylor <me+cygwin@cgf.cx>
* mingw: New front-end script to control building of MinGW files
without using the deprecated -mno-cygwin option.
* Makefile.in: Use mingw front-end.
2008-09-12 Christopher Faylor <me+cygwin@cgf.cx>
* cygcheck.cc (pathlike::check_existence): Remove class name from
declaration.
(display_internet_error): Use proper format specifier for DWORD.
(environ): Remove unneeded declaration.
(main): Use brace around nested if to avoid an overly-helpful compiler
warning.
* dump_setup.cc (parse_filename): Reorganize nested if to avoid an
overly-helpful compiler warning.
* path.cc (GUID_shortcut): Use braces around part of initializer which
needs them.
(conv_fstab_spaces): Parenthesize assignment in while loop to avoid a
compiler warning.
(struct opt): Make static.
* ps.cc (main): Reorganize nested if to avoid an overly-helpful
compiler warning.
* regtool.cc: Make some anonymous structs static to avoid a compiler
warning.
* ssp.c (lookup_thread_id): Initialize *tix to zero to avoid potential
uninitialized use.
* strace.cc (add_child): Use proper format specifier for DWORD.
(remove_child): Ditto.
(proc_child): Ditto.
2008-08-27 Christopher Faylor <me+cygwin@cgf.cx>
* cygcheck.cc (nuke): Use malloc rather than alloca for environment
variables.
(load_cygwin): Ditto.
* dump_setup.cc (parse_filename): Cosmetic changes.
(get_packages): Ditto.
2008-08-25 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c (enum_local_groups): Don't skip printing groups when
print_current is set and group SID is not curr_pgrp.
(enum_groups): Ditto.
(main): Fix condition when SYSTEM group gets printed.
* mkpasswd.c (enum_users): Don't skip printing users when print_current
is set and user SID is not curr_user.
(main): Allow printing standard accounts even when print_current is set.
2008-08-18 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c (enum_local_groups): Use NetLocalGroupGetInfo to find out
if a group exists, rather than just allocating a buffer and going ahead.
2008-08-18 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c (enum_local_groups): Call print_win_error with GetLastError
as argument when LookupAccountXXX failed.
(enum_groups): Ditto.
2008-08-18 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c (enum_local_groups): Return failure if looking for a single
group succeeded. Add comment.
2008-08-18 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c (main): Keep correctly track of optional arguments.
* mkpasswd.c (main): Ditto.
2008-08-18 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c (main): Always unset environment variable POSIXLY_CORRECT.
Keep track of optional argumnts and fix up optind afterwards.
* mkpasswd.c (main): Ditto.
2008-08-17 Christopher Faylor <me+cygwin@cgf.cx>
* cygcheck.cc (print_version): Update copyright dates.
2008-08-17 Christopher Faylor <me+cygwin@cgf.cx>
* mkpasswd.c (main): Avoid printing system accounts when a single user
name has been requested.
2008-08-17 Christopher Faylor <me+cygwin@cgf.cx>
* Makefile.in (ALL_LDFLAGS): Add --enable-auto-import option to quiet
ld warnings.
* mkgroup.c: Change all global variables and most functions to static.
(enum_local_groups): Add a print_current parameter to control whether
entries for everything should be printed or just the current user.
(enum_groups): Ditto.
(main): Move call fetch_current_pgrp_sid earlier to avoid a NULL
deference when no command line arguments are specified. Accommodate
argument changes to above functions. Avoid printing SYSTEM account
when print_current is specified. Issue error when extra stuff is found
on the command line.
* mkpasswd.c: Change all global variables and most functions to static.
(enum_users): Add a print_current parameter to control whether entries
for everything should be printed or just the current user.
(main): Move call fetch_current_user_sid earlier to avoid a NULL
deference when no command line arguments are specified. Accommodate
argument change to above function. Avoid printing standard accounts
when print_current is specified. Issue error when extra stuff is found
on the command line.
2008-08-15 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c (fetch_current_pgrp_sid): New function to fetch primary
group SID from user token.
(current_group): Move up in file. Move fetching primary group SID to
fetch_current_pgrp_sid.
(enum_local_groups): Check if current SID is the same as current user's
primary group SID.
(enum_groups): Ditto.
(main): Call fetch_current_pgrp_sid before enumerating groups. Call
current_group only if current group hasn't been enumerated already.
* mkpasswd.c (fetch_current_user_sid): New function to fetch current
user SID from user token.
(current_user): Move fetching current user SID to
fetch_current_user_sid.
(enum_users): Check if current SID is the same as current user's SID.
(main): Call fetch_current_user_sid before enumerating users. Call
current_user only if current user hasn't been enumerated already.
2008-08-13 Corinna Vinschen <corinna@vinschen.de>
* mount.cc (NT_MAX_PATH): Define.
(longopts): Rename mount-commands option to mount-entries.
(opts): Remove removed options.
(struct opt): Move up in file to allow using it in usage.
(usage): Change text for --mount-entries option. Remove
-X option. Add valid options output.
(main): Remove handling -b option.
(convert_spaces): New static function to convert spaces to "\040"
string.
(mount_entries): Renamed from mount_commands. Rewrite to emit
/etc/fstab compatible output.
(show_cygdrive_info): Print "nouser" rather than "system".
* umount.cc (longopts): Remove remove-all-mounts,
remove-cygdrive-prefix, remove-system-mounts, system and user options.
(opts): Remove A, c, s, S, u options.
(usage): Remove text for all removed options.
(main): Remove handling for all removed options.
(remove_all_mounts): Remove.
(remove_all_system_mounts): Remove.
(remove_cygdrive_prefix): Remove.
* utils.sgml: Fix mount and umount documentation. Move description
of (cyg,not)exec options to mount table section.
2008-08-04 Christopher Faylor <me+cygwin@cgf.cx>
* cygcheck.cc (load_cygwin): Duplicate argv list since it disappears
when cygwin1.dll is unloaded.
2008-07-30 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
* Makefile.in: Link cygcheck with -lntdll even without mingw-zlib.
2008-07-27 Christopher Faylor <me+cygwin@cgf.cx>
* cygcheck.cc (load_cygwin): Free the cygwin dll after we're done with
it.
2008-07-25 Christopher Faylor <me+cygwin@cgf.cx>
* mount.cc: Remove non-unix-like options (-x,-t,b) throughout.
(oopts): Use boolean constants for slightly increased clarity.
* configure.in: Remove apparently unneeded program_transfer_name code.
* configure: Regenerate.
2008-07-24 Corinna Vinschen <corinna@vinschen.de>
* utils.sgml: Remove useless text.
2008-07-23 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c (main): Fix test for duplicate domain/machine request.
* mkpasswd.c (main): Ditto.
2008-07-23 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c: Rework to allow per-domain/per-machine id_offset.
Add -b option to skip builtin groups.
(main): Simplify code.
* mkpasswd.c: Rework to allow per-domain/per-machine id_offset.
(main): Simplify code.
* utils.sgml: Explain changed mkgroup/mkpasswd -d/-D/-l/-L options.
Add mkgroup -b option.
2008-07-23 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c: Consolidate variable names.
(enum_unix_groups): New function.
(print_special): Use LookupAccountSidW instead of LookupAccountSidA.
(current_group): Ditto.
(usage): Add -U option.
(longopts): Add --unix option.
(opts): Add -U option.
(main): Handle -U option. Call enum_unix_groups if set.
* mkpasswd.c: Consolidate variable names.
(current_user): Use LookupAccountSidW instead of LookupAccountSidA.
(enum_unix_users): New function.
(usage): Add -U option.
(longopts): Add --unix option.
(opts): Add -U option.
(main): Handle -U option. Call enum_unix_groups if set.
* utils.sgml: Add -U option text to mkgroup and mkpasswd description.
2008-07-22 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c (enum_groups): Create full qualified groupname using
domain or servername, depending on printing domain or machine accounts.
* mkpasswd.c (enum_users): Ditto for users.
2008-07-22 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c (main): Remove special root group code. Only print
SYSTEM group in case of printing local machine or local domain groups.
2008-07-22 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in (cygcheck.exe): Link against ntdll.
* bloda.cc: Use statically linked functions throughout.
* cygpath.cc: Drop 9x considerations.
* mkgroup.c: Revamp. Redefine -l and -d options to take optional
machine and domain parameters. Redefine -c to work always, using
token information. Add -L, -D, -C to create unique groupnames in
domain\group syntax. Add -S option to define domain\group separator
char. Ignore -u and -s options.
* mkpasswd.c: Revamp. Redefine -l and -d options to take optional
machine and domain parameters. Redefine -c to work always, using
token information. Add -L, -D, -C to create unique usernames in
domain\user syntax. Add -S option to define domain\user separator
char. Ignore -g and -s options. Prefer to take homedir from $HOME
over $HOMEDRIVE/$HOMEPATH.
* path.cc (oopts): Add "acl", "noacl", "posix=0" and "posix=1" options.
(getmntent): Accomodate throughout.
* ps.cc: Fix copyright dates.
* utils.sgml: Fix text for mkgroup and mkpasswd.
2008-07-17 Corinna Vinschen <corinna@vinschen.de>
* mount.cc (do_mount): Remove MOUNT_ENC code.
(oopts): Remove "managed" option.
(mount_commands): Drop "managed" handling.
* path.cc (oopts): Remove "managed" option.
(getmntent): Remove MOUNT_ENC code.
2008-07-17 Corinna Vinschen <corinna@vinschen.de>
* utils.sgml: Add id's to all examples.
2008-07-09 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c: Use statically linked functions throughout, except for
DsGetDcNameW. Reformat. Convert to use WCHAR for names throughout.
Use defines instead of constants throughout.
(MAX_SID_LEN): Define.
(load_netapi): Just load DsGetDcNameW pointer.
(psx_dir): Remove.
(uni2ansi): Remove.
(enum_local_users): Take server name and use in Net... call.
(DBGSID): Define datastructure.
(MAX_BUILTIN_SIDS): Define.
(builtin_sid_list): Define global sid list.
(builtin_sid_cnt): Define counter for global sid list.
(enum_local_groups): Take server name and use in Net... and Lookup...
calls. Take offset argument. Use MAX_PREFERRED_LENGTH in call to
NetLocalGroupEnum. Check for duplicate builtin groups.
(enum_users): Take server name and use in Net... call.
(usage): Change text slightly.
(print_version): Fix copyright.
(main): Call enum_local_groups for domains as well.
* mkpasswd.c: Use statically linked functions throughout, except for
DsGetDcNameW. Reformat. Convert to use WCHAR for names throughout.
Use defines instead of constants throughout.
(MAX_SID_LEN): Define.
(load_netapi): Just load DsGetDcNameW pointer.
(uni2ansi): Use wcstombs.
(current_user): Replace "unused_by_nt/2000/xp" by
just "unused".
(enum_users): Ditto.
(print_version): Fix copyright.
2008-05-22 Corinna Vinschen <corinna@vinschen.de>
* setfacl.c (setfacl): Change from void to int. Return 2 in case of
error.
(main): Return with error code from setfacl.
2008-05-15 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in (CYGWIN_BINS): Remove ipcrm and ipcs.
* ipcrm.c: Remove.
* ipcs.c: Remove.
2008-03-23 Corinna Vinschen <corinna@vinschen.de>
* mount.cc (usage): Mark -s and -u as ignored.
(print_version): Simplify printing copyright dates.
(main): Remove default_flag. Dont set flags on -s and -u options.
(mount_commands): Drop handling -s and -u options.
2008-03-22 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (dump_sysinfo): Fix multiple Cygwin DLL test.
* path.cc: Fetch mount points from fstab files instead of from
registry. Use adapted functions copied from Cygwin DLL.
(mnt_t): Drop issys member. Define as "mnt_t" instead of "struct mnt_t"
subsequently.
(max_mount_entry): New variable.
(unconvert_slashes): Move to earlier location in file. Make inline.
(find2): Remove.
(get_cygdrive0): Remove.
(get_cygdrive): Remove.
(skip_ws): New function.
(find_ws): Ditto.
(conv_fstab_spaces): Ditto.
(read_flags): Ditto.
(from_fstab_line): Ditto.
(get_user): Ditto.
(from_fstab): Ditto.
(mnt_sort): Ditto.
(read_mounts): Drop old registry code. Fetch
"Software\Cygwin\Setup\rootdir" value from HKCU or HKLM key. Use
rootdir extracted from module path as fallback. Call from_fstab for
nouser and user mount points.
(setmntent): Check max_mount_entry to test if read_mounts must be
called.
(getmntent): Use MOUNT_SYSTEM flag instead of mnt_t's issys member.
2008-03-16 Brian Dessent <brian@dessent.net>
* path.cc: Include malloc.h for alloca.
(is_symlink): Rewrite. Just read the whole file in memory rather
than by parts. Account for an ITEMIDLIST if present, as well as
the new style of Cygwin shortcut supporting targets > MAX_PATH.
2008-03-12 Corinna Vinschen <corinna@vinschen.de>
* cygpath.cc (do_sysfolders): Use cygwin_conv_path.
(do_pathconv): Use cygwin_conv_path and cygwin_conv_path_list.
* dumper.cc (main): Use cygwin_conv_path. Allocate target path
dynamically.
* mkpasswd.c (current_user): Use cygwin_conv_path.
(enum_users): Ditto.
* ps.cc (NT_MAX_PATH): Define.
(main): Use cygwin_conv_path.
* regtool.cc (find_key): Ditto. Allocate target path dynamically.
(cmd_save): Ditto.
2008-03-11 Brian Dessent <brian@dessent.net>
* cygcheck.cc (find_app_on_path): Make buffer SYMLINK_MAX + 1
chars.
2008-03-11 Brian Dessent <brian@dessent.net>
* cygcheck.cc (dirname): New static function.
(find_app_on_path): Use SYMLINK_MAX. Resolve symlink relative
to link's location. Adjust to the fact that cygpath already
normalizes its return value.
* path.cc (rel_vconcat): Add cwd parameter, and use it instead
of calling GetCurrentDirectory() if possible. Rename throughout.
(vcygpath): Rename from cygpath and accept cwd and va_list. Pass
cwd on to rel_vconcat().
(cygpath_rel): New front end for vcygpath.
(cygpath): Ditto.
* path.h (cygpath_rel): Declare.
(SYMLINK_MAX): Define to 4095.
2008-03-09 Brian Dessent <brian@dessent.net>
* Makefile.in (install): Don't install the testsuite.
2008-03-08 Brian Dessent <brian@dessent.net>
* Makefile.in: Add a 'check' target that builds and runs
testsuite.exe from path-testsuite.o and testsuite.o.
* path.cc: Include testsuite.h.
(struct mnt): Change to a mnt_t typedef and don't define
mount_table when TESTSUITE is defined.
(find2): Don't include when TESTSUITE is defined to avoid warning.
(get_cygdrive0): Ditto.
(get_cygdrive): Ditto.
(read_mounts): Provide empty implementation when TESTSUITE is
defined.
(vconcat): Use the isslash macro.
(unconvert_slashes): New helper to convert to backslashses.
(rel_vconcat): Handle relative paths more gracefully.
(cygpath): Skip a leading "./" sequence. Avoid double-slashes.
Normalize final output to backslashes and remove redundant path
sequences.
* testsuite.cc: New file implementing testsuite driver.
* testsuite.h: New header implementing harness mount table and
series of tests.
2008-03-08 Brian Dessent <brian@dessent.net>
* Makefile.in: Reorganize considerably, using GNU make's
static pattern rules and target-specific variables.
2008-02-28 Corinna Vinschen <corinna@vinschen.de>
* mkpasswd.c (main): Simplify generating SYSTEM entry. Add entries
for LocalService and NetworkService accounts. Change comments.
2008-01-13 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (dump_sysinfo): Always try to get a OSVERSIONINFOEX
first. Load kernel32.dll earlier. Make osname a buffer. Simplify
Non-NT code. Use GetProductInfo in Vista/2008 case. Clean up
non-Vista version info. Exit early if not on NT.
2007-12-29 Dave Korn <dave.korn@artimi.com>
* bloda.cc (enum bad_app): Add BYTEMOBILE.
(dodgy_app_detects[]): Add FILENAME entry to detect bmnet.dll.
(big_list_of_dodgy_apps[]): Add description for BYTEMOBILE.
2007-12-20 Brian Dessent <brian@dessent.net>
* Makefile.in (cygcheck.exe): Don't link to ntdll.
* bloda.cc (pNtQuerySystemInformation): Add.
(pRtlAnsiStringToUnicodeString): Add.
(get_process_list): Use function pointers for NT functions.
(dump_dodgy_apps): Skip dodgy app check on non-NT platforms.
Use GetProcAddress for NT-specific functions.
2007-12-07 Corinna Vinschen <corinna@vinschen.de>
* regtool.cc (opts): Add missing 'W'.
2007-12-06 Corinna Vinschen <corinna@vinschen.de>
* ps.cc: Include limits.h.
(main): Set file name buffer size to PATH_MAX. Use progname or
progname_long member of struct external_pinfo dependent of the value of
the struct's version member.
2007-08-31 Dave Korn <dave.korn@artimi.com>
* mkgroup.c (enum_groups): Use MAX_PREFERRED_LENGTH in netgroupenum
call so that it will automatically size returned buffer sufficiently.
2007-08-03 Dave Korn <dave.korn@artimi.com>
* Makefile.in (cygcheck.exe): Add bloda.o as prerequisite, adjusting
dependency-filtering $(wordlist ...) call appropriately. Link ntdll.
(bloda.o): New rule to build bloda.o
* cygcheck.cc (dump_sysinfo): Call bloda function dump_dodgy_apps().
* bloda.cc: New file implements detection of applications from the
Big List Of Dodgy Apps.
2007-07-24 Corinna Vinschen <corinna@vinschen.de>
* COPYING.dumper: New file.
* dumper.cc: Change license to plain GPLv2 + later.
* dumper.h: Ditto.
* parse_pe.cc: Ditto.
2007-07-23 Christopher Faylor <me+cygwin@cgf.cx>
* strace.cc (create_child): Don't convert a path from cygwin format
unless it has a slash.
2007-07-09 Christopher Faylor <me+cygwin@cgf.cx>
* strace.cc (usage): Add missing description for -q.
2007-07-09 Christopher Faylor <me+cygwin@cgf.cx>
* Makefile.in (kill.exe): Remove reliance on libiberty.
* kill.cc (strsigno): New function patterned after libiberty but using
newly exported cygwin array.
2007-06-03 Christopher Faylor <me+cygwin@cgf.cx>
* cygcheck.cc (pathlike): New class.
(paths): Redefine as type pathlike.
(display_error): Declare a few different ways to allow more flexible
usage throughout.
(display_error_fmt): New function for those cases where C++ just isn't
enough.
(add_path): Rewrite to allocate pathlike paths. Always tack on a
trailing slash since that's what everyone who uses it wants. NULL
terminate the path list. Register "it's a system path" field.
(init_path): Call add_path with info regarding whether path is a system
path or not.
(pathlike::check_existence): Move into pathlike class. Accept file and
extension arguments to build up path on the fly. Modify other
arguments.
(find_on_path): Constify return value and appropriate arguments.
Eliminate short-circuit for fully-qualified paths. Simplify loop which
iterates over path.
(already_did): Constify argument.
(track_down): Ditto. Regularize some error messages.
(find_app_on_path): Ditto.
(cygcheck): Constify argument. Use 20th century string handling
functions.
(dump_sysinfo): Remove odd inclusion of '\\bin' "Just in case".
Accommodate change of paths to pathlike.
* path.cc (isslash): Rename from SLASH_P and use throughout.
(rel_vconcat): Front-end to vconcat which prepends cwd to path before
passing along for conversion to native windows.
(cygpath): Remove "./" test. Call rel_vconcat if filename appears to
be relative.
2007-05-29 Pedro Alves <pedro_alves@portugalmail.pt>
* dumper.cc (dumper::prepare_core_dump): Record a phdr for each section.
2007-05-29 Corinna Vinschen <corinna@vinschen.de>
* cygpath.cc (do_options): Allow outputflag combined with other
basic flags. Only check options_from_file_flag if reading options
from command line.
(main): Check for NULL argz vector. Don't free argz vector prematurely.
Don't force flag combination in !options_from_file_flag case.
2007-05-23 Corinna Vinschen <corinna@vinschen.de>
* cygpath.cc: Include argz.h.
(options_from_file_flag): Move from main to global static variable.
(mode_flag): Ditto.
(do_sysfolders): Rename from dowin and accommodate throughout.
Don't exit from here.
(do_pathconv): Rename from doit and accommodate throughout.
(print_version): Change copyright.
(do_options): New function, centralizing option processing.
Rework checking options for correctness.
(action): New function, centralizing calling worker functions.
(main): Simplify. Move option processing to do_options. Move calling
worker functions to action. Rework getting arguments from files.
2007-03-30 Mark Mitchell <mark@codesourcery.com>
* utils/cygpath.cc (get_long_path_name_w32impl): Close handles returned
by FindFirstFile.
2007-03-30 Christopher Faylor <me@cgf.cx>
* mount.cc (main): Turn dos file warnings off since we know what we're
doing.
2007-02-22 Corinna Vinschen <corinna@vinschen.de>
* ipcs.c (_POSIX2_LINE_MAX): Drop definition.
2007-02-20 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (dump_sysinfo): Add "not supported" to osname on 9x
machines. Drop "not supported" for Vista. Drop "Longhorn" text
for now.
2007-01-09 Christian Franke <franke@computer.org>
* cygpath.cc (usage): Add -O and -F, remove tabs.
(get_special_folder): New function.
(get_user_folder): New function.
(dowin): Add -O and -F, better -D, -P error handling.
(main): Add -O and -F.
* utils.sgml (cygpath): Document -O and -F.
2006-12-21 Corinna Vinschen <corinna@vinschen.de>
* dumper.cc: Include ansidecl.h before including bfd.h to woraround
a problem with the order in which system include files are included.
2006-12-11 Christopher Faylor <me@cgf.cx>
* dumper.cc: Add an include to accommodate new include/elf usage.
2006-12-10 Christopher Faylor <me+cygwin@cgf.cx>
* mount.cc (do_mount): Avoid unnecessary cygwin_conv_to_win32_path and
pass POSIX path directly - this avoids a cygwin DLL warning.
2006-10-21 Corinna Vinschen <corinna@vinschen.de>
* regtool.cc (key_type): Drop.
(REG_AUTO): Define.
(value_type): Replace key_type. Use REG_xxx values directly.
Accomodate change throughout.
(longopts): Add --dword, --dword-le, --none, --qword and --hex options.
(opts): Add -d, -D, -n, -Q and -x options.
(types): Array to convert REG_xxx into strings.
(hex): New variable to keep value of --hex option.
(usage): Accomodate new options. Print only the necessary by default.
Only be verbose in case of -h/--help option.
(cmd_list): Use key separator from -K option when printing.
Print value type when verbose option is given. Handle so far not
handled REG_xxx types.
(cmd_set): Avoid SEGV due to missing argument. Handle so far not
handled REG_xxx types.
(cmd_get): Handle --binary option type agnostic. Handle so far not
handled REG_xxx types.
(main): Handle new options.
2006-10-19 Corinna Vinschen <corinna@vinschen.de>
* regtool.cc (longopts): Add --wow32 option.
(opts): Add -W option.
(usage): Add text for --wow32/-W option.
(main): Handle --wow32/-W option.
* utils.sgml: Document the new -W option.
2006-10-16 Corinna Vinschen <corinna@vinschen.de>
* regtool.cc (KEY_WOW64_64KEY): Drop definition. Instead define
WINVER to 0x0502 before including windows.h.
2006-10-16 Corinna Vinschen <corinna@vinschen.de>
* regtool.cc (KEY_WOW64_64KEY): Define.
(longopts): Add --wow64 option.
(opts): Add -w option.
(wow64): New variable to control usage of KEY_WOW64_64KEY access flag.
(usage): Add text for --wow64/-w option.
(print_version): Fix copyright.
(find_key): Use wow64 value in calls to RegOpenKeyEx and RegCreateKeyEx.
(cmd_add): Use wow64 value in call to RegCreateKeyEx.
(regDeleteKeyEx): New function pointer to load RegDeleteKeyEx function
dynamically.
(cmd_remove): Load and use regDeleteKeyEx when wow64 is set.
(main): Handle --wow64/-w option.
* utils.sgml: Document the new -w option.
2006-10-05 Igor Peshansky <pechtcha@cs.nyu.edu>
* cygcheck.cc (get_word, get_dword): Move to path.cc.
(LINK_EXTENSION): New macro.
(check_existence): New static function.
(find_on_path): Check for symbolic links if asked.
(dll_info): New error handling.
(track_down): Only call dll_info() for executables, display
an error for symlinks, and print magic number for others.
(find_app_on_path): New static function.
(cygcheck, dump_sysinfo): Call find_app_on_path() instead of
find_on_path().
* path.cc (cmp_shortcut_header): New static function.
(get_word, get_dword): Moved from cygcheck.cc.
(EXE_MAGIC, SHORTCUT_MAGIC, SYMLINK_COOKIE, SYMLINK_MAGIC): New
macros.
(is_exe, is_symlink, readlink): New functions.
* path.h (is_exe, is_symlink, readlink): Declare.
(get_word, get_dword): Ditto.
2006-09-12 Christopher Faylor <cgf@timesys.com>
* Makefile.in: Fix -ntdll typo.
2006-09-11 Eric Blake <ebb9@byu.net>
* cygcheck.cc (main): Restore POSIXLY_CORRECT before displaying user's
environment.
2006-08-03 Corinna Vinschen <corinna@vinschen.de>
* path.cc (vconcat): Don't convert backslahes to slashes.
(cygpath): Return native path with all backslashes.
2006-08-02 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in (cygpath.exe): Add rule to link cygpath against ntdll.dll.
* cygpath.cc: Include DDK headers.
(RtlAllocateUnicodeString): New static inline function.
(get_device_name): New static function to evaluate DOS path from
native NT path.
(get_device_paths): New function to do the same for path lists.
(doit): Call get_device_paths/get_device_name where appropriate.
2006-07-30 Ilya Bobir <ilya@po4ta.com>
* cygpath.cc (get_long_name): Fallback to get_long_path_name_w32impl.
2006-07-27 Corinna Vinschen <corinna@vinschen.de>
* cygpath.c (get_long_name): Cover the case that GetLongPathName
doesn't return valid information for non-existant files. Just return
incoming filename in that case.
2006-07-03 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
* Makefile.in: Build setmetamode.exe.
* setmetamode.c: New file.
2006-05-24 Christopher Faylor <cgf@timesys.com>
* configure.in: Update to newer autoconf.
(thanks to Steve Ellcey)
* configure: Regenerate.
* aclocal.m4: New file.
2006-05-24 Christopher Faylor <cgf@timesys.com>
* strace.cc (proc_child): Propagate return code from child process.
(dostrace): Ditto.
(main): Ditto.
2006-03-03 Christian Franke <franke@computer.org>
* regtool.cc (options): Add 'binary'.
(usage): Document 'load|unload|save' and '-b'.
(find_key): Add 'options' parameter, add load/unload.
(cmd_set): Add KT_BINARY case.
(cmd_get): Add hex output in KT_BINARY case.
(cmd_load): New function.
(cmd_unload): New function.
(set_privilege): New function.
(cmd_save): New function.
(commands): Add load, unload and save.
(main): Add '-b'
* utils.sgml (regtool): Document it.
2006-02-17 Corinna Vinschen <corinna@vinschen.de>
* cygpath.cc (get_long_name): Load GetLongPathNameA instead of incorrect
GetLongPathName.
(doit): Create mixed filename after converting to short or long pathname
respectively.
2006-02-17 Jerry D. Hedden <jerry@hedden.us>
* ps.cc (main): Set aflag if -p option is given.
2006-02-16 Jerry D. Hedden <jerry@hedden.us>
* ps.cc (longopts): Add --process option.
(opts): Add -p option.
(usage): Mention -p/--process option.
(main): Handle -p option.
* utils.sgml: Describe -p/--process option.
2006-02-15 Igor Peshansky <pechtcha@cs.nyu.edu>
* regtool.cc (usage): Clarify help for "-K".
2006-02-08 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (find_on_path): Update copyright text.
2006-02-08 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (find_on_path): Create copy of rv on successful access
check, since rv can be reused in subsequent calls.
2006-01-19 Christopher Faylor <cgf@timesys.com>
* cygcheck.cc (common_paths): Add "patch".
2006-01-19 Christopher Faylor <cgf@timesys.com>
* cygcheck.cc (init_paths): Record first_nonsys_path.
(find_on_path): Start on first nonsys path when !search_sysdirs.
2006-01-18 Christopher Faylor <cgf@timesys.com>
* Makefile.in (sysconfdir): Remove unneeded variable.
* mkgroup.c: Replace ` with ' throughout.
* mkpasswd.c: Ditto.
* setfacl.c: Ditto.
* ssp.c: Ditto.
2006-01-18 Dave Korn <dave.korn@artimi.com>
* cygpath.cc (dowin): Remove stray debugging printf statement.
2006-01-17 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in: Replace etcdir with sysconfdir.
2006-01-13 Brian Dessent <brian@dessent.net>
* Makefile.in (cygcheck.exe): Do not link against libwininet.a.
* cygcheck.cc (pInternetCloseHandle): Define global function pointer.
(display_internet_error): Use it.
(package_grep): Attempt to load wininet.dll at runtime. Call WinInet
API through function pointers throughout.
2006-01-13 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (dump_sysinfo): Convert k32 to HMODULE.
2006-01-13 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (dump_sysinfo): Convert osname to const and remove casts
in subsequent assignments. Recognize Longhorn/Vista and report as not
yet supported. Recognize when running under WOW64 and report native
CPU type. Slightly rearrange \n printing.
2006-01-12 Christopher Faylor <cgf@timesys.com>
* cygcheck.cc: Replace ` with ' throughout.
2006-01-05 Christopher Faylor <cgf@timesys.com>
* cygcheck.cc (dump_sysinfo): Report the failing drive to prevent
having to guess.
2005-12-29 Christopher Faylor <cgf@timesys.com>
* strace.cc (nprocesses): Make static global.
(quiet): New variable.
(strace_active): Ditto.
(add_child): Increment nprocesses here. Don't add a child if it is
already added (windows bug?). Report on child if not quiet.
(get_child): Just return NULL if child not found.
(remove_child): Report on child if not quiet.
(attach_process): Don't complain if given a windows process. Use
windows pid in error.
(handle_output_debug_string): Issue error if trying to manipulate a process that we don't know about.
Handle _STRACE_CHILD_PID - attach to reported child when we get this.
(proc_child): Move nprocesses to file scope.
Report on exceptions.
(longopts): Implement "--quiet".
(opts): Implement "-q".
(main): Manipulate quiet flag.
* utils.sgml (strace): Add words describing '-q'.
2005-12-29 Christopher Faylor <cgf@timesys.com>
* cygcheck.cc (common_apps): Add crontab, vi, vim.
2005-12-19 Igor Pechtchanski <pechtcha@cs.nyu.edu>
* dump_setup.cc (package_find): Fix is_alias computation for "/usr/lib".
2005-12-14 Christopher Faylor <cgf@timesys.com>
* cygcheck.cc (common_apps): Add a few more binaries to look for.
2005-12-05 Christopher Faylor <cgf@timesys.com>
* strace.cc (show_usecs): Renamed from 'usecs'.
(main): Use show_usecs rather than usecs. Toggle delta if '-u' is
specified.
(handle_output_debug_string): Avoid printing microsecond timestamp if
show_usecs == 0.
* utils.sgml (strace): Add words to describe '-u'.
2005-11-22 Brian Dessent <brian@dessent.net>
* Makefile.in: Link cygcheck with libwininet.a.
* cygcheck.cc: Add includes.
(grep_packages): New global variable.
(display_internet_error): New function.
(safe_chars): New global variable.
(base_url): Ditto.
(package_grep): New function.
(usage): Reword --help output for clarity. Document new argument.
(longopts): Add 'package-query' option.
(opts): Add 'p' option, reorder to be consistent with 'longopts'.
(main): Accommodate new option.
* utils.sgml (cygcheck): Update --help output. Document new -p option.
2005-09-22 Corinna Vinschen <corinna@vinschen.de>
Align error message handling to mkpasswd's error messages throughout.
* mkgroup.c (print_win_error): Create macro calling ...
(_print_win_error): ... this function created from former
print_win_error. Move up in source.
(PDOMAIN_CONTROLLER_INFOW): Define return type of DsGetDcNameW.
(dsgetdcname): New function pointer for DsGetDcNameW.
(load_netapi): Get DsGetDcNameW address.
(main): If DsGetDcNameW is available, use it.
* mkpasswd.c (PDOMAIN_CONTROLLER_INFOW): Define return type of
DsGetDcNameW.
(dsgetdcname): New function pointer for DsGetDcNameW.
(load_netapi): Get DsGetDcNameW address.
(main): If DsGetDcNameW is available, use it. Rename local variable
domain_name_specified to domain_specified as in mkgroup.c.
2005-09-08 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
* regtool.cc: Extend copyright-years.
(print_version): Ditto.
(cmd_list): Don't depend on terminating '\0' being present on
string-values.
(cmd_get): Don't attempt to read more than present, but keep
extra space for terminating '\0'. Really output REG_BINARY.
Don't leak memory.
(cmd_set): Include trailing '\0' in string's length.
2005-08-18 Corinna Vinschen <corinna@vinschen.de>
* passwd.c (longopts): Add --logonserver option.
(opts): Add -d option.
(GetPW): Add server parameter which is given to Net functions.
(ChangePW): Ditto.
(PrintPW): Ditto.
(SetModals): Ditto.
(usage): Add description for -d/--logonserver option.
(main): Add option handling for -d/--logonserver. Use LOGONSERVER
environment variable content for server to contact, unless
-d/--logonserver option is given. If both is missing, use NULL.
2005-08-16 Brian Dessent <brian@dessent.net>
* cygcheck.cc (dump_sysinfo_services): Properly null-terminate 'buf'.
Avoid extraneous cygrunsrv invocation if 'verbose' is true.
2005-08-03 Corinna Vinschen <corinna@vinschen.de>
* mount.cc (longopts): Fix typo which disallows --options option.
2005-07-19 Christopher Faylor <cgf@timesys.com>
Eric Blake <ebb9@byu.net>
* cygcheck.cc (find_on_path): Perform .exe magic on non-PATH search.
2005-07-05 Eric Blake <ebb9@byu.net>
* cygcheck.cc (track_down, cygcheck): Return true on success.
(main): Reflect cygcheck failures in exit status.
2005-06-14 Corinna Vinschen <corinna@vinschen.de>
* parse_pe.c (exclusion::sort_and_check): Remove crude cast.
2005-05-30 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (dump_sysinfo): Recognize XP Media Center and Tablet PC
Editions. Change .NET to 2003 throughout. Recognize 2003 Web Server
and Datacenter Server. Report when running in terminal server session.
2005-05-27 Christopher Faylor <cgf@timesys.com>
* cygcheck.cc (load_cygwin): Make half-hearted attempt to work with
older DLLs.
* strace.cc (load_cygwin): Ditto.
2005-05-22 Brian Dessent <brian@dessent.net>
* cygcheck.cc (dump_sysinfo_services): Add new function that uses
new cygrunsrv options to dump service info.
(dump_sysinfo): Call dump_sysinfo_services if running under NT.
Change 'Cygnus' to 'Cygwin' in output.
2005-05-20 Christopher Faylor <cgf@timesys.com>
* cygcheck.cc (load_cygwin): Remove debugging statement.
2005-05-20 Christopher Faylor <cgf@timesys.com>
* cygcheck.cc (dump_sysinfo): Don't attempt to use path if it is not
set.
(nuke): Fix off by one error in allocation of environment variable.
(load_cygwin): Always set PATH even if cygwin environment is empty.
2005-05-16 Christopher Faylor <cgf@timesys.com>
* cygcheck.cc (cygwin_internal): Define as a "C" function.
* strace.cc (cygwin_internal): Ditto.
* cygpath.cc (print_version): Update copyright.
2005-05-15 Christopher Faylor <cgf@timesys.com>
* cygcheck.cc (load_cygwin): Avoid calling putenv with a NULL path.
2005-05-15 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (load_cygwin): Don't touch $PATH for now.
(print_version): Fix copyright.
* strace.cc (print_version): Ditto.
2005-05-13 Christopher Faylor <cgf@timesys.com>
* mount.cc (mount_commands): Display "-X" option when appropriate.
2005-05-08 Christopher Faylor <cgf@timesys.com>
* cygcheck.cc (nuke): New function.
(load_cygwin): New function.
(main): Use load_cygwin to load argv/envp from cygwin environment, if
appropriate.
2005-05-08 Christopher Faylor <cgf@timesys.com>
* strace.cc (attach_process): Don't call load_cygwin(). Assume that
it's already happened.
(dotoggle): Ditto.
(main): Set argv from cygwin environment, if it exists.
2005-05-01 Christopher Faylor <cgf@timesys.com>
* mount.cc (usage): Clarify action of -m option.
2005-04-29 Dave Korn <dave.korn@artimi.com>
* path.cc (getmntent): Add previously-omitted 'noexec' and 'managed'
flags to mnt_opts string if present in mount flags.
2005-04-20 Brian Dessent <brian@dessent.net>
* utils.sgml (mount): Clarify setting cygdrive prefix for user
and system-wide.
2005-03-24 Brian Dessent <brian@dessent.net>
* cygcheck.cc (init_paths): Use full path instead of "." for the
current directory. Do not add "." if present in $PATH.
(dump_sysinfo): Skip placeholder first value of paths[].
2005-03-07 Christopher Faylor <cgf@timesys.com>
* kill.cc (getsig): Rectify bug introduced by 2005-02-26 change. Don't
pad signal name with spaces.
2005-03-07 Corinna Vinschen <corinna@vinschen.de>
* strace.cc (handle_output_debug_string): Fix compiler warning.
2005-03-06 Christopher Faylor <cgf@timesys.com>
* cygpath.cc (usage): Pass in one more copy of program_name to printf
to avoid a SEGV.
2005-02-27 Christopher Faylor <cgf@timesys.com>
* regtool.cc (opts): The argument to 'K' is not optional.
(main): Revert previous change. Just let getopt deal with missing
argument.
2005-02-27 Christopher Faylor <cgf@timesys.com>
* regtool.cc (main): Avoid a SEGV when nothing follows -K.
2005-02-26 Christopher Faylor <cgf@timesys.com>
* kill.cc (getsig): Avoid buffer overflow when generating a signal name.
* strace.cc (handle_output_debug_string): Make error a little more specific.
2005-02-23 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* cygpath.cc (usage): Clarify help output to indicate acceptance
of multiple file names as arguments.
2005-01-16 Christopher Faylor <cgf@timesys.com>
* ps.cc (main): Eliminate use of PID_ZOMBIE.
* strace.cc (main): Recognize new option for displaying hex value of
strace type.
(handle_output_debug_string): Prepend output with hex value of strace
message if -H is specified.
2005-01-11 Pierre Humblet <pierre.humblet@ieee.org>
* mkpasswd.c (print_win_error): Transform into macro.
(_print_win_error): Upgrade former print_win_error by
printing the line.
(current_user): Call _print_win_error.
(enum_users): Print name in case of lookup failure.
(enum_local_groups): Ditto.
2004-11-18 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
* cygcheck.cc (eprintf): New function.
2004-11-16 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
* cygcheck.cc (find_on_path): Clear show_error and/or print_failed
parameters to display_error.
(rva_to_offset): Ditto.
(dll_info): Ditto.
(track_down): Ditto.
2004-11-13 Pierre Humblet <pierre.humblet@ieee.org>
* kill.cc (forcekill): Do not pass negative pids to
cygwin_internal. Check if sig == 0. Improve error messages.
(main): Make pid a long long and distinguish between pids, gpids
(i.e. negative pids) and Win9x pids.
2004-11-11 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
* cygcheck.cc: Change "keyeprint" to "display_error" throughout.
2004-11-11 Christopher Faylor <cgf@timesys.com>
* cygcheck.cc (main): Allow a '-l' without an additional argument.
2004-11-11 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
* cygcheck.cc (keyeprint): New optional parameters: show_error and
print_failed.
2004-10-31 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
* cygcheck.cc (get_dword): Fix errormessage.
(cygwin_info): Ditto.
(track_down): Ditto.
(check_keys): Ditto.
2004-10-27 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
* cygcheck.cc (dump_sysinfo): Warn about missing or multiple cygwin1
dlls.
2004-10-25 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
* cygcheck.cc (dump_sysinfo): Add leading newline before legend for
drive-list.
2004-10-22 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
* cygcheck.cc (dump_sysinfo): In legend for drive-list: Add ``ram'' and
``unk''. Use single puts. Add leading newline. Line up equal-signs.
2004-10-20 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
* cygcheck.cc (dump_sysinfo): Allow for larger drives in drive-list.
Change ``Used'' to ``Free'' in helptext-title for drive-list.
2004-10-18 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
* cygcheck.cc (pretty_id): Don't let i become negative. Fix
printf-format.
2004-10-17 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
* cygcheck.cc (pretty_id): Allocate space for ')' in uid and guid.
2004-10-17 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
Christopher Faylor <cgf@timesys.com>
* cygcheck.cc (pretty_id): Allocate space for trailing '\0' in uid and
guid.
2004-10-15 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
Christopher Faylor <cgf@timesys.com>
* cygcheck.cc (pretty_id): Don't exit on id error. Fix size
calculations.
2004-10-14 Christopher Faylor <cgf@timesys.com>
Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
* cygcheck.cc (pretty_id): Correct column calculations. Abort if id is
acting funny.
2004-10-10 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
* cygcheck.cc (add_path): Don't leak memory when path is already in
``paths''.
2004-10-10 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
* cygcheck.cc (dump_sysinfo): Warn about trailing (back)slash on mount
entries.
2004-10-10 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
* cygcheck.cc (dump_sysinfo): Don't warn about empty path components,
just display ``.''.
2004-10-06 Corinna Vinschen <corinna@vinschen.de>
* strace.cc (_impure_ptr): Remove.
2004-10-06 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
* cygcheck.cc (dump_sysinfo): Warn about empty path components.
2004-10-04 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
* cygcheck.cc (pretty_id): Close pipe.
2004-09-23 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
* dump_setup.cc (dump_setup): Remove unneeded strlen when check_files
is not set.
2004-09-22 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
Corinna Vinschen <corinna@vinschen.de>
* dump_setup.cc (dump_setup): Avoid trailing spaces on package-list.
2004-09-15 Bas van Gompel <cygwin-patch.buzz@bavag.tmfweb.nl>
* getfacl.c (main): Correct layout when nopt is set.
2004-07-12 Igor Pechtchanski <pechtcha@cs.nyu.edu>
* mkgroup.cc (netapibufferallocate,netgroupgetinfo): New function
pointers.
(load_netapi): Load NetApiBufferAllocate and NetGroupGetInfo.
(enum_local_groups,enum_groups): Add disp_groupname parameter.
Load info for disp_groupname if specified.
(usage): Add description of "-g/--group" option.
(longopts,opts): Add "-g/--group" option.
(main): Process "-g/--group" option.
* utils.sgml (mkgroup): Add description of "-g/--group" option
2004-06-15 Alan Modra <amodra@bigpond.net.au>
* dumper.cc (dumper::prepare_core_dump): Use bfd_get_section_size
instead of _raw_size.
(dumper::write_core_dump): Likewise.
* parse_pe.cc (select_data_section): Likewise.
2004-05-29 John Paul Wallington <jpw@gnu.org>
* ssp.c (usage): Add missing linefeed.
2004-05-27 Christopher Faylor <cgf@alum.bu.edu>
* kill.cc (listsig): Fix "kill -l" segv. NSIG includes Signal 0, so we
need to avoid calling strtosigno with NSIG - 1.
2004-03-21 Christopher Faylor <cgf@redhat.com>
* cygcheck.cc (dump_sysinfo): Remove "Win95/NT" from output.
2004-03-15 Christopher Faylor <cgf@redhat.com>
* cygpath.cc (usage): Don't issue helpful message if -i is used.
(from Igor Pechtchanski)
2004-03-13 Rob Siklos <rob2@siklos.ca>
* kill.cc (get_debug_priv): New function.
(forcekill): Call get_debug_priv before trying to kill process.
2004-02-24 Christopher Faylor <cgf@redhat.com>
* cygpath.cc (long_options): Add "mode" option.
(options): Ditto.
(usage): Report on new option.
(report_mode): New function.
(main): Implement -M option.
2004-02-20 Christopher Faylor <cgf@redhat.com>
* Makefile.in (build_dumper): Detect missing iconv library.
* cygpath.cc (dowin): Report on filename conversion errors.
(doit): Ditto.
* strace.cc (main): Use symbolic constant for _STRACE_ALL when setting
mask.
2004-02-14 Corinna Vinschen <corinna@vinschen.de>
* ssp.c (opts): Add leading '+' to force posixly correct behaviour.
2004-02-11 Corinna Vinschen <corinna@vinschen.de>
* strace.cc (opts): Add leading '+' to force posixly correct
behaviour.
(main): Revert POSIXLY_CORRECT manipulations.
2004-02-10 Christopher Faylor <cgf@redhat.com>
* strace.cc (main): Guard against previous setting of POSIXLY_CORRECT.
2004-02-10 Christopher Faylor <cgf@redhat.com>
* strace.cc: Update copyrights.
* cygcheck.cc: Update copyrights.
2004-02-10 Christopher Faylor <cgf@redhat.com>
* strace.cc (main): Ensure POSIXLY_CORRECT argument ordering.
* cygcheck.cc (main): Ditto.
2004-01-23 Christopher Faylor <cgf@redhat.com>
* cygcheck.cc (pretty_id): Make more robust in absence of id.exe.
2004-01-22 Corinna Vinschen <corinna@vinschen.de>
* cygpath.cc (dowin): Revert accidental checkin from November.
2003-11-26 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c (main): Print "root" group with local admins group sid
and gid 0.
2003-11-19 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in: Add rules to build ipcrm and ipcs.
* ipcrm.c: New file.
* ipcs.c: New file.
2003-11-14 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c: Avoid compiler warnings throughout.
* mkpasswd.c: Ditto.
* passwd.c: Ditto.
2003-11-07 Mark Blackburn <marklist@fangorn.ca>
* cygpath.cc (main): Allow multiple pathnames on command line.
2003-11-04 Corinna Vinschen <corinna@vinschen.de>
* passwd.c (PrintPW): Turn around meaning printed for "Password not
required" option to be in line with Windows meaning.
(main): Use more appropriate 1008 option when calling
NetUserSetInfo to change flag values.
2003-11-04 Corinna Vinschen <corinna@vinschen.de>
* passwd.c (UF_LOCKOUT): Remove (defined in lmaccess.h).
(version): Bump version number to 1.5.
(longopts): Add -c, -C, -e, -E, -p, -P options.
(opts): Ditto.
(PrintPW): Print values of UF_PASSWD_CANT_CHANGE and
UF_DONT_EXPIRE_PASSWD flags. Slightly reformat output. Don't suppress
correct system password settings just because the account has admin
privileges.
(usage): Define as "noreturn" function. Restructure and rephrase
output. Accommodate new options.
(print_version): Fix copyright dates.
(main): Accommodate new options for setting UF_PASSWD_CANT_CHANGE,
UF_DONT_EXPIRE_PASSWD and UF_PASSWD_NOTREQD settings.
2003-10-17 Christopher Faylor <cgf@redhat.com>
* cygcheck.cc (pretty_id): Don't exec if `id' program is not found.
2003-09-20 Christopher Faylor <cgf@redhat.com>
* kill.cc (main): Allow negative pids (indicates process groups).
2003-09-17 Christopher Faylor <cgf@redhat.com>
* parse_pe.cc (exclusion::sort_and_check): Make error message a little
more explicit and ignore (hopefully) harmless region overlap.
2003-09-13 Christopher Faylor <cgf@redhat.com>
* kill.c (forcekill): Wait for process to terminate even if
TerminateProcess says it failed.
2003-09-11 Christopher Faylor <cgf@redhat.com>
* Makefile.in: Tweak mingw libz.a detection to make it more reliably
detect when libz.a is not available.
2003-09-11 Igor Pechtchanski <pechtcha@cs.nyu.edu>
* cygcheck.cc (dump_only): New global variable.
(usage): Add "--dump-only" option, fix "--verbose" line.
(longopts, opts): Add "--dump-only" option.
(main): Process the "--dump-only" flag. Add new semantic check.
Pass dump_only information to dump_setup().
2003-09-11 Corinna Vinschen <corinna@vinschen.de>
* getfacl (main): Remove extern declaration of optind.
* setfacl (main): Remove extern declaration of optarg and optind.
2003-09-10 Christopher Faylor <cgf@redhat.com>
* Makefile.in (cygcheck.o): Use MINGW_CXX for compilation.
* cygcheck.cc: Just include <getopt.h> rather than cygwin version.
(pretty_id): Avoid compiler warnings.
* cygpath.cc (usage): Ditto.
2003-09-10 Christopher Faylor <cgf@redhat.com>
* Makefile.in (MINGW_CXX): Define and use for mingw-compiled files.
* path.cc: Include more path info in cygwin-specific includes since the
cygwin directory is no longer included by default.
2003-09-10 Christopher Faylor <cgf@redhat.com>
* Makefile.in: More fixups to adjust for the fact that mingw_getopt.o
is no longer built.
2003-09-10 Christopher Faylor <cgf@redhat.com>
* Makefile.in: Remove references to getopt since it is now part of
mingwex.
2003-09-08 Christopher Faylor <cgf@redhat.com>
* Makefile.in: Rename libz.h -> zlib.h.
2003-09-07 Christopher Faylor <cgf@redhat.com>
* Makefile.in: Detect existence of mingw zlib headers and libraries.
Build cygcheck without package checking if they are unavailable.
* dump_setup.cc: Generate dummy zlib macros when zlib is not available.
(open_package_list): Use zlib functions to uncompress package lists.
Return gzFile rather than FILE *.
(check_package_files): Change fp to gzFile to accommodate zlib
functions. Use gzgets to read from package file. Use gzclose to close
the handle.
(package_list): Ditto.
(package_find): Ditto.
2003-09-05 Igor Pechtchanski <pechtcha@cs.nyu.edu>
* dump_setup.cc (check_package_files): Don't fail on empty package.
2003-09-01 AJ Reins <reinsaj@yahoo.com>
* mount.cc (mount_commands): Ensure user mode is actually user mode and
not the default system mode.
2003-08-31 Christopher Faylor <cgf@redhat.com>
* kill.cc (forcekill): Silence some compiler warnings.
2003-08-31 Christopher Faylor <cgf@redhat.com>
* Makefile.in: Oops. Put the '...' in the right place.
2003-08-31 Christopher Faylor <cgf@redhat.com>
* Makefile.in: Display "..." when not-verbose.
* kill.cc (forcekill): Default to entered pid when pinfo fails. Issue
some warnings when things don't work.
2003-08-17 David Rothenberger <daveroth@acm.org>
* dump_setup.cc (check_package_files): Strip leading / and ./ from
package file names.
2003-08-16 David Rothenberger <daveroth@acm.org>
* dump_setup.cc (package_find): Don't stop searching on missing
file list.
(package_list): Ditto.
2003-08-16 Igor Pechtchanski <pechtcha@cs.nyu.edu>
* dump_setup.cc: (package_list): Make output terse unless
verbose requested. Fix formatting.
(package_find): Ditto.
2003-08-15 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (main): Fix some formatting and help text printing.
2003-08-15 Igor Pechtchanski <pechtcha@cs.nyu.edu>
* cygcheck.cc (find_package,list_package): New global
variables.
(usage): Add "--find-package" and "--list-package" options,
reformat output.
(longopts, opts): Add "--find-package" and "--list-package"
options.
(main): Process the "--find-package" and "--list-package"
flags. Add new semantic checks. Add calls to find_package()
and list_package().
* dump_setup.cc: Fix header comment.
(match_argv): Change return type to int to distinguish
between real matches and default ones.
(open_package_list): New static function.
(check_package_files): Factor out opening the package list
file into open_package_list().
(get_packages): New static function.
(dump_setup): Factor out getting a list of packages into
get_packages().
(package_list, package_find): New global functions.
2003-08-15 Corinna Vinschen <corinna@vinschen.de>
* regtool.cc (usage): Add missing linefeed. Move example to --help
text. Fix forward slash description.
2003-08-13 Igor Pechtchanski <pechtcha@cs.nyu.edu>
* dump_setup.cc (check_package_files): Fix extra '/' in filename.
Resize command buffer. Fix buffer overflow bug.
2003-08-09 Igor Pechtchanski <pechtcha@cs.nyu.edu>
Christopher Faylor <cgf@redhat.com>
* dump_setup.cc (dump_setup): Check for the existence of the package
list file. Rework slightly to use static buffer for popen commands.
2003-08-07 Igor Pechtchanski <pechtcha@cs.nyu.edu>
Christopher Faylor <cgf@redhat.com>
* dump_setup.cc (version_len): New static variable.
(could_not_access,directory_exists): New static function.
(file_exists): Ditto.
(check_package_files): Ditto.
(dump_setup): Check the contents of each package if check_files is true
and output the result in the "Status" column. Flush output after each
package.
2003-08-07 Igor Pechtchanski <pechtcha@cs.nyu.edu>
Christopher Faylor <cgf@redhat.com>
* dump_setup.cc (dump_setup): Remove redundant null check. Add
informative message if package info not found.
2003-07-26 Christopher Faylor <cgf@redhat.com>
* mount.cc (do_mount): Issue warning when using managed mount option on
non-empty directory.
2003-07-25 Christopher Faylor <cgf@redhat.com>
* configure.in: Use 'install-sh -c'.
* configure: Regenerate.
2003-07-25 Christopher Faylor <cgf@redhat.com>
* configure.in: Always use install-sh.
* configure: Regenerate.
2003-07-03 Christopher Faylor <cgf@redhat.com>
* mount.cc (struct opt): Remove posix option.
2003-07-03 Christopher Faylor <cgf@redhat.com>
* mount.cc (longopts): Add long "options" keyword.
(opts): Add -o option.
(usage): Display -o option.
(struct opt): New.
(concat3): New function.
(main): Handle -o flag.
2003-06-12 Christopher Faylor <cgf@redhat.com>
* cygcheck.cc (pretty_id): Rework slightly to not rely on spaces.
2003-06-12 Christopher Faylor <cgf@redhat.com>
* cygpath.cc: Throughout, always return error when GetShortPathName
returns 0.
2003-04-26 Joshua Daniel Franklin <joshuadfranklin at yahoo dot com>
* mkpasswd.c (usage) Remove extra newline from description output.
2003-04-26 Joshua Daniel Franklin <joshuadfranklin at yahoo dot com>
* cygcheck.cc (usage) Add description output.
* cygpath.cc (usage) Add description output.
* dumper.cc (usage) Add newline to description output.
* kill.cc (usage) Add description output.
* mkgroup.c (usage) Grammatical change to description output.
* mkpasswd.c (usage) Grammatical change to description output.
* mount.cc (usage) Add description output.
* passwd.c (usage) Add description output.
* ps.cc (usage) Add description output.
* regtool.cc (usage) Add description output.
* setfacl.c (usage) Remove extra newline from description output.
* ssp.c (usage) Add description output.
* strace.cc (usage) Add description output.
* umount.cc (usage) Add description output.
2003-04-10 Pierre Humblet <pierre.humblet@ieee.org>
* mkpasswd.c (current_user): print uid and gid as unsigned.
(enum_users): Ditto. Do not free servername.
(usage): Update to allow several domains and improve -p.
(main): On Win9x limit uids to 1000. Only print specials
when -l is specified. Add a loop to allow several domains
and free servername in the loop.
* mkgroup.c (enum_groups): Do not free servername.
(usage): Update to allow several domains. Change uid to gid.
(main): Only print specials when -l is specified. Add a
loop to allow several domains and free servername in the loop.
2003-03-24 Christopher Faylor <cgf@redhat.com>
* cygcheck.cc (dump_sysinfo): Ensure that CYGWIN environment variable
is correctly set.
2003-03-09 Corinna Vinschen <corinna@vinschen.de>
* getfacl.c (username): Fix ambiguous printf calls.
(groupname): Ditto.
(main): Ditto.
2003-03-04 Christopher Faylor <cgf@redhat.com>
* Makefile.in (strace.exe): Include mingw_getopt.o in link line.
* cygcheck.cc (print_version): Update copyright.
* strace.cc (print_version): Ditto.
(main): Allow cygwin paths for -o option.
(create_child): Allow cygwin path as argv[0].
* path.cc (path.cc): Allow UNC paths.
2003-03-01 Pierre Humblet <pierre.humblet@ieee.org>
* mkpasswd.cc (main): On Win95, output both a default line and a
line for the current user (if known) with a pseudorandom uid. If
the -u switch is given, produce a line for the specified user.
* mkgroup.cc (main): On Win95 change the group name from "unknown" to
"all".
2003-02-28 Christopher Faylor <cgf@redhat.com>
* Makefile.in (cygcheck.o): Fix so that actual mingw include files are
used.
* cygcheck.cc (find_on_path): Translate from cygwin path when qualified
path name found.
(pretty_id): New function. Dump output of id command.
(dump_sysinfo): Call pretty_id for CYGWIN=ntsec and CYGWIN=nontsec cases.
2003-02-12 Christopher Faylor <cgf@redhat.com>
* cygpath.cc (doit): Allocate more space for non-path filename.
2003-02-07 Christopher Faylor <cgf@redhat.com>
* dump_setup.cc (compar): Use case insensitive comparisons.
(dump_setup): Calculate package_len based on already used "len". Don't
bother with version_len.
2003-02-07 Igor Pechtchanski <pechtcha@cs.nyu.edu>
* dump_setup.cc (dump_setup): Compute the longest package name
and align columns properly.
2003-02-06 Christopher Faylor <cgf@redhat.com>
* cygcheck.cc (common_apps): Add some more apps.
* path.cc (get_cygdrive): Correctly set system flag.
2003-01-22 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in (ALL_LDFLAGS): Remove newlib/libm from tools paths.
(MINGW_LDFLAGS): Remove in favor of definition from Makefile.common.
2003-01-15 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c: Fix copyright date.
* mkpasswd.c: Ditto.
* setfacl.c: Ditto.
2003-01-09 Pierre Humblet <pierre.humblet@ieee.org>
* setfacl.c (usage): Remove double ":" for mask and other.
2003-01-07 Pierre Humblet <pierre.humblet@ieee.org>
* mkpasswd.c (current_user): Create.
(usage): Reorganize to support Win95/98/ME.
(main): Add option for -c. Reorganize to parse options for
Win95/98/ME and to call current_user. Add username in gecos field
on Win95/98/ME.
* mkgroup.c (enum_groups): Print gid with %u.
(print_win_error): Create from passwd.cc.
(current_group): Create.
(usage): Reorganize to support Win95/98/ME.
(main): Add option for -c. Reorganize to parse options for
Win95/98/ME and to call current_group.
2002-12-14 Pierre Humblet <pierre.humblet@ieee.org>
* setfacl.c (main): Place a single : after other and mask.
* getfacl.c (getaclentry): Allow both : and :: for other and mask.
(main): Remove extraneous break.
2002-11-25 Corinna Vinschen <corinna@vinschen.de>
* mkpasswd.c (main): Set pw_passwd field to '*' on 9x/Me.
2002-11-24 Corinna Vinschen <corinna@vinschen.de>
* setfacl.c (getperm): Set only `other' permission bits.
(getaclentry): Set a_id to -1 by default.
2002-11-24 Corinna Vinschen <corinna@vinschen.de>
* getfacl.c (permstr): Use `other' permission bits for requesting
ace permissions.
2002-11-08 Corinna Vinschen <corinna@vinschen.de>
* setfacl.c (usage): Add missing LF.
2002-10-30 Christopher Faylor <cgf@redhat.com>
* cygpath.cc (get_long_path_name_w32impl): Define similarly to
GetLongPathName.
(get_long_name): Correctly prototype GetLongPathName.
(get_long_paths): Implement using get_long_name to cut down on code
duplication.
(doit): Do various things to make path output work predictably.
2002-10-19 Christopher Faylor <cgf@redhat.com>
* mount.cc (usage): Correctly report default mode.
* strace.cc (main): Use strtoul as appropriate.
2002-09-29 Christopher Faylor <cgf@redhat.com>
* cygpath.cc (close_arg): Remove unused static.
* mkgroup.c (enum_local_users): Avoid compiler warning.
(enum_users): Ditto.
* mkpasswd.c: Ditto throughout.
* ssp.c: Ditto throughout.
2002-09-18 Christopher Faylor <cgf@redhat.com>
* cygcheck.cc: Include sys/time.h rather than time.h to avoid a
compiler error.
2002-09-17 Christopher Faylor <cgf@redhat.com>
* cygcheck.cc: Reorder includes to avoid compiler error.
2002-09-15 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* cygcheck.cc (print_version) Add final newline.
* getfacl.c (print_version) Add final newline.
* kill.cc (print_version) Add final newline.
* mkgroup.c (print_version) Add final newline.
* mkpasswd.c (print_version) Add final newline.
* mount.cc (print_version) Add final newline.
* passwd.c (print_version) Add final newline.
* ps.cc (print_version) Add final newline.
* regtool.cc (print_version) Add final newline.
* setfacl.c (print_version) Add final newline.
* ssp.c (print_version) Add final newline.
* strace.cc (print_version) Add final newline.
* umount.cc (print_version) Add final newline.
2002-09-12 Igor Pechtchanski <pechtcha@cs.nyu.edu>
* cygpath.cc (options) New global variable.
(main) Make short options global for easier change.
(print_version) Add a missing newline.
2002-08-07 Igor Pechtchanski <pechtcha@cs.nyu.edu>
* regtool.cc (find_key): Add support for custom key separator.
(usage): Document it.
2002-08-02 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c (main): Don't print an entry for "Everyone".
* mkpasswd.c (print_special): Set pw_gid to 544 for SYSTEM user.
(main): Don't print an entry for "Everyone".
2002-07-06 Christopher Faylor <cgf@redhat.com>
* configure.in: Check for libiconv.a.
* configure: Regenerate.
* Makefile.in: Add libiconv.a to libraries required for dumper.exe.
2002-07-06 Christopher Faylor <cgf@redhat.com>
* Makefile.in: Use MINGW stuff from Makefile.common.
2002-07-01 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c: Add function pointers for functions from advapi32.dll.
(load_netapi): Load used functions from advapi32.dll.
(main): Use function pointers instead of statically linked functions
from advapi32.dll.
2002-07-01 Christopher Faylor <cgf@redhat.com>
* mount.cc (main): Ensure that mount_already_exists() also gets default
flag that is passed to do_mount.
2002-06-22 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* cygpath.cc (long_options): Add "dos" and "mixed", correct "close",
"file" and "type" to use NULL flag.
(usage): Clean up usage output (more), accomodate new options.
(main): Add --dos and --mixed options; accomodate all output forms in
--type. Make UNIXy output default.
2002-06-18 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* cygpath.cc (usage): Clean up usage output.
(dowin): Correct output of -t mixed for -ADHPSW options.
2002-06-14 Corinna Vinschen <corinna@vinschen.de>
* passwd.c: Rearrange includes to avoid unnecessary warnings.
(GetPW): Add parameter to (dis)allow printing of Windows username.
Use defines instead of numerical constants where possible.
Try avoiding impersonation problem. Rearrange to print Windows
username only if it's different from Cygwin username.
(ChangePW): Use defines instead of numerical constants where possible.
(main): Call GetPW with additional parameter. Change error text.
2002-06-14 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* passwd.c (GetPW): Handle case of user-edited /etc/passwd
with cygwin_internal (CW_EXTRACT_DOMAIN_AND_USER, ...).
2002-06-09 Christopher Faylor <cgf@redhat.com>
* path.cc (cygpath): Change MOUNT_AUTO to MOUNT_CYGDRIVE.
(getmntent): Ditto.
2002-06-09 Christopher Faylor <cgf@redhat.com>
* mount.cc (main): Use default system/user flag for cygdrive stuff,
too.
(change_cygdrive_prefix): Change MOUNT_AUTO to MOUNT_CYGDRIVE.
* umount.cc (remove_cygdrive_prefix): Ditto.
(main): Use default system/user flag for cygdrive stuff, too.
2002-06-08 Christopher Faylor <cgf@redhat.com>
* mount.cc (opts): Remove '-i' option.
(usage): Ditto.
(main): Ditto.
(longopts): Remove --import-old-mounts option.
2002-06-07 David Peterson <chief@mail.idrive.com>
Christopher Faylor <cgf@redhat.com>
* cygpath.cc: Add option to output windows paths in different formats:
"dos" and "mixed".
(main): Process options.
(doit): Check new options flags.
2002-06-06 Egor Duda <deo@logos-m.ru>
* regtool.cc (Fail): Be more verbose.
(find_key): Add support for remote registry access.
(usage): Document it.
* utils.sgml: Document it.
2002-06-06 Christopher Faylor <cgf@redhat.com>
* strace.cc (main): Make toggle a local variable.
2002-06-07 Conrad Scott <conrad.scott@dsl.pipex.com>
* strace.cc (toggle): New global variable.
(error): Use exit instead of ExitProcess so that stdio buffers get
flushed.
(create_child): Remove command line error checking.
(dostrace): Ditto.
(dotoggle): New function.
(usage): Add entry for new option -T|--toggle. Alphabetize.
(longopts): Add new option -T|--toggle.
(opts): Ditto.
(main): Handle new -T|--toggle option. Move all command line checking
here from other functions.
* utils.sgml: Update section for strace.
2002-06-05 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* strace.cc (version): New global variable.
(usage): Accommodate stdout output.
(print_version): New function.
2002-06-03 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* ssp.c (version): New global variable.
(longopts): Ditto.
(opts): Ditto.
(run_program): Correct cmd_line typos to cmdline.
(usage): New function. Standardize usage output. Add ssp.txt to
--help output.
(print_version): New function.
(main): Accommodate getopt.
2002-06-03 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* umount.cc (version): New global variable.
(longopts): Accommodate new --version option.
(opts): Ditto.
(usage): Standardize usage output.
(print_version): New function.
(main): Accommodate --help, --version options.
2002-06-02 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* regtool.cc (prog_name): New global variable.
(longopts): Ditto.
(opts): Ditto.
(usage): Standardize usage output. Rearrange/add descriptions.
(print_version): New function.
(main): Accommodate longopts and new --help, --version options. Add
check for (_argv[optind+1] == NULL).
2002-06-02 Christopher Faylor <cgf@redhat.com>
* strace.cc (forkdebug): Make true by default.
(attach_process): Use window pid if cygwin pid isn't available (yet).
(create_child): Use either DEBUG_ONLY_THIS_PROCESS or DEBUG_PROCESS,
exclusively. (Suggested by Conrad.Scott@dsl.pipex.com)
2002-05-30 Christopher Faylor <cgf@redhat.com>
* mkpasswd.cc (main): Don't reset to binmode if stdout is a terminal.
2002-05-29 Christopher Faylor <cgf@redhat.com>
* mount.cc (main): Make -b the default.
2002-05-29 Corinna Vinschen <corinna@vinschen.de>
* ps.cc (main): Use uid or uid32 member of struct external_pinfo
dependent of the value of the struct's version member.
2002-05-29 Corinna Vinschen <corinna@vinschen.de>
* ps.cc (main): Change print format for uid to unsigned. Use uid32
member of struct external_pinfo instead of uid.
2002-05-28 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* passwd.c (prog_name): New global variable.
(longopts): Ditto.
(opts): Ditto.
(usage): Standardize output. Accommodate new options.
(print_version): New function.
(main): Accommodate longopts and new --help, --version options.
2002-05-28 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* ps.cc (usage): Fix typo.
2002-05-27 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* ps.cc (prog_name): New global variable.
(longopts): Ditto.
(opts): Ditto.
(usage): New function.
(print_version): New function.
(main): Accommodate longopts and new --help, --version options.
2002-05-26 Christopher Faylor <cgf@redhat.com>
* strace.cc (attach_process): Don't tell process to start stracing
here.
(proc_child): Do it here, instead, after first debug event. This
should work around inexplicable races with DebugActiveProcess.
(dostrace): Pass any pid argument to proc_child.
2002-05-23 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* getfacl.c (usage): Standardize usage output. Change return type to
static void.
(print_version): New function.
(longopts): Added longopts for all options.
(main): Accommodate new help and version options.
2002-05-22 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* mount.cc (version): New global variable.
(usage): Standardize usage output. Accommodate new version option.
(print_version): New function.
(longopts): Accommodate new version option.
(opts): Ditto.
(main): Ditto.
2002-05-22 Corinna Vinschen <corinna@vinschen.de>
* cygpath.cc (usage): Change usage output slightly.
2002-05-20 Joerg Schaible <joerg.schaible@gmx.de>
* cygpath.cc (main): Add option l to support conversion to
Windows long file names. Refactured code for capital options.
Support of options from file for capital options.
(dowin): New function. Refactured from main.
(doit): Call long path conversion.
(get_long_name): New function.
(get_long_paths): New function.
(get_long_path_name_w32impl): New function. Reimplementation
of Windows API function GetLongPathName (only 98/Me/2000/XP or
higher).
(get_short_name): Call GetShortPathName only once.
(get_short_paths): Fix calculating buffer size.
* utils.sgml: Update cygpath section for l option.
2002-05-18 Christopher Faylor <cgf@redhat.com>
* strace.cc (add_child): Use calloc since new requires working
libstdc++.a.
(remove_child): Ditto for delete/free.
2002-05-15 Mark Blackburn <marklist@fangorn.ca>
* cygpath.cc (get_short_paths): Fix more error checking.
(get_short_name): Ditto.
2002-05-14 Joerg Schaible <joerg.schaible@gmx.de>
* cygpath.cc (main): Add option H to show the Windows' profiles
directory. Support short names for options DPSW. Clean up
copied code lines.
* utils.sgml: Update cygpath section for H option and s support.
2002-05-14 Mark Blackburn <marklist@fangorn.ca>
* cygpath.cc (get_short_paths): Fix error checking.
2002-05-13 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* kill.cc (prog_name): New global variable.
(usage): Standardize usage output. Add descriptions.
(print_version): New function.
(longopts): Accommodate new version option.
(opts): Ditto.
(main): Ditto.
2002-05-13 Christopher Faylor <cgf@redhat.com>
* kill.cc (listsig): Display numeric id when given symbolic input.
2002-05-13 Christopher Faylor <cgf@redhat.com>
* kill.cc (usage): Show new options. Allow specification of output
stream.
(main): Implement 'h' option.
2002-05-13 Christopher Faylor <cgf@redhat.com>
* Makefile.in (kill.exe): Add as a specific target.
* kill.cc (longopts): New.
(opts): Ditto.
(get_sig): Accept const char * parameter. Return -1 on unknown signal.
(test_for_unknown_sig): New function.
(listsig): New function.
(main): Use getopt_long for option parsing. Implement -l, and -s
options. Use test_for_unknown_sig() to test for signal validity.
* mount.cc (longopts): Make static.
(opts): Ditto.
2002-05-12 Christopher Faylor <cgf@redhat.com>
* mount.cc (do_mount): Default to non-exec option for remote drives.
Report warnings before attempting a mount.
(longopts): Add no-executable option.
(mount_commands): Ditto.
(opts): Ditto.
(usage): Ditto. Indicate that system mount is now the default.
(main): Accommodate no-executable option. Make system mount the
default.
* umount.cc (usage): Indicate that system umount is now the default.
(main): Make system umount the default.
2002-05-07 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* dumper.cc (usage): Standardize usage output. Generalize to allow use
for help.
(longopts): New struct. Added longopts for all options.
(print_version): New function.
(main): Change getopt to getopt_long. Accommodate new help and version
options.
2002-03-29 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c (main): Change call to exit() to a return statement.
* mkpasswd.c (main): Ditto.
2002-03-27 Joshua Daniel Franklin joshuadfranklin@yahoo.com
* mkpasswd.c (usage): Simplify usage output. Generalize to allow use
for help. Correct '?' typo to 'h'.
(longopts): Add version option.
(opts): Add 'v' version option.
(print_version): New function.
(main): Accommodate new version option. Accommodate usage parameter
changes.
2002-03-19 Christopher Faylor <cgf@redhat.com>
* mkgroup.c (usage): Use one just fprintf + string concatenation for
output message.
(print_version): Add void to function type and update copyright.
2002-03-16 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* mkgroup.c (usage): Simplify usage output. Generalize to allow use
for help. Correct '?' typo to 'h'.
(longopts): Add version option.
(opts): Add 'v' version option.
(print_version): New function.
(main): Accommodate new version option. Accommodate usage parameter
changes. Use usage to output help message.
2002-03-15 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c (main): When generating group 513, check for computer's
primary domain instead of current user's domain.
2002-03-14 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c (main): When generating group 513, check for domain SID
if computer name isn't mapped to a SID.
2001-03-11 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* kill.cc (usage): Move to top of file.
(getsig): Ditto.
(forcekill): Ditto.
2002-03-06 Christopher Faylor <cgf@redhat.com>
* cygcheck.cc: Reformat.
2002-03-06 Christopher Faylor <cgf@redhat.com>
* cygcheck.cc (longopts): Use correct short option for --version.
2002-03-06 Christopher Faylor <cgf@redhat.com>
* cygpath.cc: Reformat.
2002-02-27 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* cygpath.cc (print_version): New function.
(main): Accommodate new version function. Initialize 'o' to prevent
warning.
2002-02-27 Christopher Faylor <cgf@redhat.com>
* cygcheck.cc (main): Eliminate non-GNU formatting glitch.
2002-02-27 Christopher Faylor <cgf@redhat.com>
* ssp.c (help_desk): Fix compiler warning.
2002-02-27 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
Christopher Faylor <cgf@redhat.com>
Change appropriate globals to statics throughout.
* cygcheck.cc (usage): Simplify usage output. Generalize to allow use
for help.
(longopts): Add version option.
(opts): Add 'V" version option.
(print_version): New function.
(main): Accommodate new version option. Accommodate usage parameter
changes. Use usage to output help message.
002-02-19 Christopher Faylor <cgf@redhat.com>
* Makefile.in (CXXFLAGS): Add override so that HAVE_DECL_GETOPT is
defined.
(libbfd): Use -B rather than -L so that bfd from build directory is
correctly found.
(libintl): Ditto.
2002-02-15 Christopher Faylor <cgf@redhat.com>
* mount.cc (usage): Fix typo in output.
2002-02-14 Christopher Faylor <cgf@redhat.com>
* strace.cc (attach_process): Change CW_STRACE_ON to CW_STRACE_TOGGLE.
2002-01-31 Corinna Vinschen <corinna@vinschen.de>
* mkpasswd.c (main): Set default home path for 9x/Me if --path-to-home
isn't given.
2002-01-30 Corinna Vinschen <corinna@vinschen.de>
* passwd.cc (ChangePW): Add parameter to differ between called for
checking old password and called for changing password. If called
for checking old password, return non-zero only if password is surely
incorrect.
(main): Call ChangePW() with additional parameter.
2002-01-29 Christopher Faylor <cgf@redhat.com>
* dump_setup.cc (parse_filename): Don't consider '_' part of the
version.
2002-01-28 Christopher Faylor <cgf@redhat.com>
* cygcheck.cc: Fix typo. Remove uid_t kludge. Rely on kludge in
sys/cygwin.h instead.
* getfacl.c: Add include to remove warning.
* mkgroup.c (main): Assign variables outside of parameter passing.
This seems to eliminate some compiler warnings.
2002-01-28 Christopher Faylor <cgf@redhat.com>
* cygcheck.cc: Use specific cygwin includes, as required.
2002-01-28 Christopher Faylor <cgf@redhat.com>
* Makefile.in (MINGW_INCLUDES): Change cygwin include.
* strace.cc: Use specific cygwin includes, as required.
(load_cygwin): New function. Loads cygwin DLL, if necessary.
(attach_process): Attaches strace to a running process.
(dostrace): Accept pid argument. Attach to pid if supplied.
(usage): Describe -p option. Correct system description.
(longopts): Alphabetize.
(opts): Ditto.
(main): Ditto. Handle -p option.
2002-01-21 Christopher Faylor <cgf@redhat.com>
* Makefile.in (CXXFLAGS): Ensure that important settings are preserved
even when overriden by command line.
2002-01-21 Christopher Faylor <cgf@redhat.com>
* Makefile.in: Build intermediate cygcheck.o to force use of MINGW_CXXFLAGS.
* cygcheck.cc (cygwin_info): Intitialize variable to quiet g++ warning.
(dump_sysinfo): Make variables unsigned to quiet g++ warnings.
* strace.cc (version_string): Rename from SCCSid.
(add_child): Remove unused variable.
(version): Use version_string. Avoid use of fprintf.
2002-01-21 DJ Delorie <dj@redhat.com>
* Makefile.in: Use CXX instead of CC to compile C++ sources.
2002-01-17 DJ Delorie <dj@redhat.com>
* cygcheck.cc (already_did): Avoid default constructors, which may
require exception support.
2001-01-16 Joshua Daniel Franklin <joshuadfranklin@yahoo.com>
* cygpath.cc (main): Add options to show Desktop and Start
Menu's Programs directory for current user or all users.
Move bulk of DPWS options outside the getopt case statement.
* utils.sgml: Update cygpath section for ADPWS options.
2002-01-15 Joerg Schaible <joerg.schaible@gmx.de>
* cygpath.cc (doit): Empty file ignored using option -i.
2002-01-15 Mark Bradshaw <bradshaw@crosswalk.com>
* mkpasswd.c (print_win_error): Add a new function.
(enum_users): Use print_win_error.
(enum_local_groups): Ditto.
(main): Ditto.
2001-12-26 Jonathan Kamens <jik@curl.com>
* cygpath.cc (doit): Detect and warn about an empty path. Detect and
warn about errors converting a path.
(main): Set prog_name correctly -- don't leave an extra slash or
backslash at the beginning of it.
Fri Dec 14 14:04:37 2001 Jason Tishler <jason@tishler.net>
* mkpasswd.c (enum_users): Change to unconditionally use
the --path-to-home option, if supplied by the user. Use default
--path-to-home option value, if appropriate.
(usage): Change usage statement to reflect new semantics.
(main): Remove defaulting of the --path-to-home option.
Fri Dec 14 12:10:39 2001 Jason Tishler <jason@tishler.net>
* mkpasswd.c (opts): Add indication that '-p' option requires an
argument.
2001-12-11 Christopher Faylor <cgf@redhat.com>
* Makefile.in: Add define to CXXFLAGS.
2001-12-03 Christopher Faylor <cgf@redhat.com>
* cygcheck.cc (usage): Add -c description.
* cygpath.cc (usage): Alphabetize options.
* strace.cc (usage): Ditto.
2001-11-21 Christopher Faylor <cgf@redhat.com>
* path.cc (cygpath): Don't consider cygdrive stuff when trying to derive
native paths.
2001-11-20 Mark Bradshaw <bradshaw@staff.crosswalk.com>
* mkpasswd.c: include lmerr.h
(main): New -u option to allow specifying a
specific user. If specified, groups aren't displayed and
output is limited to only the specified user.
(enum_users): If specific user is specified, via -u option,
display only that user's record. With -u use NetUserGetInfo
instead of NetUserEnum.
(load_netapi): Added netusergetinfo.
2001-11-15 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
* strace.cc (main): Change getopt() to getopt_long().
Add support for help and version info.
Use new parse_mask() function for -m/--mask option.
(longopts): Add long options structure.
(opts): Move options string from getopts call to static var.
(usage): Print usage information.
(SCCSid): Version info.
(version): New function for displaying version info.
(parse_mask): New function supporting parsing of mnemonics,
hex, and basic expressions in masks.
(mnemonic2ul): New mnemonic parsing function.
(tag_mask_mnemonic): New type.
(mnemonic_table): New table of mnemonics for mnemonic2ul() to
search through.
2001-11-12 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (dump_sysinfo): Redefine output format slightly.
Print correct build number on 9x/ME systems.
2001-11-12 Christopher Faylor <cgf@redhat.com>
* cygcheck.cc (main): Slight formatting tweak.
2001-11-12 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (dump_sysinfo): Add some more details.
2001-11-12 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (dump_sysinfo): Print more detailed OS information string
using OSVERSIONINFOEX information.
2001-11-11 Christopher Faylor <cgf@redhat.com>
* path.h: New file.
2001-11-11 Christopher Faylor <cgf@redhat.com>
* cygcheck.cc (scan_registry): Open registry with read-only access.
(main): Reflect argument change for dump_setup.
* dump_setup.cc (dump_setup): Add preliminary extra argument for future
use.
* path.cc (read_mounts): Open registry with read-only access.
2001-11-11 Christopher Faylor <cgf@redhat.com>
* cygcheck.cc (main): Display package info when '-s' is specified.
* dump_setup.cc (dump_setup): Change header. Remove typo. Always sort
packages output.
2001-11-11 Christopher Faylor <cgf@redhat.com>
* dump_setup.cc: New file.
* Makefile.in: Add info for dump_setup.o.
* cygcheck.cc (main): Recognize '-c' option for checking setup
installed base.
* path.cc (cygpath): Read mount table if not loaded.
2001-11-10 Christopher Faylor <cgf@redhat.com>
* Makefile.in (cygcheck.exe): Compile as -mno-cygwin executable.
* path.cc: New file.
* cygcheck.cc (init_paths): Use MS-DOS path syntax.
(cygwin_info): Properly display cygwin version numbers. Prettify some
output.
(dump_sysinfo): Calculate max names of posix and ms-dos paths for
prettier output.
2001-11-09 Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc (dump_sysinfo): Print more detailed OS information string.
2001-11-04 Corinna Vinschen <corinna@vinschen.de>
* getfacl.c (username): New function.
(groupname): Ditto.
(usage): Ditto. Add more user friendly help text.
(main): Add -n and --help option. Print names instead of IDs
unless -n option is given.
* setfacl.c (getperm): Tolerate whitespace and comment chars in input.
(getaclentry): Fix several input string misdetections.
(getaclentries): Allow - as input file name to read from stdin.
Tolerate whitespace and comment chars in input.
(usage): Add more user friendly help text.
(main): Add --help option.
2001-11-04 Egor Duda <deo@logos-m.ru>
* strace.cc (main): New option '-w'. Start traced process in separate
window. New option '-S x'. Flush buffered output every x seconds.
(create_child): Start child process in new window, when requested.
When requested, periodically flush debugging output.
2001-10-24 Christopher Faylor <cgf@redhat.com>
* Makefile.in: Remove EXEEXT consideration. We always need .exe
extensions.
2001-10-20 Corinna Vinschen <corinna@vinschen.de>
* mkgroup.c: Avoid compiler warnings.
(print_special): New function.
(main): Print special accounts by calling print_special().
* mkpasswd.c: Avoid compiler warnings.
(enum_users): Print additional U-domain\username info in gecos
field when SIDs are printed.
(print_special): New function.
(main): Print special accounts by calling print_special().
2001-10-15 Christopher Faylor <cgf@redhat.com>
* mkpasswd.cc (enum_users): Shorten "unused" passwd field.
2001-10-13 Christopher Faylor <cgf@redhat.com>
* Makefile.in: Allow stdinc searching for dumper.
Tue Oct 9 21:59:00 2001 Christopher Faylor <cgf@cygnus.com>
* Makefile.in (MINGW_INCLUDES): Accommodate changes in Makefile.common.
Sun Oct 7 23:06:39 2001 Christopher Faylor <cgf@cygnus.com>
* kill.cc (main): Set exit value to 1 on invalid pid. Perform minor
cleanup.
Fri Sep 21 20:40:30 2001 Christopher Faylor <cgf@cygnus.com>
* Makefile.in (mingw_getopt.o): Ensure that newlib include directories
are not searched.
Thu Sep 20 21:00:20 2001 Christopher Faylor <cgf@cygnus.com>
* Makefile.in (MINGW_INCLUDES): Still need cygwin/include directory.
Wed Sep 19 12:22:08 2001 Christopher Faylor <cgf@cygnus.com>
* Makefile.in: Filter newlib includes from mingw compilation.
2001-09-14 Egor Duda <deo@logos-m.ru>
* dumper.cc (dumper::dumper): Print error code in case of error.
(dumper::add_thread): Ditto.
(dumper::collect_memory_sections): Ditto.
(dumper::dump_memory_region): Ditto.
(dumper::collect_process_information): Ditto.
(print_section_name): Fix formatting.
2001-09-13 Egor Duda <deo@logos-m.ru>
* dumper.cc (main): Properly recognize negative pids (used by w9x).
2001-09-09 Egor Duda <deo@logos-m.ru>
* dumper.cc (main): Change command-line arguments format to be
similar to gdb. Allow adding error_start=x:\path\to\dumper.exe to
CYGWIN environment variable to perform core dumping in case of
program crash.
(usage): Ditto.
Wed Sep 5 22:37:21 2001 Christopher Faylor <cgf@cygnus.com>
* Makefile.in (dumper): Change logic for libbfd and libintl so that
they will be found either in the build tree or the installed directory.
* mkpasswd.c (enum_users): Add a comment as a password for NT.
2001-09-03 Michael A Chase <mchase@ix.netcom.com>
* mount.cc (mount_commands): Don't write /cygdrive/u mount points.
2001-09-03 Michael A Chase <mchase@ix.netcom.com>
* mount.cc (longopts): Add mount-commands to options list.
(usage): Add mount-commands option.
(mount_commands): New function. Write commands to recreate current
mounts.
Sat Sep 1 15:58:11 2001 Christopher Faylor <cgf@cygnus.com>
* mount.cc (main): Eliminate excess arguments in printf.
2001-08-30 Egor Duda <deo@logos-m.ru>
* dumper.h: Update copyright notice.
* dumper.cc: Ditto.
* dumper.cc: (dumper::print_core_section_list): New function.
* dumper.h: (dumper::print_core_section_list): Declare it.
* dumper.cc (print_section_name): New function.
(dumper::collect_process_information): Augment debugging output.
Stop debugee processing if it posts double exception.
(usage): Fix typo in option name.
Tue Aug 28 14:45:02 2001 Christopher Faylor <cgf@cygnus.com>
* mount.cc (main): Issue correct warning for 'not enough arguments'.
2001-08-14 Joerg Schaible <joerg.schaible@gmx.de>
* cygpath.cc (main): Support -w for Windows (System) directories and
return physical correct orthography for the Windows System dir.
2001-07-14 Chris Genly <chgenly@alum.mit.edu>
* regtool.cc (find_key): Handle keys with only one subkey.
Wed Jun 27 22:46:10 2001 Christopher Faylor <cgf@cygnus.com>
* regtool.cc (find_key): Revert previous change.
Wed Jun 27 13:37:41 2001 Keith Starsmeare" <keith_starsmeare@yahoo.co.uk>
* regtool.cc (find_key): Allow '/' as a synonym for '\\'.
Fri Jun 15 00:49:21 2001 Christopher Faylor <cgf@cygnus.com>
* mkpasswd.c (main): Output passwd file in binary mode so that there
are no CRs in the file.
* umount.cc (remove_all_user_mounts): Don't try to remove /cygdrive
mounts.
Tue May 1 10:50:48 2001 Christopher Faylor <cgf@cygnus.com>
* mkpasswd.c (enum_users): Use /bin/bash as the default shell.
(main): Ditto.
Sat Apr 28 22:32:01 2001 Christopher Faylor <cgf@cygnus.com>
* passwd.cc (ttymnam): New function.
(main): Use ttynam() to report name of tty.
2001-04-19 Egor Duda <deo@logos-m.ru>
* dumper.cc (dumper::init_core_dump): Set architecture field in dump
header.
Mon Apr 16 15:08:00 2001 Corinna Vinschen <vinschen@redhat.com>
* mkgroup.c: Add function pointers `netlocalgroupgetmembers' and
`netgroupgetusers'.
(load_netapi): Load function pointers `netlocalgroupgetmembers'
and `netgroupgetusers'.
(enum_local_users): New function.
(enum_local_groups): Call `enum_local_users' for each group if
`print_users' is set.
(enum_users): New function.
(enum_groups): Call `enum_users' for each group if `print_users' is set.
(usage): Add usage text for `-u/--users'.
(longopts): Add option `--users'.
(opts): Add option character `u'.
(main): Set `print_users' according to option `-u/--users'.
Call `enum_local_groups' and `enum_groups' with additional parameter
`print_users'.
2001-04-15 Michael A Chase <mchase@ix.netcom.com>
* mount.cc (longopts): Add help to options list.
(opts): Add 'h' to options string.
* umount.cc (longopts): Add help to options list.
(opts): Add 'h' to options string and change 'R' to 'A'.
2001-04-13 Kazuhiro Fujieda <fujieda@jaist.ac.jp>
* mkgroup.c (enum_groups): Use RID + offset specified an additional
argument as ID.
(usage): Add description of -o option.
(longopts, opts): Add specifications of -o/--id-offset option.
(main): Add -o option. Invoke enum_groups with specified offset.
* mkpasswd.c (enum_users): Just like mkgroup.c.
(usage, longopts, opts): Ditto.
(main): Add -o option. Invoke enum_users with specified offset only
against domain accounts.
2001-04-11 Egor Duda <deo@logos-m.ru>
* mkgroup.c (uni2ansi): Use native method to convert from Unicode
to multi-byte strings.
* mkpasswd.c (uni2ansi): Ditto.
(enum_users): Pass buffer size when converting string.
(enum_local_groups): Ditto.
* mkgroup.c (enum_groups): Ditto.
(enum_local_groups): Ditto.
Mon Apr 2 22:41:33 2001 Christopher Faylor <cgf@cygnus.com>
* mount.cc (main): Use getopt_long for parsing arguments.
(usage): Reformat, show long and short options.
* umount.cc (main): Ditto, all of the above.
Mon Apr 2 10:58:26 2001 Christopher Faylor <cgf@cygnus.com>
* mount.cc (show_mounts): Change format string to more closely resemble
UNIX when displaying mount table.
Sat Mar 17 21:46:06 2001 Christopher Faylor <cgf@cygnus.com>
* kill.cc (forcekill): Use dwProcessId when opening a process, not the
Cygwin pid.
Mon Mar 5 18:50:00 2001 Corinna Vinschen <vinschen@redhat.com>
* getfacl.c: Add copyright hint.
* setfacl.c: Ditto.
* strace.cc: Ditto.
Tue Jan 09 10:26:23 2001 Tony Sideris <tonys1110@home.com>
* regtool.cc (cmd_list): Add new registry display options.
(cmd_list): Add code to implement -p, -k, and -l options.
* regtool.cc (Fail): Add call to LocalFree to free memory allocated by
FormatMessage.
Wed Jan 10 09:16:57 2001 Christopher Faylor <cgf@cygnus.com>
* regtool.cc (translate): Ensure that 'c' is initialized.
(cmd_set): Ditto for rv.
|