bg-fcrypt-cleanup-20021030
authorDerrick Brashear <shadow@dementia.org>
Thu, 31 Oct 2002 00:19:55 +0000 (00:19 +0000)
committerDerrick Brashear <shadow@dementia.org>
Thu, 31 Oct 2002 00:19:55 +0000 (00:19 +0000)
make the libafsrpc libraries work with new fcrypt

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================

readd missing statistics
make cm and ukernel compile with new stuff

====================

readd missing statistics
make cm and ukernel compile with new stuff

====================

make it work with ukernel macros

src/libafs/Makefile.common.in
src/libafsrpc/Makefile.in
src/libuafs/Makefile.common.in
src/rxkad/bg-fcrypt.c
src/shlibafsrpc/Makefile.in

index 4055283..a533ec1 100644 (file)
@@ -28,7 +28,6 @@ COMMON_INCLUDE = -I. -I.. -I../nfs \
        -I${TOP_SRCDIR}/config \
        -I${TOP_SRCDIR}/rx/${MKAFS_OSTYPE} \
        -I${TOP_SRCDIR}/rxkad \
-       -I${TOP_SRCDIR}/rxkad/domestic \
        -I${TOP_SRCDIR}/util \
        -I${TOP_OBJDIR}/src \
        -I${TOP_OBJDIR}/src/afs \
@@ -126,7 +125,7 @@ AFSAOBJS = \
        xdr_int32.o     \
        xdr_int64.o     \
        Kvice.cs.o      \
-       fcrypt.o                \
+       bg-fcrypt.o             \
        rx.o            \
        rx_rdwr.o       \
        rx_clock.o      \
@@ -146,7 +145,6 @@ AFSAOBJS = \
        Krxstat.ss.o    \
        Krxstat.xdr.o   \
        rxstat.o        \
-       crypt_conn.o    \
        AFS_component_version_number.o\
        afs_exporter.o  \
        rxkad_client.o  \
@@ -277,9 +275,7 @@ afs_memcache.o: $(TOP_SRC_AFS)/afs_memcache.c
        $(CRULE1)
 afs_stat.o: $(TOP_SRC_AFS)/afs_stat.c
        $(CRULE1)
-fcrypt.o:      $(TOP_SRC_RXKAD)/domestic/fcrypt.c
-       $(CRULE1)
-crypt_conn.o: $(TOP_SRC_RXKAD)/domestic/crypt_conn.c
+bg-fcrypt.o:   $(TOP_SRC_RXKAD)/bg-fcrypt.c
        $(CRULE1)
 rxkad_client.o: $(TOP_SRC_RXKAD)/rxkad_client.c
        $(CRULE1)
index 7b905a2..c8cafbf 100644 (file)
@@ -85,8 +85,7 @@ RXKADOBJS =\
        ticket.o \
        ticket5.o \
        crc.o \
-       fcrypt.o \
-       crypt_conn.o
+       bg-fcrypt.o
 
 DESOBJS =\
        des.o \
@@ -190,10 +189,7 @@ ticket5.o: ${RXKAD}/ticket5.c
 crc.o: ${RXKAD}/crc.c
        ${CCRULE}
 
-fcrypt.o: ${RXKAD}/fcrypt.c
-       ${CCRULE}
-
-crypt_conn.o: ${RXKAD}/crypt_conn.c
+bg-fcrypt.o: ${RXKAD}/bg-fcrypt.c
        ${CCRULE}
 
 AFS_component_version_number.o: ${RX}/AFS_component_version_number.c
index a80bb31..1c544d0 100644 (file)
@@ -39,7 +39,6 @@ COMMON_INCLUDE = -I. -I.. -I../nfs \
         -I${TOP_SRCDIR}/rx \
         -I${TOP_SRCDIR}/rx/UKERNEL \
         -I${TOP_SRCDIR}/rxkad \
-        -I${TOP_SRCDIR}/rxkad/domestic \
         -I${TOP_SRCDIR}/util \
         -I${TOP_OBJDIR}/src \
         -I${TOP_OBJDIR}/src/afs/UKERNEL \
