четверг, 21 октября 2021 г.

Проблемы с принтерами в Windows 10 после обновления KB5006670

 В октябре 2021 вышло обновление Windows 10 KB5006670, в которое вошли изменения диспетчера печати, призванные исправить проблемы, вызванные предыдущими обновлениями (теми, которые закрывали скандальную уязвимость Print Nightmare). К сожалению, это обновление также вызвало новые проблемы с общими принтерами.  В ситуациях, когда общий принтер установлен на машине с неподдерживаемой версией Windows (XP, 7) и используется на машине с обновленной Windows 10, печать стала выдавать ошибку "Принтер удален на сервере". Попытка удалить и заново установить притер также выдавала ошибку (код 0x00004cf и другие). Проблема в равной мере коснулась разных моделей принтеров: HP, Kyocera. Принтеров, подключенных как сетевые через Ethernet, она не коснулась.

Причины проблемы

Исследования с помощью Wireshark показали, что обновленный диспетчер печати пытается использовать аутентификацию NTLM при взаимодействии с общим принтером (ранее это взаимодействие проходило без какой-либо аутентификации). Для этого в запросе rpc bind устанавливается дополнительный параметр Auth type: NTLMSSP. Эта аутентификация проходит с ошибкой "Reject reason: Authentication type not recognized (8)".

На рисунке ниже приведен вид перехваченного пакета с ошибкой в WireShark:



Решение проблемы

Данная проблема обсуждалась на форуме bleepingcompurer. Одно из предложенных решений: запретить аутентификацию NTLM, благо этот протокол не самый безопасный и в доменных сетях есть лучшая альтернатива - Kerberos. В моем случае это не помогло, вероятно, Kerberos также оказался сломанным. Ниже приведены решения, которые у нас сработали.

Вариант 1

1. Добавить принтер как локальный, указав порт, допустим, LPT2, и выбрав "Использовать установленный драйвер".

2. Выполнить в командной строке команду: 

NET USE LPT2: "\\Computer\Printer" /PERSISTENT:YES

Почему этот способ работает, не понятно. Но сработал он только в схеме WinXP -> Windows 10. Для Windows 7 применить его не получилось: принтер устанавливается и настройки открываются, но печать выводит ошибку.

Вариант 2

Удалить обновление KB5006670:

wusa /uninstall /kb:5006670

Скрыть обновление через утилиту почему-то не удалось, поэтому это только временное решение. Но обновления можно отложить, и возможно Microsoft поправят проблему.


Оба решения являются лишь обходными путями. Нормального решения, которое бы отключило аутентификацию при взаимодействии с принтером из старых ОС, так и не было найдено. Также это не первая проблема с общими принтерами, ранее вообще были синие экраны при попытке печати. Видимо, стоит признать, что механизм общих принтеров крайне ненадежен при наличии старых ОС. Лучше использовать сетевые принтеры Ethernet или обновлять все компьютеры на новые Windows.

понедельник, 2 августа 2021 г.

CIL Tools update 2.3

 The new version of CIL Tools is released. Download at Github releases.

Changes in new version:

CilTools.BytecodeAnalysis

  • Escape IL assembler keywords when used as identifiers
  • Make ITypeInfo interface public to enable inspecting function pointer types with CilTools.Metadata
  • Change TypeSpec.IsFunctionPointer from method to property (breaking change)
  • Fix bug that prevented CilReader.GetInstructions from correctly enumerating instuctions more than once for the same iterator instance

CilTools.Runtime

CIL View

  • Escape IL assembler keywords when used as identifiers
  • Make search in Open process window case-insensitive
  • Add support for displaying dynamic assembly names when inspecting process (.NET Framework only)
  • Show loaded modules in process info


среда, 7 июля 2021 г.

Обновление Small Media Player - v2.3

 Изменения в новой версии:

  • Добавлена поддержка декодеров, использующих технологию Media Foundation
  • Убрана поддержка Windows XP
  • Убрана поддержка воспроизведения Audio CD
  • Исправлено некорректное положение контекстного меню при щелчке правой кнопкой мыши по заголовкам столбцов в списке воспроизведения

Загрузить: Small Media Player 2.3

Поддержка Media Foundation

