summaryrefslogtreecommitdiffstats
path: root/src/lib/krb5/asn.1
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/krb5/asn.1')
-rw-r--r--src/lib/krb5/asn.1/asn1_decode.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/krb5/asn.1/asn1_decode.c b/src/lib/krb5/asn.1/asn1_decode.c
index 9412043f6..c9036538e 100644
--- a/src/lib/krb5/asn.1/asn1_decode.c
+++ b/src/lib/krb5/asn.1/asn1_decode.c
@@ -1,3 +1,4 @@
+#include <stdio.h>
/* ASN.1 primitive decoders */
#include "asn1_decode.h"
#include "asn1_get.h"
@@ -176,6 +177,7 @@ asn1_error_code asn1_decode_generaltime(DECLARG(asn1buf *, buf),
t = mktime(&ts);
if(t == -1) return ASN1_BAD_TIMEFORMAT;
+#define HAVE_GMTOFF
#ifdef HAVE_GMTOFF
t += ts.tm_gmtoff; /* Convert back to UTC timezone */
#else
@@ -190,6 +192,11 @@ asn1_error_code asn1_decode_generaltime(DECLARG(asn1buf *, buf),
delta = (zl.tm_sec + 60*(zl.tm_min+60*(zl.tm_hour + 24*zl.tm_yday)))
- (zg.tm_sec + 60*(zg.tm_min+60*(zg.tm_hour + 24*zg.tm_yday)));
+ if (ts.tm_isdst > 0) {
+ delta += 60*60;
+ }
+
+fprintf(stderr, "ASN1 DECODE: delta = %d\n", delta);
t += delta;
}
#endif