def group(request, group): if not CONFIG.valid(group): if settings.DEBUG: raise Exception("Invalid group: %s (valid groups %s)" % (group, CONFIG.groups())) else: return NeverCacheRedirectView.as_view(url="/")(request) config = CONFIG.config(group) template = request.GET.get('template', 'default') if not re.match('[a-z]+', template): if settings.DEBUG: raise Exception("Unknown template: %s" % template) else: return NeverCacheRedirectView.as_view(url="/")(request) elif template == 'default': template = "group" # Is the request coming from the room? for ipregex in LOCALIPS: if ipregex.match(request.META['HTTP_X_REAL_IP']): template = 'inroom' break screenstr = request.GET.get('screen', 'False') if screenstr.lower()[0] in ('y', 't'): screen = True else: screen = False return render_to_response('%s.html' % template, locals())
def group(request, group): if not CONFIG.valid(group): if settings.DEBUG: raise Exception("Invalid group: %s (valid groups %s)" % (group, CONFIG.keys())) else: return NeverCacheRedirectView.as_view(url="/")(request) config = CONFIG.config(group) template = request.GET.get('template', 'default') if not re.match('[a-z]+', template): if settings.DEBUG: raise Exception("Unknown template: %s" % template) else: return NeverCacheRedirectView.as_view(url="/")(request) elif template == 'default': template = "group" # Is the request coming from the room? for ipregex in LOCALIPS: if ipregex.match(request.META['HTTP_X_REAL_IP']): template = 'inroom' break screenstr = request.GET.get('screen', 'False') if screenstr.lower()[0] in ('y', 't'): screen = True else: screen = False return render_to_response('%s.html' % template, locals())
def endpoint_common(request, check_group=True): """Check the common information for an endpoint request.""" if request.method != "POST": return NeverCacheRedirectView.as_view(url="/")(request) response = http.HttpResponse(content_type="text/plain") if not CONFIG["config"].get("secret", None): response.write("ERROR CONFIG (No secret)\n") return response, None, None secret = request.POST.get("secret", "") if secret != CONFIG["config"]["secret"]: response.write("ERROR SECRET\n") return response, None, None if check_group: group = request.POST.get("group", "") if not CONFIG.valid(group): response.write("ERROR GROUP\n") return response, None, None else: group = None ip = request.META["HTTP_X_REAL_IP"] return None, group, ip
def client_common(request, group): """Check the common information for an client request.""" if request.method != "POST": return NeverCacheRedirectView.as_view(url="/")(request) response = http.HttpResponse(content_type="application/javascript") if not CONFIG.valid(group): response.write(simplejson.dumps({"code": error.ERROR_GROUP, "error": "Unknown group", "next": -1})) return (response, None, None) # Check the cookie value exists if "user" not in request.COOKIES: response.set_cookie("user", value=user_key(request)) response.write(simplejson.dumps({"code": error.WARNING_COOKIE, "error": "No cookie set", "next": 0})) return (response, None, None) # Check the cookie value is valid salt, digest = request.COOKIES["user"].split(":") if user_key(request, salt) != request.COOKIES["user"]: response.delete_cookie("user") response.write(simplejson.dumps({"code": error.WARNING_COOKIE, "error": "Cookie was invalid?", "next": 0})) return (response, None, None) return (None, group, request.COOKIES["user"])
def endpoint_common(request, check_group=True): """Check the common information for an endpoint request.""" if request.method != 'POST': return NeverCacheRedirectView.as_view(url="/")(request) response = http.HttpResponse(content_type='text/plain') if not CONFIG['config'].get('secret', None): response.write('ERROR CONFIG (No secret)\n') return response, None, None secret = request.POST.get('secret', '') if secret != CONFIG['config']['secret']: response.write('ERROR SECRET\n') return response, None, None if check_group: group = request.POST.get('group', '') if not CONFIG.valid(group): response.write('ERROR GROUP\n') return response, None, None else: group = None ip = request.META[settings.HTTP_REMOTE_ADDR_META] return None, group, ip
def client_common(request, group): """Check the common information for an client request.""" if request.method != 'POST': return NeverCacheRedirectView.as_view(url="/")(request) response = http.HttpResponse(content_type='application/javascript') if not CONFIG.valid(group): response.write( simplejson.dumps({ 'code': error.ERROR_GROUP, 'error': 'Unknown group', 'next': -1, })) return (response, None, None) # Check the cookie value exists if 'user' not in request.COOKIES: response.set_cookie('user', value=user_key(request)) response.write( simplejson.dumps({ 'code': error.WARNING_COOKIE, 'error': 'No cookie set', 'next': 0, })) return (response, None, None) # Check the cookie value is valid salt, digest = request.COOKIES['user'].split(':') if user_key(request, salt) != request.COOKIES['user']: response.delete_cookie('user') response.write( simplejson.dumps({ 'code': error.WARNING_COOKIE, 'error': 'Cookie was invalid?', 'next': 0, })) return (response, None, None) return (None, group, request.COOKIES['user'])
def client_common(request, group): """Check the common information for an client request.""" if request.method != 'POST': return NeverCacheRedirectView.as_view(url="/")(request) response = http.HttpResponse(content_type='application/javascript') if not CONFIG.valid(group): response.write(simplejson.dumps({ 'code': error.ERROR_GROUP, 'error': 'Unknown group', 'next': -1, })) return (response, None, None) # Check the cookie value exists if 'user' not in request.COOKIES: response.set_cookie('user', value=user_key(request)) response.write(simplejson.dumps({ 'code': error.WARNING_COOKIE, 'error': 'No cookie set', 'next': 0, })) return (response, None, None) # Check the cookie value is valid salt, digest = request.COOKIES['user'].split(':') if user_key(request, salt) != request.COOKIES['user']: response.delete_cookie('user') response.write(simplejson.dumps({ 'code': error.WARNING_COOKIE, 'error': 'Cookie was invalid?', 'next': 0, })) return (response, None, None) return (None, group, request.COOKIES['user'])