95 |
|
0, /* @ */ |
96 |
|
0, /* A */ |
97 |
|
0, /* B */ |
98 |
< |
0, /* C */ |
98 |
> |
UMODE_CCONN_FULL, /* C */ |
99 |
|
UMODE_DEAF, /* D */ |
100 |
|
0, /* E */ |
101 |
|
0, /* F */ |
445 |
|
"255.255.255.255" : ipaddr, get_client_class(source_p), |
446 |
|
source_p->info); |
447 |
|
|
448 |
+ |
sendto_realops_flags(UMODE_CCONN_FULL, L_ALL, |
449 |
+ |
"CLICONN %s %s %s %s %s %s %s 0 %s", |
450 |
+ |
nick, source_p->username, source_p->host, |
451 |
+ |
ConfigFileEntry.hide_spoof_ips && IsIPSpoof(source_p) ? |
452 |
+ |
"255.255.255.255" : ipaddr, |
453 |
+ |
get_client_class(source_p), |
454 |
+ |
ConfigFileEntry.hide_spoof_ips && IsIPSpoof(source_p) ? |
455 |
+ |
"<hidden>" : source_p->client_host, |
456 |
+ |
ConfigFileEntry.hide_spoof_ips && IsIPSpoof(source_p) ? |
457 |
+ |
"<hidden>" : source_p->client_server, |
458 |
+ |
source_p->info); |
459 |
+ |
|
460 |
+ |
|
461 |
|
/* If they have died in send_* don't do anything. */ |
462 |
|
if (IsDead(source_p)) |
463 |
|
return; |
851 |
|
|
852 |
|
strlcpy(source_p->info, realname, sizeof(source_p->info)); |
853 |
|
|
854 |
+ |
/* stash for later */ |
855 |
+ |
strlcpy(source_p->client_host, host, sizeof(source_p->client_host)); |
856 |
+ |
strlcpy(source_p->client_server, server, sizeof(source_p->client_server)); |
857 |
+ |
|
858 |
|
if (!IsGotId(source_p)) |
859 |
|
{ |
860 |
|
/* save the username in the client |
1067 |
|
/* send_umode() |
1068 |
|
* send the MODE string for user (user) to connection client_p |
1069 |
|
* -avalon |
1070 |
+ |
* |
1071 |
+ |
* inputs - client_p |
1072 |
+ |
* - source_p |
1073 |
+ |
* - int old |
1074 |
+ |
* - sendmask mask of modes to send |
1075 |
+ |
* - suplied umode_buf |
1076 |
+ |
* output - NONE |
1077 |
|
*/ |
1078 |
|
void |
1079 |
|
send_umode(struct Client *client_p, struct Client *source_p, |