[Greylist-users] Argument "xxxx" isn't numeric errors/warnings

Dennis Wynne DWYNNE at equinoxis.com
Tue Apr 18 10:38:00 PDT 2006


Noticed a bunch of these in the relaydelay log.


Argument "15449,15450,8623" isn't numeric in numeric gt (>) at 
/etc/mail/relaydelay.pl line 385.

Argument "15449,15450" isn't numeric in numeric gt (>) at 
/etc/mail/relaydelay.pl line 895.

Argument "15540,15541" isn't numeric in numeric gt (>) at 
/etc/mail/relaydelay.pl line 895.


Line 895 is the if statement here:

    if ($rowids > 0) {
       $rowids .= ",$rowid";
    } else {
      $rowids = $rowid;
    }

Line 385 is the if statement here:

  # Only if we have some rowids, do we update the count of passed messages
  if ($rowids > 0) {
    # split up the rowids and update each in turn
    my @rowids = split(",", $rowids);


These appear to be e-mails with multiple mail_to's as each row id shown in 
the message group has the same IP and mail_from, but different rcpt_to.

Do I have a problem?  It seems to be working and passes the mail and 
increments the counter on these rows.

If $rowid contains "15449,15450" which based on the comments in the code it 
COULD then comparing it to a number (0) would always cause the 
error/warning.


  # Save our private data (since it isn't available in the same form later)
  #   The format is a comma seperated list of rowids (or zero if none),
  #     followed by the envelope sender followed by the current envelope
  #     recipient (or empty string if none) seperated by nulls

Seems like it would be better to check it as a string:  if($rowids ne "0")

Right?

Thanks,
Dennis





More information about the Greylist-users mailing list