diff options
author | emanuele-f <black.silver@hotmail.it> | 2019-09-17 18:09:17 +0200 |
---|---|---|
committer | emanuele-f <black.silver@hotmail.it> | 2019-09-17 18:09:17 +0200 |
commit | 10e560a5088e37520db9148c727f7e2f62c8ed68 (patch) | |
tree | 7d56db3223f6ccb77d356c0b9f4471d9510f46c2 /src/lib | |
parent | 2fc68a441d10f5023ca726f353d47da5cddb5d2c (diff) |
Fix notBefore/notAfter issues
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/protocols/tls.c | 14 |
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); } } } |