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", "