More KNF.
authorjsing <jsing@openbsd.org>
Sat, 19 Apr 2014 13:29:11 +0000 (13:29 +0000)
committerjsing <jsing@openbsd.org>
Sat, 19 Apr 2014 13:29:11 +0000 (13:29 +0000)
lib/libcrypto/asn1/a_time.c
lib/libcrypto/asn1/a_type.c
lib/libcrypto/asn1/a_utctm.c
lib/libcrypto/asn1/a_utf8.c
lib/libcrypto/asn1/a_verify.c
lib/libssl/src/crypto/asn1/a_time.c
lib/libssl/src/crypto/asn1/a_type.c
lib/libssl/src/crypto/asn1/a_utctm.c
lib/libssl/src/crypto/asn1/a_utf8.c
lib/libssl/src/crypto/asn1/a_verify.c

index 1978e8d..29d56b8 100644 (file)
@@ -7,7 +7,7 @@
  * are met:
  *
  * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
+ *    notice, this list of conditions and the following disclaimer.
  *
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in
@@ -72,43 +72,45 @@ IMPLEMENT_ASN1_MSTRING(ASN1_TIME, B_ASN1_TIME)
 IMPLEMENT_ASN1_FUNCTIONS(ASN1_TIME)
 
 #if 0
-int i2d_ASN1_TIME(ASN1_TIME *a, unsigned char **pp)
+int
+i2d_ASN1_TIME(ASN1_TIME *a, unsigned char **pp)
 {
-       if(a->type == V_ASN1_UTCTIME || a->type == V_ASN1_GENERALIZEDTIME)
-                               return(i2d_ASN1_bytes((ASN1_STRING *)a,pp,
-                                    a->type ,V_ASN1_UNIVERSAL));
-       ASN1err(ASN1_F_I2D_ASN1_TIME,ASN1_R_EXPECTING_A_TIME);
+       if (a->type == V_ASN1_UTCTIME || a->type == V_ASN1_GENERALIZEDTIME)
+               return(i2d_ASN1_bytes((ASN1_STRING *)a, pp,
+                   a->type, V_ASN1_UNIVERSAL));
+       ASN1err(ASN1_F_I2D_ASN1_TIME, ASN1_R_EXPECTING_A_TIME);
        return -1;
 }
 #endif
 
-
-ASN1_TIME *ASN1_TIME_set(ASN1_TIME *s, time_t t)
+ASN1_TIME *
+ASN1_TIME_set(ASN1_TIME *s, time_t t)
 {
        return ASN1_TIME_adj(s, t, 0, 0);
 }
 
-ASN1_TIME *ASN1_TIME_adj(ASN1_TIME *s, time_t t,
-                               int offset_day, long offset_sec)
+ASN1_TIME *
+ASN1_TIME_adj(ASN1_TIME *s, time_t t, int offset_day, long offset_sec)
 {
        struct tm *ts;
        struct tm data;
 
-       ts=gmtime_r(&t,&data);
+       ts = gmtime_r(&t, &data);
        if (ts == NULL) {
                ASN1err(ASN1_F_ASN1_TIME_ADJ, ASN1_R_ERROR_GETTING_TIME);
                return NULL;
        }
-       if (offset_day || offset_sec) { 
+       if (offset_day || offset_sec) {
                if (!OPENSSL_gmtime_adj(ts, offset_day, offset_sec))
                        return NULL;
        }
-       if((ts->tm_year >= 50) && (ts->tm_year < 150))
-                       return ASN1_UTCTIME_adj(s, t, offset_day, offset_sec);
+       if ((ts->tm_year >= 50) && (ts->tm_year < 150))
+               return ASN1_UTCTIME_adj(s, t, offset_day, offset_sec);
        return ASN1_GENERALIZEDTIME_adj(s, t, offset_day, offset_sec);
 }
 
-int ASN1_TIME_check(ASN1_TIME *t)
+int
+ASN1_TIME_check(ASN1_TIME *t)
 {
        if (t->type == V_ASN1_GENERALIZEDTIME)
                return ASN1_GENERALIZEDTIME_check(t);
@@ -118,24 +120,27 @@ int ASN1_TIME_check(ASN1_TIME *t)
 }
 
 /* Convert an ASN1_TIME structure to GeneralizedTime */
-ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(ASN1_TIME *t, ASN1_GENERALIZEDTIME **out)
+ASN1_GENERALIZEDTIME *
+ASN1_TIME_to_generalizedtime(ASN1_TIME *t, ASN1_GENERALIZEDTIME **out)
 {
        ASN1_GENERALIZEDTIME *ret;
        char *str;
        int newlen;
 
-       if (!ASN1_TIME_check(t)) return NULL;
+       if (!ASN1_TIME_check(t))
+               return NULL;
 
        if (!out || !*out) {
                if (!(ret = ASN1_GENERALIZEDTIME_new ()))
                        return NULL;
-               if (out) *out = ret;
-       }
-       else ret = *out;
+               if (out)
+                       *out = ret;
+       } else
+               ret = *out;
 
        /* If already GeneralizedTime just copy across */
        if (t->type == V_ASN1_GENERALIZEDTIME) {
-               if(!ASN1_STRING_set(ret, t->data, t->length))
+               if (!ASN1_STRING_set(ret, t->data, t->length))
                        return NULL;
                return ret;
        }
@@ -147,22 +152,24 @@ ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(ASN1_TIME *t, ASN1_GENERALIZE
        newlen = t->length + 2 + 1;
        str = (char *)ret->data;
        /* Work out the century and prepend */
-       if (t->data[0] >= '5') strlcpy(str, "19", newlen);
-       else strlcpy(str, "20", newlen);
-
+       if (t->data[0] >= '5')
+               strlcpy(str, "19", newlen);
+       else
+               strlcpy(str, "20", newlen);
        strlcat(str, (char *)t->data, newlen);
 
        return ret;
 }
 
-int ASN1_TIME_set_string(ASN1_TIME *s, const char *str)
+int
+ASN1_TIME_set_string(ASN1_TIME *s, const char *str)
 {
        ASN1_TIME t;
 
        t.length = strlen(str);
        t.data = (unsigned char *)str;
        t.flags = 0;
-       
+
        t.type = V_ASN1_UTCTIME;
 
        if (!ASN1_TIME_check(&t)) {
@@ -170,9 +177,9 @@ int ASN1_TIME_set_string(ASN1_TIME *s, const char *str)
                if (!ASN1_TIME_check(&t))
                        return 0;
        }
-       
+
        if (s && !ASN1_STRING_copy((ASN1_STRING *)s, (ASN1_STRING *)&t))
-                       return 0;
+               return 0;
 
        return 1;
 }
index dd746e9..93c6be9 100644 (file)
@@ -5,21 +5,21 @@
  * This package is an SSL implementation written
  * by Eric Young (eay@cryptsoft.com).
  * The implementation was written so as to conform with Netscapes SSL.
- * 
+ *
  * This library is free for commercial and non-commercial use as long as
  * the following conditions are aheared to.  The following conditions
  * apply to all code found in this distribution, be it the RC4, RSA,
  * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
  * included with this distribution is covered by the same copyright terms
  * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
+ *
  * Copyright remains Eric Young's, and as such any Copyright notices in
  * the code are not to be removed.
  * If this package is used in a product, Eric Young should be given attribution
  * as the author of the parts of the library used.
  * This can be in the form of a textual message at program startup or
  * in documentation (online or textual) provided with the package.
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
  *     Eric Young (eay@cryptsoft.com)"
  *    The word 'cryptographic' can be left out if the rouines from the library
  *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
+ * 4. If you include any Windows specific code (or a derivative thereof) from
  *    the apps directory (application code) you must include an acknowledgement:
  *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
+ *
  * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -49,7 +49,7 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- * 
+ *
  * The licence and distribution terms for any publically available version or
  * derivative of this code cannot be changed.  i.e. this code cannot simply be
  * copied and put under another distribution licence
 #include <openssl/asn1t.h>
 #include <openssl/objects.h>
 
-int ASN1_TYPE_get(ASN1_TYPE *a)
+int
+ASN1_TYPE_get(ASN1_TYPE *a)
 {
        if ((a->value.ptr != NULL) || (a->type == V_ASN1_NULL))
-               return(a->type);
+               return (a->type);
        else
-               return(0);
+               return (0);
 }
 
-void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value)
+void
+ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value)
 {
        if (a->value.ptr != NULL) {
                ASN1_TYPE **tmp_a = &a;
                ASN1_primitive_free((ASN1_VALUE **)tmp_a, NULL);
        }
-       a->type=type;
+       a->type = type;
        if (type == V_ASN1_BOOLEAN)
                a->value.boolean = value ? 0xff : 0;
        else
-               a->value.ptr=value;
+               a->value.ptr = value;
 }
 
