+1 on opening a bug, the sooner that happens the sooner we can get the
fix into the next release ;)

Thanks Henrik, that looks promising (if a little crazy).

On Wed, Dec 30, 2009 at 15:20, Henrik K <h...@hege.li> wrote:
> On Wed, Dec 30, 2009 at 09:52:50AM -0500, Rosenbaum, Larry M. wrote:
>> I have just recently installed SA v3.3.0-rc1 on Solaris 10.  I have 
>> discovered that in order for syslog logging to work, I have to start spamd 
>> with the switch "--syslog-socket=native".  It won't work if I set it to 
>> "unix" or "inet" or if I omit the switch entirely.  As this is my first time 
>> running SpamAssassin on Solaris 10, I don't know if this discovery also 
>> applies to older SpamAssassin versions, but I suspect it does.  I suggest 
>> the documentation be changed to reflect this, since currently it does not 
>> even mention "native" as a legitimate option.
>>
>> In the long term, perhaps "native" can be made the default, or have the code 
>> just not call setlogsock() if the --syslog-socket switch is absent.  (I 
>> don't know if this is feasible with older versions of Sys::Syslog.)
>>
>> This is what the current docs say:
>>
>>     --syslog-socket=*type*
>>         Specify how spamd should send messages to syslogd. The options are
>>         "unix", "inet" or "none". The default is to try "unix" first,
>>         falling back to "inet" if perl detects errors in its "unix" support.
>>
>>         Some platforms, or versions of perl, are shipped with dysfunctional
>>         versions of the Sys::Syslog package which do not support some socket
>>         types, so you may need to set this. If you get error messages
>>         regarding __PATH_LOG or similar from spamd, try changing this
>>         setting.
>
> FYI the code from postgrey, which works pretty well (sorry no time to check
> what's in current SA):
>
>    if(defined $Sys::Syslog::VERSION and $Sys::Syslog::VERSION ge '0.15'
>    and defined $Net::Server::VERSION and $Net::Server::VERSION ge '0.97') {
>        # use 'native' when Sys::Syslog >= 0.15
>        $syslog_logsock = 'native';
>    }
>    elsif($^O eq 'solaris') {
>        # 'stream' is broken and 'unix' doesn't work on Solaris: only 'inet'
>        # seems to be useable with Sys::Syslog < 0.15
>        $syslog_logsock = 'inet';
>    }
>    else {
>        $syslog_logsock = 'unix';
>    }
>
> Larry, you should open up a bug..
>
>



-- 
--j.

Reply via email to