Exemple #1
0
    def pickRcondorSubmissionHost(self, task):

        task = common._db.getTask()

        if task['serverName'] != None and task['serverName'] != "":
            # rcondorHost is already defined and stored for this task
            # so pick it from DB
            # cast to string to avoid issues with unicode :-(
            rcondorUserHost = str(task['serverName'])
            common.logger.info("serverName from Task DB is %s" %
                               rcondorUserHost)
            if '@' in rcondorUserHost:
                rcondorHost = rcondorUserHost.split('@')[1]
            else:
                rcondorHost = rcondorUserHost
        else:
            if self.cfg_params.has_key('CRAB.submit_host'):
                # get an rcondor host from crab config file
                srvCfg = ServerConfig(
                    self.cfg_params['CRAB.submit_host']).config()
                rcondorHost = srvCfg['serverName']
                common.logger.info("rcondorhost from crab.cfg = %s" %
                                   rcondorHost)
            else:
                # pick from Available Servers List
                srvCfg = ServerConfig('default').config()
                print srvCfg
                rcondorHost = srvCfg['serverName']
                common.logger.info("rcondorhost from Avail.List = %s" %
                                   rcondorHost)

            if not rcondorHost:
                raise CrabException('FATAL ERROR: condorHost not defined')
                # fall back to env.
                #common.logger.info("no serverName in Task DB, use env.var.")
                #rcondorHost   = os.getenv('RCONDOR_HOST')
                #if not rcondorHost :
                #    raise CrabException('FATAL ERROR: env.var RCONDOR_HOST not defined')

            #rcondorUser = os.getenv('RCONDOR_USER')
            #if not rcondorUser :
            common.logger.info("try to find out RCONDOR_USER via uberftp ...")
            command = "uberftp %s pwd|grep User|awk '{print $3}'" % rcondorHost
            (status, output) = commands.getstatusoutput(command)
            if status == 0:
                rcondorUser = output
                common.logger.info("rcondorUser set to %s" % rcondorUser)
                if rcondorUser == None:
                    raise CrabException(
                        'FATAL ERROR: RCONDOR_USER not defined')

            rcondorUserHost = rcondorUser + '@' + rcondorHost

        print "will set server name to : ", rcondorUserHost
        common._db.updateTask_({'serverName': rcondorUserHost})

        return (rcondorHost, rcondorUserHost)
Exemple #2
0
 def __init__(self):
     self.long = 8
     self.sets = ServerConfig.Sets()
     self.name = ServerInfo.Info('name').get_info()
     self.ver = ServerInfo.Info('ver').get_info()
     self.form = ServerInfo.Info('about').get_info()
     self.auth = ServerInfo.Info('by').get_info()
     self.mail = ServerInfo.Info('mail').get_info()
     self.remode = ServerInfo.Info('remode').get_info()
     self.conf = ServerConfig.conf
     self.noyes = [ru('No'), ru('Yes')]
     self.version = [ru('Default'), ru('HTTP/1.0'), ru('HTTP/1.1')]
     self.method = [ru('HEAD'),
      ru('GET'),
      ru('POST'),
      ru('DELETE'),
      ru('CONNECT'),
      ru('OPTIONS'),
      ru('TRACE'),
      ru('PUT')]
     self.line = [ru('\\r\\n'), ru('\\n')]
     self.split = [ru('Default'),
      ru('%s' % (self.line[self.sets.ILINE] * self.sets.ILINE)),
      ru('%s' % (self.line[self.sets.ILINE] * self.sets.ILINE)),
      ru('%s' % (self.line[self.sets.ILINE] * self.sets.ILINE)),
      ru('%s' % (self.line[self.sets.ILINE] * self.sets.ILINE)),
      ru('%s' % (self.line[self.sets.ILINE] * self.sets.ILINE))]
Exemple #3
0
def token():
    if request.args.get('token'):
        token = request.args.get('token')
        tkn = r.hgetall(token)
        if tkn is not None:
            sessionid = generateUuid('sessionid')
            print sessionid
            r.hmset(token, {'sessionid': sessionid, 'app_code': ServerConfig.get('app_code')})
            res = make_response()
            res.set_cookie('sessionid', value=sessionid, domain=uc_domain, expires=uc_expires)
            return (res, json.dumps({'result': True, 'msg': 'token permit'}))
        return json.dumps({'result': False, 'msg': 'token expires or illegal'})
    return json.dumps({'result': False, 'msg': 'no token'})
    def pickRemoteSubmissionHost(self, task):

        task = common._db.getTask()

        if task['serverName'] != None and task['serverName'] != "":
            # remoteHost is already defined and stored for this task
            # so pick it from DB
            # cast to string to avoid issues with unicode :-(
            remoteUserHost = str(task['serverName'])
            common.logger.info("serverName from Task DB is %s" %
                               remoteUserHost)
        else:
            if self.cfg_params.has_key('CRAB.submit_host'):
                # get a remote submission host from crab config file
                srvCfg = ServerConfig(
                    self.cfg_params['CRAB.submit_host']).config()
                remoteUserHost = srvCfg['serverName']
                common.logger.info("remotehost from crab.cfg = %s" %
                                   remoteUserHost)
            else:
                # pick from Available Servers List
                srvCfg = ServerConfig('default').config()
                remoteUserHost = srvCfg['serverName']
                common.logger.info("remotehost from Avail.List = %s" %
                                   remoteUserHost)

            if not remoteUserHost:
                raise CrabException('FATAL ERROR: remoteHost not defined')

        if '@' in remoteUserHost:
            remoteHost = remoteUserHost.split('@')[1]
        else:
            remoteHost = remoteUserHost

        common._db.updateTask_({'serverName': remoteUserHost})

        return (remoteHost, remoteUserHost)