-int ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value)
+int
+ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value)
 {
        if (!value || (type == V_ASN1_BOOLEAN)) {
                void *p = (void *)value;
@@ -107,19 +110,23 @@ IMPLEMENT_STACK_OF(ASN1_TYPE)
 IMPLEMENT_ASN1_SET_OF(ASN1_TYPE)
 
 /* Returns 0 if they are equal, != 0 otherwise. */
-int ASN1_TYPE_cmp(ASN1_TYPE *a, ASN1_TYPE *b)
+int
+ASN1_TYPE_cmp(ASN1_TYPE *a, ASN1_TYPE *b)
 {
        int result = -1;
 
-       if (!a || !b || a->type != b->type) return -1;
+       if (!a || !b || a->type != b->type)
+               return -1;
 
        switch (a->type) {
        case V_ASN1_OBJECT:
                result = OBJ_cmp(a->value.object, b->value.object);
                break;
+
        case V_ASN1_NULL:
                result = 0;     /* They do not have content. */
                break;
+
        case V_ASN1_INTEGER:
        case V_ASN1_NEG_INTEGER:
        case V_ASN1_ENUMERATED:
@@ -143,8 +150,8 @@ int ASN1_TYPE_cmp(ASN1_TYPE *a, ASN1_TYPE *b)
        case V_ASN1_UTF8STRING:
        case V_ASN1_OTHER:
        default:
-               result = ASN1_STRING_cmp((ASN1_STRING *) a->value.ptr,
-                                        (ASN1_STRING *) b->value.ptr);
+               result = ASN1_STRING_cmp((ASN1_STRING *)a->value.ptr,
+                   (ASN1_STRING *)b->value.ptr);
                break;
        }
 
index 0120b95..0cd0382 100644 (file)
@@ -5,21 +5,21 @@
  * This package is an SSL implementation written
  * by Eric Young (eay@cryptsoft.com).
  * The implementation was written so as to conform with Netscapes SSL.
- * 
+ *
  * This library is free for commercial and non-commercial use as long as
  * the following conditions are aheared to.  The following conditions
  * apply to all code found in this distribution, be it the RC4, RSA,
  * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
  * included with this distribution is covered by the same copyright terms
  * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
+ *
  * Copyright remains Eric Young's, and as such any Copyright notices in
  * the code are not to be removed.
  * If this package is used in a product, Eric Young should be given attribution
  * as the author of the parts of the library used.
  * This can be in the form of a textual message at program startup or
  * in documentation (online or textual) provided with the package.
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
  *     Eric Young (eay@cryptsoft.com)"
  *    The word 'cryptographic' can be left out if the rouines from the library
  *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
+ * 4. If you include any Windows specific code (or a derivative thereof) from
  *    the apps directory (application code) you must include an acknowledgement:
  *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
+ *
  * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -49,7 +49,7 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- * 
+ *
  * The licence and distribution terms for any publically available version or
  * derivative of this code cannot be changed.  i.e. this code cannot simply be
  * copied and put under another distribution licence
 #include <openssl/asn1.h>
 
 #if 0
-int i2d_ASN1_UTCTIME(ASN1_UTCTIME *a, unsigned char **pp)
+int
+i2d_ASN1_UTCTIME(ASN1_UTCTIME *a, unsigned char **pp)
 {
-       return(i2d_ASN1_bytes((ASN1_STRING *)a,pp,
-               V_ASN1_UTCTIME,V_ASN1_UNIVERSAL));
+       return(i2d_ASN1_bytes((ASN1_STRING *)a, pp,
+           V_ASN1_UTCTIME, V_ASN1_UNIVERSAL));
 }
 
-
-ASN1_UTCTIME *d2i_ASN1_UTCTIME(ASN1_UTCTIME **a, unsigned char **pp,
-            long length)
+ASN1_UTCTIME *
+d2i_ASN1_UTCTIME(ASN1_UTCTIME **a, unsigned char **pp, long length)
 {
-       ASN1_UTCTIME *ret=NULL;
+       ASN1_UTCTIME *ret = NULL;
 
-       ret=(ASN1_UTCTIME *)d2i_ASN1_bytes((ASN1_STRING **)a,pp,length,
-               V_ASN1_UTCTIME,V_ASN1_UNIVERSAL);
+       ret = (ASN1_UTCTIME *)d2i_ASN1_bytes((ASN1_STRING **)a, pp, length,
+           V_ASN1_UTCTIME, V_ASN1_UNIVERSAL);
        if (ret == NULL) {
-               ASN1err(ASN1_F_D2I_ASN1_UTCTIME,ERR_R_NESTED_ASN1_ERROR);
-               return(NULL);
+               ASN1err(ASN1_F_D2I_ASN1_UTCTIME, ERR_R_NESTED_ASN1_ERROR);
+               return (NULL);
        }
        if (!ASN1_UTCTIME_check(ret)) {
-               ASN1err(ASN1_F_D2I_ASN1_UTCTIME,ASN1_R_INVALID_TIME_FORMAT);
+               ASN1err(ASN1_F_D2I_ASN1_UTCTIME, ASN1_R_INVALID_TIME_FORMAT);
                goto err;
        }
+       return (ret);
 
-       return(ret);
 err:
        if ((ret != NULL) && ((a == NULL) || (*a != ret)))
                M_ASN1_UTCTIME_free(ret);
-       return(NULL);
+       return (NULL);
 }
 
 #endif
 
-int ASN1_UTCTIME_check(ASN1_UTCTIME *d)
+int
+ASN1_UTCTIME_check(ASN1_UTCTIME *d)
 {
-       static const int min[8]={ 0, 1, 1, 0, 0, 0, 0, 0};
-       static const int max[8]={99,12,31,23,59,59,12,59};
+       static const int min[8] = {0, 1, 1, 0, 0, 0, 0, 0};
+       static const int max[8] = {99, 12, 31, 23, 59, 59, 12, 59};
        char *a;
-       int n,i,l,o;
+       int n, i, l, o;
+
+       if (d->type != V_ASN1_UTCTIME)
+               return (0);
+       l = d->length;
+       a = (char *)d->data;
+       o = 0;
 
-       if (d->type != V_ASN1_UTCTIME) return(0);
-       l=d->length;
-       a=(char *)d->data;
-       o=0;
+       if (l < 11)
 
-       if (l < 11) goto err;
-       for (i=0; i<6; i++) {
+               goto err;
+       for (i = 0; i < 6; i++) {
                if ((i == 5) && ((a[o] == 'Z') ||
                    (a[o] == '+') || (a[o] == '-'))) {
                        i++;
                        break;
                }
-               if ((a[o] < '0') || (a[o] > '9')) goto err;
-               n= a[o]-'0';
-               if (++o > l) goto err;
-
-               if ((a[o] < '0') || (a[o] > '9')) goto err;
-               n=(n*10)+ a[o]-'0';
-               if (++o > l) goto err;
-
-               if ((n < min[i]) || (n > max[i])) goto err;
+               if ((a[o] < '0') || (a[o] > '9'))
+                       goto err;
+               n = a[o]-'0';
+               if (++o > l)
+                       goto err;
+               if ((a[o] < '0') || (a[o] > '9'))
+                       goto err;
+               n = (n * 10) + a[o] - '0';
+               if (++o > l)
+                       goto err;
+               if ((n < min[i]) || (n > max[i]))
+                       goto err;
        }
        if (a[o] == 'Z')
                o++;
        else if ((a[o] == '+') || (a[o] == '-')) {
                o++;
-               if (o+4 > l) goto err;
-               for (i=6; i<8; i++) {
-                       if ((a[o] < '0') || (a[o] > '9')) goto err;
-                       n= a[o]-'0';
+               if (o + 4 > l)
+                       goto err;
+               for (i = 6; i < 8; i++) {
+                       if ((a[o] < '0') || (a[o] > '9'))
+                               goto err;
+                       n = a[o] -'0';
                        o++;
-                       if ((a[o] < '0') || (a[o] > '9')) goto err;
-                       n=(n*10)+ a[o]-'0';
-                       if ((n < min[i]) || (n > max[i])) goto err;
+                       if ((a[o] < '0') || (a[o] > '9'))
+                               goto err;
+                       n = (n * 10) + a[o] - '0';
+                       if ((n < min[i]) || (n > max[i]))
+                               goto err;
                        o++;
                }
        }
-       return(o == l);
+       return (o == l);
+
 err:
-       return(0);
+       return (0);
 }
 
-int ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str)
+int
+ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str)
 {
        ASN1_UTCTIME t;
 
-       t.type=V_ASN1_UTCTIME;
-       t.length=strlen(str);
-       t.data=(unsigned char *)str;
+       t.type = V_ASN1_UTCTIME;
+       t.length = strlen(str);
+       t.data = (unsigned char *)str;
        if (ASN1_UTCTIME_check(&t)) {
                if (s != NULL) {
                        if (!ASN1_STRING_set((ASN1_STRING *)s,
-                               (unsigned char *)str,t.length))
+                           (unsigned char *)str, t.length))
                                return 0;
                        s->type = V_ASN1_UTCTIME;
                }
-               return(1);
+               return (1);
        } else
-               return(0);
+               return (0);
 }
 
-ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t)
+ASN1_UTCTIME *
+ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t)
 {
        return ASN1_UTCTIME_adj(s, t, 0, 0);
 }
 
-ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t,
-                               int offset_day, long offset_sec)
+ASN1_UTCTIME *
+ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, int offset_day, long offset_sec)
 {
        char *p;
        struct tm *ts;
@@ -177,43 +191,43 @@ ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t,
        size_t len = 20;
 
        if (s == NULL)
-               s=M_ASN1_UTCTIME_new();
+               s = M_ASN1_UTCTIME_new();
        if (s == NULL)
-               return(NULL);
+               return (NULL);
 
-       ts=gmtime_r(&t, &data);
+       ts = gmtime_r(&t, &data);
        if (ts == NULL)
-               return(NULL);
+               return (NULL);
 
-       if (offset_day || offset_sec) { 
+       if (offset_day || offset_sec) {
                if (!OPENSSL_gmtime_adj(ts, offset_day, offset_sec))
                        return NULL;
        }
 
-       if((ts->tm_year < 50) || (ts->tm_year >= 150))
+       if ((ts->tm_year < 50) || (ts->tm_year >= 150))
                return NULL;
 
-       p=(char *)s->data;
+       p = (char *)s->data;
        if ((p == NULL) || ((size_t)s->length < len)) {
-               p=malloc(len);
+               p = malloc(len);
                if (p == NULL) {
-                       ASN1err(ASN1_F_ASN1_UTCTIME_ADJ,ERR_R_MALLOC_FAILURE);
-                       return(NULL);
+                       ASN1err(ASN1_F_ASN1_UTCTIME_ADJ, ERR_R_MALLOC_FAILURE);
+                       return (NULL);
                }
                if (s->data != NULL)
                        free(s->data);
-               s->data=(unsigned char *)p;
+               s->data = (unsigned char *)p;
        }
 
-       snprintf(p,len,"%02d%02d%02d%02d%02d%02dZ",ts->tm_year%100,
-                    ts->tm_mon+1,ts->tm_mday,ts->tm_hour,ts->tm_min,ts->tm_sec);
-       s->length=strlen(p);
-       s->type=V_ASN1_UTCTIME;
-       return(s);
+       snprintf(p, len, "%02d%02d%02d%02d%02d%02dZ", ts->tm_year % 100,
+           ts->tm_mon + 1, ts->tm_mday, ts->tm_hour, ts->tm_min, ts->tm_sec);
+       s->length = strlen(p);
+       s->type = V_ASN1_UTCTIME;
+       return (s);
 }
 
-
-int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t)
+int
+ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t)
 {
        struct tm *tm;
        struct tm data;
@@ -223,57 +237,57 @@ int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t)
 #define g2(p) (((p)[0]-'0')*10+(p)[1]-'0')
 
        if (s->data[12] == 'Z')
