Bug 46715

Summary: Не работает аутентификация для прокси-сервера через mate-control-center
Product: Sisyphus Reporter: Vladislav Glinkin <glinkinvd>
Component: chromiumAssignee: Alexey Gladkov <legion>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: cas, legion
Version: unstable   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
Цент управления
none
proxy
none
mate-control-center none

Description Vladislav Glinkin 2023-06-30 17:48:56 MSK
Created attachment 13653 [details]
Цент управления

Платформы:
==========
ALT Workstation 10.1
ALT Server 10.1

Версии пакетов:
==============
chromium-gost-111.0.5563.64-alt1.x86_64
chromium-114.0.5735.90-alt1.x86_64
yandex-browser-stable-23.5.1.793-alt1.x86_64
mate-control-center-1.26.1-alt2.x86_64
firefox-esr-102.12.0-alt1.x86_64

Предварительная настройка сервера:
==================================
# apt-get install -y squid

# cat > /etc/squid/squid.conf << _EOF_
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
http_access deny all
acl Safe_ports port 631    # CUPS
acl Safe_ports port 280    # HTTP-MGMT
acl Safe_ports port 210    # WAIS
acl Safe_ports port 591    # Filemaker
acl SSL_ports port 443    # HTTPS (C)
acl Safe_ports port 488    # GSS-HTTP
acl Safe_ports port 21    # FTP
acl Safe_ports port 70    # GOPHER
acl Safe_ports port 777    # Multilingual HTTP
acl Safe_ports port 80    # HTTP
acl Safe_ports port 873    # RSYNC
acl Safe_ports port 1025-65535   # Other ports
acl SSL_ports port 563    # SNEWS (C)
acl Safe_ports port 901    # SWAT
http_access deny !Safe_ports !SSL_ports
acl CONNECT method CONNECT
http_access deny CONNECT !SSL_ports
acl our_networks src 127.0.0.0/8    # LOCALHOST
acl our_networks src 10.0.0.0/8    # Enter your ip-address
http_port 3128
_EOF_

# mkdir -p /var/cache/squid
# htpasswd -mbc /etc/squid/passwd "proxyuser" "123456"

# systemctl enable --now squid && sleep 5; systemctl status squid

# cat > /etc/httpd2/conf/sites-available/default.conf << _EOF_
<VirtualHost *:80>              
        ServerName $(hostname -i)
        DocumentRoot /var/www/html

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        Redirect /wpad.dat http://$(hostname -i)/proxy.pac
        KeepAlive On
        <Directory "/var/www/html">
          Options -Indexes
        </Directory>
</VirtualHost>
_EOF_

# cat > /var/www/html/proxy.pac << _EOF_
function FindProxyForURL(url, host) {
    return "PROXY $(hostname -i):3128"
}
_EOF_

# echo "application/x-ns-proxy-autoconfig       dat" >> /etc/httpd2/conf/mime.types

# systemctl restart httpd2.service

Шаги воспроизведения (на клиенте):
==================================
1) Центр управления -> Сетевая прокси-служба (см. скриншот)
2) Выбрать ручную настройку
3) В поля "Прокси для HTTP" и "Прокси для безопасного HTTP" указать IP адрес сервера и соответствующий порт
4) Нажать на "Подробнее" -> Включить чекбокс "Использовать авторизацию"
5) Имя пользователя - proxyuser
Пароль - 123456
6) Перезайти в сеанс пользователя
7) Запустить $ yandex-browser-stable / $ chromium / $ chromium-gost

Фактический результат: При запуске из терминала в каждом из браузеров появляется ошибка ERR_NO_SUPPORTED_PROXIES

В случае, если запустить браузеры через меню приложений - появляется меню входа для доступа на прокси-сервер в самом браузере.

Ожидаемый результат: При запуске браузеров через терминал/меню приложений доступ на прокси-сервер уже имеется, авторизация не требуется.

На сервере в # tail -f /var/log/squid/access.log имеются логи следующего вида:
1688130459.568  16658 <IP клиента> TCP_TUNNEL/200 69727 CONNECT mc.yandex.ru:443 proxyuser HIER_DIRECT/2a02:6b8::1:119

Дополнительно: При запуске $ firefox через терминал - появляется окно авторизации в самом браузере. Если запускать через меню приложений - браузер не будет использовать прокси-сервер вовсе.

При использовании автоматической настройки прокси-сервера - работа корректна, окно авторизации появляется в браузере.

В случае, если squid настроен без авторизации - то ручная настройка корректно работает.

В P10 воспроизводится.
Comment 1 Valery Inozemtsev 2023-06-30 18:11:19 MSK
Created attachment 13654 [details]
proxy

с этим вопросом к chromium
Comment 2 Valery Inozemtsev 2023-06-30 18:15:12 MSK
Created attachment 13656 [details]
mate-control-center

mate-control-center свою функцию выполняет
Comment 3 Alexey Gladkov 2023-07-03 15:35:46 MSK
Во враппере chromium реализован очень ограниченный функционал установки прокси из переменных окружения. Расширение этой поддержки не планируется.