aboutsummaryrefslogtreecommitdiff
path: root/src/lib/rpc/ChangeLog
blob: be87db97d5ed4daa7597b6e5c11c4af3959ad58c (plain)
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
2004-10-18  Tom Yu  <tlyu@mit.edu>

	* Makefile.in (install-unix): Install headers.

2004-09-23  Ken Raeburn  <raeburn@mit.edu>

	* xdr_rec.c (LAST_FRAG): Use 1L in case int is small.

2004-09-22  Tom Yu  <tlyu@mit.edu>

	* libgssrpc.exports: Export svc_maxfd.

2004-09-21  Tom Yu  <tlyu@mit.edu>

	* configure.in: Check for sockaddr_in.sin_len and
	sockaddr.sa_len.  Check for sys/param.h in case we need NBBY
	somewhere.

	* auth.h, svc_auth.h: Namespace cleanup.

	* svc.h, rpc_commondata.c: New global svc_maxfd.

	* svc.c (svc_getreqset): Break inner part of loop out into
	local function svc_do_xprt().  Don't use rpc_dtablesize();
	instead, use svc_maxfd.

	* svc_run.c: Don't use rpc_dtablesize().

	* clnt_generic.c, clnt_simple.c, getrpcport.c:
	* svc_tcp.c, svc_udp.c: Set sockaddr_in.sin_len when available.

2004-09-17  Tom Yu  <tlyu@mit.edu>

	* libgssrpc.exports: Don't export internals.

	* svc.c (svc_getreqset):
	* svc_tcp.c (readtcp): Don't intersperse preprocessor
	conditionals with braces.

	* auth_gssapi.c, auth_gssapi_misc.c, auth_none.c:
	* auth_unix.c, authunix_prot.c, bindresvport.c:
	* clnt_generic.c, clnt_perror.c, clnt_raw.c
	* clnt_simple.c, clnt_tcp.c, clnt_udp.c, get_myaddress.c:
	* getrpcent.c, getrpcport.c, pmap_clnt.c:
	* pmap_getmaps.c, pmap_getport.c, pmap_prot.c, pmap_prot2.c:
	* pmap_rmt.c, rpc_callmsg.c, rpc_prot.c:
	* svc.c, svc_auth.c, svc_auth_gss.c:
	* svc_auth_gssapi.c, svc_auth_unix.c, svc_raw.c:
	* svc_run.c, svc_simple.c, svc_tcp.c:
	* svc_udp.c, xdr.c, xdr_alloc.c, xdr_array.c:
	* xdr_float.c, xdr_mem.c, xdr_rec.c, xdr_reference.c:
	* xdr_stdio.c: Protoize, to avoid potential problems when
	fixed-width types are not ints on some platforms.

2004-08-26  Tom Yu  <tlyu@mit.edu>

	* configure.in: Look for uint32_t, not int32_t, since some BSD-ish
	sys/types.h headers have int32_t and u_int32_t, but only have
	uint32_t in stdint.h.

	* types.hin: Change int32_t checks to uint32_t checks.

2004-08-17  Tom Yu  <tlyu@mit.edu>

	* svc.c (svc_getreqset): Allocate cred and verf memory to
	temporary pointers, and free the temporary pointers on exit.
	Freeing the actual cred and verf pointers can cause corruption
	because auth mechanisms can reassign the pointers.

2004-08-16  Tom Yu  <tlyu@mit.edu>

	* svc_auth_gss.c (gssrpc__svcauth_gss): Add some debug messages.

	* svc.c (svc_getreqset): Don't allocate either raw or cooked
	credentials on the stack using the cred_area char array; use
	mem_alloc() instead.  This avoids alignment problems.

2004-06-28  Tom Yu  <tlyu@mit.edu>

	* auth_gss.c (g_OID_equal): Fix signedness.
	(rpc_gss_data): Fix width of WIN.
	(authgss_validate): Fix width of NUM and QOP_STATE.
	(authgss_refresh): Fix width of SEQ and QOP_STATE.

	* auth_gssapi.c (auth_gssapi_create): Save clnt->cl_auth early
	enough to avoid unref use.

	* authgss_prot.c (xdr_rpc_gss_buf): Cast (void **) to (char **)
	in call to xdr_bytes.
	(xdr_rpc_gss_wrap_data): Fix signedness.
	(xdr_rpc_gss_unwrap_data): Fix signedness.  Fix width of SEQ_NUM.

	* clnt_udp.c (clntudp_bufcreate, clntudp_call, clntudp_call):
	Fix up some argument casting for socket calls.

	* pmap_prot.c (xdr_pmap): Use appropriate xdr macros for the
	typedefs instead of xdr_u_int32.

	* rpc_prot.c (xdr_accepted_reply, xdr_rejected_reply)
	(xdr_callhdr): Use appropriate xdr macros for the typedefs instead
	of xdr_u_int32.

	* svc_auth_unix.c (gssrpc__svcauth_unix): Fix signedness on call
	to XDR_INLINE.

	* xdr.c (xdr_int, xdr_long, xdr_short): Improve value checks.

	* xdr.h: Make the IXDR macros more paranoid about signedness.  Add
	macros for xdr_rpcprog, xdr_rpcvers, xdr_rpcprot, xdr_rpcproc,
	xdr_rpcport.

	* xdr_mem.c (xdrmem_getlong): Cast return value of ntohl to
	int32_t prior to casting it to long.

	* xdr_rec.c (xdrrec_getlong): Cast return value of ntohl to
	int32_t prior to casting it to long.
	(xdrrec_putlong): Make arithmetic more paranoid.
	(xdrrec_inline): Signedness fixes.  Arithmetic paranoia.
	(set_input_fragment): Don't cast return value of ntohl which is
	being assigned to uint32_t.

2004-06-25  Tom Yu  <tlyu@mit.edu>

	* types.hin: Delete rpc_int32, rpc_u_int32 aliases.

2004-06-24  Ken Raeburn  <raeburn@mit.edu>

	* configure.in: Fix typo in setting
	krb5_cv_header_sys_param_h_maxhostnamelen.

2004-06-18  Tom Yu  <tlyu@mit.edu>

	* auth_gss.h: Add prototype for xdr_rpc_gss_buf.

	* authgss_prot.c (xdr_rpc_gss_buf): New function.
	(xdr_rpc_gss_cred, xdr_rpc_gss_init_args, xdr_rpc_gss_init_res):
	(xdr_rpc_gss_wrap_data, xdr_rpc_gss_unwrap_data): Use
	xdr_rpc_gss_buf, to avoid passing a (size_t *) to a xdr_bytes(),
	which expects (u_int *).
	(xdr_rpc_gss_wrap_data): Use tmplen to avoid passing (size_t *) to
	xdr_u_int.

	* libgssrpc.exports:
	* rename.h: Add xdr_rpc_gss_buf.

	* xdr.c (xdr_enum): Fix (kind of) for 64-bit.  Still inherently
	bogus, due to casting of (enum foo *) to (enum_t *) by callers.

2004-06-17  Tom Yu  <tlyu@mit.edu>

	* libgssrpc.exports: Update.

