Bug 48748

Summary: При использовании в пароле для proxy сервера спец. символов, в файле /etc/sysconfig/network появляются записи содержащие код этого символа, а не сам символ.
Product: Sisyphus Reporter: Mikhail Efremov <sem>
Component: alterator-sysconfigAssignee: Anton Farygin <rider>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: aen, bogomolov.a.d, boyarsh, mike, qa-p8, rider, shakirov, snejok
Version: unstable   
Hardware: x86_64   
OS: Linux   
Bug Depends on:    
Bug Blocks: 46295    

Description Mikhail Efremov 2023-12-08 19:24:18 MSK
+++ This bug was initially created as a clone of Bug #46295 +++

При настройке системы для  работы через прокси сервер - если прописывать прокси сервер через ЦУС->Сеть->Прокси-сервер , то
при использовании в пароле спец. символов, в файле /etc/sysconfig/network появляются  записи содержащие код этого символа. 

Например:
имя пользователя:     user 
пароль пользователя:  !Passw.0.rd

В /etc/sysconfig/network видим: 
HTTP_PROXY=http://user:%21Passw%2e0%2erd@proxy.server.ru:8080
HTTPS_PROXY=http://user:%21Passw%2e0%2erd@proxy.server.ru:8080
FTP_PROXY=http://user:%21Passw%2e0%2erd@proxy.server.ru:8080
NO_PROXY="127.0.0.1,localhost"

Вместо символов мы наблюдаем их коды.

Результат:  Прокси сервер не принимает пароль.

В ручном режиме изменяем /etc/sysconfig/network:
HTTP_PROXY=http://user:!Passw.0.rd@proxy.server.ru:8080
HTTPS_PROXY=http://user:!Passw.0.rd@proxy.server.ru:8080
FTP_PROXY=http://user:!Passw.0.rd@proxy.server.ru:8080
NO_PROXY="127.0.0.1,localhost"

Изменяем в строках коды на символы.

Результат:  Прокси сервер успешно авторизует нас - имеем выход в интернет.
Comment 1 Mikhail Efremov 2023-12-08 20:53:48 MSK
К сожалению, в https://git.altlinux.org/gears/a/alterator-sysconfig.git?p=alterator-sysconfig.git;a=commitdiff;h=52fa8ecc2cdc0cd8c543cf84ee340ae51f63f62d
не написано зачем делать encode/decode логина и пароля.
Возможно нужно просто убрать, но ведь какая-то проблема этим решалась, наверное.
Comment 2 Lenar Shakirov 2023-12-22 16:42:05 MSK
(Ответ для Mikhail Efremov на комментарий #0)

> Например:
> имя пользователя:     user 
> пароль пользователя:  !Passw.0.rd
> 
> В /etc/sysconfig/network видим: 
> HTTP_PROXY=http://user:%21Passw%2e0%2erd@proxy.server.ru:8080
> HTTPS_PROXY=http://user:%21Passw%2e0%2erd@proxy.server.ru:8080
> FTP_PROXY=http://user:%21Passw%2e0%2erd@proxy.server.ru:8080
> NO_PROXY="127.0.0.1,localhost"
> 
> Вместо символов мы наблюдаем их коды.
> 
> Результат:  Прокси сервер не принимает пароль.


А через какое приложение вы проверяете?

На p8 все браузеры и curl/wget умеют url-encoded пароли

Только apt пришлось немножко допатчить https://bugzilla.altlinux.org/37186

правда багу #37186 куда-то не туда увели)