Several commands now send the fqdn from the servers setup to the neighbours
This commit is contained in:
parent
8a63b479e4
commit
768ff9c0cb
@ -16,6 +16,8 @@ v0.83.9 23-Jan-2006
|
|||||||
the chatserver setup.
|
the chatserver setup.
|
||||||
Added some code to trap mbtask crashing during chat and start
|
Added some code to trap mbtask crashing during chat and start
|
||||||
mail processing.
|
mail processing.
|
||||||
|
Several commands now send the server address from the servers
|
||||||
|
setup to the neighbours.
|
||||||
|
|
||||||
|
|
||||||
v0.83.8 22-Jan-2006 - 23-Jan-2006
|
v0.83.8 22-Jan-2006 - 23-Jan-2006
|
||||||
|
@ -224,7 +224,7 @@ int join(pid_t pid, char *channel, int sysop)
|
|||||||
* The sysop channel is private to the system, no broadcast
|
* The sysop channel is private to the system, no broadcast
|
||||||
*/
|
*/
|
||||||
if (strcasecmp(channel, "#sysop"))
|
if (strcasecmp(channel, "#sysop"))
|
||||||
send_all("JOIN %s@%s %s\r\n", tmpu->nick, CFG.myfqdn, channel);
|
send_at((char *)"JOIN", tmpu->nick, channel);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -261,7 +261,7 @@ int join(pid_t pid, char *channel, int sysop)
|
|||||||
chat_msg(channel, NULL, buf);
|
chat_msg(channel, NULL, buf);
|
||||||
chat_dump();
|
chat_dump();
|
||||||
if (strcasecmp(channel, "#sysop"))
|
if (strcasecmp(channel, "#sysop"))
|
||||||
send_all("JOIN %s@%s %s\r\n", tmpu->nick, CFG.myfqdn, channel);
|
send_at((char *)"JOIN", tmpu->nick, channel);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@ -306,10 +306,12 @@ int part(pid_t pid, char *reason)
|
|||||||
snprintf(buf, 81, "%s has left channel %s, %d users left", tmpu->nick, tmp->name, tmp->users);
|
snprintf(buf, 81, "%s has left channel %s, %d users left", tmpu->nick, tmp->name, tmp->users);
|
||||||
chat_msg(tmpu->channel, NULL, buf);
|
chat_msg(tmpu->channel, NULL, buf);
|
||||||
if (strcasecmp(tmp->name, (char *)"#sysop")) {
|
if (strcasecmp(tmp->name, (char *)"#sysop")) {
|
||||||
if (reason && strlen(reason))
|
if (reason && strlen(reason)) {
|
||||||
send_all("PART %s@%s %s %s\r\n", tmpu->nick, CFG.myfqdn, tmp->name, reason);
|
sprintf(buf, "%s %s", tmp->name, reason);
|
||||||
else
|
send_at((char *)"PART", tmpu->nick, buf);
|
||||||
send_all("PART %s@%s %s\r\n", tmpu->nick, CFG.myfqdn, tmp->name);
|
} else {
|
||||||
|
send_at((char *)"PART", tmpu->nick, tmp->name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -423,7 +425,7 @@ char *chat_connect(char *data)
|
|||||||
sys = atoi(strtok(NULL, ";")); /* Sysop flag */
|
sys = atoi(strtok(NULL, ";")); /* Sysop flag */
|
||||||
|
|
||||||
add_user(&users, CFG.myfqdn, nick, realname);
|
add_user(&users, CFG.myfqdn, nick, realname);
|
||||||
send_all("USER %s@%s %s\r\n", nick, CFG.myfqdn, realname);
|
send_at((char *)"USER", nick, realname);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Now search the added entry to update the data
|
* Now search the added entry to update the data
|
||||||
@ -486,7 +488,7 @@ char *chat_close(char *data)
|
|||||||
/*
|
/*
|
||||||
* Remove from IBC network
|
* Remove from IBC network
|
||||||
*/
|
*/
|
||||||
send_all("QUIT %s@%s Leaving chat\r\n", tmpu->name, CFG.myfqdn);
|
send_at((char *)"QUIT", tmpu->name, (char *)"Leaving chat");
|
||||||
del_user(&users, CFG.myfqdn, tmpu->name);
|
del_user(&users, CFG.myfqdn, tmpu->name);
|
||||||
Syslog('c', "Closing chat for pid %s", pid);
|
Syslog('c', "Closing chat for pid %s", pid);
|
||||||
snprintf(buf, 81, "100:0;");
|
snprintf(buf, 81, "100:0;");
|
||||||
@ -625,7 +627,7 @@ char *chat_put(char *data)
|
|||||||
strncpy(tmpu->nick, cmd, 9);
|
strncpy(tmpu->nick, cmd, 9);
|
||||||
snprintf(buf, 200, "Nick set to \"%s\"", cmd);
|
snprintf(buf, 200, "Nick set to \"%s\"", cmd);
|
||||||
system_msg(tmpu->pid, buf);
|
system_msg(tmpu->pid, buf);
|
||||||
send_all("NICK %s %s %s %s\r\n", tmpu->nick, tmpu->name, CFG.myfqdn, tmpu->realname);
|
send_nick(tmpu->nick, tmpu->name, tmpu->realname);
|
||||||
usrchg = TRUE;
|
usrchg = TRUE;
|
||||||
chat_dump();
|
chat_dump();
|
||||||
goto ack;
|
goto ack;
|
||||||
|
@ -631,6 +631,39 @@ void send_all(const char *format, ...)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Send command message to each connected neighbour server and use the correct own fqdn.
|
||||||
|
*/
|
||||||
|
void send_at(char *cmd, char *nick, char *param)
|
||||||
|
{
|
||||||
|
ncs_list *tnsl;
|
||||||
|
char buf[512];
|
||||||
|
|
||||||
|
for (tnsl = ncsl; tnsl; tnsl = tnsl->next) {
|
||||||
|
if (tnsl->state == NCS_CONNECT) {
|
||||||
|
sprintf(buf, "%s %s@%s %s\r\n", cmd, nick, tnsl->myname, param);
|
||||||
|
send_msg(tnsl, buf);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void send_nick(char *nick, char *name, char *realname)
|
||||||
|
{
|
||||||
|
ncs_list *tnsl;
|
||||||
|
char buf[512];
|
||||||
|
|
||||||
|
for (tnsl = ncsl; tnsl; tnsl = tnsl->next) {
|
||||||
|
if (tnsl->state == NCS_CONNECT) {
|
||||||
|
sprintf(buf, "NICK %s %s %s %s\r\n", nick, name, tnsl->myname, realname);
|
||||||
|
send_msg(tnsl, buf);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Broadcast a message to all servers except the originating server
|
* Broadcast a message to all servers except the originating server
|
||||||
*/
|
*/
|
||||||
|
@ -116,6 +116,8 @@ void del_channel(chn_list **, char *);
|
|||||||
int do_command(char *, char *, char *);
|
int do_command(char *, char *, char *);
|
||||||
|
|
||||||
void send_all(const char *, ...);
|
void send_all(const char *, ...);
|
||||||
|
void send_at(char *, char *, char *);
|
||||||
|
void send_nick(char *, char *, char *);
|
||||||
void *ibc_thread(void *);
|
void *ibc_thread(void *);
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user