| 276 |
|
motd_signon(client_p); |
| 277 |
|
} |
| 278 |
|
|
| 279 |
– |
/* check_xline() |
| 280 |
– |
* |
| 281 |
– |
* inputs - pointer to client to test |
| 282 |
– |
* outupt - 1 if exiting 0 if ok |
| 283 |
– |
* side effects - |
| 284 |
– |
*/ |
| 285 |
– |
static bool |
| 286 |
– |
check_xline(struct Client *client_p) |
| 287 |
– |
{ |
| 288 |
– |
const struct GecosItem *gecos = NULL; |
| 289 |
– |
|
| 290 |
– |
if (HasFlag(client_p, FLAGS_EXEMPTXLINE)) |
| 291 |
– |
return false; |
| 292 |
– |
|
| 293 |
– |
if ((gecos = gecos_find(client_p->info, match))) |
| 294 |
– |
{ |
| 295 |
– |
sendto_realops_flags(UMODE_REJ, L_ALL, SEND_NOTICE, |
| 296 |
– |
"X-line Rejecting [%s] [%s], user %s [%s]", |
| 297 |
– |
client_p->info, gecos->reason, |
| 298 |
– |
client_get_name(client_p, HIDE_IP), |
| 299 |
– |
client_p->sockhost); |
| 300 |
– |
|
| 301 |
– |
++ServerStats.is_ref; |
| 302 |
– |
exit_client(client_p, "Bad user info"); |
| 303 |
– |
return true; |
| 304 |
– |
} |
| 305 |
– |
|
| 306 |
– |
return false; |
| 307 |
– |
} |
| 308 |
– |
|
| 279 |
|
/*! \brief This function is called when both NICK and USER messages |
| 280 |
|
* have been accepted for the client, in whatever order. Only |
| 281 |
|
* after this, is the UID message propagated. |
| 397 |
|
return; |
| 398 |
|
} |
| 399 |
|
|
| 400 |
< |
if (check_xline(client_p)) |
| 401 |
< |
return; |
| 400 |
> |
if (!HasFlag(client_p, FLAGS_EXEMPTXLINE)) |
| 401 |
> |
{ |
| 402 |
> |
const struct GecosItem *gecos = gecos_find(client_p->info, match); |
| 403 |
> |
if (gecos) |
| 404 |
> |
{ |
| 405 |
> |
sendto_realops_flags(UMODE_REJ, L_ALL, SEND_NOTICE, |
| 406 |
> |
"X-line Rejecting [%s] [%s], user %s [%s]", |
| 407 |
> |
client_p->info, gecos->reason, |
| 408 |
> |
client_get_name(client_p, HIDE_IP), |
| 409 |
> |
client_p->sockhost); |
| 410 |
> |
++ServerStats.is_ref; |
| 411 |
> |
exit_client(client_p, "Bad user info"); |
| 412 |
> |
return; |
| 413 |
> |
} |
| 414 |
> |
} |
| 415 |
|
|
| 416 |
|
const char *id; |
| 417 |
|
while (hash_find_id((id = uid_get()))) |