From 3beb58199322355f8caa166000bb94e9419b4232 Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 7 Sep 2001 20:17:50 +0000 Subject: fix RADIUS attribute capitalization --- bin/generate-raddb | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 bin/generate-raddb (limited to 'bin/generate-raddb') diff --git a/bin/generate-raddb b/bin/generate-raddb new file mode 100755 index 000000000..e9580d645 --- /dev/null +++ b/bin/generate-raddb @@ -0,0 +1,35 @@ +#!/usr/bin/perl + +# usage: generate-raddb radius-server/raddb/dictionary* >raddb.pm +# i.e.: generate-raddb ~/src/freeradius-0.2/raddb/dictionary* >FS/raddb.pm + +print <) { + next if /^(#|\s*$|\$INCLUDE\s+)/; + next if /^(VALUE|VENDOR|BEGIN\-VENDOR|END\-VENDOR)\s+/; + /^(ATTRIBUTE|ATTRIB_NMC)\s+([\w\-]+)\s+/ or die $_; + $attrib = $2; + $dbname = lc($2); + $dbname =~ s/\-/_/g; + $hash{$dbname} = $attrib; + #print "$2\n"; +} + +foreach ( keys %hash ) { +# print "$_\n" if length($_)>24; +# print substr($_,0,24),"\n" if length($_)>24; +# $max = length($_) if length($_)>$max; +#everything >24 is still unique, at least with freeradius comprehensive dataset + print " '". substr($_,0,24). "' => '$hash{$_}'\n"; +} + +print < Date: Fri, 7 Sep 2001 20:26:33 +0000 Subject: tyops --- bin/generate-raddb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'bin/generate-raddb') diff --git a/bin/generate-raddb b/bin/generate-raddb index e9580d645..1d0053a2b 100755 --- a/bin/generate-raddb +++ b/bin/generate-raddb @@ -26,10 +26,12 @@ foreach ( keys %hash ) { # print substr($_,0,24),"\n" if length($_)>24; # $max = length($_) if length($_)>$max; #everything >24 is still unique, at least with freeradius comprehensive dataset - print " '". substr($_,0,24). "' => '$hash{$_}'\n"; + print " '". substr($_,0,24). "' => '$hash{$_}',\n"; } print < Date: Thu, 2 Oct 2003 08:56:54 +0000 Subject: update with dictionaries from freeradius 0.9.1, and fix generate-raddb to avoid duplicates --- bin/generate-raddb | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'bin/generate-raddb') diff --git a/bin/generate-raddb b/bin/generate-raddb index 1d0053a2b..f946b05b3 100755 --- a/bin/generate-raddb +++ b/bin/generate-raddb @@ -13,10 +13,18 @@ END while (<>) { next if /^(#|\s*$|\$INCLUDE\s+)/; next if /^(VALUE|VENDOR|BEGIN\-VENDOR|END\-VENDOR)\s+/; - /^(ATTRIBUTE|ATTRIB_NMC)\s+([\w\-]+)\s+/ or die $_; + /^(ATTRIBUTE|ATTRIB_NMC)\s+([\w\-\/]+)\s+/ or die $_; $attrib = $2; $dbname = lc($2); - $dbname =~ s/\-/_/g; + $dbname =~ s/[\-\/]/_/g; + $dbname = substr($dbname,0,24); + while ( exists $hash{$dbname} ) { + #warn $dbname; + $dbname =~ s/(.)$//; + my $w = $1; + $w =~ tr/_a-z0-9/a-z0-9_/; + $dbname = "$dbname$w"; + } $hash{$dbname} = $attrib; #print "$2\n"; } @@ -25,8 +33,10 @@ foreach ( keys %hash ) { # print "$_\n" if length($_)>24; # print substr($_,0,24),"\n" if length($_)>24; # $max = length($_) if length($_)>$max; -#everything >24 is still unique, at least with freeradius comprehensive dataset - print " '". substr($_,0,24). "' => '$hash{$_}',\n"; +# have to fudge things since everything >24 is *not* unique + + #print " '". substr($_,0,24). "' => '$hash{$_}',\n"; + print " '$_' => '$hash{$_}',\n"; } print <