2004-06-16  Ken Raeburn  <raeburn@mit.edu>

	* Makefile.in (clean-mac): Target deleted.

2004-06-16  Tom Yu  <tlyu@mit.edu>

	* auth_gss.h: Conditionalize log_debug, log_status, log_hexdump
	prototypes on GSSRPC__IMPL.

	* rename.h: More namespace fixes.

2004-06-15  Tom Yu  <tlyu@mit.edu>

	* auth_gss.c (print_rpc_gss_sec): Use gss_oid_to_str().
	(rpc_gss_data): Add field "established" to indicate whether
	context establishment is in progress; this prevents recursive
	failures when auth_refresh() calls clnt_call().  If clnt_call()
	called from auth_refresh() gets an error condition, the
	clnt_call() logic will attempt a refresh, which can cause the
	cl_auth to get destroyed multiple times, corrupting memory.
	(authgss_validate, authgss_refresh): Use gd->established.
	(authgss_refresh): Release gd->gc_wire_verf.
	(authgss_destroy_context): Log clnt_call() failures.

	* auth_gssapi.h: Add prototypes for svcauth_gss_set_log_*_func.

	* authgss_prot.c (log_status): Correctly reset msg_ctx between
	different types of calls to gss_display_status().

	* svc.c: Don't reset xp_auth prior to authenticating message.

	* svc.h (svc_req): Remove rq_svcname; application can get it from
	rq_svccred anyway.

	* svc_auth_gss.c: Include auth_gssapi.h to get typedefs for
	logging callback functions.  Enable logging callbacks.  Replace
	SVCAUTH_PRIVATE_LVALUE() kludge.  Fix up namespace somewhat to not
	use reserved names.
	(svcauth_gss_accept_sec_context): Free rpc_gss_init_args to avoid
	leak.  Release gr->gr_token on error conditions.
	(svcauth_gss_nextverf, svcauth_gss_accept_sec_context):
	(gssrpc__svcauth_gss): Use gd->checksum.
	(gssrpc__svcauth_gss): Use macro ret_freegc() to ensure freeing of
	gc.  On destroy, set *no_dispatch=TRUE and explicitly send reply
	to avoid application sending a NULLPROC reply with an invalid
	verifier.

	* svc_auth_gssapi.c (gssrpc__svcauth_gssapi): Set xp_auth to NULL
	upon destroy.
	(svc_auth_gssapi_destroy): New function so SVCAUTH_DESTROY() will
	work.

	* svc_tcp.c (svctcp_create, makefd_xprt): Initialize xp_auth to
	NULL.
	(svctcp_destroy): Call SVCAUTH_DESTROY() if appropriate.

	* svc_udp.c (svcudp_bufcreate, svcudp_destroy): Initialize xp_auth
	to NULL.
	(svcudp_destroy): Only close xp_sock if it's not -1.  Call
	SVCAUTH_DESTROY() if appropriate.

	* xdr_rec.c (xdrrec_getpos): Add CITI's fix to return position for
	non-flushed buffers.

2004-06-04  Ken Raeburn  <raeburn@mit.edu>

	* Makefile.in (LIBBASE): Renamed from LIB.

2004-05-30  Ken Raeburn  <raeburn@mit.edu>

	* clnt_tcp.c: Include string.h.

2004-05-27  Tom Yu  <tlyu@mit.edu>

	* auth_any.c, svc_auth_any.c: Removed.

	* auth_gss.h: New file, was CITI's auth_ssapi.h.

	* auth_gss.c, authgss_prot.c, svc_auth_gssapi.c, svc_auth_none.c:
	New files.

	* rename.h: New file containing renaming macros for external
	names.

	* Makefile.in (DEFINES): Add -DGSSRPC__IMPL for accessing
	internals.
	(LIBMAJOR): Bump due to ABI changes; this ABI is still subject to
	change without future version bumps until released.
	(SRCS, OBJS, STLIBOBJS, HDRS, SRC_HDRS): Adjust for new files

	* types.hin: Check for 8-bit bytes, two's-complement integers.
	Use configure-determined inclusions of various headers instead of
	depending on HAVE_*.  Rearrange logic of sys/select.h,
	netinet/in.h, etc. inclusions.  Include rename.h.  Add typedefs
	for rpcprog_t, rpcvers_t, rpcprot_t, rpcproc_t, rpcport_t,
	rpc_inline_t.
	(GSSRPC__BEGIN_DECLS, GSSRPC__END_DECLS): New macros for C++
	compatibility.
	[GSSRPC__FAKE_INT32]: Fake up a fixed-width 32-bit integer if the
	system doesn't provide one in its headers.
	[GSSRPC__BSD_TYPEALIASES]: Add typedefs for BSD-style type
	aliases, e.g., u_char.  Can be overridden at compile-time.

	* auth.h, auth_gssapi.h, auth_unix.h, clnt.h, pmax_clnt.h:
	* pmap_prot.h, pmap_rmt.h, rpc.h, rpc_msg.h, svc.h, svc_auth.h:
	* xdr.h: Fix inclusion protection.  Use GSSRPC__{BEGIN,END}_DECLS
	for declarations.  "unsigned int" -> "u_int", etc.  "rpc_int32" ->
	"int32_t", etc.  Move renaming to rename.h.  Move some external
	names out of implementation namespace.  Make struct tags identical
	to typedef names, mostly.  Use rpcprog_t and friends as
	appropriate.

	* auth.h: Add RPCSEC_GSS errors.  Add RPCSEC_GSS flavor.  Disable
	AUTH_GSSAPI_COMPAT flavor.  "AUTH_wrap" -> "auth_wrap",
	"AUTH_unwrap" -> "auth_unwrap".

	* svc_auth.h: Hide individual flavors of authenticators under
	GSSRPC__IMPL.  Adjust for "svc_auth_any" -> "svc_auth_none".
	(SVCAUTH_DESTROY): New macro.

	* rpc.h: Prototype gssrpc__rpc_dtablesize().

	* svc.h (svc_req): Add rq_clntname, rq_svcname.

	* xdr.h (MAX_NETOBJ_SZ): Adjust to 2048.

	* auth_gssapi.c, auth_gssapi_misc.c, auth_none.c, auth_unix.c:
	* bindresvport.c, clnt_generic.c, clnt_perror.c, clnt_raw.c:
	* clnt_simple.c, clnt_tcp.c, clnt_udp.c, get_myaddress.c:
	* getrpcent.c, getrpcport.c, pmax_clnt.c, pmap_getport.c:
	* pmap_prot2.c, pmap_rmt.c, rpc_callmsg.c, rpc_commondata.c:
	* rpc_dtablesize.c, rpc_port.c, svc.c, svc_auth.c:
	* svc_auth_gssapi.c, svc_auth_unix.c, svc_run.c, svc_simple.c:
	* svc_tcp.c, svc_udp.c, xdr.c, xdr_alloc.c, xdr_array.c:
	* xdr_float.c, xdr_mem.c, xdr_rec.c, xdr_reference.c, xdr_stdio.c:
	* xdr_stdio.c: Lots of type renaming, including BSD typealiases,
	use of int32_t and uint32_t, rpc*_t for protocol constants.  Fixed
	namespace issues, moving renaming out of individual files.  Moved
	symbols out of implementation namespace.

	* xdr.c: Add checks on integer values, in order to return errors
	when an attempt is made to encode an integer that won't fit in 4
	bytes, or to decode an integer that won't fit into its target
	type.

	* auth_none.c: Use authnone_wrap instead of authany_wrap.
	(authnone_wrap): New function.

	* auth_unix.c: Use authunix_wrap instead of authany_wrap.
	(authunix_wrap): New function.

	* xdr_mem.c, xdr_rec.c: Fix some sizeof vs BYTES_PER_XDR_UNIT
	issues.

