Compare commits

..

No commits in common. "f6ff9a9618d19323b8129143d013002e1e178171" and "c4c748a46516f34de7c94774388a4ffbbf7421da" have entirely different histories.

2 changed files with 29 additions and 29 deletions

36
TAP.c
View File

@ -29,7 +29,7 @@ void trySixSet
char ip_str[INET6_ADDRSTRLEN+1]; char ip_str[INET6_ADDRSTRLEN+1];
inet_ntop(AF_INET6, &address, ip_str, INET6_ADDRSTRLEN+1); inet_ntop(AF_INET6, &address, ip_str, INET6_ADDRSTRLEN+1);
printf printf
( (
"Adding IPv6 address of '%s/%d' to interface at if_index %d\n", "Adding IPv6 address of '%s/%d' to interface at if_index %d\n",
ip_str, ip_str,
@ -37,7 +37,7 @@ void trySixSet
interfaceIndex interfaceIndex
); );
int inet6 = socket(AF_INET6, SOCK_DGRAM, 0); int inet6 = socket(AF_INET6, SOCK_DGRAM, 0);
if(inet6 < 0) if(inet6 < 0)
{ {
printf("Error opening control socket for adding IPv6 address to interface\n"); printf("Error opening control socket for adding IPv6 address to interface\n");
@ -45,30 +45,30 @@ void trySixSet
exit(1); exit(1);
} }
struct in6_ifreq paramReq; struct in6_ifreq paramReq;
memset(&paramReq, 0, sizeof(struct in6_ifreq)); memset(&paramReq, 0, sizeof(struct in6_ifreq));
paramReq.ifr6_ifindex = interfaceIndex; paramReq.ifr6_ifindex = interfaceIndex;
paramReq.ifr6_prefixlen = prefixLen; paramReq.ifr6_prefixlen = prefixLen;
paramReq.ifr6_addr = address; paramReq.ifr6_addr = address;
// Try add the address // Try add the address
if(ioctl(inet6, SIOCSIFADDR, &paramReq) < 0) if(ioctl(inet6, SIOCSIFADDR, &paramReq) < 0)
{ {
printf printf
( (
"There was an errror assigning address '%s/%d' to if_index %d\n", "There was an errror assigning address '%s/%d' to if_index %d\n",
ip_str, ip_str,
prefixLen, prefixLen,
interfaceIndex interfaceIndex
); );
cleanup(); cleanup();
close(inet6); close(inet6);
exit(1); exit(1);
} }
printf("Address '%s/%d' added\n", ip_str, prefixLen); printf("Address '%s/%d' added\n", ip_str, prefixLen);
close(inet6); close(inet6);
} }
int open_tap(void) { int open_tap(void) {
@ -260,9 +260,9 @@ int open_tap(void) {
exit(1); exit(1);
} }
// if link-local was NOT requested and interface // if link-local was NOT requested and interface
// has been up'd -> then kernel would have added // has been up'd -> then kernel would have added
// a link-local already, this removes it // a link-local already, this removes it
if(!set_linklocal & !noup) if(!set_linklocal & !noup)
{ {
// TODO: Get all addresses that start with fe80 // TODO: Get all addresses that start with fe80

View File

@ -504,15 +504,15 @@ static error_t parse_opt(int key, char *arg, struct argp_state *state) {
long prefixLen_l = strtol(prefixPart_s, NULL, 10); // TODO: Add handling here for errors (using errno) long prefixLen_l = strtol(prefixPart_s, NULL, 10); // TODO: Add handling here for errors (using errno)
if(prefixLen_l == 0) { if(prefixLen_l == 0) {
printf("Prefix length '%s' is not numeric\n", prefixPart_s); printf("Prefix length '%s' is not numeric\n", prefixPart_s);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
else if(!(prefixLen_l >= 0 && prefixLen_l <= 128)) else if(!(prefixLen_l >= 0 && prefixLen_l <= 128))
{ {
printf("Prefix length '%s' is not within valid range of 0-128\n", prefixPart_s); printf("Prefix length '%s' is not within valid range of 0-128\n", prefixPart_s);
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
arguments->ipv6 = ipPart_s; arguments->ipv6 = ipPart_s;