Added router field
This commit is contained in:
parent
85aa855fa7
commit
3e33054f61
@ -69,7 +69,7 @@ static char *ncsstate[] = {
|
|||||||
void fill_ncslist(ncs_list **, char *, char *, char *);
|
void fill_ncslist(ncs_list **, char *, char *, char *);
|
||||||
void dump_ncslist(void);
|
void dump_ncslist(void);
|
||||||
void tidy_servers(srv_list **);
|
void tidy_servers(srv_list **);
|
||||||
void add_server(srv_list **, char *, int, char *, char *, char *);
|
void add_server(srv_list **, char *, int, char *, char *, char *, char *);
|
||||||
void del_server(srv_list **, char *);
|
void del_server(srv_list **, char *);
|
||||||
int send_msg(int, struct sockaddr_in, char *, char *);
|
int send_msg(int, struct sockaddr_in, char *, char *);
|
||||||
void broadcast(char *, char *);
|
void broadcast(char *, char *);
|
||||||
@ -134,10 +134,10 @@ void dump_ncslist(void)
|
|||||||
tmp->gotserver ? "yes":"no ", (int)tmp->action - (int)now);
|
tmp->gotserver ? "yes":"no ", (int)tmp->action - (int)now);
|
||||||
}
|
}
|
||||||
|
|
||||||
Syslog('r', "Server Hops Users Connect time");
|
Syslog('r', "Server Router Hops Users Connect time");
|
||||||
Syslog('r', "------------------------------ ----- ----- --------------------");
|
Syslog('r', "------------------------- ------------------------- ----- ----- --------------------");
|
||||||
for (srv = servers; srv; srv = srv->next) {
|
for (srv = servers; srv; srv = srv->next) {
|
||||||
Syslog('r', "%-30s %5d %5d %s", srv->server, srv->hops, srv->users, rfcdate(srv->connected));
|
Syslog('r', "%-30s %-30s %5d %5d %s", srv->server, srv->router, srv->hops, srv->users, rfcdate(srv->connected));
|
||||||
}
|
}
|
||||||
changed = FALSE;
|
changed = FALSE;
|
||||||
}
|
}
|
||||||
@ -157,7 +157,7 @@ void tidy_servers(srv_list ** fdp)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void add_server(srv_list **fdp, char *name, int hops, char *prod, char *vers, char *fullname)
|
void add_server(srv_list **fdp, char *name, int hops, char *prod, char *vers, char *fullname, char *router)
|
||||||
{
|
{
|
||||||
srv_list *tmp, *ta;
|
srv_list *tmp, *ta;
|
||||||
|
|
||||||
@ -166,6 +166,7 @@ void add_server(srv_list **fdp, char *name, int hops, char *prod, char *vers, ch
|
|||||||
memset(tmp, 0, sizeof(tmp));
|
memset(tmp, 0, sizeof(tmp));
|
||||||
tmp->next = NULL;
|
tmp->next = NULL;
|
||||||
strncpy(tmp->server, name, 63);
|
strncpy(tmp->server, name, 63);
|
||||||
|
strncpy(tmp->router, router, 63);
|
||||||
strncpy(tmp->prod, prod, 20);
|
strncpy(tmp->prod, prod, 20);
|
||||||
strncpy(tmp->vers, vers, 20);
|
strncpy(tmp->vers, vers, 20);
|
||||||
strncpy(tmp->fullname, fullname, 35);
|
strncpy(tmp->fullname, fullname, 35);
|
||||||
@ -295,7 +296,8 @@ void check_servers(void)
|
|||||||
/*
|
/*
|
||||||
* First add this server name to the servers database.
|
* First add this server name to the servers database.
|
||||||
*/
|
*/
|
||||||
add_server(&servers, ibcsrv.myname, 0, (char *)"mbsebbs", (char *)VERSION, CFG.bbs_name);
|
add_server(&servers, ibcsrv.myname, 0, (char *)"mbsebbs",
|
||||||
|
(char *)VERSION, CFG.bbs_name, (char *)"none");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -571,7 +573,7 @@ void command_server(char *hostname, char *parameters)
|
|||||||
send_msg(tnsl->socket, tnsl->servaddr_in, tnsl->server, csbuf);
|
send_msg(tnsl->socket, tnsl->servaddr_in, tnsl->server, csbuf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
add_server(&servers, tnsl->server, ihops, prod, vers, fullname);
|
add_server(&servers, tnsl->server, ihops, prod, vers, fullname, hostname);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Syslog('r', "IBC: collision with %s", tnsl->server);
|
Syslog('r', "IBC: collision with %s", tnsl->server);
|
||||||
@ -602,7 +604,7 @@ void command_server(char *hostname, char *parameters)
|
|||||||
send_msg(tnsl->socket, tnsl->servaddr_in, tnsl->server, csbuf);
|
send_msg(tnsl->socket, tnsl->servaddr_in, tnsl->server, csbuf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
add_server(&servers, tnsl->server, ihops, prod, vers, fullname);
|
add_server(&servers, tnsl->server, ihops, prod, vers, fullname, hostname);
|
||||||
changed = TRUE;
|
changed = TRUE;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -611,7 +613,7 @@ void command_server(char *hostname, char *parameters)
|
|||||||
/*
|
/*
|
||||||
* Got a message about a server that is not our neighbour.
|
* Got a message about a server that is not our neighbour.
|
||||||
*/
|
*/
|
||||||
add_server(&servers, name, ihops, prod, vers, fullname);
|
add_server(&servers, name, ihops, prod, vers, fullname, hostname);
|
||||||
broadcast(temp, hostname);
|
broadcast(temp, hostname);
|
||||||
changed = TRUE;
|
changed = TRUE;
|
||||||
return;
|
return;
|
||||||
|
@ -35,6 +35,7 @@ typedef struct _ncs_list {
|
|||||||
typedef struct _srv_list {
|
typedef struct _srv_list {
|
||||||
struct _srv_list *next;
|
struct _srv_list *next;
|
||||||
char server[64]; /* FQDN of the server */
|
char server[64]; /* FQDN of the server */
|
||||||
|
char router[64]; /* Route to this server */
|
||||||
int hops; /* Howmany hops away */
|
int hops; /* Howmany hops away */
|
||||||
time_t connected; /* Connection time */
|
time_t connected; /* Connection time */
|
||||||
char prod[21]; /* Product name */
|
char prod[21]; /* Product name */
|
||||||
|
Reference in New Issue
Block a user