head 1.4; access; symbols pkgsrc-2013Q2:1.4.0.6 pkgsrc-2013Q2-base:1.4 pkgsrc-2012Q4:1.4.0.4 pkgsrc-2012Q4-base:1.4 pkgsrc-2011Q4:1.4.0.2 pkgsrc-2011Q4-base:1.4 pkgsrc-2011Q3:1.3.0.16 pkgsrc-2011Q3-base:1.3 pkgsrc-2011Q2:1.3.0.14 pkgsrc-2011Q2-base:1.3 pkgsrc-2011Q1:1.3.0.12 pkgsrc-2011Q1-base:1.3 pkgsrc-2010Q4:1.3.0.10 pkgsrc-2010Q4-base:1.3 pkgsrc-2010Q3:1.3.0.8 pkgsrc-2010Q3-base:1.3 pkgsrc-2010Q2:1.3.0.6 pkgsrc-2010Q2-base:1.3 pkgsrc-2010Q1:1.3.0.4 pkgsrc-2010Q1-base:1.3 pkgsrc-2009Q4:1.3.0.2 pkgsrc-2009Q4-base:1.3 pkgsrc-2008Q4:1.1.0.4 pkgsrc-2008Q4-base:1.1 pkgsrc-2008Q3:1.1.0.2 pkgsrc-2008Q3-base:1.1; locks; strict; comment @# @; 1.4 date 2011.11.27.13.05.33; author obache; state dead; branches; next 1.3; 1.3 date 2009.12.15.13.11.18; author taca; state Exp; branches; next 1.2; 1.2 date 2009.02.15.07.07.23; author obache; state dead; branches; next 1.1; 1.1 date 2008.09.19.19.47.07; author joerg; state Exp; branches; next ; desc @@ 1.4 log @Update cue to 20100426. Based on PR pkg/45557 by YAMAMOTO Takeshi. Some bug fixes include most of pkgsrc patches. @ text @$NetBSD: patch-ae,v 1.3 2009/12/15 13:11:18 taca Exp $ * Fix for OpenSSL 1.0.0 beta. (STACK has gone.) * Use proper sk_TYPE_num, sk_TYPE_value for each TYPE. --- smime.c.orig 2008-06-03 10:58:57.000000000 +0900 +++ smime.c @@@@ -108,7 +108,7 @@@@ smime_decrypt(struct state *state) struct header *hdr; char buf[BUFSIZ]; #ifndef OPENSSL_BUG_FIXED - STACK *sk; + STACK_OF(PKCS7_RECIP_INFO) *sk; PKCS7_RECIP_INFO *ri; #endif @@@@ -174,10 +174,10 @@@@ smime_decrypt(struct state *state) sk = NULL; break; case NID_pkcs7_signedAndEnveloped: - sk = (STACK *)p7->d.signed_and_enveloped->recipientinfo; + sk = p7->d.signed_and_enveloped->recipientinfo; break; case NID_pkcs7_enveloped: - sk = (STACK *)p7->d.enveloped->recipientinfo; + sk = p7->d.enveloped->recipientinfo; break; default: sk = NULL; @@@@ -185,7 +185,7 @@@@ smime_decrypt(struct state *state) } if (sk) { for (;;) { - if (sk_num(sk) == 0) { + if (sk_PKCS7_RECIP_INFO_num(sk) == 0) { strlcpy(state->status, "Cannot find recipient info for me\n", sizeof(state->status)); @@@@ -194,11 +194,11 @@@@ smime_decrypt(struct state *state) PKCS7_free(p7); return -1; } - ri=(PKCS7_RECIP_INFO *)sk_value(sk,0); + ri=sk_PKCS7_RECIP_INFO_value(sk,0); if (X509_name_cmp(ri->issuer_and_serial->issuer, X509_get_issuer_name(x509)) == 0 && ASN1_INTEGER_cmp(ri->issuer_and_serial->serial, X509_get_serialNumber(x509)) == 0) break; - sk_shift(sk); + sk_PKCS7_RECIP_INFO_shift(sk); PKCS7_RECIP_INFO_free(ri); } } @@@@ -401,7 +401,7 @@@@ smime_verify(struct state *state) cbuf_t *cb, cbuf, sproto, from; int i, ret; PKCS7 *p7; - STACK *sk; + STACK_OF(PKCS7_SIGNER_INFO) *sk; char *p, *ep; BIO *detached, *p7bio; PKCS7_SIGNER_INFO *si; @@@@ -496,11 +496,11 @@@@ BIO_read_filename(detached, "/tmp/smime. getenv("SSL_CERT_DIR")); ERR_clear_error(); - sk = (STACK *)PKCS7_get_signer_info(p7); + sk = PKCS7_get_signer_info(p7); strlcpy(state->status, "S/MIME verify OK", sizeof(state->status)); ret = 1; - for (i = 0; i < sk_num(sk); i++) { - si = (PKCS7_SIGNER_INFO *)sk_value(sk, i); + for (i = 0; i < sk_PKCS7_SIGNER_INFO_num(sk); i++) { + si = sk_PKCS7_SIGNER_INFO_value(sk, i); if (PKCS7_dataVerify(cert_store, &cert_ctx, p7bio, p7, si) <= 0) { ret = -1; snprintf(state->status, sizeof(state->status), @@@@ -560,7 +560,7 @@@@ smime_sign(struct state *state) { int i; PKCS7 *p7; - STACK *sk; + STACK_OF(X509) *sk; char *p; BIO *in, *p7bio; PKCS7_SIGNER_INFO *si; @@@@ -675,9 +675,9 @@@@ smime_sign(struct state *state) PKCS7_free(p7); return 0; } - sk = (STACK *)X509_STORE_CTX_get_chain(&cert_ctx); - for (i = 0; i < sk_num(sk); i++) { - x = (X509 *)sk_value(sk, i); + sk = X509_STORE_CTX_get_chain(&cert_ctx); + for (i = 0; i < sk_X509_num(sk); i++) { + x = sk_X509_value(sk, i); PKCS7_add_certificate(p7, x); } @@@@ -975,7 +975,7 @@@@ smime_encrypt(struct state *state) BIO_ctrl(p7bio, BIO_C_GET_CIPHER_CTX, 1, (char *)&ctx); if (EVP_CIPHER_CTX_nid(ctx) == NID_rc2_cbc) { const EVP_CIPHER *cipher; - STACK *rsk; + STACK_OF(PKCS7_RECIP_INFO) *rsk; PKCS7_RECIP_INFO *ri; u_char key[EVP_MAX_KEY_LENGTH]; u_char iv[EVP_MAX_IV_LENGTH]; @@@@ -983,7 +983,7 @@@@ smime_encrypt(struct state *state) int keylen, ivlen, buflen, len; u_char *buf, *q; - rsk = (STACK *)p7->d.enveloped->recipientinfo; + rsk = p7->d.enveloped->recipientinfo; cipher = EVP_rc2_40_cbc(); /* XXX */ keylen = EVP_CIPHER_key_length(cipher); ivlen = EVP_CIPHER_iv_length(cipher); @@@@ -992,8 +992,8 @@@@ smime_encrypt(struct state *state) EVP_CipherInit(ctx, cipher, key, iv, 1); buf = NULL; buflen = 0; - for (i = 0; i < sk_num(rsk); i++) { - ri = (PKCS7_RECIP_INFO *)sk_value(rsk, i); + for (i = 0; i < sk_PKCS7_RECIP_INFO_num(rsk); i++) { + ri = sk_PKCS7_RECIP_INFO_value(rsk, i); pkey = X509_get_pubkey(ri->cert); len = EVP_PKEY_size(pkey); if (buflen < len) { @ 1.3 log @Overhaul mail/cue pacakge. * Add patches to fix build problem with OpenSSL 1.0.0 beta and later. * Generase "-DUSE_SSL" instead of "-DSSL". Similar changes are CANNA and ZLIB. (In the case of ZLIB, it could be change to use HAVE_ZLIB_H.) * Split Makefile to use hacks.mk and options.mk. * And miscellaneous pkglint clean up. There should be no functional change and fix PR pkg/42452. @ text @d1 1 a1 1 $NetBSD$ @ 1.2 log @Upadte cue to 20090209. Patch provided by YAMAMOTO Takashi in PR 40623. no changelog... @ text @d1 1 a1 1 $NetBSD: patch-ae,v 1.1 2008/09/19 19:47:07 joerg Exp $ d3 4 a6 1 --- smime.c.orig 2007-06-11 19:40:21.000000000 +0200 d8 34 a41 11 @@@@ -41,6 +41,7 @@@@ #include #include #include +#include #else /* OPENSSL */ #include #include @@@@ -1003,7 +1004,11 @@@@ smime_encrypt(struct state *state) buf = q; buflen = len; d43 8 a50 6 +#if OPENSSL_VERSION_NUMBER >= 0x00909000L + len = EVP_PKEY_encrypt_old(buf, key, keylen, pkey); +#else len = EVP_PKEY_encrypt(buf, key, keylen, pkey); +#endif ASN1_OCTET_STRING_set(ri->enc_key, buf, len); d52 76 a127 1 if (buf) @ 1.1 log @Catch up with OpenSSL interface changes. @ text @d1 1 a1 1 $NetBSD$ @