<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>
<html><head><meta http-equiv="Content-Type" content="text/html;charset=us-ascii">
<style>BODY{font:10pt Tahoma,Verdana,sans-serif} .MsoNormal{line-height:120%;margin:0}</style></head><body>
Stanislav,<div><br></div><div>Great progress you have made there, I returned to Debian myself but I believe quite a few smartos guys are running older versions.</div><div><br></div><div>I'll spin up a smartos box and see if master resolves the issue that was the killer for me:&nbsp;https://freeswitch.org/jira/browse/FS-7991</div><div><br></div><div>Sip handsets had no problem with TCP but it just wouldn't send through a gateway using TCP.</div><div><br></div><div>Thanks for everything so far.</div><div><br></div><div>Regards</div><div>Darren<br><blockquote style="padding-left: 5px; margin-left: 5px; border-left: #0000ff 2px solid; margin-right: 0px"><hr><b>From:</b> Stanislav Sinyagin [mailto:ssinyagin@gmail.com]<br><b>To:</b> FreeSWITCH Users Help [mailto:freeswitch-users@lists.freeswitch.org]<br><b>Sent:</b> Wed, 09 Sep 2015 23:57:00 +0000<br><b>Subject:</b> Re: [Freeswitch-users] Compiling under SmartOS<br><br>My patches are now in master, so FreeSWITCH can be compiled under any<br>
of Solaris derivatives.<br>
<br>
The -u option will not work in current FreeSWITCH on any of Solaris<br>
derivatives, regardless if it's in a zone or not: the -u option causes<br>
it to execute setuid() to switch to the unprivileged user. But the<br>
problem is, that setuid() sets the effective set of privileges to<br>
"basic", and "proc_clock_highres" is not included, even that it is<br>
allowed for the process.<br>
<br>
This piece illustrates this behavior:<br>
<br>
[<a href="mailto:root@fs01">root@fs01</a> ~]# perl -e 'use POSIX; setuid(1000); system("ppriv \$\$")'<br>
4079:   ppriv 4079<br>
flags = &lt;none&gt;<br>
        E: basic<br>
        I: basic<br>
        P: basic<br>
        L: basic,contract_event,contract_identity,contract_observer,dtrace_proc,dtrace_user,file_chown,file_chown_self,file_dac_execute,file_dac_read,file_dac_search,file_dac_write,file_owner,file_setid,ipc_dac_read,ipc_dac_write,ipc_owner,net_bindmlp,net_icmpaccess,net_mac_aware,net_observability,net_privaddr,net_rawaccess,proc_audit,proc_chroot,proc_clock_highres,proc_lock_memory,proc_owner,proc_prioup,proc_setid,proc_taskid,sys_acct,sys_admin,sys_audit,sys_fs_import,sys_ip_config,sys_iptun_config,sys_mount,sys_nfs,sys_ppp_config,sys_resource<br>
