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
Razor-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/razor-users

Reply via email to