~ntt-pf-lab/nova/monkey_patch_notification

« back to all changes in this revision

Viewing changes to vendor/Twisted-10.0.0/twisted/tap/socks.py

  • Committer: Jesse Andrews
  • Date: 2010-05-28 06:05:26 UTC
  • Revision ID: git-v1:bf6e6e718cdc7488e2da87b21e258ccc065fe499
initial commit

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
# Copyright (c) 2001-2004 Twisted Matrix Laboratories.
 
3
# See LICENSE for details.
 
4
 
 
5
 
 
6
"""
 
7
I am a support module for making SOCKSv4 servers with twistd.
 
8
"""
 
9
 
 
10
from twisted.protocols import socks
 
11
from twisted.python import usage
 
12
from twisted.application import internet
 
13
import sys
 
14
 
 
15
class Options(usage.Options):
 
16
    synopsis = "[-i <interface>] [-p <port>] [-l <file>]"
 
17
    optParameters = [["interface", "i", "127.0.0.1", "local interface to which we listen"],
 
18
                  ["port", "p", 1080, "Port on which to listen"],
 
19
                  ["log", "l", None, "file to log connection data to"]]
 
20
    zsh_actions = {"log" : "_files -g '*.log'"}
 
21
 
 
22
    longdesc = "Makes a SOCKSv4 server."
 
23
 
 
24
def makeService(config):
 
25
    if config["interface"] != "127.0.0.1":
 
26
        print
 
27
        print "WARNING:"
 
28
        print "  You have chosen to listen on a non-local interface."
 
29
        print "  This may allow intruders to access your local network"
 
30
        print "  if you run this on a firewall."
 
31
        print
 
32
    t = socks.SOCKSv4Factory(config['log'])
 
33
    portno = int(config['port'])
 
34
    return internet.TCPServer(portno, t, interface=config['interface'])