2004-04-22  Ken Raeburn  <raeburn@mit.edu>

	* libgssrpc.exports: New file.

2004-04-02  Ken Raeburn  <raeburn@mit.edu>

	* svc_auth_gssapi.c (destroy_client): Don't call purify_watch_n
	even if PURIFY is defined.

2003-04-23  Ken Raeburn  <raeburn@mit.edu>

	* bindresvport.c: Include errno.h.
	(gssrpc_bindresvport): Don't declare errno.
	* clnt_tcp.c: Don't declare errno.
	* svc.c: Don't declare errno.  Include errno.h.

2003-03-24  Tom Yu  <tlyu@mit.edu>

	* xdr_mem.c (xdrmem_create): Perform some additional size checks.
	(xdrmem_getlong, xdrmem_putlong, xdrmem_getbytes): Check x_handy
	prior to decrementing it.

2003-01-12  Ezra Peisach  <epeisach@bu.edu>

	* svc_auth_gssapi.c (_svcauth_gssapi_unset_names): If invoked more
	than once, do not double free memory.

	* clnt_perror.c (clnt_sperror): Do not write past end of allocated
	buffer.

2003-01-10  Ken Raeburn  <raeburn@mit.edu>

	* configure.in: Don't explicitly invoke AC_PROG_ARCHIVE,
	AC_PROG_ARCHIVE_ADD, AC_PROG_RANLIB, AC_PROG_INSTALL.

	* configure.in: Use V5_AC_OUTPUT_MAKEFILE instead of
	K5_GEN_MAKEFILE and K5_AC_OUTPUT.

	* Makefile.in: Add AC_SUBST_FILE marker for lib_frag and libobj_frag.

2003-01-07  Ken Raeburn  <raeburn@mit.edu>

	* Makefile.ov: Deleted.

2003-01-05  Sam Hartman  <hartmans@mit.edu>

	* svc_run.c svc_udp.c : Remove declaration of errno

	* clnt_udp.c pmap_getmaps.c pmap_rmt.c svc_auth_gssapi.c: Remove
	declaration of errno 

2002-12-18  Ken Raeburn  <raeburn@mit.edu>

	* auth_gssapi_misc.c (xdr_gss_buf, auth_gssapi_wrap_data,
	auth_gssapi_unwrap_data): Use temporary variables rather than
	pointer casts when dealing with integral types of different
	sizes.

2002-12-12  Tom Yu  <tlyu@mit.edu>

	* Makefile.in (all-prerecurse): Change double colons to single
	colons.

2002-11-11  Ken Raeburn  <raeburn@mit.edu>

	* get_myaddress.c (get_myaddress): Local array buf size should be
	counted in ifreq structs, not ifconf structs.

2002-10-31  Ken Raeburn  <raeburn@mit.edu>

	* xdr_alloc.c (xdralloc_putlong): Coerce value pointed to by
	argument to 32 bits, rather than reading only 32 bits from the
	supplied address.

2002-09-24  Ken Raeburn  <raeburn@mit.edu>

	* Makefile.in ($(HDRS)): Depend on includes.

2002-08-29  Ken Raeburn  <raeburn@mit.edu>

	* Makefile.in: Revert $(S)=>/ change, for Windows support.

2002-08-23  Ken Raeburn  <raeburn@mit.edu>

	* Makefile.in: Change $(S)=>/ and $(U)=>.. globally.

2002-08-12  Tom Yu  <tlyu@mit.edu>

	* xdr.c (xdr_string): Fix off-by-one error; we're not vulnerable,
	since we don't call it.

2002-08-02  Tom Yu  <tlyu@mit.edu>

	* xdr_array.c (xdr_array): Account for elsize when checking
	encoded array count.

2002-07-17  Ken Raeburn  <raeburn@mit.edu>

	* dyn.c: New file, combining contents of old util/dyn library,
	with unused functions omitted, and memmove assumed.
	* dyn.h: Moved from util/dyn/dyn.h, symbol renaming macros added.
	Changed element size to size_t.  Include stdlib.h.
	* dynP.h: Moved from util/dyn/dynP.h, symbol renaming macros
	added.
	* dyntest.c: Moved from util/dyn/test.c.
	* Makefile.in (SHLIB_EXPDEPS, SHLIB_EXPLIBS): Omit libdyn
	references.
	(SRCS, OBJS, STLIBOBJS): Build dyn.c.
	(dyntest, run-dyntest, clean-dyntest): New targets.
	(check-unix): Depend on run-dyntest.
	(clean-unix): Depend on clean-dyntest.
	(LCLINT, LCLINTOPTS): Moved from util/dyn/Makefile.in.
	(do-dyn-lclint): New target, untested.
	* xdr_alloc.c: Include "dyn.h" instead of <dyn.h>.

2001-12-14  Ezra Peisach  <epeisach@mit.edu>

	* svc_auth_gssapi.c (_gssrpc_svcauth_gssapi): Local return
	variable declared enum auth_stat instead of int.

2001-12-07  Ezra Peisach  <epeisach@mit.edu>

	* clnt_raw, clnt_tcp.c, clnt_udp.c: Use a union structure to
	ensure argument alignment.

	* pmap_clnt.c, pmap_clnt.h (pmap_set): Change port argument to int
	to avoid width warnings.

	* rpc_callmsg.c (xdr_callmsg): Cast argument to XDR_INLINE to
	avoid signed vs. unsigned warning.

	* svc.c: Cast assignment to avoid signed warning.

	* xdr.c (xdr_u_short, xdr_u_long): cast pointers to long * in
	invocation of XDR_PUTLONG.

	* xdr_alloc.c (xdralloc_putbytes): Cast argument to DynInsert to
	avoid signed/unsigned warning.

	* auth_gssapi.c, svc_auth_gssapi, xdr_rec.c: Cast arguments to
	avoid alignment warnings.

	* svc_tcp.c, xdr_stdio.c: Cast argument to fread/fwrite/read/write.

2001-10-09  Ken Raeburn  <raeburn@mit.edu>

	* auth_gssapi.h, auth_gssapi_misc.c, getrpcent.c,
	svc_auth_gssapi.c, xdr.h: Make prototypes unconditional.  Don't
	define PROTOTYPE.

2001-10-05  Ken Raeburn  <raeburn@mit.edu>

	* auth_gssapi.h, getrpcent.c, xdr.h: Drop _MSDOS support.

