Convert Port to numeric form before sending it to other nodes.

If one uses a symbolic name for the Port option, tinc will send that name
literally to other nodes.  However, it is not guaranteed that all nodes have
the same contents in /etc/services, or have such a file at all.
This commit is contained in:
Guus Sliepen 2010-04-03 09:46:45 +01:00
parent 292354912f
commit f75e71bc69
3 changed files with 16 additions and 5 deletions

View file

@ -102,8 +102,10 @@ void sockaddr2str(const sockaddr_t *sa, char **addrstr, char **portstr) {
if(scopeid)
*scopeid = '\0'; /* Descope. */
*addrstr = xstrdup(address);
*portstr = xstrdup(port);
if(addrstr)
*addrstr = xstrdup(address);
if(portstr)
*portstr = xstrdup(port);
}
char *sockaddr2hostname(const sockaddr_t *sa) {