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 setsockopt. Bron. -- Bron Gondwana, CEO, FastMail Pty Ltd br...@fastmailteam.com
---- Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/ To Unsubscribe: https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus