コード例 #1
0
ファイル: services.py プロジェクト: sgricci/digsby
    def serviceHeaders(self, client, to = None, **k):
        PC = Schema.GED(MSNS.HMNS.RSI, "PassportCookie").pyclass()
        ticket = client.get_ticket(self.SSO_Domain)

        token_parts = util.fmt_to_dict('&', '=')(ticket.token)

        PC.T = token_parts.get('t', '')
        PC.P = token_parts.get('p', '')

        return PC,
コード例 #2
0
ファイル: login2.py プロジェクト: sgricci/digsby
    return '@\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00' + pack_pstr(
            '\x00' + pack_pstr(password) +\
            '\x00\x03\x00\x01' +\
            '\x00\x05UTF-8' +\
            '\x00\x02' +\
            '\x00\x02en' +\
            '\x00\x03' +\
            '\x00\x02US')


import socket, ssl
from struct import pack

from util import fmt_to_dict

SiteState = fmt_to_dict('|', ':')


def do_https(v):
    s = socket.SocketType()
    s.connect(('kdc.uas.aol.com', 443))
    s = ssl.wrap_socket(s)
    s.write(v)
    return s


def make_packet(un, password):
    #i0 are two "random bytes", not sure what the restrictions here are
    n = top3 + 'i0' + middle
    n += pack_pstr(un)
    n += m2
コード例 #3
0
from urllib2 import urlopen, quote, unquote, Request, HTTPError, URLError

from hashlib import sha1
from hmac import HMAC

import logging

log = logging.getLogger('mail.passport')

import util
import util.xml_tag
import util.packable as packable
import util.primitives.bits as bits
import util.primitives.funcs as funcs

csd_to_dict = util.fmt_to_dict(',', '=')


def escape(s):
    return s.encode('xml').replace("'", ''')


def unescape(s):
    return s.decode('xml')


class SecurityTokenRequest(object):
    def __init__(self, id, domain, policyref):
        id = 'RST%d' % id
        util.autoassign(self, locals())
        self.__gotdata = False
コード例 #4
0
ファイル: MSNUtil.py プロジェクト: AlexUlrich/digsby
def base64_decode(s):
    return s.decode('base64')

def utf16_encode(str):
    try:
        return unicode(str, 'utf-16')
    except TypeError:
        if isinstance(str, unicode):
            return str.encode('utf-16')
        else:
            return fuzzydecode(s, 'utf-8').encode('utf-16')

def utf16_decode(str):
    return str.decode('utf-16')

mime_to_dict = fmt_to_dict(';','=')
csd_to_dict  = fmt_to_dict(',','=')

def mime_to_storage(str):
    '''
    turn mime headers into a storage object
    '''
    info = mime_to_dict(str)
    for k in info.keys():
        info[pythonize(k)] = info[k]

    return to_storage(info)

def csd_to_storage(str):
    '''
    turn mime headers into a storage object
コード例 #5
0
ファイル: passport.py プロジェクト: AlexUlrich/digsby
from urllib2 import urlopen, quote, unquote, Request, HTTPError, URLError

from hashlib import sha1
from hmac import HMAC

import logging
log = logging.getLogger('mail.passport')

import util
import util.xml_tag
import util.packable as packable
import util.primitives.bits as bits
import util.primitives.funcs as funcs

csd_to_dict = util.fmt_to_dict(',','=')

def escape(s):
    return s.encode('xml').replace("'", ''')

def unescape(s):
    return s.decode('xml')

class SecurityTokenRequest(object):
    def __init__(self, id, domain, policyref):
        id = 'RST%d'%id
        util.autoassign(self, locals())
        self.__gotdata = False
        self._received = None

    def _set_received(self, val):
        self._received = val
コード例 #6
0
ファイル: login2.py プロジェクト: AlexUlrich/digsby
def make_remainder(password):
    return '@\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00' + pack_pstr(
            '\x00' + pack_pstr(password) +\
            '\x00\x03\x00\x01' +\
            '\x00\x05UTF-8' +\
            '\x00\x02' +\
            '\x00\x02en' +\
            '\x00\x03' +\
            '\x00\x02US')

import socket, ssl
from struct import pack

from util import fmt_to_dict

SiteState = fmt_to_dict('|',':')

def do_https(v):
    s = socket.SocketType()
    s.connect(('kdc.uas.aol.com', 443))
    s = ssl.wrap_socket(s)
    s.write(v)
    return s

def make_packet(un, password):
    #i0 are two "random bytes", not sure what the restrictions here are
    n = top3 + 'i0' + middle
    n += pack_pstr(un)
    n += m2
    r = make_remainder(password)
    n += pack('!H', len(r))
コード例 #7
0
    def get_ticket(self, key=None):
        if key is None:
            return self.ticket

        else:
            return fmt_to_dict('&','=')(self.ticket)[key]
コード例 #8
0
ファイル: MSNUtil.py プロジェクト: sgricci/digsby
def utf16_encode(str):
    try:
        return unicode(str, 'utf-16')
    except TypeError:
        if isinstance(str, unicode):
            return str.encode('utf-16')
        else:
            return fuzzydecode(s, 'utf-8').encode('utf-16')


def utf16_decode(str):
    return str.decode('utf-16')


mime_to_dict = fmt_to_dict(';', '=')
csd_to_dict = fmt_to_dict(',', '=')


def mime_to_storage(str):
    '''
    turn mime headers into a storage object
    '''
    info = mime_to_dict(str)
    for k in info.keys():
        info[pythonize(k)] = info[k]

    return to_storage(info)


def csd_to_storage(str):