/usr/share/zorp/pylib/Zorp/Stream.py is in zorp 3.9.5-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | ############################################################################
##
## Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
## 2010, 2011 BalaBit IT Ltd, Budapest, Hungary
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
##
##
############################################################################
"""
<module maturity="stable">
<summary>
Module defining interface to the streaming component.
</summary>
<description>
<para>
This module defines the Stream class, encapsulating file descriptors and
related functions.
</para>
</description>
</module>
"""
G_IO_STATUS_ERROR = 0
G_IO_STATUS_NORMAL = 1
G_IO_STATUS_EOF = 2
G_IO_STATUS_AGAIN = 3
class Stream(object):
"""
<class maturity="stable">
<summary>
Class encapsulating the file descriptor and related functions.
</summary>
<description>
<para>
This class encapsulates a full-duplex data tunnel, represented by
a UNIX file descriptor. Proxies communicate with its peers through
instances of this class. The <parameter>client_stream</parameter>
and <parameter>server_stream</parameter>
attributes of the <link
linkend="python.Session">Session</link> class contain a
Stream instance.
</para>
</description>
<metainfo>
<attributes>
<attribute>
<name>fd</name>
<type><integer/></type>
<description>The file descriptor associated to the stream.</description>
</attribute>
<attribute>
<name>name</name>
<type><string/></type>
<description>The name of the stream.</description>
</attribute>
<attribute>
<name>bytes_recvd</name>
<type><integer/></type>
<description>The number of bytes received in the stream.</description>
</attribute>
<attribute>
<name>bytes_sent</name>
<type><integer/></type>
<description>The number of bytes sent in the stream.</description>
</attribute>
</attributes>
</metainfo>
</class>
"""
def __init__(self, fd, name):
"""
<method maturity="stable">
<summary>
Constructor to initialize a stream.
</summary>
<description>
<para>
This constructor initializes a Stream instance setting its
attributes according to arguments.
</para>
</description>
<metainfo>
<arguments>
<argument>
<name>fd</name>
<type><integer/></type>
<description>The file descriptor associated to the stream.</description>
</argument>
<argument>
<name>name</name>
<type><string/></type>
<description>The name of the stream.</description>
</argument>
</arguments>
</metainfo>
</method>
"""
pass
def read(self, count):
"""
<method maturity="stable" internal="yes">
<summary>
Method to read up to count bytes from the stream.
</summary>
<description>
<para>
This method reads up to count bytes from the stream
and returns it as a <string/>.
</para>
</description>
<metainfo>
<arguments>
<argument maturity="stable">
<name>count</name>
<type><integer/></type>
<description>maximum number of bytes to read</description>
</argument>
</arguments>
</metainfo>
</method>
"""
pass
def write(self, buf):
"""
<method maturity="stable" internal="yes">
<summary>
Method to write the contents of a buffer to the stream.
</summary>
<description>
<para>
This method writes the contents of the given buffer to
the stream.
</para>
</description>
<metainfo>
<arguments>
<argument maturity="stable">
<name>buf</name>
<type><string/></type>
<description>buffer to write</description>
</argument>
</arguments>
</metainfo>
</method>
"""
|