diff --git a/lua/zapret-lib.lua b/lua/zapret-lib.lua index 8a47425..68c7d32 100644 --- a/lua/zapret-lib.lua +++ b/lua/zapret-lib.lua @@ -632,7 +632,7 @@ function tls_mod_shim(desync, blob, modlist, payload) if not val then error("tls_mod_shim: non-existent var '"..var.."'") end - modlist = string.sub(modlist,1,p1+3)..val..string.sub(modlist,p2+1) + modlist = string.sub(modlist,1,p1+3)..tostring(val)..string.sub(modlist,p2+1) end return tls_mod(blob,modlist,payload) end diff --git a/nfq2/lua.c b/nfq2/lua.c index a2df011..521e469 100644 --- a/nfq2/lua.c +++ b/nfq2/lua.c @@ -1868,7 +1868,7 @@ static bool lua_reconstruct_ip6exthdr(lua_State *L, int idx, struct ip6_hdr *ip6 { LUA_STACK_GUARD_ENTER(L) // proto = last header type - if (*lenip6_ctlun.ip6_un1.ip6_un1_nxt; size_t filled = sizeof(struct ip6_hdr); diff --git a/nfq2/protocol.c b/nfq2/protocol.c index 110b295..b4f0bcc 100644 --- a/nfq2/protocol.c +++ b/nfq2/protocol.c @@ -331,7 +331,7 @@ bool IsHttpReply(const uint8_t *data, size_t len) data[10]>='0' && data[10]<='9' && data[11]>='0' && data[11]<='9'; } -int HttpReplyCode(const uint8_t *data, size_t len) +int HttpReplyCode(const uint8_t *data) { return (data[9]-'0')*100 + (data[10]-'0')*10 + (data[11]-'0'); } @@ -370,7 +370,7 @@ bool HttpReplyLooksLikeDPIRedirect(const uint8_t *data, size_t len, const char * if (!host || !*host || !IsHttpReply(data, len)) return false; - code = HttpReplyCode(data,len); + code = HttpReplyCode(data); if ((code!=302 && code!=307) || !HttpExtractHeader(data,len,"\nLocation:",loc,sizeof(loc))) return false; diff --git a/nfq2/protocol.h b/nfq2/protocol.h index 94b0438..9c3792d 100644 --- a/nfq2/protocol.h +++ b/nfq2/protocol.h @@ -104,7 +104,7 @@ bool HttpExtractHeader(const uint8_t *data, size_t len, const char *header, char bool HttpExtractHost(const uint8_t *data, size_t len, char *host, size_t len_host); bool IsHttpReply(const uint8_t *data, size_t len); // must be pre-checked by IsHttpReply -int HttpReplyCode(const uint8_t *data, size_t len); +int HttpReplyCode(const uint8_t *data); // must be pre-checked by IsHttpReply bool HttpReplyLooksLikeDPIRedirect(const uint8_t *data, size_t len, const char *host);