| Index: third_party/twisted_8_1/twisted/pair/ip.py
|
| diff --git a/third_party/twisted_8_1/twisted/pair/ip.py b/third_party/twisted_8_1/twisted/pair/ip.py
|
| deleted file mode 100644
|
| index 245a7d92b8fa94ffdefc499057f039b646948afd..0000000000000000000000000000000000000000
|
| --- a/third_party/twisted_8_1/twisted/pair/ip.py
|
| +++ /dev/null
|
| @@ -1,72 +0,0 @@
|
| -# -*- test-case-name: twisted.pair.test.test_ip -*-
|
| -# Copyright (c) 2001-2004 Twisted Matrix Laboratories.
|
| -# See LICENSE for details.
|
| -
|
| -#
|
| -
|
| -
|
| -"""Support for working directly with IP packets"""
|
| -
|
| -import struct
|
| -import socket
|
| -
|
| -from twisted.internet import protocol
|
| -from twisted.pair import raw
|
| -from zope.interface import implements
|
| -
|
| -
|
| -class IPHeader:
|
| - def __init__(self, data):
|
| -
|
| - (ihlversion, self.tos, self.tot_len, self.fragment_id, frag_off,
|
| - self.ttl, self.protocol, self.check, saddr, daddr) \
|
| - = struct.unpack("!BBHHHBBH4s4s", data[:20])
|
| - self.saddr = socket.inet_ntoa(saddr)
|
| - self.daddr = socket.inet_ntoa(daddr)
|
| - self.version = ihlversion & 0x0F
|
| - self.ihl = ((ihlversion & 0xF0) >> 4) << 2
|
| - self.fragment_offset = frag_off & 0x1FFF
|
| - self.dont_fragment = (frag_off & 0x4000 != 0)
|
| - self.more_fragments = (frag_off & 0x2000 != 0)
|
| -
|
| -MAX_SIZE = 2L**32
|
| -
|
| -class IPProtocol(protocol.AbstractDatagramProtocol):
|
| - implements(raw.IRawPacketProtocol)
|
| -
|
| - def __init__(self):
|
| - self.ipProtos = {}
|
| -
|
| - def addProto(self, num, proto):
|
| - proto = raw.IRawDatagramProtocol(proto)
|
| - if num < 0:
|
| - raise TypeError, 'Added protocol must be positive or zero'
|
| - if num >= MAX_SIZE:
|
| - raise TypeError, 'Added protocol must fit in 32 bits'
|
| - if num not in self.ipProtos:
|
| - self.ipProtos[num] = []
|
| - self.ipProtos[num].append(proto)
|
| -
|
| - def datagramReceived(self,
|
| - data,
|
| - partial,
|
| - dest,
|
| - source,
|
| - protocol):
|
| - header = IPHeader(data)
|
| - for proto in self.ipProtos.get(header.protocol, ()):
|
| - proto.datagramReceived(data=data[20:],
|
| - partial=partial,
|
| - source=header.saddr,
|
| - dest=header.daddr,
|
| - protocol=header.protocol,
|
| - version=header.version,
|
| - ihl=header.ihl,
|
| - tos=header.tos,
|
| - tot_len=header.tot_len,
|
| - fragment_id=header.fragment_id,
|
| - fragment_offset=header.fragment_offset,
|
| - dont_fragment=header.dont_fragment,
|
| - more_fragments=header.more_fragments,
|
| - ttl=header.ttl,
|
| - )
|
|
|