Avoid connecting to another node twice, and check name of outgoing connections.
This commit is contained in:
parent
6d333ad680
commit
ffb88ff641
1 changed files with 18 additions and 1 deletions
19
src/net.c
19
src/net.c
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: net.c,v 1.35.4.144 2001/10/31 12:50:24 guus Exp $
|
||||
$Id: net.c,v 1.35.4.145 2001/10/31 20:22:52 guus Exp $
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
@ -439,8 +439,19 @@ cp
|
|||
int setup_outgoing_connection(char *name)
|
||||
{
|
||||
connection_t *c;
|
||||
node_t *n;
|
||||
struct hostent *h;
|
||||
cp
|
||||
n = lookup_node(name);
|
||||
|
||||
if(n)
|
||||
if(n->connection)
|
||||
{
|
||||
if(debug_lvl >= DEBUG_CONNECTIONS)
|
||||
syslog(LOG_INFO, _("Already connected to %s"), name);
|
||||
return 0;
|
||||
}
|
||||
|
||||
c = new_connection();
|
||||
c->name = xstrdup(name);
|
||||
|
||||
|
@ -1096,6 +1107,12 @@ cp
|
|||
get_config_string(cfg, &name);
|
||||
cfg = lookup_config_next(config_tree, cfg); /* Next time skip to next ConnectTo line */
|
||||
|
||||
if(check_id(name))
|
||||
{
|
||||
syslog(LOG_ERR, _("Invalid name for outgoing connection in %s line %d"), cfg->file, cfg->line);
|
||||
continue;
|
||||
}
|
||||
|
||||
if(setup_outgoing_connection(name)) /* function returns 0 when there are no problems */
|
||||
retry = 1;
|
||||
|
||||
|
|
Loading…
Reference in a new issue