Hi Doug, i tried to apply this to rlm_perl (on freeradius 2.1.8) but then rlm_perl.c does not compile. Can you provide me an example how to integrate this? Or - where is my fault?
### @@ -587,6 +587,10 @@ char *val; VALUE_PAIR *vpp; + /* tiri */ + int rdebug; + rdebug = !stat("/var/log/freeradius/rlm_perl.log", &sb); + if (SvOK(sv)) { val = SvPV_nolen(sv); vpp = pairmake(key, val, operator); @@ -594,11 +598,13 @@ pairadd(vp, vpp); radlog(L_DBG, "rlm_perl: Added pair %s = %s", key, val); + if (rdebug) radlog (L_AUTH, "Added pair %s = %s", key, val); return 1; } else { radlog(L_DBG, "rlm_perl: ERROR: Failed to create pair %s = %s", key, val); + if (rdebug) radlog (L_AUTH, "Added pair %s = %s", key, val); } } return 0; ### In file included from rlm_perl.c:39: /usr/lib/perl/5.10/CORE/perl.h:1318: warning: redundant redeclaration of 'strerror' /usr/include/string.h:256: warning: previous declaration of 'strerror' was here In file included from rlm_perl.c:39: /usr/lib/perl/5.10/CORE/perl.h:3499: warning: redundant redeclaration of 'getuid' /usr/include/unistd.h:642: warning: previous declaration of 'getuid' was here /usr/lib/perl/5.10/CORE/perl.h:3500: warning: redundant redeclaration of 'geteuid' /usr/include/unistd.h:645: warning: previous declaration of 'geteuid' was here /usr/lib/perl/5.10/CORE/perl.h:3501: warning: redundant redeclaration of 'getgid' /usr/include/unistd.h:648: warning: previous declaration of 'getgid' was here /usr/lib/perl/5.10/CORE/perl.h:3502: warning: redundant redeclaration of 'getegid' /usr/include/unistd.h:651: warning: previous declaration of 'getegid' was here /usr/lib/perl/5.10/CORE/perl.h:3811: warning: redundant redeclaration of 'mktemp' /usr/include/stdlib.h:583: warning: previous declaration of 'mktemp' was here /usr/lib/perl/5.10/CORE/perl.h:3813: warning: redundant redeclaration of 'atof' /usr/include/stdlib.h:280: warning: previous definition of 'atof' was here In file included from rlm_perl.c:39: /usr/lib/perl/5.10/CORE/perl.h:3904: warning: redundant redeclaration of 'crypt' /usr/include/crypt.h:33: warning: previous declaration of 'crypt' was here /usr/lib/perl/5.10/CORE/perl.h:3910: warning: redundant redeclaration of 'getenv' /usr/include/stdlib.h:545: warning: previous declaration of 'getenv' was here /usr/lib/perl/5.10/CORE/perl.h:3921: warning: redundant redeclaration of 'getlogin' /usr/include/unistd.h:815: warning: previous declaration of 'getlogin' was here /usr/lib/perl/5.10/CORE/perl.h:4075: warning: redundant redeclaration of 'environ' /usr/include/unistd.h:498: warning: previous declaration of 'environ' was here In file included from /usr/lib/perl/5.10/CORE/perl.h:4701, from rlm_perl.c:39: /usr/lib/perl/5.10/CORE/proto.h:1842: warning: redundant redeclaration of 'Perl_regdump' /usr/lib/perl/5.10/CORE/proto.h:1839: warning: previous declaration of 'Perl_regdump' was here rlm_perl.c: In function 'rlm_perl_destruct': rlm_perl.c:217: warning: declaration of 'my_perl' shadows a previous local rlm_perl.c:208: warning: shadowed declaration is here rlm_perl.c: In function 'rlm_perl_make_key': rlm_perl.c:246: warning: passing argument 2 of 'pthread_key_create' from incompatible pointer type rlm_perl.c: In function 'rlm_perl_clone': rlm_perl.c:274: warning: format '%d' expects type 'int', but argument 3 has type 'pthread_t' rlm_perl.c: In function 'xs_init': rlm_perl.c:282: warning: initialization discards qualifiers from pointer target type rlm_perl.c: In function 'perl_xlat': rlm_perl.c:368: warning: value computed is not used rlm_perl.c:375: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' rlm_perl.c:375: warning: format '%d' expects type 'int', but argument 5 has type 'size_t' rlm_perl.c: In function 'perl_instantiate': rlm_perl.c:447: warning: assignment discards qualifiers from pointer target type rlm_perl.c:451: warning: assignment discards qualifiers from pointer target type rlm_perl.c: In function 'perl_store_vps': rlm_perl.c:543: warning: assignment discards qualifiers from pointer target type rlm_perl.c:556: warning: value computed is not used rlm_perl.c:568: warning: value computed is not used rlm_perl.c: In function 'pairadd_sv': rlm_perl.c:592: error: 'sb' undeclared (first use in this function) rlm_perl.c:592: error: (Each undeclared identifier is reported only once rlm_perl.c:592: error: for each function it appears in.) rlm_perl.c: In function 'rlmperl_call': rlm_perl.c:729: warning: value computed is not used On Thu, 11 Mar 2010 11:35:24 -0800, Doug Hardie <bc...@lafn.org> wrote: > On 11 March 2010, at 03:43, <bi...@antworte.me> <bi...@antworte.me> wrote: > >> >> Hello list, >> >> is there an option in radiusd.conf how to enable debug logging only for >> several rlm_modules, >> e.g. I have rlm_perl and I only want debug messages for this. >> >> Thanks for your reply in advance. > > > It can be done via some modifications to the module source. Here is the > approach I use in my modules: > > At the top of each function: > > int rdebug; > > rdebug = !stat("/var/log/radacct/radius_debug", &sb); > > > Then after each DEBUG entry add: > > if (rdebug) radlog (L_AUTH, "%s", auth_msg); > > Note the L_AUTH is the level, the auth_msg is the message in the DEBUG > statement. You can also add our own debugging that way that goes beyond > that provided in the original module. > > To turn on this debugging just touch the filename listed in the stat > command above. Debugging for that module will start. Disable it by > deleting that file. You can change the file name to anything convenient > for you. > - > List info/subscribe/unsubscribe? See > http://www.freeradius.org/list/users.html - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html