app-crypt/{m,s}hash: Drop unused packages

This commit is contained in:
Krzesimir Nowak 2025-01-23 12:29:00 +01:00
parent b28e80ccc7
commit 3fbf8ced1c
24 changed files with 0 additions and 846 deletions

View File

@ -123,12 +123,10 @@ app-crypt/gnupg
app-crypt/gpgme
app-crypt/libb2
app-crypt/libmd
app-crypt/mhash
app-crypt/mit-krb5
app-crypt/p11-kit
app-crypt/pinentry
app-crypt/rhash
app-crypt/shash
app-crypt/tpm2-tools
app-crypt/tpm2-tss

View File

@ -1 +0,0 @@
DIST mhash-0.9.9.9.tar.gz 931437 BLAKE2B 2daed92b731148c388d4340e67d99959f71783e68617614c9be797dae655ba1aeb087d4f604015edb752dedc2d69add305510996a06633ef26fd997ab7601bed SHA512 82ad8b8e9b0463c5a14f5c0e572badc42c4697bac5505443b144287b3f8510b1410721b4277f092a0d6045c4342e997831011cdfcbfa8f1dae6edd5d9e3cefee

View File

@ -1,93 +0,0 @@
Per debian 473204: http://bugs.debian.org/473204, mhash exports #defines that
are customarily autotools-private. This results in warnings when other packages
attempt to use mhash's headers.
Gentoo-Bug: 221093
Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=221093
Patch-URL: http://bugs.gentoo.org/attachment.cgi?id=152625&action=view
Signed-off-by: Peter Alfredson <loki_val@gentoo.org>
--- a/configure.in
+++ b/configure.in
@@ -4,10 +4,11 @@
AC_CANONICAL_TARGET
AC_CONFIG_SRCDIR([lib/mhash.c])
AM_INIT_AUTOMAKE
AC_DEFINE([MHASH_VERSION], PROGRAM_VERSION, "MHash Version")
+AC_CONFIG_HEADER([include/mutils/config.h])
AC_CONFIG_HEADER([include/mutils/mhash_config.h])
dnl Check system.
--- a/include/mutils/config.h.in
+++ b/include/mutils/config.h.in
@@ -0,0 +1,22 @@
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Version number of package */
+#undef VERSION
+
+
--- a/include/mutils/mhash_config.h.in
+++ b/include/mutils/mhash_config.h.in
@@ -179,28 +179,10 @@
#undef MHASH_VERSION
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
#undef NO_MINUS_C_MINUS_O
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
/* Define to 1 if the C compiler supports function prototypes. */
#undef PROTOTYPES
/* The size of `unsigned char', as computed by sizeof. */
#undef SIZEOF_UNSIGNED_CHAR
@@ -221,13 +203,10 @@
#undef STDC_HEADERS
/* dmalloc */
#undef USE_DMALLOC
-/* Version number of package */
-#undef VERSION
-
/* Define if using the dmalloc debugging malloc package */
#undef WITH_DMALLOC
/* Define to 1 if your processor stores words with the most significant byte
first (like Motorola and SPARC, unlike Intel and VAX). */

View File

@ -1,27 +0,0 @@
The package app-crypt/mhash-0.9.9 as well as app-crypt/mhash-0.9.9-r1 are
affected by a bug which causes memory to be leaked during
mhash_restore_state_mem.
In this function/patch, ret->state is allocated towards the beginning and later
on replaced with a new allocated area without freeing the old. The patch fixes
it.
Patch already submitted upstream, but depending on speed, this may be faster to
patch in a new patchset.
Gentoo-Bug: 255006
Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=255006
Patch-URL: http://bugs.gentoo.org/attachment.cgi?id=178560
Signed-off-by: Thomas Harning <harningt@gmail.com>
--- a/lib/mhash.c
+++ b/lib/mhash.c
@@ -719,6 +719,8 @@
mutils_memcpy( &ret->state_size, &mem[pos], sizeof(ret->state_size));
pos += sizeof( ret->state_size);
+ if (ret->state)
+ mutils_free(ret->state);
ret->state = mutils_malloc(ret->state_size);
if (ret->state==NULL)
goto freeall;

View File

