Hi folks, I've been a quietly satisfied customer for some time now
(excellent program)! However, I've joined this list in order to point
out a few gremlins that seem to have popped up with the latest release.
I use razor in the context of spamasassin, which is invoked and managed
by amavisd-new. Thus, I have an amavis user account and the "razorhome"
location is relative to the amavis home directory: "/var/amavis/.razor".
I just upgraded from razor-2.61 to razor-2.72 and discovered two issues,
one of which appears to be a regression over the prior version.
Firstly, I decided to move my old razorhome elsewhere and re-generate
it. My procedures were conducted as the root user and the following
conditions were all true prior to proceeding:
* /var/amavis/.razor was no longer present
* There was no razor configuration for the root user at "/root/.razor"
* There was no default razor configuration at /etc/razor in any shape
or form
Now, I requested to generate a new configuration as follows:
razor-admin -d -create -home=/var/amavis/.razor
The problem is that it did not generate a configuration file under
"/var/amavis/.razor". The directory contained only the following files:
server.folly.cloudmark.com.conf
servers.catalogue.lst
servers.discovery.lst
servers.nomination.lst
Here are the most interesting lines from the debug output:
Jun 24 02:51:13.005807 admin[18213]: [ 6] Created razorhome:
/var/amavis/.razor
Jun 24 02:51:13.005985 admin[18213]: [ 8] Computed user confpath from env:
/root/.razor
Jun 24 02:51:13.006082 admin[18213]: [ 5] No /root/.razor/razor-agent.conf
found, skipping.
Jun 24 02:51:13.006565 admin[18213]: [ 5] computed
razorhome=/var/amavis/.razor, conf=/root/.razor/razor-agent.conf, ident=identity
Jun 24 02:51:13.006683 admin[18213]: [ 2] Razor-Agents v2.72 starting
razor-admin -d -create -home=/var/amavis/.razor
However, if I perform precisely the same procedure (under the same
conditions) with razor-2.61 then the following files are generated under
"/var/amavis/.razor" ...
razor-agent.conf
server.joy.cloudmark.com.conf
servers.catalogue.lst
servers.discovery.lst
servers.nomination.lst
... and the relevant section of the debug output reads as follows:
Jun 24 03:06:39.534239 admin[19452]: [ 6] Created razorhome:
/var/amavis/.razor
Jun 24 03:06:39.534417 admin[19452]: [ 5] No
/var/amavis/.razor/razor-agent.conf found, skipping.
Jun 24 03:06:39.534998 admin[19452]: [ 5] wrote 16 HASH items to file:
/var/amavis/.razor/razor-agent.conf
Jun 24 03:06:39.535270 admin[19452]: [ 5] computed
razorhome=/var/amavis/.razor, conf=/var/amavis/.razor/razor-agent.conf,
ident=identity
Jun 24 03:06:39.535385 admin[19452]: [ 2] Razor-Agents v2.61 starting
razor-admin -d -create -home=/var/amavis/.razor
The manpage states quite clearly that, if the location for the
configuration file is not specified, that "it is computed" and "The
default is <razorhome>/razor-agent.conf". Well, it's rather late here at
present so I'm not in the mood for any serious debugging ;) However, I
did notice that at line #202 in Agent.pm, that $self->{razorconf} is
always undefined under the circumstances I've described and will thus be
set to the contents of $self->{computed_razorconf}. But the comment for
the "compute_razorconf" sub in Config.pm states "We cannot use razorhome
here because it may be overridden by a value in razorconf." In any case,
it computes the config file location to be under the user's homedir
(which it never creates anyway, btw).
The second issue occurs when the -home and -conf arguments are used
together. For example, if I execute the following command (under exactly
the same circumstances as before):
razor-admin -d -create -home=/var/amavis/.razor -conf=/root/razor-agent.conf
Now, this is what does and doesn't happen:
* It does compute and write a new configuration file at
/root/razor-agent.conf (expected)
* It does create a new directory: /var/amavis/.razor (expected)
* Server discovery completely fails and the /var/amavis/.razor
directory remains completely empty (not expected ;)
Various hairy error messages are thrown up indicating the use of
uninitialised values, here's the full output:
Razor-Log: Can't read file /root/razor-agent.conf: No such file or directory
Razor-Log: -create will force complete discovery
Use of uninitialized value in numeric lt (<) at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Agent.pm line 110.
Razor-Log: Created razorhome: /var/amavis/.razor
Razor-Log: wrote 15 HASH items to file: /root/razor-agent.conf
Razor-Log: computed razorhome=/var/amavis/.razor,
conf=/root/razor-agent.conf, ident=/var/amavis/.razor/identity
Razor-Log: Razor-Agents v2.72 starting razor-admin -d -create
-home=/var/amavis/.razor -conf=/root/razor-agent.conf
Use of uninitialized value in pattern match (m//) at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Config.pm line 406.
Use of uninitialized value in -e at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Config.pm line 406.
Use of uninitialized value in concatenation (.) or string at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Config.pm line 407.
Razor-Log: Can't read file , looking relatve to /var/amavis/.razor
Use of uninitialized value in concatenation (.) or string at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Config.pm line 408.
Razor-Log: read_file: 0 items read from /var/amavis/.razor/
Use of uninitialized value in concatenation (.) or string at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Agent.pm line 936.
Razor-Log: Read 0 from server listfile:
Use of uninitialized value in pattern match (m//) at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Config.pm line 406.
Use of uninitialized value in -e at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Config.pm line 406.
Use of uninitialized value in concatenation (.) or string at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Config.pm line 407.
Razor-Log: Can't read file , looking relatve to /var/amavis/.razor
Use of uninitialized value in concatenation (.) or string at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Config.pm line 408.
Razor-Log: read_file: 0 items read from /var/amavis/.razor/
Use of uninitialized value in concatenation (.) or string at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Agent.pm line 936.
Razor-Log: Read 0 from server listfile:
Use of uninitialized value in pattern match (m//) at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Config.pm line 406.
Use of uninitialized value in -e at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Config.pm line 406.
Use of uninitialized value in concatenation (.) or string at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Config.pm line 407.
Razor-Log: " to /var/amavis/.razor
Use of uninitialized value in concatenation (.) or string at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Config.pm line 408.
Razor-Log: read_file: 0 items read from /var/amavis/.razor/
Use of uninitialized value in concatenation (.) or string at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Agent.pm line 936.
Razor-Log: Read 0 from server listfile:
Razor-Log: entered nextserver
Razor-Log: entered discover
Use of uninitialized value in -s at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Core.pm line 240.
Use of uninitialized value in -e at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Core.pm line 251.
Use of uninitialized value in concatenation (.) or string at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Core.pm line 254.
Razor-Log: no listfile:
Razor-Log: entered bootstrap_discovery
Use of uninitialized value in -s at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Core.pm line 186.
Use of uninitialized value in -e at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Core.pm line 198.
Use of uninitialized value in concatenation (.) or string at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Core.pm line 201.
Razor-Log: no discovery listfile:
Use of uninitialized value in concatenation (.) or string at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Core.pm line 275.
Razor-Log: Checking with Razor Discovery Server
Razor-Log: entered connect
Razor-Log: no server specified, not connecting
Use of uninitialized value in concatenation (.) or string at
/usr/lib/perl5/vendor_perl/5.8.5/i686-linux/Razor2/Client/Core.pm line 278.
Razor-Log: Razor Discovery Server is unreachable
Razor-Log: razor-admin error: nextserver: Bootstrap discovery failed. Giving
up.
nextserver: Bootstrap discovery failed. Giving up.
Finally, I noted that there is a spelling mistake: "Can't read file ,
looking relatve" should be "Can't read file, looking relative".
Regards,
--Kerin Millar (kerframil)
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Razor-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/razor-users