Loading nfq/nfqws.c +36 −25 Original line number Diff line number Diff line Loading @@ -1067,11 +1067,20 @@ static bool onetime_tls_mod_blob(int profile_n, int fake_n, uint32_t fake_tls_mo { size_t slen_new = strlen(fake_tls_sni); ssize_t slen_delta = slen_new-slen; char *s1=NULL; if (params.debug) { if ((s1 = malloc(slen+1))) { memcpy(s1,sni,slen); s1[slen]=0; } } if (slen_delta) { if ((*fake_tls_size+slen_delta)>fake_tls_buf_size) { DLOG_ERR("profile %d fake[%d] not enough space for new SNI\n", profile_n, fake_n); free(s1); return false; } memmove(sni+slen_new,sni+slen,fake_tls+*fake_tls_size-(sni+slen)); Loading @@ -1084,7 +1093,9 @@ static bool onetime_tls_mod_blob(int profile_n, int fake_n, uint32_t fake_tls_mo *fake_tls_size+=slen_delta; slen = slen_new; } DLOG("profile %d fake[%d] change sni to %s size_delta=%zd\n", profile_n, fake_n, fake_tls_sni,slen_delta); DLOG("profile %d fake[%d] change SNI : %s => %s size_delta=%zd\n", profile_n, fake_n, s1, fake_tls_sni, slen_delta); free(s1); memcpy(sni,fake_tls_sni,slen_new); } if (fake_tls_mod & FAKE_TLS_MOD_RND_SNI) Loading Loading @@ -1125,7 +1136,6 @@ static bool onetime_tls_mod_blob(int profile_n, int fake_n, uint32_t fake_tls_mo } } } } if (fake_tls_mod & FAKE_TLS_MOD_PADENCAP) { if (TLSFindExt(fake_tls,*fake_tls_size,21,&ext,&extlen,false)) Loading Loading @@ -1156,6 +1166,7 @@ static bool onetime_tls_mod_blob(int profile_n, int fake_n, uint32_t fake_tls_mo DLOG("profile %d fake[%d] tls padding is absent. added. padding length offset %zu\n", profile_n, fake_n, modcache->padlen_offset); } } } return true; } static bool onetime_tls_mod(struct desync_profile *dp) Loading Loading
nfq/nfqws.c +36 −25 Original line number Diff line number Diff line Loading @@ -1067,11 +1067,20 @@ static bool onetime_tls_mod_blob(int profile_n, int fake_n, uint32_t fake_tls_mo { size_t slen_new = strlen(fake_tls_sni); ssize_t slen_delta = slen_new-slen; char *s1=NULL; if (params.debug) { if ((s1 = malloc(slen+1))) { memcpy(s1,sni,slen); s1[slen]=0; } } if (slen_delta) { if ((*fake_tls_size+slen_delta)>fake_tls_buf_size) { DLOG_ERR("profile %d fake[%d] not enough space for new SNI\n", profile_n, fake_n); free(s1); return false; } memmove(sni+slen_new,sni+slen,fake_tls+*fake_tls_size-(sni+slen)); Loading @@ -1084,7 +1093,9 @@ static bool onetime_tls_mod_blob(int profile_n, int fake_n, uint32_t fake_tls_mo *fake_tls_size+=slen_delta; slen = slen_new; } DLOG("profile %d fake[%d] change sni to %s size_delta=%zd\n", profile_n, fake_n, fake_tls_sni,slen_delta); DLOG("profile %d fake[%d] change SNI : %s => %s size_delta=%zd\n", profile_n, fake_n, s1, fake_tls_sni, slen_delta); free(s1); memcpy(sni,fake_tls_sni,slen_new); } if (fake_tls_mod & FAKE_TLS_MOD_RND_SNI) Loading Loading @@ -1125,7 +1136,6 @@ static bool onetime_tls_mod_blob(int profile_n, int fake_n, uint32_t fake_tls_mo } } } } if (fake_tls_mod & FAKE_TLS_MOD_PADENCAP) { if (TLSFindExt(fake_tls,*fake_tls_size,21,&ext,&extlen,false)) Loading Loading @@ -1156,6 +1166,7 @@ static bool onetime_tls_mod_blob(int profile_n, int fake_n, uint32_t fake_tls_mo DLOG("profile %d fake[%d] tls padding is absent. added. padding length offset %zu\n", profile_n, fake_n, modcache->padlen_offset); } } } return true; } static bool onetime_tls_mod(struct desync_profile *dp) Loading