-               offset=0;
+               offset = 0;
        else {
-               offset = g2(s->data+13)*60+g2(s->data+15);
+               offset = g2(s->data + 13)*60 + g2(s->data + 15);
                if (s->data[12] == '-')
                        offset = -offset;
        }
 
-       t -= offset*60; /* FIXME: may overflow in extreme cases */
+       t -= offset * 60; /* FIXME: may overflow in extreme cases */
 
        tm = gmtime_r(&t, &data);
-       
+
 #define return_cmp(a,b) if ((a)<(b)) return -1; else if ((a)>(b)) return 1
        year = g2(s->data);
        if (year < 50)
                year += 100;
-       return_cmp(year,              tm->tm_year);
-       return_cmp(g2(s->data+2) - 1, tm->tm_mon);
-       return_cmp(g2(s->data+4),     tm->tm_mday);
-       return_cmp(g2(s->data+6),     tm->tm_hour);
-       return_cmp(g2(s->data+8),     tm->tm_min);
-       return_cmp(g2(s->data+10),    tm->tm_sec);
+       return_cmp(year, tm->tm_year);
+       return_cmp(g2(s->data + 2) - 1, tm->tm_mon);
+       return_cmp(g2(s->data + 4), tm->tm_mday);
+       return_cmp(g2(s->data + 6), tm->tm_hour);
+       return_cmp(g2(s->data + 8), tm->tm_min);
+       return_cmp(g2(s->data + 10), tm->tm_sec);
 #undef g2
 #undef return_cmp
 
        return 0;
 }
 
-
 #if 0
