Konstantin Pavlov
May 15, 2018 07:20AM
Здравствуйте, Илья,

14.05.2018 13:30, Илья Шипицин wrot> 14 мая 2018 г., 15:04 пользователь
Ruslan Ermilov <ru@nginx.com
> <mailto:ru@nginx.com>> написал:
>
> On Mon, May 14, 2018 at 12:14:28PM +0500, Илья Шипицин wrote:
> > на днях зарелизился centos-7.5, в нем, к сожалению, все по прежнему
> >
> > завел тикет
> >
> > https://trac.nginx.org/nginx/ticket/1553
> https://trac.nginx.org/nginx/ticket/1553
> >
> > посмотрите ?
> >
> > 29 апреля 2018 г., 3:40 пользователь Валентин Бартенев <vbart@nginx.com <mailto:vbart@nginx.com>>
> > написал:
> >
> > > On Saturday, 28 April 2018 15:03:49 MSK Илья Шипицин wrote:
> > > > привет!
> > > >
> > > > поддержка IP_BIND_ADDRESS_NO_PORT официально началась в ядре 4.2, но ...
> > > > ее портировали в 3.10 на CentOS-7.4
> > > >
> > > > однако, портировали не очень качественно. константа определена не в том
> > > > файле, в котором должна (и в котором ищет nginx)
> > > >
> > > > [root@xxx ~]# grep -r IP_BIND_ADDRESS_NO_PORT /usr/include/
> > > > /usr/include/linux/in.h:#define IP_BIND_ADDRESS_NO_PORT    24
> > > > [root@xxx ~]#
> > > >
> > > >
> > > > т.е. если пакет собирать, как он собирается обычно, то поддержка
> > > > IP_BIND_ADDRESS_NO_PORT не включается (хотя могла бы).
> > > >
> > > > скажите, вы официальные пакеты собираете каким образом ? кажется, имеет
> > > > смысл поправить эту процедуру и дать эту крутую фичу пользователям
> > > > CentOS-7.4
> > > >
> > >
> > > Дело же не в ядре (не только в нем).  На линуксах интерфейс обеспечивает
> > > glibc и именно туда смотрит nginx.
>
> <linux/in.h> - это заголовочный файл ядра.  <netinet/in.h> - это
> заголовочный файл glibc.  Приложения используют <netinet/in.h>.
> В норме макрос IP_BIND_ADDRESS_NO_PORT есть в обоих файлах, что
> означает, что поддержка есть и в ядре, и в glibc.  Утверждение о
> том, что "константа определена не в том файле", ошибочное.
>
> Как Вам уже пытался ранее объяснять Валентин, проблема заключается
> в том, что в установленной версии glibc нет поддержки этого макроса.
>
> Для себя Вы можете проблему решить так:
>
>         configure --with-cc-opt=-DIP_BIND_ADDRESS_NO_PORT=24
>
>
>
> для себя я, конечно, решу.
>
> первоначально мы попали в неочевидную ловушку
> 1) читаем про IP_BIND_ADDRESS_NO_PORT
> 2) читаем, что начиная с centos-7.4 должно работать
> 3) ставим официальный пакет
> 4) не работает (но чтобы это понять, пришлось залезть в отладочный лог и
> попрыгать с strace)
>
> в официальном пакете поправите ?

Нам усиленно кажется, что исправлять это надо в RHEL/CentOS. Повесьте
им багу о несоответствии интерфейсов ядра и glibc, это наилучший выход
из этой ситуации.

--
Konstantin Pavlov
https://www.nginx.com/
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

поддержка IP_BIND_ADDRESS_NO_PORT на CentOS-7.4

Илья Шипицин April 28, 2018 08:06AM

Re: поддержка IP_BIND_ADDRESS_NO_PORT на CentOS-7.4

Валентин Бартенев April 28, 2018 06:42PM

Re: поддержка IP_BIND_ADDRESS_NO_PORT на CentOS-7.4

Илья Шипицин April 29, 2018 02:08AM

Re: поддержка IP_BIND_ADDRESS_NO_PORT на CentOS-7.4

Илья Шипицин May 14, 2018 03:16AM

Re: поддержка IP_BIND_ADDRESS_NO_PORT на CentOS-7.4

ru@nginx.com May 14, 2018 06:06AM

Re: поддержка IP_BIND_ADDRESS_NO_PORT на CentOS-7.4

Илья Шипицин May 14, 2018 06:32AM

Re: поддержка IP_BIND_ADDRESS_NO_PORT на CentOS-7.4

Konstantin Pavlov May 15, 2018 07:20AM

Re: поддержка IP_BIND_ADDRESS_NO_PORT на CentOS-7.4

Илья Шипицин May 17, 2018 05:20AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 143
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready