debug only for rlm_xxx (rlm_perl)
bitte at antworte.me
bitte at antworte.me
Wed Mar 17 22:46:28 CET 2010
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 <bc979 at lafn.org> wrote:
> On 11 March 2010, at 03:43, <bitte at antworte.me> <bitte at 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
More information about the Freeradius-Users
mailing list