-time_t ASN1_UTCTIME_get(const ASN1_UTCTIME *s)
+time_t
+ASN1_UTCTIME_get(const ASN1_UTCTIME *s)
 {
        struct tm tm;
        int offset;
 
-       memset(&tm,'\0',sizeof tm);
+       memset(&tm, '\0', sizeof tm);
 
 #define g2(p) (((p)[0]-'0')*10+(p)[1]-'0')
-       tm.tm_year=g2(s->data);
-       if(tm.tm_year < 50)
-               tm.tm_year+=100;
-       tm.tm_mon=g2(s->data+2)-1;
-       tm.tm_mday=g2(s->data+4);
-       tm.tm_hour=g2(s->data+6);
-       tm.tm_min=g2(s->data+8);
-       tm.tm_sec=g2(s->data+10);
-       if(s->data[12] == 'Z')
-               offset=0;
+       tm.tm_year = g2(s->data);
+       if (tm.tm_year < 50)
+               tm.tm_year += 100;
+       tm.tm_mon = g2(s->data + 2) - 1;
+       tm.tm_mday = g2(s->data + 4);
+       tm.tm_hour = g2(s->data + 6);
+       tm.tm_min = g2(s->data + 8);
+       tm.tm_sec = g2(s->data + 10);
+       if (s->data[12] == 'Z')
+               offset = 0;
        else {
-               offset=g2(s->data+13)*60+g2(s->data+15);
-               if(s->data[12] == '-')
-                       offset= -offset;
+               offset = g2(s->data + 13) * 60 + g2(s->data + 15);
+               if (s->data[12] == '-')
+                       offset = -offset;
        }
 #undef g2
 
index 508e11e..c224db4 100644 (file)
@@ -5,21 +5,21 @@
  * This package is an SSL implementation written
  * by Eric Young (eay@cryptsoft.com).
  * The implementation was written so as to conform with Netscapes SSL.
- * 
+ *
  * This library is free for commercial and non-commercial use as long as
  * the following conditions are aheared to.  The following conditions
  * apply to all code found in this distribution, be it the RC4, RSA,
  * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
  * included with this distribution is covered by the same copyright terms
  * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
+ *
  * Copyright remains Eric Young's, and as such any Copyright notices in
  * the code are not to be removed.
  * If this package is used in a product, Eric Young should be given attribution
  * as the author of the parts of the library used.
  * This can be in the form of a textual message at program startup or
  * in documentation (online or textual) provided with the package.
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
  *     Eric Young (eay@cryptsoft.com)"
  *    The word 'cryptographic' can be left out if the rouines from the library
  *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
+ * 4. If you include any Windows specific code (or a derivative thereof) from
  *    the apps directory (application code) you must include an acknowledgement:
  *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
+ *
  * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -49,7 +49,7 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- * 
+ *
  * The licence and distribution terms for any publically available version or
  * derivative of this code cannot be changed.  i.e. this code cannot simply be
  * copied and put under another distribution licence
  * -4 = character encoded incorrectly (not minimal length).
  */
 
-int UTF8_getc(const unsigned char *str, int len, unsigned long *val)
+int
+UTF8_getc(const unsigned char *str, int len, unsigned long *val)
 {
        const unsigned char *p;
        unsigned long value;
        int ret;
-       if(len <= 0) return 0;
+       if (len <= 0)
+               return 0;
        p = str;
 
        /* Check syntax and work out the encoded value (if correct) */
-       if((*p & 0x80) == 0) {
+       if ((*p & 0x80) == 0) {
                value = *p++ & 0x7f;
                ret = 1;
-       } else if((*p & 0xe0) == 0xc0) {
-               if(len < 2) return -1;
-               if((p[1] & 0xc0) != 0x80) return -3;
+       } else if ((*p & 0xe0) == 0xc0) {
+               if (len < 2)
+                       return -1;
+               if ((p[1] & 0xc0) != 0x80)
+                       return -3;
                value = (*p++ & 0x1f) << 6;
                value |= *p++ & 0x3f;
-               if(value < 0x80) return -4;
+               if (value < 0x80)
+                       return -4;
                ret = 2;
-       } else if((*p & 0xf0) == 0xe0) {
-               if(len < 3) return -1;
-               if( ((p[1] & 0xc0) != 0x80)
-                  || ((p[2] & 0xc0) != 0x80) ) return -3;
+       } else if ((*p & 0xf0) == 0xe0) {
+               if (len < 3)
+                       return -1;
+               if (((p[1] & 0xc0) != 0x80) ||
+                   ((p[2] & 0xc0) != 0x80))
+                       return -3;
                value = (*p++ & 0xf) << 12;
                value |= (*p++ & 0x3f) << 6;
                value |= *p++ & 0x3f;
-               if(value < 0x800) return -4;
+               if (value < 0x800)
+                       return -4;
                ret = 3;
-       } else if((*p & 0xf8) == 0xf0) {
-               if(len < 4) return -1;
-               if( ((p[1] & 0xc0) != 0x80)
-                  || ((p[2] & 0xc0) != 0x80) 
-                  || ((p[3] & 0xc0) != 0x80) ) return -3;
+       } else if ((*p & 0xf8) == 0xf0) {
+               if (len < 4)
+                       return -1;
+               if (((p[1] & 0xc0) != 0x80) ||
+                   ((p[2] & 0xc0) != 0x80) ||
+                   ((p[3] & 0xc0) != 0x80))
+                       return -3;
                value = ((unsigned long)(*p++ & 0x7)) << 18;
                value |= (*p++ & 0x3f) << 12;
                value |= (*p++ & 0x3f) << 6;
                value |= *p++ & 0x3f;
-               if(value < 0x10000) return -4;
+               if (value < 0x10000)
+                       return -4;
                ret = 4;
-       } else if((*p & 0xfc) == 0xf8) {
-               if(len < 5) return -1;
-               if( ((p[1] & 0xc0) != 0x80)
-                  || ((p[2] & 0xc0) != 0x80) 
-                  || ((p[3] & 0xc0) != 0x80) 
-                  || ((p[4] & 0xc0) != 0x80) ) return -3;
+       } else if ((*p & 0xfc) == 0xf8) {
+               if (len < 5)
+                       return -1;
+               if (((p[1] & 0xc0) != 0x80) ||
+                   ((p[2] & 0xc0) != 0x80) ||
+                   ((p[3] & 0xc0) != 0x80) ||
+                   ((p[4] & 0xc0) != 0x80))
+                       return -3;
                value = ((unsigned long)(*p++ & 0x3)) << 24;
                value |= ((unsigned long)(*p++ & 0x3f)) << 18;
                value |= ((unsigned long)(*p++ & 0x3f)) << 12;
                value |= (*p++ & 0x3f) << 6;
                value |= *p++ & 0x3f;
-               if(value < 0x200000) return -4;
+               if (value < 0x200000)
+                       return -4;
                ret = 5;
-       } else if((*p & 0xfe) == 0xfc) {
-               if(len < 6) return -1;
-               if( ((p[1] & 0xc0) != 0x80)
-                  || ((p[2] & 0xc0) != 0x80) 
-                  || ((p[3] & 0xc0) != 0x80) 
-                  || ((p[4] & 0xc0) != 0x80) 
-                  || ((p[5] & 0xc0) != 0x80) ) return -3;
+       } else if ((*p & 0xfe) == 0xfc) {
+               if (len < 6)
+                       return -1;
+               if (((p[1] & 0xc0) != 0x80) ||
+                   ((p[2] & 0xc0) != 0x80) ||
+                   ((p[3] & 0xc0) != 0x80) ||
+                   ((p[4] & 0xc0) != 0x80) ||
+                   ((p[5] & 0xc0) != 0x80))
+                       return -3;
                value = ((unsigned long)(*p++ & 0x1)) << 30;
                value |= ((unsigned long)(*p++ & 0x3f)) << 24;
                value |= ((unsigned long)(*p++ & 0x3f)) << 18;
                value |= ((unsigned long)(*p++ & 0x3f)) << 12;
                value |= (*p++ & 0x3f) << 6;
                value |= *p++ & 0x3f;
-               if(value < 0x4000000) return -4;
+               if (value < 0x4000000)
+                       return -4;
                ret = 6;
        } else return -2;
-       *val = value;
+               *val = value;
        return ret;
 }
 
@@ -152,34 +169,41 @@ int UTF8_getc(const unsigned char *str, int len, unsigned long *val)
  * It will need at most 6 characters.
  */
 
-int UTF8_putc(unsigned char *str, int len, unsigned long value)
+int
+UTF8_putc(unsigned char *str, int len, unsigned long value)
 {
-       if(!str) len = 6;       /* Maximum we will need */
-       else if(len <= 0) return -1;
-       if(value < 0x80) {
-               if(str) *str = (unsigned char)value;
+       if (!str)
+               len = 6;        /* Maximum we will need */
+       else if (len <= 0)
+               return -1;
+       if (value < 0x80) {
+               if (str)
+                       *str = (unsigned char)value;
                return 1;
        }
-       if(value < 0x800) {
-               if(len < 2) return -1;
-               if(str) {
+       if (value < 0x800) {
+               if (len < 2)
+                       return -1;
+               if (str) {
                        *str++ = (unsigned char)(((value >> 6) & 0x1f) | 0xc0);
                        *str = (unsigned char)((value & 0x3f) | 0x80);
                }
                return 2;
        }
-       if(value < 0x10000) {
-               if(len < 3) return -1;
-               if(str) {
+       if (value < 0x10000) {
+               if (len < 3)
+                       return -1;
+               if (str) {
                        *str++ = (unsigned char)(((value >> 12) & 0xf) | 0xe0);
                        *str++ = (unsigned char)(((value >> 6) & 0x3f) | 0x80);
                        *str = (unsigned char)((value & 0x3f) | 0x80);
                }
                return 3;
        }
-       if(value < 0x200000) {
-               if(len < 4) return -1;
-               if(str) {
+       if (value < 0x200000) {
+               if (len < 4)
+                       return -1;
+               if (str) {
                        *str++ = (unsigned char)(((value >> 18) & 0x7) | 0xf0);
                        *str++ = (unsigned char)(((value >> 12) & 0x3f) | 0x80);
                        *str++ = (unsigned char)(((value >> 6) & 0x3f) | 0x80);
@@ -187,9 +211,10 @@ int UTF8_putc(unsigned char *str, int len, unsigned long value)
                }
                return 4;
        }
-       if(value < 0x4000000) {
-               if(len < 5) return -1;
-               if(str) {
+       if (value < 0x4000000) {
+               if (len < 5)
+                       return -1;
+               if (str) {
                        *str++ = (unsigned char)(((value >> 24) & 0x3) | 0xf8);
                        *str++ = (unsigned char)(((value >> 18) & 0x3f) | 0x80);
                        *str++ = (unsigned char)(((value >> 12) & 0x3f) | 0x80);
@@ -198,8 +223,9 @@ int UTF8_putc(unsigned char *str, int len, unsigned long value)
                }
                return 5;
        }
-       if(len < 6) return -1;
-       if(str) {
+       if (len < 6)
+               return -1;
+       if (str) {
                *str++ = (unsigned char)(((value >> 30) & 0x1) | 0xfc);
                *str++ = (unsigned char)(((value >> 24) & 0x3f) | 0x80);
                *str++ = (unsigned char)(((value >> 18) & 0x3f) | 0x80);
index 8df0b03..3b7bf05 100644 (file)
@@ -5,21 +5,21 @@
  * This package is an SSL implementation written
  * by Eric Young (eay@cryptsoft.com).
  * The implementation was written so as to conform with Netscapes SSL.
- * 
+ *
  * This library is free for commercial and non-commercial use as long as
  * the following conditions are aheared to.  The following conditions
  * apply to all code found in this distribution, be it the RC4, RSA,
  * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
  * included with this distribution is covered by the same copyright terms
  * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
+ *
  * Copyright remains Eric Young's, and as such any Copyright notices in
  * the code are not to be removed.
  * If this package is used in a product, Eric Young should be given attribution
  * as the author of the parts of the library used.
  * This can be in the form of a textual message at program startup or
  * in documentation (online or textual) provided with the package.
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
  *     Eric Young (eay@cryptsoft.com)"
  *    The word 'cryptographic' can be left out if the rouines from the library
  *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
+ * 4. If you include any Windows specific code (or a derivative thereof) from
  *    the apps directory (application code) you must include an acknowledgement:
  *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
+ *
  * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -49,7 +49,7 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- * 
+ *
  * The licence and distribution terms for any publically available version or
  * derivative of this code cannot be changed.  i.e. this code cannot simply be
  * copied and put under another distribution licence
 #include <openssl/buffer.h>
 #include <openssl/evp.h>
 
-int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
-               ASN1_BIT_STRING *signature, void *asn, EVP_PKEY *pkey)
+int
+ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
+    ASN1_BIT_STRING *signature, void *asn, EVP_PKEY *pkey)
 {
        EVP_MD_CTX ctx;
-       unsigned char *buf_in=NULL;
-       int ret= -1,inl;
+       unsigned char *buf_in = NULL;
+       int ret = -1, inl;
 
        int mdnid, pknid;
 
@@ -90,16 +91,18 @@ int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
 
        /* Convert signature OID into digest and public key OIDs */
        if (!OBJ_find_sigid_algs(OBJ_obj2nid(a->algorithm), &mdnid, &pknid)) {
-               ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM);
+               ASN1err(ASN1_F_ASN1_ITEM_VERIFY,
+                   ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM);
                goto err;
        }
        if (mdnid == NID_undef) {
                if (!pkey->ameth || !pkey->ameth->item_verify) {
-                       ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM);
+                       ASN1err(ASN1_F_ASN1_ITEM_VERIFY,
+                           ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM);
                        goto err;
                }
                ret = pkey->ameth->item_verify(&ctx, it, asn, a,
-                                                       signature, pkey);
+                   signature, pkey);
                /* Return value of 2 means carry on, anything else means we
                 * exit straight away: either a fatal error of the underlying
                 * verification routine handles all verification.
@@ -109,55 +112,56 @@ int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
                ret = -1;
        } else {
                const EVP_MD *type;
-               type=EVP_get_digestbynid(mdnid);
+               type = EVP_get_digestbynid(mdnid);
                if (type == NULL) {
-                       ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM);
+                       ASN1err(ASN1_F_ASN1_ITEM_VERIFY,
+                           ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM);
                        goto err;
                }
 
                /* Check public key OID matches public key type */
                if (EVP_PKEY_type(pknid) != pkey->ameth->pkey_id) {
-                       ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ASN1_R_WRONG_PUBLIC_KEY_TYPE);
+                       ASN1err(ASN1_F_ASN1_ITEM_VERIFY,
+                           ASN1_R_WRONG_PUBLIC_KEY_TYPE);
                        goto err;
                }
 
                if (!EVP_DigestVerifyInit(&ctx, NULL, type, NULL, pkey)) {
-                       ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ERR_R_EVP_LIB);
-                       ret=0;
+                       ASN1err(ASN1_F_ASN1_ITEM_VERIFY, ERR_R_EVP_LIB);
+                       ret = 0;
                        goto err;
                }
 
        }
 
        inl = ASN1_item_i2d(asn, &buf_in, it);
-       
+
        if (buf_in == NULL) {
-               ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ERR_R_MALLOC_FAILURE);
+               ASN1err(ASN1_F_ASN1_ITEM_VERIFY, ERR_R_MALLOC_FAILURE);
                goto err;
        }
 
-       if (!EVP_DigestVerifyUpdate(&ctx,buf_in,inl)) {
-               ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ERR_R_EVP_LIB);
-               ret=0;
+       if (!EVP_DigestVerifyUpdate(&ctx, buf_in, inl)) {
+               ASN1err(ASN1_F_ASN1_ITEM_VERIFY, ERR_R_EVP_LIB);
+               ret = 0;
                goto err;
        }
 
-       OPENSSL_cleanse(buf_in,(unsigned int)inl);
+       OPENSSL_cleanse(buf_in, (unsigned int)inl);
        free(buf_in);
 
-       if (EVP_DigestVerifyFinal(&ctx,signature->data,
-                       (size_t)signature->length) <= 0) {
-               ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ERR_R_EVP_LIB);
-               ret=0;
+       if (EVP_DigestVerifyFinal(&ctx, signature->data,
+           (size_t)signature->length) <= 0) {
+               ASN1err(ASN1_F_ASN1_ITEM_VERIFY, ERR_R_EVP_LIB);
+               ret = 0;
                goto err;
        }
        /* we don't need to zero the 'ctx' because we just checked
         * public information */
        /* memset(&ctx,0,sizeof(ctx)); */
-       ret=1;
+       ret = 1;
+
 err:
        EVP_MD_CTX_cleanup(&ctx);
-       return(ret);
+       return (ret);
 }
-
-
index 1978e8d..29d56b8 100644 (file)
@@ -7,7 +7,7 @@
  * are met:
  *
  * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
+ *    notice, this list of conditions and the following disclaimer.
  *
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in
@@ -72,43 +72,45 @@ IMPLEMENT_ASN1_MSTRING(ASN1_TIME, B_ASN1_TIME)
 IMPLEMENT_ASN1_FUNCTIONS(ASN1_TIME)
 
 #if 0
-int i2d_ASN1_TIME(ASN1_TIME *a, unsigned char **pp)
+int
+i2d_ASN1_TIME(ASN1_TIME *a, unsigned char **pp)
 {
-       if(a->type == V_ASN1_UTCTIME || a->type == V_ASN1_GENERALIZEDTIME)
-                               return(i2d_ASN1_bytes((ASN1_STRING *)a,pp,
-                                    a->type ,V_ASN1_UNIVERSAL));
-       ASN1err(ASN1_F_I2D_ASN1_TIME,ASN1_R_EXPECTING_A_TIME);
+       if (a->type == V_ASN1_UTCTIME || a->type == V_ASN1_GENERALIZEDTIME)
+               return(i2d_ASN1_bytes((ASN1_STRING *)a, pp,
+                   a->type, V_ASN1_UNIVERSAL));
+       ASN1err(ASN1_F_I2D_ASN1_TIME, ASN1_R_EXPECTING_A_TIME);
        return -1;
 }
 #endif
 
-
-ASN1_TIME *ASN1_TIME_set(ASN1_TIME *s, time_t t)
+ASN1_TIME *
+ASN1_TIME_set(ASN1_TIME *s, time_t t)
 {
        return ASN1_TIME_adj(s, t, 0, 0);
 }
 
-ASN1_TIME *ASN1_TIME_adj(ASN1_TIME *s, time_t t,
-                               int offset_day, long offset_sec)
+ASN1_TIME *
+ASN1_TIME_adj(ASN1_TIME *s, time_t t, int offset_day, long offset_sec)
 {
        struct tm *ts;
        struct tm data;
 
-       ts=gmtime_r(&t,&data);
+       ts = gmtime_r(&t, &data);
        if (ts == NULL) {
                ASN1err(ASN1_F_ASN1_TIME_ADJ, ASN1_R_ERROR_GETTING_TIME);
                return NULL;
        }
-       if (offset_day || offset_sec) { 
+       if (offset_day || offset_sec) {
                if (!OPENSSL_gmtime_adj(ts, offset_day, offset_sec))
                        return NULL;
        }
-       if((ts->tm_year >= 50) && (ts->tm_year < 150))
-                       return ASN1_UTCTIME_adj(s, t, offset_day, offset_sec);
+       if ((ts->tm_year >= 50) && (ts->tm_year < 150))
+               return ASN1_UTCTIME_adj(s, t, offset_day, offset_sec);
        return ASN1_GENERALIZEDTIME_adj(s, t, offset_day, offset_sec);
 }
 
-int ASN1_TIME_check(ASN1_TIME *t)
+int
+ASN1_TIME_check(ASN1_TIME *t)
 {
        if (t->type == V_ASN1_GENERALIZEDTIME)
                return ASN1_GENERALIZEDTIME_check(t);
@@ -118,24 +120,27 @@ int ASN1_TIME_check(ASN1_TIME *t)
 }
 
 /* Convert an ASN1_TIME structure to GeneralizedTime */
-ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(ASN1_TIME *t, ASN1_GENERALIZEDTIME **out)
+ASN1_GENERALIZEDTIME *
+ASN1_TIME_to_generalizedtime(ASN1_TIME *t, ASN1_GENERALIZEDTIME **out)
 {
        ASN1_GENERALIZEDTIME *ret;
        char *str;
        int newlen;
 
-       if (!ASN1_TIME_check(t)) return NULL;
+       if (!ASN1_TIME_check(t))
+               return NULL;
 
        if (!out || !*out) {
                if (!(ret = ASN1_GENERALIZEDTIME_new ()))
                        return NULL;
-               if (out) *out = ret;
-       }
-       else ret = *out;
+               if (out)
+                       *out = ret;
+       } else
+               ret = *out;
 
        /* If already GeneralizedTime just copy across */
        if (t->type == V_ASN1_GENERALIZEDTIME) {
-               if(!ASN1_STRING_set(ret, t->data, t->length))
+               if (!ASN1_STRING_set(ret, t->data, t->length))
                        return NULL;
                return ret;
        }
@@ -147,22 +152,24 @@ ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(ASN1_TIME *t, ASN1_GENERALIZE
        newlen = t->length + 2 + 1;
        str = (char *)ret->data;
        /* Work out the century and prepend */
-       if (t->data[0] >= '5') strlcpy(str, "19", newlen);
-       else strlcpy(str, "20", newlen);
-
+       if (t->data[0] >= '5')
+               strlcpy(str, "19", newlen);
+       else
+               strlcpy(str, "20", newlen);
        strlcat(str, (char *)t->data, newlen);
 
        return ret;
 }
 
-int ASN1_TIME_set_string(ASN1_TIME *s, const char *str)
+int
+ASN1_TIME_set_string(ASN1_TIME *s, const char *str)
 {
        ASN1_TIME t;
 
        t.length = strlen(str);
        t.data = (unsigned char *)str;
        t.flags = 0;
-       
+
        t.type = V_ASN1_UTCTIME;
 
        if (!ASN1_TIME_check(&t)) {
@@ -170,9 +177,9 @@ int ASN1_TIME_set_string(ASN1_TIME *s, const char *str)
                if (!ASN1_TIME_check(&t))
                        return 0;
        }
-       
+
        if (s && !ASN1_STRING_copy((ASN1_STRING *)s, (ASN1_STRING *)&t))
-                       return 0;
+               return 0;
 
        return 1;
 }
index dd746e9..93c6be9 100644 (file)
@@ -5,21 +5,21 @@
  * This package is an SSL implementation written
  * by Eric Young (eay@cryptsoft.com).
  * The implementation was written so as to conform with Netscapes SSL.
- * 
+ *
  * This library is free for commercial and non-commercial use as long as
  * the following conditions are aheared to.  The following conditions
  * apply to all code found in this distribution, be it the RC4, RSA,
  * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
  * included with this distribution is covered by the same copyright terms
  * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
+ *
  * Copyright remains Eric Young's, and as such any Copyright notices in
  * the code are not to be removed.
  * If this package is used in a product, Eric Young should be given attribution
  * as the author of the parts of the library used.
  * This can be in the form of a textual message at program startup or
  * in documentation (online or textual) provided with the package.
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
  *     Eric Young (eay@cryptsoft.com)"
  *    The word 'cryptographic' can be left out if the rouines from the library
  *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
+ * 4. If you include any Windows specific code (or a derivative thereof) from
  *    the apps directory (application code) you must include an acknowledgement:
  *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
+ *
  * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -49,7 +49,7 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- * 
+ *
  * The licence and distribution terms for any publically available version or
  * derivative of this code cannot be changed.  i.e. this code cannot simply be
  * copied and put under another distribution licence
 #include <openssl/asn1t.h>
 #include <openssl/objects.h>
 
-int ASN1_TYPE_get(ASN1_TYPE *a)
+int
+ASN1_TYPE_get(ASN1_TYPE *a)
 {
        if ((a->value.ptr != NULL) || (a->type == V_ASN1_NULL))
-               return(a->type);
+               return (a->type);
        else
-               return(0);
+               return (0);
 }
 
-void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value)
+void
+ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value)
 {
        if (a->value.ptr != NULL) {
                ASN1_TYPE **tmp_a = &a;
                ASN1_primitive_free((ASN1_VALUE **)tmp_a, NULL);
        }
-       a->type=type;
+       a->type = type;
        if (type == V_ASN1_BOOLEAN)
                a->value.boolean = value ? 0xff : 0;
        else
-               a->value.ptr=value;
+               a->value.ptr = value;
 }
 
-int ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value)
+int
+ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value)
 {
        if (!value || (type == V_ASN1_BOOLEAN)) {
                void *p = (void *)value;
@@ -107,19 +110,23 @@ IMPLEMENT_STACK_OF(ASN1_TYPE)
 IMPLEMENT_ASN1_SET_OF(ASN1_TYPE)
 
 /* Returns 0 if they are equal, != 0 otherwise. */
-int ASN1_TYPE_cmp(ASN1_TYPE *a, ASN1_TYPE *b)
+int
+ASN1_TYPE_cmp(ASN1_TYPE *a, ASN1_TYPE *b)
 {
        int result = -1;
 
-       if (!a || !b || a->type != b->type) return -1;
+       if (!a || !b || a->type != b->type)
+               return -1;
 
        switch (a->type) {
        case V_ASN1_OBJECT:
                result = OBJ_cmp(a->value.object, b->value.object);
                break;
+
        case V_ASN1_NULL:
                result = 0;     /* They do not have content. */
                break;
+
        case V_ASN1_INTEGER:
        case V_ASN1_NEG_INTEGER:
        case V_ASN1_ENUMERATED:
@@ -143,8 +150,8 @@ int ASN1_TYPE_cmp(ASN1_TYPE *a, ASN1_TYPE *b)
        case V_ASN1_UTF8STRING:
        case V_ASN1_OTHER:
        default:
-               result = ASN1_STRING_cmp((ASN1_STRING *) a->value.ptr,
-                                        (ASN1_STRING *) b->value.ptr);
+               result = ASN1_STRING_cmp((ASN1_STRING *)a->value.ptr,
+                   (ASN1_STRING *)b->value.ptr);
                break;
        }
 
index 0120b95..0cd0382 100644 (file)
@@ -5,21 +5,21 @@
  * This package is an SSL implementation written
  * by Eric Young (eay@cryptsoft.com).
  * The implementation was written so as to conform with Netscapes SSL.
- * 
+ *
  * This library is free for commercial and non-commercial use as long as
  * the following conditions are aheared to.  The following conditions
  * apply to all code found in this distribution, be it the RC4, RSA,
  * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
  * included with this distribution is covered by the same copyright terms
  * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
+ *
  * Copyright remains Eric Young's, and as such any Copyright notices in
  * the code are not to be removed.
  * If this package is used in a product, Eric Young should be given attribution
  * as the author of the parts of the library used.
  * This can be in the form of a textual message at program startup or
  * in documentation (online or textual) provided with the package.
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
  *     Eric Young (eay@cryptsoft.com)"
  *    The word 'cryptographic' can be left out if the rouines from the library
  *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
+ * 4. If you include any Windows specific code (or a derivative thereof) from
  *    the apps directory (application code) you must include an acknowledgement:
  *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
+ *
  * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -49,7 +49,7 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- * 
+ *
  * The licence and distribution terms for any publically available version or
  * derivative of this code cannot be changed.  i.e. this code cannot simply be
  * copied and put under another distribution licence
 #include <openssl/asn1.h>
 
 #if 0
-int i2d_ASN1_UTCTIME(ASN1_UTCTIME *a, unsigned char **pp)
+int
+i2d_ASN1_UTCTIME(ASN1_UTCTIME *a, unsigned char **pp)
 {
-       return(i2d_ASN1_bytes((ASN1_STRING *)a,pp,
-               V_ASN1_UTCTIME,V_ASN1_UNIVERSAL));
+       return(i2d_ASN1_bytes((ASN1_STRING *)a, pp,
+           V_ASN1_UTCTIME, V_ASN1_UNIVERSAL));
 }
 
-
-ASN1_UTCTIME *d2i_ASN1_UTCTIME(ASN1_UTCTIME **a, unsigned char **pp,
-            long length)
+ASN1_UTCTIME *
+d2i_ASN1_UTCTIME(ASN1_UTCTIME **a, unsigned char **pp, long length)
 {
-       ASN1_UTCTIME *ret=NULL;
+       ASN1_UTCTIME *ret = NULL;
 
-       ret=(ASN1_UTCTIME *)d2i_ASN1_bytes((ASN1_STRING **)a,pp,length,
-               V_ASN1_UTCTIME,V_ASN1_UNIVERSAL);
+       ret = (ASN1_UTCTIME *)d2i_ASN1_bytes((ASN1_STRING **)a, pp, length,
+           V_ASN1_UTCTIME, V_ASN1_UNIVERSAL);
        if (ret == NULL) {
-               ASN1err(ASN1_F_D2I_ASN1_UTCTIME,ERR_R_NESTED_ASN1_ERROR);
-               return(NULL);
+               ASN1err(ASN1_F_D2I_ASN1_UTCTIME, ERR_R_NESTED_ASN1_ERROR);
+               return (NULL);
        }
        if (!ASN1_UTCTIME_check(ret)) {
-               ASN1err(ASN1_F_D2I_ASN1_UTCTIME,ASN1_R_INVALID_TIME_FORMAT);
+               ASN1err(ASN1_F_D2I_ASN1_UTCTIME, ASN1_R_INVALID_TIME_FORMAT);
                goto err;
        }
+       return (ret);
 
-       return(ret);
 err:
        if ((ret != NULL) && ((a == NULL) || (*a != ret)))
                M_ASN1_UTCTIME_free(ret);
-       return(NULL);
+       return (NULL);
 }
 
 #endif
 
-int ASN1_UTCTIME_check(ASN1_UTCTIME *d)
+int
+ASN1_UTCTIME_check(ASN1_UTCTIME *d)
 {
-       static const int min[8]={ 0, 1, 1, 0, 0, 0, 0, 0};
-       static const int max[8]={99,12,31,23,59,59,12,59};
+       static const int min[8] = {0, 1, 1, 0, 0, 0, 0, 0};
+       static const int max[8] = {99, 12, 31, 23, 59, 59, 12, 59};
        char *a;
-       int n,i,l,o;
+       int n, i, l, o;
+
+       if (d->type != V_ASN1_UTCTIME)
+               return (0);
+       l = d->length;
+       a = (char *)d->data;
+       o = 0;
 
-       if (d->type != V_ASN1_UTCTIME) return(0);
-       l=d->length;
-       a=(char *)d->data;
-       o=0;
+       if (l < 11)
 
-       if (l < 11) goto err;
-       for (i=0; i<6; i++) {
+               goto err;
+       for (i = 0; i < 6; i++) {
                if ((i == 5) && ((a[o] == 'Z') ||
                    (a[o] == '+') || (a[o] == '-'))) {
                        i++;
                        break;
                }
-               if ((a[o] < '0') || (a[o] > '9')) goto err;
-               n= a[o]-'0';
-               if (++o > l) goto err;
-
-               if ((a[o] < '0') || (a[o] > '9')) goto err;
-               n=(n*10)+ a[o]-'0';
-               if (++o > l) goto err;
-
-               if ((n < min[i]) || (n > max[i])) goto err;
+               if ((a[o] < '0') || (a[o] > '9'))
+                       goto err;
+               n = a[o]-'0';
+               if (++o > l)
+                       goto err;
+               if ((a[o] < '0') || (a[o] > '9'))
+                       goto err;
+               n = (n * 10) + a[o] - '0';
+               if (++o > l)
+                       goto err;
+               if ((n < min[i]) || (n > max[i]))
+                       goto err;
        }
        if (a[o] == 'Z')
                o++;
        else if ((a[o] == '+') || (a[o] == '-')) {
                o++;
-               if (o+4 > l) goto err;
-               for (i=6; i<8; i++) {
-                       if ((a[o] < '0') || (a[o] > '9')) goto err;
-                       n= a[o]-'0';
+               if (o + 4 > l)
+                       goto err;
+               for (i = 6; i < 8; i++) {
+                       if ((a[o] < '0') || (a[o] > '9'))
+                               goto err;
+                       n = a[o] -'0';
                        o++;
-                       if ((a[o] < '0') || (a[o] > '9')) goto err;
-                       n=(n*10)+ a[o]-'0';
-                       if ((n < min[i]) || (n > max[i])) goto err;
+                       if ((a[o] < '0') || (a[o] > '9'))
+                               goto err;
+                       n = (n * 10) + a[o] - '0';
+                       if ((n < min[i]) || (n > max[i]))
+                               goto err;
                        o++;
                }
        }
-       return(o == l);
+       return (o == l);
+
 err:
-       return(0);
+       return (0);
 }
 
-int ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str)
+int
+ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str)
 {
        ASN1_UTCTIME t;
 
-       t.type=V_ASN1_UTCTIME;
-       t.length=strlen(str);
-       t.data=(unsigned char *)str;
+       t.type = V_ASN1_UTCTIME;
+       t.length = strlen(str);
+       t.data = (unsigned char *)str;
        if (ASN1_UTCTIME_check(&t)) {
                if (s != NULL) {
                        if (!ASN1_STRING_set((ASN1_STRING *)s,
-                               (unsigned char *)str,t.length))
+                           (unsigned char *)str, t.length))
                                return 0;
                        s->type = V_ASN1_UTCTIME;
                }
-               return(1);
+               return (1);
        } else
-               return(0);
+               return (0);
 }
 
-ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t)
+ASN1_UTCTIME *
+ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t)
 {
        return ASN1_UTCTIME_adj(s, t, 0, 0);
 }
 
-ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t,
-                               int offset_day, long offset_sec)
+ASN1_UTCTIME *
+ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, int offset_day, long offset_sec)
 {
        char *p;
        struct tm *ts;
@@ -177,43 +191,43 @@ ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t,
        size_t len = 20;
 
        if (s == NULL)
-               s=M_ASN1_UTCTIME_new();
+               s = M_ASN1_UTCTIME_new();
        if (s == NULL)
-               return(NULL);
+               return (NULL);
 
-       ts=gmtime_r(&t, &data);
+       ts = gmtime_r(&t, &data);
        if (ts == NULL)
-               return(NULL);
+               return (NULL);
 
-       if (offset_day || offset_sec) { 
+       if (offset_day || offset_sec) {
                if (!OPENSSL_gmtime_adj(ts, offset_day, offset_sec))
                        return NULL;
        }
 
-       if((ts->tm_year < 50) || (ts->tm_year >= 150))
+       if ((ts->tm_year < 50) || (ts->tm_year >= 150))
                return NULL;
 
-       p=(char *)s->data;
+       p = (char *)s->data;
        if ((p == NULL) || ((size_t)s->length < len)) {
-               p=malloc(len);
+               p = malloc(len);
                if (p == NULL) {
-                       ASN1err(ASN1_F_ASN1_UTCTIME_ADJ,ERR_R_MALLOC_FAILURE);
-                       return(NULL);
+                       ASN1err(ASN1_F_ASN1_UTCTIME_ADJ, ERR_R_MALLOC_FAILURE);
+                       return (NULL);
                }
                if (s->data != NULL)
                        free(s->data);
-               s->data=(unsigned char *)p;
+               s->data = (unsigned char *)p;
        }
 
-       snprintf(p,len,"%02d%02d%02d%02d%02d%02dZ",ts->tm_year%100,
-                    ts->tm_mon+1,ts->tm_mday,ts->tm_hour,ts->tm_min,ts->tm_sec);
-       s->length=strlen(p);
-       s->type=V_ASN1_UTCTIME;
-       return(s);
+       snprintf(p, len, "%02d%02d%02d%02d%02d%02dZ", ts->tm_year % 100,
+           ts->tm_mon + 1, ts->tm_mday, ts->tm_hour, ts->tm_min, ts->tm_sec);
+       s->length = strlen(p);
+       s->type = V_ASN1_UTCTIME;
+       return (s);
 }
 
-
-int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t)
+int
+ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t)
 {
        struct tm *tm;
        struct tm data;
@@ -223,57 +237,57 @@ int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t)
 #define g2(p) (((p)[0]-'0')*10+(p)[1]-'0')
 
        if (s->data[12] == 'Z')
