diff options
author | shmel1k <shmel1k@ydb.tech> | 2023-11-26 18:16:14 +0300 |
---|---|---|
committer | shmel1k <shmel1k@ydb.tech> | 2023-11-26 18:43:30 +0300 |
commit | b8cf9e88f4c5c64d9406af533d8948deb050d695 (patch) | |
tree | 218eb61fb3c3b96ec08b4d8cdfef383104a87d63 /contrib/python/Twisted/py3/twisted/protocols/finger.py | |
parent | 523f645a83a0ec97a0332dbc3863bb354c92a328 (diff) | |
download | ydb-b8cf9e88f4c5c64d9406af533d8948deb050d695.tar.gz |
add kikimr_configure
Diffstat (limited to 'contrib/python/Twisted/py3/twisted/protocols/finger.py')
-rw-r--r-- | contrib/python/Twisted/py3/twisted/protocols/finger.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/contrib/python/Twisted/py3/twisted/protocols/finger.py b/contrib/python/Twisted/py3/twisted/protocols/finger.py new file mode 100644 index 0000000000..428618fda1 --- /dev/null +++ b/contrib/python/Twisted/py3/twisted/protocols/finger.py @@ -0,0 +1,42 @@ +# Copyright (c) Twisted Matrix Laboratories. +# See LICENSE for details. + + +"""The Finger User Information Protocol (RFC 1288)""" + +from twisted.protocols import basic + + +class Finger(basic.LineReceiver): + def lineReceived(self, line): + parts = line.split() + if not parts: + parts = [b""] + if len(parts) == 1: + slash_w = 0 + else: + slash_w = 1 + user = parts[-1] + if b"@" in user: + hostPlace = user.rfind(b"@") + user = user[:hostPlace] + host = user[hostPlace + 1 :] + return self.forwardQuery(slash_w, user, host) + if user: + return self.getUser(slash_w, user) + else: + return self.getDomain(slash_w) + + def _refuseMessage(self, message): + self.transport.write(message + b"\n") + self.transport.loseConnection() + + def forwardQuery(self, slash_w, user, host): + self._refuseMessage(b"Finger forwarding service denied") + + def getDomain(self, slash_w): + self._refuseMessage(b"Finger online list denied") + + def getUser(self, slash_w, user): + self.transport.write(b"Login: " + user + b"\n") + self._refuseMessage(b"No such user") |