[2230] in Kerberos_V5_Development
WARNING: new comerr in recent NT check-in
daemon@ATHENA.MIT.EDU (Richard Basch)
Sat Feb 15 19:01:08 1997
Date: Sat, 15 Feb 1997 19:00:18 -0500
To: krbdev@MIT.EDU
From: "Richard Basch" <basch@lehman.com>
I just completed another substantial check-in for NT related changes
into the mainline. There are a couple things you should all be aware
of:
Instead of registering an error table by modifying a global linked list
and variable, there are now functions to register and remove error tables:
add_error_table(struct error_table *)
remove_error_table(struct error_table *)
The generated error table .c and .h files now refer to these instead of
referencing _et_list directly. Also, the generated files include a
routine to remove the error table. So, there will be:
initialize_XXX_error_table(void)
cleanup_XXX_error_table(void)
The Windows DLL will initialize and cleanup the error tables in the krb5
and gssapi libraries. krb5_finish_ets(krb5_context) has been added to
complement the existing krb5_init_ets(krb5_context), and will call the
cleanup functions. krb5_init_context still calls krb5_init_ets, but
krb5_finish_context does not call krb5_finish_ets, because multiple
contexts may be in use simultaneously. Under Windows, these calls to
the krb5_init_ets and krb5_finish_ets functions are done in the DLL
entry/exit routines, and extra calls will not hurt matters. This is one
area in need of clean-up (but at least it is functional)!!!
What to watch out for
---------------------
For Kerberos developers:
You must remove all existing generated error table files; the
Unix make procedure does not detect that they need rebuilding
because et_[ch].awk have been updated. Failure to rebuild
these files will result in "undefined" objects during linking.
For Windows Users (release notes):
The error table handling has been separated out of the core
Kerberos library and is now handled by a separate DLL.
Applications must be re-linked against the new comerr library
(comerr16.lib for 16-bit applications and comerr32.lib for
32-bit applications). The new DLLs (comerr16.dll for 16-bit
and comerr32.dll for 32-bit) must also be copied either
to the Windows system directory or the directory in which
the applications are being executed.
--
Richard Basch
Sr. Developer/Analyst, DSO URL: http://web.mit.edu/basch/www/home.html
Lehman Brothers, Inc. Email: basch@lehman.com, basch@mit.edu
101 Hudson St., 38th Floor Fax: +1-201-524-5828
Jersey City, NJ 07302-3988 Voice: +1-201-524-5049