projects
/
tinc
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
dcec713
)
Don't set $INTERFACE automatically, don't quit on EINTR/EAGAIN.
author
Guus Sliepen
<guus@tinc-vpn.org>
Sat, 17 Jul 2004 12:04:30 +0000
(12:04 +0000)
committer
Guus Sliepen
<guus@tinc-vpn.org>
Sat, 17 Jul 2004 12:04:30 +0000
(12:04 +0000)
src/uml_socket/device.c
patch
|
blob
|
history
diff --git
a/src/uml_socket/device.c
b/src/uml_socket/device.c
index
08339d8
..
f634411
100644
(file)
--- a/
src/uml_socket/device.c
+++ b/
src/uml_socket/device.c
@@
-39,7
+39,7
@@
static int data_fd = -1;
static int write_fd = -1;
static int state = 0;
char *device;
static int write_fd = -1;
static int state = 0;
char *device;
-char *iface;
+char *iface
= NULL
;
char *device_info;
extern char *identname;
char *device_info;
extern char *identname;
@@
-75,8
+75,7
@@
bool setup_device(void)
if(!get_config_string(lookup_config(config_tree, "Device"), &device))
asprintf(&device, LOCALSTATEDIR "/run/%s.umlsocket", identname);
if(!get_config_string(lookup_config(config_tree, "Device"), &device))
asprintf(&device, LOCALSTATEDIR "/run/%s.umlsocket", identname);
- if(!get_config_string(lookup_config(config_tree, "Interface"), &iface))
- iface = device;
+ get_config_string(lookup_config(config_tree, "Interface"), &iface);
device_info = _("UML network socket");
device_info = _("UML network socket");
@@
-264,16
+263,18
@@
bool write_packet(vpn_packet_t *packet)
if(state != 2) {
ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Dropping packet of %d bytes to %s: not connected to UML yet"),
packet->len, device_info);
if(state != 2) {
ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Dropping packet of %d bytes to %s: not connected to UML yet"),
packet->len, device_info);
- return
tru
e;
+ return
fals
e;
}
ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Writing packet of %d bytes to %s"),
packet->len, device_info);
}
ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Writing packet of %d bytes to %s"),
packet->len, device_info);
- if(sendto(write_fd, packet->data, packet->len, 0, &request.sock, sizeof request.sock) < 0) {
- logger(LOG_ERR, _("Can't write to %s %s: %s"), device_info, device,
- strerror(errno));
- running = false;
+ if(write(write_fd, packet->data, packet->len) < 0) {
+ if(errno != EINTR && errno != EAGAIN) {
+ logger(LOG_ERR, _("Can't write to %s %s: %s"), device_info, device, strerror(errno));
+ running = false;
+ }
+
return false;
}
return false;
}