Skip to content

Commit

Permalink
tersen logs
Browse files Browse the repository at this point in the history
  • Loading branch information
9001 committed Feb 10, 2024
1 parent c0d19ad commit b7e7185
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 25 deletions.
38 changes: 17 additions & 21 deletions partftpy/TftpServer.py
Expand Up @@ -91,11 +91,8 @@ def listen(
supply a different socket timeout value, if desired."""
tftp_factory = TftpPacketFactory()

# Don't use new 2.5 ternary operator yet
# listenip = listenip if listenip else '0.0.0.0'
if not listenip:
listenip = "0.0.0.0"
log.info("Server requested on ip %s, port %s" % (listenip, listenport))
listenip = listenip or "0.0.0.0"
log.info("listening @ %s:%s" % (listenip, listenport))
try:
# FIXME - sockets should be non-blocking
self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
Expand All @@ -107,7 +104,7 @@ def listen(

self.is_running.set()

log.info("Starting receive loop...")
log.debug("Starting receive loop...")
while True:
log.debug("shutdown_immediately is %s" % self.shutdown_immediately)
log.debug("shutdown_gracefully is %s" % self.shutdown_gracefully)
Expand Down Expand Up @@ -195,9 +192,10 @@ def listen(
log.warning(
"received traffic on main socket for existing session??"
)
log.info("Currently handling these sessions:")
t = "Active sessions:"
for session_key, session in list(self.sessions.items()):
log.info(" %s" % session)
t += "\n %s" % (session,)
log.info(t)

else:
# Must find the owner of this traffic.
Expand All @@ -208,7 +206,7 @@ def listen(
try:
self.sessions[key].cycle()
if self.sessions[key].state is None:
log.info("Successful transfer.")
log.debug("Successful transfer.")
deletion_list.append(key)
except TftpTimeoutExpectACK:
self.sessions[key].timeout_expectACK = True
Expand Down Expand Up @@ -243,22 +241,20 @@ def listen(

log.debug("Iterating deletion list.")
for key in deletion_list:
log.info("")
log.info("Session %s complete" % key)
log.debug("Session %s complete" % key)
t = "%s done: " % (key,)
if key in self.sessions:
log.debug("Gathering up metrics from session before deleting")
self.sessions[key].end()
metrics = self.sessions[key].metrics
if metrics.duration == 0:
log.info("Duration too short, rate undetermined")
st = self.sessions[key].metrics
if st.duration == 0:
t += "Duration too short, rate undetermined; "
else:
log.info(
"Transferred %d bytes in %.2f seconds"
% (metrics.bytes, metrics.duration)
)
log.info("Average rate: %.2f kbps" % metrics.kbps)
log.info("%.2f bytes in resent data" % metrics.resent_bytes)
log.info("%d duplicate packets" % metrics.dupcount)
t += "%d byte, %.2f sec, %.2f kbps, " % (st.bytes, st.duration, st.kbps)

t += "%d bytes resent, %d dupe pkts" % (st.resent_bytes, st.dupcount)
log.info(t)

log.debug("Deleting session %s" % key)
del self.sessions[key]
log.debug("Session list is now %s" % self.sessions)
Expand Down
8 changes: 4 additions & 4 deletions partftpy/TftpStates.py
Expand Up @@ -131,7 +131,7 @@ def sendACK(self, blocknumber=None):
log.debug("In sendACK, passed blocknumber is %s", blocknumber)
if blocknumber is None:
blocknumber = self.context.next_block
log.info("Sending ack to block %d" % blocknumber)
log.debug("Sending ack to block %d" % blocknumber)
ackpkt = TftpPacketACK()
ackpkt.blocknumber = blocknumber
# Testing hook
Expand Down Expand Up @@ -189,7 +189,7 @@ def resendLast(self):
def handleDat(self, pkt):
"""This method handles a DAT packet during a client download, or a
server upload."""
log.info("Handling DAT packet - block %d" % pkt.blocknumber)
log.debug("Handling DAT packet - block %d" % pkt.blocknumber)
log.debug("Expecting block %s", self.context.next_block)
if pkt.blocknumber == self.context.next_block:
log.debug("Good, received block %d in sequence", pkt.blocknumber)
Expand Down Expand Up @@ -248,7 +248,7 @@ def serverInitial(self, pkt, raddress, rport):
sendoack = False
if not self.context.tidport:
self.context.tidport = rport
log.info("Setting tidport to %s" % rport)
log.debug("Setting tidport to %s" % rport)

log.debug("Setting default options, blksize")
self.context.options = {"blksize": DEF_BLKSIZE}
Expand Down Expand Up @@ -300,7 +300,7 @@ def serverInitial(self, pkt, raddress, rport):
self.full_path = os.path.abspath(full_path)
log.debug("full_path is %s", full_path)
if self.full_path.startswith(os.path.normpath(self.context.root) + os.sep):
log.info("requested file is in the server root - good")
log.debug("requested file is in the server root - good")
else:
log.warning("requested file is not within the server root - bad")
self.sendError(TftpErrors.IllegalTftpOp)
Expand Down

0 comments on commit b7e7185

Please sign in to comment.