> 1. Посмотрите для начала с помощью tcpump/wireshark что реально
> передает
> по сети этот telnet.exe
Как написал в ответ на другой пост, первое, что бросается в глаза -- большая фрагментация и неправильная контрольная сумма у каждого пакета из Винды:
Header checksum: 0x0000 [incorrect, should be 0x68ae (may be caused by "IP checksum offload"?)]
Если поделюсь соответствующими кусочками дампов - это поможет? Сам не большой специалист.
> 2. Есть подозрение, что helo и mx. отправляются в разных ip-пакетах, а
> данная реализация smtp получив данные из syscall read() сразу пытается
> их обработать как команду, не дожидаясь CR LF. И вряд ли так делает
> nginx.
Вот это очень похоже на правду (нажал пробел, точку или цифру - тут же увидел в ответ Invalid Command), ещё до нажатия enter (и генерации cr lf).
Насчёт реализации smtp. Если nginx используется в качестве ESMTP - ответы на мои smtp команды я получаю от него -- или от того, что "ниже", так сказать?