def status404(req): uvm_login.setup_gettext() _write_error_page(req, _("Not Found"))
def login(req, url=None, realm='Administrator', token=None): uvm_login.setup_gettext() options = req.get_options() args = util.parse_qs(req.args or '') error_msg = None if req.form.has_key('username') or req.form.has_key('password'): error_msg = '%s' % cgi.escape( _('Error: Username and Password do not match')) connection = req.connection (addr, port) = connection.local_addr is_local = re.match('127\.', connection.remote_ip) if connection.remote_ip == '::1': is_local = True if port == 80 and not get_uvm_settings_item( 'system', 'httpAdministrationAllowed') and not is_local: write_error_page(req, "Permission denied") return if token != None and get_uvm_settings_item('system', 'cloudEnabled'): if _valid_token(req, token): sess = Session.Session(req, lock=0) sess.lock() sess.set_timeout(uvm_login.SESSION_TIMEOUT) uvm_login.save_session_user(sess, realm, "token") sess.save() sess.unlock() if url == None: return apache.OK else: url = re.sub('[^A-Za-z0-9-_/.#?=]', '', url) # sanitize input if req.form.has_key('fragment') and req.form['fragment'] != '': url = url + req.form['fragment'] util.redirect(req, url) return if req.form.has_key('username') and req.form.has_key('password'): username = req.form['username'] password = req.form['password'] # debug # req.log_error("User:Pass = %s %s" % (username,password)) if _valid_login(req, realm, username, password): sess = Session.Session(req, lock=0) sess.lock() sess.set_timeout(uvm_login.SESSION_TIMEOUT) uvm_login.save_session_user(sess, realm, username) sess.save() sess.unlock() if url == None: return apache.OK else: url = re.sub('[^A-Za-z0-9-_/.#?=]', '', url) # sanitize input if req.form.has_key('fragment') and req.form['fragment'] != '': url = url + req.form['fragment'] util.redirect(req, url) return company_name = uvm_login.get_company_name() title = _("Administrator Login") # some i18n company_names cause exception here, so wrap to handle this # revert to "Administrator Login" if exception occurs try: title = cgi.escape(_("%s Administrator Login") % company_name) except: pass host = cgi.escape(req.hostname) _write_login_form(req, title, host, error_msg)
def status403(req): uvm_login.setup_gettext() _write_error_page(req, _("Forbidden"))
def status411(req): uvm_login.setup_gettext() _write_error_page(req, _("Length Required"))
def status413(req): uvm_login.setup_gettext() _write_error_page(req, _("Request Entity Too Large"))
def status407(req): uvm_login.setup_gettext() _write_error_page(req, _("Proxy Authentication Required"))
def status409(req): uvm_login.setup_gettext() _write_error_page(req, _("Conflict"))
def status502(req): uvm_login.setup_gettext() _write_error_page(req, _("Bad Gateway"))
def status503(req): uvm_login.setup_gettext() if isUvmStarting(): _write_loading_page(req) return _write_error_page(req, _("Service Unavailable"))
def status500(req): uvm_login.setup_gettext() if isUvmStarting(): _write_loading_page(req) return _write_error_page(req, _("Internal Server Error"))
def status501(req): uvm_login.setup_gettext() _write_error_page(req, _("Not Implemented"))
def status417(req): uvm_login.setup_gettext() _write_error_page(req, _("Expectation Failed"))
def status416(req): uvm_login.setup_gettext() _write_error_page(req, _("Requested Range Not Satisfiable"))
def status415(req): uvm_login.setup_gettext() _write_error_page(req, _("Unsupported Media Type"))
def status405(req): uvm_login.setup_gettext() _write_error_page(req, _("Method Not Allowed"))
def status504(req): uvm_login.setup_gettext() _write_error_page(req, _("Gateway Timeout"))
def status406(req): uvm_login.setup_gettext() _write_error_page(req, _("Not Acceptable"))
def status505(req): uvm_login.setup_gettext() _write_error_page(req, _("HTTP Version Not Supported"))
def status408(req): uvm_login.setup_gettext() _write_error_page(req, _("Request Timeout"))
def status400(req): uvm_login.setup_gettext() _write_error_page(req, _("Bad Request"))
def status410(req): uvm_login.setup_gettext() _write_error_page(req, _("Gone"))
def status401(req): uvm_login.setup_gettext() _write_error_page(req, _("Unauthorized"))
def status412(req): uvm_login.setup_gettext() _write_error_page(req, _("Precondition Failed"))
def status402(req): uvm_login.setup_gettext() _write_error_page(req, _("Payment Required"))
def status414(req): uvm_login.setup_gettext() _write_error_page(req, _("Request-URI Too Long"))
def login(req, url=None, realm='Administrator', token=None): uvm_login.setup_gettext() options = req.get_options() args = util.parse_qs(req.args or '') error_msg = None if req.form.has_key('username') or req.form.has_key('password'): error_msg = '%s' % cgi.escape(_('Error: Username and Password do not match')) connection = req.connection (addr, port) = connection.local_addr is_local = re.match('127\.', connection.remote_ip) if connection.remote_ip == '::1': is_local = True if port == 80 and not get_uvm_settings_item('system','httpAdministrationAllowed') and not is_local: write_error_page(req, "Permission denied") return if token != None and get_uvm_settings_item('system','cloudEnabled'): if _valid_token(req, token): sess = Session.Session(req, lock=0) sess.lock() sess.set_timeout(uvm_login.SESSION_TIMEOUT) uvm_login.save_session_user(sess, realm, "token") sess.save() sess.unlock() if url == None: return apache.OK else: url = re.sub('[^A-Za-z0-9-_/.#?=]','',url) # sanitize input if req.form.has_key('fragment') and req.form['fragment'] != '': url = url + req.form['fragment'] util.redirect(req, url) return if req.form.has_key('username') and req.form.has_key('password'): username = req.form['username'] password = req.form['password'] # debug # req.log_error("User:Pass = %s %s" % (username,password)) if _valid_login(req, realm, username, password): sess = Session.Session(req, lock=0) sess.lock() sess.set_timeout(uvm_login.SESSION_TIMEOUT) uvm_login.save_session_user(sess, realm, username) sess.save() sess.unlock() if url == None: return apache.OK else: url = re.sub('[^A-Za-z0-9-_/.#?=]','',url) # sanitize input if req.form.has_key('fragment') and req.form['fragment'] != '': url = url + req.form['fragment'] util.redirect(req, url) return company_name = uvm_login.get_company_name() title = _("Administrator Login") # some i18n company_names cause exception here, so wrap to handle this # revert to "Administrator Login" if exception occurs try: title = cgi.escape(_("%s Administrator Login") % company_name) except: pass host = cgi.escape(req.hostname) _write_login_form(req, title, host, error_msg)