diff options
author | beck <> | 2015-10-08 02:26:31 +0000 |
---|---|---|
committer | beck <> | 2015-10-08 02:26:31 +0000 |
commit | 59465405da989509a3a9e23f638b71bc0c7e4a89 (patch) | |
tree | 260c07b5ef3bc6ffb39cb4ecd78899eb04280930 /src/lib/libcrypto/asn1/a_utctm.c | |
parent | b49e302bd49f7f927c92df560174bb439c2b2d88 (diff) | |
download | openbsd-59465405da989509a3a9e23f638b71bc0c7e4a89.tar.gz openbsd-59465405da989509a3a9e23f638b71bc0c7e4a89.tar.bz2 openbsd-59465405da989509a3a9e23f638b71bc0c7e4a89.zip |
Spelling in comment
Diffstat (limited to 'src/lib/libcrypto/asn1/a_utctm.c')
-rw-r--r-- | src/lib/libcrypto/asn1/a_utctm.c | 54 |
1 files changed, 20 insertions, 34 deletions
diff --git a/src/lib/libcrypto/asn1/a_utctm.c b/src/lib/libcrypto/asn1/a_utctm.c index c208d494c3..fa6f40cdc9 100644 --- a/src/lib/libcrypto/asn1/a_utctm.c +++ b/src/lib/libcrypto/asn1/a_utctm.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: a_utctm.c,v 1.29 2015/10/02 15:04:45 beck Exp $ */ | 1 | /* $OpenBSD: a_utctm.c,v 1.30 2015/10/08 02:26:31 beck Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -151,37 +151,23 @@ ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, int offset_day, long offset_sec) | |||
151 | int | 151 | int |
152 | ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t) | 152 | ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t) |
153 | { | 153 | { |
154 | struct tm *tm; | 154 | struct tm tm1; |
155 | struct tm data; | 155 | time_t time1; |
156 | int offset; | 156 | |
157 | int year; | 157 | /* |
158 | 158 | * This funciton has never handled failure conditions properly | |
159 | #define g2(p) (((p)[0]-'0')*10+(p)[1]-'0') | 159 | * and should be deprecated. BoringSSL makes it return -2 on |
160 | 160 | * failures, the OpenSSL version follows NULL pointers instead. | |
161 | if (s->data[12] == 'Z') | 161 | */ |
162 | offset = 0; | 162 | if (asn1_time_parse(s->data, s->length, &tm1, V_ASN1_UTCTIME) == -1) |
163 | else { | 163 | return (-2); /* XXX */ |
164 | offset = g2(s->data + 13)*60 + g2(s->data + 15); | 164 | |
165 | if (s->data[12] == '-') | 165 | if ((time1 = timegm(&tm1)) == -1) |
166 | offset = -offset; | 166 | return (-2); /* XXX */ |
167 | } | 167 | |
168 | 168 | if (time1 < t) | |
169 | t -= offset * 60; /* FIXME: may overflow in extreme cases */ | 169 | return (-1); |
170 | 170 | if (time1 > t) | |
171 | tm = gmtime_r(&t, &data); | 171 | return (1); |
172 | 172 | return (0); | |
173 | #define return_cmp(a,b) if ((a)<(b)) return -1; else if ((a)>(b)) return 1 | ||
174 | year = g2(s->data); | ||
175 | if (year < 50) | ||
176 | year += 100; | ||
177 | return_cmp(year, tm->tm_year); | ||
178 | return_cmp(g2(s->data + 2) - 1, tm->tm_mon); | ||
179 | return_cmp(g2(s->data + 4), tm->tm_mday); | ||
180 | return_cmp(g2(s->data + 6), tm->tm_hour); | ||
181 | return_cmp(g2(s->data + 8), tm->tm_min); | ||
182 | return_cmp(g2(s->data + 10), tm->tm_sec); | ||
183 | #undef g2 | ||
184 | #undef return_cmp | ||
185 | |||
186 | return 0; | ||
187 | } | 173 | } |