1 2004-09-21 Tom Yu <tlyu@mit.edu>
3 * dnsglue.c: Conditionalize some stuff on ns_initparse() instead
4 of assuming that the presence of res_nsearch() means
5 ns_initparse() is available.
7 2004-09-20 Tom Yu <tlyu@mit.edu>
9 * Makefile.in (STLIBOBJS, OBJS, SRCS): Add dnsglue.c.
11 * dnsglue.c: New file. Implement resolver glue layer to abstract
12 away the details of calling res_search or res_nsearch, and of
13 parsing the reply packet.
15 * dnsglue.h: New file.
17 * dnssrv.c (krb5int_make_srv_query_realm): Use dnsglue. Use
18 MAXDNAME from dnsglue.h or resolv.h instead of MAX_DNS_NAMELEN.
20 * hst_realm.c (krb5_try_realm_txt_rr): Use dnsglue. Use MAXDNAME
21 from dnsglue.h or resolv.h instead of MAX_DNS_NAMELEN.
23 2004-09-13 Tom Yu <tlyu@mit.edu>
27 * locate_kdc.c: Include netinet/in.h as a prerequisite for
30 2004-08-27 Ken Raeburn <raeburn@mit.edu>
32 * sendto_kdc.c (start_connection) [DEBUG]: Log the local socket
35 2004-08-12 Alexandra Ellwood <lxs@mit.edu>
37 * ccdefname.c (krb5_cc_set_default_name, krb5_cc_default_name):
38 Look up the default ccache name in krb5_cc_default_name, not
39 krb5_cc_set_default_name so that krb5_init_context doesn't
40 have to do work it might never use.
42 2004-07-22 Ken Raeburn <raeburn@mit.edu>
44 * localaddr.c (get_lifconf): Define only if "struct lifconf" is
46 (foreach_localaddr): Use get_lifconf only if "struct lifconf" is
49 2004-07-16 Ken Raeburn <raeburn@mit.edu>
51 * genaddrs.c, localaddr.c, lock_file.c, mk_faddr.c: Don't check
54 2004-07-15 Alexandra Ellwood <lxs@mit.edu>
56 * init_os_ctx.c (krb5_os_init_context, krb5_os_free_context)
57 ccdefname.c (krb5_cc_set_default_name):
58 Removed default_ccprincipal field from krb5_context
60 2004-07-04 Ken Raeburn <raeburn@mit.edu>
62 * dnssrv.c (krb5int_make_srv_query_realm) [HAVE_RES_NSEARCH]: Use
63 res_nsearch instead of res_search.
64 * hst_realm.c (krb5_try_realm_txt_rr) [HAVE_RES_NSEARCH]:
67 2004-07-02 Ken Raeburn <raeburn@mit.edu>
69 * an_to_ln.c: Include string.h.
71 2004-06-22 Ken Raeburn <raeburn@mit.edu>
73 * an_to_ln.c (db_an_to_ln): Don't test macintosh.
74 * krbfileio.c (krb5_sync_disk_file): Likewise.
75 * kuserok.c: Likewise.
76 * prompter.c: Likewise.
77 * promptusr.c: Likewise.
78 * read_pwd.c: Likewise.
80 2004-06-15 Ken Raeburn <raeburn@mit.edu>
82 * c_ustime.c: Include k5-thread.h.
83 (get_time_now): New function, holds system-dependent code.
84 (krb5int_us_time_mutex): New mutex.
85 (struct time_now): New type.
86 (last_time): New variable, replaces old last_tv, last_sec,
88 (krb5_crypto_us_timeofday): Rewrite. Do locking around access to
89 previously returned value, and ensure that we don't return
91 * os-proto.h: Include k5-thread.h.
92 (krb5int_us_time_mutex): Declare.
94 2004-06-04 Ken Raeburn <raeburn@mit.edu>
96 * kuserok.c (krb5_kuserok): Handle draft POSIX versions of
99 2004-06-02 Tom Yu <tlyu@mit.edu>
101 * an_to_ln.c (do_replacement): Patch from Bill Dodd to fix missing
102 braces in previous security patch.
104 2004-06-01 Sam Hartman <hartmans@mit.edu>
106 * an_to_ln.c (rule_an_to_ln): Fix buffer overflow when parsing
107 principal names into components.
108 (do_replacement): likewise
109 (aname_replacer): Support error return from do_replacement
111 2004-05-07 Sam Hartman <hartmans@mit.edu>
113 * an_to_ln.c: Patch from Matt Crawford to allow matching on
114 realms of cross-realm principals.
116 2004-05-05 Ken Raeburn <raeburn@mit.edu>
118 * localaddr.c: Incorporate foreach_localaddr implementation.
119 Export it as krb5int_foreach_localaddr. Include foreachaddr.h,
122 2004-03-22 Ken Raeburn <raeburn@mit.edu>
124 * sendto_kdc.c (krb5int_sendto): Initialize select_state.end_time.
125 (get_so_error): New function.
126 (service_tcp_fd): Call it for write fds as well as exception fds.
128 2004-03-18 Ezra Peisach <epeisach@mit.edu>
130 * sendto_kdc.c (krb5_sendto_kdc): Change passing pointer to value of
131 use_master parameter to krb5_locate_kdc.
133 2004-03-05 Ken Raeburn <raeburn@mit.edu>
135 * lock_file.c (krb5_lock_file): Initialize flock data on entry,
136 but don't bother with a static version to copy from.
138 2004-02-26 Jeffrey Altman <jaltman@mit.edu>
140 * sendto_kdc.c, send524.c:
141 The use_master parameter of sendto_kdc is now an in/out
142 parameter used to report to the caller whether or not
143 the responding KDC was in fact the master. This is
144 necessary to allow callers to prevent making an unnecessary
145 additional call to query the master if the original
146 query did not explicitly state that the master should be
149 2004-02-25 Ken Raeburn <raeburn@mit.edu>
151 * sendto_kdc.c (start_connection): Close socket if connect() call
152 fails for an unexpected reason.
154 2004-02-13 Ken Raeburn <raeburn@mit.edu>
156 * genaddrs.c: Don't specify defaults for
157 GET{PEER,SOCK}NAME_ARG{2,3}_TYPE macros.
159 2004-02-09 Sam Hartman <hartmans@mit.edu>
161 * changepw.c (krb5_locate_kpasswd): Run htons on the default port
163 2003-12-22 Jeffrey Altman <jaltman@mit.edu>
165 * dnssrv.c: wrap within #ifdef KRB5_DNS_LOOKUP to prevent references
166 to resolver functions when DNS support is not being compiled
168 2003-12-19 Ken Raeburn <raeburn@mit.edu>
170 * realm_iter.c (krb5_realm_iterator_create): Array NAMES is now
173 * prompter.c (catch_signals, restore_signals): Take pointer to old
174 signal handler info as new argument.
175 (osiginfo): New typedef.
176 (setup_tty, restore_tty): Take pointer to old signal handler info
177 and old termios settings as new arguments.
178 (krb5_prompter_posix): Pass the extra arguments, addresses of new
180 (osigint, saveparm): Variables deleted.
182 * Makefile.in (STLIBOBJS, OBJS, SRCS): Don't build promptusr.c.
184 * sendto_kdc.c (default_debug_handler, put, putstr): Define only
186 (DEBUG): Don't define.
187 (krb5int_sendtokdc_debug_handler): Initialize to null if DEBUG is
190 2003-12-18 Jeffrey Altman <jaltman@mit.edu>
192 * accessor.c: Add new functions for use by gssapi
194 2003-12-12 Tom Yu <tlyu@mit.edu>
196 * an_to_ln.c (krb5_aname_to_localname): Don't write one byte past
197 the end of a string. Found by Christopher Nebergall.
199 2003-10-27 Jeffrey Altman <jaltman@mit.edu>
201 * sendto_kdc.c: sockets must be closed with closesocket() and
202 and not close() in order to ensure portability among different
205 2003-08-21 Ken Raeburn <raeburn@mit.edu>
207 * dnssrv.c: New file; split out DNS SRV RR query support...
208 * locate_kdc.c: ...from here. Always compile in the calls.
209 * Makefile.in (STLIBOBJS, OBJS, SRCS): Add it.
211 2003-07-25 Ken Raeburn <raeburn@mit.edu>
213 * locate_kdc.c (krb5_locate_kdc): Always pass 0 to locate_server
214 as the get_masters argument. Instead, if get_masters is set,
215 look up "master_kdc" in the config file instead of "kdc".
217 2003-07-17 Ken Raeburn <raeburn@mit.edu>
219 * Makefile.in (LIBNAME) [##WIN16##]: Don't define.
221 2003-07-09 Alexandra Ellwood <lxs@mit.edu>
223 * toffset.c: Export krb5_set_real_time for Samba.
225 2003-06-06 Ken Raeburn <raeburn@mit.edu>
227 * locate_kdc.c (struct srv_dns_entry): Moved to k5-int.h.
228 (krb5int_make_srv_query_realm): Renamed from make_srv_query_realm.
229 (krb5int_free_srv_dns_data): New function.
230 (krb5_locate_srv_dns_1): Use it.
232 * accessor.c (krb5int_accessor): Fill in make_srv_query_realm and
233 free_srv_dns_data fields.
235 2003-06-05 Ken Raeburn <raeburn@mit.edu>
237 * locate_kdc.c (make_srv_query_realm): Punt if strdup fails.
238 Always return what data we can, even if memory allocation or other
239 problems prevent us from returning more.
240 (krb5_locate_srv_dns_1): Always return what data we can. Fix
241 memory leak. Free up temporary storage as quickly as possible,
242 while building up address list to return.
244 2003-06-03 Ken Raeburn <raeburn@mit.edu>
246 * accessor.c (krb5int_accessor): Initialize restored locate_server
249 * locate_kdc.c (struct srv_dns_entry): Move to top level.
250 (make_srv_query_realm): Separate from krb5_locate_srv_dns_1; just
251 do query and return results.
252 (krb5_locate_srv_dns_1): Call it, and build addlist entries.
253 Check for one RR with a target of ".", and return an error.
254 (krb5_locate_srv_dns): Deleted.
256 * t_locate_kdc.c (main): Call krb5_locate_srv_dns_1.
258 * changepw.c (krb5_locate_kpasswd): Check specifically for certain
259 errors before using fallback heuristics.
261 2003-06-03 Alexandra Ellwood <lxs@mit.edu>
263 * init_os_ctx.c: Included header to get __KLAllowHomeDirectoryAccess().
265 2003-05-27 Ken Raeburn <raeburn@mit.edu>
267 * send524.c (krb5int_524_sendto_kdc): Enable support on Windows
270 2003-05-24 Ken Raeburn <raeburn@mit.edu>
272 * send524.c: New file, moved from krb524/sendmsg.c. Rename
273 function to have krb5int_ prefix. If KRB5_KRB4_COMPAT not
274 defined, return an error.
275 * accessor.c (krb5int_accessor): Update for deleted and added
276 fields. If KRB5_KRB4_COMPAT is not defined, just use null
277 pointers for the new fields.
279 2003-05-06 Alexandra Ellwood <lxs@mit.edu>
281 * init_os_ctx.c: Added support for KLL's __KLAllowHomeDirectoryAccess()
282 function so that krb4, krb5 and gssapi will not access the user's homedir
283 if the application forbids it.
285 2003-04-28 Sam Hartman <hartmans@mit.edu>
287 * changepw.c (krb5_change_set_password): Locate server in realm of
288 creds.server, not in realm of target principal because target
289 principal is null in the changepw case.
291 2003-04-28 Ken Raeburn <raeburn@mit.edu>
293 * init_os_ctx.c (krb5_os_init_context, krb5_os_free_context):
294 Don't allocate or free the os_context, since it's now a direct
295 member of the krb5_context, not separately allocated storage.
297 2003-04-27 Sam Hartman <hartmans@mit.edu>
299 * changepw.c (krb5_change_set_password): Call
300 krb5_setpw_result_code_string not krb5_setpw_result_code_string
302 2003-04-24 Sam Hartman <hartmans@mit.edu>
304 * changepw.c (krb5_change_set_password): return error from
305 auth_con_setaddrs not last socket errno if auth_con_setaddrs fails
307 2003-04-15 Sam Hartman <hartmans@mit.edu>
309 * changepw.c (krb5_change_set_password): Patches from Paul Nelson
310 to implement Microsoft set password protocol
311 (krb5_set_password_using_ccache): Use kadmin/changepw in target realm, not local realm and use a two-component principal
312 (krb5_change_set_password): Find the kpasswd server for the realm
313 of the target principal not the client
315 2003-04-13 Ken Raeburn <raeburn@mit.edu>
317 * read_pwd.c (krb5_read_password): Always free temporary storage
318 used for verification version of password.
320 2003-03-06 Alexandra Ellwood <lxs@mit.edu>
322 * c_ustime.c: Removed Mac OS 9 code.
324 * ccdefname.c: Conditionalize on USE_CCAPI and not TARGET_OS_MAC
325 so Darwin builds work.
327 * init_os_ctx.c: Modified to use DEFAULT_SECURE_PROFILE_PATH and
328 DEFAULT_PROFILE_PATH for KfM homedir-relative config files.
330 * read_pwd.c: Cast to remove const warnings.
332 * timeofday.c: Do the same thing on the Mac as on Unix.
334 2003-03-04 Sam Hartman <hartmans@mit.edu>
336 * sendto_kdc.c (service_tcp_fd): Don't call shutdown on end of write because some implementations cannot deal with half-closed TCP sockets.
338 2003-02-08 Tom Yu <tlyu@mit.edu>
340 * prompter.c (krb5_prompter_posix): Kill echo before printing
341 prompt to avoid possible race conditions in test suite.
343 2003-02-06 Tom Yu <tlyu@mit.edu>
345 * prompter.c (krb5_prompter_posix, setup_tty, restore_tty): Fix to
346 use the actual file descriptor we dup()'ed to in case tcsetattr()
347 doesn't actually change the underlying device modes and instead
348 only affects the specific file descriptor.
350 2003-02-06 Ken Raeburn <raeburn@mit.edu>
352 * locate_kdc.c (translate_ai_error): Handle EAI_ADDRFAMILY like
354 (krb5int_add_host_to_list): Translate errors returned from the
355 second getaddrinfo call.
357 2003-02-04 Tom Yu <tlyu@mit.edu>
359 * prompter.c (krb5_prompter_posix): Rewrite to no longer use
360 longjmp(), as well as to get a non-buffered stdio stream on stdin
361 to avoid passwords staying around in stdio buffers. This does
362 have the side effect of possibly losing pre-buffered input from an
363 application that reads from stdin using stdio functions prior to
364 calling the prompter, but hopefully those are rare.
366 2003-01-10 Ken Raeburn <raeburn@mit.edu>
368 * Makefile.in: Add AC_SUBST_FILE marker for libobj_frag.
370 2003-01-07 Ken Raeburn <raeburn@mit.edu>
372 * sendto_kdc.c (state_strings): Now const.
374 2002-12-06 Tom Yu <tlyu@mit.edu>
376 * accessor.c (krb5int_accessor): Add add_host_to_list.
378 * changepw.c (krb5_locate_kpasswd): Update calls to
381 * locate_kdc.c (add_host_to_list): Renamed to
382 krb5int_add_host_to_list(), with macro to deal with existing
383 callers in this file. Now takes an argument to indicate protocol
384 family. Callers updated accordingly to also take protocol family
387 * os-proto.h: Update prototype of krb5_locate_kdc().
389 * sendto_kdc.c (krb5_sendto_kdc): Update calls to
391 (krb5int_sendto): UDP reply length is in.pos-in.buf, not
394 * t_locate_kdc.c (main): Update call to krb5_locate_kdc().
396 * t_std_conf.c (test_locate_kdc): Update call to krb5_locate_kdc().
398 2002-11-14 Tom Yu <tlyu@mit.edu>
400 * changepw.c: Remove reference to adm_err.h.
402 2002-11-12 Ken Raeburn <raeburn@mit.edu>
404 * Makefile.in (t_locate_kdc): Use normal CC_LINK rule for linking
407 2002-10-28 Ken Raeburn <raeburn@mit.edu>
409 * localaddr.c (print_addr) [TEST]: Don't mix size_t and socklen_t,
410 just assume socklen macro will return a socklen_t value. Cast
411 buffer size to socklen_t in getnameinfo call.
413 2002-10-22 Ezra Peisach <epeisach@bu.edu>
415 * sendto_kdc.c (service_tcp_fd): If DEBUG defined, ensure that
416 initialization of variable not bypassed by goto.
418 2002-10-15 Tom Yu <tlyu@mit.edu>
420 * hst_realm.c (krb5_try_realm_txt_rr): Apply patch from Nalin
421 Dahyabhai to bounds-check return value from res_search().
423 * locate_kdc.c (krb5_locate_srv_dns_1): Apply patch from Nalin
424 Dahyabhai to bounds-check return value from res_search().
426 2002-10-11 Tom Yu <tlyu@mit.edu>
428 * read_pwd.c (krb5_read_password): Restore name of size_return.
429 Set *size_return after successful call to krb5_prompter_posix,
430 since some callers were actually checking, e.g. kadm5.
432 2002-10-10 Sam Hartman <hartmans@mit.edu>
434 * read_pwd.c (krb5_read_password): Reimplement in terms of krb5_prompter_posix for unix
437 2002-09-26 Ken Raeburn <raeburn@mit.edu>
439 * sendto_kdc.c (krb5int_cm_call_select): Fix last change.
442 2002-09-19 Ken Raeburn <raeburn@mit.edu>
444 * sendto_kdc.c (krb5int_cm_call_select): If timeout value has
445 tv_sec==0, treat it as meaning "no timeout".
446 (krb5int_debug_fprint): Handle null timeval pointer.
448 2002-09-18 Ken Raeburn <raeburn@mit.edu>
450 * sendto_kdc.c: Include cm.h.
451 (struct select_state, SSF_READ, SSF_WRITE, SSF_EXCEPTION): Moved
454 (krb5int_debug_sendto_kdc): Initialize to zero.
455 (default_debug_handler, put, putstr): New functions.
456 (krb5int_sendtokdc_debug_handler): New variable.
457 (krb5int_debug_fprint): Don't write to stderr; instead, pass
458 strings to the debug output handlers above.
459 (struct incoming_krb5_message): Broken out from struct
461 (krb5int_cm_call_select): Renamed from call_select; callers
462 updated. Now extern. Display max fd number in debugging call,
465 2002-09-17 Sam Hartman <hartmans@mit.edu>
467 * genaddrs.c (krb5_auth_con_genaddrs): Return errno if getpeername fails
469 2002-09-14 Ken Raeburn <raeburn@mit.edu>
471 * sendto_kdc.c (service_fds): Fix bug in last change.
472 (krb5int_debug_fprint): Use 'out' consistently, minimize explicit
473 references to stderr. Flush output before returning.
474 (dperror) [_WIN32]: Shorten message.
475 (start_connection, service_tcp_fd, service_fds, krb5int_sendto):
476 Use dprint instead of dfprintf.
478 2002-09-13 Ken Raeburn <raeburn@mit.edu>
480 * sendto_kdc.c (struct conn_state): Add new function pointer field
481 'service' for the fd service routine.
482 (setup_connection): Initialize it.
483 (service_fd): Deleted.
484 (service_fds): Incorporate debug output from service_fd. Call
485 service routine indicated in connection info. Decrement select fd
486 count for each flag set for a file descriptor. Ensure that the
487 index into the conns array doesn't run off the end.
488 (krb5int_debug_fprint): Fetch correct type for %E.
490 2002-09-11 Ken Raeburn <raeburn@mit.edu>
492 * locate_kdc.c (get_port): Skip service name lookup, just use the
494 (add_host_to_list): If a second port number is supplied, look up
495 AF_INET addresses only, and only for SOCK_DGRAM type entries.
496 Ignore errors in the second address lookup.
497 (krb5_locate_srv_conf_1) [TEST]: More debugging code.
499 * t_locate_kdc.c (main): Add new argument -m for looking up master
503 2002-09-03 Ken Raeburn <raeburn@mit.edu>
505 * accessor.c, an_to_ln.c, c_ustime.c, ccdefname.c, changepw.c,
506 def_realm.c, free_hstrl.c, free_krbhs.c, full_ipadr.c, gen_port.c,
507 gen_rname.c, genaddrs.c, get_krbhst.c, gmt_mktime.c, hostaddr.c,
508 hst_realm.c, init_os_ctx.c, krbfileio.c, ktdefname.c, kuserok.c,
509 localaddr.c, locate_kdc.c, lock_file.c, mk_faddr.c, net_read.c,
510 net_write.c, port2ip.c, prompter.c, promptusr.c, read_msg.c,
511 read_pwd.c, realm_dom.c, realm_iter.c, sendto_kdc.c, sn2princ.c,
512 t_an_to_ln.c, t_gifconf.c, t_locate_kdc.c, t_realm_iter.c,
513 t_std_conf.c, timeofday.c, toffset.c, unlck_file.c, ustime.c,
514 write_msg.c: Use prototype-style function definitions.
516 * c_ustime.c, timeofday.c: Don't declare errno.
517 * hst_realm.c (krb5_try_realm_txt_rr), locate_kdc.c
518 (krb5_locate_srv_dns_1): Avoid variable name "class".
519 * sendto_kdc.c (enum conn_states): Define separately from
520 conn_state 'state' field declaration.
522 2002-08-29 Ken Raeburn <raeburn@mit.edu>
524 * Makefile.in: Revert $(S)=>/ change, for Windows support.
526 2002-08-23 Ken Raeburn <raeburn@mit.edu>
528 * sendto_kdc.c (merge_addrlists): Truncate source address list
529 after copying its data into the destination list.
531 * Makefile.in: Change $(S)=>/ and $(U)=>.. globally.
533 2002-08-22 Ken Raeburn <raeburn@mit.edu>
535 * locate_kdc.c (krb5int_grow_addrlist): Renamed from grow_list,
537 (grow_list): New macro.
538 (krb5_locate_kdc): Don't look up kerberos-sec for TCP service.
540 * sendto_kdc.c (MAX_PASS, dprint): New macros.
541 (krb5int_debug_fprint, merge_addrlists): New function.
542 (krb5int_debug_sendto_kdc): New variable.
543 (krb5_sendto_kdc): Use dprint. Call krb5int_locate_kdc in two
544 places, with socket type selection done separately.
545 (debug_log_connect): Function deleted; use dprint instead.
546 (dperror): Use dprint.
547 (print_fdsets): Function deleted; use dprint instead.
548 (struct conn_state): Use struct instead of union so incoming and
549 outgoing buffer pointers can co-exist. Add INITIALIZING state.
550 (state_strings): Add INITIALIZING.
551 (krb5int_sendto_udp, krb5int_sendto_tcp): Functions integrated
553 (call_select): Use dprint.
554 (setup_connection): New function, handles data structure
556 (start_connection): Renamed from start_tcp_connection. Don't do
557 data structure initialization, just start connection, and transmit
558 UDP datagrams. Use dprint.
559 (maybe_send): Create socket for "INITIALIZING" connections;
561 (kill_conn): New function split out from service_tcp_fd.
562 (SSF_READ, SSF_WRITE, SSF_EXCEPTION): New macros.
563 (service_tcp_fd): Accept a flag word rather than separate int
564 arguments for read, write, exception. Use dprint.
565 (service_udp_fd): New function.
566 (service_fd): New function, calls one of the above two.
567 (service_fds): Call it. Use a flag word instead of separate r/w/x
569 * accessor.c (krb5int_accessor): Use krb5int_sendto instead of
572 2002-08-15 Ken Raeburn <raeburn@mit.edu>
574 * sendto_kdc.c (DEFAULT_UDP_PREF_LIMIT, HARD_UDP_LIMIT): New
576 (debug_log_connect): Look up "udp_preference_limit" in libdefaults
577 part of profile; try TCP before UDP if the packet size is larger
578 than specified. Don't try UDP at all if the packet is over about
581 2002-07-23 Ezra Peisach <epeisach@bu.edu>
583 * localaddr.c (get_localaddrs): Add prototype before being used
586 2002-07-09 Ken Raeburn <raeburn@mit.edu>
588 * sn2princ.c: Include fake-addrinfo.h.
589 (krb5_sname_to_principal): Use getaddrinfo and getnameinfo instead
590 of gethostbyname and gethostbyaddr.
592 * hst_realm.c (krb5_get_host_realm): Return KRB5_ERR_NUMERIC_REALM
593 if the hostname is a numeric-address form.
595 2002-07-08 Ken Raeburn <raeburn@mit.edu>
597 * localaddr.c (get_localaddrs): Split out main body of
598 krb5_os_localaddr, add an argument to indicate whether addresses
599 listed in the profile should be included.
600 (krb5_os_localaddr): Call it.
601 (krb5int_local_addresses): Call get_localaddrs but skip
602 profile-listed addresses.
604 * sendto_kdc.c (krb5int_sendto_udp): Accept new args for optional
605 location to store local address used to contact server.
606 (krb5_sendto_kdc): Update call to pass 0.
608 2002-07-05 Ken Raeburn <raeburn@mit.edu>
610 * sendto_kdc.c (service_tcp_fd): sockerrlen should have type
613 2002-07-03 Alexandra Ellwood <lxs@mit.edu>
615 * init_os_ctx.c: krb4 needs to get the os config files so it can use
616 the profile too. Define these functions on Mac OS X now.
618 * init_os_ctx.c: Removed use of FSSpecs because these cause serious
619 performance problems on Mac OS X. We now search paths the same way
620 the rest of the Unix platforms do.
622 [pullups from 1-2-2-branch]
624 2002-06-22 Tom Yu <tlyu@mit.edu>
626 * c_ustime.c: Remove various things missed in 1-2-2-branch MacOS
627 microseconds timer removal.
629 2001-06-22 Miro Jurisic <meeroh@mit.edu>
631 * c_ustime.c: punted the accurate microseconds timing code because it
632 wasn't so accurate after all.
633 [pullup from 1-2-2-branch]
635 2002-06-22 Alexandra Ellwood <lxs@mit.edu>
637 * init_os_ctx.c: Add CoreServices.h before k5-int.h so we don't get
638 multiple definitions for FSSpec. Also removed an unused variable in
639 Mac OS X code and added casts for Mac OS X code so FSSpecs are cast
640 to profile file types (code deals properly on the other side)
642 * timeofday.c: Added casts to remove warnings
644 * ccdefname.c, init_os_ctx.c, timeofday.c: Updated Mac OS X
645 headers to new framework layout and updated Mac OS macros
647 * read_pwd.c: Removed #defines for Mac OS X (__MACH__) because we
648 now export krb5_read_password on Mac OS X
650 [pullups from 1-2-2-branch]
652 2002-06-19 Ken Raeburn <raeburn@mit.edu>
654 * init_os_ctx.c: Don't include sys/ioctl.h or sys/filio.h.
655 (krb5_os_init_context): Drop /dev/[u]random support, the Yarrow
656 code will deal with that now.
658 2002-06-18 Danilo Almeida <dalmeida@mit.edu>
660 * toffset.c (krb5_get_time_offsets), an_to_ln.c
661 (krb5_aname_to_localname): Make KRB5_CALLCONV.
662 [pullup from 1-2-2-branch]
664 2002-06-18 Ken Raeburn <raeburn@mit.edu>
666 * changepw.c (ECONNABORTED, ECONNREFUSED, EHOSTUNREACH,
667 ETIMEDOUT): Don't define here now that they're defined in
669 * read_msg.c (ECONNABORTED): Ditto.
671 * sendto_kdc.c: Include sys/timeb.h on Windows.
672 (ENABLE_TCP): Macro deleted, always enable code.
673 (krb5_sendto_kdc): Don't try UDP if outgoing message is 1500
674 bytes or larger. Print info on arguments if DEBUG defined.
675 (bogus_strerror) [_WIN32 && DEBUG]: New function.
676 (dperror, dfprintf): New macros.
677 (krb5int_sendto_udp): Use SOCKET_ERRNO where appropriate. Log
678 more info if DEBUG defined; use dperror and dfprintf.
679 (struct conn_state): Use new scatter-gather definitions from
680 port-sockets.h. Don't try to reuse data structures for both
682 (struct select_state): Add exception fd set.
683 (print_fdsets) [DEBUG]: Print exception fd set; callers changed.
684 (getcurtime): New function.
685 (call_select): Call it. Pass exception fd set to select.
686 (make_nonblocking, iov_advance): Deleted.
687 (start_tcp_connection): Expand non-blocking setting inline; set
688 linger period to zero. Use new scatter-gather framework. Log
689 more info if DEBUG defined.
690 (service_tcp_fd): New argument indicates exception; handle
691 exception fd set. Print more info if DEBUG. Use SOCKET_*
692 macros, scatter-gather support, SHUTDOWN_* macros. Adjust for
693 new conn_state definitions.
694 (krb5int_sendto_tcp): Set up exception fd set. Adjust for new
695 conn_state definitions. Use new scatter-gather support.
697 2002-06-11 Ken Raeburn <raeburn@mit.edu>
699 * sendto_kdc.c: Include sys/ioctl.h and sys/filio.h only if
700 ENABLE_TCP is set and _WIN32 is not defined.
702 2002-06-10 Ken Raeburn <raeburn@mit.edu>
704 * sendto_kdc.c: Include sys/ioctl.h and sys/filio.h if
705 available. Define ENABLE_TCP as 0 on Windows, 1 otherwise.
706 (debug_log_connect): New function.
707 (dperror, dfprintf): New macros.
708 (krb5int_sendto_udp): Use dperror, dfprintf, and
710 (state_strings): New variable.
711 (struct conn_state, struct select_state): New types.
712 (print_fdsets, call_select, make_nonblocking,
713 start_tcp_connection, iov_advance, service_tcp_fd, service_fds,
714 krb5int_sendto_tcp): New functions.
715 (krb5_sendto_kdc): New argument TCP_ONLY. Try UDP first unless
716 told otherwise, then try TCP.
718 * t_std_conf.c: Include fake-addrinfo.h.
719 (test_locate_kdc): Update arg list to locate_kdc. Print IPv6 as
720 well as IPv4 addresses.
722 * t_locate_kdc.c (main): Free storage allocated by library before
725 2002-06-04 Ken Raeburn <raeburn@mit.edu>
727 * locate_kdc.c (krb5_locate_srv_conf_1): New argument socktype
728 indicates what type of addrinfo entries to add.
729 (krb5int_locate_server): Change argument is_stream to socktype.
730 Pass the value to krb5_locate_srv_conf_1.
731 (krb5_locate_kdc): New argument socktype.
732 * sendto_kdc.c (krb5int_sendto_udp): New function, containing most
733 of the network code from krb5_sendto_kdc.
734 (krb5_sendto_kdc): Call it.
735 * accessor.c (krb5int_accessor): Set new sendto_udp field.
736 * os-proto.h (krb5_locate_kdc): Update prototype. Add forward
737 declaration for struct addrlist.
738 * t_locate_kdc.c (main): Update call to krb5_locate_kdc.
740 * locate_kdc.c: Include fake-addrinfo.h before k5-int.h.
741 (grow_list, krb5int_free_addrlist)
742 (add_addrinfo_to_list): Incorporate list-updating code from
743 add_sockaddr_to_list. Store an addrinfo pointer, and set the
744 ai_next field to null.
745 (add_host_to_list): New arg SOCKTYPE. Write port numbers into
746 buffers and let getaddrinfo fill in the sin*_port fields. Call
747 getaddrinfo twice, and use two loops to add entries to the
749 (add_sockaddr_to_list, set_port_num): Deleted.
750 (krb5_locate_srv_conf_1, krb5_locate_srv_dns_1): Pass extra arg
752 (krb5int_locate_server): New value 2 for is_stream arg means
753 accept both UDP and TCP.
754 * changepw.c: Include fake-addrinfo.h.
755 (krb5_locate_passwd, krb5_change_password): Update for addrlist
757 * sendto_kdc.c: Include fake-addrinfo.h.
758 (krb5_sendto_kdc): Update for addrlist changes. Skip any
759 addresses that are not SOCK_DGRAM.
760 * t_locate_kdc.c (stypename): New function.
761 (print_addrs): Update for addrlist changes. Print socket type
762 with address and port.
764 2002-04-12 Ken Raeburn <raeburn@mit.edu>
766 * lock_file.c (krb5_lock_file) [POSIX_FILE_LOCKS]: Make static
767 "zero" variable const.
769 * prompter.c (krb5_prompter_posix): Initialize 'i' and make it
772 * locate_kdc.c (add_addrinfo_to_list) [TEST]: Print out socket
773 type before returning.
774 (add_host_to_list): Don't need to initialize err. Supply
775 getaddrinfo hint to select datagram addresses only. Delete AIX
778 2002-04-10 Danilo Almeida <dalmeida@mit.edu>
780 * locate_kdc.c (translate_ai_error), hst_realm.c
781 (krb5int_translate_gai_error): Test some EAI_ error definitions
782 so that we will also build correctly on Win32 (Winsock 2).
784 2002-03-26 Ken Raeburn <raeburn@mit.edu>
786 * hostaddr.c (FAI_PREFIX): Delete.
787 * hst_realm.c (FAI_PREFIX): Delete.
788 * localaddr.c [TEST || DEBUG]: Include fake-addrinfo.h, not
790 (FAI_PREFIX) [TEST || DEBUG]: Delete.
791 * locate_kdc.c: Include fake-addrinfo.h, not fake-addrinfo.c.
792 (FAI_PREFIX): Delete.
794 2002-02-20 Ken Raeburn <raeburn@mit.edu>
796 * localaddr.c: Include foreachaddr.c.
797 (printaddr, printifaddr, addr_eq, grow_or_free, get_ifconf,
798 get_lifconf, get_linux_ipv6_addrs, foreach_localaddr): Deleted.
799 * Makefile.in (localaddr.o): Update dependencies.
801 2002-02-10 Ken Raeburn <raeburn@mit.edu>
803 * localaddr.c (LINUX_IPV6_HACK) [__linux__&& KRB5_USE_INET6]:
805 (get_linux_ipv6_addrs) [LINUX_IPV6_HACK]: New function, reads
806 addresses from /proc/net/if_inet6.
807 (foreach_localaddr) [!HAVE_IFADDRS_H && !SIOCGLIFNUM &&
808 LINUX_IPV6_HACK]: Include ipv6 addresses.
810 2002-01-09 Ken Raeburn <raeburn@mit.edu>
812 * hst_realm.c (EAFNOSUPPORT): On Windows, translate to
815 2002-01-08 Ken Raeburn <raeburn@mit.edu>
817 * hst_realm.c (krb5int_get_fq_hostname): New function. Use
818 getaddrinfo instead of gethostbyname.
819 (krb5int_get_fq_local_hostname): New function.
820 (krb5_get_host_realm): Call it.
821 * def_realm.c (krb5_get_default_realm): Call it.
823 * Makefile.in (t_localaddr): Link against $(LIBS).
825 2001-12-05 Ezra Peisach <epeisach@mit.edu>
827 * sendto_kdc.c (krb5_sendto_kdc): Get rid of unecessary casts.
829 2001-10-24 Sam Hartman <hartmans@mit.edu>
831 * accessor.c (krb5int_accessor): Add fields for struct version 4
833 2001-10-17 Ken Raeburn <raeburn@mit.edu>
835 * locate_kdc.c (add_host_to_list): If sa_len field exists and is
836 zero, try to fill it in. Another AIX 4.3.3 bug workaround.
838 * sendto_kdc.c (krb5_sendto_kdc) [DEBUG]: More fprintf calls for
841 2001-10-10 Ezra Peisach <epeisach@mit.edu>
843 * localaddr.c (krb5_os_localaddr_profile): Cast argument to
846 2001-10-09 Ken Raeburn <raeburn@mit.edu>
848 * os-proto.h: Make prototypes unconditional.
850 2001-10-05 Ken Raeburn <raeburn@mit.edu>
852 * an_to_ln.c, c_ustime.c, ccdefname.c, init_os_ctx.c, ktdefname.c,
853 kuserok.c, localaddr.c, lock_file.c, prompter.c, promptusr.c,
854 read_pwd.c: Drop _MSDOS support.
856 * ccdefname.c, def_realm.c, free_hstrl.c, hst_realm.c,
857 ktdefname.c, localaddr.c, mk_faddr.c, read_pwd.c, sn2princ.c,
858 timeofday.c, ustime.c: Don't explicitly declare pointers FAR any
861 2001-10-03 Ken Raeburn <raeburn@mit.edu>
863 * accessor.c, ccdefname.c, changepw.c, def_realm.c, free_hstrl.c,
864 genaddrs.c, hst_realm.c, init_os_ctx.c, ktdefname.c, localaddr.c,
865 prompter.c, realm_dom.c, realm_iter.c, sn2princ.c, timeofday.c,
866 ustime.c: Don't use KRB5_DLLIMP.
868 2001-09-29 Ken Raeburn <raeburn@mit.edu>
870 * locate_kdc.c (add_host_to_list): If address family in sockaddr
871 structure is zero, copy it in from the addrinfo structure. Bug
872 workaround for AIX 4.3.3.
874 2001-09-28 Ken Raeburn <raeburn@mit.edu>
876 * localaddr.c: Retrieve IPv6 addresses on Solaris 8.
877 (get_lifconf) [SIOCGLIFCONF]: New function.
878 (foreach_localaddr) [SIOCFLIGNUM]: New section, using new lifconf
879 and lifreq structures and related ioctls.
880 (Tprintf, Tperror): New macros. Print stuff if TEST is defined,
881 otherwise be silent but cause same evaluations to happen.
883 * localaddr.c (TEST || DEBUG): Include fake-addrinfo.c, not
886 2001-08-31 Ken Raeburn <raeburn@mit.edu>
888 * hostaddr.c (krb5_os_hostaddr): Don't use AI_DEFAULT.
890 * genaddrs.c (struct addrpair): New type.
891 (cvtaddr): New function. Fills in krb5_address structures
892 referencing port and address parts of a sockaddr. Converts
893 IPv4-mapped IPv6 addresses to plain IPv4 addresses.
894 (krb5_auth_con_genaddrs): Use sockaddr_storage for addresses. Use
895 addrpairs to pass to cvtaddr, then set up pointers to the elements
898 2001-08-30 Ken Raeburn <raeburn@mit.edu>
900 * locate_kdc.c: Include fake-addrinfo.c instead of
902 (FAI_IMPLEMENTATION): Deleted.
904 2001-08-01 Ken Raeburn <raeburn@mit.edu>
906 * localaddr.c: Include ctype.h.
907 [TEST || DEBUG]: Defined FAI_PREFIX and include fake-addrinfo.h.
908 (foreach_localaddr) [TEST]: Change whitespace in some debug
910 (print_addr) [TEST]: Delete non-getnameinfo version of code.
911 Change some messages.
912 (struct localaddr_data): New field CUR_SIZE.
913 (allocate): Grow existing storage, if already allocated.
914 (krb5_os_localaddr_profile): New function. Looks up
915 "extra_addresses" in "libdefaults" section, separates on
916 whitespace, looks up addresses, adds them to the list.
917 (krb5_os_localaddr): Call krb5_os_localaddr_profile first; ignore
918 any errors it reports.
919 (krb5_os_localaddr) [DEBUG]: More debugging code.
921 * hostaddr.c (krb5_os_hostaddr): Only retry non-numeric lookup
922 after numeric lookup if AI_NUMERICHOST is nonzero.
924 2001-07-31 Ezra Peisach <epeisach@mit.edu>
926 * genaddrs.c: Use GETPEERNAME_ARG2_TYPE, GETPEERNAME_ARG3_TYPE
927 instead of assuming types.
929 * changepw.c: Use GETSOCKNAME_ARG3_TYPE instead of int in casts.
931 2001-07-26 Ezra Peisach <epeisach@mit.edu>
933 * gen_port.c (krb5_gen_portaddr): Add const to cast of
934 krb5_const_pointer to maintain const status.
936 2001-07-24 Ezra Peisach <epeisach@mit.edu>
938 * sn2princ.c: Do not cast away const char * in call to strdup.
940 2001-07-24 Jeffrey Altman <jaltman@columbia.edu>
943 krb5_get_default_realm() required a profile file
944 even when KRB5_DNS_LOOKUP was defined.
946 2001-07-19 Ken Raeburn <raeburn@mit.edu>
948 * hostaddr.c: Include fake-addrinfo.h.
949 (FAI_PREFIX): Define macro.
950 (krb5_os_hostaddr): Use getaddrinfo, to get ipv6 support and
951 thread safety. Support numeric addresses as well.
953 * t_locate_kdc.c: New file.
954 * Makefile.in (t_locate_kdc.o, t_locate_kdc): New targets.
956 * locate_kdc.c: Include fake-addrinfo.h.
957 (FAI_PREFIX, FAI_IMPLEMENTATION): Define macros.
958 (get_port, add_sockaddr_to_list, add_host_to_list): Drop
959 gethostbyname/getservbyname support, always use getnameinfo, which
960 should be thread-safe.
961 (translate_ai_error, set_port_num): Now always defined.
962 (set_port_num): Only check for AF_INET6 if KRB5_USE_INET6.
964 2001-07-06 Ezra Peisach <epeisach@mit.edu>
966 * sn2princ.c (krb5_sname_to_principal): Cast tolower argument to int.
968 * hst_realm.c (krb5_get_host_realm): Cast argument to toupper and
971 2001-06-21 Ezra Peisach <epeisach@mit.edu>
973 * t_std_conf.c (test_locate_kdc): Get rid of unused variable.
975 2001-06-20 Ezra Peisach <epeisach@mit.edu>
977 * t_std_conf.c (test_locate_kdc): Update to new krb5_locate_kdc
980 2001-06-19 Ken Raeburn <raeburn@mit.edu>
982 * locate_kdc.c (struct addrlist, ADDRLIST_INIT): Moved to
984 (krb5int_free_addrlist): Renamed from free_list; no longer
986 (krb5_locate_srv_conf, krb5_locate_srv_dns, krb5int_locate_server,
987 krb5_locate_kdc): Use addrlist in interface.
989 * sendto_kdc.c (krb5_sendto_kdc): Use new struct addrlist
992 * changepw.c (krb5_locate_kpasswd): Use addrlist structure in
993 interface and implementation.
994 (krb5_change_password): Likewise.
996 * accessor.c (krb5int_accessor): Fill in free_addrlist function
999 * os-proto.h (krb5_locate_kdc): Update prototype.
1001 2001-06-12 Ezra Peisach <epeisach@mit.edu>
1003 * sn2princ.c, hst_realm.c, an_to_ln.c: Cast argument to
1004 isupper()/isspace()/islower() to int.
1006 * t_std_conf.c (test_locate_kdc): krb5_locate_kdc expects a struct
1007 sockaddr *** as a third argument instead of sockaddr **.
1009 2001-06-07 Ezra Peisach <epeisach@mit.edu>
1011 * ktdefname.c (krb5_kt_default_name): Get rid of a variable that
1012 was set in a conditional but never used.
1014 2001-05-08 Danilo Almeida <dalmeida@mit.edu>
1016 * locate_kdc.c (add_host_to_list): Initialize stack variable err
1017 which would otherwise get returned without being set in certain
1020 2001-05-07 Ken Raeburn <raeburn@mit.edu>
1022 * locate_kdc.c (add_sockaddr_to_list) [TEST]: If getnameinfo is
1023 available, use it instead of inet_ntoa to get the printable
1025 (add_host_to_list): Share declaration sections as much as
1026 possible. Propagate errors back correctly from gethostbyname
1029 2001-04-26 Ken Raeburn <raeburn@mit.edu>
1031 * hst_realm.c (T_TXT): Define if not defined by header files.
1033 * locate_kdc.c (krb5int_locate_server): New function, replaces
1034 functionality of krb5_locate_srv_conf and _dns, including checking
1035 whether DNS lookup is desired.
1036 (krb5_locate_srv_conf, krb5_locate_srv_dns): Define only if macro
1037 TEST is defined. Added another level of indirection in the
1038 address pointer argument.
1039 (krb5_locate_srv_dns_1, krb5_locate_srv_conf_1,
1040 translate_ai_error, get_port, struct addrlist, ADDRLIST_INIT,
1041 grow_list, free_list, add_sockaddr_to_list, add_addrinfo_to_list,
1042 set_port_num, add_host_to_list): New helper functions.
1043 (krb5_locate_kdc): Added another level of indirection in the
1044 address pointer argument. Call krb5int_locate_server.
1045 (KPASSWD_PORTNAME): Deleted.
1047 * os-proto.h (krb5_locate_kdc): Updated prototype.
1049 * sendto_kdc.c (krb5_sendto_kdc): Updates for change in
1050 krb5_locate_kdc interface.
1052 * changepw.c (krb5_locate_kpasswd): Call krb5int_locate_server.
1053 Add another level of indirection in address pointer. Now gives
1054 preference to _kpasswd info from DNS over admin_server info in
1055 config file, if kpasswd_server is not set.
1056 (krb5_change_password): Use struct sockaddr_storage for all
1057 automatic address variables. Ignore any non-IPv4 addresses
1058 returned from krb5_locate_kpasswd; return an error if all
1059 addresses are non-IPv4. Update for new krb5_locate_kpasswd
1062 * accessor.c (krb5int_accessor): Set krb5_locate_server field.
1064 2001-04-25 Ken Raeburn <raeburn@mit.edu>
1066 * localaddr.c (socklen_t, socklen): Deleted; definitions now in
1068 (foreach_localaddr): Use SIOCGIFNUM if it's available and
1069 SIOCGSIZIFCONF is not (e.g., Solaris 7 and 8).
1070 (print_addr) [!HAVE_GETNAMEINFO]: Only declare variable buf if
1071 AF_INET6 is defined.
1073 2001-03-31 Ken Raeburn <raeburn@mit.edu>
1075 * t_gifconf.c: New file.
1077 2001-03-10 Ezra Peisach <epeisach@mit.edu>
1079 * def_realm.c: Move prototype for krb5_try_realm_txt_rr() to
1082 * init_os_ctx.c: Include os-proto.h
1084 * changepw.c, locate_kdc.c: Do not shadow sin() with local
1087 * os-proto.h: Add prototypes for krb5_try_realm_txt_rr() and the
1088 obsolete krb5_secure_config_files().
1090 2001-03-05 Ken Raeburn <raeburn@mit.edu>
1092 * localaddr.c (krb5_os_localaddr): Don't look for -1 return value
1093 from foreach_localaddr.
1094 (print_addr): Only process AF_INET6 addresses if AF_INET6 is
1097 * gmt_mktime.c (gmt_mktime): Handle years earlier than 1970.
1098 (main) [TEST_LEAP]: New routine, driver for testing.
1099 * Makefile.in (t_mktime): New target.
1101 2001-03-05 Sam Hartman <hartmans@mit.edu>
1103 * kuserok.c: Set max_username to 65 not 10. 65 should be enough
1104 for a null terminated string from most current Unixes usernames.
1105 The previous limit of 10 was too low. I don't know how the
1106 previous limit was chosen nor why this is not a dynamic buffer.
1108 2001-03-05 Tom Yu <tlyu@mit.edu>
1110 * init_os_ctx.c: Get sys/ioctl.h for Solaris to get FIONBIO.
1112 2001-03-03 Ken Raeburn <raeburn@mit.edu>
1114 * init_os_ctx.c: If not Mac or Windows, define USE_RANDOM_DEVICE
1115 and include sys/ioctl.h.
1116 (krb5_os_init_context) [USE_RANDOM_DEVICE]: Read some bytes from
1117 /dev/urandom or /dev/random and use them to re-seed the PRNG.
1119 2001-02-05 Tom Yu <tlyu@mit.edu>
1121 * prompter.c (krb5_prompter_posix): Fix up terminal modes if we're
1122 interrupted. [reported by Booker Bense]
1124 2000-12-18 Ken Raeburn <raeburn@mit.edu>
1126 * Makefile.in (LCLINT, LCLINTOPTS): New variables.
1127 (lclint-localaddr): New target.
1129 * localaddr.c (grow_or_free, get_ifconf, make_addr): Split out
1130 from foreach_localaddr and friends for simpler lclint analysis.
1131 (socklen): New function.
1132 (print_addr): Use getnameinfo if available.
1133 (struct localaddr_data, count_addrs, allocate, add_addr,
1134 make_addr): Define only if not testing.
1135 (foreach_addr): Call new functions. Annotate for lclint.
1137 2000-10-17 Ezra Peisach <epeisach@mit.edu>
1139 * changepw.c: Cast length argument to recvfrom/sendto to int.
1141 * os-proto.h: Moved extern definition of krb5_max_dgram_size,
1142 krb5_max_skdc_timeout, krb5_skdc_timeout_shift,
1143 krb5_skdc_timeout_1 here.
1145 * accessor.c: Definition for krb5_max_dgram_size,
1146 krb5_max_skdc_timeout, krb5_skdc_timeout_shift,
1147 krb5_skdc_timeout_1 moved to os-proto.h
1149 * osconfig.c: Changed definition for krb5_max_dgram_size,
1150 krb5_max_skdc_timeout, krb5_skdc_timeout_shift,
1151 krb5_skdc_timeout_1 to unsigned int.
1153 * get_krbhst.c, init_os_context.c, locate_kdc.c, prompter.c:
1154 Unsigned/signed int cleanup.
1156 * read_pwd.c (krb5_read_password): Change size_return to unsigned
1159 * sendto_kdc.c: Remove definition for krb5_max_dgram_size,
1160 krb5_max_skdc_timeout, krb5_skdc_timeout_shift,
1161 krb5_skdc_timeout_1. (moved to os-proto.h). Cast arguments to int
1162 for send() and recv().
1164 2000-10-09 Ken Raeburn <raeburn@mit.edu>
1166 Support for getifaddrs() interface added in BSD.
1167 * localaddr.c (printaddr, printifaddr) [HAVE_IFADDRS_H && DEBUG]:
1168 New functions for debugging new ifaddrs code.
1169 (addr_eq) [HAVE_IFADDRS_H]: New function, for comparing addresses
1170 found with getifaddrs.
1171 (foreach_localaddr) [HAVE_IFADDRS_H]: New implementation, relies
1172 on C library function to retrieve data.
1173 (foreach_localaddr) [!HAVE_IFADDRS_H && TEST]: Print info about
1174 each address and why it might not be used.
1175 (print_addr, main) [TEST]: Print out the local addresses.
1176 * Makefile.in (t_localaddr): New target.
1178 2000-09-26 Ezra Peisach <epeisach@mit.edu>
1180 * an_to_ln.c: Unsigned vs signed int fixes.
1182 * t_std_conf.c: Declare local functions static, do not shadow
1183 sin() with local variable.
1185 2000-08-31 Jeffrey Altman <jaltman@columbia.edu>
1187 * locate_kdc.c: krb5_locate_srv_dns()
1188 Ensure that res_search() is called with a query string
1189 that is terminated by a '.' in order to disable the
1190 expansion of dns-search lists.
1192 2000-07-22 Tom Yu <tlyu@mit.edu>
1194 * accessor.c: Add NEED_SOCKETS in order to get prototype for
1197 2000-07-19 Danilo Almeida <dalmeida@mit.edu>
1199 * accessor.c (krb5int_accessor): Add krb5int_accessor() to access
1200 internal krb5 functions from outside the library (so that we don't
1201 have to export them for the krb525 and gssapi libraries). The
1202 goal is to make this function eventually do nothing.
1204 * Makefile.in: Compile accessor.c.
1206 2000-07-18 Ezra Peisach <epeisach@mit.edu>
1208 * locate_kdc.c, hst_realm.c, def_realm.c, changepw.c: Include
1209 os-proto.h for internal prototypes.
1211 * os-proto.h: Prototypes for _krb5_use_dns_realm(),
1212 _krb5_use_dns_kdc(), _krb5_conf_boolean().
1214 * t_std_conf.c: Include k5-int.h for internal function prototypes.
1216 2000-06-30 Ezra Peisach <epeisach@mit.edu>
1218 * t_an_to_ln.c: Include <stdio.h> for prototypes.
1220 * locate_kdc.c (krb5_locate_srv_dns): Remove unused variable.
1222 * changepw.c, sendto_kdc.c, sn2princ.c: Add parentheses around
1223 assignment used as truth value.
1225 * ccdefname.c (get_from_os): Cast return from getuid() to long and
1226 indicate use of format in sprintf.
1228 2000-06-28 Ezra Peisach <epeisach@mit.edu>
1230 * def_realm.c: Add newline at end of file.
1232 * gmt_mktime.c: Define days_in_month as type int.
1234 * locate_kdc.c (krb5_locate_srv_dns): Cleanup unused variables.
1236 2000-06-23 Miro Jurisic <meeroh@mit.edu>
1238 * init_os_ctx.c (os_get_default_config_files): Return ENOENT when
1239 file is not found on MacOS (not ENFILE). Use Kerberos Preferences
1240 library to locate the config files on Mac OS. Eliminated some
1243 2000-06-23 Nalin Dahyabhai <nalin@redhat.com>
1245 * an_to_ln.c (do_replacement): Don't overflow buffers "in" or "out".
1246 * hst_realm.c (krb5_try_realm_txt_rr): Don't overfill "host" when
1247 malformed DNS responses are received.
1249 * ccdefname.c (get_from_os): Don't overflow buffer "name_buf".
1250 * kuserok.c (krb5_kuserok): Don't overflow buffer "pbuf".
1252 2000-06-23 Ken Raeburn <raeburn@mit.edu>
1254 * localaddr.c: Include stddef.h.
1255 (foreach_localaddr): Check each address against previously used
1256 addresses, and skip duplicates, in case multiple interfaces have
1257 the same address. If called functions fail, drop out of loop and
1258 return nonzero. Use SIOCGSIZIFCONF ioctl if available to get the
1259 buffer size needed for SIOCGIFCONF, and skip the silly heuristics
1260 if it returns a reasonable value.
1261 (krb5_os_localaddr): Increment count of addresses to include null
1262 pointer terminator. Delete check for zero count.
1264 * locate_kdc.c (maybe_use_dns): Renamed from _krb5_use_dns. Now
1265 takes an arg to indicate a key to look up in krb5.conf, falling
1266 back to "dns_fallback", and an arg indicating the default value if
1267 no config file entries match.
1268 (_krb5_use_dns_realm): New routine; use "dns_lookup_realm" and
1269 KRB5_DNS_LOOKUP_REALM setting.
1270 (_krb5_use_dns_kdc): New routine; use "dns_lookup_kdc" and
1271 KRB5_DNS_LOOKUP_KDC.
1272 (krb5_locate_kdc): Call _krb5_use_dns_kdc.
1273 * changepw.c (krb5_locate_kpasswd): Call _krb5_use_dns_kdc.
1274 * def_realm.c (krb5_get_default_realm): Call _krb5_use_dns_realm.
1275 * hst_realm.c (krb5_get_host_realm): Call _krb5_use_dns_realm.
1277 2000-06-23 Alexandra Ellwood <lxs@mit.edu>
1279 * ccdefname.c: Added support to store a krb5_principal in the os_context
1280 along with the default ccache name (if known, this principal is the same
1281 as the last time we looked at the ccache.
1283 2000-05-09 Alexandra Ellwood <lxs@mit.edu>
1285 *localaddr.c: Fixed the local_addr_fallback_kludge so that it actually does something.
1286 Before that the error code it was handling was blowing it away in cleanup.
1288 2000-04-29 Jeffrey Altman <jaltman@columbia.edu>
1290 * hst_realm.c (krb5_get_host_realm)
1291 remove the searchlist and defaultrealm _kerberos queries
1293 2000-04-18 Danilo Almeida <dalmeida@mit.edu>
1295 * prompter.c (krb5int_set_prompt_types): Set to actual value
1298 2000-4-13 Alexandra Ellwood <lxs@mit.edu>
1300 * init_os_ctx.c: Added support to store a krb5_principal in the os_context
1301 along with the default ccache name (if known, this principal is the same
1302 as the last time we looked at the ccache.
1304 2000-03-20 Miro Jurisic <meeroh@mit.edu>
1306 * def_realm.c (krb5_free_default_realm): Added, use to free
1307 result of krb5_get_default_realm
1309 2000-03-15 Danilo Almeida <dalmeida@mit.edu>
1311 * prompter.c: Add krb5int_set_prompt_types() and
1312 krb5_get_prompt_types().
1314 2000-03-14 Ken Raeburn <raeburn@mit.edu>
1316 * init_os_ctx.c (os_get_default_config_files): Remove unused
1319 * def_realm.c: Include netinet/in.h if available.
1321 2000-02-25 Ken Raeburn <raeburn@mit.edu>
1323 * localaddr.c (foreach_localaddr): Broken out from old
1324 krb5_os_localaddr. Iterates over all active interface addresses,
1325 invoking callback functions; knows nothing about Kerberos.
1326 (count_addrs, allocate, add_addr): New callback functions.
1327 (krb5_os_localaddr): Use the above.
1328 (allocate): Make room for NULL value at the end.
1330 2000-02-16 Ken Raeburn <raeburn@mit.edu>
1332 * localaddr.c (krb5_os_localaddr): Dynamically grow buffer used
1333 for SIOCGIFCONF until it appears to have been big enough.
1334 Dynamically grow internal address pointer array as needed.
1336 2000-02-11 Marshall Vale <mjv@mit.edu>
1338 * init_os_ctx.c (os_get_default_config_files.c): Added new
1339 file name "Kerberos Preferences" to the of valid configuration
1340 file names on Mac OS. The others will be removed at a later
1343 2000-02-08 Marshall Vale <mjv@mit.edu>
1345 * init_os_ctx.c (os_get_default_config_files.c): Added
1346 Application Support folder to list of locations to look
1347 for krb5 configuration file. Only looks at top level which
1348 needs to be improved.
1349 (GetMacProfileFileSpec): Added a parameter to declare which
1350 folder constants to use for file spec creation. Previously it
1351 had assumed just the Preferences folder.
1353 2000-02-07 Scott McGuire <smcguire@mit.edu>
1355 * changepw.c (krb5_locate_kpasswd): fixed memory trashing
1356 caused by incorrect pointer arithmetic when assigning
1357 DEFAULT_KPASSWD_PORT in DNS code also.
1359 2000-02-04 Scott McGuire <smcguire@mit.edu>
1361 * changepw.c (krb5_locate_kpasswd): fixed memory trashing
1362 caused by incorrect pointer arithmetic when assigning
1363 DEFAULT_KPASSWD_PORT in non-DNS code.
1365 1999-12-03 Danilo Almeida <dalmeida@mit.edu>
1367 * changepw.c: Define ETIMEDOUT for Windows.
1369 1999-12-01 Ken Raeburn <raeburn@mit.edu>
1371 * init_os_ctx.c (krb5_secure_config_files): Do define; always
1372 return an error, but perform old functionality in case the error
1373 is ignored. Delete when we can make a major version number
1376 1999-11-23 Ken Raeburn <raeburn@mit.edu>
1378 * an_to_ln.c (default_an_to_ln): Avoid stomping byte after
1379 supplied buffer. Thanks to Matt Crawford.
1381 * init_os_ctx.c (os_init_paths): Delete SECURE argument; read the
1382 value from the profile structure instead.
1383 (krb5_os_init_context, krb5_get_profile): Don't pass SECURE
1385 (os_init_paths, krb5_get_profile): Cast first arg to
1387 (krb5_secure_config_files): Don't define.
1389 1999-11-22 Miro Jurisic <meeroh@mit.edu>
1391 * ccdefname.c (get_from_os): Replaced Kerberos5GlobalsLib calls
1394 1999-11-02 Ken Raeburn <raeburn@mit.edu>
1396 * localaddr.c (krb5_os_localaddr): Conditionalize INET6 support on
1397 new KRB5_USE_INET6 macro.
1399 1999-10-26 Wilfredo Sanchez <tritan@mit.edu>
1401 * Makefile.in: Clean up usage of CFLAGS, CPPFLAGS, DEFS, DEFINES,
1402 LOCAL_INCLUDES such that one can override CFLAGS from the command
1403 line without losing CPP search patchs and defines. Some associated
1406 1999-10-22 Ken Raeburn <raeburn@mit.edu>
1408 * prompter.c (krb5_prompter_posix): Make ointrfunc, fd, and
1410 * promptusr.c (krb5_os_get_tty_uio): Make ointrfunc and retval
1412 * read_pwd.c (krb5_read_password): Make ointrfunc volatile. Fix
1413 volatile decl for readin_string (pointer is volatile, doesn't
1416 * changepw.c (krb5_change_password): Wait only two minutes, not
1417 indefinitely, for a response from the kpasswd server.
1419 1999-10-18 Ken Raeburn <raeburn@mit.edu>
1421 * localaddr.c (krb5_os_localaddr): Don't bother trying to create
1422 inet6 socket; any socket type will do.
1424 1999-10-17 Ken Raeburn <raeburn@mit.edu>
1426 * localaddr.c (krb5_os_localaddr): Raise buffer size to 10K.
1427 Handle INET6 addresses. If INET6 support is built in but the
1428 socket creation fails, fall back to INET.
1430 1999-09-28 Ken Raeburn <raeburn@mit.edu>
1432 * changepw.c (krb5_locate_kpasswd): Declare local variable i even
1433 when DNS code is not in use.
1434 (krb5_locate_srv_conf, krb5_locate_srv_dns): Delete declarations.
1436 1999-09-21 Ken Raeburn <raeburn@mit.edu>
1438 Changes from Jeffrey Altman to look up kpasswd server using DNS.
1439 * changepw.c: (krb5_locate_kpasswd): New function, split out from
1440 krb5_change_password. Calls krb5_locate_srv_dns if use of DNS is
1441 desired, and krb5_locate_srv_conf to check config file.
1442 (krb5_change_password): Call it to find the server.
1443 * locate_kdc.c (krb5_locate_srv_conf): No longer static. Choose
1444 default port numbers based on service name rather than a single
1446 (krb5_locate_srv_dns): No longer static.
1448 1999-09-17 Tom Yu <tlyu@mit.edu>
1450 * def_realm.c: Patch from jaltman@columbia.edu to allow compiling
1451 under non-Windows platforms with DNS lookup enabled.
1453 1999-09-01 Danilo Almeida <dalmeida@mit.edu>
1455 * kuserok.c (krb5_kuserok): Fix improper negation in
1456 non-Unix localname check. Also fix calling convention
1457 before this function is exported by the Windows DLL.
1459 * localaddr.c (krb5_os_localaddr): Fix memset to clear
1460 right address list. (Thanks to jaltman@columbia.edu).
1462 1999-09-01 Ken Raeburn <raeburn@mit.edu>
1464 * get_krbhst.c (krb5_get_krbhst): Fix double-indirection
1465 confusion. Do actually copy string contents to newly allocated
1468 1999-08-21 Danilo Almeida <dalmeida@mit.edu>
1470 * localaddr.c (krb5_os_localaddr): Use multiple addresses, if
1471 present, on Mac and Windows.
1473 1999-08-10 Alexandra Ellwood <lxs@mit.edu>
1475 * changepw.c (krb5_change_password):
1476 Reorganized code so that krb5_change_password actually frees
1477 everything it allocated on error. Also fixed some memory
1478 leaks which happened even without an error occurring.
1480 1999-08-09 Danilo Almeida <dalmeida@mit.edu>
1482 * prompter.c (krb5_prompter_posix): Provide Win32 implementation
1483 so that kinit and such work under Win32.
1485 1999-08-06 Danilo Almeida <dalmeida@mit.edu>
1487 * def_realm.c (krb5_get_default_realm):
1488 * hst_realm.c (krb5_get_host_realm): Make sure we have FQDN
1489 in the case where we use gethostname.
1491 * def_realm.c (krb5_get_default_realm): Check that we have
1492 a realm before trying to copy it (since profile_get_string
1493 may return no error but not get anything).
1495 * init_os_ctx.c (krb5_get_profile): Fix calling convention.
1497 1999-08-05 Danilo Almeida <dalmeida@mit.edu>
1499 * t_std_conf.c (test_get_krbhst): Use krb5_free_krbhst to
1500 free buffers allocated by krb5_get_krbhst.
1502 * locate_kdc.c (_krb5_use_dns): Add _krb_use_dns to abstract
1503 away looking up of whether we use DNS or not in the profile.
1505 * ktdefname.c (krb5_kt_default_name): Use profile_release_string
1506 instead of free to free string allocated by profile_get_string.
1508 * get_krbhst.c (krb5_get_krbhst): Copy results from profile_get_values
1509 into malloc'ed buffers so we can safely free them later. Also call
1510 profile_free_list on the original values.
1512 * locate_kdc.c (krb5_locate_kdc):
1513 * hst_realm.c (krb5_get_host_realm):
1514 * def_realm.c (krb5_get_default_realm): Use _krb5_use_dns to figure
1515 out whether to use DNS or not instead of directly reading the
1516 profile in this routine.
1518 * realm_dom.c (krb5_get_realm_domain):
1519 * hst_realm.c (krb5_get_host_realm):
1520 * def_realm.c (krb5_get_default_realm): Copy results of
1521 profile_get_string into malloc'ed buffer so it can safely be free'd
1524 * locate_kdc.c (krb5_locate_srv_conf):
1525 * def_realm.c (krb5_get_default_realm):
1526 * changepw.c (krb5_change_password):
1527 * an_to_ln.c (krb5_aname_to_localname): Use profile_free_list
1528 to free values allocated by profile_get_values.
1530 1999-08-04 Danilo Almeida <dalmeida@mit.edu>
1532 * init_os_ctx.c (os_init_paths): Wrap use of ctx->profile_in_memory
1533 with KRB5_DNS_LOOKUP. Use pointer value to determine whether to free
1534 files by checking the files value rather than depending on the
1537 1999-07-27 Miro Jurisic <meeroh@mit.edu>
1539 * init_os_ctx.c (GetMacProfileFileSpec): removed bogus string conversion
1541 1999-07-26 Miro Jurisic <meeroh@mit.edu>
1543 * c_ustime.c (krb5_crypto_us_timeofday): Merged in changes from the
1544 Mac_V2_0_derivatives branch -- microseconds support and guaranteed
1545 monotonically increasing microseconds on MacOS
1547 * init_os_ctx.c (os_get_default_config_files): Merged in changes from the
1548 Mac_V2_0_derivatives branch -- NRL config file name
1550 * init_os_ctx.c (krb5_get_profile): added krb5_get_profile
1552 1999-07-22 Jeffrey Altman <jaltman@columbia.edu>
1554 * init_os_ctx.c (os_init_paths)
1555 If profile_init() is unable to open a profile and returns ENOENT,
1556 remember in the context that the profile_in_memory and then
1557 call profile_init() with a NULL filespec.
1559 * def_realm.c (krb5_get_default_realm)
1560 * hst_realm.c (krb5_get_host_realm)
1561 * locate_kdc.c (krb5_locate_kdc)
1562 Use the profile entry [libdefaults] dns_fallback to determine
1563 if DNS SRV and TXT records should be used to find realms and
1564 servers if they are not found in the profile.
1567 1999-07-21 Ken Raeburn <raeburn@mit.edu>
1569 * init_os_ctx.c (os_get_default_config_files): Fix some typos and
1570 missed name changes in the patch Miro just checked in but forgot
1571 to mention here, in which Mac filespecs are used instead of
1573 (krb5_free_config_files): Ditto.
1575 1999-06-30 Ken Raeburn <raeburn@mit.edu>
1577 * locate_kdc.c (krb5_locate_kdc): Kerberos admin service name is
1578 "kerberos-adm", not "kadmin", so look up "_kerberos-adm._tcp" in
1581 1999-06-21 Ken Raeburn <raeburn@mit.edu>
1582 and Jeffrey Altman and Ken Hornstein
1584 * def_realm.c (MAXHOSTNAMELEN) [KRB5_DNS_LOOKUP]: Define if not
1586 (MAX_DNS_NAMELEN) [KRB5_DNS_LOOKUP]: New macro.
1587 (krb5_get_default_realm): Return an error if an empty realm name
1589 (krb5_get_default_realm) [KRB5_DNS_LOOKUP]: Use
1590 krb5_try_realm_txt_rr to determine the realm of the local host or
1593 * hst_realm.c [KRB5_DNS_LOOKUP]: Pull in some extra header files
1594 for resolver functionality.
1595 (MAX_DNS_NAMELEN): New macro.
1596 (krb5_try_realm_txt_rr) [KRB5_DNS_LOOKUP]: New function; looks up
1598 (krb5_get_host_realm): Use MAX_DNS_NAMELEN for buffer size.
1599 (krb5_get_host_realm) [KRB5_DNS_LOOKUP]: Use DNS lookup if config
1600 file doesn't contain a match.
1602 * locate_kdc.c [KRB5_DNS_LOOKUP]: Pull in some extra header files
1603 for resolver functionality.
1604 (MAXHOSTNAMELEN) [KRB5_DNS_LOOKUP]: Define if not already
1606 (MAX_DNS_NAMELEN) [KRB5_DNS_LOOKUP]: New macro.
1607 (krb5_locate_srv_conf): Renamed from krb5_locate_kdc; now static;
1608 extra char* argument replaces fixed "kdc" in array of names to
1610 (krb5_locate_srv_dns) [KRB5_DNS_LOOKUP]: New function; looks up
1611 SRV records, and returns addresses sorted by priority.
1612 (krb5_locate_kdc): New function, calls above routines.
1614 1999-06-16 Danilo Almeida <dalmeida@mit.edu>
1616 * ccdefname.c (get_from_registry_indirect, try_dir, get_from_os):
1617 Extra robustness to win32 code.
1619 * init_os_ctx.c (krb5_get_config_files, krb5_free_config_files):
1620 Add function to get config files being used for current
1621 context with corresponding free function.
1623 1999-06-16 Danilo Almeida <dalmeida@mit.edu>
1625 * init_os_ctx.c (os_init_paths): Enhance win32 heuristics to use
1626 environment variable (like Unix) and to use the registry
1627 too. Will try executable's dir before windows dir if
1630 * ccdefname.c (get_from_os): Enhance win32 heuristics to use
1631 registry properly, default to API: properly,
1632 and to use temp dirs before the windows dir.
1634 1999-06-11 Miro Jurisic <meeroh@mit.edu>
1636 * init_os_ctx.c (os_init_paths): added NRL config file name correctly
1639 1999-06-09 Miro Jurisic <meeroh@mit.edu>
1641 * c_ustime.c (krb5_crypto_us_timeofday): fixed Mac PPC #ifdef
1643 1999-06-09 Miro Jurisic <meeroh@mit.edu>
1645 * c_ustime.c (krb5_crypto_us_timeofday): #ifdefed microseconds on Mac to be
1648 1999-06-09 Miro Jurisic <meeroh@mit.edu>
1650 * c_ustime.c (AbsoluteToSecsNanosecs): Fixed the UInt64 division
1651 * c_ustime.c (krb5_crypto_us_timeofday): now returning the correct value
1653 1999-06-09 Miro Jurisic <meeroh@mit.edu>
1655 * c_ustime.c (AbsoluteToSecsNanosecs): Fixed the UInt64 comparison
1657 1999-06-09 Miro Jurisic <meeroh@mit.edu>
1659 * net_read.c, net_write.c: now setting errno on Mac too
1661 1999-06-09 Miro Jurisic <meeroh@mit.edu>
1663 * c_ustime.c (krb5_crypto_us_timeofday, HaveAccurateTime,
1664 AbsoluteToSecsNanosecs): Added support for microseconds or
1665 better timers on the Mac when available
1667 * c_ustime.c (krb5_crypto_us_timeofday): fixed usecs counting bug
1668 (From Chas Williams)
1670 * init_os_ctx.c (GetMacProfilePathname): removed hardcoded config file name
1671 (From Chas Williams)
1673 * init_os_ctx.c (os_init_paths): added NRL config file name
1674 (From Chas Williams)
1676 Tue Jun 8 15:26:21 1999 Alexandra Ellwood <lxs@mit.edu>
1678 * changepw.c: Changed errno to SOCKET_ERRNO/SOCKET_SET_ERRNO
1679 after socket operations to work with new Mac OT SocketsLib.
1681 * hst_realm.c: Changed errno to SOCKET_ERRNO/SOCKET_SET_ERRNO
1682 after socket operations to work with new Mac OT SocketsLib.
1684 * localaddr.c: Changed errno to SOCKET_ERRNO/SOCKET_SET_ERRNO
1685 after socket operations to work with new Mac OT SocketsLib.
1687 * net_read.c: Changed errno to SOCKET_ERRNO/SOCKET_SET_ERRNO
1688 after socket operations to work with new Mac OT SocketsLib.
1690 * net_write.c: Changed errno to SOCKET_ERRNO/SOCKET_SET_ERRNO
1691 after socket operations to work with new Mac OT SocketsLib.
1693 * sn2princ.c: Changed errno to SOCKET_ERRNO/SOCKET_SET_ERRNO
1694 after socket operations to work with new Mac OT SocketsLib.
1696 Mon May 10 15:26:20 1999 Danilo Almeida <dalmeida@mit.edu>
1698 * Makefile.in: Do win32 build in subdir.
1700 Fri May 7 18:04:48 1999 Danilo D Almeida <dalmeida@mit.edu>
1702 * locate_kdc.c (krb5_locate_kdc): Fixed typo.
1704 Fri May 7 14:39:08 1999 Theodore Y. Ts'o <tytso@mit.edu>
1706 * locate_kdc.c (krb5_locate_kdc): Return KRB5_REALM_UNKNOWN if
1707 profile_get_values returns PROF_NO_RELATION or
1710 1999-04-01 Theodore Ts'o <tytso@rsts-11.mit.edu>
1712 * prompter.c (krb5_prompter_posix): Update to use new prompter
1713 prototype which takes an extra argument for the window
1714 titlebar name. (From Frank Cusack) [krb5-kdc/662]
1716 Thu Mar 25 18:45:48 1999 Tom Yu <tlyu@mit.edu>
1718 * promptusr.c (krb5_os_get_tty_uio): getchar() returns int, not
1721 1999-03-12 Theodore Ts'o <tytso@rsts-11.mit.edu>
1723 * init_os_ctx.c (krb5_os_init_context, krb5_os_free_context):
1724 Sample the ccdefault name at the time when we create the
1725 context. Free the ccdefault name when we free the os
1728 * ccdefname.c (krb5_cc_default_name, krb5_cc_set_default_name):
1729 Check to make sure the context is valid and return an
1732 1999-03-11 Theodore Ts'o <tytso@rsts-11.mit.edu>
1734 * ccdefname.c (get_from_os): Add missing call to get_from_registry
1737 Fri Feb 19 20:49:18 1999 Tom Yu <tlyu@mit.edu>
1739 * ccdefname.c (get_from_os): Add missing close-paren; also replace
1742 Fri Feb 5 01:05:43 1999 Theodore Y. Ts'o <tytso@mit.edu>
1744 * ccdefname.c (get_from_os): On the Windows platform,
1745 automatically generate the correct default cache name
1746 based on what krb5_cc_dfl_ops is set to.
1748 * realm_dom.c (krb5_get_realm_domain): Add modifiers so that this
1749 function can get exported in a Windows DLL.
1751 Tue Feb 2 16:01:58 1999 Tom Yu <tlyu@mit.edu>
1753 * read_pwd.c: Remove reference to CPP symbol "unix".
1755 1999-01-29 Theodore Ts'o <tytso@rsts-11.mit.edu>
1757 * ccdefname.c: Add a new function krb5_cc_set_default_name(),
1758 which is used set the default ccname stored in the
1759 krb5_context. All of the OS-specific functions to
1760 determine the default ccname is moved to this function.
1761 The krb5_cc_default_name() function now just reads the
1762 default ccname from the os_context, and will call
1763 krb5_cc_set_default_name() to set the default ccname if
1766 * t_std_conf: Added functions to test krb5_cc_default_name and
1767 krb5_cc_set_default_name(). Fixed the call to
1768 krb5_locate_kdc to support the new variables added by
1769 the Cygnus initial ticket API merge.
1771 1999-01-27 Theodore Ts'o <tytso@rsts-11.mit.edu>
1773 * localaddr.c: On the macintosh, check to see if getmyipaddr
1774 returns NULL, and return an error in that case.
1776 Tue Jan 5 00:11:49 1999 Theodore Y. Ts'o <tytso@mit.edu>
1778 * sn2princ.c (krb5_sname_to_principal): Windows NT5's broken
1779 resolver gratuitously tacks on a trailing period to the
1780 hostname (at least it does in Beta2). Deal with this
1783 Tue Dec 22 01:22:24 1998 Theodore Y. Ts'o <tytso@mit.edu>
1785 * changepw.c: Add a test for _WIN16 as well as _WIN32 for sockets
1786 workaround (in case we do want to build the 16 bit library
1789 Sat Dec 5 01:12:25 1998 Theodore Y. Ts'o <tytso@mit.edu>
1791 * localaddr.c: Added missing KRB5_DLLIMP and KRB5_CALLCONF macros
1792 from the function definition.
1794 1998-12-04 Theodore Ts'o <tytso@rsts-11.mit.edu>
1796 * realm_iter.c: New function which iterators over the realms in
1799 1998-11-13 Theodore Ts'o <tytso@rsts-11.mit.edu>
1801 * Makefile.in: Set the myfulldir and mydir variables (which are
1802 relative to buildtop and thisconfigdir, respectively.)
1804 * lock_file.c (krb5_lock_file): Fix bug where if the fcntl-style
1805 lock succeeded, we should return immediately instead of
1806 trying to do flock-style locking. Also check for
1807 HAVE_FCNTL_H and defined(F_SETLKW) and
1808 defined(F_RDLCK) instead of POSIX_FILE_LOCKS (so we
1809 can get rid of a non-standard autoconf symbol.)
1811 1998-10-31 Theodore Ts'o <tytso@rsts-11.mit.edu>
1813 * lock_file.c (krb5_lock_file): Move the flock() fallback code
1814 from fcc_maybe.c into krb5_lock_file(). This works around
1815 the bug that certain lossy operating systems (mainly from
1816 our good friends at SunSoft) do not support
1817 POSIX_FILE_LOCKS on all filesystems (namely tmpfs) but do
1818 support flock on those filesystems.
1820 1998-10-27 Marc Horowitz <marc@mit.edu>
1822 * c_ustime.c, localaddr.c: moved here from lib/crypto
1824 * ktdefname.c (krb5_kt_default_name): there is code in the tree
1825 (notably, the admin server code) which uses globals to set the
1826 keytab which will be used by gssapi. this is gross, and we need a
1827 better answer. However, even that didn't work if there was an env
1828 var or krb5.conf variable, since those override krb5_defkeyname.
1829 Add a new global, krb5_overridekeyname, which really does override
1830 all the other keytab locators. While I'm at it, make the buffer
1831 overflow checks sane.
1833 Fri Sep 25 22:32:16 1998 Theodore Y. Ts'o <tytso@mit.edu>
1835 * ccdefname.c: We shouldn't try to use the CCache API on Unix
1836 systems. (The maze of #ifdef's was confusing.)
1838 Tue Sep 1 15:44:11 1998 Theodore Y. Ts'o <tytso@mit.edu>
1840 * ccdefname.c (krb5_cc_default_name): Changed the PC version to
1841 use the CCache API by default. Removed the old Macintosh
1842 code that had been commented out. (If we need to
1843 ressurect it, we'll get it from CVS.)
1845 Fri Aug 21 17:37:00 1998 Miro Jurisic <meeroh@mit.edu>
1847 * ccdefname.c.c (krb5_cc_default_name): Changed the Mac
1848 version to use CCache API by default.
1850 Thu Jul 16 09:59:34 1998 Ezra Peisach <epeisach@mit.edu>
1852 * changepw.c (krb5_change_password): Changes casts from char * to
1853 krb5_octet * to match krb5_address structure elements.
1855 Wed Jul 1 17:54:56 1998 Theodore Y. Ts'o <tytso@mit.edu>
1857 * macsock.c(inet_ntoa): Fix obvious bug where we were returning a
1858 pointer to an automatic variable which should have been a
1859 static. Fortunately nothing in the Mac tree was using
1862 1998-05-06 Theodore Ts'o <tytso@rsts-11.mit.edu>
1864 * t_std_conf.c (main): POSIX states that getopt returns -1
1865 when it is done parsing options, not EOF.
1867 Wed Sep 24 12:10:29 1997 Marshall Vale <mjv@mit.edu> (Checked in 1/13/98)
1869 * init_os_ctx.c: Changed all PBGetCatInfo to PBGetCatInfoSync for new
1872 * ccdefname.c: Changed all PBGetCatInfo to PBGetCatInfoSync for new
1875 Fri Feb 27 18:03:33 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
1877 * Makefile.in: Changed thisconfigdir to point at the lib/krb5
1878 directory, since we've moved the configure.in tests in
1879 this directory to the toplevel lib/krb5 configure.in
1881 Wed Feb 18 16:24:39 1998 Tom Yu <tlyu@mit.edu>
1883 * Makefile.in: Remove trailing slash from thisconfigdir. Fix up
1884 BUILDTOP for new conventions.
1886 Mon Feb 2 17:02:19 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
1888 * Makefile.in: Define BUILDTOP and thisconfigdir in the Makefile
1890 Fri Jan 30 15:56:15 1998 Tom Yu <tlyu@mit.edu>
1892 * changepw.c (krb5_change_password): KRB5_USE_INET ->
1895 Fri Jan 2 21:28:56 1998 Tom Yu <tlyu@mit.edu>
1897 * locate_kdc.c (krb5_locate_kdc): Check return of
1898 malloc. [krb5-libs/518]
1900 * changepw.c (krb5_change_password): Check return of
1901 malloc. [krb5-libs/518]
1903 Tue Dec 16 11:00:18 1997 Ezra Peisach <epeisach@mit.edu>
1905 * locate_kdc.c (krb5_locate_kdc): Free hostlist array elements
1906 when finished with them.
1908 Sat Dec 6 23:12:23 1997 Ezra Peisach <epeisach@mit.edu>
1910 * locate_kdc.c (krb5_locate_kdc): Get rid of extra krb5_xfree
1911 which caused freeing of memory twice.
1913 Sat Dec 6 02:34:50 1997 Tom Yu <tlyu@mit.edu>
1915 * Makefile.in: Add changepw.c, prompter.c.
1917 * changepw.c: New file; Cygnus password changing protocol.
1919 * locate_kdc.c: Add parameter to indicate master KDC.
1921 * os-proto.h: Reflect changes to locate_kdc.
1923 * prompter.c: New file; Cygnus initial creds.
1925 * sendto_kdc.c: Add parameter to indicate master KDC.
1927 Mon Oct 6 11:40:11 1997 Ezra Peisach <epeisach@kangaroo.mit.edu>
1929 * t_std_conf.c (main): Call krb5_free_context when done.
1931 Wed Oct 1 04:58:34 1997 Tom Yu <tlyu@mit.edu>
1933 * configure.in: Punt some things that are otherwise gotten from
1934 include/krb5/configure.in.
1936 * gmt_mktime.c: Get k5-int.h to get some autoconf symbols.
1938 Tue Sep 30 19:57:27 1997 Tom Yu <tlyu@mit.edu>
1940 * timeofday.c: Replaace erroneously named POSIX_TYPES and timetype
1941 with plain old time_t, since we're using AC_CHECK_TYPE now to
1944 Thu Sep 25 21:24:54 1997 Tom Yu <tlyu@mit.edu>
1946 * mk_faddr.c: Replace KRB5_USE_INET with something more sane.
1948 * port2ip.c: Replace KRB5_USE_INET with something more sane.
1950 * os-proto.h: Replace KRB5_USE_INET with something more sane.
1952 * locate_kdc.c: Replace KRB5_USE_INET with something more sane.
1954 * genaddrs.c (krb5_auth_con_genaddrs): Replace KRB5_USE_INET with
1955 something more sane.
1957 * gen_port.c (krb5_gen_portaddr): Replace KRB5_USE_INET with
1958 something more sane.
1960 * full_ipadr.c: Replace KRB5_USE_INET with something more sane.
1962 Thu Sep 18 17:56:00 1997 Tom Yu <tlyu@mit.edu>
1964 * hst_realm.c: Replace USE_STRING_H with something more sane.
1966 Mon Sep 15 15:21:12 1997 Ezra Peisach <epeisach@mit.edu>
1968 * ccdefname.c (krb5_cc_default_name): Returns a const char *.
1970 Sat Aug 16 10:11:20 1997 Ezra Peisach <epeisach@kangaroo.mit.edu>
1972 * gmt_mktime.c (days_in_month): Now const.
1973 Originally by raeburn@cygnus.com from the Kerbnet release
1975 Tue Feb 25 00:29:33 1997 Richard Basch <basch@lehman.com>
1977 * read_pwd.c: Define Windows interface for krb5_read_password
1978 * win-pwd.rc: Resource file for Windows password dialog box
1979 * win-pwd.h: Support definitions for Windows krb5_read_password
1981 Sat Feb 22 22:41:02 1997 Richard Basch <basch@lehman.com>
1983 * Makefile.in: Use some of the new library list build rules in
1986 Fri Feb 21 20:06:55 1997 Ezra Peisach <epeisach@mit.edu>
1988 * def_realm.c: Remove extern declaration of un-used krb5_config_file.
1990 Fri Feb 7 11:11:18 1997 Richard Basch <basch@lehman.com>
1992 * mk_faddr.c (krb5_make_fulladdr): Add FAR declarations (win16)
1994 Thu Nov 21 11:55:16 EST 1996 Richard Basch <basch@lehman.com>
1996 * Makefile.in: win32 build
1998 * ccdefname.c, def_realm.c, free_hstrl.c, genaddrs.c, hst_realm.c,
1999 init_os_ctx.c, ktdefname.c, localaddr.c, sn2princ.c, timeofday.c,
2001 DLL export several more common functions (see lib/krb5.def
2002 for the full list of functions exported)
2004 Thu Feb 6 15:46:24 1997 Tom Yu <tlyu@mit.edu>
2007 * configure.in: Update to new program build procedure.
2009 Thu Jan 2 17:19:11 1997 Tom Yu <tlyu@mit.edu>
2011 * configure.in: Update to new library build procedure.
2013 Wed Nov 13 02:53:31 1996 Tom Yu <tlyu@mit.edu>
2015 * osconfig.c: Add warning re: global variables.
2017 * ktdefname.c, osconfig.c: Revert previous kt_default_name
2020 * ktdefname.c (krb5_kt_default_name): Fix a few memory-leak type
2021 problems in previous changes.
2023 Tue Nov 12 22:07:55 1996 Tom Yu <tlyu@mit.edu>
2025 * osconfig.c: Remove krb5_defkeyname to catch other things that
2028 * ktdefname.c (krb5_kt_default_name): Change logic to no longer
2029 use a global variable; also add krb5_kt_set_default_name() to
2030 allow for the changing of the default keytab name in the context.
2032 Wed Nov 6 16:24:56 1996 Theodore Y. Ts'o <tytso@mit.edu>
2034 * init_os_ctx.c (os_init_paths): Don't ignore errors found from
2035 parsing the config file. Currently, we return an error if
2036 the profile isn't found. In the future we can maybe do
2037 something better with intelligent defaulting if krb5.conf
2038 doesn't exist, but we don't have this today.
2040 Thu Aug 22 15:19:47 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
2042 * an_to_ln.c (db_an_to_ln): Remove references to dead BERK_DB_DBM
2045 Tue Jul 30 19:15:55 1996 Sam Hartman <hartmans@tertius.mit.edu>
2047 * Makefile.in (check-unix): Comment out an_2_ln tests that use
2050 * an_to_ln.c (krb5_aname_to_localname): Make the db lookup verison
2051 of aname_2_localname optional.
2053 Sun Jul 28 22:39:12 1996 Tom Yu <tlyu@mit.edu>
2055 * an_to_ln.c (aname_do_match): #elif HAVE_REGEXP_H should have
2058 Fri Jul 26 15:58:32 1996 Marc Horowitz <marc@mit.edu>
2060 * configure.in, an_to_ln.c (do_replacement, aname_do_match): use
2061 the compile() function in -lgen on solaris. Check for the
2062 relevant stuff at configure-time
2064 Fri Jul 12 21:38:15 1996 Marc Horowitz <marc@mit.edu>
2066 * ktdefname.c (krb5_kt_default_name): allow the default keytab name
2067 to be specified in the config file.
2069 Wed Jun 12 01:12:32 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
2071 * net_read.c (krb5_net_read):
2072 * net_write.c (krb5_net_write): In case of an error, on Windows
2073 machines, set errno from SOCKET_ERRNO, since the interface
2074 assumes the error is passed back the errno global
2075 varaible. This really needs to be fixed sometime...
2077 * read_msg.c: If ECONNABORTED is not defined, try using the
2078 Winsock version of the error code (WSAECONNABORTED).
2080 Mon Jun 10 21:48:45 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
2086 * ktdefname.c (krb5_kt_default_name):
2087 * init_os_ctx.c (os_init_paths):
2089 * an_to_ln.c (db_an_to_ln): Change _WINDOWS to _MSDOS, and add
2092 Thu Apr 18 16:24:44 1996 Theodore Y. Ts'o <tytso@mit.edu>
2094 * macsock.c (getsockname, getpeername): Correctly implement
2095 getsockname(), so it does getsockname(), not
2096 getpeername(), and add the function getpeername().
2098 Sat May 11 10:08:15 1996 Ezra Peisach <epeisach@kangaroo.mit.edu>
2100 * configure.in: Need to include sys/types.h before regexp.h in
2101 test to see if regcomp works.
2102 Add V5_USE_SHARED_LIB for the tests that are built.
2104 Tue Apr 30 17:51:47 1996 Ken Raeburn <raeburn@cygnus.com>
2106 * configure.in: Test that regcomp actually works.
2108 * Makefile.in (check-unix): Use $(RM).
2110 * t_an_to_ln.c (main): Print principal name when an error is
2113 Thu Apr 11 22:15:44 1996 Theodore Y. Ts'o <tytso@dcl>
2115 * ustime.c (krb5_us_timeofday): When doing the time offset
2116 adjustments, make sure the microseconds field doesn't go
2119 Thu Mar 28 17:20:12 1996 Theodore Y. Ts'o <tytso@dcl>
2121 * DNR.c: Replace eight-year-old version of this file with the
2122 latest version from the Code Warrior MacTCP files.
2124 * macsock.c: Use new MacTCP header files.
2126 Wed Mar 27 18:31:44 1996 Theodore Y. Ts'o <tytso@dcl>
2128 * macsock.c (gethostbyname, gethostbyaddr): Use universal
2129 procedure pointers (UPP), which are required on the Mac
2132 Mon Mar 18 21:49:39 1996 Ezra Peisach <epeisach@kangaroo.mit.edu>
2134 * configure.in: Add KRB5_RUN_FLAGS
2136 * Makefile.in: Use runtime flags.
2138 Mon Mar 18 17:30:54 1996 Ezra Peisach <epeisach@kangaroo.mit.edu>
2140 * sn2princ.c (krb5_sname_to_principal): Add casting to avoid warnings.
2142 Mon Mar 18 14:18:58 EST 1996 Richard Basch <basch@lehman.com>
2144 * sn2princ.c: Do not try to re-assign const variables.
2146 Sun Mar 17 20:42:17 1996 Ezra Peisach <epeisach@mit.edu>
2148 * configure.in: Add USE_ANAME, KRB5_LIBRARIES
2150 * Makefile.in: Properly use libraries as specified by configure
2152 Wed Mar 13 13:11:49 1996 Ezra Peisach <epeisach@kangaroo.mit.edu>
2154 * t_std_conf.c: Include string.h
2156 Thu Feb 29 16:14:46 1996 Theodore Y. Ts'o <tytso@dcl>
2158 * sendto_kdc.c (krb5_sendto_kdc): Take out calls to
2159 SOCKET_INITIALIZE and SOCKET_CLEANUP. This gets done in
2160 win_glue.c, and we only need to do this once. (XXX What
2163 Tue Feb 27 18:48:03 1996 Theodore Y. Ts'o <tytso@dcl>
2165 * hostaddr.c (krb5_os_hostaddr): Use #define NEED_SOCKETS instead
2166 of #including <netdb.h> (this breaks under windows).
2168 Mon Feb 26 17:04:26 1996 Theodore Y. Ts'o <tytso@dcl>
2170 * promptusr.c: Don't compile promptusr for Windows or Macintosh.
2172 Sat Feb 24 18:57:56 1996 Theodore Y. Ts'o <tytso@dcl>
2174 * ktdefname.c (krb5_kt_default_name): Under Windows, assume that
2175 the keytab file is located in the Windows directory.
2177 Thu Feb 22 13:16:16 1996 Ezra Peisach <epeisach@kangaroo.mit.edu>
2179 * Makefile.in (check-unix): Set LD_LIBRARY_PATH for kdb5_anadd.
2181 * hostaddr.c (krb5_os_hostaddr): Set magic number in structure.
2183 * full_ipadr.c (krb5_make_full_ipaddr): Set magic number in structure.
2185 Sat Feb 17 00:05:38 1996 Theodore Y. Ts'o <tytso@pao.MIT.EDU>
2187 * def_realm.c (krb5_get_default_realm): If the configuration file
2188 does not exist (context->profile == NULL) return
2189 KRB5_CONFIG_CANTOPEN; if the default realm is not defined
2190 in the configuration file, return an error message saying
2191 so. These changes just make the diagnostic error
2192 messages more clear.
2194 Thu Jan 11 18:32:54 1996 Ezra Peisach (epeisach@paris)
2196 * Makefile.in (check-unix): Ultrix test does not support -x.
2198 Fri Jan 5 09:00:47 1996 Ezra Peisach <epeisach@kangaroo.mit.edu>
2200 * locate_kdc.c (krb5_locate_kdc): Add parrentheses for assignment
2201 in conditional. (gcc -Wall)
2203 * init_os_ctx.c (krb5_os_init_context): Remove unused variables
2205 * an_to_ln.c (aname_do_match): Initialize local variable before
2208 Thu Jan 4 22:23:04 1996 Theodore Y. Ts'o <tytso@dcl>
2210 * hostaddr.c (krb5_os_hostaddr): New function which takes a
2211 hostname and returns a list of krb5 addresses. (This is
2212 basically a glue routine that converts the result of
2213 gethostbyname() to krb5 addresses.)
2215 Thu Dec 21 17:51:58 1995 Theodore Y. Ts'o <tytso@dcl>
2217 * Makefile.in (t_an_to_ln): Use $(LD) instead of $(CC) to link
2218 final executables, so that we can more easily use purify.
2220 * hst_realm.c (krb5_get_host_realm): Eliminate memory leak; realm
2221 was already being allocated by the profile library; no
2222 reason to reallocate it again.
2224 Wed Nov 15 10:53:16 1995 <tytso@rsts-11.mit.edu>
2226 * promptusr.c: New function for doing generic tty input and output.
2227 Eventually read_password should use this function.
2229 Wed Nov 15 20:40:03 1995 Mark Eichin <eichin@cygnus.com>
2231 * lock_file.c (krb5_lock_file): initialize lock_arg to a copy of a
2232 static (thus zero) struct flock, to avoid panic'ing sunos 4.1.4.
2234 Sun Nov 12 05:31:21 1995 Mark W. Eichin <eichin@cygnus.com>
2236 * def_realm.c (krb5_get_default_realm): check for PROF_NO_PROFILE
2237 and return KRB5_CONFIG_CANTOPEN instead of BADFORMAT so that the
2238 user in the end knows what is going on.
2240 Mon Oct 9 19:05:24 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
2242 * ktdefname.c (krb5_kt_default_name): If profile_secure flag is
2243 set in the context then do not allow changing the location
2244 of the default keytab with an environment variable.
2246 Fri Oct 6 22:04:57 1995 Theodore Y. Ts'o <tytso@dcl>
2248 * Makefile.in: Remove ##DOS!include of config/windows.in.
2249 config/windows.in is now included by wconfig.
2251 Thu Oct 5 07:49:26 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
2253 * init_os_ctx.c (krb5_secure_config_files): New function that
2254 will set flag and path to prevent user from overriding
2255 configuration files with environment variables.
2257 Mon Oct 2 17:36:38 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
2259 * init_os_ctx.c (krb5_os_init_context): Put back in the
2260 KRB5_CONFIG environment before setting to default.
2262 Tue Sep 26 22:46:01 1995 Mark Eichin <eichin@cygnus.com>
2264 * init_os_ctx.c (krb5_os_init_context): use profile_init_path for
2265 unix, and DEFAULT_PROFILE_PATH.
2267 Fri Sep 29 16:31:47 1995 Theodore Y. Ts'o <tytso@dcl>
2269 * osconfig.c: Remove krb5_lname_file; it's not used any more.
2271 Mon Sep 25 16:58:17 1995 Theodore Y. Ts'o <tytso@dcl>
2273 * Makefile.in: Removed "foo:: foo-$(WHAT)" lines from the
2276 Fri Sep 22 15:57:33 1995 Mark Eichin <eichin@cygnus.com>
2278 * write_msg.c (krb5_write_message): check the real length
2279 variable, not the net version.
2281 Wed Sep 20 12:00:00 1995 James Mattly <mattly@fusion.com>
2283 * macsock.c: Added TCP streams to the emulation package. gethostname
2284 now no longer returns true cannonical hostnames.
2286 Wed Sep 13 11:01:18 1995 Keith Vetter (keithv@fusion.com)
2288 * Makefile.in: had to define away DBFLAGS for the PC.
2290 Mon Sep 11 17:46:18 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
2292 * genaddrs.c (krb5_auth_con_genaddrs): Replace function
2293 declaration back to int instead of SOCKET due to prototype
2296 Sun Sep 10 12:00:00 1995 James Mattly <mattly@fusion.com>
2298 * ustime.c: use the version of getTimeZoneOffset in :os:crypto: for
2301 Wed Sep 6 12:00:00 1995 James Mattly <mattly@fusion.com>
2303 * localaddr.c changed name to oslocaladdr.c for metrowerks project
2306 * ustime.c: changed mac version of krb5_crypto_us_timeofday to compile
2307 with contemporary header files for metrowerks
2309 * macsock.c: added tcp stream support to suppliment the udp. Added
2310 getsockname. Fixed gethostname to stop appending '.' to the
2311 end of a connonical hostname.
2313 * net_write.c: need to cast file descriptors to SOCKETs
2315 * net_read.c: need to cast file descriptors to SOCKETs
2317 * krbfileio.c: mac doesn't support fsync, define the usage out
2319 * init_os_cxt.c: move the default location of the krb conf file to
2320 the preferences folder. Added some routines to take a
2321 mac FSSpec and turn it into a mac pathname string.
2323 * hst_realm.c: assign a NULL to retrealms to clean up a warning.
2325 * genaddrs.c: support getsockname from macsock
2327 * ccdefname.c: move the cred cache to the preferneces folder for mac
2329 * an_to_ln.c: turn functions off because I don't have a dbm library
2331 * timeofday.c: make krb5_timeofday use krb5_crypto_us_timeofday to
2332 incorperate the epoch difference between mac and unix.
2334 Fri Sep 1 00:47:27 1995 Theodore Y. Ts'o <tytso@dcl>
2336 * Makefile.in (check-unix): Add a test case to make sure
2337 krb5_get_host_realm does something sane when passed in a
2338 hostname which doesn't have a default domain.
2340 * hst_realm.c (krb5_get_host_realm): If an hostname does not have
2341 a domain, don't try to get a domain default (which
2342 results in a strange error being returned).
2344 * toffset.c: Added new file which implements the abstract
2345 interfaces for manipulating the time offset fields in the
2348 * ustime.c (krb5_us_timeofday): Add support for using the time
2349 offset fields in the os context.
2351 * timeofday.c (krb5_timeofday): Add support for using the time
2352 offset fields in the os context.
2354 * init_os_ctx.c (krb5_os_init_context): Initialize the time offset
2355 and flags fields in the os context.
2357 Thu Aug 31 17:24:48 EDT 1995 Paul Park (pjpark@mit.edu)
2359 * t_an_to_ln.c - Translate until error and return status.
2360 * Makefile.in - Test aname_to_lname under check-unix.
2362 Thu Aug 24 18:56:35 1995 Theodore Y. Ts'o <tytso@dcl>
2364 * .Sanitize: Update file list.
2366 Wed Aug 16 02:45:19 1995 Chris Provenzano <proven@mit.edu>
2368 * lock_file.c (krb5_lock_file()), unlck_file.c (krb5_unlock_file()):
2369 Pass the fd in instead of converting it from FILE *.
2371 Fri Aug 4 22:51:15 1995 Tom Yu <tlyu@dragons-lair.MIT.EDU>
2373 * kuserok.c (krb5_kuserok): Add parens to shut up gcc -Wall
2375 * genaddrs.c (krb5_auth_con_genaddrs): Add parens to shut up gcc
2378 * an_to_ln.c: Include ctype.h to get some prototypes; also add
2379 parens to shut up gcc -Wall
2381 Fri Jul 28 23:28:11 1995 Sam Hartman <hartmans@tertius.mit.edu>
2383 * sn2princ.c (krb5_sname_to_principal): GDon't use default realm
2384 just because we are on local machine. Instead, go through normal
2387 Fri Jul 7 16:32:41 EDT 1995 Paul Park (pjpark@mit.edu)
2388 * Makefile.in - Find com_err in TOPLIBD.
2390 Thu Jul 6 17:26:03 1995 Tom Yu <tlyu@lothlorien.MIT.EDU>
2392 * localaddr.c: moved to lib/crypto/os; just a stub here.
2394 * ustime.c: moved to lib/crypto/os; just a stub here.
2396 Thu Jul 6 09:56:56 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
2398 * Makefile.in (clean): Remove t_an_to_ln.o
2400 Wed July 5 15:52:31 1995 James Mattly <mattly@fusion.com>
2401 * an_to_ln.c added _MACINTOSH conditions
2402 * genaddrs.c added HAS_MACSOCK_H conditions
2403 * krbfileio.c added THREEPARAMOPEN
2404 * kuserok.c added THREEPARAMOPEN
2405 * macsock.c added stub for gethostnameA
2406 * mk_faddr.c added HAS_MACSOCK_H conditions
2407 * read_pwd.c added _MACINTOSH condition
2408 * sys_log.c added _MACINTOSH condition
2410 Fri Jun 30 14:44:17 EDT 1995 Paul Park (pjpark@mit.edu)
2411 * an_to_ln.c - Add profile logic to aname_to_lname. We can now
2412 specify databases, rules and explicit mappings to convert
2413 between auth name and local name.
2414 * t_an_to_ln.c - Rudimentary test procedure. Needs work to be automatic
2415 * configure.in - Add --with-aname-dbm to select between Berkeley and
2416 DBM aname database format.
2417 * Makefile.in - Add definitions to select aname rules.
2419 Tue Jun 27 15:48:41 EDT 1995 Paul Park (pjpark@mit.edu)
2420 * read_pwd.c(intr_routine) - Add signal name argument to signal handler
2421 to conform to prototype.
2423 Sat Jun 10 23:07:27 1995 Tom Yu (tlyu@dragons-lair)
2425 * genaddrs.c: krb5_auth_context redefinitions
2427 Fri Jun 9 22:08:33 1995 Theodore Y. Ts'o <tytso@dcl>
2429 * gmt_mktime.c (gmt_mktime): Change assertion to check to make
2430 sure that the day of the month is >= 1, not 0.
2432 Fri Jun 9 19:34:29 1995 <tytso@rsx-11.mit.edu>
2434 * configure.in: Remove standardized set of autoconf macros, which
2435 are now handled by CONFIG_RULES.
2437 Wed Jun 7 14:43:56 1995 <tytso@rsx-11.mit.edu>
2439 * def_realm.c (krb5_get_default_realm), get_krbhst.c
2440 (krb5_get_krbhst), hst_realm.c (krb5_get_host_realm),
2441 init_os_ctx.c (krb5_os_init_context), osconfig.c,
2442 realm_dom.c (krb5_get_realm_domain): Remove old ifdef'ed
2443 code which read in krb.conf and krb.realms.
2445 * read_pwd.c (krb5_read_password): Remove old #ifdef notdef code.
2446 Significantly simplified and cleaned up function.
2447 Removed BSD 4.3 compatibility code. (If we ever need
2448 to make this work on a non-POSIX system, we'll supply
2449 POSIX termios emulation functions in src/lib/krb5/posix.)
2451 Fri Jun 2 17:54:12 1995 Keith Vetter (keithv@fusion.com)
2453 * net_read.c, net_write.c: made to work with sockets.
2455 Fri May 26 20:20:58 1995 Theodore Y. Ts'o (tytso@dcl)
2457 * configure.in, Makefile.in: Add support for building shared libraries.
2459 Thu May 25 15:33:45 1995 Keith Vetter (keithv@fusion.com)
2461 * os-proto.h: moved prototype for krb5_make_fulladdr to
2462 los-proto.h since it's needed by the krb directory.
2463 * ktdefnam.c: fixed signed/unsigned mismatch.
2464 * read_pwd.c: pc stub didn't track changes to the real routines
2465 parameter list (const was added).
2467 Tue May 23 16:29:24 1995 Theodore Y. Ts'o (tytso@dcl)
2469 * t_std_conf.c, timeofday.c, unlck_file.c: Rearrange #include
2470 files so that krb5.h gets included first, so that the
2471 debugging information can be more efficiently collapsed
2472 since the type numbers will be the same.
2474 Tue May 16 10:33:03 EDT 1995 Paul Park (pjpark@mit.edu)
2475 * gmt_mktime.c - Use the actual year instead of the number of years
2476 since 1900 when determining if a year has a leapday.
2477 Makes dates after February in the year 2000 correct.
2479 Mon May 15 05:08:05 1995 <tytso@rsx-11.mit.edu>
2481 * ktdefname.c (krb5_kt_default_name): Use the KRB5_KTNAME
2482 environment variable to override the default location of
2485 Mon May 8 22:19:23 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
2487 * read_pwd.c (krb5_read_password): use volatile on all
2488 systems. Let configure define volatile to nothing on
2491 * configure.in: Add HAS_ANSI_VOLATILE
2493 * mk_faddr.c (krb5_make_fulladdr): Allocate enough memory for
2496 * read_pwd.c (krb5_read_password): Make arguments prompt and
2497 prompt2 const char * for convenience to callers.
2499 Mon May 1 17:05:21 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
2501 * init_os_ctx.c (krb5_set_config_files): Added required const to
2502 function declaration to be compatbile with call to
2505 Mon May 01 15:56:32 1995 Chris Provenzano (proven@mit.edu)
2507 * genaddrs.c (krb5_auth_con_genaddrs()),
2508 * mk_faddr.c (krb5_make_fulladdr()), os-proto.h :
2509 Changes to auth_context to better support full addresses.
2511 Sun Apr 30 16:03:59 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
2513 * osconfig.c: Global variables krb5_config_file and
2514 krb5_trans_file conditionalized on OLD_CONFIG_FILES.
2516 Sat Apr 29 07:07:22 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
2518 * init_os_ctx.c (krb5_set_config_files): New function. Provides a
2519 way to set a new set of config files for a particular OS
2522 * init_os_ctx.c (krb5_os_init_context): Don't return an error if
2523 profile_init() returns an error.
2525 Fri Apr 28 09:58:31 EDT 1995 Paul Park (pjpark@mit.edu)
2527 Move adm_conn.c from libkrb5 to libkadm.
2529 Thu Apr 27 17:50:14 1995 Keith Vetter (keithv@fusion.com)
2531 * adm_conn.c: added constant to pull in needed PC code, and
2532 removed two unused variables.
2533 * genaddrs.c: needed casts on getsockname and getpeername calls.
2534 * mk_faddr.c: the int->byte code needed explicit casts.
2535 * os-proto.h: added missing prototype for krb5_make_fulladdr.
2537 Wed Apr 26 16:00:52 EDT 1995 Paul Park (pjpark@mit.edu)
2539 * Add adm_conn.c - module to provide a connection to an administrative
2540 (kpasswd/kadmin) server.
2542 Wed Apr 27 11:30:00 1995 Keith Vetter (keithv@fusion.com)
2544 * osconfig.c: krb5_find_config_files only used for OLD_CONFIG_FILES.
2545 * init_os_.c: Get config file location via windows ini files.
2547 Thu Apr 27 13:04:54 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
2549 * Makefile.in (clean): Remove t_std_conf.o
2551 Tue Apr 25 21:58:23 1995 Chris Procenzano (proven@mit.edu)
2553 * Makefile.in : Added source files mk_faddr.c and genaddrs.c.
2554 * mk_faddr.c (krb5_mk_fulladdr()): Makes a full address from
2555 a struct sockaddr_in.
2556 * genaddrs.c (krb5_auth_con_genaddrs()) : Generate a full address
2557 from the active file descriptor and place it in the
2558 auth_context for the calls mk_safe(), mk_priv(), mk_safe(),
2559 rd_cred(), rd_priv(), and rd_safe().
2560 * gen_rname.c (krb5_gen_replay_name()) : Fixed to take any type of
2561 krb5_address and generate a rcache name.
2562 * os-proto.h (krb5_make_full_ipaddr()) : Removed prototype.
2564 Tue Apr 25 14:09:26 1995 Theodore Y. Ts'o <tytso@dcl>
2566 * t_std_conf.c (main): Add declaration of optarg.
2568 Tue Apr 25 04:50:13 1995 Chris Procenzano (proven@mit.edu)
2570 * locate_kdc.c (krb5_locate_kdc()): Pass a NUL terminated realm
2571 to profile_get_values().
2573 Mon Apr 24 17:20:14 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
2575 * locate_kdc.c (krb5_locate_kdc): Don't deref NULL pointer
2576 returned from profile_get_values if profile is not set.
2578 Sat Apr 22 00:11:12 1995 Theodore Y. Ts'o (tytso@dcl)
2580 * Makefile.in, configure.in, t_std_conf.c: Add test program to
2581 test the standard configuration krb5 routines.
2583 * osconfig.c: Don't define krb5_kdc_udp_portname and
2584 krb5_kdc_sec_portname any more. There's no real point...
2586 * hst_realm.c (krb5_get_krbhst): Strip off the trailing dot from
2587 the hostname if present.
2589 * locate_kdc.c (krb5_locate_kdc): Use the profile code to get the
2590 list of Kerberos servers (plus port numbers) for a
2591 particular realm from [realms]/<realm>/kdc
2593 Fri Apr 21 11:38:45 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
2595 * def_realm.c (krb5_get_default_realm): Use the profile code to
2596 get the default realm from [libdefaults]/default_realm.
2598 * get_krbhst.c (krb5_get_krbhst): Use the profile code to get the
2599 list of Kerberos servers for a particular realm from
2600 [realms]/<realm>/kdc
2602 * realm_dom.c (krb5_get_realm_domain): Use the profile code to
2603 get the default domain postfix for a realm (used only to
2604 convert V4 -> V5 principals) from
2605 [realms]/<realm>/default_domain
2607 * hst_realm.c (krb5_get_host_realm): Use the profile code to get
2608 the default realm given a particular host from
2609 [domain_realm]/<host|domain>
2611 * init_os_ctx.c (krb5_os_init_context): When the OS context is
2612 initialized, also initialize the profile file. This loads
2613 in the /etc/krb5.conf file.
2615 Wed Apr 19 13:50:19 1995 Ezra Peisach (epeisach@kangaroo.mit.edu)
2617 * def_realm.c: (krb5_get_default_realm) - remove global default realm.
2618 Moved into the context. (krb5_set_default_realm) added.
2620 Fri Apr 14 22:15:00 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
2622 * an_to_ln.c (dbm_an_to_ln): Don't compile dbm_an_to_ln() if
2623 USE_DBM_LNAME isn't defined.
2625 Fri Apr 14 15:15:48 1995 <tytso@rsx-11.mit.edu>
2627 * hst_realm.c (krb5_get_host_realm): Eliminate memory leak in the
2628 unlikely case that gethostname fails.
2630 If the krb.realms file isn't available, use the default
2633 Thu Apr 13 15:49:16 1995 Keith Vetter (keithv@fusion.com)
2635 * *.[ch]: removed unneeded INTERFACE from non-api functions.
2636 * read_pwd.c: __STDC__ conditional also checks the _WINDOWS define.
2638 Fri Apr 7 15:32:04 1995 Keith Vetter (keithv@fusion.com)
2641 changed windows stored filename syntax--dropped the 'FILE:' part.
2642 changed buffer from malloc to static since we don't want it
2643 ever to fail, and nobody checks it for errors.
2645 Wed Apr 5 16:32:07 1995 Keith Vetter (keithv@fusion.com)
2647 * get_krbh.c: better error handling--old return values were
2649 * locate_kdc.c: added new error code KRB5_REALM_CANT_RESOLVE for
2650 when we have realm names but can't find their addresses.
2651 Also, fixed up indenting of an if clause.
2652 * sendto_kdc.c: added winsock init/destroy calls because some
2653 PC tcp/ip stacks seem to need it.
2655 Fri Mar 31 16:30:03 1995 Theodore Y. Ts'o (tytso@dcl)
2657 * realm_dom.c (krb5_get_realm_domain): Don't indent #ifdef's!
2659 * hst_realm.c (krb5_get_host_realm): Don't indent #ifdef's!
2661 Thu Mar 30 15:54:54 1995 Keith Vetter (keithv@fusion.com)
2663 * localaddr.c: in Windows/Mac code, fixed bug due to wrong level
2664 of indirection on memcpy call.
2666 Tue Mar 28 19:22:28 1995 Keith Vetter (keithv@fusion.com)
2668 For Windows, added calls to get the default config, realms and
2669 ccache files out of a windows ini file.
2670 * ccdefname.c: does this for the credential cache.
2671 * osconfig.c: does this for the config and realms files.
2672 * get_krbh.c, realm_do.c, hst_real.c, def_real.c: added calls to
2673 set the default values.
2675 Tue Mar 28 18:35:20 1995 John Gilmore (gnu at toad.com)
2677 * DNR.c: Add Apple MacTCP source file for domain name resolution.
2678 * macsock.c: Add fake socket support routines for MacTCP.
2679 * Makefile.in (OBJS, SRCS): Add DNR and macsock.
2680 * ccdefname.c: On Mac, default cred cache is "STDIO:krb5cc" for now.
2681 FIXME, this needs to find the Preferences folder and use that.
2682 FIXME, shouldn't be conditioned on HAVE_MACSOCK_H.
2683 * gmt_mktime.c: Use HAVE_SYS_TYPES_H.
2684 * krbfileio.c: Remove <sys/types.h>.
2685 * localaddr.c, sendto_kdc.c: Convert to more generic socket
2686 support. Use closesocket instead of close, SOCKET_ERRNO rather
2687 than errno, SOCKET rather than int, etc.
2688 * localaddr.c: Use getmyipaddr() from macsock.c, if on Mac.
2689 Add FIXME for multiple local addresses.
2690 * lock_file.c: Provide a dummy version for MacOS.
2691 * read_pwd.c (ECHO_PASSWORD): Add #ifdef's to avoid all the ioctls
2692 and other stuff that turn off echoing. This is useful for debugging
2693 on MacOS. FIXME: ECHO_PASSWORD needs to be added to configure.in.
2694 * ustime.c: Bring in Mac-specific time-and-timezone code. It
2695 probably isn't hooked up correctly, yet.
2697 Mon Mar 27 14:16:39 1995 John Gilmore (gnu at toad.com)
2699 * full_ipadr.c, gen_rname.c, port2ip.c, read_msg.c, write_msg.c:
2700 Remove explicit includes of socket files.
2701 * locate_kdc.c: Remove <sys/types.h> and "os-proto.h".
2703 * macsock.c (connect, send, recv): Add for K5 compatability.
2704 (getmyipaddr): Add for use in K5.
2706 * macsock.c: Add Mac socket support file, verbatim from K4 release.
2708 Fri Mar 24 17:58:15 1995 Theodore Y. Ts'o (tytso@rt-11)
2710 * locate_kdc.c: Don't include sys/socket.h, netdb.h, netinet/in.h,
2711 since these files are already included by k5-config.h
2713 * sendto_kdc.c: Don't include sys/socket.h, since it is already
2714 included by k5-config.h
2716 * sn2princ.c: Don't include netdb.h, since it is already included
2719 Thu Mar 23 23:11:36 1995 Theodore Y. Ts'o <tytso@dcl>
2721 * realm_dom.c (krb5_get_realm_domain): Don't indent preprocessor
2722 directives. (Not portable).
2724 * hst_realm.c (krb5_get_host_realm): Don't indent preprocessor
2725 directives. Removed excess close paren introduced by
2728 Wed Mar 22 18:59:47 1995 Keith Vetter (keithv@fusion.com)
2730 * hst_realm.c, realm_dom.c: windows DLL can't use fscanf so had
2731 to write a couple of routines to read what we need from the file.
2733 Wed Mar 22 13:30:35 1995 Keith Vetter (keithv@fusion.com)
2735 * an_to_ln.c, kuserok.c: last two os routines ported to the PC.
2737 Fri Mar 17 19:56:39 1995 John Gilmore (gnu at toad.com)
2739 * Makefile.in (LDFLAGS): Eliminate, duplicates config/pre.in.
2740 * localaddr.c: Remove socket include files now handled in k5-int.h.
2742 Wed Mar 15 12:19:47 1995 Keith Vetter (keithv@fusion.com)
2744 * sendto_kdc.c: made to work on the PC.
2746 Tue Mar 7 22:15:00 1995 Keith Vetter <keithv@fusion.com>
2748 * sendto_kdc.c: stubbed on the PC for now.
2750 Tue Mar 7 19:54:17 1995 Mark Eichin <eichin@cygnus.com>
2752 * configure.in: take out ISODE_DEFS, ISODE_INCLUDE.
2754 Tue Mar 7 13:35:21 1995 Keith Vetter (keithv@fusion.com)
2756 * *.c: ported all the c files except an_to_ln, kuserok, and
2757 sendto_kdc which have windows stubs.
2758 * Makefile.in: reflects above changes.
2760 Wed Mar 1 17:30:00 1995 Keith Vetter (keithv@fusion.com)
2762 * Makefile.in: made to work on the PC
2763 * ustime.c: added section for time on the PC
2764 * localaddr.c: added section for the PC--returns local IP address
2765 N.B. not sure how we're going to handle different machine dependent
2766 code changes. For now it's just added to the end of the file. Later,
2767 we have to decide on a solution for all.
2769 Tue Feb 28 01:07:37 1995 John Gilmore (gnu at toad.com)
2771 * *.c: Avoid <krb5/...> includes.
2773 Fri Feb 3 08:24:18 1995 Theodore Y. Ts'o (tytso@dcl)
2775 * gmt_mktime.c (gmt_mktime): Don't double count the leap day in a
2778 Sun Jan 22 18:23:37 1995 John Gilmore (gnu@cygnus.com)
2780 * get_krbhst.c (krb5_get_krbhst): Declare realm argument const,
2783 Wed Jan 18 11:08:59 1995 <tytso@rsx-11.mit.edu>
2785 * sendto_kdc.c (krb5_sendto_kdc): Fix use of connected sockets;
2786 previously krb5_sendto_kdc only used one socket per
2787 address family. This doesn't work; it now uses one
2788 socket per address. (krb5-bugs #938)
2790 Fri Jan 13 15:23:47 1995 Chris Provenzano (proven@mit.edu)
2792 * Actually move the file init_ctx.c to init_os_ctx.c in the CVS
2793 repository and also rename the routine krb5_free_os_context()
2794 to krb5_os_free_context().
2796 Fri Jan 13 15:23:47 1995 Chris Provenzano (proven@mit.edu)
2798 * Added krb5_context to all krb5_routines
2800 * Moved init_ctx.c to init_os_ctx.c because a library cannot
2801 have more than on file with the same name. See krb/init_ctx.c
2803 Mon Dec 19 15:20:35 1994 Theodore Y. Ts'o (tytso@dcl)
2805 * init_ctx.c: New file. Initializes and frees the krb5_os_context
2808 * realm_dom.c (krb5_get_realm_domain): Fixed minor bug where the
2809 length of the returned domain was calculated incorrectly.
2811 Mon Oct 31 17:04:08 1994 Theodore Y. Ts'o (tytso@dcl)
2813 * lock_file.c: Back out POSIX_FILE_LOCKS change. (Should be
2814 depending on autoconf.h to supply this #define if
2817 Thu Oct 13 17:24:31 1994 Theodore Y. Ts'o (tytso@maytag)
2819 * configure.in: Add ISODE_DEFS
2821 Fri Oct 7 13:23:18 1994 Theodore Y. Ts'o (tytso@dcl)
2823 * configure.in: Add test for unistd.h
2825 * lock_file.c: Use POSIX_FILE_LOCKS if _POSIX_VERSION is defined
2828 Thu Sep 22 20:46:08 1994 Theodore Y. Ts'o (tytso@dcl)
2830 * configure.in: Put in correct dependency order of configure.in
2833 Wed Jul 6 13:26:59 1994 Mark Eichin (eichin@cygnus.com)
2835 * gmt_mktime.c (gmt_mktime): New file, new function. Similar to
2836 POSIX mktime, but always works in GMT.
2837 configure.in, Makefile.in: build gmt_mktime.
2839 Wed Jun 22 15:49:30 1994 Theodore Y. Ts'o (tytso at tsx-11)
2841 * locate_kdc.c (krb5_locate_kdc): Fixed default port numbers so
2842 they are loaded in network byte order instead of host byte order.