2 # UserFile.pl: Dynamic userfile loader
4 # Version: v0.1 (20000822)
6 # Status: NOT WORKING YET
9 # TODO: major overhaul to support dynamic userfile.
10 # support ignore in this file aswell.
13 if (&IsParam("useStrict")) { use strict; }
18 %userList = (); # clear it.
20 if (!open(FILE, $file)) {
21 &ERROR("FAILED loadUsers ($file): $!");
31 if (/^UserEntry\s+(.+?)\s/) {
35 if (/^\s*(\w+)\s+(.+);$/) {
36 my ($opt,$val) = ($1,$2);
40 $val =~ s/\+// if ($opt =~ /^flags$/i);
42 if ($opt =~ /^mask$/i) {
43 $userList{$userName}{$opt}{$val} = 1;
45 $userList{$userName}{$opt} = $val;
47 } elsif (/^\s*\}\s*$/) {
52 &status("parse error: User Entry $userName without right brace");
58 return unless (&IsParam("VERBOSITY"));
61 &status("Loaded userlist $file (". scalar(keys %userList) ." users)");
62 foreach $userName (keys %userList) {
63 &status(" $userName:");
64 &status(" flags: +$userList{$userName}{'flags'}");
66 foreach (keys %{$userList{$userName}{'mask'}}) {
67 &status(" hostmask: $_");