projects
/
ircu2.10.12-pk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
iauth: Send an empty "u" message on ident lookup failure.
[ircu2.10.12-pk.git]
/
ircd
/
s_auth.c
diff --git
a/ircd/s_auth.c
b/ircd/s_auth.c
index 95e7d5ca1741f7c17f267c68aeeb53933e3b0b27..83693a24a48125df9150291bdddfcaabc5c59e36 100644
(file)
--- a/
ircd/s_auth.c
+++ b/
ircd/s_auth.c
@@
-679,6
+679,8
@@
static void read_auth_reply(struct AuthRequest* auth)
if (IsUserPort(auth->client))
sendheader(auth->client, REPORT_FAIL_ID);
++ServerStats->is_abad;
if (IsUserPort(auth->client))
sendheader(auth->client, REPORT_FAIL_ID);
++ServerStats->is_abad;
+ if (IAuthHas(iauth, IAUTH_UNDERNET))
+ sendto_iauth(auth->client, "u");
} else {
if (IsUserPort(auth->client))
sendheader(auth->client, REPORT_FIN_ID);
} else {
if (IsUserPort(auth->client))
sendheader(auth->client, REPORT_FIN_ID);
@@
-2248,8
+2250,7
@@
static void iauth_sock_callback(struct Event *ev)
switch (ev_type(ev)) {
case ET_DESTROY:
switch (ev_type(ev)) {
case ET_DESTROY:
- /* Hm, what happened here? */
- if (!IAuthHas(iauth, IAUTH_CLOSING))
+ if (!IAuthHas(iauth, IAUTH_CLOSING) && !s_active(i_stderr(iauth)))
iauth_do_spawn(iauth, 1);
break;
case ET_READ:
iauth_do_spawn(iauth, 1);
break;
case ET_READ:
@@
-2322,7
+2323,8
@@
static void iauth_stderr_callback(struct Event *ev)
switch (ev_type(ev)) {
case ET_DESTROY:
switch (ev_type(ev)) {
case ET_DESTROY:
- /* We do not restart iauth here: the stdout handler does that for us. */
+ if (!IAuthHas(iauth, IAUTH_CLOSING) && !s_active(i_socket(iauth)))
+ iauth_do_spawn(iauth, 1);
break;
case ET_READ:
iauth_read_stderr(iauth);
break;
case ET_READ:
iauth_read_stderr(iauth);