Browse Source

Update goodbyedpi.c

pull/319/head
SashaXser 2 years ago
committed by GitHub
parent
commit
93b655b2f6
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      src/goodbyedpi.c

8
src/goodbyedpi.c

@ -390,11 +390,12 @@ static int find_header_and_get_info(const char *pktdata, unsigned int pktlen,
*/ */
static int extract_sni(const char *pktdata, unsigned int pktlen, static int extract_sni(const char *pktdata, unsigned int pktlen,
char **hostnameaddr, unsigned int *hostnamelen) { char **hostnameaddr, unsigned int *hostnamelen) {
unsigned int ptr = 0;
const unsigned char *d = (const unsigned char *)pktdata; const unsigned char *d = (const unsigned char *)pktdata;
const unsigned char *hnaddr = NULL; const unsigned char *hnaddr = NULL;
size_t hnlen = 0; int hnlen = 0;
for (size_t ptr = 0; ptr + 8 < pktlen; ptr++) { while (ptr + 8 < pktlen) {
if (d[ptr] == '\0' && d[ptr+1] == '\0' && d[ptr+2] == '\0' && if (d[ptr] == '\0' && d[ptr+1] == '\0' && d[ptr+2] == '\0' &&
d[ptr+4] == '\0' && d[ptr+6] == '\0' && d[ptr+7] == '\0' && d[ptr+4] == '\0' && d[ptr+6] == '\0' && d[ptr+7] == '\0' &&
d[ptr+3] - d[ptr+5] == 2 && d[ptr+5] - d[ptr+8] == 3) d[ptr+3] - d[ptr+5] == 2 && d[ptr+5] - d[ptr+8] == 3)
@ -406,7 +407,7 @@ static int extract_sni(const char *pktdata, unsigned int pktlen,
return FALSE; return FALSE;
} }
for (size_t i = 0; i < hnlen; i++) { for (int i = 0; i < hnlen; i++) {
if (!((hnaddr[i] >= '0' && hnaddr[i] <= '9') || if (!((hnaddr[i] >= '0' && hnaddr[i] <= '9') ||
(hnaddr[i] >= 'a' && hnaddr[i] <= 'z') || (hnaddr[i] >= 'a' && hnaddr[i] <= 'z') ||
hnaddr[i] == '.' || hnaddr[i] == '-')) hnaddr[i] == '.' || hnaddr[i] == '-'))
@ -419,6 +420,7 @@ static int extract_sni(const char *pktdata, unsigned int pktlen,
*hostnamelen = (unsigned int)hnlen; *hostnamelen = (unsigned int)hnlen;
return TRUE; return TRUE;
} }
ptr++;
} }
return FALSE; return FALSE;

Loading…
Cancel
Save