Bug 16312 - Пароль прокси надо вводить руками. Warnings при компиляции
Summary: Пароль прокси надо вводить руками. Warnings при компиляции
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: netcat (show other bugs)
Version: unstable
Hardware: all Linux
: P2 enhancement
Assignee: placeholder@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-07-08 15:18 MSD by Sergey Shilov
Modified: 2008-07-10 11:05 MSD (History)
5 users (show)

See Also:


Attachments
Исходный пакет с приложенным патчем netcat-4.0.20061122-alt-proxy_pass-and-typecast.patch (30.87 KB, patch)
2008-07-08 15:18 MSD, Sergey Shilov
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sergey Shilov 2008-07-08 15:18:22 MSD
Created attachment 2697 [details]
Исходный пакет с приложенным патчем  netcat-4.0.20061122-alt-proxy_pass-and-typecast.patch

При необходимости авторизоваться на прокси спрашивается пароль.
Способа автоматизации - нет.
Если пользовать ~/.ssh/config для автовхода через прокси, то было бы неплохо иметь возможность задать пароль через переменные окружения или командную строку.
Во вложении реализовано второе.
Т.е.-Р proxy_username[:proxy_password]
Что и отражено в коде и странице руководства.
Попутно причесан код на предмет Warnings.
Comment 1 Dmitry V. Levin 2008-07-09 17:52:14 MSD
(In reply to comment #0)
> Created an attachment (id=2697) [details]
> Исходный пакет с приложенным патчем  netcat-4.0.20061122-alt-proxy_pass-and-typecast.patch

Спасибо.  На будущее просьба прилагать только патч, без всего остального исходного пакета.

> При необходимости авторизоваться на прокси спрашивается пароль.
> Способа автоматизации - нет.
> Если пользовать ~/.ssh/config для автовхода через прокси, то было бы неплохо иметь
> возможность задать пароль через переменные окружения или командную строку.
> Во вложении реализовано второе.
> Т.е.-Р proxy_username[:proxy_password]
> Что и отражено в коде и странице руководства.

OK

> Попутно причесан код на предмет Warnings.

Эта новая причёска меня немного позабавила.
Comment 2 Sergey Shilov 2008-07-09 19:00:58 MSD
> Спасибо.  На будущее просьба прилагать только патч, без всего остального
> исходного пакета.
ОК.
Если правка требуется в спеке (например в данном пакете нет Requires/BuildRequires) присылать патч к спеку?

> Эта новая причёска меня немного позабавила.
:-)
Если уж в код лезть то ... уж больно несимпатичен был вывод компилятора всего для 2х модулей.  
Да и код сыроват. Явно через valgrind не гонялся (есть strdup и нету free). 
Мелочи, но...
Comment 3 Dmitry V. Levin 2008-07-09 19:11:59 MSD
(In reply to comment #2)
> > Спасибо.  На будущее просьба прилагать только патч, без всего остального
> > исходного пакета.
> ОК.
> Если правка требуется в спеке (например в данном пакете нет Requires/BuildRequires)
> присылать патч к спеку?

Если нужно, то лучше патч.
Хотя зачем в данном случае Requires/BuildRequires?

> > Эта новая причёска меня немного позабавила.
> :-)

Например, изменение
-       strncat(sun.sun_path, path, sizeof(sun.sun_path));
+       strncat(sun.sun_path, path, strlen(path));

> Если уж в код лезть то ... уж больно несимпатичен был вывод компилятора всего
> для 2х модулей.  
> Да и код сыроват. Явно через valgrind не гонялся (есть strdup и нету free). 
> Мелочи, но...

Надо проверять upstream, возможно, это уже не так сыро как было раньше.
Comment 4 Dmitry V. Levin 2008-07-09 20:58:02 MSD
Патч ваш as is я прикладывать не стал, но всё равно спасибо.

Fixed in 4.0.20061122-alt2
Comment 5 Sergey Shilov 2008-07-10 00:24:36 MSD
> Хотя зачем в данном случае Requires/BuildRequires?
Возможно и не нужно, но
rpm -qf /usr/include/stdlib.h
glibc-devel-2.5.1-alt5
...
Да и gcc не во всякую систему "по умолчанию" ставится.

