Package Details: qsf 1.2.23-1

Git Clone URL: https://aur.archlinux.org/qsf.git (read-only, click to copy)
Package Base: qsf
Description: small and fast bayesian spam filter
Upstream URL: https://ivarch.com/programs/qsf/
Licenses: Artistic-2.0
Submitter: DaTa
Maintainer: DaTa
Last Packager: DaTa
Votes: 1
Popularity: 0.000000
First Submitted: 2015-08-18 15:40 (UTC)
Last Updated: 2025-07-09 22:17 (UTC)

Dependencies (1)

Required by (0)

Sources (2)

Latest Comments

vcalv commented on 2025-07-06 17:22 (UTC)

The upstream fixed it and I've created the qsf-git package to allow anyone to install this.

vcalv commented on 2025-07-05 21:29 (UTC) (edited on 2025-07-05 21:53 (UTC) by vcalv)

Please also add the asc file to allow for pgp signature check

And the license is Artistic-2.0

The current identifier isn't even standard.

vcalv commented on 2025-07-05 15:53 (UTC) (edited on 2025-07-05 16:03 (UTC) by vcalv)

Needs to be patched with something like this:

--- qsf-1.2.15/src/include/md5.h    2014-12-22 11:08:30.000000000 -0500
+++ qsf-1.2.15.good/src/include/md5.h   2025-07-05 11:50:48.930769437 -0400
@@ -11,10 +11,10 @@
         unsigned char in[64];
 };

-extern void MD5Init();
-extern void MD5Update();
-extern void MD5Final();
-extern void MD5Transform();
+extern void MD5Init(struct MD5Context *ctx);
+extern void MD5Update(struct MD5Context *ctx, unsigned char *buf, unsigned int len);
+extern void MD5Final(unsigned char digest[16], struct MD5Context *ctx);
+extern void MD5Transform(uint32 buf[4], uint32 in[16]);

 /*
  * This is needed to make RSAREF happy on some MS-DOS compilers.

I don't even understand how this compiled...

I've reported to the upstream as well.

vcalv commented on 2025-07-05 04:06 (UTC)

Build errors:

src/md5.c:44:6: error: conflicting types for ‘MD5Init’; have ‘void(struct MD5Context *)’
   44 | void MD5Init(struct MD5Context *ctx)
      |      ^~~~~~~
In file included from src/md5.c:19:
./src/include/md5.h:14:13: note: previous declaration of ‘MD5Init’ with type ‘void(void)’
   14 | extern void MD5Init();
      |             ^~~~~~~
src/md5.c:59:6: error: conflicting types for ‘MD5Update’; have ‘void(struct MD5Context *, unsigned char *, unsigned int)’
   59 | void MD5Update(struct MD5Context *ctx, unsigned char *buf,
      |      ^~~~~~~~~
./src/include/md5.h:15:13: note: previous declaration of ‘MD5Update’ with type ‘void(void)’
   15 | extern void MD5Update();
      |             ^~~~~~~~~
src/md5.c: In function ‘MD5Update’:
src/md5.c:85:17: error: too many arguments to function ‘MD5Transform’; expected 0, have 2
   85 |                 MD5Transform(ctx->buf, (uint32 *) ctx->in);
      |                 ^~~~~~~~~~~~ ~~~~~~~~
./src/include/md5.h:17:13: note: declared here
   17 | extern void MD5Transform();
      |             ^~~~~~~~~~~~
src/md5.c:94:17: error: too many arguments to function ‘MD5Transform’; expected 0, have 2
   94 |                 MD5Transform(ctx->buf, (uint32 *) ctx->in);
      |                 ^~~~~~~~~~~~ ~~~~~~~~
./src/include/md5.h:17:13: note: declared here
   17 | extern void MD5Transform();
      |             ^~~~~~~~~~~~
src/md5.c: At top level:
src/md5.c:108:6: error: conflicting types for ‘MD5Final’; have ‘void(unsigned char *, struct MD5Context *)’
  108 | void MD5Final(unsigned char digest[16], struct MD5Context *ctx)
      |      ^~~~~~~~
./src/include/md5.h:16:13: note: previous declaration of ‘MD5Final’ with type ‘void(void)’
   16 | extern void MD5Final();
      |             ^~~~~~~~
src/md5.c: In function ‘MD5Final’:
src/md5.c:129:17: error: too many arguments to function ‘MD5Transform’; expected 0, have 2
  129 |                 MD5Transform(ctx->buf, (uint32 *) ctx->in);
      |                 ^~~~~~~~~~~~ ~~~~~~~~
./src/include/md5.h:17:13: note: declared here
   17 | extern void MD5Transform();
      |             ^~~~~~~~~~~~
src/md5.c:143:9: error: too many arguments to function ‘MD5Transform’; expected 0, have 2
  143 |         MD5Transform(ctx->buf, (uint32 *) ctx->in);
      |         ^~~~~~~~~~~~ ~~~~~~~~
./src/include/md5.h:17:13: note: declared here
   17 | extern void MD5Transform();
      |             ^~~~~~~~~~~~
src/md5.c: At top level:
src/md5.c:167:6: error: conflicting types for ‘MD5Transform’; have ‘void(uint32 *, uint32 *)’ {aka ‘void(unsigned int *, unsigned int *)’}
  167 | void MD5Transform(uint32 buf[4], uint32 in[16])
      |      ^~~~~~~~~~~~
./src/include/md5.h:17:13: note: previous declaration of ‘MD5Transform’ with type ‘void(void)’
   17 | extern void MD5Transform();
      |             ^~~~~~~~~~~~
gcc -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -flto -D_FORTIFY_SOURCE=2 -I./src/include -Isrc/include -DHAVE_CONFIG_H -c -o src/db/btree.o src/db/btree.c
make: *** [Makefile:624: src/md5.o] Error 1
make: *** Waiting for unfinished jobs....