2001-08-10    <epeisach@mit.edu>

	* clnt_udp.c (clntudp_call): Do not assume that select will not
	change the timeout struct timeval. Under Linux, this reflects the
	time left available - which might result in 0 in the case of a
	timeout. When attempting to resend a request, this may results in
	a timeout of zero - flooding the server with replay requests.
	
	* clnt_tcp.c (readtcp): Same.
	* pmap_rmt.c (clnt_broadcast): Same
	* svc_tcp.c (readtcp): Same

2001-07-26  Ezra Peisach  <epeisach@home>

	* xdr_reference.c (xdr_reference): Remove cast in argument to memset.

	* svc_auth_gssapi.c: In call to gss_accept_sec_context, pass
	OM_uint32 * instead of int *;

	* pmap_clnt.h, pmap_getport.c (pmap_getport): Prototype changed
 	for protocol from unsigned int to rpc_u_int32 to match struct
 	pmap.

	* getrpcport.c (gssrpc_getrpcport): Update to reflect proper
	calling conventions.

	* rpc.h (callrpc): Change prototype from expecting ints for
	prognum, versnum and procnum to rpc_u_int32 for consistancy.
	(getrpcport): Update arguments in similar fashion.
	
	* clnt_simple.c (gssrpc_callrpc): Update to reflect prototype change.

	* auth_gssapi_misc.c (auth_gssapi_display_status_1): Local
	variable msg_ctx should be OM_uint32 instead of int as argument to
	gss_display_status.

2001-07-25  Ezra Peisach  <epeisach@mit.edu>

	* auth_gssapi.c (auth_gssapi_create): Change calling convention
	from passing ints as arguments to OM_uint32 to match spec for
	gss_init_sec_context.

	* auth_gssapi.h: Update prototype for auth_gssapi_create.
	
	* svc.h (struct svc_req): The rq_clntcred and rq_svccred elements
	are now void *.

2001-07-19  Ezra Peisach  <epeisach@mit.edu>

	* xdr_mem.c: Do not assume that XDR x_private field is char *.

	* auth.h: AUTH ah_private structure element changed to void *. 

	* clnt.h: CLIENT cl_private structure element changed to type void *. 

	* svc.h: SVCXRPT elements xp_p1 and xp_p2 changed to void * from
	caddr_t.

	* svc_udp.c: su_cache element of svcudp_data from caddr_t to void *.

	* clnt_tcp.c, svc_tcp.c (writetcp, readtcp): Cleanup alignment
	warning in casts.

	* types.hin (mem_alloc): Do not cast type of malloc to char *.

	* xdr.h: Change type of x_private of XDR from caddr_t to void *.

2001-07-09  Ezra Peisach  <epeisach@mit.edu>

	* pmap_rmt.c, svc.c, svc_simple.c, svc_udp.c, svc_tcp.c,
	xdr_array.c, xdr_reference.c : Include string.h for memset and
	memcmp prototypes.

	* auth_gssapi.c, auth_gssapi_misc.c, svc_auth_gssapi.c: Cast
	argment to PRINTF to match format.

2001-07-08  Ezra Peisach  <epeisach@mit.edu>

	* svc.c (xprt_register): If svc_fdset has not been initilized, 
	FD_ZERO it.
	
	* rpc_commondata.c: Do not assume what the structure of an fd_set
	looks like. Add variable gssrpc_svc_fdset_init to determine if
	initialized. 

2001-07-06  Ezra Peisach  <epeisach@mit.edu>

	* auth_unix.c: In case GETGROUPS_T is not defined, default to int.

2001-07-05  Ezra Peisach  <epeisach@mit.edu>

	* configure.in: Add AC_TYPE_GETGROUPS to determine argument to
	getgroups.

	* auth_unix.c (authunix_create_default): Use GETGROUPS_T array in
	call to getgroups. Copy into array of int for call to
	authunix_create. Note: If auth_unix protection ever used with this
	code, we will need to cleanup assumptions in int being 32 bits in
	OTW transfer of gids.

	* clnt_tcp.c, svc_tcp.c: Change writetcp and readtcp to take char
	as first argument to be compatible with xdrrec_create.

	* xdr.c (xdr_opaque): Cast argument in call to XDR_GETBYTES.

	* svc.h: Add prototype for gssrpc_svcudp_enablecache.

	* svc_auth_gssapi.c (_gssrpc_svcauth_gssapi): Change
	_svcauth_gssapi to _gssrpc_svcauth_gssapi for consistancy.

	* svc_auth.c: Move prototypes for _gssrpc_svcauth_{unix, null,
	short, gssapi} to:
	* svc_auth.h: here.

	* svc_auth_unix.c: Update _gssrpc_svcauth_short and
	_gssrpc_svcauth_unix to match prototype.

2001-06-28  Ezra Peisach  <epeisach@mit.edu>

	* auth.h: Provide full prototype for xdr_des_block.

	* auth_gssapi.h: Complete prototypes for
	_svcauth_gssapi_unset_names().

	* clnt.h: Prototype dispatch functions and all functions.

	* clnt_perror.c: Prototype static auth_errmsg().

	* clnt_raw.h clnt_tcp.c, clnt_udp.c: Provide prototypes to static
	functions and match dispatch table prototypes. control function
	takes void * instead of caddr_t.

	* pmap_rmt.c: Move prototype for resultproc_t to pmap_clnt.h.

	* rpc.h: get_myaddress returns int. Add prototypes for callrpc and
	getrpcport.

	* rpc_commondata.c (rpc_createerr): When initializing rpc_creaerr
	use RPC_SUCCESS instead of 0. 

	* get_myaddress.c, rpc_dtablesize.c: Include gssrpc/rpc.h for
	prototype.

	* pmap_clnt.h, pmap_prot.h, pmap_rmt.h, rpc_msg.h: Full prototypes
	for all functions.

	* svc.c: Provide full prototype for static function.

	* svc.h: Prototypes for dispatch functions added. Flushed out
	prototypes for all functions missing prototypes. Added prototype
	for svcfd_create.

	* svc_auth.c: Prototypes for all functions referenced.

	* svc_auth.h: Prototype dispatch functions to svc_auth_ops.

	* svc_auth_any.c: Replace use of authany_wrap() with a new local
	function that matches svc_auth_ops dispatch table.

	* svc_simple.c: Provide prototype for static function
	universal. Fill in missing types of parameters to
	gssrpc_registerrpc.

	* svc_raw.c svc_tcp.c, svc_udp.c: Provide prototypes for static
	functions and match prototypes in dispatch table. Change getargs
	and freeargs argument to void * from caddr_t.

	* xdr.c (xdr_void): Function to match prototype of arguments given.

	* xdr.h: Provide full prototypes for xdr_ops dispatch table and
	xdr_void().

	* svc_auth_gssapi.c, xdr_alloc.c, xdr_mem.c, xdr_rec.c,
	xdr_stdio.c: Provide protypes for static functions and match
	dispatch tables.