С учетом 
if (strlen(path) >= sizeof(sun.sun_path))
  errx...
> -       strncat(sun.sun_path, path, sizeof(sun.sun_path));
> +       strncat(sun.sun_path, path, strlen(path));
правка безвредная (равно как и бесполезная), однако 
call to __builtin___strncat_chk might overflow destination buffer
устраняющая.

Я просто постарался подчистить в меру своего розумения:
netcat.c: In function 'udptest':
netcat.c:865: warning: ignoring return value of 'write', declared with attribute warn_unused_result
socks.c: In function 'socks_connect':
socks.c:271: warning: pointer targets in passing argument 1 of '__builtin___snprintf_chk' differ in signedness
socks.c:275: warning: pointer targets in passing argument 1 of '__builtin___snprintf_chk' differ in signedness
socks.c:281: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
socks.c:291: warning: pointer targets in passing argument 1 of '__builtin___snprintf_chk' differ in signedness
socks.c:294: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
socks.c:297: warning: pointer targets in passing argument 1 of '__builtin___snprintf_chk' differ in signedness
socks.c:301: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
socks.c:311: warning: pointer targets in passing argument 2 of 'proxy_read_line' differ in signedness
socks.c:313: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
socks.c:313: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
socks.c:313: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness
socks.c:313: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
socks.c:313: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness
socks.c:313: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness
socks.c:313: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness
socks.c:313: warning: pointer targets in passing argument 1 of 'strncmp' differ in signedness
socks.c:320: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
socks.c:320: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
socks.c:320: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness
socks.c:320: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
socks.c:320: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness
socks.c:320: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness
socks.c:320: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness
socks.c:320: warning: pointer targets in passing argument 1 of 'strncmp' differ in signedness
socks.c:321: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
socks.c:321: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
socks.c:321: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness
socks.c:321: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
socks.c:321: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness
socks.c:321: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness
socks.c:321: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness
socks.c:321: warning: pointer targets in passing argument 1 of 'strncmp' differ in signedness
socks.c:326: warning: pointer targets in passing argument 2 of 'proxy_read_line' differ in signedness
netcat.c: In function 'unix_listen':
netcat.c:554: warning: call to __builtin___strncat_chk might overflow destination buffer
netcat.c: In function 'unix_connect':
netcat.c:526: warning: call to __builtin___strncat_chk might overflow destination buffer


Решать конечно же мантейнеру.
Большое спасибо за общение и быструю реакцию.
Comment 6 Dmitry V. Levin 2008-07-10 01:37:47 MSD
(In reply to comment #5)
> > Хотя зачем в данном случае Requires/BuildRequires?
> Возможно и не нужно, но
> rpm -qf /usr/include/stdlib.h
> glibc-devel-2.5.1-alt5
> ...
> Да и gcc не во всякую систему "по умолчанию" ставится.

Там, где собирают пакеты, все эти пакеты установлены.
У нас не принято добавлять в зависимости пакеты, которые необходимы для работы rpmbuild и, соответственно, вытягиваются по зависимостям rpmbuild.

> С учетом 
> if (strlen(path) >= sizeof(sun.sun_path))
>   errx...
> > -       strncat(sun.sun_path, path, sizeof(sun.sun_path));
> > +       strncat(sun.sun_path, path, strlen(path));
> правка безвредная (равно как и бесполезная), однако 
> call to __builtin___strncat_chk might overflow destination buffer
> устраняющая.

тогда почему не написать просто
strcpy(sun.sun_path, path)
?
Comment 7 Sergey Shilov 2008-07-10 11:05:24 MSD
> У нас не принято добавлять в зависимости пакеты, которые необходимы для
> работы rpmbuild и, соответственно, вытягиваются по зависимостям rpmbuild.
Понятно.

> тогда почему не написать просто
> strcpy(sun.sun_path, path)
Кстати да.

Наверное неплохо было бы еще в man ssh_config исправить 
ProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p
на
ProxyCommand netcat -X connect -x 192.0.2.0:8080 %h %p