Skip to content

Commit

Permalink
added ssh sessions to user session #633
Browse files Browse the repository at this point in the history
  • Loading branch information
Matthew Letter committed Aug 2, 2016
1 parent 1a88340 commit 2339d66
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions packages/slycat/web/server/handlers.py
Original file line number Diff line number Diff line change
Expand Up @@ -811,7 +811,7 @@ def login():
sid = uuid.uuid4().hex
session = {"created": datetime.datetime.utcnow(), "creator": user_name}
database = slycat.web.server.database.couchdb.connect()
database.save({"_id": sid, "type": "session", "created": session["created"].isoformat(), "creator": session["creator"], 'groups': groups, 'ip': remote_ip})
database.save({"_id": sid, "type": "session", "created": session["created"].isoformat(), "creator": session["creator"], 'groups': groups, 'ip': remote_ip, "sessions":[]})

login.sessions[sid] = session

Expand Down Expand Up @@ -1703,7 +1703,16 @@ def post_remotes():
hostname = cherrypy.request.json["hostname"]
password = cherrypy.request.json["password"]
agent = cherrypy.request.json.get("agent", None)
return {"sid": slycat.web.server.remote.create_session(hostname, username, password, agent)}
sid = slycat.web.server.remote.create_session(hostname, username, password, agent)
# save sid to user session
try:
database = slycat.web.server.database.couchdb.connect()
session = database.get("session", cherrypy.request.cookie["slycatauth"].value)
session["sessions"].append({"sid": sid,"hostname": hostname, "username": username})
database.save(session)
except Exception as e:
cherrypy.log.error("could not save session for remotes %s" % e)
return {"sid": sid}

def delete_remote(sid):
slycat.web.server.remote.delete_session(sid)
Expand Down

0 comments on commit 2339d66

Please sign in to comment.