コード例 #1
0
ファイル: static.py プロジェクト: WPMedia/pritunl
 def set_cache(self):
     cache_db.dict_set(self.get_cache_key(), 'data', self.data or '')
     cache_db.dict_set(self.get_cache_key(), 'mime_type',
         self.mime_type or '')
     cache_db.dict_set(self.get_cache_key(), 'last_modified',
         self.last_modified)
     cache_db.dict_set(self.get_cache_key(), 'etag', self.etag or '')
コード例 #2
0
ファイル: key.py プロジェクト: ogrishman/pritunl
def user_key_link_get(org_id, user_id):
    org = Organization.get_org(id=org_id)
    key_id = uuid.uuid4().hex

    view_id = None
    for i in xrange(2048):
        temp_view_id = ''.join(random.sample(SHORT_URL_CHARS, SHORT_URL_LEN))
        if not cache_db.exists(_get_view_key(temp_view_id)):
            view_id = temp_view_id
            break
    if not view_id:
        raise KeyLinkError('Failed to generate random view id')

    cache_db.expire(_get_key_key(key_id), KEY_LINK_TIMEOUT)
    cache_db.dict_set(_get_key_key(key_id), 'org_id', org_id)
    cache_db.dict_set(_get_key_key(key_id), 'user_id', user_id)
    cache_db.dict_set(_get_key_key(key_id), 'view_id', view_id)

    conf_urls = []
    if app_server.inline_certs:
        for server in org.iter_servers():
            conf_id = uuid.uuid4().hex

            cache_db.expire(_get_conf_key(conf_id), KEY_LINK_TIMEOUT)
            cache_db.dict_set(_get_conf_key(conf_id), 'org_id', org_id)
            cache_db.dict_set(_get_conf_key(conf_id), 'user_id', user_id)
            cache_db.dict_set(_get_conf_key(conf_id), 'server_id', server.id)

            conf_urls.append({
                'id': conf_id,
                'server_name': server.name,
                'url': '/key/%s.ovpn' % conf_id,
            })

    cache_db.expire(_get_view_key(view_id), KEY_LINK_TIMEOUT)
    cache_db.dict_set(_get_view_key(view_id), 'org_id', org_id)
    cache_db.dict_set(_get_view_key(view_id), 'user_id', user_id)
    cache_db.dict_set(_get_view_key(view_id), 'key_id', key_id)
    cache_db.dict_set(_get_view_key(view_id),
        'conf_urls', json.dumps(conf_urls))

    return utils.jsonify({
        'id': key_id,
        'key_url': '/key/%s.tar' % key_id,
        'view_url': '/k/%s' % view_id,
    })