At line 554 it has:
opts["shadowuid"] = self._ctx.uid
But self._ctx.uid is an integer, not a string, and this blows up later
at agent.py:652 with the error
"TypeError: argument of type 'int' is not iterable"
Anyway, changing this to "str(self._ctx.uid)" in my copy worked, and I
can shadow my own session.
If this looks like a real bug, please accept my contribution to your
project.
Note: there are still issues, and I'd REALLY REALLY like to see
shadowing of other peoples sessions working, since this is the killer
feature for me. I'll be happy to help if I can....
--Jordan
--Jordan
root@localhost [~/tmp/neatx-read-only/neatx/lib/app]# diff -u
nxserver.py.original nxserver.py
--- nxserver.py.original 2010-02-08 22:51:42.000000000 -0600
+++ nxserver.py 2010-02-08 22:52:10.000000000 -0600
@@ -323,7 +323,7 @@
return True
- return mgr.FindSessionsWithFilter(ctx.username, _Filter)
+ return mgr.FindSessionsWithFilter(None, _Filter)
def _StartSession(self, args):
"""Handle the startsession NX command.
Yup, that's a real bug, thanks for finding it and suggesting the fix!
Steve
--
"You are technically correct, the best kind of correct."
- Bureaucrat 1.0, Futurama
Indeed. Anyone who has read/write permissions for for
<sessiondir>/nxnode.sock, and read permissions for
<sessiondir>/neatx.data should be able to shadow a session. As you
say, root has that, no problem. If you remove that check, and handle
the permissions appropriately yourself, then yeah, shadowing between
users should work.