diff options
| author | Luke Bratch <luke@bratch.co.uk> | 2019-12-23 11:05:25 +0000 | 
|---|---|---|
| committer | Luke Bratch <luke@bratch.co.uk> | 2019-12-23 11:05:25 +0000 | 
| commit | 886629c16b9a24099f0e9cce5a5c92b3c901685b (patch) | |
| tree | b9b349897f635d97d1644c99a896d2ee720cdf8b | |
| parent | 0883de2c491a8c79aec13d25bab429aea4362a10 (diff) | |
Add BLABOUNCER VERSION command and change version string to have -git suffix between releases.
| -rw-r--r-- | README | 1 | ||||
| -rw-r--r-- | TODO | 4 | ||||
| -rw-r--r-- | functions.h | 2 | ||||
| -rw-r--r-- | message.c | 10 | 
4 files changed, 14 insertions, 3 deletions
@@ -48,6 +48,7 @@ Once connected to blabouncer with an IRC client, you can use the following speci  "BLABOUNCER REHASH" (To reload settings from the configuration file, see above for details.)  "BLABOUNCER CLIENTCODE [clientcode]" (To set an identifier for the current client for auto replaying just  what this client has missed.) +"BLABOUNCER VERSION" (To show the current blabouncer version.)  Blabouncer commands are all prefixed with BLABOUNCER which you can usually send using "/QUOTE BLABOUNCER". @@ -19,8 +19,8 @@ When blabouncer reconnects to a server, clients (at least XChat) get stuck with  [13:17:20]* PONG LAG1574033040377501  In channels with no nicks. -Add BLABOUNCER VERSION. -  Sometimes replaymode = "lastspoke" will replay the last message you sent if you spoke last and sometimes it doesn't - change to always include your last message?  Can memory usage be reduced further?  (e.g. better channel struct management) + +Ability to load new certificate whilst running. diff --git a/functions.h b/functions.h index 49417e8..643328f 100644 --- a/functions.h +++ b/functions.h @@ -55,7 +55,7 @@  #define MAXTOKENS 100 // For strsep string splitting -#define VERSION "0.2" // Blabouncer version +#define VERSION "0.2-git" // Blabouncer version  // Write debug string to file.  // Debug level is provided by level, set to one of DEBUG_CRIT, DEBUG_SOME or DEBUG_FULL. @@ -966,6 +966,8 @@ int processclientmessage(SSL *server_ssl, char *str, struct client *clients, int      sendtoclient(sourcefd, outgoingmsg, clients, settings, 0);      snprintf(outgoingmsg, MAXDATASIZE, "NOTICE %s :\"BLABOUNCER QUIT [quit message]\" (To quit blabouncer, optionally sending [quit message] to the server.)", ircdstate->ircnick);      sendtoclient(sourcefd, outgoingmsg, clients, settings, 0); +    snprintf(outgoingmsg, MAXDATASIZE, "NOTICE %s :\"BLABOUNCER VERSION\" (To show the current blabouncer version.)", ircdstate->ircnick); +    sendtoclient(sourcefd, outgoingmsg, clients, settings, 0);      // Get the channel count so we can iterate over all channels.      int channelcount = getchannelcount(channels, ircdstate->maxchannelcount); @@ -1426,6 +1428,12 @@ int processclientmessage(SSL *server_ssl, char *str, struct client *clients, int        }        return 1; +    // VERSION received, send current blabouncer version +    } else if (strncasecmp(tokens[1], "VERSION", strlen("VERSION")) == 0) { +      debugprint(DEBUG_SOME, "Client BLABOUNCER VERSION found and it is: %s with length %zd!\n", tokens[1], strlen(tokens[1])); +      snprintf(outgoingmsg, MAXDATASIZE, "NOTICE %s :This is blabouncer version %s!", ircdstate->ircnick, VERSION); +      sendtoclient(sourcefd, outgoingmsg, clients, settings, 0); +      return 1;      // Unrecognised BLABOUNCER command received (or a BLABOUNCER HELP command), send some help instructions      } else {        // Debug and NOTICE an unrecognised command error unless the command was "HELP" @@ -1442,6 +1450,8 @@ int processclientmessage(SSL *server_ssl, char *str, struct client *clients, int        sendtoclient(sourcefd, outgoingmsg, clients, settings, 0);        snprintf(outgoingmsg, MAXDATASIZE, "NOTICE %s :\"BLABOUNCER QUIT [quit message]\" (To quit blabouncer, optionally sending [quit message] to the server.)", ircdstate->ircnick);        sendtoclient(sourcefd, outgoingmsg, clients, settings, 0); +      snprintf(outgoingmsg, MAXDATASIZE, "NOTICE %s :\"BLABOUNCER VERSION\" (To show the current blabouncer version.)", ircdstate->ircnick); +      sendtoclient(sourcefd, outgoingmsg, clients, settings, 0);        return 1;      }    }  | 
