示例#1
0
    def test_parse_service(self):
        self.assertEqual(parse_service('0.0.0.0:0'), ('0.0.0.0', 0))
        self.assertEqual(parse_service('127.0.0.1:12'), ('127.0.0.1', 12))
        self.assertEqual(parse_service('8.8.8.8:345'), ('8.8.8.8', 345))
        self.assertEqual(parse_service('10.10.0.1:6789'), ('10.10.0.1', 6789))
        self.assertEqual(parse_service('172.16.0.1:12345'), ('172.16.0.1', 12345))

        self.assertEqual(parse_service('[::]:0'), ('::', 0))
        self.assertEqual(parse_service('[::1]:12'), ('::1', 12))
        self.assertEqual(parse_service('[a::5]:345'), ('a::5', 345))
        self.assertEqual(parse_service('[7:f::8]:6789'), ('7:f::8', 6789))
        self.assertEqual(parse_service('[5:c:d:3::f]:12345'), ('5:c:d:3::f', 12345))
        self.assertEqual(parse_service('[0123:4567:89ab:cdef:0123:4567:89ab:cdef]:80'), ('0123:4567:89ab:cdef:0123:4567:89ab:cdef', 80))

        self.assertIsNone(parse_service('laskdjflkasjd'))
        self.assertIsNone(parse_service('1234.1.2.3:75'))
        self.assertIsNone(parse_service('1.2.3.4'))
        self.assertIsNone(parse_service('3.6.7.3:'))
        self.assertIsNone(parse_service('8.7.6.56:123456'))
        self.assertIsNone(parse_service('1.2.3:4'))

        self.assertIsNone(parse_service('[d::z]:4'))
        self.assertIsNone(parse_service('[a::f]:123456'))
        self.assertIsNone(parse_service('[::]'))
        self.assertIsNone(parse_service('[::]:'))
示例#2
0
    #let's sanity check!
    if not (args.port or args.ssl):
        raise Exception("You must supply a non-zero --port (or use the default), or enable --ssl")

    if args.ssl:
        if not (args.certfile and args.keyfile):
            raise Exception("To enable SSL, a certfile and keyfile must be provided")
        elif not (os.path.exists(args.certfile) and os.path.isfile(args.certfile)):
            raise Exception("Certfile '%s' does not exist or is not a file"%(args.certfile,))
        elif not (os.path.exists(args.keyfile) and os.path.isfile(args.keyfile)):
            raise Exception("Keyfile '%s' does not exist or is not a file"%(args.keyfile,))

    if not (os.path.exists(args.queue) and os.path.isdir(args.queue)):
        raise Exception("The queue '%s' does not exist or is not a directory"%(args.queue,))

    _bs = parse_service(args.beanstalk)
    if _bs is None:
        raise Exception("'%s' is not a valid service address for beanstalkd"%(args.beanstalk,))
    else:
        args.beanstalk = _bs

    server = None
    SSLserver = None

    if args.port:
        server = JumpSMTPd(
            args,
            (args.host, args.port),
            None,
            ssl = False,
            certfile = None,