@@ -142,7 +141,7 @@ UAFSOBJ = \
        $(UOBJ)/Kvice.xdr.o \
        $(UOBJ)/xdr_arrayn.o \
        $(UOBJ)/Kvice.cs.o \
-       $(UOBJ)/fcrypt.o \
+       $(UOBJ)/bg-fcrypt.o \
        $(UOBJ)/rx.o \
        $(UOBJ)/rx_rdwr.o \
        $(UOBJ)/rx_clock.o \
@@ -160,7 +159,6 @@ UAFSOBJ = \
        $(UOBJ)/Kvldbint.cs.o \
        $(UOBJ)/Kvldbint.xdr.o \
        $(UOBJ)/Kcallback.ss.o \
-       $(UOBJ)/crypt_conn.o \
        $(UOBJ)/AFS_component_version_number.o \
        $(UOBJ)/afs_exporter.o \
        $(UOBJ)/rxkad_client.o \
@@ -262,7 +260,7 @@ AFSWEBOBJ = \
        $(WEBOBJ)/Kvice.xdr.o \
        $(WEBOBJ)/xdr_arrayn.o \
        $(WEBOBJ)/Kvice.cs.o \
-       $(WEBOBJ)/fcrypt.o \
+       $(WEBOBJ)/bg-fcrypt.o \
        $(WEBOBJ)/rx.o \
        $(WEBOBJ)/rx_rdwr.o \
        $(WEBOBJ)/rx_clock.o \
@@ -280,7 +278,6 @@ AFSWEBOBJ = \
        $(WEBOBJ)/Kvldbint.cs.o \
        $(WEBOBJ)/Kvldbint.xdr.o \
        $(WEBOBJ)/Kcallback.ss.o \
-       $(WEBOBJ)/crypt_conn.o \
        $(WEBOBJ)/AFS_component_version_number.o \
        $(WEBOBJ)/afs_exporter.o \
        $(WEBOBJ)/rxkad_client.o \
@@ -380,7 +377,7 @@ AFSWEBOBJKRB = \
        $(WEBOBJ)/Kvice.xdr.o \
        $(WEBOBJ)/xdr_arrayn.o \
        $(WEBOBJ)/Kvice.cs.o \
-       $(WEBOBJ)/fcrypt.o \
+       $(WEBOBJ)/bg-fcrypt.o \
        $(WEBOBJ)/rx.o \
        $(WEBOBJ)/rx_rdwr.o \
        $(WEBOBJ)/rx_clock.o \
@@ -398,7 +395,6 @@ AFSWEBOBJKRB = \
        $(WEBOBJ)/Kvldbint.cs.o \
        $(WEBOBJ)/Kvldbint.xdr.o \
        $(WEBOBJ)/Kcallback.ss.o \
-       $(WEBOBJ)/crypt_conn.o \
        $(WEBOBJ)/AFS_component_version_number.o \
        $(WEBOBJ)/afs_exporter.o \
        $(WEBOBJ)/rxkad_client.o \
@@ -499,7 +495,7 @@ JUAFSOBJ = \
        $(JUAFS)/Kvice.xdr.o \
        $(JUAFS)/xdr_arrayn.o \
        $(JUAFS)/Kvice.cs.o \
-       $(JUAFS)/fcrypt.o \
+       $(JUAFS)/bg-fcrypt.o \
        $(JUAFS)/rx.o \
        $(JUAFS)/rx_rdwr.o \
        $(JUAFS)/rx_clock.o \
@@ -516,7 +512,6 @@ JUAFSOBJ = \
        $(JUAFS)/Kvldbint.cs.o \
        $(JUAFS)/Kvldbint.xdr.o \
        $(JUAFS)/Kcallback.ss.o \
-       $(JUAFS)/crypt_conn.o \
        $(JUAFS)/AFS_component_version_number.o \
        $(JUAFS)/afs_exporter.o \
        $(JUAFS)/rxkad_client.o \