2001-06-27  Ezra Peisach  <epeisach@mit.edu>

	* bindresvport.c: Include gssrpc/rpc.h for prototype.

	* auth_unix.h: Expand prototype for xdr_authunix_params to include
	arguments.

	* auth_gssapi.h: Give full prototypes for xdr_gss_buf,
	xdr_authgssapi_creds, xdr_authgssapi_init_arg and
	xdr_authgssapi_init_res.

	* auth_gssapi.c, auth_none.c, auth_unix.c: For struct AUTH
	disptach functions, provide full prototypes and ensure consistant
	usage in functions

	* auth.h: Provide prototypes dispatch functions in struct
	AUTH. Give a forward declaration of struct rpc_msg. Change
	duplicate definitions of AUTH_WRAP and AUTH_UNWRAP into auth_wrap
	and auth_unwrap. Give full prototype for authany_wrap.

2001-06-21  Ezra Peisach  <epeisach@mit.edu>

	* svc_simple.c (universal): Change transp to s_transp to not
	shadow filewide static definition of name.
	Move file wide definition of "pl" into respective functions.

	* pmap_rmt.c: Change sin->sockin and socket->sock.

	* pmap_getmaps.c, pmap_getport.c: Change socket to sock to not
 	shadow network function.

	* bindresvport.c, clnt_generic.c: Change sin to sockin to not
 	shadow function declaration.

2001-06-19  Ezra Peisach  <epeisach@mit.edu>

	* pmap_prot2.c (xdr_pmaplist): Ensure variable set before use. 

2001-06-18  Ezra Peisach  <epeisach@mit.edu>

	* auth_gssapi.c (auth_gssapi_create): Cast const gss_OID to
	gss_OID for gssapi functions.

	* xdr.c (xdr_u_int, xdr_int32, xdr_u_int32): If enumerated
	operation is not XDR_ENCODE, XDR_DECODE or XDR_FREE - return FALSE
	instead falling off end of function.

2001-06-08  Ezra Peisach  <epeisach@mit.edu>

	* auth_gssapi.h: Rename prototypes from _svcauth_set_log_XXX_func to 
	_svcauth_gssapi_set_log_XXX_func to match code.

2001-06-05  Ezra Peisach  <epeisach@mit.edu>

	* clnt_perror.c (clnt_spcreateerror): Enumerate missing cases in
	switch.

	* getrpcport.c: Include string.h for memmove() prototype and
	pmap_clnt.h for pmap_getport() prototype.

	* rpc_dtablesize.c (_gssrpc_rpc_dtablesize): Declare as returning int.
	* get_myaddress.c (gssrpc_get_myaddress): Likewise.

	* rpc_prot.c (gssrpc_xdr_accepted_reply, sunrpc_seterr_reply):
	Enumerate missing cases for switch.
	(rejected): Fix typo: RPC_VERMISMATCH -> RPC_MISMATCH for
	enumerated switch.

  	* svc_auth.c: Add braces to svcauthsw[] initialization.

	* svc_simple.c: Include pmap_clnt.h for pmap_unset prototype.

	* bindresvport.c, clnt_simple.c, clnt_tcp.c, clnt_udp.c, pmap_clnt.c,
	pmap_getmaps.c, pmap_gtport.c, pmap_rmt.c, svc_tcp.c, svc_udp.c:
	Include unistd.h for close() prototype.

	* xdr.c (xdr_opaque): Specify internal buffer as ints.
	(xdr_u_int32): Declare as returning bool_t.

	* clnt_generic.c, rpc_callmsg.c, svc_auth_unix.c, xdr_mem.c:
	Include string.h for memmove() prototype.

	* xdr_rec.c: Include string.h for memmove() prototype. Add dummy
	XDR_FREE cases for switches.

	* xdr_reference.c (xdr_reference): Add XDR_ENCODE case. (gcc warning). 
	* xdr_array.c (xdr_array): Likewise.

	* auth.h: Include gssrpc/xdr.h and provide prototype for
	gssrpc_xdr_opaque_auth().

	* auth_gssapi.h: Add prototypes for auth_gssapi_seal_seq() and
	auth_gssapi_unseal_seq().

	* clnt.h: Add prototype for _gssrpc_rpc_dtablesize(). 

	* rpc.h: Add prototypes for gssrpc_get_myaddress() and
	gssrpc_bindresvport().

2001-03-07  Ken Raeburn  <raeburn@mit.edu>

	* configure.in: Check for strerror.
	* clnt_perror.c (strerror) [!HAVE_STRERROR]: Define, with
	out-of-range check using sys_nerr.
	(sys_nerr) [!HAVE_STRERROR]: Declare at top level instead of in
	clnt_spcreateerror.
	(clnt_sperror, clnt_spcreateerror): Use strerror always.  Skip
	range check.

