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
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
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"
|
#include "config.h"
|
||||||
|
@ -439,8 +439,19 @@ cp
|
||||||
int setup_outgoing_connection(char *name)
|
int setup_outgoing_connection(char *name)
|
||||||
{
|
{
|
||||||
connection_t *c;
|
connection_t *c;
|
||||||
|
node_t *n;
|
||||||
struct hostent *h;
|
struct hostent *h;
|
||||||
cp
|
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 = new_connection();
|
||||||
c->name = xstrdup(name);
|
c->name = xstrdup(name);
|
||||||
|
|
||||||
|
@ -1096,6 +1107,12 @@ cp
|
||||||
get_config_string(cfg, &name);
|
get_config_string(cfg, &name);
|
||||||
cfg = lookup_config_next(config_tree, cfg); /* Next time skip to next ConnectTo line */
|
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 */
|
if(setup_outgoing_connection(name)) /* function returns 0 when there are no problems */
|
||||||
retry = 1;
|
retry = 1;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue