Add SIOCGLIFHWADDR support on newer SunOS. Bump PKGREVISION.diff -r1.15 -r1.16 pkgsrc/net/ucarp/Makefile
(jperkin)
@@ -1,18 +1,18 @@ | @@ -1,18 +1,18 @@ | |||
1 | # $NetBSD: Makefile,v 1.15 2013/02/06 19:31:02 jperkin Exp $ | 1 | # $NetBSD: Makefile,v 1.16 2013/12/10 17:56:23 jperkin Exp $ | |
2 | # | 2 | # | |
3 | 3 | |||
4 | DISTNAME= ucarp-1.5.2 | 4 | DISTNAME= ucarp-1.5.2 | |
5 | PKGREVISION= 1 | 5 | PKGREVISION= 2 | |
6 | CATEGORIES= net | 6 | CATEGORIES= net | |
7 | MASTER_SITES= ftp://ftp.ucarp.org/pub/ucarp/ | 7 | MASTER_SITES= ftp://ftp.ucarp.org/pub/ucarp/ | |
8 | EXTRACT_SUFX= .tar.bz2 | 8 | EXTRACT_SUFX= .tar.bz2 | |
9 | 9 | |||
10 | MAINTAINER= joel@carnat.net | 10 | MAINTAINER= joel@carnat.net | |
11 | HOMEPAGE= http://www.ucarp.org/project/ucarp | 11 | HOMEPAGE= http://www.ucarp.org/project/ucarp | |
12 | COMMENT= Common Address Redundancy Protocol (CARP) for Unix | 12 | COMMENT= Common Address Redundancy Protocol (CARP) for Unix | |
13 | 13 | |||
14 | USE_PKGLOCALEDIR= YES | 14 | USE_PKGLOCALEDIR= YES | |
15 | GNU_CONFIGURE= YES | 15 | GNU_CONFIGURE= YES | |
16 | USE_TOOLS+= msgfmt | 16 | USE_TOOLS+= msgfmt | |
17 | 17 | |||
18 | # pcap_freecode with one argument only | 18 | # pcap_freecode with one argument only |
@@ -1,7 +1,7 @@ | @@ -1,7 +1,7 @@ | |||
1 | $NetBSD: distinfo,v 1.5 2012/06/14 17:16:22 fhajny Exp $ | 1 | $NetBSD: distinfo,v 1.6 2013/12/10 17:56:23 jperkin Exp $ | |
2 | 2 | |||
3 | SHA1 (ucarp-1.5.2.tar.bz2) = 0326fa7460eacd23b59216878524487265051cba | 3 | SHA1 (ucarp-1.5.2.tar.bz2) = 0326fa7460eacd23b59216878524487265051cba | |
4 | RMD160 (ucarp-1.5.2.tar.bz2) = 83f54644abddf4b27f1b829c2a3a0fc98861027b | 4 | RMD160 (ucarp-1.5.2.tar.bz2) = 83f54644abddf4b27f1b829c2a3a0fc98861027b | |
5 | Size (ucarp-1.5.2.tar.bz2) = 315414 bytes | 5 | Size (ucarp-1.5.2.tar.bz2) = 315414 bytes | |
6 | SHA1 (patch-aa) = ef0d7b65f6a964607a695c7a33891d45fd116569 | 6 | SHA1 (patch-aa) = ef0d7b65f6a964607a695c7a33891d45fd116569 | |
7 | SHA1 (patch-src_fillmac.c) = 9870a6613bfb7c7eff7c6c9d164c8bf32bbe6454 | 7 | SHA1 (patch-src_fillmac.c) = c8d862d5e222aae283f1311735dff1f7be32f4af |
@@ -1,14 +1,30 @@ | @@ -1,14 +1,30 @@ | |||
1 | $NetBSD: patch-src_fillmac.c,v 1.1 2012/06/14 17:16:23 fhajny Exp $ | 1 | $NetBSD: patch-src_fillmac.c,v 1.2 2013/12/10 17:56:23 jperkin Exp $ | |
2 | ||||
3 | Add SIOCGLIFHWADDR support on newer SunOS. | |||
2 | 4 | |||
3 | SIOCGIFHWADDR defined on recent SunOS, doesn't have the usual structure. | |||
4 | --- src/fillmac.c.orig 2007-07-04 13:34:59.000000000 +0000 | 5 | --- src/fillmac.c.orig 2007-07-04 13:34:59.000000000 +0000 | |
5 | +++ src/fillmac.c | 6 | +++ src/fillmac.c | |
6 | @@ -43,7 +43,7 @@ int fill_mac_address(void) | 7 | @@ -43,7 +43,22 @@ int fill_mac_address(void) | |
7 | strerror(errno)); | 8 | strerror(errno)); | |
8 | return -1; | 9 | return -1; | |
9 | } | 10 | } | |
10 | -#ifdef SIOCGIFHWADDR | 11 | -#ifdef SIOCGIFHWADDR | |
11 | +#if defined(SIOCGIFHWADDR) && !defined(__sun) | 12 | +#if defined(SIOCGLIFHWADDR) && defined(__sun) | |
13 | + { | |||
14 | + struct lifreq lifr; | |||
15 | + struct sockaddr_dl *sdl; | |||
16 | + strncpy(lifr.lifr_name, interface, sizeof lifr.lifr_name); | |||
17 | + if (ioctl(s, SIOCGLIFHWADDR, &lifr) != 0) { | |||
18 | + logfile(LOG_ERR, | |||
19 | + _("Unable to get hardware info about an interface: %s"), | |||
20 | + strerror(errno)); | |||
21 | + (void) close(s); | |||
22 | + return -1; | |||
23 | + } | |||
24 | + sdl = (struct sockaddr_dl *)&lifr.lifr_addr; | |||
25 | + memcpy(hwaddr, LLADDR(sdl), sdl->sdl_alen); | |||
26 | + } | |||
27 | +#elif defined(SIOCGIFHWADDR) | |||
12 | { | 28 | { | |
13 | struct ifreq ifr; | 29 | struct ifreq ifr; | |
14 | 30 |