summaryrefslogtreecommitdiff
path: root/functions.c
diff options
context:
space:
mode:
Diffstat (limited to 'functions.c')
-rw-r--r--functions.c50
1 files changed, 25 insertions, 25 deletions
diff --git a/functions.c b/functions.c
index c23366d..93fd52b 100644
--- a/functions.c
+++ b/functions.c
@@ -521,12 +521,12 @@ int sendtoserver(SSL *server_ssl, char *strsrc, int str_len, int clientfd, struc
// it from the array of clients.
// Also set its authentication and registration statuses to 0.
// Also set the pending statuses to 0
-int disconnectclient(int fd, struct client *clients, struct ircdstrings *ircdstrings, struct settings *settings) {
+int disconnectclient(int fd, struct client *clients, struct ircdstate *ircdstate, struct settings *settings) {
debugprint(DEBUG_SOME, "disconnectclient(): disconnecting client fd '%d'\n", fd);
// Alert other clients about the disconnection (don't send yet, we haven't removed from the clients array yet)
char alertmsg[MAXDATASIZE];
- if (!snprintf(alertmsg, MAXDATASIZE, "NOTICE %s :blabouncer: client with fd %d has disconnected.", ircdstrings->ircnick, fd)) {
+ if (!snprintf(alertmsg, MAXDATASIZE, "NOTICE %s :blabouncer: client with fd %d has disconnected.", ircdstate->ircnick, fd)) {
fprintf(stderr, "Error while preparing authentication failure NOTICE!\n");
debugprint(DEBUG_CRIT, "Error while preparing authentication failure NOTICE!\n");
alertmsg[0] = '\0';
@@ -738,7 +738,7 @@ int channelindex(struct channel *channels, char *name) {
// 'sourcefd' is the client to send to, and replayseconds is the number of
// seconds of replay to replay.
// Returns 1 for success or 0 for failure.
-int doreplay(int sourcefd, int replayseconds, struct client *clients, struct settings *settings, struct ircdstrings *ircdstrings, struct channel *channels) {
+int doreplay(int sourcefd, int replayseconds, struct client *clients, struct settings *settings, struct ircdstate *ircdstate, struct channel *channels) {
char outgoingmsg[MAXDATASIZE];
// Figure out how many lines to replay
@@ -749,13 +749,13 @@ int doreplay(int sourcefd, int replayseconds, struct client *clients, struct set
debugprint(DEBUG_CRIT, "Error getting number of replay lines.\n");
return 0;
} else if (numlines == 0) {
- snprintf(outgoingmsg, MAXDATASIZE, "NOTICE %s :0 replay log lines found in the time requested, nothing to send.", ircdstrings->ircnick);
+ snprintf(outgoingmsg, MAXDATASIZE, "NOTICE %s :0 replay log lines found in the time requested, nothing to send.", ircdstate->ircnick);
sendtoclient(sourcefd, outgoingmsg, clients, settings, 0);
return 1;
}
// Announce the start
- snprintf(outgoingmsg, MAXDATASIZE, "NOTICE %s :Starting log replay....", ircdstrings->ircnick);
+ snprintf(outgoingmsg, MAXDATASIZE, "NOTICE %s :Starting log replay....", ircdstate->ircnick);
sendtoclient(sourcefd, outgoingmsg, clients, settings, 0);
// Replay those lines!
@@ -802,7 +802,7 @@ int doreplay(int sourcefd, int replayseconds, struct client *clients, struct set
extractnickfromprefix(tokens[0]);
// Check if we're currently in this channel or if the log line is from us
- if (!inchannel(channels, tokens[2] + offset) || strncmp(tokens[0], ircdstrings->ircnick, strlen(tokens[0])) == 0) {
+ if (!inchannel(channels, tokens[2] + offset) || strncmp(tokens[0], ircdstate->ircnick, strlen(tokens[0])) == 0) {
debugprint(DEBUG_FULL, "Not sending '%s' replay line '%s'.\n", tokens[1], outgoingmsg);
free(strcopyPtr);
continue;
@@ -816,7 +816,7 @@ int doreplay(int sourcefd, int replayseconds, struct client *clients, struct set
}
// Announce the end
- snprintf(outgoingmsg, MAXDATASIZE, "NOTICE %s :Log replay complete.", ircdstrings->ircnick);
+ snprintf(outgoingmsg, MAXDATASIZE, "NOTICE %s :Log replay complete.", ircdstate->ircnick);
sendtoclient(sourcefd, outgoingmsg, clients, settings, 0);
return 1;
@@ -888,56 +888,56 @@ int joinautochannels(SSL *server_ssl, struct client *clients, struct settings *s
// Try to make a new nick if no configured are available or liked by the server
// Do this by sticking a number on the end of the current nick and trying numbers
// 1 through to 9.
-void tryautonick(struct ircdstrings *ircdstrings) {
+void tryautonick(struct ircdstate *ircdstate) {
// Increment the attempts counter
- ircdstrings->autonicknum++;
+ ircdstate->autonicknum++;
- if (ircdstrings->autonicknum == 10) {
+ if (ircdstate->autonicknum == 10) {
// We've already tried 9 nicks and failed, give up
printf("tryautonick(): Tried 9 automatic nicks and the server didn't like any, giving up.\n");
debugprint(DEBUG_CRIT, "tryautonick(): Tried 9 automatic nicks and the server didn't like any, giving up.\n");
exit(1);
}
- int oldlen = strlen(ircdstrings->ircnick);
+ int oldlen = strlen(ircdstate->ircnick);
// If we've already started trying autonick, just replace the last character a the new number
- if (ircdstrings->autonicknum > 1) {
- debugprint(DEBUG_FULL, "tryautonick(): already started autonick, starting with '%s' length '%ld'.\n", ircdstrings->ircnick, strlen(ircdstrings->ircnick));
- ircdstrings->ircnick[oldlen - 1] = ircdstrings->autonicknum + '0';
+ if (ircdstate->autonicknum > 1) {
+ debugprint(DEBUG_FULL, "tryautonick(): already started autonick, starting with '%s' length '%ld'.\n", ircdstate->ircnick, strlen(ircdstate->ircnick));
+ ircdstate->ircnick[oldlen - 1] = ircdstate->autonicknum + '0';
// And null terminate
- ircdstrings->ircnick[oldlen] = '\0';
+ ircdstate->ircnick[oldlen] = '\0';
// If the nick is longer than or equal to the RFC 1459 max nick
// length then try sticking the number at the end
} else if (oldlen >= MAXRFCNICKLEN) {
- debugprint(DEBUG_FULL, "tryautonick(): long old nick, starting with '%s' length '%ld'.\n", ircdstrings->ircnick, strlen(ircdstrings->ircnick));
+ debugprint(DEBUG_FULL, "tryautonick(): long old nick, starting with '%s' length '%ld'.\n", ircdstate->ircnick, strlen(ircdstate->ircnick));
// (+ '0' to make char from int)
- ircdstrings->ircnick[MAXRFCNICKLEN] = ircdstrings->autonicknum + '0';
+ ircdstate->ircnick[MAXRFCNICKLEN] = ircdstate->autonicknum + '0';
// And null terminate
- ircdstrings->ircnick[MAXRFCNICKLEN + 1] = '\0';
+ ircdstate->ircnick[MAXRFCNICKLEN + 1] = '\0';
// Otherwise, just stick it on the end (+ '0' to make char from int)
} else {
- debugprint(DEBUG_FULL, "tryautonick(): short old nick, starting with '%s' length '%ld'.\n", ircdstrings->ircnick, strlen(ircdstrings->ircnick));
- ircdstrings->ircnick[oldlen] = ircdstrings->autonicknum + '0';
+ debugprint(DEBUG_FULL, "tryautonick(): short old nick, starting with '%s' length '%ld'.\n", ircdstate->ircnick, strlen(ircdstate->ircnick));
+ ircdstate->ircnick[oldlen] = ircdstate->autonicknum + '0';
// And null terminate
- ircdstrings->ircnick[oldlen + 1] = '\0';
+ ircdstate->ircnick[oldlen + 1] = '\0';
}
- debugprint(DEBUG_FULL, "tryautonick(): set irdstrings->ircnick to '%s'.\n", ircdstrings->ircnick);
+ debugprint(DEBUG_FULL, "tryautonick(): set irdstrings->ircnick to '%s'.\n", ircdstate->ircnick);
}
// Exit the program cleanly - tell clients, tell the server, then exit(0)
// Optional quit message string "quitmsg"
// "sourcefd" of 0 means the request didn't come from a client
-void cleanexit(SSL *server_ssl, struct client *clients, int sourcefd, struct ircdstrings *ircdstrings, struct settings *settings, char *quitmsg) {
+void cleanexit(SSL *server_ssl, struct client *clients, int sourcefd, struct ircdstate *ircdstate, struct settings *settings, char *quitmsg) {
char outgoingmsg[MAXDATASIZE];
// Tell clients and debug log
if (sourcefd) {
- snprintf(outgoingmsg, MAXDATASIZE, "NOTICE %s :Exiting on request from client with fd '%d', message '%s'.", ircdstrings->ircnick, sourcefd, quitmsg);
+ snprintf(outgoingmsg, MAXDATASIZE, "NOTICE %s :Exiting on request from client with fd '%d', message '%s'.", ircdstate->ircnick, sourcefd, quitmsg);
debugprint(DEBUG_CRIT, "Exiting on request from client with fd '%d', message '%s'.\n", sourcefd, quitmsg);
} else {
- snprintf(outgoingmsg, MAXDATASIZE, "NOTICE %s :Exiting on request (not from a client), message '%s'.", ircdstrings->ircnick, quitmsg);
+ snprintf(outgoingmsg, MAXDATASIZE, "NOTICE %s :Exiting on request (not from a client), message '%s'.", ircdstate->ircnick, quitmsg);
debugprint(DEBUG_CRIT, "Exiting on request (not from a client), message '%s'.\n", quitmsg);
}
sendtoallclients(clients, outgoingmsg, EXCEPT_NONE, settings);