On Mon, Dec 15, 2008 at 08:41:54AM -0500, Michael DeHaan wrote:
> Anton Arapov wrote:
>> On Mon, Dec 15, 2008 at 08:33:24AM -0500, Michael DeHaan wrote:
>>   
>>> Anton Arapov wrote:
>>>     
>>>> On Fri, Dec 12, 2008 at 11:49:47PM +0100, Anton Arapov wrote:
>>>> [..snip..]
>>>>         
>>>>>   node=bandura.englab.brq.redhat.com type=AVC 
>>>>> msg=audit(1229121538.953:228):
>>>>>   avc: denied { read write } for pid=22082 comm="semanage" 
>>>>> path="socket:[96400]" dev=sockfs ino=96400
>>>>>   scontext=unconfined_u:unconfined_r:semanage_t:s0
>>>>>   tcontext=unconfined_u:unconfined_r:unconfined_t:s0  
>>>>> tclass=tcp_socket , have no idea ... this hits just by adding  
>>>>> .call(semanage). I tried to reproduce
>>>>> it in test script, and everything works just fine.
>>>>>
>>>>> Usually, such things solved by:
>>>>>   fcntl(socket, F_SETFD, FD_CLOEXEC),
>>>>> but it's python, and I do not see any sockets using,... evenmore, I do 
>>>>> not see
>>>>> why we need 'import socket' in app.py and utils.py, I think they could be
>>>>> easily removed. ...
>>>>>             
>>>> [code]
>>>>    ...
>>>>    url = "http://%s:80/cobbler_api"; % (server)
>>>>    self.xmlrpc_server = ServerProxy(url)
>>>>    self.xmlrpc_server.get_profiles()
>>>>    ...
>>>> [/code]
>>>>
>>>> xmlrpc_server is the descriptor SELinux complaints about.
>>>>
>>>> Not sure how to fix it. I'm not familiar well with this lib so far. 
>>>> Don't you know if it possible to use it 'on demand', when we need  
>>>> something from xmlrpc - connect and
>>>> disconnect at the end of operation?
>>>>  -- Anton
>>>>
>>>>         
>>> Cobbler's use of xmlrpclib is no different than any other python   
>>> library, of which we have many that use xmlrpclib -- it probably 
>>> points  at something fundamental that needs to be fixed in SELinux if 
>>> it's  complaining about simple socket usage.
>>>     
>>
>> Agreed. 
>>
>>   Michal, I'm going to send the patch with semanage inside, it will
>> be functional for 100%, with only complaint from SELinux. This
>> benefit us, and me personally =), by working virtual machine after
>> reboot.
>>
>>   Also, it will be easier to bugreport to SELinux developers, I'll
>> give them the link to koan's git with comments.
>>
>>   Does it sound good to you?
>>   
>>> --Michael
>
> Sounds good, send it along and I'll apply it.

Yay! ... SOLVED.

  when started to research how to gracefully close descriptors, and
sockets in particular, find out that sub_process already offers it
by passing to .call() option - closefds=True.

  =)


-- 
-Anton

_______________________________________________
cobbler mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/cobbler

Reply via email to