def pre_listen_startup(): mask = 0 if GLSettings.devel_mode: mask = 9000 GLSettings.http_socks = [] for port in GLSettings.bind_ports: port = port + mask if port < 1024 else port http_sock, fail = reserve_port_for_ip(GLSettings.bind_address, port) if fail is not None: log.err("Could not reserve socket for %s (error: %s)" % (fail[0], fail[1])) else: GLSettings.http_socks += [http_sock] https_sock, fail = reserve_port_for_ip(GLSettings.bind_address, 443 + mask) if fail is not None: log.err("Could not reserve socket for %s (error: %s)" % (fail[0], fail[1])) else: GLSettings.https_socks = [https_sock] GLSettings.fix_file_permissions() GLSettings.drop_privileges() GLSettings.check_directories()
def pre_listen_startup(): mask = 0 if GLSettings.devel_mode: mask = 8000 GLSettings.http_socks = [] # Allocate local ports for port in GLSettings.bind_local_ports: http_sock, fail = reserve_port_for_ip('127.0.0.1', port) if fail is not None: log.err("Could not reserve socket for %s (error: %s)" % (fail[0], fail[1])) else: GLSettings.http_socks += [http_sock] # Allocate remote ports for port in GLSettings.bind_remote_ports: sock, fail = reserve_port_for_ip(GLSettings.bind_address, port+mask) if fail is not None: log.err("Could not reserve socket for %s (error: %s)" % (fail[0], fail[1])) continue if port == 80: GLSettings.http_socks += [sock] elif port == 443: GLSettings.https_socks += [sock] GLSettings.fix_file_permissions() GLSettings.drop_privileges() GLSettings.check_directories()
def start_globaleaks(self): try: GLSettings.fix_file_permissions() GLSettings.drop_privileges() GLSettings.check_directories() # Check presence of an existing database and eventually perform its migration check = check_db_files() if check == -1: self._reactor.stop() elif check == 0: yield init_db() else: yield update_version() yield init_appdata() yield clean_untracked_files() yield refresh_memory_variables() if GLSettings.cmdline_options: yield apply_cmdline_options() self.start_asynchronous_jobs() log.msg("GLBackend is now running") for ip in GLSettings.bind_addresses: log.msg("Visit http://%s:%d to interact with me" % (ip, GLSettings.bind_port)) for host in GLSettings.accepted_hosts: if host not in GLSettings.bind_addresses: log.msg("Visit http://%s:%d to interact with me" % (host, GLSettings.bind_port)) for other in GLSettings.configured_hosts: if other: log.msg("Visit %s to interact with me" % other) log.msg( "Remind: GlobaLeaks is not accessible from other URLs, this is strictly enforced" ) log.msg( "Check documentation in https://github.com/globaleaks/GlobaLeaks/wiki/ for special enhancement" ) except Exception as excep: log.err( "ERROR: Cannot start GlobaLeaks; please manual check the error." ) log.err("EXCEPTION: %s" % excep) self._reactor.stop()
def start_globaleaks(self): try: GLSettings.fix_file_permissions() GLSettings.drop_privileges() GLSettings.check_directories() # Check presence of an existing database and eventually perform its migration check = check_db_files() if check == -1: self._reactor.stop() elif check == 0: yield init_db() else: yield update_version() yield init_appdata() yield clean_untracked_files() yield refresh_memory_variables() if GLSettings.cmdline_options: yield apply_cmdline_options() self.start_asynchronous_jobs() log.msg("GLBackend is now running") for ip in GLSettings.bind_addresses: log.msg("Visit http://%s:%d to interact with me" % (ip, GLSettings.bind_port)) for host in GLSettings.accepted_hosts: if host not in GLSettings.bind_addresses: log.msg("Visit http://%s:%d to interact with me" % (host, GLSettings.bind_port)) for other in GLSettings.configured_hosts: if other: log.msg("Visit %s to interact with me" % other) log.msg("Remind: GlobaLeaks is not accessible from other URLs, this is strictly enforced") log.msg("Check documentation in https://github.com/globaleaks/GlobaLeaks/wiki/ for special enhancement") except Exception as excep: log.err("ERROR: Cannot start GlobaLeaks; please manual check the error.") log.err("EXCEPTION: %s" % excep) self._reactor.stop()
def globaleaks_start(): GLSettings.fix_file_permissions() GLSettings.drop_privileges() GLSettings.check_directories() if not GLSettings.accepted_hosts: log.err("Missing a list of hosts usable to contact GLBackend, abort") return False d = create_tables() d.addCallback(clean_untracked_files) @d.addCallback @defer.inlineCallbacks def cb(res): start_asynchronous() yield import_memory_variables() tor_configured_hosts = yield apply_cli_options() log.msg("GLBackend is now running") for ip in GLSettings.bind_addresses: log.msg("Visit http://%s:%d to interact with me" % (ip, GLSettings.bind_port)) for host in GLSettings.accepted_hosts: if host not in GLSettings.bind_addresses: log.msg("Visit http://%s:%d to interact with me" % (host, GLSettings.bind_port)) if tor_configured_hosts: for other in tor_configured_hosts: if other: log.msg("Visit %s to interact with me" % other) log.msg( "Remind: GlobaLeaks is not accessible from other URLs, this is strictly enforced" ) log.msg( "Check documentation in https://github.com/globaleaks/GlobaLeaks/wiki/ for special enhancement" ) return True
def start_globaleaks(self): try: GLSettings.fix_file_permissions() GLSettings.drop_privileges() GLSettings.check_directories() if GLSettings.initialize_db: yield init_db() yield clean_untracked_files() yield refresh_memory_variables() self.start_asynchronous_jobs() except Exception as excep: log.err( "ERROR: Cannot start GlobaLeaks; please manually check the error." ) log.err("EXCEPTION: %s" % excep) self._reactor.stop()
def start_globaleaks(self): try: GLSettings.fix_file_permissions() GLSettings.drop_privileges() GLSettings.check_directories() GLSettings.orm_tp.start() self._reactor.addSystemEventTrigger('after', 'shutdown', GLSettings.orm_tp.stop) if GLSettings.initialize_db: yield init_db() yield clean_untracked_files() yield refresh_memory_variables() self.start_asynchronous_jobs() except Exception as excep: log.err("ERROR: Cannot start GlobaLeaks; please manually check the error.") log.err("EXCEPTION: %s" % excep) self._reactor.stop()
def start_globaleaks(self): try: GLSettings.fix_file_permissions() GLSettings.drop_privileges() GLSettings.check_directories() if GLSettings.initialize_db: yield init_db() else: yield update_version() yield init_appdata() yield clean_untracked_files() yield refresh_memory_variables() self.start_asynchronous_jobs() except Exception as excep: log.err("ERROR: Cannot start GlobaLeaks; please manual check the error.") log.err("EXCEPTION: %s" % excep) self._reactor.stop()
def startService(self): mask = 0 if GLSettings.devel_mode: mask = 8000 GLSettings.http_socks = [] # Allocate local ports for port in GLSettings.bind_local_ports: http_sock, fail = reserve_port_for_ip('127.0.0.1', port) if fail is not None: log.err("Could not reserve socket for %s (error: %s)", fail[0], fail[1]) else: GLSettings.http_socks += [http_sock] # Allocate remote ports for port in GLSettings.bind_remote_ports: sock, fail = reserve_port_for_ip(GLSettings.bind_address, port + mask) if fail is not None: log.err("Could not reserve socket for %s (error: %s)", fail[0], fail[1]) continue if port == 80: GLSettings.http_socks += [sock] elif port == 443: GLSettings.https_socks += [sock] if GLSettings.disable_swap: disable_swap() GLSettings.fix_file_permissions() GLSettings.drop_privileges() GLSettings.check_directories() reactor.callLater(0, self.deferred_start)
def globaleaks_start(): GLSettings.fix_file_permissions() GLSettings.drop_privileges() GLSettings.check_directories() if not GLSettings.accepted_hosts: log.err("Missing a list of hosts usable to contact GLBackend, abort") return False d = create_tables() d.addCallback(clean_untracked_files) @d.addCallback @defer.inlineCallbacks def cb(res): start_asynchronous() yield import_memory_variables() tor_configured_hosts = yield apply_cli_options() log.msg("GLBackend is now running") for ip in GLSettings.bind_addresses: log.msg("Visit http://%s:%d to interact with me" % (ip, GLSettings.bind_port)) for host in GLSettings.accepted_hosts: if host not in GLSettings.bind_addresses: log.msg("Visit http://%s:%d to interact with me" % (host, GLSettings.bind_port)) if tor_configured_hosts: for other in tor_configured_hosts: if other: log.msg("Visit %s to interact with me" % other) log.msg("Remind: GlobaLeaks is not accessible from other URLs, this is strictly enforced") log.msg("Check documentation in https://github.com/globaleaks/GlobaLeaks/wiki/ for special enhancement") return True