Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/tests/dev/cgd Retire the old C helper in h_img2cgd since we ...



details:   https://anonhg.NetBSD.org/src/rev/5a7ef44d3131
branches:  trunk
changeset: 759667:5a7ef44d3131
user:      pooka <pooka%NetBSD.org@localhost>
date:      Tue Dec 14 17:48:31 2010 +0000

description:
Retire the old C helper in h_img2cgd since we can now write everything
with a shellscript in terms of rump.cgdconfig and dd.

diffstat:

 tests/dev/cgd/Makefile            |   12 +-
 tests/dev/cgd/h_img2cgd/Makefile  |   20 ---
 tests/dev/cgd/h_img2cgd/cgd.conf  |    8 -
 tests/dev/cgd/h_img2cgd/img2cgd.c |  223 --------------------------------------
 tests/dev/cgd/paramsfile          |    8 +
 tests/dev/cgd/t_cgd.sh            |   42 +++++--
 6 files changed, 41 insertions(+), 272 deletions(-)

diffs (truncated from 366 to 300 lines):

diff -r 7b2c4458d183 -r 5a7ef44d3131 tests/dev/cgd/Makefile
--- a/tests/dev/cgd/Makefile    Tue Dec 14 17:46:21 2010 +0000
+++ b/tests/dev/cgd/Makefile    Tue Dec 14 17:48:31 2010 +0000
@@ -1,18 +1,12 @@
-#      $NetBSD: Makefile,v 1.1 2010/11/11 22:38:47 pooka Exp $
+#      $NetBSD: Makefile,v 1.2 2010/12/14 17:48:31 pooka Exp $
 #
 
 .include <bsd.own.mk>
 
 TESTSDIR=      ${TESTSBASE}/dev/cgd
+FILES=         paramsfile
+FILESDIR=      ${TESTSDIR}
 
 TESTS_SH=      t_cgd
 
-SUBDIR=                h_img2cgd
-
-LDADD+=        -lrumpdev_cgd -lrumpdev -lrumpvfs
-LDADD+=        -lrump
-LDADD+=        -lrumpuser -lpthread
-
-NOMAN=
-
 .include <bsd.test.mk>
