View | Details | Raw Unified | Return to bug 34836 | Differences between
and this patch

Collapse All | Expand All

(-)a/management/univention-directory-manager-modules/univention-cli-client (-2 / +1 lines)
 Lines 89-96   def fork_server(sock, socket_path): Link Here 
89
					socket_timeout
89
					socket_timeout
90
			sys.exit(1)
90
			sys.exit(1)
91
91
92
	# this takes a long time if getfqdn(host) is used in cli-server
92
	connection_timeout = 5
93
	connection_timeout = 30
94
	stime = time.time() + connection_timeout
93
	stime = time.time() + connection_timeout
95
	while True:
94
	while True:
96
		try:
95
		try:
(-)a/management/univention-directory-manager-modules/univention-cli-server (-10 / +3 lines)
 Lines 76-93   class MyRequestHandler(SocketServer.BaseRequestHandler): Link Here 
76
		pass
76
		pass
77
77
78
78
79
class ForkingTCPServer(SocketServer.ForkingTCPServer):
79
class ForkingServer(SocketServer.UnixStreamServer, SocketServer.ForkingMixIn):
80
80
81
	"""UDM server listening on UNIX socket."""
81
	"""UDM server listening on UNIX socket."""
82
	address_family = socket.AF_UNIX
82
	address_family = socket.AF_UNIX
83
	allow_reuse_address = 1
84
85
	def server_bind(self):
86
		SocketServer.TCPServer.server_bind(self)
87
		_host, port = self.socket.getsockname()[:2]
88
		self.server_name = 'localhost'  # socket.getfqdn(host)
89
		self.server_port = port
90
91
83
92
def server_main(args):
84
def server_main(args):
93
	"""UDM command line server."""
85
	"""UDM command line server."""
 Lines 138-144   def server_main(args): Link Here 
138
		ud.debug(ud.ADMIN, ud.WARN, 'daemon [%s] baseconfig key directory/manager/cmd/timeout not set, setting to default (%s seconds)' % (os.getpid(), timeout))
130
		ud.debug(ud.ADMIN, ud.WARN, 'daemon [%s] baseconfig key directory/manager/cmd/timeout not set, setting to default (%s seconds)' % (os.getpid(), timeout))
139
131
140
	try:
132
	try:
141
		sock = ForkingTCPServer(socket_path, MyRequestHandler)
133
		sock = ForkingServer(socket_path, MyRequestHandler)
142
		os.chmod(socket_path, 0o600)
134
		os.chmod(socket_path, 0o600)
143
	except:
135
	except:
144
		print >> sys.stderr, 'E: Failed creating socket (%s). Daemon stopped.' % socket_path
136
		print >> sys.stderr, 'E: Failed creating socket (%s). Daemon stopped.' % socket_path
 Lines 153-158   def server_main(args): Link Here 
153
	except IOError:
145
	except IOError:
154
		print >> sys.stderr, 'E: Can`t write runfile'
146
		print >> sys.stderr, 'E: Can`t write runfile'
155
147
148
	signal.signal(signal.SIGTERM, lambda s, f: sys.exit(1))
156
	try:
149
	try:
157
		while True:
150
		while True:
158
			rlist, _wlist, _xlist = select([sock], [], [], float(timeout))
151
			rlist, _wlist, _xlist = select([sock], [], [], float(timeout))

Return to bug 34836