<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style>
</head>
<body><div style="font-family:Arial;">On Fri, 16 Feb 2018, at 22:55, Vladislav Kurz wrote:<br></div>
<blockquote type="cite"><div>On 02/16/18 12:42, Adam Tauno Williams wrote:<br></div>
<blockquote><div>On Fri, 2018-02-16 at 08:55 +0100, Chentao Credungtao via Info-cyrus<br></div>
<div>wrote:<br></div>
<blockquote><div>cyrus/master[7082]: unable to setsocketopt(IP_TOS) service<br></div>
<div>lmtpunix/unix: Operation not supported <br></div>
<div>cyrus/master[7082]: unable to setsocketopt(IP_TOS) service<br></div>
<div>notify/unix: Operation not supported <br></div>
</blockquote></blockquote><div><br></div>
<div>Hello all,<br></div>
<div><br></div>
<div>I see this too.<br></div>
<div><br></div>
<blockquote><div>If you want to dig further you will have to try to grant the process<br></div>
<div>the CAP_NET_ADMIN capability, which might make it work.<br></div>
<div><br></div>
<div>Capabilities are what allow you to do things like run ping as non-root.<br></div>
<div><br></div>
<div># sudo getcap /usr/bin/ping<br></div>
<div>/usr/bin/ping = cap_net_raw+ep<br></div>
<div><br></div>
<div>So you can add the capability to the Cyrus binaries if it is important<br></div>
<div>to you; provided the feature is supported in the underlying OS.<br></div>
</blockquote><div><br></div>
<div>Is there a way to tell cyrus not to try to setsocketopt ? (Instead of<br></div>
<div>allowing it to do that?) I don't need the ToS bits to be set in any way<br></div>
</blockquote><div style="font-family:Arial;"><br></div>
<div style="font-family:Arial;">It looks like: only by patching the source.<br></div>
<div style="font-family:Arial;"><br></div>
<div style="font-family:Arial;"> /* set IP ToS if supported */<br></div>
<div style="font-family:Arial;">#if defined(SOL_IP) && defined(IP_TOS)<br></div>
<div style="font-family:Arial;"> if (s->family == AF_INET || s->family == AF_INET6) {<br></div>
<div style="font-family:Arial;"><br></div>
<div style="font-family:Arial;">{ "qosmarking", "cs0", ENUM("cs0", "cs1", "cs2", "cs3", "cs4", "cs5", "cs6", "cs7", "af11", "af12", "af13", "af21", "af22", "af23", "af31", "af32", "af33", "af41", "af42", "af43", "ef") }<br></div>
<div style="font-family:Arial;">/* This specifies the Class Selector or Differentiated Services Code Point<br></div>
<div style="font-family:Arial;"> designation on IP headers (in the ToS field). */<br></div>
<div style="font-family:Arial;"><br></div>
<div style="font-family:Arial;">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.<br></div>
<div style="font-family:Arial;"><br></div>
<div style="font-family:Arial;">Bron.<br></div>
<div style="font-family:Arial;"><br></div>
<div id="sig56629417"><div class="signature">--<br></div>
<div class="signature"> Bron Gondwana, CEO, FastMail Pty Ltd<br></div>
<div class="signature"> brong@fastmailteam.com<br></div>
<div class="signature"><br></div>
</div>
<div style="font-family:Arial;"><br></div>
</body>
</html>