Summary: | Пароль прокси надо вводить руками. Warnings при компиляции | ||||||
---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Sergey Shilov <hsvhome> | ||||
Component: | netcat | Assignee: | placeholder <placeholder> | ||||
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||
Severity: | enhancement | ||||||
Priority: | P2 | CC: | evg, glebfm, ldv, mike, placeholder | ||||
Version: | unstable | ||||||
Hardware: | all | ||||||
OS: | Linux | ||||||
Attachments: |
|
(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. Эта новая причёска меня немного позабавила. > Спасибо. На будущее просьба прилагать только патч, без всего остального > исходного пакета. ОК. Если правка требуется в спеке (например в данном пакете нет Requires/BuildRequires) присылать патч к спеку? > Эта новая причёска меня немного позабавила. :-) Если уж в код лезть то ... уж больно несимпатичен был вывод компилятора всего для 2х модулей. Да и код сыроват. Явно через valgrind не гонялся (есть strdup и нету free). Мелочи, но... (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, возможно, это уже не так сыро как было раньше. Патч ваш as is я прикладывать не стал, но всё равно спасибо. Fixed in 4.0.20061122-alt2 > Хотя зачем в данном случае 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 Решать конечно же мантейнеру. Большое спасибо за общение и быструю реакцию. (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) ? > У нас не принято добавлять в зависимости пакеты, которые необходимы для > работы 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 |
Created attachment 2697 [details] Исходный пакет с приложенным патчем netcat-4.0.20061122-alt-proxy_pass-and-typecast.patch При необходимости авторизоваться на прокси спрашивается пароль. Способа автоматизации - нет. Если пользовать ~/.ssh/config для автовхода через прокси, то было бы неплохо иметь возможность задать пароль через переменные окружения или командную строку. Во вложении реализовано второе. Т.е.-Р proxy_username[:proxy_password] Что и отражено в коде и странице руководства. Попутно причесан код на предмет Warnings.