|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Valentin Nechayev 2:5020/400 21 Apr 2005 23:55:13 To : Boris Samorodov Subject : Re: Local character echo -------------------------------------------------------------------------------- >>> Boris Samorodov wrote: EG>>>>> RCVD DONT LINEMODE VN>>>> Сервер потребовал строчный режим. BS> Опс, проглядел эту строку ранее. BS> Почему же это сервер потребовал? Он ответил, что не хочет его. Иначе BS> было бы RCVD DO LINEMODE. RFC1116. DONT LINEMODE - отказ от переговоров, соответственно остаётся стартовый режим. Я сократил один логический переход. LINEMODE - это не просто выключатель, а сложные переговоры. BS> А мне кажется, не так. BS> Первая строка -- это запрос на работу в linemode. По RFC WILL -- это BS> или запрос, или согласие. Hо сначала-то должен быть запрос. BS> А вот вторая строка -- это уже получение отказа от сервера на работу в BS> linemode. Значит, работаем в char-by-char. Что, собственно, статус BS> потом и показывает. Увы. RFC1116: There have been attempts to make local line editing work within the existing Telnet specs. Indeed, the 4.3 BSD tape includes a version of Telnet that attempts to do this through recognition of the state of the ECHO and SUPRESS-GO-AHEAD options; other implementations do this recognition purely through the ECHO option. А теперь обратим внимание, что от параметра telnetport зависит по сути только следующий управляющий кусочек: if (telnetport) { send_do(TELOPT_SGA, 1); send_will(TELOPT_TTYPE, 1); send_will(TELOPT_NAWS, 1); send_will(TELOPT_TSPEED, 1); send_will(TELOPT_LFLOW, 1); send_will(TELOPT_LINEMODE, 1); send_will(TELOPT_NEW_ENVIRON, 1); send_do(TELOPT_STATUS, 1); if (env_getvalue("DISPLAY")) send_will(TELOPT_XDISPLOC, 1); if (eight) tel_enter_binary(eight); } (telnet() в telnet.c) Мне облом лезть в потроха, но если на любом нестандартном порту возникает строчный режим (проверяется элементарно - пока не нажал enter ничего не отправится), значит, дефолтный режим и режим после DONT LINEMODE - строчный. VN>> А в этом режиме оно и так выключено должно быть. AFAIU. BS> Я приводил строки из RFC по этому поводу, не дошли в конференцию? Мало ли чего там в RFC пишут. Мы же про FreeBSD telnet, а не про сферический в вакууме? ;))) -netch- --- ifmail v.2.15dev5.3 * Origin: Dark side of coredump (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/22383128cf063.html, оценка из 5, голосов 10
|