[Midnightbsd-cvs] src: usr.sbin/traceroute6: Change uid testing.

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Wed Nov 19 18:40:42 EST 2008


Log Message:
-----------
Change uid testing.

Modified Files:
--------------
    src/usr.sbin/traceroute6:
        Makefile (r1.1.1.1 -> r1.2)
        traceroute6.8 (r1.1.1.2 -> r1.2)
        traceroute6.c (r1.2 -> r1.3)

-------------- next part --------------
Index: traceroute6.8
===================================================================
RCS file: /home/cvs/src/usr.sbin/traceroute6/traceroute6.8,v
retrieving revision 1.1.1.2
retrieving revision 1.2
diff -L usr.sbin/traceroute6/traceroute6.8 -L usr.sbin/traceroute6/traceroute6.8 -u -r1.1.1.2 -r1.2
--- usr.sbin/traceroute6/traceroute6.8
+++ usr.sbin/traceroute6/traceroute6.8
@@ -27,7 +27,8 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/usr.sbin/traceroute6/traceroute6.8,v 1.14.2.1 2006/01/13 20:01:52 pav Exp $
+.\" $MidnightBSD$
+.\" $FreeBSD: src/usr.sbin/traceroute6/traceroute6.8,v 1.16 2006/01/10 16:03:37 pav Exp $
 .\"
 .Dd May 17, 1998
 .Dt TRACEROUTE6 8
@@ -115,6 +116,16 @@
 Set the number of probe per hop count to
 .Ar probes .
 .It Fl r
+Bypass the normal routing tables and send directly to a host
+on an attached network.
+If the host is not on a directly-connected network,
+an error is returned.
+This option corresponds to the
+.Dv SO_DONTROUTE
+socket option;
+it can be used to ping a local host through an interface
+that has no route through it
+(e.g., after the interface was dropped by a routing daemon).
 .It Fl s Ar src
 .Ar Src
 specifies the source IPv6 address to be used.
Index: traceroute6.c
===================================================================
RCS file: /home/cvs/src/usr.sbin/traceroute6/traceroute6.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -L usr.sbin/traceroute6/traceroute6.c -L usr.sbin/traceroute6/traceroute6.c -u -r1.2 -r1.3
--- usr.sbin/traceroute6/traceroute6.c
+++ usr.sbin/traceroute6/traceroute6.c
@@ -76,7 +76,7 @@
 static char sccsid[] = "@(#)traceroute.c	8.1 (Berkeley) 6/6/93";
 #endif
 static const char rcsid[] =
-  "$FreeBSD: src/usr.sbin/traceroute6/traceroute6.c,v 1.16 2004/06/13 18:38:46 dwmalone Exp $";
+  "$MidnightBSD$";
 #endif /* not lint */
 
 /*
@@ -279,7 +279,7 @@
 
 #ifdef IPSEC
 #include <net/route.h>
-#include <netinet6/ipsec.h>
+#include <netipsec/ipsec.h>
 #endif
 
 #define DUMMY_PORT 10010
@@ -373,6 +373,7 @@
 	u_long probe, hops, lport;
 	struct hostent *hp;
 	size_t size;
+	uid_t uid;
 
 	/*
 	 * Receive ICMP
@@ -383,8 +384,11 @@
 	}
 
 	/* revoke privs */
-	seteuid(getuid());
-	setuid(getuid());
+	uid = getuid();
+	if (setresuid(uid, uid, uid) == -1) {
+		perror("setresuid");
+		exit(1);
+	}
 
 	size = sizeof(i);
 	(void) sysctl(mib, sizeof(mib)/sizeof(mib[0]), &i, &size, NULL, 0);
@@ -539,7 +543,7 @@
 			}
 			if (waittime < 1) {
 				fprintf(stderr,
-				    "traceroute6: wait must be >=1 sec.\n");
+				    "traceroute6: wait must be >= 1 sec.\n");
 				exit(1);
 			}
 			break;
Index: Makefile
===================================================================
RCS file: /home/cvs/src/usr.sbin/traceroute6/Makefile,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -L usr.sbin/traceroute6/Makefile -L usr.sbin/traceroute6/Makefile -u -r1.1.1.1 -r1.2
--- usr.sbin/traceroute6/Makefile
+++ usr.sbin/traceroute6/Makefile
@@ -11,14 +11,16 @@
 # AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
 # LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 # A PARTICULAR PURPOSE.
-# $FreeBSD: src/usr.sbin/traceroute6/Makefile,v 1.8 2003/10/24 18:26:30 ume Exp $
+#
+# $FreeBSD: src/usr.sbin/traceroute6/Makefile,v 1.11 2007/07/05 08:56:46 bz Exp $
+# $MidnightBSD$
 
 PROG=	traceroute6
 MAN=	traceroute6.8
 BINOWN=	root
 BINMODE= 4555
 
-CFLAGS+= -DINET6 -DIPSEC -DUSE_RFC2292BIS -DHAVE_POLL
+CFLAGS+= -DIPSEC -DUSE_RFC2292BIS -DHAVE_POLL
 
 DPADD=	${LIBIPSEC}
 LDADD=	-lipsec


More information about the Midnightbsd-cvs mailing list