-               offset=0;
+               offset = 0;
        else {
-               offset = g2(s->data+13)*60+g2(s->data+15);
+               offset = g2(s->data + 13)*60 + g2(s->data + 15);
                if (s->data[12] == '-')
                        offset = -offset;
        }
 
-       t -= offset*60; /* FIXME: may overflow in extreme cases */
+       t -= offset * 60; /* FIXME: may overflow in extreme cases */
 
        tm = gmtime_r(&t, &data);
-       
+
 #define return_cmp(a,b) if ((a)<(b)) return -1; else if ((a)>(b)) return 1
        year = g2(s->data);
        if (year < 50)
                year += 100;
-       return_cmp(year,              tm->tm_year);
-       return_cmp(g2(s->data+2) - 1, tm->tm_mon);
-       return_cmp(g2(s->data+4),     tm->tm_mday);
-       return_cmp(g2(s->data+6),     tm->tm_hour);
-       return_cmp(g2(s->data+8),     tm->tm_min);
-       return_cmp(g2(s->data+10),    tm->tm_sec);
+       return_cmp(year, tm->tm_year);
+       return_cmp(g2(s->data + 2) - 1, tm->tm_mon);
+       return_cmp(g2(s->data + 4), tm->tm_mday);
+       return_cmp(g2(s->data + 6), tm->tm_hour);
+       return_cmp(g2(s->data + 8), tm->tm_min);
+       return_cmp(g2(s->data + 10), tm->tm_sec);
 #undef g2
 #undef return_cmp
 
        return 0;
 }
 
