このロジックには何か問題があり、すべてを検出して出力しbad pkt detected
ます。
if((buff[0] != 0x0a || buff[0] != 0x0e) && (len == 210))
{
printf("badpkt detected from %s\n", xpi);
} else {
if(mysend(ssl_sd ? ssl_sd[i] : NULL, sd[i], buff, len) <= 0) MULTI_SKIP_QUIT
}
ロジックは、長さが 210 のすべてのパケットを拒否します。1 バイト目が 0x0A または 0x0E の場合を除く。
このコードは機能しています:
if((buff[0] != 0x0a) && (len == 210))
{
printf("badpkt detected from %s\n", xpi);
} else {
if(mysend(ssl_sd ? ssl_sd[i] : NULL, sd[i], buff, len) <= 0) MULTI_SKIP_QUIT
}
しかし、許可される唯一の 210 の長さのパケットであるには、0x0a
との両方が必要です。0x0e
編集
何を考えていたのか、寝不足なのかもしれません。