Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Local character echo   Valentin Nechayev   21 Apr 2005 21:18:46 
 Re: Local character echo   Boris Samorodov   21 Apr 2005 22:37:00 
 Re: Local character echo   Valentin Nechayev   21 Apr 2005 23:55:13 
 Re: Local character echo   Boris Samorodov   22 Apr 2005 01:42:53 
Архивное /ru.unix.bsd/22383128cf063.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional