PATCH: rlm_dbm_parser and empty check-items

Gabriel L. Somlo somlo at cmu.edu
Thu Jul 27 22:56:01 CEST 2006


Hi,

I'm trying to use rlm_dbm for authorization, and discovered that the
rlm_dbm_parser program won't allow an entry to have an empty
check-items list. You can't have, for instance:

foo	;
	;

or

foo
	;

You must have

foo	some_junk == here
	;

if foo is to be added to the resulting users.dbm database.

To be more precise, you can't have empty check-items AND empty
reply-items, which I think one should be allowed to have... :)

The attached patch fixes that, and allows rlm_dbm_parser to process
a source file with empty check- and reply-items.

I created the patch against the latest cvs snapshot (jul. 27).

Please apply, or let me know why you think it's a bad idea... :)

Thanks,
Gabriel
-------------- next part --------------
diff -NarU5 freeradius.orig/src/modules/rlm_dbm/rlm_dbm_parser.c freeradius/src/modules/rlm_dbm/rlm_dbm_parser.c
--- freeradius.orig/src/modules/rlm_dbm/rlm_dbm_parser.c	2004-02-26 14:04:28.000000000 -0500
+++ freeradius/src/modules/rlm_dbm/rlm_dbm_parser.c	2006-07-27 15:49:27.000000000 -0400
@@ -153,11 +153,11 @@
 static int storecontent (const char * username) {
 
 	 datum d,k;
 	 int res;
 
-	if ( pdb == NULL || concntr < 3 ) return 1;
+	if ( pdb == NULL || concntr < 2 ) return 1;
 
 	DOUT2("store:\n%s\ncontent:\n%s",username,content);
 
 	d.dptr = content;
 	d.dsize = concntr + 1;


More information about the Freeradius-Users mailing list