Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: upload module и @fallback
пока я тщетно пытаюсь какнибудь вынуть эти переменные из модуля, я
добился хотябы что бы NGINX не валился когда передаешь эти переменные в
лог, на всякий случай вышлю патч, скажите что думаете на эту тему.
On 12/16/2011 12:05 PM, Roman Vasilyev wrote:
On 12/16/2011 11:45 AM, Valery Kholodkov wrote:
Да, имеется в виду модуль nginx. Данная конфигурация не будет
работать, так как большинство переменных модуля доступны только в
процессе загрузки, а не во время записи в лог.
А можно с вами скоординироваться и дописать возможность снимать это
как простые переменные из модуля:
a) в момент uwsgi_param;
b) в момент записи в лог;
?
ЗЫ: ОООООЧЕНЬ надо
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
--- ngx_http_upload_module.c.orig 2011-12-16 14:58:26.000000000 -0800
+++ ngx_http_upload_module.c 2011-12-16 15:09:56.000000000 -0800
@@ -2076,6 +2076,9 @@
ngx_http_upload_ctx_t *u;
u = ngx_http_get_module_ctx(r, ngx_http_upload_module);
+ if (!u) {
+ return;
+ }
s = (ngx_str_t *) ((char *) u + data);
@@ -2090,12 +2093,15 @@
ngx_http_upload_ctx_t *u;
ngx_str_t *value;
+ u = ngx_http_get_module_ctx(r, ngx_http_upload_module);
+ if (!u) {
+ return NGX_ERROR;
+ }
+
v->valid = 1;
v->no_cacheable = 0;
v->not_found = 0;
- u = ngx_http_get_module_ctx(r, ngx_http_upload_module);
-
value = (ngx_str_t *) ((char *) u + data);
v->data = value->data;
@@ -2114,6 +2120,9 @@
u_char *hex_table;
u = ngx_http_get_module_ctx(r, ngx_http_upload_module);
+ if (!u) {
+ return NGX_ERROR;
+ }
if(u->md5_ctx == NULL || u->partial_content) {
v->not_found = 1;
@@ -2151,6 +2160,9 @@
u_char *hex_table;
u = ngx_http_get_module_ctx(r, ngx_http_upload_module);
+ if (!u) {
+ return NGX_ERROR;
+ }
if(u->sha1_ctx == NULL || u->partial_content) {
v->not_found = 1;
@@ -2187,6 +2199,9 @@
uint32_t *value;
u = ngx_http_get_module_ctx(r, ngx_http_upload_module);
+ if (!u) {
+ return NGX_ERROR;
+ }
if(u->partial_content) {
v->not_found = 1;
@@ -2218,6 +2233,9 @@
off_t *value;
u = ngx_http_get_module_ctx(r, ngx_http_upload_module);
+ if (!u) {
+ return NGX_ERROR;
+ }
value = (off_t *) ((char *) u + data);
@@ -2244,6 +2262,11 @@
ngx_http_upload_range_t *value;
u = ngx_http_get_module_ctx(r, ngx_http_upload_module);
+ if (!u) {
+ ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
+ "context not set");
+ return;
+ }
value = (ngx_http_upload_range_t *) ((char *) u + data);
@@ -2265,6 +2288,9 @@
ngx_http_upload_range_t *value;
u = ngx_http_get_module_ctx(r, ngx_http_upload_module);
+ if (!u) {
+ return NGX_ERROR;
+ }
value = (ngx_http_upload_range_t *) ((char *) u + data);
@@ -2294,6 +2320,9 @@
ngx_uint_t *value;
u = ngx_http_get_module_ctx(r, ngx_http_upload_module);
+ if (!u) {
+ return NGX_ERROR;
+ }
value = (ngx_uint_t *) ((char *) u + data);
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|