summaryrefslogtreecommitdiff
path: root/message.c
diff options
context:
space:
mode:
authorLuke Bratch <luke@bratch.co.uk>2019-06-16 21:16:29 +0100
committerLuke Bratch <luke@bratch.co.uk>2019-06-16 21:16:29 +0100
commit67fd69854489a088bc8d90702ba37cecccd6f169 (patch)
treeac0efe967e433d725cab51b6fe93aa685c928950 /message.c
parenta31e7b13b3cef0872be5922a568633d74dd408d2 (diff)
Load all settings from configuration file at startup instead of reading it for certain settings (password/nick/nick2/nick3).
Diffstat (limited to 'message.c')
-rw-r--r--message.c28
1 files changed, 9 insertions, 19 deletions
diff --git a/message.c b/message.c
index 1c58665..0137fd4 100644
--- a/message.c
+++ b/message.c
@@ -627,43 +627,33 @@ int processservermessage(SSL *server_ssl, char *str, struct client *clients, int
debugprint(DEBUG_SOME, "Server 432 (ERR_ERRONEUSNICKNAME) or 433 (ERR_NICKNAMEINUSE) found and it is: %s with length %zd! Trying another nick...\n",
tokens[1], strlen(tokens[1]));
- // Try to get nick2 and nick3 from the configuration file
- char nick2[MAXNICKLENGTH];
- char nick3[MAXNICKLENGTH];
- if (!getconfstr("nick2", settings->conffile, nick2)) {
- nick2[0] = '\0';
- }
- if (!getconfstr("nick3", settings->conffile, nick3)) {
- nick3[0] = '\0';
- }
-
// Do we have both a nick2 and a nick3? (And not tried autonick yet.)
- if (nick2[0] && nick3[0] && !ircdstate->autonicknum) {
+ if (settings->ircnick2[0] && settings->ircnick3[0] && !ircdstate->autonicknum) {
// Has nick3 already been tried?
- if (strncmp(ircdstate->ircnick, nick3, strlen(settings->ircnick)) == 0) {
+ if (strncmp(ircdstate->ircnick, settings->ircnick3, strlen(settings->ircnick)) == 0) {
// Then try autonick
tryautonick(ircdstate);
// Has nick2 already been tried?
- } else if (strncmp(ircdstate->ircnick, nick2, strlen(settings->ircnick)) == 0) {
+ } else if (strncmp(ircdstate->ircnick, settings->ircnick2, strlen(settings->ircnick)) == 0) {
// Then try nick3
debugprint(DEBUG_SOME, "Trying nick3, nick2 was already tried.\n");
- strcpy(ircdstate->ircnick, nick3);
+ strcpy(ircdstate->ircnick, settings->ircnick3);
// Have neither been tried?
} else {
// Then try nick2
debugprint(DEBUG_SOME, "Trying nick2, nick3 is also configured.\n");
- strcpy(ircdstate->ircnick, nick2);
+ strcpy(ircdstate->ircnick, settings->ircnick2);
}
// Do we only have a nick2? (And not tried autonick yet.)
- } else if (nick2[0] && !ircdstate->autonicknum) {
+ } else if (settings->ircnick2[0] && !ircdstate->autonicknum) {
// Has it already been tried?
- if (strncmp(ircdstate->ircnick, nick2, strlen(settings->ircnick)) == 0) {
+ if (strncmp(ircdstate->ircnick, settings->ircnick2, strlen(settings->ircnick)) == 0) {
// Then try autonick
tryautonick(ircdstate);
} else {
// Then try it
debugprint(DEBUG_SOME, "Trying nick2, nick3 is not configured.\n");
- strcpy(ircdstate->ircnick, nick2);
+ strcpy(ircdstate->ircnick, settings->ircnick2);
}
// Do we have neither? (Or have already started autonick.)
} else {
@@ -740,7 +730,7 @@ int processclientmessage(SSL *server_ssl, char *str, struct client *clients, int
struct channel *channels, struct settings *settings, char tokens[MAXTOKENS][MAXDATASIZE], int counter) {
// PASS received? User is trying to log in, check their password.
if (strncasecmp(tokens[0], "PASS", strlen(tokens[0])) == 0) {
- if (checkpassword(tokens[1], settings->conffile)) {
+ if (checkpassword(tokens[1], settings)) {
debugprint(DEBUG_FULL, "Password accepted! Setting fd %d to authenticated.\n", sourcefd);
// Find the client in the clients array and set them as authenticated
for (int i = 0; i < MAXCLIENTS; i++) {