tarampampam / nod32-update-mirror

:large_orange_diamond: [WIP] ESET Nod32 Updates Mirror
MIT License
108 stars 50 forks source link

Проблема с NTLM аутентификацией #67

Closed Digitint closed 6 years ago

Digitint commented 6 years ago

Шаги для воспроизведения проблемы (steps to reproduce)

Пытаемся скачать обновления с локального ESET RA на котором используется NTLM аутентификация.

Какое действие ожидалось (expected behaviour)

Нормальное подключение к зеркалу обновлений и синхронизация обновлений с локальным зеркалом.

Что произошло на самом деле (actual behaviour)

Вместо успешной проверки доступности сервера обновлений, получаем следующий заголовок: [Debug ] Response headers: ( HTTP/1.1 401 WWW-Authenticate: NTLM Content-Type: text/html Connection: close Date: Mon, 09 Apr 2018 11:28:59 GMT Accept-Ranges: none Content-Length: 91 HTTP/1.1 401 WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAAAAADgAAAACAgACBdLCFpJf4tgAAAAAAAAAAAAAAAA4AAAABQLODgAAAA8= Content-Type: text/html Connection: keep-alive Keep-Alive: timeout=1000,max=254 Date: Mon, 09 Apr 2018 11:28:59 GMT Accept-Ranges: none Content-Length: 91 HTTP/1.1 401 WWW-Authenticate: NTLM Content-Type: text/html Connection: close Date: Mon, 09 Apr 2018 11:28:59 GMT Accept-Ranges: none Content-Length: 91) Is not available

Данные системы (system information)

Операционная система (operating system):

$ cat /proc/version
Linux version 4.4.92 (buildbot@debian8) (gcc version 5.4.0 (LEDE GCC 5.4.0 r3560-79f57e4) ) #0 SMP Tue Oct 17 17:46:20 2017

Bash:

$ bash --version
GNU bash, version 4.4.12(1)-release (arm-openwrt-linux-gnu)

wget / curl:

$ wget -V
GNU Wget 1.19.2 built on linux-gnu.
-cares +digest -gpgme +https +ipv6 -iri +large-file -metalink -nls +ntlm +opie -psl +ssl/openssl

$ curl -V
curl 7.58.0 (arm-openwrt-linux-gnu) libcurl/7.58.0 OpenSSL/1.0.2n zlib/1.2.11
Protocols: file ftp ftps http https imap imaps pop3 pop3s rtsp smtp smtps tftp
Features: IPv6 Largefile SSL libz HTTPS-proxy

Настройки (settings):

Настройки скрипта (script settings):

$ cat ./settings.conf ./conf.d/*.conf | grep -v -e '^#' -e '^$'

export NOD32MIRROR_MIRROR_DIR="/mnt/data/www/esetmirror";
export NOD32MIRROR_TEMP_DIR="/mnt/data/opt/tmp/nod32-mirror";
export NOD32MIRROR_SERVER_0='http://192.168.1.150:32451/ NOD32_UPDATE Password123';
export NOD32MIRROR_TYPES='advheur amon amon64 antistealth antistealth64 archives aton cleaner db ehm64 engine epfw epfw64 hips hips64 iris loader loader64 mailserver parental perseus protoscan ra selfdefense selfdefense64 smon ssl systemstatus systemstatus64 translator translator64 w10upgrade';
export NOD32MIRROR_LANGUAGES='1033 1049';
export NOD32MIRROR_VERSIONS='pcu 4 5 6';
export NOD32MIRROR_LOG_PATH="/mnt/data/opt/nod32-update-mirror/nod32mirror.log";
export NOD32MIRROR_CURL_BIN='false';
export NOD32MIRROR_TEST_URI='http://update.eset.com:80/v8-rel-sta/mod_010_smon_1036/em010_32_l0.nup';
export NOD32MIRROR_TIMESTAMP_FILE_NAME='lastevent.txt';
export NOD32MIRROR_VERSION_FILE_NAME='version.txt';

Обнаружилось что если в network.sh для wget убрать параметр --spider, то все отрабатывает как нужно. Ненужный файл update.ver после скачивания можно и удалить, вроде он попадает во временную директорию. Возможно наличие этого параметра стоит вынести в конфигурационный файл. С curl та же проблема, только логов не сохранилось. Параметр --anyauth для curl проблемы не решает.

stale[bot] commented 6 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.