← Back
Editing: forwarding.cpython-38.pyc
U W[� � @ s d Z ddlmZmZ ddlZddlmZmZ ddlm Z m Z ddlmZ ddl mZmZ ddlmZmZ G d d � d ej�ZG dd� dej�ZG d d� de�ZG dd� de�ZG dd� dej�Zdd� ZG dd� dej�Zdd� ZeZdd� ZeZ dd� Z!dd� Z"dS )z� This module contains the implementation of the TCP forwarding, which allows clients and servers to forward arbitrary TCP data across the connection. Maintainer: Paul Swartz � )�division�absolute_importN)�protocol�reactor)�HostnameEndpoint�connectProtocol)�log)�_PY3�unicode)�common�channelc @ s e Zd Zdd� Zdd� ZdS )�SSHListenForwardingFactoryc C s || _ || _|| _d S �N)�conn�hostport�klass)�selfZ connectionr r � r �>/usr/lib/python3/dist-packages/twisted/conch/ssh/forwarding.py�__init__ s z#SSHListenForwardingFactory.__init__c C sF | j | jd�}t|�}||_|j|jf}t| j|�}| j�||� |S )N)r ) r r �SSHForwardingClient�client�host�port�packOpen_direct_tcpipr ZopenChannel)r Zaddrr r Z addrTupleZchannelOpenDatar r r � buildProtocol s z(SSHListenForwardingFactory.buildProtocolN)�__name__� __module__�__qualname__r r r r r r r s r c @ s4 e Zd Zdd� Zdd� Zdd� Zdd� Zd d � ZdS )�SSHListenForwardingChannelc C sF t �d| j � t| jj�dkr:| jjdd � }| �|� d| j_d S )Nzopened forwarding channel %s� � )r �msg�id�lenr �buf�write)r �specificData�br r r �channelOpen'