(do_version4): if an tgs-req is received with an old kvno, return an
[heimdal.git] / ChangeLog
blob1ce09c49ded5881f67eccf4ffdd81644e2f5d0d0
1 2000-02-13  Assar Westerlund  <assar@sics.se>
3         * kdc/kaserver.c (do_authenticate): return the kvno of the server
4         and not the client.  Thanks to Brandon S. Allbery KF8NH
5         <allbery@kf8nh.apk.net> and Chaskiel M Grundman
6         <cg2v@andrew.cmu.edu> for debugging.
8 2000-02-11  Assar Westerlund  <assar@sics.se>
10         * kdc/kdc_locl.h: remove keyfile add explicit_addresses
11         * kdc/connect.c (init_sockets): pay attention to
12         explicit_addresses some more comments.  better error messages.
13         * kdc/config.c: add some comments.
14         remove --key-file.
15         add --addresses.
17         * lib/krb5/context.c (krb5_set_extra_addresses): const-ize and use
18         proper abstraction
20 2000-02-07  Johan Danielsson  <joda@pdc.kth.se>
22         * lib/krb5/changepw.c: use roken_getaddrinfo_hostspec
24 2000-02-07  Assar Westerlund  <assar@sics.se>
26         * Release 0.2n
28 2000-02-07  Assar Westerlund  <assar@sics.se>
30         * lib/krb5/Makefile.am: set version to 8:0:0
31         * lib/krb5/keytab.c (krb5_kt_default_name): use strlcpy
32         (krb5_kt_add_entry): set timestamp
34 2000-02-06  Assar Westerlund  <assar@sics.se>
36         * lib/krb5/krb5.h: add macros for accessing krb5_realm
37         * lib/krb5/time.c (krb5_timeofday): use `krb5_timestamp' instead
38         of `int32_t'
40         * lib/krb5/replay.c (checksum_authenticator): update to new API
41         for md5
43         * lib/krb5/krb5.h: remove des.h, it's not needed and applications
44         should not have to make sure to find it.
46 2000-02-03  Assar Westerlund  <assar@sics.se>
48         * lib/krb5/rd_req.c (get_key_from_keytab): rename parameter to
49         `out_key' to avoid conflicting with label.  reported by Sean Doran
50         <smd@ebone.net>
52 2000-02-02  Assar Westerlund  <assar@sics.se>
54         * lib/krb5/expand_hostname.c: remember to lower-case host names.
55         bug reported by <amu@mit.edu>
57         * kdc/kerberos4.c (do_version4): look at check_ticket_addresses
58         and emulate that by setting krb_ignore_ip_address (not a great
59         interface but it doesn't seem like the time to go around fixing
60         libkrb stuff now)
62 2000-02-01  Johan Danielsson  <joda@pdc.kth.se>
64         * kuser/kinit.c: change --noaddresses into --no-addresses
66 2000-01-28  Assar Westerlund  <assar@sics.se>
68         * kpasswd/kpasswd.c (main): make sure the ticket is not
69         forwardable and not proxiable
71 2000-01-26  Assar Westerlund  <assar@sics.se>
73         * lib/krb5/crypto.c: update to pseudo-standard APIs for
74         md4,md5,sha.  some changes to libdes calls to make them more
75         portable.
77 2000-01-21  Assar Westerlund  <assar@sics.se>
79         * lib/krb5/verify_init.c (krb5_verify_init_creds): make sure to
80         clean up the correct creds.
82 2000-01-16  Assar Westerlund  <assar@sics.se>
84         * lib/krb5/principal.c (append_component): change parameter to
85         `const char *'.  check malloc
86         * lib/krb5/principal.c (append_component, va_ext_princ, va_princ):
87         const-ize
88         * lib/krb5/mk_req.c (krb5_mk_req): make `service' and `hostname'
89         const
90         * lib/krb5/principal.c (replace_chars): also add space here
91         * lib/krb5/principal.c: (quotable_chars): add space
93 2000-01-12  Assar Westerlund  <assar@sics.se>
95         * kdc/kerberos4.c (do_version4): check if preauth was required and
96         bail-out if so since there's no way that could be done in v4.
97         Return NULL_KEY as an error to the client (which is non-obvious,
98         but what can you do?)
100 2000-01-09  Assar Westerlund  <assar@sics.se>
102         * lib/krb5/principal.c (krb5_sname_to_principal): use
103         krb5_expand_hostname_realms
104         * lib/krb5/mk_req.c (krb5_km_req): use krb5_expand_hostname_realms
105         * lib/krb5/expand_hostname.c (krb5_expand_hostname_realms): new
106         variant of krb5_expand_hostname that tries until it expands into
107         something that's digestable by krb5_get_host_realm, returning also
108         the result from that function.
110 2000-01-08  Assar Westerlund  <assar@sics.se>
112         * Release 0.2m
114 2000-01-08  Assar Westerlund  <assar@sics.se>
116         * configure.in: replace AC_C_BIGENDIAN with KRB_C_BIGENDIAN
118         * lib/krb5/Makefile.am: bump version to 7:1:0
120         * lib/krb5/principal.c (krb5_sname_to_principal): use
121         krb5_expand_hostname
122         * lib/krb5/expand_hostname.c (krb5_expand_hostname): handle
123         ai_canonname being set in any of the addresses returnedby
124         getaddrinfo.  glibc apparently returns the reverse lookup of every
125         address in ai_canonname.
127 2000-01-06  Assar Westerlund  <assar@sics.se>
129         * Release 0.2l
131 2000-01-06  Assar Westerlund  <assar@sics.se>
133         * lib/krb5/Makefile.am: set version to 7:0:0
134         * lib/krb5/principal.c (krb5_sname_to_principal): remove `hp'
136         * lib/hdb/Makefile.am: set version to 4:1:1
138         * kdc/hpropd.c (dump_krb4): use `krb5_get_default_realms'
139         * lib/krb5/get_in_tkt.c (add_padata): change types to make
140         everything work out
141         (krb5_get_in_cred): remove const to make types match
142         * lib/krb5/crypto.c (ARCFOUR_string_to_key): correct signature
143         * lib/krb5/principal.c (krb5_sname_to_principal): handle not
144         getting back a canonname
146 2000-01-06  Assar Westerlund  <assar@sics.se>
148         * Release 0.2k
150 2000-01-06  Assar Westerlund  <assar@sics.se>
152         * lib/krb5/send_to_kdc.c (krb5_sendto_kdc): advance colon so that
153         we actually parse the port number.  based on a patch from Leif
154         Johansson <leifj@it.su.se>
156 2000-01-02  Assar Westerlund  <assar@sics.se>
158         * admin/purge.c: remove all non-current and old entries from a
159         keytab
161         * admin: break up ktutil.c into files
163         * admin/ktutil.c (list): support --verbose (also listning time
164         stamps)
165         (kt_add, kt_get): set timestamp in newly created entries
166         (kt_change): add `change' command
168         * admin/srvconvert.c (srvconv): set timestamp in newly created
169         entries
170         * lib/krb5/keytab_keyfile.c (akf_next_entry): set timetsamp,
171         always go the a predicatble position on error
172         * lib/krb5/keytab.c (krb5_kt_copy_entry_contents): copy timestamp
173         * lib/krb5/keytab_file.c (fkt_add_entry): store timestamp
174         (fkt_next_entry_int): return timestamp
175         * lib/krb5/krb5.h (krb5_keytab_entry): add timestamp
177 1999-12-30  Assar Westerlund  <assar@sics.se>
179         * configure.in (krb4): use `-ldes' in tests
181 1999-12-26  Assar Westerlund  <assar@sics.se>
183         * lib/hdb/print.c (event2string): handle events without principal.
184         From Luke Howard <lukeh@PADL.COM>
186 1999-12-25  Assar Westerlund  <assar@sics.se>
188         * Release 0.2j
190 Tue Dec 21 18:03:17 1999  Assar Westerlund  <assar@sics.se>
192         * lib/hdb/Makefile.am (asn1_files): add $(EXEEXT) for cygwin and
193         related systems
195         * lib/asn1/Makefile.am (asn1_files): add $(EXEEXT) for cygwin and
196         related systems
198         * include/Makefile.am (krb5-types.h): add $(EXEEXT) for cygwin and
199         related systems
201 1999-12-20  Assar Westerlund  <assar@sics.se>
203         * Release 0.2i
205 1999-12-20  Assar Westerlund  <assar@sics.se>
207         * lib/krb5/Makefile.am (libkrb5_la_LDFLAGS): bump version to 6:3:1
209         * lib/krb5/send_to_kdc.c (send_via_proxy): free data
210         * lib/krb5/send_to_kdc.c (send_via_proxy): new function use
211         getaddrinfo instead of gethostbyname{,2}
212         * lib/krb5/get_for_creds.c: use getaddrinfo instead of
213         getnodebyname{,2}
215 1999-12-17  Assar Westerlund  <assar@sics.se>
217         * Release 0.2h
219 1999-12-17  Assar Westerlund  <assar@sics.se>
221         * Release 0.2g
223 1999-12-16  Assar Westerlund  <assar@sics.se>
225         * lib/krb5/Makefile.am: bump version to 6:2:1
227         * lib/krb5/principal.c (krb5_sname_to_principal): handle
228         ai_canonname not being set
229         * lib/krb5/expand_hostname.c (krb5_expand_hostname): handle
230         ai_canonname not being set
232         * appl/test/uu_server.c: print messages to stderr
233         * appl/test/tcp_server.c: print messages to stderr
234         * appl/test/nt_gss_server.c: print messages to stderr
235         * appl/test/gssapi_server.c: print messages to stderr
237         * appl/test/tcp_client.c (proto): remove shadowing `context'
238         * appl/test/common.c (client_doit): add forgotten ntohs
240 1999-12-13  Assar Westerlund  <assar@sics.se>
242         * configure.in (VERISON): bump to 0.2g-pre
244 1999-12-12  Assar Westerlund  <assar@sics.se>
246         * lib/krb5/principal.c (krb5_425_conv_principal_ext): be more
247         robust and handle extra dot at the beginning of default_domain
249 1999-12-12  Assar Westerlund  <assar@sics.se>
251         * Release 0.2f
253 1999-12-12  Assar Westerlund  <assar@sics.se>
255         * lib/krb5/Makefile.am: bump version to 6:1:1
256         
257         * lib/krb5/changepw.c (get_kdc_address): use
258         `krb5_get_krb_changepw_hst'
260         * lib/krb5/krbhst.c (krb5_get_krb_changepw_hst): add
262         * lib/krb5/get_host_realm.c: add support for _kerberos.domain
263         (according to draft-ietf-cat-krb-dns-locate-01.txt)
265 1999-12-06  Assar Westerlund  <assar@sics.se>
267         * Release 0.2e
269 1999-12-06  Assar Westerlund  <assar@sics.se>
271         * lib/krb5/changepw.c (krb5_change_password): use the correct
272         address
274         * lib/krb5/Makefile.am: bump version to 6:0:1
276         * lib/asn1/Makefile.am: bump version to 1:4:0
278 1999-12-04  Assar Westerlund  <assar@sics.se>
280         * configure.in: move AC_KRB_IPv6 to make sure it's performed
281         before AC_BROKEN
282         (el_init): use new feature of AC_FIND_FUNC_NO_LIBS
284         * appl/test/uu_client.c: use client_doit
285         * appl/test/test_locl.h (client_doit): add prototype
286         * appl/test/tcp_client.c: use client_doit
287         * appl/test/nt_gss_client.c: use client_doit
288         * appl/test/gssapi_client.c: use client_doit
289         * appl/test/common.c (client_doit): move identical code here and
290         start using getaddrinfo
292         * appl/kf/kf.c (doit): rewrite to use getaddrinfo
293         * kdc/hprop.c: re-write to use getaddrinfo
294         * lib/krb5/principal.c (krb5_sname_to_principal): use getaddrinfo
295         * lib/krb5/expand_hostname.c (krb5_expand_hostname): use
296         getaddrinfo
297         * lib/krb5/changepw.c: re-write to use getaddrinfo
298         * lib/krb5/addr_families.c (krb5_parse_address): use getaddrinfo
300 1999-12-03  Assar Westerlund  <assar@sics.se>
302         * configure.in (BROKEN): check for freeaddrinfo, getaddrinfo,
303         getnameinfo, gai_strerror
304         (socklen_t): check for
306 1999-12-02  Johan Danielsson  <joda@pdc.kth.se>
308         * lib/krb5/crypto.c: ARCFOUR_set_key -> RC4_set_key
310 1999-11-23  Assar Westerlund  <assar@sics.se>
312         * lib/krb5/crypto.c (ARCFOUR_string_to_key): change order of bytes
313         within unicode characters.  this should probably be done in some
314         arbitrarly complex way to do it properly and you would have to
315         know what character encoding was used for the password and salt
316         string.
318         * lib/krb5/addr_families.c (ipv4_uninteresting): ignore 0.0.0.0
319         (INADDR_ANY)
320         (ipv6_uninteresting): remove unused macro
322 1999-11-22  Johan Danielsson  <joda@pdc.kth.se>
324         * lib/krb5/krb5.h: rc4->arcfour
326         * lib/krb5/crypto.c: rc4->arcfour
328 1999-11-17  Assar Westerlund  <assar@sics.se>
330         * lib/krb5/krb5_locl.h: add <rc4.h>
331         * lib/krb5/krb5.h (krb5_keytype): add KEYTYPE_RC4
332         * lib/krb5/crypto.c: some code for doing RC4/MD5/HMAC which might
333         not be totally different from some small company up in the
334         north-west corner of the US
336         * lib/krb5/get_addrs.c (find_all_addresses): change code to
337         actually increment buf_size
339 1999-11-14  Assar Westerlund  <assar@sics.se>
341         * lib/krb5/krb5.h (krb5_context_data): add `scan_interfaces'
342         * lib/krb5/get_addrs.c (krb5_get_all_client_addrs): make interaces
343         scanning optional
344         * lib/krb5/context.c (init_context_from_config_file): set
345         `scan_interfaces'
347         * lib/krb5/Makefile.am (libkrb5_la_SOURCES): add add_et_list.c
348         * lib/krb5/add_et_list.c (krb5_add_et_list): new function
350 1999-11-12  Assar Westerlund  <assar@sics.se>
352         * lib/krb5/get_default_realm.c (krb5_get_default_realm,
353         krb5_get_default_realms): set realms if they were unset
354         * lib/krb5/context.c (init_context_from_config_file): don't
355         initialize default realms here.  it's done lazily instead.
356         
357         * lib/krb5/krb5.h (KRB5_TC_*): make constants unsigned
358         * lib/asn1/gen_glue.c (generate_2int, generate_units): make sure
359         bit constants are unsigned
360         * lib/asn1/gen.c (define_type): make length in sequences be
361         unsigned.
363         * configure.in: remove duplicate test for setsockopt test for
364         struct tm.tm_isdst
366         * lib/krb5/get_in_tkt.c (krb5_get_in_cred): generate
367         preauthentication information if we get back ERR_PREAUTH_REQUIRED
368         * lib/krb5/init_creds_pw.c (krb5_get_init_creds_password): remove
369         preauthentication generation code.  it's now in krb5_get_in_cred
370         
371         * configure.in (AC_BROKEN_SNPRINTF): add strptime check for struct
372         tm.tm_gmtoff and timezone
373         
374 1999-11-11  Johan Danielsson  <joda@pdc.kth.se>
376         * kdc/main.c: make this work with multi-db
378         * kdc/kdc_locl.h: make this work with multi-db
380         * kdc/config.c: make this work with multi-db
382 1999-11-09  Johan Danielsson  <joda@pdc.kth.se>
384         * kdc/misc.c: update for multi-database code
386         * kdc/main.c: update for multi-database code
388         * kdc/kdc_locl.h: update
390         * kdc/config.c: allow us to have more than one database
392 1999-11-04  Assar Westerlund  <assar@sics.se>
394         * Release 0.2d
396         * lib/krb5/Makefile.am: bump version to 5:0:0 to be safe
397         (krb5_context_data has changed and some code do (might) access
398         fields directly)
400         * lib/krb5/krb5.h (krb5_context_data): add `etypes_des'
402         * lib/krb5/get_cred.c (init_tgs_req): use
403         krb5_keytype_to_enctypes_default
405         * lib/krb5/crypto.c (krb5_keytype_to_enctypes_default): new
406         function
408         * lib/krb5/context.c (set_etypes): new function
409         (init_context_from_config_file): set both `etypes' and `etypes_des'
411 1999-11-02  Assar Westerlund  <assar@sics.se>
413         * configure.in (VERSION): bump to 0.2d-pre
415 1999-10-29  Assar Westerlund  <assar@sics.se>
417         * lib/krb5/principal.c (krb5_parse_name): check memory allocations
419 1999-10-28  Assar Westerlund  <assar@sics.se>
421         * Release 0.2c
423         * lib/krb5/dump_config.c (print_tree): check for empty tree
425         * lib/krb5/string-to-key-test.c (tests): update the test cases
426         with empty principals so that they actually use an empty realm and
427         not the default.  use the correct etype for 3DES
429         * lib/krb5/Makefile.am: bump version to 4:1:0
431         * kdc/config.c (configure): more careful with the port string
433 1999-10-26  Assar Westerlund  <assar@sics.se>
435         * Release 0.2b
437 1999-10-20  Assar Westerlund  <assar@sics.se>
439         * lib/krb5/Makefile.am: bump version to 4:0:0
440         (krb524_convert_creds_kdc and potentially some other functions
441         have changed prototypes)
443         * lib/hdb/Makefile.am: bump version to 4:0:1
445         * lib/asn1/Makefile.am: bump version to 1:3:0
447         * configure.in (LIB_roken): add dbopen.  getcap in roken
448         references dbopen and with shared libraries we need to add this
449         dependency.
451         * lib/krb5/verify_krb5_conf.c (main): support speicifying the
452         configuration file to test on the command line
454         * lib/krb5/config_file.c (parse_binding): handle line with no
455         whitespace before =
456         (krb5_config_parse_file_debug): set lineno earlier so that we don't
457         use it unitialized
459         * configure.in (AM_INIT_AUTOMAKE): bump to 0.2b-pre opt*: need
460         more include files for these tests
462         * lib/krb5/set_default_realm.c (krb5_set_default_realm): use
463         krb5_config_get_strings, which means that your configuration file
464         should look like:
465         
466         [libdefaults]
467           default_realm = realm1 realm2 realm3
469         * lib/krb5/set_default_realm.c (config_binding_to_list): fix
470         copy-o.  From Michal Vocu <michal@karlin.mff.cuni.cz>
472         * kdc/config.c (configure): add a missing strdup.  From Michal
473         Vocu <michal@karlin.mff.cuni.cz>
475 1999-10-17  Assar Westerlund  <assar@sics.se>
477         * Release 0.2a
479         * configure.in: only test for db.h with using berkeley_db. remember
480         to link with LIB_tgetent when checking for el_init. add xnlock
482         * appl/Makefile.am: add xnlock
484         * kdc/kerberos5.c (find_etype): support null keys
486         * kdc/kerberos4.c (get_des_key): support null keys
488         * lib/krb5/crypto.c (krb5_get_wrapped_length): more correct
489         calculation
491 1999-10-16  Johan Danielsson  <joda@pdc.kth.se>
493         * kuser/kinit.c (main): pass ccache to krb524_convert_creds_kdc
495 1999-10-12  Johan Danielsson  <joda@pdc.kth.se>
497         * lib/krb5/crypto.c (krb5_enctype_to_keytype): remove warning
499 1999-10-10  Assar Westerlund  <assar@sics.se>
501         * lib/krb5/mk_req.c (krb5_mk_req): use krb5_free_host_realm
503         * lib/krb5/krb5.h (krb5_ccache_data): make `ops' const
505         * lib/krb5/crypto.c (krb5_string_to_salttype): new function
507         * **/*.[ch]: const-ize
509 1999-10-06  Assar Westerlund  <assar@sics.se>
510         
511         * lib/krb5/creds.c (krb5_compare_creds): const-ify
512         
513         * lib/krb5/cache.c: clean-up and comment-up
515         * lib/krb5/copy_host_realm.c (krb5_copy_host_realm): copy all the
516         strings
518         * lib/krb5/verify_user.c (krb5_verify_user_lrealm): free the
519         correct realm part
521         * kdc/connect.c (handle_tcp): things work much better when ret is
522         initialized
524 1999-10-03  Assar Westerlund  <assar@sics.se>
526         * lib/krb5/convert_creds.c (krb524_convert_creds_kdc): look at the
527         type of the session key
529         * lib/krb5/crypto.c (krb5_enctypes_compatible_keys): spell
530         correctly
532         * lib/krb5/creds.c (krb5_compare_creds): fix spelling of
533         krb5_enctypes_compatible_keys
535         * lib/krb5/convert_creds.c (krb524_convert_creds_kdc): get new
536         credentials from the KDC if the existing one doesn't have a DES
537         session key.
539         * lib/45/get_ad_tkt.c (get_ad_tkt): update to new
540         krb524_convert_creds_kdc
542 1999-10-03  Johan Danielsson  <joda@pdc.kth.se>
544         * lib/krb5/keytab_keyfile.c: make krb5_akf_ops const
546         * lib/krb5/keytab_memory.c: make krb5_mkt_ops const
548         * lib/krb5/keytab_file.c: make krb5_fkt_ops const
550 1999-10-01  Assar Westerlund  <assar@sics.se>
552         * lib/krb5/config_file.c: rewritten to allow error messages
554         * lib/krb5/Makefile.am (bin_PROGRAMS): add verify_krb5_conf
555         (libkrb5_la_SOURCES): add config_file_netinfo.c
557         * lib/krb5/verify_krb5_conf.c: new program for verifying that
558         krb5.conf is corret
560         * lib/krb5/config_file_netinfo.c: moved netinfo code here from
561         config_file.c
563 1999-09-28  Assar Westerlund  <assar@sics.se>
565         * kdc/hpropd.c (dump_krb4): kludge default_realm
567         * lib/asn1/check-der.c: add test cases for Generalized time and
568         make sure we return the correct value
570         * lib/asn1/der_put.c: simplify by using der_put_length_and_tag
572         * lib/krb5/verify_user.c (krb5_verify_user_lrealm): ariant of
573         krb5_verify_user that tries in all the local realms
575         * lib/krb5/set_default_realm.c: add support for having several
576         default realms
578         * lib/krb5/kuserok.c (krb5_kuserok): use `krb5_get_default_realms'
580         * lib/krb5/get_default_realm.c (krb5_get_default_realms): add
582         * lib/krb5/krb5.h (krb5_context_data): change `default_realm' to
583         `default_realms'
585         * lib/krb5/context.c: change from `default_realm' to
586         `default_realms'
588         * lib/krb5/aname_to_localname.c (krb5_aname_to_localname): use
589         krb5_get_default_realms
591         * lib/krb5/Makefile.am (libkrb5_la_SOURCES): add copy_host_realm.c
593         * lib/krb5/copy_host_realm.c: new file
595 1999-09-27  Johan Danielsson  <joda@pdc.kth.se>
597         * lib/asn1/der_put.c (encode_generalized_time): encode length
599         * lib/krb5/recvauth.c: new function `krb5_recvauth_match_version'
600         that allows more intelligent matching of the application version
602 1999-09-26  Assar Westerlund  <assar@sics.se>
604         * lib/asn1/asn1_print.c: add err.h
606         * kdc/config.c (configure): use parse_bytes
608         * appl/test/nt_gss_common.c: use the correct header file
610 1999-09-24  Johan Danielsson  <joda@pdc.kth.se>
612         * kuser/klist.c: add a `--cache' flag
614         * kuser/kinit.c (main): only get default value for `get_v4_tgt' if
615         it's explicitly set in krb5.conf
617 1999-09-23  Assar Westerlund  <assar@sics.se>
619         * lib/asn1/asn1_print.c (tag_names); add another univeral tag
621         * lib/asn1/der.h: update universal tags
623 1999-09-22  Assar Westerlund  <assar@sics.se>
625         * lib/asn1/asn1_print.c (loop): print length of octet string
627 1999-09-21  Johan Danielsson  <joda@pdc.kth.se>
629         * admin/ktutil.c (kt_get): add `--help'
631 1999-09-21  Assar Westerlund  <assar@sics.se>
633         * kuser/Makefile.am: add kdecode_ticket
635         * kuser/kdecode_ticket.c: new debug program
637         * appl/test/nt_gss_server.c: new program to test against `Sample *
638         SSPI Code' in Windows 2000 RC1 SDK.
640         * appl/test/Makefile.am: add nt_gss_client and nt_gss_server
642         * lib/asn1/der_get.c (decode_general_string): remember to advance
643         ret over the length-len
645         * lib/asn1/Makefile.am: add asn1_print
647         * lib/asn1/asn1_print.c: new program for printing DER-structures
649         * lib/asn1/der_put.c: make functions more consistent
651         * lib/asn1/der_get.c: make functions more consistent
653 1999-09-20  Johan Danielsson  <joda@pdc.kth.se>
655         * kdc/kerberos5.c: be more informative in pa-data error messages
657 1999-09-16  Assar Westerlund  <assar@sics.se>
659         * configure.in: test for strlcpy, strlcat
661 1999-09-14  Assar Westerlund  <assar@sics.se>
663         * lib/krb5/init_creds_pw.c (krb5_get_init_creds_password): return
664         KRB5_LIBOS_PWDINTR when interrupted
666         * lib/krb5/get_in_tkt_pw.c (krb5_password_key_proc): check return
667         value from des_read_pw_string
669         * kuser/kinit.c (main): don't print any error if reading the
670         password was interrupted
672         * kpasswd/kpasswd.c (main): don't print any error if reading the
673         password was interrupted
675         * kdc/string2key.c (main): check the return value from fgets
677         * kdc/kstash.c (main): check return value from des_read_pw_string
679         * admin/ktutil.c (kt_add): check the return-value from fgets and
680         overwrite the password for paranoid reasons
682         * lib/krb5/keytab_keyfile.c (get_cell_and_realm): only remove the
683         newline if it's there
685 1999-09-13  Assar Westerlund  <assar@sics.se>
687         * kdc/hpropd.c (main): remove bogus error with `--print'.  remove
688         sysloging of number of principals transferred
690         * kdc/hprop.c (ka_convert): set flags correctly for krbtgt/CELL
691         principals
692         (main): get rid of bogus opening of hdb database when propagating
693         ka-server database
695 1999-09-12  Assar Westerlund  <assar@sics.se>
697         * lib/krb5/krb5_locl.h (O_BINARY): add fallback definition
699         * lib/krb5/krb5.h (krb5_context_data): add keytab types
701         * configure.in: revert back awk test, not worked around in
702         roken.awk
704         * lib/krb5/keytab_krb4.c: remove O_BINARY
706         * lib/krb5/keytab_keyfile.c: some support for AFS KeyFile's.  From
707         Love <lha@e.kth.se>
709         * lib/krb5/keytab_file.c: remove O_BINARY
711         * lib/krb5/keytab.c: move the list of keytab types to the context
713         * lib/krb5/fcache.c: remove O_BINARY
715         * lib/krb5/context.c (init_context_from_config_file): register all
716         standard cache and keytab types
717         (krb5_free_context): free `kt_types'
719         * lib/krb5/cache.c (krb5_cc_resolve): move the registration of the
720         standard types of credential caches to context
722         * lib/krb5/Makefile.am (libkrb5_la_SOURCES): add keytab_keyfile.c
724 1999-09-10  Assar Westerlund  <assar@sics.se>
726         * lib/krb5/keytab.c: add comments and clean-up
728         * admin/ktutil.c: add `ktutil copy'
730         * lib/krb5/keytab_krb4.c: new file
732         * lib/krb5/krb5.h (krb5_kt_cursor): add a `data' field
734         * lib/krb5/Makefile.am: add keytab_krb4.c
736         * lib/krb5/keytab.c: add krb4 and correct some if's
738         * admin/srvconvert.c (srvconv): move common code
740         * lib/krb5/krb5.h (krb5_fkt_ops, krb5_mkt_ops): new variables
742         * lib/krb5/keytab.c: move out file and memory functions
744         * lib/krb5/Makefile.am (libkrb5_la_SOURCES): add keytab_file.c,
745         keytab_memory.c
747         * lib/krb5/keytab_memory.c: new file
749         * lib/krb5/keytab_file.c: new file
751         * kpasswd/kpasswdd.c: move out password quality functions
753 1999-09-07  Assar Westerlund  <assar@sics.se>
755         * lib/hdb/Makefile.am (libhdb_la_SOURCES): add keytab.c.  From
756         Love <lha@e.kth.se>
758         * lib/krb5/convert_creds.c (krb524_convert_creds_kdc): check
759         return value from `krb5_sendto_kdc'
761 1999-09-06  Assar Westerlund  <assar@sics.se>
763         * lib/krb5/send_to_kdc.c (send_and_recv): rename to recv_loop and
764         remove the sending of data.  add a parameter `limit'.  let callers
765         send the date themselves (and preferably with net_write on tcp
766         sockets)
767         (send_and_recv_tcp): read first the length field and then only that
768         many bytes
770 1999-09-05  Assar Westerlund  <assar@sics.se>
772         * kdc/connect.c (handle_tcp): try to print warning `TCP data of
773         strange type' less often
775         * lib/krb5/send_to_kdc.c (send_and_recv): handle EINTR properly.
776         return on EOF.  always free data.  check return value from
777         realloc.
778         (send_and_recv_tcp, send_and_recv_http): check advertised length
779         against actual length
781 1999-09-01  Johan Danielsson  <joda@pdc.kth.se>
783         * configure.in: check for sgi capabilities
785 1999-08-27  Johan Danielsson  <joda@pdc.kth.se>
787         * lib/krb5/get_addrs.c: krb5_get_all_server_addrs shouldn't return
788         extra addresses
790         * kpasswd/kpasswdd.c: use HDB keytabs; change some error messages;
791         add --realm flag
793         * lib/krb5/address.c (krb5_append_addresses): remove duplicates
795 1999-08-26  Johan Danielsson  <joda@pdc.kth.se>
797         * lib/hdb/keytab.c: HDB keytab backend
799 1999-08-25  Johan Danielsson  <joda@pdc.kth.se>
801         * lib/krb5/keytab.c
802         (krb5_kt_{start_seq_get,next_entry,end_seq_get}): check for NULL
803         pointer
805 1999-08-24  Johan Danielsson  <joda@pdc.kth.se>
807         * kpasswd/kpasswdd.c: add `--keytab' flag
809 1999-08-23  Assar Westerlund  <assar@sics.se>
811         * lib/krb5/addr_families.c (IN6_ADDR_V6_TO_V4): use `s6_addr'
812         instead of the non-standard `s6_addr32'.  From Yoshinobu Inoue
813         <shin@kame.net> by way of the KAME repository
815 1999-08-18  Assar Westerlund  <assar@sics.se>
817         * configure.in (--enable-new-des3-code): remove check for `struct
818         addrinfo'
820         * lib/krb5/crypto.c (etypes): remove NEW_DES3_CODE, enable
821         des3-cbc-sha1 and keep old-des3-cbc-sha1 for backwards
822         compatability
824         * lib/krb5/krb5.h (krb5_enctype): des3-cbc-sha1 (with key
825         derivation) just got assigned etype 16 by <bcn@isi.edu>.  keep the
826         old etype at 7.
828 1999-08-16  Assar Westerlund  <assar@sics.se>
830         * lib/krb5/sendauth.c (krb5_sendauth): only look at errno if
831         krb5_net_read actually returns -1
833         * lib/krb5/recvauth.c (krb5_recvauth): only look at errno if
834         krb5_net_read actually returns -1
836         * appl/kf/kf.c (proto): don't trust errno if krb5_net_read hasn't
837         returned -1
839         * appl/test/tcp_server.c (proto): only trust errno if
840         krb5_net_read actually returns -1
842         * appl/kf/kfd.c (proto): be more careful with the return value
843         from krb5_net_read
845 1999-08-13  Assar Westerlund  <assar@sics.se>
847         * lib/krb5/get_addrs.c (get_addrs_int): try the different ways
848         sequentially instead of just one.  this helps if your heimdal was
849         built with v6-support but your kernel doesn't have it, for
850         example.
852 1999-08-12  Assar Westerlund  <assar@sics.se>
854         * kdc/hpropd.c: add inetd flag.  default means try to figure out
855         if stdin is a socket or not.
857         * Makefile.am (ACLOCAL): just use `cf', this variable is only used
858         when the current directory is $(top_srcdir) anyways and having
859         $(top_srcdir) there breaks if it's a relative path
861 1999-08-09  Johan Danielsson  <joda@pdc.kth.se>
863         * configure.in: check for setproctitle
865 1999-08-05  Assar Westerlund  <assar@sics.se>
867         * lib/krb5/principal.c (krb5_sname_to_principal): remember to call
868         freehostent
870         * appl/test/tcp_client.c: call freehostent
872         * appl/kf/kf.c (doit): call freehostent
874         * appl/kf/kf.c: make v6 friendly and simplify
876         * appl/kf/kfd.c: make v6 friendly and simplify
878         * appl/test/tcp_server.c: simplify by using krb5_err instead of
879         errx
880         
881         * appl/test/tcp_client.c: simplify by using krb5_err instead of
882         errx
884         * appl/test/tcp_server.c: make v6 friendly and simplify
886         * appl/test/tcp_client.c: make v6 friendly and simplify
888 1999-08-04  Assar Westerlund  <assar@sics.se>
890         * Release 0.1m
892 1999-08-04  Assar Westerlund  <assar@sics.se>
894         * kuser/kinit.c (main): some more KRB4-conditionalizing
896         * lib/krb5/get_in_tkt.c: type correctness
898         * lib/krb5/get_for_creds.c (krb5_fwd_tgs_creds): set forwarded in
899         flags.  From Miroslav Ruda <ruda@ics.muni.cz>
901         * kuser/kinit.c (main): add config file support for forwardable
902         and krb4 support.  From Miroslav Ruda <ruda@ics.muni.cz>
904         * kdc/kerberos5.c (as_rep): add an empty X500-compress string as
905         transited.
906         (fix_transited_encoding): check length.
907         From Miroslav Ruda <ruda@ics.muni.cz>
909         * kdc/hpropd.c (dump_krb4): check the realm so that we don't dump
910         principals in some other realm. From Miroslav Ruda
911         <ruda@ics.muni.cz>
912         (main): rename sa_len -> sin_len, sa_lan is a define on some
913         platforms.
915         * appl/kf/kfd.c: add regpag support. From Miroslav Ruda
916         <ruda@ics.muni.cz>
918         * appl/kf/kf.c: add `-G' and forwardable option in krb5.conf.
919         From Miroslav Ruda <ruda@ics.muni.cz>
921         * lib/krb5/config_file.c (parse_list): don't run past end of line
923         * appl/test/gss_common.h: new prototypes
925         * appl/test/gssapi_client.c: use gss_err instead of abort
927         * appl/test/gss_common.c (gss_verr, gss_err): add
929 1999-08-03  Assar Westerlund  <assar@sics.se>
931         * lib/krb5/Makefile.am (n_fold_test_LDADD): need to set this
932         otherwise it doesn't build with shared libraries
934         * kdc/hpropd.c: v6-ify
936         * kdc/hprop.c: v6-ify
938 1999-08-01  Assar Westerlund  <assar@sics.se>
940         * lib/krb5/mk_req.c (krb5_mk_req): use krb5_expand_hostname
942 1999-07-31  Assar Westerlund  <assar@sics.se>
944         * lib/krb5/get_host_realm.c (krb5_get_host_realm_int): new
945         function that takes a FQDN
947         * lib/krb5/Makefile.am (libkrb5_la_SOURCES): add exapnd_hostname.c
949         * lib/krb5/expand_hostname.c: new file
951 1999-07-28  Assar Westerlund  <assar@sics.se>
953         * Release 0.1l
955 1999-07-28  Assar Westerlund  <assar@sics.se>
957         * lib/asn1/Makefile.am: bump version to 1:2:0
959         * lib/krb5/Makefile.am: bump version to 3:1:0
961         * configure.in: more inet_pton to roken
963         * lib/krb5/principal.c (krb5_sname_to_principal): use
964         getipnodebyname
966 1999-07-26  Assar Westerlund  <assar@sics.se>
968         * Release 0.1k
970 1999-07-26  Johan Danielsson  <joda@pdc.kth.se>
972         * lib/krb5/Makefile.am: bump version number (changed function
973         signatures)
975         * lib/hdb/Makefile.am: bump version number (changes to some
976         function signatures)
978 1999-07-26  Assar Westerlund  <assar@sics.se>
980         * lib/krb5/Makefile.am: bump version to 3:0:2
982         * lib/hdb/Makefile.am: bump version to 2:1:0
984         * lib/asn1/Makefile.am: bump version to 1:1:0
986 1999-07-26  Assar Westerlund  <assar@sics.se>
988         * Release 0.1j
990 1999-07-26  Assar Westerlund  <assar@sics.se>
992         * configure.in: rokenize inet_ntop
994         * lib/krb5/store_fd.c: lots of changes from size_t to ssize_t
995         
996         * lib/krb5/store_mem.c: lots of changes from size_t to ssize_t
997         
998         * lib/krb5/store_emem.c: lots of changes from size_t to ssize_t
999         
1000         * lib/krb5/store.c: lots of changes from size_t to ssize_t
1001         (krb5_ret_stringz): check return value from realloc
1003         * lib/krb5/mk_safe.c: some type correctness
1004         
1005         * lib/krb5/mk_priv.c: some type correctness
1006         
1007         * lib/krb5/krb5.h (krb5_storage): change return values of
1008         functions from size_t to ssize_t
1009         
1010 1999-07-24  Assar Westerlund  <assar@sics.se>
1012         * Release 0.1i
1014         * configure.in (AC_PROG_AWK): disable. mawk seems to mishandle \#
1015         in lib/roken/roken.awk
1017         * lib/krb5/get_addrs.c (find_all_addresses): try to use SA_LEN to
1018         step over addresses if there's no `sa_lan' field
1020         * lib/krb5/sock_principal.c (krb5_sock_to_principal): simplify by
1021         using `struct sockaddr_storage'
1023         * lib/krb5/send_to_kdc.c (krb5_sendto_kdc): simplify by using
1024         `struct sockaddr_storage'
1026         * lib/krb5/changepw.c (krb5_change_password): simplify by using
1027         `struct sockaddr_storage'
1029         * lib/krb5/auth_context.c (krb5_auth_con_setaddrs_from_fd):
1030         simplify by using `struct sockaddr_storage'
1032         * kpasswd/kpasswdd.c (*): simplify by using `struct
1033         sockaddr_storage'
1035         * kdc/connect.c (*): simplify by using `struct sockaddr_storage'
1037         * configure.in (sa_family_t): just test for existence
1038         (sockaddr_storage): also specify include file
1040         * configure.in (AM_INIT_AUTOMAKE): bump version to 0.1i
1041         (sa_family_t): test for
1042         (struct sockaddr_storage): test for
1044         * kdc/hprop.c (propagate_database): typo, NULL should be
1045         auth_context
1047         * lib/krb5/get_addrs.c: conditionalize on HAVE_IPV6 instead of
1048         AF_INET6
1050         * appl/kf/kf.c (main): use warnx
1052         * appl/kf/kf.c (proto): remove shadowing context
1054         * lib/krb5/get_addrs.c (find_all_addresses): try to handle the
1055         case of getting back an `sockaddr_in6' address when sizeof(struct
1056         sockaddr_in6) > sizeof(struct sockaddr) and we have no sa_len to
1057         tell us how large the address is.  This obviously doesn't work
1058         with unknown protocol types.
1060 1999-07-24  Assar Westerlund  <assar@sics.se>
1062         * Release 0.1h
1064 1999-07-23  Assar Westerlund  <assar@sics.se>
1066         * appl/kf/kfd.c: clean-up and more paranoia
1068         * etc/services.append: add kf
1070         * appl/kf/kf.c: rename tk_file to ccache for consistency.  clean-up
1072 1999-07-22  Assar Westerlund  <assar@sics.se>
1074         * lib/krb5/n-fold-test.c (main): print the correct data
1076         * appl/Makefile.am (SUBDIRS): add kf
1078         * appl/kf: new program.  From Miroslav Ruda <ruda@ics.muni.cz>
1080         * kdc/hprop.c: declare some variables unconditionally to simplify
1081         things
1083         * kpasswd/kpasswdd.c: initialize kadm5 connection for every change
1084         (otherwise the modifier in the database doesn't get set)
1086         * kdc/hpropd.c: clean-up and re-organize
1088         * kdc/hprop.c: clean-up and re-organize
1090         * configure.in (SunOS): define to xy for SunOS x.y
1092 1999-07-19  Assar Westerlund  <assar@sics.se>
1094         * configure.in (AC_BROKEN): test for copyhostent, freehostent,
1095         getipnodebyaddr, getipnodebyname
1097 1999-07-15  Assar Westerlund  <assar@sics.se>
1099         * lib/asn1/check-der.c: more test cases for integers
1101         * lib/asn1/der_length.c (length_int): handle the case of the
1102         largest negative integer by not calling abs
1104 1999-07-14  Assar Westerlund  <assar@sics.se>
1106         * lib/asn1/check-der.c (generic_test): check malloc return value
1107         properly
1109         * lib/krb5/Makefile.am: add string_to_key_test
1111         * lib/krb5/prog_setup.c (krb5_program_setup): always initialize
1112         the context
1114         * lib/krb5/n-fold-test.c (main): return a relevant return value
1116         * lib/krb5/krbhst.c: do SRV lookups for admin server as well.
1117         some clean-up.
1119 1999-07-12  Assar Westerlund  <assar@sics.se>
1121         * configure.in: handle not building X programs
1123 1999-07-06  Assar Westerlund  <assar@sics.se>
1125         * lib/krb5/addr_families.c (ipv6_parse_addr): remove duplicate
1126         variable
1127         (ipv6_sockaddr2port): fix typo
1129         * etc/services.append: beginning of a file with services
1131         * lib/krb5/cache.c (krb5_cc_resolve): fall-back to files if
1132         there's no prefix.  also clean-up a little bit.
1134         * kdc/hprop.c (--kaspecials): new flag for handling special KA
1135         server entries.  From "Brandon S. Allbery KF8NH"
1136         <allbery@kf8nh.apk.net>
1138 1999-07-05  Assar Westerlund  <assar@sics.se>
1140         * kdc/connect.c (handle_tcp): make sure we have data before
1141         starting to look for HTTP
1143         * kdc/connect.c (handle_tcp): always do getpeername, we can't
1144         trust recvfrom to return anything sensible
1146 1999-07-04  Assar Westerlund  <assar@sics.se>
1148         * lib/krb5/get_in_tkt.c (add_padat): encrypt pre-auth data with
1149         all enctypes
1151         * kpasswd/kpasswdd.c (change): fetch the salt-type from the entry
1153         * admin/srvconvert.c (srvconv): better error messages
1155 1999-07-03  Assar Westerlund  <assar@sics.se>
1157         * lib/krb5/principal.c (unparse_name): error check malloc properly
1159         * lib/krb5/get_in_tkt.c (krb5_init_etype): error check malloc
1160         properly
1162         * lib/krb5/crypto.c (*): do some malloc return-value checks
1163         properly
1165         * lib/hdb/hdb.c (hdb_process_master_key): simplify by using
1166         krb5_data_alloc
1168         * lib/hdb/hdb.c (hdb_process_master_key): check return value from
1169         malloc
1171         * lib/asn1/gen_decode.c (decode_type): fix generation of decoding
1172         information for TSequenceOf.
1174         * kdc/kerberos5.c (get_pa_etype_info): check return value from
1175         malloc
1177 1999-07-02  Assar Westerlund  <assar@sics.se>
1179         * lib/asn1/der_copy.c (copy_octet_string): don't fail if length ==
1180         0 and malloc returns NULL
1182 1999-06-29  Assar Westerlund  <assar@sics.se>
1184         * lib/krb5/addr_families.c (ipv6_parse_addr): implement
1186 1999-06-24  Assar Westerlund  <assar@sics.se>
1188         * lib/krb5/rd_cred.c (krb5_rd_cred): compare the sender's address
1189         as an addrport one
1191         * lib/krb5/krb5.h (KRB5_ADDRESS_ADDRPORT, KRB5_ADDRESS_IPPORT):
1192         add
1193         (krb5_auth_context): add local and remote port
1195         * lib/krb5/get_for_creds.c (krb5_get_forwarded_creds): get the
1196         local and remote address and add them to the krb-cred packet
1198         * lib/krb5/auth_context.c: save the local and remove ports in the
1199         auth_context
1201         * lib/krb5/address.c (krb5_make_addrport): create an address of
1202         type KRB5_ADDRESS_ADDRPORT from (addr, port)
1204         * lib/krb5/addr_families.c (krb5_sockaddr2port): new function for
1205         grabbing the port number out of the sockaddr
1207 1999-06-23  Assar Westerlund  <assar@sics.se>
1209         * admin/srvcreate.c (srvcreate): always take the DES-CBC-MD5 key.
1210         increase possible verbosity.
1212         * lib/krb5/config_file.c (parse_list): handle blank lines at
1213         another place
1214         
1215         * kdc/connect.c (add_port_string): don't return a value
1217         * lib/kadm5/init_c.c (get_cred_cache): you cannot reuse the cred
1218         cache if the principals are different.  close and NULL the old one
1219         so that we create a new one.
1221         * configure.in: move around cgywin et al
1222         (LIB_kdb): set at the end of krb4-block
1223         (krb4): test for krb_enable_debug and krb_disable_debug
1225 1999-06-16  Assar Westerlund  <assar@sics.se>
1227         * kuser/kdestroy.c (main): try to destroy v4 ticket even if the
1228         destruction of the v5 one fails
1230         * lib/krb5/crypto.c (DES3_postproc): new version that does the
1231         right thing
1232         (*): don't put and recover length in 3DES encoding
1233         other small fixes
1235 1999-06-15  Assar Westerlund  <assar@sics.se>
1237         * lib/krb5/get_default_principal.c: rewrite to use
1238         get_default_username
1240         * lib/krb5/Makefile.am: add n-fold-test
1242         * kdc/connect.c: add fallbacks for all lookups by service name
1243         (handle_tcp): break-up and clean-up
1245 1999-06-09  Assar Westerlund  <assar@sics.se>
1247         * lib/krb5/addr_families.c (ipv6_uninteresting): don't consider
1248         the loopback address as uninteresting
1250         * lib/krb5/get_addrs.c: new magic flag to get loopback address if
1251         there are no other addresses.
1252         (krb5_get_all_client_addrs): use that flag
1254 1999-06-04  Assar Westerlund  <assar@sics.se>
1256         * lib/krb5/crypto.c (HMAC_SHA1_DES3_checksum): don't include the
1257         length
1258         (checksum_sha1, checksum_hmac_sha1_des3): blocksize should be 64
1259         (encrypt_internal_derived): don't include the length and don't
1260         decrease by the checksum size twice
1261         (_get_derived_key): the constant should be 5 bytes
1263 1999-06-02  Johan Danielsson  <joda@pdc.kth.se>
1265         * configure.in: use KRB_CHECK_X
1266         
1267         * configure.in: check for netinet/ip.h
1268         
1269 1999-05-31  Assar Westerlund  <assar@sics.se>
1271         * kpasswd/kpasswdd.c (setup_passwd_quality_check): conditionalize
1272         on RTLD_NOW
1274 1999-05-23  Assar Westerlund  <assar@sics.se>
1276         * appl/test/uu_server.c: removed unused stuff
1278         * appl/test/uu_client.c: removed unused stuff
1280 1999-05-21  Assar Westerlund  <assar@sics.se>
1282         * kuser/kgetcred.c (main): correct error message
1284         * lib/krb5/crypto.c (verify_checksum): call (*ct->checksum)
1285         directly, avoiding redundant lookups and memory leaks
1287         * lib/krb5/auth_context.c (krb5_auth_con_setaddrs_from_fd): free
1288         local and remote addresses
1290         * lib/krb5/get_default_principal.c (get_logname): also try
1291         $USERNAME
1292         
1293         * lib/asn1/Makefile.am (asn1_files): add $(EXEEXT)
1295         * lib/krb5/principal.c (USE_RESOLVER): try to define only if we
1296         have a libresolv (currently by checking for res_search)
1298 1999-05-18  Johan Danielsson  <joda@pdc.kth.se>
1300         * kdc/connect.c (handle_tcp): remove %-escapes in request
1302 1999-05-14  Assar Westerlund  <assar@sics.se>
1304         * Release 0.1g
1306         * admin/ktutil.c (kt_remove): -t should be -e
1308         * configure.in (CHECK_NETINET_IP_AND_TCP): use
1310         * kdc/hpropd.c: support for dumping to krb4.  From Miroslav Ruda
1311         <ruda@ics.muni.cz>
1313         * admin/ktutil.c (kt_add): new option `--no-salt'.  From Miroslav
1314         Ruda <ruda@ics.muni.cz>
1316         * configure.in: add cygwin and DOS tests replace sendmsg, recvmsg,
1317         and innetgr with roken versions
1319         * kuser/kgetcred.c: new program
1321 Tue May 11 14:09:33 1999  Johan Danielsson  <joda@pdc.kth.se>
1323         * lib/krb5/mcache.c: fix paste-o
1324         
1325 1999-05-10  Johan Danielsson  <joda@pdc.kth.se>
1327         * configure.in: don't use uname
1329 1999-05-10  Assar Westerlund  <assar@sics.se>
1331         * acconfig.h (KRB_PUT_INT): if we don't have KRB4 use four
1332         arguments :-)
1334         * appl/test/uu_server.c (setsockopt): cast to get rid of a warning
1335         
1336         * appl/test/tcp_server.c (setsockopt): cast to get rid of a
1337         warning
1339         * appl/test/tcp_client.c (proto): call krb5_sendauth with ccache
1340         == NULL
1342         * appl/test/gssapi_server.c (setsockopt): cast to get rid of a
1343         warning
1345         * lib/krb5/sendauth.c (krb5_sendauth): handle ccache == NULL by
1346         setting the default ccache.
1348         * configure.in (getsockopt, setsockopt): test for
1349         (AM_INIT_AUTOMAKE): bump version to 0.1g
1351         * appl/Makefile.am (SUBDIRS): add kx
1352         
1353         * lib/hdb/convert_db.c (main): handle the case of no master key
1354         
1355 1999-05-09  Assar Westerlund  <assar@sics.se>
1357         * Release 0.1f
1359         * kuser/kinit.c: add --noaddresses
1360         
1361         * lib/krb5/get_in_tkt.c (init_as_req): interpret `addrs' being an
1362         empty sit of list as to not ask for any addresses.
1363         
1364 1999-05-08  Assar Westerlund  <assar@sics.se>
1366         * acconfig.h (_GNU_SOURCE): define this to enable (used)
1367         extensions on glibc-based systems such as linux
1369 1999-05-03  Assar Westerlund  <assar@sics.se>
1371         * lib/krb5/get_cred.c (get_cred_from_kdc_flags): allocate and free
1372         `*out_creds' properly
1374         * lib/krb5/creds.c (krb5_compare_creds): just verify that the
1375         keytypes/enctypes are compatible, not that they are the same
1377         * kuser/kdestroy.c (cache): const-correctness
1379 1999-05-03  Johan Danielsson  <joda@pdc.kth.se>
1381         * lib/hdb/hdb.c (hdb_set_master_key): initialise master key
1382         version
1384         * lib/hdb/convert_db.c: add support for upgrading database
1385         versions
1387         * kdc/misc.c: add flags to fetch
1389         * kdc/kstash.c: unlink keyfile on failure, chmod to 400
1391         * kdc/hpropd.c: add --print option
1393         * kdc/hprop.c: pass flags to hdb_foreach
1395         * lib/hdb/convert_db.c: add some flags
1397         * lib/hdb/Makefile.am: remove extra LDFLAGS, update version to 2;
1398         build prototype headers
1399         
1400         * lib/hdb/hdb_locl.h: update prototypes
1402         * lib/hdb/print.c: move printable version of entry from kadmin
1404         * lib/hdb/hdb.c: change hdb_{seal,unseal}_* to check if the key is
1405         sealed or not; add flags to hdb_foreach
1407         * lib/hdb/ndbm.c: add flags to NDBM_seq, NDBM_firstkey, and
1408         NDBM_nextkey
1410         * lib/hdb/db.c: add flags to DB_seq, DB_firstkey, and DB_nextkey
1412         * lib/hdb/common.c: add flags to _hdb_{fetch,store}
1414         * lib/hdb/hdb.h: add master_key_version to struct hdb, update
1415         prototypes
1417         * lib/hdb/hdb.asn1: make mkvno optional, update version to 2
1419         * configure.in: --enable-netinfo
1421         * lib/krb5/config_file.c: HAVE_NETINFO_NI_H -> HAVE_NETINFO
1423         * config.sub: fix for crays
1425         * config.guess: new version from automake 1.4
1426         
1427         * config.sub: new version from automake 1.4
1429 Wed Apr 28 00:21:17 1999  Assar Westerlund  <assar@sics.se>
1431         * Release 0.1e
1433         * lib/krb5/mcache.c (mcc_get_next): get the current cursor
1434         correctly
1436         * acconfig.h: correct definition of KRB_PUT_INT for old krb4 code.
1437         From Ake Sandgren <ake@cs.umu.se>
1439 1999-04-27  Johan Danielsson  <joda@pdc.kth.se>
1441         * kdc/kerberos5.c: fix arguments to decrypt_ticket
1442         
1443 1999-04-25  Assar Westerlund  <assar@sics.se>
1445         * lib/krb5/mk_req_ext.c (krb5_mk_req_internal): try to handle old
1446         DCE secd's that are not able to handle MD5 checksums by defaulting
1447         to MD4 if the keytype was DES-CBC-CRC
1448         
1449         * lib/krb5/mk_req.c (krb5_mk_req): use auth_context->keytype
1450         
1451         * lib/krb5/krb5.h (krb5_auth_context_data): add `keytype' and
1452         `cksumtype'
1454         * lib/krb5/get_cred.c (make_pa_tgs_req): remove old kludge for
1455         secd
1456         (init_tgs_req): add all supported enctypes for the keytype in
1457         `in_creds->session.keytype' if it's set
1459         * lib/krb5/crypto.c (F_PSEUDO): new flag for non-protocol
1460         encryption types
1461         (do_checksum): new function
1462         (verify_checksum): take the checksum to use from the checksum message
1463         and not from the crypto struct
1464         (etypes): add F_PSEUDO flags
1465         (krb5_keytype_to_enctypes): new function
1467         * lib/krb5/auth_context.c (krb5_auth_con_init): initalize keytype
1468         and cksumtype
1469         (krb5_auth_setcksumtype, krb5_auth_getcksumtype): implement
1470         (krb5_auth_setkeytype, krb5_auth_getkeytype): implement
1471         (krb5_auth_setenctype): comment out, it's rather bogus anyway
1473 Sun Apr 25 16:55:50 1999  Johan Danielsson  <joda@pdc.kth.se>
1475         * lib/krb5/krb5_locl.h: fix for stupid aix warnings
1477         * lib/krb5/fcache.c (erase_file): don't malloc
1478         
1479 Sat Apr 24 18:35:21 1999  Johan Danielsson  <joda@pdc.kth.se>
1481         * kdc/config.c: pass context to krb5_config_file_free
1483         * kuser/kinit.c: add `--fcache-version' to set cache version to
1484         create
1486         * kuser/klist.c: print cache version if verbose
1488         * lib/krb5/transited.c (krb5_domain_x500_decode): don't abort
1490         * lib/krb5/principal.c: abort -> krb5_abortx
1492         * lib/krb5/mk_rep.c: abort -> krb5_abortx
1494         * lib/krb5/config_file.c: abort -> krb5_abortx
1496         * lib/krb5/context.c (init_context_from_config_file): init
1497         fcache_version; add krb5_{get,set}_fcache_version
1499         * lib/krb5/keytab.c: add support for reading (and writing?) old
1500         version keytabs
1502         * lib/krb5/cache.c: add krb5_cc_get_version
1504         * lib/krb5/fcache.c: add support for reading and writing old
1505         version cache files
1507         * lib/krb5/store_mem.c (krb5_storage_from_mem): zero flags
1509         * lib/krb5/store_emem.c (krb5_storage_emem): zero flags
1511         * lib/krb5/store_fd.c (krb5_storage_from_fd): zero flags
1513         * lib/krb5/store.c: add flags to change how various fields are
1514         stored, used for old cache version support
1515         
1516         * lib/krb5/krb5.h: add support for reading and writing old version
1517         cache files, and keytabs
1518         
1519 Wed Apr 21 00:09:26 1999  Assar Westerlund  <assar@sics.se>
1521         * configure.in: fix test for readline.h remember to link with
1522         $LIB_tgetent when trying linking with readline
1524         * lib/krb5/init_creds_pw.c (get_init_creds_common): if start_time
1525         is given, request a postdated ticket.
1527         * lib/krb5/data.c (krb5_data_free): free data as long as it's not
1528         NULL
1530 Tue Apr 20 20:18:14 1999  Assar Westerlund  <assar@sics.se>
1532         * kpasswd/Makefile.am (kpasswdd_LDADD): add LIB_dlopen
1534         * lib/krb5/krb5.h (KRB5_VERIFY_AP_REQ_IGNORE_INVALID): add
1536         * lib/krb5/rd_req.c (krb5_decrypt_ticket): add `flags` and
1537         KRB5_VERIFY_AP_REQ_IGNORE_INVALID for ignoring that the ticket is
1538         invalid
1540 Tue Apr 20 12:42:08 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1542         * kpasswd/kpasswdd.c: don't try to load library by default; get
1543         library and function name from krb5.conf
1545         * kpasswd/sample_passwd_check.c: sample password checking
1546         functions
1548 Mon Apr 19 22:22:19 1999  Assar Westerlund  <assar@sics.se>
1550         * lib/krb5/store.c (krb5_storage_to_data, krb5_ret_data): use
1551         krb5_data_alloc and be careful with checking allocation and sizes.
1553         * kuser/klist.c (--tokens): conditionalize on KRB4
1555         * kuser/kinit.c (renew_validate): set all flags
1556         (main): fix cut-n-paste error when setting start-time
1558         * kdc/kerberos5.c (check_tgs_flags): starttime of a validate
1559         ticket should be > than current time
1560         (*): send flags to krb5_verify_ap_req and krb5_decrypt_ticket
1562         * kuser/kinit.c (renew_validate): use the client realm instead of
1563         the local realm when renewing tickets.
1565         * lib/krb5/get_for_creds.c (krb5_fwd_tgs_creds): compat function
1566         (krb5_get_forwarded_creds): correct freeing of out_creds
1568         * kuser/kinit.c (renew_validate): hopefully fix up freeing of
1569         memory
1571         * configure.in: do all the krb4 tests with "$krb4" != "no"
1573         * lib/krb5/keyblock.c (krb5_free_keyblock_contents): don't zero
1574         keyvalue if it's NULL.  noticed by Ake Sandgren <ake@cs.umu.se>
1576         * lib/krb5/get_in_tkt.c (add_padata): loop over all enctypes
1577         instead of just taking the first one.  fix all callers.  From
1578         "Brandon S. Allbery KF8NH" <allbery@kf8nh.apk.net>
1580         * kdc/kdc_locl.h (enable_kaserver): declaration
1581         
1582         * kdc/hprop.c (ka_convert): print the failing principal.  AFS 3.4a
1583         creates krbtgt.REALMOFCELL as NOTGS+NOSEAL, work around.  From
1584         "Brandon S. Allbery KF8NH" <allbery@kf8nh.apk.net>
1586         * kdc/hpropd.c (open_socket): stupid cast to get rid of a warning
1588         * kdc/connect.c (add_standard_ports, process_request): look at
1589         enable_kaserver.  From "Brandon S. Allbery KF8NH"
1590         <allbery@kf8nh.apk.net>
1592         * kdc/config.c: new flag --kaserver and config file option
1593         enable-kaserver.  From "Brandon S. Allbery KF8NH"
1594         <allbery@kf8nh.apk.net>
1596 Mon Apr 19 12:32:04 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1598         * configure.in: check for dlopen, and dlfcn.h
1600         * kpasswd/kpasswdd.c: add support for dlopen:ing password quality
1601         check library
1603         * configure.in: add appl/su
1605 Sun Apr 18 15:46:53 1999  Johan Danielsson  <joda@blubb.pdc.kth.se>
1607         * lib/krb5/cache.c: add krb5_cc_get_type that returns type of a
1608         cache
1610 Fri Apr 16 17:58:51 1999  Assar Westerlund  <assar@sics.se>
1612         * configure.in: LIB_kdb: -L should be before -lkdb
1613         test for prototype of strsep
1614         
1615 Thu Apr 15 11:34:38 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1617         * lib/krb5/Makefile.am: update version
1619         * lib/krb5/get_for_creds.c (krb5_get_forwarded_creds): use
1620         ALLOC_SEQ
1622         * lib/krb5/fcache.c: add some support for reading and writing old
1623         cache formats;
1624         (fcc_store_cred): use krb5_store_creds; (fcc_read_cred): use
1625         krb5_ret_creds
1627         * lib/krb5/store_mem.c (krb5_storage_from_mem): check malloc,
1628         initialize host_byteorder
1630         * lib/krb5/store_fd.c (krb5_storage_from_fd): initialize
1631         host_byteorder
1633         * lib/krb5/store_emem.c (krb5_storage_emem): initialize
1634         host_byteorder
1636         * lib/krb5/store.c (krb5_storage_set_host_byteorder): add;
1637         (krb5_store_int32,krb5_ret_int32,krb5_store_int16,krb5_ret_int16):
1638         check host_byteorder flag; (krb5_store_creds): add;
1639         (krb5_ret_creds): add
1641         * lib/krb5/krb5.h (krb5_storage): add `host_byteorder' flag for
1642         storage of numbers
1644         * lib/krb5/heim_err.et: add `host not found' error
1646         * kdc/connect.c: don't use data after clearing decriptor
1648         * lib/krb5/auth_context.c: abort -> krb5_abortx
1650         * lib/krb5/warn.c: add __attribute__; add *abort functions
1652         * configure.in: check for __attribute__
1654         * kdc/connect.c: log bogus requests
1656 Tue Apr 13 18:38:05 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1658         * lib/kadm5/create_s.c (kadm5_s_create_principal): create v4 salts
1659         for all DES keys
1661 1999-04-12  Assar Westerlund  <assar@sics.se>
1663         * lib/krb5/get_cred.c (init_tgs_req): re-structure a little bit
1665         * lib/krb5/get_cred.c (init_tgs_req): some more error checking
1667         * lib/krb5/generate_subkey.c (krb5_generate_subkey): check return
1668         value from malloc
1670 Sun Apr 11 03:47:23 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1672         * lib/krb5/krb5.conf.5: update to reality
1674         * lib/krb5/krb5_425_conv_principal.3: update to reality
1676 1999-04-11  Assar Westerlund  <assar@sics.se>
1678         * lib/krb5/get_host_realm.c: handle more than one realm for a host
1680         * kpasswd/kpasswd.c (main): use krb5_program_setup and
1681         print_version
1683         * kdc/string2key.c (main): use krb5_program_setup and
1684         print_version
1686 Sun Apr 11 02:35:58 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1688         * lib/krb5/principal.c (krb5_524_conv_principal): make it actually
1689         work, and check built-in list of host-type first-components
1691         * lib/krb5/krbhst.c: lookup SRV-records to find a kdc for a realm
1693         * lib/krb5/context.c: add srv_* flags to context
1695         * lib/krb5/principal.c: add default v4_name_convert entries
1697         * lib/krb5/krb5.h: add srv_* flags to context
1699 Sat Apr 10 22:52:28 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1701         * kadmin/kadmin.c: complain about un-recognised commands
1703         * admin/ktutil.c: complain about un-recognised commands
1705 Sat Apr 10 15:41:49 1999  Assar Westerlund  <assar@sics.se>
1707         * kadmin/load.c (doit): fix error message
1709         * lib/krb5/crypto.c (encrypt_internal): free checksum if lengths
1710         fail to match.
1711         (krb5_get_wrapped_length): new function
1713         * configure.in: security/pam_modules.h: check for
1715         * lib/krb5/init_creds_pw.c (krb5_get_init_creds_password): kludge
1716         around `ret_as_reply' semantics by only freeing it when ret == 0
1718 Fri Apr  9 20:24:04 1999  Assar Westerlund  <assar@sics.se>
1720         * kuser/klist.c (print_cred_verbose): handle the case of a bad
1721         enctype
1723         * configure.in: test for more header files
1724         (LIB_roken): set
1726 Thu Apr  8 15:01:59 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1728         * configure.in: fixes for building w/o krb4
1730         * ltmain.sh: update to libtool 1.2d
1732         * ltconfig: update to libtool 1.2d
1734 Wed Apr  7 23:37:26 1999  Assar Westerlund  <assar@sics.se>
1736         * kdc/hpropd.c: fix some error messages to be more understandable.
1738         * kdc/hprop.c (ka_dump): remove unused variables
1740         * appl/test/tcp_server.c: remove unused variables
1742         * appl/test/gssapi_server.c: remove unused variables
1744         * appl/test/gssapi_client.c: remove unused variables
1746 Wed Apr  7 14:05:15 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1748         * lib/krb5/context.c (krb5_get_err_text): long -> krb5_error_code
1750         * kuser/klist.c: make it compile w/o krb4
1752         * kuser/kdestroy.c: make it compile w/o krb4
1754         * admin/ktutil.c: fix {srv,key}2{srv,key}tab confusion; add help
1755         strings
1757 Mon Apr  5 16:13:46 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1759         * configure.in: test for MIPS ABI; new test_package
1761 Thu Apr  1 11:00:40 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1763         * include/Makefile.am: clean krb5-private.h
1765         * Release 0.1d
1767         * kpasswd/kpasswdd.c (doit): pass context to
1768         krb5_get_all_client_addrs
1770         * kdc/connect.c (init_sockets): pass context to
1771         krb5_get_all_server_addrs
1773         * lib/krb5/get_in_tkt.c (init_as_req): pass context to
1774         krb5_get_all_client_addrs
1776         * lib/krb5/get_cred.c (get_cred_kdc_la): pass context to
1777         krb5_get_all_client_addrs
1779         * lib/krb5/get_addrs.c (get_addrs_int): add extra host addresses
1781         * lib/krb5/krb5.h: add support for adding an extra set of
1782         addresses
1784         * lib/krb5/context.c: add support for adding an extra set of
1785         addresses
1787         * lib/krb5/addr_families.c: add krb5_parse_address
1789         * lib/krb5/address.c: krb5_append_addresses
1791         * lib/krb5/config_file.c (parse_binding): don't zap everything
1792         after first whitespace
1794         * kuser/kinit.c (renew_validate): don't allocate out
1796         * lib/krb5/get_for_creds.c (krb5_get_forwarded_creds): don't
1797         allocate out_creds
1799         * lib/krb5/get_cred.c (get_cred_kdc, get_cred_kdc_la): make
1800         out_creds pointer;
1801         (krb5_get_kdc_cred): allocate out_creds; (get_cred_from_kdc_flags):
1802         free more memory
1804         * lib/krb5/crypto.c (encrypt_internal): free checksum
1806         * lib/krb5/convert_creds.c (krb524_convert_creds_kdc): free reply,
1807         and ticket
1809         * kuser/Makefile.am: remove kfoo
1811         * lib/Makefile.am: add auth
1813         * lib/kadm5/iprop.h: getarg.h
1815         * lib/kadm5/replay_log.c: use getarg
1817         * lib/kadm5/ipropd_slave.c: use getarg
1819         * lib/kadm5/ipropd_master.c: use getarg
1821         * lib/kadm5/dump_log.c: use getarg
1823         * kpasswd/kpasswdd.c: use getarg
1825         * Makefile.am.common: make a more working check-local target
1827         * lib/asn1/main.c: use getargs
1829 Mon Mar 29 20:19:57 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1831         * kuser/klist.c (print_cred_verbose): use krb5_print_address
1833         * lib/kadm5/server.c: k_{put,get}_int -> _krb5_{put,get}_int
1835         * lib/krb5/addr_families.c (krb5_print_address): handle unknown
1836         address types; (ipv6_print_addr): print in 16-bit groups (as it
1837         should)
1839         * lib/krb5/crc.c: crc_{init_table,update} ->
1840         _krb5_crc_{init_table,update}
1842         * lib/krb5/crypto.c: k_{put,get}_int -> _krb5_{put,get}_int
1843         crc_{init_table,update} -> _krb5_crc_{init_table,update}
1845         * lib/krb5/send_to_kdc.c: k_{put,get}_int -> _krb5_{put,get}_int
1847         * lib/krb5/store.c: k_{put,get}_int -> _krb5_{put,get}_int
1849         * lib/krb5/krb5_locl.h: include krb5-private.h
1851         * kdc/connect.c (addr_to_string): use krb5_print_address
1853         * lib/krb5/addr_families.c (krb5_print_address): int -> size_t
1855         * lib/krb5/addr_families.c: add support for printing ipv6
1856         addresses, either with inet_ntop, or ugly for-loop
1858         * kdc/524.c: check that the ticket came from a valid address; use
1859         the address of the connection as the address to put in the v4
1860         ticket (if this address is AF_INET)
1862         * kdc/connect.c: pass addr to do_524
1864         * kdc/kdc_locl.h: prototype for do_524
1866 Sat Mar 27 17:48:31 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1868         * configure.in: check for OSF C2; bind/bitypes.h, getudbnam,
1869         setlim; check for auth modules; siad.h, getpwnam_r;
1870         lib/auth/Makefile, lib/auth/sia/Makefile
1872         * lib/krb5/crypto.c: n_fold -> _krb5_n_fold
1874         * lib/krb5/n-fold.c: n_fold -> _krb5_n_fold
1876 Thu Mar 25 04:35:21 1999  Assar Westerlund  <assar@sics.se>
1878         * lib/kadm5/set_keys.c (_kadm5_set_keys): free salt when zapping
1879         it
1881         * lib/kadm5/free.c (kadm5_free_principal_ent): free `key_data'
1883         * lib/hdb/ndbm.c (NDBM_destroy): clear master key
1885         * lib/hdb/db.c (DB_destroy): clear master key
1886         (DB_open): check malloc
1888         * kdc/connect.c (init_sockets): free addresses
1890         * kadmin/kadmin.c (main): make code more consistent.  always free
1891         configuration information.
1893         * kadmin/init.c (create_random_entry): free the entry
1895 Wed Mar 24 04:02:03 1999  Assar Westerlund  <assar@sics.se>
1897         * lib/krb5/init_creds_pw.c (krb5_get_init_creds_password):
1898         re-organize the code to always free `kdc_reply'
1900         * lib/krb5/get_in_tkt.c (krb5_get_in_cred): be more careful about
1901         freeing memory
1903         * lib/krb5/fcache.c (fcc_destroy): don't call fcc_close
1905         * lib/krb5/crypto.c (krb5_crypto_destroy): free `crypto'
1907         * lib/hdb/hdb_locl.h: try db_185.h first in case db.h is a DB 2.0
1908         header
1910         * configure.in (db_185.h): check for
1912         * admin/srvcreate.c: new file. contributed by Daniel Kouril
1913         <kouril@informatics.muni.cz>
1915         * admin/ktutil.c: srvcreate: new command
1917         * kuser/klist.c: add support for printing AFS tokens
1919         * kuser/kdestroy.c: add support for destroying v4 tickets and AFS
1920         tokens.  based on code by Love <lha@stacken.kth.se>
1922         * kuser/Makefile.am (kdestroy_LDADD, klist_LDADD): more libraries
1924         * configure.in: sys/ioccom.h: test for
1926         * kuser/klist.c (main): don't print `no ticket file' with --test.
1927         From: Love <lha@e.kth.se>
1929         * kpasswd/kpasswdd.c (doit): more braces to make gcc happy
1931         * kdc/connect.c (init_socket): get rid of a stupid warning
1933         * include/bits.c (my_strupr): cast away some stupid warnings
1935 Tue Mar 23 14:34:44 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1937         * lib/krb5/get_host_realm.c (krb5_get_host_realm): no infinite
1938         loops, please
1940 Tue Mar 23 00:00:45 1999  Assar Westerlund  <assar@sics.se>
1942         * lib/kadm5/Makefile.am (install_build_headers): recover from make
1943         rewriting the names of the headers kludge to help solaris make
1945         * lib/krb5/Makefile.am: kludge to help solaris make
1947         * lib/hdb/Makefile.am: kludge to help solaris make
1949         * configure.in (LIB_kdb): make sure there's a -L option in here by
1950         adding $(LIB_krb4)
1952         * lib/asn1/gen_glue.c (generate_2int, generate_int2): int ->
1953         unsigned
1955         * configure.in (SunOS): set to a number KRB4, KRB5 conditionals:
1956         remove the `dnl' to work around an automake flaw
1958 Sun Mar 21 15:08:49 1999  Johan Danielsson  <joda@blubb.pdc.kth.se>
1960         * lib/krb5/get_default_realm.c: char* -> krb5_realm
1962 Sun Mar 21 14:08:30 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1964         * include/bits.c: <bind/bitypes.h>
1966         * lib/krb5/Makefile.am: create krb5-private.h
1968 Sat Mar 20 00:08:59 1999  Assar Westerlund  <assar@sics.se>
1970         * configure.in (gethostname): remove duplicate
1972 Fri Mar 19 14:48:03 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1974         * lib/hdb/Makefile.am: add version-info
1976         * lib/gssapi/Makefile.am: add version-info
1978         * lib/asn1/Makefile.am: use $(x:y=z) make syntax; move check-der
1979         to check_PROGRAMS
1981         * lib/Makefile.am: add 45
1983         * lib/kadm5/Makefile.am: split in client and server libraries
1984         (breaks shared libraries otherwise)
1986 Thu Mar 18 11:33:30 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1988         * include/kadm5/Makefile.am: clean a lot of header files (since
1989         automake lacks a clean-hook)
1991         * include/Makefile.am: clean a lot of header files (since automake
1992         lacks a clean-hook)
1994         * lib/kadm5/Makefile.am: fix build-installation of headers
1996         * lib/krb5/Makefile.am: remove include_dir hack
1998         * lib/hdb/Makefile.am: remove include_dir hack
2000         * lib/asn1/Makefile.am: remove include_dir hack
2002         * include/Makefile.am: remove include_dir hack
2004         * doc/whatis.texi: define sub for html
2006         * configure.in: LIB_kdb, have_err_h, have_fnmatch_h, have_glob_h
2008         * lib/asn1/Makefile.am: der.h
2010         * kpasswd/kpasswdd.c: admin.h -> kadm5/admin.h
2012         * kdc/Makefile.am: remove junk
2014         * kadmin/Makefile.am: sl.a -> sl.la
2016         * appl/afsutil/Makefile.am: remove EXTRA_bin_PROGRAMS
2018         * admin/Makefile.am: sl.a -> sl.la
2020         * configure.in: condition KRB5; AC_CHECK_XAU
2022         * Makefile.am: include Makefile.am.common
2024         * include/kadm5/Makefile.am: include Makefile.am.common; don't
2025         install headers from here
2027         * include/Makefile.am: include Makefile.am.common; don't install
2028         headers from here
2030         * doc/Makefile.am: include Makefile.am.common
2032         * lib/krb5/Makefile.am: include Makefile.am.common
2034         * lib/kadm5/Makefile.am: include Makefile.am.common
2036         * lib/hdb/Makefile.am: include Makefile.am.common
2038         * lib/gssapi/Makefile.am: include Makefile.am.common
2040         * lib/asn1/Makefile.am: include Makefile.am.common
2042         * lib/Makefile.am: include Makefile.am.common
2044         * lib/45/Makefile.am: include Makefile.am.common
2046         * kuser/Makefile.am: include Makefile.am.common
2048         * kpasswd/Makefile.am: include Makefile.am.common
2050         * kdc/Makefile.am: include Makefile.am.common
2052         * kadmin/Makefile.am: include Makefile.am.common
2054         * appl/test/Makefile.am: include Makefile.am.common
2056         * appl/afsutil/Makefile.am: include Makefile.am.common
2058         * appl/Makefile.am: include Makefile.am.common
2060         * admin/Makefile.am: include Makefile.am.common
2062 Wed Mar 17 03:04:38 1999  Assar Westerlund  <assar@sics.se>
2064         * lib/krb5/store.c (krb5_store_stringz): braces fix
2066         * lib/kadm5/get_s.c (kadm5_s_get_principal): braces fix
2068         * lib/kadm5/ent_setup.c (_kadm5_setup_entry): braces fix
2070         * kdc/connect.c (loop): braces fix
2072         * lib/krb5/config_file.c: cast to unsigned char to make is* happy
2074         * lib/krb5/log.c (krb5_addlog_dest): more braces to make gcc happy
2076         * lib/krb5/crypto.c (krb5_verify_checksum): rename C -> cksum to
2077         be consistent
2079         * kadmin/util.c (timeval2str): more braces to make gcc happy
2081         * kadmin/load.c: cast in is* to get rid of stupid warning
2083         * kadmin/dump.c (append_hex): cast in isalnum to get rid of stupid
2084         warning
2086         * kdc/kaserver.c: malloc checks and fixes
2088         * lib/krb5/get_host_realm.c (krb5_get_host_realm): include leading
2089         dot (if any) when looking up realms.
2091 Fri Mar 12 13:57:56 1999  Johan Danielsson  <joda@blubb.pdc.kth.se>
2093         * lib/krb5/get_host_realm.c: add dns support
2095         * lib/krb5/set_default_realm.c: use krb5_free_host_realm
2097         * lib/krb5/free_host_realm.c: check for NULL realmlist
2099         * lib/krb5/context.c: don't print warning if there is no krb5.conf
2101 Wed Mar 10 19:29:46 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
2103         * configure.in: use AC_WFLAGS
2105 Mon Mar  8 11:49:43 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
2107         * Release 0.1c
2109         * kuser/klist.c: use print_version
2111         * kuser/kdestroy.c: use print_version
2113         * kdc/hpropd.c: use print_version
2115         * kdc/hprop.c: use print_version
2117         * kdc/config.c: use print_version
2119         * kadmin/kadmind.c: use print_version
2121         * kadmin/kadmin.c: use print_version
2123         * appl/test/common.c: use print_version
2125         * appl/afsutil/afslog.c: use print_version
2127 Mon Mar  1 10:49:14 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
2129         * lib/krb5/get_addrs.c: SOCKADDR_HAS_SA_LEN ->
2130         HAVE_STRUCT_SOCKADDR_SA_LEN
2132         * configure.in, acconfig.h, cf/*: update to automake 1.4/autoconf 2.13
2134 Sun Feb 28 18:19:20 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
2136         * lib/asn1/gen.c: make `BIT STRING's unsigned
2138         * lib/asn1/{symbol.h,gen.c}: add TUInteger type
2140         * lib/krb5/verify_user.c (krb5_verify_user): pass prompter to
2141         krb5_get_init_creds_password
2143         * lib/krb5/fcache.c (fcc_gen_new): implement
2145 Sat Feb 27 22:41:23 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
2147         * doc/install.texi: krb4 is now automatically detected
2149         * doc/misc.texi: update procedure to set supported encryption
2150         types
2152         * doc/setup.texi: change some silly wordings
2154 Sat Feb 27 22:17:30 1999  Johan Danielsson  <joda@blubb.pdc.kth.se>
2156         * lib/krb5/keytab.c (fkt_remove_entry): make this work
2158         * admin/ktutil.c: add minimally working `get' command
2160 Sat Feb 27 19:44:49 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
2162         * lib/hdb/convert_db.c: more typos
2164         * include/Makefile.am: remove EXTRA_DATA (as of autoconf
2165         2.13/automake 1.4)
2167         * appl/Makefile.am: OTP_dir
2169 Fri Feb 26 17:37:00 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
2171         * doc/setup.texi: add kadmin section
2173         * lib/asn1/check-der.c: fix printf warnings
2175 Thu Feb 25 11:16:49 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
2177         * configure.in: -O does not belong in WFLAGS
2179 Thu Feb 25 11:05:57 1999  Johan Danielsson  <joda@blubb.pdc.kth.se>
2181         * lib/asn1/der_put.c: fix der_put_int
2183 Tue Feb 23 20:35:12 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
2185         * configure.in: use AC_BROKEN_GLOB
2187 Mon Feb 22 15:12:44 1999  Johan Danielsson  <joda@blubb.pdc.kth.se>
2189         * configure.in: check for glob
2191 Mon Feb 22 11:32:42 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
2193         * Release 0.1b
2195 Sat Feb 20 15:48:06 1999  Johan Danielsson  <joda@blubb.pdc.kth.se>
2197         * lib/hdb/convert_db.c: convert DES3 keys to des3-cbc-sha1, and
2198         des3-cbc-md5
2200         * lib/krb5/crypto.c (DES3_string_to_key): make this actually do
2201         what the draft said it should
2203         * lib/hdb/convert_db.c: little program for database conversion
2205         * lib/hdb/db.c (DB_open): try to open database w/o .db extension
2207         * lib/hdb/ndbm.c (NDBM_open): add test for database format
2209         * lib/hdb/db.c (DB_open): add test for database format
2211         * lib/asn1/gen_glue.c (generate_2int): don't depend on flags being
2212         unsigned
2214         * lib/hdb/hdb.c: change `hdb_set_master_key' to take an
2215         EncryptionKey, and add a new function `hdb_set_master_keyfile' to
2216         do what `hdb_set_master_key' used to do
2218         * kdc/kstash.c: add `--convert-file' option to change keytype of
2219         existing master key file
2221 Fri Feb 19 07:04:14 1999  Assar Westerlund  <assar@squid.pdc.kth.se>
2223         * Release 0.1a
2225 Sat Feb 13 17:12:53 1999  Assar Westerlund  <assar@sics.se>
2227         * lib/krb5/mk_safe.c (krb5_mk_safe): sizeof(buf) -> buf_size, buf
2228         is now a `u_char *'
2230         * lib/krb5/get_in_tkt.c (krb5_init_etype): etypes are now `int'
2232         * lib/krb5/get_host_realm.c (krb5_get_host_realm): constize
2233         orig_host
2235         (krb5_salttype_to_string): new function (RSA_MD5_DES_verify,
2236         RSA_MD5_DES3_verify): initialize ret
2238         * lib/gssapi/init_sec_context.c (init_auth): remove unnecessary
2239         gssapi_krb5_init.  ask for KEYTYPE_DES credentials
2241         * kadmin/get.c (print_entry_long): print the keytypes and salts
2242         available for the principal
2244         * configure.in (WFLAGS): add `-O' to catch unitialized variables
2245         and such
2246         (gethostname, mkstemp, getusershell, inet_aton): more tests
2248         * lib/hdb/hdb.h: update prototypes
2250         * configure.in: homogenize broken detection with krb4
2252         * lib/kadm5/init_c.c (kadm5_c_init_with_context): remove unused
2253         `error'
2255         * lib/asn1/Makefile.am (check-der): add
2257         * lib/asn1/gen.c (define_type): map ASN1 Integer to `int' instead
2258         of `unsigned'
2260         * lib/asn1/der_length.c (length_unsigned): new function
2261         (length_int): handle signed integers
2263         * lib/asn1/der_put.c (der_put_unsigned): new function
2264         (der_put_int): handle signed integers
2266         * lib/asn1/der_get.c (der_get_unsigned): new function
2267         (der_get_int): handle signed integers
2269         * lib/asn1/der.h: all integer functions take `int' instead of
2270         `unsigned'
2272         * lib/asn1/lex.l (filename): unused. remove.
2274         * lib/asn1/check-der.c: new test program for der encoding and
2275         decoding.
2277 Mon Feb  1 04:09:06 1999  Assar Westerlund  <assar@sics.se>
2279         * lib/krb5/send_to_kdc.c (krb5_sendto_kdc): only call
2280         gethostbyname2 with AF_INET6 if we actually have IPv6.  From
2281         "Brandon S. Allbery KF8NH" <allbery@kf8nh.apk.net>
2283         * lib/krb5/changepw.c (get_kdc_address): dito
2285 Sun Jan 31 06:26:36 1999  Assar Westerlund  <assar@sics.se>
2287         * kdc/connect.c (parse_prots): always bind to AF_INET, there are
2288         v6-implementations without support for `mapped V4 addresses'.
2289         From Jun-ichiro itojun Hagino <itojun@kame.net>
2291 Sat Jan 30 22:38:27 1999  Assar Westerlund  <assar@juguete.sics.se>
2293         * Release 0.0u
2295 Sat Jan 30 13:43:02 1999  Assar Westerlund  <assar@sics.se>
2297         * lib/krb5/Makefile.am: explicit rules for *.et files
2299         * lib/kadm5/init_c.c (get_kadm_ticket): only remove creds if
2300         krb5_get_credentials was succesful.
2301         (get_new_cache): return better error codes and return earlier.
2302         (get_cred_cache): only delete default_client if it's different
2303         from client
2304         (kadm5_c_init_with_context): return a more descriptive error.
2306         * kdc/kerberos5.c (check_flags): handle NULL client or server
2308         * lib/krb5/sendauth.c (krb5_sendauth): return the error in
2309         `ret_error' iff != NULL
2311         * lib/krb5/rd_error.c (krb5_free_error, krb5_free_error_contents):
2312         new functions
2314         * lib/krb5/mk_req_ext.c (krb5_mk_req_extended): more
2315         type-correctness
2317         * lib/krb5/krb5.h (krb5_error): typedef to KRB_ERROR
2319         * lib/krb5/init_creds_pw.c: KRB5_TGS_NAME: use
2321         * lib/krb5/get_cred.c: KRB5_TGS_NAME: use
2323         * lib/kafs/afskrb5.c (afslog_uid_int): update to changes
2325         * lib/kadm5/rename_s.c (kadm5_s_rename_principal): call remove
2326         instead of rename, but shouldn't this just call rename?
2328         * lib/kadm5/get_s.c (kadm5_s_get_principal): always return an
2329         error if the principal wasn't found.
2331         * lib/hdb/ndbm.c (NDBM_seq): unseal key
2333         * lib/hdb/db.c (DB_seq): unseal key
2335         * lib/asn1/Makefile.am: added explicit rules for asn1_err.[ch]
2337         * kdc/hprop.c (v4_prop): add krbtgt/THISREALM@OTHERREALM when
2338         finding cross-realm tgts in the v4 database
2340         * kadmin/mod.c (mod_entry): check the number of arguments.  check
2341         that kadm5_get_principal worked.
2343         * lib/krb5/keytab.c (fkt_remove_entry): remove KRB5_KT_NOTFOUND if
2344         we weren't able to remove it.
2346         * admin/ktutil.c: less drive-by-deleting.  From Love
2347         <lha@e.kth.se>
2349         * kdc/connect.c (parse_ports): copy the string before mishandling
2350         it with strtok_r
2352         * kdc/kerberos5.c (tgs_rep2): print the principal with mismatching
2353         kvnos
2355         * kadmin/kadmind.c (main): convert `debug_port' to network byte
2356         order
2358         * kadmin/kadmin.c: allow specification of port number.
2360         * lib/kadm5/kadm5_locl.h (kadm5_client_context): add
2361         `kadmind_port'.
2363         * lib/kadm5/init_c.c (_kadm5_c_init_context): move up
2364         initalize_kadm5_error_table_r.
2365         allow specification of port number.
2366         
2367         From Love <lha@stacken.kth.se>
2369         * kuser/klist.c: add option -t | --test
2371 Sat Dec  5 19:49:34 1998  Johan Danielsson  <joda@hella.pdc.kth.se>
2373         * lib/krb5/context.c: remove ktype_is_etype
2375         * lib/krb5/crypto.c, lib/krb5/krb5.h, acconfig.h: NEW_DES3_CODE
2377         * configure.in: fix for AIX install; better tests for AIX dynamic
2378         AFS libs; `--enable-new-des3-code'
2380 Tue Dec  1 14:44:44 1998  Johan Danielsson  <joda@hella.pdc.kth.se>
2382         * appl/afsutil/Makefile.am: link with extra libs for aix
2384         * kuser/Makefile.am: link with extra libs for aix
2386 Sun Nov 29 01:56:21 1998  Assar Westerlund  <assar@sics.se>
2388         * lib/krb5/get_addrs.c (krb5_get_all_server_addrs): add.  almost
2389         the same as krb5_get_all_client_addrs except that it includes
2390         loopback addresses
2392         * kdc/connect.c (init_socket): bind to a particular address
2393         (init_sockets): get all local addresses and bind to them all
2395         * lib/krb5/addr_families.c (addr2sockaddr, print_addr): new
2396         methods
2397         (find_af, find_atype): new functions.  use them.
2399         * configure.in: add hesiod
2401 Wed Nov 25 11:37:48 1998  Johan Danielsson  <joda@hella.pdc.kth.se>
2403         * lib/krb5/krb5_err.et: add some codes from kerberos-revisions-03
2405 Mon Nov 23 12:53:48 1998  Assar Westerlund  <assar@sics.se>
2407         * lib/kadm5/log.c: rename delete -> remove
2409         * lib/kadm5/delete_s.c: rename delete -> remove
2411         * lib/hdb/common.c: rename delete -> remove
2413 Sun Nov 22 12:26:26 1998  Assar Westerlund  <assar@sics.se>
2415         * configure.in: check for environ and `struct spwd'
2417 Sun Nov 22 11:42:45 1998  Johan Danielsson  <joda@blubb.pdc.kth.se>
2419         * kdc/kerberos5.c (as_rep): set keytype to sess_ktype if
2420         ktype_is_etype
2422         * lib/krb5/encrypt.c (krb5_keytype_to_etypes): zero terminate
2423         etypes
2424         (em): sort entries
2426 Sun Nov 22 06:54:48 1998  Assar Westerlund  <assar@sics.se>
2428         * lib/krb5/init_creds_pw.c: more type correctness
2430         * lib/krb5/get_cred.c: re-structure code.  remove limits on ASN1
2431         generated bits.
2433 Sun Nov 22 01:49:50 1998  Johan Danielsson  <joda@hella.pdc.kth.se>
2435         * kdc/hprop.c (v4_prop): fix bogus indexing
2437 Sat Nov 21 21:39:20 1998  Assar Westerlund  <assar@sics.se>
2439         * lib/krb5/verify_init.c (fail_verify_is_ok): new function
2440         (krb5_verify_init_creds): if we cannot get a ticket for
2441         host/`hostname` and fail_verify_is_ok just return.  use
2442         krb5_rd_req
2444 Sat Nov 21 23:12:27 1998  Assar Westerlund  <assar@sics.se>
2446         * lib/krb5/free.c (krb5_xfree): new function
2448         * lib/krb5/creds.c (krb5_free_creds_contents): new function
2450         * lib/krb5/context.c: more type correctness
2452         * lib/krb5/checksum.c: more type correctness
2454         * lib/krb5/auth_context.c (krb5_auth_con_init): more type
2455         correctness
2457         * lib/asn1/der_get.c (der_get_length): fix test of len
2458         (der_get_tag): more type correctness
2460         * kuser/klist.c (usage): void-ize
2462         * admin/ktutil.c (kt_remove): some more type correctness.
2464 Sat Nov 21 16:49:20 1998  Johan Danielsson  <joda@hella.pdc.kth.se>
2466         * kuser/klist.c: try to list enctypes as keytypes
2468         * kuser/kinit.c: remove extra `--cache' option, add `--enctypes'
2469         to set list of enctypes to use
2471         * kadmin/load.c: load strings as hex
2473         * kadmin/dump.c: dump hex as string is possible
2475         * admin/ktutil.c: use print_version()
2477         * configure.in, acconfig.h: test for hesiod
2479 Sun Nov 15 17:28:19 1998  Johan Danielsson  <joda@hella.pdc.kth.se>
2481         * lib/krb5/crypto.c: add some crypto debug code
2483         * lib/krb5/get_in_tkt.c (_krb5_extract_ticket): don't use fixed
2484         buffer when encoding ticket
2486         * lib/krb5/auth_context.c (re-)implement `krb5_auth_setenctype'
2488         * kdc/kerberos5.c: allow mis-match of tgt session key, and service
2489         session key
2491         * admin/ktutil.c: keytype -> enctype
2493 Fri Nov 13 05:35:48 1998  Assar Westerlund  <assar@sics.se>
2495         * lib/krb5/krb5.h (KRB5_TGS_NAME, KRB5_TGS_NAME_SIZE): added
2496         
2497 Sat Nov  7 19:56:31 1998  Assar Westerlund  <assar@sics.se>
2499         * lib/krb5/get_cred.c (add_cred): add termination NULL pointer
2501 Mon Nov  2 01:15:06 1998  Assar Westerlund  <assar@sics.se>
2503         * lib/krb5/rd_req.c: adapt to new crypto api
2505         * lib/krb5/rd_rep.c: adapt to new crypto api
2507         * lib/krb5/rd_priv.c: adopt to new crypto api
2509         * lib/krb5/rd_cred.c: adopt to new crypto api
2511         * lib/krb5/principal.c: ENOMEM -> ERANGE
2513         * lib/krb5/mk_safe.c: cleanup and adopt to new crypto api
2515         * lib/krb5/mk_req_ext.c: adopt to new crypto api
2517         * lib/krb5/mk_req.c: get enctype from auth_context keyblock
2519         * lib/krb5/mk_rep.c: cleanup and adopt to new crypto api
2521         * lib/krb5/mk_priv.c: adopt to new crypto api
2523         * lib/krb5/keytab.c: adopt to new crypto api
2525         * lib/krb5/get_in_tkt_with_skey.c: adopt to new crypto api
2527         * lib/krb5/get_in_tkt_with_keytab.c: adopt to new crypto api
2529         * lib/krb5/get_in_tkt_pw.c: adopt to new crypto api
2531         * lib/krb5/get_in_tkt.c: adopt to new crypto api
2533         * lib/krb5/get_cred.c: adopt to new crypto api
2535         * lib/krb5/generate_subkey.c: use new crypto api
2537         * lib/krb5/context.c: rename etype functions to enctype ditto
2539         * lib/krb5/build_auth.c: use new crypto api
2541         * lib/krb5/auth_context.c: remove enctype and cksumtype from
2542         auth_context
2544 Mon Nov  2 01:15:06 1998  Assar Westerlund  <assar@sics.se>
2546         * kdc/connect.c (handle_udp, handle_tcp): correct type of `n'
2548 Tue Sep 15 18:41:38 1998  Johan Danielsson  <joda@hella.pdc.kth.se>
2550         * admin/ktutil.c: fix printing of unrecognized keytypes
2552 Tue Sep 15 17:02:33 1998  Johan Danielsson  <joda@hella.pdc.kth.se>
2554         * lib/kadm5/set_keys.c: add KEYTYPE_USE_AFS3_SALT to keytype if
2555         using AFS3 salt
2557 Tue Aug 25 23:30:52 1998  Assar Westerlund  <assar@sics.se>
2559         * lib/krb5/send_to_kdc.c (krb5_sendto_kdc): care about
2560         `use_admin_kdc'
2562         * lib/krb5/changepw.c (get_kdc_address): use
2563         krb5_get_krb_admin_hst
2565         * lib/krb5/krbhst.c (krb5_get_krb_admin_hst): new function
2567         * lib/krb5/krb5.h (krb5_context_data): add `use_admin_kdc'
2569         * lib/krb5/context.c (krb5_get_use_admin_kdc,
2570         krb5_set_use_admin_kdc): new functions
2572 Tue Aug 18 22:24:12 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2574         * lib/krb5/crypto.c: remove all calls to abort(); check return
2575         value from _key_schedule;
2576         (RSA_MD[45]_DES_verify): zero tmp and res;
2577         (RSA_MD5_DES3_{verify,checksum}): implement
2579 Mon Aug 17 20:18:46 1998  Assar Westerlund  <assar@sics.se>
2581         * kdc/kerberos4.c (swap32): conditionalize
2583         * lib/krb5/mk_req_ext.c (krb5_mk_req_internal): new function
2585         * lib/krb5/get_host_realm.c (krb5_get_host_realm): if the hostname
2586         returned from gethostby*() isn't a FQDN, try with the original
2587         hostname
2589         * lib/krb5/get_cred.c (make_pa_tgs_req): use krb5_mk_req_internal
2590         and correct key usage
2592         * lib/krb5/crypto.c (verify_checksum): make static
2594         * admin/ktutil.c (kt_list): use krb5_enctype_to_string
2596 Sun Aug 16 20:57:56 1998  Assar Westerlund  <assar@sics.se>
2598         * kadmin/cpw.c (do_cpw_entry): use asprintf for the prompt
2600         * kadmin/ank.c (ank): print principal name in prompt
2602         * lib/krb5/crypto.c (hmac): always allocate space for checksum.
2603         never trust c.checksum.length
2604         (_get_derived_key): try to return the derived key
2606 Sun Aug 16 19:48:42 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2608         * lib/krb5/crypto.c (hmac): fix some peculiarities and bugs
2609         (get_checksum_key): assume usage is `formatted'
2610         (create_checksum,verify_checksum): moved the guts of the krb5_*
2611         functions here, both take `formatted' key-usages
2612         (encrypt_internal_derived): fix various bogosities
2613         (derive_key): drop key_type parameter (already given by the
2614         encryption_type)
2616         * kdc/kerberos5.c (check_flags): handle case where client is NULL
2618         * kdc/connect.c (process_request): return zero after processing
2619         kerberos 4 request
2621 Sun Aug 16 18:38:15 1998  Johan Danielsson  <joda@blubb.pdc.kth.se>
2623         * lib/krb5/crypto.c: merge x-*.[ch] into one file
2625         * lib/krb5/cache.c: remove residual from krb5_ccache_data
2627 Fri Aug 14 16:28:23 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2629         * lib/krb5/x-crypto.c (derive_key): move DES3 specific code to
2630         separate function (will eventually end up someplace else)
2632         * lib/krb5/x-crypto.c (krb5_string_to_key_derived): allocate key
2634         * configure.in, acconfig.h: test for four valued krb_put_int
2636 Thu Aug 13 23:46:29 1998  Assar Westerlund  <assar@emma.pdc.kth.se>
2638         * Release 0.0t
2640 Thu Aug 13 22:40:17 1998  Assar Westerlund  <assar@sics.se>
2642         * lib/krb5/config_file.c (parse_binding): remove trailing
2643         whitespace
2645 Wed Aug 12 20:15:11 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2647         * lib/krb5/x-checksum.c (krb5_verify_checksum): pass checksum type
2648         to krb5_create_checksum
2650         * lib/krb5/x-key.c: implement DES3_string_to_key_derived; fix a
2651         few typos
2653 Wed Aug  5 12:39:54 1998  Assar Westerlund  <assar@emma.pdc.kth.se>
2655         * Release 0.0s
2657 Thu Jul 30 23:12:17 1998  Assar Westerlund  <assar@sics.se>
2659         * lib/krb5/mk_error.c (krb5_mk_error): realloc until you die
2661 Thu Jul 23 19:49:03 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2663         * kdc/kdc_locl.h: proto for `get_des_key'
2665         * configure.in: test for four valued el_init
2667         * kuser/klist.c: keytype -> enctype
2669         * kpasswd/kpasswdd.c (change): use new `krb5_string_to_key*'
2671         * kdc/hprop.c (v4_prop, ka_convert): convert to a set of keys
2673         * kdc/kaserver.c: use `get_des_key'
2675         * kdc/524.c: use new crypto api
2677         * kdc/kerberos4.c: use new crypto api
2679         * kdc/kerberos5.c: always treat keytypes as enctypes; use new
2680         crypto api
2682         * kdc/kstash.c: adapt to new crypto api
2684         * kdc/string2key.c: adapt to new crypto api
2686         * admin/srvconvert.c: add keys for all possible enctypes
2688         * admin/ktutil.c: keytype -> enctype
2690         * lib/gssapi/init_sec_context.c: get enctype from auth_context
2691         keyblock
2693         * lib/hdb/hdb.c: remove hdb_*_keytype2key
2695         * lib/kadm5/set_keys.c: adapt to new crypto api
2697         * lib/kadm5/rename_s.c: adapt to new crypto api
2699         * lib/kadm5/get_s.c: adapt to new crypto api
2701         * lib/kadm5/create_s.c: add keys for des-cbc-crc, des-cbc-md4,
2702         des-cbc-md5, and des3-cbc-sha1
2704         * lib/krb5/heim_err.et: error message for unsupported salt
2706         * lib/krb5/codec.c: short-circuit these functions, since they are
2707         not needed any more
2709         * lib/krb5/rd_safe.c: cleanup and adapt to new crypto api
2711 Mon Jul 13 23:00:59 1998  Assar Westerlund  <assar@sics.se>
2713         * lib/krb5/send_to_kdc.c (krb5_sendto_kdc): don't advance
2714         hostent->h_addr_list, use a copy instead
2716 Mon Jul 13 15:00:31 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2718         * lib/krb5/config_file.c (parse_binding, parse_section): make sure
2719         everything is ok before adding to linked list
2721         * lib/krb5/config_file.c: skip ws before checking for comment
2723 Wed Jul  8 10:45:45 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2725         * lib/asn1/k5.asn1: hmac-sha1-des3 = 12
2727 Tue Jun 30 18:08:05 1998  Assar Westerlund  <assar@sics.se>
2729         * lib/krb5/send_to_kdc.c (krb5_sendto_kdc): do not close the
2730         unopened file
2732         * lib/krb5/mk_priv.c: realloc correctly
2734         * lib/krb5/get_addrs.c (find_all_addresses): init j
2736         * lib/krb5/context.c (krb5_init_context): print error if parsing
2737         of config file produced an error.
2739         * lib/krb5/config_file.c (parse_list, krb5_config_parse_file):
2740         ignore more spaces
2742         * lib/krb5/codec.c (krb5_encode_EncKrbCredPart,
2743         krb5_encode_ETYPE_INFO): initialize `ret'
2745         * lib/krb5/build_auth.c (krb5_build_authenticator): realloc
2746         correctly
2748         * lib/kadm5/set_keys.c (_kadm5_set_keys): initialize `ret'
2750         * lib/kadm5/init_c.c (get_cred_cache): try to do the right thing
2751         with default_client
2753         * kuser/kinit.c (main): initialize `ticket_life'
2755         * kdc/kerberos5.c (get_pa_etype_info): initialize `ret'
2756         (tgs_rep2): initialize `krbtgt'
2758         * kdc/connect.c (do_request): check for errors from `sendto'
2760         * kdc/524.c (do_524): initialize `ret'
2762         * kadmin/util.c (foreach_principal): don't clobber `ret'
2764         * kadmin/del.c (del_entry): don't apply on zeroth argument
2766         * kadmin/cpw.c (do_cpw_entry): initialize `ret'
2768 Sat Jun 13 04:14:01 1998  Assar Westerlund  <assar@juguete.sics.se>
2770         * Release 0.0r
2772 Sun Jun  7 04:13:14 1998  Assar Westerlund  <assar@sics.se>
2774         * lib/krb5/addr_families.c: fall-back definition of
2775         IN6_ADDR_V6_TO_V4
2777         * configure.in: only set CFLAGS if it wasn't set look for
2778         dn_expand and res_search
2780 Mon Jun  1 21:28:07 1998  Assar Westerlund  <assar@sics.se>
2782         * configure.in: remove duplicate seteuid
2784 Sat May 30 00:19:51 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2786         * lib/krb5/convert_creds.c: import _krb_time_to_life, to avoid
2787         runtime dependencies on libkrb with some shared library
2788         implementations
2790 Fri May 29 00:09:02 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2792         * kuser/kinit_options.c: Default options for kinit.
2794         * kuser/kauth_options.c: Default options for kauth.
2796         * kuser/kinit.c: Implement lots a new options.
2798         * kdc/kerberos5.c (check_tgs_flags): make sure kdc-req-body->rtime
2799         is not NULL; set endtime to min of new starttime + old_life, and
2800         requested endtime
2802         * lib/krb5/init_creds_pw.c (get_init_creds_common): if the
2803         forwardable or proxiable flags are set in options, set the
2804         kdc-flags to the value specified, and not always to one
2806 Thu May 28 21:28:06 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2808         * kdc/kerberos5.c: Optionally compare client address to addresses
2809         in ticket.
2811         * kdc/connect.c: Pass client address to as_rep() and tgs_rep().
2813         * kdc/config.c: Add check_ticket_addresses, and
2814         allow_null_ticket_addresses variables.
2816 Tue May 26 14:03:42 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2818         * lib/kadm5/create_s.c: possibly make DES keys version 4 salted
2820         * lib/kadm5/set_keys.c: check config file for kadmin/use_v4_salt
2821         before zapping version 4 salts
2823 Sun May 24 05:22:17 1998  Assar Westerlund  <assar@sics.se>
2825         * Release 0.0q
2827         * lib/krb5/aname_to_localname.c: new file
2829         * lib/gssapi/init_sec_context.c (repl_mutual): no output token
2831         * lib/gssapi/display_name.c (gss_display_name): zero terminate
2832         output.
2834 Sat May 23 19:11:07 1998  Assar Westerlund  <assar@sics.se>
2836         * lib/gssapi/display_status.c: new file
2838         * Makefile.am: send -I to aclocal
2840         * configure.in: remove duplicate setenv
2842 Sat May 23 04:55:19 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2844         * kadmin/util.c (foreach_principal): Check for expression before
2845         wading through the whole database.
2847         * kadmin/kadmin.c: Pass NULL password to
2848         kadm5_*_init_with_password.
2850         * lib/kadm5/init_c.c: Implement init_with_{skey,creds}*. Make use
2851         of `password' parameter to init_with_password.
2853         * lib/kadm5/init_s.c: implement init_with_{skey,creds}*
2855         * lib/kadm5/server.c: Better arguments for
2856         kadm5_init_with_password.
2858 Sat May 16 07:10:36 1998  Assar Westerlund  <assar@sics.se>
2860         * kdc/hprop.c: conditionalize ka-server reading support on
2861         KASERVER_DB
2863         * configure.in: new option `--enable-kaserver-db'
2865 Fri May 15 19:39:18 1998  Johan Danielsson  <joda@blubb.pdc.kth.se>
2867         * lib/krb5/get_cred.c: Better error if local tgt couldn't be
2868         found.
2870 Tue May 12 21:11:02 1998  Assar Westerlund  <assar@sics.se>
2872         * Release 0.0p
2874         * lib/krb5/mk_req_ext.c (krb5_mk_req_extended): only set
2875         encryption type in auth_context if it's compatible with the type
2876         of the session key
2878 Mon May 11 21:11:14 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2880         * kdc/hprop.c: add support for ka-server databases
2882         * appl/ftp/ftpd: link with -lcrypt, if needed
2884 Fri May  1 07:29:52 1998  Assar Westerlund  <assar@sics.se>
2886         * configure.in: don't test for winsock.h
2888 Sat Apr 18 21:43:11 1998  Johan Danielsson  <joda@puffer.pdc.kth.se>
2890         * Release 0.0o
2892 Sat Apr 18 00:31:11 1998  Johan Danielsson  <joda@blubb.pdc.kth.se>
2894         * lib/krb5/sock_principal.c: Save hostname.
2896 Sun Apr  5 11:29:45 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2898         * lib/krb5/mk_req_ext.c: Use same enctype as in ticket.
2900         * kdc/hprop.c (v4_prop): Check for null key.
2902 Fri Apr  3 03:54:54 1998  Johan Danielsson  <joda@blubb.pdc.kth.se>
2904         * lib/krb5/str2key.c: Fix DES3 string-to-key.
2906         * lib/krb5/keytab.c: Get default keytab name from context.
2908         * lib/krb5/context.c: Get `default_keytab_name' value.
2910         * kadmin/util.c (foreach_principal): Print error message if
2911         `kadm5_get_principals' fails.
2913         * kadmin/kadmind.c: Use `kadmind_loop'.
2915         * lib/kadm5/server.c: Replace several other functions with
2916         `kadmind_loop'.
2918 Sat Mar 28 09:49:18 1998  Assar Westerlund  <assar@sics.se>
2920         * lib/krb5/keytab.c (fkt_add_entry): use an explicit seek instead
2921         of O_APPEND
2923         * configure.in: generate ftp Makefiles
2925         * kuser/klist.c (print_cred_verbose): print IPv4-address in a
2926         portable way.
2928         * admin/srvconvert.c (srvconv): return 0 if successful
2930 Tue Mar 24 00:40:33 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2932         * lib/krb5/keytab.c: MIT compatible changes: add and use sizes to
2933         keytab entries, and change default keytab to `/etc/krb5.keytab'.
2935 Mon Mar 23 23:43:59 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2937         * lib/gssapi/wrap.c: Use `gss_krb5_getsomekey'.
2939         * lib/gssapi/unwrap.c: Implement and use `gss_krb5_getsomekey'.
2940         Fix bug in checking of pad.
2942         * lib/gssapi/{un,}wrap.c: Add support for just integrity
2943         protecting data.
2944         
2945         * lib/gssapi/accept_sec_context.c: Use
2946         `gssapi_krb5_verify_8003_checksum'.
2948         * lib/gssapi/8003.c: Implement `gssapi_krb5_verify_8003_checksum'.
2950         * lib/gssapi/init_sec_context.c: Zero cred, and store session key
2951         properly in auth-context.
2953 Sun Mar 22 00:47:22 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2955         * lib/kadm5/delete_s.c: Check immutable bit.
2957         * kadmin/kadmin.c: Pass client name to kadm5_init.
2959         * lib/kadm5/init_c.c: Get creds for client name passed in.
2961         * kdc/hprop.c (v4_prop): Check for `changepw.kerberos'.
2963 Sat Mar 21 22:57:13 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2965         * lib/krb5/mk_error.c: Verify that error_code is in the range
2966         [0,127].
2968         * kdc/kerberos5.c: Move checking of principal flags to new
2969         function `check_flags'.
2971 Sat Mar 21 14:38:51 1998  Assar Westerlund  <assar@sics.se>
2973         * lib/kadm5/get_s.c (kadm5_s_get_principal): handle an empty salt
2975         * configure.in: define SunOS if running solaris
2977 Sat Mar 21 00:26:34 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2979         * lib/kadm5/server.c: Unifdef test for same principal when
2980         changing password.
2982         * kadmin/util.c: If kadm5_get_principals failes, we might still be
2983         able to perform the requested opreration (for instance someone if
2984         trying to change his own password).
2986         * lib/kadm5/init_c.c: Try to get ticket via initial request, if
2987         not possible via tgt.
2989         * lib/kadm5/server.c: Check for principals changing their own
2990         passwords.
2992         * kdc/kerberos5.c (tgs_rep2): check for interesting flags on
2993         involved principals.
2995         * kadmin/util.c: Fix order of flags.
2997 Thu Mar 19 16:54:10 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2999         * kdc/kerberos4.c: Return sane error code if krb_rd_req fails.
3001 Wed Mar 18 17:11:47 1998  Assar Westerlund  <assar@sics.se>
3003         * acconfig.h: rename HAVE_STRUCT_SOCKADDR_IN6 to HAVE_IPV6
3005 Wed Mar 18 09:58:18 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3007         * lib/krb5/get_in_tkt_with_keytab.c (krb5_keytab_key_proc): don't
3008         free keyseed; use correct keytab
3010 Tue Mar 10 09:56:16 1998  Assar Westerlund  <assar@sics.se>
3012         * acinclude.m4 (AC_KRB_IPV6): rewrote to avoid false positives
3014 Mon Mar 16 23:58:23 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3016         * Release 0.0n
3018 Fri Mar  6 00:41:30 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3020         * lib/gssapi/{accept_sec_context,release_cred}.c: Use
3021         krb5_kt_close/krb5_kt_resolve.
3022         
3023         * lib/krb5/principal.c (krb5_425_conv_principal_ext): Use resolver
3024         to lookup hosts, so CNAMEs can be ignored.
3026         * lib/krb5/send_to_kdc.c (krb5_sendto_kdc, send_and_recv_http):
3027         Add support for using proxy.
3029         * lib/krb5/context.c: Initialize `http_proxy' from
3030         `libdefaults/http_proxy'.
3032         * lib/krb5/krb5.h: Add `http_proxy' to context.
3034         * lib/krb5/send_to_kdc.c: Recognize `http/' and `udp/' as protocol
3035         specifications.
3037 Wed Mar  4 01:47:29 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3039         * admin/ktutil.c: Implement `add' and `remove' functions. Make
3040         `--keytab' a global option.
3042         * lib/krb5/keytab.c: Implement remove with files. Add memory
3043         operations.
3045 Tue Mar  3 20:09:59 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3047         * lib/krb5/keytab.c: Use function pointers.
3049         * admin: Remove kdb_edit.
3051 Sun Mar  1 03:28:42 1998  Assar Westerlund  <assar@sics.se>
3053         * lib/kadm5/dump_log.c: print operation names
3055 Sun Mar  1 03:04:12 1998  Assar Westerlund  <assar@sics.se>
3057         * configure.in: add X-tests, and {bin,...}dir appl/{kx,kauth}
3058         
3059         * lib/krb5/build_auth.c,mk_priv.c,rd_safe.c,mk_safe.c,mk_rep.c:
3060         remove arbitrary limit
3062         * kdc/hprop-common.c: use krb5_{read,write}_message
3064         * lib/kadm5/ipropd_master.c (send_diffs): more careful use
3065         krb5_{write,read}_message
3067         * lib/kadm5/ipropd_slave.c (get_creds): get credentials for
3068         `iprop/master' directly.
3069         (main): use `krb5_read_message'
3071 Sun Mar  1 02:05:11 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3073         * kadmin/kadmin.c: Cleanup commands list, and add help strings.
3075         * kadmin/get.c: Add long, short, and terse (equivalent to `list')
3076         output formats. Short is the default.
3078         * kadmin/util.c: Add `include_time' flag to timeval2str.
3080         * kadmin/init.c: Max-life and max-renew can, infact, be zero.
3082         * kadmin/{cpw,del,ext,get}.c: Use `foreach_principal'.
3084         * kadmin/util.c: Add function `foreach_principal', that loops over
3085         all principals matching an expression.
3087         * kadmin/kadmin.c: Add usage string to `privileges'.
3089         * lib/kadm5/get_princs_s.c: Also try to match aganist the
3090         expression appended with `@default-realm'.
3092         * lib/krb5/principal.c: Add `krb5_unparse_name_fixed_short', that
3093         excludes the realm if it's the same as the default realm.
3095 Fri Feb 27 05:02:21 1998  Assar Westerlund  <assar@sics.se>
3097         * configure.in: more WFLAGS and WFLAGS_NOUNUSED added missing
3098         headers and functions error -> com_err
3100         (krb5_get_init_creds_keytab): use krb5_keytab_key_proc
3102         * lib/krb5/get_in_tkt_with_keytab.c: make `krb5_keytab_key_proc'
3103         global
3105         * lib/kadm5/marshall.c (ret_principal_ent): set `n_tl_data'
3107         * lib/hdb/ndbm.c: use `struct ndbm_db' everywhere.
3109 Fri Feb 27 04:49:24 1998  Assar Westerlund  <assar@sics.se>
3111         * lib/krb5/mk_priv.c (krb5_mk_priv): bump static limit to 10240.
3112         This should be fixed the correct way.
3114         * lib/kadm5/ipropd_master.c (check_acl:) truncate buf correctly
3115         (send_diffs): compare versions correctly
3116         (main): reorder handling of events
3118         * lib/kadm5/log.c (kadm5_log_previous): avoid bad type conversion
3120 Thu Feb 26 02:22:35 1998  Assar Westerlund  <assar@sics.se>
3122         * lib/kadm5/ipropd_{slave,master}.c: new files
3124         * lib/kadm5/log.c (kadm5_log_get_version): take an `fd' as
3125         argument
3127         * lib/krb5/krb5.h (krb5_context_data): `et_list' should be `struct
3128         et_list *'
3130         * aux/make-proto.pl: Should work with perl4
3132 Mon Feb 16 17:20:22 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3134         * lib/krb5/krb5_locl.h: Remove <error.h> (it gets included via
3135         {asn1,krb5}_err.h).
3137 Thu Feb 12 03:28:40 1998  Assar Westerlund  <assar@sics.se>
3139         * lib/krb5/get_in_tkt.c (_krb5_extract_ticket): if time difference
3140         is larger than max_skew, return KRB5KRB_AP_ERR_SKEW
3142         * lib/kadm5/log.c (get_version): globalize
3144         * lib/kadm5/kadm5_locl.h: include <sys/file.h>
3146         * lib/asn1/Makefile.am: add PA_KEY_INFO and PA_KEY_INFO_ENTRY
3148         * kdc/kerberos5.c (get_pa_etype_info): remove gcc-ism of
3149         initializing local struct in declaration.
3151 Sat Jan 31 17:28:58 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3153         * kdc/524.c: Use krb5_decode_EncTicketPart.
3155         * kdc/kerberos5.c: Check at runtime whether to use enctypes
3156         instead of keytypes. If so use the same value to encrypt ticket,
3157         and kdc-rep as well as `keytype' for session key. Fix some obvious
3158         bugs with the handling of additional tickets.
3160         * lib/krb5/rd_req.c: Use krb5_decode_EncTicketPart, and
3161         krb5_decode_Authenticator.
3163         * lib/krb5/rd_rep.c: Use krb5_decode_EncAPRepPart.
3165         * lib/krb5/rd_cred.c: Use krb5_decode_EncKrbCredPart.
3167         * lib/krb5/mk_rep.c: Make sure enc_part.etype is an encryption
3168         type, and not a key type.  Use krb5_encode_EncAPRepPart.
3170         * lib/krb5/init_creds_pw.c: Use krb5_decode_PA_KEY_INFO.
3172         * lib/krb5/get_in_tkt.c: Use krb5_decode_Enc{AS,TGS}RepPart.
3174         * lib/krb5/get_for_creds.c: Use krb5_encode_EncKrbCredPart.
3176         * lib/krb5/get_cred.c: Use krb5_decode_Enc{AS,TGS}RepPart.
3178         * lib/krb5/build_auth.c: Use krb5_encode_Authenticator.
3180         * lib/krb5/codec.c: Enctype conversion stuff.
3182         * lib/krb5/context.c: Ignore KRB5_CONFIG if *not* running
3183         setuid. Get configuration for libdefaults ktype_is_etype, and
3184         default_etypes.
3186         * lib/krb5/encrypt.c: Add krb5_string_to_etype, rename
3187         krb5_convert_etype to krb5_decode_keytype, and add
3188         krb5_decode_keyblock.
3190 Fri Jan 23 00:32:09 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3192         * lib/krb5/{get_in_tkt,rd_req}.c: Use krb5_convert_etype.
3194         * lib/krb5/encrypt.c: Add krb5_convert_etype function - converts
3195         from protocol keytypes (that really are enctypes) to internal
3196         representation.
3198 Thu Jan 22 21:24:36 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3200         * lib/asn1/k5.asn1: Add PA-KEY-INFO structure to hold information
3201         on keys in the database; and also a new `pa-key-info' padata-type.
3203         * kdc/kerberos5.c: If pre-authentication fails, return a list of
3204         keytypes, salttypes, and salts.
3206         * lib/krb5/init_creds_pw.c: Add better support for
3207         pre-authentication, by looking at hints from the KDC.
3209         * lib/krb5/get_in_tkt.c: Add better support for specifying what
3210         pre-authentication to use.
3212         * lib/krb5/str2key.c: Merge entries for KEYTYPE_DES and
3213         KEYTYPE_DES_AFS3.
3215         * lib/krb5/krb5.h: Add pre-authentication structures.
3217         * kdc/connect.c: Don't fail if realloc(X, 0) returns NULL.
3219 Wed Jan 21 06:20:40 1998  Assar Westerlund  <assar@sics.se>
3221         * lib/kadm5/init_s.c (kadm5_s_init_with_password_ctx): initialize
3222         `log_context.socket_name' and `log_context.socket_fd'
3224         * lib/kadm5/log.c (kadm5_log_flush): send a unix domain datagram
3225         to inform the possible running ipropd of an update.
3227 Wed Jan 21 01:34:09 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3229         * lib/krb5/get_in_tkt.c: Return error-packet to caller.
3231         * lib/krb5/free.c (krb5_free_kdc_rep): Free krb5_kdc_rep->error.
3233         * kdc/kerberos5.c: Add some support for using enctypes instead of
3234         keytypes.
3236         * lib/krb5/get_cred.c: Fixes to send authorization-data to the
3237         KDC.
3239         * lib/krb5/build_auth.c: Only generate local subkey if there is
3240         none.
3242         * lib/krb5/krb5.h: Add krb5_authdata type.
3244         * lib/krb5/auth_context.c: Add
3245         krb5_auth_con_set{,localsub,remotesub}key.
3247         * lib/krb5/init_creds_pw.c: Return some error if prompter
3248         functions return failure.
3250 Wed Jan 21 01:16:13 1998  Assar Westerlund  <assar@sics.se>
3252         * kpasswd/kpasswd.c: detect bad password.  use krb5_err.
3254         * kadmin/util.c (edit_entry): remove unused variables
3256 Tue Jan 20 22:58:31 1998  Assar Westerlund  <assar@sics.se>
3258         * kuser/kinit.c: rename `-s' to `-S' to be MIT-compatible.
3260         * lib/kadm5/kadm5_locl.h: add kadm5_log_context and
3261         kadm5_log*-functions
3263         * lib/kadm5/create_s.c (kadm5_s_create_principal): add change to
3264         log
3266         * lib/kadm5/rename_s.c (kadm5_s_rename_principal): add change to
3267         log
3269         * lib/kadm5/init_s.c (kadm5_s_init_with_password_ctx): initialize
3270         log_context
3272         * lib/kadm5/delete_s.c (kadm5_s_delete_principal): add change to
3273         log
3275         * lib/kadm5/modify_s.c (kadm5_s_modify_principal): add change to
3276         log
3278         * lib/kadm5/randkey_s.c (kadm5_s_randkey_principal): add change to
3279         log
3281         * lib/kadm5/chpass_s.c (kadm5_s_chpass_principal): add change to
3282         log
3284         * lib/kadm5/Makefile.am: add log.c, dump_log and replay_log
3286         * lib/kadm5/replay_log.c: new file
3288         * lib/kadm5/dump_log.c: new file
3290         * lib/kadm5/log.c: new file
3292         * lib/krb5/str2key.c (get_str): initialize pad space to zero
3294         * lib/krb5/config_file.c (krb5_config_vget_next): handle c == NULL
3296         * kpasswd/kpasswdd.c: rewritten to use the kadm5 API
3298         * kpasswd/Makefile.am: link with kadm5srv
3300         * kdc/kerberos5.c (tgs_rep): initialize `i'
3302         * kadmin/kadmind.c (main): use kadm5_server_{send,recv}_sp
3304         * include/Makefile.am: added admin.h
3306 Sun Jan 18 01:41:34 1998  Johan Danielsson  <joda@blubb.pdc.kth.se>
3308         * lib/asn1/gen_copy.c: Don't return ENOMEM if allocating 0 bytes.
3310         * lib/krb5/mcache.c (mcc_store_cred): restore linked list if
3311         copy_creds fails.
3313 Tue Jan  6 04:17:56 1998  Assar Westerlund  <assar@sics.se>
3315         * lib/kadm5/server.c: add kadm5_server_{send,recv}{,_sp}
3317         * lib/kadm5/marshall.c: add kadm5_{store,ret}_principal_ent_mask.
3319         * lib/kadm5/init_c.c (kadm5_c_init_with_password_ctx): use
3320         krb5_getportbyname
3322         * kadmin/kadmind.c (main): htons correctly.
3323         moved kadm5_server_{recv,send}
3325         * kadmin/kadmin.c (main): only set admin_server if explicitly
3326         given
3328 Mon Jan  5 23:34:44 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3330         * lib/hdb/ndbm.c: Implement locking of database.
3332         * kdc/kerberos5.c: Process AuthorizationData.
3334 Sat Jan  3 22:07:07 1998  Johan Danielsson  <joda@blubb.pdc.kth.se>
3336         * kdc/string2key.c: Use AFS string-to-key from libkrb5.
3338         * lib/krb5/get_in_tkt.c: Handle pa-afs3-salt case.
3340         * lib/krb5/krb5.h: Add value for AFS salts.
3342         * lib/krb5/str2key.c: Add support for AFS string-to-key.
3344         * lib/kadm5/rename_s.c: Use correct salt.
3346         * lib/kadm5/ent_setup.c: Always enable client. Only set max-life
3347         and max-renew if != 0.
3349         * lib/krb5/config_file.c: Add context to all krb5_config_*get_*.
3351 Thu Dec 25 17:03:25 1997  Assar Westerlund  <assar@sics.se>
3353         * kadmin/ank.c (ank): don't zero password if --random-key was
3354         given.
3356 Tue Dec 23 01:56:45 1997  Assar Westerlund  <assar@sics.se>
3358         * Release 0.0m
3360         * lib/kadm5/ent_setup.c (attr_to_flags): try to set `client'
3362         * kadmin/util.c (edit_time): only set mask if != 0
3363         (edit_attributes): only set mask if != 0
3365         * kadmin/init.c (init): create `default'
3367 Sun Dec 21 09:44:05 1997  Assar Westerlund  <assar@sics.se>
3369         * kadmin/util.c (str2deltat, str2attr, get_deltat): return value
3370         as pointer and have return value indicate success.
3371         
3372         (get_response): check NULL from fgets
3373         
3374         (edit_time, edit_attributes): new functions for reading values and
3375         offering list of answers on '?'
3376         
3377         (edit_entry): use edit_time and edit_attributes
3379         * kadmin/ank.c (add_new_key): test the return value of
3380         `krb5_parse_name'
3382         * kdc/kerberos5.c (tgs_check_authenticator): RFC1510 doesn't say
3383         that the checksum has to be keyed, even though later drafts do.
3384         Accept unkeyed checksums to be compatible with MIT.
3386         * kadmin/kadmin_locl.h: add some prototypes.
3388         * kadmin/util.c (edit_entry): return a value
3390         * appl/afsutil/afslog.c (main): return a exit code.
3392         * lib/krb5/get_cred.c (init_tgs_req): use krb5_keytype_to_enctypes
3394         * lib/krb5/encrypt.c (krb5_keytype_to_enctypes): new function.
3396         * lib/krb5/build_auth.c (krb5_build_authenticator): use
3397         krb5_{free,copy}_keyblock instead of the _contents versions
3399 Fri Dec 12 14:20:58 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3401         * lib/krb5/{mk,rd}_priv.c: fix check for local/remote subkey
3403 Mon Dec  8 08:48:09 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3405         * lib/krb5/context.c: don't look at KRB5_CONFIG if running setuid
3407 Sat Dec  6 10:09:40 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3409         * lib/krb5/keyblock.c (krb5_free_keyblock): check for NULL
3410         keyblock
3412 Sat Dec  6 08:26:10 1997  Assar Westerlund  <assar@sics.se>
3414         * Release 0.0l
3416 Thu Dec  4 03:38:12 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3418         * lib/krb5/send_to_kdc.c: Add TCP client support.
3420         * lib/krb5/store.c: Add k_{put,get}_int.
3422         * kadmin/ank.c: Set initial kvno to 1.
3424         * kdc/connect.c: Send version 5 TCP-reply as length+data.
3426 Sat Nov 29 07:10:11 1997  Assar Westerlund  <assar@sics.se>
3428         * lib/krb5/rd_req.c (krb5_rd_req): fixed obvious bug
3430         * kdc/kaserver.c (create_reply_ticket): use a random nonce in the
3431         reply packet.
3433         * kdc/connect.c (init_sockets): less reallocing.
3435         * **/*.c: changed `struct fd_set' to `fd_set'
3437 Sat Nov 29 05:12:01 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3439         * lib/krb5/get_default_principal.c: More guessing.
3441 Thu Nov 20 02:55:09 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3443         * lib/krb5/rd_req.c: Use principal from ticket if no server is
3444         given.
3446 Tue Nov 18 02:58:02 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3448         * kuser/klist.c: Use krb5_err*().
3450 Sun Nov 16 11:57:43 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3452         * kadmin/kadmin.c: Add local `init', `load', `dump', and `merge'
3453         commands.
3455 Sun Nov 16 02:52:20 1997  Assar Westerlund  <assar@sics.se>
3457         * lib/krb5/mk_req_ext.c (krb5_mk_req_ext): figure out the correct
3458         `enctype'
3460         * lib/krb5/mk_req.c (krb5_mk_req): use `(*auth_context)->enctype'
3461         if set.
3463         * lib/krb5/get_cred.c: handle the case of a specific keytype
3465         * lib/krb5/build_auth.c (krb5_build_authenticator): enctype as a
3466         parameter instead of guessing it.
3468         * lib/krb5/build_ap_req.c (krb5_build_ap_req): new parameter
3469         `enctype'
3471         * appl/test/common.c (common_setup): don't use `optarg'
3473         * lib/krb5/keytab.c (krb5_kt_copy_entry_contents): new function
3474         (krb5_kt_get_entry): retrieve the latest version if kvno == 0
3476         * lib/krb5/krb5.h: define KRB5_TC_MATCH_KEYTYPE
3478         * lib/krb5/creds.c (krb5_compare_creds): check for
3479         KRB5_TC_MATCH_KEYTYPE
3481         * lib/gssapi/8003.c (gssapi_krb5_create_8003_checksum): remove
3482         unused variable
3484         * lib/krb5/creds.c (krb5_copy_creds_contents): only free the
3485         contents if we fail.
3487 Sun Nov 16 00:32:48 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3489         * kpasswd/kpasswdd.c: Get password expiration time from config
3490         file.
3492         * lib/asn1/{der_get,gen_decode}.c: Allow passing NULL size.
3494 Wed Nov 12 02:35:57 1997  Assar Westerlund  <assar@sics.se>
3496         * lib/krb5/get_for_creds.c (krb5_get_forwarded_creds):
3497         restructured and fixed.
3499         * lib/krb5/addr_families.c (krb5_h_addr2addr): new function.
3501 Wed Nov 12 01:36:01 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3503         * lib/krb5/get_addrs.c: Fall back to hostname's addresses if other
3504         methods fail.
3506 Tue Nov 11 22:22:12 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3508         * kadmin/kadmin.c: Add `-l' flag to use local database.
3510         * lib/kadm5/acl.c: Use KADM5_PRIV_ALL.
3512         * lib/kadm5: Use function pointer trampoline for easier dual use
3513         (without radiation-hardening capability).
3515 Tue Nov 11 05:15:22 1997  Assar Westerlund  <assar@sics.se>
3517         * lib/krb5/encrypt.c (krb5_etype_valid): new function
3519         * lib/krb5/creds.c (krb5_copy_creds_contents): zero target
3521         * lib/krb5/context.c (valid_etype): remove
3523         * lib/krb5/checksum.c: remove dead code
3525         * lib/krb5/changepw.c (send_request): free memory on error.
3527         * lib/krb5/build_ap_req.c (krb5_build_ap_req): check return value
3528         from malloc.
3530         * lib/krb5/auth_context.c (krb5_auth_con_init): free memory on
3531         failure correctly.
3532         (krb5_auth_con_setaddrs_from_fd): return error correctly.
3534         * lib/krb5/get_in_tkt_with_{keytab,skey}.c: new files
3536 Tue Nov 11 02:53:19 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3538         * lib/krb5/auth_context.c: Implement auth_con_setuserkey.
3540         * lib/gssapi/init_sec_context.c: Use krb5_auth_con_getkey.
3542         * lib/krb5/keyblock.c: Rename krb5_free_keyblock to
3543         krb5_free_keyblock_contents, and reimplement krb5_free_keyblock.
3545         * lib/krb5/rd_req.c: Use auth_context->keyblock if
3546         ap_options.use_session_key.
3548 Tue Nov 11 02:35:17 1997  Assar Westerlund  <assar@sics.se>
3550         * lib/krb5/net_{read,write}.c: change `int fd' to `void *p_fd'.
3551         fix callers.
3553         * lib/krb5/krb5_locl.h: include <asn1.h> and <der.h>
3555         * include/Makefile.am: add xdbm.h
3557 Tue Nov 11 01:58:22 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3559         * lib/krb5/get_cred.c: Implement krb5_get_cred_from_kdc.
3561 Mon Nov 10 22:41:53 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3563         * lib/krb5/ticket.c: Implement copy_ticket.
3565         * lib/krb5/get_in_tkt.c: Make `options' parameter MIT-compatible.
3567         * lib/krb5/data.c: Implement free_data and copy_data.
3569 Sun Nov  9 02:17:27 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3571         * lib/kadm5: Implement kadm5_get_privs, and kadm5_get_principals.
3573         * kadmin/kadmin.c: Add get_privileges function.
3575         * lib/kadm5: Rename KADM5_ACL_* -> KADM5_PRIV_* to conform with
3576         specification.
3578         * kdc/connect.c: Exit if no sockets could be bound.
3580         * kadmin/kadmind.c: Check return value from krb5_net_read().
3582         * lib/kadm5,kadmin: Fix memory leaks.
3584 Fri Nov  7 02:45:26 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3586         * lib/kadm5/create_s.c: Get some default values from `default'
3587         principal.
3589         * lib/kadm5/ent_setup.c: Add optional default entry to get some
3590         values from.
3592 Thu Nov  6 00:20:41 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3594         * lib/error/compile_et.awk: Remove generated destroy_*_error_table
3595         prototype
3597         * kadmin/kadmind.c: Crude admin server.
3599         * kadmin/kadmin.c: Update to use remote protocol.
3601         * kadmin/get.c: Fix principal formatting.
3603         * lib/kadm5: Add client support.
3605         * lib/kadm5/error.c: Error code mapping.
3607         * lib/kadm5/server.c: Kadmind support function.
3609         * lib/kadm5/marshall.c: Kadm5 marshalling.
3611         * lib/kadm5/acl.c: Simple acl system.
3613         * lib/kadm5/kadm5_locl.h: Add client stuff.
3615         * lib/kadm5/init_s.c: Initialize acl.
3617         * lib/kadm5/*:  Return values.
3619         * lib/kadm5/create_s.c: Correct kvno.
3621 Wed Nov  5 22:06:50 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3623         * lib/krb5/log.c: Fix parsing of log destinations.
3625 Mon Nov  3 20:33:55 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3627         * lib/krb5/principal.c: Reduce number of reallocs in unparse_name.
3629 Sat Nov  1 01:40:53 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3631         * kadmin: Simple kadmin utility.
3633         * admin/ktutil.c: Print keytype.
3635         * lib/kadm5/get_s.c: Set correct n_key_data.
3637         * lib/kadm5/init_s.c: Add kadm5_s_init_with_password_ctx. Use
3638         master key.
3640         * lib/kadm5/destroy_s.c: Check for allocated context.
3642         * lib/kadm5/{create,chpass}_s.c: Use _kadm5_set_keys().
3644 Sat Nov  1 00:21:00 1997  Assar Westerlund  <assar@sics.se>
3646         * configure.in: test for readv, writev
3648 Wed Oct 29 23:41:26 1997  Assar Westerlund  <assar@sics.se>
3650         * lib/krb5/warn.c (_warnerr): handle the case of an illegal error
3651         code
3653         * kdc/kerberos5.c (encode_reply): return success
3655 Wed Oct 29 18:01:59 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3657         * kdc/kerberos5.c (find_etype) Return correct index of selected
3658         etype.
3660 Wed Oct 29 04:07:06 1997  Assar Westerlund  <assar@sics.se>
3662         * Release 0.0k
3664         * lib/krb5/context.c (krb5_init_context): support `KRB5_CONFIG'
3665         environment variable
3667         * *: use the roken_get*-macros from roken.h for the benefit of
3668         Crays.
3670         * configure.in: add --{enable,disable}-otp.  check for compatible
3671         prototypes for gethostbyname, gethostbyaddr, getservbyname, and
3672         openlog (they have strange prototypes on Crays)
3674         * acinclude.m4: new macro `AC_PROTO_COMPAT'
3676 Tue Oct 28 00:11:22 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3678         * kdc/connect.c: Log bad requests.
3680         * kdc/kerberos5.c: Move stuff that's in common between as_rep and
3681         tgs_rep to separate functions.
3683         * kdc/kerberos5.c: Fix user-to-user authentication.
3685         * lib/krb5/get_cred.c: Some restructuring of krb5_get_credentials:
3686           - add a kdc-options argument to krb5_get_credentials, and rename
3687             it to krb5_get_credentials_with_flags
3688           - honour the KRB5_GC_CACHED, and KRB5_GC_USER_USER options
3689           - add some more user-to-user glue
3691         * lib/krb5/rd_req.c: Move parts of krb5_verify_ap_req into a new
3692         function, krb5_decrypt_ticket, so it is easier to decrypt and
3693         check a ticket without having an ap-req.
3695         * lib/krb5/krb5.h: Add KRB5_GC_CACHED, and KRB5_GC_USER_USER
3696         flags.
3698         * lib/krb5/crc.c (crc_init_table): Check if table is already
3699         inited.
3701 Sun Oct 26 04:51:02 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3703         * lib/asn1/der_get.c (der_get_length, fix_dce): Special-case
3704         indefinite encoding.
3706         * lib/asn1/gen_glue.c (generate_units): Check for empty
3707         member-list.
3709 Sat Oct 25 07:24:57 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3711         * lib/error/compile_et.awk: Allow specifying table-base.
3713 Tue Oct 21 20:21:40 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3715         * kdc/kerberos5.c: Check version number of krbtgt.
3717 Mon Oct 20 01:14:53 1997  Assar Westerlund  <assar@sics.se>
3719         * lib/krb5/prompter_posix.c (krb5_prompter_posix): implement the
3720         case of unhidden prompts.
3722         * lib/krb5/str2key.c (string_to_key_internal): return error
3723         instead of aborting.  always free memory
3725         * admin/ktutil.c: add `help' command
3727         * admin/kdb_edit.c: implement new commands: add_random_key(ark),
3728         change_password(cpw), change_random_key(crk)
3730 Thu Oct 16 05:16:36 1997  Assar Westerlund  <assar@sics.se>
3732         * kpasswd/kpasswdd.c: change all the keys in the database
3734         * kdc: removed all unsealing, now done by the hdb layer
3736         * lib/hdb/hdb.c: new functions `hdb_create', `hdb_set_master_key'
3737         and `hdb_clear_master_key'
3739         * admin/misc.c: removed
3741 Wed Oct 15 22:47:31 1997  Assar Westerlund  <assar@sics.se>
3743         * kuser/klist.c: print year as YYYY iff verbose
3745 Wed Oct 15 20:02:13 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3747         * kuser/klist.c: print etype from ticket
3749 Mon Oct 13 17:18:57 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3751         * Release 0.0j
3753         * lib/krb5/get_cred.c: Get the subkey from mk_req so it can be
3754         used to decrypt the reply from DCE secds.
3756         * lib/krb5/auth_context.c: Add {get,set}enctype.
3758         * lib/krb5/get_cred.c: Fix for DCE secd.
3760         * lib/krb5/store.c: Store keytype twice, as MIT does.
3762         * lib/krb5/get_in_tkt.c: Use etype from reply.
3764 Fri Oct 10 00:39:48 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3766         * kdc/connect.c: check for leading '/' in http request
3768 Tue Sep 30 21:50:18 1997  Assar Westerlund  <assar@assaris.pdc.kth.se>
3770         * Release 0.0i
3772 Mon Sep 29 15:58:43 1997  Assar Westerlund  <assar@sics.se>
3774         * lib/krb5/rd_req.c (krb5_rd_req): redone because we don't know
3775         the kvno or keytype before receiving the AP-REQ
3777         * lib/krb5/mk_safe.c (krb5_mk_safe): figure out what cksumtype to
3778         use from the keytype.
3780         * lib/krb5/mk_req_ext.c (krb5_mk_req_extended): figure out what
3781         cksumtype to use from the keytype.
3783         * lib/krb5/mk_priv.c (krb5_mk_priv): figure out what etype to use
3784         from the keytype.
3786         * lib/krb5/keytab.c (krb5_kt_get_entry): check the keytype
3788         * lib/krb5/get_for_creds.c (krb5_get_forwarded_creds): figure out
3789         what etype to use from the keytype.
3791         * lib/krb5/generate_seq_number.c (krb5_generate_seq_number):
3792         handle other key types than DES
3794         * lib/krb5/encrypt.c (key_type): add `best_cksumtype'
3795         (krb5_keytype_to_cksumtype): new function
3797         * lib/krb5/build_auth.c (krb5_build_authenticator): figure out
3798         what etype to use from the keytype.
3800         * lib/krb5/auth_context.c (krb5_auth_con_init): set `cksumtype'
3801         and `enctype' to 0
3803         * admin/extkeytab.c (ext_keytab): extract all keys
3805         * appl/telnet/telnet/commands.c: INET6_ADDRSTRLEN kludge
3807         * configure.in: check for <netinet6/in6.h>. check for -linet6
3808         
3809 Tue Sep 23 03:00:53 1997  Assar Westerlund  <assar@sics.se>
3811         * lib/krb5/encrypt.c: fix checksumtype for des3-cbc-sha1
3813         * lib/krb5/rd_safe.c: fix check for keyed and collision-proof
3814         checksum
3816         * lib/krb5/context.c (valid_etype): remove hard-coded constants
3817         (default_etypes): include DES3
3819         * kdc/kerberos5.c: fix check for keyed and collision-proof
3820         checksum
3822         * admin/util.c (init_des_key, set_password): DES3 keys also
3824         * lib/krb/send_to_kdc.c (krb5_sendto_kdc): no data returned means
3825         no contact?
3827         * lib/krb5/addr_families.c: fix typo in `ipv6_anyaddr'
3829 Mon Sep 22 11:44:27 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
3831         * kdc/kerberos5.c: Somewhat fix the etype usage. The list sent by
3832         the client is used to select wich key to encrypt the kdc rep with
3833         (in case of as-req), and with the server info to select the
3834         session key type. The server key the ticket is encrypted is based
3835         purely on the keys in the database.
3837         * kdc/string2key.c: Add keytype support. Default to version 5
3838         keys.
3840         * lib/krb5/get_in_tkt.c: Fix a lot of etype/keytype misuse.
3842         * lib/krb5/encrypt.c: Add des3-cbc-md5, and des3-cbc-sha1. Add
3843         many *_to_* functions.
3845         * lib/krb5/str2key.c: Add des3 string-to-key. Add ktype argument
3846         to krb5_string_to_key().
3848         * lib/krb5/checksum.c: Some cleanup, and added: 
3849           - rsa-md5-des3 
3850           - hmac-sha1-des3 
3851           - keyed and collision proof flags to each checksum method
3852           - checksum<->string functions.
3854         * lib/krb5/generate_subkey.c: Use krb5_generate_random_keyblock.
3856 Sun Sep 21 15:19:23 1997  Assar Westerlund  <assar@sics.se>
3858         * kdc/connect.c: use new addr_families functions
3860         * kpasswd/kpasswdd.c: use new addr_families functions.  Now works
3861         over IPv6
3863         * kuser/klist.c: use correct symbols for address families
3865         * lib/krb5/sock_principal.c: use new addr_families functions
3867         * lib/krb5/send_to_kdc.c: use new addr_families functions
3869         * lib/krb5/krb5.h: add KRB5_ADDRESS_INET6
3871         * lib/krb5/get_addrs.c: use new addr_families functions
3873         * lib/krb5/changepw.c: use new addr_families functions.  Now works
3874         over IPv6
3876         * lib/krb5/auth_context.c: use new addr_families functions
3878         * lib/krb5/addr_families.c: new file
3880         * acconfig.h: AC_SOCKADDR_IN6 -> AC_STRUCT_SOCKADDR_IN6.  Updated
3881         uses.
3883         * acinclude.m4: new macro `AC_KRB_IPV6'.  Use it.
3885 Sat Sep 13 23:04:23 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3887         * kdc/hprop.c: Don't encrypt twice. Complain on non-convertable
3888         principals.
3890 Sat Sep 13 00:59:36 1997  Assar Westerlund  <assar@sics.se>
3892         * Release 0.0h
3893         
3894         * appl/telnet/telnet/commands.c: AF_INET6 support
3896         * admin/misc.c: new file
3898         * lib/krb5/context.c: new configuration variable `max_retries'
3900         * lib/krb5/get_addrs.c: fixes and better #ifdef's
3902         * lib/krb5/config_file.c: implement krb5_config_get_int
3904         * lib/krb5/auth_context.c, send_to_kdc.c, sock_principal.c:
3905         AF_INET6 support
3907         * kuser/klist.c: support for printing IPv6-addresses
3909         * kdc/connect.c: support AF_INET6
3911         * configure.in: test for gethostbyname2 and struct sockaddr_in6
3913 Thu Sep 11 07:25:28 1997  Assar Westerlund  <assar@sics.se>
3915         * lib/asn1/k5.asn1: Use `METHOD-DATA' instead of `SEQUENCE OF
3916         PA-DATA'
3918 Wed Sep 10 21:20:17 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3920         * kdc/kerberos5.c: Fixes for cross-realm, including (but not
3921         limited to):
3922           - allow client to be non-existant (should probably check for
3923             "local realm")
3924           - if server isn't found and it is a request for a krbtgt, try to
3925             find a realm on the way to the requested realm
3926           - update the transited encoding iff 
3927             client-realm != server-realm != tgt-realm
3929         * lib/krb5/get_cred.c: Several fixes for cross-realm.
3931 Tue Sep  9 15:59:20 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3933         * kdc/string2key.c: Fix password handling.
3935         * lib/krb5/encrypt.c: krb5_key_to_string
3937 Tue Sep  9 07:46:05 1997  Assar Westerlund  <assar@sics.se>
3939         * lib/krb5/get_addrs.c: rewrote.  Now should be able to handle
3940         aliases and IPv6 addresses
3942         * kuser/klist.c: try printing IPv6 addresses
3944         * kdc/kerberos5.c: increase the arbitrary limit from 1024 to 8192
3946         * configure.in: check for <netinet/in6_var.h>
3948 Mon Sep  8 02:57:14 1997  Assar Westerlund  <assar@sics.se>
3950         * doc: fixes
3952         * admin/util.c (init_des_key): increase kvno
3953         (set_password): return -1 if `des_read_pw_string' failed
3955         * admin/mod.c (doit2): check the return value from `set_password'
3957         * admin/ank.c (doit): don't add a new entry if `set_password'
3958         failed
3960 Mon Sep  8 02:20:16 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
3962         * lib/krb5/verify_init.c: fix ap_req_nofail semantics
3964         * lib/krb5/transited.c: something that might resemble
3965         domain-x500-compress
3967 Mon Sep  8 01:24:42 1997  Assar Westerlund  <assar@sics.se>
3969         * kdc/hpropd.c (main): check number of arguments
3971         * appl/popper/pop_init.c (pop_init): check number of arguments
3973         * kpasswd/kpasswd.c (main): check number of arguments
3975         * kdc/string2key.c (main): check number of arguments
3977         * kuser/kdestroy.c (main): check number of arguments
3979         * kuser/kinit.c (main): check number of arguments
3981         * kpasswd/kpasswdd.c (main): use sigaction without SA_RESTART to
3982         break out of select when a signal arrives
3984         * kdc/main.c (main): use sigaction without SA_RESTART to break out
3985         of select when a signal arrives
3987         * kdc/kstash.c: default to HDB_DB_DIR "/m-key"
3989         * kdc/config.c (configure): add `--version'.  Check the number of
3990         arguments. Handle the case of there being no specification of port
3991         numbers.
3993         * admin/util.c: seal and unseal key at appropriate places
3995         * admin/kdb_edit.c (main): parse arguments, config file and read
3996         master key iff there's one.
3998         * admin/extkeytab.c (ext_keytab): unseal key while extracting
4000 Sun Sep  7 20:41:01 1997  Assar Westerlund  <assar@sics.se>
4002         * lib/roken/roken.h: include <fcntl.h>
4004         * kdc/kerberos5.c (set_salt_padata): new function
4006         * appl/telnet/telnetd/telnetd.c: Rename some variables that
4007         conflict with cpp symbols on HP-UX 10.20
4009         * change all calls of `gethostbyaddr' to cast argument 1 to `const
4010         char *'
4012         * acconfig.h: only use SGTTY on nextstep
4014 Sun Sep  7 14:33:50 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4016         * kdc/kerberos5.c: Check invalid flag.
4018 Fri Sep  5 14:19:38 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4020         * lib/krb5/verify_user.c: Use get_init_creds/verify_init_creds.
4022         * lib/kafs: Move functions common to krb/krb5 modules to new file,
4023         and make things more modular.
4025         * lib/krb5/krb5.h: rename STRING -> krb5_config_string, and LIST
4026         -> krb5_config_list
4028 Thu Sep  4 23:39:43 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4030         * lib/krb5/get_addrs.c: Fix loopback test.
4032 Thu Sep  4 04:45:49 1997  Assar Westerlund  <assar@sics.se>
4034         * lib/roken/roken.h: fallback definition of `O_ACCMODE'
4036         * lib/krb5/get_in_tkt.c (krb5_get_in_cred): be more careful when
4037         checking for a v4 reply
4039 Wed Sep  3 18:20:14 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4041         * kdc/hprop.c: Add `--decrypt' and `--encrypt' flags.
4043         * lib/hdb/hdb.c: new {seal,unseal}_keys functions
4045         * kdc/{hprop,hpropd}.c: Add support to dump database to stdout.
4047         * kdc/hprop.c: Don't use same master key as version 4.
4049         * admin/util.c: Don't dump core if no `default' is found.
4051 Wed Sep  3 16:01:07 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4053         * kdc/connect.c: Allow run time port specification.
4055         * kdc/config.c: Add flags for http support, and port
4056         specifications.
4058 Tue Sep  2 02:00:03 1997  Assar Westerlund  <assar@sics.se>
4060         * include/bits.c: Don't generate ifndef's in bits.h.  Instead, use
4061         them when building the program.  This makes it possible to include
4062         bits.h without having defined all HAVE_INT17_T symbols.
4063         
4064         * configure.in: test for sigaction
4066         * doc: updated documentation.
4067         
4068 Tue Sep  2 00:20:31 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4070         * Release 0.0g
4072 Mon Sep  1 17:42:14 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4074         * lib/krb5/data.c: don't return ENOMEM if len == 0
4076 Sun Aug 31 17:15:49 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4078         * lib/hdb/hdb.asn1: Include salt type in salt.
4080         * kdc/hprop.h: Change port to 754.
4082         * kdc/hpropd.c: Verify who tries to transmit a database.
4084         * appl/popper: Use getarg and krb5_log.
4086         * lib/krb5/get_port.c: Add context parameter. Now takes port in
4087         host byte order.
4089 Sat Aug 30 18:48:19 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4091         * kdc/connect.c: Add timeout to select, and log about expired tcp
4092         connections.
4094         * kdc/config.c: Add `database' option.
4096         * kdc/hpropd.c: Log about duplicate entries.
4098         * lib/hdb/{db,ndbm}.c: Use common routines.
4100         * lib/hdb/common.c: Implement more generic fetch/store/delete
4101         functions.
4103         * lib/hdb/hdb.h: Add `replace' parameter to store.
4104         
4105         * kdc/connect.c: Set filedecriptor to -1 on allocated decriptor
4106         entries.
4108 Fri Aug 29 03:13:23 1997  Assar Westerlund  <assar@sics.se>
4110         * lib/krb5/get_in_tkt.c: extract_ticket -> _krb5_extract_ticket
4112         * aux/make-proto.pl: fix __P for stone age mode
4114 Fri Aug 29 02:45:46 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4116         * lib/45/mk_req.c: implementation of krb_mk_req that uses 524
4117         protocol
4119         * lib/krb5/init_creds_pw.c: make change_password and
4120         get_init_creds_common static
4122         * lib/krb5/krb5.h: Merge stuff from removed headerfiles.
4124         * lib/krb5/fcache.c: fcc_ops -> krb5_fcc_ops
4126         * lib/krb5/mcache.c: mcc_ops -> krb5_mcc_ops
4128 Fri Aug 29 01:45:25 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4130         * lib/krb5/krb5.h: Remove all prototypes.
4132         * lib/krb5/convert_creds.c: Use `struct credentials' instead of
4133         `CREDENTIALS'.
4135 Fri Aug 29 00:08:18 1997  Assar Westerlund  <assar@sics.se>
4137         * lib/asn1/gen_glue.c: new file. generates 2int and int2 functions
4138         and units for bit strings.
4140         * admin/util.c: flags2int, int2flags, and flag_units are now
4141         generated by asn1_compile
4143         * lib/roken/parse_units.c: generalised `parse_units' and
4144         `unparse_units' and added new functions `parse_flags' and
4145         `unparse_flags' that use these
4147         * lib/krb5/krb5_locl.h: moved krb5_data* functions to krb5.h
4149         * admin/util.c: Use {un,}parse_flags for printing and parsing
4150         hdbflags.
4152 Thu Aug 28 03:26:12 1997  Assar Westerlund  <assar@sics.se>
4154         * lib/krb5/get_addrs.c: restructured
4156         * lib/krb5/warn.c (_warnerr): leak less memory
4158         * lib/hdb/hdb.c (hdb_free_entry): zero keys
4159         (hdb_check_db_format): leak less memory
4161         * lib/hdb/ndbm.c (NDBM_seq): check for valid hdb_entries implement
4162         NDBM__get, NDBM__put
4164         * lib/hdb/db.c (DB_seq): check for valid hdb_entries
4166 Thu Aug 28 02:06:58 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4168         * lib/krb5/send_to_kdc.c: Don't use sendto on connected sockets.
4170 Thu Aug 28 01:13:17 1997  Assar Westerlund  <assar@sics.se>
4172         * kuser/kinit.1, klist.1, kdestroy.1: new man pages
4174         * kpasswd/kpasswd.1, kpasswdd.8: new man pages
4176         * kdc/kstash.8, hprop.8, hpropd.8: new man pages
4178         * admin/ktutil.8, admin/kdb_edit.8: new man pages
4180         * admin/mod.c: new file
4182         * admin/life.c: renamed gettime and puttime to getlife and putlife
4183         and moved them to life.c
4185         * admin/util.c: add print_flags, parse_flags, init_entry,
4186         set_created_by, set_modified_by, edit_entry, set_password.  Use
4187         them.
4189         * admin/get.c: use print_flags
4191         * admin: removed unused stuff.  use krb5_{warn,err}*
4193         * admin/ank.c: re-organized and abstracted.
4195         * admin/gettime.c: removed
4197 Thu Aug 28 00:37:39 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4199         * lib/krb5/{get_cred,get_in_tkt}.c: Check for v4 reply.
4201         * lib/roken/base64.c: Add base64 functions.
4203         * kdc/connect.c lib/krb5/send_to_kdc.c: Add http support.
4205 Wed Aug 27 00:29:20 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4207         * include/Makefile.am: Don't make links to built files.
4209         * admin/kdb_edit.c: Add command to set the database path.
4211         * lib/hdb: Include version number in database.
4213 Tue Aug 26 20:14:54 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4215         * admin/ktutil: Merged v4 srvtab conversion.
4217 Mon Aug 25 23:02:18 1997  Assar Westerlund  <assar@sics.se>
4219         * lib/roken/roken.h: add F_OK
4221         * lib/gssapi/acquire_creds.c: fix typo
4223         * configure.in: call AC_TYPE_MODE_T
4225         * acinclude.m4: Add AC_TYPE_MODE_T
4227 Sun Aug 24 16:46:53 1997  Assar Westerlund  <assar@sics.se>
4229         * Release 0.0f
4231 Sun Aug 24 08:06:54 1997  Assar Westerlund  <assar@sics.se>
4233         * appl/popper/pop_pass.c: log poppers
4235         * kdc/kaserver.c: some more checks
4237         * kpasswd/kpasswd.c: removed `-p'
4239         * kuser/kinit.c: removed `-p'
4241         * lib/krb5/init_creds_pw.c (krb5_get_init_creds_password): If
4242         KDC_ERR_PREUATH_REQUIRED, add preauthentication and try again.
4244         * lib/krb5/get_in_tkt.c (krb5_get_in_cred): don't print out
4245         krb-error text
4247         * lib/gssapi/import_name.c (input_name): more names types.
4249         * admin/load.c (parse_keys): handle the case of an empty salt
4251         * kdc/kaserver.c: fix up memory deallocation
4253         * kdc/kaserver.c: quick hack at talking kaserver protocol
4255         * kdc/kerberos4.c: Make `db-fetch4' global
4257         * configure.in: add --enable-kaserver
4259         * kdc/rx.h, kdc/kerberos4.h: new header files
4261         * lib/krb5/principal.c: fix krb5_build_principal_ext & c:o
4263 Sun Aug 24 03:52:44 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4265         * lib/krb5/{get_in_tkt,mk_safe,mk_priv}.c: Fix some Cray specific
4266         type conflicts.
4268         * lib/krb5/{get_cred,get_in_tkt}.c: Mask nonce to 32 bits.
4270         * lib/des/{md4,md5,sha}.c: Now works on Crays.
4272 Sat Aug 23 18:15:01 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4274         * appl/afsutil/afslog.c: If no cells or files specified, get
4275         tokens for all local cells. Better test for files.
4277 Thu Aug 21 23:33:38 1997  Assar Westerlund  <assar@sics.se>
4279         * lib/gssapi/v1.c: new file with v1 compatibility functions.
4281 Thu Aug 21 20:36:13 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4283         * lib/kafs/afskrb5.c: Don't check ticket file for afs ticket.
4285         * kdc/kerberos4.c: Check database when converting v4 principals.
4287         * kdc/kerberos5.c: Include kvno in Ticket.
4289         * lib/krb5/encrypt.c: Add kvno parameter to encrypt_EncryptedData.
4291         * kuser/klist.c: Print version number of ticket, include more
4292         flags.
4294 Wed Aug 20 21:26:58 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4296         * lib/kafs/afskrb5.c (get_cred): Check cached afs tickets for
4297         expiration.
4299 Wed Aug 20 17:40:31 1997  Assar Westerlund  <assar@sics.se>
4301         * lib/krb5/recvauth.c (krb5_recvauth): Send a KRB-ERROR iff
4302         there's an error.
4304         * lib/krb5/sendauth.c (krb5_sendauth): correct the protocol
4305         documentation and process KRB-ERROR's
4307 Tue Aug 19 20:41:30 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4309         * kdc/kerberos4.c: Fix memory leak in v4 protocol handler.
4311 Mon Aug 18 05:15:09 1997  Assar Westerlund  <assar@sics.se>
4313         * lib/gssapi/accept_sec_context.c: Added
4314         `gsskrb5_register_acceptor_identity'
4316 Sun Aug 17 01:40:20 1997  Assar Westerlund  <assar@sics.se>
4318         * lib/gssapi/accept_sec_context.c (gss_accept_sec_context): don't
4319         always pass server == NULL to krb5_rd_req.
4321         * lib/gssapi: new files: canonicalize_name.c export_name.c
4322         context_time.c compare_name.c release_cred.c acquire_cred.c
4323         inquire_cred.c, from Luke Howard <lukeh@xedoc.com.au>
4325         * lib/krb5/config_file.c: Add netinfo support from Luke Howard
4326         <lukeh@xedoc.com.au>
4328         * lib/editline/sysunix.c: sgtty-support from Luke Howard
4329         <lukeh@xedoc.com.au>
4331         * lib/krb5/principal.c: krb5_sname_to_principal fix from Luke
4332         Howard <lukeh@xedoc.com.au>
4334 Sat Aug 16 00:44:47 1997  Assar Westerlund  <assar@koi.pdc.kth.se>
4336         * Release 0.0e
4338 Sat Aug 16 00:23:46 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4340         * appl/afsutil/afslog.c: Use new libkafs.
4342         * lib/kafs/afskrb5.c: Get AFS tokens via 524 protocol.
4344         * lib/krb5/warn.c: Fix format string for *x type.
4346 Fri Aug 15 22:15:01 1997  Assar Westerlund  <assar@sics.se>
4348         * admin/get.c (get_entry): print more information about the entry
4350         * lib/des/Makefile.am: build destest, mdtest, des, rpw, speed
4352         * lib/krb5/config_file.c: new functions `krb5_config_get_time' and
4353         `krb5_config_vget_time'.  Use them.
4355 Fri Aug 15 00:09:37 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4357         * admin/ktutil.c: Keytab manipulation program.
4359         * lib/krb5/keytab.c: Return sane values from resolve and
4360         start_seq_get.
4362         * kdc/kerberos5.c: Fix for old clients passing 0 for `no endtime'.
4364         * lib/45/get_ad_tkt.c: Kerberos 4 get_ad_tkt using
4365         krb524_convert_creds_kdc.
4367         * lib/krb5/convert_creds.c: Implementation of
4368         krb524_convert_creds_kdc.
4370         * lib/asn1/k5.asn1: Make kdc-req-body.till OPTIONAL
4372         * kdc/524.c: A somewhat working 524-protocol module.
4374         * kdc/kerberos4.c: Add version 4 ticket encoding and encryption
4375         functions.
4377         * lib/krb5/context.c: Fix kdc_timeout.
4379         * lib/hdb/{ndbm,db}.c: Free name in close.
4381         * kdc/kerberos5.c (tgs_check_autenticator): Return error code
4383 Thu Aug 14 21:29:03 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4385         * kdc/kerberos5.c (tgs_make_reply): Fix endtime in reply.
4387         * lib/krb5/store_emem.c: Fix reallocation bug.
4389 Tue Aug 12 01:29:46 1997  Assar Westerlund  <assar@sics.se>
4391         * appl/telnet/libtelnet/kerberos5.c, appl/popper/pop_init.c: Use
4392         `krb5_sock_to_principal'.  Send server parameter to
4393         krb5_rd_req/krb5_recvauth.  Set addresses in auth_context.
4395         * lib/krb5/recvauth.c: Set addresses in auth_context if there
4396         aren't any
4398         * lib/krb5/auth_context.c: New function
4399         `krb5_auth_con_setaddrs_from_fd'
4401         * lib/krb5/sock_principal.c: new function
4402         `krb5_sock_to_principal'
4403         
4404         * lib/krb5/time.c: new file with `krb5_timeofday' and
4405         `krb5_us_timeofday'.  Use these functions.
4407         * kuser/klist.c: print KDC offset iff verbose
4409         * lib/krb5/get_in_tkt.c: implement KDC time offset and use it if
4410         [libdefaults]kdc_timesync is set.
4411         
4412         * lib/krb5/fcache.c: Implement version 4 of the ccache format.
4414 Mon Aug 11 05:34:43 1997  Assar Westerlund  <assar@sics.se>
4416         * lib/krb5/rd_rep.c (krb5_free_ap_rep_enc_part): free all memory
4418         * lib/krb5/principal.c (krb5_unparse_name): allocate memory
4419         properly
4421         * kpasswd/kpasswd.c: Use `krb5_change_password'
4423         * lib/krb5/init_creds_pw.c (init_cred): set realm of server
4424         correctly.
4426         * lib/krb5/init_creds_pw.c: support changing of password when it
4427         has expired
4429         * lib/krb5/changepw.c: new file
4431         * kuser/klist.c: use getarg
4433         * admin/init.c (init): add `kadmin/changepw'
4435 Mon Aug 11 04:30:47 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4437         * lib/krb5/get_cred.c: Make get_credentials handle cross-realm.
4439 Mon Aug 11 00:03:24 1997  Assar Westerlund  <assar@sics.se>
4441         * lib/krb5/config_file.c: implement support for #-comments
4443 Sat Aug  9 02:21:46 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4445         * kdc/hprop*.c: Add database propagation programs.
4447         * kdc/connect.c: Max request size.
4449 Sat Aug  9 00:47:28 1997  Assar Westerlund  <assar@sics.se>
4451         * lib/otp: resurrected from krb4
4453         * appl/push: new program for fetching mail with POP.
4455         * appl/popper/popper.h: new include files.  new fields in `POP'
4457         * appl/popper/pop_pass.c: Implement both v4 and v5.
4459         * appl/popper/pop_init.c: Implement both v4 and v5.
4461         * appl/popper/pop_debug.c: use getarg.  Talk both v4 and v5
4463         * appl/popper: Popper from krb4.
4465         * configure.in: check for inline and <netinet/tcp.h> generate
4466         files in appl/popper, appl/push, and lib/otp
4468 Fri Aug  8 05:51:02 1997  Assar Westerlund  <assar@sics.se>
4470         * lib/krb5/get_cred.c: clean-up and try to free memory even when
4471         there're errors
4473         * lib/krb5/get_cred.c: adapt to new `extract_ticket'
4475         * lib/krb5/get_in_tkt.c: reorganize.  check everything and try to
4476         return memory even if there are errors.
4478         * kuser/kverify.c: new file
4480         * lib/krb5/free_host_realm.c: new file
4482         * lib/krb5/principal.c (krb5_sname_to_principal): implement
4483         different nametypes.  Also free memory.
4485         * lib/krb5/verify_init.c: more functionality
4487         * lib/krb5/mk_req_ext.c (krb5_mk_req_extended): free the checksum
4489         * lib/krb5/get_in_tkt.c (extract_ticket): don't copy over the
4490         principals in creds.  Should also compare them with that received
4491         from the KDC
4493         * lib/krb5/cache.c (krb5_cc_gen_new): copy the newly allocated
4494         krb5_ccache
4495         (krb5_cc_destroy): call krb5_cc_close
4496         (krb5_cc_retrieve_cred): delete the unused creds
4498 Fri Aug  8 02:30:40 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4500         * lib/krb5/log.c: Allow better control of destinations of logging
4501         (like passing explicit destinations, and log-functions).
4503 Fri Aug  8 01:20:39 1997  Assar Westerlund  <assar@sics.se>
4505         * lib/krb5/get_default_principal.c: new file
4507         * kpasswd/kpasswdd.c: use krb5_log*
4509 Fri Aug  8 00:37:47 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4511         * lib/krb5/init_creds_pw.c: Implement krb5_get_init_creds_keytab.
4513 Fri Aug  8 00:37:17 1997  Assar Westerlund  <assar@sics.se>
4515         * lib/krb5/init_creds_pw.c: Use `krb5_get_default_principal'.
4516         Print password expire information.
4518         * kdc/config.c: new variable `kdc_warn_pwexpire'
4520         * kpasswd/kpasswd.c: converted to getarg and get_init_creds
4522 Thu Aug  7 22:17:09 1997  Assar Westerlund  <assar@sics.se>
4524         * lib/krb5/mcache.c: new file
4526         * admin/gettime.c: new function puttime.  Use it.
4528         * lib/krb5/keyblock.c: Added krb5_free_keyblock and
4529         krb5_copy_keyblock
4531         * lib/krb5/init_creds_pw.c: more functionality
4533         * lib/krb5/creds.c: Added krb5_free_creds_contents and
4534         krb5_copy_creds.  Changed callers.
4536         * lib/krb5/config_file.c: new functions krb5_config_get and
4537         krb5_config_vget
4539         * lib/krb5/cache.c: cleanup added mcache
4540         
4541         * kdc/kerberos5.c: include last-req's of type 6 and 7, if
4542         applicable
4544 Wed Aug  6 20:38:23 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4546         * lib/krb5/log.c: New parameter `log-level'. Default to `SYSLOG'.
4548 Tue Aug  5 22:53:54 1997  Assar Westerlund  <assar@sics.se>
4550         * lib/krb5/verify_init.c, init_creds_pw.c, init_creds.c,
4551         prompter_posix.c: the beginning of an implementation of the cygnus
4552         initial-ticket API.
4554         * lib/krb5/get_in_tkt_pw.c: make `krb5_password_key_proc' global
4556         * lib/krb5/get_in_tkt.c (krb5_get_in_cred): new function that is
4557         almost krb5_get_in_tkt but doesn't write the creds to the ccache.
4558         Small fixes in krb5_get_in_tkt
4560         * lib/krb5/get_addrs.c (krb5_get_all_client_addrs): don't include
4561         loopback.
4563 Mon Aug  4 20:20:48 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4565         * kdc: Make context global.
4567 Fri Aug  1 17:23:56 1997  Assar Westerlund  <assar@sics.se>
4569         * Release 0.0d
4571         * lib/roken/flock.c: new file
4573         * kuser/kinit.c: check for and print expiry information in the
4574         `kdc_rep'
4576         * lib/krb5/get_in_tkt.c: Set `ret_as_reply' if != NULL
4578         * kdc/kerberos5.c: Check the valid times on client and server.
4579         Check the password expiration.
4580         Check the require_preauth flag.
4581         Send an lr_type == 6 with pw_end.
4582         Set key.expiration to min(valid_end, pw_end)
4583         
4584         * lib/hdb/hdb.asn1: new flags `require_preauth' and `change_pw'
4586         * admin/util.c, admin/load.c: handle the new flags.
4588 Fri Aug  1 16:56:12 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4590         * lib/hdb: Add some simple locking.
4592 Sun Jul 27 04:44:31 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4594         * lib/krb5/log.c: Add some general logging functions.
4596         * kdc/kerberos4.c: Add version 4 protocol handler. The requrement
4597         for this to work is that all involved principals has a des key in
4598         the database, and that the client has a version 4 (un-)salted
4599         key. Furthermore krb5_425_conv_principal has to do it's job, as
4600         present it's not very clever.
4602         * lib/krb5/principal.c: Quick patch to make 425_conv work
4603         somewhat.
4605         * lib/hdb/hdb.c: Add keytype->key and next key functions.
4607 Fri Jul 25 17:32:12 1997  Assar Westerlund  <assar@sics.se>
4609         * lib/krb5/build_auth.c (krb5_build_authenticator): don't free
4610         `cksum'.  It's allocated and freed by the caller
4612         * lib/krb5/get_cred.c (krb5_get_kdc_cred): Don't free `addresses'.
4614         * kdc/kerberos5.c (tgs_rep2): make sure we also have an defined
4615         `client' to return as part of the KRB-ERROR
4617 Thu Jul 24 08:13:59 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4619         * kdc/kerberos5.c: Unseal keys from database before use.
4621         * kdc/misc.c: New functions set_master_key, unseal_key and
4622         free_key.
4624         * lib/roken/getarg.c: Handle `-f arg' correctly.
4626 Thu Jul 24 01:54:43 1997  Assar Westerlund  <assar@sics.se>
4628         * kuser/kinit.c: implement `-l' aka `--lifetime'
4630         * lib/roken/parse_units.c, parse_time.c: new files
4632         * admin/gettime.c (gettime): use `parse_time'
4634         * kdc/kerberos5.c (as_rep): Use `METHOD-DATA' when sending
4635         KRB5KDC_ERR_PREAUTH_REQUIRED, not PA-DATA.
4637         * kpasswd/kpasswdd.c: fix freeing bug use sequence numbers set
4638         addresses in auth_context bind one socket per interface.
4639         
4640         * kpasswd/kpasswd.c: use sequence numbers
4642         * lib/krb5/rd_req.c (krb5_verify_ap_req): do abs when verifying
4643         the timestamps
4645         * lib/krb5/rd_priv.c (krb5_rd_priv): Fetch the correct session key
4646         from auth_context
4648         * lib/krb5/mk_priv.c (krb5_mk_priv): Fetch the correct session key
4649         from auth_context
4651         * lib/krb5/mk_error.c (krb5_mk_error): return an error number and
4652         not a comerr'd number.
4654         * lib/krb5/get_in_tkt.c (krb5_get_in_tkt): interpret the error
4655         number in KRB-ERROR correctly.
4657         * lib/krb5/get_cred.c (krb5_get_kdc_cred): interpret the error
4658         number in KRB-ERROR correctly.
4660         * lib/asn1/k5.asn1: Add `METHOD-DATA'
4662         * removed some memory leaks.
4664 Wed Jul 23 07:53:18 1997  Assar Westerlund  <assar@sics.se>
4666         * Release 0.0c
4668         * lib/krb5/rd_cred.c, get_for_creds.c: new files
4670         * lib/krb5/get_host_realm.c: try default realm as last chance
4672         * kpasswd/kpasswdd.c: updated to hdb changes
4674         * appl/telnet/libtelnet/kerberos5.c: Implement forwarding
4676         * appl/telnet/libtelnet: removed totally unused files
4678         * admin/ank.c: fix prompts and generation of random keys
4680 Wed Jul 23 04:02:32 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4682         * admin/dump.c: Include salt in dump.
4684         * admin: Mostly updated for new db-format.
4686         * kdc/kerberos5.c: Update to use new db format. Better checking of
4687         flags and such. More logging.
4689         * lib/hdb/hdb.c: Use generated encode and decode functions.
4691         * lib/hdb/hdb.h: Get hdb_entry from ASN.1 generated code.
4693         * lib/krb5/get_cred.c: Get addresses from krbtgt if there are none
4694         in the reply.
4696 Sun Jul 20 16:22:30 1997  Assar Westerlund  <assar@sics.se>
4698         * kuser/kinit.c: break if des_read_pw_string() != 0
4700         * kpasswd/kpasswdd.c: send a reply
4702         * kpasswd/kpasswd.c: restructured code.  better report on
4703         krb-error break if des_read_pw_string() != 0
4705         * kdc/kerberos5.c: Check `require_enc_timestamp' malloc space for
4706         starttime and renew_till
4708         * appl/telnet/libtelnet/kerberos5.c (kerberos5_is): Send a
4709         keyblock to krb5_verify_chekcsum
4711 Sun Jul 20 06:35:46 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4713         * Release 0.0b
4715         * kpasswd/kpasswd.c: Avoid using non-standard struct names.
4717 Sat Jul 19 19:26:23 1997  Assar Westerlund  <assar@sics.se>
4719         * lib/krb5/keytab.c (krb5_kt_get_entry): check return from
4720         `krb5_kt_start_seq_get'.  From <map@stacken.kth.se>
4722 Sat Jul 19 04:07:39 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4724         * lib/asn1/k5.asn1: Update with more pa-data types from
4725         draft-ietf-cat-kerberos-revisions-00.txt
4727         * admin/load.c: Update to match current db-format.
4729         * kdc/kerberos5.c (as_rep): Try all valid pa-datas before giving
4730         up. Send back an empty pa-data if the client has the v4 flag set.
4732         * lib/krb5/get_in_tkt.c: Pass both version5 and version4 salted
4733         pa-data. DTRT if there is any pa-data in the reply.
4735         * lib/krb5/str2key.c: XOR with some sane value.
4737         * lib/hdb/hdb.h: Add `version 4 salted key' flag.
4739         * kuser/kinit.c: Ask for password before calling get_in_tkt. This
4740         makes it possible to call key_proc more than once.
4742         * kdc/string2key.c: Add flags to output version 5 (DES only),
4743         version 4, and AFS string-to-key of a password.
4745         * lib/asn1/gen_copy.c: copy_* functions now returns an int (0 or
4746         ENOMEM).
4748 Fri Jul 18 02:54:58 1997  Assar Westerlund  <assar@sics.se>
4750         * lib/krb5/get_host_realm.c (krb5_get_host_realm): do the
4751         name2name thing
4753         * kdc/misc.c: check result of hdb_open
4755         * admin/kdb_edit: updated to new sl
4757         * lib/sl: sl_func now returns an int. != 0 means to exit.
4759         * kpasswd/kpasswdd: A crude (but somewhat working) implementation
4760         of `draft-ietf-cat-kerb-chg-password-00.txt'
4762 Fri Jul 18 00:55:39 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4764         * kuser/krenew.c: Crude ticket renewing program.
4766         * kdc/kerberos5.c: Rewritten flags parsing, it now might work to
4767         get forwarded and renewed tickets.
4769         * kuser/kinit.c: Add `-r' flag.
4771         * lib/krb5/get_cred.c: Move most of contents of get_creds to new
4772         function get_kdc_cred, that always contacts the kdc and doesn't
4773         save in the cache. This is a hack.
4775         * lib/krb5/get_in_tkt.c: Pass starttime and renew_till in request
4776         (a bit kludgy).
4778         * lib/krb5/mk_req_ext.c: Make an auth_context if none passed in.
4780         * lib/krb5/send_to_kdc.c: Get timeout from context.
4782         * lib/krb5/context.c: Add kdc_timeout to context struct.
4784 Thu Jul 17 20:35:45 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4786         * kuser/klist.c: Print start time of ticket if available.
4788         * lib/krb5/get_host_realm.c: Return error if no realm was found.
4790 Thu Jul 17 20:28:21 1997  Assar Westerlund  <assar@sics.se>
4792         * kpasswd: non-working kpasswd added
4794 Thu Jul 17 00:21:22 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4796         * Release 0.0a
4798         * kdc/main.c: Add -p flag to disable pa-enc-timestamp requirement.
4800 Wed Jul 16 03:37:41 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4802         * kdc/kerberos5.c (tgs_rep2): Free ticket and ap_req.
4804         * lib/krb5/auth_context.c (krb5_auth_con_free): Free remote
4805         subkey.
4807         * lib/krb5/principal.c (krb5_free_principal): Check for NULL.
4809         * lib/krb5/send_to_kdc.c: Check for NULL return from
4810         gethostbyname.
4812         * lib/krb5/set_default_realm.c: Try to get realm of local host if
4813         no default realm is available.
4815         * Remove non ASN.1 principal code.
4817 Wed Jul 16 03:17:30 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4819         * kdc/kerberos5.c: Split tgs_rep in smaller functions. Add better
4820         error handing. Do some logging.
4822         * kdc/log.c: Some simple logging facilities.
4824         * kdc/misc.c (db_fetch): Take a krb5_principal.
4826         * kdc/connect.c: Pass address of request to as_rep and
4827         tgs_rep. Send KRB-ERROR.
4829         * lib/krb5/mk_error.c: Add more fields.
4831         * lib/krb5/get_cred.c: Print normal error code if no e_text is
4832         available.
4834 Wed Jul 16 03:07:50 1997  Assar Westerlund  <assar@sics.se>
4836         * lib/krb5/get_in_tkt.c: implement `krb5_init_etype'.
4837         Change encryption type of pa_enc_timestamp to DES-CBC-MD5
4839         * lib/krb5/context.c: recognize all encryption types actually
4840         implemented
4842         * lib/krb5/auth_context.c (krb5_auth_con_init): Change default
4843         encryption type to `DES_CBC_MD5'
4845         *  lib/krb5/read_message.c, write_message.c: new files
4847 Tue Jul 15 17:14:21 1997  Assar Westerlund  <assar@sics.se>
4849         * lib/asn1: replaced asn1_locl.h by `der_locl.h' and `gen_locl.h'.
4851         * lib/error/compile_et.awk: generate a prototype for the
4852         `destroy_foo_error_table' function.
4854 Mon Jul 14 12:24:40 1997  Assar Westerlund  <assar@sics.se>
4856         * lib/krb5/krbhst.c (krb5_get_krbhst): Get all kdc's and try also
4857         with `kerberos.REALM'
4859         * kdc/kerberos5.c, lib/krb5/rd_priv.c, lib/krb5/rd_safe.c: use
4860         `max_skew'
4862         * lib/krb5/rd_req.c (krb5_verify_ap_req): record authenticator
4863         subkey
4865         * lib/krb5/build_auth.c (krb5_build_authenticator): always
4866         generate a subkey.
4868         * lib/krb5/address.c: implement `krb5_address_order'
4870         * lib/gssapi/import_name.c: Implement `gss_import_name'
4872         * lib/gssapi/external.c: Use new OID
4874         * lib/gssapi/encapsulate.c: New functions
4875         `gssapi_krb5_encap_length' and `gssapi_krb5_make_header'.  Changed
4876         callers.
4878         * lib/gssapi/decapsulate.c: New function
4879         `gssaspi_krb5_verify_header'.  Changed callers.
4881         * lib/asn1/gen*.c: Give tags to generated structs.
4882         Use `err' and `asprintf'
4884         * appl/test/gss_common.c: new file
4886         * appl/test/gssapi_server.c: removed all krb5 calls
4888         * appl/telnet/libtelnet/kerberos5.c: Add support for genering and
4889         verifying checksums.  Also start using session subkeys.
4891 Mon Jul 14 12:08:25 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4893         * lib/krb5/rd_req.c (krb5_rd_req_with_keyblock): Split up.
4895 Sun Jul 13 03:07:44 1997  Assar Westerlund  <assar@sics.se>
4897         * lib/krb5/rd_safe.c, mk_safe.c: made bug-compatible with MIT
4899         * lib/krb5/encrypt.c: new functions `DES_encrypt_null_ivec' and
4900         `DES_encrypt_key_ivec'
4902         * lib/krb5/checksum.c: implement rsa-md4-des and rsa-md5-des
4904         * kdc/kerberos5.c (tgs_rep): support keyed checksums
4906         * lib/krb5/creds.c: new file
4908         * lib/krb5/get_in_tkt.c: better freeing
4910         * lib/krb5/context.c (krb5_free_context): more freeing
4912         * lib/krb5/config_file.c: New function `krb5_config_file_free'
4914         * lib/error/compile_et.awk: Generate a `destroy_' function.
4916         * kuser/kinit.c, klist.c: Don't leak memory.
4918 Sun Jul 13 02:46:27 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4920         * kdc/connect.c: Check filedescriptor in select.
4922         * kdc/kerberos5.c: Remove most of the most common memory leaks.
4924         * lib/krb5/rd_req.c: Free allocated data.
4926         * lib/krb5/auth_context.c (krb5_auth_con_free): Free a lot of
4927         fields.
4929 Sun Jul 13 00:32:16 1997  Assar Westerlund  <assar@sics.se>
4931         * appl/telnet: Conditionalize the krb4-support.
4933         * configure.in: Test for krb4
4935 Sat Jul 12 17:14:12 1997  Assar Westerlund  <assar@sics.se>
4937         * kdc/kerberos5.c: check if the pre-auth was decrypted properly.
4938         set the `pre_authent' flag
4940         * lib/krb5/get_cred.c, lib/krb5/get_in_tkt.c: generate a random nonce.
4942         * lib/krb5/encrypt.c: Made `generate_random_block' global.
4944         * appl/test: Added gssapi_client and gssapi_server.
4946         * lib/krb5/data.c: Add `krb5_data_zero'
4948         * appl/test/tcp_client.c: try `mk_safe' and `mk_priv'
4950         * appl/test/tcp_server.c: try `rd_safe' and `rd_priv'
4952 Sat Jul 12 16:45:58 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4954         * lib/krb5/get_addrs.c: Fix for systems that has sa_len, but
4955         returns zero length from SIOCGIFCONF.
4957 Sat Jul 12 16:38:34 1997  Assar Westerlund  <assar@sics.se>
4959         * appl/test: new programs
4960         
4961         * lib/krb5/rd_req.c: add address compare
4963         * lib/krb5/mk_req_ext.c: allow no checksum
4965         * lib/krb5/keytab.c (krb5_kt_ret_string): 0-terminate string
4967         * lib/krb5/address.c: fix `krb5_address_compare'
4969 Sat Jul 12 15:03:16 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4971         * lib/krb5/get_addrs.c: Fix ip4 address extraction.
4973         * kuser/klist.c: Add verbose flag, and split main into smaller
4974         pieces.
4976         * lib/krb5/fcache.c: Save ticket flags.
4978         * lib/krb5/get_in_tkt.c (extract_ticket): Extract addresses and
4979         flags.
4981         * lib/krb5/krb5.h: Add ticket_flags to krb5_creds.
4983 Sat Jul 12 13:12:48 1997  Assar Westerlund  <assar@sics.se>
4985         * configure.in: Call `AC_KRB_PROG_LN_S'
4987         * acinclude.m4: Add `AC_KRB_PROG_LN_S' from krb4
4989 Sat Jul 12 00:57:01 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4991         * lib/krb5/get_in_tkt.c: Use union of krb5_flags and KDCOptions to
4992         pass options.
4994 Fri Jul 11 15:04:22 1997  Assar Westerlund  <assar@sics.se>
4996         * appl/telnet: telnet & telnetd seems to be working.
4997         
4998         * lib/krb5/config_file.c: Added krb5_config_v?get_list Fixed
4999         krb5_config_vget_next
5001         * appl/telnet/libtelnet/kerberos5.c: update to current API
5003 Thu Jul 10 14:54:39 1997  Assar Westerlund  <assar@sics.se>
5005         * appl/telnet/libtelnet/kerberos5.c (kerberos5_status): call
5006         `krb5_kuserok'
5008         * appl/telnet: Added.
5010 Thu Jul 10 05:09:25 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
5012         * lib/error/compile_et.awk: Remove usage of sub, gsub, and
5013         functions for compatibility with awk.
5015         * include/bits.c: Must use signed char.
5017         * lib/krb5/context.c: Move krb5_get_err_text, and krb5_init_ets
5018         here.
5020         * lib/error/error.c: Replace krb5_get_err_text with new function
5021         com_right.
5023         * lib/error/compile_et.awk: Avoid using static variables.
5025         * lib/error/error.c: Don't use krb5_locl.h
5027         * lib/error/error.h: Move definitions of error_table and
5028         error_list from krb5.h.
5030         * lib/error: Moved from lib/krb5.
5032 Wed Jul  9 07:42:04 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5034         * lib/krb5/encrypt.c: Temporary hack to avoid des_rand_data.
5036 Wed Jul  9 06:58:00 1997  Assar Westerlund  <assar@sics.se>
5038         * lib/krb5/{rd,mk}_{*}.c: more checking for addresses and stuff
5039         according to pseudocode from 1510
5041 Wed Jul  9 06:06:06 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5043         * lib/hdb/hdb.c: Add hdb_etype2key.
5045         * kdc/kerberos5.c: Check authenticator. Use more general etype
5046         functions.
5047         
5048 Wed Jul  9 03:51:12 1997  Assar Westerlund  <assar@sics.se>
5050         * lib/asn1/k5.asn1: Made all `s_address' OPTIONAL according to
5051         draft-ietf-cat-kerberos-r-00.txt
5053         * lib/krb5/principal.c (krb5_parse_name): default to local realm
5054         if none given
5055         
5056         * kuser/kinit.c: New option `-p' and prompt
5058 Wed Jul  9 02:30:06 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5060         * lib/krb5/keyblock.c: Keyblock generation functions.
5062         * lib/krb5/encrypt.c: Use functions from checksum.c.
5064         * lib/krb5/checksum.c: Move checksum functions here. Add
5065         krb5_cksumsize function.
5067 Wed Jul  9 01:15:38 1997  Assar Westerlund  <assar@sics.se>
5069         * lib/krb5/get_host_realm.c: implemented
5071         * lib/krb5/config_file.c: Redid part.  New functions:
5072         krb5_config_v?get_next
5074         * kuser/kdestroy.c: new program
5076         * kuser/kinit.c: new flag `-f'
5078         * lib/asn1/k5.asn1: Made HostAddresses = SEQUENCE OF HostAddress
5080         * acinclude.m4: Added AC_KRB_STRUCT_SOCKADDR_SA_LEN
5082         * lib/krb5/krb5.h: krb5_addresses == HostAddresses.  Changed all
5083         users.
5085         * lib/krb5/get_addrs.c: figure out all local addresses, possibly
5086         even IPv6!
5088         * lib/krb5/checksum.c: table-driven checksum
5090 Mon Jul  7 21:13:28 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5092         * lib/krb5/encrypt.c: Make krb5_decrypt use the same struct as
5093         krb5_encrypt.
5095 Mon Jul  7 11:15:51 1997  Assar Westerlund  <assar@sics.se>
5097         * lib/roken/vsyslog.c: new file
5099         * lib/krb5/encrypt.c: add des-cbc-md4.
5100         adjust krb5_encrypt and krb5_decrypt to reality
5102 Mon Jul  7 02:46:31 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5104         * lib/krb5/encrypt.c: Implement as a vector of function pointers.
5106         * lib/krb5/{decrypt,encrypt}.c: Implement des-cbc-crc, and
5107         des-cbc-md5 in separate functions.
5109         * lib/krb5/krb5.h: Add more checksum and encryption types.
5111         * lib/krb5/krb5_locl.h: Add etype to krb5_decrypt.
5113 Sun Jul  6 23:02:59 1997  Assar Westerlund  <assar@sics.se>
5115         * lib/krb5/[gs]et_default_realm.c, kuserok.c: new files
5117         * lib/krb5/config_file.[ch]: new c-based configuration reading
5118         stuff
5120 Wed Jul  2 23:12:56 1997  Assar Westerlund  <assar@sics.se>
5122         * configure.in: Set WFLAGS if using gcc
5124 Wed Jul  2 17:47:03 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5126         * lib/asn1/der_put.c (der_put_int): Return size correctly.
5128         * admin/ank.c: Be compatible with the asn1 principal format.
5130 Wed Jul  1 23:52:20 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5132         * lib/asn1: Now all decode_* and encode_* functions now take a
5133         final size_t* argument, that they return the size in. Return
5134         values are zero for success, and anything else (such as some
5135         ASN1_* constant) for error.
5137 Mon Jun 30 06:08:14 1997  Assar Westerlund  <assar@sics.se>
5139         * lib/krb5/keytab.c (krb5_kt_add_entry): change open mode to
5140         O_WRONLY | O_APPEND
5142         * lib/krb5/get_cred.c: removed stale prototype for
5143         `extract_ticket' and corrected call.
5145         * lib/asn1/gen_length.c (length_type): Make the length functions
5146         for SequenceOf non-destructive
5148         * admin/ank.c (doit): Fix reading of `y/n'.
5150 Mon Jun 16 05:41:43 1997  Assar Westerlund  <assar@sics.se>
5152         * lib/gssapi/wrap.c, unwrap.c: do encrypt and add sequence number
5154         * lib/gssapi/get_mic.c, verify_mic.c: Add sequence number.
5156         * lib/gssapi/accept_sec_context.c (gss_accept_sec_context): Set
5157         KRB5_AUTH_CONTEXT_DO_SEQUENCE.  Verify 8003 checksum.
5159         * lib/gssapi/8003.c: New file.
5161         * lib/krb/krb5.h: Define a `krb_authenticator' as an ASN.1
5162         Authenticator.
5164         * lib/krb5/auth_context.c: New functions
5165         `krb5_auth_setlocalseqnumber' and `krb5_auth_setremoteseqnumber'
5167 Tue Jun 10 00:35:54 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5169         * lib/krb5: Preapre for use of some asn1-types.
5171         * lib/asn1/*.c (copy_*): Constness.
5173         * lib/krb5/krb5.h: Include asn1.h; krb5_data is now an
5174         octet_string.
5176         * lib/asn1/der*,gen.c: krb5_data -> octet_string, char * ->
5177         general_string
5179         * lib/asn1/libasn1.h: Moved stuff from asn1_locl.h that doesn't
5180         have anything to do with asn1_compile.
5182         * lib/asn1/asn1_locl.h: Remove der.h. Add some prototypes.
5184 Sun Jun  8 03:51:55 1997  Assar Westerlund  <assar@sics.se>
5186         * kdc/kerberos5.c: Fix PA-ENC-TS-ENC
5188         * kdc/connect.c(process_request): Set `new'
5189         
5190         * lib/krb5/get_in_tkt.c: Do PA-ENC-TS-ENC the correct way.
5192         * lib: Added editline,sl,roken.
5194 Mon Jun  2 00:37:48 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5196         * lib/krb5/fcache.c: Move file cache from cache.c.
5198         * lib/krb5/cache.c: Allow more than one cache type.
5200 Sun Jun  1 23:45:33 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5202         * admin/extkeytab.c: Merged with kdb_edit.
5204 Sun Jun  1 23:23:08 1997  Assar Westerlund  <assar@sics.se>
5206         * kdc/kdc.c: more support for ENC-TS-ENC
5208         * lib/krb5/get_in_tkt.c: redone to enable pre-authentication
5210 Sun Jun  1 22:45:11 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5212         * lib/hdb/db.c: Merge fetch and store.
5214         * admin: Merge to one program.
5216         * lib/krb5/str2key.c: Fill in keytype and length.
5218 Sun Jun  1 16:31:23 1997  Assar Westerlund  <assar@sics.se>
5220         * lib/krb5/rd_safe.c, lib/krb5/rd_priv.c, lib/krb5/mk_rep.c,
5221         lib/krb5/mk_priv.c, lib/krb5/build_auth.c: Some support for
5222         KRB5_AUTH_CONTEXT_DO_SEQUENCE
5224         * lib/krb5/get_in_tkt.c (get_in_tkt): be prepared to parse an
5225         KRB_ERROR.  Some support for PA_ENC_TS_ENC.
5227         * lib/krb5/auth_context.c: implemented seq_number functions
5229         * lib/krb5/generate_subkey.c, generate_seq_number.c: new files
5231         * lib/gssapi/gssapi.h: avoid including <krb5.h>
5233         * lib/asn1/Makefile.am: SUFFIXES as a variable to make automake
5234         happy
5236         * kdc/kdc.c: preliminary PREAUTH_ENC_TIMESTAMP
5238         * configure.in: adapted to automake 1.1p
5240 Mon May 26 22:26:21 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5242         * lib/krb5/principal.c: Add contexts to many functions.
5244 Thu May 15 20:25:37 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
5246         * lib/krb5/verify_user.c: First stab at a verify user.
5248         * lib/auth/sia/sia5.c: SIA module for Kerberos 5.
5250 Mon Apr 14 00:09:03 1997  Assar Westerlund  <assar@sics.se>
5252         * lib/gssapi: Enough of a gssapi-over-krb5 implementation to be
5253         able to (mostly) run gss-client and gss-server.
5254         
5255         * lib/krb5/keytab.c: implemented krb5_kt_add_entry,
5256         krb5_kt_store_principal, krb5_kt_store_keyblock
5258         * lib/des/md5.[ch], sha.[ch]: new files
5260         * lib/asn1/der_get.c (generalizedtime2time): use `timegm'
5262         * lib/asn1/timegm.c: new file
5264         * admin/extkeytab.c: new program
5266         * admin/admin_locl.h: new file
5268         * admin/Makefile.am: Added extkeytab
5270         * configure.in: moved config to include
5271         removed timezone garbage
5272         added lib/gssapi and admin
5274         * Makefile.am: Added admin
5276 Mon Mar 17 11:34:05 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5278         * kdc/kdc.c: Use new copying functions, and free some data.
5280         * lib/asn1/Makefile.am: Try to not always rebuild generated files.
5282         * lib/asn1/der_put.c: Add fix_dce().
5284         * lib/asn1/der_{get,length,put}.c: Fix include files.
5286         * lib/asn1/der_free.c: Remove unused functions.
5287         
5288         * lib/asn1/gen.c: Split into gen_encode, gen_decode, gen_free,
5289         gen_length, and gen_copy.
5291 Sun Mar 16 18:13:52 1997  Assar Westerlund  <assar@sics.se>
5293         * lib/krb5/sendauth.c: implemented functionality
5295         * lib/krb5/rd_rep.c: Use `krb5_decrypt'
5297         * lib/krb5/cache.c (krb5_cc_get_name): return default if `id' ==
5298         NULL
5300         * lib/krb5/principal.c (krb5_free_principal): added `context'
5301         argument.  Changed all callers.
5302         
5303         (krb5_sname_to_principal): new function
5305         * lib/krb5/auth_context.c (krb5_free_authenticator): add `context'
5306         argument.  Changed all callers
5308         * lib/krb5/{net_write.c,net_read.c,recvauth.c}: new files
5310         * lib/asn1/gen.c: Fix encoding and decoding of BitStrings
5312 Fri Mar 14 11:29:00 1997  Assar Westerlund  <assar@sics.se>
5314         * configure.in: look for *dbm?
5316         * lib/asn1/gen.c: Fix filename in generated files. Check fopens.
5317         Put trailing newline in asn1_files.
5319 Fri Mar 14 05:06:44 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
5321         * lib/krb5/get_in_tkt.c: Fix some memory leaks.
5323         * lib/krb5/krbhst.c: Properly free hostlist.
5325         * lib/krb5/decrypt.c: CRCs are 32 bits.
5327 Fri Mar 14 04:39:15 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5329         * lib/asn1/gen.c: Generate one file for each type.
5331 Fri Mar 14 04:13:47 1997  Assar Westerlund  <assar@sics.se>
5333         * lib/asn1/gen.c: Generate `length_FOO' functions
5335         * lib/asn1/der_length.c: new file
5337         * kuser/klist.c: renamed stime -> printable_time to avoid conflict
5338         on HP/UX
5340 Fri Mar 14 03:37:23 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
5342         * lib/hdb/ndbm.c: Return NOENTRY if fetch fails. Don't free
5343         datums. Don't add .db to filename.
5345 Fri Mar 14 02:49:51 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5347         * kdc/dump.c: Database dump program.
5349         * kdc/ank.c: Trivial database editing program.
5351         * kdc/{kdc.c, load.c}: Use libhdb.
5353         * lib/hdb: New database routine library.
5355         * lib/krb5/error/Makefile.am: Add hdb_err.
5357 Wed Mar 12 17:41:14 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5359         * kdc/kdc.c: Rewritten AS, and somewhat more working TGS support.
5361         * lib/asn1/gen.c: Generate free functions.
5363         * Some specific free functions.
5365 Wed Mar 12 12:30:13 1997  Assar Westerlund  <assar@sics.se>
5367         * lib/krb5/krb5_mk_req_ext.c: new file
5369         * lib/asn1/gen.c: optimize the case with a simple type
5371         * lib/krb5/get_cred.c (krb5_get_credentials): Use
5372         `mk_req_extended' and remove old code.
5374         * lib/krb5/get_in_tkt.c (decrypt_tkt): First try with an
5375         EncASRepPart, then with an EncTGSRepPart.
5377 Wed Mar 12 08:26:04 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5379         * lib/krb5/store_emem.c: New resizable memory storage.
5381         * lib/krb5/{store.c, store_fd.c, store_mem.c}: Split of store.c
5383         * lib/krb5/krb5.h: Add free entry to krb5_storage.
5385         * lib/krb5/decrypt.c: Make keyblock const.
5387 Tue Mar 11 20:22:17 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5389         * lib/krb5/krb5.h: Add EncTicketPart to krb5_ticket.
5391         * lib/krb5/rd_req.c: Return whole asn.1 ticket in
5392         krb5_ticket->tkt.
5394         * lib/krb5/get_in_tkt.c: TGS -> AS
5396         * kuser/kfoo.c: Print error string rather than number.
5398         * kdc/kdc.c: Some kind of non-working TGS support.
5400 Mon Mar 10 01:43:22 1997  Assar Westerlund  <assar@sics.se>
5402         * lib/asn1/gen.c: reduced generated code by 1/5
5404         * lib/asn1/der_put.c: (der_put_length_and_tag): new function
5406         * lib/asn1/der_get.c (der_match_tag_and_length): new function
5408         * lib/asn1/der.h: added prototypes
5410 Mon Mar 10 01:15:43 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5412         * lib/krb5/krb5.h: Include <asn1_err.h>. Add prototype for
5413         krb5_rd_req_with_keyblock.
5415         * lib/krb5/rd_req.c: Add function krb5_rd_req_with_keyblock that
5416         takes a precomputed keyblock.
5418         * lib/krb5/get_cred.c: Use krb5_mk_req rather than inlined code.
5420         * lib/krb5/mk_req.c: Calculate checksum of in_data.
5422 Sun Mar  9 21:17:58 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5424         * lib/krb5/error/compile_et.awk: Add a declaration of struct
5425         error_list, and multiple inclusion block to header files.
5427 Sun Mar  9 21:01:12 1997  Assar Westerlund  <assar@sics.se>
5429         * lib/krb5/rd_req.c: do some checks on times
5431         * lib/krb/{mk_priv.c, rd_priv.c, sendauth.c, decrypt.c,
5432         address.c}: new files
5434         * lib/krb5/auth_context.c: more code
5436         * configure.in: try to figure out timezone
5438 Sat Mar  8 11:41:07 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5440         * lib/krb5/error/error.c: Try strerror if error code wasn't found.
5442         * lib/krb5/get_in_tkt.c: Remove realm parameter from
5443         krb5_get_salt.
5445         * lib/krb5/context.c: Initialize error table.
5447         * kdc: The beginnings of a kdc.
5449 Sat Mar  8 08:16:28 1997  Assar Westerlund  <assar@sics.se>
5451         * lib/krb5/rd_safe.c: new file
5453         * lib/krb5/checksum.c (krb5_verify_checksum): New function
5455         * lib/krb5/get_cred.c: use krb5_create_checksum
5457         * lib/krb5/checksum.c: new file
5459         * lib/krb5/store.c: no more arithmetic with void*
5461         * lib/krb5/cache.c: now seems to work again
5463 Sat Mar  8 06:58:09 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5465         * lib/krb5/Makefile.am: Add asn1_glue.c and error/*.c to libkrb5.
5467         * lib/krb5/get_in_tkt.c: Moved some functions to asn1_glue.c.
5469         * lib/krb5/asn1_glue.c: Moved some asn1-stuff here.
5470         
5471         * lib/krb5/{cache,keytab}.c: Use new storage functions.
5473         * lib/krb5/krb5.h: Protypes for new storage functions.
5475         * lib/krb5/krb5.h: Make krb5_{ret,store}_* functions able to write
5476         data to more than file descriptors.
5478 Sat Mar  8 01:01:17 1997  Assar Westerlund  <assar@sics.se>
5480         * lib/krb5/encrypt.c: New file.
5482         * lib/krb5/Makefile.am: More -I
5484         * configure.in: Test for big endian, random, rand, setitimer
5486         * lib/asn1/gen.c: perhaps even decodes bitstrings
5488 Thu Mar  6 19:05:29 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5490         * lib/krb5/config_file.y: Better return values on error.
5492 Sat Feb  8 15:59:56 1997  Assar Westerlund  <assar@pdc.kth.se>
5494         * lib/asn1/parse.y: ifdef HAVE_STRDUP
5496         * lib/asn1/lex.l: ifdef strdup
5497         brange-dead version of list of special characters to make stupid
5498         lex accept it.
5500         * lib/asn1/gen.c: A DER integer should really be a `unsigned'
5502         * lib/asn1/der_put.c: A DER integer should really be a `unsigned'
5504         * lib/asn1/der_get.c: A DER integer should really be a `unsigned'
5506         * lib/krb5/error/Makefile.am: It seems "$(SHELL) ./compile_et" is
5507         needed.
5509         * lib/krb/mk_rep.c, lib/krb/rd_req.c, lib/krb/store.c,
5510         lib/krb/store.h: new files.
5512         * lib/krb5/keytab.c: now even with some functionality.
5514         * lib/asn1/gen.c: changed paramater from void * to Foo *
5516         * lib/asn1/der_get.c (der_get_octet_string): Fixed bug with empty
5517         string.
5519 Sun Jan 19 06:17:39 1997  Assar Westerlund  <assar@pdc.kth.se>
5521         * lib/krb5/get_cred.c (krb5_get_credentials): Check for creds in
5522         cc before getting new ones.
5524         * lib/krb5/krb5.h (krb5_free_keyblock): Fix prototype.
5526         * lib/krb5/build_auth.c (krb5_build_authenticator): It seems the
5527         CRC should be stored LSW first. (?)
5529         * lib/krb5/auth_context.c: Implement `krb5_auth_con_getkey' and
5530         `krb5_free_keyblock'
5532         * lib/**/Makefile.am: Rename foo libfoo.a
5534         * include/Makefile.in: Use test instead of [
5535         -e does not work with /bin/sh on psoriasis
5537         * configure.in: Search for awk
5538         create lib/krb/error/compile_et
5539         
5540 Tue Jan 14 03:46:26 1997  Assar Westerlund  <assar@pdc.kth.se>
5542         * lib/krb5/Makefile.am: replaced mit-crc.c by crc.c
5544 Wed Dec 18 00:53:55 1996  Johan Danielsson  <joda@emma.pdc.kth.se>
5546         * kuser/kinit.c: Guess principal.
5548         * lib/krb5/error/compile_et.awk: Don't include krb5.h. Fix some
5549         warnings.
5551         * lib/krb5/error/asn1_err.et: Add ASN.1 error messages.
5553         * lib/krb5/mk_req.c: Get client from cache.
5555         * lib/krb5/cache.c: Add better error checking some useful return
5556         values.
5558         * lib/krb5/krb5.h: Fix krb5_auth_context.
5560         * lib/asn1/der.h: Make krb5_data compatible with krb5.h
5562 Tue Dec 17 01:32:36 1996  Johan Danielsson  <joda@emma.pdc.kth.se>
5564         * lib/krb5/error: Add primitive error library.
5566 Mon Dec 16 16:30:20 1996  Johan Danielsson  <joda@emma.pdc.kth.se>
5568         * lib/krb5/cache.c: Get correct address type from cache.
5570         * lib/krb5/krb5.h: Change int16 to int to be compatible with asn1.