(export_sec_context: add flags for what fields are included. do not
[heimdal.git] / ChangeLog
blob1917b1ae2b3747e777fbe4ba13290d73e3f1da3e
1 2000-02-11  Assar Westerlund  <assar@sics.se>
3         * kdc/kdc_locl.h: remove keyfile add explicit_addresses
4         * kdc/connect.c (init_sockets): pay attention to
5         explicit_addresses some more comments.  better error messages.
6         * kdc/config.c: add some comments.
7         remove --key-file.
8         add --addresses.
10         * lib/krb5/context.c (krb5_set_extra_addresses): const-ize and use
11         proper abstraction
13 2000-02-07  Johan Danielsson  <joda@pdc.kth.se>
15         * lib/krb5/changepw.c: use roken_getaddrinfo_hostspec
17 2000-02-07  Assar Westerlund  <assar@sics.se>
19         * Release 0.2n
21 2000-02-07  Assar Westerlund  <assar@sics.se>
23         * lib/krb5/Makefile.am: set version to 8:0:0
24         * lib/krb5/keytab.c (krb5_kt_default_name): use strlcpy
25         (krb5_kt_add_entry): set timestamp
27 2000-02-06  Assar Westerlund  <assar@sics.se>
29         * lib/krb5/krb5.h: add macros for accessing krb5_realm
30         * lib/krb5/time.c (krb5_timeofday): use `krb5_timestamp' instead
31         of `int32_t'
33         * lib/krb5/replay.c (checksum_authenticator): update to new API
34         for md5
36         * lib/krb5/krb5.h: remove des.h, it's not needed and applications
37         should not have to make sure to find it.
39 2000-02-03  Assar Westerlund  <assar@sics.se>
41         * lib/krb5/rd_req.c (get_key_from_keytab): rename parameter to
42         `out_key' to avoid conflicting with label.  reported by Sean Doran
43         <smd@ebone.net>
45 2000-02-02  Assar Westerlund  <assar@sics.se>
47         * lib/krb5/expand_hostname.c: remember to lower-case host names.
48         bug reported by <amu@mit.edu>
50         * kdc/kerberos4.c (do_version4): look at check_ticket_addresses
51         and emulate that by setting krb_ignore_ip_address (not a great
52         interface but it doesn't seem like the time to go around fixing
53         libkrb stuff now)
55 2000-02-01  Johan Danielsson  <joda@pdc.kth.se>
57         * kuser/kinit.c: change --noaddresses into --no-addresses
59 2000-01-28  Assar Westerlund  <assar@sics.se>
61         * kpasswd/kpasswd.c (main): make sure the ticket is not
62         forwardable and not proxiable
64 2000-01-26  Assar Westerlund  <assar@sics.se>
66         * lib/krb5/crypto.c: update to pseudo-standard APIs for
67         md4,md5,sha.  some changes to libdes calls to make them more
68         portable.
70 2000-01-21  Assar Westerlund  <assar@sics.se>
72         * lib/krb5/verify_init.c (krb5_verify_init_creds): make sure to
73         clean up the correct creds.
75 2000-01-16  Assar Westerlund  <assar@sics.se>
77         * lib/krb5/principal.c (append_component): change parameter to
78         `const char *'.  check malloc
79         * lib/krb5/principal.c (append_component, va_ext_princ, va_princ):
80         const-ize
81         * lib/krb5/mk_req.c (krb5_mk_req): make `service' and `hostname'
82         const
83         * lib/krb5/principal.c (replace_chars): also add space here
84         * lib/krb5/principal.c: (quotable_chars): add space
86 2000-01-12  Assar Westerlund  <assar@sics.se>
88         * kdc/kerberos4.c (do_version4): check if preauth was required and
89         bail-out if so since there's no way that could be done in v4.
90         Return NULL_KEY as an error to the client (which is non-obvious,
91         but what can you do?)
93 2000-01-09  Assar Westerlund  <assar@sics.se>
95         * lib/krb5/principal.c (krb5_sname_to_principal): use
96         krb5_expand_hostname_realms
97         * lib/krb5/mk_req.c (krb5_km_req): use krb5_expand_hostname_realms
98         * lib/krb5/expand_hostname.c (krb5_expand_hostname_realms): new
99         variant of krb5_expand_hostname that tries until it expands into
100         something that's digestable by krb5_get_host_realm, returning also
101         the result from that function.
103 2000-01-08  Assar Westerlund  <assar@sics.se>
105         * Release 0.2m
107 2000-01-08  Assar Westerlund  <assar@sics.se>
109         * configure.in: replace AC_C_BIGENDIAN with KRB_C_BIGENDIAN
111         * lib/krb5/Makefile.am: bump version to 7:1:0
113         * lib/krb5/principal.c (krb5_sname_to_principal): use
114         krb5_expand_hostname
115         * lib/krb5/expand_hostname.c (krb5_expand_hostname): handle
116         ai_canonname being set in any of the addresses returnedby
117         getaddrinfo.  glibc apparently returns the reverse lookup of every
118         address in ai_canonname.
120 2000-01-06  Assar Westerlund  <assar@sics.se>
122         * Release 0.2l
124 2000-01-06  Assar Westerlund  <assar@sics.se>
126         * lib/krb5/Makefile.am: set version to 7:0:0
127         * lib/krb5/principal.c (krb5_sname_to_principal): remove `hp'
129         * lib/hdb/Makefile.am: set version to 4:1:1
131         * kdc/hpropd.c (dump_krb4): use `krb5_get_default_realms'
132         * lib/krb5/get_in_tkt.c (add_padata): change types to make
133         everything work out
134         (krb5_get_in_cred): remove const to make types match
135         * lib/krb5/crypto.c (ARCFOUR_string_to_key): correct signature
136         * lib/krb5/principal.c (krb5_sname_to_principal): handle not
137         getting back a canonname
139 2000-01-06  Assar Westerlund  <assar@sics.se>
141         * Release 0.2k
143 2000-01-06  Assar Westerlund  <assar@sics.se>
145         * lib/krb5/send_to_kdc.c (krb5_sendto_kdc): advance colon so that
146         we actually parse the port number.  based on a patch from Leif
147         Johansson <leifj@it.su.se>
149 2000-01-02  Assar Westerlund  <assar@sics.se>
151         * admin/purge.c: remove all non-current and old entries from a
152         keytab
154         * admin: break up ktutil.c into files
156         * admin/ktutil.c (list): support --verbose (also listning time
157         stamps)
158         (kt_add, kt_get): set timestamp in newly created entries
159         (kt_change): add `change' command
161         * admin/srvconvert.c (srvconv): set timestamp in newly created
162         entries
163         * lib/krb5/keytab_keyfile.c (akf_next_entry): set timetsamp,
164         always go the a predicatble position on error
165         * lib/krb5/keytab.c (krb5_kt_copy_entry_contents): copy timestamp
166         * lib/krb5/keytab_file.c (fkt_add_entry): store timestamp
167         (fkt_next_entry_int): return timestamp
168         * lib/krb5/krb5.h (krb5_keytab_entry): add timestamp
170 1999-12-30  Assar Westerlund  <assar@sics.se>
172         * configure.in (krb4): use `-ldes' in tests
174 1999-12-26  Assar Westerlund  <assar@sics.se>
176         * lib/hdb/print.c (event2string): handle events without principal.
177         From Luke Howard <lukeh@PADL.COM>
179 1999-12-25  Assar Westerlund  <assar@sics.se>
181         * Release 0.2j
183 Tue Dec 21 18:03:17 1999  Assar Westerlund  <assar@sics.se>
185         * lib/hdb/Makefile.am (asn1_files): add $(EXEEXT) for cygwin and
186         related systems
188         * lib/asn1/Makefile.am (asn1_files): add $(EXEEXT) for cygwin and
189         related systems
191         * include/Makefile.am (krb5-types.h): add $(EXEEXT) for cygwin and
192         related systems
194 1999-12-20  Assar Westerlund  <assar@sics.se>
196         * Release 0.2i
198 1999-12-20  Assar Westerlund  <assar@sics.se>
200         * lib/krb5/Makefile.am (libkrb5_la_LDFLAGS): bump version to 6:3:1
202         * lib/krb5/send_to_kdc.c (send_via_proxy): free data
203         * lib/krb5/send_to_kdc.c (send_via_proxy): new function use
204         getaddrinfo instead of gethostbyname{,2}
205         * lib/krb5/get_for_creds.c: use getaddrinfo instead of
206         getnodebyname{,2}
208 1999-12-17  Assar Westerlund  <assar@sics.se>
210         * Release 0.2h
212 1999-12-17  Assar Westerlund  <assar@sics.se>
214         * Release 0.2g
216 1999-12-16  Assar Westerlund  <assar@sics.se>
218         * lib/krb5/Makefile.am: bump version to 6:2:1
220         * lib/krb5/principal.c (krb5_sname_to_principal): handle
221         ai_canonname not being set
222         * lib/krb5/expand_hostname.c (krb5_expand_hostname): handle
223         ai_canonname not being set
225         * appl/test/uu_server.c: print messages to stderr
226         * appl/test/tcp_server.c: print messages to stderr
227         * appl/test/nt_gss_server.c: print messages to stderr
228         * appl/test/gssapi_server.c: print messages to stderr
230         * appl/test/tcp_client.c (proto): remove shadowing `context'
231         * appl/test/common.c (client_doit): add forgotten ntohs
233 1999-12-13  Assar Westerlund  <assar@sics.se>
235         * configure.in (VERISON): bump to 0.2g-pre
237 1999-12-12  Assar Westerlund  <assar@sics.se>
239         * lib/krb5/principal.c (krb5_425_conv_principal_ext): be more
240         robust and handle extra dot at the beginning of default_domain
242 1999-12-12  Assar Westerlund  <assar@sics.se>
244         * Release 0.2f
246 1999-12-12  Assar Westerlund  <assar@sics.se>
248         * lib/krb5/Makefile.am: bump version to 6:1:1
249         
250         * lib/krb5/changepw.c (get_kdc_address): use
251         `krb5_get_krb_changepw_hst'
253         * lib/krb5/krbhst.c (krb5_get_krb_changepw_hst): add
255         * lib/krb5/get_host_realm.c: add support for _kerberos.domain
256         (according to draft-ietf-cat-krb-dns-locate-01.txt)
258 1999-12-06  Assar Westerlund  <assar@sics.se>
260         * Release 0.2e
262 1999-12-06  Assar Westerlund  <assar@sics.se>
264         * lib/krb5/changepw.c (krb5_change_password): use the correct
265         address
267         * lib/krb5/Makefile.am: bump version to 6:0:1
269         * lib/asn1/Makefile.am: bump version to 1:4:0
271 1999-12-04  Assar Westerlund  <assar@sics.se>
273         * configure.in: move AC_KRB_IPv6 to make sure it's performed
274         before AC_BROKEN
275         (el_init): use new feature of AC_FIND_FUNC_NO_LIBS
277         * appl/test/uu_client.c: use client_doit
278         * appl/test/test_locl.h (client_doit): add prototype
279         * appl/test/tcp_client.c: use client_doit
280         * appl/test/nt_gss_client.c: use client_doit
281         * appl/test/gssapi_client.c: use client_doit
282         * appl/test/common.c (client_doit): move identical code here and
283         start using getaddrinfo
285         * appl/kf/kf.c (doit): rewrite to use getaddrinfo
286         * kdc/hprop.c: re-write to use getaddrinfo
287         * lib/krb5/principal.c (krb5_sname_to_principal): use getaddrinfo
288         * lib/krb5/expand_hostname.c (krb5_expand_hostname): use
289         getaddrinfo
290         * lib/krb5/changepw.c: re-write to use getaddrinfo
291         * lib/krb5/addr_families.c (krb5_parse_address): use getaddrinfo
293 1999-12-03  Assar Westerlund  <assar@sics.se>
295         * configure.in (BROKEN): check for freeaddrinfo, getaddrinfo,
296         getnameinfo, gai_strerror
297         (socklen_t): check for
299 1999-12-02  Johan Danielsson  <joda@pdc.kth.se>
301         * lib/krb5/crypto.c: ARCFOUR_set_key -> RC4_set_key
303 1999-11-23  Assar Westerlund  <assar@sics.se>
305         * lib/krb5/crypto.c (ARCFOUR_string_to_key): change order of bytes
306         within unicode characters.  this should probably be done in some
307         arbitrarly complex way to do it properly and you would have to
308         know what character encoding was used for the password and salt
309         string.
311         * lib/krb5/addr_families.c (ipv4_uninteresting): ignore 0.0.0.0
312         (INADDR_ANY)
313         (ipv6_uninteresting): remove unused macro
315 1999-11-22  Johan Danielsson  <joda@pdc.kth.se>
317         * lib/krb5/krb5.h: rc4->arcfour
319         * lib/krb5/crypto.c: rc4->arcfour
321 1999-11-17  Assar Westerlund  <assar@sics.se>
323         * lib/krb5/krb5_locl.h: add <rc4.h>
324         * lib/krb5/krb5.h (krb5_keytype): add KEYTYPE_RC4
325         * lib/krb5/crypto.c: some code for doing RC4/MD5/HMAC which might
326         not be totally different from some small company up in the
327         north-west corner of the US
329         * lib/krb5/get_addrs.c (find_all_addresses): change code to
330         actually increment buf_size
332 1999-11-14  Assar Westerlund  <assar@sics.se>
334         * lib/krb5/krb5.h (krb5_context_data): add `scan_interfaces'
335         * lib/krb5/get_addrs.c (krb5_get_all_client_addrs): make interaces
336         scanning optional
337         * lib/krb5/context.c (init_context_from_config_file): set
338         `scan_interfaces'
340         * lib/krb5/Makefile.am (libkrb5_la_SOURCES): add add_et_list.c
341         * lib/krb5/add_et_list.c (krb5_add_et_list): new function
343 1999-11-12  Assar Westerlund  <assar@sics.se>
345         * lib/krb5/get_default_realm.c (krb5_get_default_realm,
346         krb5_get_default_realms): set realms if they were unset
347         * lib/krb5/context.c (init_context_from_config_file): don't
348         initialize default realms here.  it's done lazily instead.
349         
350         * lib/krb5/krb5.h (KRB5_TC_*): make constants unsigned
351         * lib/asn1/gen_glue.c (generate_2int, generate_units): make sure
352         bit constants are unsigned
353         * lib/asn1/gen.c (define_type): make length in sequences be
354         unsigned.
356         * configure.in: remove duplicate test for setsockopt test for
357         struct tm.tm_isdst
359         * lib/krb5/get_in_tkt.c (krb5_get_in_cred): generate
360         preauthentication information if we get back ERR_PREAUTH_REQUIRED
361         * lib/krb5/init_creds_pw.c (krb5_get_init_creds_password): remove
362         preauthentication generation code.  it's now in krb5_get_in_cred
363         
364         * configure.in (AC_BROKEN_SNPRINTF): add strptime check for struct
365         tm.tm_gmtoff and timezone
366         
367 1999-11-11  Johan Danielsson  <joda@pdc.kth.se>
369         * kdc/main.c: make this work with multi-db
371         * kdc/kdc_locl.h: make this work with multi-db
373         * kdc/config.c: make this work with multi-db
375 1999-11-09  Johan Danielsson  <joda@pdc.kth.se>
377         * kdc/misc.c: update for multi-database code
379         * kdc/main.c: update for multi-database code
381         * kdc/kdc_locl.h: update
383         * kdc/config.c: allow us to have more than one database
385 1999-11-04  Assar Westerlund  <assar@sics.se>
387         * Release 0.2d
389         * lib/krb5/Makefile.am: bump version to 5:0:0 to be safe
390         (krb5_context_data has changed and some code do (might) access
391         fields directly)
393         * lib/krb5/krb5.h (krb5_context_data): add `etypes_des'
395         * lib/krb5/get_cred.c (init_tgs_req): use
396         krb5_keytype_to_enctypes_default
398         * lib/krb5/crypto.c (krb5_keytype_to_enctypes_default): new
399         function
401         * lib/krb5/context.c (set_etypes): new function
402         (init_context_from_config_file): set both `etypes' and `etypes_des'
404 1999-11-02  Assar Westerlund  <assar@sics.se>
406         * configure.in (VERSION): bump to 0.2d-pre
408 1999-10-29  Assar Westerlund  <assar@sics.se>
410         * lib/krb5/principal.c (krb5_parse_name): check memory allocations
412 1999-10-28  Assar Westerlund  <assar@sics.se>
414         * Release 0.2c
416         * lib/krb5/dump_config.c (print_tree): check for empty tree
418         * lib/krb5/string-to-key-test.c (tests): update the test cases
419         with empty principals so that they actually use an empty realm and
420         not the default.  use the correct etype for 3DES
422         * lib/krb5/Makefile.am: bump version to 4:1:0
424         * kdc/config.c (configure): more careful with the port string
426 1999-10-26  Assar Westerlund  <assar@sics.se>
428         * Release 0.2b
430 1999-10-20  Assar Westerlund  <assar@sics.se>
432         * lib/krb5/Makefile.am: bump version to 4:0:0
433         (krb524_convert_creds_kdc and potentially some other functions
434         have changed prototypes)
436         * lib/hdb/Makefile.am: bump version to 4:0:1
438         * lib/asn1/Makefile.am: bump version to 1:3:0
440         * configure.in (LIB_roken): add dbopen.  getcap in roken
441         references dbopen and with shared libraries we need to add this
442         dependency.
444         * lib/krb5/verify_krb5_conf.c (main): support speicifying the
445         configuration file to test on the command line
447         * lib/krb5/config_file.c (parse_binding): handle line with no
448         whitespace before =
449         (krb5_config_parse_file_debug): set lineno earlier so that we don't
450         use it unitialized
452         * configure.in (AM_INIT_AUTOMAKE): bump to 0.2b-pre opt*: need
453         more include files for these tests
455         * lib/krb5/set_default_realm.c (krb5_set_default_realm): use
456         krb5_config_get_strings, which means that your configuration file
457         should look like:
458         
459         [libdefaults]
460           default_realm = realm1 realm2 realm3
462         * lib/krb5/set_default_realm.c (config_binding_to_list): fix
463         copy-o.  From Michal Vocu <michal@karlin.mff.cuni.cz>
465         * kdc/config.c (configure): add a missing strdup.  From Michal
466         Vocu <michal@karlin.mff.cuni.cz>
468 1999-10-17  Assar Westerlund  <assar@sics.se>
470         * Release 0.2a
472         * configure.in: only test for db.h with using berkeley_db. remember
473         to link with LIB_tgetent when checking for el_init. add xnlock
475         * appl/Makefile.am: add xnlock
477         * kdc/kerberos5.c (find_etype): support null keys
479         * kdc/kerberos4.c (get_des_key): support null keys
481         * lib/krb5/crypto.c (krb5_get_wrapped_length): more correct
482         calculation
484 1999-10-16  Johan Danielsson  <joda@pdc.kth.se>
486         * kuser/kinit.c (main): pass ccache to krb524_convert_creds_kdc
488 1999-10-12  Johan Danielsson  <joda@pdc.kth.se>
490         * lib/krb5/crypto.c (krb5_enctype_to_keytype): remove warning
492 1999-10-10  Assar Westerlund  <assar@sics.se>
494         * lib/krb5/mk_req.c (krb5_mk_req): use krb5_free_host_realm
496         * lib/krb5/krb5.h (krb5_ccache_data): make `ops' const
498         * lib/krb5/crypto.c (krb5_string_to_salttype): new function
500         * **/*.[ch]: const-ize
502 1999-10-06  Assar Westerlund  <assar@sics.se>
503         
504         * lib/krb5/creds.c (krb5_compare_creds): const-ify
505         
506         * lib/krb5/cache.c: clean-up and comment-up
508         * lib/krb5/copy_host_realm.c (krb5_copy_host_realm): copy all the
509         strings
511         * lib/krb5/verify_user.c (krb5_verify_user_lrealm): free the
512         correct realm part
514         * kdc/connect.c (handle_tcp): things work much better when ret is
515         initialized
517 1999-10-03  Assar Westerlund  <assar@sics.se>
519         * lib/krb5/convert_creds.c (krb524_convert_creds_kdc): look at the
520         type of the session key
522         * lib/krb5/crypto.c (krb5_enctypes_compatible_keys): spell
523         correctly
525         * lib/krb5/creds.c (krb5_compare_creds): fix spelling of
526         krb5_enctypes_compatible_keys
528         * lib/krb5/convert_creds.c (krb524_convert_creds_kdc): get new
529         credentials from the KDC if the existing one doesn't have a DES
530         session key.
532         * lib/45/get_ad_tkt.c (get_ad_tkt): update to new
533         krb524_convert_creds_kdc
535 1999-10-03  Johan Danielsson  <joda@pdc.kth.se>
537         * lib/krb5/keytab_keyfile.c: make krb5_akf_ops const
539         * lib/krb5/keytab_memory.c: make krb5_mkt_ops const
541         * lib/krb5/keytab_file.c: make krb5_fkt_ops const
543 1999-10-01  Assar Westerlund  <assar@sics.se>
545         * lib/krb5/config_file.c: rewritten to allow error messages
547         * lib/krb5/Makefile.am (bin_PROGRAMS): add verify_krb5_conf
548         (libkrb5_la_SOURCES): add config_file_netinfo.c
550         * lib/krb5/verify_krb5_conf.c: new program for verifying that
551         krb5.conf is corret
553         * lib/krb5/config_file_netinfo.c: moved netinfo code here from
554         config_file.c
556 1999-09-28  Assar Westerlund  <assar@sics.se>
558         * kdc/hpropd.c (dump_krb4): kludge default_realm
560         * lib/asn1/check-der.c: add test cases for Generalized time and
561         make sure we return the correct value
563         * lib/asn1/der_put.c: simplify by using der_put_length_and_tag
565         * lib/krb5/verify_user.c (krb5_verify_user_lrealm): ariant of
566         krb5_verify_user that tries in all the local realms
568         * lib/krb5/set_default_realm.c: add support for having several
569         default realms
571         * lib/krb5/kuserok.c (krb5_kuserok): use `krb5_get_default_realms'
573         * lib/krb5/get_default_realm.c (krb5_get_default_realms): add
575         * lib/krb5/krb5.h (krb5_context_data): change `default_realm' to
576         `default_realms'
578         * lib/krb5/context.c: change from `default_realm' to
579         `default_realms'
581         * lib/krb5/aname_to_localname.c (krb5_aname_to_localname): use
582         krb5_get_default_realms
584         * lib/krb5/Makefile.am (libkrb5_la_SOURCES): add copy_host_realm.c
586         * lib/krb5/copy_host_realm.c: new file
588 1999-09-27  Johan Danielsson  <joda@pdc.kth.se>
590         * lib/asn1/der_put.c (encode_generalized_time): encode length
592         * lib/krb5/recvauth.c: new function `krb5_recvauth_match_version'
593         that allows more intelligent matching of the application version
595 1999-09-26  Assar Westerlund  <assar@sics.se>
597         * lib/asn1/asn1_print.c: add err.h
599         * kdc/config.c (configure): use parse_bytes
601         * appl/test/nt_gss_common.c: use the correct header file
603 1999-09-24  Johan Danielsson  <joda@pdc.kth.se>
605         * kuser/klist.c: add a `--cache' flag
607         * kuser/kinit.c (main): only get default value for `get_v4_tgt' if
608         it's explicitly set in krb5.conf
610 1999-09-23  Assar Westerlund  <assar@sics.se>
612         * lib/asn1/asn1_print.c (tag_names); add another univeral tag
614         * lib/asn1/der.h: update universal tags
616 1999-09-22  Assar Westerlund  <assar@sics.se>
618         * lib/asn1/asn1_print.c (loop): print length of octet string
620 1999-09-21  Johan Danielsson  <joda@pdc.kth.se>
622         * admin/ktutil.c (kt_get): add `--help'
624 1999-09-21  Assar Westerlund  <assar@sics.se>
626         * kuser/Makefile.am: add kdecode_ticket
628         * kuser/kdecode_ticket.c: new debug program
630         * appl/test/nt_gss_server.c: new program to test against `Sample *
631         SSPI Code' in Windows 2000 RC1 SDK.
633         * appl/test/Makefile.am: add nt_gss_client and nt_gss_server
635         * lib/asn1/der_get.c (decode_general_string): remember to advance
636         ret over the length-len
638         * lib/asn1/Makefile.am: add asn1_print
640         * lib/asn1/asn1_print.c: new program for printing DER-structures
642         * lib/asn1/der_put.c: make functions more consistent
644         * lib/asn1/der_get.c: make functions more consistent
646 1999-09-20  Johan Danielsson  <joda@pdc.kth.se>
648         * kdc/kerberos5.c: be more informative in pa-data error messages
650 1999-09-16  Assar Westerlund  <assar@sics.se>
652         * configure.in: test for strlcpy, strlcat
654 1999-09-14  Assar Westerlund  <assar@sics.se>
656         * lib/krb5/init_creds_pw.c (krb5_get_init_creds_password): return
657         KRB5_LIBOS_PWDINTR when interrupted
659         * lib/krb5/get_in_tkt_pw.c (krb5_password_key_proc): check return
660         value from des_read_pw_string
662         * kuser/kinit.c (main): don't print any error if reading the
663         password was interrupted
665         * kpasswd/kpasswd.c (main): don't print any error if reading the
666         password was interrupted
668         * kdc/string2key.c (main): check the return value from fgets
670         * kdc/kstash.c (main): check return value from des_read_pw_string
672         * admin/ktutil.c (kt_add): check the return-value from fgets and
673         overwrite the password for paranoid reasons
675         * lib/krb5/keytab_keyfile.c (get_cell_and_realm): only remove the
676         newline if it's there
678 1999-09-13  Assar Westerlund  <assar@sics.se>
680         * kdc/hpropd.c (main): remove bogus error with `--print'.  remove
681         sysloging of number of principals transferred
683         * kdc/hprop.c (ka_convert): set flags correctly for krbtgt/CELL
684         principals
685         (main): get rid of bogus opening of hdb database when propagating
686         ka-server database
688 1999-09-12  Assar Westerlund  <assar@sics.se>
690         * lib/krb5/krb5_locl.h (O_BINARY): add fallback definition
692         * lib/krb5/krb5.h (krb5_context_data): add keytab types
694         * configure.in: revert back awk test, not worked around in
695         roken.awk
697         * lib/krb5/keytab_krb4.c: remove O_BINARY
699         * lib/krb5/keytab_keyfile.c: some support for AFS KeyFile's.  From
700         Love <lha@e.kth.se>
702         * lib/krb5/keytab_file.c: remove O_BINARY
704         * lib/krb5/keytab.c: move the list of keytab types to the context
706         * lib/krb5/fcache.c: remove O_BINARY
708         * lib/krb5/context.c (init_context_from_config_file): register all
709         standard cache and keytab types
710         (krb5_free_context): free `kt_types'
712         * lib/krb5/cache.c (krb5_cc_resolve): move the registration of the
713         standard types of credential caches to context
715         * lib/krb5/Makefile.am (libkrb5_la_SOURCES): add keytab_keyfile.c
717 1999-09-10  Assar Westerlund  <assar@sics.se>
719         * lib/krb5/keytab.c: add comments and clean-up
721         * admin/ktutil.c: add `ktutil copy'
723         * lib/krb5/keytab_krb4.c: new file
725         * lib/krb5/krb5.h (krb5_kt_cursor): add a `data' field
727         * lib/krb5/Makefile.am: add keytab_krb4.c
729         * lib/krb5/keytab.c: add krb4 and correct some if's
731         * admin/srvconvert.c (srvconv): move common code
733         * lib/krb5/krb5.h (krb5_fkt_ops, krb5_mkt_ops): new variables
735         * lib/krb5/keytab.c: move out file and memory functions
737         * lib/krb5/Makefile.am (libkrb5_la_SOURCES): add keytab_file.c,
738         keytab_memory.c
740         * lib/krb5/keytab_memory.c: new file
742         * lib/krb5/keytab_file.c: new file
744         * kpasswd/kpasswdd.c: move out password quality functions
746 1999-09-07  Assar Westerlund  <assar@sics.se>
748         * lib/hdb/Makefile.am (libhdb_la_SOURCES): add keytab.c.  From
749         Love <lha@e.kth.se>
751         * lib/krb5/convert_creds.c (krb524_convert_creds_kdc): check
752         return value from `krb5_sendto_kdc'
754 1999-09-06  Assar Westerlund  <assar@sics.se>
756         * lib/krb5/send_to_kdc.c (send_and_recv): rename to recv_loop and
757         remove the sending of data.  add a parameter `limit'.  let callers
758         send the date themselves (and preferably with net_write on tcp
759         sockets)
760         (send_and_recv_tcp): read first the length field and then only that
761         many bytes
763 1999-09-05  Assar Westerlund  <assar@sics.se>
765         * kdc/connect.c (handle_tcp): try to print warning `TCP data of
766         strange type' less often
768         * lib/krb5/send_to_kdc.c (send_and_recv): handle EINTR properly.
769         return on EOF.  always free data.  check return value from
770         realloc.
771         (send_and_recv_tcp, send_and_recv_http): check advertised length
772         against actual length
774 1999-09-01  Johan Danielsson  <joda@pdc.kth.se>
776         * configure.in: check for sgi capabilities
778 1999-08-27  Johan Danielsson  <joda@pdc.kth.se>
780         * lib/krb5/get_addrs.c: krb5_get_all_server_addrs shouldn't return
781         extra addresses
783         * kpasswd/kpasswdd.c: use HDB keytabs; change some error messages;
784         add --realm flag
786         * lib/krb5/address.c (krb5_append_addresses): remove duplicates
788 1999-08-26  Johan Danielsson  <joda@pdc.kth.se>
790         * lib/hdb/keytab.c: HDB keytab backend
792 1999-08-25  Johan Danielsson  <joda@pdc.kth.se>
794         * lib/krb5/keytab.c
795         (krb5_kt_{start_seq_get,next_entry,end_seq_get}): check for NULL
796         pointer
798 1999-08-24  Johan Danielsson  <joda@pdc.kth.se>
800         * kpasswd/kpasswdd.c: add `--keytab' flag
802 1999-08-23  Assar Westerlund  <assar@sics.se>
804         * lib/krb5/addr_families.c (IN6_ADDR_V6_TO_V4): use `s6_addr'
805         instead of the non-standard `s6_addr32'.  From Yoshinobu Inoue
806         <shin@kame.net> by way of the KAME repository
808 1999-08-18  Assar Westerlund  <assar@sics.se>
810         * configure.in (--enable-new-des3-code): remove check for `struct
811         addrinfo'
813         * lib/krb5/crypto.c (etypes): remove NEW_DES3_CODE, enable
814         des3-cbc-sha1 and keep old-des3-cbc-sha1 for backwards
815         compatability
817         * lib/krb5/krb5.h (krb5_enctype): des3-cbc-sha1 (with key
818         derivation) just got assigned etype 16 by <bcn@isi.edu>.  keep the
819         old etype at 7.
821 1999-08-16  Assar Westerlund  <assar@sics.se>
823         * lib/krb5/sendauth.c (krb5_sendauth): only look at errno if
824         krb5_net_read actually returns -1
826         * lib/krb5/recvauth.c (krb5_recvauth): only look at errno if
827         krb5_net_read actually returns -1
829         * appl/kf/kf.c (proto): don't trust errno if krb5_net_read hasn't
830         returned -1
832         * appl/test/tcp_server.c (proto): only trust errno if
833         krb5_net_read actually returns -1
835         * appl/kf/kfd.c (proto): be more careful with the return value
836         from krb5_net_read
838 1999-08-13  Assar Westerlund  <assar@sics.se>
840         * lib/krb5/get_addrs.c (get_addrs_int): try the different ways
841         sequentially instead of just one.  this helps if your heimdal was
842         built with v6-support but your kernel doesn't have it, for
843         example.
845 1999-08-12  Assar Westerlund  <assar@sics.se>
847         * kdc/hpropd.c: add inetd flag.  default means try to figure out
848         if stdin is a socket or not.
850         * Makefile.am (ACLOCAL): just use `cf', this variable is only used
851         when the current directory is $(top_srcdir) anyways and having
852         $(top_srcdir) there breaks if it's a relative path
854 1999-08-09  Johan Danielsson  <joda@pdc.kth.se>
856         * configure.in: check for setproctitle
858 1999-08-05  Assar Westerlund  <assar@sics.se>
860         * lib/krb5/principal.c (krb5_sname_to_principal): remember to call
861         freehostent
863         * appl/test/tcp_client.c: call freehostent
865         * appl/kf/kf.c (doit): call freehostent
867         * appl/kf/kf.c: make v6 friendly and simplify
869         * appl/kf/kfd.c: make v6 friendly and simplify
871         * appl/test/tcp_server.c: simplify by using krb5_err instead of
872         errx
873         
874         * appl/test/tcp_client.c: simplify by using krb5_err instead of
875         errx
877         * appl/test/tcp_server.c: make v6 friendly and simplify
879         * appl/test/tcp_client.c: make v6 friendly and simplify
881 1999-08-04  Assar Westerlund  <assar@sics.se>
883         * Release 0.1m
885 1999-08-04  Assar Westerlund  <assar@sics.se>
887         * kuser/kinit.c (main): some more KRB4-conditionalizing
889         * lib/krb5/get_in_tkt.c: type correctness
891         * lib/krb5/get_for_creds.c (krb5_fwd_tgs_creds): set forwarded in
892         flags.  From Miroslav Ruda <ruda@ics.muni.cz>
894         * kuser/kinit.c (main): add config file support for forwardable
895         and krb4 support.  From Miroslav Ruda <ruda@ics.muni.cz>
897         * kdc/kerberos5.c (as_rep): add an empty X500-compress string as
898         transited.
899         (fix_transited_encoding): check length.
900         From Miroslav Ruda <ruda@ics.muni.cz>
902         * kdc/hpropd.c (dump_krb4): check the realm so that we don't dump
903         principals in some other realm. From Miroslav Ruda
904         <ruda@ics.muni.cz>
905         (main): rename sa_len -> sin_len, sa_lan is a define on some
906         platforms.
908         * appl/kf/kfd.c: add regpag support. From Miroslav Ruda
909         <ruda@ics.muni.cz>
911         * appl/kf/kf.c: add `-G' and forwardable option in krb5.conf.
912         From Miroslav Ruda <ruda@ics.muni.cz>
914         * lib/krb5/config_file.c (parse_list): don't run past end of line
916         * appl/test/gss_common.h: new prototypes
918         * appl/test/gssapi_client.c: use gss_err instead of abort
920         * appl/test/gss_common.c (gss_verr, gss_err): add
922 1999-08-03  Assar Westerlund  <assar@sics.se>
924         * lib/krb5/Makefile.am (n_fold_test_LDADD): need to set this
925         otherwise it doesn't build with shared libraries
927         * kdc/hpropd.c: v6-ify
929         * kdc/hprop.c: v6-ify
931 1999-08-01  Assar Westerlund  <assar@sics.se>
933         * lib/krb5/mk_req.c (krb5_mk_req): use krb5_expand_hostname
935 1999-07-31  Assar Westerlund  <assar@sics.se>
937         * lib/krb5/get_host_realm.c (krb5_get_host_realm_int): new
938         function that takes a FQDN
940         * lib/krb5/Makefile.am (libkrb5_la_SOURCES): add exapnd_hostname.c
942         * lib/krb5/expand_hostname.c: new file
944 1999-07-28  Assar Westerlund  <assar@sics.se>
946         * Release 0.1l
948 1999-07-28  Assar Westerlund  <assar@sics.se>
950         * lib/asn1/Makefile.am: bump version to 1:2:0
952         * lib/krb5/Makefile.am: bump version to 3:1:0
954         * configure.in: more inet_pton to roken
956         * lib/krb5/principal.c (krb5_sname_to_principal): use
957         getipnodebyname
959 1999-07-26  Assar Westerlund  <assar@sics.se>
961         * Release 0.1k
963 1999-07-26  Johan Danielsson  <joda@pdc.kth.se>
965         * lib/krb5/Makefile.am: bump version number (changed function
966         signatures)
968         * lib/hdb/Makefile.am: bump version number (changes to some
969         function signatures)
971 1999-07-26  Assar Westerlund  <assar@sics.se>
973         * lib/krb5/Makefile.am: bump version to 3:0:2
975         * lib/hdb/Makefile.am: bump version to 2:1:0
977         * lib/asn1/Makefile.am: bump version to 1:1:0
979 1999-07-26  Assar Westerlund  <assar@sics.se>
981         * Release 0.1j
983 1999-07-26  Assar Westerlund  <assar@sics.se>
985         * configure.in: rokenize inet_ntop
987         * lib/krb5/store_fd.c: lots of changes from size_t to ssize_t
988         
989         * lib/krb5/store_mem.c: lots of changes from size_t to ssize_t
990         
991         * lib/krb5/store_emem.c: lots of changes from size_t to ssize_t
992         
993         * lib/krb5/store.c: lots of changes from size_t to ssize_t
994         (krb5_ret_stringz): check return value from realloc
996         * lib/krb5/mk_safe.c: some type correctness
997         
998         * lib/krb5/mk_priv.c: some type correctness
999         
1000         * lib/krb5/krb5.h (krb5_storage): change return values of
1001         functions from size_t to ssize_t
1002         
1003 1999-07-24  Assar Westerlund  <assar@sics.se>
1005         * Release 0.1i
1007         * configure.in (AC_PROG_AWK): disable. mawk seems to mishandle \#
1008         in lib/roken/roken.awk
1010         * lib/krb5/get_addrs.c (find_all_addresses): try to use SA_LEN to
1011         step over addresses if there's no `sa_lan' field
1013         * lib/krb5/sock_principal.c (krb5_sock_to_principal): simplify by
1014         using `struct sockaddr_storage'
1016         * lib/krb5/send_to_kdc.c (krb5_sendto_kdc): simplify by using
1017         `struct sockaddr_storage'
1019         * lib/krb5/changepw.c (krb5_change_password): simplify by using
1020         `struct sockaddr_storage'
1022         * lib/krb5/auth_context.c (krb5_auth_con_setaddrs_from_fd):
1023         simplify by using `struct sockaddr_storage'
1025         * kpasswd/kpasswdd.c (*): simplify by using `struct
1026         sockaddr_storage'
1028         * kdc/connect.c (*): simplify by using `struct sockaddr_storage'
1030         * configure.in (sa_family_t): just test for existence
1031         (sockaddr_storage): also specify include file
1033         * configure.in (AM_INIT_AUTOMAKE): bump version to 0.1i
1034         (sa_family_t): test for
1035         (struct sockaddr_storage): test for
1037         * kdc/hprop.c (propagate_database): typo, NULL should be
1038         auth_context
1040         * lib/krb5/get_addrs.c: conditionalize on HAVE_IPV6 instead of
1041         AF_INET6
1043         * appl/kf/kf.c (main): use warnx
1045         * appl/kf/kf.c (proto): remove shadowing context
1047         * lib/krb5/get_addrs.c (find_all_addresses): try to handle the
1048         case of getting back an `sockaddr_in6' address when sizeof(struct
1049         sockaddr_in6) > sizeof(struct sockaddr) and we have no sa_len to
1050         tell us how large the address is.  This obviously doesn't work
1051         with unknown protocol types.
1053 1999-07-24  Assar Westerlund  <assar@sics.se>
1055         * Release 0.1h
1057 1999-07-23  Assar Westerlund  <assar@sics.se>
1059         * appl/kf/kfd.c: clean-up and more paranoia
1061         * etc/services.append: add kf
1063         * appl/kf/kf.c: rename tk_file to ccache for consistency.  clean-up
1065 1999-07-22  Assar Westerlund  <assar@sics.se>
1067         * lib/krb5/n-fold-test.c (main): print the correct data
1069         * appl/Makefile.am (SUBDIRS): add kf
1071         * appl/kf: new program.  From Miroslav Ruda <ruda@ics.muni.cz>
1073         * kdc/hprop.c: declare some variables unconditionally to simplify
1074         things
1076         * kpasswd/kpasswdd.c: initialize kadm5 connection for every change
1077         (otherwise the modifier in the database doesn't get set)
1079         * kdc/hpropd.c: clean-up and re-organize
1081         * kdc/hprop.c: clean-up and re-organize
1083         * configure.in (SunOS): define to xy for SunOS x.y
1085 1999-07-19  Assar Westerlund  <assar@sics.se>
1087         * configure.in (AC_BROKEN): test for copyhostent, freehostent,
1088         getipnodebyaddr, getipnodebyname
1090 1999-07-15  Assar Westerlund  <assar@sics.se>
1092         * lib/asn1/check-der.c: more test cases for integers
1094         * lib/asn1/der_length.c (length_int): handle the case of the
1095         largest negative integer by not calling abs
1097 1999-07-14  Assar Westerlund  <assar@sics.se>
1099         * lib/asn1/check-der.c (generic_test): check malloc return value
1100         properly
1102         * lib/krb5/Makefile.am: add string_to_key_test
1104         * lib/krb5/prog_setup.c (krb5_program_setup): always initialize
1105         the context
1107         * lib/krb5/n-fold-test.c (main): return a relevant return value
1109         * lib/krb5/krbhst.c: do SRV lookups for admin server as well.
1110         some clean-up.
1112 1999-07-12  Assar Westerlund  <assar@sics.se>
1114         * configure.in: handle not building X programs
1116 1999-07-06  Assar Westerlund  <assar@sics.se>
1118         * lib/krb5/addr_families.c (ipv6_parse_addr): remove duplicate
1119         variable
1120         (ipv6_sockaddr2port): fix typo
1122         * etc/services.append: beginning of a file with services
1124         * lib/krb5/cache.c (krb5_cc_resolve): fall-back to files if
1125         there's no prefix.  also clean-up a little bit.
1127         * kdc/hprop.c (--kaspecials): new flag for handling special KA
1128         server entries.  From "Brandon S. Allbery KF8NH"
1129         <allbery@kf8nh.apk.net>
1131 1999-07-05  Assar Westerlund  <assar@sics.se>
1133         * kdc/connect.c (handle_tcp): make sure we have data before
1134         starting to look for HTTP
1136         * kdc/connect.c (handle_tcp): always do getpeername, we can't
1137         trust recvfrom to return anything sensible
1139 1999-07-04  Assar Westerlund  <assar@sics.se>
1141         * lib/krb5/get_in_tkt.c (add_padat): encrypt pre-auth data with
1142         all enctypes
1144         * kpasswd/kpasswdd.c (change): fetch the salt-type from the entry
1146         * admin/srvconvert.c (srvconv): better error messages
1148 1999-07-03  Assar Westerlund  <assar@sics.se>
1150         * lib/krb5/principal.c (unparse_name): error check malloc properly
1152         * lib/krb5/get_in_tkt.c (krb5_init_etype): error check malloc
1153         properly
1155         * lib/krb5/crypto.c (*): do some malloc return-value checks
1156         properly
1158         * lib/hdb/hdb.c (hdb_process_master_key): simplify by using
1159         krb5_data_alloc
1161         * lib/hdb/hdb.c (hdb_process_master_key): check return value from
1162         malloc
1164         * lib/asn1/gen_decode.c (decode_type): fix generation of decoding
1165         information for TSequenceOf.
1167         * kdc/kerberos5.c (get_pa_etype_info): check return value from
1168         malloc
1170 1999-07-02  Assar Westerlund  <assar@sics.se>
1172         * lib/asn1/der_copy.c (copy_octet_string): don't fail if length ==
1173         0 and malloc returns NULL
1175 1999-06-29  Assar Westerlund  <assar@sics.se>
1177         * lib/krb5/addr_families.c (ipv6_parse_addr): implement
1179 1999-06-24  Assar Westerlund  <assar@sics.se>
1181         * lib/krb5/rd_cred.c (krb5_rd_cred): compare the sender's address
1182         as an addrport one
1184         * lib/krb5/krb5.h (KRB5_ADDRESS_ADDRPORT, KRB5_ADDRESS_IPPORT):
1185         add
1186         (krb5_auth_context): add local and remote port
1188         * lib/krb5/get_for_creds.c (krb5_get_forwarded_creds): get the
1189         local and remote address and add them to the krb-cred packet
1191         * lib/krb5/auth_context.c: save the local and remove ports in the
1192         auth_context
1194         * lib/krb5/address.c (krb5_make_addrport): create an address of
1195         type KRB5_ADDRESS_ADDRPORT from (addr, port)
1197         * lib/krb5/addr_families.c (krb5_sockaddr2port): new function for
1198         grabbing the port number out of the sockaddr
1200 1999-06-23  Assar Westerlund  <assar@sics.se>
1202         * admin/srvcreate.c (srvcreate): always take the DES-CBC-MD5 key.
1203         increase possible verbosity.
1205         * lib/krb5/config_file.c (parse_list): handle blank lines at
1206         another place
1207         
1208         * kdc/connect.c (add_port_string): don't return a value
1210         * lib/kadm5/init_c.c (get_cred_cache): you cannot reuse the cred
1211         cache if the principals are different.  close and NULL the old one
1212         so that we create a new one.
1214         * configure.in: move around cgywin et al
1215         (LIB_kdb): set at the end of krb4-block
1216         (krb4): test for krb_enable_debug and krb_disable_debug
1218 1999-06-16  Assar Westerlund  <assar@sics.se>
1220         * kuser/kdestroy.c (main): try to destroy v4 ticket even if the
1221         destruction of the v5 one fails
1223         * lib/krb5/crypto.c (DES3_postproc): new version that does the
1224         right thing
1225         (*): don't put and recover length in 3DES encoding
1226         other small fixes
1228 1999-06-15  Assar Westerlund  <assar@sics.se>
1230         * lib/krb5/get_default_principal.c: rewrite to use
1231         get_default_username
1233         * lib/krb5/Makefile.am: add n-fold-test
1235         * kdc/connect.c: add fallbacks for all lookups by service name
1236         (handle_tcp): break-up and clean-up
1238 1999-06-09  Assar Westerlund  <assar@sics.se>
1240         * lib/krb5/addr_families.c (ipv6_uninteresting): don't consider
1241         the loopback address as uninteresting
1243         * lib/krb5/get_addrs.c: new magic flag to get loopback address if
1244         there are no other addresses.
1245         (krb5_get_all_client_addrs): use that flag
1247 1999-06-04  Assar Westerlund  <assar@sics.se>
1249         * lib/krb5/crypto.c (HMAC_SHA1_DES3_checksum): don't include the
1250         length
1251         (checksum_sha1, checksum_hmac_sha1_des3): blocksize should be 64
1252         (encrypt_internal_derived): don't include the length and don't
1253         decrease by the checksum size twice
1254         (_get_derived_key): the constant should be 5 bytes
1256 1999-06-02  Johan Danielsson  <joda@pdc.kth.se>
1258         * configure.in: use KRB_CHECK_X
1259         
1260         * configure.in: check for netinet/ip.h
1261         
1262 1999-05-31  Assar Westerlund  <assar@sics.se>
1264         * kpasswd/kpasswdd.c (setup_passwd_quality_check): conditionalize
1265         on RTLD_NOW
1267 1999-05-23  Assar Westerlund  <assar@sics.se>
1269         * appl/test/uu_server.c: removed unused stuff
1271         * appl/test/uu_client.c: removed unused stuff
1273 1999-05-21  Assar Westerlund  <assar@sics.se>
1275         * kuser/kgetcred.c (main): correct error message
1277         * lib/krb5/crypto.c (verify_checksum): call (*ct->checksum)
1278         directly, avoiding redundant lookups and memory leaks
1280         * lib/krb5/auth_context.c (krb5_auth_con_setaddrs_from_fd): free
1281         local and remote addresses
1283         * lib/krb5/get_default_principal.c (get_logname): also try
1284         $USERNAME
1285         
1286         * lib/asn1/Makefile.am (asn1_files): add $(EXEEXT)
1288         * lib/krb5/principal.c (USE_RESOLVER): try to define only if we
1289         have a libresolv (currently by checking for res_search)
1291 1999-05-18  Johan Danielsson  <joda@pdc.kth.se>
1293         * kdc/connect.c (handle_tcp): remove %-escapes in request
1295 1999-05-14  Assar Westerlund  <assar@sics.se>
1297         * Release 0.1g
1299         * admin/ktutil.c (kt_remove): -t should be -e
1301         * configure.in (CHECK_NETINET_IP_AND_TCP): use
1303         * kdc/hpropd.c: support for dumping to krb4.  From Miroslav Ruda
1304         <ruda@ics.muni.cz>
1306         * admin/ktutil.c (kt_add): new option `--no-salt'.  From Miroslav
1307         Ruda <ruda@ics.muni.cz>
1309         * configure.in: add cygwin and DOS tests replace sendmsg, recvmsg,
1310         and innetgr with roken versions
1312         * kuser/kgetcred.c: new program
1314 Tue May 11 14:09:33 1999  Johan Danielsson  <joda@pdc.kth.se>
1316         * lib/krb5/mcache.c: fix paste-o
1317         
1318 1999-05-10  Johan Danielsson  <joda@pdc.kth.se>
1320         * configure.in: don't use uname
1322 1999-05-10  Assar Westerlund  <assar@sics.se>
1324         * acconfig.h (KRB_PUT_INT): if we don't have KRB4 use four
1325         arguments :-)
1327         * appl/test/uu_server.c (setsockopt): cast to get rid of a warning
1328         
1329         * appl/test/tcp_server.c (setsockopt): cast to get rid of a
1330         warning
1332         * appl/test/tcp_client.c (proto): call krb5_sendauth with ccache
1333         == NULL
1335         * appl/test/gssapi_server.c (setsockopt): cast to get rid of a
1336         warning
1338         * lib/krb5/sendauth.c (krb5_sendauth): handle ccache == NULL by
1339         setting the default ccache.
1341         * configure.in (getsockopt, setsockopt): test for
1342         (AM_INIT_AUTOMAKE): bump version to 0.1g
1344         * appl/Makefile.am (SUBDIRS): add kx
1345         
1346         * lib/hdb/convert_db.c (main): handle the case of no master key
1347         
1348 1999-05-09  Assar Westerlund  <assar@sics.se>
1350         * Release 0.1f
1352         * kuser/kinit.c: add --noaddresses
1353         
1354         * lib/krb5/get_in_tkt.c (init_as_req): interpret `addrs' being an
1355         empty sit of list as to not ask for any addresses.
1356         
1357 1999-05-08  Assar Westerlund  <assar@sics.se>
1359         * acconfig.h (_GNU_SOURCE): define this to enable (used)
1360         extensions on glibc-based systems such as linux
1362 1999-05-03  Assar Westerlund  <assar@sics.se>
1364         * lib/krb5/get_cred.c (get_cred_from_kdc_flags): allocate and free
1365         `*out_creds' properly
1367         * lib/krb5/creds.c (krb5_compare_creds): just verify that the
1368         keytypes/enctypes are compatible, not that they are the same
1370         * kuser/kdestroy.c (cache): const-correctness
1372 1999-05-03  Johan Danielsson  <joda@pdc.kth.se>
1374         * lib/hdb/hdb.c (hdb_set_master_key): initialise master key
1375         version
1377         * lib/hdb/convert_db.c: add support for upgrading database
1378         versions
1380         * kdc/misc.c: add flags to fetch
1382         * kdc/kstash.c: unlink keyfile on failure, chmod to 400
1384         * kdc/hpropd.c: add --print option
1386         * kdc/hprop.c: pass flags to hdb_foreach
1388         * lib/hdb/convert_db.c: add some flags
1390         * lib/hdb/Makefile.am: remove extra LDFLAGS, update version to 2;
1391         build prototype headers
1392         
1393         * lib/hdb/hdb_locl.h: update prototypes
1395         * lib/hdb/print.c: move printable version of entry from kadmin
1397         * lib/hdb/hdb.c: change hdb_{seal,unseal}_* to check if the key is
1398         sealed or not; add flags to hdb_foreach
1400         * lib/hdb/ndbm.c: add flags to NDBM_seq, NDBM_firstkey, and
1401         NDBM_nextkey
1403         * lib/hdb/db.c: add flags to DB_seq, DB_firstkey, and DB_nextkey
1405         * lib/hdb/common.c: add flags to _hdb_{fetch,store}
1407         * lib/hdb/hdb.h: add master_key_version to struct hdb, update
1408         prototypes
1410         * lib/hdb/hdb.asn1: make mkvno optional, update version to 2
1412         * configure.in: --enable-netinfo
1414         * lib/krb5/config_file.c: HAVE_NETINFO_NI_H -> HAVE_NETINFO
1416         * config.sub: fix for crays
1418         * config.guess: new version from automake 1.4
1419         
1420         * config.sub: new version from automake 1.4
1422 Wed Apr 28 00:21:17 1999  Assar Westerlund  <assar@sics.se>
1424         * Release 0.1e
1426         * lib/krb5/mcache.c (mcc_get_next): get the current cursor
1427         correctly
1429         * acconfig.h: correct definition of KRB_PUT_INT for old krb4 code.
1430         From Ake Sandgren <ake@cs.umu.se>
1432 1999-04-27  Johan Danielsson  <joda@pdc.kth.se>
1434         * kdc/kerberos5.c: fix arguments to decrypt_ticket
1435         
1436 1999-04-25  Assar Westerlund  <assar@sics.se>
1438         * lib/krb5/mk_req_ext.c (krb5_mk_req_internal): try to handle old
1439         DCE secd's that are not able to handle MD5 checksums by defaulting
1440         to MD4 if the keytype was DES-CBC-CRC
1441         
1442         * lib/krb5/mk_req.c (krb5_mk_req): use auth_context->keytype
1443         
1444         * lib/krb5/krb5.h (krb5_auth_context_data): add `keytype' and
1445         `cksumtype'
1447         * lib/krb5/get_cred.c (make_pa_tgs_req): remove old kludge for
1448         secd
1449         (init_tgs_req): add all supported enctypes for the keytype in
1450         `in_creds->session.keytype' if it's set
1452         * lib/krb5/crypto.c (F_PSEUDO): new flag for non-protocol
1453         encryption types
1454         (do_checksum): new function
1455         (verify_checksum): take the checksum to use from the checksum message
1456         and not from the crypto struct
1457         (etypes): add F_PSEUDO flags
1458         (krb5_keytype_to_enctypes): new function
1460         * lib/krb5/auth_context.c (krb5_auth_con_init): initalize keytype
1461         and cksumtype
1462         (krb5_auth_setcksumtype, krb5_auth_getcksumtype): implement
1463         (krb5_auth_setkeytype, krb5_auth_getkeytype): implement
1464         (krb5_auth_setenctype): comment out, it's rather bogus anyway
1466 Sun Apr 25 16:55:50 1999  Johan Danielsson  <joda@pdc.kth.se>
1468         * lib/krb5/krb5_locl.h: fix for stupid aix warnings
1470         * lib/krb5/fcache.c (erase_file): don't malloc
1471         
1472 Sat Apr 24 18:35:21 1999  Johan Danielsson  <joda@pdc.kth.se>
1474         * kdc/config.c: pass context to krb5_config_file_free
1476         * kuser/kinit.c: add `--fcache-version' to set cache version to
1477         create
1479         * kuser/klist.c: print cache version if verbose
1481         * lib/krb5/transited.c (krb5_domain_x500_decode): don't abort
1483         * lib/krb5/principal.c: abort -> krb5_abortx
1485         * lib/krb5/mk_rep.c: abort -> krb5_abortx
1487         * lib/krb5/config_file.c: abort -> krb5_abortx
1489         * lib/krb5/context.c (init_context_from_config_file): init
1490         fcache_version; add krb5_{get,set}_fcache_version
1492         * lib/krb5/keytab.c: add support for reading (and writing?) old
1493         version keytabs
1495         * lib/krb5/cache.c: add krb5_cc_get_version
1497         * lib/krb5/fcache.c: add support for reading and writing old
1498         version cache files
1500         * lib/krb5/store_mem.c (krb5_storage_from_mem): zero flags
1502         * lib/krb5/store_emem.c (krb5_storage_emem): zero flags
1504         * lib/krb5/store_fd.c (krb5_storage_from_fd): zero flags
1506         * lib/krb5/store.c: add flags to change how various fields are
1507         stored, used for old cache version support
1508         
1509         * lib/krb5/krb5.h: add support for reading and writing old version
1510         cache files, and keytabs
1511         
1512 Wed Apr 21 00:09:26 1999  Assar Westerlund  <assar@sics.se>
1514         * configure.in: fix test for readline.h remember to link with
1515         $LIB_tgetent when trying linking with readline
1517         * lib/krb5/init_creds_pw.c (get_init_creds_common): if start_time
1518         is given, request a postdated ticket.
1520         * lib/krb5/data.c (krb5_data_free): free data as long as it's not
1521         NULL
1523 Tue Apr 20 20:18:14 1999  Assar Westerlund  <assar@sics.se>
1525         * kpasswd/Makefile.am (kpasswdd_LDADD): add LIB_dlopen
1527         * lib/krb5/krb5.h (KRB5_VERIFY_AP_REQ_IGNORE_INVALID): add
1529         * lib/krb5/rd_req.c (krb5_decrypt_ticket): add `flags` and
1530         KRB5_VERIFY_AP_REQ_IGNORE_INVALID for ignoring that the ticket is
1531         invalid
1533 Tue Apr 20 12:42:08 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1535         * kpasswd/kpasswdd.c: don't try to load library by default; get
1536         library and function name from krb5.conf
1538         * kpasswd/sample_passwd_check.c: sample password checking
1539         functions
1541 Mon Apr 19 22:22:19 1999  Assar Westerlund  <assar@sics.se>
1543         * lib/krb5/store.c (krb5_storage_to_data, krb5_ret_data): use
1544         krb5_data_alloc and be careful with checking allocation and sizes.
1546         * kuser/klist.c (--tokens): conditionalize on KRB4
1548         * kuser/kinit.c (renew_validate): set all flags
1549         (main): fix cut-n-paste error when setting start-time
1551         * kdc/kerberos5.c (check_tgs_flags): starttime of a validate
1552         ticket should be > than current time
1553         (*): send flags to krb5_verify_ap_req and krb5_decrypt_ticket
1555         * kuser/kinit.c (renew_validate): use the client realm instead of
1556         the local realm when renewing tickets.
1558         * lib/krb5/get_for_creds.c (krb5_fwd_tgs_creds): compat function
1559         (krb5_get_forwarded_creds): correct freeing of out_creds
1561         * kuser/kinit.c (renew_validate): hopefully fix up freeing of
1562         memory
1564         * configure.in: do all the krb4 tests with "$krb4" != "no"
1566         * lib/krb5/keyblock.c (krb5_free_keyblock_contents): don't zero
1567         keyvalue if it's NULL.  noticed by Ake Sandgren <ake@cs.umu.se>
1569         * lib/krb5/get_in_tkt.c (add_padata): loop over all enctypes
1570         instead of just taking the first one.  fix all callers.  From
1571         "Brandon S. Allbery KF8NH" <allbery@kf8nh.apk.net>
1573         * kdc/kdc_locl.h (enable_kaserver): declaration
1574         
1575         * kdc/hprop.c (ka_convert): print the failing principal.  AFS 3.4a
1576         creates krbtgt.REALMOFCELL as NOTGS+NOSEAL, work around.  From
1577         "Brandon S. Allbery KF8NH" <allbery@kf8nh.apk.net>
1579         * kdc/hpropd.c (open_socket): stupid cast to get rid of a warning
1581         * kdc/connect.c (add_standard_ports, process_request): look at
1582         enable_kaserver.  From "Brandon S. Allbery KF8NH"
1583         <allbery@kf8nh.apk.net>
1585         * kdc/config.c: new flag --kaserver and config file option
1586         enable-kaserver.  From "Brandon S. Allbery KF8NH"
1587         <allbery@kf8nh.apk.net>
1589 Mon Apr 19 12:32:04 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1591         * configure.in: check for dlopen, and dlfcn.h
1593         * kpasswd/kpasswdd.c: add support for dlopen:ing password quality
1594         check library
1596         * configure.in: add appl/su
1598 Sun Apr 18 15:46:53 1999  Johan Danielsson  <joda@blubb.pdc.kth.se>
1600         * lib/krb5/cache.c: add krb5_cc_get_type that returns type of a
1601         cache
1603 Fri Apr 16 17:58:51 1999  Assar Westerlund  <assar@sics.se>
1605         * configure.in: LIB_kdb: -L should be before -lkdb
1606         test for prototype of strsep
1607         
1608 Thu Apr 15 11:34:38 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1610         * lib/krb5/Makefile.am: update version
1612         * lib/krb5/get_for_creds.c (krb5_get_forwarded_creds): use
1613         ALLOC_SEQ
1615         * lib/krb5/fcache.c: add some support for reading and writing old
1616         cache formats;
1617         (fcc_store_cred): use krb5_store_creds; (fcc_read_cred): use
1618         krb5_ret_creds
1620         * lib/krb5/store_mem.c (krb5_storage_from_mem): check malloc,
1621         initialize host_byteorder
1623         * lib/krb5/store_fd.c (krb5_storage_from_fd): initialize
1624         host_byteorder
1626         * lib/krb5/store_emem.c (krb5_storage_emem): initialize
1627         host_byteorder
1629         * lib/krb5/store.c (krb5_storage_set_host_byteorder): add;
1630         (krb5_store_int32,krb5_ret_int32,krb5_store_int16,krb5_ret_int16):
1631         check host_byteorder flag; (krb5_store_creds): add;
1632         (krb5_ret_creds): add
1634         * lib/krb5/krb5.h (krb5_storage): add `host_byteorder' flag for
1635         storage of numbers
1637         * lib/krb5/heim_err.et: add `host not found' error
1639         * kdc/connect.c: don't use data after clearing decriptor
1641         * lib/krb5/auth_context.c: abort -> krb5_abortx
1643         * lib/krb5/warn.c: add __attribute__; add *abort functions
1645         * configure.in: check for __attribute__
1647         * kdc/connect.c: log bogus requests
1649 Tue Apr 13 18:38:05 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1651         * lib/kadm5/create_s.c (kadm5_s_create_principal): create v4 salts
1652         for all DES keys
1654 1999-04-12  Assar Westerlund  <assar@sics.se>
1656         * lib/krb5/get_cred.c (init_tgs_req): re-structure a little bit
1658         * lib/krb5/get_cred.c (init_tgs_req): some more error checking
1660         * lib/krb5/generate_subkey.c (krb5_generate_subkey): check return
1661         value from malloc
1663 Sun Apr 11 03:47:23 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1665         * lib/krb5/krb5.conf.5: update to reality
1667         * lib/krb5/krb5_425_conv_principal.3: update to reality
1669 1999-04-11  Assar Westerlund  <assar@sics.se>
1671         * lib/krb5/get_host_realm.c: handle more than one realm for a host
1673         * kpasswd/kpasswd.c (main): use krb5_program_setup and
1674         print_version
1676         * kdc/string2key.c (main): use krb5_program_setup and
1677         print_version
1679 Sun Apr 11 02:35:58 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1681         * lib/krb5/principal.c (krb5_524_conv_principal): make it actually
1682         work, and check built-in list of host-type first-components
1684         * lib/krb5/krbhst.c: lookup SRV-records to find a kdc for a realm
1686         * lib/krb5/context.c: add srv_* flags to context
1688         * lib/krb5/principal.c: add default v4_name_convert entries
1690         * lib/krb5/krb5.h: add srv_* flags to context
1692 Sat Apr 10 22:52:28 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1694         * kadmin/kadmin.c: complain about un-recognised commands
1696         * admin/ktutil.c: complain about un-recognised commands
1698 Sat Apr 10 15:41:49 1999  Assar Westerlund  <assar@sics.se>
1700         * kadmin/load.c (doit): fix error message
1702         * lib/krb5/crypto.c (encrypt_internal): free checksum if lengths
1703         fail to match.
1704         (krb5_get_wrapped_length): new function
1706         * configure.in: security/pam_modules.h: check for
1708         * lib/krb5/init_creds_pw.c (krb5_get_init_creds_password): kludge
1709         around `ret_as_reply' semantics by only freeing it when ret == 0
1711 Fri Apr  9 20:24:04 1999  Assar Westerlund  <assar@sics.se>
1713         * kuser/klist.c (print_cred_verbose): handle the case of a bad
1714         enctype
1716         * configure.in: test for more header files
1717         (LIB_roken): set
1719 Thu Apr  8 15:01:59 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1721         * configure.in: fixes for building w/o krb4
1723         * ltmain.sh: update to libtool 1.2d
1725         * ltconfig: update to libtool 1.2d
1727 Wed Apr  7 23:37:26 1999  Assar Westerlund  <assar@sics.se>
1729         * kdc/hpropd.c: fix some error messages to be more understandable.
1731         * kdc/hprop.c (ka_dump): remove unused variables
1733         * appl/test/tcp_server.c: remove unused variables
1735         * appl/test/gssapi_server.c: remove unused variables
1737         * appl/test/gssapi_client.c: remove unused variables
1739 Wed Apr  7 14:05:15 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1741         * lib/krb5/context.c (krb5_get_err_text): long -> krb5_error_code
1743         * kuser/klist.c: make it compile w/o krb4
1745         * kuser/kdestroy.c: make it compile w/o krb4
1747         * admin/ktutil.c: fix {srv,key}2{srv,key}tab confusion; add help
1748         strings
1750 Mon Apr  5 16:13:46 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1752         * configure.in: test for MIPS ABI; new test_package
1754 Thu Apr  1 11:00:40 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1756         * include/Makefile.am: clean krb5-private.h
1758         * Release 0.1d
1760         * kpasswd/kpasswdd.c (doit): pass context to
1761         krb5_get_all_client_addrs
1763         * kdc/connect.c (init_sockets): pass context to
1764         krb5_get_all_server_addrs
1766         * lib/krb5/get_in_tkt.c (init_as_req): pass context to
1767         krb5_get_all_client_addrs
1769         * lib/krb5/get_cred.c (get_cred_kdc_la): pass context to
1770         krb5_get_all_client_addrs
1772         * lib/krb5/get_addrs.c (get_addrs_int): add extra host addresses
1774         * lib/krb5/krb5.h: add support for adding an extra set of
1775         addresses
1777         * lib/krb5/context.c: add support for adding an extra set of
1778         addresses
1780         * lib/krb5/addr_families.c: add krb5_parse_address
1782         * lib/krb5/address.c: krb5_append_addresses
1784         * lib/krb5/config_file.c (parse_binding): don't zap everything
1785         after first whitespace
1787         * kuser/kinit.c (renew_validate): don't allocate out
1789         * lib/krb5/get_for_creds.c (krb5_get_forwarded_creds): don't
1790         allocate out_creds
1792         * lib/krb5/get_cred.c (get_cred_kdc, get_cred_kdc_la): make
1793         out_creds pointer;
1794         (krb5_get_kdc_cred): allocate out_creds; (get_cred_from_kdc_flags):
1795         free more memory
1797         * lib/krb5/crypto.c (encrypt_internal): free checksum
1799         * lib/krb5/convert_creds.c (krb524_convert_creds_kdc): free reply,
1800         and ticket
1802         * kuser/Makefile.am: remove kfoo
1804         * lib/Makefile.am: add auth
1806         * lib/kadm5/iprop.h: getarg.h
1808         * lib/kadm5/replay_log.c: use getarg
1810         * lib/kadm5/ipropd_slave.c: use getarg
1812         * lib/kadm5/ipropd_master.c: use getarg
1814         * lib/kadm5/dump_log.c: use getarg
1816         * kpasswd/kpasswdd.c: use getarg
1818         * Makefile.am.common: make a more working check-local target
1820         * lib/asn1/main.c: use getargs
1822 Mon Mar 29 20:19:57 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1824         * kuser/klist.c (print_cred_verbose): use krb5_print_address
1826         * lib/kadm5/server.c: k_{put,get}_int -> _krb5_{put,get}_int
1828         * lib/krb5/addr_families.c (krb5_print_address): handle unknown
1829         address types; (ipv6_print_addr): print in 16-bit groups (as it
1830         should)
1832         * lib/krb5/crc.c: crc_{init_table,update} ->
1833         _krb5_crc_{init_table,update}
1835         * lib/krb5/crypto.c: k_{put,get}_int -> _krb5_{put,get}_int
1836         crc_{init_table,update} -> _krb5_crc_{init_table,update}
1838         * lib/krb5/send_to_kdc.c: k_{put,get}_int -> _krb5_{put,get}_int
1840         * lib/krb5/store.c: k_{put,get}_int -> _krb5_{put,get}_int
1842         * lib/krb5/krb5_locl.h: include krb5-private.h
1844         * kdc/connect.c (addr_to_string): use krb5_print_address
1846         * lib/krb5/addr_families.c (krb5_print_address): int -> size_t
1848         * lib/krb5/addr_families.c: add support for printing ipv6
1849         addresses, either with inet_ntop, or ugly for-loop
1851         * kdc/524.c: check that the ticket came from a valid address; use
1852         the address of the connection as the address to put in the v4
1853         ticket (if this address is AF_INET)
1855         * kdc/connect.c: pass addr to do_524
1857         * kdc/kdc_locl.h: prototype for do_524
1859 Sat Mar 27 17:48:31 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1861         * configure.in: check for OSF C2; bind/bitypes.h, getudbnam,
1862         setlim; check for auth modules; siad.h, getpwnam_r;
1863         lib/auth/Makefile, lib/auth/sia/Makefile
1865         * lib/krb5/crypto.c: n_fold -> _krb5_n_fold
1867         * lib/krb5/n-fold.c: n_fold -> _krb5_n_fold
1869 Thu Mar 25 04:35:21 1999  Assar Westerlund  <assar@sics.se>
1871         * lib/kadm5/set_keys.c (_kadm5_set_keys): free salt when zapping
1872         it
1874         * lib/kadm5/free.c (kadm5_free_principal_ent): free `key_data'
1876         * lib/hdb/ndbm.c (NDBM_destroy): clear master key
1878         * lib/hdb/db.c (DB_destroy): clear master key
1879         (DB_open): check malloc
1881         * kdc/connect.c (init_sockets): free addresses
1883         * kadmin/kadmin.c (main): make code more consistent.  always free
1884         configuration information.
1886         * kadmin/init.c (create_random_entry): free the entry
1888 Wed Mar 24 04:02:03 1999  Assar Westerlund  <assar@sics.se>
1890         * lib/krb5/init_creds_pw.c (krb5_get_init_creds_password):
1891         re-organize the code to always free `kdc_reply'
1893         * lib/krb5/get_in_tkt.c (krb5_get_in_cred): be more careful about
1894         freeing memory
1896         * lib/krb5/fcache.c (fcc_destroy): don't call fcc_close
1898         * lib/krb5/crypto.c (krb5_crypto_destroy): free `crypto'
1900         * lib/hdb/hdb_locl.h: try db_185.h first in case db.h is a DB 2.0
1901         header
1903         * configure.in (db_185.h): check for
1905         * admin/srvcreate.c: new file. contributed by Daniel Kouril
1906         <kouril@informatics.muni.cz>
1908         * admin/ktutil.c: srvcreate: new command
1910         * kuser/klist.c: add support for printing AFS tokens
1912         * kuser/kdestroy.c: add support for destroying v4 tickets and AFS
1913         tokens.  based on code by Love <lha@stacken.kth.se>
1915         * kuser/Makefile.am (kdestroy_LDADD, klist_LDADD): more libraries
1917         * configure.in: sys/ioccom.h: test for
1919         * kuser/klist.c (main): don't print `no ticket file' with --test.
1920         From: Love <lha@e.kth.se>
1922         * kpasswd/kpasswdd.c (doit): more braces to make gcc happy
1924         * kdc/connect.c (init_socket): get rid of a stupid warning
1926         * include/bits.c (my_strupr): cast away some stupid warnings
1928 Tue Mar 23 14:34:44 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1930         * lib/krb5/get_host_realm.c (krb5_get_host_realm): no infinite
1931         loops, please
1933 Tue Mar 23 00:00:45 1999  Assar Westerlund  <assar@sics.se>
1935         * lib/kadm5/Makefile.am (install_build_headers): recover from make
1936         rewriting the names of the headers kludge to help solaris make
1938         * lib/krb5/Makefile.am: kludge to help solaris make
1940         * lib/hdb/Makefile.am: kludge to help solaris make
1942         * configure.in (LIB_kdb): make sure there's a -L option in here by
1943         adding $(LIB_krb4)
1945         * lib/asn1/gen_glue.c (generate_2int, generate_int2): int ->
1946         unsigned
1948         * configure.in (SunOS): set to a number KRB4, KRB5 conditionals:
1949         remove the `dnl' to work around an automake flaw
1951 Sun Mar 21 15:08:49 1999  Johan Danielsson  <joda@blubb.pdc.kth.se>
1953         * lib/krb5/get_default_realm.c: char* -> krb5_realm
1955 Sun Mar 21 14:08:30 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1957         * include/bits.c: <bind/bitypes.h>
1959         * lib/krb5/Makefile.am: create krb5-private.h
1961 Sat Mar 20 00:08:59 1999  Assar Westerlund  <assar@sics.se>
1963         * configure.in (gethostname): remove duplicate
1965 Fri Mar 19 14:48:03 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1967         * lib/hdb/Makefile.am: add version-info
1969         * lib/gssapi/Makefile.am: add version-info
1971         * lib/asn1/Makefile.am: use $(x:y=z) make syntax; move check-der
1972         to check_PROGRAMS
1974         * lib/Makefile.am: add 45
1976         * lib/kadm5/Makefile.am: split in client and server libraries
1977         (breaks shared libraries otherwise)
1979 Thu Mar 18 11:33:30 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
1981         * include/kadm5/Makefile.am: clean a lot of header files (since
1982         automake lacks a clean-hook)
1984         * include/Makefile.am: clean a lot of header files (since automake
1985         lacks a clean-hook)
1987         * lib/kadm5/Makefile.am: fix build-installation of headers
1989         * lib/krb5/Makefile.am: remove include_dir hack
1991         * lib/hdb/Makefile.am: remove include_dir hack
1993         * lib/asn1/Makefile.am: remove include_dir hack
1995         * include/Makefile.am: remove include_dir hack
1997         * doc/whatis.texi: define sub for html
1999         * configure.in: LIB_kdb, have_err_h, have_fnmatch_h, have_glob_h
2001         * lib/asn1/Makefile.am: der.h
2003         * kpasswd/kpasswdd.c: admin.h -> kadm5/admin.h
2005         * kdc/Makefile.am: remove junk
2007         * kadmin/Makefile.am: sl.a -> sl.la
2009         * appl/afsutil/Makefile.am: remove EXTRA_bin_PROGRAMS
2011         * admin/Makefile.am: sl.a -> sl.la
2013         * configure.in: condition KRB5; AC_CHECK_XAU
2015         * Makefile.am: include Makefile.am.common
2017         * include/kadm5/Makefile.am: include Makefile.am.common; don't
2018         install headers from here
2020         * include/Makefile.am: include Makefile.am.common; don't install
2021         headers from here
2023         * doc/Makefile.am: include Makefile.am.common
2025         * lib/krb5/Makefile.am: include Makefile.am.common
2027         * lib/kadm5/Makefile.am: include Makefile.am.common
2029         * lib/hdb/Makefile.am: include Makefile.am.common
2031         * lib/gssapi/Makefile.am: include Makefile.am.common
2033         * lib/asn1/Makefile.am: include Makefile.am.common
2035         * lib/Makefile.am: include Makefile.am.common
2037         * lib/45/Makefile.am: include Makefile.am.common
2039         * kuser/Makefile.am: include Makefile.am.common
2041         * kpasswd/Makefile.am: include Makefile.am.common
2043         * kdc/Makefile.am: include Makefile.am.common
2045         * kadmin/Makefile.am: include Makefile.am.common
2047         * appl/test/Makefile.am: include Makefile.am.common
2049         * appl/afsutil/Makefile.am: include Makefile.am.common
2051         * appl/Makefile.am: include Makefile.am.common
2053         * admin/Makefile.am: include Makefile.am.common
2055 Wed Mar 17 03:04:38 1999  Assar Westerlund  <assar@sics.se>
2057         * lib/krb5/store.c (krb5_store_stringz): braces fix
2059         * lib/kadm5/get_s.c (kadm5_s_get_principal): braces fix
2061         * lib/kadm5/ent_setup.c (_kadm5_setup_entry): braces fix
2063         * kdc/connect.c (loop): braces fix
2065         * lib/krb5/config_file.c: cast to unsigned char to make is* happy
2067         * lib/krb5/log.c (krb5_addlog_dest): more braces to make gcc happy
2069         * lib/krb5/crypto.c (krb5_verify_checksum): rename C -> cksum to
2070         be consistent
2072         * kadmin/util.c (timeval2str): more braces to make gcc happy
2074         * kadmin/load.c: cast in is* to get rid of stupid warning
2076         * kadmin/dump.c (append_hex): cast in isalnum to get rid of stupid
2077         warning
2079         * kdc/kaserver.c: malloc checks and fixes
2081         * lib/krb5/get_host_realm.c (krb5_get_host_realm): include leading
2082         dot (if any) when looking up realms.
2084 Fri Mar 12 13:57:56 1999  Johan Danielsson  <joda@blubb.pdc.kth.se>
2086         * lib/krb5/get_host_realm.c: add dns support
2088         * lib/krb5/set_default_realm.c: use krb5_free_host_realm
2090         * lib/krb5/free_host_realm.c: check for NULL realmlist
2092         * lib/krb5/context.c: don't print warning if there is no krb5.conf
2094 Wed Mar 10 19:29:46 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
2096         * configure.in: use AC_WFLAGS
2098 Mon Mar  8 11:49:43 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
2100         * Release 0.1c
2102         * kuser/klist.c: use print_version
2104         * kuser/kdestroy.c: use print_version
2106         * kdc/hpropd.c: use print_version
2108         * kdc/hprop.c: use print_version
2110         * kdc/config.c: use print_version
2112         * kadmin/kadmind.c: use print_version
2114         * kadmin/kadmin.c: use print_version
2116         * appl/test/common.c: use print_version
2118         * appl/afsutil/afslog.c: use print_version
2120 Mon Mar  1 10:49:14 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
2122         * lib/krb5/get_addrs.c: SOCKADDR_HAS_SA_LEN ->
2123         HAVE_STRUCT_SOCKADDR_SA_LEN
2125         * configure.in, acconfig.h, cf/*: update to automake 1.4/autoconf 2.13
2127 Sun Feb 28 18:19:20 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
2129         * lib/asn1/gen.c: make `BIT STRING's unsigned
2131         * lib/asn1/{symbol.h,gen.c}: add TUInteger type
2133         * lib/krb5/verify_user.c (krb5_verify_user): pass prompter to
2134         krb5_get_init_creds_password
2136         * lib/krb5/fcache.c (fcc_gen_new): implement
2138 Sat Feb 27 22:41:23 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
2140         * doc/install.texi: krb4 is now automatically detected
2142         * doc/misc.texi: update procedure to set supported encryption
2143         types
2145         * doc/setup.texi: change some silly wordings
2147 Sat Feb 27 22:17:30 1999  Johan Danielsson  <joda@blubb.pdc.kth.se>
2149         * lib/krb5/keytab.c (fkt_remove_entry): make this work
2151         * admin/ktutil.c: add minimally working `get' command
2153 Sat Feb 27 19:44:49 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
2155         * lib/hdb/convert_db.c: more typos
2157         * include/Makefile.am: remove EXTRA_DATA (as of autoconf
2158         2.13/automake 1.4)
2160         * appl/Makefile.am: OTP_dir
2162 Fri Feb 26 17:37:00 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
2164         * doc/setup.texi: add kadmin section
2166         * lib/asn1/check-der.c: fix printf warnings
2168 Thu Feb 25 11:16:49 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
2170         * configure.in: -O does not belong in WFLAGS
2172 Thu Feb 25 11:05:57 1999  Johan Danielsson  <joda@blubb.pdc.kth.se>
2174         * lib/asn1/der_put.c: fix der_put_int
2176 Tue Feb 23 20:35:12 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
2178         * configure.in: use AC_BROKEN_GLOB
2180 Mon Feb 22 15:12:44 1999  Johan Danielsson  <joda@blubb.pdc.kth.se>
2182         * configure.in: check for glob
2184 Mon Feb 22 11:32:42 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
2186         * Release 0.1b
2188 Sat Feb 20 15:48:06 1999  Johan Danielsson  <joda@blubb.pdc.kth.se>
2190         * lib/hdb/convert_db.c: convert DES3 keys to des3-cbc-sha1, and
2191         des3-cbc-md5
2193         * lib/krb5/crypto.c (DES3_string_to_key): make this actually do
2194         what the draft said it should
2196         * lib/hdb/convert_db.c: little program for database conversion
2198         * lib/hdb/db.c (DB_open): try to open database w/o .db extension
2200         * lib/hdb/ndbm.c (NDBM_open): add test for database format
2202         * lib/hdb/db.c (DB_open): add test for database format
2204         * lib/asn1/gen_glue.c (generate_2int): don't depend on flags being
2205         unsigned
2207         * lib/hdb/hdb.c: change `hdb_set_master_key' to take an
2208         EncryptionKey, and add a new function `hdb_set_master_keyfile' to
2209         do what `hdb_set_master_key' used to do
2211         * kdc/kstash.c: add `--convert-file' option to change keytype of
2212         existing master key file
2214 Fri Feb 19 07:04:14 1999  Assar Westerlund  <assar@squid.pdc.kth.se>
2216         * Release 0.1a
2218 Sat Feb 13 17:12:53 1999  Assar Westerlund  <assar@sics.se>
2220         * lib/krb5/mk_safe.c (krb5_mk_safe): sizeof(buf) -> buf_size, buf
2221         is now a `u_char *'
2223         * lib/krb5/get_in_tkt.c (krb5_init_etype): etypes are now `int'
2225         * lib/krb5/get_host_realm.c (krb5_get_host_realm): constize
2226         orig_host
2228         (krb5_salttype_to_string): new function (RSA_MD5_DES_verify,
2229         RSA_MD5_DES3_verify): initialize ret
2231         * lib/gssapi/init_sec_context.c (init_auth): remove unnecessary
2232         gssapi_krb5_init.  ask for KEYTYPE_DES credentials
2234         * kadmin/get.c (print_entry_long): print the keytypes and salts
2235         available for the principal
2237         * configure.in (WFLAGS): add `-O' to catch unitialized variables
2238         and such
2239         (gethostname, mkstemp, getusershell, inet_aton): more tests
2241         * lib/hdb/hdb.h: update prototypes
2243         * configure.in: homogenize broken detection with krb4
2245         * lib/kadm5/init_c.c (kadm5_c_init_with_context): remove unused
2246         `error'
2248         * lib/asn1/Makefile.am (check-der): add
2250         * lib/asn1/gen.c (define_type): map ASN1 Integer to `int' instead
2251         of `unsigned'
2253         * lib/asn1/der_length.c (length_unsigned): new function
2254         (length_int): handle signed integers
2256         * lib/asn1/der_put.c (der_put_unsigned): new function
2257         (der_put_int): handle signed integers
2259         * lib/asn1/der_get.c (der_get_unsigned): new function
2260         (der_get_int): handle signed integers
2262         * lib/asn1/der.h: all integer functions take `int' instead of
2263         `unsigned'
2265         * lib/asn1/lex.l (filename): unused. remove.
2267         * lib/asn1/check-der.c: new test program for der encoding and
2268         decoding.
2270 Mon Feb  1 04:09:06 1999  Assar Westerlund  <assar@sics.se>
2272         * lib/krb5/send_to_kdc.c (krb5_sendto_kdc): only call
2273         gethostbyname2 with AF_INET6 if we actually have IPv6.  From
2274         "Brandon S. Allbery KF8NH" <allbery@kf8nh.apk.net>
2276         * lib/krb5/changepw.c (get_kdc_address): dito
2278 Sun Jan 31 06:26:36 1999  Assar Westerlund  <assar@sics.se>
2280         * kdc/connect.c (parse_prots): always bind to AF_INET, there are
2281         v6-implementations without support for `mapped V4 addresses'.
2282         From Jun-ichiro itojun Hagino <itojun@kame.net>
2284 Sat Jan 30 22:38:27 1999  Assar Westerlund  <assar@juguete.sics.se>
2286         * Release 0.0u
2288 Sat Jan 30 13:43:02 1999  Assar Westerlund  <assar@sics.se>
2290         * lib/krb5/Makefile.am: explicit rules for *.et files
2292         * lib/kadm5/init_c.c (get_kadm_ticket): only remove creds if
2293         krb5_get_credentials was succesful.
2294         (get_new_cache): return better error codes and return earlier.
2295         (get_cred_cache): only delete default_client if it's different
2296         from client
2297         (kadm5_c_init_with_context): return a more descriptive error.
2299         * kdc/kerberos5.c (check_flags): handle NULL client or server
2301         * lib/krb5/sendauth.c (krb5_sendauth): return the error in
2302         `ret_error' iff != NULL
2304         * lib/krb5/rd_error.c (krb5_free_error, krb5_free_error_contents):
2305         new functions
2307         * lib/krb5/mk_req_ext.c (krb5_mk_req_extended): more
2308         type-correctness
2310         * lib/krb5/krb5.h (krb5_error): typedef to KRB_ERROR
2312         * lib/krb5/init_creds_pw.c: KRB5_TGS_NAME: use
2314         * lib/krb5/get_cred.c: KRB5_TGS_NAME: use
2316         * lib/kafs/afskrb5.c (afslog_uid_int): update to changes
2318         * lib/kadm5/rename_s.c (kadm5_s_rename_principal): call remove
2319         instead of rename, but shouldn't this just call rename?
2321         * lib/kadm5/get_s.c (kadm5_s_get_principal): always return an
2322         error if the principal wasn't found.
2324         * lib/hdb/ndbm.c (NDBM_seq): unseal key
2326         * lib/hdb/db.c (DB_seq): unseal key
2328         * lib/asn1/Makefile.am: added explicit rules for asn1_err.[ch]
2330         * kdc/hprop.c (v4_prop): add krbtgt/THISREALM@OTHERREALM when
2331         finding cross-realm tgts in the v4 database
2333         * kadmin/mod.c (mod_entry): check the number of arguments.  check
2334         that kadm5_get_principal worked.
2336         * lib/krb5/keytab.c (fkt_remove_entry): remove KRB5_KT_NOTFOUND if
2337         we weren't able to remove it.
2339         * admin/ktutil.c: less drive-by-deleting.  From Love
2340         <lha@e.kth.se>
2342         * kdc/connect.c (parse_ports): copy the string before mishandling
2343         it with strtok_r
2345         * kdc/kerberos5.c (tgs_rep2): print the principal with mismatching
2346         kvnos
2348         * kadmin/kadmind.c (main): convert `debug_port' to network byte
2349         order
2351         * kadmin/kadmin.c: allow specification of port number.
2353         * lib/kadm5/kadm5_locl.h (kadm5_client_context): add
2354         `kadmind_port'.
2356         * lib/kadm5/init_c.c (_kadm5_c_init_context): move up
2357         initalize_kadm5_error_table_r.
2358         allow specification of port number.
2359         
2360         From Love <lha@stacken.kth.se>
2362         * kuser/klist.c: add option -t | --test
2364 Sat Dec  5 19:49:34 1998  Johan Danielsson  <joda@hella.pdc.kth.se>
2366         * lib/krb5/context.c: remove ktype_is_etype
2368         * lib/krb5/crypto.c, lib/krb5/krb5.h, acconfig.h: NEW_DES3_CODE
2370         * configure.in: fix for AIX install; better tests for AIX dynamic
2371         AFS libs; `--enable-new-des3-code'
2373 Tue Dec  1 14:44:44 1998  Johan Danielsson  <joda@hella.pdc.kth.se>
2375         * appl/afsutil/Makefile.am: link with extra libs for aix
2377         * kuser/Makefile.am: link with extra libs for aix
2379 Sun Nov 29 01:56:21 1998  Assar Westerlund  <assar@sics.se>
2381         * lib/krb5/get_addrs.c (krb5_get_all_server_addrs): add.  almost
2382         the same as krb5_get_all_client_addrs except that it includes
2383         loopback addresses
2385         * kdc/connect.c (init_socket): bind to a particular address
2386         (init_sockets): get all local addresses and bind to them all
2388         * lib/krb5/addr_families.c (addr2sockaddr, print_addr): new
2389         methods
2390         (find_af, find_atype): new functions.  use them.
2392         * configure.in: add hesiod
2394 Wed Nov 25 11:37:48 1998  Johan Danielsson  <joda@hella.pdc.kth.se>
2396         * lib/krb5/krb5_err.et: add some codes from kerberos-revisions-03
2398 Mon Nov 23 12:53:48 1998  Assar Westerlund  <assar@sics.se>
2400         * lib/kadm5/log.c: rename delete -> remove
2402         * lib/kadm5/delete_s.c: rename delete -> remove
2404         * lib/hdb/common.c: rename delete -> remove
2406 Sun Nov 22 12:26:26 1998  Assar Westerlund  <assar@sics.se>
2408         * configure.in: check for environ and `struct spwd'
2410 Sun Nov 22 11:42:45 1998  Johan Danielsson  <joda@blubb.pdc.kth.se>
2412         * kdc/kerberos5.c (as_rep): set keytype to sess_ktype if
2413         ktype_is_etype
2415         * lib/krb5/encrypt.c (krb5_keytype_to_etypes): zero terminate
2416         etypes
2417         (em): sort entries
2419 Sun Nov 22 06:54:48 1998  Assar Westerlund  <assar@sics.se>
2421         * lib/krb5/init_creds_pw.c: more type correctness
2423         * lib/krb5/get_cred.c: re-structure code.  remove limits on ASN1
2424         generated bits.
2426 Sun Nov 22 01:49:50 1998  Johan Danielsson  <joda@hella.pdc.kth.se>
2428         * kdc/hprop.c (v4_prop): fix bogus indexing
2430 Sat Nov 21 21:39:20 1998  Assar Westerlund  <assar@sics.se>
2432         * lib/krb5/verify_init.c (fail_verify_is_ok): new function
2433         (krb5_verify_init_creds): if we cannot get a ticket for
2434         host/`hostname` and fail_verify_is_ok just return.  use
2435         krb5_rd_req
2437 Sat Nov 21 23:12:27 1998  Assar Westerlund  <assar@sics.se>
2439         * lib/krb5/free.c (krb5_xfree): new function
2441         * lib/krb5/creds.c (krb5_free_creds_contents): new function
2443         * lib/krb5/context.c: more type correctness
2445         * lib/krb5/checksum.c: more type correctness
2447         * lib/krb5/auth_context.c (krb5_auth_con_init): more type
2448         correctness
2450         * lib/asn1/der_get.c (der_get_length): fix test of len
2451         (der_get_tag): more type correctness
2453         * kuser/klist.c (usage): void-ize
2455         * admin/ktutil.c (kt_remove): some more type correctness.
2457 Sat Nov 21 16:49:20 1998  Johan Danielsson  <joda@hella.pdc.kth.se>
2459         * kuser/klist.c: try to list enctypes as keytypes
2461         * kuser/kinit.c: remove extra `--cache' option, add `--enctypes'
2462         to set list of enctypes to use
2464         * kadmin/load.c: load strings as hex
2466         * kadmin/dump.c: dump hex as string is possible
2468         * admin/ktutil.c: use print_version()
2470         * configure.in, acconfig.h: test for hesiod
2472 Sun Nov 15 17:28:19 1998  Johan Danielsson  <joda@hella.pdc.kth.se>
2474         * lib/krb5/crypto.c: add some crypto debug code
2476         * lib/krb5/get_in_tkt.c (_krb5_extract_ticket): don't use fixed
2477         buffer when encoding ticket
2479         * lib/krb5/auth_context.c (re-)implement `krb5_auth_setenctype'
2481         * kdc/kerberos5.c: allow mis-match of tgt session key, and service
2482         session key
2484         * admin/ktutil.c: keytype -> enctype
2486 Fri Nov 13 05:35:48 1998  Assar Westerlund  <assar@sics.se>
2488         * lib/krb5/krb5.h (KRB5_TGS_NAME, KRB5_TGS_NAME_SIZE): added
2489         
2490 Sat Nov  7 19:56:31 1998  Assar Westerlund  <assar@sics.se>
2492         * lib/krb5/get_cred.c (add_cred): add termination NULL pointer
2494 Mon Nov  2 01:15:06 1998  Assar Westerlund  <assar@sics.se>
2496         * lib/krb5/rd_req.c: adapt to new crypto api
2498         * lib/krb5/rd_rep.c: adapt to new crypto api
2500         * lib/krb5/rd_priv.c: adopt to new crypto api
2502         * lib/krb5/rd_cred.c: adopt to new crypto api
2504         * lib/krb5/principal.c: ENOMEM -> ERANGE
2506         * lib/krb5/mk_safe.c: cleanup and adopt to new crypto api
2508         * lib/krb5/mk_req_ext.c: adopt to new crypto api
2510         * lib/krb5/mk_req.c: get enctype from auth_context keyblock
2512         * lib/krb5/mk_rep.c: cleanup and adopt to new crypto api
2514         * lib/krb5/mk_priv.c: adopt to new crypto api
2516         * lib/krb5/keytab.c: adopt to new crypto api
2518         * lib/krb5/get_in_tkt_with_skey.c: adopt to new crypto api
2520         * lib/krb5/get_in_tkt_with_keytab.c: adopt to new crypto api
2522         * lib/krb5/get_in_tkt_pw.c: adopt to new crypto api
2524         * lib/krb5/get_in_tkt.c: adopt to new crypto api
2526         * lib/krb5/get_cred.c: adopt to new crypto api
2528         * lib/krb5/generate_subkey.c: use new crypto api
2530         * lib/krb5/context.c: rename etype functions to enctype ditto
2532         * lib/krb5/build_auth.c: use new crypto api
2534         * lib/krb5/auth_context.c: remove enctype and cksumtype from
2535         auth_context
2537 Mon Nov  2 01:15:06 1998  Assar Westerlund  <assar@sics.se>
2539         * kdc/connect.c (handle_udp, handle_tcp): correct type of `n'
2541 Tue Sep 15 18:41:38 1998  Johan Danielsson  <joda@hella.pdc.kth.se>
2543         * admin/ktutil.c: fix printing of unrecognized keytypes
2545 Tue Sep 15 17:02:33 1998  Johan Danielsson  <joda@hella.pdc.kth.se>
2547         * lib/kadm5/set_keys.c: add KEYTYPE_USE_AFS3_SALT to keytype if
2548         using AFS3 salt
2550 Tue Aug 25 23:30:52 1998  Assar Westerlund  <assar@sics.se>
2552         * lib/krb5/send_to_kdc.c (krb5_sendto_kdc): care about
2553         `use_admin_kdc'
2555         * lib/krb5/changepw.c (get_kdc_address): use
2556         krb5_get_krb_admin_hst
2558         * lib/krb5/krbhst.c (krb5_get_krb_admin_hst): new function
2560         * lib/krb5/krb5.h (krb5_context_data): add `use_admin_kdc'
2562         * lib/krb5/context.c (krb5_get_use_admin_kdc,
2563         krb5_set_use_admin_kdc): new functions
2565 Tue Aug 18 22:24:12 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2567         * lib/krb5/crypto.c: remove all calls to abort(); check return
2568         value from _key_schedule;
2569         (RSA_MD[45]_DES_verify): zero tmp and res;
2570         (RSA_MD5_DES3_{verify,checksum}): implement
2572 Mon Aug 17 20:18:46 1998  Assar Westerlund  <assar@sics.se>
2574         * kdc/kerberos4.c (swap32): conditionalize
2576         * lib/krb5/mk_req_ext.c (krb5_mk_req_internal): new function
2578         * lib/krb5/get_host_realm.c (krb5_get_host_realm): if the hostname
2579         returned from gethostby*() isn't a FQDN, try with the original
2580         hostname
2582         * lib/krb5/get_cred.c (make_pa_tgs_req): use krb5_mk_req_internal
2583         and correct key usage
2585         * lib/krb5/crypto.c (verify_checksum): make static
2587         * admin/ktutil.c (kt_list): use krb5_enctype_to_string
2589 Sun Aug 16 20:57:56 1998  Assar Westerlund  <assar@sics.se>
2591         * kadmin/cpw.c (do_cpw_entry): use asprintf for the prompt
2593         * kadmin/ank.c (ank): print principal name in prompt
2595         * lib/krb5/crypto.c (hmac): always allocate space for checksum.
2596         never trust c.checksum.length
2597         (_get_derived_key): try to return the derived key
2599 Sun Aug 16 19:48:42 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2601         * lib/krb5/crypto.c (hmac): fix some peculiarities and bugs
2602         (get_checksum_key): assume usage is `formatted'
2603         (create_checksum,verify_checksum): moved the guts of the krb5_*
2604         functions here, both take `formatted' key-usages
2605         (encrypt_internal_derived): fix various bogosities
2606         (derive_key): drop key_type parameter (already given by the
2607         encryption_type)
2609         * kdc/kerberos5.c (check_flags): handle case where client is NULL
2611         * kdc/connect.c (process_request): return zero after processing
2612         kerberos 4 request
2614 Sun Aug 16 18:38:15 1998  Johan Danielsson  <joda@blubb.pdc.kth.se>
2616         * lib/krb5/crypto.c: merge x-*.[ch] into one file
2618         * lib/krb5/cache.c: remove residual from krb5_ccache_data
2620 Fri Aug 14 16:28:23 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2622         * lib/krb5/x-crypto.c (derive_key): move DES3 specific code to
2623         separate function (will eventually end up someplace else)
2625         * lib/krb5/x-crypto.c (krb5_string_to_key_derived): allocate key
2627         * configure.in, acconfig.h: test for four valued krb_put_int
2629 Thu Aug 13 23:46:29 1998  Assar Westerlund  <assar@emma.pdc.kth.se>
2631         * Release 0.0t
2633 Thu Aug 13 22:40:17 1998  Assar Westerlund  <assar@sics.se>
2635         * lib/krb5/config_file.c (parse_binding): remove trailing
2636         whitespace
2638 Wed Aug 12 20:15:11 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2640         * lib/krb5/x-checksum.c (krb5_verify_checksum): pass checksum type
2641         to krb5_create_checksum
2643         * lib/krb5/x-key.c: implement DES3_string_to_key_derived; fix a
2644         few typos
2646 Wed Aug  5 12:39:54 1998  Assar Westerlund  <assar@emma.pdc.kth.se>
2648         * Release 0.0s
2650 Thu Jul 30 23:12:17 1998  Assar Westerlund  <assar@sics.se>
2652         * lib/krb5/mk_error.c (krb5_mk_error): realloc until you die
2654 Thu Jul 23 19:49:03 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2656         * kdc/kdc_locl.h: proto for `get_des_key'
2658         * configure.in: test for four valued el_init
2660         * kuser/klist.c: keytype -> enctype
2662         * kpasswd/kpasswdd.c (change): use new `krb5_string_to_key*'
2664         * kdc/hprop.c (v4_prop, ka_convert): convert to a set of keys
2666         * kdc/kaserver.c: use `get_des_key'
2668         * kdc/524.c: use new crypto api
2670         * kdc/kerberos4.c: use new crypto api
2672         * kdc/kerberos5.c: always treat keytypes as enctypes; use new
2673         crypto api
2675         * kdc/kstash.c: adapt to new crypto api
2677         * kdc/string2key.c: adapt to new crypto api
2679         * admin/srvconvert.c: add keys for all possible enctypes
2681         * admin/ktutil.c: keytype -> enctype
2683         * lib/gssapi/init_sec_context.c: get enctype from auth_context
2684         keyblock
2686         * lib/hdb/hdb.c: remove hdb_*_keytype2key
2688         * lib/kadm5/set_keys.c: adapt to new crypto api
2690         * lib/kadm5/rename_s.c: adapt to new crypto api
2692         * lib/kadm5/get_s.c: adapt to new crypto api
2694         * lib/kadm5/create_s.c: add keys for des-cbc-crc, des-cbc-md4,
2695         des-cbc-md5, and des3-cbc-sha1
2697         * lib/krb5/heim_err.et: error message for unsupported salt
2699         * lib/krb5/codec.c: short-circuit these functions, since they are
2700         not needed any more
2702         * lib/krb5/rd_safe.c: cleanup and adapt to new crypto api
2704 Mon Jul 13 23:00:59 1998  Assar Westerlund  <assar@sics.se>
2706         * lib/krb5/send_to_kdc.c (krb5_sendto_kdc): don't advance
2707         hostent->h_addr_list, use a copy instead
2709 Mon Jul 13 15:00:31 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2711         * lib/krb5/config_file.c (parse_binding, parse_section): make sure
2712         everything is ok before adding to linked list
2714         * lib/krb5/config_file.c: skip ws before checking for comment
2716 Wed Jul  8 10:45:45 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2718         * lib/asn1/k5.asn1: hmac-sha1-des3 = 12
2720 Tue Jun 30 18:08:05 1998  Assar Westerlund  <assar@sics.se>
2722         * lib/krb5/send_to_kdc.c (krb5_sendto_kdc): do not close the
2723         unopened file
2725         * lib/krb5/mk_priv.c: realloc correctly
2727         * lib/krb5/get_addrs.c (find_all_addresses): init j
2729         * lib/krb5/context.c (krb5_init_context): print error if parsing
2730         of config file produced an error.
2732         * lib/krb5/config_file.c (parse_list, krb5_config_parse_file):
2733         ignore more spaces
2735         * lib/krb5/codec.c (krb5_encode_EncKrbCredPart,
2736         krb5_encode_ETYPE_INFO): initialize `ret'
2738         * lib/krb5/build_auth.c (krb5_build_authenticator): realloc
2739         correctly
2741         * lib/kadm5/set_keys.c (_kadm5_set_keys): initialize `ret'
2743         * lib/kadm5/init_c.c (get_cred_cache): try to do the right thing
2744         with default_client
2746         * kuser/kinit.c (main): initialize `ticket_life'
2748         * kdc/kerberos5.c (get_pa_etype_info): initialize `ret'
2749         (tgs_rep2): initialize `krbtgt'
2751         * kdc/connect.c (do_request): check for errors from `sendto'
2753         * kdc/524.c (do_524): initialize `ret'
2755         * kadmin/util.c (foreach_principal): don't clobber `ret'
2757         * kadmin/del.c (del_entry): don't apply on zeroth argument
2759         * kadmin/cpw.c (do_cpw_entry): initialize `ret'
2761 Sat Jun 13 04:14:01 1998  Assar Westerlund  <assar@juguete.sics.se>
2763         * Release 0.0r
2765 Sun Jun  7 04:13:14 1998  Assar Westerlund  <assar@sics.se>
2767         * lib/krb5/addr_families.c: fall-back definition of
2768         IN6_ADDR_V6_TO_V4
2770         * configure.in: only set CFLAGS if it wasn't set look for
2771         dn_expand and res_search
2773 Mon Jun  1 21:28:07 1998  Assar Westerlund  <assar@sics.se>
2775         * configure.in: remove duplicate seteuid
2777 Sat May 30 00:19:51 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2779         * lib/krb5/convert_creds.c: import _krb_time_to_life, to avoid
2780         runtime dependencies on libkrb with some shared library
2781         implementations
2783 Fri May 29 00:09:02 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2785         * kuser/kinit_options.c: Default options for kinit.
2787         * kuser/kauth_options.c: Default options for kauth.
2789         * kuser/kinit.c: Implement lots a new options.
2791         * kdc/kerberos5.c (check_tgs_flags): make sure kdc-req-body->rtime
2792         is not NULL; set endtime to min of new starttime + old_life, and
2793         requested endtime
2795         * lib/krb5/init_creds_pw.c (get_init_creds_common): if the
2796         forwardable or proxiable flags are set in options, set the
2797         kdc-flags to the value specified, and not always to one
2799 Thu May 28 21:28:06 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2801         * kdc/kerberos5.c: Optionally compare client address to addresses
2802         in ticket.
2804         * kdc/connect.c: Pass client address to as_rep() and tgs_rep().
2806         * kdc/config.c: Add check_ticket_addresses, and
2807         allow_null_ticket_addresses variables.
2809 Tue May 26 14:03:42 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2811         * lib/kadm5/create_s.c: possibly make DES keys version 4 salted
2813         * lib/kadm5/set_keys.c: check config file for kadmin/use_v4_salt
2814         before zapping version 4 salts
2816 Sun May 24 05:22:17 1998  Assar Westerlund  <assar@sics.se>
2818         * Release 0.0q
2820         * lib/krb5/aname_to_localname.c: new file
2822         * lib/gssapi/init_sec_context.c (repl_mutual): no output token
2824         * lib/gssapi/display_name.c (gss_display_name): zero terminate
2825         output.
2827 Sat May 23 19:11:07 1998  Assar Westerlund  <assar@sics.se>
2829         * lib/gssapi/display_status.c: new file
2831         * Makefile.am: send -I to aclocal
2833         * configure.in: remove duplicate setenv
2835 Sat May 23 04:55:19 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2837         * kadmin/util.c (foreach_principal): Check for expression before
2838         wading through the whole database.
2840         * kadmin/kadmin.c: Pass NULL password to
2841         kadm5_*_init_with_password.
2843         * lib/kadm5/init_c.c: Implement init_with_{skey,creds}*. Make use
2844         of `password' parameter to init_with_password.
2846         * lib/kadm5/init_s.c: implement init_with_{skey,creds}*
2848         * lib/kadm5/server.c: Better arguments for
2849         kadm5_init_with_password.
2851 Sat May 16 07:10:36 1998  Assar Westerlund  <assar@sics.se>
2853         * kdc/hprop.c: conditionalize ka-server reading support on
2854         KASERVER_DB
2856         * configure.in: new option `--enable-kaserver-db'
2858 Fri May 15 19:39:18 1998  Johan Danielsson  <joda@blubb.pdc.kth.se>
2860         * lib/krb5/get_cred.c: Better error if local tgt couldn't be
2861         found.
2863 Tue May 12 21:11:02 1998  Assar Westerlund  <assar@sics.se>
2865         * Release 0.0p
2867         * lib/krb5/mk_req_ext.c (krb5_mk_req_extended): only set
2868         encryption type in auth_context if it's compatible with the type
2869         of the session key
2871 Mon May 11 21:11:14 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2873         * kdc/hprop.c: add support for ka-server databases
2875         * appl/ftp/ftpd: link with -lcrypt, if needed
2877 Fri May  1 07:29:52 1998  Assar Westerlund  <assar@sics.se>
2879         * configure.in: don't test for winsock.h
2881 Sat Apr 18 21:43:11 1998  Johan Danielsson  <joda@puffer.pdc.kth.se>
2883         * Release 0.0o
2885 Sat Apr 18 00:31:11 1998  Johan Danielsson  <joda@blubb.pdc.kth.se>
2887         * lib/krb5/sock_principal.c: Save hostname.
2889 Sun Apr  5 11:29:45 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2891         * lib/krb5/mk_req_ext.c: Use same enctype as in ticket.
2893         * kdc/hprop.c (v4_prop): Check for null key.
2895 Fri Apr  3 03:54:54 1998  Johan Danielsson  <joda@blubb.pdc.kth.se>
2897         * lib/krb5/str2key.c: Fix DES3 string-to-key.
2899         * lib/krb5/keytab.c: Get default keytab name from context.
2901         * lib/krb5/context.c: Get `default_keytab_name' value.
2903         * kadmin/util.c (foreach_principal): Print error message if
2904         `kadm5_get_principals' fails.
2906         * kadmin/kadmind.c: Use `kadmind_loop'.
2908         * lib/kadm5/server.c: Replace several other functions with
2909         `kadmind_loop'.
2911 Sat Mar 28 09:49:18 1998  Assar Westerlund  <assar@sics.se>
2913         * lib/krb5/keytab.c (fkt_add_entry): use an explicit seek instead
2914         of O_APPEND
2916         * configure.in: generate ftp Makefiles
2918         * kuser/klist.c (print_cred_verbose): print IPv4-address in a
2919         portable way.
2921         * admin/srvconvert.c (srvconv): return 0 if successful
2923 Tue Mar 24 00:40:33 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2925         * lib/krb5/keytab.c: MIT compatible changes: add and use sizes to
2926         keytab entries, and change default keytab to `/etc/krb5.keytab'.
2928 Mon Mar 23 23:43:59 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2930         * lib/gssapi/wrap.c: Use `gss_krb5_getsomekey'.
2932         * lib/gssapi/unwrap.c: Implement and use `gss_krb5_getsomekey'.
2933         Fix bug in checking of pad.
2935         * lib/gssapi/{un,}wrap.c: Add support for just integrity
2936         protecting data.
2937         
2938         * lib/gssapi/accept_sec_context.c: Use
2939         `gssapi_krb5_verify_8003_checksum'.
2941         * lib/gssapi/8003.c: Implement `gssapi_krb5_verify_8003_checksum'.
2943         * lib/gssapi/init_sec_context.c: Zero cred, and store session key
2944         properly in auth-context.
2946 Sun Mar 22 00:47:22 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2948         * lib/kadm5/delete_s.c: Check immutable bit.
2950         * kadmin/kadmin.c: Pass client name to kadm5_init.
2952         * lib/kadm5/init_c.c: Get creds for client name passed in.
2954         * kdc/hprop.c (v4_prop): Check for `changepw.kerberos'.
2956 Sat Mar 21 22:57:13 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2958         * lib/krb5/mk_error.c: Verify that error_code is in the range
2959         [0,127].
2961         * kdc/kerberos5.c: Move checking of principal flags to new
2962         function `check_flags'.
2964 Sat Mar 21 14:38:51 1998  Assar Westerlund  <assar@sics.se>
2966         * lib/kadm5/get_s.c (kadm5_s_get_principal): handle an empty salt
2968         * configure.in: define SunOS if running solaris
2970 Sat Mar 21 00:26:34 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2972         * lib/kadm5/server.c: Unifdef test for same principal when
2973         changing password.
2975         * kadmin/util.c: If kadm5_get_principals failes, we might still be
2976         able to perform the requested opreration (for instance someone if
2977         trying to change his own password).
2979         * lib/kadm5/init_c.c: Try to get ticket via initial request, if
2980         not possible via tgt.
2982         * lib/kadm5/server.c: Check for principals changing their own
2983         passwords.
2985         * kdc/kerberos5.c (tgs_rep2): check for interesting flags on
2986         involved principals.
2988         * kadmin/util.c: Fix order of flags.
2990 Thu Mar 19 16:54:10 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
2992         * kdc/kerberos4.c: Return sane error code if krb_rd_req fails.
2994 Wed Mar 18 17:11:47 1998  Assar Westerlund  <assar@sics.se>
2996         * acconfig.h: rename HAVE_STRUCT_SOCKADDR_IN6 to HAVE_IPV6
2998 Wed Mar 18 09:58:18 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3000         * lib/krb5/get_in_tkt_with_keytab.c (krb5_keytab_key_proc): don't
3001         free keyseed; use correct keytab
3003 Tue Mar 10 09:56:16 1998  Assar Westerlund  <assar@sics.se>
3005         * acinclude.m4 (AC_KRB_IPV6): rewrote to avoid false positives
3007 Mon Mar 16 23:58:23 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3009         * Release 0.0n
3011 Fri Mar  6 00:41:30 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3013         * lib/gssapi/{accept_sec_context,release_cred}.c: Use
3014         krb5_kt_close/krb5_kt_resolve.
3015         
3016         * lib/krb5/principal.c (krb5_425_conv_principal_ext): Use resolver
3017         to lookup hosts, so CNAMEs can be ignored.
3019         * lib/krb5/send_to_kdc.c (krb5_sendto_kdc, send_and_recv_http):
3020         Add support for using proxy.
3022         * lib/krb5/context.c: Initialize `http_proxy' from
3023         `libdefaults/http_proxy'.
3025         * lib/krb5/krb5.h: Add `http_proxy' to context.
3027         * lib/krb5/send_to_kdc.c: Recognize `http/' and `udp/' as protocol
3028         specifications.
3030 Wed Mar  4 01:47:29 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3032         * admin/ktutil.c: Implement `add' and `remove' functions. Make
3033         `--keytab' a global option.
3035         * lib/krb5/keytab.c: Implement remove with files. Add memory
3036         operations.
3038 Tue Mar  3 20:09:59 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3040         * lib/krb5/keytab.c: Use function pointers.
3042         * admin: Remove kdb_edit.
3044 Sun Mar  1 03:28:42 1998  Assar Westerlund  <assar@sics.se>
3046         * lib/kadm5/dump_log.c: print operation names
3048 Sun Mar  1 03:04:12 1998  Assar Westerlund  <assar@sics.se>
3050         * configure.in: add X-tests, and {bin,...}dir appl/{kx,kauth}
3051         
3052         * lib/krb5/build_auth.c,mk_priv.c,rd_safe.c,mk_safe.c,mk_rep.c:
3053         remove arbitrary limit
3055         * kdc/hprop-common.c: use krb5_{read,write}_message
3057         * lib/kadm5/ipropd_master.c (send_diffs): more careful use
3058         krb5_{write,read}_message
3060         * lib/kadm5/ipropd_slave.c (get_creds): get credentials for
3061         `iprop/master' directly.
3062         (main): use `krb5_read_message'
3064 Sun Mar  1 02:05:11 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3066         * kadmin/kadmin.c: Cleanup commands list, and add help strings.
3068         * kadmin/get.c: Add long, short, and terse (equivalent to `list')
3069         output formats. Short is the default.
3071         * kadmin/util.c: Add `include_time' flag to timeval2str.
3073         * kadmin/init.c: Max-life and max-renew can, infact, be zero.
3075         * kadmin/{cpw,del,ext,get}.c: Use `foreach_principal'.
3077         * kadmin/util.c: Add function `foreach_principal', that loops over
3078         all principals matching an expression.
3080         * kadmin/kadmin.c: Add usage string to `privileges'.
3082         * lib/kadm5/get_princs_s.c: Also try to match aganist the
3083         expression appended with `@default-realm'.
3085         * lib/krb5/principal.c: Add `krb5_unparse_name_fixed_short', that
3086         excludes the realm if it's the same as the default realm.
3088 Fri Feb 27 05:02:21 1998  Assar Westerlund  <assar@sics.se>
3090         * configure.in: more WFLAGS and WFLAGS_NOUNUSED added missing
3091         headers and functions error -> com_err
3093         (krb5_get_init_creds_keytab): use krb5_keytab_key_proc
3095         * lib/krb5/get_in_tkt_with_keytab.c: make `krb5_keytab_key_proc'
3096         global
3098         * lib/kadm5/marshall.c (ret_principal_ent): set `n_tl_data'
3100         * lib/hdb/ndbm.c: use `struct ndbm_db' everywhere.
3102 Fri Feb 27 04:49:24 1998  Assar Westerlund  <assar@sics.se>
3104         * lib/krb5/mk_priv.c (krb5_mk_priv): bump static limit to 10240.
3105         This should be fixed the correct way.
3107         * lib/kadm5/ipropd_master.c (check_acl:) truncate buf correctly
3108         (send_diffs): compare versions correctly
3109         (main): reorder handling of events
3111         * lib/kadm5/log.c (kadm5_log_previous): avoid bad type conversion
3113 Thu Feb 26 02:22:35 1998  Assar Westerlund  <assar@sics.se>
3115         * lib/kadm5/ipropd_{slave,master}.c: new files
3117         * lib/kadm5/log.c (kadm5_log_get_version): take an `fd' as
3118         argument
3120         * lib/krb5/krb5.h (krb5_context_data): `et_list' should be `struct
3121         et_list *'
3123         * aux/make-proto.pl: Should work with perl4
3125 Mon Feb 16 17:20:22 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3127         * lib/krb5/krb5_locl.h: Remove <error.h> (it gets included via
3128         {asn1,krb5}_err.h).
3130 Thu Feb 12 03:28:40 1998  Assar Westerlund  <assar@sics.se>
3132         * lib/krb5/get_in_tkt.c (_krb5_extract_ticket): if time difference
3133         is larger than max_skew, return KRB5KRB_AP_ERR_SKEW
3135         * lib/kadm5/log.c (get_version): globalize
3137         * lib/kadm5/kadm5_locl.h: include <sys/file.h>
3139         * lib/asn1/Makefile.am: add PA_KEY_INFO and PA_KEY_INFO_ENTRY
3141         * kdc/kerberos5.c (get_pa_etype_info): remove gcc-ism of
3142         initializing local struct in declaration.
3144 Sat Jan 31 17:28:58 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3146         * kdc/524.c: Use krb5_decode_EncTicketPart.
3148         * kdc/kerberos5.c: Check at runtime whether to use enctypes
3149         instead of keytypes. If so use the same value to encrypt ticket,
3150         and kdc-rep as well as `keytype' for session key. Fix some obvious
3151         bugs with the handling of additional tickets.
3153         * lib/krb5/rd_req.c: Use krb5_decode_EncTicketPart, and
3154         krb5_decode_Authenticator.
3156         * lib/krb5/rd_rep.c: Use krb5_decode_EncAPRepPart.
3158         * lib/krb5/rd_cred.c: Use krb5_decode_EncKrbCredPart.
3160         * lib/krb5/mk_rep.c: Make sure enc_part.etype is an encryption
3161         type, and not a key type.  Use krb5_encode_EncAPRepPart.
3163         * lib/krb5/init_creds_pw.c: Use krb5_decode_PA_KEY_INFO.
3165         * lib/krb5/get_in_tkt.c: Use krb5_decode_Enc{AS,TGS}RepPart.
3167         * lib/krb5/get_for_creds.c: Use krb5_encode_EncKrbCredPart.
3169         * lib/krb5/get_cred.c: Use krb5_decode_Enc{AS,TGS}RepPart.
3171         * lib/krb5/build_auth.c: Use krb5_encode_Authenticator.
3173         * lib/krb5/codec.c: Enctype conversion stuff.
3175         * lib/krb5/context.c: Ignore KRB5_CONFIG if *not* running
3176         setuid. Get configuration for libdefaults ktype_is_etype, and
3177         default_etypes.
3179         * lib/krb5/encrypt.c: Add krb5_string_to_etype, rename
3180         krb5_convert_etype to krb5_decode_keytype, and add
3181         krb5_decode_keyblock.
3183 Fri Jan 23 00:32:09 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3185         * lib/krb5/{get_in_tkt,rd_req}.c: Use krb5_convert_etype.
3187         * lib/krb5/encrypt.c: Add krb5_convert_etype function - converts
3188         from protocol keytypes (that really are enctypes) to internal
3189         representation.
3191 Thu Jan 22 21:24:36 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3193         * lib/asn1/k5.asn1: Add PA-KEY-INFO structure to hold information
3194         on keys in the database; and also a new `pa-key-info' padata-type.
3196         * kdc/kerberos5.c: If pre-authentication fails, return a list of
3197         keytypes, salttypes, and salts.
3199         * lib/krb5/init_creds_pw.c: Add better support for
3200         pre-authentication, by looking at hints from the KDC.
3202         * lib/krb5/get_in_tkt.c: Add better support for specifying what
3203         pre-authentication to use.
3205         * lib/krb5/str2key.c: Merge entries for KEYTYPE_DES and
3206         KEYTYPE_DES_AFS3.
3208         * lib/krb5/krb5.h: Add pre-authentication structures.
3210         * kdc/connect.c: Don't fail if realloc(X, 0) returns NULL.
3212 Wed Jan 21 06:20:40 1998  Assar Westerlund  <assar@sics.se>
3214         * lib/kadm5/init_s.c (kadm5_s_init_with_password_ctx): initialize
3215         `log_context.socket_name' and `log_context.socket_fd'
3217         * lib/kadm5/log.c (kadm5_log_flush): send a unix domain datagram
3218         to inform the possible running ipropd of an update.
3220 Wed Jan 21 01:34:09 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3222         * lib/krb5/get_in_tkt.c: Return error-packet to caller.
3224         * lib/krb5/free.c (krb5_free_kdc_rep): Free krb5_kdc_rep->error.
3226         * kdc/kerberos5.c: Add some support for using enctypes instead of
3227         keytypes.
3229         * lib/krb5/get_cred.c: Fixes to send authorization-data to the
3230         KDC.
3232         * lib/krb5/build_auth.c: Only generate local subkey if there is
3233         none.
3235         * lib/krb5/krb5.h: Add krb5_authdata type.
3237         * lib/krb5/auth_context.c: Add
3238         krb5_auth_con_set{,localsub,remotesub}key.
3240         * lib/krb5/init_creds_pw.c: Return some error if prompter
3241         functions return failure.
3243 Wed Jan 21 01:16:13 1998  Assar Westerlund  <assar@sics.se>
3245         * kpasswd/kpasswd.c: detect bad password.  use krb5_err.
3247         * kadmin/util.c (edit_entry): remove unused variables
3249 Tue Jan 20 22:58:31 1998  Assar Westerlund  <assar@sics.se>
3251         * kuser/kinit.c: rename `-s' to `-S' to be MIT-compatible.
3253         * lib/kadm5/kadm5_locl.h: add kadm5_log_context and
3254         kadm5_log*-functions
3256         * lib/kadm5/create_s.c (kadm5_s_create_principal): add change to
3257         log
3259         * lib/kadm5/rename_s.c (kadm5_s_rename_principal): add change to
3260         log
3262         * lib/kadm5/init_s.c (kadm5_s_init_with_password_ctx): initialize
3263         log_context
3265         * lib/kadm5/delete_s.c (kadm5_s_delete_principal): add change to
3266         log
3268         * lib/kadm5/modify_s.c (kadm5_s_modify_principal): add change to
3269         log
3271         * lib/kadm5/randkey_s.c (kadm5_s_randkey_principal): add change to
3272         log
3274         * lib/kadm5/chpass_s.c (kadm5_s_chpass_principal): add change to
3275         log
3277         * lib/kadm5/Makefile.am: add log.c, dump_log and replay_log
3279         * lib/kadm5/replay_log.c: new file
3281         * lib/kadm5/dump_log.c: new file
3283         * lib/kadm5/log.c: new file
3285         * lib/krb5/str2key.c (get_str): initialize pad space to zero
3287         * lib/krb5/config_file.c (krb5_config_vget_next): handle c == NULL
3289         * kpasswd/kpasswdd.c: rewritten to use the kadm5 API
3291         * kpasswd/Makefile.am: link with kadm5srv
3293         * kdc/kerberos5.c (tgs_rep): initialize `i'
3295         * kadmin/kadmind.c (main): use kadm5_server_{send,recv}_sp
3297         * include/Makefile.am: added admin.h
3299 Sun Jan 18 01:41:34 1998  Johan Danielsson  <joda@blubb.pdc.kth.se>
3301         * lib/asn1/gen_copy.c: Don't return ENOMEM if allocating 0 bytes.
3303         * lib/krb5/mcache.c (mcc_store_cred): restore linked list if
3304         copy_creds fails.
3306 Tue Jan  6 04:17:56 1998  Assar Westerlund  <assar@sics.se>
3308         * lib/kadm5/server.c: add kadm5_server_{send,recv}{,_sp}
3310         * lib/kadm5/marshall.c: add kadm5_{store,ret}_principal_ent_mask.
3312         * lib/kadm5/init_c.c (kadm5_c_init_with_password_ctx): use
3313         krb5_getportbyname
3315         * kadmin/kadmind.c (main): htons correctly.
3316         moved kadm5_server_{recv,send}
3318         * kadmin/kadmin.c (main): only set admin_server if explicitly
3319         given
3321 Mon Jan  5 23:34:44 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
3323         * lib/hdb/ndbm.c: Implement locking of database.
3325         * kdc/kerberos5.c: Process AuthorizationData.
3327 Sat Jan  3 22:07:07 1998  Johan Danielsson  <joda@blubb.pdc.kth.se>
3329         * kdc/string2key.c: Use AFS string-to-key from libkrb5.
3331         * lib/krb5/get_in_tkt.c: Handle pa-afs3-salt case.
3333         * lib/krb5/krb5.h: Add value for AFS salts.
3335         * lib/krb5/str2key.c: Add support for AFS string-to-key.
3337         * lib/kadm5/rename_s.c: Use correct salt.
3339         * lib/kadm5/ent_setup.c: Always enable client. Only set max-life
3340         and max-renew if != 0.
3342         * lib/krb5/config_file.c: Add context to all krb5_config_*get_*.
3344 Thu Dec 25 17:03:25 1997  Assar Westerlund  <assar@sics.se>
3346         * kadmin/ank.c (ank): don't zero password if --random-key was
3347         given.
3349 Tue Dec 23 01:56:45 1997  Assar Westerlund  <assar@sics.se>
3351         * Release 0.0m
3353         * lib/kadm5/ent_setup.c (attr_to_flags): try to set `client'
3355         * kadmin/util.c (edit_time): only set mask if != 0
3356         (edit_attributes): only set mask if != 0
3358         * kadmin/init.c (init): create `default'
3360 Sun Dec 21 09:44:05 1997  Assar Westerlund  <assar@sics.se>
3362         * kadmin/util.c (str2deltat, str2attr, get_deltat): return value
3363         as pointer and have return value indicate success.
3364         
3365         (get_response): check NULL from fgets
3366         
3367         (edit_time, edit_attributes): new functions for reading values and
3368         offering list of answers on '?'
3369         
3370         (edit_entry): use edit_time and edit_attributes
3372         * kadmin/ank.c (add_new_key): test the return value of
3373         `krb5_parse_name'
3375         * kdc/kerberos5.c (tgs_check_authenticator): RFC1510 doesn't say
3376         that the checksum has to be keyed, even though later drafts do.
3377         Accept unkeyed checksums to be compatible with MIT.
3379         * kadmin/kadmin_locl.h: add some prototypes.
3381         * kadmin/util.c (edit_entry): return a value
3383         * appl/afsutil/afslog.c (main): return a exit code.
3385         * lib/krb5/get_cred.c (init_tgs_req): use krb5_keytype_to_enctypes
3387         * lib/krb5/encrypt.c (krb5_keytype_to_enctypes): new function.
3389         * lib/krb5/build_auth.c (krb5_build_authenticator): use
3390         krb5_{free,copy}_keyblock instead of the _contents versions
3392 Fri Dec 12 14:20:58 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3394         * lib/krb5/{mk,rd}_priv.c: fix check for local/remote subkey
3396 Mon Dec  8 08:48:09 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3398         * lib/krb5/context.c: don't look at KRB5_CONFIG if running setuid
3400 Sat Dec  6 10:09:40 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3402         * lib/krb5/keyblock.c (krb5_free_keyblock): check for NULL
3403         keyblock
3405 Sat Dec  6 08:26:10 1997  Assar Westerlund  <assar@sics.se>
3407         * Release 0.0l
3409 Thu Dec  4 03:38:12 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3411         * lib/krb5/send_to_kdc.c: Add TCP client support.
3413         * lib/krb5/store.c: Add k_{put,get}_int.
3415         * kadmin/ank.c: Set initial kvno to 1.
3417         * kdc/connect.c: Send version 5 TCP-reply as length+data.
3419 Sat Nov 29 07:10:11 1997  Assar Westerlund  <assar@sics.se>
3421         * lib/krb5/rd_req.c (krb5_rd_req): fixed obvious bug
3423         * kdc/kaserver.c (create_reply_ticket): use a random nonce in the
3424         reply packet.
3426         * kdc/connect.c (init_sockets): less reallocing.
3428         * **/*.c: changed `struct fd_set' to `fd_set'
3430 Sat Nov 29 05:12:01 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3432         * lib/krb5/get_default_principal.c: More guessing.
3434 Thu Nov 20 02:55:09 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3436         * lib/krb5/rd_req.c: Use principal from ticket if no server is
3437         given.
3439 Tue Nov 18 02:58:02 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3441         * kuser/klist.c: Use krb5_err*().
3443 Sun Nov 16 11:57:43 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3445         * kadmin/kadmin.c: Add local `init', `load', `dump', and `merge'
3446         commands.
3448 Sun Nov 16 02:52:20 1997  Assar Westerlund  <assar@sics.se>
3450         * lib/krb5/mk_req_ext.c (krb5_mk_req_ext): figure out the correct
3451         `enctype'
3453         * lib/krb5/mk_req.c (krb5_mk_req): use `(*auth_context)->enctype'
3454         if set.
3456         * lib/krb5/get_cred.c: handle the case of a specific keytype
3458         * lib/krb5/build_auth.c (krb5_build_authenticator): enctype as a
3459         parameter instead of guessing it.
3461         * lib/krb5/build_ap_req.c (krb5_build_ap_req): new parameter
3462         `enctype'
3464         * appl/test/common.c (common_setup): don't use `optarg'
3466         * lib/krb5/keytab.c (krb5_kt_copy_entry_contents): new function
3467         (krb5_kt_get_entry): retrieve the latest version if kvno == 0
3469         * lib/krb5/krb5.h: define KRB5_TC_MATCH_KEYTYPE
3471         * lib/krb5/creds.c (krb5_compare_creds): check for
3472         KRB5_TC_MATCH_KEYTYPE
3474         * lib/gssapi/8003.c (gssapi_krb5_create_8003_checksum): remove
3475         unused variable
3477         * lib/krb5/creds.c (krb5_copy_creds_contents): only free the
3478         contents if we fail.
3480 Sun Nov 16 00:32:48 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3482         * kpasswd/kpasswdd.c: Get password expiration time from config
3483         file.
3485         * lib/asn1/{der_get,gen_decode}.c: Allow passing NULL size.
3487 Wed Nov 12 02:35:57 1997  Assar Westerlund  <assar@sics.se>
3489         * lib/krb5/get_for_creds.c (krb5_get_forwarded_creds):
3490         restructured and fixed.
3492         * lib/krb5/addr_families.c (krb5_h_addr2addr): new function.
3494 Wed Nov 12 01:36:01 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3496         * lib/krb5/get_addrs.c: Fall back to hostname's addresses if other
3497         methods fail.
3499 Tue Nov 11 22:22:12 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3501         * kadmin/kadmin.c: Add `-l' flag to use local database.
3503         * lib/kadm5/acl.c: Use KADM5_PRIV_ALL.
3505         * lib/kadm5: Use function pointer trampoline for easier dual use
3506         (without radiation-hardening capability).
3508 Tue Nov 11 05:15:22 1997  Assar Westerlund  <assar@sics.se>
3510         * lib/krb5/encrypt.c (krb5_etype_valid): new function
3512         * lib/krb5/creds.c (krb5_copy_creds_contents): zero target
3514         * lib/krb5/context.c (valid_etype): remove
3516         * lib/krb5/checksum.c: remove dead code
3518         * lib/krb5/changepw.c (send_request): free memory on error.
3520         * lib/krb5/build_ap_req.c (krb5_build_ap_req): check return value
3521         from malloc.
3523         * lib/krb5/auth_context.c (krb5_auth_con_init): free memory on
3524         failure correctly.
3525         (krb5_auth_con_setaddrs_from_fd): return error correctly.
3527         * lib/krb5/get_in_tkt_with_{keytab,skey}.c: new files
3529 Tue Nov 11 02:53:19 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3531         * lib/krb5/auth_context.c: Implement auth_con_setuserkey.
3533         * lib/gssapi/init_sec_context.c: Use krb5_auth_con_getkey.
3535         * lib/krb5/keyblock.c: Rename krb5_free_keyblock to
3536         krb5_free_keyblock_contents, and reimplement krb5_free_keyblock.
3538         * lib/krb5/rd_req.c: Use auth_context->keyblock if
3539         ap_options.use_session_key.
3541 Tue Nov 11 02:35:17 1997  Assar Westerlund  <assar@sics.se>
3543         * lib/krb5/net_{read,write}.c: change `int fd' to `void *p_fd'.
3544         fix callers.
3546         * lib/krb5/krb5_locl.h: include <asn1.h> and <der.h>
3548         * include/Makefile.am: add xdbm.h
3550 Tue Nov 11 01:58:22 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3552         * lib/krb5/get_cred.c: Implement krb5_get_cred_from_kdc.
3554 Mon Nov 10 22:41:53 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3556         * lib/krb5/ticket.c: Implement copy_ticket.
3558         * lib/krb5/get_in_tkt.c: Make `options' parameter MIT-compatible.
3560         * lib/krb5/data.c: Implement free_data and copy_data.
3562 Sun Nov  9 02:17:27 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3564         * lib/kadm5: Implement kadm5_get_privs, and kadm5_get_principals.
3566         * kadmin/kadmin.c: Add get_privileges function.
3568         * lib/kadm5: Rename KADM5_ACL_* -> KADM5_PRIV_* to conform with
3569         specification.
3571         * kdc/connect.c: Exit if no sockets could be bound.
3573         * kadmin/kadmind.c: Check return value from krb5_net_read().
3575         * lib/kadm5,kadmin: Fix memory leaks.
3577 Fri Nov  7 02:45:26 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3579         * lib/kadm5/create_s.c: Get some default values from `default'
3580         principal.
3582         * lib/kadm5/ent_setup.c: Add optional default entry to get some
3583         values from.
3585 Thu Nov  6 00:20:41 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3587         * lib/error/compile_et.awk: Remove generated destroy_*_error_table
3588         prototype
3590         * kadmin/kadmind.c: Crude admin server.
3592         * kadmin/kadmin.c: Update to use remote protocol.
3594         * kadmin/get.c: Fix principal formatting.
3596         * lib/kadm5: Add client support.
3598         * lib/kadm5/error.c: Error code mapping.
3600         * lib/kadm5/server.c: Kadmind support function.
3602         * lib/kadm5/marshall.c: Kadm5 marshalling.
3604         * lib/kadm5/acl.c: Simple acl system.
3606         * lib/kadm5/kadm5_locl.h: Add client stuff.
3608         * lib/kadm5/init_s.c: Initialize acl.
3610         * lib/kadm5/*:  Return values.
3612         * lib/kadm5/create_s.c: Correct kvno.
3614 Wed Nov  5 22:06:50 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3616         * lib/krb5/log.c: Fix parsing of log destinations.
3618 Mon Nov  3 20:33:55 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3620         * lib/krb5/principal.c: Reduce number of reallocs in unparse_name.
3622 Sat Nov  1 01:40:53 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3624         * kadmin: Simple kadmin utility.
3626         * admin/ktutil.c: Print keytype.
3628         * lib/kadm5/get_s.c: Set correct n_key_data.
3630         * lib/kadm5/init_s.c: Add kadm5_s_init_with_password_ctx. Use
3631         master key.
3633         * lib/kadm5/destroy_s.c: Check for allocated context.
3635         * lib/kadm5/{create,chpass}_s.c: Use _kadm5_set_keys().
3637 Sat Nov  1 00:21:00 1997  Assar Westerlund  <assar@sics.se>
3639         * configure.in: test for readv, writev
3641 Wed Oct 29 23:41:26 1997  Assar Westerlund  <assar@sics.se>
3643         * lib/krb5/warn.c (_warnerr): handle the case of an illegal error
3644         code
3646         * kdc/kerberos5.c (encode_reply): return success
3648 Wed Oct 29 18:01:59 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3650         * kdc/kerberos5.c (find_etype) Return correct index of selected
3651         etype.
3653 Wed Oct 29 04:07:06 1997  Assar Westerlund  <assar@sics.se>
3655         * Release 0.0k
3657         * lib/krb5/context.c (krb5_init_context): support `KRB5_CONFIG'
3658         environment variable
3660         * *: use the roken_get*-macros from roken.h for the benefit of
3661         Crays.
3663         * configure.in: add --{enable,disable}-otp.  check for compatible
3664         prototypes for gethostbyname, gethostbyaddr, getservbyname, and
3665         openlog (they have strange prototypes on Crays)
3667         * acinclude.m4: new macro `AC_PROTO_COMPAT'
3669 Tue Oct 28 00:11:22 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3671         * kdc/connect.c: Log bad requests.
3673         * kdc/kerberos5.c: Move stuff that's in common between as_rep and
3674         tgs_rep to separate functions.
3676         * kdc/kerberos5.c: Fix user-to-user authentication.
3678         * lib/krb5/get_cred.c: Some restructuring of krb5_get_credentials:
3679           - add a kdc-options argument to krb5_get_credentials, and rename
3680             it to krb5_get_credentials_with_flags
3681           - honour the KRB5_GC_CACHED, and KRB5_GC_USER_USER options
3682           - add some more user-to-user glue
3684         * lib/krb5/rd_req.c: Move parts of krb5_verify_ap_req into a new
3685         function, krb5_decrypt_ticket, so it is easier to decrypt and
3686         check a ticket without having an ap-req.
3688         * lib/krb5/krb5.h: Add KRB5_GC_CACHED, and KRB5_GC_USER_USER
3689         flags.
3691         * lib/krb5/crc.c (crc_init_table): Check if table is already
3692         inited.
3694 Sun Oct 26 04:51:02 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3696         * lib/asn1/der_get.c (der_get_length, fix_dce): Special-case
3697         indefinite encoding.
3699         * lib/asn1/gen_glue.c (generate_units): Check for empty
3700         member-list.
3702 Sat Oct 25 07:24:57 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3704         * lib/error/compile_et.awk: Allow specifying table-base.
3706 Tue Oct 21 20:21:40 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3708         * kdc/kerberos5.c: Check version number of krbtgt.
3710 Mon Oct 20 01:14:53 1997  Assar Westerlund  <assar@sics.se>
3712         * lib/krb5/prompter_posix.c (krb5_prompter_posix): implement the
3713         case of unhidden prompts.
3715         * lib/krb5/str2key.c (string_to_key_internal): return error
3716         instead of aborting.  always free memory
3718         * admin/ktutil.c: add `help' command
3720         * admin/kdb_edit.c: implement new commands: add_random_key(ark),
3721         change_password(cpw), change_random_key(crk)
3723 Thu Oct 16 05:16:36 1997  Assar Westerlund  <assar@sics.se>
3725         * kpasswd/kpasswdd.c: change all the keys in the database
3727         * kdc: removed all unsealing, now done by the hdb layer
3729         * lib/hdb/hdb.c: new functions `hdb_create', `hdb_set_master_key'
3730         and `hdb_clear_master_key'
3732         * admin/misc.c: removed
3734 Wed Oct 15 22:47:31 1997  Assar Westerlund  <assar@sics.se>
3736         * kuser/klist.c: print year as YYYY iff verbose
3738 Wed Oct 15 20:02:13 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3740         * kuser/klist.c: print etype from ticket
3742 Mon Oct 13 17:18:57 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3744         * Release 0.0j
3746         * lib/krb5/get_cred.c: Get the subkey from mk_req so it can be
3747         used to decrypt the reply from DCE secds.
3749         * lib/krb5/auth_context.c: Add {get,set}enctype.
3751         * lib/krb5/get_cred.c: Fix for DCE secd.
3753         * lib/krb5/store.c: Store keytype twice, as MIT does.
3755         * lib/krb5/get_in_tkt.c: Use etype from reply.
3757 Fri Oct 10 00:39:48 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3759         * kdc/connect.c: check for leading '/' in http request
3761 Tue Sep 30 21:50:18 1997  Assar Westerlund  <assar@assaris.pdc.kth.se>
3763         * Release 0.0i
3765 Mon Sep 29 15:58:43 1997  Assar Westerlund  <assar@sics.se>
3767         * lib/krb5/rd_req.c (krb5_rd_req): redone because we don't know
3768         the kvno or keytype before receiving the AP-REQ
3770         * lib/krb5/mk_safe.c (krb5_mk_safe): figure out what cksumtype to
3771         use from the keytype.
3773         * lib/krb5/mk_req_ext.c (krb5_mk_req_extended): figure out what
3774         cksumtype to use from the keytype.
3776         * lib/krb5/mk_priv.c (krb5_mk_priv): figure out what etype to use
3777         from the keytype.
3779         * lib/krb5/keytab.c (krb5_kt_get_entry): check the keytype
3781         * lib/krb5/get_for_creds.c (krb5_get_forwarded_creds): figure out
3782         what etype to use from the keytype.
3784         * lib/krb5/generate_seq_number.c (krb5_generate_seq_number):
3785         handle other key types than DES
3787         * lib/krb5/encrypt.c (key_type): add `best_cksumtype'
3788         (krb5_keytype_to_cksumtype): new function
3790         * lib/krb5/build_auth.c (krb5_build_authenticator): figure out
3791         what etype to use from the keytype.
3793         * lib/krb5/auth_context.c (krb5_auth_con_init): set `cksumtype'
3794         and `enctype' to 0
3796         * admin/extkeytab.c (ext_keytab): extract all keys
3798         * appl/telnet/telnet/commands.c: INET6_ADDRSTRLEN kludge
3800         * configure.in: check for <netinet6/in6.h>. check for -linet6
3801         
3802 Tue Sep 23 03:00:53 1997  Assar Westerlund  <assar@sics.se>
3804         * lib/krb5/encrypt.c: fix checksumtype for des3-cbc-sha1
3806         * lib/krb5/rd_safe.c: fix check for keyed and collision-proof
3807         checksum
3809         * lib/krb5/context.c (valid_etype): remove hard-coded constants
3810         (default_etypes): include DES3
3812         * kdc/kerberos5.c: fix check for keyed and collision-proof
3813         checksum
3815         * admin/util.c (init_des_key, set_password): DES3 keys also
3817         * lib/krb/send_to_kdc.c (krb5_sendto_kdc): no data returned means
3818         no contact?
3820         * lib/krb5/addr_families.c: fix typo in `ipv6_anyaddr'
3822 Mon Sep 22 11:44:27 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
3824         * kdc/kerberos5.c: Somewhat fix the etype usage. The list sent by
3825         the client is used to select wich key to encrypt the kdc rep with
3826         (in case of as-req), and with the server info to select the
3827         session key type. The server key the ticket is encrypted is based
3828         purely on the keys in the database.
3830         * kdc/string2key.c: Add keytype support. Default to version 5
3831         keys.
3833         * lib/krb5/get_in_tkt.c: Fix a lot of etype/keytype misuse.
3835         * lib/krb5/encrypt.c: Add des3-cbc-md5, and des3-cbc-sha1. Add
3836         many *_to_* functions.
3838         * lib/krb5/str2key.c: Add des3 string-to-key. Add ktype argument
3839         to krb5_string_to_key().
3841         * lib/krb5/checksum.c: Some cleanup, and added: 
3842           - rsa-md5-des3 
3843           - hmac-sha1-des3 
3844           - keyed and collision proof flags to each checksum method
3845           - checksum<->string functions.
3847         * lib/krb5/generate_subkey.c: Use krb5_generate_random_keyblock.
3849 Sun Sep 21 15:19:23 1997  Assar Westerlund  <assar@sics.se>
3851         * kdc/connect.c: use new addr_families functions
3853         * kpasswd/kpasswdd.c: use new addr_families functions.  Now works
3854         over IPv6
3856         * kuser/klist.c: use correct symbols for address families
3858         * lib/krb5/sock_principal.c: use new addr_families functions
3860         * lib/krb5/send_to_kdc.c: use new addr_families functions
3862         * lib/krb5/krb5.h: add KRB5_ADDRESS_INET6
3864         * lib/krb5/get_addrs.c: use new addr_families functions
3866         * lib/krb5/changepw.c: use new addr_families functions.  Now works
3867         over IPv6
3869         * lib/krb5/auth_context.c: use new addr_families functions
3871         * lib/krb5/addr_families.c: new file
3873         * acconfig.h: AC_SOCKADDR_IN6 -> AC_STRUCT_SOCKADDR_IN6.  Updated
3874         uses.
3876         * acinclude.m4: new macro `AC_KRB_IPV6'.  Use it.
3878 Sat Sep 13 23:04:23 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3880         * kdc/hprop.c: Don't encrypt twice. Complain on non-convertable
3881         principals.
3883 Sat Sep 13 00:59:36 1997  Assar Westerlund  <assar@sics.se>
3885         * Release 0.0h
3886         
3887         * appl/telnet/telnet/commands.c: AF_INET6 support
3889         * admin/misc.c: new file
3891         * lib/krb5/context.c: new configuration variable `max_retries'
3893         * lib/krb5/get_addrs.c: fixes and better #ifdef's
3895         * lib/krb5/config_file.c: implement krb5_config_get_int
3897         * lib/krb5/auth_context.c, send_to_kdc.c, sock_principal.c:
3898         AF_INET6 support
3900         * kuser/klist.c: support for printing IPv6-addresses
3902         * kdc/connect.c: support AF_INET6
3904         * configure.in: test for gethostbyname2 and struct sockaddr_in6
3906 Thu Sep 11 07:25:28 1997  Assar Westerlund  <assar@sics.se>
3908         * lib/asn1/k5.asn1: Use `METHOD-DATA' instead of `SEQUENCE OF
3909         PA-DATA'
3911 Wed Sep 10 21:20:17 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3913         * kdc/kerberos5.c: Fixes for cross-realm, including (but not
3914         limited to):
3915           - allow client to be non-existant (should probably check for
3916             "local realm")
3917           - if server isn't found and it is a request for a krbtgt, try to
3918             find a realm on the way to the requested realm
3919           - update the transited encoding iff 
3920             client-realm != server-realm != tgt-realm
3922         * lib/krb5/get_cred.c: Several fixes for cross-realm.
3924 Tue Sep  9 15:59:20 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
3926         * kdc/string2key.c: Fix password handling.
3928         * lib/krb5/encrypt.c: krb5_key_to_string
3930 Tue Sep  9 07:46:05 1997  Assar Westerlund  <assar@sics.se>
3932         * lib/krb5/get_addrs.c: rewrote.  Now should be able to handle
3933         aliases and IPv6 addresses
3935         * kuser/klist.c: try printing IPv6 addresses
3937         * kdc/kerberos5.c: increase the arbitrary limit from 1024 to 8192
3939         * configure.in: check for <netinet/in6_var.h>
3941 Mon Sep  8 02:57:14 1997  Assar Westerlund  <assar@sics.se>
3943         * doc: fixes
3945         * admin/util.c (init_des_key): increase kvno
3946         (set_password): return -1 if `des_read_pw_string' failed
3948         * admin/mod.c (doit2): check the return value from `set_password'
3950         * admin/ank.c (doit): don't add a new entry if `set_password'
3951         failed
3953 Mon Sep  8 02:20:16 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
3955         * lib/krb5/verify_init.c: fix ap_req_nofail semantics
3957         * lib/krb5/transited.c: something that might resemble
3958         domain-x500-compress
3960 Mon Sep  8 01:24:42 1997  Assar Westerlund  <assar@sics.se>
3962         * kdc/hpropd.c (main): check number of arguments
3964         * appl/popper/pop_init.c (pop_init): check number of arguments
3966         * kpasswd/kpasswd.c (main): check number of arguments
3968         * kdc/string2key.c (main): check number of arguments
3970         * kuser/kdestroy.c (main): check number of arguments
3972         * kuser/kinit.c (main): check number of arguments
3974         * kpasswd/kpasswdd.c (main): use sigaction without SA_RESTART to
3975         break out of select when a signal arrives
3977         * kdc/main.c (main): use sigaction without SA_RESTART to break out
3978         of select when a signal arrives
3980         * kdc/kstash.c: default to HDB_DB_DIR "/m-key"
3982         * kdc/config.c (configure): add `--version'.  Check the number of
3983         arguments. Handle the case of there being no specification of port
3984         numbers.
3986         * admin/util.c: seal and unseal key at appropriate places
3988         * admin/kdb_edit.c (main): parse arguments, config file and read
3989         master key iff there's one.
3991         * admin/extkeytab.c (ext_keytab): unseal key while extracting
3993 Sun Sep  7 20:41:01 1997  Assar Westerlund  <assar@sics.se>
3995         * lib/roken/roken.h: include <fcntl.h>
3997         * kdc/kerberos5.c (set_salt_padata): new function
3999         * appl/telnet/telnetd/telnetd.c: Rename some variables that
4000         conflict with cpp symbols on HP-UX 10.20
4002         * change all calls of `gethostbyaddr' to cast argument 1 to `const
4003         char *'
4005         * acconfig.h: only use SGTTY on nextstep
4007 Sun Sep  7 14:33:50 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4009         * kdc/kerberos5.c: Check invalid flag.
4011 Fri Sep  5 14:19:38 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4013         * lib/krb5/verify_user.c: Use get_init_creds/verify_init_creds.
4015         * lib/kafs: Move functions common to krb/krb5 modules to new file,
4016         and make things more modular.
4018         * lib/krb5/krb5.h: rename STRING -> krb5_config_string, and LIST
4019         -> krb5_config_list
4021 Thu Sep  4 23:39:43 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4023         * lib/krb5/get_addrs.c: Fix loopback test.
4025 Thu Sep  4 04:45:49 1997  Assar Westerlund  <assar@sics.se>
4027         * lib/roken/roken.h: fallback definition of `O_ACCMODE'
4029         * lib/krb5/get_in_tkt.c (krb5_get_in_cred): be more careful when
4030         checking for a v4 reply
4032 Wed Sep  3 18:20:14 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4034         * kdc/hprop.c: Add `--decrypt' and `--encrypt' flags.
4036         * lib/hdb/hdb.c: new {seal,unseal}_keys functions
4038         * kdc/{hprop,hpropd}.c: Add support to dump database to stdout.
4040         * kdc/hprop.c: Don't use same master key as version 4.
4042         * admin/util.c: Don't dump core if no `default' is found.
4044 Wed Sep  3 16:01:07 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4046         * kdc/connect.c: Allow run time port specification.
4048         * kdc/config.c: Add flags for http support, and port
4049         specifications.
4051 Tue Sep  2 02:00:03 1997  Assar Westerlund  <assar@sics.se>
4053         * include/bits.c: Don't generate ifndef's in bits.h.  Instead, use
4054         them when building the program.  This makes it possible to include
4055         bits.h without having defined all HAVE_INT17_T symbols.
4056         
4057         * configure.in: test for sigaction
4059         * doc: updated documentation.
4060         
4061 Tue Sep  2 00:20:31 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4063         * Release 0.0g
4065 Mon Sep  1 17:42:14 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4067         * lib/krb5/data.c: don't return ENOMEM if len == 0
4069 Sun Aug 31 17:15:49 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4071         * lib/hdb/hdb.asn1: Include salt type in salt.
4073         * kdc/hprop.h: Change port to 754.
4075         * kdc/hpropd.c: Verify who tries to transmit a database.
4077         * appl/popper: Use getarg and krb5_log.
4079         * lib/krb5/get_port.c: Add context parameter. Now takes port in
4080         host byte order.
4082 Sat Aug 30 18:48:19 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4084         * kdc/connect.c: Add timeout to select, and log about expired tcp
4085         connections.
4087         * kdc/config.c: Add `database' option.
4089         * kdc/hpropd.c: Log about duplicate entries.
4091         * lib/hdb/{db,ndbm}.c: Use common routines.
4093         * lib/hdb/common.c: Implement more generic fetch/store/delete
4094         functions.
4096         * lib/hdb/hdb.h: Add `replace' parameter to store.
4097         
4098         * kdc/connect.c: Set filedecriptor to -1 on allocated decriptor
4099         entries.
4101 Fri Aug 29 03:13:23 1997  Assar Westerlund  <assar@sics.se>
4103         * lib/krb5/get_in_tkt.c: extract_ticket -> _krb5_extract_ticket
4105         * aux/make-proto.pl: fix __P for stone age mode
4107 Fri Aug 29 02:45:46 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4109         * lib/45/mk_req.c: implementation of krb_mk_req that uses 524
4110         protocol
4112         * lib/krb5/init_creds_pw.c: make change_password and
4113         get_init_creds_common static
4115         * lib/krb5/krb5.h: Merge stuff from removed headerfiles.
4117         * lib/krb5/fcache.c: fcc_ops -> krb5_fcc_ops
4119         * lib/krb5/mcache.c: mcc_ops -> krb5_mcc_ops
4121 Fri Aug 29 01:45:25 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4123         * lib/krb5/krb5.h: Remove all prototypes.
4125         * lib/krb5/convert_creds.c: Use `struct credentials' instead of
4126         `CREDENTIALS'.
4128 Fri Aug 29 00:08:18 1997  Assar Westerlund  <assar@sics.se>
4130         * lib/asn1/gen_glue.c: new file. generates 2int and int2 functions
4131         and units for bit strings.
4133         * admin/util.c: flags2int, int2flags, and flag_units are now
4134         generated by asn1_compile
4136         * lib/roken/parse_units.c: generalised `parse_units' and
4137         `unparse_units' and added new functions `parse_flags' and
4138         `unparse_flags' that use these
4140         * lib/krb5/krb5_locl.h: moved krb5_data* functions to krb5.h
4142         * admin/util.c: Use {un,}parse_flags for printing and parsing
4143         hdbflags.
4145 Thu Aug 28 03:26:12 1997  Assar Westerlund  <assar@sics.se>
4147         * lib/krb5/get_addrs.c: restructured
4149         * lib/krb5/warn.c (_warnerr): leak less memory
4151         * lib/hdb/hdb.c (hdb_free_entry): zero keys
4152         (hdb_check_db_format): leak less memory
4154         * lib/hdb/ndbm.c (NDBM_seq): check for valid hdb_entries implement
4155         NDBM__get, NDBM__put
4157         * lib/hdb/db.c (DB_seq): check for valid hdb_entries
4159 Thu Aug 28 02:06:58 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4161         * lib/krb5/send_to_kdc.c: Don't use sendto on connected sockets.
4163 Thu Aug 28 01:13:17 1997  Assar Westerlund  <assar@sics.se>
4165         * kuser/kinit.1, klist.1, kdestroy.1: new man pages
4167         * kpasswd/kpasswd.1, kpasswdd.8: new man pages
4169         * kdc/kstash.8, hprop.8, hpropd.8: new man pages
4171         * admin/ktutil.8, admin/kdb_edit.8: new man pages
4173         * admin/mod.c: new file
4175         * admin/life.c: renamed gettime and puttime to getlife and putlife
4176         and moved them to life.c
4178         * admin/util.c: add print_flags, parse_flags, init_entry,
4179         set_created_by, set_modified_by, edit_entry, set_password.  Use
4180         them.
4182         * admin/get.c: use print_flags
4184         * admin: removed unused stuff.  use krb5_{warn,err}*
4186         * admin/ank.c: re-organized and abstracted.
4188         * admin/gettime.c: removed
4190 Thu Aug 28 00:37:39 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4192         * lib/krb5/{get_cred,get_in_tkt}.c: Check for v4 reply.
4194         * lib/roken/base64.c: Add base64 functions.
4196         * kdc/connect.c lib/krb5/send_to_kdc.c: Add http support.
4198 Wed Aug 27 00:29:20 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4200         * include/Makefile.am: Don't make links to built files.
4202         * admin/kdb_edit.c: Add command to set the database path.
4204         * lib/hdb: Include version number in database.
4206 Tue Aug 26 20:14:54 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4208         * admin/ktutil: Merged v4 srvtab conversion.
4210 Mon Aug 25 23:02:18 1997  Assar Westerlund  <assar@sics.se>
4212         * lib/roken/roken.h: add F_OK
4214         * lib/gssapi/acquire_creds.c: fix typo
4216         * configure.in: call AC_TYPE_MODE_T
4218         * acinclude.m4: Add AC_TYPE_MODE_T
4220 Sun Aug 24 16:46:53 1997  Assar Westerlund  <assar@sics.se>
4222         * Release 0.0f
4224 Sun Aug 24 08:06:54 1997  Assar Westerlund  <assar@sics.se>
4226         * appl/popper/pop_pass.c: log poppers
4228         * kdc/kaserver.c: some more checks
4230         * kpasswd/kpasswd.c: removed `-p'
4232         * kuser/kinit.c: removed `-p'
4234         * lib/krb5/init_creds_pw.c (krb5_get_init_creds_password): If
4235         KDC_ERR_PREUATH_REQUIRED, add preauthentication and try again.
4237         * lib/krb5/get_in_tkt.c (krb5_get_in_cred): don't print out
4238         krb-error text
4240         * lib/gssapi/import_name.c (input_name): more names types.
4242         * admin/load.c (parse_keys): handle the case of an empty salt
4244         * kdc/kaserver.c: fix up memory deallocation
4246         * kdc/kaserver.c: quick hack at talking kaserver protocol
4248         * kdc/kerberos4.c: Make `db-fetch4' global
4250         * configure.in: add --enable-kaserver
4252         * kdc/rx.h, kdc/kerberos4.h: new header files
4254         * lib/krb5/principal.c: fix krb5_build_principal_ext & c:o
4256 Sun Aug 24 03:52:44 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4258         * lib/krb5/{get_in_tkt,mk_safe,mk_priv}.c: Fix some Cray specific
4259         type conflicts.
4261         * lib/krb5/{get_cred,get_in_tkt}.c: Mask nonce to 32 bits.
4263         * lib/des/{md4,md5,sha}.c: Now works on Crays.
4265 Sat Aug 23 18:15:01 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4267         * appl/afsutil/afslog.c: If no cells or files specified, get
4268         tokens for all local cells. Better test for files.
4270 Thu Aug 21 23:33:38 1997  Assar Westerlund  <assar@sics.se>
4272         * lib/gssapi/v1.c: new file with v1 compatibility functions.
4274 Thu Aug 21 20:36:13 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4276         * lib/kafs/afskrb5.c: Don't check ticket file for afs ticket.
4278         * kdc/kerberos4.c: Check database when converting v4 principals.
4280         * kdc/kerberos5.c: Include kvno in Ticket.
4282         * lib/krb5/encrypt.c: Add kvno parameter to encrypt_EncryptedData.
4284         * kuser/klist.c: Print version number of ticket, include more
4285         flags.
4287 Wed Aug 20 21:26:58 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4289         * lib/kafs/afskrb5.c (get_cred): Check cached afs tickets for
4290         expiration.
4292 Wed Aug 20 17:40:31 1997  Assar Westerlund  <assar@sics.se>
4294         * lib/krb5/recvauth.c (krb5_recvauth): Send a KRB-ERROR iff
4295         there's an error.
4297         * lib/krb5/sendauth.c (krb5_sendauth): correct the protocol
4298         documentation and process KRB-ERROR's
4300 Tue Aug 19 20:41:30 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4302         * kdc/kerberos4.c: Fix memory leak in v4 protocol handler.
4304 Mon Aug 18 05:15:09 1997  Assar Westerlund  <assar@sics.se>
4306         * lib/gssapi/accept_sec_context.c: Added
4307         `gsskrb5_register_acceptor_identity'
4309 Sun Aug 17 01:40:20 1997  Assar Westerlund  <assar@sics.se>
4311         * lib/gssapi/accept_sec_context.c (gss_accept_sec_context): don't
4312         always pass server == NULL to krb5_rd_req.
4314         * lib/gssapi: new files: canonicalize_name.c export_name.c
4315         context_time.c compare_name.c release_cred.c acquire_cred.c
4316         inquire_cred.c, from Luke Howard <lukeh@xedoc.com.au>
4318         * lib/krb5/config_file.c: Add netinfo support from Luke Howard
4319         <lukeh@xedoc.com.au>
4321         * lib/editline/sysunix.c: sgtty-support from Luke Howard
4322         <lukeh@xedoc.com.au>
4324         * lib/krb5/principal.c: krb5_sname_to_principal fix from Luke
4325         Howard <lukeh@xedoc.com.au>
4327 Sat Aug 16 00:44:47 1997  Assar Westerlund  <assar@koi.pdc.kth.se>
4329         * Release 0.0e
4331 Sat Aug 16 00:23:46 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4333         * appl/afsutil/afslog.c: Use new libkafs.
4335         * lib/kafs/afskrb5.c: Get AFS tokens via 524 protocol.
4337         * lib/krb5/warn.c: Fix format string for *x type.
4339 Fri Aug 15 22:15:01 1997  Assar Westerlund  <assar@sics.se>
4341         * admin/get.c (get_entry): print more information about the entry
4343         * lib/des/Makefile.am: build destest, mdtest, des, rpw, speed
4345         * lib/krb5/config_file.c: new functions `krb5_config_get_time' and
4346         `krb5_config_vget_time'.  Use them.
4348 Fri Aug 15 00:09:37 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4350         * admin/ktutil.c: Keytab manipulation program.
4352         * lib/krb5/keytab.c: Return sane values from resolve and
4353         start_seq_get.
4355         * kdc/kerberos5.c: Fix for old clients passing 0 for `no endtime'.
4357         * lib/45/get_ad_tkt.c: Kerberos 4 get_ad_tkt using
4358         krb524_convert_creds_kdc.
4360         * lib/krb5/convert_creds.c: Implementation of
4361         krb524_convert_creds_kdc.
4363         * lib/asn1/k5.asn1: Make kdc-req-body.till OPTIONAL
4365         * kdc/524.c: A somewhat working 524-protocol module.
4367         * kdc/kerberos4.c: Add version 4 ticket encoding and encryption
4368         functions.
4370         * lib/krb5/context.c: Fix kdc_timeout.
4372         * lib/hdb/{ndbm,db}.c: Free name in close.
4374         * kdc/kerberos5.c (tgs_check_autenticator): Return error code
4376 Thu Aug 14 21:29:03 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4378         * kdc/kerberos5.c (tgs_make_reply): Fix endtime in reply.
4380         * lib/krb5/store_emem.c: Fix reallocation bug.
4382 Tue Aug 12 01:29:46 1997  Assar Westerlund  <assar@sics.se>
4384         * appl/telnet/libtelnet/kerberos5.c, appl/popper/pop_init.c: Use
4385         `krb5_sock_to_principal'.  Send server parameter to
4386         krb5_rd_req/krb5_recvauth.  Set addresses in auth_context.
4388         * lib/krb5/recvauth.c: Set addresses in auth_context if there
4389         aren't any
4391         * lib/krb5/auth_context.c: New function
4392         `krb5_auth_con_setaddrs_from_fd'
4394         * lib/krb5/sock_principal.c: new function
4395         `krb5_sock_to_principal'
4396         
4397         * lib/krb5/time.c: new file with `krb5_timeofday' and
4398         `krb5_us_timeofday'.  Use these functions.
4400         * kuser/klist.c: print KDC offset iff verbose
4402         * lib/krb5/get_in_tkt.c: implement KDC time offset and use it if
4403         [libdefaults]kdc_timesync is set.
4404         
4405         * lib/krb5/fcache.c: Implement version 4 of the ccache format.
4407 Mon Aug 11 05:34:43 1997  Assar Westerlund  <assar@sics.se>
4409         * lib/krb5/rd_rep.c (krb5_free_ap_rep_enc_part): free all memory
4411         * lib/krb5/principal.c (krb5_unparse_name): allocate memory
4412         properly
4414         * kpasswd/kpasswd.c: Use `krb5_change_password'
4416         * lib/krb5/init_creds_pw.c (init_cred): set realm of server
4417         correctly.
4419         * lib/krb5/init_creds_pw.c: support changing of password when it
4420         has expired
4422         * lib/krb5/changepw.c: new file
4424         * kuser/klist.c: use getarg
4426         * admin/init.c (init): add `kadmin/changepw'
4428 Mon Aug 11 04:30:47 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4430         * lib/krb5/get_cred.c: Make get_credentials handle cross-realm.
4432 Mon Aug 11 00:03:24 1997  Assar Westerlund  <assar@sics.se>
4434         * lib/krb5/config_file.c: implement support for #-comments
4436 Sat Aug  9 02:21:46 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4438         * kdc/hprop*.c: Add database propagation programs.
4440         * kdc/connect.c: Max request size.
4442 Sat Aug  9 00:47:28 1997  Assar Westerlund  <assar@sics.se>
4444         * lib/otp: resurrected from krb4
4446         * appl/push: new program for fetching mail with POP.
4448         * appl/popper/popper.h: new include files.  new fields in `POP'
4450         * appl/popper/pop_pass.c: Implement both v4 and v5.
4452         * appl/popper/pop_init.c: Implement both v4 and v5.
4454         * appl/popper/pop_debug.c: use getarg.  Talk both v4 and v5
4456         * appl/popper: Popper from krb4.
4458         * configure.in: check for inline and <netinet/tcp.h> generate
4459         files in appl/popper, appl/push, and lib/otp
4461 Fri Aug  8 05:51:02 1997  Assar Westerlund  <assar@sics.se>
4463         * lib/krb5/get_cred.c: clean-up and try to free memory even when
4464         there're errors
4466         * lib/krb5/get_cred.c: adapt to new `extract_ticket'
4468         * lib/krb5/get_in_tkt.c: reorganize.  check everything and try to
4469         return memory even if there are errors.
4471         * kuser/kverify.c: new file
4473         * lib/krb5/free_host_realm.c: new file
4475         * lib/krb5/principal.c (krb5_sname_to_principal): implement
4476         different nametypes.  Also free memory.
4478         * lib/krb5/verify_init.c: more functionality
4480         * lib/krb5/mk_req_ext.c (krb5_mk_req_extended): free the checksum
4482         * lib/krb5/get_in_tkt.c (extract_ticket): don't copy over the
4483         principals in creds.  Should also compare them with that received
4484         from the KDC
4486         * lib/krb5/cache.c (krb5_cc_gen_new): copy the newly allocated
4487         krb5_ccache
4488         (krb5_cc_destroy): call krb5_cc_close
4489         (krb5_cc_retrieve_cred): delete the unused creds
4491 Fri Aug  8 02:30:40 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4493         * lib/krb5/log.c: Allow better control of destinations of logging
4494         (like passing explicit destinations, and log-functions).
4496 Fri Aug  8 01:20:39 1997  Assar Westerlund  <assar@sics.se>
4498         * lib/krb5/get_default_principal.c: new file
4500         * kpasswd/kpasswdd.c: use krb5_log*
4502 Fri Aug  8 00:37:47 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4504         * lib/krb5/init_creds_pw.c: Implement krb5_get_init_creds_keytab.
4506 Fri Aug  8 00:37:17 1997  Assar Westerlund  <assar@sics.se>
4508         * lib/krb5/init_creds_pw.c: Use `krb5_get_default_principal'.
4509         Print password expire information.
4511         * kdc/config.c: new variable `kdc_warn_pwexpire'
4513         * kpasswd/kpasswd.c: converted to getarg and get_init_creds
4515 Thu Aug  7 22:17:09 1997  Assar Westerlund  <assar@sics.se>
4517         * lib/krb5/mcache.c: new file
4519         * admin/gettime.c: new function puttime.  Use it.
4521         * lib/krb5/keyblock.c: Added krb5_free_keyblock and
4522         krb5_copy_keyblock
4524         * lib/krb5/init_creds_pw.c: more functionality
4526         * lib/krb5/creds.c: Added krb5_free_creds_contents and
4527         krb5_copy_creds.  Changed callers.
4529         * lib/krb5/config_file.c: new functions krb5_config_get and
4530         krb5_config_vget
4532         * lib/krb5/cache.c: cleanup added mcache
4533         
4534         * kdc/kerberos5.c: include last-req's of type 6 and 7, if
4535         applicable
4537 Wed Aug  6 20:38:23 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4539         * lib/krb5/log.c: New parameter `log-level'. Default to `SYSLOG'.
4541 Tue Aug  5 22:53:54 1997  Assar Westerlund  <assar@sics.se>
4543         * lib/krb5/verify_init.c, init_creds_pw.c, init_creds.c,
4544         prompter_posix.c: the beginning of an implementation of the cygnus
4545         initial-ticket API.
4547         * lib/krb5/get_in_tkt_pw.c: make `krb5_password_key_proc' global
4549         * lib/krb5/get_in_tkt.c (krb5_get_in_cred): new function that is
4550         almost krb5_get_in_tkt but doesn't write the creds to the ccache.
4551         Small fixes in krb5_get_in_tkt
4553         * lib/krb5/get_addrs.c (krb5_get_all_client_addrs): don't include
4554         loopback.
4556 Mon Aug  4 20:20:48 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4558         * kdc: Make context global.
4560 Fri Aug  1 17:23:56 1997  Assar Westerlund  <assar@sics.se>
4562         * Release 0.0d
4564         * lib/roken/flock.c: new file
4566         * kuser/kinit.c: check for and print expiry information in the
4567         `kdc_rep'
4569         * lib/krb5/get_in_tkt.c: Set `ret_as_reply' if != NULL
4571         * kdc/kerberos5.c: Check the valid times on client and server.
4572         Check the password expiration.
4573         Check the require_preauth flag.
4574         Send an lr_type == 6 with pw_end.
4575         Set key.expiration to min(valid_end, pw_end)
4576         
4577         * lib/hdb/hdb.asn1: new flags `require_preauth' and `change_pw'
4579         * admin/util.c, admin/load.c: handle the new flags.
4581 Fri Aug  1 16:56:12 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4583         * lib/hdb: Add some simple locking.
4585 Sun Jul 27 04:44:31 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4587         * lib/krb5/log.c: Add some general logging functions.
4589         * kdc/kerberos4.c: Add version 4 protocol handler. The requrement
4590         for this to work is that all involved principals has a des key in
4591         the database, and that the client has a version 4 (un-)salted
4592         key. Furthermore krb5_425_conv_principal has to do it's job, as
4593         present it's not very clever.
4595         * lib/krb5/principal.c: Quick patch to make 425_conv work
4596         somewhat.
4598         * lib/hdb/hdb.c: Add keytype->key and next key functions.
4600 Fri Jul 25 17:32:12 1997  Assar Westerlund  <assar@sics.se>
4602         * lib/krb5/build_auth.c (krb5_build_authenticator): don't free
4603         `cksum'.  It's allocated and freed by the caller
4605         * lib/krb5/get_cred.c (krb5_get_kdc_cred): Don't free `addresses'.
4607         * kdc/kerberos5.c (tgs_rep2): make sure we also have an defined
4608         `client' to return as part of the KRB-ERROR
4610 Thu Jul 24 08:13:59 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4612         * kdc/kerberos5.c: Unseal keys from database before use.
4614         * kdc/misc.c: New functions set_master_key, unseal_key and
4615         free_key.
4617         * lib/roken/getarg.c: Handle `-f arg' correctly.
4619 Thu Jul 24 01:54:43 1997  Assar Westerlund  <assar@sics.se>
4621         * kuser/kinit.c: implement `-l' aka `--lifetime'
4623         * lib/roken/parse_units.c, parse_time.c: new files
4625         * admin/gettime.c (gettime): use `parse_time'
4627         * kdc/kerberos5.c (as_rep): Use `METHOD-DATA' when sending
4628         KRB5KDC_ERR_PREAUTH_REQUIRED, not PA-DATA.
4630         * kpasswd/kpasswdd.c: fix freeing bug use sequence numbers set
4631         addresses in auth_context bind one socket per interface.
4632         
4633         * kpasswd/kpasswd.c: use sequence numbers
4635         * lib/krb5/rd_req.c (krb5_verify_ap_req): do abs when verifying
4636         the timestamps
4638         * lib/krb5/rd_priv.c (krb5_rd_priv): Fetch the correct session key
4639         from auth_context
4641         * lib/krb5/mk_priv.c (krb5_mk_priv): Fetch the correct session key
4642         from auth_context
4644         * lib/krb5/mk_error.c (krb5_mk_error): return an error number and
4645         not a comerr'd number.
4647         * lib/krb5/get_in_tkt.c (krb5_get_in_tkt): interpret the error
4648         number in KRB-ERROR correctly.
4650         * lib/krb5/get_cred.c (krb5_get_kdc_cred): interpret the error
4651         number in KRB-ERROR correctly.
4653         * lib/asn1/k5.asn1: Add `METHOD-DATA'
4655         * removed some memory leaks.
4657 Wed Jul 23 07:53:18 1997  Assar Westerlund  <assar@sics.se>
4659         * Release 0.0c
4661         * lib/krb5/rd_cred.c, get_for_creds.c: new files
4663         * lib/krb5/get_host_realm.c: try default realm as last chance
4665         * kpasswd/kpasswdd.c: updated to hdb changes
4667         * appl/telnet/libtelnet/kerberos5.c: Implement forwarding
4669         * appl/telnet/libtelnet: removed totally unused files
4671         * admin/ank.c: fix prompts and generation of random keys
4673 Wed Jul 23 04:02:32 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4675         * admin/dump.c: Include salt in dump.
4677         * admin: Mostly updated for new db-format.
4679         * kdc/kerberos5.c: Update to use new db format. Better checking of
4680         flags and such. More logging.
4682         * lib/hdb/hdb.c: Use generated encode and decode functions.
4684         * lib/hdb/hdb.h: Get hdb_entry from ASN.1 generated code.
4686         * lib/krb5/get_cred.c: Get addresses from krbtgt if there are none
4687         in the reply.
4689 Sun Jul 20 16:22:30 1997  Assar Westerlund  <assar@sics.se>
4691         * kuser/kinit.c: break if des_read_pw_string() != 0
4693         * kpasswd/kpasswdd.c: send a reply
4695         * kpasswd/kpasswd.c: restructured code.  better report on
4696         krb-error break if des_read_pw_string() != 0
4698         * kdc/kerberos5.c: Check `require_enc_timestamp' malloc space for
4699         starttime and renew_till
4701         * appl/telnet/libtelnet/kerberos5.c (kerberos5_is): Send a
4702         keyblock to krb5_verify_chekcsum
4704 Sun Jul 20 06:35:46 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4706         * Release 0.0b
4708         * kpasswd/kpasswd.c: Avoid using non-standard struct names.
4710 Sat Jul 19 19:26:23 1997  Assar Westerlund  <assar@sics.se>
4712         * lib/krb5/keytab.c (krb5_kt_get_entry): check return from
4713         `krb5_kt_start_seq_get'.  From <map@stacken.kth.se>
4715 Sat Jul 19 04:07:39 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4717         * lib/asn1/k5.asn1: Update with more pa-data types from
4718         draft-ietf-cat-kerberos-revisions-00.txt
4720         * admin/load.c: Update to match current db-format.
4722         * kdc/kerberos5.c (as_rep): Try all valid pa-datas before giving
4723         up. Send back an empty pa-data if the client has the v4 flag set.
4725         * lib/krb5/get_in_tkt.c: Pass both version5 and version4 salted
4726         pa-data. DTRT if there is any pa-data in the reply.
4728         * lib/krb5/str2key.c: XOR with some sane value.
4730         * lib/hdb/hdb.h: Add `version 4 salted key' flag.
4732         * kuser/kinit.c: Ask for password before calling get_in_tkt. This
4733         makes it possible to call key_proc more than once.
4735         * kdc/string2key.c: Add flags to output version 5 (DES only),
4736         version 4, and AFS string-to-key of a password.
4738         * lib/asn1/gen_copy.c: copy_* functions now returns an int (0 or
4739         ENOMEM).
4741 Fri Jul 18 02:54:58 1997  Assar Westerlund  <assar@sics.se>
4743         * lib/krb5/get_host_realm.c (krb5_get_host_realm): do the
4744         name2name thing
4746         * kdc/misc.c: check result of hdb_open
4748         * admin/kdb_edit: updated to new sl
4750         * lib/sl: sl_func now returns an int. != 0 means to exit.
4752         * kpasswd/kpasswdd: A crude (but somewhat working) implementation
4753         of `draft-ietf-cat-kerb-chg-password-00.txt'
4755 Fri Jul 18 00:55:39 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4757         * kuser/krenew.c: Crude ticket renewing program.
4759         * kdc/kerberos5.c: Rewritten flags parsing, it now might work to
4760         get forwarded and renewed tickets.
4762         * kuser/kinit.c: Add `-r' flag.
4764         * lib/krb5/get_cred.c: Move most of contents of get_creds to new
4765         function get_kdc_cred, that always contacts the kdc and doesn't
4766         save in the cache. This is a hack.
4768         * lib/krb5/get_in_tkt.c: Pass starttime and renew_till in request
4769         (a bit kludgy).
4771         * lib/krb5/mk_req_ext.c: Make an auth_context if none passed in.
4773         * lib/krb5/send_to_kdc.c: Get timeout from context.
4775         * lib/krb5/context.c: Add kdc_timeout to context struct.
4777 Thu Jul 17 20:35:45 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4779         * kuser/klist.c: Print start time of ticket if available.
4781         * lib/krb5/get_host_realm.c: Return error if no realm was found.
4783 Thu Jul 17 20:28:21 1997  Assar Westerlund  <assar@sics.se>
4785         * kpasswd: non-working kpasswd added
4787 Thu Jul 17 00:21:22 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4789         * Release 0.0a
4791         * kdc/main.c: Add -p flag to disable pa-enc-timestamp requirement.
4793 Wed Jul 16 03:37:41 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4795         * kdc/kerberos5.c (tgs_rep2): Free ticket and ap_req.
4797         * lib/krb5/auth_context.c (krb5_auth_con_free): Free remote
4798         subkey.
4800         * lib/krb5/principal.c (krb5_free_principal): Check for NULL.
4802         * lib/krb5/send_to_kdc.c: Check for NULL return from
4803         gethostbyname.
4805         * lib/krb5/set_default_realm.c: Try to get realm of local host if
4806         no default realm is available.
4808         * Remove non ASN.1 principal code.
4810 Wed Jul 16 03:17:30 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4812         * kdc/kerberos5.c: Split tgs_rep in smaller functions. Add better
4813         error handing. Do some logging.
4815         * kdc/log.c: Some simple logging facilities.
4817         * kdc/misc.c (db_fetch): Take a krb5_principal.
4819         * kdc/connect.c: Pass address of request to as_rep and
4820         tgs_rep. Send KRB-ERROR.
4822         * lib/krb5/mk_error.c: Add more fields.
4824         * lib/krb5/get_cred.c: Print normal error code if no e_text is
4825         available.
4827 Wed Jul 16 03:07:50 1997  Assar Westerlund  <assar@sics.se>
4829         * lib/krb5/get_in_tkt.c: implement `krb5_init_etype'.
4830         Change encryption type of pa_enc_timestamp to DES-CBC-MD5
4832         * lib/krb5/context.c: recognize all encryption types actually
4833         implemented
4835         * lib/krb5/auth_context.c (krb5_auth_con_init): Change default
4836         encryption type to `DES_CBC_MD5'
4838         *  lib/krb5/read_message.c, write_message.c: new files
4840 Tue Jul 15 17:14:21 1997  Assar Westerlund  <assar@sics.se>
4842         * lib/asn1: replaced asn1_locl.h by `der_locl.h' and `gen_locl.h'.
4844         * lib/error/compile_et.awk: generate a prototype for the
4845         `destroy_foo_error_table' function.
4847 Mon Jul 14 12:24:40 1997  Assar Westerlund  <assar@sics.se>
4849         * lib/krb5/krbhst.c (krb5_get_krbhst): Get all kdc's and try also
4850         with `kerberos.REALM'
4852         * kdc/kerberos5.c, lib/krb5/rd_priv.c, lib/krb5/rd_safe.c: use
4853         `max_skew'
4855         * lib/krb5/rd_req.c (krb5_verify_ap_req): record authenticator
4856         subkey
4858         * lib/krb5/build_auth.c (krb5_build_authenticator): always
4859         generate a subkey.
4861         * lib/krb5/address.c: implement `krb5_address_order'
4863         * lib/gssapi/import_name.c: Implement `gss_import_name'
4865         * lib/gssapi/external.c: Use new OID
4867         * lib/gssapi/encapsulate.c: New functions
4868         `gssapi_krb5_encap_length' and `gssapi_krb5_make_header'.  Changed
4869         callers.
4871         * lib/gssapi/decapsulate.c: New function
4872         `gssaspi_krb5_verify_header'.  Changed callers.
4874         * lib/asn1/gen*.c: Give tags to generated structs.
4875         Use `err' and `asprintf'
4877         * appl/test/gss_common.c: new file
4879         * appl/test/gssapi_server.c: removed all krb5 calls
4881         * appl/telnet/libtelnet/kerberos5.c: Add support for genering and
4882         verifying checksums.  Also start using session subkeys.
4884 Mon Jul 14 12:08:25 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4886         * lib/krb5/rd_req.c (krb5_rd_req_with_keyblock): Split up.
4888 Sun Jul 13 03:07:44 1997  Assar Westerlund  <assar@sics.se>
4890         * lib/krb5/rd_safe.c, mk_safe.c: made bug-compatible with MIT
4892         * lib/krb5/encrypt.c: new functions `DES_encrypt_null_ivec' and
4893         `DES_encrypt_key_ivec'
4895         * lib/krb5/checksum.c: implement rsa-md4-des and rsa-md5-des
4897         * kdc/kerberos5.c (tgs_rep): support keyed checksums
4899         * lib/krb5/creds.c: new file
4901         * lib/krb5/get_in_tkt.c: better freeing
4903         * lib/krb5/context.c (krb5_free_context): more freeing
4905         * lib/krb5/config_file.c: New function `krb5_config_file_free'
4907         * lib/error/compile_et.awk: Generate a `destroy_' function.
4909         * kuser/kinit.c, klist.c: Don't leak memory.
4911 Sun Jul 13 02:46:27 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4913         * kdc/connect.c: Check filedescriptor in select.
4915         * kdc/kerberos5.c: Remove most of the most common memory leaks.
4917         * lib/krb5/rd_req.c: Free allocated data.
4919         * lib/krb5/auth_context.c (krb5_auth_con_free): Free a lot of
4920         fields.
4922 Sun Jul 13 00:32:16 1997  Assar Westerlund  <assar@sics.se>
4924         * appl/telnet: Conditionalize the krb4-support.
4926         * configure.in: Test for krb4
4928 Sat Jul 12 17:14:12 1997  Assar Westerlund  <assar@sics.se>
4930         * kdc/kerberos5.c: check if the pre-auth was decrypted properly.
4931         set the `pre_authent' flag
4933         * lib/krb5/get_cred.c, lib/krb5/get_in_tkt.c: generate a random nonce.
4935         * lib/krb5/encrypt.c: Made `generate_random_block' global.
4937         * appl/test: Added gssapi_client and gssapi_server.
4939         * lib/krb5/data.c: Add `krb5_data_zero'
4941         * appl/test/tcp_client.c: try `mk_safe' and `mk_priv'
4943         * appl/test/tcp_server.c: try `rd_safe' and `rd_priv'
4945 Sat Jul 12 16:45:58 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
4947         * lib/krb5/get_addrs.c: Fix for systems that has sa_len, but
4948         returns zero length from SIOCGIFCONF.
4950 Sat Jul 12 16:38:34 1997  Assar Westerlund  <assar@sics.se>
4952         * appl/test: new programs
4953         
4954         * lib/krb5/rd_req.c: add address compare
4956         * lib/krb5/mk_req_ext.c: allow no checksum
4958         * lib/krb5/keytab.c (krb5_kt_ret_string): 0-terminate string
4960         * lib/krb5/address.c: fix `krb5_address_compare'
4962 Sat Jul 12 15:03:16 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4964         * lib/krb5/get_addrs.c: Fix ip4 address extraction.
4966         * kuser/klist.c: Add verbose flag, and split main into smaller
4967         pieces.
4969         * lib/krb5/fcache.c: Save ticket flags.
4971         * lib/krb5/get_in_tkt.c (extract_ticket): Extract addresses and
4972         flags.
4974         * lib/krb5/krb5.h: Add ticket_flags to krb5_creds.
4976 Sat Jul 12 13:12:48 1997  Assar Westerlund  <assar@sics.se>
4978         * configure.in: Call `AC_KRB_PROG_LN_S'
4980         * acinclude.m4: Add `AC_KRB_PROG_LN_S' from krb4
4982 Sat Jul 12 00:57:01 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
4984         * lib/krb5/get_in_tkt.c: Use union of krb5_flags and KDCOptions to
4985         pass options.
4987 Fri Jul 11 15:04:22 1997  Assar Westerlund  <assar@sics.se>
4989         * appl/telnet: telnet & telnetd seems to be working.
4990         
4991         * lib/krb5/config_file.c: Added krb5_config_v?get_list Fixed
4992         krb5_config_vget_next
4994         * appl/telnet/libtelnet/kerberos5.c: update to current API
4996 Thu Jul 10 14:54:39 1997  Assar Westerlund  <assar@sics.se>
4998         * appl/telnet/libtelnet/kerberos5.c (kerberos5_status): call
4999         `krb5_kuserok'
5001         * appl/telnet: Added.
5003 Thu Jul 10 05:09:25 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
5005         * lib/error/compile_et.awk: Remove usage of sub, gsub, and
5006         functions for compatibility with awk.
5008         * include/bits.c: Must use signed char.
5010         * lib/krb5/context.c: Move krb5_get_err_text, and krb5_init_ets
5011         here.
5013         * lib/error/error.c: Replace krb5_get_err_text with new function
5014         com_right.
5016         * lib/error/compile_et.awk: Avoid using static variables.
5018         * lib/error/error.c: Don't use krb5_locl.h
5020         * lib/error/error.h: Move definitions of error_table and
5021         error_list from krb5.h.
5023         * lib/error: Moved from lib/krb5.
5025 Wed Jul  9 07:42:04 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5027         * lib/krb5/encrypt.c: Temporary hack to avoid des_rand_data.
5029 Wed Jul  9 06:58:00 1997  Assar Westerlund  <assar@sics.se>
5031         * lib/krb5/{rd,mk}_{*}.c: more checking for addresses and stuff
5032         according to pseudocode from 1510
5034 Wed Jul  9 06:06:06 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5036         * lib/hdb/hdb.c: Add hdb_etype2key.
5038         * kdc/kerberos5.c: Check authenticator. Use more general etype
5039         functions.
5040         
5041 Wed Jul  9 03:51:12 1997  Assar Westerlund  <assar@sics.se>
5043         * lib/asn1/k5.asn1: Made all `s_address' OPTIONAL according to
5044         draft-ietf-cat-kerberos-r-00.txt
5046         * lib/krb5/principal.c (krb5_parse_name): default to local realm
5047         if none given
5048         
5049         * kuser/kinit.c: New option `-p' and prompt
5051 Wed Jul  9 02:30:06 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5053         * lib/krb5/keyblock.c: Keyblock generation functions.
5055         * lib/krb5/encrypt.c: Use functions from checksum.c.
5057         * lib/krb5/checksum.c: Move checksum functions here. Add
5058         krb5_cksumsize function.
5060 Wed Jul  9 01:15:38 1997  Assar Westerlund  <assar@sics.se>
5062         * lib/krb5/get_host_realm.c: implemented
5064         * lib/krb5/config_file.c: Redid part.  New functions:
5065         krb5_config_v?get_next
5067         * kuser/kdestroy.c: new program
5069         * kuser/kinit.c: new flag `-f'
5071         * lib/asn1/k5.asn1: Made HostAddresses = SEQUENCE OF HostAddress
5073         * acinclude.m4: Added AC_KRB_STRUCT_SOCKADDR_SA_LEN
5075         * lib/krb5/krb5.h: krb5_addresses == HostAddresses.  Changed all
5076         users.
5078         * lib/krb5/get_addrs.c: figure out all local addresses, possibly
5079         even IPv6!
5081         * lib/krb5/checksum.c: table-driven checksum
5083 Mon Jul  7 21:13:28 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5085         * lib/krb5/encrypt.c: Make krb5_decrypt use the same struct as
5086         krb5_encrypt.
5088 Mon Jul  7 11:15:51 1997  Assar Westerlund  <assar@sics.se>
5090         * lib/roken/vsyslog.c: new file
5092         * lib/krb5/encrypt.c: add des-cbc-md4.
5093         adjust krb5_encrypt and krb5_decrypt to reality
5095 Mon Jul  7 02:46:31 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5097         * lib/krb5/encrypt.c: Implement as a vector of function pointers.
5099         * lib/krb5/{decrypt,encrypt}.c: Implement des-cbc-crc, and
5100         des-cbc-md5 in separate functions.
5102         * lib/krb5/krb5.h: Add more checksum and encryption types.
5104         * lib/krb5/krb5_locl.h: Add etype to krb5_decrypt.
5106 Sun Jul  6 23:02:59 1997  Assar Westerlund  <assar@sics.se>
5108         * lib/krb5/[gs]et_default_realm.c, kuserok.c: new files
5110         * lib/krb5/config_file.[ch]: new c-based configuration reading
5111         stuff
5113 Wed Jul  2 23:12:56 1997  Assar Westerlund  <assar@sics.se>
5115         * configure.in: Set WFLAGS if using gcc
5117 Wed Jul  2 17:47:03 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5119         * lib/asn1/der_put.c (der_put_int): Return size correctly.
5121         * admin/ank.c: Be compatible with the asn1 principal format.
5123 Wed Jul  1 23:52:20 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5125         * lib/asn1: Now all decode_* and encode_* functions now take a
5126         final size_t* argument, that they return the size in. Return
5127         values are zero for success, and anything else (such as some
5128         ASN1_* constant) for error.
5130 Mon Jun 30 06:08:14 1997  Assar Westerlund  <assar@sics.se>
5132         * lib/krb5/keytab.c (krb5_kt_add_entry): change open mode to
5133         O_WRONLY | O_APPEND
5135         * lib/krb5/get_cred.c: removed stale prototype for
5136         `extract_ticket' and corrected call.
5138         * lib/asn1/gen_length.c (length_type): Make the length functions
5139         for SequenceOf non-destructive
5141         * admin/ank.c (doit): Fix reading of `y/n'.
5143 Mon Jun 16 05:41:43 1997  Assar Westerlund  <assar@sics.se>
5145         * lib/gssapi/wrap.c, unwrap.c: do encrypt and add sequence number
5147         * lib/gssapi/get_mic.c, verify_mic.c: Add sequence number.
5149         * lib/gssapi/accept_sec_context.c (gss_accept_sec_context): Set
5150         KRB5_AUTH_CONTEXT_DO_SEQUENCE.  Verify 8003 checksum.
5152         * lib/gssapi/8003.c: New file.
5154         * lib/krb/krb5.h: Define a `krb_authenticator' as an ASN.1
5155         Authenticator.
5157         * lib/krb5/auth_context.c: New functions
5158         `krb5_auth_setlocalseqnumber' and `krb5_auth_setremoteseqnumber'
5160 Tue Jun 10 00:35:54 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5162         * lib/krb5: Preapre for use of some asn1-types.
5164         * lib/asn1/*.c (copy_*): Constness.
5166         * lib/krb5/krb5.h: Include asn1.h; krb5_data is now an
5167         octet_string.
5169         * lib/asn1/der*,gen.c: krb5_data -> octet_string, char * ->
5170         general_string
5172         * lib/asn1/libasn1.h: Moved stuff from asn1_locl.h that doesn't
5173         have anything to do with asn1_compile.
5175         * lib/asn1/asn1_locl.h: Remove der.h. Add some prototypes.
5177 Sun Jun  8 03:51:55 1997  Assar Westerlund  <assar@sics.se>
5179         * kdc/kerberos5.c: Fix PA-ENC-TS-ENC
5181         * kdc/connect.c(process_request): Set `new'
5182         
5183         * lib/krb5/get_in_tkt.c: Do PA-ENC-TS-ENC the correct way.
5185         * lib: Added editline,sl,roken.
5187 Mon Jun  2 00:37:48 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5189         * lib/krb5/fcache.c: Move file cache from cache.c.
5191         * lib/krb5/cache.c: Allow more than one cache type.
5193 Sun Jun  1 23:45:33 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5195         * admin/extkeytab.c: Merged with kdb_edit.
5197 Sun Jun  1 23:23:08 1997  Assar Westerlund  <assar@sics.se>
5199         * kdc/kdc.c: more support for ENC-TS-ENC
5201         * lib/krb5/get_in_tkt.c: redone to enable pre-authentication
5203 Sun Jun  1 22:45:11 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5205         * lib/hdb/db.c: Merge fetch and store.
5207         * admin: Merge to one program.
5209         * lib/krb5/str2key.c: Fill in keytype and length.
5211 Sun Jun  1 16:31:23 1997  Assar Westerlund  <assar@sics.se>
5213         * lib/krb5/rd_safe.c, lib/krb5/rd_priv.c, lib/krb5/mk_rep.c,
5214         lib/krb5/mk_priv.c, lib/krb5/build_auth.c: Some support for
5215         KRB5_AUTH_CONTEXT_DO_SEQUENCE
5217         * lib/krb5/get_in_tkt.c (get_in_tkt): be prepared to parse an
5218         KRB_ERROR.  Some support for PA_ENC_TS_ENC.
5220         * lib/krb5/auth_context.c: implemented seq_number functions
5222         * lib/krb5/generate_subkey.c, generate_seq_number.c: new files
5224         * lib/gssapi/gssapi.h: avoid including <krb5.h>
5226         * lib/asn1/Makefile.am: SUFFIXES as a variable to make automake
5227         happy
5229         * kdc/kdc.c: preliminary PREAUTH_ENC_TIMESTAMP
5231         * configure.in: adapted to automake 1.1p
5233 Mon May 26 22:26:21 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5235         * lib/krb5/principal.c: Add contexts to many functions.
5237 Thu May 15 20:25:37 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
5239         * lib/krb5/verify_user.c: First stab at a verify user.
5241         * lib/auth/sia/sia5.c: SIA module for Kerberos 5.
5243 Mon Apr 14 00:09:03 1997  Assar Westerlund  <assar@sics.se>
5245         * lib/gssapi: Enough of a gssapi-over-krb5 implementation to be
5246         able to (mostly) run gss-client and gss-server.
5247         
5248         * lib/krb5/keytab.c: implemented krb5_kt_add_entry,
5249         krb5_kt_store_principal, krb5_kt_store_keyblock
5251         * lib/des/md5.[ch], sha.[ch]: new files
5253         * lib/asn1/der_get.c (generalizedtime2time): use `timegm'
5255         * lib/asn1/timegm.c: new file
5257         * admin/extkeytab.c: new program
5259         * admin/admin_locl.h: new file
5261         * admin/Makefile.am: Added extkeytab
5263         * configure.in: moved config to include
5264         removed timezone garbage
5265         added lib/gssapi and admin
5267         * Makefile.am: Added admin
5269 Mon Mar 17 11:34:05 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5271         * kdc/kdc.c: Use new copying functions, and free some data.
5273         * lib/asn1/Makefile.am: Try to not always rebuild generated files.
5275         * lib/asn1/der_put.c: Add fix_dce().
5277         * lib/asn1/der_{get,length,put}.c: Fix include files.
5279         * lib/asn1/der_free.c: Remove unused functions.
5280         
5281         * lib/asn1/gen.c: Split into gen_encode, gen_decode, gen_free,
5282         gen_length, and gen_copy.
5284 Sun Mar 16 18:13:52 1997  Assar Westerlund  <assar@sics.se>
5286         * lib/krb5/sendauth.c: implemented functionality
5288         * lib/krb5/rd_rep.c: Use `krb5_decrypt'
5290         * lib/krb5/cache.c (krb5_cc_get_name): return default if `id' ==
5291         NULL
5293         * lib/krb5/principal.c (krb5_free_principal): added `context'
5294         argument.  Changed all callers.
5295         
5296         (krb5_sname_to_principal): new function
5298         * lib/krb5/auth_context.c (krb5_free_authenticator): add `context'
5299         argument.  Changed all callers
5301         * lib/krb5/{net_write.c,net_read.c,recvauth.c}: new files
5303         * lib/asn1/gen.c: Fix encoding and decoding of BitStrings
5305 Fri Mar 14 11:29:00 1997  Assar Westerlund  <assar@sics.se>
5307         * configure.in: look for *dbm?
5309         * lib/asn1/gen.c: Fix filename in generated files. Check fopens.
5310         Put trailing newline in asn1_files.
5312 Fri Mar 14 05:06:44 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
5314         * lib/krb5/get_in_tkt.c: Fix some memory leaks.
5316         * lib/krb5/krbhst.c: Properly free hostlist.
5318         * lib/krb5/decrypt.c: CRCs are 32 bits.
5320 Fri Mar 14 04:39:15 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5322         * lib/asn1/gen.c: Generate one file for each type.
5324 Fri Mar 14 04:13:47 1997  Assar Westerlund  <assar@sics.se>
5326         * lib/asn1/gen.c: Generate `length_FOO' functions
5328         * lib/asn1/der_length.c: new file
5330         * kuser/klist.c: renamed stime -> printable_time to avoid conflict
5331         on HP/UX
5333 Fri Mar 14 03:37:23 1997  Johan Danielsson  <joda@emma.pdc.kth.se>
5335         * lib/hdb/ndbm.c: Return NOENTRY if fetch fails. Don't free
5336         datums. Don't add .db to filename.
5338 Fri Mar 14 02:49:51 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5340         * kdc/dump.c: Database dump program.
5342         * kdc/ank.c: Trivial database editing program.
5344         * kdc/{kdc.c, load.c}: Use libhdb.
5346         * lib/hdb: New database routine library.
5348         * lib/krb5/error/Makefile.am: Add hdb_err.
5350 Wed Mar 12 17:41:14 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5352         * kdc/kdc.c: Rewritten AS, and somewhat more working TGS support.
5354         * lib/asn1/gen.c: Generate free functions.
5356         * Some specific free functions.
5358 Wed Mar 12 12:30:13 1997  Assar Westerlund  <assar@sics.se>
5360         * lib/krb5/krb5_mk_req_ext.c: new file
5362         * lib/asn1/gen.c: optimize the case with a simple type
5364         * lib/krb5/get_cred.c (krb5_get_credentials): Use
5365         `mk_req_extended' and remove old code.
5367         * lib/krb5/get_in_tkt.c (decrypt_tkt): First try with an
5368         EncASRepPart, then with an EncTGSRepPart.
5370 Wed Mar 12 08:26:04 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5372         * lib/krb5/store_emem.c: New resizable memory storage.
5374         * lib/krb5/{store.c, store_fd.c, store_mem.c}: Split of store.c
5376         * lib/krb5/krb5.h: Add free entry to krb5_storage.
5378         * lib/krb5/decrypt.c: Make keyblock const.
5380 Tue Mar 11 20:22:17 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5382         * lib/krb5/krb5.h: Add EncTicketPart to krb5_ticket.
5384         * lib/krb5/rd_req.c: Return whole asn.1 ticket in
5385         krb5_ticket->tkt.
5387         * lib/krb5/get_in_tkt.c: TGS -> AS
5389         * kuser/kfoo.c: Print error string rather than number.
5391         * kdc/kdc.c: Some kind of non-working TGS support.
5393 Mon Mar 10 01:43:22 1997  Assar Westerlund  <assar@sics.se>
5395         * lib/asn1/gen.c: reduced generated code by 1/5
5397         * lib/asn1/der_put.c: (der_put_length_and_tag): new function
5399         * lib/asn1/der_get.c (der_match_tag_and_length): new function
5401         * lib/asn1/der.h: added prototypes
5403 Mon Mar 10 01:15:43 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5405         * lib/krb5/krb5.h: Include <asn1_err.h>. Add prototype for
5406         krb5_rd_req_with_keyblock.
5408         * lib/krb5/rd_req.c: Add function krb5_rd_req_with_keyblock that
5409         takes a precomputed keyblock.
5411         * lib/krb5/get_cred.c: Use krb5_mk_req rather than inlined code.
5413         * lib/krb5/mk_req.c: Calculate checksum of in_data.
5415 Sun Mar  9 21:17:58 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5417         * lib/krb5/error/compile_et.awk: Add a declaration of struct
5418         error_list, and multiple inclusion block to header files.
5420 Sun Mar  9 21:01:12 1997  Assar Westerlund  <assar@sics.se>
5422         * lib/krb5/rd_req.c: do some checks on times
5424         * lib/krb/{mk_priv.c, rd_priv.c, sendauth.c, decrypt.c,
5425         address.c}: new files
5427         * lib/krb5/auth_context.c: more code
5429         * configure.in: try to figure out timezone
5431 Sat Mar  8 11:41:07 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5433         * lib/krb5/error/error.c: Try strerror if error code wasn't found.
5435         * lib/krb5/get_in_tkt.c: Remove realm parameter from
5436         krb5_get_salt.
5438         * lib/krb5/context.c: Initialize error table.
5440         * kdc: The beginnings of a kdc.
5442 Sat Mar  8 08:16:28 1997  Assar Westerlund  <assar@sics.se>
5444         * lib/krb5/rd_safe.c: new file
5446         * lib/krb5/checksum.c (krb5_verify_checksum): New function
5448         * lib/krb5/get_cred.c: use krb5_create_checksum
5450         * lib/krb5/checksum.c: new file
5452         * lib/krb5/store.c: no more arithmetic with void*
5454         * lib/krb5/cache.c: now seems to work again
5456 Sat Mar  8 06:58:09 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5458         * lib/krb5/Makefile.am: Add asn1_glue.c and error/*.c to libkrb5.
5460         * lib/krb5/get_in_tkt.c: Moved some functions to asn1_glue.c.
5462         * lib/krb5/asn1_glue.c: Moved some asn1-stuff here.
5463         
5464         * lib/krb5/{cache,keytab}.c: Use new storage functions.
5466         * lib/krb5/krb5.h: Protypes for new storage functions.
5468         * lib/krb5/krb5.h: Make krb5_{ret,store}_* functions able to write
5469         data to more than file descriptors.
5471 Sat Mar  8 01:01:17 1997  Assar Westerlund  <assar@sics.se>
5473         * lib/krb5/encrypt.c: New file.
5475         * lib/krb5/Makefile.am: More -I
5477         * configure.in: Test for big endian, random, rand, setitimer
5479         * lib/asn1/gen.c: perhaps even decodes bitstrings
5481 Thu Mar  6 19:05:29 1997  Johan Danielsson  <joda@blubb.pdc.kth.se>
5483         * lib/krb5/config_file.y: Better return values on error.
5485 Sat Feb  8 15:59:56 1997  Assar Westerlund  <assar@pdc.kth.se>
5487         * lib/asn1/parse.y: ifdef HAVE_STRDUP
5489         * lib/asn1/lex.l: ifdef strdup
5490         brange-dead version of list of special characters to make stupid
5491         lex accept it.
5493         * lib/asn1/gen.c: A DER integer should really be a `unsigned'
5495         * lib/asn1/der_put.c: A DER integer should really be a `unsigned'
5497         * lib/asn1/der_get.c: A DER integer should really be a `unsigned'
5499         * lib/krb5/error/Makefile.am: It seems "$(SHELL) ./compile_et" is
5500         needed.
5502         * lib/krb/mk_rep.c, lib/krb/rd_req.c, lib/krb/store.c,
5503         lib/krb/store.h: new files.
5505         * lib/krb5/keytab.c: now even with some functionality.
5507         * lib/asn1/gen.c: changed paramater from void * to Foo *
5509         * lib/asn1/der_get.c (der_get_octet_string): Fixed bug with empty
5510         string.
5512 Sun Jan 19 06:17:39 1997  Assar Westerlund  <assar@pdc.kth.se>
5514         * lib/krb5/get_cred.c (krb5_get_credentials): Check for creds in
5515         cc before getting new ones.
5517         * lib/krb5/krb5.h (krb5_free_keyblock): Fix prototype.
5519         * lib/krb5/build_auth.c (krb5_build_authenticator): It seems the
5520         CRC should be stored LSW first. (?)
5522         * lib/krb5/auth_context.c: Implement `krb5_auth_con_getkey' and
5523         `krb5_free_keyblock'
5525         * lib/**/Makefile.am: Rename foo libfoo.a
5527         * include/Makefile.in: Use test instead of [
5528         -e does not work with /bin/sh on psoriasis
5530         * configure.in: Search for awk
5531         create lib/krb/error/compile_et
5532         
5533 Tue Jan 14 03:46:26 1997  Assar Westerlund  <assar@pdc.kth.se>
5535         * lib/krb5/Makefile.am: replaced mit-crc.c by crc.c
5537 Wed Dec 18 00:53:55 1996  Johan Danielsson  <joda@emma.pdc.kth.se>
5539         * kuser/kinit.c: Guess principal.
5541         * lib/krb5/error/compile_et.awk: Don't include krb5.h. Fix some
5542         warnings.
5544         * lib/krb5/error/asn1_err.et: Add ASN.1 error messages.
5546         * lib/krb5/mk_req.c: Get client from cache.
5548         * lib/krb5/cache.c: Add better error checking some useful return
5549         values.
5551         * lib/krb5/krb5.h: Fix krb5_auth_context.
5553         * lib/asn1/der.h: Make krb5_data compatible with krb5.h
5555 Tue Dec 17 01:32:36 1996  Johan Danielsson  <joda@emma.pdc.kth.se>
5557         * lib/krb5/error: Add primitive error library.
5559 Mon Dec 16 16:30:20 1996  Johan Danielsson  <joda@emma.pdc.kth.se>
5561         * lib/krb5/cache.c: Get correct address type from cache.
5563         * lib/krb5/krb5.h: Change int16 to int to be compatible with asn1.