flare-fakenet-ng
flare-fakenet-ng copied to clipboard
Add support for WHOIS command on IRCListener
This PR fixes #35
Cause of Bug
The reason of this unknown command
bug is because there is no specific function in fakenet/listeners/IRCListener.py
that deals with the WHOIS
command. Therefore, whenever the WHOIS
command is executed, the current code executes the irc_DEFAULT
function in fakenet/listeners/IRCListener.py
, that displays the unknown command
message as output.
Fix
I went ahead and defined a function with the name irc_WHOIS
which deals with the WHOIS
command. I analyzed the ideal output of WHOIS
command (executed without fakenet running), and then added the respective fields in the irc_WHOIS
function to replicate the same output.
Before
27/03/23 01:45:34 PM [ IRCServer] Client issued an unknown command WHOIS IEUser
After
Note While the output is working as expected, there is one side effect. The WHOIS command's output keeps on printing in a forever loop at the client side, even though it is executed once. While I am trying to work on this issue and fix it, I would love any help to proceed in the right direction. Thank you! :)
@3V3RYONE Can you mention the client you were using to test? It seems like irssi from the screenshot.
Hey @tinajn , yup I used irssi as the client!
Could you also add a test for the WHOIS command to test.py?
Surely, getting back to work on this issue latest by Monday! Will add the tests too :)
Tested the WHOIS command, works well with the new changes :tada:
Note
- The testing was done by creating an IRC client in a python prompt alongside fakenet running.
- We could not test the changes with
test.py
, because as per the docs, IRC Listener test is known to fail intest.py
in windows. - We could not test the changes with the original irssi client, because IRSSI v1.2.2 (as used to report and replicate the bug) is no longer available to use via cygwin. Newer versions of IRSSI do not work with fakenet currently.
Before WHOIS
Client issued an unknown command WHOIS: dr_evil
After WHOIS
Client has issued WHOIS command: dr_evil
Thank you @3V3RYONE.
In the process of testing code with an IRC client. Will merge once I have tested.