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
|
2003-02-06 Tom Yu <tlyu@mit.edu>
* prompter.c (krb5_prompter_posix, setup_tty, restore_tty): Fix to
use the actual file descriptor we dup()'ed to in case tcsetattr()
doesn't actually change the underlying device modes and instead
only affects the specific file descriptor.
2003-02-06 Ken Raeburn <raeburn@mit.edu>
* locate_kdc.c (translate_ai_error): Handle EAI_ADDRFAMILY like
EAI_NONAME.
(krb5int_add_host_to_list): Translate errors returned from the
second getaddrinfo call.
2003-02-04 Tom Yu <tlyu@mit.edu>
* prompter.c (krb5_prompter_posix): Rewrite to no longer use
longjmp(), as well as to get a non-buffered stdio stream on stdin
to avoid passwords staying around in stdio buffers. This does
have the side effect of possibly losing pre-buffered input from an
application that reads from stdin using stdio functions prior to
calling the prompter, but hopefully those are rare.
2003-01-10 Ken Raeburn <raeburn@mit.edu>
* Makefile.in: Add AC_SUBST_FILE marker for libobj_frag.
2003-01-07 Ken Raeburn <raeburn@mit.edu>
* sendto_kdc.c (state_strings): Now const.
2002-12-06 Tom Yu <tlyu@mit.edu>
* accessor.c (krb5int_accessor): Add add_host_to_list.
* changepw.c (krb5_locate_kpasswd): Update calls to
krb5_locate_kdc().
* locate_kdc.c (add_host_to_list): Renamed to
krb5int_add_host_to_list(), with macro to deal with existing
callers in this file. Now takes an argument to indicate protocol
family. Callers updated accordingly to also take protocol family
arguments.
* os-proto.h: Update prototype of krb5_locate_kdc().
* sendto_kdc.c (krb5_sendto_kdc): Update calls to
krb5_locate_kdc().
(krb5int_sendto): UDP reply length is in.pos-in.buf, not
in.bufsize.
* t_locate_kdc.c (main): Update call to krb5_locate_kdc().
* t_std_conf.c (test_locate_kdc): Update call to krb5_locate_kdc().
2002-11-14 Tom Yu <tlyu@mit.edu>
* changepw.c: Remove reference to adm_err.h.
2002-11-12 Ken Raeburn <raeburn@mit.edu>
* Makefile.in (t_locate_kdc): Use normal CC_LINK rule for linking
test program.
2002-10-28 Ken Raeburn <raeburn@mit.edu>
* localaddr.c (print_addr) [TEST]: Don't mix size_t and socklen_t,
just assume socklen macro will return a socklen_t value. Cast
buffer size to socklen_t in getnameinfo call.
2002-10-22 Ezra Peisach <epeisach@bu.edu>
* sendto_kdc.c (service_tcp_fd): If DEBUG defined, ensure that
initialization of variable not bypassed by goto.
2002-10-15 Tom Yu <tlyu@mit.edu>
* hst_realm.c (krb5_try_realm_txt_rr): Apply patch from Nalin
Dahyabhai to bounds-check return value from res_search().
* locate_kdc.c (krb5_locate_srv_dns_1): Apply patch from Nalin
Dahyabhai to bounds-check return value from res_search().
2002-10-11 Tom Yu <tlyu@mit.edu>
* read_pwd.c (krb5_read_password): Restore name of size_return.
Set *size_return after successful call to krb5_prompter_posix,
since some callers were actually checking, e.g. kadm5.
2002-10-10 Sam Hartman <hartmans@mit.edu>
* read_pwd.c (krb5_read_password): Reimplement in terms of krb5_prompter_posix for unix
2002-09-26 Ken Raeburn <raeburn@mit.edu>
* sendto_kdc.c (krb5int_cm_call_select): Fix last change.
2002-09-19 Ken Raeburn <raeburn@mit.edu>
* sendto_kdc.c (krb5int_cm_call_select): If timeout value has
tv_sec==0, treat it as meaning "no timeout".
(krb5int_debug_fprint): Handle null timeval pointer.
2002-09-18 Ken Raeburn <raeburn@mit.edu>
* sendto_kdc.c: Include cm.h.
(struct select_state, SSF_READ, SSF_WRITE, SSF_EXCEPTION): Moved
to cm.h.
(DEBUG): Define.
(krb5int_debug_sendto_kdc): Initialize to zero.
(default_debug_handler, put, putstr): New functions.
(krb5int_sendtokdc_debug_handler): New variable.
(krb5int_debug_fprint): Don't write to stderr; instead, pass
strings to the debug output handlers above.
(struct incoming_krb5_message): Broken out from struct
conn_state.
(krb5int_cm_call_select): Renamed from call_select; callers
updated. Now extern. Display max fd number in debugging call,
not nfds.
2002-09-17 Sam Hartman <hartmans@mit.edu>
* genaddrs.c (krb5_auth_con_genaddrs): Return errno if getpeername fails
2002-09-14 Ken Raeburn <raeburn@mit.edu>
* sendto_kdc.c (service_fds): Fix bug in last change.
(krb5int_debug_fprint): Use 'out' consistently, minimize explicit
references to stderr. Flush output before returning.
(dperror) [_WIN32]: Shorten message.
(start_connection, service_tcp_fd, service_fds, krb5int_sendto):
Use dprint instead of dfprintf.
2002-09-13 Ken Raeburn <raeburn@mit.edu>
* sendto_kdc.c (struct conn_state): Add new function pointer field
'service' for the fd service routine.
(setup_connection): Initialize it.
(service_fd): Deleted.
(service_fds): Incorporate debug output from service_fd. Call
service routine indicated in connection info. Decrement select fd
count for each flag set for a file descriptor. Ensure that the
index into the conns array doesn't run off the end.
(krb5int_debug_fprint): Fetch correct type for %E.
2002-09-11 Ken Raeburn <raeburn@mit.edu>
* locate_kdc.c (get_port): Skip service name lookup, just use the
supplied numbers.
(add_host_to_list): If a second port number is supplied, look up
AF_INET addresses only, and only for SOCK_DGRAM type entries.
Ignore errors in the second address lookup.
(krb5_locate_srv_conf_1) [TEST]: More debugging code.
* t_locate_kdc.c (main): Add new argument -m for looking up master
KDC addresses.
2002-09-03 Ken Raeburn <raeburn@mit.edu>
* accessor.c, an_to_ln.c, c_ustime.c, ccdefname.c, changepw.c,
def_realm.c, free_hstrl.c, free_krbhs.c, full_ipadr.c, gen_port.c,
gen_rname.c, genaddrs.c, get_krbhst.c, gmt_mktime.c, hostaddr.c,
hst_realm.c, init_os_ctx.c, krbfileio.c, ktdefname.c, kuserok.c,
localaddr.c, locate_kdc.c, lock_file.c, mk_faddr.c, net_read.c,
net_write.c, port2ip.c, prompter.c, promptusr.c, read_msg.c,
read_pwd.c, realm_dom.c, realm_iter.c, sendto_kdc.c, sn2princ.c,
t_an_to_ln.c, t_gifconf.c, t_locate_kdc.c, t_realm_iter.c,
t_std_conf.c, timeofday.c, toffset.c, unlck_file.c, ustime.c,
write_msg.c: Use prototype-style function definitions.
* c_ustime.c, timeofday.c: Don't declare errno.
* hst_realm.c (krb5_try_realm_txt_rr), locate_kdc.c
(krb5_locate_srv_dns_1): Avoid variable name "class".
* sendto_kdc.c (enum conn_states): Define separately from
conn_state 'state' field declaration.
2002-08-29 Ken Raeburn <raeburn@mit.edu>
* Makefile.in: Revert $(S)=>/ change, for Windows support.
2002-08-23 Ken Raeburn <raeburn@mit.edu>
* sendto_kdc.c (merge_addrlists): Truncate source address list
after copying its data into the destination list.
* Makefile.in: Change $(S)=>/ and $(U)=>.. globally.
2002-08-22 Ken Raeburn <raeburn@mit.edu>
* locate_kdc.c (krb5int_grow_addrlist): Renamed from grow_list,
now external.
(grow_list): New macro.
(krb5_locate_kdc): Don't look up kerberos-sec for TCP service.
* sendto_kdc.c (MAX_PASS, dprint): New macros.
(krb5int_debug_fprint, merge_addrlists): New function.
(krb5int_debug_sendto_kdc): New variable.
(krb5_sendto_kdc): Use dprint. Call krb5int_locate_kdc in two
places, with socket type selection done separately.
(debug_log_connect): Function deleted; use dprint instead.
(dperror): Use dprint.
(print_fdsets): Function deleted; use dprint instead.
(struct conn_state): Use struct instead of union so incoming and
outgoing buffer pointers can co-exist. Add INITIALIZING state.
(state_strings): Add INITIALIZING.
(krb5int_sendto_udp, krb5int_sendto_tcp): Functions integrated
into krb5int_sendto.
(call_select): Use dprint.
(setup_connection): New function, handles data structure
initialization.
(start_connection): Renamed from start_tcp_connection. Don't do
data structure initialization, just start connection, and transmit
UDP datagrams. Use dprint.
(maybe_send): Create socket for "INITIALIZING" connections;
transmit datagrams.
(kill_conn): New function split out from service_tcp_fd.
(SSF_READ, SSF_WRITE, SSF_EXCEPTION): New macros.
(service_tcp_fd): Accept a flag word rather than separate int
arguments for read, write, exception. Use dprint.
(service_udp_fd): New function.
(service_fd): New function, calls one of the above two.
(service_fds): Call it. Use a flag word instead of separate r/w/x
values.
* accessor.c (krb5int_accessor): Use krb5int_sendto instead of
krb5int_sendto_udp.
2002-08-15 Ken Raeburn <raeburn@mit.edu>
* sendto_kdc.c (DEFAULT_UDP_PREF_LIMIT, HARD_UDP_LIMIT): New
macros.
(debug_log_connect): Look up "udp_preference_limit" in libdefaults
part of profile; try TCP before UDP if the packet size is larger
than specified. Don't try UDP at all if the packet is over about
32K.
2002-07-23 Ezra Peisach <epeisach@bu.edu>
* localaddr.c (get_localaddrs): Add prototype before being used
for static function.
2002-07-09 Ken Raeburn <raeburn@mit.edu>
* sn2princ.c: Include fake-addrinfo.h.
(krb5_sname_to_principal): Use getaddrinfo and getnameinfo instead
of gethostbyname and gethostbyaddr.
* hst_realm.c (krb5_get_host_realm): Return KRB5_ERR_NUMERIC_REALM
if the hostname is a numeric-address form.
2002-07-08 Ken Raeburn <raeburn@mit.edu>
* localaddr.c (get_localaddrs): Split out main body of
krb5_os_localaddr, add an argument to indicate whether addresses
listed in the profile should be included.
(krb5_os_localaddr): Call it.
(krb5int_local_addresses): Call get_localaddrs but skip
profile-listed addresses.
* sendto_kdc.c (krb5int_sendto_udp): Accept new args for optional
location to store local address used to contact server.
(krb5_sendto_kdc): Update call to pass 0.
2002-07-05 Ken Raeburn <raeburn@mit.edu>
* sendto_kdc.c (service_tcp_fd): sockerrlen should have type
socklen_t.
2002-07-03 Alexandra Ellwood <lxs@mit.edu>
* init_os_ctx.c: krb4 needs to get the os config files so it can use
the profile too. Define these functions on Mac OS X now.
* init_os_ctx.c: Removed use of FSSpecs because these cause serious
performance problems on Mac OS X. We now search paths the same way
the rest of the Unix platforms do.
[pullups from 1-2-2-branch]
2002-06-22 Tom Yu <tlyu@mit.edu>
* c_ustime.c: Remove various things missed in 1-2-2-branch MacOS
microseconds timer removal.
2001-06-22 Miro Jurisic <meeroh@mit.edu>
* c_ustime.c: punted the accurate microseconds timing code because it
wasn't so accurate after all.
[pullup from 1-2-2-branch]
2002-06-22 Alexandra Ellwood <lxs@mit.edu>
* init_os_ctx.c: Add CoreServices.h before k5-int.h so we don't get
multiple definitions for FSSpec. Also removed an unused variable in
Mac OS X code and added casts for Mac OS X code so FSSpecs are cast
to profile file types (code deals properly on the other side)
* timeofday.c: Added casts to remove warnings
* ccdefname.c, init_os_ctx.c, timeofday.c: Updated Mac OS X
headers to new framework layout and updated Mac OS macros
* read_pwd.c: Removed #defines for Mac OS X (__MACH__) because we
now export krb5_read_password on Mac OS X
[pullups from 1-2-2-branch]
2002-06-19 Ken Raeburn <raeburn@mit.edu>
* init_os_ctx.c: Don't include sys/ioctl.h or sys/filio.h.
(krb5_os_init_context): Drop /dev/[u]random support, the Yarrow
code will deal with that now.
2002-06-18 Danilo Almeida <dalmeida@mit.edu>
* toffset.c (krb5_get_time_offsets), an_to_ln.c
(krb5_aname_to_localname): Make KRB5_CALLCONV.
[pullup from 1-2-2-branch]
2002-06-18 Ken Raeburn <raeburn@mit.edu>
* changepw.c (ECONNABORTED, ECONNREFUSED, EHOSTUNREACH,
ETIMEDOUT): Don't define here now that they're defined in
port-sockets.h.
* read_msg.c (ECONNABORTED): Ditto.
* sendto_kdc.c: Include sys/timeb.h on Windows.
(ENABLE_TCP): Macro deleted, always enable code.
(krb5_sendto_kdc): Don't try UDP if outgoing message is 1500
bytes or larger. Print info on arguments if DEBUG defined.
(bogus_strerror) [_WIN32 && DEBUG]: New function.
(dperror, dfprintf): New macros.
(krb5int_sendto_udp): Use SOCKET_ERRNO where appropriate. Log
more info if DEBUG defined; use dperror and dfprintf.
(struct conn_state): Use new scatter-gather definitions from
port-sockets.h. Don't try to reuse data structures for both
input and output.
(struct select_state): Add exception fd set.
(print_fdsets) [DEBUG]: Print exception fd set; callers changed.
(getcurtime): New function.
(call_select): Call it. Pass exception fd set to select.
(make_nonblocking, iov_advance): Deleted.
(start_tcp_connection): Expand non-blocking setting inline; set
linger period to zero. Use new scatter-gather framework. Log
more info if DEBUG defined.
(service_tcp_fd): New argument indicates exception; handle
exception fd set. Print more info if DEBUG. Use SOCKET_*
macros, scatter-gather support, SHUTDOWN_* macros. Adjust for
new conn_state definitions.
(krb5int_sendto_tcp): Set up exception fd set. Adjust for new
conn_state definitions. Use new scatter-gather support.
2002-06-11 Ken Raeburn <raeburn@mit.edu>
* sendto_kdc.c: Include sys/ioctl.h and sys/filio.h only if
ENABLE_TCP is set and _WIN32 is not defined.
2002-06-10 Ken Raeburn <raeburn@mit.edu>
* sendto_kdc.c: Include sys/ioctl.h and sys/filio.h if
available. Define ENABLE_TCP as 0 on Windows, 1 otherwise.
(debug_log_connect): New function.
(dperror, dfprintf): New macros.
(krb5int_sendto_udp): Use dperror, dfprintf, and
debug_log_connect.
(state_strings): New variable.
(struct conn_state, struct select_state): New types.
(print_fdsets, call_select, make_nonblocking,
start_tcp_connection, iov_advance, service_tcp_fd, service_fds,
krb5int_sendto_tcp): New functions.
(krb5_sendto_kdc): New argument TCP_ONLY. Try UDP first unless
told otherwise, then try TCP.
* t_std_conf.c: Include fake-addrinfo.h.
(test_locate_kdc): Update arg list to locate_kdc. Print IPv6 as
well as IPv4 addresses.
* t_locate_kdc.c (main): Free storage allocated by library before
exiting.
2002-06-04 Ken Raeburn <raeburn@mit.edu>
* locate_kdc.c (krb5_locate_srv_conf_1): New argument socktype
indicates what type of addrinfo entries to add.
(krb5int_locate_server): Change argument is_stream to socktype.
Pass the value to krb5_locate_srv_conf_1.
(krb5_locate_kdc): New argument socktype.
* sendto_kdc.c (krb5int_sendto_udp): New function, containing most
of the network code from krb5_sendto_kdc.
(krb5_sendto_kdc): Call it.
* accessor.c (krb5int_accessor): Set new sendto_udp field.
* os-proto.h (krb5_locate_kdc): Update prototype. Add forward
declaration for struct addrlist.
* t_locate_kdc.c (main): Update call to krb5_locate_kdc.
* locate_kdc.c: Include fake-addrinfo.h before k5-int.h.
(grow_list, krb5int_free_addrlist)
(add_addrinfo_to_list): Incorporate list-updating code from
add_sockaddr_to_list. Store an addrinfo pointer, and set the
ai_next field to null.
(add_host_to_list): New arg SOCKTYPE. Write port numbers into
buffers and let getaddrinfo fill in the sin*_port fields. Call
getaddrinfo twice, and use two loops to add entries to the
addrlist structure.
(add_sockaddr_to_list, set_port_num): Deleted.
(krb5_locate_srv_conf_1, krb5_locate_srv_dns_1): Pass extra arg
to add_host_to_list.
(krb5int_locate_server): New value 2 for is_stream arg means
accept both UDP and TCP.
* changepw.c: Include fake-addrinfo.h.
(krb5_locate_passwd, krb5_change_password): Update for addrlist
changes.
* sendto_kdc.c: Include fake-addrinfo.h.
(krb5_sendto_kdc): Update for addrlist changes. Skip any
addresses that are not SOCK_DGRAM.
* t_locate_kdc.c (stypename): New function.
(print_addrs): Update for addrlist changes. Print socket type
with address and port.
2002-04-12 Ken Raeburn <raeburn@mit.edu>
* lock_file.c (krb5_lock_file) [POSIX_FILE_LOCKS]: Make static
"zero" variable const.
* prompter.c (krb5_prompter_posix): Initialize 'i' and make it
volatile.
* locate_kdc.c (add_addrinfo_to_list) [TEST]: Print out socket
type before returning.
(add_host_to_list): Don't need to initialize err. Supply
getaddrinfo hint to select datagram addresses only. Delete AIX
bug workaround code.
2002-04-10 Danilo Almeida <dalmeida@mit.edu>
* locate_kdc.c (translate_ai_error), hst_realm.c
(krb5int_translate_gai_error): Test some EAI_ error definitions
so that we will also build correctly on Win32 (Winsock 2).
2002-03-26 Ken Raeburn <raeburn@mit.edu>
* hostaddr.c (FAI_PREFIX): Delete.
* hst_realm.c (FAI_PREFIX): Delete.
* localaddr.c [TEST || DEBUG]: Include fake-addrinfo.h, not
fake-addrinfo.c.
(FAI_PREFIX) [TEST || DEBUG]: Delete.
* locate_kdc.c: Include fake-addrinfo.h, not fake-addrinfo.c.
(FAI_PREFIX): Delete.
2002-02-20 Ken Raeburn <raeburn@mit.edu>
* localaddr.c: Include foreachaddr.c.
(printaddr, printifaddr, addr_eq, grow_or_free, get_ifconf,
get_lifconf, get_linux_ipv6_addrs, foreach_localaddr): Deleted.
* Makefile.in (localaddr.o): Update dependencies.
2002-02-10 Ken Raeburn <raeburn@mit.edu>
* localaddr.c (LINUX_IPV6_HACK) [__linux__&& KRB5_USE_INET6]:
Define macro.
(get_linux_ipv6_addrs) [LINUX_IPV6_HACK]: New function, reads
addresses from /proc/net/if_inet6.
(foreach_localaddr) [!HAVE_IFADDRS_H && !SIOCGLIFNUM &&
LINUX_IPV6_HACK]: Include ipv6 addresses.
2002-01-09 Ken Raeburn <raeburn@mit.edu>
* hst_realm.c (EAFNOSUPPORT): On Windows, translate to
WSAEAFNOSUPPORT.
2002-01-08 Ken Raeburn <raeburn@mit.edu>
* hst_realm.c (krb5int_get_fq_hostname): New function. Use
getaddrinfo instead of gethostbyname.
(krb5int_get_fq_local_hostname): New function.
(krb5_get_host_realm): Call it.
* def_realm.c (krb5_get_default_realm): Call it.
* Makefile.in (t_localaddr): Link against $(LIBS).
2001-12-05 Ezra Peisach <epeisach@mit.edu>
* sendto_kdc.c (krb5_sendto_kdc): Get rid of unecessary casts.
2001-10-24 Sam Hartman <hartmans@mit.edu>
* accessor.c (krb5int_accessor): Add fields for struct version 4
2001-10-17 Ken Raeburn <raeburn@mit.edu>
* locate_kdc.c (add_host_to_list): If sa_len field exists and is
zero, try to fill it in. Another AIX 4.3.3 bug workaround.
* sendto_kdc.c (krb5_sendto_kdc) [DEBUG]: More fprintf calls for
tracing through.
2001-10-10 Ezra Peisach <epeisach@mit.edu>
* localaddr.c (krb5_os_localaddr_profile): Cast argument to
isspace() to int.
2001-10-09 Ken Raeburn <raeburn@mit.edu>
* os-proto.h: Make prototypes unconditional.
2001-10-05 Ken Raeburn <raeburn@mit.edu>
* an_to_ln.c, c_ustime.c, ccdefname.c, init_os_ctx.c, ktdefname.c,
kuserok.c, localaddr.c, lock_file.c, prompter.c, promptusr.c,
read_pwd.c: Drop _MSDOS support.
* ccdefname.c, def_realm.c, free_hstrl.c, hst_realm.c,
ktdefname.c, localaddr.c, mk_faddr.c, read_pwd.c, sn2princ.c,
timeofday.c, ustime.c: Don't explicitly declare pointers FAR any
more.
2001-10-03 Ken Raeburn <raeburn@mit.edu>
* accessor.c, ccdefname.c, changepw.c, def_realm.c, free_hstrl.c,
genaddrs.c, hst_realm.c, init_os_ctx.c, ktdefname.c, localaddr.c,
prompter.c, realm_dom.c, realm_iter.c, sn2princ.c, timeofday.c,
ustime.c: Don't use KRB5_DLLIMP.
2001-09-29 Ken Raeburn <raeburn@mit.edu>
* locate_kdc.c (add_host_to_list): If address family in sockaddr
structure is zero, copy it in from the addrinfo structure. Bug
workaround for AIX 4.3.3.
2001-09-28 Ken Raeburn <raeburn@mit.edu>
* localaddr.c: Retrieve IPv6 addresses on Solaris 8.
(get_lifconf) [SIOCGLIFCONF]: New function.
(foreach_localaddr) [SIOCFLIGNUM]: New section, using new lifconf
and lifreq structures and related ioctls.
(Tprintf, Tperror): New macros. Print stuff if TEST is defined,
otherwise be silent but cause same evaluations to happen.
* localaddr.c (TEST || DEBUG): Include fake-addrinfo.c, not
fake-addrinfo.h.
2001-08-31 Ken Raeburn <raeburn@mit.edu>
* hostaddr.c (krb5_os_hostaddr): Don't use AI_DEFAULT.
* genaddrs.c (struct addrpair): New type.
(cvtaddr): New function. Fills in krb5_address structures
referencing port and address parts of a sockaddr. Converts
IPv4-mapped IPv6 addresses to plain IPv4 addresses.
(krb5_auth_con_genaddrs): Use sockaddr_storage for addresses. Use
addrpairs to pass to cvtaddr, then set up pointers to the elements
as needed.
2001-08-30 Ken Raeburn <raeburn@mit.edu>
* locate_kdc.c: Include fake-addrinfo.c instead of
fake-addrinfo.h.
(FAI_IMPLEMENTATION): Deleted.
2001-08-01 Ken Raeburn <raeburn@mit.edu>
* localaddr.c: Include ctype.h.
[TEST || DEBUG]: Defined FAI_PREFIX and include fake-addrinfo.h.
(foreach_localaddr) [TEST]: Change whitespace in some debug
messages.
(print_addr) [TEST]: Delete non-getnameinfo version of code.
Change some messages.
(struct localaddr_data): New field CUR_SIZE.
(allocate): Grow existing storage, if already allocated.
(krb5_os_localaddr_profile): New function. Looks up
"extra_addresses" in "libdefaults" section, separates on
whitespace, looks up addresses, adds them to the list.
(krb5_os_localaddr): Call krb5_os_localaddr_profile first; ignore
any errors it reports.
(krb5_os_localaddr) [DEBUG]: More debugging code.
* hostaddr.c (krb5_os_hostaddr): Only retry non-numeric lookup
after numeric lookup if AI_NUMERICHOST is nonzero.
2001-07-31 Ezra Peisach <epeisach@mit.edu>
* genaddrs.c: Use GETPEERNAME_ARG2_TYPE, GETPEERNAME_ARG3_TYPE
instead of assuming types.
* changepw.c: Use GETSOCKNAME_ARG3_TYPE instead of int in casts.
2001-07-26 Ezra Peisach <epeisach@mit.edu>
* gen_port.c (krb5_gen_portaddr): Add const to cast of
krb5_const_pointer to maintain const status.
2001-07-24 Ezra Peisach <epeisach@mit.edu>
* sn2princ.c: Do not cast away const char * in call to strdup.
2001-07-24 Jeffrey Altman <jaltman@columbia.edu>
* def_realm.c:
krb5_get_default_realm() required a profile file
even when KRB5_DNS_LOOKUP was defined.
2001-07-19 Ken Raeburn <raeburn@mit.edu>
* hostaddr.c: Include fake-addrinfo.h.
(FAI_PREFIX): Define macro.
(krb5_os_hostaddr): Use getaddrinfo, to get ipv6 support and
thread safety. Support numeric addresses as well.
* t_locate_kdc.c: New file.
* Makefile.in (t_locate_kdc.o, t_locate_kdc): New targets.
* locate_kdc.c: Include fake-addrinfo.h.
(FAI_PREFIX, FAI_IMPLEMENTATION): Define macros.
(get_port, add_sockaddr_to_list, add_host_to_list): Drop
gethostbyname/getservbyname support, always use getnameinfo, which
should be thread-safe.
(translate_ai_error, set_port_num): Now always defined.
(set_port_num): Only check for AF_INET6 if KRB5_USE_INET6.
2001-07-06 Ezra Peisach <epeisach@mit.edu>
* sn2princ.c (krb5_sname_to_principal): Cast tolower argument to int.
* hst_realm.c (krb5_get_host_realm): Cast argument to toupper and
tolower to int.
2001-06-21 Ezra Peisach <epeisach@mit.edu>
* t_std_conf.c (test_locate_kdc): Get rid of unused variable.
2001-06-20 Ezra Peisach <epeisach@mit.edu>
* t_std_conf.c (test_locate_kdc): Update to new krb5_locate_kdc
interface.
2001-06-19 Ken Raeburn <raeburn@mit.edu>
* locate_kdc.c (struct addrlist, ADDRLIST_INIT): Moved to
k5-int.h.
(krb5int_free_addrlist): Renamed from free_list; no longer
static.
(krb5_locate_srv_conf, krb5_locate_srv_dns, krb5int_locate_server,
krb5_locate_kdc): Use addrlist in interface.
* sendto_kdc.c (krb5_sendto_kdc): Use new struct addrlist
interface.
* changepw.c (krb5_locate_kpasswd): Use addrlist structure in
interface and implementation.
(krb5_change_password): Likewise.
* accessor.c (krb5int_accessor): Fill in free_addrlist function
pointer field.
* os-proto.h (krb5_locate_kdc): Update prototype.
2001-06-12 Ezra Peisach <epeisach@mit.edu>
* sn2princ.c, hst_realm.c, an_to_ln.c: Cast argument to
isupper()/isspace()/islower() to int.
* t_std_conf.c (test_locate_kdc): krb5_locate_kdc expects a struct
sockaddr *** as a third argument instead of sockaddr **.
2001-06-07 Ezra Peisach <epeisach@mit.edu>
* ktdefname.c (krb5_kt_default_name): Get rid of a variable that
was set in a conditional but never used.
2001-05-08 Danilo Almeida <dalmeida@mit.edu>
* locate_kdc.c (add_host_to_list): Initialize stack variable err
which would otherwise get returned without being set in certain
circumstances.
2001-05-07 Ken Raeburn <raeburn@mit.edu>
* locate_kdc.c (add_sockaddr_to_list) [TEST]: If getnameinfo is
available, use it instead of inet_ntoa to get the printable
address.
(add_host_to_list): Share declaration sections as much as
possible. Propagate errors back correctly from gethostbyname
path.
2001-04-26 Ken Raeburn <raeburn@mit.edu>
* hst_realm.c (T_TXT): Define if not defined by header files.
* locate_kdc.c (krb5int_locate_server): New function, replaces
functionality of krb5_locate_srv_conf and _dns, including checking
whether DNS lookup is desired.
(krb5_locate_srv_conf, krb5_locate_srv_dns): Define only if macro
TEST is defined. Added another level of indirection in the
address pointer argument.
(krb5_locate_srv_dns_1, krb5_locate_srv_conf_1,
translate_ai_error, get_port, struct addrlist, ADDRLIST_INIT,
grow_list, free_list, add_sockaddr_to_list, add_addrinfo_to_list,
set_port_num, add_host_to_list): New helper functions.
(krb5_locate_kdc): Added another level of indirection in the
address pointer argument. Call krb5int_locate_server.
(KPASSWD_PORTNAME): Deleted.
* os-proto.h (krb5_locate_kdc): Updated prototype.
* sendto_kdc.c (krb5_sendto_kdc): Updates for change in
krb5_locate_kdc interface.
* changepw.c (krb5_locate_kpasswd): Call krb5int_locate_server.
Add another level of indirection in address pointer. Now gives
preference to _kpasswd info from DNS over admin_server info in
config file, if kpasswd_server is not set.
(krb5_change_password): Use struct sockaddr_storage for all
automatic address variables. Ignore any non-IPv4 addresses
returned from krb5_locate_kpasswd; return an error if all
addresses are non-IPv4. Update for new krb5_locate_kpasswd
interface.
* accessor.c (krb5int_accessor): Set krb5_locate_server field.
2001-04-25 Ken Raeburn <raeburn@mit.edu>
* localaddr.c (socklen_t, socklen): Deleted; definitions now in
k5-int.h instead.
(foreach_localaddr): Use SIOCGIFNUM if it's available and
SIOCGSIZIFCONF is not (e.g., Solaris 7 and 8).
(print_addr) [!HAVE_GETNAMEINFO]: Only declare variable buf if
AF_INET6 is defined.
2001-03-31 Ken Raeburn <raeburn@mit.edu>
* t_gifconf.c: New file.
2001-03-10 Ezra Peisach <epeisach@mit.edu>
* def_realm.c: Move prototype for krb5_try_realm_txt_rr() to
os-proto.h.
* init_os_ctx.c: Include os-proto.h
* changepw.c, locate_kdc.c: Do not shadow sin() with local
variable name.
* os-proto.h: Add prototypes for krb5_try_realm_txt_rr() and the
obsolete krb5_secure_config_files().
2001-03-05 Ken Raeburn <raeburn@mit.edu>
* localaddr.c (krb5_os_localaddr): Don't look for -1 return value
from foreach_localaddr.
(print_addr): Only process AF_INET6 addresses if AF_INET6 is
defined.
* gmt_mktime.c (gmt_mktime): Handle years earlier than 1970.
(main) [TEST_LEAP]: New routine, driver for testing.
* Makefile.in (t_mktime): New target.
2001-03-05 Sam Hartman <hartmans@mit.edu>
* kuserok.c: Set max_username to 65 not 10. 65 should be enough
for a null terminated string from most current Unixes usernames.
The previous limit of 10 was too low. I don't know how the
previous limit was chosen nor why this is not a dynamic buffer.
2001-03-05 Tom Yu <tlyu@mit.edu>
* init_os_ctx.c: Get sys/ioctl.h for Solaris to get FIONBIO.
2001-03-03 Ken Raeburn <raeburn@mit.edu>
* init_os_ctx.c: If not Mac or Windows, define USE_RANDOM_DEVICE
and include sys/ioctl.h.
(krb5_os_init_context) [USE_RANDOM_DEVICE]: Read some bytes from
/dev/urandom or /dev/random and use them to re-seed the PRNG.
2001-02-05 Tom Yu <tlyu@mit.edu>
* prompter.c (krb5_prompter_posix): Fix up terminal modes if we're
interrupted. [reported by Booker Bense]
2000-12-18 Ken Raeburn <raeburn@mit.edu>
* Makefile.in (LCLINT, LCLINTOPTS): New variables.
(lclint-localaddr): New target.
* localaddr.c (grow_or_free, get_ifconf, make_addr): Split out
from foreach_localaddr and friends for simpler lclint analysis.
(socklen): New function.
(print_addr): Use getnameinfo if available.
(struct localaddr_data, count_addrs, allocate, add_addr,
make_addr): Define only if not testing.
(foreach_addr): Call new functions. Annotate for lclint.
2000-10-17 Ezra Peisach <epeisach@mit.edu>
* changepw.c: Cast length argument to recvfrom/sendto to int.
* os-proto.h: Moved extern definition of krb5_max_dgram_size,
krb5_max_skdc_timeout, krb5_skdc_timeout_shift,
krb5_skdc_timeout_1 here.
* accessor.c: Definition for krb5_max_dgram_size,
krb5_max_skdc_timeout, krb5_skdc_timeout_shift,
krb5_skdc_timeout_1 moved to os-proto.h
* osconfig.c: Changed definition for krb5_max_dgram_size,
krb5_max_skdc_timeout, krb5_skdc_timeout_shift,
krb5_skdc_timeout_1 to unsigned int.
* get_krbhst.c, init_os_context.c, locate_kdc.c, prompter.c:
Unsigned/signed int cleanup.
* read_pwd.c (krb5_read_password): Change size_return to unsigned
int *.
* sendto_kdc.c: Remove definition for krb5_max_dgram_size,
krb5_max_skdc_timeout, krb5_skdc_timeout_shift,
krb5_skdc_timeout_1. (moved to os-proto.h). Cast arguments to int
for send() and recv().
2000-10-09 Ken Raeburn <raeburn@mit.edu>
Support for getifaddrs() interface added in BSD.
* localaddr.c (printaddr, printifaddr) [HAVE_IFADDRS_H && DEBUG]:
New functions for debugging new ifaddrs code.
(addr_eq) [HAVE_IFADDRS_H]: New function, for comparing addresses
found with getifaddrs.
(foreach_localaddr) [HAVE_IFADDRS_H]: New implementation, relies
on C library function to retrieve data.
(foreach_localaddr) [!HAVE_IFADDRS_H && TEST]: Print info about
each address and why it might not be used.
(print_addr, main) [TEST]: Print out the local addresses.
* Makefile.in (t_localaddr): New target.
2000-09-26 Ezra Peisach <epeisach@mit.edu>
* an_to_ln.c: Unsigned vs signed int fixes.
* t_std_conf.c: Declare local functions static, do not shadow
sin() with local variable.
2000-08-31 Jeffrey Altman <jaltman@columbia.edu>
* locate_kdc.c: krb5_locate_srv_dns()
Ensure that res_search() is called with a query string
that is terminated by a '.' in order to disable the
expansion of dns-search lists.
2000-07-22 Tom Yu <tlyu@mit.edu>
* accessor.c: Add NEED_SOCKETS in order to get prototype for
krb5_locate_kdc().
2000-07-19 Danilo Almeida <dalmeida@mit.edu>
* accessor.c (krb5int_accessor): Add krb5int_accessor() to access
internal krb5 functions from outside the library (so that we don't
have to export them for the krb525 and gssapi libraries). The
goal is to make this function eventually do nothing.
* Makefile.in: Compile accessor.c.
2000-07-18 Ezra Peisach <epeisach@mit.edu>
* locate_kdc.c, hst_realm.c, def_realm.c, changepw.c: Include
os-proto.h for internal prototypes.
* os-proto.h: Prototypes for _krb5_use_dns_realm(),
_krb5_use_dns_kdc(), _krb5_conf_boolean().
* t_std_conf.c: Include k5-int.h for internal function prototypes.
2000-06-30 Ezra Peisach <epeisach@mit.edu>
* t_an_to_ln.c: Include <stdio.h> for prototypes.
* locate_kdc.c (krb5_locate_srv_dns): Remove unused variable.
* changepw.c, sendto_kdc.c, sn2princ.c: Add parentheses around
assignment used as truth value.
* ccdefname.c (get_from_os): Cast return from getuid() to long and
indicate use of format in sprintf.
2000-06-28 Ezra Peisach <epeisach@mit.edu>
* def_realm.c: Add newline at end of file.
* gmt_mktime.c: Define days_in_month as type int.
* locate_kdc.c (krb5_locate_srv_dns): Cleanup unused variables.
2000-06-23 Miro Jurisic <meeroh@mit.edu>
* init_os_ctx.c (os_get_default_config_files): Return ENOENT when
file is not found on MacOS (not ENFILE). Use Kerberos Preferences
library to locate the config files on Mac OS. Eliminated some
dead code.
2000-06-23 Nalin Dahyabhai <nalin@redhat.com>
* an_to_ln.c (do_replacement): Don't overflow buffers "in" or "out".
* hst_realm.c (krb5_try_realm_txt_rr): Don't overfill "host" when
malformed DNS responses are received.
* ccdefname.c (get_from_os): Don't overflow buffer "name_buf".
* kuserok.c (krb5_kuserok): Don't overflow buffer "pbuf".
2000-06-23 Ken Raeburn <raeburn@mit.edu>
* localaddr.c: Include stddef.h.
(foreach_localaddr): Check each address against previously used
addresses, and skip duplicates, in case multiple interfaces have
the same address. If called functions fail, drop out of loop and
return nonzero. Use SIOCGSIZIFCONF ioctl if available to get the
buffer size needed for SIOCGIFCONF, and skip the silly heuristics
if it returns a reasonable value.
(krb5_os_localaddr): Increment count of addresses to include null
pointer terminator. Delete check for zero count.
* locate_kdc.c (maybe_use_dns): Renamed from _krb5_use_dns. Now
takes an arg to indicate a key to look up in krb5.conf, falling
back to "dns_fallback", and an arg indicating the default value if
no config file entries match.
(_krb5_use_dns_realm): New routine; use "dns_lookup_realm" and
KRB5_DNS_LOOKUP_REALM setting.
(_krb5_use_dns_kdc): New routine; use "dns_lookup_kdc" and
KRB5_DNS_LOOKUP_KDC.
(krb5_locate_kdc): Call _krb5_use_dns_kdc.
* changepw.c (krb5_locate_kpasswd): Call _krb5_use_dns_kdc.
* def_realm.c (krb5_get_default_realm): Call _krb5_use_dns_realm.
* hst_realm.c (krb5_get_host_realm): Call _krb5_use_dns_realm.
2000-06-23 Alexandra Ellwood <lxs@mit.edu>
* ccdefname.c: Added support to store a krb5_principal in the os_context
along with the default ccache name (if known, this principal is the same
as the last time we looked at the ccache.
2000-05-09 Alexandra Ellwood <lxs@mit.edu>
*localaddr.c: Fixed the local_addr_fallback_kludge so that it actually does something.
Before that the error code it was handling was blowing it away in cleanup.
2000-04-29 Jeffrey Altman <jaltman@columbia.edu>
* hst_realm.c (krb5_get_host_realm)
remove the searchlist and defaultrealm _kerberos queries
2000-04-18 Danilo Almeida <dalmeida@mit.edu>
* prompter.c (krb5int_set_prompt_types): Set to actual value
intead of 0.
2000-4-13 Alexandra Ellwood <lxs@mit.edu>
* init_os_ctx.c: Added support to store a krb5_principal in the os_context
along with the default ccache name (if known, this principal is the same
as the last time we looked at the ccache.
2000-03-20 Miro Jurisic <meeroh@mit.edu>
* def_realm.c (krb5_free_default_realm): Added, use to free
result of krb5_get_default_realm
2000-03-15 Danilo Almeida <dalmeida@mit.edu>
* prompter.c: Add krb5int_set_prompt_types() and
krb5_get_prompt_types().
2000-03-14 Ken Raeburn <raeburn@mit.edu>
* init_os_ctx.c (os_get_default_config_files): Remove unused
variable.
* def_realm.c: Include netinet/in.h if available.
2000-02-25 Ken Raeburn <raeburn@mit.edu>
* localaddr.c (foreach_localaddr): Broken out from old
krb5_os_localaddr. Iterates over all active interface addresses,
invoking callback functions; knows nothing about Kerberos.
(count_addrs, allocate, add_addr): New callback functions.
(krb5_os_localaddr): Use the above.
(allocate): Make room for NULL value at the end.
2000-02-16 Ken Raeburn <raeburn@mit.edu>
* localaddr.c (krb5_os_localaddr): Dynamically grow buffer used
for SIOCGIFCONF until it appears to have been big enough.
Dynamically grow internal address pointer array as needed.
2000-02-11 Marshall Vale <mjv@mit.edu>
* init_os_ctx.c (os_get_default_config_files.c): Added new
file name "Kerberos Preferences" to the of valid configuration
file names on Mac OS. The others will be removed at a later
date.
2000-02-08 Marshall Vale <mjv@mit.edu>
* init_os_ctx.c (os_get_default_config_files.c): Added
Application Support folder to list of locations to look
for krb5 configuration file. Only looks at top level which
needs to be improved.
(GetMacProfileFileSpec): Added a parameter to declare which
folder constants to use for file spec creation. Previously it
had assumed just the Preferences folder.
2000-02-07 Scott McGuire <smcguire@mit.edu>
* changepw.c (krb5_locate_kpasswd): fixed memory trashing
caused by incorrect pointer arithmetic when assigning
DEFAULT_KPASSWD_PORT in DNS code also.
2000-02-04 Scott McGuire <smcguire@mit.edu>
* changepw.c (krb5_locate_kpasswd): fixed memory trashing
caused by incorrect pointer arithmetic when assigning
DEFAULT_KPASSWD_PORT in non-DNS code.
1999-12-03 Danilo Almeida <dalmeida@mit.edu>
* changepw.c: Define ETIMEDOUT for Windows.
1999-12-01 Ken Raeburn <raeburn@mit.edu>
* init_os_ctx.c (krb5_secure_config_files): Do define; always
return an error, but perform old functionality in case the error
is ignored. Delete when we can make a major version number
change.
1999-11-23 Ken Raeburn <raeburn@mit.edu>
* an_to_ln.c (default_an_to_ln): Avoid stomping byte after
supplied buffer. Thanks to Matt Crawford.
* init_os_ctx.c (os_init_paths): Delete SECURE argument; read the
value from the profile structure instead.
(krb5_os_init_context, krb5_get_profile): Don't pass SECURE
argument.
(os_init_paths, krb5_get_profile): Cast first arg to
profile_init.
(krb5_secure_config_files): Don't define.
1999-11-22 Miro Jurisic <meeroh@mit.edu>
* ccdefname.c (get_from_os): Replaced Kerberos5GlobalsLib calls
with CCAPI v3 calls
1999-11-02 Ken Raeburn <raeburn@mit.edu>
* localaddr.c (krb5_os_localaddr): Conditionalize INET6 support on
new KRB5_USE_INET6 macro.
1999-10-26 Wilfredo Sanchez <tritan@mit.edu>
* Makefile.in: Clean up usage of CFLAGS, CPPFLAGS, DEFS, DEFINES,
LOCAL_INCLUDES such that one can override CFLAGS from the command
line without losing CPP search patchs and defines. Some associated
Makefile cleanup.
1999-10-22 Ken Raeburn <raeburn@mit.edu>
* prompter.c (krb5_prompter_posix): Make ointrfunc, fd, and
errcode volatile.
* promptusr.c (krb5_os_get_tty_uio): Make ointrfunc and retval
volatile.
* read_pwd.c (krb5_read_password): Make ointrfunc volatile. Fix
volatile decl for readin_string (pointer is volatile, doesn't
point to volatile).
* changepw.c (krb5_change_password): Wait only two minutes, not
indefinitely, for a response from the kpasswd server.
1999-10-18 Ken Raeburn <raeburn@mit.edu>
* localaddr.c (krb5_os_localaddr): Don't bother trying to create
inet6 socket; any socket type will do.
1999-10-17 Ken Raeburn <raeburn@mit.edu>
* localaddr.c (krb5_os_localaddr): Raise buffer size to 10K.
Handle INET6 addresses. If INET6 support is built in but the
socket creation fails, fall back to INET.
1999-09-28 Ken Raeburn <raeburn@mit.edu>
* changepw.c (krb5_locate_kpasswd): Declare local variable i even
when DNS code is not in use.
(krb5_locate_srv_conf, krb5_locate_srv_dns): Delete declarations.
1999-09-21 Ken Raeburn <raeburn@mit.edu>
Changes from Jeffrey Altman to look up kpasswd server using DNS.
* changepw.c: (krb5_locate_kpasswd): New function, split out from
krb5_change_password. Calls krb5_locate_srv_dns if use of DNS is
desired, and krb5_locate_srv_conf to check config file.
(krb5_change_password): Call it to find the server.
* locate_kdc.c (krb5_locate_srv_conf): No longer static. Choose
default port numbers based on service name rather than a single
hard-coded value.
(krb5_locate_srv_dns): No longer static.
1999-09-17 Tom Yu <tlyu@mit.edu>
* def_realm.c: Patch from jaltman@columbia.edu to allow compiling
under non-Windows platforms with DNS lookup enabled.
1999-09-01 Danilo Almeida <dalmeida@mit.edu>
* kuserok.c (krb5_kuserok): Fix improper negation in
non-Unix localname check. Also fix calling convention
before this function is exported by the Windows DLL.
* localaddr.c (krb5_os_localaddr): Fix memset to clear
right address list. (Thanks to jaltman@columbia.edu).
1999-09-01 Ken Raeburn <raeburn@mit.edu>
* get_krbhst.c (krb5_get_krbhst): Fix double-indirection
confusion. Do actually copy string contents to newly allocated
storage.
1999-08-21 Danilo Almeida <dalmeida@mit.edu>
* localaddr.c (krb5_os_localaddr): Use multiple addresses, if
present, on Mac and Windows.
1999-08-10 Alexandra Ellwood <lxs@mit.edu>
* changepw.c (krb5_change_password):
Reorganized code so that krb5_change_password actually frees
everything it allocated on error. Also fixed some memory
leaks which happened even without an error occurring.
1999-08-09 Danilo Almeida <dalmeida@mit.edu>
* prompter.c (krb5_prompter_posix): Provide Win32 implementation
so that kinit and such work under Win32.
1999-08-06 Danilo Almeida <dalmeida@mit.edu>
* def_realm.c (krb5_get_default_realm):
* hst_realm.c (krb5_get_host_realm): Make sure we have FQDN
in the case where we use gethostname.
* def_realm.c (krb5_get_default_realm): Check that we have
a realm before trying to copy it (since profile_get_string
may return no error but not get anything).
* init_os_ctx.c (krb5_get_profile): Fix calling convention.
1999-08-05 Danilo Almeida <dalmeida@mit.edu>
* t_std_conf.c (test_get_krbhst): Use krb5_free_krbhst to
free buffers allocated by krb5_get_krbhst.
* locate_kdc.c (_krb5_use_dns): Add _krb_use_dns to abstract
away looking up of whether we use DNS or not in the profile.
* ktdefname.c (krb5_kt_default_name): Use profile_release_string
instead of free to free string allocated by profile_get_string.
* get_krbhst.c (krb5_get_krbhst): Copy results from profile_get_values
into malloc'ed buffers so we can safely free them later. Also call
profile_free_list on the original values.
* locate_kdc.c (krb5_locate_kdc):
* hst_realm.c (krb5_get_host_realm):
* def_realm.c (krb5_get_default_realm): Use _krb5_use_dns to figure
out whether to use DNS or not instead of directly reading the
profile in this routine.
* realm_dom.c (krb5_get_realm_domain):
* hst_realm.c (krb5_get_host_realm):
* def_realm.c (krb5_get_default_realm): Copy results of
profile_get_string into malloc'ed buffer so it can safely be free'd
later.
* locate_kdc.c (krb5_locate_srv_conf):
* def_realm.c (krb5_get_default_realm):
* changepw.c (krb5_change_password):
* an_to_ln.c (krb5_aname_to_localname): Use profile_free_list
to free values allocated by profile_get_values.
1999-08-04 Danilo Almeida <dalmeida@mit.edu>
* init_os_ctx.c (os_init_paths): Wrap use of ctx->profile_in_memory
with KRB5_DNS_LOOKUP. Use pointer value to determine whether to free
files by checking the files value rather than depending on the
return value.
1999-07-27 Miro Jurisic <meeroh@mit.edu>
* init_os_ctx.c (GetMacProfileFileSpec): removed bogus string conversion
1999-07-26 Miro Jurisic <meeroh@mit.edu>
* c_ustime.c (krb5_crypto_us_timeofday): Merged in changes from the
Mac_V2_0_derivatives branch -- microseconds support and guaranteed
monotonically increasing microseconds on MacOS
* init_os_ctx.c (os_get_default_config_files): Merged in changes from the
Mac_V2_0_derivatives branch -- NRL config file name
* init_os_ctx.c (krb5_get_profile): added krb5_get_profile
1999-07-22 Jeffrey Altman <jaltman@columbia.edu>
* init_os_ctx.c (os_init_paths)
If profile_init() is unable to open a profile and returns ENOENT,
remember in the context that the profile_in_memory and then
call profile_init() with a NULL filespec.
* def_realm.c (krb5_get_default_realm)
* hst_realm.c (krb5_get_host_realm)
* locate_kdc.c (krb5_locate_kdc)
Use the profile entry [libdefaults] dns_fallback to determine
if DNS SRV and TXT records should be used to find realms and
servers if they are not found in the profile.
1999-07-21 Ken Raeburn <raeburn@mit.edu>
* init_os_ctx.c (os_get_default_config_files): Fix some typos and
missed name changes in the patch Miro just checked in but forgot
to mention here, in which Mac filespecs are used instead of
filenames.
(krb5_free_config_files): Ditto.
1999-06-30 Ken Raeburn <raeburn@mit.edu>
* locate_kdc.c (krb5_locate_kdc): Kerberos admin service name is
"kerberos-adm", not "kadmin", so look up "_kerberos-adm._tcp" in
DNS.
1999-06-21 Ken Raeburn <raeburn@mit.edu>
and Jeffrey Altman and Ken Hornstein
* def_realm.c (MAXHOSTNAMELEN) [KRB5_DNS_LOOKUP]: Define if not
already defined.
(MAX_DNS_NAMELEN) [KRB5_DNS_LOOKUP]: New macro.
(krb5_get_default_realm): Return an error if an empty realm name
is found.
(krb5_get_default_realm) [KRB5_DNS_LOOKUP]: Use
krb5_try_realm_txt_rr to determine the realm of the local host or
domain.
* hst_realm.c [KRB5_DNS_LOOKUP]: Pull in some extra header files
for resolver functionality.
(MAX_DNS_NAMELEN): New macro.
(krb5_try_realm_txt_rr) [KRB5_DNS_LOOKUP]: New function; looks up
a TXT record.
(krb5_get_host_realm): Use MAX_DNS_NAMELEN for buffer size.
(krb5_get_host_realm) [KRB5_DNS_LOOKUP]: Use DNS lookup if config
file doesn't contain a match.
* locate_kdc.c [KRB5_DNS_LOOKUP]: Pull in some extra header files
for resolver functionality.
(MAXHOSTNAMELEN) [KRB5_DNS_LOOKUP]: Define if not already
defined.
(MAX_DNS_NAMELEN) [KRB5_DNS_LOOKUP]: New macro.
(krb5_locate_srv_conf): Renamed from krb5_locate_kdc; now static;
extra char* argument replaces fixed "kdc" in array of names to
look up in profile.
(krb5_locate_srv_dns) [KRB5_DNS_LOOKUP]: New function; looks up
SRV records, and returns addresses sorted by priority.
(krb5_locate_kdc): New function, calls above routines.
1999-06-16 Danilo Almeida <dalmeida@mit.edu>
* ccdefname.c (get_from_registry_indirect, try_dir, get_from_os):
Extra robustness to win32 code.
* init_os_ctx.c (krb5_get_config_files, krb5_free_config_files):
Add function to get config files being used for current
context with corresponding free function.
1999-06-16 Danilo Almeida <dalmeida@mit.edu>
* init_os_ctx.c (os_init_paths): Enhance win32 heuristics to use
environment variable (like Unix) and to use the registry
too. Will try executable's dir before windows dir if
not secure.
* ccdefname.c (get_from_os): Enhance win32 heuristics to use
registry properly, default to API: properly,
and to use temp dirs before the windows dir.
1999-06-11 Miro Jurisic <meeroh@mit.edu>
* init_os_ctx.c (os_init_paths): added NRL config file name correctly
(thanks dalmeida)
1999-06-09 Miro Jurisic <meeroh@mit.edu>
* c_ustime.c (krb5_crypto_us_timeofday): fixed Mac PPC #ifdef
1999-06-09 Miro Jurisic <meeroh@mit.edu>
* c_ustime.c (krb5_crypto_us_timeofday): #ifdefed microseconds on Mac to be
PPC-only
1999-06-09 Miro Jurisic <meeroh@mit.edu>
* c_ustime.c (AbsoluteToSecsNanosecs): Fixed the UInt64 division
* c_ustime.c (krb5_crypto_us_timeofday): now returning the correct value
1999-06-09 Miro Jurisic <meeroh@mit.edu>
* c_ustime.c (AbsoluteToSecsNanosecs): Fixed the UInt64 comparison
1999-06-09 Miro Jurisic <meeroh@mit.edu>
* net_read.c, net_write.c: now setting errno on Mac too
1999-06-09 Miro Jurisic <meeroh@mit.edu>
* c_ustime.c (krb5_crypto_us_timeofday, HaveAccurateTime,
AbsoluteToSecsNanosecs): Added support for microseconds or
better timers on the Mac when available
* c_ustime.c (krb5_crypto_us_timeofday): fixed usecs counting bug
(From Chas Williams)
* init_os_ctx.c (GetMacProfilePathname): removed hardcoded config file name
(From Chas Williams)
* init_os_ctx.c (os_init_paths): added NRL config file name
(From Chas Williams)
Tue Jun 8 15:26:21 1999 Alexandra Ellwood <lxs@mit.edu>
* changepw.c: Changed errno to SOCKET_ERRNO/SOCKET_SET_ERRNO
after socket operations to work with new Mac OT SocketsLib.
* hst_realm.c: Changed errno to SOCKET_ERRNO/SOCKET_SET_ERRNO
after socket operations to work with new Mac OT SocketsLib.
* localaddr.c: Changed errno to SOCKET_ERRNO/SOCKET_SET_ERRNO
after socket operations to work with new Mac OT SocketsLib.
* net_read.c: Changed errno to SOCKET_ERRNO/SOCKET_SET_ERRNO
after socket operations to work with new Mac OT SocketsLib.
* net_write.c: Changed errno to SOCKET_ERRNO/SOCKET_SET_ERRNO
after socket operations to work with new Mac OT SocketsLib.
* sn2princ.c: Changed errno to SOCKET_ERRNO/SOCKET_SET_ERRNO
after socket operations to work with new Mac OT SocketsLib.
Mon May 10 15:26:20 1999 Danilo Almeida <dalmeida@mit.edu>
* Makefile.in: Do win32 build in subdir.
Fri May 7 18:04:48 1999 Danilo D Almeida <dalmeida@mit.edu>
* locate_kdc.c (krb5_locate_kdc): Fixed typo.
Fri May 7 14:39:08 1999 Theodore Y. Ts'o <tytso@mit.edu>
* locate_kdc.c (krb5_locate_kdc): Return KRB5_REALM_UNKNOWN if
profile_get_values returns PROF_NO_RELATION or
PROF_NO_SECTION.
1999-04-01 Theodore Ts'o <tytso@rsts-11.mit.edu>
* prompter.c (krb5_prompter_posix): Update to use new prompter
prototype which takes an extra argument for the window
titlebar name. (From Frank Cusack) [krb5-kdc/662]
Thu Mar 25 18:45:48 1999 Tom Yu <tlyu@mit.edu>
* promptusr.c (krb5_os_get_tty_uio): getchar() returns int, not
char.
1999-03-12 Theodore Ts'o <tytso@rsts-11.mit.edu>
* init_os_ctx.c (krb5_os_init_context, krb5_os_free_context):
Sample the ccdefault name at the time when we create the
context. Free the ccdefault name when we free the os
context.
* ccdefname.c (krb5_cc_default_name, krb5_cc_set_default_name):
Check to make sure the context is valid and return an
error if it isn't.
1999-03-11 Theodore Ts'o <tytso@rsts-11.mit.edu>
* ccdefname.c (get_from_os): Add missing call to get_from_registry
under windows.
Fri Feb 19 20:49:18 1999 Tom Yu <tlyu@mit.edu>
* ccdefname.c (get_from_os): Add missing close-paren; also replace
#elif just in case.
Fri Feb 5 01:05:43 1999 Theodore Y. Ts'o <tytso@mit.edu>
* ccdefname.c (get_from_os): On the Windows platform,
automatically generate the correct default cache name
based on what krb5_cc_dfl_ops is set to.
* realm_dom.c (krb5_get_realm_domain): Add modifiers so that this
function can get exported in a Windows DLL.
Tue Feb 2 16:01:58 1999 Tom Yu <tlyu@mit.edu>
* read_pwd.c: Remove reference to CPP symbol "unix".
1999-01-29 Theodore Ts'o <tytso@rsts-11.mit.edu>
* ccdefname.c: Add a new function krb5_cc_set_default_name(),
which is used set the default ccname stored in the
krb5_context. All of the OS-specific functions to
determine the default ccname is moved to this function.
The krb5_cc_default_name() function now just reads the
default ccname from the os_context, and will call
krb5_cc_set_default_name() to set the default ccname if
necessary.
* t_std_conf: Added functions to test krb5_cc_default_name and
krb5_cc_set_default_name(). Fixed the call to
krb5_locate_kdc to support the new variables added by
the Cygnus initial ticket API merge.
1999-01-27 Theodore Ts'o <tytso@rsts-11.mit.edu>
* localaddr.c: On the macintosh, check to see if getmyipaddr
returns NULL, and return an error in that case.
Tue Jan 5 00:11:49 1999 Theodore Y. Ts'o <tytso@mit.edu>
* sn2princ.c (krb5_sname_to_principal): Windows NT5's broken
resolver gratuitously tacks on a trailing period to the
hostname (at least it does in Beta2). Deal with this
brain-damage.
Tue Dec 22 01:22:24 1998 Theodore Y. Ts'o <tytso@mit.edu>
* changepw.c: Add a test for _WIN16 as well as _WIN32 for sockets
workaround (in case we do want to build the 16 bit library
again someday)
Sat Dec 5 01:12:25 1998 Theodore Y. Ts'o <tytso@mit.edu>
* localaddr.c: Added missing KRB5_DLLIMP and KRB5_CALLCONF macros
from the function definition.
1998-12-04 Theodore Ts'o <tytso@rsts-11.mit.edu>
* realm_iter.c: New function which iterators over the realms in
the krb5.conf file.
1998-11-13 Theodore Ts'o <tytso@rsts-11.mit.edu>
* Makefile.in: Set the myfulldir and mydir variables (which are
relative to buildtop and thisconfigdir, respectively.)
* lock_file.c (krb5_lock_file): Fix bug where if the fcntl-style
lock succeeded, we should return immediately instead of
trying to do flock-style locking. Also check for
HAVE_FCNTL_H and defined(F_SETLKW) and
defined(F_RDLCK) instead of POSIX_FILE_LOCKS (so we
can get rid of a non-standard autoconf symbol.)
1998-10-31 Theodore Ts'o <tytso@rsts-11.mit.edu>
* lock_file.c (krb5_lock_file): Move the flock() fallback code
from fcc_maybe.c into krb5_lock_file(). This works around
the bug that certain lossy operating systems (mainly from
our good friends at SunSoft) do not support
POSIX_FILE_LOCKS on all filesystems (namely tmpfs) but do
support flock on those filesystems.
1998-10-27 Marc Horowitz <marc@mit.edu>
* c_ustime.c, localaddr.c: moved here from lib/crypto
* ktdefname.c (krb5_kt_default_name): there is code in the tree
(notably, the admin server code) which uses globals to set the
keytab which will be used by gssapi. this is gross, and we need a
better answer. However, even that didn't work if there was an env
var or krb5.conf variable, since those override krb5_defkeyname.
Add a new global, krb5_overridekeyname, which really does override
all the other keytab locators. While I'm at it, make the buffer
overflow checks sane.
Fri Sep 25 22:32:16 1998 Theodore Y. Ts'o <tytso@mit.edu>
* ccdefname.c: We shouldn't try to use the CCache API on Unix
systems. (The maze of #ifdef's was confusing.)
Tue Sep 1 15:44:11 1998 Theodore Y. Ts'o <tytso@mit.edu>
* ccdefname.c (krb5_cc_default_name): Changed the PC version to
use the CCache API by default. Removed the old Macintosh
code that had been commented out. (If we need to
ressurect it, we'll get it from CVS.)
Fri Aug 21 17:37:00 1998 Miro Jurisic <meeroh@mit.edu>
* ccdefname.c.c (krb5_cc_default_name): Changed the Mac
version to use CCache API by default.
Thu Jul 16 09:59:34 1998 Ezra Peisach <epeisach@mit.edu>
* changepw.c (krb5_change_password): Changes casts from char * to
krb5_octet * to match krb5_address structure elements.
Wed Jul 1 17:54:56 1998 Theodore Y. Ts'o <tytso@mit.edu>
* macsock.c(inet_ntoa): Fix obvious bug where we were returning a
pointer to an automatic variable which should have been a
static. Fortunately nothing in the Mac tree was using
inet_ntoa()....
1998-05-06 Theodore Ts'o <tytso@rsts-11.mit.edu>
* t_std_conf.c (main): POSIX states that getopt returns -1
when it is done parsing options, not EOF.
Wed Sep 24 12:10:29 1997 Marshall Vale <mjv@mit.edu> (Checked in 1/13/98)
* init_os_ctx.c: Changed all PBGetCatInfo to PBGetCatInfoSync for new
Universal Headers.
* ccdefname.c: Changed all PBGetCatInfo to PBGetCatInfoSync for new
Universal Headers.
Fri Feb 27 18:03:33 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
* Makefile.in: Changed thisconfigdir to point at the lib/krb5
directory, since we've moved the configure.in tests in
this directory to the toplevel lib/krb5 configure.in
Wed Feb 18 16:24:39 1998 Tom Yu <tlyu@mit.edu>
* Makefile.in: Remove trailing slash from thisconfigdir. Fix up
BUILDTOP for new conventions.
Mon Feb 2 17:02:19 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
* Makefile.in: Define BUILDTOP and thisconfigdir in the Makefile
Fri Jan 30 15:56:15 1998 Tom Yu <tlyu@mit.edu>
* changepw.c (krb5_change_password): KRB5_USE_INET ->
HAVE_NETINET_IN_H.
Fri Jan 2 21:28:56 1998 Tom Yu <tlyu@mit.edu>
* locate_kdc.c (krb5_locate_kdc): Check return of
malloc. [krb5-libs/518]
* changepw.c (krb5_change_password): Check return of
malloc. [krb5-libs/518]
Tue Dec 16 11:00:18 1997 Ezra Peisach <epeisach@mit.edu>
* locate_kdc.c (krb5_locate_kdc): Free hostlist array elements
when finished with them.
Sat Dec 6 23:12:23 1997 Ezra Peisach <epeisach@mit.edu>
* locate_kdc.c (krb5_locate_kdc): Get rid of extra krb5_xfree
which caused freeing of memory twice.
Sat Dec 6 02:34:50 1997 Tom Yu <tlyu@mit.edu>
* Makefile.in: Add changepw.c, prompter.c.
* changepw.c: New file; Cygnus password changing protocol.
* locate_kdc.c: Add parameter to indicate master KDC.
* os-proto.h: Reflect changes to locate_kdc.
* prompter.c: New file; Cygnus initial creds.
* sendto_kdc.c: Add parameter to indicate master KDC.
Mon Oct 6 11:40:11 1997 Ezra Peisach <epeisach@kangaroo.mit.edu>
* t_std_conf.c (main): Call krb5_free_context when done.
Wed Oct 1 04:58:34 1997 Tom Yu <tlyu@mit.edu>
* configure.in: Punt some things that are otherwise gotten from
include/krb5/configure.in.
* gmt_mktime.c: Get k5-int.h to get some autoconf symbols.
Tue Sep 30 19:57:27 1997 Tom Yu <tlyu@mit.edu>
* timeofday.c: Replaace erroneously named POSIX_TYPES and timetype
with plain old time_t, since we're using AC_CHECK_TYPE now to
handle it.
Thu Sep 25 21:24:54 1997 Tom Yu <tlyu@mit.edu>
* mk_faddr.c: Replace KRB5_USE_INET with something more sane.
* port2ip.c: Replace KRB5_USE_INET with something more sane.
* os-proto.h: Replace KRB5_USE_INET with something more sane.
* locate_kdc.c: Replace KRB5_USE_INET with something more sane.
* genaddrs.c (krb5_auth_con_genaddrs): Replace KRB5_USE_INET with
something more sane.
* gen_port.c (krb5_gen_portaddr): Replace KRB5_USE_INET with
something more sane.
* full_ipadr.c: Replace KRB5_USE_INET with something more sane.
Thu Sep 18 17:56:00 1997 Tom Yu <tlyu@mit.edu>
* hst_realm.c: Replace USE_STRING_H with something more sane.
Mon Sep 15 15:21:12 1997 Ezra Peisach <epeisach@mit.edu>
* ccdefname.c (krb5_cc_default_name): Returns a const char *.
Sat Aug 16 10:11:20 1997 Ezra Peisach <epeisach@kangaroo.mit.edu>
* gmt_mktime.c (days_in_month): Now const.
Originally by raeburn@cygnus.com from the Kerbnet release
Tue Feb 25 00:29:33 1997 Richard Basch <basch@lehman.com>
* read_pwd.c: Define Windows interface for krb5_read_password
* win-pwd.rc: Resource file for Windows password dialog box
* win-pwd.h: Support definitions for Windows krb5_read_password
Sat Feb 22 22:41:02 1997 Richard Basch <basch@lehman.com>
* Makefile.in: Use some of the new library list build rules in
win-post.in
Fri Feb 21 20:06:55 1997 Ezra Peisach <epeisach@mit.edu>
* def_realm.c: Remove extern declaration of un-used krb5_config_file.
Fri Feb 7 11:11:18 1997 Richard Basch <basch@lehman.com>
* mk_faddr.c (krb5_make_fulladdr): Add FAR declarations (win16)
Thu Nov 21 11:55:16 EST 1996 Richard Basch <basch@lehman.com>
* Makefile.in: win32 build
* ccdefname.c, def_realm.c, free_hstrl.c, genaddrs.c, hst_realm.c,
init_os_ctx.c, ktdefname.c, localaddr.c, sn2princ.c, timeofday.c,
ustime.c
DLL export several more common functions (see lib/krb5.def
for the full list of functions exported)
Thu Feb 6 15:46:24 1997 Tom Yu <tlyu@mit.edu>
* Makefile.in:
* configure.in: Update to new program build procedure.
Thu Jan 2 17:19:11 1997 Tom Yu <tlyu@mit.edu>
* configure.in: Update to new library build procedure.
Wed Nov 13 02:53:31 1996 Tom Yu <tlyu@mit.edu>
* osconfig.c: Add warning re: global variables.
* ktdefname.c, osconfig.c: Revert previous kt_default_name
changes.
* ktdefname.c (krb5_kt_default_name): Fix a few memory-leak type
problems in previous changes.
Tue Nov 12 22:07:55 1996 Tom Yu <tlyu@mit.edu>
* osconfig.c: Remove krb5_defkeyname to catch other things that
may break.
* ktdefname.c (krb5_kt_default_name): Change logic to no longer
use a global variable; also add krb5_kt_set_default_name() to
allow for the changing of the default keytab name in the context.
Wed Nov 6 16:24:56 1996 Theodore Y. Ts'o <tytso@mit.edu>
* init_os_ctx.c (os_init_paths): Don't ignore errors found from
parsing the config file. Currently, we return an error if
the profile isn't found. In the future we can maybe do
something better with intelligent defaulting if krb5.conf
doesn't exist, but we don't have this today.
Thu Aug 22 15:19:47 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
* an_to_ln.c (db_an_to_ln): Remove references to dead BERK_DB_DBM
code.
Tue Jul 30 19:15:55 1996 Sam Hartman <hartmans@tertius.mit.edu>
* Makefile.in (check-unix): Comment out an_2_ln tests that use
database.
* an_to_ln.c (krb5_aname_to_localname): Make the db lookup verison
of aname_2_localname optional.
Sun Jul 28 22:39:12 1996 Tom Yu <tlyu@mit.edu>
* an_to_ln.c (aname_do_match): #elif HAVE_REGEXP_H should have
been HAVE_REGEXPR_H
Fri Jul 26 15:58:32 1996 Marc Horowitz <marc@mit.edu>
* configure.in, an_to_ln.c (do_replacement, aname_do_match): use
the compile() function in -lgen on solaris. Check for the
relevant stuff at configure-time
Fri Jul 12 21:38:15 1996 Marc Horowitz <marc@mit.edu>
* ktdefname.c (krb5_kt_default_name): allow the default keytab name
to be specified in the config file.
Wed Jun 12 01:12:32 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
* net_read.c (krb5_net_read):
* net_write.c (krb5_net_write): In case of an error, on Windows
machines, set errno from SOCKET_ERRNO, since the interface
assumes the error is passed back the errno global
varaible. This really needs to be fixed sometime...
* read_msg.c: If ECONNABORTED is not defined, try using the
Winsock version of the error code (WSAECONNABORTED).
Mon Jun 10 21:48:45 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
* read_pwd.c:
* promptusr.c:
* lock_file.c:
* kuserok.c:
* ktdefname.c (krb5_kt_default_name):
* init_os_ctx.c (os_init_paths):
* ccdefname.c:
* an_to_ln.c (db_an_to_ln): Change _WINDOWS to _MSDOS, and add
check for _WIN32.
Thu Apr 18 16:24:44 1996 Theodore Y. Ts'o <tytso@mit.edu>
* macsock.c (getsockname, getpeername): Correctly implement
getsockname(), so it does getsockname(), not
getpeername(), and add the function getpeername().
Sat May 11 10:08:15 1996 Ezra Peisach <epeisach@kangaroo.mit.edu>
* configure.in: Need to include sys/types.h before regexp.h in
test to see if regcomp works.
Add V5_USE_SHARED_LIB for the tests that are built.
Tue Apr 30 17:51:47 1996 Ken Raeburn <raeburn@cygnus.com>
* configure.in: Test that regcomp actually works.
* Makefile.in (check-unix): Use $(RM).
* t_an_to_ln.c (main): Print principal name when an error is
detected.
Thu Apr 11 22:15:44 1996 Theodore Y. Ts'o <tytso@dcl>
* ustime.c (krb5_us_timeofday): When doing the time offset
adjustments, make sure the microseconds field doesn't go
negative.
Thu Mar 28 17:20:12 1996 Theodore Y. Ts'o <tytso@dcl>
* DNR.c: Replace eight-year-old version of this file with the
latest version from the Code Warrior MacTCP files.
* macsock.c: Use new MacTCP header files.
Wed Mar 27 18:31:44 1996 Theodore Y. Ts'o <tytso@dcl>
* macsock.c (gethostbyname, gethostbyaddr): Use universal
procedure pointers (UPP), which are required on the Mac
Power PC.
Mon Mar 18 21:49:39 1996 Ezra Peisach <epeisach@kangaroo.mit.edu>
* configure.in: Add KRB5_RUN_FLAGS
* Makefile.in: Use runtime flags.
Mon Mar 18 17:30:54 1996 Ezra Peisach <epeisach@kangaroo.mit.edu>
* sn2princ.c (krb5_sname_to_principal): Add casting to avoid warnings.
Mon Mar 18 14:18:58 EST 1996 Richard Basch <basch@lehman.com>
* sn2princ.c: Do not try to re-assign const variables.
Sun Mar 17 20:42:17 1996 Ezra Peisach <epeisach@mit.edu>
* configure.in: Add USE_ANAME, KRB5_LIBRARIES
* Makefile.in: Properly use libraries as specified by configure
Wed Mar 13 13:11:49 1996 Ezra Peisach <epeisach@kangaroo.mit.edu>
* t_std_conf.c: Include string.h
Thu Feb 29 16:14:46 1996 Theodore Y. Ts'o <tytso@dcl>
* sendto_kdc.c (krb5_sendto_kdc): Take out calls to
SOCKET_INITIALIZE and SOCKET_CLEANUP. This gets done in
win_glue.c, and we only need to do this once. (XXX What
about Macintosh?)
Tue Feb 27 18:48:03 1996 Theodore Y. Ts'o <tytso@dcl>
* hostaddr.c (krb5_os_hostaddr): Use #define NEED_SOCKETS instead
of #including <netdb.h> (this breaks under windows).
Mon Feb 26 17:04:26 1996 Theodore Y. Ts'o <tytso@dcl>
* promptusr.c: Don't compile promptusr for Windows or Macintosh.
Sat Feb 24 18:57:56 1996 Theodore Y. Ts'o <tytso@dcl>
* ktdefname.c (krb5_kt_default_name): Under Windows, assume that
the keytab file is located in the Windows directory.
Thu Feb 22 13:16:16 1996 Ezra Peisach <epeisach@kangaroo.mit.edu>
* Makefile.in (check-unix): Set LD_LIBRARY_PATH for kdb5_anadd.
* hostaddr.c (krb5_os_hostaddr): Set magic number in structure.
* full_ipadr.c (krb5_make_full_ipaddr): Set magic number in structure.
Sat Feb 17 00:05:38 1996 Theodore Y. Ts'o <tytso@pao.MIT.EDU>
* def_realm.c (krb5_get_default_realm): If the configuration file
does not exist (context->profile == NULL) return
KRB5_CONFIG_CANTOPEN; if the default realm is not defined
in the configuration file, return an error message saying
so. These changes just make the diagnostic error
messages more clear.
Thu Jan 11 18:32:54 1996 Ezra Peisach (epeisach@paris)
* Makefile.in (check-unix): Ultrix test does not support -x.
Fri Jan 5 09:00:47 1996 Ezra Peisach <epeisach@kangaroo.mit.edu>
* locate_kdc.c (krb5_locate_kdc): Add parrentheses for assignment
in conditional. (gcc -Wall)
* init_os_ctx.c (krb5_os_init_context): Remove unused variables
* an_to_ln.c (aname_do_match): Initialize local variable before
referenced.
Thu Jan 4 22:23:04 1996 Theodore Y. Ts'o <tytso@dcl>
* hostaddr.c (krb5_os_hostaddr): New function which takes a
hostname and returns a list of krb5 addresses. (This is
basically a glue routine that converts the result of
gethostbyname() to krb5 addresses.)
Thu Dec 21 17:51:58 1995 Theodore Y. Ts'o <tytso@dcl>
* Makefile.in (t_an_to_ln): Use $(LD) instead of $(CC) to link
final executables, so that we can more easily use purify.
* hst_realm.c (krb5_get_host_realm): Eliminate memory leak; realm
was already being allocated by the profile library; no
reason to reallocate it again.
Wed Nov 15 10:53:16 1995 <tytso@rsts-11.mit.edu>
* promptusr.c: New function for doing generic tty input and output.
Eventually read_password should use this function.
Wed Nov 15 20:40:03 1995 Mark Eichin <eichin@cygnus.com>
* lock_file.c (krb5_lock_file): initialize lock_arg to a copy of a
static (thus zero) struct flock, to avoid panic'ing sunos 4.1.4.
Sun Nov 12 05:31:21 1995 Mark W. Eichin <eichin@cygnus.com>
* def_realm.c (krb5_get_default_realm): check for PROF_NO_PROFILE
and return KRB5_CONFIG_CANTOPEN instead of BADFORMAT so that the
user in the end knows what is going on.
Mon Oct 9 19:05:24 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
* ktdefname.c (krb5_kt_default_name): If profile_secure flag is
set in the context then do not allow changing the location
of the default keytab with an environment variable.
Fri Oct 6 22:04:57 1995 Theodore Y. Ts'o <tytso@dcl>
* Makefile.in: Remove ##DOS!include of config/windows.in.
config/windows.in is now included by wconfig.
Thu Oct 5 07:49:26 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
* init_os_ctx.c (krb5_secure_config_files): New function that
will set flag and path to prevent user from overriding
configuration files with environment variables.
Mon Oct 2 17:36:38 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
* init_os_ctx.c (krb5_os_init_context): Put back in the
KRB5_CONFIG environment before setting to default.
Tue Sep 26 22:46:01 1995 Mark Eichin <eichin@cygnus.com>
* init_os_ctx.c (krb5_os_init_context): use profile_init_path for
unix, and DEFAULT_PROFILE_PATH.
Fri Sep 29 16:31:47 1995 Theodore Y. Ts'o <tytso@dcl>
* osconfig.c: Remove krb5_lname_file; it's not used any more.
Mon Sep 25 16:58:17 1995 Theodore Y. Ts'o <tytso@dcl>
* Makefile.in: Removed "foo:: foo-$(WHAT)" lines from the
Makefile.
Fri Sep 22 15:57:33 1995 Mark Eichin <eichin@cygnus.com>
* write_msg.c (krb5_write_message): check the real length
variable, not the net version.
Wed Sep 20 12:00:00 1995 James Mattly <mattly@fusion.com>
* macsock.c: Added TCP streams to the emulation package. gethostname
now no longer returns true cannonical hostnames.
Wed Sep 13 11:01:18 1995 Keith Vetter (keithv@fusion.com)
* Makefile.in: had to define away DBFLAGS for the PC.
Mon Sep 11 17:46:18 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
* genaddrs.c (krb5_auth_con_genaddrs): Replace function
declaration back to int instead of SOCKET due to prototype
mismatching.
Sun Sep 10 12:00:00 1995 James Mattly <mattly@fusion.com>
* ustime.c: use the version of getTimeZoneOffset in :os:crypto: for
_MACINTOSH.
Wed Sep 6 12:00:00 1995 James Mattly <mattly@fusion.com>
* localaddr.c changed name to oslocaladdr.c for metrowerks project
file management.
* ustime.c: changed mac version of krb5_crypto_us_timeofday to compile
with contemporary header files for metrowerks
* macsock.c: added tcp stream support to suppliment the udp. Added
getsockname. Fixed gethostname to stop appending '.' to the
end of a connonical hostname.
* net_write.c: need to cast file descriptors to SOCKETs
* net_read.c: need to cast file descriptors to SOCKETs
* krbfileio.c: mac doesn't support fsync, define the usage out
* init_os_cxt.c: move the default location of the krb conf file to
the preferences folder. Added some routines to take a
mac FSSpec and turn it into a mac pathname string.
* hst_realm.c: assign a NULL to retrealms to clean up a warning.
* genaddrs.c: support getsockname from macsock
* ccdefname.c: move the cred cache to the preferneces folder for mac
* an_to_ln.c: turn functions off because I don't have a dbm library
* timeofday.c: make krb5_timeofday use krb5_crypto_us_timeofday to
incorperate the epoch difference between mac and unix.
Fri Sep 1 00:47:27 1995 Theodore Y. Ts'o <tytso@dcl>
* Makefile.in (check-unix): Add a test case to make sure
krb5_get_host_realm does something sane when passed in a
hostname which doesn't have a default domain.
* hst_realm.c (krb5_get_host_realm): If an hostname does not have
a domain, don't try to get a domain default (which
results in a strange error being returned).
* toffset.c: Added new file which implements the abstract
interfaces for manipulating the time offset fields in the
os context.
* ustime.c (krb5_us_timeofday): Add support for using the time
offset fields in the os context.
* timeofday.c (krb5_timeofday): Add support for using the time
offset fields in the os context.
* init_os_ctx.c (krb5_os_init_context): Initialize the time offset
and flags fields in the os context.
Thu Aug 31 17:24:48 EDT 1995 Paul Park (pjpark@mit.edu)
* t_an_to_ln.c - Translate until error and return status.
* Makefile.in - Test aname_to_lname under check-unix.
Thu Aug 24 18:56:35 1995 Theodore Y. Ts'o <tytso@dcl>
* .Sanitize: Update file list.
Wed Aug 16 02:45:19 1995 Chris Provenzano <proven@mit.edu>
* lock_file.c (krb5_lock_file()), unlck_file.c (krb5_unlock_file()):
Pass the fd in instead of converting it from FILE *.
Fri Aug 4 22:51:15 1995 Tom Yu <tlyu@dragons-lair.MIT.EDU>
* kuserok.c (krb5_kuserok): Add parens to shut up gcc -Wall
* genaddrs.c (krb5_auth_con_genaddrs): Add parens to shut up gcc
-Wall
* an_to_ln.c: Include ctype.h to get some prototypes; also add
parens to shut up gcc -Wall
Fri Jul 28 23:28:11 1995 Sam Hartman <hartmans@tertius.mit.edu>
* sn2princ.c (krb5_sname_to_principal): GDon't use default realm
just because we are on local machine. Instead, go through normal
translations.
Fri Jul 7 16:32:41 EDT 1995 Paul Park (pjpark@mit.edu)
* Makefile.in - Find com_err in TOPLIBD.
Thu Jul 6 17:26:03 1995 Tom Yu <tlyu@lothlorien.MIT.EDU>
* localaddr.c: moved to lib/crypto/os; just a stub here.
* ustime.c: moved to lib/crypto/os; just a stub here.
Thu Jul 6 09:56:56 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
* Makefile.in (clean): Remove t_an_to_ln.o
Wed July 5 15:52:31 1995 James Mattly <mattly@fusion.com>
* an_to_ln.c added _MACINTOSH conditions
* genaddrs.c added HAS_MACSOCK_H conditions
* krbfileio.c added THREEPARAMOPEN
* kuserok.c added THREEPARAMOPEN
* macsock.c added stub for gethostnameA
* mk_faddr.c added HAS_MACSOCK_H conditions
* read_pwd.c added _MACINTOSH condition
* sys_log.c added _MACINTOSH condition
Fri Jun 30 14:44:17 EDT 1995 Paul Park (pjpark@mit.edu)
* an_to_ln.c - Add profile logic to aname_to_lname. We can now
specify databases, rules and explicit mappings to convert
between auth name and local name.
* t_an_to_ln.c - Rudimentary test procedure. Needs work to be automatic
* configure.in - Add --with-aname-dbm to select between Berkeley and
DBM aname database format.
* Makefile.in - Add definitions to select aname rules.
Tue Jun 27 15:48:41 EDT 1995 Paul Park (pjpark@mit.edu)
* read_pwd.c(intr_routine) - Add signal name argument to signal handler
to conform to prototype.
Sat Jun 10 23:07:27 1995 Tom Yu (tlyu@dragons-lair)
* genaddrs.c: krb5_auth_context redefinitions
Fri Jun 9 22:08:33 1995 Theodore Y. Ts'o <tytso@dcl>
* gmt_mktime.c (gmt_mktime): Change assertion to check to make
sure that the day of the month is >= 1, not 0.
Fri Jun 9 19:34:29 1995 <tytso@rsx-11.mit.edu>
* configure.in: Remove standardized set of autoconf macros, which
are now handled by CONFIG_RULES.
Wed Jun 7 14:43:56 1995 <tytso@rsx-11.mit.edu>
* def_realm.c (krb5_get_default_realm), get_krbhst.c
(krb5_get_krbhst), hst_realm.c (krb5_get_host_realm),
init_os_ctx.c (krb5_os_init_context), osconfig.c,
realm_dom.c (krb5_get_realm_domain): Remove old ifdef'ed
code which read in krb.conf and krb.realms.
* read_pwd.c (krb5_read_password): Remove old #ifdef notdef code.
Significantly simplified and cleaned up function.
Removed BSD 4.3 compatibility code. (If we ever need
to make this work on a non-POSIX system, we'll supply
POSIX termios emulation functions in src/lib/krb5/posix.)
Fri Jun 2 17:54:12 1995 Keith Vetter (keithv@fusion.com)
* net_read.c, net_write.c: made to work with sockets.
Fri May 26 20:20:58 1995 Theodore Y. Ts'o (tytso@dcl)
* configure.in, Makefile.in: Add support for building shared libraries.
Thu May 25 15:33:45 1995 Keith Vetter (keithv@fusion.com)
* os-proto.h: moved prototype for krb5_make_fulladdr to
los-proto.h since it's needed by the krb directory.
* ktdefnam.c: fixed signed/unsigned mismatch.
* read_pwd.c: pc stub didn't track changes to the real routines
parameter list (const was added).
Tue May 23 16:29:24 1995 Theodore Y. Ts'o (tytso@dcl)
* t_std_conf.c, timeofday.c, unlck_file.c: Rearrange #include
files so that krb5.h gets included first, so that the
debugging information can be more efficiently collapsed
since the type numbers will be the same.
Tue May 16 10:33:03 EDT 1995 Paul Park (pjpark@mit.edu)
* gmt_mktime.c - Use the actual year instead of the number of years
since 1900 when determining if a year has a leapday.
Makes dates after February in the year 2000 correct.
Mon May 15 05:08:05 1995 <tytso@rsx-11.mit.edu>
* ktdefname.c (krb5_kt_default_name): Use the KRB5_KTNAME
environment variable to override the default location of
the keytab.
Mon May 8 22:19:23 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
* read_pwd.c (krb5_read_password): use volatile on all
systems. Let configure define volatile to nothing on
systems without.
* configure.in: Add HAS_ANSI_VOLATILE
* mk_faddr.c (krb5_make_fulladdr): Allocate enough memory for
raddr contents.
* read_pwd.c (krb5_read_password): Make arguments prompt and
prompt2 const char * for convenience to callers.
Mon May 1 17:05:21 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
* init_os_ctx.c (krb5_set_config_files): Added required const to
function declaration to be compatbile with call to
profile_init.
Mon May 01 15:56:32 1995 Chris Provenzano (proven@mit.edu)
* genaddrs.c (krb5_auth_con_genaddrs()),
* mk_faddr.c (krb5_make_fulladdr()), os-proto.h :
Changes to auth_context to better support full addresses.
Sun Apr 30 16:03:59 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
* osconfig.c: Global variables krb5_config_file and
krb5_trans_file conditionalized on OLD_CONFIG_FILES.
Sat Apr 29 07:07:22 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
* init_os_ctx.c (krb5_set_config_files): New function. Provides a
way to set a new set of config files for a particular OS
context.
* init_os_ctx.c (krb5_os_init_context): Don't return an error if
profile_init() returns an error.
Fri Apr 28 09:58:31 EDT 1995 Paul Park (pjpark@mit.edu)
Move adm_conn.c from libkrb5 to libkadm.
Thu Apr 27 17:50:14 1995 Keith Vetter (keithv@fusion.com)
* adm_conn.c: added constant to pull in needed PC code, and
removed two unused variables.
* genaddrs.c: needed casts on getsockname and getpeername calls.
* mk_faddr.c: the int->byte code needed explicit casts.
* os-proto.h: added missing prototype for krb5_make_fulladdr.
Wed Apr 26 16:00:52 EDT 1995 Paul Park (pjpark@mit.edu)
* Add adm_conn.c - module to provide a connection to an administrative
(kpasswd/kadmin) server.
Wed Apr 27 11:30:00 1995 Keith Vetter (keithv@fusion.com)
* osconfig.c: krb5_find_config_files only used for OLD_CONFIG_FILES.
* init_os_.c: Get config file location via windows ini files.
Thu Apr 27 13:04:54 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
* Makefile.in (clean): Remove t_std_conf.o
Tue Apr 25 21:58:23 1995 Chris Procenzano (proven@mit.edu)
* Makefile.in : Added source files mk_faddr.c and genaddrs.c.
* mk_faddr.c (krb5_mk_fulladdr()): Makes a full address from
a struct sockaddr_in.
* genaddrs.c (krb5_auth_con_genaddrs()) : Generate a full address
from the active file descriptor and place it in the
auth_context for the calls mk_safe(), mk_priv(), mk_safe(),
rd_cred(), rd_priv(), and rd_safe().
* gen_rname.c (krb5_gen_replay_name()) : Fixed to take any type of
krb5_address and generate a rcache name.
* os-proto.h (krb5_make_full_ipaddr()) : Removed prototype.
Tue Apr 25 14:09:26 1995 Theodore Y. Ts'o <tytso@dcl>
* t_std_conf.c (main): Add declaration of optarg.
Tue Apr 25 04:50:13 1995 Chris Procenzano (proven@mit.edu)
* locate_kdc.c (krb5_locate_kdc()): Pass a NUL terminated realm
to profile_get_values().
Mon Apr 24 17:20:14 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
* locate_kdc.c (krb5_locate_kdc): Don't deref NULL pointer
returned from profile_get_values if profile is not set.
Sat Apr 22 00:11:12 1995 Theodore Y. Ts'o (tytso@dcl)
* Makefile.in, configure.in, t_std_conf.c: Add test program to
test the standard configuration krb5 routines.
* osconfig.c: Don't define krb5_kdc_udp_portname and
krb5_kdc_sec_portname any more. There's no real point...
* hst_realm.c (krb5_get_krbhst): Strip off the trailing dot from
the hostname if present.
* locate_kdc.c (krb5_locate_kdc): Use the profile code to get the
list of Kerberos servers (plus port numbers) for a
particular realm from [realms]/<realm>/kdc
Fri Apr 21 11:38:45 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
* def_realm.c (krb5_get_default_realm): Use the profile code to
get the default realm from [libdefaults]/default_realm.
* get_krbhst.c (krb5_get_krbhst): Use the profile code to get the
list of Kerberos servers for a particular realm from
[realms]/<realm>/kdc
* realm_dom.c (krb5_get_realm_domain): Use the profile code to
get the default domain postfix for a realm (used only to
convert V4 -> V5 principals) from
[realms]/<realm>/default_domain
* hst_realm.c (krb5_get_host_realm): Use the profile code to get
the default realm given a particular host from
[domain_realm]/<host|domain>
* init_os_ctx.c (krb5_os_init_context): When the OS context is
initialized, also initialize the profile file. This loads
in the /etc/krb5.conf file.
Wed Apr 19 13:50:19 1995 Ezra Peisach (epeisach@kangaroo.mit.edu)
* def_realm.c: (krb5_get_default_realm) - remove global default realm.
Moved into the context. (krb5_set_default_realm) added.
Fri Apr 14 22:15:00 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
* an_to_ln.c (dbm_an_to_ln): Don't compile dbm_an_to_ln() if
USE_DBM_LNAME isn't defined.
Fri Apr 14 15:15:48 1995 <tytso@rsx-11.mit.edu>
* hst_realm.c (krb5_get_host_realm): Eliminate memory leak in the
unlikely case that gethostname fails.
If the krb.realms file isn't available, use the default
realm of the host.
Thu Apr 13 15:49:16 1995 Keith Vetter (keithv@fusion.com)
* *.[ch]: removed unneeded INTERFACE from non-api functions.
* read_pwd.c: __STDC__ conditional also checks the _WINDOWS define.
Fri Apr 7 15:32:04 1995 Keith Vetter (keithv@fusion.com)
* ccdefname.c:
changed windows stored filename syntax--dropped the 'FILE:' part.
changed buffer from malloc to static since we don't want it
ever to fail, and nobody checks it for errors.
Wed Apr 5 16:32:07 1995 Keith Vetter (keithv@fusion.com)
* get_krbh.c: better error handling--old return values were
being overwritten.
* locate_kdc.c: added new error code KRB5_REALM_CANT_RESOLVE for
when we have realm names but can't find their addresses.
Also, fixed up indenting of an if clause.
* sendto_kdc.c: added winsock init/destroy calls because some
PC tcp/ip stacks seem to need it.
Fri Mar 31 16:30:03 1995 Theodore Y. Ts'o (tytso@dcl)
* realm_dom.c (krb5_get_realm_domain): Don't indent #ifdef's!
* hst_realm.c (krb5_get_host_realm): Don't indent #ifdef's!
Thu Mar 30 15:54:54 1995 Keith Vetter (keithv@fusion.com)
* localaddr.c: in Windows/Mac code, fixed bug due to wrong level
of indirection on memcpy call.
Tue Mar 28 19:22:28 1995 Keith Vetter (keithv@fusion.com)
For Windows, added calls to get the default config, realms and
ccache files out of a windows ini file.
* ccdefname.c: does this for the credential cache.
* osconfig.c: does this for the config and realms files.
* get_krbh.c, realm_do.c, hst_real.c, def_real.c: added calls to
set the default values.
Tue Mar 28 18:35:20 1995 John Gilmore (gnu at toad.com)
* DNR.c: Add Apple MacTCP source file for domain name resolution.
* macsock.c: Add fake socket support routines for MacTCP.
* Makefile.in (OBJS, SRCS): Add DNR and macsock.
* ccdefname.c: On Mac, default cred cache is "STDIO:krb5cc" for now.
FIXME, this needs to find the Preferences folder and use that.
FIXME, shouldn't be conditioned on HAVE_MACSOCK_H.
* gmt_mktime.c: Use HAVE_SYS_TYPES_H.
* krbfileio.c: Remove <sys/types.h>.
* localaddr.c, sendto_kdc.c: Convert to more generic socket
support. Use closesocket instead of close, SOCKET_ERRNO rather
than errno, SOCKET rather than int, etc.
* localaddr.c: Use getmyipaddr() from macsock.c, if on Mac.
Add FIXME for multiple local addresses.
* lock_file.c: Provide a dummy version for MacOS.
* read_pwd.c (ECHO_PASSWORD): Add #ifdef's to avoid all the ioctls
and other stuff that turn off echoing. This is useful for debugging
on MacOS. FIXME: ECHO_PASSWORD needs to be added to configure.in.
* ustime.c: Bring in Mac-specific time-and-timezone code. It
probably isn't hooked up correctly, yet.
Mon Mar 27 14:16:39 1995 John Gilmore (gnu at toad.com)
* full_ipadr.c, gen_rname.c, port2ip.c, read_msg.c, write_msg.c:
Remove explicit includes of socket files.
* locate_kdc.c: Remove <sys/types.h> and "os-proto.h".
* macsock.c (connect, send, recv): Add for K5 compatability.
(getmyipaddr): Add for use in K5.
* macsock.c: Add Mac socket support file, verbatim from K4 release.
Fri Mar 24 17:58:15 1995 Theodore Y. Ts'o (tytso@rt-11)
* locate_kdc.c: Don't include sys/socket.h, netdb.h, netinet/in.h,
since these files are already included by k5-config.h
* sendto_kdc.c: Don't include sys/socket.h, since it is already
included by k5-config.h
* sn2princ.c: Don't include netdb.h, since it is already included
by k5-config.h
Thu Mar 23 23:11:36 1995 Theodore Y. Ts'o <tytso@dcl>
* realm_dom.c (krb5_get_realm_domain): Don't indent preprocessor
directives. (Not portable).
* hst_realm.c (krb5_get_host_realm): Don't indent preprocessor
directives. Removed excess close paren introduced by
Keith.
Wed Mar 22 18:59:47 1995 Keith Vetter (keithv@fusion.com)
* hst_realm.c, realm_dom.c: windows DLL can't use fscanf so had
to write a couple of routines to read what we need from the file.
Wed Mar 22 13:30:35 1995 Keith Vetter (keithv@fusion.com)
* an_to_ln.c, kuserok.c: last two os routines ported to the PC.
Fri Mar 17 19:56:39 1995 John Gilmore (gnu at toad.com)
* Makefile.in (LDFLAGS): Eliminate, duplicates config/pre.in.
* localaddr.c: Remove socket include files now handled in k5-int.h.
Wed Mar 15 12:19:47 1995 Keith Vetter (keithv@fusion.com)
* sendto_kdc.c: made to work on the PC.
Tue Mar 7 22:15:00 1995 Keith Vetter <keithv@fusion.com>
* sendto_kdc.c: stubbed on the PC for now.
Tue Mar 7 19:54:17 1995 Mark Eichin <eichin@cygnus.com>
* configure.in: take out ISODE_DEFS, ISODE_INCLUDE.
Tue Mar 7 13:35:21 1995 Keith Vetter (keithv@fusion.com)
* *.c: ported all the c files except an_to_ln, kuserok, and
sendto_kdc which have windows stubs.
* Makefile.in: reflects above changes.
Wed Mar 1 17:30:00 1995 Keith Vetter (keithv@fusion.com)
* Makefile.in: made to work on the PC
* ustime.c: added section for time on the PC
* localaddr.c: added section for the PC--returns local IP address
N.B. not sure how we're going to handle different machine dependent
code changes. For now it's just added to the end of the file. Later,
we have to decide on a solution for all.
Tue Feb 28 01:07:37 1995 John Gilmore (gnu at toad.com)
* *.c: Avoid <krb5/...> includes.
Fri Feb 3 08:24:18 1995 Theodore Y. Ts'o (tytso@dcl)
* gmt_mktime.c (gmt_mktime): Don't double count the leap day in a
leap year.
Sun Jan 22 18:23:37 1995 John Gilmore (gnu@cygnus.com)
* get_krbhst.c (krb5_get_krbhst): Declare realm argument const,
to match prototype.
Wed Jan 18 11:08:59 1995 <tytso@rsx-11.mit.edu>
* sendto_kdc.c (krb5_sendto_kdc): Fix use of connected sockets;
previously krb5_sendto_kdc only used one socket per
address family. This doesn't work; it now uses one
socket per address. (krb5-bugs #938)
Fri Jan 13 15:23:47 1995 Chris Provenzano (proven@mit.edu)
* Actually move the file init_ctx.c to init_os_ctx.c in the CVS
repository and also rename the routine krb5_free_os_context()
to krb5_os_free_context().
Fri Jan 13 15:23:47 1995 Chris Provenzano (proven@mit.edu)
* Added krb5_context to all krb5_routines
* Moved init_ctx.c to init_os_ctx.c because a library cannot
have more than on file with the same name. See krb/init_ctx.c
Mon Dec 19 15:20:35 1994 Theodore Y. Ts'o (tytso@dcl)
* init_ctx.c: New file. Initializes and frees the krb5_os_context
structure.
* realm_dom.c (krb5_get_realm_domain): Fixed minor bug where the
length of the returned domain was calculated incorrectly.
Mon Oct 31 17:04:08 1994 Theodore Y. Ts'o (tytso@dcl)
* lock_file.c: Back out POSIX_FILE_LOCKS change. (Should be
depending on autoconf.h to supply this #define if
necessary.)
Thu Oct 13 17:24:31 1994 Theodore Y. Ts'o (tytso@maytag)
* configure.in: Add ISODE_DEFS
Fri Oct 7 13:23:18 1994 Theodore Y. Ts'o (tytso@dcl)
* configure.in: Add test for unistd.h
* lock_file.c: Use POSIX_FILE_LOCKS if _POSIX_VERSION is defined
in unistd.h
Thu Sep 22 20:46:08 1994 Theodore Y. Ts'o (tytso@dcl)
* configure.in: Put in correct dependency order of configure.in
lines.
Wed Jul 6 13:26:59 1994 Mark Eichin (eichin@cygnus.com)
* gmt_mktime.c (gmt_mktime): New file, new function. Similar to
POSIX mktime, but always works in GMT.
configure.in, Makefile.in: build gmt_mktime.
Wed Jun 22 15:49:30 1994 Theodore Y. Ts'o (tytso at tsx-11)
* locate_kdc.c (krb5_locate_kdc): Fixed default port numbers so
they are loaded in network byte order instead of host byte order.
|