/*
device.c -- Interaction with Windows tap driver in a MinGW environment
Copyright (C) 2002-2005 Ivo Timmermans,
- 2002-2006 Guus Sliepen <guus@tinc-vpn.org>
+ 2002-2007 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
sock = socket(ai->ai_family, SOCK_STREAM, IPPROTO_TCP);
- freeaddrinfo(ai);
-
if(sock < 0) {
logger(LOG_ERR, _("System call `%s' failed: %s"), "socket", strerror(errno));
+ freeaddrinfo(ai);
return -1;
}
if(connect(sock, ai->ai_addr, ai->ai_addrlen)) {
logger(LOG_ERR, _("System call `%s' failed: %s"), "connect", strerror(errno));
+ freeaddrinfo(ai);
return -1;
}
+ freeaddrinfo(ai);
+
logger(LOG_DEBUG, _("Tap reader running"));
/* Read from tap device and send to parent */
.ai_family = AF_UNSPEC,
.ai_socktype = SOCK_STREAM,
.ai_protocol = IPPROTO_TCP,
- .ai_flags = AI_PASSIVE,
+ .ai_flags = 0,
};
cp();