summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Bratch <luke@bratch.co.uk>2022-01-03 17:29:58 +0000
committerLuke Bratch <luke@bratch.co.uk>2022-01-03 17:29:58 +0000
commitc1799538e9bba02ac188c262f051e9bae6e612f8 (patch)
tree3ed277bf697f24d0cf72ffbb06134de328ab9ee5
parentd9a27856ab4e3c365ff9755acc6a147c0ae0339d (diff)
Increase maximum auto join channels from 10 to 40, correctly check for maximum configuration array length, correct configuration array debug output text.
-rw-r--r--TODO10
-rw-r--r--config.c4
-rw-r--r--structures.h2
3 files changed, 12 insertions, 4 deletions
diff --git a/TODO b/TODO
index cc6f351..4240d87 100644
--- a/TODO
+++ b/TODO
@@ -14,6 +14,14 @@ Can memory usage be reduced further? (e.g. better channel struct management)
Ability to load new certificate whilst running.
-Are any other strncmps incorrect (i.e. just checking a substring)?
+Remaining strncmps are safe but could do with length comparisons too. "Our initial MODE" comparison may need to be more complex.
+
+"/topic" response goes to all clients.
+
+Connection/login logging - is debug.log sufficient?
+
+Do connectcommands happen on reconnect?
+
+Are "no such nick/channel" messages as shown in clients correct compared to non-(bla)bouncer clients?
Crash when requesting 30 hour replay.
diff --git a/config.c b/config.c
index 3fa28a7..483f88e 100644
--- a/config.c
+++ b/config.c
@@ -198,7 +198,7 @@ int getconfarr(char *confname, char *filename, char dest[MAXCONFARR][MAXDATASIZE
// If we've on the closing brace line, then we're done
if (line[i] == '}') {
for (int i = 0; i < valuecount; i++) {
- debugprint(DEBUG_FULL, "getconfstr(): returning '%s'.\n", dest[i]);
+ debugprint(DEBUG_FULL, "getconfarr(): returning '%s'.\n", dest[i]);
}
// Close fine and return success (or 0 if no values found in an otherwise valid array)
@@ -235,7 +235,7 @@ int getconfarr(char *confname, char *filename, char dest[MAXCONFARR][MAXDATASIZE
}
// If we've found too many values, return an error
- if (valuecount > MAXCONFARR) {
+ if (valuecount > MAXCONFARR - 1) {
snprintf(dest[0], MAXDATASIZE, "Too many elements defined for configuration array '%s', maximum number is '%d'.\n", confname, MAXCONFARR);
fclose(fp);
return -1;
diff --git a/structures.h b/structures.h
index 9e5f575..d070638 100644
--- a/structures.h
+++ b/structures.h
@@ -29,7 +29,7 @@
#define MAXPORTLEN 6 // Up to 65535, so 5 characters + 1 for null
#define CLIENTCODELEN 17 // Max length of a client code + 1 for null
#define MAXCLIENTCODES 64 // Max number of client codes to track
-#define MAXCONFARR 10 // Max number of entries that a configuration array can have
+#define MAXCONFARR 40 // Max number of entries that a configuration array can have
#define MAXCHANNICKS 8192 // Maximum number of nicks to track per channel
struct ircdstate {