view scripts/dump_dbm_sessions_db.py @ 6582:3e8f2104753b

issue2551186 - replace socket.sslerror in mailgw.py. roundup/mailgw.py: replaced socket.sslerror with anypy/ssl_.SSLError also looks like a socket.sslerror was removed from pops handling. added it back using method above. roundupanypy/ssl_.py: defines replacement SSLError suitable for python2 or 3 tested by running nc -lp 995 or 993 (pop3s/imaps) and sending gibberish when mailgw connects. This generates a bad version number SSLError. I need to get my imap and pop mock servers included for testing at some point, but I am not sure how to make them bind to the right port as they are priv ports.
author John Rouillard <rouilj@ieee.org>
date Tue, 04 Jan 2022 18:39:40 -0500
parents 61481d7bbb07
children 1188bb423f92
line wrap: on
line source

#! /usr/bin/env python3
"""Usage: dump_dbm_sessions_db.py [filename]

Simple script to dump the otks and sessions dbm databases.  Dumps
sessions db in current directory if no argument is given.

Dump format:

   key: <timestamp> data

where <timestamp> is the human readable __timestamp decoded from the
data object.

"""

import dbm, marshal, sys
from datetime import datetime

try:
  file = sys.argv[1]
except IndexError:
  file="sessions"

try:
   db = dbm.open(file)
except Exception:
   print("Unable to open database: %s"%file)
   exit(1)

k = db.firstkey()
while k is not None:
    d = marshal.loads(db[k])
    t = datetime.fromtimestamp(d['__timestamp'])
    print("%s: %s %s"%(k, t, d))
    k = db.nextkey(k)

Roundup Issue Tracker: http://roundup-tracker.org/