naxsi as a dynamic module error on nginx 1.10.0

Andrew Hutchings ahutchings at nginx.com
Thu Apr 28 05:59:12 UTC 2016


Hi Anoop,

The "config" file that comes with the source of a module is a shell 
script that is executed by our build system. If it modifies things 
inside our build system then there isn't a lot we can do for that.

Things have improved with the way you define dynamic modules in that 
file but it is still possible to break the build with it.

I am out of the office today but I'll see if I can reproduce the issue 
tomorrow and pin down the exact cause.

Kind Regards
Andrew

On 28/04/16 06:42, Anoop Alias wrote:
> the passenger community is not aware of any issues where passenger
> breaks other modules.
>
> Pardon me if I am wrong - I am not a c programmer so my knowledge here
> is limited. But shouldn't nginx offer a mechanism by which one module
> should not be interfering with loading of another module .
>
> I have not seen similar issues in the apache world and the apxs  seem
> to be facilitating loading of multiple modules from various developers
> without any issue.
>
>
>
> On Wed, Apr 27, 2016 at 9:24 PM, Andrew Hutchings <ahutchings at nginx.com> wrote:
>> Hi Anoop,
>>
>> Yes, it would probably be better to contact their community. I would also
>> recommend trying the latest GitHub checkout of their 5.0 branch as the
>> changes there may have already fixed it.
>>
>> Kind Regards
>> Andrew
>>
>>
>> On 27/04/16 16:52, Anoop Alias wrote:
>>>
>>> Hi Andrew,
>>>
>>> Yes you are correct . Without passenger naxsi is loading and working fine.
>>>
>>> So I should be contacting passenger list with the error right?
>>>
>>> Thank you,
>>> Anoop
>>>
>>>
>>>
>>> On Wed, Apr 27, 2016 at 8:03 PM, Andrew Hutchings <ahutchings at nginx.com>
>>> wrote:
>>>>
>>>> Hi Anoop,
>>>>
>>>> This looks to me like another module has broken the linking a bit.
>>>> Possibly
>>>> Passenger given the symbols triggering the error and the fact they
>>>> released
>>>> a fix for their module linking 8 days ago.
>>>>
>>>> Can you try compiling without Passenger and then starting NGINX to see if
>>>> this fixes it?
>>>>
>>>> Kind Regards
>>>> Andrew
>>>>
>>>>
>>>> On 27/04/16 14:59, Anoop Alias wrote:
>>>>>
>>>>>
>>>>> I build naxsi-0.55rc1 as a module for nginx 1.10.0 and getting the
>>>>> following 2 different error on centos7 and centos6
>>>>>
>>>>> Error on Centos6
>>>>> nginx: [emerg] dlopen() "/etc/nginx/modules/ngx_http_naxsi_module.so"
>>>>> failed (/etc/nginx/modules/ngx_http_naxsi_module.so: undefined symbol:
>>>>> pp_get_app_type_name) in /etc/nginx/conf.d/dynamic_modules.conf:1
>>>>>
>>>>> # nginx -V nginx version: nginx/1.10.0 built by gcc 4.8.2 20140120
>>>>> (Red Hat 4.8.2-15) (GCC)built with OpenSSL 1.0.1e-fips 11 Feb 2013 TLS
>>>>> SNI support enabled configure arguments: --prefix=/etc/nginx
>>>>> --sbin-path=/usr/sbin/nginx --modules-path=/etc/nginx/modules
>>>>> --conf-path=/etc/nginx/nginx.conf
>>>>> --error-log-path=/var/log/nginx/error_log
>>>>> --http-log-path=/var/log/nginx/access_log
>>>>> --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock
>>>>> --http-client-body-temp-path=/var/cache/nginx/client_temp
>>>>> --http-proxy-temp-path=/var/cache/nginx/proxy_temp
>>>>> --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp
>>>>> --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp
>>>>> --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nobody
>>>>> --group=nobody --with-http_ssl_module --with-http_realip_module
>>>>> --with-http_addition_module --with-http_sub_module
>>>>> --with-http_dav_module --with-http_flv_module --with-http_mp4_module
>>>>> --with-http_gunzip_module --with-http_gzip_static_module
>>>>> --with-http_random_index_module --with-http_secure_link_module
>>>>> --with-http_stub_status_module --with-http_auth_request_module
>>>>> --add-dynamic-module=naxsi-0.55rc1/naxsi_src --with-file-aio
>>>>> --with-threads --with-stream --with-stream_ssl_module
>>>>> --with-http_slice_module --with-ipv6 --with-http_v2_module
>>>>> --add-dynamic-module=ngx_pagespeed-release-1.11.33.0-beta
>>>>> --with-cc=/opt/rh/devtoolset-2/root/usr/bin/gcc
>>>>>
>>>>>
>>>>> --add-module=/usr/local/rvm/gems/ruby-2.3.0/gems/passenger-5.0.27/src/nginx_module
>>>>> --add-module=ngx_cache_purge-2.3 --with-cc-opt='-O2 -g -pipe -Wall
>>>>> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong
>>>>> --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic'
>>>>> --with-ld-opt=-Wl,-E
>>>>>
>>>>> Error on Centos7
>>>>>
>>>>> nginx -t nginx: [emerg] dlopen()
>>>>> "/etc/nginx/modules/ngx_http_naxsi_module.so" failed
>>>>> (/etc/nginx/modules/ngx_http_naxsi_module.so: undefined symbol:
>>>>> psg_variant_map_new) in /etc/nginx/conf.d/dynamic_modules.conf:1
>>>>>
>>>>> # nginx -V nginx version: nginx/1.10.0 built by gcc 4.8.5 20150623
>>>>> (Red Hat 4.8.5-4) (GCC)built with OpenSSL 1.0.1e-fips 11 Feb 2013 TLS
>>>>> SNI support enabled configure arguments: --prefix=/etc/nginx
>>>>> --sbin-path=/usr/sbin/nginx --modules-path=/etc/nginx/modules
>>>>> --conf-path=/etc/nginx/nginx.conf
>>>>> --error-log-path=/var/log/nginx/error_log
>>>>> --http-log-path=/var/log/nginx/access_log
>>>>> --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock
>>>>> --http-client-body-temp-path=/var/cache/nginx/client_temp
>>>>> --http-proxy-temp-path=/var/cache/nginx/proxy_temp
>>>>> --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp
>>>>> --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp
>>>>> --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nobody
>>>>> --group=nobody --with-http_ssl_module --with-http_realip_module
>>>>> --with-http_addition_module --with-http_sub_module
>>>>> --with-http_dav_module --with-http_flv_module --with-http_mp4_module
>>>>> --with-http_gunzip_module --with-http_gzip_static_module
>>>>> --with-http_random_index_module --with-http_secure_link_module
>>>>> --with-http_stub_status_module --with-http_auth_request_module
>>>>> --add-dynamic-module=naxsi-0.55rc1/naxsi_src --with-file-aio
>>>>> --with-threads --with-stream --with-stream_ssl_module
>>>>> --with-http_slice_module --with-ipv6 --with-http_v2_module
>>>>> --add-dynamic-module=ngx_pagespeed-release-1.11.33.0-beta
>>>>>
>>>>>
>>>>> --add-module=/usr/local/rvm/gems/ruby-2.3.0/gems/passenger-5.0.27/src/nginx_module
>>>>> --add-module=ngx_cache_purge-2.3 --with-cc-opt='-O2 -g -pipe -Wall
>>>>> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong
>>>>> --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic'
>>>>> --with-ld-opt=-Wl,-E
>>>>>
>>>>> if naxsi loading is disabled .Everything works.
>>>>>
>>>>> NAXSI changelog for 0.55rc1 at
>>>>> https://github.com/nbs-system/naxsi/releases
>>>>>
>>>>> states
>>>>>
>>>>> Confirmed support as a dynamic module (introduced in nginx 1.9.11)
>>>>>
>>>>> Just wanted to know if this is an issue with NAXSI itself or something
>>>>> to do with my configure args for nginx .
>>>>>
>>>>> Thank you,
>>>>>
>>>>
>>>> --
>>>> Andrew Hutchings (LinuxJedi)
>>>> Technical Product Manager, NGINX Inc.
>>>>
>>>> _______________________________________________
>>>> nginx mailing list
>>>> nginx at nginx.org
>>>> http://mailman.nginx.org/mailman/listinfo/nginx
>>>
>>>
>>>
>>>
>>
>> --
>> Andrew Hutchings (LinuxJedi)
>> Technical Product Manager, NGINX Inc.
>>
>> _______________________________________________
>> nginx mailing list
>> nginx at nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx
>
>
>

-- 
Andrew Hutchings (LinuxJedi)
Technical Product Manager, NGINX Inc.



More information about the nginx mailing list