Module Name:    src
Committed By:   manu
Date:           Mon Sep 20 06:45:38 UTC 2010

Modified Files:
        src/usr.sbin/perfused: msg.c perfused.c

Log Message:
- Add debug santity checks
- Do not request peer creds anymore once we have them.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/usr.sbin/perfused/msg.c
cvs rdiff -u -r1.8 -r1.9 src/usr.sbin/perfused/perfused.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.sbin/perfused/msg.c
diff -u src/usr.sbin/perfused/msg.c:1.6 src/usr.sbin/perfused/msg.c:1.7
--- src/usr.sbin/perfused/msg.c:1.6	Wed Sep 15 01:51:44 2010
+++ src/usr.sbin/perfused/msg.c	Mon Sep 20 06:45:38 2010
@@ -1,4 +1,4 @@
-/*  $NetBSD: msg.c,v 1.6 2010/09/15 01:51:44 manu Exp $ */
+/*  $NetBSD: msg.c,v 1.7 2010/09/20 06:45:38 manu Exp $ */
 
 /*-
  *  Copyright (c) 2010 Emmanuel Dreyfus. All rights reserved.
@@ -483,7 +483,6 @@
 #if (PERFUSE_SOCKTYPE == SOCK_DGRAM)
 	peek = MSG_PEEK;
 #endif
-
 	offset = puffs_framebuf_telloff(pufbuf);
 
 	/*
@@ -509,6 +508,11 @@
 			/* NOTREACHED */
 			break;
 		default:
+#if defined(PERFUSE_DEBUG) && (PERFUSE_SOCKTYPE == SOCK_DGRAM)
+			if (readen != remain)
+				DERRX(EX_SOFTWARE, "%s: short recv %zd/%zd",
+				      __func__, readen, remain);
+#endif
 			break;
 		}
 
@@ -566,6 +570,11 @@
 			/* NOTREACHED */
 			break;
 		default:
+#if defined(PERFUSE_DEBUG) && (PERFUSE_SOCKTYPE == SOCK_DGRAM)
+			if (readen != remain)
+				DERRX(EX_SOFTWARE, "%s: short recv %zd/%zd",
+				      __func__, readen, remain);
+#endif
 			break;
 		}
 
@@ -615,6 +624,11 @@
 			/* NOTREACHED */
 			break;
 		default:
+#if defined(PERFUSE_DEBUG) && (PERFUSE_SOCKTYPE == SOCK_DGRAM)
+			if (written != remain)
+				DERRX(EX_SOFTWARE, "%s: short send %zd/%zd",
+				      __func__, written, remain);
+#endif
 			break;
 		}
 

Index: src/usr.sbin/perfused/perfused.c
diff -u src/usr.sbin/perfused/perfused.c:1.8 src/usr.sbin/perfused/perfused.c:1.9
--- src/usr.sbin/perfused/perfused.c:1.8	Wed Sep 15 01:51:44 2010
+++ src/usr.sbin/perfused/perfused.c	Mon Sep 20 06:45:38 2010
@@ -1,4 +1,4 @@
-/*  $NetBSD: perfused.c,v 1.8 2010/09/15 01:51:44 manu Exp $ */
+/*  $NetBSD: perfused.c,v 1.9 2010/09/20 06:45:38 manu Exp $ */
 
 /*-
  *  Copyright (c) 2010 Emmanuel Dreyfus. All rights reserved.
@@ -100,6 +100,7 @@
 {
 	struct perfuse_mount_out *pmo;
 	struct sockcred cred;
+	int opt;
 	char *cp;
 	char *source = NULL;
 	char *target = NULL;
@@ -117,6 +118,13 @@
 		exit(EX_PROTOCOL);
 	}
 
+	/*
+	 * We do not need peer creds beyond this point
+	 */
+	opt = 0;
+	if (setsockopt(fd, 0, LOCAL_CREDS, &opt, sizeof(opt)) != 0)
+		DWARN("%s: setsockopt LOCAL_CREDS failed", __func__);
+	
 #ifdef PERFUSE_DEBUG
 	if (perfuse_diagflags & PDF_MISC)
 		DPRINTF("perfuse lengths: source = %"PRId32", "

Reply via email to