]> git.sommitrealweird.co.uk Git - onak.git/blobdiff - armor.c
Log total received key count.
[onak.git] / armor.c
diff --git a/armor.c b/armor.c
index 343f9d6779bb6ab81d58f832c49161edccce672a..6d3fc138f6bee1445f9ac9fea4a0f20139723468 100644 (file)
--- a/armor.c
+++ b/armor.c
@@ -6,11 +6,11 @@
  * Copyright 2002 Project Purple
  */
 
  * Copyright 2002 Project Purple
  */
 
-#include <assert.h>
 #include <stdlib.h>
 
 #include "armor.h"
 #include "keystructs.h"
 #include <stdlib.h>
 
 #include "armor.h"
 #include "keystructs.h"
+#include "log.h"
 #include "onak-conf.h"
 #include "parsekey.h"
 
 #include "onak-conf.h"
 #include "parsekey.h"
 
@@ -34,7 +34,7 @@ static unsigned char encode64(unsigned char c) {
        } else if (c == 63) {
                c = '/';
        } else {
        } else if (c == 63) {
                c = '/';
        } else {
-               assert(c < 64);
+               log_assert(c < 64);
        }
 
        return c;
        }
 
        return c;
@@ -100,16 +100,28 @@ static void armor_finish(struct armor_context *state)
                state->putchar_func(state->ctx, 1, &c);
                state->putchar_func(state->ctx, 1, (unsigned char *) "=");
                state->putchar_func(state->ctx, 1, (unsigned char *) "=");
                state->putchar_func(state->ctx, 1, &c);
                state->putchar_func(state->ctx, 1, (unsigned char *) "=");
                state->putchar_func(state->ctx, 1, (unsigned char *) "=");
+               state->count += 3;
+               if ((state->count % ARMOR_WIDTH) == 0) {
+                       state->putchar_func(state->ctx, 1,
+                                (unsigned char *) "\n");
+               }
                break;
        case 2:
                c = encode64((state->lastoctet & 0xF) << 2);
                state->putchar_func(state->ctx, 1, &c);
                state->putchar_func(state->ctx, 1, (unsigned char *) "=");
                break;
        case 2:
                c = encode64((state->lastoctet & 0xF) << 2);
                state->putchar_func(state->ctx, 1, &c);
                state->putchar_func(state->ctx, 1, (unsigned char *) "=");
+               state->count += 2;
+               if ((state->count % ARMOR_WIDTH) == 0) {
+                       state->putchar_func(state->ctx, 1,
+                                (unsigned char *) "\n");
+               }
                break;
        }
 
        state->crc24 &= 0xffffffL;
                break;
        }
 
        state->crc24 &= 0xffffffL;
-       state->putchar_func(state->ctx, 1, (unsigned char *) "\n");
+       if ((state->count % ARMOR_WIDTH) != 0) {
+               state->putchar_func(state->ctx, 1, (unsigned char *) "\n");
+       }
        state->putchar_func(state->ctx, 1, (unsigned char *) "=");
        c = encode64(state->crc24 >> 18);
        state->putchar_func(state->ctx, 1, &c);
        state->putchar_func(state->ctx, 1, (unsigned char *) "=");
        c = encode64(state->crc24 >> 18);
        state->putchar_func(state->ctx, 1, &c);
@@ -130,7 +142,7 @@ static int armor_putchar_int(void *ctx, unsigned char c)
        unsigned char t;
        int i;
 
        unsigned char t;
        int i;
 
-       assert(ctx != NULL);
+       log_assert(ctx != NULL);
        state = (struct armor_context *) ctx;
 
        switch (state->curoctet++) {
        state = (struct armor_context *) ctx;
 
        switch (state->curoctet++) {
@@ -209,16 +221,19 @@ static void dearmor_init(struct dearmor_context *ctx)
 
 static void dearmor_finish(struct dearmor_context *state)
 {
 
 static void dearmor_finish(struct dearmor_context *state)
 {
-       // Check the checksum,
+       /*
+        * Check the checksum
+        */
 
        state->crc24 &= 0xffffffL;
 
        state->crc24 &= 0xffffffL;
-//     state->putchar_func(state->ctx, '\n');
-//     state->putchar_func(state->ctx, '=');
-//     state->putchar_func(state->ctx, encode64(state->crc24 >> 18));
-//     state->putchar_func(state->ctx, encode64((state->crc24 >> 12) & 0x3F));
-//     state->putchar_func(state->ctx, encode64((state->crc24 >> 6) & 0x3F));
-//     state->putchar_func(state->ctx, encode64(state->crc24 & 0x3F));
-
+       /*
+       state->putchar_func(state->ctx, '\n');
+       state->putchar_func(state->ctx, '=');
+       state->putchar_func(state->ctx, encode64(state->crc24 >> 18));
+       state->putchar_func(state->ctx, encode64((state->crc24 >> 12) & 0x3F));
+       state->putchar_func(state->ctx, encode64((state->crc24 >> 6) & 0x3F));
+       state->putchar_func(state->ctx, encode64(state->crc24 & 0x3F));
+       */
 }
 
 
 }
 
 
@@ -228,7 +243,7 @@ static int dearmor_getchar(void *ctx, unsigned char *c)
        unsigned char tmpc;
        int i;
 
        unsigned char tmpc;
        int i;
 
-       assert(ctx != NULL);
+       log_assert(ctx != NULL);
        state = (struct dearmor_context *) ctx;
        *c = 0;
        
        state = (struct dearmor_context *) ctx;
        *c = 0;
        
@@ -391,9 +406,12 @@ int dearmor_openpgp_stream(int (*getchar_func)(void *ctx, size_t count,
                dearmor_init(&dearmor_ctx);
                dearmor_ctx.getchar_func = getchar_func;
                dearmor_ctx.ctx = ctx;
                dearmor_init(&dearmor_ctx);
                dearmor_ctx.getchar_func = getchar_func;
                dearmor_ctx.ctx = ctx;
-               read_openpgp_stream(dearmor_getchar_c, &dearmor_ctx, packets);
+               read_openpgp_stream(dearmor_getchar_c, &dearmor_ctx,
+                       packets, 0);
                dearmor_finish(&dearmor_ctx);
                dearmor_finish(&dearmor_ctx);
-               // TODO: Look for armor footer
+               /*
+                * TODO: Look for armor footer
+                */
        }
 
        return 0;
        }
 
        return 0;