Fix some of the fallout from having rxgen-fabricated prototypes.
[openafs.git] / src / kauth / kaprocs.c
index 562fba9..2b557fd 100644 (file)
@@ -7,7 +7,11 @@
  * directory or online at http://www.openafs.org/dl/license10.html
  */
 
+#include <afsconfig.h>
 #include <afs/param.h>
+
+RCSID("$Header$");
+
 #include <afs/stds.h>
 #include <errno.h>
 #include "kauth.h"
@@ -41,9 +45,6 @@
 #include "kaport.h"
 #include "afs/audit.h"
 
-#include "../permit_xprt.h"
-
-
 extern struct ubik_dbase *KA_dbase;
 struct kaheader cheader;
 Date           cheaderReadTime;        /* time cheader last read in */
@@ -114,8 +115,8 @@ static afs_int32 get_time (timeP, tt, admin)
 
     if (nextAutoCPWTime == 0) {        /* initialize things */
        nextAutoCPWTime = time.tv_sec + autoCPWInterval;
-       bcopy (&time, &random_value[0], 8);
-       bcopy (&time, &random_value[2], 8);
+       memcpy(&random_value[0], &time, 8);
+       memcpy(&random_value[2], &time, 8);
     }
        
     if ((++totalUpdates >= autoCPWUpdates) &&
@@ -136,7 +137,7 @@ static afs_int32 get_time (timeP, tt, admin)
        if (code) return code;
        if (to) {                       /* check if auto cpw is disabled */
            if (!(ntohl(tentry.flags) & KAFNOCPW)) {
-               bcopy (&random_value[0], &key, sizeof(key));
+               memcpy(&key, &random_value[0], sizeof(key));
                des_fixup_key_parity (&key);
                code = set_password (tt, KA_ADMIN_NAME, KA_ADMIN_INST,
                                     &key, 0, 0);
@@ -156,7 +157,7 @@ static afs_int32 get_time (timeP, tt, admin)
        if (code) return code;
        if (to) {                       /* check if auto cpw is disabled */
            if (!(ntohl(tentry.flags) & KAFNOCPW)) {
-               bcopy (&random_value[2], &key, sizeof(key));
+               memcpy(&key, &random_value[2], sizeof(key));
                des_fixup_key_parity (&key);
                code = set_password (tt, KA_TGS_NAME, lrealm, &key, 0, 0);
                if (code == 0) {
@@ -517,7 +518,7 @@ static int create_user (tt, name, instance, key, caller, flags)
        if (code = ka_NewKey (tt, to, &tentry, key)) return code;
     }
     else {
-       bcopy(key, &tentry.key, sizeof(tentry.key));
+       memcpy(&tentry.key, key, sizeof(tentry.key));
        tentry.key_version = htonl(0);
     }
     tentry.user_expiration = htonl(NEVERDATE);
@@ -541,7 +542,7 @@ static int create_user (tt, name, instance, key, caller, flags)
 
 /* Put actual stub routines here */
 
-afs_int32 KAM_CreateUser (call, aname, ainstance, ainitpw)
+afs_int32 SKAM_CreateUser (call, aname, ainstance, ainitpw)
   struct rx_call *call;
   char          *aname;
   char          *ainstance;
@@ -586,7 +587,7 @@ afs_int32 kamCreateUser (call, aname, ainstance, ainitpw)
     return code;
 }
 
-afs_int32 KAA_ChangePassword (call, aname, ainstance, arequest, oanswer)
+afs_int32 SKAA_ChangePassword (call, aname, ainstance, arequest, oanswer)
   struct rx_call      *call;
   char               *aname;
   char               *ainstance;
@@ -668,9 +669,9 @@ afs_int32 ChangePassWord (call, aname, ainstance, arequest, oanswer)
     oanswer->SeqLen = answer_len;
     answer = oanswer->SeqBody;
     request.time = htonl (request_time+1);
-    bcopy ((char *)&request.time, answer, sizeof(Date));
+    memcpy(answer, (char *)&request.time, sizeof(Date));
     answer += sizeof(Date);
-    bcopy (KA_CPW_ANS_LABEL, answer, KA_LABELSIZE);
+    memcpy(answer, KA_CPW_ANS_LABEL, KA_LABELSIZE);
 
     des_pcbc_encrypt (oanswer->SeqBody, oanswer->SeqBody, answer_len,
                      user_schedule, &tentry.key, ENCRYPT);
@@ -706,7 +707,6 @@ impose_reuse_limits ( password, tentry )
   int code;
   Date now;
   int i;
-  int reuse_p;
   extern int MinHours;
   afs_uint32 newsum;
 
@@ -719,7 +719,7 @@ impose_reuse_limits ( password, tentry )
   if ((now - ntohl(tentry->change_password_time)) < MinHours*60*60) 
     return KATOOSOON;
 
-  if (!bcmp(password, &(tentry->key), sizeof(EncryptionKey)))
+  if (!memcmp(password, &(tentry->key), sizeof(EncryptionKey)))
       return KAREUSED;
 
   code = ka_KeyCheckSum ((char *)password, &newsum);
@@ -771,13 +771,11 @@ set_password (tt, name, instance, password, kvno, caller)
     
 
     if (special_name (name, instance)) { /* set key over rides key_version */
-#if SPECIAL
        tentry.flags = htonl (ntohl(tentry.flags) | KAFSPECIAL);
-#endif
        if (code = ka_NewKey (tt, to, &tentry, password)) return(code);
     }
     else {
-       bcopy (password, &tentry.key, sizeof(tentry.key));
+       memcpy(&tentry.key, password, sizeof(tentry.key));
        if (!kvno) {
            kvno = ntohl(tentry.key_version);
            if ((kvno < 1) || (kvno >= MAXKAKVNO))
@@ -804,7 +802,7 @@ set_password (tt, name, instance, password, kvno, caller)
     return(0);
 }
 
-afs_int32 KAM_SetPassword (call, aname, ainstance, akvno, apassword)
+afs_int32 SKAM_SetPassword (call, aname, ainstance, akvno, apassword)
   struct rx_call      *call;
   char               *aname;
   char               *ainstance;
@@ -935,7 +933,7 @@ PrepareTicketAnswer
 
     answer = (struct ka_ticketAnswer *)oanswer->SeqBody;
     answer->challenge = htonl(challenge);
-    bcopy (sessionKey, &answer->sessionKey, sizeof(struct ktc_encryptionKey));
+    memcpy(&answer->sessionKey, sessionKey, sizeof(struct ktc_encryptionKey));
     answer->startTime = htonl(start);
     answer->endTime = htonl(end);
     answer->kvno = server->key_version;
@@ -957,10 +955,10 @@ PrepareTicketAnswer
        putstr (server->userID.name);
        putstr (server->userID.instance);
        if (rem < ticketLen+KA_LABELSIZE) return code;
-       bcopy (ticket, ans, ticketLen);
+       memcpy(ans, ticket, ticketLen);
        ans += ticketLen;
-       if (label) bcopy (label, ans, KA_LABELSIZE);
-       else bzero (ans, KA_LABELSIZE);
+       if (label) memcpy(ans, label, KA_LABELSIZE);
+       else memset(ans, 0, KA_LABELSIZE);
        ans += KA_LABELSIZE;
        oanswer->SeqLen = (ans - oanswer->SeqBody);
     }
@@ -1086,7 +1084,7 @@ static afs_int32 Authenticate (version, call, aname, ainstance, start, end,
        else {                          /* return our time if possible */
            oanswer->SeqLen = sizeof(afs_int32);
            request.time = htonl(now);
-           bcopy (&request.time, oanswer->SeqBody, sizeof(afs_int32));
+           memcpy(oanswer->SeqBody, &request.time, sizeof(afs_int32));
        }
 #endif
        code = KACLOCKSKEW;
@@ -1099,7 +1097,7 @@ static afs_int32 Authenticate (version, call, aname, ainstance, start, end,
     if (to == 0) {code = KANOENT; goto abort; }
 
     tgskvno = ntohl(server.key_version);
-    bcopy (&server.key, &tgskey, sizeof(tgskey));
+    memcpy(&tgskey, &server.key, sizeof(tgskey));
 
     code = des_random_key (&sessionKey);
     if (code) {
@@ -1128,20 +1126,19 @@ static afs_int32 Authenticate (version, call, aname, ainstance, start, end,
        oanswer->SeqLen = answer_len;
        answer = oanswer->SeqBody;
        answer_time = htonl(request.time+1);
-       bcopy ((char *)&answer_time, answer, sizeof(Date));
+       memcpy(answer, (char *)&answer_time, sizeof(Date));
        answer += sizeof(Date);
-       bcopy ((char *)&sessionKey, answer, sizeof(struct ktc_encryptionKey));
+       memcpy(answer, (char *)&sessionKey, sizeof(struct ktc_encryptionKey));
        answer += sizeof(struct ktc_encryptionKey);
        temp = htonl(tgskvno);
-       bcopy ((char *)&temp, answer, sizeof(afs_int32));
+       memcpy(answer, (char *)&temp, sizeof(afs_int32));
        answer += sizeof(afs_int32);
        temp = htonl(ticketLen);
-       bcopy ((char *)&temp, answer, sizeof(afs_int32));
+       memcpy(answer, (char *)&temp, sizeof(afs_int32));
        answer += sizeof(afs_int32);
-       bcopy (ticket, answer, ticketLen);
+       memcpy(answer, ticket, ticketLen);
        answer += ticketLen;
-       bcopy ((tgt ? KA_GETTGT_ANS_LABEL : KA_GETADM_ANS_LABEL), answer,
-              KA_LABELSIZE);
+       memcpy(answer, (tgt ? KA_GETTGT_ANS_LABEL : KA_GETADM_ANS_LABEL), KA_LABELSIZE);
        break;
       case 1:
       case 2:
@@ -1155,7 +1152,7 @@ static afs_int32 Authenticate (version, call, aname, ainstance, start, end,
           temp = pwexpires << 24;    /* move it into the high byte */
           pwexpires = htonl(temp);
 
-          bcopy (&pwexpires, (char * )oanswer->SeqBody + oanswer->SeqLen, sizeof(afs_int32));
+          memcpy((char * )oanswer->SeqBody + oanswer->SeqLen, &pwexpires, sizeof(afs_int32));
           oanswer->SeqLen += sizeof(afs_int32);
           oanswer->SeqLen = round_up_to_ebs(oanswer->SeqLen);
           if (oanswer->SeqLen > oanswer->MaxSeqLen) {
@@ -1183,7 +1180,7 @@ abort:
        return code;
 }
 
-afs_int32 KAA_Authenticate_old (call, aname, ainstance, start, end,
+afs_int32 SKAA_Authenticate_old (call, aname, ainstance, start, end,
                           arequest, oanswer)
   struct rx_call      *call;
   char               *aname;
@@ -1202,7 +1199,7 @@ afs_int32 KAA_Authenticate_old (call, aname, ainstance, start, end,
   return code;
 }
 
-afs_int32 KAA_Authenticate (call, aname, ainstance, start, end, arequest, oanswer)
+afs_int32 SKAA_Authenticate (call, aname, ainstance, start, end, arequest, oanswer)
   struct rx_call      *call;
   char               *aname;
   char               *ainstance;
@@ -1219,7 +1216,7 @@ afs_int32 KAA_Authenticate (call, aname, ainstance, start, end, arequest, oanswe
   return code;
 }
 
-afs_int32 KAA_AuthenticateV2 (call, aname, ainstance, start, end, arequest, oanswer)
+afs_int32 SKAA_AuthenticateV2 (call, aname, ainstance, start, end, arequest, oanswer)
   struct rx_call      *call;
   char               *aname;
   char               *ainstance;
@@ -1236,7 +1233,7 @@ afs_int32 KAA_AuthenticateV2 (call, aname, ainstance, start, end, arequest, oans
   return code;
 }
 
-afs_int32 KAM_SetFields (call, aname, ainstance, aflags,
+afs_int32 SKAM_SetFields (call, aname, ainstance, aflags,
                    aexpiration, alifetime, amaxAssociates, misc_auth_bytes, spare2)
   struct rx_call      *call;
   char               *aname;
@@ -1279,8 +1276,7 @@ afs_int32 kamSetFields (call, aname, ainstance, aflags,
     afs_int32  caller;
     afs_int32  tentry_offset;          /* offset of entry */
     struct kaentry tentry;
-    unsigned char newvals[4], oldvals[4];
-    int i;
+    unsigned char newvals[4];
 
     COUNT_REQ (SetFields);
 
@@ -1348,7 +1344,7 @@ afs_int32 kamSetFields (call, aname, ainstance, aflags,
 
        if (newvals[REUSEFLAGS]) {
          if (newvals[REUSEFLAGS] & KA_REUSEPW) 
-           bzero(tentry.pwsums, KA_NPWSUMS);
+           memset(tentry.pwsums, 0, KA_NPWSUMS);
          else if ((newvals[REUSEFLAGS] & KA_NOREUSEPW) && !tentry.pwsums[0])
             tentry.pwsums[0] = 0xff;
        }
@@ -1391,7 +1387,7 @@ abort:
 
 /* delete a user */
 
-afs_int32 KAM_DeleteUser(call, aname, ainstance)
+afs_int32 SKAM_DeleteUser(call, aname, ainstance)
   struct rx_call      *call;
   char               *aname;
   char               *ainstance;
@@ -1461,7 +1457,7 @@ afs_int32 kamDeleteUser(call, aname, ainstance)
  * report that the ID is not locked, or else to find out when the ID
  * will be unlocked.
  */
-afs_int32 KAM_GetEntry (call, aname, ainstance, aversion, aentry)
+afs_int32 SKAM_GetEntry (call, aname, ainstance, aversion, aentry)
   struct rx_call      *call;
   char               *aname;
   char               *ainstance;
@@ -1528,7 +1524,7 @@ afs_int32 kamGetEntry (call, aname, ainstance, aversion, aentry)
 
     get_time (0,0,0);                  /* generate random update */
 
-    bzero (aentry, sizeof(*aentry));
+    memset(aentry, 0, sizeof(*aentry));
     aentry->minor_version = KAMINORVERSION;
     aentry->flags = ntohl(tentry.flags);
     aentry->user_expiration = ntohl(tentry.user_expiration);
@@ -1551,8 +1547,8 @@ afs_int32 kamGetEntry (call, aname, ainstance, aversion, aentry)
     rxkad_GetServerInfo(call->conn, &enc_level, 0, 0, 0, 0, 0);
     if ((noAuthenticationRequired) ||
        (callerIsAdmin && enc_level == rxkad_crypt))
-       bcopy (&tentry.key, &aentry->key, sizeof(struct ktc_encryptionKey));
-    else bzero (&aentry->key, sizeof(aentry->key));
+       memcpy(&aentry->key, &tentry.key, sizeof(struct ktc_encryptionKey));
+    else memset(&aentry->key, 0, sizeof(aentry->key));
     code = ka_KeyCheckSum ((char *)&tentry.key, &aentry->keyCheckSum);
     if (!tentry.pwsums[0] && npwSums > 1 && !tentry.pwsums[1]) {
        aentry->reserved3 = 0x12340000;
@@ -1583,7 +1579,7 @@ abort:
     return code;
 }
 
-afs_int32 KAM_ListEntry (call, previous_index, index, count, name)
+afs_int32 SKAM_ListEntry (call, previous_index, index, count, name)
   struct rx_call      *call;
   afs_int32                   previous_index;  /* last entry ret'd or 0 for first */
   afs_int32                  *index;           /* index of this entry */
@@ -1765,8 +1761,7 @@ static afs_int32 GetTicket (version, call, kvno, authDomain, aticket,
            sizeof(struct ka_getTicketAnswer) - 5*MAXKTCNAMELEN) goto abort;
        
        answer = (struct ka_getTicketAnswer *)oanswer->SeqBody;
-       bcopy (&sessionKey, &answer->sessionKey,
-              sizeof(struct ktc_encryptionKey));
+       memcpy(&answer->sessionKey, &sessionKey, sizeof(struct ktc_encryptionKey));
        answer->startTime = htonl(times.start);
        answer->endTime = htonl(end);
        answer->kvno = server.key_version;
@@ -1789,7 +1784,7 @@ static afs_int32 GetTicket (version, call, kvno, authDomain, aticket,
            putstr (sname);
            putstr (sinstance);
            if (rem < ticketLen) goto abort;
-           bcopy (ticket, ans, ticketLen);
+           memcpy(ans, ticket, ticketLen);
            oanswer->SeqLen = (ans - oanswer->SeqBody) + ticketLen;
        }
        oanswer->SeqLen = round_up_to_ebs(oanswer->SeqLen);
@@ -1817,7 +1812,7 @@ abort:
     return code;
 }
 
-afs_int32 KAT_GetTicket_old (call, kvno, authDomain, aticket,
+afs_int32 SKAT_GetTicket_old (call, kvno, authDomain, aticket,
                        sname, sinstance, atimes, oanswer)
   struct rx_call      *call;
   afs_int32                   kvno;
@@ -1838,7 +1833,7 @@ int code;
     return code;
 }
 
-afs_int32 KAT_GetTicket (call, kvno, authDomain, aticket,
+afs_int32 SKAT_GetTicket (call, kvno, authDomain, aticket,
                    sname, sinstance, atimes, oanswer)
   struct rx_call      *call;
   afs_int32                   kvno;
@@ -1857,7 +1852,7 @@ int code;
     return code;
 }
 
-afs_int32 KAM_GetStats (call, version, admin_accounts, statics, dynamics)
+afs_int32 SKAM_GetStats (call, version, admin_accounts, statics, dynamics)
   struct rx_call      *call;
   afs_int32                   version;
   afs_int32                  *admin_accounts;
@@ -1892,7 +1887,7 @@ afs_int32 kamGetStats (call, version, admin_accounts, statics, dynamics)
     }
 
     *admin_accounts = ntohl(cheader.admin_accounts);
-    /* bcopy ((char *)&cheader.stats, (char *)statics, sizeof(kasstats)); */
+    /* memcpy((char *)statics, (char *)&cheader.stats, sizeof(kasstats)); */
     /* these are stored in network byte order and must be copied */
     statics->allocs = ntohl(cheader.stats.allocs);
     statics->frees = ntohl(cheader.stats.frees);
@@ -1901,7 +1896,7 @@ afs_int32 kamGetStats (call, version, admin_accounts, statics, dynamics)
     check that the statistics command copies all the fields
 #endif
 
-    bcopy ((char *)&dynamic_statistics, (char *)dynamics, sizeof(kadstats));
+    memcpy((char *)dynamics, (char *)&dynamic_statistics, sizeof(kadstats));
     statics->minor_version = KAMINORVERSION;
     dynamics->minor_version = KAMINORVERSION;
 
@@ -1922,8 +1917,8 @@ afs_int32 kamGetStats (call, version, admin_accounts, statics, dynamics)
          * ignore this for aix till v3.1... */
        getrusage(RUSAGE_SELF, &ru);
 #if (KAMAJORVERSION>5)
-       bcopy (&ru.ru_utime, &dynamics->utime, sizeof(struct katimeval));
-       bcopy (&ru.ru_stime, &dynamics->stime, sizeof(struct katimeval));
+       memcpy(&dynamics->utime, &ru.ru_utime, sizeof(struct katimeval));
+       memcpy(&dynamics->stime, &ru.ru_stime, sizeof(struct katimeval));
        dynamics->dataSize = ru.ru_idrss;
        dynamics->stackSize = ru.ru_isrss;
        dynamics->pageFailts = ru.ru_majflt;
@@ -1940,7 +1935,7 @@ afs_int32 kamGetStats (call, version, admin_accounts, statics, dynamics)
     return code;
 }
 
-afs_int32 KAM_GetPassword (call, name, password)
+afs_int32 SKAM_GetPassword (call, name, password)
   struct rx_call *call;
   char          *name;
   EncryptionKey  *password;
@@ -1956,13 +1951,16 @@ afs_int32 kamGetPassword (call, name, password)
   struct rx_call *call;
   char          *name;
   EncryptionKey  *password;
-{   int  code = KANOAUTH;
+{   
+  int  code = KANOAUTH;
+  COUNT_REQ (GetPassword);
+  
+#ifdef GETPASSWORD
+  {
     afs_int32 to;
     struct ubik_trans *tt;
     struct kaentry tentry;
 
-    COUNT_REQ (GetPassword);
-#ifdef GETPASSWORD
     if (!name_instance_legal (name, "")) return KABADNAME;
     /* only requests from this host work */
     if (rx_HostOf(rx_PeerOf(rx_ConnectionOf(call))) != htonl(INADDR_LOOPBACK))
@@ -1971,9 +1969,12 @@ afs_int32 kamGetPassword (call, name, password)
 
     /* this isn't likely to be used because of string to key problems, so since
        this is a temporary thing anyway, we'll use it here. */
-    {   extern char udpAuthPrincipal[256];
+    {   
+      extern char udpAuthPrincipal[256];
+
        save_principal (udpAuthPrincipal, name, 0, 0);
     }
+
     get_time (0,0,0);                  /* update random value */
     code = FindBlock(tt, name, "", &to, &tentry);
     if (code) goto abort;
@@ -1985,13 +1986,14 @@ afs_int32 kamGetPassword (call, name, password)
        return code;
     }
 
-    bcopy (&tentry.key, password, sizeof (*password));
+    memcpy(password, &tentry.key, sizeof (*password));
     code = ubik_EndTrans (tt);
+  }
 #endif
     return code;
 }
 
-afs_int32 KAM_GetRandomKey (call, key)
+afs_int32 SKAM_GetRandomKey (call, key)
   struct rx_call *call;
   EncryptionKey  *key;
 {
@@ -2014,7 +2016,7 @@ afs_int32 kamGetRandomKey (call, key)
     return 0;
 }
 
-afs_int32 KAM_Debug (call, version, checkDB, info)
+afs_int32 SKAM_Debug (call, version, checkDB, info)
   struct rx_call      *call;
   afs_int32                   version;
   int                 checkDB;         /* start a transaction to examine DB */
@@ -2039,7 +2041,7 @@ afs_int32 kamDebug (call, version, checkDB, info)
     if (sizeof(struct ka_cpwRequest) % 8) return KAINTERNALERROR;
     if (version != KAMAJORVERSION) return KAOLDINTERFACE;
 
-    bzero (info, sizeof(*info));
+    memset(info, 0, sizeof(*info));
 
     info->minorVersion = KAMINORVERSION;
     info->host = dynamic_statistics.host;
@@ -2089,7 +2091,7 @@ afs_int32 kamDebug (call, version, checkDB, info)
  * prob'ly ought to check the noauth flag.
  */
 #define ABORTIF(A) {if(code= A){goto abort;}}
-afs_int32 KAM_Unlock (call, aname, ainstance, spare1, spare2, spare3, spare4)
+afs_int32 SKAM_Unlock (call, aname, ainstance, spare1, spare2, spare3, spare4)
   struct rx_call      *call;
   char               *aname;
   char               *ainstance;
@@ -2128,7 +2130,7 @@ exit:
   return code;
 }
 
-afs_int32 KAM_LockStatus (call, aname, ainstance, lockeduntil, spare1, spare2, spare3, spare4)
+afs_int32 SKAM_LockStatus (call, aname, ainstance, lockeduntil, spare1, spare2, spare3, spare4)
   struct rx_call      *call;
   char               *aname;
   char               *ainstance;