コード例 #1
0
ファイル: network.py プロジェクト: wijnen/python-network
	def _tls_init(self):
		# Set up members for using tls, if requested.
		if self.tls in (False, '-'):
			self.tls = False
			return
		if self.tls in (None, True, ''):
			self.tls = fhs.module_get_config('network')['tls']
		if self.tls == '':
			self.tls = socket.getfqdn()
		elif self.tls == '-':
			self.tls = False
			return
		# Use tls.
		fc = fhs.read_data(os.path.join('certs', self.tls + os.extsep + 'pem'), opened = False, packagename = 'network')
		fk = fhs.read_data(os.path.join('private', self.tls + os.extsep + 'key'), opened = False, packagename = 'network')
		if fc is None or fk is None:
			# Create new self-signed certificate.
			certfile = fhs.write_data(os.path.join('certs', self.tls + os.extsep + 'pem'), opened = False, packagename = 'network')
			csrfile = fhs.write_data(os.path.join('csr', self.tls + os.extsep + 'csr'), opened = False, packagename = 'network')
			for p in (certfile, csrfile):
				path = os.path.dirname(p)
				if not os.path.exists(path):
					os.makedirs(path)
			keyfile = fhs.write_data(os.path.join('private', self.tls + os.extsep + 'key'), opened = False, packagename = 'network')
			path = os.path.dirname(keyfile)
			if not os.path.exists(path):
				os.makedirs(path, 0o700)
			os.system('openssl req -x509 -nodes -days 3650 -newkey rsa:4096 -subj "/CN=%s" -keyout "%s" -out "%s"' % (self.tls, keyfile, certfile))
			os.system('openssl req -subj "/CN=%s" -new -key "%s" -out "%s"' % (self.tls, keyfile, csrfile))
			fc = fhs.read_data(os.path.join('certs', self.tls + os.extsep + 'pem'), opened = False, packagename = 'network')
			fk = fhs.read_data(os.path.join('private', self.tls + os.extsep + 'key'), opened = False, packagename = 'network')
		self._tls_cert = fc
		self._tls_key = fk
コード例 #2
0
	def _tls_init(self):
		# Set up members for using tls, if requested.
		if self.tls in (False, '-'):
			self.tls = False
			return
		if self.tls in (None, True, ''):
			self.tls = fhs.module_get_config('network')['tls']
		if self.tls == '':
			self.tls = socket.getfqdn()
		elif self.tls == '-':
			self.tls = False
			return
		# Use tls.
		fc = fhs.read_data(os.path.join('certs', self.tls + os.extsep + 'pem'), opened = False, packagename = 'network')
		fk = fhs.read_data(os.path.join('private', self.tls + os.extsep + 'key'), opened = False, packagename = 'network')
		if fc is None or fk is None:
			# Create new self-signed certificate.
			certfile = fhs.write_data(os.path.join('certs', self.tls + os.extsep + 'pem'), opened = False, packagename = 'network')
			csrfile = fhs.write_data(os.path.join('csr', self.tls + os.extsep + 'csr'), opened = False, packagename = 'network')
			for p in (certfile, csrfile):
				path = os.path.dirname(p)
				if not os.path.exists(path):
					os.makedirs(path)
			keyfile = fhs.write_data(os.path.join('private', self.tls + os.extsep + 'key'), opened = False, packagename = 'network')
			path = os.path.dirname(keyfile)
			if not os.path.exists(path):
				os.makedirs(path, 0o700)
			os.system('openssl req -x509 -nodes -days 3650 -newkey rsa:4096 -subj "/CN=%s" -keyout "%s" -out "%s"' % (self.tls, keyfile, certfile))
			os.system('openssl req -subj "/CN=%s" -new -key "%s" -out "%s"' % (self.tls, keyfile, csrfile))
			fc = fhs.read_data(os.path.join('certs', self.tls + os.extsep + 'pem'), opened = False, packagename = 'network')
			fk = fhs.read_data(os.path.join('private', self.tls + os.extsep + 'key'), opened = False, packagename = 'network')
		self._tls_cert = fc
		self._tls_key = fk
コード例 #3
0
ファイル: server.py プロジェクト: hotelzululima/franklin
	def del_script(cls, name): # {{{
		del scripts[name]
		for e in('js', 'dat'):
			filename = fhs.write_data(os.path.join('scripts', name + os.extsep + e), opened = False)
			if os.path.exists(filename):
				os.unlink(filename)
		cls._broadcast(None, 'del_script', name)
コード例 #4
0
 def del_script(cls, name):  # {{{
     del scripts[name]
     for e in ('js', 'dat'):
         filename = fhs.write_data(os.path.join('scripts',
                                                name + os.extsep + e),
                                   opened=False)
         if os.path.exists(filename):
             os.unlink(filename)
     cls._broadcast(None, 'del_script', name)
コード例 #5
0
ファイル: server.py プロジェクト: hotelzululima/franklin
	def set_data(cls, name, data): # {{{
		scripts[name][1] = data
		filename = fhs.write_data(os.path.join('scripts', name + os.extsep + 'dat'), opened = False)
		if data is None:
			if os.path.exists(filename):
				os.unlink(filename)
		else:
			with open(filename, 'wb') as f:
				f.write(data)
		cls._broadcast(None, 'new_data', name, data)
コード例 #6
0
ファイル: server.py プロジェクト: hotelzululima/franklin
	def new_script(cls, code): # {{{
		global nextscriptname
		name = '%04d' % nextscriptname
		scripts[name] = [code, None]
		while '%04d' % nextscriptname in scripts:
			nextscriptname += 1
		f = fhs.write_data(os.path.join('scripts', name + os.extsep + 'js'), text = False)
		f.write(code)
		f.close()
		cls._broadcast(None, 'new_script', name, code, None)
		return []
コード例 #7
0
 def set_data(cls, name, data):  # {{{
     scripts[name][1] = data
     filename = fhs.write_data(os.path.join('scripts',
                                            name + os.extsep + 'dat'),
                               opened=False)
     if data is None:
         if os.path.exists(filename):
             os.unlink(filename)
     else:
         with open(filename, 'wb') as f:
             f.write(data)
     cls._broadcast(None, 'new_data', name, data)
コード例 #8
0
 def new_script(cls, code):  # {{{
     global nextscriptname
     name = '%04d' % nextscriptname
     scripts[name] = [code, None]
     while '%04d' % nextscriptname in scripts:
         nextscriptname += 1
     f = fhs.write_data(os.path.join('scripts', name + os.extsep + 'js'),
                        text=False)
     f.write(code)
     f.close()
     cls._broadcast(None, 'new_script', name, code, None)
     return []