projects
/
certmaster.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make the port that certmaster listens on and funcd connects to configurable.
[certmaster.git]
/
certmaster
/
utils.py
diff --git
a/certmaster/utils.py
b/certmaster/utils.py
index
22b0afb
..
958d26d
100755
(executable)
--- a/
certmaster/utils.py
+++ b/
certmaster/utils.py
@@
-32,6
+32,14
@@
import sub_process
# FIXME: can remove this constant?
REMOTE_ERROR = "REMOTE_ERROR"
# FIXME: can remove this constant?
REMOTE_ERROR = "REMOTE_ERROR"
+# The standard I/O file descriptors are redirected to /dev/null by default.
+if (hasattr(os, "devnull")):
+ REDIRECT_TO = os.devnull
+else:
+ REDIRECT_TO = "/dev/null"
+
+
+
def trace_me():
x = traceback.extract_stack()
def trace_me():
x = traceback.extract_stack()
@@
-44,18
+52,26
@@
def daemonize(pidfile=None):
Writes the new PID to the provided file name if not None.
"""
Writes the new PID to the provided file name if not None.
"""
-# print pidfile
pid = os.fork()
if pid > 0:
sys.exit(0)
pid = os.fork()
if pid > 0:
sys.exit(0)
- os.close(0)
- os.close(1)
- os.close(2)
- os.cwd("/")
+ os.chdir("/")
os.setsid()
os.umask(0)
pid = os.fork()
os.setsid()
os.umask(0)
pid = os.fork()
+ os.close(0)
+ os.close(1)
+ os.close(2)
+
+ # based on http://code.activestate.com/recipes/278731/
+ os.open(REDIRECT_TO, os.O_RDWR) # standard input (0)
+
+ os.dup2(0, 1) # standard output (1)
+ os.dup2(0, 2) # standard error (2)
+
+
+
if pid > 0:
if pidfile is not None:
open(pidfile, "w").write(str(pid))
if pid > 0:
if pidfile is not None:
open(pidfile, "w").write(str(pid))
@@
-111,12
+127,11
@@
def get_hostname(talk_to_certmaster=True):
config = read_config(config_file, MinionConfig)
server = config.certmaster
config = read_config(config_file, MinionConfig)
server = config.certmaster
- port =
51235
+ port =
config.certmaster_port
try:
s = socket.socket()
s.settimeout(5)
try:
s = socket.socket()
s.settimeout(5)
- # print "server, port", server, port
s.connect((server, port))
(intf, port) = s.getsockname()
remote_hostname = socket.gethostbyaddr(intf)[0]
s.connect((server, port))
(intf, port) = s.getsockname()
remote_hostname = socket.gethostbyaddr(intf)[0]
@@
-140,7
+155,7
@@
def create_minion_keys():
config_file = '/etc/certmaster/minion.conf'
config = read_config(config_file, MinionConfig)
cert_dir = config.cert_dir
config_file = '/etc/certmaster/minion.conf'
config = read_config(config_file, MinionConfig)
cert_dir = config.cert_dir
- master_uri = 'http://%s:
51235/' % config.certmaster
+ master_uri = 'http://%s:
%s/' % (config.certmaster, config.certmaster_port)
# print "DEBUG: acquiring hostname"
hn = get_hostname()
# print "DEBUG: hostname = %s\n" % hn
# print "DEBUG: acquiring hostname"
hn = get_hostname()
# print "DEBUG: hostname = %s\n" % hn
@@
-220,7
+235,7
@@
def run_triggers(ref, globber):
# in the triggers directory
continue
if ref:
# in the triggers directory
continue
if ref:
- rc = sub_process.call([file, ref
.name
], shell=False)
+ rc = sub_process.call([file, ref], shell=False)
else:
rc = sub_process.call([file], shell=False)
except:
else:
rc = sub_process.call([file], shell=False)
except: