You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Assume there's a plugin that's hooking up connect and returning DENY.
Assume there's a second plugin that tarpits quit.
Then, connect hook would switch connection.state into LOOP.
Client would send QUIT once, then would send another QUIT while there's a tarpit active, which will lead to double hook invocation and a crash.
connect_respond(retval,msg){caseconstants.deny:
this.loop_respond(554,msg||"Your mail is not welcome here");break;// --snip--loop_respond(code,msg){if(this.state>=states.DISCONNECTING)return;this.state=states.LOOP;// --snip--elseif(this.state===states.LOOP){// Allow QUITif(this.current_line.toUpperCase()==='QUIT'){this.cmd_quit();
The text was updated successfully, but these errors were encountered:
Assume there's a plugin that's hooking up
connect
and returningDENY
.Assume there's a second plugin that tarpits
quit
.Then,
connect
hook would switchconnection.state
intoLOOP
.Client would send QUIT once, then would send another QUIT while there's a tarpit active, which will lead to double hook invocation and a crash.
The text was updated successfully, but these errors were encountered: