diff -Nru nginx-1.4.6/debian/changelog nginx-1.4.6/debian/changelog --- nginx-1.4.6/debian/changelog 2014-09-17 08:58:58.000000000 -0400 +++ nginx-1.4.6/debian/changelog 2015-02-09 12:09:19.000000000 -0500 @@ -1,3 +1,14 @@ +nginx (1.4.6-1ubuntu3.2) trusty-updates; urgency=medium + + * d/modules/nginx-http-push: Apply upstream bugfix. (LP: #1216817) + * src/ngx_http_push_module_setup.c: Modify push module code with + upstream changes to fix an issue with initialization when using + `fastcgi_cache` or `proxy_cache`. + * tests/nginx-cachemanager.conf: (new file) Include upstream change + of adding an nginx-cachemanager.conf file to the tests. + + -- Thomas Ward Mon, 09 Feb 2015 12:08:50 -0500 + nginx (1.4.6-1ubuntu3.1) trusty-security; urgency=medium * SECURITY UPDATE: incorrect cached SSL session reuse (LP: #1370478) diff -Nru nginx-1.4.6/debian/modules/nginx-http-push/src/ngx_http_push_module_setup.c nginx-1.4.6/debian/modules/nginx-http-push/src/ngx_http_push_module_setup.c --- nginx-1.4.6/debian/modules/nginx-http-push/src/ngx_http_push_module_setup.c 2014-03-04 17:25:29.000000000 -0500 +++ nginx-1.4.6/debian/modules/nginx-http-push/src/ngx_http_push_module_setup.c 2015-02-09 12:08:12.000000000 -0500 @@ -17,7 +17,13 @@ if((ngx_http_push_init_ipc_shm(ngx_http_push_worker_processes))!=NGX_OK) { return NGX_ERROR; } - return ngx_http_push_register_worker_message_handler(cycle); + else if (ngx_process != NGX_PROCESS_WORKER) { + //not a worker, stop initializing stuff. + return NGX_OK; + } + else { + return ngx_http_push_register_worker_message_handler(cycle); + } } // shared memory zone initializer diff -Nru nginx-1.4.6/debian/modules/nginx-http-push/tests/nginx-cachemanager.conf nginx-1.4.6/debian/modules/nginx-http-push/tests/nginx-cachemanager.conf --- nginx-1.4.6/debian/modules/nginx-http-push/tests/nginx-cachemanager.conf 1969-12-31 19:00:00.000000000 -0500 +++ nginx-1.4.6/debian/modules/nginx-http-push/tests/nginx-cachemanager.conf 2015-02-09 12:08:45.000000000 -0500 @@ -0,0 +1,68 @@ +worker_processes 4; +#debug_points stop; +#error_log /dev/stderr debug; +error_log /dev/stderr notice; +#error_log err.log notice; +pid /tmp/nginx-debug.pid; + +events { + worker_connections 90000; + accept_mutex on; +} + +http { + access_log /dev/stdout; + proxy_cache_path /tmp levels=1:2 keys_zone=cache:1m; + + server { + listen 8000; + location / { + proxy_cache cache; + } + } + + server { + listen 8082; + # root ./; + location ~ /pub/(\w+)$ { + set $push_channel_id $1; + push_publisher; + push_min_message_buffer_length 5; + push_max_message_buffer_length 20; + push_message_timeout 5s; + push_channel_group test; + } + + location ~ /sub/broadcast/(\w+)$ { + push_subscriber; + push_channel_group test; + set $push_channel_id $1; + push_subscriber_concurrency broadcast; + } + location ~ /sub/first/(\w+)$ { + push_subscriber; + push_channel_group test; + set $push_channel_id $1; + push_subscriber_concurrency first; + } + location ~ /sub/last/(\w+)$ { + push_subscriber; + push_channel_group test; + set $push_channel_id $1; + push_subscriber_concurrency last; + } + + #authorized channels only -- publishers must create the channel before subscribing + location ~ /sub/authorized/(\w+)$ { + push_authorized_channels_only on; + push_subscriber; + push_channel_group test; + set $push_channel_id $1; + } + + + + + } +} +