14.01.2002 — Релиз PuTTY 0.52
Основные изменения:
- Написано полное руководство PuTTY, оно представлено в формате Windows Help и распространяется вместе с исполняемыми файлами.
- Добавлена поддержка открытых ключей в SSH-2, как RSA так и DSA. «Agent forwarding» поддерживается, но только для OpenSSH серверов, поскольку у ssh.com другой протокол агента, который они ещё не опубликовали.
- (Да, знаю, я годами клеймил DSA за ужасающую незащищённость, но теперь мне рассказали о хитрых способах обойти проблемы безопасности. Подробности в «sshdss.c» для тех кому интересно. Строка благодарности главным образом Колину Пламбу (Colin Plumb) за то что рассказал мне об этом. Мы по-прежнему считаем, что RSA лучше, и рекомендуем его использовать при наличии выбора.)
- PSCP теперь использует новый SFTP-протокол где это возможно, и возвращается к старому scp1 только при отсутствии SFTP (например, если вы соединяетесь по SSH-1). Это позволит более чисто взаимодействовать с продуктами ssh.com, кроме того это является улучшением безопасности.
- PSCP, при работе со старым режимом scp1, теперь намного более строгий к вопросам безопасности. Это не позволит удалённому хосту писать в файл, который не имеет того же имени, что и запрошенный файл. ОБРАТИТЕ ВНИМАНИЕ, это запретит «remote-to-local wildcards» такие как
pscp server:*.c .
. Реализация серверных шаблонов в scp1 по своей сути небезопасна. Если вы всё же доверяете своему scp серверу, вы можете использовать параметр командной строки-unsafe
чтобы разрешить старое поведение. Всех этих проблем не возникнет при использовании нового, основанного на SFTP бэкенд, потому что SFTP лучше спроектирован. - Generic port forwarding теперь поддерживается, благодарим Николя Барри (Nicolas Barry) за всесторонний вклад.
- Поддержка X11-перенаправления. Спасибо Андреасу Шульцу (Andreas Schultz) за большую часть кода для этой функции. Authentication munging теперь поддерживается. Однако, PuTTY в настоящее время не пытается аутентифицироваться при соединении с локальным X сервером, найти данные аутентификации - это серверо-зависимо и сложно, и я думаю, я подожду и посмотрю какие серверы люди на самом деле хотят использовать.
- Добавлен SFTP-клиент, для улучшенного протокола передачи файлов по SSH-2.
- Полноэкранный режим, «как DOS box». Не совсем как DOS box, так как оно работает в рамках текущего графического режима, а не переходит в текстовый режим, но это, кажется, работает.
- Поддержка изменения размера шрифта, вместо изменения кол-ва строк терминала, когда пользователь меняет размер окна. Также поддерживается гибридный режим, в котором изменение размеров окна меняет размер терминала, но развёртывание окна или переход в полноэкранный режим меняет размер шрифта. Патч Robert de Bath.
- Поддержка Unicode в эмуляторе терминала. В первую очередь это позволит нам поддерживать серверы, которые во время терминального сеанса отвечают в кодировке UTF-8. Но изменение архитектуры также означает, что вместо указания и локальной и удалённой кодировки в панели настроек «Translation», теперь будет достаточно указать лишь какую кодировку вы ожидаете от сервера, и PuTTY разберётся с остальным автоматически. Большое спасибо Robert de Bath.
- Экспериментальная поддержка Rlogin. Благодарим Делиана Делчева (Delian Delchev) за патч. Отметим, что соединение может потерпеть неудачу, потому как протокол rlogin полагается на TCP Urgent data, что поддерживают не все операционные системы и брандмауэры. Кроме того, local flow control пока ещё не поддерживается, и команда «flush» не обрабатывается корректно. Несмотря на все проблемы, это хорошо у меня работало!
- Улучшенная поддержка «local echo» и «local line editing». Теперь это две отдельные опции, управляемые независимо. PuTTY сделает разумное предположение о правильных настройках, но это всегда может быть переопределено пользователем.
- Улучшена поддержка сигналов. Теперь есть целая панель настроек «Bell», в ней можно выбрать звуковой сигнал, который используется в Windows по умолчанию, или проигрывать любой звуковой файл на ваш выбор, или мигающее окно, или ничего не делать. Кроме того, PuTTY в панели задач Windows можно заставить мигать если окно свёрнуто, а также есть опция для автоматического прекращения всех сигналов если они происходят слишком часто (если вы вдруг сделаете
cat
бинарного файла, то PuTTY не станет сигналить до бесконечности). - Поддержка AES в SSH-2.
- В качестве «Default Settings» теперь можно сохранить протокол и номера порта для использования по умолчанию.
- Scrollback теперь автоматически прокручивается, если вы пытаетесь выделить область выше (или ниже) пределов окна. Теперь вы легко можете выделить мышкой область больше чем помещается на одном экране.
- Теперь мы поддерживаем выделение прямоугольного блока, удерживая клавишу «Alt» при перетаскивании мыши. (Вы также можете поменять настройки местами, прямоугольное выделение сделать действием по умолчанию, а классическое line-by-line выделение с клавишей «Alt».)
- Указатель мыши теперь можно заставить исчезать, когда окно PuTTY активно и текст набирается, и появляться вновь при перемещении мыши, а-ля MS Word. Особенно полезно для тех, кто использует focus-follows-mouse, когда указатель мыши находится в окне терминала, заслоняя собой вид.
- Текстовый курсор теперь можно отображать в одном из трёх вариантов: в виде нижнего подчёркивания, вертикальной линии, или прямоугольного блока. Когда курсор установлен в режим вертикальной линии, он делает нечто полезное при not-quite-wrapping в крайнем правом столбце.
- Keepalive timeout теперь можно указывать в секундах, а не в минутах.
- Поддержка Diffie-Hellman group exchange для SSH-2.
- Если вы не указали имя пользователя, PSCP теперь предполагает, что ваше удалённое имя пользователя такое же, как и локальное. (В Win95/98 это могло бы показаться бесполезным, но это по крайней мере не хуже потока жалоб. В WinNT такая функция может оказаться крайне полезной.) Патч Кристиана Биесингера (Christian Biesinger).
- Теперь вы можете вводить имя службы вместо номера порта, например «finger». Патч Кристиана Биесингера (Christian Biesinger).
- Теперь можно запустить второй экземпляр Pageant из командной строки с некими файлами ключей, и скормить эти ключи первому экземпляру. Кроме того, вы можете заставить Pageant выполнить другую команду после запуска. Например,
pageant -c wincvs.exe
, чтобы запустить Pageant, а затем WinCVS. - При скроллинге в терминале больше не осуществляется физическое копирование огромных массивов. Теперь должно быть безопасно использовать большие буферы прокрутки экрана, без каких-либо заметных тормозов программы.
- Патч Романа Помпеджуса (Roman Pompejus): убран параметр командной строки
-log
, он заменён надлежащими настройками журналирования через графический интерфейс. - Реализован выбор вариантов рисования линии, рисование базовыми символами (lqqqk), или псевдо-линии (символы +, -, |). Спасибо Robert de Bath.
- Сочетание клавиш «Ctrl+Alt» может быть настроено как на традиционное поведение PuTTY («Ctrl+Alt+X» эквивалентно: «ESC затем Ctrl+X»), или может вести себя как «AltGr». Спасибо Robert de Bath.
- Добавлена поддержка функциональных клавиш SCO ANSI: «F1» это «ESC [ M», «F12» это «ESC [ X», со всеми очевидными точками между ними.
- Изменения шрифтов при максимизации окна теперь сохраняются. Спасибо Robert de Bath.
- Клавиша «Win» теперь постоянно ведёт себя как «Compose». Поведение «Compose» по отношению к «AltGr» может по-прежнему быть настроено. Спасибо Robert de Bath.
- Драйвер терминала теперь возвращает конфигурируемую последовательность, когда он видит «^E». Спасибо Robert de Bath.
- Окно «About» теперь имеет кнопку для вызова браузера с указанием на веб-сайт PuTTY. Спасибо Эрику Териаулту (Eric Theriault).
Исправления ошибок:
- Ошибка «long-standing socket buffering» должна исчезнуть навсегда. Если PuTTY получает данные быстрее, чем способна их отправить, то она будет пытаться замедлить сущность которою получает, вместо того чтобы продолжать переполнение своих буферов без ограничений.
- Работа AltGR теперь должна быть исправлена. Она была сломана в 0.51.
- Повторный обмен ключами в SSH-2 теперь обрабатывается корректно. Вы больше не должны видеть ошибку «Server failed host key check» после сеанса продолжительностью в час.
- Различные проблемы с «socket-handling» должны быть устранены. Зависания при сетевых ошибках, неправильная обработка «TCP Urgent data» в telnet и rlogin, и усечение вывода когда удалённый сервер посылает множество данных а затем немедленно закрывает соединение. Спасибо Robert de Bath за работу над «TCP Urgent».
- Ошибка «cascading-error-boxes» должна быть исправлена. (Это происходило, когда вы имели Keep-Alive соединение, и получали «Connection Aborted».)
- Исправлено окно конфигурации: контролы на панелях, которых не видно, больше не должны получать фокус клавиатуры.
- Клавиша «Tab» и быстрые клавиши теперь должны работать в окне «Event Log» и «About» во время запущенного сеанса. Спасибо Роману Помпеджусу (Roman Pompejus) за исправление.