LINUX.ORG.RU

управляющие последовательности FreeBSD


0

0

Есть система FreeBSD 5.4. При работе иногда проявляются следующий глюк:

1. Регистрируюсь в системе (например root), ввожу пароль. 2. Система отвечает что логин или пароль не правильные. 3. Как правило, со второго раза регистрация проходит успешно. 4. Смотрю логи ПАМок, и вижу, что памкам приходит логин, которому предшествует управляющая последовательность вида: ^[[P (могут быть ^[[R, ^[[S, и т.п., причем это зависит от номера консоли, в которой происходит регистрация). Т.е. ^[[Proot. Соответтвенно памки не узнают такого пользователя. При вводе имени пользователя в консоли эти символы не отображаются. 5. При графическом входе в систему - то же самое. Как правило вход происходит только со второго раза.

Вопрос: что это за управляющие символы и как от них избавиться?

Заранее благодарю за ответы.

anonymous

Больше попробуй на глюк клавиатуры (?). Попробуй по ссш зайти. И проверь что стоит в переменной TERM

OxiD ★★★★
()
Ответ на: комментарий от OxiD

Да нет, это не глюк клавы. Проявляется на нескольких машинах, на нескольких других - не проявляестя вообще. Конфигурция железа - абсолютно одинаковая. Везде установлена операционка - без исходников, но с полным набором пакетов. На всех машинах TERM = cons25r. Везде установлены дополнительные ПАМки (своей разработки). При получении в них текущего пользователя присутствуют эти левые символы. В логах стандартных памках имя пользователя также вместе с этими символами. Без дополнительных памок - вроде все ок. Счас упростил ситуацию: оставил только одну свою памку, в которой только получаю имя и пароль пользователя и вывожу их в лог - и опять та же ситуация. Что я делаю не так????

anonymous
()
Ответ на: комментарий от anonymous

Видимо, раз это глюк "самодельных" памок, неправильно работаешь с памятью..

скорее всего, если памки на С, какое-нибудь смещение не так указываешь в массиве с именем пользователя, или еще что. Карчое если косяк в программе, то либо приводи сюда код, либо отлаживай сам (=

OxiD ★★★★
()
Ответ на: комментарий от OxiD

да вряд ли в коде памок дело..

видимо когда переключаешь виртуальные терминалы, то по какой-то причине генерируются еще ескейп последовательности. Видимо ты чем-то типа Альт-стрелок переключаюешь терминалы?

dilmah ★★★★★
()
Ответ на: комментарий от dilmah

Тогда надо смотреть код стандартных памок, на предмет как они с этим борются.

OxiD ★★★★
()
Ответ на: комментарий от dilmah

Нет, я переключаюсь через Alt+Fx. И вчера после ковыряний сделал следующее: -Написал пустую памку, которая ничего не делает, просто возвращает PAM_SUCCESS. -Вставил ее запуск перед стандартными. -Стандартная памка, следующая за моей, собщила что ей передан юзер ^[[Proot, так что стандартные памки тоже от этого не защищены. -Как только убираю свою памку из запуска - сразу все ок.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.