summaryrefslogtreecommitdiff
path: root/lib/libcrypto/asn1/a_utctm.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libcrypto/asn1/a_utctm.c')
-rw-r--r--lib/libcrypto/asn1/a_utctm.c80
1 files changed, 40 insertions, 40 deletions
diff --git a/lib/libcrypto/asn1/a_utctm.c b/lib/libcrypto/asn1/a_utctm.c
index 0e7aca90a71..e75f2ecbb6f 100644
--- a/lib/libcrypto/asn1/a_utctm.c
+++ b/lib/libcrypto/asn1/a_utctm.c
@@ -64,41 +64,41 @@
#if 0
int i2d_ASN1_UTCTIME(ASN1_UTCTIME *a, unsigned char **pp)
- {
+{
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 *ret=NULL;
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);
- }
+ }
if (!ASN1_UTCTIME_check(ret))
- {
+ {
ASN1err(ASN1_F_D2I_ASN1_UTCTIME,ASN1_R_INVALID_TIME_FORMAT);
goto err;
- }
+ }
return(ret);
err:
if ((ret != NULL) && ((a == NULL) || (*a != ret)))
M_ASN1_UTCTIME_free(ret);
return(NULL);
- }
+}
#endif
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};
char *a;
@@ -111,10 +111,10 @@ int ASN1_UTCTIME_check(ASN1_UTCTIME *d)
if (l < 11) goto err;
for (i=0; i<6; i++)
- {
+ {
if ((i == 5) && ((a[o] == 'Z') ||
(a[o] == '+') || (a[o] == '-')))
- { i++; break; }
+ { i++; break; }
if ((a[o] < '0') || (a[o] > '9')) goto err;
n= a[o]-'0';
if (++o > l) goto err;
@@ -124,15 +124,15 @@ int ASN1_UTCTIME_check(ASN1_UTCTIME *d)
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';
o++;
@@ -140,43 +140,43 @@ int ASN1_UTCTIME_check(ASN1_UTCTIME *d)
n=(n*10)+ a[o]-'0';
if ((n < min[i]) || (n > max[i])) goto err;
o++;
- }
}
+ }
return(o == l);
err:
return(0);
- }
+}
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;
if (ASN1_UTCTIME_check(&t))
- {
+ {
if (s != NULL)
- {
+ {
if (!ASN1_STRING_set((ASN1_STRING *)s,
(unsigned char *)str,t.length))
return 0;
s->type = V_ASN1_UTCTIME;
- }
- return(1);
}
+ return(1);
+ }
else
return(0);
- }
+}
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)
- {
+{
char *p;
struct tm *ts;
struct tm data;
@@ -192,38 +192,38 @@ ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t,
return(NULL);
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 NULL;
p=(char *)s->data;
if ((p == NULL) || ((size_t)s->length < len))
- {
+ {
p=malloc(len);
if (p == 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;
- }
+ }
(void) 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)
- {
+{
struct tm *tm;
struct tm data;
int offset;
@@ -234,11 +234,11 @@ int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t)
if (s->data[12] == 'Z')
offset=0;
else
- {
+ {
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 */
@@ -258,12 +258,12 @@ int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t)
#undef return_cmp
return 0;
- }
+}
#if 0
time_t ASN1_UTCTIME_get(const ASN1_UTCTIME *s)
- {
+{
struct tm tm;
int offset;
@@ -281,11 +281,11 @@ time_t ASN1_UTCTIME_get(const ASN1_UTCTIME *s)
if(s->data[12] == 'Z')
offset=0;
else
- {
+ {
offset=g2(s->data+13)*60+g2(s->data+15);
if(s->data[12] == '-')
offset= -offset;
- }
+ }
#undef g2
return mktime(&tm)-offset*60; /* FIXME: mktime assumes the current timezone
@@ -296,5 +296,5 @@ time_t ASN1_UTCTIME_get(const ASN1_UTCTIME *s)
* non-standard.
* Also time_t is inappropriate for general
* UTC times because it may a 32 bit type. */
- }
+}
#endif