]> git.pld-linux.org Git - packages/mksh.git/commitdiff
- up to R40
authorKacper Kornet <draenog@pld-linux.org>
Mon, 13 Jun 2011 19:30:48 +0000 (19:30 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
- arc4random.c not longer used
- tests use perl and ed

Changed files:
    arc4random.c -> 1.2
    mksh-exit_tests.patch -> 1.2
    mksh.spec -> 1.11

arc4random.c [deleted file]
mksh-exit_tests.patch [deleted file]
mksh.spec

diff --git a/arc4random.c b/arc4random.c
deleted file mode 100644 (file)
index 8e8331d..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-/* $MirOS: contrib/code/Snippets/arc4random.c,v 1.2 2007/09/09 22:14:04 tg Exp $ */
-
-/*-
- * Arc4 random number generator for OpenBSD.
- * Copyright 1996 David Mazieres <dm@lcs.mit.edu>.
- *
- * Modification and redistribution in source and binary forms is
- * permitted provided that due credit is given to the author and the
- * OpenBSD project by leaving this copyright notice intact.
- */
-
-/*-
- * This code is derived from section 17.1 of Applied Cryptography,
- * second edition, which describes a stream cipher allegedly
- * compatible with RSA Labs "RC4" cipher (the actual description of
- * which is a trade secret).  The same algorithm is used as a stream
- * cipher called "arcfour" in Tatu Ylonen's ssh package.
- *
- * Here the stream cipher has been modified always to include the time
- * when initializing the state.  That makes it impossible to
- * regenerate the same random sequence twice, so this can't be used
- * for encryption, but will generate good random numbers.
- *
- * RC4 is a registered trademark of RSA Laboratories.
- */
-
-/*-
- * Modified by Robert Connolly from OpenBSD lib/libc/crypt/arc4random.c v1.11.
- * This is arc4random(3) using urandom.
- */
-
-#include <sys/param.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#if HAVE_SYS_SYSCTL_H
-#include <sys/sysctl.h>
-#endif
-#include <fcntl.h>
-#if HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-struct arc4_stream {
-       uint8_t i;
-       uint8_t j;
-       uint8_t s[256];
-};
-
-static int rs_initialized;
-static struct arc4_stream rs;
-static pid_t arc4_stir_pid;
-
-static uint8_t arc4_getbyte(struct arc4_stream *);
-
-u_int32_t arc4random(void);
-void arc4random_addrandom(u_char *, int);
-void arc4random_stir(void);
-
-static void
-arc4_init(struct arc4_stream *as)
-{
-       int     n;
-
-       for (n = 0; n < 256; n++)
-               as->s[n] = n;
-       as->i = 0;
-       as->j = 0;
-}
-
-static void
-arc4_addrandom(struct arc4_stream *as, u_char *dat, int datlen)
-{
-       int     n;
-       uint8_t si;
-
-       as->i--;
-       for (n = 0; n < 256; n++) {
-               as->i = (as->i + 1);
-               si = as->s[as->i];
-               as->j = (as->j + si + dat[n % datlen]);
-               as->s[as->i] = as->s[as->j];
-               as->s[as->j] = si;
-       }
-       as->j = as->i;
-}
-
-static void
-arc4_stir(struct arc4_stream *as)
-{
-       int     n, fd;
-       struct {
-               struct timeval tv;
-               u_int rnd[(128 - sizeof(struct timeval)) / sizeof(u_int)];
-       }       rdat;
-
-       gettimeofday(&rdat.tv, NULL);
-
-       /* /dev/urandom is a multithread interface, sysctl is not. */
-       /* Try to use /dev/urandom before sysctl. */
-       fd = open("/dev/urandom", O_RDONLY);
-       if (fd != -1) {
-               read(fd, rdat.rnd, sizeof(rdat.rnd));
-               close(fd);
-       } else {
-               /* /dev/urandom failed? Maybe we're in a chroot. */
-//#if defined(CTL_KERN) && defined(KERN_RANDOM) && defined(RANDOM_UUID)
-#ifdef _LINUX_SYSCTL_H
-               /* XXX this is for Linux, which uses enums */
-
-               int mib[3];
-               size_t i, len;
-
-               mib[0] = CTL_KERN;
-               mib[1] = KERN_RANDOM;
-               mib[2] = RANDOM_UUID;
-
-               for (i = 0; i < sizeof(rdat.rnd) / sizeof(u_int); i ++) {
-                       len = sizeof(u_int);
-                       if (sysctl(mib, 3, &rdat.rnd[i], &len, NULL, 0) == -1) {
-                               fprintf(stderr, "warning: no entropy source\n");
-                               break;
-                       }
-               }
-#else
-               /* XXX kFreeBSD doesn't seem to have KERN_ARND or so */
-               ;
-#endif
-       }
-
-       arc4_stir_pid = getpid();
-       /*
-        * Time to give up. If no entropy could be found then we will just
-        * use gettimeofday.
-        */
-       arc4_addrandom(as, (void *)&rdat, sizeof(rdat));
-
-       /*
-        * Discard early keystream, as per recommendations in:
-        * http://www.wisdom.weizmann.ac.il/~itsik/RC4/Papers/Rc4_ksa.ps
-        * We discard 256 words. A long word is 4 bytes.
-        */
-       for (n = 0; n < 256 * 4; n ++)
-               arc4_getbyte(as);
-}
-
-static uint8_t
-arc4_getbyte(struct arc4_stream *as)
-{
-       uint8_t si, sj;
-
-       as->i = (as->i + 1);
-       si = as->s[as->i];
-       as->j = (as->j + si);
-       sj = as->s[as->j];
-       as->s[as->i] = sj;
-       as->s[as->j] = si;
-       return (as->s[(si + sj) & 0xff]);
-}
-
-static uint32_t
-arc4_getword(struct arc4_stream *as)
-{
-       uint32_t val;
-       val = arc4_getbyte(as) << 24;
-       val |= arc4_getbyte(as) << 16;
-       val |= arc4_getbyte(as) << 8;
-       val |= arc4_getbyte(as);
-       return val;
-}
-
-void
-arc4random_stir(void)
-{
-       if (!rs_initialized) {
-               arc4_init(&rs);
-               rs_initialized = 1;
-       }
-       arc4_stir(&rs);
-}
-
-void
-arc4random_addrandom(u_char *dat, int datlen)
-{
-       if (!rs_initialized)
-               arc4random_stir();
-       arc4_addrandom(&rs, dat, datlen);
-}
-
-u_int32_t
-arc4random(void)
-{
-       if (!rs_initialized || arc4_stir_pid != getpid())
-               arc4random_stir();
-       return arc4_getword(&rs);
-}
diff --git a/mksh-exit_tests.patch b/mksh-exit_tests.patch
deleted file mode 100644 (file)
index d676dc4..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
---- check.pl~  2011-05-09 14:35:34.357336648 +0100
-+++ check.pl   2011-05-09 14:48:30.991232019 +0100
-@@ -324,7 +324,11 @@
-     local($sig, $exitcode) = ('', 1);
-     if ($_[0] eq 'ok') {
--      $exitcode = 0;
-+        unless ($nxfailed) {
-+          $exitcode = 0;
-+        } else {
-+            $exitcode = 1;
-+        }
-     } elsif ($_[0] ne '') {
-       $sig = $_[0];
-     }
index 45be06198e6ea820c988af3852cf18484d714879..a8b532bacf0939684bd93ca9fa81912b2aafa69c 100644 (file)
--- a/mksh.spec
+++ b/mksh.spec
@@ -2,14 +2,17 @@
 Summary:       MirBSD Korn Shell
 Summary(pl.UTF-8):     Powłoka Korna z MirBSD
 Name:          mksh
-Version:       39c
+Version:       40
 Release:       0.1
 License:       BSD
 Group:         Applications/Shells
 Source0:       http://www.mirbsd.org/MirOS/dist/mir/mksh/%{name}-R%{version}.cpio.gz
-# Source0-md5: 0c3cd172b47eefcdf9a302baa42f5092
-Source1:       http://www.mirbsd.org/MirOS/dist/hosted/other/arc4random.c
-URL:           http://mirbsd.de/mksh
+# Source0-md5: 395a6c5f39c7e2afd8f6504d90ca90bd
+URL:           https://www.mirbsd.org/mksh.htm
+%if %{with tests}
+BuildRequires: ed
+BuildRequires: perl-base
+%endif
 BuildRequires: rpmbuild(macros) >= 1.462
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -43,7 +46,6 @@ rozszerzoną kompatybilność z innymi współczesnymi powłokami.
 %setup -qcT
 gzip -dc %{SOURCE0} | cpio -mid
 mv mksh/* .; rmdir mksh
-cp -a %{SOURCE1} .
 
 %build
 CC="%{__cc}" CFLAGS="%{rpmcppflags} %{rpmcflags}" sh ./Build.sh -Q -r -j
This page took 0.096489 seconds and 4 git commands to generate.