From a4857d780fddb01d0272d9e3fd5be56e19dcf617 Mon Sep 17 00:00:00 2001 From: William Pitcock Date: Sun, 8 Jun 2008 01:29:26 -0500 Subject: [PATCH] core: no more TS5 --- src/client.c | 4 --- src/s_user.c | 81 +++++++++++++++++++--------------------------------- 2 files changed, 30 insertions(+), 55 deletions(-) diff --git a/src/client.c b/src/client.c index 0d4f5a1..88ebce7 100644 --- a/src/client.c +++ b/src/client.c @@ -1302,8 +1302,6 @@ exit_remote_client(struct Client *client_p, struct Client *source_p, struct Clie { sendto_server(client_p, NULL, CAP_TS6, NOCAPS, ":%s QUIT :%s", use_id(source_p), comment); - sendto_server(client_p, NULL, NOCAPS, CAP_TS6, - ":%s QUIT :%s", source_p->name, comment); } SetDead(source_p); @@ -1550,8 +1548,6 @@ exit_local_client(struct Client *client_p, struct Client *source_p, struct Clien { sendto_server(client_p, NULL, CAP_TS6, NOCAPS, ":%s QUIT :%s", use_id(source_p), comment); - sendto_server(client_p, NULL, NOCAPS, CAP_TS6, - ":%s QUIT :%s", source_p->name, comment); } SetDead(source_p); diff --git a/src/s_user.c b/src/s_user.c index a366e7d..63d88dc 100644 --- a/src/s_user.c +++ b/src/s_user.c @@ -582,6 +582,7 @@ introduce_client(struct Client *client_p, struct Client *source_p, struct User * char *p; hook_data_umode_changed hdata; hook_data_client hdata2; + char sockhost[HOSTLEN]; if(MyClient(source_p)) send_umode(source_p, source_p, 0, 0, ubuf); @@ -594,70 +595,48 @@ introduce_client(struct Client *client_p, struct Client *source_p, struct User * ubuf[1] = '\0'; } - /* if it has an ID, introduce it with its id to TS6 servers, - * otherwise introduce it normally to all. - */ - if(has_id(source_p)) + s_assert(has_id(source_p)); + + if(source_p->sockhost[0] == ':') { - char sockhost[HOSTLEN]; - if(source_p->sockhost[0] == ':') - { - sockhost[0] = '0'; - sockhost[1] = '\0'; - rb_strlcat(sockhost, source_p->sockhost, sizeof(sockhost)); - } else - strcpy(sockhost, source_p->sockhost); + sockhost[0] = '0'; + sockhost[1] = '\0'; + rb_strlcat(sockhost, source_p->sockhost, sizeof(sockhost)); + } else + strcpy(sockhost, source_p->sockhost); - if (use_euid) - sendto_server(client_p, NULL, CAP_EUID | CAP_TS6, NOCAPS, - ":%s EUID %s %d %ld %s %s %s %s %s %s %s :%s", - source_p->servptr->id, nick, - source_p->hopcount + 1, - (long) source_p->tsinfo, ubuf, - source_p->username, source_p->host, - IsIPSpoof(source_p) ? "0" : sockhost, - source_p->id, - IsDynSpoof(source_p) ? source_p->orighost : "*", - EmptyString(source_p->user->suser) ? "*" : source_p->user->suser, - source_p->info); + if (use_euid) + sendto_server(client_p, NULL, CAP_EUID | CAP_TS6, NOCAPS, + ":%s EUID %s %d %ld %s %s %s %s %s %s %s :%s", + source_p->servptr->id, nick, + source_p->hopcount + 1, + (long) source_p->tsinfo, ubuf, + source_p->username, source_p->host, + IsIPSpoof(source_p) ? "0" : sockhost, + source_p->id, + IsDynSpoof(source_p) ? source_p->orighost : "*", + EmptyString(source_p->user->suser) ? "*" : source_p->user->suser, + source_p->info); - sendto_server(client_p, NULL, CAP_TS6, use_euid ? CAP_EUID : NOCAPS, - ":%s UID %s %d %ld %s %s %s %s %s :%s", - source_p->servptr->id, nick, - source_p->hopcount + 1, - (long) source_p->tsinfo, ubuf, - source_p->username, source_p->host, - IsIPSpoof(source_p) ? "0" : sockhost, - source_p->id, source_p->info); - - sendto_server(client_p, NULL, NOCAPS, CAP_TS6, - "NICK %s %d %ld %s %s %s %s :%s", - nick, source_p->hopcount + 1, - (long) source_p->tsinfo, - ubuf, source_p->username, source_p->host, - source_p->servptr->name, source_p->info); - } - else - sendto_server(client_p, NULL, NOCAPS, NOCAPS, - "NICK %s %d %ld %s %s %s %s :%s", - nick, source_p->hopcount + 1, - (long) source_p->tsinfo, - ubuf, source_p->username, source_p->host, - source_p->servptr->name, source_p->info); + sendto_server(client_p, NULL, CAP_TS6, use_euid ? CAP_EUID : NOCAPS, + ":%s UID %s %d %ld %s %s %s %s %s :%s", + source_p->servptr->id, nick, + source_p->hopcount + 1, + (long) source_p->tsinfo, ubuf, + source_p->username, source_p->host, + IsIPSpoof(source_p) ? "0" : sockhost, + source_p->id, source_p->info); if (IsDynSpoof(source_p)) { sendto_server(client_p, NULL, CAP_TS6, use_euid ? CAP_EUID : NOCAPS, ":%s ENCAP * REALHOST %s", use_id(source_p), source_p->orighost); - sendto_server(client_p, NULL, NOCAPS, CAP_TS6, ":%s ENCAP * REALHOST %s", - source_p->name, source_p->orighost); } + if (!EmptyString(source_p->user->suser)) { sendto_server(client_p, NULL, CAP_TS6, use_euid ? CAP_EUID : NOCAPS, ":%s ENCAP * LOGIN %s", use_id(source_p), source_p->user->suser); - sendto_server(client_p, NULL, NOCAPS, CAP_TS6, ":%s ENCAP * LOGIN %s", - source_p->name, source_p->user->suser); } if(MyConnect(source_p) && source_p->localClient->passwd)