Search.setIndex({docnames:["contributor/contributing","contributor/history","contributor/index","index","install/index","reference/api/modules","reference/api/oslo_privsep","reference/api/oslo_privsep.functional","reference/index","user/index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["contributor/contributing.rst","contributor/history.rst","contributor/index.rst","index.rst","install/index.rst","reference/api/modules.rst","reference/api/oslo_privsep.rst","reference/api/oslo_privsep.functional.rst","reference/index.rst","user/index.rst"],objects:{"":[[6,0,0,"-","oslo_privsep"]],"oslo_privsep.capabilities":[[6,1,1,"","Capabilities"],[6,3,1,"","drop_all_caps_except"],[6,3,1,"","get_caps"],[6,3,1,"","set_keepcaps"]],"oslo_privsep.capabilities.Capabilities":[[6,2,1,"","CAP_AUDIT_CONTROL"],[6,2,1,"","CAP_AUDIT_READ"],[6,2,1,"","CAP_AUDIT_WRITE"],[6,2,1,"","CAP_BLOCK_SUSPEND"],[6,2,1,"","CAP_CHOWN"],[6,2,1,"","CAP_DAC_OVERRIDE"],[6,2,1,"","CAP_DAC_READ_SEARCH"],[6,2,1,"","CAP_FOWNER"],[6,2,1,"","CAP_FSETID"],[6,2,1,"","CAP_IPC_LOCK"],[6,2,1,"","CAP_IPC_OWNER"],[6,2,1,"","CAP_KILL"],[6,2,1,"","CAP_LEASE"],[6,2,1,"","CAP_LINUX_IMMUTABLE"],[6,2,1,"","CAP_MAC_ADMIN"],[6,2,1,"","CAP_MAC_OVERRIDE"],[6,2,1,"","CAP_MKNOD"],[6,2,1,"","CAP_NET_ADMIN"],[6,2,1,"","CAP_NET_BIND_SERVICE"],[6,2,1,"","CAP_NET_BROADCAST"],[6,2,1,"","CAP_NET_RAW"],[6,2,1,"","CAP_SETFCAP"],[6,2,1,"","CAP_SETGID"],[6,2,1,"","CAP_SETPCAP"],[6,2,1,"","CAP_SETUID"],[6,2,1,"","CAP_SYSLOG"],[6,2,1,"","CAP_SYS_ADMIN"],[6,2,1,"","CAP_SYS_BOOT"],[6,2,1,"","CAP_SYS_CHROOT"],[6,2,1,"","CAP_SYS_MODULE"],[6,2,1,"","CAP_SYS_NICE"],[6,2,1,"","CAP_SYS_PACCT"],[6,2,1,"","CAP_SYS_PTRACE"],[6,2,1,"","CAP_SYS_RAWIO"],[6,2,1,"","CAP_SYS_RESOURCE"],[6,2,1,"","CAP_SYS_TIME"],[6,2,1,"","CAP_SYS_TTY_CONFIG"],[6,2,1,"","CAP_WAKE_ALARM"]],"oslo_privsep.comm":[[6,1,1,"","ClientChannel"],[6,1,1,"","Deserializer"],[6,1,1,"","Future"],[6,1,1,"","Message"],[6,5,1,"","PrivsepTimeout"],[6,1,1,"","Serializer"],[6,1,1,"","ServerChannel"]],"oslo_privsep.comm.ClientChannel":[[6,4,1,"","close"],[6,4,1,"","out_of_band"],[6,4,1,"","send_recv"]],"oslo_privsep.comm.Future":[[6,4,1,"","result"],[6,4,1,"","set_exception"],[6,4,1,"","set_result"]],"oslo_privsep.comm.Message":[[6,2,1,"","CALL"],[6,2,1,"","ERR"],[6,2,1,"","LOG"],[6,2,1,"","PING"],[6,2,1,"","PONG"],[6,2,1,"","RET"]],"oslo_privsep.comm.Serializer":[[6,4,1,"","close"],[6,4,1,"","send"]],"oslo_privsep.comm.ServerChannel":[[6,4,1,"","send"]],"oslo_privsep.daemon":[[6,1,1,"","Daemon"],[6,5,1,"","FailedToDropPrivileges"],[6,1,1,"","ForkingClientChannel"],[6,1,1,"","PrivsepLogHandler"],[6,5,1,"","ProtocolError"],[6,1,1,"","RootwrapClientChannel"],[6,1,1,"","StdioFd"],[6,3,1,"","fdopen"],[6,3,1,"","helper_main"],[6,3,1,"","replace_logging"],[6,3,1,"","set_cloexec"],[6,3,1,"","setgid"],[6,3,1,"","setuid"],[6,3,1,"","un_monkey_patch"]],"oslo_privsep.daemon.Daemon":[[6,4,1,"","loop"],[6,4,1,"","run"]],"oslo_privsep.daemon.PrivsepLogHandler":[[6,4,1,"","emit"]],"oslo_privsep.daemon.StdioFd":[[6,2,1,"","STDERR"],[6,2,1,"","STDIN"],[6,2,1,"","STDOUT"]],"oslo_privsep.functional":[[7,3,1,"","load_tests"],[7,0,0,"-","test_daemon"]],"oslo_privsep.functional.test_daemon":[[7,1,1,"","TestDaemon"],[7,3,1,"","sleep_with_timeout"]],"oslo_privsep.functional.test_daemon.TestDaemon":[[7,4,1,"","setUp"],[7,4,1,"","test_concurrency"],[7,4,1,"","test_context_with_timeout"],[7,4,1,"","test_context_with_timeout_pass"],[7,4,1,"","test_entrypoint_with_timeout"],[7,4,1,"","test_entrypoint_with_timeout_pass"],[7,4,1,"","test_logging"]],"oslo_privsep.priv_context":[[6,3,1,"","CapNameOrInt"],[6,1,1,"","Method"],[6,1,1,"","PrivContext"],[6,3,1,"","init"]],"oslo_privsep.priv_context.Method":[[6,2,1,"","FORK"],[6,2,1,"","ROOTWRAP"]],"oslo_privsep.priv_context.PrivContext":[[6,6,1,"","conf"],[6,4,1,"","entrypoint"],[6,4,1,"","entrypoint_with_timeout"],[6,4,1,"","helper_command"],[6,4,1,"","is_entrypoint"],[6,4,1,"","set_client_mode"],[6,4,1,"","start"],[6,4,1,"","stop"]],oslo_privsep:[[6,0,0,"-","capabilities"],[6,0,0,"-","comm"],[6,0,0,"-","daemon"],[7,0,0,"-","functional"],[6,0,0,"-","priv_context"],[6,0,0,"-","version"]]},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","attribute","Python attribute"],"3":["py","function","Python function"],"4":["py","method","Python method"],"5":["py","exception","Python exception"],"6":["py","property","Python property"]},objtypes:{"0":"py:module","1":"py:class","2":"py:attribute","3":"py:function","4":"py:method","5":"py:exception","6":"py:property"},terms:{"0":[6,7],"04":7,"1":[6,9],"10":6,"11":6,"12":6,"13":6,"14":6,"15":6,"16":6,"17":6,"18":6,"19":6,"2":6,"20":6,"21":6,"22":6,"23":6,"24":6,"25":6,"26":6,"27":6,"28":6,"29":6,"3":6,"30":6,"31":6,"32":6,"33":6,"34":6,"35":6,"36":6,"37":6,"4":6,"5":[6,9],"6":6,"7":6,"8":6,"9":6,"byte":6,"class":[6,7],"default":9,"do":6,"enum":6,"function":[3,5,6],"import":9,"new":9,"return":[6,9],"try":9,A:6,As:9,At:4,For:[3,9],If:[0,6,9],In:[6,9],It:[3,9],That:9,The:[6,9],To:[6,9],__init__:9,__name__:9,_clientchannel:6,about:6,abov:9,access:6,accomplish:9,account:0,across:6,action:3,actual:6,ad:9,after:6,all:6,allow:9,alreadi:[0,6],also:[3,9],altern:6,an:[3,6,9],ani:[6,9],anyth:6,api:3,applic:3,ar:[0,6,9],arg:[6,7],argument:6,assum:6,avail:9,bad:9,base:[6,7],basetestcas:7,befor:[6,7],better:9,beyond:9,bin:6,blog:9,bodi:6,briefli:6,broad:9,bug:0,call:[6,9],can:[0,9],cap:[6,9],cap_audit_control:6,cap_audit_read:6,cap_audit_writ:6,cap_block_suspend:6,cap_chown:[6,9],cap_dac_overrid:[6,9],cap_dac_read_search:[6,9],cap_fown:[6,9],cap_fsetid:6,cap_ipc_lock:6,cap_ipc_own:6,cap_kil:6,cap_leas:6,cap_linux_immut:6,cap_mac_admin:6,cap_mac_overrid:6,cap_mknod:6,cap_net_admin:[6,9],cap_net_bind_servic:6,cap_net_broadcast:6,cap_net_raw:6,cap_setfcap:6,cap_setgid:6,cap_setpcap:6,cap_setuid:6,cap_sys_admin:[6,9],cap_sys_boot:6,cap_sys_chroot:6,cap_sys_modul:6,cap_sys_nic:6,cap_sys_pacct:6,cap_sys_ptrac:6,cap_sys_rawio:6,cap_sys_resourc:6,cap_sys_tim:6,cap_sys_tty_config:6,cap_syslog:6,cap_wake_alarm:6,capabl:[5,9],capnameorint:6,cfg_section:[6,9],chang:[0,6],channel:6,chmod:9,clientchannel:6,close:6,code:[3,9],comm:5,command:[4,6,9],commandfilt:9,commun:6,complet:9,conf:6,config:6,connect:6,constructor:6,content:[5,9],context:[3,6],contribut:[2,3],contributor:3,convert:[3,6],could:9,creat:[3,9],creation:9,current:[6,9],daemon:[5,9],data:6,datatyp:6,decor:[6,9],def:9,defeat:9,defin:3,deseri:6,design:9,detail:9,develop:0,dhcp_release_cmd:9,differ:9,difficult:9,discourag:9,doc:0,document:0,doesn:6,drop:6,drop_all_caps_except:6,dure:6,e:9,each:9,earli:6,eas:6,easi:[3,9],easier:9,easili:9,effect:6,eg:6,elev:6,els:6,emit:6,enabl:6,encod:6,enoent:9,entri:6,entrypoint:[6,9],entrypoint_with_timeout:[6,9],enumer:6,environ:6,equival:9,err:6,errno:9,escal:9,etc:9,exampl:9,exc:6,except:[6,9],exercis:7,exit:6,expos:6,f:9,failedtodropprivileg:[6,9],fd:6,fdopen:6,file:[0,6,9],filenam:9,filesystem:[6,9],filter:[6,9],finish:9,first:[0,6],fixtur:7,flag:6,follow:[0,9],fork:6,forkingclientchannel:6,format:6,from:3,full:9,func:6,further:9,futur:6,gener:[3,9],gerrit:0,get_cap:6,get_iprout:9,get_link:9,get_link_devic:9,github:0,good:[0,3,9],grant:6,group_id_or_nam:6,guid:3,ha:6,handler:6,have:[0,9],help:3,helper:6,helper_command:6,helper_main:6,hold:6,hook:7,how:[0,9],howev:9,html:0,http:0,id:6,idea:3,idl:9,ignor:[0,6],implement:6,index:3,inform:3,infra:0,inherit:6,init:6,initi:[6,9],initialis:6,instal:3,intend:6,intenum:6,involv:6,ip:9,is_entrypoint:6,just:9,keep:6,kwarg:[6,9],kwd:7,launchpad:0,lazili:6,learn:0,least:3,led:9,less:[3,9],let:9,librari:[0,3,6],like:0,limit:9,line:[4,6],list:6,live:9,ll:9,load_test:7,loader:7,lock:6,log:6,log_root:6,logger_nam:6,long_timeout:7,look:0,loop:6,main:6,make:9,make_serializ:9,manner:3,manual:0,match:9,mean:9,messag:[6,9],method:[6,7],might:6,modul:[3,5],more:[3,9],most:6,motd:9,msg:6,msgpack:6,must:[0,6,9],name:9,namespac:9,narrow:9,nb:6,necessari:9,need:6,net:0,netns_nam:9,networknamespacenotfound:9,neutron:9,never:9,node:9,non:6,none:6,note:6,notimplementederror:6,nova:9,nova_sys_admin:9,object:6,occur:6,odd:6,often:9,onli:[6,9],oob:6,open:[6,9],openstack:[0,3],option:6,order:[6,9],org:0,origin:6,os:9,oserror:9,oslo:[0,4,6,9],oslo_privsep:[3,8,9],oslotest:7,out_of_band:6,over:[3,6],overli:9,overrid:6,overwrit:9,packag:[5,8],page:[0,3],paramet:6,pars:6,part:6,particular:6,pass:6,patch:9,path:9,pattern:7,perform:[3,9],perhap:6,permiss:6,permit:6,ping:6,pip:4,pleas:3,point:9,polici:0,pong:6,possibl:[6,9],post:9,prctl:6,precursor:9,predefin:9,prefix:6,prevent:9,primit:6,principl:3,priv_context:[5,9],privcontext:[6,9],privileg:[3,6],privsep:[0,4,6],privsep_dhcp_releas:9,privseploghandl:6,privseptimeout:[6,9],process:[6,9],processnam:6,progress:9,project:9,properti:6,protect:6,protocolerror:6,provid:6,pull:0,purpos:9,py:9,pypath:[6,9],python:6,rais:[6,9],rather:9,raw:6,reach:9,read:[3,9],readsock:6,receiv:6,record:6,refactor:9,regular:9,relat:9,replac:9,replace_log:6,request:[0,6],requir:[3,6],rest:9,result:[6,9],ret:6,review:0,right:9,root:[6,9],root_help:6,rootwrap:[3,6],rootwrapclientchannel:6,run:[6,9],s:[0,6],safe:3,search:3,section:[0,6],secur:[6,9],see:6,send:6,send_recv:6,sent:6,separ:[3,6],seri:9,serial:6,serv:6,server:6,serverchannel:6,servic:[6,9],set:[0,6,7],set_client_mod:6,set_cloexec:6,set_except:6,set_keepcap:6,set_result:6,setgid:6,setuid:6,setup:7,should:[0,6],side:6,simpl:[6,9],simplest:6,skip:0,sleep_with_timeout:7,so:[6,9],sock:6,socket:6,sockpath:6,sometim:9,spec:0,special:9,specif:[3,9],specifi:6,spot:9,start:[3,6],stderr:6,stdin:6,stdiofd:6,stdout:6,step:0,still:9,stop:[6,9],straight:9,stream:6,string:6,subclass:6,subdirectori:9,submit:0,submodul:[5,9],subpackag:5,sudo:[6,9],sudoer:6,suffici:6,suitabl:6,support:6,sys_admin_pctxt:9,system:0,systemd:6,t:[6,9],take:[0,6],task:9,temporari:6,test:7,test_concurr:7,test_context_with_timeout:7,test_context_with_timeout_pass:7,test_daemon:[5,6],test_entrypoint_with_timeout:7,test_entrypoint_with_timeout_pass:7,test_log:7,testdaemon:7,than:[3,9],thei:[3,9],them:6,therefor:9,thi:[0,3,6,9],thread:[6,9],through:0,timeout:6,too:9,tool:0,top:6,touch:9,track:6,transit:[6,9],tupl:6,twin:6,type:6,uid:6,un_monkey_patch:6,under:9,understand:0,unix:6,unprivileg:6,unset:6,up:[0,6,7],update_fil:9,update_motd:9,us:[3,6],usag:3,user:6,user_id_or_nam:6,usual:6,utf8:6,valid:6,valu:6,veri:6,version:5,via:[0,6],w:9,wa:9,wai:9,want:6,we:9,were:3,whatev:6,when:[6,9],which:[3,6],whole:9,why:3,wire:6,won:9,work:[0,9],workflow:0,would:[0,9],write:9,writesock:6,you:[0,9],your:[0,9],yourself:6},titles:["Contributing","<no title>","Contributor Guide","oslo.privsep","Installation","oslo_privsep","oslo_privsep package","oslo_privsep.functional package","API","Usage"],titleterms:{"function":[7,9],api:8,capabl:6,comm:6,content:[3,6,7],context:9,contribut:0,contributor:2,convert:9,daemon:6,defin:9,from:9,guid:2,indic:3,instal:4,modul:[6,7],note:3,oslo:3,oslo_privsep:[5,6,7],packag:[6,7],priv_context:6,privileg:9,privsep:[3,9],releas:3,rootwrap:9,submodul:[6,7],subpackag:6,tabl:3,test_daemon:7,timeout:9,us:9,usag:9,version:6}})