projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
If LOCALSTATEDIR is inaccessible, store the pid and socket files in the configuration...
[tinc]
/
src
/
netutl.c
diff --git
a/src/netutl.c
b/src/netutl.c
index
6683469
..
2eebb64
100644
(file)
--- a/
src/netutl.c
+++ b/
src/netutl.c
@@
-1,7
+1,7
@@
/*
netutl.c -- some supporting network utility code
Copyright (C) 1998-2005 Ivo Timmermans
/*
netutl.c -- some supporting network utility code
Copyright (C) 1998-2005 Ivo Timmermans
- 2000-201
2
Guus Sliepen <guus@tinc-vpn.org>
+ 2000-201
3
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
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
@@
-39,6
+39,9
@@
struct addrinfo *str2addrinfo(const char *address, const char *service, int sock
hint.ai_family = addressfamily;
hint.ai_socktype = socktype;
hint.ai_family = addressfamily;
hint.ai_socktype = socktype;
+#if HAVE_DECL_RES_INIT
+ res_init();
+#endif
err = getaddrinfo(address, service, &hint, &ai);
if(err) {
err = getaddrinfo(address, service, &hint, &ai);
if(err) {
@@
-80,7
+83,13
@@
void sockaddr2str(const sockaddr_t *sa, char **addrstr, char **portstr) {
char *scopeid;
int err;
char *scopeid;
int err;
- if(sa->sa.sa_family == AF_UNKNOWN) {
+ if(sa->sa.sa_family == AF_UNSPEC) {
+ if(addrstr)
+ *addrstr = xstrdup("unspec");
+ if(portstr)
+ *portstr = xstrdup("unspec");
+ return;
+ } else if(sa->sa.sa_family == AF_UNKNOWN) {
if(addrstr)
*addrstr = xstrdup(sa->unknown.address);
if(portstr)
if(addrstr)
*addrstr = xstrdup(sa->unknown.address);
if(portstr)
@@
-112,7
+121,10
@@
char *sockaddr2hostname(const sockaddr_t *sa) {
char port[NI_MAXSERV] = "unknown";
int err;
char port[NI_MAXSERV] = "unknown";
int err;
- if(sa->sa.sa_family == AF_UNKNOWN) {
+ if(sa->sa.sa_family == AF_UNSPEC) {
+ xasprintf(&str, "unspec port unspec");
+ return str;
+ } else if(sa->sa.sa_family == AF_UNKNOWN) {
xasprintf(&str, "%s port %s", sa->unknown.address, sa->unknown.port);
return str;
}
xasprintf(&str, "%s port %s", sa->unknown.address, sa->unknown.port);
return str;
}