fix a problem with the curses widget and non-UTF8 locales: keys which used less bytes in the system encoding than in the UTF8 passed to the caller caused that the passphrase got truncated because only the input length was accounted for bump PKGREVISIONdiff -r1.24 -r1.25 pkgsrc/security/pinentry/Makefile
(drochner)
@@ -1,17 +1,18 @@ | @@ -1,17 +1,18 @@ | |||
1 | # $NetBSD: Makefile,v 1.24 2010/02/08 11:44:39 drochner Exp $ | 1 | # $NetBSD: Makefile,v 1.25 2010/02/22 17:19:09 drochner Exp $ | |
2 | # | 2 | # | |
3 | 3 | |||
4 | DISTNAME= pinentry-0.7.6 | 4 | DISTNAME= pinentry-0.7.6 | |
5 | PKGREVISION= 1 | |||
5 | CATEGORIES= security | 6 | CATEGORIES= security | |
6 | MASTER_SITES= ftp://ftp.gnupg.org/gcrypt/pinentry/ | 7 | MASTER_SITES= ftp://ftp.gnupg.org/gcrypt/pinentry/ | |
7 | 8 | |||
8 | MAINTAINER= shannonjr@NetBSD.org | 9 | MAINTAINER= shannonjr@NetBSD.org | |
9 | HOMEPAGE= ftp://ftp.gnupg.org/gcrypt/pinentry/ | 10 | HOMEPAGE= ftp://ftp.gnupg.org/gcrypt/pinentry/ | |
10 | COMMENT= Applications for entering PINs or Passphrases | 11 | COMMENT= Applications for entering PINs or Passphrases | |
11 | 12 | |||
12 | PKG_DESTDIR_SUPPORT= user-destdir | 13 | PKG_DESTDIR_SUPPORT= user-destdir | |
13 | 14 | |||
14 | GNU_CONFIGURE= yes | 15 | GNU_CONFIGURE= yes | |
15 | CONFIGURE_ARGS+= --with-libiconv-prefix=${BUILDLINK_PREFIX.iconv} | 16 | CONFIGURE_ARGS+= --with-libiconv-prefix=${BUILDLINK_PREFIX.iconv} | |
16 | 17 | |||
17 | INFO_FILES= yes | 18 | INFO_FILES= yes |
@@ -1,5 +1,6 @@ | @@ -1,5 +1,6 @@ | |||
1 | $NetBSD: distinfo,v 1.5 2009/12/15 19:50:47 drochner Exp $ | 1 | $NetBSD: distinfo,v 1.6 2010/02/22 17:19:09 drochner Exp $ | |
2 | 2 | |||
3 | SHA1 (pinentry-0.7.6.tar.gz) = 0c525ce81e5589bc9a4f2eb72705bed2b3e9a8b9 | 3 | SHA1 (pinentry-0.7.6.tar.gz) = 0c525ce81e5589bc9a4f2eb72705bed2b3e9a8b9 | |
4 | RMD160 (pinentry-0.7.6.tar.gz) = 6e69eee88b5cbb919ced79971cd4794f5e659023 | 4 | RMD160 (pinentry-0.7.6.tar.gz) = 6e69eee88b5cbb919ced79971cd4794f5e659023 | |
5 | Size (pinentry-0.7.6.tar.gz) = 475101 bytes | 5 | Size (pinentry-0.7.6.tar.gz) = 475101 bytes | |
6 | SHA1 (patch-aa) = cd30ad4f3a3737687dc5786ebd861ef3b17c600e |
$NetBSD: patch-aa,v 1.3 2010/02/22 17:19:09 drochner Exp $
--- pinentry/pinentry-curses.c.orig 2009-04-16 15:06:53.000000000 +0000
+++ pinentry/pinentry-curses.c
@@ -819,8 +819,10 @@ dialog_run (pinentry_t pinentry, const c
if (pin_utf8)
{
pinentry_setbufferlen (pinentry, strlen (pin_utf8) + 1);
- if (pinentry->pin)
+ if (pinentry->pin) {
strcpy (pinentry->pin, pin_utf8);
+ diag.pin_len = strlen (pin_utf8);
+ }
secmem_free (pin_utf8);
pinentry->locale_err = 0;
}