]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Windows: improve afskfw error message output
authorJeffrey Altman <jaltman@your-file-system.com>
Tue, 26 Jul 2011 21:03:56 +0000 (17:03 -0400)
committerJeffrey Altman <jaltman@openafs.org>
Tue, 2 Aug 2011 15:01:48 +0000 (08:01 -0700)
Add KTC and PT error messages to those that can be
translated within afskfw.lib.  This improves the error
logging for afslogon.dll, afscreds.exe, and afssrvadm.exe

Reviewed-on: http://gerrit.openafs.org/5108
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
(cherry picked from 549737f1e7d52256f053c86116b56c3211b084b6)

Change-Id: I4eb6f23e035b0774dffce8779d680b16ea607d2e
Reviewed-on: http://gerrit.openafs.org/5136
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
src/WINNT/afsd/NTMakefile
src/WINNT/afsd/afskfw.c
src/WINNT/afssvrmgr/NTMakefile
src/WINNT/client_creds/NTMakefile

index 6726d12ded8f71593a3959c5eff6bd6a959eb3f4..e94f1f28fe8d3a1330afdb9c30ccc7d18fe99a8b 100644 (file)
@@ -261,12 +261,21 @@ $(LANAHELPERLIB): $(LANAHELPERLIB_OBJS)
 
 AFSKFWLIB = $(DESTDIR)\lib\afskfw.lib
 
-AFSKFWLIB_OBJS =\
-      $(OUT)\afskfw.obj
+PTERROBJS=$(OUT)\pterror.obj
+
+$(PTERROBJS): $(AFSROOT)\src\ptserver\pterror.c
+       $(C2OBJ) /Fo$@ $**
+
+KTCERROBJS=$(OUT)\ktc_errors.obj
+
+$(KTCERROBJS): $(AFSROOT)\src\auth\ktc_errors.c
+       $(C2OBJ) /Fo$@ $**
+
+AFSKFWLIB_OBJS = $(OUT)\afskfw.obj
 
 $(AFSKFWLIB_OBJS):
 
-$(AFSKFWLIB): $(AFSKFWLIB_OBJS)
+$(AFSKFWLIB): $(AFSKFWLIB_OBJS) $(PTERROBJS) $(KTCERROBJS)
       $(LIBARCH)
 
 ############################################################################
@@ -283,6 +292,8 @@ LOGON_DLLOBJS =\
 LOGON_DLLLIBS =\
     $(DESTDIR)\lib\afsauthent.lib \
     $(DESTDIR)\lib\libafsconf.lib \
+    $(DESTDIR)\lib\afs\afscom_err.lib \
+    $(DESTDIR)\lib\afs\afsutil.lib \
     $(LANAHELPERLIB) \
     $(AFSKFWLIB)
 
index ec6f3b3655617833e19333bf6bc63ca9d99aafde..67548c747bcea0c99a2c0d805c55e08395a4ac25 100644 (file)
@@ -67,6 +67,8 @@
 #include <osilog.h>
 #include <afs/ptserver.h>
 #include <afs/ptuser.h>
+#include <afs/auth.h>
+#include <afs/com_err.h>
 #include <rx/rxkad.h>
 #include <WINNT\afsreg.h>
 #include "cm.h"
@@ -481,6 +483,9 @@ KFW_initialize(void)
         }
         ReleaseMutex(hMutex);
         CloseHandle(hMutex);
+
+        initialize_KTC_error_table();
+        initialize_PT_error_table();
     }
 }
 
@@ -1529,15 +1534,20 @@ KFW_AFS_get_cred( char * username,
         free(cellconfig.linkedCell);
 
     if ( code && reasonP ) {
-        if (pkrb5_get_error_message) {
-            char *msg = pkrb5_get_error_message(ctx, code);
-            StringCbCopyN( reason, sizeof(reason),
-                           msg, sizeof(reason) - 1);
-            *reasonP = reason;
-            pkrb5_free_error_message(ctx, msg);
-        } else {
-            *reasonP = perror_message(code);
+        int freemsg = 0;
+        char *msg = (char *)afs_error_message(code);
+        if (strncmp(msg, "unknown", strlen(msg)) == 0) {
+            if (pkrb5_get_error_message) {
+                msg = pkrb5_get_error_message(ctx, code);
+                freemsg = 1;
+            } else
+                msg = (char *)perror_message(code);
         }
+        StringCbCopyN( reason, sizeof(reason),
+                       msg, sizeof(reason) - 1);
+        *reasonP = reason;
+        if (freemsg)
+            pkrb5_free_error_message(ctx, msg);
     }
     return(code);
 }
index 11fe0771147fe237cc938084605e6f4edde85f50..42bc7dbb067cd0a80aac39316d7568bc8397c08c 100644 (file)
@@ -99,8 +99,10 @@ EXELIBS = \
         $(DESTDIR)\lib\afsrxkad.lib \
         $(DESTDIR)\lib\afsdes.lib \
         $(DESTDIR)\lib\afskfw.lib \
+        $(DESTDIR)\lib\afs\afscom_err.lib \
        $(DESTDIR)\lib\afs\AfsClass.lib \
-       $(DESTDIR)\lib\afs\TaAfsAppLib.lib
+       $(DESTDIR)\lib\afs\TaAfsAppLib.lib \
+        $(DESTDIR)\lib\afs\afsutil.lib
 
 ############################################################################
 
index f0b6cc93882cdd879cae374d5cc253afc8348256..728945c59a94a14fea9d44c78e0c4d4896802bbc 100644 (file)
@@ -68,7 +68,9 @@ EXELIBS = \
        $(DESTDIR)\lib\afsauthent.lib \
        $(DESTDIR)\lib\libafsconf.lib \
        $(DESTDIR)\lib\afs\afsreg.lib \
-       $(DESTDIR)\lib\afskfw.lib
+        $(DESTDIR)\lib\afskfw.lib \
+        $(DESTDIR)\lib\afs\afscom_err.lib \
+        $(DESTDIR)\lib\afs\afsutil.lib
 
 ############################################################################
 #