FreeBSD Bugzilla – Attachment 107377 Details for
Bug 148164
[PATCH] security/opensc: Fix build against security/libassuan 2.0.0
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
opensc-0.11.13_2.patch
opensc-0.11.13_2.patch (text/plain), 4.12 KB, created by
Mario Sergio Fujikawa Ferreira
on 2010-06-26 10:50:04 UTC
(
hide
)
Description:
opensc-0.11.13_2.patch
Filename:
MIME Type:
Creator:
Mario Sergio Fujikawa Ferreira
Created:
2010-06-26 10:50:04 UTC
Size:
4.12 KB
patch
obsolete
>Index: Makefile >=================================================================== >RCS file: /home/pcvs/ports/security/opensc/Makefile,v >retrieving revision 1.42 >diff -d -u -u -r1.42 Makefile >--- Makefile 14 Jun 2010 00:42:52 -0000 1.42 >+++ Makefile 26 Jun 2010 09:47:03 -0000 >@@ -7,7 +7,7 @@ > > PORTNAME= opensc > PORTVERSION= 0.11.13 >-PORTREVISION= 1 >+PORTREVISION= 2 > CATEGORIES= security devel > MASTER_SITES= http://www.opensc-project.org/files/${PORTNAME}/ \ > http://www.opensc-project.org/files/${PORTNAME}/testing/ >@@ -76,7 +76,7 @@ > .endif > > .if defined(WITH_SIGNER) >-BUILD_DEPENDS+= ${LOCALBASE}/lib/libassuan.a:${PORTSDIR}/security/libassuan-1 >+LIB_DEPENDS= assuan.0:${PORTSDIR}/security/libassuan > PINENTRY?= ${LOCALBASE}/bin/pinentry > PINENTRY_PORT?= security/pinentry > RUN_DEPENDS+= pinentry:${PORTSDIR}/${PINENTRY_PORT} >@@ -101,6 +101,8 @@ > post-patch: > @${REINPLACE_CMD} 's|(libdir)/pkgconfig|(prefix)/libdata/pkgconfig|' \ > ${WRKSRC}/configure >+ @${REINPLACE_CMD} 's|tmp=1:0\.9\.2|tmp=2:2.0.0|' \ >+ ${WRKSRC}/configure > .if !defined(WITH_SIGNER) > @${REINPLACE_CMD} 's|install-data-am: install-pluginDATA|install-data-am:|' \ > ${WRKSRC}/src/signer/Makefile.in >Index: files/patch-src__signer__dialog.c >=================================================================== >RCS file: files/patch-src__signer__dialog.c >diff -N files/patch-src__signer__dialog.c >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ files/patch-src__signer__dialog.c 26 Jun 2010 09:47:03 -0000 >@@ -0,0 +1,97 @@ >+--- src/signer/dialog.c.orig 2010-02-16 07:03:25.000000000 -0200 >++++ src/signer/dialog.c 2010-06-26 06:42:17.000000000 -0300 >+@@ -15,31 +15,31 @@ >+ char *buffer; >+ }; >+ >+-static AssuanError >++static gpg_error_t >+ getpin_cb (void *opaque, const void *buffer, size_t length) >+ { >+ struct entry_parm_s *parm = (struct entry_parm_s *) opaque; >+ >+ /* we expect the pin to fit on one line */ >+ if (parm->lines || length >= parm->size) >+- return ASSUAN_Too_Much_Data; >++ return gpg_error(GPG_ERR_ASS_TOO_MUCH_DATA); >+ >+ /* fixme: we should make sure that the assuan buffer is allocated in >+ secure memory or read the response byte by byte */ >+ memcpy(parm->buffer, buffer, length); >+ parm->buffer[length] = 0; >+ parm->lines++; >+- return (AssuanError) 0; >++ return gpg_error(GPG_ERR_NO_ERROR); >+ } >+ >+ int ask_and_verify_pin_code(struct sc_pkcs15_card *p15card, >+ struct sc_pkcs15_object *pin) >+ { >+- int r; >++ gpg_error_t r; >+ size_t len; >+ const char *argv[3]; >+ const char *pgmname = PIN_ENTRY; >+- ASSUAN_CONTEXT ctx; >++ assuan_context_t ctx = NULL; >+ char buf[500]; >+ char errtext[100]; >+ struct entry_parm_s parm; >+@@ -48,16 +48,26 @@ >+ argv[0] = pgmname; >+ argv[1] = NULL; >+ >+- r = assuan_pipe_connect(&ctx, pgmname, (char **) argv, NULL); >++ assuan_set_gpg_err_source (GPG_ERR_SOURCE_DEFAULT); >++ >++ r = assuan_new(&ctx); >++ if (r) { >++ printf("Can't initialize assuan context: %s\n)", >++ gpg_strerror(r)); >++ goto err; >++ } >++ >++ r = assuan_pipe_connect(ctx, pgmname, (const char **) argv, \ >++ NULL, NULL, NULL, 0); >+ if (r) { >+ printf("Can't connect to the PIN entry module: %s\n", >+- assuan_strerror((AssuanError) r)); >++ gpg_strerror(r)); >+ goto err; >+ } >+ sprintf(buf, "SETDESC Enter PIN [%s] for digital signing ", pin->label); >+ r = assuan_transact(ctx, buf, NULL, NULL, NULL, NULL, NULL, NULL); >+ if (r) { >+- printf("SETDESC: %s\n", assuan_strerror((AssuanError) r)); >++ printf("SETDESC: %s\n", gpg_strerror(r)); >+ goto err; >+ } >+ errtext[0] = 0; >+@@ -71,12 +81,12 @@ >+ parm.size = sizeof(buf); >+ parm.buffer = buf; >+ r = assuan_transact(ctx, "GETPIN", getpin_cb, &parm, NULL, NULL, NULL, NULL); >+- if (r == ASSUAN_Canceled) { >+- assuan_disconnect(ctx); >++ if (gpg_err_code(r) == GPG_ERR_ASS_CANCELED) { >++ assuan_release(ctx); >+ return -2; >+ } >+ if (r) { >+- printf("GETPIN: %s\n", assuan_strerror((AssuanError) r)); >++ printf("GETPIN: %s\n", gpg_strerror(r)); >+ goto err; >+ } >+ len = strlen(buf); >+@@ -104,9 +114,9 @@ >+ break; >+ } >+ >+- assuan_disconnect(ctx); >++ assuan_release(ctx); >+ return 0; >+ err: >+- assuan_disconnect(ctx); >++ assuan_release(ctx); >+ return -1; >+ }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 148164
: 107377