@@ -656,9 +651,7 @@ $(UOBJ)/afs_memcache.o: $(TOP_SRC_AFS)/afs_memcache.c
        $(CRULE1)
 $(UOBJ)/afs_stat.o: $(TOP_SRC_AFS)/afs_stat.c
        $(CRULE1)
-$(UOBJ)/fcrypt.o:      $(TOP_SRC_RXKAD)/domestic/fcrypt.c
-       $(CRULE1)
-$(UOBJ)/crypt_conn.o: $(TOP_SRC_RXKAD)/domestic/crypt_conn.c
+$(UOBJ)/bg-fcrypt.o:   $(TOP_SRC_RXKAD)/bg-fcrypt.c
        $(CRULE1)
 $(UOBJ)/rxkad_client.o: $(TOP_SRC_RXKAD)/rxkad_client.c
        $(CRULE1)
@@ -903,9 +896,7 @@ $(WEBOBJ)/afs_memcache.o: $(TOP_SRC_AFS)/afs_memcache.c
        $(CRULE2)
 $(WEBOBJ)/afs_stat.o: $(TOP_SRC_AFS)/afs_stat.c
        $(CRULE2)
-$(WEBOBJ)/fcrypt.o:    $(TOP_SRC_RXKAD)/domestic/fcrypt.c
-       $(CRULE2)
-$(WEBOBJ)/crypt_conn.o: $(TOP_SRC_RXKAD)/domestic/crypt_conn.c
+$(WEBOBJ)/bg-fcrypt.o:         $(TOP_SRC_RXKAD)/bg-fcrypt.c
        $(CRULE2)
 $(WEBOBJ)/rxkad_client.o: $(TOP_SRC_RXKAD)/rxkad_client.c
        $(CRULE2)
@@ -1154,9 +1145,7 @@ $(JUAFS)/afs_memcache.o: $(TOP_SRC_AFS)/afs_memcache.c
        $(CRULE1)
 $(JUAFS)/afs_stat.o: $(TOP_SRC_AFS)/afs_stat.c
        $(CRULE1)
-$(JUAFS)/fcrypt.o:     $(TOP_SRC_RXKAD)/domestic/fcrypt.c
-       $(CRULE1)
-$(JUAFS)/crypt_conn.o: $(TOP_SRC_RXKAD)/domestic/crypt_conn.c
+$(JUAFS)/bg-fcrypt.o:  $(TOP_SRC_RXKAD)/bg-fcrypt.c
        $(CRULE1)
 $(JUAFS)/rxkad_client.o: $(TOP_SRC_RXKAD)/rxkad_client.c
        $(CRULE1)
index c968b0d..feba31b 100644 (file)
@@ -72,6 +72,7 @@ RCSID("$Header$");
 #include "fcrypt.h"
 #include "rxkad.h"
 #include "fcrypt.h"
+#include "private_data.h"
 
 #undef WORDS_BIGENDIAN
 #ifdef AFSBIG_ENDIAN
