Skip to content
This repository has been archived by the owner on Aug 13, 2024. It is now read-only.

Manually disconnecting and reconnecting to a server doesn't trigger a JoinSession #36

Open
paulfariello-syn opened this issue Mar 11, 2020 · 1 comment
Labels
bug Something isn't working

Comments

@paulfariello-syn
Copy link

Running IDArling on d4e823a (current master) with a standalone server.

Manually disconnecting and reconnecting to a server doesn't trigger a JoinSession, then IDArling is not usable since the joining user doesn't see the already connected user and the following stack trace append for each received packet (preventing any event to be propagated correctly).

Traceback (most recent call last):
  File "idarling/shared/sockets.py", line 302, in event
    self._dispatch()
  File "idarling/shared/sockets.py", line 320, in _dispatch
    elif not self.recv_packet(packet):
  File "idarling/network/client.py", line 80, in recv_packet
    self._handlers[packet.__class__](packet)
  File "idarling/network/client.py", line 134, in _handle_leave_session
    user = self._plugin.core.remove_user(packet.name)
  File "idarling/core/core.py", line 123, in remove_user
    user = self._users.pop(name)
KeyError: 'Bob'
@saidelike
Copy link
Collaborator

saidelike commented Mar 16, 2020

I don't seem to be able to replicate this.

I tried the following:

Right clicking on "Connected" to make it "Disconnected" in IDA taskbar (i.e. IDArling bar)

This is what I get in IDA console:

[idarling][INFO] Disconnecting...
[idarling][DEBUG] Disconnected
[idarling][INFO] Connecting to 10.w.w.w:yyyy...
[idarling][INFO] Connected
[idarling][DEBUG] Joining session
[idarling][DEBUG] Sending packet: ListDatabases.Query(group=testing-only, project=rawcap)
[idarling][DEBUG] Received packet: ListDatabases.Reply(databases=[Database(group_name=testing-only, project=rawcap, name=001, date=2020/03/16 12:16, tick=0)])
[idarling][DEBUG] Database is on the server
[idarling][DEBUG] Sending packet: JoinSession(group=testing-only, project=rawcap, database=001, tick=0, name=cedric, color=16775936, ea=120, silent=True)

And on the server side:

[idarling][DEBUG] (10.x.x.x:65258) Disconnected
[idarling][INFO] (10.x.x.x.x:65258) Disconnected
[idarling][INFO] (10.x.x.x.x:65259) Connected
[idarling][INFO] (10.x.x.x.x:65259) Connected
[idarling][DEBUG] (10.x.x.x.x:65259) Received packet: ListDatabases.Query(type=command, command_type=list_databases_query, group=testing-only, project=rawcap)
[idarling][INFO] (10.x.x.x:65259) Got list databases request
[idarling][DEBUG] (10.x.x.x:65259) Sending packet: ListDatabases.Reply(databases=[Database(group_name=testing-only, project=rawcap, name=001, date=2020/03/16 12:16, tick=0)])
[idarling][DEBUG] (10.x.x.x:65259) Received packet: JoinSession(type=command, command_type=join_session, group=testing-only, project=rawcap, database=001, tick=0, name=cedric, color=16775936, ea=120, silent=True)
[idarling][DEBUG] (10.x.x.x:65259) Sending 0 missed events...
[idarling][DEBUG] (10.x.x.x:65259) Done sending 0 missed events

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants