From 11f941bc4c57af40566616bae1e0aca079493356 Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Fri, 15 Nov 2019 00:53:46 -0500 Subject: Request NAMES on sync by default This inverts the meaning of -N! --- bounce.c | 4 ++-- bounce.h | 2 +- pounce.1 | 11 ++++++----- state.c | 3 ++- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/bounce.c b/bounce.c index 1587d81..908a1cb 100644 --- a/bounce.c +++ b/bounce.c @@ -237,7 +237,7 @@ int main(int argc, char *argv[]) { { "cert", required_argument, NULL, 'C' }, { "bind-host", required_argument, NULL, 'H' }, { "priv", required_argument, NULL, 'K' }, - { "names", no_argument, NULL, 'N' }, + { "no-names", no_argument, NULL, 'N' }, { "bind-port", required_argument, NULL, 'P' }, { "quit", required_argument, NULL, 'Q' }, { "bind-path", required_argument, NULL, 'U' }, @@ -267,7 +267,7 @@ int main(int argc, char *argv[]) { break; case 'C': strlcpy(certPath, optarg, sizeof(certPath)); break; case 'H': bindHost = optarg; break; case 'K': strlcpy(privPath, optarg, sizeof(privPath)); - break; case 'N': stateJoinNames = true; + break; case 'N': stateNoNames = true; break; case 'P': bindPort = optarg; break; case 'Q': quit = optarg; break; case 'U': strlcpy(bindPath, optarg, sizeof(bindPath)); diff --git a/bounce.h b/bounce.h index 5afce01..0e12aa5 100644 --- a/bounce.h +++ b/bounce.h @@ -146,7 +146,7 @@ void clientFormat(struct Client *client, const char *format, ...) size_t clientDiff(const struct Client *client); void clientConsume(struct Client *client); -bool stateJoinNames; +bool stateNoNames; enum Cap stateCaps; void stateLogin( const char *pass, bool sasl, const char *plain, diff --git a/pounce.1 b/pounce.1 index 9a004c4..61b7658 100644 --- a/pounce.1 +++ b/pounce.1 @@ -1,4 +1,4 @@ -.Dd November 14, 2019 +.Dd November 15, 2019 .Dt POUNCE 1 .Os . @@ -98,12 +98,13 @@ path for the set by .Fl H . . -.It Fl N , Cm names -Request +.It Fl N , Cm no-names +Do not request .Ql NAMES for each channel when a client connects. -This allows clients to populate user lists, -but may just cause noise for some. +This avoids already connected clients +receiving unsolicited responses +but prevents new clients from populating user lists. . .It Fl P Ar port , Cm bind-port = Ar port Bind to diff --git a/state.c b/state.c index 4103fff..4d3aa1c 100644 --- a/state.c +++ b/state.c @@ -393,6 +393,7 @@ void stateSync(struct Client *client) { ORIGIN, self.nick, chan->name, chan->topic ); } - if (stateJoinNames) serverFormat("NAMES %s\r\n", chan->name); + if (stateNoNames) continue; + serverFormat("NAMES %s\r\n", chan->name); } } -- cgit 1.4.1