@@ -258,9 +259,9 @@ static const afs_uint32 sbox3[256] = {
  */
 
 #define F_ENCRYPT(R, L, sched) { \
- union lc4 { afs_uint32 l; unsigned char c[4]; } u; \
- u.l = sched ^ R; \
- L ^= sbox0[u.c[0]] ^ sbox1[u.c[1]] ^ sbox2[u.c[2]] ^ sbox3[u.c[3]]; }
+ union lc4 { afs_uint32 l; unsigned char c[4]; } un; \
+ un.l = sched ^ R; \
+ L ^= sbox0[un.c[0]] ^ sbox1[un.c[1]] ^ sbox2[un.c[2]] ^ sbox3[un.c[3]]; }
 
 #ifndef WORDS_BIGENDIAN
 /* BEWARE: this code is endian dependent.
@@ -269,9 +270,9 @@ static const afs_uint32 sbox3[256] = {
 #undef F_ENCRYPT
 #define FF(y, shiftN) (((y) >> shiftN) & 0xFF)
 #define F_ENCRYPT(R, L, sched) { \
- afs_uint32 u; \
- u = sched ^ R; \
- L ^= sbox0[FF(u, 0)] ^ sbox1[FF(u, 8)] ^ sbox2[FF(u, 16)] ^ sbox3[FF(u, 24)];}
+ afs_uint32 un; \
+ un = sched ^ R; \
+ L ^= sbox0[FF(un, 0)] ^ sbox1[FF(un, 8)] ^ sbox2[FF(un, 16)] ^ sbox3[FF(un, 24)];}
 #endif
 
 static inline
@@ -428,7 +429,10 @@ fc_ecb_encrypt(afs_uint32 *in, afs_uint32 *out,
               fc_KeySchedule sched,
               int encrypt)
 {
-  if (encrypt)
+  LOCK_RXKAD_STATS
+  rxkad_stats.fc_encrypts[encrypt]++;
+  UNLOCK_RXKAD_STATS
+  if (encrypt) 
     fc_ecb_enc(in[0], in[1], out, sched);
   else
     fc_ecb_dec(in[0], in[1], out, sched);
@@ -533,7 +537,6 @@ fc_keysched(void *key_,
   *sched++ = EFF_NTOHL((afs_uint32)k);
   ROT56R64(k, 11);
   *sched++ = EFF_NTOHL((afs_uint32)k);
-  return 0;
 #else
   afs_uint32 hi, lo; /* hi is upper 24 bits and lo lower 32, total 56 */
 
@@ -591,8 +594,11 @@ fc_keysched(void *key_,
   *sched++ = EFF_NTOHL(lo);
   ROT56R(hi, lo, 11);
   *sched++ = EFF_NTOHL(lo);
-  return 0;
 #endif
+  LOCK_RXKAD_STATS
+  rxkad_stats.fc_key_scheds++;
+  UNLOCK_RXKAD_STATS
+  return 0;
 }
 
 /*
@@ -609,6 +615,14 @@ rxkad_EncryptPacket(const struct rx_connection *rx_connection_not_used,
 {
   afs_uint32 ivec[2];
   struct iovec *frag;
+  struct rx_securityClass *obj;
+  struct rxkad_cprivate *tp;          /* s & c have type at same offset */
+
+  obj = rx_SecurityObjectOf(rx_connection_not_used);
+  tp = (struct rxkad_cprivate *)obj->privateData;
+  LOCK_RXKAD_STATS
+  rxkad_stats.bytesEncrypted[rxkad_TypeIndex(tp->type)] += len;
+  UNLOCK_RXKAD_STATS
 
   {
     /* What is this good for?
@@ -643,6 +657,14 @@ rxkad_DecryptPacket(const struct rx_connection *rx_connection_not_used,
 {
   afs_uint32 ivec[2];
   struct iovec *frag;
+  struct rx_securityClass *obj;
+  struct rxkad_cprivate *tp;          /* s & c have type at same offset */
+
+  obj = rx_SecurityObjectOf(rx_connection_not_used);
+  tp = (struct rxkad_cprivate *)obj->privateData;
+  LOCK_RXKAD_STATS
+  rxkad_stats.bytesDecrypted[rxkad_TypeIndex(tp->type)] += len;
+  UNLOCK_RXKAD_STATS
 
   memcpy(ivec, iv, sizeof(ivec)); /* Must use copy of iv */
   for (frag = &packet->wirevec[1]; len > 0; frag++)
index ec37b5e..f3f204c 100644 (file)
@@ -87,8 +87,7 @@ RXKADOBJS =\
        ticket.o \
        ticket5.o \
        crc.o \
-       fcrypt.o \
-       crypt_conn.o
+       bg-fcrypt.o 
 
 DESOBJS =\
        des.o \
@@ -198,10 +197,7 @@ ticket5.o: ${RXKAD}/ticket5.c
 crc.o: ${RXKAD}/crc.c
        ${CCRULE}
 
-fcrypt.o: ${RXKAD}/fcrypt.c
-       ${CCRULE}
-
-crypt_conn.o: ${RXKAD}/crypt_conn.c
+bg-fcrypt.o: ${RXKAD}/bg-fcrypt.c
        ${CCRULE}
 
 AFS_component_version_number.o: ${RX}/AFS_component_version_number.c