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
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)
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)
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)
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 []
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)
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 []