-
 #if 0
-time_t ASN1_UTCTIME_get(const ASN1_UTCTIME *s)
+time_t
+ASN1_UTCTIME_get(const ASN1_UTCTIME *s)
 {
        struct tm tm;
        int offset;
 
-       memset(&tm,'\0',sizeof tm);
+       memset(&tm, '\0', sizeof tm);
 
 #define g2(p) (((p)[0]-'0')*10+(p)[1]-'0')
-       tm.tm_year=g2(s->data);
-       if(tm.tm_year < 50)
-               tm.tm_year+=100;
-       tm.tm_mon=g2(s->data+2)-1;
-       tm.tm_mday=g2(s->data+4);
-       tm.tm_hour=g2(s->data+6);
-       tm.tm_min=g2(s->data+8);
-       tm.tm_sec=g2(s->data+10);
-       if(s->data[12] == 'Z')
-               offset=0;
+       tm.tm_year = g2(s->data);
+       if (tm.tm_year < 50)
+               tm.tm_year += 100;
+       tm.tm_mon = g2(s->data + 2) - 1;
+       tm.tm_mday = g2(s->data + 4);
+       tm.tm_hour = g2(s->data + 6);
+       tm.tm_min = g2(s->data + 8);
+       tm.tm_sec = g2(s->data + 10);
+       if (s->data[12] == 'Z')
+               offset = 0;
        else {
-               offset=g2(s->data+13)*60+g2(s->data+15);
-               if(s->data[12] == '-')
-                       offset= -offset;
+               offset = g2(s->data + 13) * 60 + g2(s->data + 15);
+               if (s->data[12] == '-')
+                       offset = -offset;
        }
 #undef g2
 
index 508e11e..c224db4 100644 (file)
@@ -5,21 +5,21 @@
  * This package is an SSL implementation written
  * by Eric Young (eay@cryptsoft.com).
  * The implementation was written so as to conform with Netscapes SSL.
- * 
+ *
  * This library is free for commercial and non-commercial use as long as
  * the following conditions are aheared to.  The following conditions
  * apply to all code found in this distribution, be it the RC4, RSA,
  * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
  * included with this distribution is covered by the same copyright terms
  * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
+ *
  * Copyright remains Eric Young's, and as such any Copyright notices in
  * the code are not to be removed.
  * If this package is used in a product, Eric Young should be given attribution
  * as the author of the parts of the library used.
  * This can be in the form of a textual message at program startup or
  * in documentation (online or textual) provided with the package.
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
  *     Eric Young (eay@cryptsoft.com)"
  *    The word 'cryptographic' can be left out if the rouines from the library
  *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
+ * 4. If you include any Windows specific code (or a derivative thereof) from
  *    the apps directory (application code) you must include an acknowledgement:
  *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
+ *
  * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -49,7 +49,7 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- * 
+ *
  * The licence and distribution terms for any publically available version or
  * derivative of this code cannot be changed.  i.e. this code cannot simply be
  * copied and put under another distribution licence
  * -4 = character encoded incorrectly (not minimal length).
  */
 
-int UTF8_getc(const unsigned char *str, int len, unsigned long *val)
+int
+UTF8_getc(const unsigned char *str, int len, unsigned long *val)
 {
        const unsigned char *p;
        unsigned long value;
        int ret;
-       if(len <= 0) return 0;
+       if (len <= 0)
+               return 0;
        p = str;
 
        /* Check syntax and work out the encoded value (if correct) */
-       if((*p & 0x80) == 0) {
+       if ((*p & 0x80) == 0) {
                value = *p++ & 0x7f;
                ret = 1;
-       } else if((*p & 0xe0) == 0xc0) {
-               if(len < 2) return -1;
-               if((p[1] & 0xc0) != 0x80) return -3;
+       } else if ((*p & 0xe0) == 0xc0) {
+               if (len < 2)
+                       return -1;
+               if ((p[1] & 0xc0) != 0x80)
+                       return -3;
                value = (*p++ & 0x1f) << 6;
                value |= *p++ & 0x3f;
-               if(value < 0x80) return -4;
+               if (value < 0x80)
+                       return -4;
                ret = 2;
-       } else if((*p & 0xf0) == 0xe0) {
-               if(len < 3) return -1;
-               if( ((p[1] & 0xc0) != 0x80)
-                  || ((p[2] & 0xc0) != 0x80) ) return -3;
+       } else if ((*p & 0xf0) == 0xe0) {
+               if (len < 3)
+                       return -1;
+               if (((p[1] & 0xc0) != 0x80) ||
+                   ((p[2] & 0xc0) != 0x80))
+                       return -3;
                value = (*p++ & 0xf) << 12;
                value |= (*p++ & 0x3f) << 6;
                value |= *p++ & 0x3f;
-               if(value < 0x800) return -4;
+               if (value < 0x800)
+                       return -4;
                ret = 3;
-       } else if((*p & 0xf8) == 0xf0) {
-               if(len < 4) return -1;
-               if( ((p[1] & 0xc0) != 0x80)
-                  || ((p[2] & 0xc0) != 0x80) 
-                  || ((p[3] & 0xc0) != 0x80) ) return -3;
+       } else if ((*p & 0xf8) == 0xf0) {
+               if (len < 4)
+                       return -1;
+               if (((p[1] & 0xc0) != 0x80) ||
+                   ((p[2] & 0xc0) != 0x80) ||
+                   ((p[3] & 0xc0) != 0x80))
+                       return -3;
                value = ((unsigned long)(*p++ & 0x7)) << 18;
                value |= (*p++ & 0x3f) << 12;
                value |= (*p++ & 0x3f) << 6;
                value |= *p++ & 0x3f;
-               if(value < 0x10000) return -4;
+               if (value < 0x10000)
+                       return -4;
                ret = 4;
-       } else if((*p & 0xfc) == 0xf8) {
-               if(len < 5) return -1;
-               if( ((p[1] & 0xc0) != 0x80)
-                  || ((p[2] & 0xc0) != 0x80) 
-                  || ((p[3] & 0xc0) != 0x80) 
-                  || ((p[4] & 0xc0) != 0x80) ) return -3;
+       } else if ((*p & 0xfc) == 0xf8) {
+               if (len < 5)
+                       return -1;
+               if (((p[1] & 0xc0) != 0x80) ||
+                   ((p[2] & 0xc0) != 0x80) ||
+                   ((p[3] & 0xc0) != 0x80) ||
+                   ((p[4] & 0xc0) != 0x80))
+                       return -3;
                value = ((unsigned long)(*p++ & 0x3)) << 24;
                value |= ((unsigned long)(*p++ & 0x3f)) << 18;
                value |= ((unsigned long)(*p++ & 0x3f)) << 12;
                value |= (*p++ & 0x3f) << 6;
                value |= *p++ & 0x3f;
-               if(value < 0x200000) return -4;
+               if (value < 0x200000)
+                       return -4;
                ret = 5;
-       } else if((*p & 0xfe) == 0xfc) {
-               if(len < 6) return -1;
-               if( ((p[1] & 0xc0) != 0x80)
-                  || ((p[2] & 0xc0) != 0x80) 
-                  || ((p[3] & 0xc0) != 0x80) 
-                  || ((p[4] & 0xc0) != 0x80) 
-                  || ((p[5] & 0xc0) != 0x80) ) return -3;
+       } else if ((*p & 0xfe) == 0xfc) {
+               if (len < 6)
+                       return -1;
+               if (((p[1] & 0xc0) != 0x80) ||
+                   ((p[2] & 0xc0) != 0x80) ||
+                   ((p[3] & 0xc0) != 0x80) ||
+                   ((p[4] & 0xc0) != 0x80) ||
+                   ((p[5] & 0xc0) != 0x80))
+                       return -3;
                value = ((unsigned long)(*p++ & 0x1)) << 30;
                value |= ((unsigned long)(*p++ & 0x3f)) << 24;
                value |= ((unsigned long)(*p++ & 0x3f)) << 18;
                value |= ((unsigned long)(*p++ & 0x3f)) << 12;
                value |= (*p++ & 0x3f) << 6;
                value |= *p++ & 0x3f;
-               if(value < 0x4000000) return -4;
+               if (value < 0x4000000)
+                       return -4;
                ret = 6;
        } else return -2;
-       *val = value;
+               *val = value;
        return ret;
 }
 
@@ -152,34 +169,41 @@ int UTF8_getc(const unsigned char *str, int len, unsigned long *val)
  * It will need at most 6 characters.
  */
 
-int UTF8_putc(unsigned char *str, int len, unsigned long value)
+int
+UTF8_putc(unsigned char *str, int len, unsigned long value)
 {
-       if(!str) len = 6;       /* Maximum we will need */
-       else if(len <= 0) return -1;
-       if(value < 0x80) {
-               if(str) *str = (unsigned char)value;
+       if (!str)
+               len = 6;        /* Maximum we will need */
+       else if (len <= 0)
+               return -1;
+       if (value < 0x80) {
+               if (str)
+                       *str = (unsigned char)value;
                return 1;
        }
-       if(value < 0x800) {
-               if(len < 2) return -1;
-               if(str) {
+       if (value < 0x800) {
+               if (len < 2)
+                       return -1;
+               if (str) {
                        *str++ = (unsigned char)(((value >> 6) & 0x1f) | 0xc0);
                        *str = (unsigned char)((value & 0x3f) | 0x80);
                }
                return 2;
        }
-       if(value < 0x10000) {
-               if(len < 3) return -1;
-               if(str) {
+       if (value < 0x10000) {
+               if (len < 3)
+                       return -1;
+               if (str) {
                        *str++ = (unsigned char)(((value >> 12) & 0xf) | 0xe0);
                        *str++ = (unsigned char)(((value >> 6) & 0x3f) | 0x80);
                        *str = (unsigned char)((value & 0x3f) | 0x80);
                }
                return 3;
        }
-       if(value < 0x200000) {
-               if(len < 4) return -1;
-               if(str) {
+       if (value < 0x200000) {
+               if (len < 4)
+                       return -1;
+               if (str) {
                        *str++ = (unsigned char)(((value >> 18) & 0x7) | 0xf0);
                        *str++ = (unsigned char)(((value >> 12) & 0x3f) | 0x80);
                        *str++ = (unsigned char)(((value >> 6) & 0x3f) | 0x80);
@@ -187,9 +211,10 @@ int UTF8_putc(unsigned char *str, int len, unsigned long value)
                }
                return 4;
        }
-       if(value < 0x4000000) {
-               if(len < 5) return -1;
-               if(str) {
+       if (value < 0x4000000) {
+               if (len < 5)
+                       return -1;
+               if (str) {
                        *str++ = (unsigned char)(((value >> 24) & 0x3) | 0xf8);
                        *str++ = (unsigned char)(((value >> 18) & 0x3f) | 0x80);
                        *str++ = (unsigned char)(((value >> 12) & 0x3f) | 0x80);
@@ -198,8 +223,9 @@ int UTF8_putc(unsigned char *str, int len, unsigned long value)
                }
                return 5;
        }
-       if(len < 6) return -1;
-       if(str) {
+       if (len < 6)
+               return -1;
+       if (str) {
                *str++ = (unsigned char)(((value >> 30) & 0x1) | 0xfc);
                *str++ = (unsigned char)(((value >> 24) & 0x3f) | 0x80);
                *str++ = (unsigned char)(((value >> 18) & 0x3f) | 0x80);
index 8df0b03..3b7bf05 100644 (file)
@@ -5,21 +5,21 @@
  * This package is an SSL implementation written
  * by Eric Young (eay@cryptsoft.com).
  * The implementation was written so as to conform with Netscapes SSL.
- * 
+ *
  * This library is free for commercial and non-commercial use as long as
  * the following conditions are aheared to.  The following conditions
  * apply to all code found in this distribution, be it the RC4, RSA,
  * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
  * included with this distribution is covered by the same copyright terms
  * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
+ *
  * Copyright remains Eric Young's, and as such any Copyright notices in
  * the code are not to be removed.
  * If this package is used in a product, Eric Young should be given attribution
  * as the author of the parts of the library used.
  * This can be in the form of a textual message at program startup or
  * in documentation (online or textual) provided with the package.
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
  *     Eric Young (eay@cryptsoft.com)"
  *    The word 'cryptographic' can be left out if the rouines from the library
  *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
+ * 4. If you include any Windows specific code (or a derivative thereof) from
  *    the apps directory (application code) you must include an acknowledgement:
  *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
+ *
  * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -49,7 +49,7 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- * 
+ *
  * The licence and distribution terms for any publically available version or
  * derivative of this code cannot be changed.  i.e. this code cannot simply be
  * copied and put under another distribution licence
 #include <openssl/buffer.h>
 #include <openssl/evp.h>
 
-int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
-               ASN1_BIT_STRING *signature, void *asn, EVP_PKEY *pkey)
+int
+ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
+    ASN1_BIT_STRING *signature, void *asn, EVP_PKEY *pkey)
 {
        EVP_MD_CTX ctx;
-       unsigned char *buf_in=NULL;
-       int ret= -1,inl;
+       unsigned char *buf_in = NULL;
+       int ret = -1, inl;
 
        int mdnid, pknid;
 
@@ -90,16 +91,18 @@ int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
 
        /* Convert signature OID into digest and public key OIDs */
        if (!OBJ_find_sigid_algs(OBJ_obj2nid(a->algorithm), &mdnid, &pknid)) {
-               ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM);
+               ASN1err(ASN1_F_ASN1_ITEM_VERIFY,
+                   ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM);
                goto err;
        }
        if (mdnid == NID_undef) {
                if (!pkey->ameth || !pkey->ameth->item_verify) {
-                       ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM);
+                       ASN1err(ASN1_F_ASN1_ITEM_VERIFY,
+                           ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM);
                        goto err;
                }
                ret = pkey->ameth->item_verify(&ctx, it, asn, a,
-                                                       signature, pkey);
+                   signature, pkey);
                /* Return value of 2 means carry on, anything else means we
                 * exit straight away: either a fatal error of the underlying
                 * verification routine handles all verification.
@@ -109,55 +112,56 @@ int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a,
                ret = -1;
        } else {
                const EVP_MD *type;
-               type=EVP_get_digestbynid(mdnid);
+               type = EVP_get_digestbynid(mdnid);
                if (type == NULL) {
-                       ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM);
+                       ASN1err(ASN1_F_ASN1_ITEM_VERIFY,
+                           ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM);
                        goto err;
                }
 
                /* Check public key OID matches public key type */
                if (EVP_PKEY_type(pknid) != pkey->ameth->pkey_id) {
-                       ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ASN1_R_WRONG_PUBLIC_KEY_TYPE);
+                       ASN1err(ASN1_F_ASN1_ITEM_VERIFY,
+                           ASN1_R_WRONG_PUBLIC_KEY_TYPE);
                        goto err;
                }
 
                if (!EVP_DigestVerifyInit(&ctx, NULL, type, NULL, pkey)) {
-                       ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ERR_R_EVP_LIB);
-                       ret=0;
+                       ASN1err(ASN1_F_ASN1_ITEM_VERIFY, ERR_R_EVP_LIB);
+                       ret = 0;
                        goto err;
                }
 
        }
 
        inl = ASN1_item_i2d(asn, &buf_in, it);
-       
+
        if (buf_in == NULL) {
-               ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ERR_R_MALLOC_FAILURE);
+               ASN1err(ASN1_F_ASN1_ITEM_VERIFY, ERR_R_MALLOC_FAILURE);
                goto err;
        }
 
-       if (!EVP_DigestVerifyUpdate(&ctx,buf_in,inl)) {
-               ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ERR_R_EVP_LIB);
-               ret=0;
+       if (!EVP_DigestVerifyUpdate(&ctx, buf_in, inl)) {
+               ASN1err(ASN1_F_ASN1_ITEM_VERIFY, ERR_R_EVP_LIB);
+               ret = 0;
                goto err;
        }
 
-       OPENSSL_cleanse(buf_in,(unsigned int)inl);
+       OPENSSL_cleanse(buf_in, (unsigned int)inl);
        free(buf_in);
 
-       if (EVP_DigestVerifyFinal(&ctx,signature->data,
-                       (size_t)signature->length) <= 0) {
-               ASN1err(ASN1_F_ASN1_ITEM_VERIFY,ERR_R_EVP_LIB);
-               ret=0;
+       if (EVP_DigestVerifyFinal(&ctx, signature->data,
+           (size_t)signature->length) <= 0) {
+               ASN1err(ASN1_F_ASN1_ITEM_VERIFY, ERR_R_EVP_LIB);
+               ret = 0;
                goto err;
        }
        /* we don't need to zero the 'ctx' because we just checked
         * public information */
        /* memset(&ctx,0,sizeof(ctx)); */
-       ret=1;
+       ret = 1;
+
 err:
        EVP_MD_CTX_cleanup(&ctx);
-       return(ret);
+       return (ret);
 }
-
-