Sun Feb 18 17:48:35 2001  Ezra Peisach  <epeisach@kangaroo.mit.edu>

	* xdr.h: Flush out prototypes for xdrmem_create(),
        xdrstdio_create(), xdrrec_create(), xdralloc_create(),
        xdralloc_release(), xdrrec_endofrecord(), xdrrec_skiprecord(),
        xdrrec_eof(), xdralloc_getdata(). Add prototype for
        gssrpc_xdr_fre().

	* xdr.c: Argument to gssrpc_xdr_free(0 changed from char * to void
        *. xdr_u_char() changed to take unsigned char * instead of char *.

	* auth_unix.c: Include unistd.h and string.h for
        prototypes. Declare marshal_new_auth() as static void instead of
        static bool_t based on usage.

	* auth.h, svc_auth.h: Provide full prototypes for a number of
        functions.

2000-06-21  Tom Yu  <tlyu@mit.edu>

	* svc_auth_gssapi.c (_svcauth_gssapi): Missed a rename.  From
	Nathan Neulinger.

2000-05-31  Ken Raeburn  <raeburn@mit.edu>

	* pmap_rmt.c (GIFCONF_BUFSIZE): New macro.
	(getbroadcastnets): Use it for buffer size.
	(clnt_broadcast): Make buffer at least that big.

	* get_myaddress.c (get_myaddress): Increase buffer size.

2000-05-18  Ken Raeburn  <raeburn@mit.edu>

	* auth_gssapi_misc.c (auth_gssapi_display_status_1): Don't pass a
	gss_buffer_desc to fprintf.

	* clnt_tcp.c (clnttcp_create): Initialize "ct".
	* clnt_udp.c (clntudp_bufcreate): Initialize "cu".

	* svc_auth_gssapi.c (_svcauth_gssapi, create_client,
	destroy_client, dump_db, clean_client): Use %p format for
	displaying pointers.  Remove unused variables.

2000-05-17  Ken Raeburn  <raeburn@mit.edu>
            Nalin Dahyabhai  <nalin@redhat.com>

	* clnt_perror.c (clnt_sperror): Don't overflow buffer "str" beyond
	known allocation size.
	* clnt_simple.c (gssrpc_callrpc): Don't overfill buffer "crp->oldhost".

2000-05-03  Nalin Dahyabhai  <nalin@redhat.com>

	* clnt_perror.c (_buf): Use bigger buffer.
	(clnt_spcreateerror): Don't overflow buffer "buf" beyond known
	allocation size.

2000-02-22  Donn Cave  <donn@u.washington.edu>

	* Makefile.in (includes): Extract basename of header file to be
	installed, since Digital UNIX 4.0 native make substitutes the
	VPATH-derived pathname here.

2000-02-17  Tom Yu  <tlyu@mit.edu>

	* svc_auth_gssapi.c (_svcauth_gssapi): Don't explicitly free
	call_arg on error, since svc_getargs should do that now.

	* svc_udp.c (svcudp_getargs): Free args on xdr decode error to
	avoid leaks.

	* svc_tcp.c (svctcp_getargs): Free args on xdr decode error to
	avoid leaks.

	* svc_raw.c (svcraw_getargs): Free args on xdr decode error to
	avoid leaks.

	* auth_gssapi.c (auth_gssapi_create): Don't explicitly free
	call_res anymore, since clnt_call should deal now.

	* clnt_udp.c (clntudp_call): Free stuff on error from
	xdr_replymsg() to prevent leaking.

	* clnt_tcp.c (clnttcp_call): Free stuff on error from
	xdr_replymsg() to avoid leaking.

	* clnt_raw.c (clntraw_call): Free stuff on error from
	xdr_replymsg() to avoid leaking.

2000-02-16  Tom Yu  <tlyu@mit.edu>

	* auth_gssapi.c (auth_gssapi_create): Free call_res because
	xdr_authgssapi_init_res can potentially allocate memory.  Perhaps
	clnt_call should really deal with this, though.  It is not at all
	clear whether clnt_call or svc_getargs should actually end up
	freeing allocated memory themselves.

2000-02-15  Tom Yu  <tlyu@mit.edu>

	* svc_auth_gssapi.c (_svcauth_gssapi): Call gssrpc_xdr_free() if
	xdr_authgssapi_creds() or xdr_authgssapi_init_arg() fails.

	* auth_gssapi_misc.c (xdr_authgssapi_creds):
	(xdr_authgssapi_init_arg):
	(xdr_authgssapi_init_res): Revert prior change.  The caller should
	be the one dealing.  Additionally, it was probably wrong to
	unconditionally free the object regardless of whether the mode is
	XDR_DECODE.
	(auth_gssapi_unwrap_data): Use temp_xdrs rather than in_xdrs to
	force XDR_FREE operation.

2000-02-14  Tom Yu  <tlyu@mit.edu>

	* svc.c (xprt_register): Zero out xports after allocating.

	* auth_gssapi_misc.c (xdr_authgssapi_creds):
	(xdr_authgssapi_init_arg): 
	(xdr_authgssapi_init_res): 
	(auth_gssapi_unwrap_data): If xdr_gss_buf or xdr_bytes fails, call
	again with XDR_FREE set so that allocated memory doesn't leak.

2000-01-24  Tom Yu  <tlyu@mit.edu>

	* get_myaddress.c (gssrpc_get_myaddress): Copy in from NetBSD;
	use loopback address only.

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.

Fri Apr 23 20:05:38 1999  Tom Yu  <tlyu@mit.edu>

	* svc.c: Fix to reference the correct xprt because we're no longer
	calling ffs(); also remove some unused variables.

Wed Apr 21 16:22:32 1999  Tom Yu  <tlyu@mit.edu>

	* svc.c (xprt_unregister): Fix typo.

1999-04-14    <tytso@rsts-11.mit.edu>

	* svc.c (svc_getreq, svc_getreqset): Avoid using internal, private
		fd_set structure elements (Needed for Linux/glibc 2.1)

Thu Apr  1 19:11:50 1999  Tom Yu  <tlyu@mit.edu>

	* rpc_commondata.c: Add initializers to prevent lossage on systems
	that don't deal with common blocks in libraries.

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

1998-10-27  Marc Horowitz  <marc@mit.edu>

	* svc_auth_gssapi.c, auth_gssapi.h: fix the set_name prototype,
	add a new unset_names function

Sun Jul 26 18:13:39 1998  Sam Hartman  <hartmans@utwig.mesas.com>

	* Makefile.in (LIBMAJOR): bump libmajor

Wed Apr 15 18:07:38 1998  Tom Yu  <tlyu@mit.edu>

	* Makefile.in (SHLIB_EXPDEPS): 
	(SHLIB_EXPLIBS): Rename libcrypto -> libk5crypto.

Mon Apr  6 19:44:51 1998  Tom Yu  <tlyu@voltage-multiplier.mit.edu>

	* Makefile.in (includes): Don't mkdir unless the directory doesn't
 	exist yet.

Wed Feb 18 16:26:19 1998  Tom Yu  <tlyu@mit.edu>

	* Makefile.in: Remove trailing slash from thisconfigdir.  Fix up
	BUILDTOP for new conventions.

Fri Feb 13 20:57:49 1998  Tom Yu  <tlyu@mit.edu>

	* auth.h: Renames.
	* auth_any.c: Update header locations.
	* auth_gssapi.c: Punt naughty RCS keywords.  Update header
	locations.  Remove explicit extern decl of rpc_createrr (clnt.h
	gets it).  Renames.
	* auth_gssapi.h: Punt naughty RCS keywords.
	* auth_gssapi_misc.c: Punt naught RCS keywords.  Update header
	locations.
	* auth_none.c: Update header locations.  Renames.
	* auth_unix.c: Update header locations.  Renames.
	* auth_unix.h: Renames.
	* authunix_prot.c: Update header locations.
	* bindresvport.c: Renames.
	* clnt.h: Renames.
	* clnt_generic.c: Update header locations.
	* clnt_perror.c: Update header locations.
	* clnt_raw.c: Update header locations.  Renames.
	* clnt_simple.c: Update header locations.  Renames.
	* clnt_tcp.c: Update header locations.  Renames.
	* clnt_udp.c: Upate header loations.  Renames.
	* get_myaddress.c: Update header locations.  Renames.
	* getrpcent.c: Update header locations.
	* getrpcport.c: Update header locations. Renames.
	* netdb.h: Update header locations.
	* pmap_clnt.c: Update header locations.  Renames.
	* pmap_clnt.h: Renames.
	* pmap_getmaps.c: Update header locations.
	* pmap_getport.c: Update header locations.
	* pmap_prot.c: Update header locations.
	* pmap_prot.h: Renames.
	* pmap_prot2.c: Update header locations.
	* pmap_rmt.c: Update header locations.  Renames.
	* pmap_rmt.h: Renames.
	* rpc.h: Update header locations.  No longer include rpc/netdb.h.
	* rpc_callmsg.c: Update header locations.  Renames.
	* rpc_commondata.c: Update header locations.
	* rpc_dtablesize.c: Renames.
	* rpc_msg.h: Renames.
	* rpc_prot.c: Update header locations.  Renames.
	* svc.c: Update header locations.  Renames.
	* svc.h: Renames.
	* svc_auth.c: Update header locations.  Renames.
	* svc_auth.h: Renames.
	* svc_auth_any.c: Update header locations.
	* svc_auth_gssapi.c: Punt naughty RCS keywords.  Update header
	locations.  Renames.
	* svc_auth_unix.c: Renames.
	* svc_raw.c: Update header locations.
	* svc_run.c: Update header locations.  Renames.
	* svc_simple.c: Update header locations.  Renames.  Make pl
	static.
	* svc_tcp.c: Update header locations.  Renames.
	* svc_udp.c: Update header locations.  Renames.
	* xdr.c: Update header locations.  Renames.
	* xdr.h: Renames.
	* xdr_alloc.c: Punt naughty RCS keywords.  Update header
	locations.
	* xdr_array.c: Update header locations.
	* xdr_float.c: Update header locations.
	* xdr_mem.c: Update header locations.
	* xdr_rec.c: Update header locations.
	* xdr_reference.c: Update header locations.
	* xdr_stdio.c: Update header locations.

	* Makefile.in: Bump major version due to changes.  Don't build
	getrpcent.o, since we don't use it, and dealing with the
	rpc/netdb.h lossage was a major pain.  Also, rename HDRDIR to
	$(BUILDTOP)/gssrpc in order to avoid problems with system headers
	including rpc/*.h.

Thu Feb 12 16:18:22 1998  Tom Yu  <tlyu@mit.edu>

	* configure.in: Add commented out AC_OUTPUT to force autoreconf to
	rebuild the configure script.

Mon Feb  2 17:00:16 1998  Theodore Ts'o  <tytso@rsts-11.mit.edu>

	* Makefile.in: Define BUILDTOP and thisconfigdir in the Makefile

	* configure.in, Makefile.in: Remove CopySrcHeader and CopyHeader 
		from configure.in and move equivalent functionality to
		Makefile.in 

Wed Jan 21 15:06:00 1998  Ezra Peisach  <epeisach@mit.edu>

	* bindresvport.c: Include string.h for memset prototype.

Tue Dec 16 11:22:13 1997  Ezra Peisach  <epeisach@mit.edu>

	* svc_auth_gssapi.c (_svcauth_gssapi): When looping over services,
		free previous output_tokens.

Fri Nov 21 00:37:14 1997  Ezra Peisach  <epeisach@mit.edu>

	* Makefile.in (types.h): Add rules to generate file by running
 	config.status. Remove on make clean.

Tue Oct 21 14:31:33 1997  Ezra Peisach  <epeisach@mit.edu>

	* svc_auth_gssapi.c (destroy_client): Fix to not lose entries in
        the chain linked list.

Mon Aug 18 09:48:06 1997  Ezra Peisach  <epeisach@kangaroo.mit.edu>

	* get_myaddress.c: Include string.h for memcpy prototype.

Sat Feb 22 01:34:19 1997  Sam Hartman  <hartmans@tertius.mit.edu>

	* Makefile.in (SHLIB_EXPDEPS): s/.so/$(SHLIBEXT)

Mon Feb 10 11:10:02 1997  Ezra Peisach  <epeisach@quest.rose.brandeis.edu>

	* configure.in: Check for sys/uio.h.

	* svc_udp.c: Include sys/uio.h is available for struct iovec.

Mon Feb 10 00:04:36 1997  Tom Yu  <tlyu@mit.edu>

	* svc_udp.c (svcudp_recv): Avoid coredumps under Solaris (and
	possibly other systems) by passing in a non-NULL iovec to
	recvmsg().

Thu Jan 16 19:02:22 1997  Tom Yu  <tlyu@mit.edu>

	* Makefile.in (all-prerecurse): Update to use double-colon rules.

Tue Jan 14 19:22:42 1997  Tom Yu  <tlyu@mit.edu>

	* Makefile.in:
	* configure.in: Update to new library build procedure.

Wed Dec  4 12:42:49 1996  Barry Jaspan  <bjaspan@mit.edu>

	* Various changes to allow channel bindings to work with both UDP
 	and TCP cleanly [krb5-libs/180]:

	* auth_gssapi.c: remove the special-case exception to channel
 	bindings failure added in the previous revision, since we now
 	solve the problem by making channel bindings not fail

	* clnt_udp.c: use a connected socket so that the client can
 	determine its own source address with getsockname

	* svc.h: add xp_laddr and xp_laddrlen fields to SVCXPRT structure

	* svc_tcp.c: set xp_laddr and xp_laddrlen when a connection is
 	established

	* svc_udp.c (svcudp_recv): use recvmsg with MSG_PEEK followed by
 	recvfrom in order to determine both source and dest address on
 	unconnected UDP socket, set xp_laddr and xp_laddrlen

Fri Nov 22 15:50:42 1996  unknown  <bjaspan@mit.edu>

	* get_myaddress.c (get_myaddress): use krb5_os_localaddr instead
 	of ioctl() to get local IP addresses [krb5-libs/227]

	* clnt_generic.c, clnt_simple.c, getrpcport.c: use sizeof instead
 	of h_length to determine number of bytes of addr to copy from DNS
 	response [krb5-misc/211]

Fri Nov 22 11:49:43 1996  Sam Hartman  <hartmans@mit.edu>

	* types.hin: Include stdlib.h if found at config time [203]

	* configure.in: Substitute STDLIB_INCLUDE into types.h. [203]

Tue Nov 12 16:27:27 1996  Barry Jaspan  <bjaspan@mit.edu>

	* auth_gssapi.c (auth_gssapi_create): handle channel bindings
 	failure so UDP connections can work [krb5-libs/180]

Tue Nov  5 18:43:46 1996  Tom Yu  <tlyu@mit.edu>

	* configure.in: Revert removal of CopySrcHeader, etc., for now.

	* Makefile.in (OBJS): Remove dependency of $(OBJS) on shared, also
	remove dependency of $(HDRS) on $(HDRDIR).  Both of these to avoid
	unecessary copying.

Wed Oct 30 13:18:34 1996  Barry Jaspan  <bjaspan@mit.edu>

	* xdr_stdio.c: Remove the #ifndef mc68000 cruft.  I'm not sure
 	what it was supposed to accomplish, but in both places it appeared
 	it was unquestionably wrong.  I suspect that the ifdef was put in
 	originally to optimize byte-alignment code that wasn't necessary
 	on the 68000.  Who knows?  Someone will complain if this isn't
 	right. [krb5-libs/47]
  
Tue Oct 29 13:03:50 1996  Barry Jaspan  <bjaspan@mit.edu>

	* auth_gssapi.c (auth_gssapi_create): #ifdef GSSAPI_KRB5, a null
 	mech_type implies gss_mech_krb5, so include that in the version 3
 	fallback test.  This change, along with the other changes for rpc
 	version 4, complete the fix for [krb5-libs/106].

Wed Oct 23 00:08:27 1996  Theodore Y. Ts'o  <tytso@mit.edu>

	* pmap_rmt.c:
	* clnt_udp.c: Change #ifdef sparc to #ifdef sun for more portability.
		[fixes PR#123]

Mon Oct 21 21:22:42 1996  Tom Yu  <tlyu@mit.edu>

	* Makefile.in, configure.in: Fixes to work with new directory
 	recursion method.

Wed Oct 16 16:12:07 1996  Barry Jaspan  <bjaspan@mit.edu>

	* svc_auth_gssapi.c (_svcauth_gssapi): accept add call_arg version
 	4

Tue Oct 15 17:04:09 1996  Barry Jaspan  <bjaspan@mit.edu>

	* Makefile.in (CFLAGS): compile with -DGSSAPI_KRB5

	* svc_auth_gssapi.c: add #ifdef GSSAPI_KRB5 for krb5 specific code

	* auth_gssapi.c (auth_gssapi_create): add call_arg version 4, make
 	version 3 use using gss_mech_krb5_old (under #ifdef GSSAPI_KRB5)

	* configure.in: add DO_SUBDIRS so make will descend into unit-test

Wed Oct  9 14:15:34 1996  Tom Yu  <tlyu@mit.edu>

	* Makefile.in (all-unix): Force $(OBJS) to depend on includes,
	fixing incompatibilty with makes that don't evaluate dependencies
	l-r.

Tue Sep  3 23:10:58 1996  Theodore Y. Ts'o  <tytso@mit.edu>

	* auth_gssapi.c: Remove $LOG$, including "unprofessional" comment
		which OV requested that we lose....

Sat Aug 31 01:46:45 1996  Ken Raeburn  <raeburn@cygnus.com>

	* pmap_rmt.c (getbroadcastnets): Tweak conditional layout to make
	emacs indentation code happier.

	* netdb.h: Comment fix.

	Tue Aug  6 18:52:47 1996  Marc Horowitz  <marc@mit.edu>

	* configure.in, getrpcent.c: Use configure to the return types of
	setrpcent() and getrpcent().  Also, check for struct rpcent in the
	system <netdb.h>, and only define the structure in rpc/netdb.h if
	it's not in the system file.

Tue Aug 13 15:18:16 1996  Tom Yu  <tlyu@mit.edu>

	* getrpcent.c: Add PROTOTYPE and conditionalize function
		prototypes.

	* xdr.h: Add PROTOTYPE and conditionalize function prototypes.

	* svc_auth_gssapi.c: Remove ANSI string concatenation, de-ANSI-fy
 		function definitions.

	* auth_gssapi_misc.c (auth_gssapi_display_status_1): Remove ANSI
		string concatenation, de-ANSI-fy function definitions.

	* auth_gssapi.h: Add PROTOTYPE and conditionalize function
		prototypes.

	* auth_gssapi.c (auth_gssapi_create): remove ANSI-ish string
		concatenation, de-ANSI-fy function definitions.

Thu Aug  8 15:30:01 1996  Tom Yu  <tlyu@voltage-multiplier.mit.edu>

	* configure.in, types.hin: Change search for struct rpcent yet
		again, this time compile-checking both netdb.h and
		rpc/netdb.h and taking action appropriately.  See the
		comments in configure.in for details.

Mon Aug  5 16:46:48 1996  Tom Yu  <tlyu@voltage-multiplier.mit.edu>

	* Makefile.in (CFLAGS): Change DEBUG_GSSAPI to 0 to avoid printing
		excess stuff to stderr.

Wed Jul 31 20:36:34 1996  Tom Yu  <tlyu@voltage-multiplier.mit.edu>

	* getrpcent.c: Shuffle inclusion order somewhat.

	* configure.in: Fix test for STRUCT_RPCENT_ALREADY_PROVIDED if
		there happens to be a /usr/include/rpc/netdb.h.  This
		causes /usr/include/netdb.h to include netdb.h from our
		tree rather from /usr/include/rpc, which of course results
		in massive damage.  Basically, if /usr/include/netdb.h
		contains rpcent declaration and /usr/include/rpc/netdb.h
		exists, then assume that there is no struct rpcent in the
		system include files.  It's really unfortunate that we
		need to do this at all, but it's all we can do short of
		renaming a bunch of include files or directories.

	* Makefile.in: Punt -I$(srcdir)/..; it was gross and not needed
		because headers get installed in build tree before
		building the library anyway.

Wed Jul 31 16:54:29 1996  Tom Yu  <tlyu@mit.edu>

	* types.hin: Remove #include <netdb.h> because it appears the only
		reason for doing so was to get struct rpcent, and we're
		getting that via <rpc/netdb.h>.

	* clnt_generic.c, clnt_simple.c, clnt_tcp.c, clnt_udp.c,
 		getrpcent.c, getrpcport.c, pmap_getmaps.c, svc_simple.c:
		Revert prior change due to netdb.h shuffling.

Tue Jul 30 18:59:17 1996  Tom Yu  <tlyu@mit.edu>

	* rpc.h: Don't include netdb.h (rpc/types.h already includes it)

	* svc_auth_gssapi.c: #include <rpc/rpc.h> before <sys/stat.h> (to
		get sys/types.h.

	* clnt_generic.c, clnt_simple.c, clnt_tcp.c, clnt_udp.c,
 		getrpcent.c, getrpcport.c, pmap_getmaps.c, svc_simple.c:
 		Remove #include <netdb.h>; it's already included in
 		rpc/types.h.

Mon Jul 29 22:02:47 1996  Sam Hartman  <hartmans@tertius.mit.edu>

	* configure.in: Determine whether netdb.h defines struct rpcent.

	* types.hin: Expand rpcent_define to be a null string or a #define
        on Linux.

	* netdb.h: Include rpc/types.h and only define struct rpcent if
        needed.

Wed Jul 24 07:58:38 1996  Ezra Peisach  <epeisach@kangaroo.mit.edu>

	* pmap_rmt.c (clnt_broadcast): Use memset insetad of bzero.

	* Makefile.in (DEPLIBS): Use correct version number for
		gssapi_krb5 dependency. 

Tue Jul 23 23:49:47 1996  Sam Hartman  <hartmans@tertius.mit.edu>

	* clnt_perror.c: Don't declare strcpy.

Tue Jul 23 11:24:32 1996  Ezra Peisach  <epeisach@kangaroo.mit.edu>

	* xdr.c: Do not declare malloc().

	* Makefile.in (SHLIB_LIBS): Link with gssapi_krb5 when creating
		shared library.


Mon Jul 22 21:46:48 1996  Ezra Peisach  <epeisach@kangaroo.mit.edu>

	* clnt_perror.c: Include errno.h.

Fri Jul 12 15:33:50 1996  Marc Horowitz  <marc@mit.edu>

	* rpc_dtablesize.c (_rpc_dtablesize): put in a few checks to make
 	sure that the return value is never larger than FD_SETSIZE, since
 	this function's purpose is to be used as the first arg to
 	select().

Tue Jul  9 17:56:54 1996  Marc Horowitz  <marc@mit.edu>

	* rpc.h, netdb.h, getrpcent.c: Our build can (and will) require
 	that the rpc header files shipped with kerberos be used if the
 	library shipped with kerberos is used.  Thus, some simplifying
 	assumptions can be made, mostly having to do with the declaration
 	of struct rpcent and the related functions.
	* clnt_perror.c: made usage of sys_errlist conditional on
 	NEED_SYS_ERRLIST
	* configure.in (DECLARE_SYS_ERRLIST): added
 	* Makefile.in (DONE): added a few rules and variable so shared
 	library creation would work