Esempio n. 1
0
def submitSpecial(self: RequestHandler, args: dict):
    try:
        questionsSQLMethod.questions.addUnapproved(self.current_user.id,
                                                   args["question"],
                                                   args["answer"])
        SSE_messages.addMessage(self.current_user.username +
                                " made a submission!")
    except IntegrityError:
        pass
    return self.finish(JSON.YES())
Esempio n. 2
0
def questionsSpecialUnapprove(self: RequestHandler, args: dict):
    if not self.current_user.isAdmin:
        return self.finish(JSON.error("access denied"))

    result = questionsSQLMethod.questions.unapproveSolve(args["solve"])
    if result:
        SSE_messages.addMessage(args["username"] +
                                " had a submission unapproved :(")
        return self.finish(JSON.OK())
    return self.finish(JSON.FALSE())
Esempio n. 3
0
def run(file: str = None, **kwargs):
    print("----------------------------------------")
    print("Server version:", __VERSION)

    if file:
        print("Loading config file:", file)
        import lib
        from lib.config import readConfig
        lib.config = config = readConfig(file)
    else:
        from lib.config import config

    if kwargs:
        print("Applying config overrides")
        config.update(kwargs)
    print("----------------------------------------")

    try:
        settings = dict(
            ssl_options={
                "certfile":
                os.path.join(
                    "/etc/letsencrypt/live/scavhunt.tech/fullchain.pem"),
                "keyfile":
                os.path.join(
                    "/etc/letsencrypt/live/scavhunt.tech/privkey.pem"),
            })
        server = tornado.httpserver.HTTPServer(app, **settings)

        port = config["SERVER"].get("port", 443)
    except:
        # Unable to run on HTTPS
        server = tornado.httpserver.HTTPServer(app)
        port = config["SERVER"].get("port", 80)

    try:
        server.bind(port)
    except OSError:
        print("Port", port, "is in use!\nAborting...")
        return

    try:
        from os import fork
        server.start(0)
    except:
        print(
            ":: os.fork not present on system (Windows) - Defaulting to single process"
        )
        server.start(1)

    print("Server running on port %s\n" % port)
    SSE_messages.addMessage("The game server is online!")
    SSE_messages.do.reloadSite()

    tornado.ioloop.IOLoop.current().start()
Esempio n. 4
0
def trySolve(self: RequestHandler, args: dict):
    if args["answer"].lower() == questionsSQLMethod.questions.getAnswer(
            args["question"]):
        try:
            questionsSQLMethod.questions.solveQuestion(self.current_user.id,
                                                       args["question"])
            SSE_messages.addMessage(self.current_user.username +
                                    " has found an answer!")
        except IntegrityError:
            pass
        return self.finish(JSON.YES())
    return self.finish(JSON.NO())
def run(file: str = None, **kwargs):
    print("UNSW CSE CompClub 2019 Summer CTF Server")
    print("                      [ by Andrew Wong ]")
    print("----------------------------------------")
    print("Server version:", __VERSION)

    if file:
        print("Loading config file:", file)
        import lib
        from lib.config import readConfig
        # Must be getting the CONFIGURAITON OF THE FILE
        lib.config = config = readConfig(file)
    else:
        from lib.config import config

    if kwargs:
        print("Applying config overrides")
        config.update(kwargs)
    print("----------------------------------------")

    server = tornado.httpserver.HTTPServer(app)

    port = config["SERVER"].get("port", 8000)
    try:
        server.bind(port)
    except OSError:
        print("Port", port, "is in use!\nAborting...")
        return

    try:
        from os import fork
        server.start(0)
    except:
        print(
            ":: os.fork not present on system (Windows) - Defaulting to single process"
        )
        server.start(1)

    print("Server running on port %s\n" % port)
    SSE_messages.addMessage("The game server is online!")
    SSE_messages.do.reloadSite()

    # DO
    tornado.ioloop.IOLoop.current().start()