diff options
-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; } } |