diff options
| author | Alexander Barton <alex@barton.de> | 2011-03-16 23:58:39 +0100 |
|---|---|---|
| committer | Alexander Barton <alex@barton.de> | 2011-03-16 23:58:39 +0100 |
| commit | 38747b40dcadd320220bb050974d5e5860a8ecbb (patch) | |
| tree | a15f61e93a7f419dfcbd085f0f4451fcc5bbd0f6 /src | |
| parent | dbb66695c938a7c13e0d399937f191456c7b1119 (diff) | |
| download | ngircd-38747b40dcadd320220bb050974d5e5860a8ecbb.tar.gz ngircd-38747b40dcadd320220bb050974d5e5860a8ecbb.zip | |
Don't use IRC_QUIT_HTTP() if STRICT_RFC is #define'd
Diffstat (limited to 'src')
| -rw-r--r-- | src/ngircd/irc-login.c | 14 | ||||
| -rw-r--r-- | src/ngircd/parse.c | 6 |
2 files changed, 18 insertions, 2 deletions
diff --git a/src/ngircd/irc-login.c b/src/ngircd/irc-login.c index 7e752179..92d54ab1 100644 --- a/src/ngircd/irc-login.c +++ b/src/ngircd/irc-login.c @@ -683,6 +683,18 @@ IRC_QUIT( CLIENT *Client, REQUEST *Req ) } /* IRC_QUIT */ +#ifndef STRICT_RFC + +/** + * Handler for HTTP command, e.g. GET and POST + * + * We handle these commands here to avoid the quite long timeout when + * some user tries to access this IRC daemon using an web browser ... + * + * @param Client The client from which this command has been received. + * @param Req Request structure with prefix and all parameters. + * @returns CONNECTED or DISCONNECTED. + */ GLOBAL bool IRC_QUIT_HTTP( CLIENT *Client, REQUEST *Req ) { @@ -691,6 +703,8 @@ IRC_QUIT_HTTP( CLIENT *Client, REQUEST *Req ) return IRC_QUIT(Client, Req); } /* IRC_QUIT_HTTP */ +#endif + /** * Handler for the IRC "PING" command. diff --git a/src/ngircd/parse.c b/src/ngircd/parse.c index 51149da5..11bb3d11 100644 --- a/src/ngircd/parse.c +++ b/src/ngircd/parse.c @@ -85,8 +85,6 @@ static COMMAND My_Commands[] = { "PONG", IRC_PONG, CLIENT_USER|CLIENT_SERVER, 0, 0, 0 }, { "PRIVMSG", IRC_PRIVMSG, CLIENT_USER|CLIENT_SERVER, 0, 0, 0 }, { "QUIT", IRC_QUIT, 0xFFFF, 0, 0, 0 }, - { "GET", IRC_QUIT_HTTP, 0xFFFF, 0, 0, 0 }, - { "POST", IRC_QUIT_HTTP, 0xFFFF, 0, 0, 0 }, { "REHASH", IRC_REHASH, CLIENT_USER, 0, 0, 0 }, { "RESTART", IRC_RESTART, CLIENT_USER, 0, 0, 0 }, { "SERVER", IRC_SERVER, 0xFFFF, 0, 0, 0 }, @@ -111,6 +109,10 @@ static COMMAND My_Commands[] = #ifdef IRCPLUS { "CHANINFO", IRC_CHANINFO, CLIENT_SERVER, 0, 0, 0 }, #endif +#ifndef STRICT_RFC + { "GET", IRC_QUIT_HTTP, 0xFFFF, 0, 0, 0 }, + { "POST", IRC_QUIT_HTTP, 0xFFFF, 0, 0, 0 }, +#endif { NULL, NULL, 0x0, 0, 0, 0 } /* Ende-Marke */ }; |