aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authoremanuele-f <black.silver@hotmail.it>2019-09-17 18:09:17 +0200
committeremanuele-f <black.silver@hotmail.it>2019-09-17 18:09:17 +0200
commit10e560a5088e37520db9148c727f7e2f62c8ed68 (patch)
tree7d56db3223f6ccb77d356c0b9f4471d9510f46c2 /src/lib
parent2fc68a441d10f5023ca726f353d47da5cddb5d2c (diff)
Fix notBefore/notAfter issues
Diffstat (limited to 'src/lib')
1 files changed, 8 insertions, 6 deletions
diff --git a/src/lib/protocols/tls.c b/src/lib/protocols/tls.c
index 0df5d52e0..188011300 100644
--- a/src/lib/protocols/tls.c
+++ b/src/lib/protocols/tls.c
@@ -918,17 +918,18 @@ void getSSLorganization(struct ndpi_detection_module_struct *ndpi_struct,
if(len < (sizeof(utcDate)-1)) {
struct tm utc;
+ utc.tm_isdst = -1; /* Not set by strptime */
strncpy(utcDate, (const char*)&packet->payload[i+4], len);
utcDate[len] = '\0';
/* 141021000000Z */
- if(strptime(utcDate, "%y%m%d%H%M%SZ", &utc) != NULL) {
+ if(strptime(utcDate, "%d%m%y%H%M%SZ", &utc) != NULL) {
+ flow->protos.stun_ssl.ssl.notBefore = timegm(&utc);
#ifdef DEBUG_TLS
printf("[CERTIFICATE] notBefore %u [%s]\n",
- (unsigned int)mktime(&utc), utcDate);
+ flow->protos.stun_ssl.ssl.notBefore, utcDate);
#endif
- flow->protos.stun_ssl.ssl.notBefore = timegm(&utc);
}
}
@@ -948,17 +949,18 @@ void getSSLorganization(struct ndpi_detection_module_struct *ndpi_struct,
if(len < (sizeof(utcDate)-1)) {
struct tm utc;
+ utc.tm_isdst = -1; /* Not set by strptime */
strncpy(utcDate, (const char*)&packet->payload[offset], len);
utcDate[len] = '\0';
/* 141021000000Z */
- if(strptime(utcDate, "%y%m%d%H%M%SZ", &utc) != NULL) {
+ if(strptime(utcDate, "%d%m%y%H%M%SZ", &utc) != NULL) {
+ flow->protos.stun_ssl.ssl.notAfter = timegm(&utc);
#ifdef DEBUG_TLS
printf("[CERTIFICATE] notAfter %u [%s]\n",
- (unsigned int)mktime(&utc), utcDate);
+ flow->protos.stun_ssl.ssl.notAfter, utcDate);
#endif
- flow->protos.stun_ssl.ssl.notAfter = timegm(&utc);
}
}
}