Add new function krb5_boolean krb5_is_thread_safe(void) to library.
authorJeffrey Altman <jaltman@secure-endpoints.com>
Wed, 5 Jan 2005 07:51:46 +0000 (07:51 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Wed, 5 Jan 2005 07:51:46 +0000 (07:51 +0000)
  This function simply reports whether or not ENABLE_THREADS was specified
  at compile time.  It is meant to be used by applications which need to
  know whether or not multithread libraries must be initialized OR
  whether or not calls to Kerberos library functions from multi-threaded
  applications must be protected by an application global mutex.

ticket: new
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17003 dc483132-0cff-0310-8789-dd5450dbe970

src/include/ChangeLog
src/include/krb5.hin
src/lib/ChangeLog
src/lib/krb5/ChangeLog
src/lib/krb5/libkrb5.exports
src/lib/krb5/os/ChangeLog
src/lib/krb5/os/Makefile.in
src/lib/krb5/os/thread_safe.c [new file with mode: 0644]
src/lib/krb5_32.def

index c6fad11f723131cfdcf02559049c1ba4f87ff240..2df928059c50014c870b3882e737e2de0c8b545b 100644 (file)
@@ -1,3 +1,7 @@
+2005-01-04  Jeffrey Altman <jaltman@mit.edu>
+
+        * krb5.hin: add prototype for krb5_is_thread_safe
+
 2005-01-04  Jeffrey Altman <jaltman@mit.edu>
 
         * win-mac.h: define NEED_INSIXADDR_ANY for ipv6 symbol
index 6f26072ce59f7d39e0fb374332bc368b83c7e3cc..230295d01870f0b39f894c0bee2be49966788ca3 100644 (file)
@@ -1372,6 +1372,8 @@ krb5_boolean krb5_is_permitted_enctype
        (krb5_context, krb5_enctype);
 #endif
 
+krb5_boolean KRB5_CALLCONV krb5_is_thread_safe(void);
+
 /* libkrb.spec */
 #if KRB5_PRIVATE
 krb5_error_code krb5_kdc_rep_decrypt_proc
index 11239044dde111806cc5fb21ae9524aac8cc078c..10a156572f9a7b1fecca3e81adea9043767cbca9 100644 (file)
@@ -1,3 +1,7 @@
+2005-01-03  Jeffrey Altman <jaltman@mit.edu>
+
+        * krb5_32.def: export krb5_is_thread_safe()
+
 2004-12-18  Jeffrey Altman <jaltman@mit.edu>
 
         * krb5_32.def: mark krb5_principal2salt as using the wrong 
index e1ca4dfeab2a2ce269a9e19cd1af98ba19b16c8c..97a7fe32c5e0bd7d1aa7a7a304ac3ed0e697e927 100644 (file)
@@ -1,3 +1,7 @@
+2005-01-04  Jeffrey Altman <jaltman@mit.edu>
+      
+        * libkrb5.exports: add krb5_is_thread_safe
+
 2004-11-18  Ken Raeburn  <raeburn@mit.edu>
 
        * Makefile.in (SHLIB_EXPLIBS): Remove -ldl accidentally added in
index 204296aa34c9c69310020ea434a3f2f531b0e7fa..f16b45cf803082aeb9ae3cbebee52ef75b2a51ff 100644 (file)
@@ -458,6 +458,7 @@ krb5_init_keyblock
 krb5_init_secure_context
 krb5_internalize_opaque
 krb5_is_permitted_enctype
+krb5_is_thread_safe
 krb5_kdc_rep_decrypt_proc
 krb5_kt_add_entry
 krb5_kt_close
index 1c08765036fc93413161c6cc243bb2a308cb9612..00b7cb8358812011b392cd1f4862750028e3ee77 100644 (file)
@@ -1,3 +1,7 @@
+2005-01-03  Jeffrey Altman <jaltman@mit.edu>
+
+        * thread_safe.c: (new file) krb5_is_thread_safe()
+
 2004-12-08  Ken Raeburn  <raeburn@mit.edu>
 
        * accessor.c (krb5int_accessor): Set new field use_dns_kdc.
index a971ba211f3ac704a8a87ce16da3a57e9fb9b733..ade99dd905c4380c8c015f2a056ac1ed0873d788 100644 (file)
@@ -49,6 +49,7 @@ STLIBOBJS= \
        send524.o       \
        sendto_kdc.o    \
        sn2princ.o      \
+        thread_safe.o   \
        timeofday.o     \
        toffset.o       \
        unlck_file.o    \
@@ -94,6 +95,7 @@ OBJS= \
        $(OUTPRE)send524.$(OBJEXT)      \
        $(OUTPRE)sendto_kdc.$(OBJEXT)   \
        $(OUTPRE)sn2princ.$(OBJEXT)     \
+        $(OUTPRE)thread_safe.$(OBJEXT)  \
        $(OUTPRE)timeofday.$(OBJEXT)    \
        $(OUTPRE)toffset.$(OBJEXT)      \
        $(OUTPRE)unlck_file.$(OBJEXT)   \
@@ -139,6 +141,7 @@ SRCS= \
        $(srcdir)/send524.c     \
        $(srcdir)/sendto_kdc.c  \
        $(srcdir)/sn2princ.c    \
+        $(srcdir)/thread_safe.c \
        $(srcdir)/timeofday.c   \
        $(srcdir)/toffset.c     \
        $(srcdir)/unlck_file.c  \
diff --git a/src/lib/krb5/os/thread_safe.c b/src/lib/krb5/os/thread_safe.c
new file mode 100644 (file)
index 0000000..faac234
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * lib/krb5/os/thread_safec
+ *
+ * Copyright 2005 by the Massachusetts Institute of Technology.
+ * All Rights Reserved.
+ *
+ * Export of this software from the United States of America may
+ *   require a specific license from the United States Government.
+ *   It is the responsibility of any person or organization contemplating
+ *   export to obtain such a license before exporting.
+ * 
+ * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
+ * distribute this software and its documentation for any purpose and
+ * without fee is hereby granted, provided that the above copyright
+ * notice appear in all copies and that both that copyright notice and
+ * this permission notice appear in supporting documentation, and that
+ * the name of M.I.T. not be used in advertising or publicity pertaining
+ * to distribution of the software without specific, written prior
+ * permission.  Furthermore if you modify this software you must label
+ * your software as modified software and not distribute it in such a
+ * fashion that it might be confused with the original M.I.T. software.
+ * M.I.T. makes no representations about the suitability of
+ * this software for any purpose.  It is provided "as is" without express
+ * or implied warranty.
+ * 
+ *
+ * krb5_is_thread_safe() function.
+ */
+
+#include "k5-int.h"
+
+krb5_boolean KRB5_CALLCONV
+krb5_is_thread_safe(void)
+{
+#if defined(ENABLE_THREADS)
+    return 1;
+#else
+    return 0;
+#endif
+}
index 95f8146723a0ec8cf1ee2134b0d47bed73b1b5a4..0125d2630eb3ba75a62ac26808aaedd7870f88df 100644 (file)
@@ -168,6 +168,7 @@ krb5_c_string_to_key_with_params
        krb5_init_keyblock
        krb5_init_random_key
        krb5_init_secure_context
+        krb5_is_thread_safe
        krb5_kt_add_entry
        krb5_kt_close
        krb5_kt_default