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-cyruswrote:cyrus/master[7082]: unable to setsocketopt(IP_TOS) servicelmtpunix/unix: Operation not supportedcyrus/master[7082]: unable to setsocketopt(IP_TOS) servicenotify/unix: Operation not supportedHello all,I see this too.If you want to dig further you will have to try to grant the processthe 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+epSo you can add the capability to the Cyrus binaries if it is importantto you; provided the feature is supported in the underlying OS.Is there a way to tell cyrus not to try to setsocketopt ? (Instead ofallowing 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
brong@xxxxxxxxxxxxxxxx
---- 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