<br>
<br>
So, switch_core.c needs to be modified to utilize setpflags() and<br>
setppriv() if we are under Solaris, and assign "proc_clock_highres" to<br>
the process before the timer is initialized. I will propose the patch<br>
within a month or so.<br>
<br>
FreeSWITCH runs fine as root.<br>
<br>
<br>
<br>
<br>
<br>
On Tue, Sep 8, 2015 at 11:54 PM, Stanislav Sinyagin &lt;<a href="mailto:ssinyagin@gmail.com">ssinyagin@gmail.com</a>&gt; wrote:<br>
&gt; Darren,<br>
&gt;<br>
&gt; if the zone has the proc_clock_highres privilege, you can assign it to<br>
&gt; the freeswitch user:<br>
&gt;   usermod -K defaultpriv=basic,proc_clock_highres frsw<br>
&gt;<br>
&gt; after that, under "su - frsw", FreeSWITCH can start.<br>
&gt;<br>
&gt; But launching it as root with "-u frsw -g frsw" causes the same<br>
&gt; coredump, as timerfd is unavailable for some reason. This needs<br>
&gt; further investigation.<br>
&gt;<br>
&gt; Also inside a zone, -rp does not have any effect on the process<br>
&gt; priority, because this needs another privilege: PRIV_PROC_PRIOUP or<br>
&gt; PRIV_PROC_PRIOCNTL  (see privileges(5)).<br>
&gt;<br>
&gt; So, there are still obstacles, but we're getting there slowly. But it<br>
&gt; looks like you anyway have to have administrative access to the global<br>
&gt; zone in order to run FreeSWITCH in a SmartOS zone. So, hosting it at<br>
&gt; Joyent doesn't look realistic. Still, it's a very attractive platform<br>
&gt; because of its lightweight zones and nice network performance and<br>
&gt; built-in ZFS. Soon I will have a test physical server with SmartOS in<br>
&gt; my lab, and I can let the interested people access it and test or play<br>
&gt; around.<br>
&gt;<br>
&gt; cheers,<br>
&gt; stanislav<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Tue, Sep 8, 2015 at 6:59 PM, Support &lt;<a href="mailto:support@directvoip.co.uk">support@directvoip.co.uk</a>&gt; wrote:<br>
&gt;&gt; Stanislav,<br>
&gt;&gt;<br>
&gt;&gt; Yes I did use that to get it going but then found that only worked as root.<br>
&gt;&gt;<br>
&gt;&gt; Also, I know for myself, who was in control of the global zone, that this<br>
&gt;&gt; was a workaround but it was quickly pointed out to me by community members<br>
&gt;&gt; that this is just a workaround as those just using for example Joyent cloud<br>
&gt;&gt; or any zone other than on their own server would probably never be given<br>
&gt;&gt; access to the high res clock.<br>
&gt;&gt;<br>
&gt;&gt; Regards<br>
&gt;&gt; Darren<br>
&gt;&gt;<br>
&gt;&gt; ________________________________<br>
&gt;&gt; From: Stanislav Sinyagin [mailto:<a href="mailto:ssinyagin@gmail.com">ssinyagin@gmail.com</a>]<br>
&gt;&gt; To: FreeSWITCH Users Help [mailto:<a href="mailto:freeswitch-users@lists.freeswitch.org">freeswitch-users@lists.freeswitch.org</a>]<br>
&gt;&gt; Sent: Tue, 08 Sep 2015 16:49:01 +0000<br>
&gt;&gt;<br>
&gt;&gt; Subject: Re: [Freeswitch-users] Compiling under SmartOS<br>
&gt;&gt;<br>
&gt;&gt; phew, it started finally.<br>
&gt;&gt;<br>
&gt;&gt; The correct string is "limit_priv": "default,proc_clock_highres"<br>
&gt;&gt;<br>
&gt;&gt; After vmadm update, you need to reboot the zone, in order for new<br>
&gt;&gt; permissions to propagate to its processes.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Tue, Sep 8, 2015 at 5:38 PM, Stanislav Sinyagin &lt;<a href="mailto:ssinyagin@gmail.com">ssinyagin@gmail.com</a>&gt;<br>
&gt;&gt; wrote:<br>
&gt;&gt;&gt; no, my bad, it's still failing on the timer. I'll spend some time on<br>
&gt;&gt;&gt; it. Feel free to contact me directly on skype or google hangouts or<br>
&gt;&gt;&gt; telegram<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Tue, Sep 8, 2015 at 5:27 PM, Stanislav Sinyagin &lt;<a href="mailto:ssinyagin@gmail.com">ssinyagin@gmail.com</a>&gt;<br>
&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt; actually the answer about the timer was given in that same chat where<br>
&gt;&gt;&gt;&gt; you took part:<br>
&gt;&gt;&gt;&gt; <a href="http://echelog.com/logs/browse/smartos/1438293600" target="_blank">http://echelog.com/logs/browse/smartos/1438293600</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I added the following line to the VM manifest json, and then did "vmadm<br>
&gt;&gt;&gt;&gt; update":<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; "limit_priv": "default,-proc_clock_highres"<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Now it doesn't complain about the timer. But the master branch still<br>
&gt;&gt;&gt;&gt; coredumps for some other reason :)<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On Tue, Sep 8, 2015 at 3:42 PM, Support &lt;<a href="mailto:support@directvoip.co.uk">support@directvoip.co.uk</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt; Stanislav,<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; I cannot help with this, my skills don't reach that far but I can point<br>
&gt;&gt;&gt;&gt;&gt; you<br>
&gt;&gt;&gt;&gt;&gt; in the right direction.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; I had the same problem and it seems to be related to something called<br>
&gt;&gt;&gt;&gt;&gt; timerfd. Using the ppriv command you can see freeswitch is wanting<br>
&gt;&gt;&gt;&gt;&gt; access to<br>
&gt;&gt;&gt;&gt;&gt; the high res clock, something not available to smartos zones with the<br>
&gt;&gt;&gt;&gt;&gt; default privileges.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; I did manage to mess with the smartos privileges and get it to run at<br>
&gt;&gt;&gt;&gt;&gt; one<br>
&gt;&gt;&gt;&gt;&gt; time but it was only when running as root.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; If you actually used an older version of smartos, I think the one I used<br>
&gt;&gt;&gt;&gt;&gt; is<br>
&gt;&gt;&gt;&gt;&gt; dated around january this year, then it will compile fine and use some<br>
&gt;&gt;&gt;&gt;&gt; sort<br>
&gt;&gt;&gt;&gt;&gt; of other timing method.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; This timerfd thing, thing relates to freeswitch finding a file called<br>
&gt;&gt;&gt;&gt;&gt; timerfd.h that didn't appear in smartos zones until about march this<br>
&gt;&gt;&gt;&gt;&gt; year,<br>
&gt;&gt;&gt;&gt;&gt; something to do with lx brand I think.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; I have just looked and the smartos version that will compile is<br>
&gt;&gt;&gt;&gt;&gt; 20150108T111855Z, obviously it would be better on the newer.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Compiling on the above smartos version and then running it on newer is<br>
&gt;&gt;&gt;&gt;&gt; no<br>
&gt;&gt;&gt;&gt;&gt; problem which is what I ended up doing.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Hope this helps<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Regards<br>
&gt;&gt;&gt;&gt;&gt; Darren<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; ________________________________<br>
&gt;&gt;&gt;&gt;&gt; From: Stanislav Sinyagin [mailto:<a href="mailto:ssinyagin@gmail.com">ssinyagin@gmail.com</a>]<br>
&gt;&gt;&gt;&gt;&gt; To: FreeSWITCH Users Help [mailto:<a href="mailto:freeswitch-users@lists.freeswitch.org">freeswitch-users@lists.freeswitch.org</a>]<br>
&gt;&gt;&gt;&gt;&gt; Sent: Tue, 08 Sep 2015 07:55:37 +0000<br>
&gt;&gt;&gt;&gt;&gt; Subject: Re: [Freeswitch-users] Compiling under SmartOS<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; See the update at <a href="https://freeswitch.org/jira/browse/FS-7967" target="_blank">https://freeswitch.org/jira/browse/FS-7967</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; I fixed the compilation problems, and now there's a runtime issue.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; On Mon, Aug 17, 2015 at 10:40 AM, Stanislav Sinyagin<br>
&gt;&gt;&gt;&gt;&gt; &lt;<a href="mailto:ssinyagin@gmail.com">ssinyagin@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt; I see there are some people on the list, working with SmartOS.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; The current master fails to compile:<br>
&gt;&gt;&gt;&gt;&gt;&gt; <a href="https://freeswitch.org/jira/browse/FS-7967" target="_blank">https://freeswitch.org/jira/browse/FS-7967</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Your input will be appreciated.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; I just started looking around and getting the feeling what SmartOS is.<br>
&gt;&gt;&gt;&gt;&gt;&gt; I worked with Solaris quite a lot, but that was almost 10 years ago.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; _________________________________________________________________________<br>
&gt;&gt;&gt;&gt;&gt; Professional FreeSWITCH Consulting Services:<br>
&gt;&gt;&gt;&gt;&gt; <a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
&gt;&gt;&gt;&gt;&gt; <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Official FreeSWITCH Sites<br>
&gt;&gt;&gt;&gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt;&gt;&gt;&gt; <a href="http://confluence.freeswitch.org" target="_blank">http://confluence.freeswitch.org</a><br>
&gt;&gt;&gt;&gt;&gt; <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; FreeSWITCH-users mailing list<br>
&gt;&gt;&gt;&gt;&gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;&gt;&gt;&gt;&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;&gt;&gt;&gt;&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;&gt;&gt;&gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; _________________________________________________________________________<br>
&gt;&gt;&gt;&gt;&gt; Professional FreeSWITCH Consulting Services:<br>
&gt;&gt;&gt;&gt;&gt; <a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
&gt;&gt;&gt;&gt;&gt; <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Official FreeSWITCH Sites<br>
&gt;&gt;&gt;&gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt;&gt;&gt;&gt; <a href="http://confluence.freeswitch.org" target="_blank">http://confluence.freeswitch.org</a><br>
&gt;&gt;&gt;&gt;&gt; <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; FreeSWITCH-users mailing list<br>
&gt;&gt;&gt;&gt;&gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;&gt;&gt;&gt;&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;&gt;&gt;&gt;&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;&gt;&gt;&gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt;<br>
&gt;&gt; _________________________________________________________________________<br>
&gt;&gt; Professional FreeSWITCH Consulting Services:<br>
&gt;&gt; <a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
&gt;&gt; <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
&gt;&gt;<br>
&gt;&gt; Official FreeSWITCH Sites<br>
&gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt; <a href="http://confluence.freeswitch.org" target="_blank">http://confluence.freeswitch.org</a><br>
&gt;&gt; <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
&gt;&gt;<br>
&gt;&gt; FreeSWITCH-users mailing list<br>
&gt;&gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _________________________________________________________________________<br>
&gt;&gt; Professional FreeSWITCH Consulting Services:<br>
&gt;&gt; <a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
&gt;&gt; <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
&gt;&gt;<br>
&gt;&gt; Official FreeSWITCH Sites<br>
&gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt; <a href="http://confluence.freeswitch.org" target="_blank">http://confluence.freeswitch.org</a><br>
&gt;&gt; <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
&gt;&gt;<br>
&gt;&gt; FreeSWITCH-users mailing list<br>
&gt;&gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br>
_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services: <br>
<a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://confluence.freeswitch.org" target="_blank">http://confluence.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
</blockquote><style>
</style>
</div></body></html>