def load_capture_settings(req,appid=None): companyName = 'Untangle' oemName = get_settings_item("/usr/share/untangle/conf/oem.js","oemName") if (oemName != None): companyName = oemName brandco = get_app_settings_item('branding-manager','companyName') if (brandco != None): companyName = brandco if (appid == None): captureSettings = get_app_settings('captive-portal') else: captureSettings = get_appid_settings(long(appid)) # add the company name to the app settings dictionary captureSettings['companyName'] = companyName # add some headers to prevent caching any of our stuff req.headers_out.add("Cache-Control", "no-store, no-cache, must-revalidate, post-check=0, pre-check=0") req.headers_out.add("Pragma", "no-cache") req.headers_out.add("Expires", "Sat, 1 Jan 2000 00:00:00 GMT"); return(captureSettings)
def load_capture_settings(req, appid=None): companyName = 'Untangle' oemName = get_settings_item("/usr/share/untangle/conf/oem.js", "oemName") if (oemName != None): companyName = oemName brandco = get_app_settings_item('branding-manager', 'companyName') if (brandco != None): companyName = brandco if (appid == None): captureSettings = get_app_settings('captive-portal') else: captureSettings = get_appid_settings(long(appid)) # add the company name to the app settings dictionary captureSettings['companyName'] = companyName # add some headers to prevent caching any of our stuff req.headers_out.add( "Cache-Control", "no-store, no-cache, must-revalidate, post-check=0, pre-check=0") req.headers_out.add("Pragma", "no-cache") req.headers_out.add("Expires", "Sat, 1 Jan 2000 00:00:00 GMT") return (captureSettings)
def get_company_name(): company = 'Untangle' oemName = get_settings_item("/usr/share/untangle/conf/oem.js","oemName") if oemName != None: company = oemName brandco = get_app_settings_item('branding-manager','companyName') if (brandco != None): company = brandco if not type(company) is str: company = company.encode("utf-8") return company
def get_company_name(): company = 'Untangle' oemName = get_settings_item("@PREFIX@/usr/share/untangle/conf/oem.js","oemName") if oemName != None: company = oemName brandco = get_app_settings_item('branding-manager','companyName') if (brandco != None): company = brandco if not type(company) is str: company = company.encode("utf-8") return company
def load_capture_settings(req, appid=None): captureSettings = None # start with our company name companyName = 'Untangle' # if there is an OEM name configured we use that instead of our company name oemName = get_settings_item("/usr/share/untangle/conf/oem.js", "oemName") if (oemName != None): companyName = oemName # if there is a company name in the branding manager it wins over everything else brandco = get_app_settings_item('branding-manager', 'companyName') if (brandco != None): companyName = brandco try: if (appid == None): captureSettings = get_app_settings('captive-portal') else: captureSettings = get_appid_settings(int(appid)) except Exception as e: req.log_error("handler.py: Exception loading settings: %s" % str(e)) if (captureSettings == None): req.log_error( "handler.py: Unable to load capture settings for appid: %s" % str(appid)) return None if (captureSettings.get('pageType') == None): req.log_error("handler.py: Missing required setting: pageType") return None # add the company name to the app settings dictionary captureSettings['companyName'] = companyName # add some headers to prevent caching any of our stuff req.headers_out.add( "Cache-Control", "no-store, no-cache, must-revalidate, post-check=0, pre-check=0") req.headers_out.add("Pragma", "no-cache") req.headers_out.add("Expires", "Mon, 10 Jan 2000 00:00:00 GMT") req.headers_out.add("Connection", "close") return (captureSettings)
def load_capture_settings(req,appid=None): captureSettings = None # start with our company name companyName = 'Untangle' # if there is an OEM name configured we use that instead of our company name oemName = get_settings_item("/usr/share/untangle/conf/oem.js","oemName") if (oemName != None): companyName = oemName # if there is a company name in the branding manager it wins over everything else brandco = get_app_settings_item('branding-manager','companyName') if (brandco != None): companyName = brandco try: if (appid == None): captureSettings = get_app_settings('captive-portal') else: captureSettings = get_appid_settings(int(appid)) except Exception as e: req.log_error("handler.py: Exception loading settings: %s" % str(e)) if (captureSettings == None): req.log_error("handler.py: Unable to load capture settings for appid: %s" % str(appid)) return None if (captureSettings.get('pageType') == None): req.log_error("handler.py: Missing required setting: pageType") return None # add the company name to the app settings dictionary captureSettings['companyName'] = companyName # add some headers to prevent caching any of our stuff req.headers_out.add("Cache-Control", "no-store, no-cache, must-revalidate, post-check=0, pre-check=0") req.headers_out.add("Pragma", "no-cache") req.headers_out.add("Expires", "Mon, 10 Jan 2000 00:00:00 GMT") req.headers_out.add("Connection", "close") return(captureSettings)
def _reports_valid_login(req, realm, username, password, log=True): users = get_app_settings_item('reports', 'reportsUsers') if users == None: return False if users['list'] == None: return False for user in users['list']: if user['emailAddress'] != username: continue pw_hash_shadow = user.get('passwordHashShadow') if pw_hash_shadow: if pw_hash_shadow == crypt.crypt(password, pw_hash_shadow): if log: uvm_login.log_login(req, username, True, None) return True else: if log: uvm_login.log_login(req, username, False, 'P') return False else: pw_hash_base64 = user['passwordHashBase64'] pw_hash = base64.b64decode(pw_hash_base64) raw_pw = pw_hash[0:len(pw_hash) - 8] salt = pw_hash[len(pw_hash) - 8:] if raw_pw == md5.new(password + salt).digest(): if log: uvm_login.log_login(req, username, True, None) return True else: if log: uvm_login.log_login(req, username, False, 'P') return False if log: uvm_login.log_login(req, username, False, 'U') return False
def _reports_valid_login(req, realm, username, password, log=True): users = get_app_settings_item('reports','reportsUsers') if users == None: return False; if users['list'] == None: return False; for user in users['list']: if user['emailAddress'] != username: continue; pw_hash_base64 = user['passwordHashBase64'] pw_hash = base64.b64decode(pw_hash_base64) raw_pw = pw_hash[0:len(pw_hash) - 8] salt = pw_hash[len(pw_hash) - 8:] if raw_pw == md5.new(password + salt).digest(): if log: uvm_login.log_login(req, username, False, True, None) return True else: if log: uvm_login.log_login(req, username, False, False, 'P') return False if log: uvm_login.log_login(req, username, False, False, 'U') return False
def _write_login_form(req, title, host, error_msg): login_url = cgi.escape(req.unparsed_uri) req.content_type = "text/html; charset=utf-8" req.send_http_header() if error_msg == None: error_msg = '' server_str = cgi.escape(_("Server:")) username_str = cgi.escape(_("Username:"******"Password:"******"Login")) if not type(title) is str: title = cgi.escape(title).encode("utf-8") if not type(host) is str: host = cgi.escape(host).encode("utf-8") try: default_username = get_uvm_settings_item('admin', 'defaultUsername') if default_username == None: default_username = "******" else: default_username = str(default_username) except: default_username = "" focus_field_id = "password" if default_username == "": focus_field_id = "username" banner_msg = get_app_settings_item('branding-manager', 'bannerMessage') if banner_msg != None and banner_msg != "": banner_msg = banner_msg.replace("\n", "<br/>") banner_msg = "<p>" + banner_msg.encode('utf-8') + "</p>" else: banner_msg = "" html = """\ <!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, width=device-width"> <meta name="description" content="loginPage"> <title>%s</title> <script type="text/javascript">if (top.location!=location) top.location.href=document.location.href;</script> <style type="text/css"> /* <![CDATA[ */ @import url(/images/base.css); /* ]]> */ </style> </head> <body> <header> <img src="/images/BrandingLogo.png" style="max-width: 150px; max-height: 140px;"> </header> <div class="form-login"> <form method="post" action="%s"> <h2>%s</h2> <p class="server">%s</p> <div class="banner">%s</div> <p class="error">%s</p> <input id="fragment" type="hidden" name="fragment" value=""/> <input id="username" type="text" name="username" value="%s" placeholder="%s"/> <input id="password" type="password" name="password" placeholder="%s"/> <button type="submit">%s</button> </form> </div> <script type="text/javascript">document.getElementById('%s').focus();</script> <script type="text/javascript">document.getElementById('fragment').value=window.location.hash;</script> </body> </html>""" % (title, login_url, title, host, banner_msg, error_msg, default_username, username_str, password_str, login_str, focus_field_id) req.write(html)
location = args[0] base = args[1] name = args[2] option_to_lower = False default_value = None for opt in opts: k, v = opt if k == '-l' or k == '--lower': option_to_lower = True elif k == '-d' or k == '--default': default_value = str(v) if location == "uvm": setting = get_uvm_settings_item(base, name) elif location == "app": setting = get_app_settings_item(base, name) else: print "usage: %s [uvm|app] [basename|app] settings_name" % sys.argv[0] sys.exit(1) if setting == None: setting = default_value if option_to_lower: setting = str(setting).lower(); print setting
location = args[0] base = args[1] name = args[2] option_to_lower = False default_value = None for opt in opts: k, v = opt if k == '-l' or k == '--lower': option_to_lower = True elif k == '-d' or k == '--default': default_value = str(v) if location == "uvm": setting = get_uvm_settings_item(base, name) elif location == "app": setting = get_app_settings_item(base, name) else: print("usage: %s [uvm|app] [basename|app] settings_name" % sys.argv[0]) sys.exit(1) if setting == None: setting = default_value if option_to_lower: setting = str(setting).lower(); print(setting)
def _write_login_form(req, title, host, error_msg): login_url = cgi.escape(req.unparsed_uri) req.content_type = "text/html; charset=utf-8" req.send_http_header() if error_msg == None: error_msg = '' server_str = cgi.escape(_("Server:")) username_str = cgi.escape(_("Username:"******"Password:"******"Login")) if not type(title) is str: title = cgi.escape(title).encode("utf-8") if not type(host) is str: host = cgi.escape(host).encode("utf-8") try: default_username = get_uvm_settings_item('admin','defaultUsername') if default_username == None: default_username = "******" else: default_username = str(default_username) except: default_username = "" focus_field_id = "password" if default_username == "": focus_field_id = "username" banner_msg = get_app_settings_item('branding-manager','bannerMessage') if banner_msg != None and banner_msg != "": banner_msg = banner_msg.replace("\n", "<br/>") banner_msg = "<p>" + banner_msg.encode('utf-8') + "</p>" else: banner_msg = "" html = """\ <!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, width=device-width"> <meta name="description" content="loginPage"> <title>%s</title> <script type="text/javascript">if (top.location!=location) top.location.href=document.location.href;</script> <style type="text/css"> /* <![CDATA[ */ @import url(/images/base.css); /* ]]> */ </style> </head> <body> <header> <img src="/images/BrandingLogo.png" style="max-width: 150px; max-height: 140px;"> </header> <div class="form-login"> <form method="post" action="%s"> <h2>%s</h2> <p class="server">%s</p> <div class="banner">%s</div> <p class="error">%s</p> <input id="fragment" type="hidden" name="fragment" value=""/> <input id="username" type="text" name="username" value="%s" placeholder="%s"/> <input id="password" type="password" name="password" placeholder="%s"/> <button type="submit">%s</button> </form> </div> <script type="text/javascript">document.getElementById('%s').focus();</script> <script type="text/javascript">document.getElementById('fragment').value=window.location.hash;</script> </body> </html>""" % (title, login_url, title, host, banner_msg, error_msg, default_username, username_str, password_str, login_str, focus_field_id) req.write(html)