#include <rx/rx.h>
#include <rx/rxstat.h>
+#ifdef AFS_NT40_ENV
+# include <afs/krb5_nt.h>
+#endif
+
#include <afs/afs_Admin.h>
#include <afs/pthread_glock.h>
#include <afs/cellconfig.h>
#include <afs/volser.h>
#include <afs/afscbint.h>
-#ifdef AFS_NT40_ENV
-# define EncryptionKey Krb5EncryptionKey
-# include <krb5/krb5.h>
-# undef EncryptionKey
-#endif
-
#include "afs_AdminInternal.h"
#include "afs_utilAdmin.h"
initialize_AU_error_table();
initialize_AV_error_table();
initialize_VOLS_error_table();
+#ifdef AFS_KRB5_ERROR_ENV
+ initialize_krb5();
+#endif
error_init_done = 1;
}
+/*
+ * (*errorTextP) will not be freed by the caller.
+ */
int ADMINAPI
util_AdminErrorCodeTranslate(afs_status_t errorCode, int langId,
const char **errorTextP, afs_status_p st)
*errorTextP = afs_error_message(code);
#ifdef AFS_KRB5_ERROR_ENV
if (strncmp(*errorTextP, "unknown", strlen("unknown")) == 0) {
- *errorTextP = krb5_get_error_message(NULL, code);
+ const char *msg = fetch_krb5_error_message(code);
+ if (msg)
+ *errorTextP = msg;
}
#endif
rc = 1;
afs_status_t tst = 0;
afs_admin_iterator_p iter =
(afs_admin_iterator_p) malloc(sizeof(afs_admin_iterator_t));
- database_server_get_p serv =
- (database_server_get_p) calloc(1, sizeof(database_server_get_t));
+ database_server_get_p serv = calloc(1, sizeof(database_server_get_t));
char copyCell[MAXCELLCHARS];
/*
s->stats_v1.func_index = *(ptr++);
hi = *(ptr++);
lo = *(ptr++);
- hset64(s->stats_v1.invocations, hi, lo);
+ s->stats_v1.invocations = ((afs_uint64) hi << 32) + lo;
hi = *(ptr++);
lo = *(ptr++);
- hset64(s->stats_v1.bytes_sent, hi, lo);
+ s->stats_v1.bytes_sent = ((afs_uint64) hi << 32) + lo;
hi = *(ptr++);
lo = *(ptr++);
- hset64(s->stats_v1.bytes_rcvd, hi, lo);
+ s->stats_v1.bytes_rcvd = ((afs_uint64) hi << 32) + lo;
s->stats_v1.queue_time_sum.sec = *(ptr++);
s->stats_v1.queue_time_sum.usec = *(ptr++);
s->stats_v1.queue_time_sum_sqr.sec = *(ptr++);