Ранее проигрыватель использовал только DirectShow для воспроизведения файлов. Теперь, если файл не удалось воспроизвести с помощью DirectShow, выполняется попытка воспроизвести с помощью Media Foundation - более новой технологии, введенной в Windows Vista. Благодаря этому, теперь программа сможет открыть некоторые файлы, которые ранее не открывались из-за проблем со стандартными декодерами DirectShow; например, MP3-файлы с некорректным блоком ID3V2-тегов в начале. Кроме того, в Windows 10 был добавлен стандартный декодер для MKV с видео H.264, поэтому теперь этот формат можно будет открыть без необходимости установки пакета кодеков.

Прекращение поддержки Windows XP

Начиная с данной версии, программа не запустится на Windows XP. На Windows Vista программа должна работать, хотя я не тестирую на этой ОС. Последняя версия с поддержкой XP - 2.2, при необходимости будут выходить исправления критических ошибок для нее, но все развитие будет фокусироваться на более новых ОС.

вторник, 18 мая 2021 г.

Обновление Small Media Player - v2.2

Новая версия содержит единственное изменение: исправлено аварийное завершение программы при попытке открыть файл с пустыми тегами ID3v2.

Загрузить: Small Media Player v2.2

воскресенье, 25 апреля 2021 г.

Обновление Small Media Player - v2.1

 Загрузить на Github releases


Изменения в новой версии:

  • Исправлена ошибка, из-за которой иногда некорректно отображалась информация из тегов при использовании "Открыть с помощью".
  • Исправлена ошибка, при которой информация из тегов некорректно обрабатывалась при наличии символа "~" в тегах.
  • Исправлено мерцание индикатора текущей позиции.
  • Списки воспроизведения теперь сохраняются и считываются в кодировке UTF-8 (ранее использовалась текущая кодовая страница ANSI). Это позволяет корректно обрабатывать пути файлов с национальными символами из других кодовых страниц.
  • Исправлено неровное положение некоторых элементов в главном окне.
  • Реализована плавная (логарифмическая) регулировка громкости.
  • При повторном запуске программы теперь выполняется попытка вывести окно главного экземпляра на передний план.
  • Обновлен алгоритм поиска изображения по умолчанию, теперь изображение берется из каталога стандартных обоев Windows (%WINDIR%\Web\Wallpaper\Windows\).
  • Ошибки воспроизведения теперь выводятся в отдельное немодальное окно и не блокируют воспроизведение (проигрыватель автоматически переходит к следующему файлу).
  • Добавлено логирование ошибок (файл (Документы)\Small Media Player\error.log)
  • Исходный код теперь доступен на Github (лицензия BSD 3-Clause)


среда, 31 марта 2021 г.

CIL Tools update 2.2

 CIL Tools 2.2 is released 

Download on GitHub releases

Source code

Changes in this version:

CilTools.BytecodeAnalysis

  • Add support for dynamic methods on .NET Core (token resolution still does not work properly on .NET Core 3+ Linux)
  • Add support for constrained. instruction prefix
  • Add type definition disassembler
  • Add CilGraphNode.GetExceptionBlocks
  • Add CilGraph.GetHandlerNodes
  • Implement IsAssignableFrom on TypeSpec
  • Fix exception on TypeSpec.IsValueType

CilTools.Runtime

  • Add support for dynamic assemblies
  • Implement IsAssignableFrom on ClrTypeInfo
  • Improve performance of some ClrTypeInfo methods

CIL View

  • Add Open BCL assembly dialog
  • Add navigation history
  • Add partial support for 64-bit processes
  • Add support for dynamic assemblies
  • Add exception analysis
  • Disable wrapping in search textbox
  • Method navigation hyperlink now spans only over the method name identifier, instead of the whole method reference syntax
  • Method navigation hyperlink is no longer underlined (to fix cases where it was obscuring _ chars in name)
  • Improve performance of "Open process" by preloading assemblies from files instead of reading target process memory, where it's possible
  • Fix null reference on typedref parameter
  • Fix unhandled exception when opening file on background thread
  • Fix token resolution bug after navigating to generic method instantiation
  • Fix crashes on access to disposed assemblies


суббота, 23 января 2021 г.

WinForms Excel Library v1.3 update

Changes:

  • Add DisplayWindowTitle property  
  • Remove checkbox to show status bar in demo app 

 Using DisplayStatusBar property is now not recommended, because it does not work consistently in different Excel versions.