diff -r 7b2c4458d183 -r 5a7ef44d3131 tests/dev/cgd/h_img2cgd/Makefile
--- a/tests/dev/cgd/h_img2cgd/Makefile  Tue Dec 14 17:46:21 2010 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-#      $NetBSD: Makefile,v 1.2 2010/11/11 22:44:50 pooka Exp $
-#
-
-PROG=          h_img2cgd
-SRCS=          img2cgd.c
-FILES=         cgd.conf
-NOMAN=1
-
-BINDIR=                ${TESTSBASE}/dev/cgd/h_img2cgd
-FILESDIR=      ${TESTSBASE}/dev/cgd/h_img2cgd
-
-.include <bsd.own.mk>
-
-RUMP_ACTION=   #defined
-CPPFLAGS+=     -DCGDCONFIG_AS_LIB
-.include "${NETBSDSRCDIR}/sbin/cgdconfig/Makefile.cgdconfig"
-
-WARNS= 3
-
-.include <bsd.prog.mk>
diff -r 7b2c4458d183 -r 5a7ef44d3131 tests/dev/cgd/h_img2cgd/cgd.conf
--- a/tests/dev/cgd/h_img2cgd/cgd.conf  Tue Dec 14 17:46:21 2010 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-algorithm aes-cbc;
-iv-method encblkno1;
-keylength 128;
-verify_method none;
-keygen pkcs5_pbkdf2/sha1 {
-        iterations 42;
-        salt AAAAgKajcCnHR7sR1k1RKQ9Q0uY=;
-};
diff -r 7b2c4458d183 -r 5a7ef44d3131 tests/dev/cgd/h_img2cgd/img2cgd.c
--- a/tests/dev/cgd/h_img2cgd/img2cgd.c Tue Dec 14 17:46:21 2010 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,223 +0,0 @@
-/*     $NetBSD: img2cgd.c,v 1.1 2010/11/11 22:38:47 pooka Exp $        */
-
-/*
- * Copyright (c) 2009 Antti Kantee.  All Rights Reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <sys/types.h>
-#include <sys/param.h>
-
-#include <assert.h>
-#include <err.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-#include <rump/rump.h>
-#include <rump/rump_syscalls.h>
-
-#include "cgdconfig.h"
-
-/*
- * We really should use disklabel.  However, for the time being,
- * use a endian independent magic number at offset == 0 and a
- * 64bit size at offset == 8.
- */
-#define MYMAGIC 0x11000a00000a0011LL
-#define MAGOFF 0
-#define SIZEOFF        8
-
-#define SKIPLABEL 8192
-#define IMG_MINSIZE (120*1024) /* label/mbr/etc search looks here and there */
-
-static void
-usage(void)
-{
-
-       fprintf(stderr, "usage: %s read|write cgd_image file\n", getprogname());
-       exit(1);
-}
-
-typedef ssize_t (*readfn)(int, void *, size_t);
-typedef ssize_t (*writefn)(int, const void *, size_t);
-
-#define BLOCKSIZE 512
-#define BLKROUND(a) (((a)+(BLOCKSIZE-1)) & ~(BLOCKSIZE-1))
-
-static void
-doxfer(int fd_from, int fd_to, off_t nbytes, readfn rfn, writefn wfn,
-       int roundwrite)
-{
-       char buf[8192];
-       ssize_t n;
-
-       assert(sizeof(buf) % BLOCKSIZE == 0);
-       if (roundwrite)
-               nbytes = BLKROUND(nbytes);
-
-       memset(buf, 0, sizeof(buf));
-       while (nbytes) {
-               n = rfn(fd_from, buf, sizeof(buf));
-               if (n == -1)
-                       err(1, "read");
-               if (n == 0)
-                       break;
-               n = MIN(n, nbytes);
-               if (roundwrite)
-                       n = BLKROUND(n);
-               nbytes -= n;
-               if (wfn(fd_to, buf, n) == -1)
-                       err(1, "write");
-       }
-}
-
-#define RFLAGS (O_RDONLY)
-#define WFLAGS (O_WRONLY | O_CREAT | O_TRUNC)
-int
-main(int argc, char *argv[])
-{
-       char *the_argv[10];
-       const char *cgd_file, *img_file;
-       char *config_file;
-       struct stat sb_cgd, sb_file;
-       off_t nbytes;
-       int error;
-       int fd, fd_r;
-       int readmode;
-
-       setprogname(argv[0]);
-
-       if (argc != 5)
-               usage();
-
-       readmode = 0; /* XXXgcc */
-       if (strcmp(argv[2], "read") == 0)
-               readmode = 1;
-       else if (strcmp(argv[2], "write") == 0)
-               readmode = 0;
-       else
-               usage();
-
-       config_file = argv[1];
-       cgd_file = argv[3];
-       img_file = argv[4];
-
-       if (stat(img_file, &sb_file) == -1) {
-               if (!readmode)
-                       err(1, "cannot open file image %s", img_file);
-       } else {
-               if (!S_ISREG(sb_file.st_mode))
-                       errx(1, "%s is not a regular file", img_file);
-       }
-
-       if (stat(cgd_file, &sb_cgd) == -1) {
-               if (readmode)
-                       err(1, "cannot open cgd image %s", cgd_file);
-       } else {
-               if (!S_ISREG(sb_cgd.st_mode))
-                       errx(1, "%s is not a regular file", cgd_file);
-       }
-
-       /*
-        * Create a file big enough to hold the file we are encrypting.
-        * This is because cgd works on a device internally and does
-        * not know how to enlarge a device (surprisingly ...).
-        */
-       if (!readmode) {
-               uint64_t tmpval;
-
-               fd = open(cgd_file, WFLAGS, 0755);
-               if (fd == -1)
-                       err(1, "fd");
-               ftruncate(fd,
-                   MAX(IMG_MINSIZE, BLKROUND(sb_file.st_size)) + SKIPLABEL);
-
-               /* write magic info */
-               tmpval = MYMAGIC;
-               if (pwrite(fd, &tmpval, 8, MAGOFF) != 8)
-                       err(1, "magic write failed");
-               tmpval = htole64(sb_file.st_size);
-               if (pwrite(fd, &tmpval, 8, SIZEOFF) != 8)
-                       err(1, "size write failed");
-
-               close(fd);
-
-               nbytes = sb_file.st_size;
-       } else {
-               uint64_t tmpval;
-
-               fd = open(cgd_file, RFLAGS);
-               if (fd == -1)
-                       err(1, "image open failed");
-
-               if (pread(fd, &tmpval, 8, MAGOFF) != 8)
-                       err(1, "magic read failed");
-               if (tmpval != MYMAGIC)
-                       errx(1, "%s is not a valid image", cgd_file);
-               if (pread(fd, &tmpval, 8, SIZEOFF) != 8)
-                       errx(1, "size read failed");
-               close(fd);
-
-               nbytes = le64toh(tmpval);
-       }
-
-       rump_init();
-       if ((error = rump_pub_etfs_register("/cryptfile", cgd_file,
-           RUMP_ETFS_BLK)) != 0) {
-               printf("etfs: %d\n", error);
-               exit(1);
-       }
-
-       the_argv[0] = strdup("cgdconfig");
-       the_argv[1] = strdup("-p");
-       the_argv[2] = strdup("cgd0");
-       the_argv[3] = strdup("/cryptfile");
-       the_argv[4] = config_file;
-       the_argv[5] = NULL;
-       error = cgdconfig(5, the_argv);
-       if (error) {
-               fprintf(stderr, "cgdconfig failed: %d (%s)\n",
-                   error, strerror(error));
-               exit(1);
-       }
-
-       fd = open(img_file, readmode ? WFLAGS : RFLAGS, 0755);
-       if (fd == -1)
-               err(1, "fd");
-       fd_r = rump_sys_open("/dev/rcgd0d", O_RDWR, 0755);
-       if (fd_r == -1)
-               err(1, "fd_r");
-       if (rump_sys_lseek(fd_r, SKIPLABEL, SEEK_SET) == -1)
-               err(1, "rump lseek");
-
-       if (readmode) {
-               doxfer(fd_r, fd, nbytes, rump_sys_read, write, 0);
-       } else {
-               doxfer(fd, fd_r, sb_file.st_size, read, rump_sys_write, 1);
-       }
-
-       return 0;
-}
diff -r 7b2c4458d183 -r 5a7ef44d3131 tests/dev/cgd/paramsfile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/dev/cgd/paramsfile  Tue Dec 14 17:48:31 2010 +0000
@@ -0,0 +1,8 @@
+algorithm aes-cbc;
+iv-method encblkno1;
+keylength 128;
+verify_method none;
+keygen pkcs5_pbkdf2/sha1 {
+        iterations 42;
+        salt AAAAgKajcCnHR7sR1k1RKQ9Q0uY=;
+};



Home | Main Index | Thread Index | Old Index