reindent-20030715
[openafs.git] / src / des / des.c
index f7d9c08..8fe29ee 100644 (file)
@@ -36,7 +36,8 @@
 #include <afsconfig.h>
 #include <afs/param.h>
 
-RCSID("$Header$");
+RCSID
+    ("$Header$");
 
 #ifndef KERNEL
 #include <stdio.h>
@@ -67,25 +68,26 @@ RCSID("$Header$");
 #ifdef AFS_PTHREAD_ENV
 pthread_mutex_t rxkad_stats_mutex;
 #endif /* AFS_PTHREAD_ENV */
-    
+
 /* encrypt == 0  ==> decrypt, else encrypt */
 
-afs_int32 des_ecb_encrypt(afs_uint32 *clear, afs_uint32 *cipher, 
-       register des_key_schedule schedule, int encrypt)
+afs_int32
+des_ecb_encrypt(afs_uint32 * clear, afs_uint32 * cipher,
+               register des_key_schedule schedule, int encrypt)
 {
     /* better pass 8 bytes, length not checked here */
 
-    register afs_uint32 R1 = 0, L1 = 0; /* R1 = r10, L1 = r9 */
-    register afs_uint32 R2 = 0, L2 = 0; /* R2 = r8, L2 = r7 */
+    register afs_uint32 R1 = 0, L1 = 0;        /* R1 = r10, L1 = r9 */
+    register afs_uint32 R2 = 0, L2 = 0;        /* R2 = r8, L2 = r7 */
     afs_int32 i;
     /* one more registers left on VAX, see below P_temp_p */
 #ifdef BITS16
     sbox_in_16_a S_in_16_a;
     sbox_in_16_b S_in_16_b;
     sbox_in_16_c S_in_16_c;
-    unsigned int *S_in_a_16_p = (unsigned int *) &S_in_16_a;
-    unsigned int *S_in_b_16_p = (unsigned int *) &S_in_16_b;
-    unsigned int *S_in_c_16_p = (unsigned int *) &S_in_16_c;
+    unsigned int *S_in_a_16_p = (unsigned int *)&S_in_16_a;
+    unsigned int *S_in_b_16_p = (unsigned int *)&S_in_16_b;
+    unsigned int *S_in_c_16_p = (unsigned int *)&S_in_16_c;
 #endif
 #ifndef BITS32
 #ifndef BITS16
@@ -93,35 +95,35 @@ afs_int32 des_ecb_encrypt(afs_uint32 *clear, afs_uint32 *cipher,
 #endif
 #endif
     afs_uint32 P_temp;
-    register unsigned char *P_temp_p = (unsigned char *) & P_temp;
+    register unsigned char *P_temp_p = (unsigned char *)&P_temp;
 #ifdef BITS16
     sbox_out S_out;
-    afs_uint32 *S_out_p = (afs_uint32 *) &S_out;
+    afs_uint32 *S_out_p = (afs_uint32 *) & S_out;
 #endif
     afs_uint32 R_save, L_save;
 #ifdef DEBUG
     afs_uint32 dbg_tmp[2];
 #endif
-    LOCK_RXKAD_STATS
-    if (encrypt) rxkad_stats.des_encrypts[DES_ENCRYPT]++;
-    else rxkad_stats.des_encrypts[DES_DECRYPT]++;
+    LOCK_RXKAD_STATS if (encrypt)
+         rxkad_stats.des_encrypts[DES_ENCRYPT]++;
+    else
+       rxkad_stats.des_encrypts[DES_DECRYPT]++;
     UNLOCK_RXKAD_STATS
-
-    /*
-     * Use L1,R1 and L2,R2 as two sets of "64-bit" registers always
-     * work from L1,R1 input to L2,R2 output; initialize the cleartext
-     * into registers.
-     */
+       /*
+        * Use L1,R1 and L2,R2 as two sets of "64-bit" registers always
+        * work from L1,R1 input to L2,R2 output; initialize the cleartext
+        * into registers.
+        */
 #ifdef MUSTALIGN
 #ifdef DEBUG
-    /*
-     * If the alignment is wrong, the programmer really screwed up --
-     * we aren't even getting the right data type.  His problem.  Keep
-     * this code for debugging.
-     */
-    /* Make sure schedule is ok */
-    if ((afs_int32) schedule & 3) {
-       fprintf(stderr,"des.c schedule arg pointer not aligned\n");
+       /*
+        * If the alignment is wrong, the programmer really screwed up --
+        * we aren't even getting the right data type.  His problem.  Keep
+        * this code for debugging.
+        */
+       /* Make sure schedule is ok */
+       if ((afs_int32) schedule & 3) {
+       fprintf(stderr, "des.c schedule arg pointer not aligned\n");
        abort();
     }
 #endif
@@ -130,14 +132,17 @@ afs_int32 des_ecb_encrypt(afs_uint32 *clear, afs_uint32 *cipher,
        memcpy((char *)&R_save, (char *)clear, sizeof(R_save));
        L1 = L_save;
        R1 = R_save;
-    }
-    else
+    } else
 #endif
     {
-       if (clear) L1 = *clear++;
-       else L1 = 0;
-       if (clear) R1 = *clear;
-       else R1 = 0;
+       if (clear)
+           L1 = *clear++;
+       else
+           L1 = 0;
+       if (clear)
+           R1 = *clear;
+       else
+           R1 = 0;
     }
 
 #ifdef DEBUG
@@ -147,8 +152,8 @@ afs_int32 des_ecb_encrypt(afs_uint32 *clear, afs_uint32 *cipher,
        i = 0;
        dbg_tmp[0] = L1;
        dbg_tmp[1] = R1;
-       printf("iter = %2d  before IP\n\t\tL1 R1 = ",i);
-       des_cblock_print_file (dbg_tmp, stdout);
+       printf("iter = %2d  before IP\n\t\tL1 R1 = ", i);
+       des_cblock_print_file(dbg_tmp, stdout);
     }
 
     DBG_PRINT("before IP");
@@ -163,17 +168,16 @@ afs_int32 des_ecb_encrypt(afs_uint32 *clear, afs_uint32 *cipher,
     R1 = R2;
 
     /* iterate through the inner loop */
-    for (i = 0; i <= (AUTH_DES_ITER-1); i++) {
+    for (i = 0; i <= (AUTH_DES_ITER - 1); i++) {
 
 #ifdef DEBUG
        if (des_debug & 2) {
            dbg_tmp[0] = L1;
            dbg_tmp[1] = R1;
-           printf("iter = %2d  start loop\n\t\tL1 R1 = ",i);
-           des_cblock_print_file (dbg_tmp, stdout);
+           printf("iter = %2d  start loop\n\t\tL1 R1 = ", i);
+           des_cblock_print_file(dbg_tmp, stdout);
            DBG_PRINT("start loop");
        }
-
 #endif
 
        R_save = R1;
@@ -186,19 +190,20 @@ afs_int32 des_ecb_encrypt(afs_uint32 *clear, afs_uint32 *cipher,
 #include "e.c"
 #else /* Bill's fast E */
        L2 = (R1 << 1);
-       if (R1 & (1<<31))
-           L2 |= 1<<0;
+       if (R1 & (1 << 31))
+           L2 |= 1 << 0;
        L2 &= 077;
-       L2 |= (R1 <<3) & 07700;
-       L2 |= (R1 <<5) & 0770000;
-       L2 |= (R1 <<7) & 077000000;
-       L2 |= (R1 <<9) & 07700000000;
-       L2 |= (R1 <<11) & 030000000000;
+       L2 |= (R1 << 3) & 07700;
+       L2 |= (R1 << 5) & 0770000;
+       L2 |= (R1 << 7) & 077000000;
+       L2 |= (R1 << 9) & 07700000000;
+       L2 |= (R1 << 11) & 030000000000;
 
        /* now from right to right */
 
        R2 = ((R1 >> 17) & 0176000);
-       if (R1 & (1<<0)) R2 |= 1<<15;
+       if (R1 & (1 << 0))
+           R2 |= 1 << 15;
 
        R2 |= ((R1 >> 21) & 017);
        R2 |= ((R1 >> 19) & 01760);
@@ -208,11 +213,11 @@ afs_int32 des_ecb_encrypt(afs_uint32 *clear, afs_uint32 *cipher,
        /* right to left */
        asm("   rotl    $1,r10,r7");
        L2 &= 077;
-       L2 |= (R1 <<3) & 07700;
-       L2 |= (R1 <<5) & 0770000;
-       L2 |= (R1 <<7) & 077000000;
-       L2 |= (R1 <<9) & 07700000000;
-       L2 |= (R1 <<11) & 030000000000;
+       L2 |= (R1 << 3) & 07700;
+       L2 |= (R1 << 5) & 0770000;
+       L2 |= (R1 << 7) & 077000000;
+       L2 |= (R1 << 9) & 07700000000;
+       L2 |= (R1 << 11) & 030000000000;
 
        asm("   rotl    $-17,r10,r8");
        R2 &= 0176000;
@@ -234,8 +239,8 @@ afs_int32 des_ecb_encrypt(afs_uint32 *clear, afs_uint32 *cipher,
            dbg_tmp[0] = L1;
            dbg_tmp[1] = R1;
            DBG_PRINT("after e");
-           printf("iter = %2d  after e\n\t\tL1 R1 = ",i);
-           des_cblock_print_file (dbg_tmp, stdout);
+           printf("iter = %2d  after e\n\t\tL1 R1 = ", i);
+           des_cblock_print_file(dbg_tmp, stdout);
        }
 #endif
 
@@ -249,14 +254,13 @@ afs_int32 des_ecb_encrypt(afs_uint32 *clear, afs_uint32 *cipher,
         * First XOR left half.
         */
        if (encrypt) {
-           L1 ^= *(((afs_uint32 *) &schedule[i] )+0);
+           L1 ^= *(((afs_uint32 *) & schedule[i]) + 0);
            /* now right half */
-           R1 ^= *(((afs_uint32 *) &schedule[i] )+1);
-       }
-       else {
-           L1 ^= *(((afs_uint32 *) &schedule[AUTH_DES_ITER-i-1] )+0);
+           R1 ^= *(((afs_uint32 *) & schedule[i]) + 1);
+       } else {
+           L1 ^= *(((afs_uint32 *) & schedule[AUTH_DES_ITER - i - 1]) + 0);
            /* now right half */
-           R1 ^= *(((afs_uint32 *) &schedule[AUTH_DES_ITER-i-1] )+1);
+           R1 ^= *(((afs_uint32 *) & schedule[AUTH_DES_ITER - i - 1]) + 1);
        }
 
        /* dont have to reset input to L1, R1 */
@@ -266,8 +270,8 @@ afs_int32 des_ecb_encrypt(afs_uint32 *clear, afs_uint32 *cipher,
            dbg_tmp[0] = L1;
            dbg_tmp[1] = R1;
            DBG_PRINT("after xor");
-           printf("iter = %2d  after xor\n\t\tL1 R1 =",i);
-           des_cblock_print_file (dbg_tmp, stdout);
+           printf("iter = %2d  after xor\n\t\tL1 R1 =", i);
+           des_cblock_print_file(dbg_tmp, stdout);
        }
 #endif
 
@@ -282,45 +286,44 @@ afs_int32 des_ecb_encrypt(afs_uint32 *clear, afs_uint32 *cipher,
        /* from S_in to S_out */
 
 #ifdef BITS16
-       *S_in_a_16_p = L1&0xffff;
-       *S_in_b_16_p = (L1>>16)&0xffff;
-       *S_in_c_16_p = R1&0xffff;
-       (*(afs_uint32 *) &S_out) =
-           (unsigned) S_adj[0][S_in_16_a.b0];
-       S_out.b1 = (unsigned) S_adj[1][S_in_16_a.b1];
+       *S_in_a_16_p = L1 & 0xffff;
+       *S_in_b_16_p = (L1 >> 16) & 0xffff;
+       *S_in_c_16_p = R1 & 0xffff;
+       (*(afs_uint32 *) & S_out) = (unsigned)S_adj[0][S_in_16_a.b0];
+       S_out.b1 = (unsigned)S_adj[1][S_in_16_a.b1];
        /* b2 spans two words */
        S_out.b2 = (unsigned)
-           S_adj[2][(unsigned) S_in_16_a.b2
-                    + (((unsigned) S_in_16_b.b2) << 4)];
-       S_out.b3 = (unsigned) S_adj[3][S_in_16_b.b3];
-       S_out.b4 = (unsigned) S_adj[4][S_in_16_b.b4];
+           S_adj[2][(unsigned)S_in_16_a.b2 +
+                    (((unsigned)S_in_16_b.b2) << 4)];
+       S_out.b3 = (unsigned)S_adj[3][S_in_16_b.b3];
+       S_out.b4 = (unsigned)S_adj[4][S_in_16_b.b4];
        /* b5 spans both parts */
        S_out.b5 = (unsigned)
-           S_adj[5][(unsigned) S_in_16_b.b5
-                    + (((unsigned) S_in_16_c.b5) << 2)];
-       S_out.b6 = (unsigned) S_adj[6][S_in_16_c.b6];
-       S_out.b7 = (unsigned) S_adj[7][S_in_16_c.b7];
+           S_adj[5][(unsigned)S_in_16_b.b5 +
+                    (((unsigned)S_in_16_c.b5) << 2)];
+       S_out.b6 = (unsigned)S_adj[6][S_in_16_c.b6];
+       S_out.b7 = (unsigned)S_adj[7][S_in_16_c.b7];
        R1 = *S_out_p;
 #else
        /* is a 32 bit sys */
 #ifndef VAXASM
-       R2 =  (unsigned) S_adj[0][L1 & 077];
-       L2 = (unsigned) S_adj[1][(L1 >> 6) & 077];
-       R2 |= (L2 <<4 );
-       L2 = (unsigned) S_adj[2][(L1 >> 12) & 077];
-       R2 |= (L2 <<8);
-       L2 = (unsigned) S_adj[3][(L1 >> 18) & 077];
-       R2 |= (L2 <<12);
-       L2 = (unsigned) S_adj[4][(L1 >> 24) & 077];
-       R2 |= (L2 <<16);
+       R2 = (unsigned)S_adj[0][L1 & 077];
+       L2 = (unsigned)S_adj[1][(L1 >> 6) & 077];
+       R2 |= (L2 << 4);
+       L2 = (unsigned)S_adj[2][(L1 >> 12) & 077];
+       R2 |= (L2 << 8);
+       L2 = (unsigned)S_adj[3][(L1 >> 18) & 077];
+       R2 |= (L2 << 12);
+       L2 = (unsigned)S_adj[4][(L1 >> 24) & 077];
+       R2 |= (L2 << 16);
        /* b5 spans both parts */
        L2 = (unsigned)
-           S_adj[5][(unsigned) ((L1 >>30) & 03) + ((R1 & 017) << 2)];
+           S_adj[5][(unsigned)((L1 >> 30) & 03) + ((R1 & 017) << 2)];
        R2 |= (L2 << 20);
-       L2 = (unsigned) S_adj[6][(R1 >> 4) & 077];
-       R2 |= (L2 <<24);
-       L2 = (unsigned) S_adj[7][(R1 >> 10) & 077];
-       R1 = R2 | (L2 <<28);
+       L2 = (unsigned)S_adj[6][(R1 >> 4) & 077];
+       R2 |= (L2 << 24);
+       L2 = (unsigned)S_adj[7][(R1 >> 10) & 077];
+       R1 = R2 | (L2 << 28);
        /* reset input to L1, R1 */
 #else /* vaxasm */
        /*
@@ -377,8 +380,8 @@ afs_int32 des_ecb_encrypt(afs_uint32 *clear, afs_uint32 *cipher,
            dbg_tmp[0] = L1;
            dbg_tmp[1] = R1;
            DBG_PRINT("after s");
-           printf("iter = %2d  after s\n\t\tL1 R1 = ",i);
-           des_cblock_print_file (dbg_tmp, stdout);
+           printf("iter = %2d  after s\n\t\tL1 R1 = ", i);
+           des_cblock_print_file(dbg_tmp, stdout);
        }
 #endif
 
@@ -393,8 +396,8 @@ afs_int32 des_ecb_encrypt(afs_uint32 *clear, afs_uint32 *cipher,
            dbg_tmp[0] = L1;
            dbg_tmp[1] = R1;
            DBG_PRINT("after p");
-           printf("iter = %2d  after p\n\t\tL1 R1 = ",i);
-           des_cblock_print_file (dbg_tmp, stdout);
+           printf("iter = %2d  after p\n\t\tL1 R1 = ", i);
+           des_cblock_print_file(dbg_tmp, stdout);
        }
 #endif
 
@@ -419,10 +422,9 @@ afs_int32 des_ecb_encrypt(afs_uint32 *clear, afs_uint32 *cipher,
        dbg_tmp[0] = L1;
        dbg_tmp[1] = R1;
        DBG_PRINT("before FP");
-       printf("iter = %2d  before FP\n\t\tL1 R1 = ",i);
-       des_cblock_print_file (dbg_tmp, stdout);
+       printf("iter = %2d  before FP\n\t\tL1 R1 = ", i);
+       des_cblock_print_file(dbg_tmp, stdout);
     }
-
 #endif
 
 /*FP_start:*/
@@ -436,12 +438,11 @@ afs_int32 des_ecb_encrypt(afs_uint32 *clear, afs_uint32 *cipher,
 
 #ifdef MUSTALIGN
     if ((afs_int32) cipher & 3) {
-       L_save = L2;    /* cant bcopy a reg */
+       L_save = L2;            /* cant bcopy a reg */
        R_save = R2;
        memcpy((char *)cipher++, (char *)&L_save, sizeof(L_save));
        memcpy((char *)cipher, (char *)&R_save, sizeof(R_save));
-    }
-    else
+    } else
 #endif
     {
        *cipher++ = L2;
@@ -455,12 +456,11 @@ afs_int32 des_ecb_encrypt(afs_uint32 *clear, afs_uint32 *cipher,
        dbg_tmp[0] = L1;
        dbg_tmp[1] = R1;
        DBG_PRINT("done");
-       printf("iter = %2d  done\n\t\tL1 R1 = ",i);
-       des_cblock_print_file (dbg_tmp, stdout);
+       printf("iter = %2d  done\n\t\tL1 R1 = ", i);
+       des_cblock_print_file(dbg_tmp, stdout);
     }
 #endif
 
     /* that's it, no errors can be returned */
     return 0;
 }
-