@ -1,27 +0,0 @@
The package app-crypt/mhash-0.9.9 as well as app-crypt/mhash-0.9.9-r1 are
affected by a bug which causes a NULL ptr dereference in whirlpool/snefru
digest-completion functionality.
In this patch, whirlpool and snefru's code is updated to bail if 'digest' is
NULL. The code portion aborted is only responsible for writing data to the
digest, so this appears to be correct behavior.
Patch already submitted upstream, but depending on speed, this may be faster to
patch in a new patchset.
Gentoo-Bug: 255131
Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=255131
Patch-URL: http://bugs.gentoo.org/attachment.cgi?id=178666&action=view
Signed-off-by: Thomas Harning <harningt@gmail.com>
--- a/lib/snefru.c
+++ b/lib/snefru.c
@@ -859,6 +859,8 @@
{
mutils_word32 i;
+ if(!digest) return;
+
for (i = 0; i < len; i++, digest += 4)
{
*(mutils_word32 *)digest = mutils_bend2sys32(ctx->hash[i]);

View File

@ -1,27 +0,0 @@
The package app-crypt/mhash-0.9.9 as well as app-crypt/mhash-0.9.9-r1 are
affected by a bug which causes a NULL ptr dereference in whirlpool/snefru
digest-completion functionality.
In this patch, whirlpool and snefru's code is updated to bail if 'digest' is
NULL. The code portion aborted is only responsible for writing data to the
digest, so this appears to be correct behavior.
Patch already submitted upstream, but depending on speed, this may be faster to
patch in a new patchset.
Gentoo-Bug: 255131
Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=255131
Patch-URL: http://bugs.gentoo.org/attachment.cgi?id=178667&action=view
Signed-off-by: Thomas Harning <harningt@gmail.com>
--- a/lib/whirlpool.c
+++ b/lib/whirlpool.c
@@ -970,6 +970,8 @@
mutils_word8 * digest)
{
mutils_word32 i;
+
+ if(!digest) return;
/*
* return the completed message digest:
*/

View File

@ -1,118 +0,0 @@
--- a/lib/stdfns.c
+++ b/lib/stdfns.c
@@ -152,6 +152,18 @@ mutils_bzero(void *s, __const mutils_wor
}
}
+static void
+mutils_memset8(void *s, __const mutils_word8 c, __const mutils_word32 n)
+{
+ mutils_word8 *stmp = s;
+ mutils_word32 i;
+
+ for (i = 0; i < n; i++, stmp++)
+ {
+ *stmp = c;
+ }
+}
+
WIN32DLL_DEFINE
void
mutils_memset(void *s, __const mutils_word8 c, __const mutils_word32 n)
@@ -160,8 +172,7 @@ mutils_memset(void *s, __const mutils_wo
/* Sparc needs 8-bit alignment - just use standard memset */
memset(s, (int) c, (size_t) n);
#else
- mutils_word8 *stmp;
- mutils_word32 *ltmp = (mutils_word32 *) s;
+ mutils_word32 *ltmp;
mutils_word32 lump;
mutils_word32 i;
mutils_word32 words;
@@ -172,22 +183,30 @@ mutils_memset(void *s, __const mutils_wo
return;
}
+ if (n < 16)
+ {
+ return mutils_memset8(s, c, n);
+ }
+
+ /* unaligned portion at beginning */
+ remainder = (-(mutils_word32)s) & 0x3;
+ mutils_memset8(s, c, remainder);
+
+ /* aligned words in the middle */
+ ltmp = (mutils_word32 *) (s + remainder);
+
lump = (c << 24) + (c << 16) + (c << 8) + c;
- words = n >> 2;
- remainder = n - (words << 2);
+ words = (n - remainder) >> 2;
+ remainder = n - remainder - (words << 2);
for (i = 0; i < words; i++, ltmp++)
{
*ltmp = lump;
}
- stmp = (mutils_word8 *) ltmp;
-
- for (i = 0; i < remainder; i++, stmp++)
- {
- *stmp = c;
- }
+ /* unaligned portion at end */
+ return mutils_memset8(ltmp, c, remainder);
#endif
}
@@ -281,6 +300,9 @@ mutils_word32nswap(mutils_word32 *x, mut
mutils_word32 *buffer;
mutils_word32 *ptrIn;
mutils_word32 *ptrOut;
+ mutils_word8 *ptr8In;
+ mutils_word8 *ptr8Out;
+ mutils_word8 tmp8;
mutils_word32 count = n * 4;
if (destructive == MUTILS_FALSE)
@@ -301,9 +323,35 @@ mutils_word32nswap(mutils_word32 *x, mut
* data on a little-endian machine.
*/
- for (loop = 0, ptrIn = x, ptrOut = buffer; loop < n; loop++, ptrOut++, ptrIn++)
+ if ((mutils_word32)x & 0x3)
+ {
+ ptr8In = (mutils_word8 *) x;
+ ptr8Out = (mutils_word8 *) buffer;
+ for (loop = 0; loop < n; loop++)
+ {
+#ifdef WORDS_BIGENDIAN
+ tmp8 = ptr8In[0];
+ ptr8Out[0] = ptr8In[3];
+ ptr8Out[3] = tmp8;
+ tmp8 = ptr8In[1];
+ ptr8Out[1] = ptr8In[2];
+ ptr8Out[2] = tmp8;
+#else
+ ptr8Out[0] = ptr8In[0];
+ ptr8Out[1] = ptr8In[1];
+ ptr8Out[2] = ptr8In[2];
+ ptr8Out[3] = ptr8In[3];
+#endif
+ ptr8Out += 4;
+ ptr8In += 4;
+ }
+ }
+ else
{
- *ptrOut = mutils_lend32(*ptrIn);
+ for (loop = 0, ptrIn = x, ptrOut = buffer; loop < n; loop++, ptrOut++, ptrIn++)
+ {
+ *ptrOut = mutils_lend32(*ptrIn);
+ }
}
return(buffer);

View File

@ -1,15 +0,0 @@
--- a/lib/stdfns.c
+++ b/lib/stdfns.c
@@ -378,6 +378,12 @@ mutils_memmove(void *dest, __const void
bigptr1 = (mutils_word32 *) dest;
bigptr2 = (mutils_word32 *) src;
+ /* copy byte-by-byte for small and/or unaligned copies */
+ if ((n < 16) || ((mutils_word32)dest & 0x3) || ((mutils_word32)src & 0x3))
+ {
+ return mutils_memcpy8(dest, src, n);
+ }
+
words = n >> 2;
remainder = n - (words << 2);

View File

@ -1,13 +0,0 @@
diff --git a/lib/tiger.c b/lib/tiger.c
index 8f15df4..8d28f27 100644
--- a/lib/tiger.c
+++ b/lib/tiger.c
@@ -254,7 +254,7 @@ void tiger_final(struct tiger_ctx *ctx)
register mutils_word64 i, j;
/* Force 64-bit alignment */
mutils_word64 temp_64bit[TIGER_DATASIZE/8];
- mutils_word8 *temp = temp_64bit;
+ mutils_word8 *temp = (mutils_word8 *) temp_64bit;
i = ctx->index;
#if defined(WORDS_BIGENDIAN)

View File

@ -1,13 +0,0 @@
--- a/lib/tiger.c
+++ b/lib/tiger.c
@@ -252,7 +252,9 @@ void tiger_update(struct tiger_ctx *ctx,
void tiger_final(struct tiger_ctx *ctx)
{
register mutils_word64 i, j;
- mutils_word8 temp[TIGER_DATASIZE];
+ /* Force 64-bit alignment */
+ mutils_word64 temp_64bit[TIGER_DATASIZE/8];
+ mutils_word8 *temp = temp_64bit;
i = ctx->index;
#if defined(WORDS_BIGENDIAN)

View File

@ -1,19 +0,0 @@
https://bugs.gentoo.org/914173
https://sourceforge.net/p/mhash/patches/12/
https://sourceforge.net/p/mhash/bugs/43/
Fixes a segfault due to use-after-free on x86 & ARM in the test suite.
Index: mhash-0.9.9.9/src/hmac_test.c
===================================================================
--- mhash-0.9.9.9/src/hmac_test.c
+++ mhash-0.9.9.9/src/hmac_test.c 2020-04-01 00:04:44.039815882 +0200
@@ -76,8 +76,6 @@
/* Test No 2 */
- mutils_memset(tmp, 0, sizeof(tmp));
-
passlen=sizeof(KEY2) - 1;
password = (mutils_word8 *) mutils_malloc(passlen+1);
mutils_memcpy(password, KEY2, passlen);

View File

@ -1,20 +0,0 @@
https://sourceforge.net/p/mhash/patches/11/
Compiling mhash-0.9.9.9 on platforms (like AIX) without GNU libc compatible malloc leads to undefined symbol rpl_malloc
when linking the in-mhash executables drver, frag_test, rest_test, hmac_test, keygen_test.
Reason is that configure.in still contains AC_FUNC_MALLOC, detecting need
to "#define malloc rpl_malloc", while mhash does not provide a rpl_malloc implementation.
As the only use of malloc() in lib/stdfns.c does not rely on GNU libc
compatible malloc actually, there is no need to check for one.
--- a/configure.in
+++ b/configure.in
@@ -64,7 +64,6 @@ AC_CHECK_HEADERS(signal.h stdint.h stdio.h stdlib.h string.h strings.h)
dnl Checks for functions
-AC_FUNC_MALLOC
AC_FUNC_MEMCMP
AC_CHECK_FUNCS(bcopy bzero)

View File

@ -1,11 +0,0 @@
--- a/src/keygen_test.c
+++ b/src/keygen_test.c
@@ -121,8 +121,6 @@
mhash_keygen_ext(KEYGEN_S2K_SALTED, data, key, keysize, password, passlen);
- mutils_memset(tmp, 0, keysize * 2);
-
tmp = mutils_asciify(key, keysize);
result = mutils_strcmp((mutils_word8 *) KEY2, tmp);

View File

@ -1,4 +0,0 @@
Libs:-lmhash
Name: mhash
Version: @VERSION@
Description: provides a uniform interface to several hash algorithms

View File

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">mhash</remote-id>
</upstream>
</pkgmetadata>

View File

@ -1,72 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools flag-o-matic
DESCRIPTION="Library providing a uniform interface to a large number of hash algorithms"
HOMEPAGE="https://mhash.sourceforge.net/"
SRC_URI="https://downloads.sourceforge.net/mhash/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="static-libs"
BDEPEND="dev-lang/perl" # pod2html
PATCHES=(
"${FILESDIR}"/${PN}-0.9.9-fix-mem-leak.patch
"${FILESDIR}"/${PN}-0.9.9-fix-snefru-segfault.patch
"${FILESDIR}"/${PN}-0.9.9-fix-whirlpool-segfault.patch
"${FILESDIR}"/${PN}-0.9.9-autotools-namespace-stomping.patch
"${FILESDIR}"/${P}-remove_premature_free.patch
"${FILESDIR}"/${P}-force64bit-tiger.patch
"${FILESDIR}"/${P}-align.patch
"${FILESDIR}"/${P}-alignment.patch
"${FILESDIR}"/${P}-no-malloc-check.patch
"${FILESDIR}"/${P}-hmac-uaf-test.patch
"${FILESDIR}"/${P}-cast-temp-64bit.patch
)
DOCS=( doc/example.c doc/skid2-authentication )
HTML_DOCS=( doc/mhash.html )
src_prepare() {
default
sed -i \
-e 's/--netscape//' \
"${S}"/doc/Makefile.in || die
sed \
-e "s:@VERSION@:${PV}:" \
"${FILESDIR}"/${PN}.pc > ${PN}.pc || die
# Refresh bundled libtool (ltmain.sh)
# (elibtoolize is not sufficient)
# bug #668666
eautoreconf
}
src_configure() {
# bug #943960
append-cflags -std=gnu17
econf $(use_enable static-libs static)
}
src_compile() {
default
emake -C doc mhash.html
}
src_install() {
default
insinto /usr/$(get_libdir)/pkgconfig
doins ${PN}.pc
find "${ED}" -name '*.la' -delete || die
}

View File

@ -1 +0,0 @@
DIST shash-0.2.6.tar.gz 105641 BLAKE2B f7421aa9ed7b242e14a585461e96f44e35f1acf38cba358807ec06e6678c82f7f3b070a218de71cccde9f18a1e7e13f8dd4cf66b48e9d6626f16b2e1fc33757d SHA512 340a59bd16b3e5069a076b56f8fe24d2306a6ddd5e6ad564c5e17a992d8e279a7109ba39bd5caa8438a0e85b4f94cb0878228f7aefe38221ff6efa80df64086b

View File

@ -1,29 +0,0 @@
--- a/doc/shash.1
+++ b/doc/shash.1
@@ -31,7 +31,7 @@ Because of this shash also supports HMAC
a mechanism for message authentication using cryptographic hash functions.
So shash can use a key with a hash algorithm to produce hashes that can only
be verified with the key. This way you can securely check (i.e. you are sure
-that nobody can modify the mac, without beeing detected)
+that nobody can modify the mac, without being detected)
if files in a filesystem were altered.
If the list of files and digests, that shash produces, is stored as
@@ -72,7 +72,7 @@ Suppress some not critical warnings.
.TP
.B \-b
Use binary mode. In unix environment, only difference between this and
-the normal mode is an asterix preceding the filename in the output.
+the normal mode is an asterisk preceding the filename in the output.
.TP
.B \-c
Check the checksum of all files listed in
@@ -94,7 +94,7 @@ Enter the keyword via the command line.
keyword instead of prompting for it. Keep in mind that someone
may see the command you are executing and so your key.
.TP
-.B \-c --config FILE
+.B \-i --config FILE
Use the specified configuration file. The default is .shashrc
in your home directory. The format of the configuration
file is the same as the parameters. An example file is:

View File

@ -1,195 +0,0 @@
--- a/src/environ.c
+++ b/src/environ.c
@@ -4,7 +4,7 @@
#endif
#include "environ.h"
-int check_env()
+int check_env(void)
{
if (getenv(SHASH_KEY) != NULL
@@ -15,7 +15,7 @@
}
char *
- get_env_key()
+ get_env_key(void)
{
if (getenv(SHASH_KEY) != NULL) {
@@ -26,7 +26,7 @@
}
-char *get_env_bit_mode()
+char *get_env_bit_mode(void)
{
return getenv(SHASH_KEYMODE);
--- a/src/environ.h
+++ b/src/environ.h
@@ -3,7 +3,7 @@
#define SHASH_KEY "SHASH_KEY"
#define SHASH_KEYMODE "SHASH_KEYMODE"
-int check_env();
-char * get_env_key();
-char * get_env_bit_mode();
+int check_env(void);
+char * get_env_key(void);
+char * get_env_bit_mode(void);
--- a/src/errors.c
+++ b/src/errors.c
@@ -1,5 +1,7 @@
#include <defines.h>
+#include <stdio.h>
+
extern int quiet;
void err_quit(char *errmsg)
--- a/src/extra.c
+++ b/src/extra.c
@@ -1,5 +1,10 @@
#include <defines.h>
+#include <pwd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+
#ifdef HAVE_STAT
int check_file(char *filename)
--- a/src/gaaout.c
+++ b/src/gaaout.c
@@ -11,6 +11,11 @@
#endif
#endif
+void hash_license(void);
+void hash_version(void);
+void list_keygen_algorithms(void);
+int hash_list(void);
+
void* gaa_malloc( size_t size) {
void* ret;
ret = malloc(size);
--- a/src/random.c
+++ b/src/random.c
@@ -24,7 +24,7 @@
static FILE *ffd;
word32
-get_rand32()
+get_rand32(void)
{
int fd, x;
word32 rand_data;
@@ -46,7 +46,7 @@
word8
-get_rand8()
+get_rand8(void)
{
int fd, x;
@@ -69,7 +69,7 @@
word32
-get_safe_rand32()
+get_safe_rand32(void)
{
int fd, x;
word32 rand_data;
@@ -91,7 +91,7 @@
word8
-get_safe_rand8()
+get_safe_rand8(void)
{
int fd, x;
@@ -131,13 +131,13 @@
return 0;
}
-void close_rand()
+void close_rand(void)
{
fclose(ffd);
}
word32
-get_o_rand32()
+get_o_rand32(void)
{
int x;
word32 rand_data;
@@ -152,7 +152,7 @@
}
word8
-get_o_rand8()
+get_o_rand8(void)
{
int x;
--- a/src/random.h
+++ b/src/random.h
@@ -1,14 +1,14 @@
#ifdef HAVE_DEV_RANDOM
-word32 get_rand32();
-word8 get_rand8();
-word32 get_safe_rand32();
-word8 get_safe_rand8();
+word32 get_rand32(void);
+word8 get_rand8(void);
+word32 get_safe_rand32(void);
+word8 get_safe_rand8(void);
int open_rand(int);
-void close_rand();
-word32 get_o_rand32();
-word8 get_o_rand8();
+void close_rand(void);
+word32 get_o_rand32(void);
+word8 get_o_rand8(void);
#endif
--- a/src/shash.c
+++ b/src/shash.c
@@ -485,7 +485,7 @@
}
}
-int hash_list()
+int hash_list(void)
{
hashid i;
char *y;
@@ -715,7 +715,7 @@
return counter;
}
-void hash_license()
+void hash_license(void)
{
fprintf(stdout, ("\nCopyright (C) 1999,2001,2002 Nikos Mavroyanopoulos\n"
"This program is free software; you can redistribute it and/or modify \n"
@@ -733,7 +733,7 @@
"Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\n\n"));
}
-void hash_version()
+void hash_version(void)
{
fprintf(stderr, ("shash v.%s (%s-%s-%s)\n"), VERSION, T_CPU,
T_VENDOR, T_OS);

View File

@ -1,34 +0,0 @@
--- a/src/shash.c
+++ b/src/shash.c
@@ -631,11 +631,11 @@
if (nosalt == FALSE && hmac == 1) {
if (sscanf
- (linebuf, "%s %s %s\n", hexbuffer, buffer,
- buffer2) < 2) {
+ (linebuf, "%s %s *%s\n", hexbuffer, buffer,
+ buffer2) != 3) {
if (sscanf
- (linebuf, "%s %s *%s\n", hexbuffer,
- buffer, buffer2) < 2)
+ (linebuf, "%s %s %s\n", hexbuffer,
+ buffer, buffer2) != 3)
continue;
}
@@ -648,11 +648,11 @@
key = pass2key(algorithm, keymode_buffer, &keylen, password, plen);
} else {
- if (sscanf(linebuf, "%s %s\n", buffer, buffer2) ==
- 0) {
+ if (sscanf(linebuf, "%s *%s\n", buffer, buffer2) !=
+ 2) {
if (sscanf
- (linebuf, "%s *%s\n", buffer,
- buffer2) == 0)
+ (linebuf, "%s %s\n", buffer,
+ buffer2) != 2)
continue;
}

View File

@ -1,28 +0,0 @@
--- a/src/errors.c
+++ b/src/errors.c
@@ -4,7 +4,7 @@
void err_quit(char *errmsg)
{
- fprintf(stderr, errmsg);
+ fputs(errmsg, stderr);
exit(-1);
}
@@ -12,7 +12,7 @@
{
if (quiet < 1) {
- fprintf(stderr, errmsg);
+ fputs(errmsg, stderr);
}
}
@@ -20,6 +20,6 @@
void err_crit(char *errmsg)
{
if (quiet <= 2) {
- fprintf(stderr, errmsg);
+ fputs(errmsg, stderr);
}
}

View File

@ -1,38 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
#
# shash(1) completion.
_shash() {
local cur prev
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
case "${prev}" in
-c|--config)
_filedir
return 0 ;;
-o|--keymode)
COMPREPLY=( $( compgen -W "$( shash --listkeygen | tail -n +2 )" \
-- ${cur} ) )
return ;;
-a|--algorithm)
COMPREPLY=( $( compgen -W "$( shash --list )" \
-- ${cur} ) )
return ;;
*)
;;
esac
COMPREPLY=( $( compgen -W '-V -q -m -d -c -b -t -o -i -a -l -k -h -v \
-L \
--verbose --quiet --nosalt --time --hmac --doublecheck \
--check --binary --text --keymode --config --algorithm \
--list --key --listkeygen --help --version --license' \
-- ${cur} ) )
_filedir
return 0
}
complete -F _shash ${filenames} shash

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>swegener@gentoo.org</email>
<name>Sven Wegener</name>
</maintainer>
<longdescription>shash is a command-line interface for libmhash and is used to generate or check digests or MACs of files.</longdescription>
</pkgmetadata>

View File

@ -1,42 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools bash-completion-r1
DESCRIPTION="Generate or check digests or MACs of files"
HOMEPAGE="http://mcrypt.hellug.gr/shash/"
SRC_URI="ftp://mcrypt.hellug.gr/pub/mcrypt/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="static"
DEPEND="
>=app-crypt/mhash-0.8.18-r1
static? ( app-crypt/mhash[static-libs(+)] )"
RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}"/${PV}-manpage-fixes.patch
"${FILESDIR}"/${P}-binary-files.patch
"${FILESDIR}"/${P}-format-security.patch
"${FILESDIR}"/${P}-C99-decls.patch
)
src_prepare() {
default
eautoreconf
}
src_configure() {
econf $(use_enable static static-link)
}
src_install() {
default
dodoc doc/sample.shashrc doc/FORMAT
newbashcomp "${FILESDIR}"/shash.bash-completion ${PN}
}