message "unable to setsocketopt(IP_TOS)" in logs

Bron Gondwana brong at
Sat Feb 17 16:34:32 EST 2018

On Fri, 16 Feb 2018, at 22:55, Vladislav Kurz wrote:
> On 02/16/18 12:42, Adam Tauno Williams wrote:
>> On Fri, 2018-02-16 at 08:55 +0100, Chentao Credungtao via Info-cyrus>> wrote:
>>> cyrus/master[7082]: unable to setsocketopt(IP_TOS) service
>>> lmtpunix/unix: Operation not supported 
>>> cyrus/master[7082]: unable to setsocketopt(IP_TOS) service
>>> notify/unix: Operation not supported 
> Hello all,
> I see this too.
>> If you want to dig further you will have to try to grant the process>> the CAP_NET_ADMIN capability, which might make it work.
>> Capabilities are what allow you to do things like run ping as
>> non-root.>> 
>> # sudo getcap /usr/bin/ping
>> /usr/bin/ping = cap_net_raw+ep
>> So you can add the capability to the Cyrus binaries if it is
>> important>> to you;  provided the feature is supported in the underlying OS.
> Is there a way to tell cyrus not to try to setsocketopt ? (Instead of> allowing it to do that?) I don't need the ToS bits to be set in any
> way
It looks like: only by patching the source.

        /* set IP ToS if supported */
#if defined(SOL_IP) && defined(IP_TOS)
        if (s->family == AF_INET || s->family == AF_INET6) {

{ "qosmarking", "cs0", ENUM("cs0", "cs1", "cs2", "cs3", "cs4", "cs5",
"cs6", "cs7", "af11", "af12", "af13", "af21", "af22", "af23", "af31",
"af32", "af33", "af41", "af42", "af43", "ef") }/* This specifies the Class Selector or Differentiated Services
Code Point   designation on IP headers (in the ToS field). */

Goodness!  It's quite a lot of options!  I guess the way to do it would
be to add a "none" option there and have that mean it doesn't try to

  Bron Gondwana, CEO, FastMail Pty Ltd
  brong at

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Info-cyrus mailing list