[PATCH] small userid module change

Martin Bruse zondolfin at gmail.com
Thu Feb 24 15:37:40 MSK 2011


Hello list!

I wanted to use my nginx logs to power click track analysis like
http://statviz.sourceforge.net/ for example, and therefore I used the
userid module.

I realized quickly that it either sets $uid_set or $uid_got, never
both, which makes it hard to get one single column in the logfile that
entails the userid.

So I devised the following patch for this purpose:

-----------------------------------8<--------------------------------------------
--- nginx-0.7.67/src/http/modules/ngx_http_userid_filter_module.c	2010-06-07
11:54:19.000000000 +0200
+++ nginx-0.7.67-martin//src/http/modules/ngx_http_userid_filter_module.c	2011-02-24
13:16:20.000000000 +0100
@@ -275,9 +275,11 @@

     ctx = ngx_http_get_module_ctx(r, ngx_http_userid_filter_module);

-    if (ctx == NULL || ctx->uid_set[3] == 0) {
-        v->not_found = 1;
-        return NGX_OK;
+    if (ctx == NULL) {
+      v->not_found = 1;
+      return NGX_OK;
+    } else if (ctx->uid_set[3] == 0) {
+      return ngx_http_userid_got_variable(r, v, data);
     }

     conf = ngx_http_get_module_loc_conf(r, ngx_http_userid_filter_module);
-----------------------------------8<--------------------------------------------

Since I have no real ambition to have my own fork of nginx, I would
love to hear about the possibilities to get this modification, or
another that solves my problem in a more nginxy way, into the main
branch.

regards,
//Martin Bruse



More information about the nginx mailing list