Exemple #5
0
    def setServerConfigInfo(self):
        with open("chatserver.conf", "r", encoding="utf-8") as serverFile:
            size_to_read = 100
            f_contents = serverFile.readline(size_to_read)
            args_list = f_contents.split()
            host = args_list[1]

            f_contents = serverFile.readline(size_to_read)
            args_list = f_contents.split()
            port = args_list[1]

            dbpath = serverFile.readline(size_to_read).split()[1]
            ports = serverFile.readline(size_to_read).split()[2]
            list_of_ports = ports.split(',')

            return ServerConfig(host, port, dbpath, list_of_ports)
Exemple #6
0
 def __init__(self):
     self.long = 18
     self.sets = ServerConfig.Sets()
     self.noyes = [ru('No'), ru('Yes')]
     self.version = [ru('Default'), ru('HTTP/1.0'), ru('HTTP/1.1')]
     self.method = [ru('HEAD'),
      ru('GET'),
      ru('POST'),
      ru('DELETE'),
      ru('CONNECT'),
      ru('OPTIONS'),
      ru('TRACE'),
      ru('PUT')]
     self.line = [ru('\\r\\n'), ru('\\n')]
     self.split = [ru('Default'),
      ru('%s' % (self.line[self.sets.ILINE] * self.sets.ILINE)),
      ru('%s' % (self.line[self.sets.ILINE] * self.sets.ILINE)),
      ru('%s' % (self.line[self.sets.ILINE] * self.sets.ILINE)),
      ru('%s' % (self.line[self.sets.ILINE] * self.sets.ILINE)),
      ru('%s' % (self.line[self.sets.ILINE] * self.sets.ILINE))]
Exemple #7
0
 def __init__(self):
     self.sets = ServerConfig.Sets()
     self.host = []
     for server in self.sets.KEEP.split('|'):
         if server:
             self.host.append(server)
Exemple #8
0
def ServerUpdate():
    global sets
    sets = ServerConfig.Sets()
Exemple #9
0
#ServerHanlder.py

import sys
import select
import socket
import random
import urlparse
import ServerInfo
import ServerConfig
import ServerSocks
import SocketServer
import BaseHTTPServer
ra = lambda text: text.decode('ascii', 'ignore')
sets = ServerConfig.Sets()
logs = False


def ServerUpdate():
    global sets
    sets = ServerConfig.Sets()


def LogWindow(flag=False):
    global logs
    logs = flag


class QueryHandler():
    def __init__(self,
                 command='',
                 path='/',
Exemple #10
0
#!/usr/bin/env python
# encoding: utf-8
from flask import Flask, request, render_template, url_for, make_response, redirect
import redis
import uuid
import requests
import ServerConfig
import json

app = Flask(__name__)

r = redis.StrictRedis(host='localhost', port=6379, db=0, password=123)
token_expires = ServerConfig.get('token_expires')
uc_expires = ServerConfig.get('uc_expires')
uc_domain = ServerConfig.get('uc_domain')
app_code = ServerConfig.get('app_code')


# ############# Helper Function ####################
def generateUuid(code_for):
    token = str(uuid.uuid3(uuid.uuid1(), str(code_for)).hex)
    return token


# ############# Token/GlobalSession Manager ###############
class TokenUtil:
    def setToken(self, uc_token, TokenInfo):
        uc_token = 'token:' + uc_token
        r.hmset(uc_token, TokenInfo)
        return r.expire(uc_token, token_expires)
Exemple #11
0
import TcpServer
import ThreadedTcpServer
import ServerConfig
import os

# os.path.dirname(__file__) gets the current directory of this file
# os.path.join is a function that joins the strings to form a correct file path
CONFIG_FILE = os.path.join(os.path.dirname(__file__), 'server_config.json')

if __name__ == '__main__':
    config = ServerConfig.ServerConfig(CONFIG_FILE)
    server = None  # None is the Python equivalent to null
    if config.use_multithreaded:
        server = ThreadedTcpServer.ThreadedTcpServer(config.port, config.host,
                                                     config.block_list)
    else:
        server = TcpServer.TcpServer(config.port, config.host,
                                     config.block_list)
    server.listen()