Skip to content

Commit 68fd78a

Browse files
committed
Fix compatibility with nginx-1.7.8+.
Change-Id: Ia95af27d9e3f11b1132da3692d17042e63219d47 Signed-off-by: Piotr Sikora <[email protected]>
1 parent c31bf34 commit 68fd78a

File tree

1 file changed

+89
-2
lines changed

1 file changed

+89
-2
lines changed

ngx_cache_purge_module.c

Lines changed: 89 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,24 +195,42 @@ CRLF "</center>" CRLF
195195
# if (NGX_HTTP_FASTCGI)
196196
extern ngx_module_t ngx_http_fastcgi_module;
197197

198+
# if (nginx_version >= 1007008)
199+
200+
typedef struct {
201+
ngx_array_t *flushes;
202+
ngx_array_t *lengths;
203+
ngx_array_t *values;
204+
ngx_uint_t number;
205+
ngx_hash_t hash;
206+
} ngx_http_fastcgi_params_t;
207+
208+
# endif /* nginx_version >= 1007008 */
209+
198210
typedef struct {
199211
ngx_http_upstream_conf_t upstream;
200212

201213
ngx_str_t index;
202214

215+
# if (nginx_version >= 1007008)
216+
ngx_http_fastcgi_params_t params;
217+
ngx_http_fastcgi_params_t params_cache;
218+
# else
203219
ngx_array_t *flushes;
204220
ngx_array_t *params_len;
205221
ngx_array_t *params;
222+
# endif /* nginx_version >= 1007008 */
223+
206224
ngx_array_t *params_source;
207225
ngx_array_t *catch_stderr;
208226

209227
ngx_array_t *fastcgi_lengths;
210228
ngx_array_t *fastcgi_values;
211229

212-
# if (nginx_version >= 8040)
230+
# if (nginx_version >= 8040) && (nginx_version < 1007008)
213231
ngx_hash_t headers_hash;
214232
ngx_uint_t header_params;
215-
# endif /* nginx_version >= 8040 */
233+
# endif /* nginx_version >= 8040 && nginx_version < 1007008 */
216234

217235
# if (nginx_version >= 1001004)
218236
ngx_flag_t keep_conn;
@@ -331,15 +349,36 @@ typedef struct {
331349
ngx_str_t uri;
332350
} ngx_http_proxy_vars_t;
333351

352+
# if (nginx_version >= 1007008)
353+
354+
typedef struct {
355+
ngx_array_t *flushes;
356+
ngx_array_t *lengths;
357+
ngx_array_t *values;
358+
ngx_hash_t hash;
359+
} ngx_http_proxy_headers_t;
360+
361+
# endif /* nginx_version >= 1007008 */
362+
334363
typedef struct {
335364
ngx_http_upstream_conf_t upstream;
336365

366+
# if (nginx_version >= 1007008)
367+
ngx_array_t *body_flushes;
368+
ngx_array_t *body_lengths;
369+
ngx_array_t *body_values;
370+
ngx_str_t body_source;
371+
372+
ngx_http_proxy_headers_t headers;
373+
ngx_http_proxy_headers_t headers_cache;
374+
# else
337375
ngx_array_t *flushes;
338376
ngx_array_t *body_set_len;
339377
ngx_array_t *body_set;
340378
ngx_array_t *headers_set_len;
341379
ngx_array_t *headers_set;
342380
ngx_hash_t headers_set_hash;
381+
# endif /* nginx_version >= 1007008 */
343382

344383
ngx_array_t *headers_source;
345384
# if (nginx_version < 8040)
@@ -355,7 +394,9 @@ typedef struct {
355394
ngx_array_t *cookie_paths;
356395
# endif /* nginx_version >= 1001015 */
357396

397+
# if (nginx_version < 1007008)
358398
ngx_str_t body_source;
399+
# endif /* nginx_version < 1007008 */
359400

360401
ngx_str_t method;
361402
ngx_str_t location;
@@ -385,6 +426,11 @@ typedef struct {
385426
ngx_str_t ssl_trusted_certificate;
386427
ngx_str_t ssl_crl;
387428
# endif /* nginx_version >= 1007000 */
429+
# if (nginx_version >= 1007008)
430+
ngx_str_t ssl_certificate;
431+
ngx_str_t ssl_certificate_key;
432+
ngx_array_t *ssl_passwords;
433+
# endif /* nginx_version >= 1007008 */
388434
# endif
389435
} ngx_http_proxy_loc_conf_t;
390436

@@ -484,16 +530,34 @@ ngx_http_proxy_cache_purge_handler(ngx_http_request_t *r)
484530
# if (NGX_HTTP_SCGI)
485531
extern ngx_module_t ngx_http_scgi_module;
486532

533+
# if (nginx_version >= 1007008)
534+
535+
typedef struct {
536+
ngx_array_t *flushes;
537+
ngx_array_t *lengths;
538+
ngx_array_t *values;
539+
ngx_uint_t number;
540+
ngx_hash_t hash;
541+
} ngx_http_scgi_params_t;
542+
543+
# endif /* nginx_version >= 1007008 */
544+
487545
typedef struct {
488546
ngx_http_upstream_conf_t upstream;
489547

548+
# if (nginx_version >= 1007008)
549+
ngx_http_scgi_params_t params;
550+
ngx_http_scgi_params_t params_cache;
551+
ngx_array_t *params_source;
552+
# else
490553
ngx_array_t *flushes;
491554
ngx_array_t *params_len;
492555
ngx_array_t *params;
493556
ngx_array_t *params_source;
494557

495558
ngx_hash_t headers_hash;
496559
ngx_uint_t header_params;
560+
# endif /* nginx_version >= 1007008 */
497561

498562
ngx_array_t *scgi_lengths;
499563
ngx_array_t *scgi_values;
@@ -597,16 +661,34 @@ ngx_http_scgi_cache_purge_handler(ngx_http_request_t *r)
597661
# if (NGX_HTTP_UWSGI)
598662
extern ngx_module_t ngx_http_uwsgi_module;
599663

664+
# if (nginx_version >= 1007008)
665+
666+
typedef struct {
667+
ngx_array_t *flushes;
668+
ngx_array_t *lengths;
669+
ngx_array_t *values;
670+
ngx_uint_t number;
671+
ngx_hash_t hash;
672+
} ngx_http_uwsgi_params_t;
673+
674+
# endif /* nginx_version >= 1007008 */
675+
600676
typedef struct {
601677
ngx_http_upstream_conf_t upstream;
602678

679+
# if (nginx_version >= 1007008)
680+
ngx_http_uwsgi_params_t params;
681+
ngx_http_uwsgi_params_t params_cache;
682+
ngx_array_t *params_source;
683+
# else
603684
ngx_array_t *flushes;
604685
ngx_array_t *params_len;
605686
ngx_array_t *params;
606687
ngx_array_t *params_source;
607688

608689
ngx_hash_t headers_hash;
609690
ngx_uint_t header_params;
691+
# endif /* nginx_version >= 1007008 */
610692

611693
ngx_array_t *uwsgi_lengths;
612694
ngx_array_t *uwsgi_values;
@@ -629,6 +711,11 @@ typedef struct {
629711
ngx_str_t ssl_trusted_certificate;
630712
ngx_str_t ssl_crl;
631713
# endif /* nginx_version >= 1007000 */
714+
# if (nginx_version >= 1007008)
715+
ngx_str_t ssl_certificate;
716+
ngx_str_t ssl_certificate_key;
717+
ngx_array_t *ssl_passwords;
718+
# endif /* nginx_version >= 1007008 */
632719
# endif
633720
} ngx_http_uwsgi_loc_conf_t;
634721

0 commit comments

Comments
 (0)