From c23558707b661927eeb5de4d7abe2d7a7960e7d2 Mon Sep 17 00:00:00 2001 From: Sepherosa Ziehau Date: Sat, 9 Feb 2013 13:19:32 +0800 Subject: [PATCH 01/16] pf: Fix set-but-unused gcc47 warning --- sys/net/pf/pf.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sys/net/pf/pf.c b/sys/net/pf/pf.c index c43c47f695..5afc475e8e 100644 --- a/sys/net/pf/pf.c +++ b/sys/net/pf/pf.c @@ -5607,7 +5607,6 @@ pf_route6(struct mbuf **m, struct pf_rule *r, int dir, struct ifnet *oifp, struct ifnet *ifp = NULL; struct pf_addr naddr; struct pf_src_node *sn = NULL; - int error = 0; if (m == NULL || *m == NULL || r == NULL || (dir != PF_IN && dir != PF_OUT) || oifp == NULL) @@ -5704,7 +5703,7 @@ pf_route6(struct mbuf **m, struct pf_rule *r, int dir, struct ifnet *oifp, if (IN6_IS_ADDR_LINKLOCAL(&dst->sin6_addr)) dst->sin6_addr.s6_addr16[1] = htons(ifp->if_index); if ((u_long)m0->m_pkthdr.len <= ifp->if_mtu) { - error = nd6_output(ifp, ifp, m0, dst, NULL); + nd6_output(ifp, ifp, m0, dst, NULL); } else { in6_ifstat_inc(ifp, ifs6_in_toobig); if (r->rt != PF_DUPTO) @@ -5887,7 +5886,10 @@ pf_test(int dir, struct ifnet *ifp, struct mbuf **m0, struct pf_state *s = NULL; struct pf_ruleset *ruleset = NULL; struct pf_pdesc pd; - int off, dirndx, pqid = 0; + int off, dirndx; +#ifdef ALTQ + int pqid = 0; +#endif if (!pf_status.running) return (PF_PASS); @@ -5979,8 +5981,10 @@ pf_test(int dir, struct ifnet *ifp, struct mbuf **m0, goto done; } pd.p_len = pd.tot_len - off - (th.th_off << 2); +#ifdef ALTQ if ((th.th_flags & TH_ACK) && pd.p_len == 0) pqid = 1; +#endif action = pf_normalize_tcp(dir, kif, m, 0, off, h, &pd); if (action == PF_DROP) goto done; -- 2.41.0 From effb40c8d1ffed9a461d4136a276566af7e29aaa Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fran=C3=A7ois=20Tigeot?= Date: Wed, 6 Feb 2013 09:11:04 +0100 Subject: [PATCH 02/16] kernel: Properly lock dounmount() * dounmount() wasn't properly locked, make it grab the mntvnode_token * It is necessary to synchronize against insmntque() clearing the vnode linkage * This commit fixes issue #2506 Thanks to vsrinivas for directions --- sys/kern/vfs_syscalls.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index 53cf1bf24e..eec6025b4e 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -663,11 +663,12 @@ dounmount(struct mount *mp, int flags) int lflags; int freeok = 1; + lwkt_gettoken(&mntvnode_token); /* * Exclusive access for unmounting purposes */ if ((error = mountlist_interlock(dounmount_interlock, mp)) != 0) - return (error); + goto out; /* * Allow filesystems to detect that a forced unmount is in progress. @@ -680,7 +681,7 @@ dounmount(struct mount *mp, int flags) mp->mnt_kern_flag &= ~(MNTK_UNMOUNT | MNTK_UNMOUNTF); if (mp->mnt_kern_flag & MNTK_MWAIT) wakeup(mp); - return (error); + goto out; } if (mp->mnt_flag & MNT_EXPUBLIC) @@ -768,7 +769,7 @@ dounmount(struct mount *mp, int flags) lockmgr(&mp->mnt_lock, LK_RELEASE); if (mp->mnt_kern_flag & MNTK_MWAIT) wakeup(mp); - return (error); + goto out; } /* * Clean up any journals still associated with the mount after @@ -810,7 +811,10 @@ dounmount(struct mount *mp, int flags) wakeup(mp); if (freeok) kfree(mp, M_MOUNT); - return (0); + error = 0; +out: + lwkt_reltoken(&mntvnode_token); + return (error); } static -- 2.41.0 From 9bb344e0f8c9441182ecf7854e667ef3d01e23bb Mon Sep 17 00:00:00 2001 From: Peter Avalos Date: Sun, 10 Feb 2013 01:23:52 -0800 Subject: [PATCH 03/16] Import OpenSSL-1.0.1d. o Fix renegotiation in TLS 1.1, 1.2 by using the correct TLS version. o Fix OCSP bad key DoS attack CVE-2013-0166 o Fix for SSL/TLS/DTLS CBC plaintext recovery attack CVE-2013-0169 o Fix for TLS AESNI record handling flaw CVE-2012-2686 --- crypto/openssl/CHANGES | 43 + crypto/openssl/FAQ | 2 +- crypto/openssl/NEWS | 8 + crypto/openssl/PROBLEMS | 14 + crypto/openssl/README | 2 +- crypto/openssl/README.DELETED | 1 + crypto/openssl/apps/apps.c | 5 +- crypto/openssl/apps/ca.c | 1 + crypto/openssl/apps/cms.c | 4 + crypto/openssl/apps/dgst.c | 4 +- crypto/openssl/apps/dhparam.c | 1 - crypto/openssl/apps/dsaparam.c | 9 +- crypto/openssl/apps/genrsa.c | 2 +- crypto/openssl/apps/ocsp.c | 2 +- crypto/openssl/apps/s_cb.c | 6 +- crypto/openssl/apps/s_client.c | 10 +- crypto/openssl/apps/s_server.c | 53 +- crypto/openssl/apps/speed.c | 4 +- crypto/openssl/apps/srp.c | 30 +- crypto/openssl/apps/verify.c | 27 +- crypto/openssl/apps/x509.c | 4 +- crypto/openssl/crypto/aes/asm/aes-x86_64.pl | 3 +- .../crypto/aes/asm/aesni-sha1-x86_64.pl | 3 +- crypto/openssl/crypto/aes/asm/aesni-x86_64.pl | 3 +- crypto/openssl/crypto/aes/asm/bsaes-x86_64.pl | 3 +- crypto/openssl/crypto/aes/asm/vpaes-x86_64.pl | 3 +- crypto/openssl/crypto/asn1/a_strex.c | 1 + crypto/openssl/crypto/asn1/a_verify.c | 6 + crypto/openssl/crypto/asn1/x_pubkey.c | 5 +- crypto/openssl/crypto/bio/bss_dgram.c | 85 +- .../openssl/crypto/bn/asm/modexp512-x86_64.pl | 3 +- crypto/openssl/crypto/bn/asm/x86_64-gf2m.pl | 2 +- crypto/openssl/crypto/bn/asm/x86_64-mont.pl | 3 +- crypto/openssl/crypto/bn/asm/x86_64-mont5.pl | 3 +- crypto/openssl/crypto/bn/bn_div.c | 2 + crypto/openssl/crypto/bn/bn_gcd.c | 1 + crypto/openssl/crypto/bn/bn_lcl.h | 11 +- crypto/openssl/crypto/bn/bn_word.c | 25 +- .../crypto/camellia/asm/cmll-x86_64.pl | 3 +- crypto/openssl/crypto/cms/cms_cd.c | 2 + crypto/openssl/crypto/cms/cms_enc.c | 2 +- crypto/openssl/crypto/cms/cms_lib.c | 2 - crypto/openssl/crypto/conf/conf_mall.c | 1 + crypto/openssl/crypto/cryptlib.c | 16 +- crypto/openssl/crypto/cryptlib.h | 2 +- crypto/openssl/crypto/crypto.h | 11 +- crypto/openssl/crypto/des/set_key.c | 3 +- crypto/openssl/crypto/des/str2key.c | 2 +- crypto/openssl/crypto/ec/ec.h | 28 +- crypto/openssl/crypto/ec/ec_key.c | 13 +- crypto/openssl/crypto/ec/ec_pmeth.c | 2 +- crypto/openssl/crypto/ec/ecp_mont.c | 1 - crypto/openssl/crypto/ecdh/ech_key.c | 3 - crypto/openssl/crypto/ecdh/ech_lib.c | 11 +- crypto/openssl/crypto/ecdsa/ecs_lib.c | 11 +- crypto/openssl/crypto/err/err_all.c | 19 +- crypto/openssl/crypto/evp/digest.c | 1 + crypto/openssl/crypto/evp/e_aes.c | 5 +- .../openssl/crypto/evp/e_aes_cbc_hmac_sha1.c | 209 ++++- crypto/openssl/crypto/evp/evp.h | 15 +- .../{conf/conf_mall.c => evp/evp_cnf.c} | 69 +- crypto/openssl/crypto/evp/evp_err.c | 6 + crypto/openssl/crypto/evp/m_dss.c | 2 +- crypto/openssl/crypto/evp/m_dss1.c | 2 +- crypto/openssl/crypto/evp/m_sha1.c | 2 +- crypto/openssl/crypto/evp/p_sign.c | 2 +- crypto/openssl/crypto/evp/p_verify.c | 2 +- crypto/openssl/crypto/md4/md4_dgst.c | 31 +- crypto/openssl/crypto/md4/md4_locl.h | 8 +- crypto/openssl/crypto/md5/asm/md5-x86_64.pl | 3 +- crypto/openssl/crypto/md5/md5_locl.h | 8 +- crypto/openssl/crypto/mdc2/mdc2dgst.c | 2 +- crypto/openssl/crypto/mem.c | 2 +- crypto/openssl/crypto/modes/asm/ghash-x86.pl | 6 +- .../openssl/crypto/modes/asm/ghash-x86_64.pl | 3 +- crypto/openssl/crypto/modes/gcm128.c | 4 +- crypto/openssl/crypto/objects/o_names.c | 2 +- crypto/openssl/crypto/ocsp/ocsp_vfy.c | 10 +- crypto/openssl/crypto/opensslv.h | 6 +- crypto/openssl/crypto/pem/pem_all.c | 161 ++++ crypto/openssl/crypto/pem/pem_lib.c | 27 +- crypto/openssl/crypto/pem/pem_seal.c | 6 +- crypto/openssl/crypto/perlasm/cbc.pl | 2 +- crypto/openssl/crypto/pkcs12/p12_key.c | 24 +- crypto/openssl/crypto/pkcs7/bio_pk7.c | 2 +- crypto/openssl/crypto/rand/md_rand.c | 2 +- crypto/openssl/crypto/rand/rand_lib.c | 7 +- crypto/openssl/crypto/rand/randfile.c | 2 + .../openssl/crypto/rc4/asm/rc4-md5-x86_64.pl | 3 +- crypto/openssl/crypto/rc4/asm/rc4-x86_64.pl | 3 +- crypto/openssl/crypto/ripemd/rmd_dgst.c | 30 +- crypto/openssl/crypto/ripemd/rmd_locl.h | 10 +- crypto/openssl/crypto/rsa/rsa.h | 2 +- crypto/openssl/crypto/rsa/rsa_eay.c | 6 +- crypto/openssl/crypto/rsa/rsa_oaep.c | 2 +- crypto/openssl/crypto/sha/asm/sha1-x86_64.pl | 3 +- crypto/openssl/crypto/sha/asm/sha512-586.pl | 16 +- .../openssl/crypto/sha/asm/sha512-x86_64.pl | 3 +- crypto/openssl/crypto/sha/sha1_one.c | 2 +- crypto/openssl/crypto/sha/sha1dgst.c | 2 +- crypto/openssl/crypto/sha/sha256.c | 6 +- crypto/openssl/crypto/sha/sha_dgst.c | 2 +- crypto/openssl/crypto/sha/sha_locl.h | 40 +- crypto/openssl/crypto/srp/srp_vfy.c | 5 +- crypto/openssl/crypto/symhacks.h | 14 +- crypto/openssl/crypto/ui/ui_openssl.c | 6 + crypto/openssl/crypto/whrlpool/asm/wp-mmx.pl | 2 +- .../openssl/crypto/whrlpool/asm/wp-x86_64.pl | 3 +- crypto/openssl/crypto/x509/x509_cmp.c | 15 +- crypto/openssl/crypto/x509/x509_vfy.c | 4 +- crypto/openssl/crypto/x509v3/v3_purp.c | 4 +- crypto/openssl/crypto/x86_64cpuid.pl | 3 +- crypto/openssl/crypto/x86cpuid.pl | 4 +- crypto/openssl/doc/apps/CA.pl.pod | 8 +- crypto/openssl/doc/apps/verify.pod | 60 +- crypto/openssl/doc/apps/x509.pod | 5 + .../openssl/doc/crypto/EVP_PKEY_CTX_ctrl.pod | 2 +- .../openssl/doc/crypto/EVP_PKEY_decrypt.pod | 2 +- crypto/openssl/doc/crypto/EVP_PKEY_derive.pod | 2 +- .../openssl/doc/crypto/EVP_PKEY_encrypt.pod | 2 +- .../crypto/EVP_PKEY_get_default_digest.pod | 2 +- crypto/openssl/doc/crypto/EVP_PKEY_keygen.pod | 2 +- crypto/openssl/doc/crypto/EVP_PKEY_sign.pod | 2 +- crypto/openssl/doc/crypto/EVP_PKEY_verify.pod | 2 +- ...ecover.pod => EVP_PKEY_verify_recover.pod} | 22 +- crypto/openssl/engines/ccgost/gost89.c | 14 +- crypto/openssl/engines/ccgost/gost_crypt.c | 29 +- crypto/openssl/engines/ccgost/gost_eng.c | 17 +- crypto/openssl/engines/ccgost/gost_lcl.h | 4 +- crypto/openssl/engines/ccgost/gosthash.c | 2 +- crypto/openssl/engines/e_capi.c | 5 +- crypto/openssl/ssl/d1_enc.c | 59 +- crypto/openssl/ssl/d1_pkt.c | 89 +- crypto/openssl/ssl/dtls1.h | 8 +- crypto/openssl/ssl/s2_clnt.c | 14 +- crypto/openssl/ssl/s2_pkt.c | 3 +- crypto/openssl/ssl/s2_srvr.c | 16 +- crypto/openssl/ssl/s3_both.c | 14 +- crypto/openssl/ssl/s3_cbc.c | 770 ++++++++++++++++++ crypto/openssl/ssl/s3_clnt.c | 1 - crypto/openssl/ssl/s3_enc.c | 123 ++- crypto/openssl/ssl/s3_lib.c | 16 +- crypto/openssl/ssl/s3_pkt.c | 99 +-- crypto/openssl/ssl/s3_srvr.c | 16 +- crypto/openssl/ssl/ssl.h | 8 +- crypto/openssl/ssl/ssl3.h | 6 + crypto/openssl/ssl/ssl_algs.c | 1 + crypto/openssl/ssl/ssl_cert.c | 4 +- crypto/openssl/ssl/ssl_ciph.c | 5 +- crypto/openssl/ssl/ssl_err.c | 1 + crypto/openssl/ssl/ssl_lib.c | 22 +- crypto/openssl/ssl/ssl_locl.h | 44 +- crypto/openssl/ssl/ssl_rsa.c | 14 +- crypto/openssl/ssl/t1_enc.c | 159 ++-- crypto/openssl/ssl/t1_lib.c | 115 ++- crypto/openssl/ssl/tls_srp.c | 3 +- 156 files changed, 2377 insertions(+), 764 deletions(-) copy crypto/openssl/crypto/{conf/conf_mall.c => evp/evp_cnf.c} (67%) rename crypto/openssl/doc/crypto/{EVP_PKEY_verifyrecover.pod => EVP_PKEY_verify_recover.pod} (76%) create mode 100644 crypto/openssl/ssl/s3_cbc.c diff --git a/crypto/openssl/CHANGES b/crypto/openssl/CHANGES index 7013e4c12c..b7d36c2b8f 100644 --- a/crypto/openssl/CHANGES +++ b/crypto/openssl/CHANGES @@ -2,6 +2,49 @@ OpenSSL CHANGES _______________ + Changes between 1.0.1c and 1.0.1d [5 Feb 2013] + + *) Make the decoding of SSLv3, TLS and DTLS CBC records constant time. + + This addresses the flaw in CBC record processing discovered by + Nadhem Alfardan and Kenny Paterson. Details of this attack can be found + at: http://www.isg.rhul.ac.uk/tls/ + + Thanks go to Nadhem Alfardan and Kenny Paterson of the Information + Security Group at Royal Holloway, University of London + (www.isg.rhul.ac.uk) for discovering this flaw and Adam Langley and + Emilia Käsper for the initial patch. + (CVE-2013-0169) + [Emilia Käsper, Adam Langley, Ben Laurie, Andy Polyakov, Steve Henson] + + *) Fix flaw in AESNI handling of TLS 1.2 and 1.1 records for CBC mode + ciphersuites which can be exploited in a denial of service attack. + Thanks go to and to Adam Langley for discovering + and detecting this bug and to Wolfgang Ettlinger + for independently discovering this issue. + (CVE-2012-2686) + [Adam Langley] + + *) Return an error when checking OCSP signatures when key is NULL. + This fixes a DoS attack. (CVE-2013-0166) + [Steve Henson] + + *) Make openssl verify return errors. + [Chris Palmer and Ben Laurie] + + *) Call OCSP Stapling callback after ciphersuite has been chosen, so + the right response is stapled. Also change SSL_get_certificate() + so it returns the certificate actually sent. + See http://rt.openssl.org/Ticket/Display.html?id=2836. + [Rob Stradling ] + + *) Fix possible deadlock when decoding public keys. + [Steve Henson] + + *) Don't use TLS 1.0 record version number in initial client hello + if renegotiating. + [Steve Henson] + Changes between 1.0.1b and 1.0.1c [10 May 2012] *) Sanity check record length before skipping explicit IV in TLS diff --git a/crypto/openssl/FAQ b/crypto/openssl/FAQ index bb6f7e2d29..fcd6e1a95d 100644 --- a/crypto/openssl/FAQ +++ b/crypto/openssl/FAQ @@ -83,7 +83,7 @@ OpenSSL - Frequently Asked Questions * Which is the current version of OpenSSL? The current version is available from . -OpenSSL 1.0.1c was released on May 10th, 2012. +OpenSSL 1.0.1d was released on Feb 5th, 2013. In addition to the current stable release, you can also access daily snapshots of the OpenSSL development version at #include -#define DEFBITS 512 +#define DEFBITS 1024 #undef PROG #define PROG genrsa_main diff --git a/crypto/openssl/apps/ocsp.c b/crypto/openssl/apps/ocsp.c index 01847dfad7..83c5a76700 100644 --- a/crypto/openssl/apps/ocsp.c +++ b/crypto/openssl/apps/ocsp.c @@ -617,7 +617,7 @@ int MAIN(int argc, char **argv) BIO_printf (bio_err, "-ndays n number of days before next update\n"); BIO_printf (bio_err, "-resp_key_id identify reponse by signing certificate key ID\n"); BIO_printf (bio_err, "-nrequest n number of requests to accept (default unlimited)\n"); - BIO_printf (bio_err, "- use specified digest in the request"); + BIO_printf (bio_err, "- use specified digest in the request\n"); goto end; } diff --git a/crypto/openssl/apps/s_cb.c b/crypto/openssl/apps/s_cb.c index 2cd73376df..84c3b447c2 100644 --- a/crypto/openssl/apps/s_cb.c +++ b/crypto/openssl/apps/s_cb.c @@ -237,8 +237,8 @@ int set_cert_stuff(SSL_CTX *ctx, char *cert_file, char *key_file) /* If we are using DSA, we can copy the parameters from * the private key */ - - + + /* Now we know that a key and cert have been set against * the SSL context */ if (!SSL_CTX_check_private_key(ctx)) @@ -436,6 +436,8 @@ void MS_CALLBACK msg_cb(int write_p, int version, int content_type, const void * if (version == SSL3_VERSION || version == TLS1_VERSION || + version == TLS1_1_VERSION || + version == TLS1_2_VERSION || version == DTLS1_VERSION || version == DTLS1_BAD_VER) { diff --git a/crypto/openssl/apps/s_client.c b/crypto/openssl/apps/s_client.c index fc806eb672..0248447f4a 100644 --- a/crypto/openssl/apps/s_client.c +++ b/crypto/openssl/apps/s_client.c @@ -357,7 +357,7 @@ static void sc_usage(void) BIO_printf(bio_err," -tlsextdebug - hex dump of all TLS extensions received\n"); BIO_printf(bio_err," -status - request certificate status from server\n"); BIO_printf(bio_err," -no_ticket - disable use of RFC4507bis session tickets\n"); -# if !defined(OPENSSL_NO_NEXTPROTONEG) +# ifndef OPENSSL_NO_NEXTPROTONEG BIO_printf(bio_err," -nextprotoneg arg - enable NPN extension, considering named protocols supported (comma-separated list)\n"); # endif #endif @@ -536,7 +536,7 @@ static int next_proto_cb(SSL *s, unsigned char **out, unsigned char *outlen, con ctx->status = SSL_select_next_proto(out, outlen, in, inlen, ctx->data, ctx->len); return SSL_TLSEXT_ERR_OK; } -# endif +# endif /* ndef OPENSSL_NO_NEXTPROTONEG */ #endif enum @@ -1890,6 +1890,10 @@ end: print_stuff(bio_c_out,con,1); SSL_free(con); } +#if !defined(OPENSSL_NO_TLSEXT) && !defined(OPENSSL_NO_NEXTPROTONEG) + if (next_proto.data) + OPENSSL_free(next_proto.data); +#endif if (ctx != NULL) SSL_CTX_free(ctx); if (cert) X509_free(cert); @@ -1897,6 +1901,8 @@ end: EVP_PKEY_free(key); if (pass) OPENSSL_free(pass); + if (vpm) + X509_VERIFY_PARAM_free(vpm); if (cbuf != NULL) { OPENSSL_cleanse(cbuf,BUFSIZZ); OPENSSL_free(cbuf); } if (sbuf != NULL) { OPENSSL_cleanse(sbuf,BUFSIZZ); OPENSSL_free(sbuf); } if (mbuf != NULL) { OPENSSL_cleanse(mbuf,BUFSIZZ); OPENSSL_free(mbuf); } diff --git a/crypto/openssl/apps/s_server.c b/crypto/openssl/apps/s_server.c index 3f9b3704c6..4720c05a0b 100644 --- a/crypto/openssl/apps/s_server.c +++ b/crypto/openssl/apps/s_server.c @@ -1206,13 +1206,13 @@ int MAIN(int argc, char *argv[]) { if (--argc < 1) goto bad; srp_verifier_file = *(++argv); - meth=TLSv1_server_method(); + meth = TLSv1_server_method(); } else if (strcmp(*argv, "-srpuserseed") == 0) { if (--argc < 1) goto bad; srpuserseed = *(++argv); - meth=TLSv1_server_method(); + meth = TLSv1_server_method(); } #endif else if (strcmp(*argv,"-www") == 0) @@ -1431,25 +1431,24 @@ bad: goto end; } } - -# ifndef OPENSSL_NO_NEXTPROTONEG - if (next_proto_neg_in) - { - unsigned short len; - next_proto.data = next_protos_parse(&len, - next_proto_neg_in); - if (next_proto.data == NULL) - goto end; - next_proto.len = len; - } - else - { - next_proto.data = NULL; - } -# endif #endif } +#if !defined(OPENSSL_NO_TLSEXT) && !defined(OPENSSL_NO_NEXTPROTONEG) + if (next_proto_neg_in) + { + unsigned short len; + next_proto.data = next_protos_parse(&len, next_proto_neg_in); + if (next_proto.data == NULL) + goto end; + next_proto.len = len; + } + else + { + next_proto.data = NULL; + } +#endif + if (s_dcert_file) { @@ -1730,7 +1729,7 @@ bad: } #endif - if (!set_cert_key_stuff(ctx,s_cert,s_key)) + if (!set_cert_key_stuff(ctx, s_cert, s_key)) goto end; #ifndef OPENSSL_NO_TLSEXT if (ctx2 && !set_cert_key_stuff(ctx2,s_cert2,s_key2)) @@ -1738,7 +1737,7 @@ bad: #endif if (s_dcert != NULL) { - if (!set_cert_key_stuff(ctx,s_dcert,s_dkey)) + if (!set_cert_key_stuff(ctx, s_dcert, s_dkey)) goto end; } @@ -1893,7 +1892,15 @@ end: OPENSSL_free(pass); if (dpass) OPENSSL_free(dpass); + if (vpm) + X509_VERIFY_PARAM_free(vpm); #ifndef OPENSSL_NO_TLSEXT + if (tlscstatp.host) + OPENSSL_free(tlscstatp.host); + if (tlscstatp.port) + OPENSSL_free(tlscstatp.port); + if (tlscstatp.path) + OPENSSL_free(tlscstatp.path); if (ctx2 != NULL) SSL_CTX_free(ctx2); if (s_cert2) X509_free(s_cert2); @@ -2433,6 +2440,7 @@ static int init_ssl_connection(SSL *con) BIO_printf(bio_s_out,"Shared ciphers:%s\n",buf); str=SSL_CIPHER_get_name(SSL_get_current_cipher(con)); BIO_printf(bio_s_out,"CIPHER is %s\n",(str != NULL)?str:"(NONE)"); + #if !defined(OPENSSL_NO_TLSEXT) && !defined(OPENSSL_NO_NEXTPROTONEG) SSL_get0_next_proto_negotiated(con, &next_proto_neg, &next_proto_neg_len); if (next_proto_neg) @@ -2701,6 +2709,11 @@ static int www_body(char *hostname, int s, unsigned char *context) } BIO_puts(io,"\n"); + BIO_printf(io, + "Secure Renegotiation IS%s supported\n", + SSL_get_secure_renegotiation_support(con) ? + "" : " NOT"); + /* The following is evil and should not really * be done */ BIO_printf(io,"Ciphers supported in s_server binary\n"); diff --git a/crypto/openssl/apps/speed.c b/crypto/openssl/apps/speed.c index 8358b12fdd..9886ca3766 100644 --- a/crypto/openssl/apps/speed.c +++ b/crypto/openssl/apps/speed.c @@ -254,7 +254,7 @@ static const char *names[ALGOR_NUM]={ "aes-128 cbc","aes-192 cbc","aes-256 cbc", "camellia-128 cbc","camellia-192 cbc","camellia-256 cbc", "evp","sha256","sha512","whirlpool", - "aes-128 ige","aes-192 ige","aes-256 ige","ghash"}; + "aes-128 ige","aes-192 ige","aes-256 ige","ghash" }; static double results[ALGOR_NUM][SIZE_NUM]; static int lengths[SIZE_NUM]={16,64,256,1024,8*1024}; #ifndef OPENSSL_NO_RSA @@ -299,7 +299,7 @@ static SIGRETTYPE sig_done(int sig) #if defined(_WIN32) #if !defined(SIGALRM) -#define SIGALRM +# define SIGALRM #endif static unsigned int lapse,schlock; static void alarm_win32(unsigned int secs) { lapse = secs*1000; } diff --git a/crypto/openssl/apps/srp.c b/crypto/openssl/apps/srp.c index 80e1b8a660..9c7ae184db 100644 --- a/crypto/openssl/apps/srp.c +++ b/crypto/openssl/apps/srp.c @@ -125,13 +125,13 @@ static int get_index(CA_DB *db, char* id, char type) if (type == DB_SRP_INDEX) for (i = 0; i < sk_OPENSSL_PSTRING_num(db->db->data); i++) { - pp = (char **)sk_OPENSSL_PSTRING_value(db->db->data, i); - if (pp[DB_srptype][0] == DB_SRP_INDEX && !strcmp(id, pp[DB_srpid])) + pp = sk_OPENSSL_PSTRING_value(db->db->data,i); + if (pp[DB_srptype][0] == DB_SRP_INDEX && !strcmp(id,pp[DB_srpid])) return i; } else for (i = 0; i < sk_OPENSSL_PSTRING_num(db->db->data); i++) { - pp = (char **)sk_OPENSSL_PSTRING_value(db->db->data, i); + pp = sk_OPENSSL_PSTRING_value(db->db->data,i); if (pp[DB_srptype][0] != DB_SRP_INDEX && !strcmp(id,pp[DB_srpid])) return i; @@ -145,7 +145,7 @@ static void print_entry(CA_DB *db, BIO *bio, int indx, int verbose, char *s) if (indx >= 0 && verbose) { int j; - char **pp = (char **)sk_OPENSSL_PSTRING_value(db->db->data, indx); + char **pp = sk_OPENSSL_PSTRING_value(db->db->data, indx); BIO_printf(bio, "%s \"%s\"\n", s, pp[DB_srpid]); for (j = 0; j < DB_NUMBER; j++) { @@ -163,7 +163,7 @@ static void print_user(CA_DB *db, BIO *bio, int userindex, int verbose) { if (verbose > 0) { - char **pp = (char **)sk_OPENSSL_PSTRING_value(db->db->data, userindex); + char **pp = sk_OPENSSL_PSTRING_value(db->db->data,userindex); if (pp[DB_srptype][0] != 'I') { @@ -517,7 +517,7 @@ bad: /* Lets check some fields */ for (i = 0; i < sk_OPENSSL_PSTRING_num(db->db->data); i++) { - pp = (char **)sk_OPENSSL_PSTRING_value(db->db->data, i); + pp = sk_OPENSSL_PSTRING_value(db->db->data, i); if (pp[DB_srptype][0] == DB_SRP_INDEX) { @@ -533,8 +533,8 @@ bad: if (gNindex >= 0) { - gNrow = (char **)sk_OPENSSL_PSTRING_value(db->db->data, gNindex); - print_entry(db, bio_err, gNindex, verbose > 1, "Default g and N") ; + gNrow = sk_OPENSSL_PSTRING_value(db->db->data,gNindex); + print_entry(db, bio_err, gNindex, verbose > 1, "Default g and N"); } else if (maxgN > 0 && !SRP_get_default_gN(gN)) { @@ -587,7 +587,7 @@ bad: if (userindex >= 0) { /* reactivation of a new user */ - char **row = (char **)sk_OPENSSL_PSTRING_value(db->db->data, userindex); + char **row = sk_OPENSSL_PSTRING_value(db->db->data, userindex); BIO_printf(bio_err, "user \"%s\" reactivated.\n", user); row[DB_srptype][0] = 'V'; @@ -634,7 +634,7 @@ bad: else { - char **row = (char **)sk_OPENSSL_PSTRING_value(db->db->data, userindex); + char **row = sk_OPENSSL_PSTRING_value(db->db->data, userindex); char type = row[DB_srptype][0]; if (type == 'v') { @@ -664,9 +664,9 @@ bad: if (!(gNid=srp_create_user(user,&(row[DB_srpverifier]), &(row[DB_srpsalt]),gNrow?gNrow[DB_srpsalt]:NULL, gNrow?gNrow[DB_srpverifier]:NULL, passout, bio_err,verbose))) { - BIO_printf(bio_err, "Cannot create srp verifier for user \"%s\", operation abandoned.\n", user); - errors++; - goto err; + BIO_printf(bio_err, "Cannot create srp verifier for user \"%s\", operation abandoned.\n", user); + errors++; + goto err; } row[DB_srptype][0] = 'v'; @@ -689,7 +689,7 @@ bad: } else { - char **xpp = (char **)sk_OPENSSL_PSTRING_value(db->db->data, userindex); + char **xpp = sk_OPENSSL_PSTRING_value(db->db->data,userindex); BIO_printf(bio_err, "user \"%s\" revoked. t\n", user); xpp[DB_srptype][0] = 'R'; @@ -714,7 +714,7 @@ bad: /* Lets check some fields */ for (i = 0; i < sk_OPENSSL_PSTRING_num(db->db->data); i++) { - pp = (char **)sk_OPENSSL_PSTRING_value(db->db->data, i); + pp = sk_OPENSSL_PSTRING_value(db->db->data,i); if (pp[DB_srptype][0] == 'v') { diff --git a/crypto/openssl/apps/verify.c b/crypto/openssl/apps/verify.c index b9749dcd36..893670ff41 100644 --- a/crypto/openssl/apps/verify.c +++ b/crypto/openssl/apps/verify.c @@ -222,11 +222,19 @@ int MAIN(int argc, char **argv) goto end; } - if (argc < 1) check(cert_ctx, NULL, untrusted, trusted, crls, e); + ret = 0; + if (argc < 1) + { + if (1 != check(cert_ctx, NULL, untrusted, trusted, crls, e)) + ret = -1; + } else + { for (i=0; i&1` =~ /Version ([0-9]+)\./ && $1>=10); -open STDOUT,"| $^X $xlate $flavour $output"; +open OUT,"| \"$^X\" $xlate $flavour $output"; +*STDOUT=*OUT; # void aesni_cbc_sha1_enc(const void *inp, # void *out, diff --git a/crypto/openssl/crypto/aes/asm/aesni-x86_64.pl b/crypto/openssl/crypto/aes/asm/aesni-x86_64.pl index 499f3b3f42..0dbb194b8d 100644 --- a/crypto/openssl/crypto/aes/asm/aesni-x86_64.pl +++ b/crypto/openssl/crypto/aes/asm/aesni-x86_64.pl @@ -172,7 +172,8 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; ( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or die "can't locate x86_64-xlate.pl"; -open STDOUT,"| $^X $xlate $flavour $output"; +open OUT,"| \"$^X\" $xlate $flavour $output"; +*STDOUT=*OUT; $movkey = $PREFIX eq "aesni" ? "movups" : "movups"; @_4args=$win64? ("%rcx","%rdx","%r8", "%r9") : # Win64 order diff --git a/crypto/openssl/crypto/aes/asm/bsaes-x86_64.pl b/crypto/openssl/crypto/aes/asm/bsaes-x86_64.pl index c9c6312fa7..ceb02b50dd 100644 --- a/crypto/openssl/crypto/aes/asm/bsaes-x86_64.pl +++ b/crypto/openssl/crypto/aes/asm/bsaes-x86_64.pl @@ -105,7 +105,8 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; ( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or die "can't locate x86_64-xlate.pl"; -open STDOUT,"| $^X $xlate $flavour $output"; +open OUT,"| \"$^X\" $xlate $flavour $output"; +*STDOUT=*OUT; my ($inp,$out,$len,$key,$ivp)=("%rdi","%rsi","%rdx","%rcx"); my @XMM=map("%xmm$_",(15,0..14)); # best on Atom, +10% over (0..15) diff --git a/crypto/openssl/crypto/aes/asm/vpaes-x86_64.pl b/crypto/openssl/crypto/aes/asm/vpaes-x86_64.pl index 37998db5e1..41f2e46f60 100644 --- a/crypto/openssl/crypto/aes/asm/vpaes-x86_64.pl +++ b/crypto/openssl/crypto/aes/asm/vpaes-x86_64.pl @@ -56,7 +56,8 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; ( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or die "can't locate x86_64-xlate.pl"; -open STDOUT,"| $^X $xlate $flavour $output"; +open OUT,"| \"$^X\" $xlate $flavour $output"; +*STDOUT=*OUT; $PREFIX="vpaes"; diff --git a/crypto/openssl/crypto/asn1/a_strex.c b/crypto/openssl/crypto/asn1/a_strex.c index 264ebf2393..ead37ac325 100644 --- a/crypto/openssl/crypto/asn1/a_strex.c +++ b/crypto/openssl/crypto/asn1/a_strex.c @@ -567,6 +567,7 @@ int ASN1_STRING_to_UTF8(unsigned char **out, ASN1_STRING *in) if(mbflag == -1) return -1; mbflag |= MBSTRING_FLAG; stmp.data = NULL; + stmp.length = 0; ret = ASN1_mbstring_copy(&str, in->data, in->length, mbflag, B_ASN1_UTF8STRING); if(ret < 0) return ret; *out = stmp.data; diff --git a/crypto/openssl/crypto/asn1/a_verify.c b/crypto/openssl/crypto/asn1/a_verify.c index 432722e409..fc84cd3d19 100644 --- a/crypto/openssl/crypto/asn1/a_verify.c +++ b/crypto/openssl/crypto/asn1/a_verify.c @@ -140,6 +140,12 @@ int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a, int mdnid, pknid; + if (!pkey) + { + ASN1err(ASN1_F_ASN1_ITEM_VERIFY, ERR_R_PASSED_NULL_PARAMETER); + return -1; + } + EVP_MD_CTX_init(&ctx); /* Convert signature OID into digest and public key OIDs */ diff --git a/crypto/openssl/crypto/asn1/x_pubkey.c b/crypto/openssl/crypto/asn1/x_pubkey.c index 627ec87f9f..b649e1fcf9 100644 --- a/crypto/openssl/crypto/asn1/x_pubkey.c +++ b/crypto/openssl/crypto/asn1/x_pubkey.c @@ -175,12 +175,15 @@ EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *key) CRYPTO_w_lock(CRYPTO_LOCK_EVP_PKEY); if (key->pkey) { + CRYPTO_w_unlock(CRYPTO_LOCK_EVP_PKEY); EVP_PKEY_free(ret); ret = key->pkey; } else + { key->pkey = ret; - CRYPTO_w_unlock(CRYPTO_LOCK_EVP_PKEY); + CRYPTO_w_unlock(CRYPTO_LOCK_EVP_PKEY); + } CRYPTO_add(&ret->references, 1, CRYPTO_LOCK_EVP_PKEY); return ret; diff --git a/crypto/openssl/crypto/bio/bss_dgram.c b/crypto/openssl/crypto/bio/bss_dgram.c index 1b1e4bec81..8990909971 100644 --- a/crypto/openssl/crypto/bio/bss_dgram.c +++ b/crypto/openssl/crypto/bio/bss_dgram.c @@ -77,10 +77,20 @@ #define OPENSSL_SCTP_FORWARD_CUM_TSN_CHUNK_TYPE 0xc0 #endif -#ifdef OPENSSL_SYS_LINUX +#if defined(OPENSSL_SYS_LINUX) && !defined(IP_MTU) #define IP_MTU 14 /* linux is lame */ #endif +#if defined(__FreeBSD__) && defined(IN6_IS_ADDR_V4MAPPED) +/* Standard definition causes type-punning problems. */ +#undef IN6_IS_ADDR_V4MAPPED +#define s6_addr32 __u6_addr.__u6_addr32 +#define IN6_IS_ADDR_V4MAPPED(a) \ + (((a)->s6_addr32[0] == 0) && \ + ((a)->s6_addr32[1] == 0) && \ + ((a)->s6_addr32[2] == htonl(0x0000ffff))) +#endif + #ifdef WATT32 #define sock_write SockWrite /* Watt-32 uses same names */ #define sock_read SockRead @@ -255,7 +265,7 @@ static void dgram_adjust_rcv_timeout(BIO *b) { #if defined(SO_RCVTIMEO) bio_dgram_data *data = (bio_dgram_data *)b->ptr; - int sz = sizeof(int); + union { size_t s; int i; } sz = {0}; /* Is a timer active? */ if (data->next_timeout.tv_sec > 0 || data->next_timeout.tv_usec > 0) @@ -265,8 +275,10 @@ static void dgram_adjust_rcv_timeout(BIO *b) /* Read current socket timeout */ #ifdef OPENSSL_SYS_WINDOWS int timeout; + + sz.i = sizeof(timeout); if (getsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO, - (void*)&timeout, &sz) < 0) + (void*)&timeout, &sz.i) < 0) { perror("getsockopt"); } else { @@ -274,9 +286,12 @@ static void dgram_adjust_rcv_timeout(BIO *b) data->socket_timeout.tv_usec = (timeout % 1000) * 1000; } #else + sz.i = sizeof(data->socket_timeout); if ( getsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO, &(data->socket_timeout), (void *)&sz) < 0) { perror("getsockopt"); } + else if (sizeof(sz.s)!=sizeof(sz.i) && sz.i==0) + OPENSSL_assert(sz.s<=sizeof(data->socket_timeout)); #endif /* Get current time */ @@ -445,11 +460,10 @@ static long dgram_ctrl(BIO *b, int cmd, long num, void *ptr) int *ip; struct sockaddr *to = NULL; bio_dgram_data *data = NULL; -#if defined(IP_MTU_DISCOVER) || defined(IP_MTU) - long sockopt_val = 0; - unsigned int sockopt_len = 0; -#endif -#ifdef OPENSSL_SYS_LINUX +#if defined(OPENSSL_SYS_LINUX) && (defined(IP_MTU_DISCOVER) || defined(IP_MTU)) + int sockopt_val = 0; + socklen_t sockopt_len; /* assume that system supporting IP_MTU is + * modern enough to define socklen_t */ socklen_t addr_len; union { struct sockaddr sa; @@ -531,7 +545,7 @@ static long dgram_ctrl(BIO *b, int cmd, long num, void *ptr) break; /* (Linux)kernel sets DF bit on outgoing IP packets */ case BIO_CTRL_DGRAM_MTU_DISCOVER: -#ifdef OPENSSL_SYS_LINUX +#if defined(OPENSSL_SYS_LINUX) && defined(IP_MTU_DISCOVER) && defined(IP_PMTUDISC_DO) addr_len = (socklen_t)sizeof(addr); memset((void *)&addr, 0, sizeof(addr)); if (getsockname(b->num, &addr.sa, &addr_len) < 0) @@ -539,7 +553,6 @@ static long dgram_ctrl(BIO *b, int cmd, long num, void *ptr) ret = 0; break; } - sockopt_len = sizeof(sockopt_val); switch (addr.sa.sa_family) { case AF_INET: @@ -548,7 +561,7 @@ static long dgram_ctrl(BIO *b, int cmd, long num, void *ptr) &sockopt_val, sizeof(sockopt_val))) < 0) perror("setsockopt"); break; -#if OPENSSL_USE_IPV6 && defined(IPV6_MTU_DISCOVER) +#if OPENSSL_USE_IPV6 && defined(IPV6_MTU_DISCOVER) && defined(IPV6_PMTUDISC_DO) case AF_INET6: sockopt_val = IPV6_PMTUDISC_DO; if ((ret = setsockopt(b->num, IPPROTO_IPV6, IPV6_MTU_DISCOVER, @@ -565,7 +578,7 @@ static long dgram_ctrl(BIO *b, int cmd, long num, void *ptr) break; #endif case BIO_CTRL_DGRAM_QUERY_MTU: -#ifdef OPENSSL_SYS_LINUX +#if defined(OPENSSL_SYS_LINUX) && defined(IP_MTU) addr_len = (socklen_t)sizeof(addr); memset((void *)&addr, 0, sizeof(addr)); if (getsockname(b->num, &addr.sa, &addr_len) < 0) @@ -727,12 +740,15 @@ static long dgram_ctrl(BIO *b, int cmd, long num, void *ptr) #endif break; case BIO_CTRL_DGRAM_GET_RECV_TIMEOUT: -#ifdef OPENSSL_SYS_WINDOWS { - int timeout, sz = sizeof(timeout); + union { size_t s; int i; } sz = {0}; +#ifdef OPENSSL_SYS_WINDOWS + int timeout; struct timeval *tv = (struct timeval *)ptr; + + sz.i = sizeof(timeout); if (getsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO, - (void*)&timeout, &sz) < 0) + (void*)&timeout, &sz.i) < 0) { perror("getsockopt"); ret = -1; } else { @@ -740,12 +756,20 @@ static long dgram_ctrl(BIO *b, int cmd, long num, void *ptr) tv->tv_usec = (timeout % 1000) * 1000; ret = sizeof(*tv); } - } #else + sz.i = sizeof(struct timeval); if ( getsockopt(b->num, SOL_SOCKET, SO_RCVTIMEO, - ptr, (void *)&ret) < 0) + ptr, (void *)&sz) < 0) { perror("getsockopt"); ret = -1; } + else if (sizeof(sz.s)!=sizeof(sz.i) && sz.i==0) + { + OPENSSL_assert(sz.s<=sizeof(struct timeval)); + ret = (int)sz.s; + } + else + ret = sz.i; #endif + } break; #endif #if defined(SO_SNDTIMEO) @@ -765,12 +789,15 @@ static long dgram_ctrl(BIO *b, int cmd, long num, void *ptr) #endif break; case BIO_CTRL_DGRAM_GET_SEND_TIMEOUT: -#ifdef OPENSSL_SYS_WINDOWS { - int timeout, sz = sizeof(timeout); + union { size_t s; int i; } sz = {0}; +#ifdef OPENSSL_SYS_WINDOWS + int timeout; struct timeval *tv = (struct timeval *)ptr; + + sz.i = sizeof(timeout); if (getsockopt(b->num, SOL_SOCKET, SO_SNDTIMEO, - (void*)&timeout, &sz) < 0) + (void*)&timeout, &sz.i) < 0) { perror("getsockopt"); ret = -1; } else { @@ -778,12 +805,20 @@ static long dgram_ctrl(BIO *b, int cmd, long num, void *ptr) tv->tv_usec = (timeout % 1000) * 1000; ret = sizeof(*tv); } - } #else + sz.i = sizeof(struct timeval); if ( getsockopt(b->num, SOL_SOCKET, SO_SNDTIMEO, - ptr, (void *)&ret) < 0) + ptr, (void *)&sz) < 0) { perror("getsockopt"); ret = -1; } + else if (sizeof(sz.s)!=sizeof(sz.i) && sz.i==0) + { + OPENSSL_assert(sz.s<=sizeof(struct timeval)); + ret = (int)sz.s; + } + else + ret = sz.i; #endif + } break; #endif case BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP: @@ -955,7 +990,6 @@ static int dgram_sctp_free(BIO *a) #ifdef SCTP_AUTHENTICATION_EVENT void dgram_sctp_handle_auth_free_key_event(BIO *b, union sctp_notification *snp) { - unsigned int sockopt_len = 0; int ret; struct sctp_authkey_event* authkeyevent = &snp->sn_auth_event; @@ -965,9 +999,8 @@ void dgram_sctp_handle_auth_free_key_event(BIO *b, union sctp_notification *snp) /* delete key */ authkeyid.scact_keynumber = authkeyevent->auth_keynumber; - sockopt_len = sizeof(struct sctp_authkeyid); ret = setsockopt(b->num, IPPROTO_SCTP, SCTP_AUTH_DELETE_KEY, - &authkeyid, sockopt_len); + &authkeyid, sizeof(struct sctp_authkeyid)); } } #endif @@ -1298,7 +1331,7 @@ static long dgram_sctp_ctrl(BIO *b, int cmd, long num, void *ptr) { long ret=1; bio_dgram_sctp_data *data = NULL; - unsigned int sockopt_len = 0; + socklen_t sockopt_len = 0; struct sctp_authkeyid authkeyid; struct sctp_authkey *authkey; diff --git a/crypto/openssl/crypto/bn/asm/modexp512-x86_64.pl b/crypto/openssl/crypto/bn/asm/modexp512-x86_64.pl index 54aeb01921..bfd6e97541 100644 --- a/crypto/openssl/crypto/bn/asm/modexp512-x86_64.pl +++ b/crypto/openssl/crypto/bn/asm/modexp512-x86_64.pl @@ -68,7 +68,8 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; ( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or die "can't locate x86_64-xlate.pl"; -open STDOUT,"| $^X $xlate $flavour $output"; +open OUT,"| \"$^X\" $xlate $flavour $output"; +*STDOUT=*OUT; use strict; my $code=".text\n\n"; diff --git a/crypto/openssl/crypto/bn/asm/x86_64-gf2m.pl b/crypto/openssl/crypto/bn/asm/x86_64-gf2m.pl index 1658acbbdd..a30d4ef029 100644 --- a/crypto/openssl/crypto/bn/asm/x86_64-gf2m.pl +++ b/crypto/openssl/crypto/bn/asm/x86_64-gf2m.pl @@ -31,7 +31,7 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; ( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or die "can't locate x86_64-xlate.pl"; -open STDOUT,"| $^X $xlate $flavour $output"; +open STDOUT,"| \"$^X\" $xlate $flavour $output"; ($lo,$hi)=("%rax","%rdx"); $a=$lo; ($i0,$i1)=("%rsi","%rdi"); diff --git a/crypto/openssl/crypto/bn/asm/x86_64-mont.pl b/crypto/openssl/crypto/bn/asm/x86_64-mont.pl index 5d79b35e1c..17fb94c84c 100755 --- a/crypto/openssl/crypto/bn/asm/x86_64-mont.pl +++ b/crypto/openssl/crypto/bn/asm/x86_64-mont.pl @@ -40,7 +40,8 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; ( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or die "can't locate x86_64-xlate.pl"; -open STDOUT,"| $^X $xlate $flavour $output"; +open OUT,"| \"$^X\" $xlate $flavour $output"; +*STDOUT=*OUT; # int bn_mul_mont( $rp="%rdi"; # BN_ULONG *rp, diff --git a/crypto/openssl/crypto/bn/asm/x86_64-mont5.pl b/crypto/openssl/crypto/bn/asm/x86_64-mont5.pl index 057cda28aa..8f8dc5a597 100755 --- a/crypto/openssl/crypto/bn/asm/x86_64-mont5.pl +++ b/crypto/openssl/crypto/bn/asm/x86_64-mont5.pl @@ -28,7 +28,8 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; ( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or die "can't locate x86_64-xlate.pl"; -open STDOUT,"| $^X $xlate $flavour $output"; +open OUT,"| \"$^X\" $xlate $flavour $output"; +*STDOUT=*OUT; # int bn_mul_mont_gather5( $rp="%rdi"; # BN_ULONG *rp, diff --git a/crypto/openssl/crypto/bn/bn_div.c b/crypto/openssl/crypto/bn/bn_div.c index 52b3304293..7b2403185e 100644 --- a/crypto/openssl/crypto/bn/bn_div.c +++ b/crypto/openssl/crypto/bn/bn_div.c @@ -141,6 +141,7 @@ int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d, * * */ +#undef bn_div_words # define bn_div_words(n0,n1,d0) \ ({ asm volatile ( \ "divl %4" \ @@ -155,6 +156,7 @@ int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d, * Same story here, but it's 128-bit by 64-bit division. Wow! * */ +# undef bn_div_words # define bn_div_words(n0,n1,d0) \ ({ asm volatile ( \ "divq %4" \ diff --git a/crypto/openssl/crypto/bn/bn_gcd.c b/crypto/openssl/crypto/bn/bn_gcd.c index 4a352119ba..a808f53178 100644 --- a/crypto/openssl/crypto/bn/bn_gcd.c +++ b/crypto/openssl/crypto/bn/bn_gcd.c @@ -205,6 +205,7 @@ err: /* solves ax == 1 (mod n) */ static BIGNUM *BN_mod_inverse_no_branch(BIGNUM *in, const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx); + BIGNUM *BN_mod_inverse(BIGNUM *in, const BIGNUM *a, const BIGNUM *n, BN_CTX *ctx) { diff --git a/crypto/openssl/crypto/bn/bn_lcl.h b/crypto/openssl/crypto/bn/bn_lcl.h index eecfd8cc99..817c773b65 100644 --- a/crypto/openssl/crypto/bn/bn_lcl.h +++ b/crypto/openssl/crypto/bn/bn_lcl.h @@ -282,16 +282,23 @@ extern "C" { # endif # elif defined(__mips) && (defined(SIXTY_FOUR_BIT) || defined(SIXTY_FOUR_BIT_LONG)) # if defined(__GNUC__) && __GNUC__>=2 -# define BN_UMULT_HIGH(a,b) ({ \ +# if __GNUC__>=4 && __GNUC_MINOR__>=4 /* "h" constraint is no more since 4.4 */ +# define BN_UMULT_HIGH(a,b) (((__uint128_t)(a)*(b))>>64) +# define BN_UMULT_LOHI(low,high,a,b) ({ \ + __uint128_t ret=(__uint128_t)(a)*(b); \ + (high)=ret>>64; (low)=ret; }) +# else +# define BN_UMULT_HIGH(a,b) ({ \ register BN_ULONG ret; \ asm ("dmultu %1,%2" \ : "=h"(ret) \ : "r"(a), "r"(b) : "l"); \ ret; }) -# define BN_UMULT_LOHI(low,high,a,b) \ +# define BN_UMULT_LOHI(low,high,a,b)\ asm ("dmultu %2,%3" \ : "=l"(low),"=h"(high) \ : "r"(a), "r"(b)); +# endif # endif # endif /* cpu */ #endif /* OPENSSL_NO_ASM */ diff --git a/crypto/openssl/crypto/bn/bn_word.c b/crypto/openssl/crypto/bn/bn_word.c index ee7b87c45c..de83a15b99 100644 --- a/crypto/openssl/crypto/bn/bn_word.c +++ b/crypto/openssl/crypto/bn/bn_word.c @@ -144,26 +144,17 @@ int BN_add_word(BIGNUM *a, BN_ULONG w) a->neg=!(a->neg); return(i); } - /* Only expand (and risk failing) if it's possibly necessary */ - if (((BN_ULONG)(a->d[a->top - 1] + 1) == 0) && - (bn_wexpand(a,a->top+1) == NULL)) - return(0); - i=0; - for (;;) + for (i=0;w!=0 && itop;i++) { - if (i >= a->top) - l=w; - else - l=(a->d[i]+w)&BN_MASK2; - a->d[i]=l; - if (w > l) - w=1; - else - break; - i++; + a->d[i] = l = (a->d[i]+w)&BN_MASK2; + w = (w>l)?1:0; } - if (i >= a->top) + if (w && i==a->top) + { + if (bn_wexpand(a,a->top+1) == NULL) return 0; a->top++; + a->d[i]=w; + } bn_check_top(a); return(1); } diff --git a/crypto/openssl/crypto/camellia/asm/cmll-x86_64.pl b/crypto/openssl/crypto/camellia/asm/cmll-x86_64.pl index 76955e4726..9f4b82fa48 100644 --- a/crypto/openssl/crypto/camellia/asm/cmll-x86_64.pl +++ b/crypto/openssl/crypto/camellia/asm/cmll-x86_64.pl @@ -40,7 +40,8 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; ( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or die "can't locate x86_64-xlate.pl"; -open STDOUT,"| $^X $xlate $flavour $output"; +open OUT,"| \"$^X\" $xlate $flavour $output"; +*STDOUT=*OUT; sub hi() { my $r=shift; $r =~ s/%[er]([a-d])x/%\1h/; $r; } sub lo() { my $r=shift; $r =~ s/%[er]([a-d])x/%\1l/; diff --git a/crypto/openssl/crypto/cms/cms_cd.c b/crypto/openssl/crypto/cms/cms_cd.c index a5fc2c4e2b..2021688101 100644 --- a/crypto/openssl/crypto/cms/cms_cd.c +++ b/crypto/openssl/crypto/cms/cms_cd.c @@ -58,7 +58,9 @@ #include #include #include +#ifndef OPENSSL_NO_COMP #include +#endif #include "cms_lcl.h" DECLARE_ASN1_ITEM(CMS_CompressedData) diff --git a/crypto/openssl/crypto/cms/cms_enc.c b/crypto/openssl/crypto/cms/cms_enc.c index f873ce3794..bebeaf29c7 100644 --- a/crypto/openssl/crypto/cms/cms_enc.c +++ b/crypto/openssl/crypto/cms/cms_enc.c @@ -74,7 +74,7 @@ BIO *cms_EncryptedContent_init_bio(CMS_EncryptedContentInfo *ec) X509_ALGOR *calg = ec->contentEncryptionAlgorithm; unsigned char iv[EVP_MAX_IV_LENGTH], *piv = NULL; unsigned char *tkey = NULL; - size_t tkeylen; + size_t tkeylen = 0; int ok = 0; diff --git a/crypto/openssl/crypto/cms/cms_lib.c b/crypto/openssl/crypto/cms/cms_lib.c index f88e8f3b52..b62d1bfac0 100644 --- a/crypto/openssl/crypto/cms/cms_lib.c +++ b/crypto/openssl/crypto/cms/cms_lib.c @@ -411,9 +411,7 @@ int cms_DigestAlgorithm_find_ctx(EVP_MD_CTX *mctx, BIO *chain, * algorithm OID instead of digest. */ || EVP_MD_pkey_type(EVP_MD_CTX_md(mtmp)) == nid) - { return EVP_MD_CTX_copy_ex(mctx, mtmp); - } chain = BIO_next(chain); } } diff --git a/crypto/openssl/crypto/conf/conf_mall.c b/crypto/openssl/crypto/conf/conf_mall.c index c6f4cb2d55..213890e0c2 100644 --- a/crypto/openssl/crypto/conf/conf_mall.c +++ b/crypto/openssl/crypto/conf/conf_mall.c @@ -76,5 +76,6 @@ void OPENSSL_load_builtin_modules(void) #ifndef OPENSSL_NO_ENGINE ENGINE_add_conf_module(); #endif + EVP_add_alg_module(); } diff --git a/crypto/openssl/crypto/cryptlib.c b/crypto/openssl/crypto/cryptlib.c index 766ea8cac7..304c6b7062 100644 --- a/crypto/openssl/crypto/cryptlib.c +++ b/crypto/openssl/crypto/cryptlib.c @@ -504,7 +504,7 @@ void CRYPTO_THREADID_current(CRYPTO_THREADID *id) CRYPTO_THREADID_set_numeric(id, (unsigned long)find_thread(NULL)); #else /* For everything else, default to using the address of 'errno' */ - CRYPTO_THREADID_set_pointer(id, &errno); + CRYPTO_THREADID_set_pointer(id, (void*)&errno); #endif } @@ -704,6 +704,7 @@ void OPENSSL_cpuid_setup(void) } else vec = OPENSSL_ia32_cpuid(); + /* * |(1<<10) sets a reserved bit to signal that variable * was initialized already... This is to avoid interference @@ -924,3 +925,16 @@ void OpenSSLDie(const char *file,int line,const char *assertion) } void *OPENSSL_stderr(void) { return stderr; } + +int CRYPTO_memcmp(const void *in_a, const void *in_b, size_t len) + { + size_t i; + const unsigned char *a = in_a; + const unsigned char *b = in_b; + unsigned char x = 0; + + for (i = 0; i < len; i++) + x |= a[i] ^ b[i]; + + return x; + } diff --git a/crypto/openssl/crypto/cryptlib.h b/crypto/openssl/crypto/cryptlib.h index 1761f6b668..d26f9630ea 100644 --- a/crypto/openssl/crypto/cryptlib.h +++ b/crypto/openssl/crypto/cryptlib.h @@ -100,7 +100,7 @@ extern "C" { void OPENSSL_cpuid_setup(void); extern unsigned int OPENSSL_ia32cap_P[]; -void OPENSSL_showfatal(const char *,...); +void OPENSSL_showfatal(const char *fmta,...); void *OPENSSL_stderr(void); extern int OPENSSL_NONPIC_relocated; diff --git a/crypto/openssl/crypto/crypto.h b/crypto/openssl/crypto/crypto.h index 6aeda0a9ac..f92fc5182d 100644 --- a/crypto/openssl/crypto/crypto.h +++ b/crypto/openssl/crypto/crypto.h @@ -488,10 +488,10 @@ void CRYPTO_get_mem_debug_functions(void (**m)(void *,int,const char *,int,int), long (**go)(void)); void *CRYPTO_malloc_locked(int num, const char *file, int line); -void CRYPTO_free_locked(void *); +void CRYPTO_free_locked(void *ptr); void *CRYPTO_malloc(int num, const char *file, int line); char *CRYPTO_strdup(const char *str, const char *file, int line); -void CRYPTO_free(void *); +void CRYPTO_free(void *ptr); void *CRYPTO_realloc(void *addr,int num, const char *file, int line); void *CRYPTO_realloc_clean(void *addr,int old_num,int num,const char *file, int line); @@ -574,6 +574,13 @@ void OPENSSL_init(void); #define fips_cipher_abort(alg) while(0) #endif +/* CRYPTO_memcmp returns zero iff the |len| bytes at |a| and |b| are equal. It + * takes an amount of time dependent on |len|, but independent of the contents + * of |a| and |b|. Unlike memcmp, it cannot be used to put elements into a + * defined order as the return value when a != b is undefined, other than to be + * non-zero. */ +int CRYPTO_memcmp(const void *a, const void *b, size_t len); + /* BEGIN ERROR CODES */ /* The following lines are auto generated by the script mkerr.pl. Any changes * made after this point may be overwritten when the script is next run. diff --git a/crypto/openssl/crypto/des/set_key.c b/crypto/openssl/crypto/des/set_key.c index d3e69ca8b5..da4d62e112 100644 --- a/crypto/openssl/crypto/des/set_key.c +++ b/crypto/openssl/crypto/des/set_key.c @@ -63,9 +63,8 @@ * 1.1 added norm_expand_bits * 1.0 First working version */ -#include "des_locl.h" - #include +#include "des_locl.h" OPENSSL_IMPLEMENT_GLOBAL(int,DES_check_key,0) /* defaults to false */ diff --git a/crypto/openssl/crypto/des/str2key.c b/crypto/openssl/crypto/des/str2key.c index 9c2054bda6..1077f99d1b 100644 --- a/crypto/openssl/crypto/des/str2key.c +++ b/crypto/openssl/crypto/des/str2key.c @@ -56,8 +56,8 @@ * [including the GNU Public Licence.] */ -#include "des_locl.h" #include +#include "des_locl.h" void DES_string_to_key(const char *str, DES_cblock *key) { diff --git a/crypto/openssl/crypto/ec/ec.h b/crypto/openssl/crypto/ec/ec.h index 9d01325af3..dfe8710d33 100644 --- a/crypto/openssl/crypto/ec/ec.h +++ b/crypto/openssl/crypto/ec/ec.h @@ -274,10 +274,10 @@ int EC_GROUP_get_curve_name(const EC_GROUP *group); void EC_GROUP_set_asn1_flag(EC_GROUP *group, int flag); int EC_GROUP_get_asn1_flag(const EC_GROUP *group); -void EC_GROUP_set_point_conversion_form(EC_GROUP *, point_conversion_form_t); +void EC_GROUP_set_point_conversion_form(EC_GROUP *group, point_conversion_form_t form); point_conversion_form_t EC_GROUP_get_point_conversion_form(const EC_GROUP *); -unsigned char *EC_GROUP_get0_seed(const EC_GROUP *); +unsigned char *EC_GROUP_get0_seed(const EC_GROUP *x); size_t EC_GROUP_get_seed_len(const EC_GROUP *); size_t EC_GROUP_set_seed(EC_GROUP *, const unsigned char *, size_t len); @@ -626,8 +626,8 @@ int EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point, BN_CTX *c */ int EC_POINT_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b, BN_CTX *ctx); -int EC_POINT_make_affine(const EC_GROUP *, EC_POINT *, BN_CTX *); -int EC_POINTs_make_affine(const EC_GROUP *, size_t num, EC_POINT *[], BN_CTX *); +int EC_POINT_make_affine(const EC_GROUP *group, EC_POINT *point, BN_CTX *ctx); +int EC_POINTs_make_affine(const EC_GROUP *group, size_t num, EC_POINT *points[], BN_CTX *ctx); /** Computes r = generator * n sum_{i=0}^num p[i] * m[i] * \param group underlying EC_GROUP object @@ -800,16 +800,24 @@ const EC_POINT *EC_KEY_get0_public_key(const EC_KEY *key); int EC_KEY_set_public_key(EC_KEY *key, const EC_POINT *pub); unsigned EC_KEY_get_enc_flags(const EC_KEY *key); -void EC_KEY_set_enc_flags(EC_KEY *, unsigned int); -point_conversion_form_t EC_KEY_get_conv_form(const EC_KEY *); -void EC_KEY_set_conv_form(EC_KEY *, point_conversion_form_t); +void EC_KEY_set_enc_flags(EC_KEY *eckey, unsigned int flags); +point_conversion_form_t EC_KEY_get_conv_form(const EC_KEY *key); +void EC_KEY_set_conv_form(EC_KEY *eckey, point_conversion_form_t cform); /* functions to set/get method specific data */ -void *EC_KEY_get_key_method_data(EC_KEY *, +void *EC_KEY_get_key_method_data(EC_KEY *key, void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *)); -void EC_KEY_insert_key_method_data(EC_KEY *, void *data, +/** Sets the key method data of an EC_KEY object, if none has yet been set. + * \param key EC_KEY object + * \param data opaque data to install. + * \param dup_func a function that duplicates |data|. + * \param free_func a function that frees |data|. + * \param clear_free_func a function that wipes and frees |data|. + * \return the previously set data pointer, or NULL if |data| was inserted. + */ +void *EC_KEY_insert_key_method_data(EC_KEY *key, void *data, void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *)); /* wrapper functions for the underlying EC_GROUP object */ -void EC_KEY_set_asn1_flag(EC_KEY *, int); +void EC_KEY_set_asn1_flag(EC_KEY *eckey, int asn1_flag); /** Creates a table of pre-computed multiples of the generator to * accelerate further EC_KEY operations. diff --git a/crypto/openssl/crypto/ec/ec_key.c b/crypto/openssl/crypto/ec/ec_key.c index bf9fd2dc2c..7fa247593d 100644 --- a/crypto/openssl/crypto/ec/ec_key.c +++ b/crypto/openssl/crypto/ec/ec_key.c @@ -520,18 +520,27 @@ void EC_KEY_set_conv_form(EC_KEY *key, point_conversion_form_t cform) void *EC_KEY_get_key_method_data(EC_KEY *key, void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *)) { - return EC_EX_DATA_get_data(key->method_data, dup_func, free_func, clear_free_func); + void *ret; + + CRYPTO_r_lock(CRYPTO_LOCK_EC); + ret = EC_EX_DATA_get_data(key->method_data, dup_func, free_func, clear_free_func); + CRYPTO_r_unlock(CRYPTO_LOCK_EC); + + return ret; } -void EC_KEY_insert_key_method_data(EC_KEY *key, void *data, +void *EC_KEY_insert_key_method_data(EC_KEY *key, void *data, void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *)) { EC_EXTRA_DATA *ex_data; + CRYPTO_w_lock(CRYPTO_LOCK_EC); ex_data = EC_EX_DATA_get_data(key->method_data, dup_func, free_func, clear_free_func); if (ex_data == NULL) EC_EX_DATA_set_data(&key->method_data, data, dup_func, free_func, clear_free_func); CRYPTO_w_unlock(CRYPTO_LOCK_EC); + + return ex_data; } void EC_KEY_set_asn1_flag(EC_KEY *key, int flag) diff --git a/crypto/openssl/crypto/ec/ec_pmeth.c b/crypto/openssl/crypto/ec/ec_pmeth.c index d1ed66c37e..66ee397d86 100644 --- a/crypto/openssl/crypto/ec/ec_pmeth.c +++ b/crypto/openssl/crypto/ec/ec_pmeth.c @@ -188,7 +188,7 @@ static int pkey_ec_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen) pubkey = EC_KEY_get0_public_key(ctx->peerkey->pkey.ec); - /* NB: unlike PKS#3 DH, if *outlen is less than maximum size this is + /* NB: unlike PKCS#3 DH, if *outlen is less than maximum size this is * not an error, the result is truncated. */ diff --git a/crypto/openssl/crypto/ec/ecp_mont.c b/crypto/openssl/crypto/ec/ecp_mont.c index 079e47431b..f04f132c7a 100644 --- a/crypto/openssl/crypto/ec/ecp_mont.c +++ b/crypto/openssl/crypto/ec/ecp_mont.c @@ -114,7 +114,6 @@ const EC_METHOD *EC_GFp_mont_method(void) ec_GFp_mont_field_decode, ec_GFp_mont_field_set_to_one }; - return &ret; #endif } diff --git a/crypto/openssl/crypto/ecdh/ech_key.c b/crypto/openssl/crypto/ecdh/ech_key.c index f44da9298b..2988899ea2 100644 --- a/crypto/openssl/crypto/ecdh/ech_key.c +++ b/crypto/openssl/crypto/ecdh/ech_key.c @@ -68,9 +68,6 @@ */ #include "ech_locl.h" -#ifndef OPENSSL_NO_ENGINE -#include -#endif int ECDH_compute_key(void *out, size_t outlen, const EC_POINT *pub_key, EC_KEY *eckey, diff --git a/crypto/openssl/crypto/ecdh/ech_lib.c b/crypto/openssl/crypto/ecdh/ech_lib.c index dadbfd3c49..0644431b75 100644 --- a/crypto/openssl/crypto/ecdh/ech_lib.c +++ b/crypto/openssl/crypto/ecdh/ech_lib.c @@ -222,8 +222,15 @@ ECDH_DATA *ecdh_check(EC_KEY *key) ecdh_data = (ECDH_DATA *)ecdh_data_new(); if (ecdh_data == NULL) return NULL; - EC_KEY_insert_key_method_data(key, (void *)ecdh_data, - ecdh_data_dup, ecdh_data_free, ecdh_data_free); + data = EC_KEY_insert_key_method_data(key, (void *)ecdh_data, + ecdh_data_dup, ecdh_data_free, ecdh_data_free); + if (data != NULL) + { + /* Another thread raced us to install the key_method + * data and won. */ + ecdh_data_free(ecdh_data); + ecdh_data = (ECDH_DATA *)data; + } } else ecdh_data = (ECDH_DATA *)data; diff --git a/crypto/openssl/crypto/ecdsa/ecs_lib.c b/crypto/openssl/crypto/ecdsa/ecs_lib.c index e477da430b..814a6bf404 100644 --- a/crypto/openssl/crypto/ecdsa/ecs_lib.c +++ b/crypto/openssl/crypto/ecdsa/ecs_lib.c @@ -200,8 +200,15 @@ ECDSA_DATA *ecdsa_check(EC_KEY *key) ecdsa_data = (ECDSA_DATA *)ecdsa_data_new(); if (ecdsa_data == NULL) return NULL; - EC_KEY_insert_key_method_data(key, (void *)ecdsa_data, - ecdsa_data_dup, ecdsa_data_free, ecdsa_data_free); + data = EC_KEY_insert_key_method_data(key, (void *)ecdsa_data, + ecdsa_data_dup, ecdsa_data_free, ecdsa_data_free); + if (data != NULL) + { + /* Another thread raced us to install the key_method + * data and won. */ + ecdsa_data_free(ecdsa_data); + ecdsa_data = (ECDSA_DATA *)data; + } } else ecdsa_data = (ECDSA_DATA *)data; diff --git a/crypto/openssl/crypto/err/err_all.c b/crypto/openssl/crypto/err/err_all.c index bd8946d8ba..8eb547d98d 100644 --- a/crypto/openssl/crypto/err/err_all.c +++ b/crypto/openssl/crypto/err/err_all.c @@ -64,7 +64,9 @@ #endif #include #include +#ifndef OPENSSL_NO_COMP #include +#endif #ifndef OPENSSL_NO_RSA #include #endif @@ -95,6 +97,9 @@ #include #include #include +#ifdef OPENSSL_FIPS +#include +#endif #include #ifndef OPENSSL_NO_CMS #include @@ -102,11 +107,6 @@ #ifndef OPENSSL_NO_JPAKE #include #endif -#include - -#ifdef OPENSSL_FIPS -#include -#endif void ERR_load_crypto_strings(void) { @@ -130,7 +130,9 @@ void ERR_load_crypto_strings(void) ERR_load_ASN1_strings(); ERR_load_CONF_strings(); ERR_load_CRYPTO_strings(); +#ifndef OPENSSL_NO_COMP ERR_load_COMP_strings(); +#endif #ifndef OPENSSL_NO_EC ERR_load_EC_strings(); #endif @@ -153,15 +155,14 @@ void ERR_load_crypto_strings(void) #endif ERR_load_OCSP_strings(); ERR_load_UI_strings(); +#ifdef OPENSSL_FIPS + ERR_load_FIPS_strings(); +#endif #ifndef OPENSSL_NO_CMS ERR_load_CMS_strings(); #endif #ifndef OPENSSL_NO_JPAKE ERR_load_JPAKE_strings(); #endif - ERR_load_COMP_strings(); -#endif -#ifdef OPENSSL_FIPS - ERR_load_FIPS_strings(); #endif } diff --git a/crypto/openssl/crypto/evp/digest.c b/crypto/openssl/crypto/evp/digest.c index 467e6b5ae9..6fc469f9c4 100644 --- a/crypto/openssl/crypto/evp/digest.c +++ b/crypto/openssl/crypto/evp/digest.c @@ -267,6 +267,7 @@ int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *size) return FIPS_digestfinal(ctx, md, size); #else int ret; + OPENSSL_assert(ctx->digest->md_size <= EVP_MAX_MD_SIZE); ret=ctx->digest->final(ctx,md); if (size != NULL) diff --git a/crypto/openssl/crypto/evp/e_aes.c b/crypto/openssl/crypto/evp/e_aes.c index 1e4af0cb75..1bfb5d92b3 100644 --- a/crypto/openssl/crypto/evp/e_aes.c +++ b/crypto/openssl/crypto/evp/e_aes.c @@ -969,8 +969,6 @@ static int aes_gcm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, if (!gctx->iv_set) return -1; - if (!ctx->encrypt && gctx->taglen < 0) - return -1; if (in) { if (out == NULL) @@ -1012,6 +1010,8 @@ static int aes_gcm_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, { if (!ctx->encrypt) { + if (gctx->taglen < 0) + return -1; if (CRYPTO_gcm128_finish(&gctx->gcm, ctx->buf, gctx->taglen) != 0) return -1; @@ -1217,6 +1217,7 @@ static int aes_ccm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key, vpaes_set_encrypt_key(key, ctx->key_len*8, &cctx->ks); CRYPTO_ccm128_init(&cctx->ccm, cctx->M, cctx->L, &cctx->ks, (block128_f)vpaes_encrypt); + cctx->str = NULL; cctx->key_set = 1; break; } diff --git a/crypto/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c b/crypto/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c index 710fb79baf..b7aff44d28 100644 --- a/crypto/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c +++ b/crypto/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c @@ -1,5 +1,5 @@ /* ==================================================================== - * Copyright (c) 2011 The OpenSSL Project. All rights reserved. + * Copyright (c) 2011-2013 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -90,6 +90,10 @@ typedef struct defined(_M_AMD64) || defined(_M_X64) || \ defined(__INTEL__) ) +#if defined(__GNUC__) && __GNUC__>=2 && !defined(PEDANTIC) +# define BSWAP(x) ({ unsigned int r=(x); asm ("bswapl %0":"=r"(r):"0"(r)); r; }) +#endif + extern unsigned int OPENSSL_ia32cap_P[2]; #define AESNI_CAPABLE (1<<(57-32)) @@ -167,6 +171,9 @@ static void sha1_update(SHA_CTX *c,const void *data,size_t len) SHA1_Update(c,ptr,res); } +#ifdef SHA1_Update +#undef SHA1_Update +#endif #define SHA1_Update sha1_update static int aesni_cbc_hmac_sha1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, @@ -184,6 +191,8 @@ static int aesni_cbc_hmac_sha1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, sha_off = SHA_CBLOCK-key->md.num; #endif + key->payload_length = NO_PAYLOAD_LENGTH; + if (len%AES_BLOCK_SIZE) return 0; if (ctx->encrypt) { @@ -234,47 +243,203 @@ static int aesni_cbc_hmac_sha1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, &key->ks,ctx->iv,1); } } else { - unsigned char mac[SHA_DIGEST_LENGTH]; + union { unsigned int u[SHA_DIGEST_LENGTH/sizeof(unsigned int)]; + unsigned char c[SHA_DIGEST_LENGTH]; } mac; /* decrypt HMAC|padding at once */ aesni_cbc_encrypt(in,out,len, &key->ks,ctx->iv,0); if (plen) { /* "TLS" mode of operation */ - /* figure out payload length */ - if (len<(size_t)(out[len-1]+1+SHA_DIGEST_LENGTH)) - return 0; - - len -= (out[len-1]+1+SHA_DIGEST_LENGTH); + size_t inp_len, mask, j, i; + unsigned int res, maxpad, pad, bitlen; + int ret = 1; + union { unsigned int u[SHA_LBLOCK]; + unsigned char c[SHA_CBLOCK]; } + *data = (void *)key->md.data; if ((key->aux.tls_aad[plen-4]<<8|key->aux.tls_aad[plen-3]) - >= TLS1_1_VERSION) { - len -= AES_BLOCK_SIZE; + >= TLS1_1_VERSION) iv = AES_BLOCK_SIZE; - } - key->aux.tls_aad[plen-2] = len>>8; - key->aux.tls_aad[plen-1] = len; + if (len<(iv+SHA_DIGEST_LENGTH+1)) + return 0; + + /* omit explicit iv */ + out += iv; + len -= iv; + + /* figure out payload length */ + pad = out[len-1]; + maxpad = len-(SHA_DIGEST_LENGTH+1); + maxpad |= (255-maxpad)>>(sizeof(maxpad)*8-8); + maxpad &= 255; + + inp_len = len - (SHA_DIGEST_LENGTH+pad+1); + mask = (0-((inp_len-len)>>(sizeof(inp_len)*8-1))); + inp_len &= mask; + ret &= (int)mask; - /* calculate HMAC and verify it */ + key->aux.tls_aad[plen-2] = inp_len>>8; + key->aux.tls_aad[plen-1] = inp_len; + + /* calculate HMAC */ key->md = key->head; SHA1_Update(&key->md,key->aux.tls_aad,plen); - SHA1_Update(&key->md,out+iv,len); - SHA1_Final(mac,&key->md); +#if 1 + len -= SHA_DIGEST_LENGTH; /* amend mac */ + if (len>=(256+SHA_CBLOCK)) { + j = (len-(256+SHA_CBLOCK))&(0-SHA_CBLOCK); + j += SHA_CBLOCK-key->md.num; + SHA1_Update(&key->md,out,j); + out += j; + len -= j; + inp_len -= j; + } + + /* but pretend as if we hashed padded payload */ + bitlen = key->md.Nl+(inp_len<<3); /* at most 18 bits */ + mac.c[0] = 0; + mac.c[1] = (unsigned char)(bitlen>>16); + mac.c[2] = (unsigned char)(bitlen>>8); + mac.c[3] = (unsigned char)bitlen; + bitlen = mac.u[0]; + + mac.u[0]=0; + mac.u[1]=0; + mac.u[2]=0; + mac.u[3]=0; + mac.u[4]=0; + + for (res=key->md.num, j=0;j>(sizeof(j)*8-8); + c &= mask; + c |= 0x80&~mask&~((inp_len-j)>>(sizeof(j)*8-8)); + data->c[res++]=(unsigned char)c; + + if (res!=SHA_CBLOCK) continue; + + mask = 0-((inp_len+8-j)>>(sizeof(j)*8-1)); + data->u[SHA_LBLOCK-1] |= bitlen&mask; + sha1_block_data_order(&key->md,data,1); + mask &= 0-((j-inp_len-73)>>(sizeof(j)*8-1)); + mac.u[0] |= key->md.h0 & mask; + mac.u[1] |= key->md.h1 & mask; + mac.u[2] |= key->md.h2 & mask; + mac.u[3] |= key->md.h3 & mask; + mac.u[4] |= key->md.h4 & mask; + res=0; + } + + for(i=res;ic[i]=0; + + if (res>SHA_CBLOCK-8) { + mask = 0-((inp_len+8-j)>>(sizeof(j)*8-1)); + data->u[SHA_LBLOCK-1] |= bitlen&mask; + sha1_block_data_order(&key->md,data,1); + mask &= 0-((j-inp_len-73)>>(sizeof(j)*8-1)); + mac.u[0] |= key->md.h0 & mask; + mac.u[1] |= key->md.h1 & mask; + mac.u[2] |= key->md.h2 & mask; + mac.u[3] |= key->md.h3 & mask; + mac.u[4] |= key->md.h4 & mask; + + memset(data,0,SHA_CBLOCK); + j+=64; + } + data->u[SHA_LBLOCK-1] = bitlen; + sha1_block_data_order(&key->md,data,1); + mask = 0-((j-inp_len-73)>>(sizeof(j)*8-1)); + mac.u[0] |= key->md.h0 & mask; + mac.u[1] |= key->md.h1 & mask; + mac.u[2] |= key->md.h2 & mask; + mac.u[3] |= key->md.h3 & mask; + mac.u[4] |= key->md.h4 & mask; + +#ifdef BSWAP + mac.u[0] = BSWAP(mac.u[0]); + mac.u[1] = BSWAP(mac.u[1]); + mac.u[2] = BSWAP(mac.u[2]); + mac.u[3] = BSWAP(mac.u[3]); + mac.u[4] = BSWAP(mac.u[4]); +#else + for (i=0;i<5;i++) { + res = mac.u[i]; + mac.c[4*i+0]=(unsigned char)(res>>24); + mac.c[4*i+1]=(unsigned char)(res>>16); + mac.c[4*i+2]=(unsigned char)(res>>8); + mac.c[4*i+3]=(unsigned char)res; + } +#endif + len += SHA_DIGEST_LENGTH; +#else + SHA1_Update(&key->md,out,inp_len); + res = key->md.num; + SHA1_Final(mac.c,&key->md); + + { + unsigned int inp_blocks, pad_blocks; + + /* but pretend as if we hashed padded payload */ + inp_blocks = 1+((SHA_CBLOCK-9-res)>>(sizeof(res)*8-1)); + res += (unsigned int)(len-inp_len); + pad_blocks = res / SHA_CBLOCK; + res %= SHA_CBLOCK; + pad_blocks += 1+((SHA_CBLOCK-9-res)>>(sizeof(res)*8-1)); + for (;inp_blocksmd,data,1); + } +#endif key->md = key->tail; - SHA1_Update(&key->md,mac,SHA_DIGEST_LENGTH); - SHA1_Final(mac,&key->md); + SHA1_Update(&key->md,mac.c,SHA_DIGEST_LENGTH); + SHA1_Final(mac.c,&key->md); - if (memcmp(out+iv+len,mac,SHA_DIGEST_LENGTH)) - return 0; + /* verify HMAC */ + out += inp_len; + len -= inp_len; +#if 1 + { + unsigned char *p = out+len-1-maxpad-SHA_DIGEST_LENGTH; + size_t off = out-p; + unsigned int c, cmask; + + maxpad += SHA_DIGEST_LENGTH; + for (res=0,i=0,j=0;j>(sizeof(int)*8-1); + res |= (c^pad)&~cmask; /* ... and padding */ + cmask &= ((int)(off-1-j))>>(sizeof(int)*8-1); + res |= (c^mac.c[i])&cmask; + i += 1&cmask; + } + maxpad -= SHA_DIGEST_LENGTH; + + res = 0-((0-res)>>(sizeof(res)*8-1)); + ret &= (int)~res; + } +#else + for (res=0,i=0;i>(sizeof(res)*8-1)); + ret &= (int)~res; + + /* verify padding */ + pad = (pad&~res) | (maxpad&res); + out = out+len-1-pad; + for (res=0,i=0;i>(sizeof(res)*8-1); + ret &= (int)~res; +#endif + return ret; } else { SHA1_Update(&key->md,out,len); } } - key->payload_length = NO_PAYLOAD_LENGTH; - return 1; } @@ -309,6 +474,8 @@ static int aesni_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void SHA1_Init(&key->tail); SHA1_Update(&key->tail,hmac_key,sizeof(hmac_key)); + OPENSSL_cleanse(hmac_key,sizeof(hmac_key)); + return 1; } case EVP_CTRL_AEAD_TLS1_AAD: diff --git a/crypto/openssl/crypto/evp/evp.h b/crypto/openssl/crypto/evp/evp.h index 0d1b20a7d3..faeb3c24e6 100644 --- a/crypto/openssl/crypto/evp/evp.h +++ b/crypto/openssl/crypto/evp/evp.h @@ -402,7 +402,6 @@ struct evp_cipher_st /* Length of tag for TLS */ #define EVP_GCM_TLS_TAG_LEN 16 - typedef struct evp_cipher_info_st { const EVP_CIPHER *cipher; @@ -789,8 +788,8 @@ const EVP_CIPHER *EVP_aes_128_cfb128(void); # define EVP_aes_128_cfb EVP_aes_128_cfb128 const EVP_CIPHER *EVP_aes_128_ofb(void); const EVP_CIPHER *EVP_aes_128_ctr(void); -const EVP_CIPHER *EVP_aes_128_gcm(void); const EVP_CIPHER *EVP_aes_128_ccm(void); +const EVP_CIPHER *EVP_aes_128_gcm(void); const EVP_CIPHER *EVP_aes_128_xts(void); const EVP_CIPHER *EVP_aes_192_ecb(void); const EVP_CIPHER *EVP_aes_192_cbc(void); @@ -800,8 +799,8 @@ const EVP_CIPHER *EVP_aes_192_cfb128(void); # define EVP_aes_192_cfb EVP_aes_192_cfb128 const EVP_CIPHER *EVP_aes_192_ofb(void); const EVP_CIPHER *EVP_aes_192_ctr(void); -const EVP_CIPHER *EVP_aes_192_gcm(void); const EVP_CIPHER *EVP_aes_192_ccm(void); +const EVP_CIPHER *EVP_aes_192_gcm(void); const EVP_CIPHER *EVP_aes_256_ecb(void); const EVP_CIPHER *EVP_aes_256_cbc(void); const EVP_CIPHER *EVP_aes_256_cfb1(void); @@ -810,8 +809,8 @@ const EVP_CIPHER *EVP_aes_256_cfb128(void); # define EVP_aes_256_cfb EVP_aes_256_cfb128 const EVP_CIPHER *EVP_aes_256_ofb(void); const EVP_CIPHER *EVP_aes_256_ctr(void); -const EVP_CIPHER *EVP_aes_256_gcm(void); const EVP_CIPHER *EVP_aes_256_ccm(void); +const EVP_CIPHER *EVP_aes_256_gcm(void); const EVP_CIPHER *EVP_aes_256_xts(void); #if !defined(OPENSSL_NO_SHA) && !defined(OPENSSL_NO_SHA1) const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha1(void); @@ -1243,6 +1242,8 @@ void EVP_PKEY_meth_set_ctrl(EVP_PKEY_METHOD *pmeth, int (*ctrl_str)(EVP_PKEY_CTX *ctx, const char *type, const char *value)); +void EVP_add_alg_module(void); + /* BEGIN ERROR CODES */ /* The following lines are auto generated by the script mkerr.pl. Any changes * made after this point may be overwritten when the script is next run. @@ -1257,6 +1258,7 @@ void ERR_load_EVP_strings(void); #define EVP_F_AES_INIT_KEY 133 #define EVP_F_AES_XTS 172 #define EVP_F_AES_XTS_CIPHER 175 +#define EVP_F_ALG_MODULE_INIT 177 #define EVP_F_CAMELLIA_INIT_KEY 159 #define EVP_F_CMAC_INIT 173 #define EVP_F_D2I_PKEY 100 @@ -1350,15 +1352,19 @@ void ERR_load_EVP_strings(void); #define EVP_R_DIFFERENT_PARAMETERS 153 #define EVP_R_DISABLED_FOR_FIPS 163 #define EVP_R_ENCODE_ERROR 115 +#define EVP_R_ERROR_LOADING_SECTION 165 +#define EVP_R_ERROR_SETTING_FIPS_MODE 166 #define EVP_R_EVP_PBE_CIPHERINIT_ERROR 119 #define EVP_R_EXPECTING_AN_RSA_KEY 127 #define EVP_R_EXPECTING_A_DH_KEY 128 #define EVP_R_EXPECTING_A_DSA_KEY 129 #define EVP_R_EXPECTING_A_ECDSA_KEY 141 #define EVP_R_EXPECTING_A_EC_KEY 142 +#define EVP_R_FIPS_MODE_NOT_SUPPORTED 167 #define EVP_R_INITIALIZATION_ERROR 134 #define EVP_R_INPUT_NOT_INITIALIZED 111 #define EVP_R_INVALID_DIGEST 152 +#define EVP_R_INVALID_FIPS_MODE 168 #define EVP_R_INVALID_KEY_LENGTH 130 #define EVP_R_INVALID_OPERATION 148 #define EVP_R_IV_TOO_LARGE 102 @@ -1383,6 +1389,7 @@ void ERR_load_EVP_strings(void); #define EVP_R_TOO_LARGE 164 #define EVP_R_UNKNOWN_CIPHER 160 #define EVP_R_UNKNOWN_DIGEST 161 +#define EVP_R_UNKNOWN_OPTION 169 #define EVP_R_UNKNOWN_PBE_ALGORITHM 121 #define EVP_R_UNSUPORTED_NUMBER_OF_ROUNDS 135 #define EVP_R_UNSUPPORTED_ALGORITHM 156 diff --git a/crypto/openssl/crypto/conf/conf_mall.c b/crypto/openssl/crypto/evp/evp_cnf.c similarity index 67% copy from crypto/openssl/crypto/conf/conf_mall.c copy to crypto/openssl/crypto/evp/evp_cnf.c index c6f4cb2d55..2e4db30235 100644 --- a/crypto/openssl/crypto/conf/conf_mall.c +++ b/crypto/openssl/crypto/evp/evp_cnf.c @@ -1,9 +1,9 @@ -/* conf_mall.c */ +/* evp_cnf.c */ /* Written by Stephen Henson (steve@openssl.org) for the OpenSSL - * project 2001. + * project 2007. */ /* ==================================================================== - * Copyright (c) 2001 The OpenSSL Project. All rights reserved. + * Copyright (c) 2007 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -57,24 +57,69 @@ */ #include +#include #include #include "cryptlib.h" #include #include #include -#include -#ifndef OPENSSL_NO_ENGINE -#include +#include +#ifdef OPENSSL_FIPS +#include #endif -/* Load all OpenSSL builtin modules */ -void OPENSSL_load_builtin_modules(void) +/* Algorithm configuration module. */ + +static int alg_module_init(CONF_IMODULE *md, const CONF *cnf) { - /* Add builtin modules here */ - ASN1_add_oid_module(); -#ifndef OPENSSL_NO_ENGINE - ENGINE_add_conf_module(); + int i; + const char *oid_section; + STACK_OF(CONF_VALUE) *sktmp; + CONF_VALUE *oval; + oid_section = CONF_imodule_get_value(md); + if(!(sktmp = NCONF_get_section(cnf, oid_section))) + { + EVPerr(EVP_F_ALG_MODULE_INIT, EVP_R_ERROR_LOADING_SECTION); + return 0; + } + for(i = 0; i < sk_CONF_VALUE_num(sktmp); i++) + { + oval = sk_CONF_VALUE_value(sktmp, i); + if (!strcmp(oval->name, "fips_mode")) + { + int m; + if (!X509V3_get_value_bool(oval, &m)) + { + EVPerr(EVP_F_ALG_MODULE_INIT, EVP_R_INVALID_FIPS_MODE); + return 0; + } + if (m > 0) + { +#ifdef OPENSSL_FIPS + if (!FIPS_mode() && !FIPS_mode_set(1)) + { + EVPerr(EVP_F_ALG_MODULE_INIT, EVP_R_ERROR_SETTING_FIPS_MODE); + return 0; + } +#else + EVPerr(EVP_F_ALG_MODULE_INIT, EVP_R_FIPS_MODE_NOT_SUPPORTED); + return 0; #endif + } + } + else + { + EVPerr(EVP_F_ALG_MODULE_INIT, EVP_R_UNKNOWN_OPTION); + ERR_add_error_data(4, "name=", oval->name, + ", value=", oval->value); + } + + } + return 1; } +void EVP_add_alg_module(void) + { + CONF_module_add("alg_section", alg_module_init, 0); + } diff --git a/crypto/openssl/crypto/evp/evp_err.c b/crypto/openssl/crypto/evp/evp_err.c index db0f76d59b..08eab9882f 100644 --- a/crypto/openssl/crypto/evp/evp_err.c +++ b/crypto/openssl/crypto/evp/evp_err.c @@ -75,6 +75,7 @@ static ERR_STRING_DATA EVP_str_functs[]= {ERR_FUNC(EVP_F_AES_INIT_KEY), "AES_INIT_KEY"}, {ERR_FUNC(EVP_F_AES_XTS), "AES_XTS"}, {ERR_FUNC(EVP_F_AES_XTS_CIPHER), "AES_XTS_CIPHER"}, +{ERR_FUNC(EVP_F_ALG_MODULE_INIT), "ALG_MODULE_INIT"}, {ERR_FUNC(EVP_F_CAMELLIA_INIT_KEY), "CAMELLIA_INIT_KEY"}, {ERR_FUNC(EVP_F_CMAC_INIT), "CMAC_INIT"}, {ERR_FUNC(EVP_F_D2I_PKEY), "D2I_PKEY"}, @@ -171,15 +172,19 @@ static ERR_STRING_DATA EVP_str_reasons[]= {ERR_REASON(EVP_R_DIFFERENT_PARAMETERS) ,"different parameters"}, {ERR_REASON(EVP_R_DISABLED_FOR_FIPS) ,"disabled for fips"}, {ERR_REASON(EVP_R_ENCODE_ERROR) ,"encode error"}, +{ERR_REASON(EVP_R_ERROR_LOADING_SECTION) ,"error loading section"}, +{ERR_REASON(EVP_R_ERROR_SETTING_FIPS_MODE),"error setting fips mode"}, {ERR_REASON(EVP_R_EVP_PBE_CIPHERINIT_ERROR),"evp pbe cipherinit error"}, {ERR_REASON(EVP_R_EXPECTING_AN_RSA_KEY) ,"expecting an rsa key"}, {ERR_REASON(EVP_R_EXPECTING_A_DH_KEY) ,"expecting a dh key"}, {ERR_REASON(EVP_R_EXPECTING_A_DSA_KEY) ,"expecting a dsa key"}, {ERR_REASON(EVP_R_EXPECTING_A_ECDSA_KEY) ,"expecting a ecdsa key"}, {ERR_REASON(EVP_R_EXPECTING_A_EC_KEY) ,"expecting a ec key"}, +{ERR_REASON(EVP_R_FIPS_MODE_NOT_SUPPORTED),"fips mode not supported"}, {ERR_REASON(EVP_R_INITIALIZATION_ERROR) ,"initialization error"}, {ERR_REASON(EVP_R_INPUT_NOT_INITIALIZED) ,"input not initialized"}, {ERR_REASON(EVP_R_INVALID_DIGEST) ,"invalid digest"}, +{ERR_REASON(EVP_R_INVALID_FIPS_MODE) ,"invalid fips mode"}, {ERR_REASON(EVP_R_INVALID_KEY_LENGTH) ,"invalid key length"}, {ERR_REASON(EVP_R_INVALID_OPERATION) ,"invalid operation"}, {ERR_REASON(EVP_R_IV_TOO_LARGE) ,"iv too large"}, @@ -204,6 +209,7 @@ static ERR_STRING_DATA EVP_str_reasons[]= {ERR_REASON(EVP_R_TOO_LARGE) ,"too large"}, {ERR_REASON(EVP_R_UNKNOWN_CIPHER) ,"unknown cipher"}, {ERR_REASON(EVP_R_UNKNOWN_DIGEST) ,"unknown digest"}, +{ERR_REASON(EVP_R_UNKNOWN_OPTION) ,"unknown option"}, {ERR_REASON(EVP_R_UNKNOWN_PBE_ALGORITHM) ,"unknown pbe algorithm"}, {ERR_REASON(EVP_R_UNSUPORTED_NUMBER_OF_ROUNDS),"unsuported number of rounds"}, {ERR_REASON(EVP_R_UNSUPPORTED_ALGORITHM) ,"unsupported algorithm"}, diff --git a/crypto/openssl/crypto/evp/m_dss.c b/crypto/openssl/crypto/evp/m_dss.c index 4ad63ada6f..6fb7e9a861 100644 --- a/crypto/openssl/crypto/evp/m_dss.c +++ b/crypto/openssl/crypto/evp/m_dss.c @@ -60,7 +60,7 @@ #include "cryptlib.h" #include #include -#include +#include #ifndef OPENSSL_NO_DSA #include #endif diff --git a/crypto/openssl/crypto/evp/m_dss1.c b/crypto/openssl/crypto/evp/m_dss1.c index f80170efeb..2df362a670 100644 --- a/crypto/openssl/crypto/evp/m_dss1.c +++ b/crypto/openssl/crypto/evp/m_dss1.c @@ -63,7 +63,7 @@ #include #include -#include +#include #ifndef OPENSSL_NO_DSA #include #endif diff --git a/crypto/openssl/crypto/evp/m_sha1.c b/crypto/openssl/crypto/evp/m_sha1.c index 3cb11f1ebb..bd0c01ad3c 100644 --- a/crypto/openssl/crypto/evp/m_sha1.c +++ b/crypto/openssl/crypto/evp/m_sha1.c @@ -65,7 +65,7 @@ #include #include -#include +#include #ifndef OPENSSL_NO_RSA #include #endif diff --git a/crypto/openssl/crypto/evp/p_sign.c b/crypto/openssl/crypto/evp/p_sign.c index dfa48c157c..8afb664306 100644 --- a/crypto/openssl/crypto/evp/p_sign.c +++ b/crypto/openssl/crypto/evp/p_sign.c @@ -80,7 +80,7 @@ int EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, unsigned int *siglen, { unsigned char m[EVP_MAX_MD_SIZE]; unsigned int m_len; - int i=0,ok=0,v; + int i = 0,ok = 0,v; EVP_MD_CTX tmp_ctx; EVP_PKEY_CTX *pkctx = NULL; diff --git a/crypto/openssl/crypto/evp/p_verify.c b/crypto/openssl/crypto/evp/p_verify.c index 5f5c409f45..c66d63ccf8 100644 --- a/crypto/openssl/crypto/evp/p_verify.c +++ b/crypto/openssl/crypto/evp/p_verify.c @@ -67,7 +67,7 @@ int EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf, { unsigned char m[EVP_MAX_MD_SIZE]; unsigned int m_len; - int i=-1,ok=0,v; + int i = 0,ok = 0,v; EVP_MD_CTX tmp_ctx; EVP_PKEY_CTX *pkctx = NULL; diff --git a/crypto/openssl/crypto/md4/md4_dgst.c b/crypto/openssl/crypto/md4/md4_dgst.c index 82c2cb2d98..b5b165b052 100644 --- a/crypto/openssl/crypto/md4/md4_dgst.c +++ b/crypto/openssl/crypto/md4/md4_dgst.c @@ -106,22 +106,23 @@ void md4_block_data_order (MD4_CTX *c, const void *data_, size_t num) for (;num--;) { - HOST_c2l(data,l); X( 0)=l; HOST_c2l(data,l); X( 1)=l; + (void)HOST_c2l(data,l); X( 0)=l; + (void)HOST_c2l(data,l); X( 1)=l; /* Round 0 */ - R0(A,B,C,D,X( 0), 3,0); HOST_c2l(data,l); X( 2)=l; - R0(D,A,B,C,X( 1), 7,0); HOST_c2l(data,l); X( 3)=l; - R0(C,D,A,B,X( 2),11,0); HOST_c2l(data,l); X( 4)=l; - R0(B,C,D,A,X( 3),19,0); HOST_c2l(data,l); X( 5)=l; - R0(A,B,C,D,X( 4), 3,0); HOST_c2l(data,l); X( 6)=l; - R0(D,A,B,C,X( 5), 7,0); HOST_c2l(data,l); X( 7)=l; - R0(C,D,A,B,X( 6),11,0); HOST_c2l(data,l); X( 8)=l; - R0(B,C,D,A,X( 7),19,0); HOST_c2l(data,l); X( 9)=l; - R0(A,B,C,D,X( 8), 3,0); HOST_c2l(data,l); X(10)=l; - R0(D,A,B,C,X( 9), 7,0); HOST_c2l(data,l); X(11)=l; - R0(C,D,A,B,X(10),11,0); HOST_c2l(data,l); X(12)=l; - R0(B,C,D,A,X(11),19,0); HOST_c2l(data,l); X(13)=l; - R0(A,B,C,D,X(12), 3,0); HOST_c2l(data,l); X(14)=l; - R0(D,A,B,C,X(13), 7,0); HOST_c2l(data,l); X(15)=l; + R0(A,B,C,D,X( 0), 3,0); (void)HOST_c2l(data,l); X( 2)=l; + R0(D,A,B,C,X( 1), 7,0); (void)HOST_c2l(data,l); X( 3)=l; + R0(C,D,A,B,X( 2),11,0); (void)HOST_c2l(data,l); X( 4)=l; + R0(B,C,D,A,X( 3),19,0); (void)HOST_c2l(data,l); X( 5)=l; + R0(A,B,C,D,X( 4), 3,0); (void)HOST_c2l(data,l); X( 6)=l; + R0(D,A,B,C,X( 5), 7,0); (void)HOST_c2l(data,l); X( 7)=l; + R0(C,D,A,B,X( 6),11,0); (void)HOST_c2l(data,l); X( 8)=l; + R0(B,C,D,A,X( 7),19,0); (void)HOST_c2l(data,l); X( 9)=l; + R0(A,B,C,D,X( 8), 3,0); (void)HOST_c2l(data,l); X(10)=l; + R0(D,A,B,C,X( 9), 7,0); (void)HOST_c2l(data,l); X(11)=l; + R0(C,D,A,B,X(10),11,0); (void)HOST_c2l(data,l); X(12)=l; + R0(B,C,D,A,X(11),19,0); (void)HOST_c2l(data,l); X(13)=l; + R0(A,B,C,D,X(12), 3,0); (void)HOST_c2l(data,l); X(14)=l; + R0(D,A,B,C,X(13), 7,0); (void)HOST_c2l(data,l); X(15)=l; R0(C,D,A,B,X(14),11,0); R0(B,C,D,A,X(15),19,0); /* Round 1 */ diff --git a/crypto/openssl/crypto/md4/md4_locl.h b/crypto/openssl/crypto/md4/md4_locl.h index c8085b0ead..99c3e5004c 100644 --- a/crypto/openssl/crypto/md4/md4_locl.h +++ b/crypto/openssl/crypto/md4/md4_locl.h @@ -77,10 +77,10 @@ void md4_block_data_order (MD4_CTX *c, const void *p,size_t num); #define HASH_FINAL MD4_Final #define HASH_MAKE_STRING(c,s) do { \ unsigned long ll; \ - ll=(c)->A; HOST_l2c(ll,(s)); \ - ll=(c)->B; HOST_l2c(ll,(s)); \ - ll=(c)->C; HOST_l2c(ll,(s)); \ - ll=(c)->D; HOST_l2c(ll,(s)); \ + ll=(c)->A; (void)HOST_l2c(ll,(s)); \ + ll=(c)->B; (void)HOST_l2c(ll,(s)); \ + ll=(c)->C; (void)HOST_l2c(ll,(s)); \ + ll=(c)->D; (void)HOST_l2c(ll,(s)); \ } while (0) #define HASH_BLOCK_DATA_ORDER md4_block_data_order diff --git a/crypto/openssl/crypto/md5/asm/md5-x86_64.pl b/crypto/openssl/crypto/md5/asm/md5-x86_64.pl index 867885435e..f11224d172 100755 --- a/crypto/openssl/crypto/md5/asm/md5-x86_64.pl +++ b/crypto/openssl/crypto/md5/asm/md5-x86_64.pl @@ -120,7 +120,8 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; my $dir=$1; my $xlate; die "can't locate x86_64-xlate.pl"; no warnings qw(uninitialized); -open STDOUT,"| $^X $xlate $flavour $output"; +open OUT,"| \"$^X\" $xlate $flavour $output"; +*STDOUT=*OUT; $code .= <A; HOST_l2c(ll,(s)); \ - ll=(c)->B; HOST_l2c(ll,(s)); \ - ll=(c)->C; HOST_l2c(ll,(s)); \ - ll=(c)->D; HOST_l2c(ll,(s)); \ + ll=(c)->A; (void)HOST_l2c(ll,(s)); \ + ll=(c)->B; (void)HOST_l2c(ll,(s)); \ + ll=(c)->C; (void)HOST_l2c(ll,(s)); \ + ll=(c)->D; (void)HOST_l2c(ll,(s)); \ } while (0) #define HASH_BLOCK_DATA_ORDER md5_block_data_order diff --git a/crypto/openssl/crypto/mdc2/mdc2dgst.c b/crypto/openssl/crypto/mdc2/mdc2dgst.c index b74bb1a759..d66ed6a1c6 100644 --- a/crypto/openssl/crypto/mdc2/mdc2dgst.c +++ b/crypto/openssl/crypto/mdc2/mdc2dgst.c @@ -59,9 +59,9 @@ #include #include #include +#include #include #include -#include #undef c2l #define c2l(c,l) (l =((DES_LONG)(*((c)++))) , \ diff --git a/crypto/openssl/crypto/mem.c b/crypto/openssl/crypto/mem.c index 21c0011380..1cc62eafd1 100644 --- a/crypto/openssl/crypto/mem.c +++ b/crypto/openssl/crypto/mem.c @@ -121,10 +121,10 @@ static void (*set_debug_options_func)(long) = NULL; static long (*get_debug_options_func)(void) = NULL; #endif - int CRYPTO_set_mem_functions(void *(*m)(size_t), void *(*r)(void *, size_t), void (*f)(void *)) { + /* Dummy call just to ensure OPENSSL_init() gets linked in */ OPENSSL_init(); if (!allow_customize) return 0; diff --git a/crypto/openssl/crypto/modes/asm/ghash-x86.pl b/crypto/openssl/crypto/modes/asm/ghash-x86.pl index 6b09669d47..83c727e07f 100644 --- a/crypto/openssl/crypto/modes/asm/ghash-x86.pl +++ b/crypto/openssl/crypto/modes/asm/ghash-x86.pl @@ -635,7 +635,7 @@ sub mmx_loop() { { my @lo = ("mm0","mm1","mm2"); my @hi = ("mm3","mm4","mm5"); my @tmp = ("mm6","mm7"); - my $off1=0,$off2=0,$i; + my ($off1,$off2,$i) = (0,0,); &add ($Htbl,128); # optimize for size &lea ("edi",&DWP(16+128,"esp")); @@ -883,7 +883,7 @@ sub reduction_alg9 { # 17/13 times faster than Intel version my ($Xhi,$Xi) = @_; # 1st phase - &movdqa ($T1,$Xi) # + &movdqa ($T1,$Xi); # &psllq ($Xi,1); &pxor ($Xi,$T1); # &psllq ($Xi,5); # @@ -1019,7 +1019,7 @@ my ($Xhi,$Xi) = @_; &movdqa ($Xhn,$Xn); &pxor ($Xhi,$T1); # "Ii+Xi", consume early - &movdqa ($T1,$Xi) #&reduction_alg9($Xhi,$Xi); 1st phase + &movdqa ($T1,$Xi); #&reduction_alg9($Xhi,$Xi); 1st phase &psllq ($Xi,1); &pxor ($Xi,$T1); # &psllq ($Xi,5); # diff --git a/crypto/openssl/crypto/modes/asm/ghash-x86_64.pl b/crypto/openssl/crypto/modes/asm/ghash-x86_64.pl index a5ae180882..38d779edbc 100644 --- a/crypto/openssl/crypto/modes/asm/ghash-x86_64.pl +++ b/crypto/openssl/crypto/modes/asm/ghash-x86_64.pl @@ -50,7 +50,8 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; ( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or die "can't locate x86_64-xlate.pl"; -open STDOUT,"| $^X $xlate $flavour $output"; +open OUT,"| \"$^X\" $xlate $flavour $output"; +*STDOUT=*OUT; # common register layout $nlo="%rax"; diff --git a/crypto/openssl/crypto/modes/gcm128.c b/crypto/openssl/crypto/modes/gcm128.c index 7d6d034970..0e6ff8b0a1 100644 --- a/crypto/openssl/crypto/modes/gcm128.c +++ b/crypto/openssl/crypto/modes/gcm128.c @@ -723,7 +723,7 @@ void CRYPTO_gcm128_init(GCM128_CONTEXT *ctx,void *key,block128_f block) # endif gcm_init_4bit(ctx->Htable,ctx->H.u); # if defined(GHASH_ASM_X86) /* x86 only */ -# if defined(OPENSSL_IA32_SSE2) +# if defined(OPENSSL_IA32_SSE2) if (OPENSSL_ia32cap_P[0]&(1<<25)) { /* check SSE bit */ # else if (OPENSSL_ia32cap_P[0]&(1<<23)) { /* check MMX bit */ @@ -1398,7 +1398,7 @@ int CRYPTO_gcm128_finish(GCM128_CONTEXT *ctx,const unsigned char *tag, void (*gcm_gmult_p)(u64 Xi[2],const u128 Htable[16]) = ctx->gmult; #endif - if (ctx->mres) + if (ctx->mres || ctx->ares) GCM_MUL(ctx,Xi); if (is_endian.little) { diff --git a/crypto/openssl/crypto/objects/o_names.c b/crypto/openssl/crypto/objects/o_names.c index 84380a96a9..4a548c2ed4 100644 --- a/crypto/openssl/crypto/objects/o_names.c +++ b/crypto/openssl/crypto/objects/o_names.c @@ -73,7 +73,7 @@ int OBJ_NAME_new_index(unsigned long (*hash_func)(const char *), name_funcs_stack=sk_NAME_FUNCS_new_null(); MemCheck_on(); } - if ((name_funcs_stack == NULL)) + if (name_funcs_stack == NULL) { /* ERROR */ return(0); diff --git a/crypto/openssl/crypto/ocsp/ocsp_vfy.c b/crypto/openssl/crypto/ocsp/ocsp_vfy.c index 415d67e61c..276718304d 100644 --- a/crypto/openssl/crypto/ocsp/ocsp_vfy.c +++ b/crypto/openssl/crypto/ocsp/ocsp_vfy.c @@ -91,9 +91,12 @@ int OCSP_basic_verify(OCSP_BASICRESP *bs, STACK_OF(X509) *certs, { EVP_PKEY *skey; skey = X509_get_pubkey(signer); - ret = OCSP_BASICRESP_verify(bs, skey, 0); - EVP_PKEY_free(skey); - if(ret <= 0) + if (skey) + { + ret = OCSP_BASICRESP_verify(bs, skey, 0); + EVP_PKEY_free(skey); + } + if(!skey || ret <= 0) { OCSPerr(OCSP_F_OCSP_BASIC_VERIFY, OCSP_R_SIGNATURE_FAILURE); goto end; @@ -108,6 +111,7 @@ int OCSP_basic_verify(OCSP_BASICRESP *bs, STACK_OF(X509) *certs, init_res = X509_STORE_CTX_init(&ctx, st, signer, bs->certs); if(!init_res) { + ret = -1; OCSPerr(OCSP_F_OCSP_BASIC_VERIFY,ERR_R_X509_LIB); goto end; } diff --git a/crypto/openssl/crypto/opensslv.h b/crypto/openssl/crypto/opensslv.h index 71be3590af..dbea4ad6bc 100644 --- a/crypto/openssl/crypto/opensslv.h +++ b/crypto/openssl/crypto/opensslv.h @@ -25,11 +25,11 @@ * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for * major minor fix final patch/beta) */ -#define OPENSSL_VERSION_NUMBER 0x1000103fL +#define OPENSSL_VERSION_NUMBER 0x1000104fL #ifdef OPENSSL_FIPS -#define OPENSSL_VERSION_TEXT "OpenSSL 1.0.1c-fips 10 May 2012" +#define OPENSSL_VERSION_TEXT "OpenSSL 1.0.1d-fips 5 Feb 2013" #else -#define OPENSSL_VERSION_TEXT "OpenSSL 1.0.1c 10 May 2012" +#define OPENSSL_VERSION_TEXT "OpenSSL 1.0.1d 5 Feb 2013" #endif #define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT diff --git a/crypto/openssl/crypto/pem/pem_all.c b/crypto/openssl/crypto/pem/pem_all.c index 3e7a6093ad..eac0460e3e 100644 --- a/crypto/openssl/crypto/pem/pem_all.c +++ b/crypto/openssl/crypto/pem/pem_all.c @@ -193,7 +193,61 @@ RSA *PEM_read_RSAPrivateKey(FILE *fp, RSA **rsa, pem_password_cb *cb, #endif +#ifdef OPENSSL_FIPS + +int PEM_write_bio_RSAPrivateKey(BIO *bp, RSA *x, const EVP_CIPHER *enc, + unsigned char *kstr, int klen, + pem_password_cb *cb, void *u) +{ + if (FIPS_mode()) + { + EVP_PKEY *k; + int ret; + k = EVP_PKEY_new(); + if (!k) + return 0; + EVP_PKEY_set1_RSA(k, x); + + ret = PEM_write_bio_PrivateKey(bp, k, enc, kstr, klen, cb, u); + EVP_PKEY_free(k); + return ret; + } + else + return PEM_ASN1_write_bio((i2d_of_void *)i2d_RSAPrivateKey, + PEM_STRING_RSA,bp,x,enc,kstr,klen,cb,u); +} + +#ifndef OPENSSL_NO_FP_API +int PEM_write_RSAPrivateKey(FILE *fp, RSA *x, const EVP_CIPHER *enc, + unsigned char *kstr, int klen, + pem_password_cb *cb, void *u) +{ + if (FIPS_mode()) + { + EVP_PKEY *k; + int ret; + k = EVP_PKEY_new(); + if (!k) + return 0; + + EVP_PKEY_set1_RSA(k, x); + + ret = PEM_write_PrivateKey(fp, k, enc, kstr, klen, cb, u); + EVP_PKEY_free(k); + return ret; + } + else + return PEM_ASN1_write((i2d_of_void *)i2d_RSAPrivateKey, + PEM_STRING_RSA,fp,x,enc,kstr,klen,cb,u); +} +#endif + +#else + IMPLEMENT_PEM_write_cb_const(RSAPrivateKey, RSA, PEM_STRING_RSA, RSAPrivateKey) + +#endif + IMPLEMENT_PEM_rw_const(RSAPublicKey, RSA, PEM_STRING_RSA_PUBLIC, RSAPublicKey) IMPLEMENT_PEM_rw(RSA_PUBKEY, RSA, PEM_STRING_PUBLIC, RSA_PUBKEY) @@ -223,7 +277,59 @@ DSA *PEM_read_bio_DSAPrivateKey(BIO *bp, DSA **dsa, pem_password_cb *cb, return pkey_get_dsa(pktmp, dsa); /* will free pktmp */ } +#ifdef OPENSSL_FIPS + +int PEM_write_bio_DSAPrivateKey(BIO *bp, DSA *x, const EVP_CIPHER *enc, + unsigned char *kstr, int klen, + pem_password_cb *cb, void *u) +{ + if (FIPS_mode()) + { + EVP_PKEY *k; + int ret; + k = EVP_PKEY_new(); + if (!k) + return 0; + EVP_PKEY_set1_DSA(k, x); + + ret = PEM_write_bio_PrivateKey(bp, k, enc, kstr, klen, cb, u); + EVP_PKEY_free(k); + return ret; + } + else + return PEM_ASN1_write_bio((i2d_of_void *)i2d_DSAPrivateKey, + PEM_STRING_DSA,bp,x,enc,kstr,klen,cb,u); +} + +#ifndef OPENSSL_NO_FP_API +int PEM_write_DSAPrivateKey(FILE *fp, DSA *x, const EVP_CIPHER *enc, + unsigned char *kstr, int klen, + pem_password_cb *cb, void *u) +{ + if (FIPS_mode()) + { + EVP_PKEY *k; + int ret; + k = EVP_PKEY_new(); + if (!k) + return 0; + EVP_PKEY_set1_DSA(k, x); + ret = PEM_write_PrivateKey(fp, k, enc, kstr, klen, cb, u); + EVP_PKEY_free(k); + return ret; + } + else + return PEM_ASN1_write((i2d_of_void *)i2d_DSAPrivateKey, + PEM_STRING_DSA,fp,x,enc,kstr,klen,cb,u); +} +#endif + +#else + IMPLEMENT_PEM_write_cb_const(DSAPrivateKey, DSA, PEM_STRING_DSA, DSAPrivateKey) + +#endif + IMPLEMENT_PEM_rw(DSA_PUBKEY, DSA, PEM_STRING_PUBLIC, DSA_PUBKEY) #ifndef OPENSSL_NO_FP_API @@ -269,8 +375,63 @@ EC_KEY *PEM_read_bio_ECPrivateKey(BIO *bp, EC_KEY **key, pem_password_cb *cb, IMPLEMENT_PEM_rw_const(ECPKParameters, EC_GROUP, PEM_STRING_ECPARAMETERS, ECPKParameters) + + +#ifdef OPENSSL_FIPS + +int PEM_write_bio_ECPrivateKey(BIO *bp, EC_KEY *x, const EVP_CIPHER *enc, + unsigned char *kstr, int klen, + pem_password_cb *cb, void *u) +{ + if (FIPS_mode()) + { + EVP_PKEY *k; + int ret; + k = EVP_PKEY_new(); + if (!k) + return 0; + EVP_PKEY_set1_EC_KEY(k, x); + + ret = PEM_write_bio_PrivateKey(bp, k, enc, kstr, klen, cb, u); + EVP_PKEY_free(k); + return ret; + } + else + return PEM_ASN1_write_bio((i2d_of_void *)i2d_ECPrivateKey, + PEM_STRING_ECPRIVATEKEY, + bp,x,enc,kstr,klen,cb,u); +} + +#ifndef OPENSSL_NO_FP_API +int PEM_write_ECPrivateKey(FILE *fp, EC_KEY *x, const EVP_CIPHER *enc, + unsigned char *kstr, int klen, + pem_password_cb *cb, void *u) +{ + if (FIPS_mode()) + { + EVP_PKEY *k; + int ret; + k = EVP_PKEY_new(); + if (!k) + return 0; + EVP_PKEY_set1_EC_KEY(k, x); + ret = PEM_write_PrivateKey(fp, k, enc, kstr, klen, cb, u); + EVP_PKEY_free(k); + return ret; + } + else + return PEM_ASN1_write((i2d_of_void *)i2d_ECPrivateKey, + PEM_STRING_ECPRIVATEKEY, + fp,x,enc,kstr,klen,cb,u); +} +#endif + +#else + IMPLEMENT_PEM_write_cb(ECPrivateKey, EC_KEY, PEM_STRING_ECPRIVATEKEY, ECPrivateKey) +#endif + IMPLEMENT_PEM_rw(EC_PUBKEY, EC_KEY, PEM_STRING_PUBLIC, EC_PUBKEY) #ifndef OPENSSL_NO_FP_API diff --git a/crypto/openssl/crypto/pem/pem_lib.c b/crypto/openssl/crypto/pem/pem_lib.c index cfc89a9921..5a421fc4b6 100644 --- a/crypto/openssl/crypto/pem/pem_lib.c +++ b/crypto/openssl/crypto/pem/pem_lib.c @@ -394,7 +394,8 @@ int PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp, goto err; /* The 'iv' is used as the iv and as a salt. It is * NOT taken from the BytesToKey function */ - EVP_BytesToKey(enc,EVP_md5(),iv,kstr,klen,1,key,NULL); + if (!EVP_BytesToKey(enc,EVP_md5(),iv,kstr,klen,1,key,NULL)) + goto err; if (kstr == (unsigned char *)buf) OPENSSL_cleanse(buf,PEM_BUFSIZE); @@ -406,12 +407,15 @@ int PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp, /* k=strlen(buf); */ EVP_CIPHER_CTX_init(&ctx); - EVP_EncryptInit_ex(&ctx,enc,NULL,key,iv); - EVP_EncryptUpdate(&ctx,data,&j,data,i); - EVP_EncryptFinal_ex(&ctx,&(data[j]),&i); + ret = 1; + if (!EVP_EncryptInit_ex(&ctx,enc,NULL,key,iv) + || !EVP_EncryptUpdate(&ctx,data,&j,data,i) + || !EVP_EncryptFinal_ex(&ctx,&(data[j]),&i)) + ret = 0; EVP_CIPHER_CTX_cleanup(&ctx); + if (ret == 0) + goto err; i+=j; - ret=1; } else { @@ -459,14 +463,17 @@ int PEM_do_header(EVP_CIPHER_INFO *cipher, unsigned char *data, long *plen, ebcdic2ascii(buf, buf, klen); #endif - EVP_BytesToKey(cipher->cipher,EVP_md5(),&(cipher->iv[0]), - (unsigned char *)buf,klen,1,key,NULL); + if (!EVP_BytesToKey(cipher->cipher,EVP_md5(),&(cipher->iv[0]), + (unsigned char *)buf,klen,1,key,NULL)) + return 0; j=(int)len; EVP_CIPHER_CTX_init(&ctx); - EVP_DecryptInit_ex(&ctx,cipher->cipher,NULL, key,&(cipher->iv[0])); - EVP_DecryptUpdate(&ctx,data,&i,data,j); - o=EVP_DecryptFinal_ex(&ctx,&(data[i]),&j); + o = EVP_DecryptInit_ex(&ctx,cipher->cipher,NULL, key,&(cipher->iv[0])); + if (o) + o = EVP_DecryptUpdate(&ctx,data,&i,data,j); + if (o) + o = EVP_DecryptFinal_ex(&ctx,&(data[i]),&j); EVP_CIPHER_CTX_cleanup(&ctx); OPENSSL_cleanse((char *)buf,sizeof(buf)); OPENSSL_cleanse((char *)key,sizeof(key)); diff --git a/crypto/openssl/crypto/pem/pem_seal.c b/crypto/openssl/crypto/pem/pem_seal.c index 59690b56ae..b6b4e13498 100644 --- a/crypto/openssl/crypto/pem/pem_seal.c +++ b/crypto/openssl/crypto/pem/pem_seal.c @@ -96,7 +96,8 @@ int PEM_SealInit(PEM_ENCODE_SEAL_CTX *ctx, EVP_CIPHER *type, EVP_MD *md_type, EVP_EncodeInit(&ctx->encode); EVP_MD_CTX_init(&ctx->md); - EVP_SignInit(&ctx->md,md_type); + if (!EVP_SignInit(&ctx->md,md_type)) + goto err; EVP_CIPHER_CTX_init(&ctx->cipher); ret=EVP_SealInit(&ctx->cipher,type,ek,ekl,iv,pubk,npubk); @@ -163,7 +164,8 @@ int PEM_SealFinal(PEM_ENCODE_SEAL_CTX *ctx, unsigned char *sig, int *sigl, goto err; } - EVP_EncryptFinal_ex(&ctx->cipher,s,(int *)&i); + if (!EVP_EncryptFinal_ex(&ctx->cipher,s,(int *)&i)) + goto err; EVP_EncodeUpdate(&ctx->encode,out,&j,s,i); *outl=j; out+=j; diff --git a/crypto/openssl/crypto/perlasm/cbc.pl b/crypto/openssl/crypto/perlasm/cbc.pl index 6fc2510905..24561e759a 100644 --- a/crypto/openssl/crypto/perlasm/cbc.pl +++ b/crypto/openssl/crypto/perlasm/cbc.pl @@ -150,7 +150,7 @@ sub cbc &set_label("PIC_point"); &blindpop("edx"); &lea("ecx",&DWP(&label("cbc_enc_jmp_table")."-".&label("PIC_point"),"edx")); - &mov($count,&DWP(0,"ecx",$count,4)) + &mov($count,&DWP(0,"ecx",$count,4)); &add($count,"edx"); &xor("ecx","ecx"); &xor("edx","edx"); diff --git a/crypto/openssl/crypto/pkcs12/p12_key.c b/crypto/openssl/crypto/pkcs12/p12_key.c index c55c7b60b3..61d58502fd 100644 --- a/crypto/openssl/crypto/pkcs12/p12_key.c +++ b/crypto/openssl/crypto/pkcs12/p12_key.c @@ -176,24 +176,32 @@ int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt, out += u; for (j = 0; j < v; j++) B[j] = Ai[j % u]; /* Work out B + 1 first then can use B as tmp space */ - if (!BN_bin2bn (B, v, Bpl1)) goto err; - if (!BN_add_word (Bpl1, 1)) goto err; + if (!BN_bin2bn (B, v, Bpl1)) + goto err; + if (!BN_add_word (Bpl1, 1)) + goto err; for (j = 0; j < Ilen ; j+=v) { - if (!BN_bin2bn (I + j, v, Ij)) goto err; - if (!BN_add (Ij, Ij, Bpl1)) goto err; - BN_bn2bin (Ij, B); + if (!BN_bin2bn(I + j, v, Ij)) + goto err; + if (!BN_add(Ij, Ij, Bpl1)) + goto err; + if (!BN_bn2bin(Ij, B)) + goto err; Ijlen = BN_num_bytes (Ij); /* If more than 2^(v*8) - 1 cut off MSB */ if (Ijlen > v) { - BN_bn2bin (Ij, B); + if (!BN_bn2bin (Ij, B)) + goto err; memcpy (I + j, B + 1, v); #ifndef PKCS12_BROKEN_KEYGEN /* If less than v bytes pad with zeroes */ } else if (Ijlen < v) { memset(I + j, 0, v - Ijlen); - BN_bn2bin(Ij, I + j + v - Ijlen); + if (!BN_bn2bin(Ij, I + j + v - Ijlen)) + goto err; #endif - } else BN_bn2bin (Ij, I + j); + } else if (!BN_bn2bin (Ij, I + j)) + goto err; } } diff --git a/crypto/openssl/crypto/pkcs7/bio_pk7.c b/crypto/openssl/crypto/pkcs7/bio_pk7.c index c8d06d6cdc..0fd31e730f 100644 --- a/crypto/openssl/crypto/pkcs7/bio_pk7.c +++ b/crypto/openssl/crypto/pkcs7/bio_pk7.c @@ -56,7 +56,7 @@ #include #include -#ifndef OPENSSL_SYSNAME_NETWARE +#if !defined(OPENSSL_SYSNAME_NETWARE) && !defined(OPENSSL_SYSNAME_VXWORKS) #include #endif #include diff --git a/crypto/openssl/crypto/rand/md_rand.c b/crypto/openssl/crypto/rand/md_rand.c index fcdd3f2a84..1e3bcb9bc4 100644 --- a/crypto/openssl/crypto/rand/md_rand.c +++ b/crypto/openssl/crypto/rand/md_rand.c @@ -123,10 +123,10 @@ #include "e_os.h" +#include #include #include "rand_lcl.h" -#include #include #ifdef BN_DEBUG diff --git a/crypto/openssl/crypto/rand/rand_lib.c b/crypto/openssl/crypto/rand/rand_lib.c index daf1dab973..476a0cd187 100644 --- a/crypto/openssl/crypto/rand/rand_lib.c +++ b/crypto/openssl/crypto/rand/rand_lib.c @@ -210,8 +210,11 @@ static size_t drbg_get_entropy(DRBG_CTX *ctx, unsigned char **pout, static void drbg_free_entropy(DRBG_CTX *ctx, unsigned char *out, size_t olen) { - OPENSSL_cleanse(out, olen); - OPENSSL_free(out); + if (out) + { + OPENSSL_cleanse(out, olen); + OPENSSL_free(out); + } } /* Set "additional input" when generating random data. This uses the diff --git a/crypto/openssl/crypto/rand/randfile.c b/crypto/openssl/crypto/rand/randfile.c index 030e07f418..7f1428072d 100644 --- a/crypto/openssl/crypto/rand/randfile.c +++ b/crypto/openssl/crypto/rand/randfile.c @@ -57,7 +57,9 @@ */ /* We need to define this to get macros like S_IFBLK and S_IFCHR */ +#if !defined(OPENSSL_SYS_VXWORKS) #define _XOPEN_SOURCE 500 +#endif #include #include diff --git a/crypto/openssl/crypto/rc4/asm/rc4-md5-x86_64.pl b/crypto/openssl/crypto/rc4/asm/rc4-md5-x86_64.pl index 7f684092d4..272fa91e1a 100644 --- a/crypto/openssl/crypto/rc4/asm/rc4-md5-x86_64.pl +++ b/crypto/openssl/crypto/rc4/asm/rc4-md5-x86_64.pl @@ -51,7 +51,8 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; my $dir=$1; my $xlate; ( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or die "can't locate x86_64-xlate.pl"; -open STDOUT,"| $^X $xlate $flavour $output"; +open OUT,"| \"$^X\" $xlate $flavour $output"; +*STDOUT=*OUT; my ($dat,$in0,$out,$ctx,$inp,$len, $func,$nargs); diff --git a/crypto/openssl/crypto/rc4/asm/rc4-x86_64.pl b/crypto/openssl/crypto/rc4/asm/rc4-x86_64.pl index d6eac205e9..75750dbf33 100755 --- a/crypto/openssl/crypto/rc4/asm/rc4-x86_64.pl +++ b/crypto/openssl/crypto/rc4/asm/rc4-x86_64.pl @@ -112,7 +112,8 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; ( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or die "can't locate x86_64-xlate.pl"; -open STDOUT,"| $^X $xlate $flavour $output"; +open OUT,"| \"$^X\" $xlate $flavour $output"; +*STDOUT=*OUT; $dat="%rdi"; # arg1 $len="%rsi"; # arg2 diff --git a/crypto/openssl/crypto/ripemd/rmd_dgst.c b/crypto/openssl/crypto/ripemd/rmd_dgst.c index 63f0d983f7..d8e72da51b 100644 --- a/crypto/openssl/crypto/ripemd/rmd_dgst.c +++ b/crypto/openssl/crypto/ripemd/rmd_dgst.c @@ -105,21 +105,21 @@ void ripemd160_block_data_order (RIPEMD160_CTX *ctx, const void *p, size_t num) A=ctx->A; B=ctx->B; C=ctx->C; D=ctx->D; E=ctx->E; - HOST_c2l(data,l); X( 0)=l; HOST_c2l(data,l); X( 1)=l; - RIP1(A,B,C,D,E,WL00,SL00); HOST_c2l(data,l); X( 2)=l; - RIP1(E,A,B,C,D,WL01,SL01); HOST_c2l(data,l); X( 3)=l; - RIP1(D,E,A,B,C,WL02,SL02); HOST_c2l(data,l); X( 4)=l; - RIP1(C,D,E,A,B,WL03,SL03); HOST_c2l(data,l); X( 5)=l; - RIP1(B,C,D,E,A,WL04,SL04); HOST_c2l(data,l); X( 6)=l; - RIP1(A,B,C,D,E,WL05,SL05); HOST_c2l(data,l); X( 7)=l; - RIP1(E,A,B,C,D,WL06,SL06); HOST_c2l(data,l); X( 8)=l; - RIP1(D,E,A,B,C,WL07,SL07); HOST_c2l(data,l); X( 9)=l; - RIP1(C,D,E,A,B,WL08,SL08); HOST_c2l(data,l); X(10)=l; - RIP1(B,C,D,E,A,WL09,SL09); HOST_c2l(data,l); X(11)=l; - RIP1(A,B,C,D,E,WL10,SL10); HOST_c2l(data,l); X(12)=l; - RIP1(E,A,B,C,D,WL11,SL11); HOST_c2l(data,l); X(13)=l; - RIP1(D,E,A,B,C,WL12,SL12); HOST_c2l(data,l); X(14)=l; - RIP1(C,D,E,A,B,WL13,SL13); HOST_c2l(data,l); X(15)=l; + (void)HOST_c2l(data,l); X( 0)=l;(void)HOST_c2l(data,l); X( 1)=l; + RIP1(A,B,C,D,E,WL00,SL00); (void)HOST_c2l(data,l); X( 2)=l; + RIP1(E,A,B,C,D,WL01,SL01); (void)HOST_c2l(data,l); X( 3)=l; + RIP1(D,E,A,B,C,WL02,SL02); (void)HOST_c2l(data,l); X( 4)=l; + RIP1(C,D,E,A,B,WL03,SL03); (void)HOST_c2l(data,l); X( 5)=l; + RIP1(B,C,D,E,A,WL04,SL04); (void)HOST_c2l(data,l); X( 6)=l; + RIP1(A,B,C,D,E,WL05,SL05); (void)HOST_c2l(data,l); X( 7)=l; + RIP1(E,A,B,C,D,WL06,SL06); (void)HOST_c2l(data,l); X( 8)=l; + RIP1(D,E,A,B,C,WL07,SL07); (void)HOST_c2l(data,l); X( 9)=l; + RIP1(C,D,E,A,B,WL08,SL08); (void)HOST_c2l(data,l); X(10)=l; + RIP1(B,C,D,E,A,WL09,SL09); (void)HOST_c2l(data,l); X(11)=l; + RIP1(A,B,C,D,E,WL10,SL10); (void)HOST_c2l(data,l); X(12)=l; + RIP1(E,A,B,C,D,WL11,SL11); (void)HOST_c2l(data,l); X(13)=l; + RIP1(D,E,A,B,C,WL12,SL12); (void)HOST_c2l(data,l); X(14)=l; + RIP1(C,D,E,A,B,WL13,SL13); (void)HOST_c2l(data,l); X(15)=l; RIP1(B,C,D,E,A,WL14,SL14); RIP1(A,B,C,D,E,WL15,SL15); diff --git a/crypto/openssl/crypto/ripemd/rmd_locl.h b/crypto/openssl/crypto/ripemd/rmd_locl.h index f14b346e66..2bd8957d14 100644 --- a/crypto/openssl/crypto/ripemd/rmd_locl.h +++ b/crypto/openssl/crypto/ripemd/rmd_locl.h @@ -88,11 +88,11 @@ void ripemd160_block_data_order (RIPEMD160_CTX *c, const void *p,size_t num); #define HASH_FINAL RIPEMD160_Final #define HASH_MAKE_STRING(c,s) do { \ unsigned long ll; \ - ll=(c)->A; HOST_l2c(ll,(s)); \ - ll=(c)->B; HOST_l2c(ll,(s)); \ - ll=(c)->C; HOST_l2c(ll,(s)); \ - ll=(c)->D; HOST_l2c(ll,(s)); \ - ll=(c)->E; HOST_l2c(ll,(s)); \ + ll=(c)->A; (void)HOST_l2c(ll,(s)); \ + ll=(c)->B; (void)HOST_l2c(ll,(s)); \ + ll=(c)->C; (void)HOST_l2c(ll,(s)); \ + ll=(c)->D; (void)HOST_l2c(ll,(s)); \ + ll=(c)->E; (void)HOST_l2c(ll,(s)); \ } while (0) #define HASH_BLOCK_DATA_ORDER ripemd160_block_data_order diff --git a/crypto/openssl/crypto/rsa/rsa.h b/crypto/openssl/crypto/rsa/rsa.h index 4814a2fc15..5f269e577a 100644 --- a/crypto/openssl/crypto/rsa/rsa.h +++ b/crypto/openssl/crypto/rsa/rsa.h @@ -280,7 +280,7 @@ struct rsa_st RSA * RSA_new(void); RSA * RSA_new_method(ENGINE *engine); -int RSA_size(const RSA *); +int RSA_size(const RSA *rsa); /* Deprecated version */ #ifndef OPENSSL_NO_DEPRECATED diff --git a/crypto/openssl/crypto/rsa/rsa_eay.c b/crypto/openssl/crypto/rsa/rsa_eay.c index 2e1ddd48d3..88ee2cb557 100644 --- a/crypto/openssl/crypto/rsa/rsa_eay.c +++ b/crypto/openssl/crypto/rsa/rsa_eay.c @@ -847,12 +847,12 @@ static int RSA_eay_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx) if (!BN_mod(r0,pr1,rsa->p,ctx)) goto err; /* If p < q it is occasionally possible for the correction of - * adding 'p' if r0 is negative above to leave the result still + * adding 'p' if r0 is negative above to leave the result still * negative. This can break the private key operations: the following * second correction should *always* correct this rare occurrence. * This will *never* happen with OpenSSL generated keys because - * they ensure p > q [steve] - */ + * they ensure p > q [steve] + */ if (BN_is_negative(r0)) if (!BN_add(r0,r0,rsa->p)) goto err; if (!BN_mul(r1,r0,rsa->q,ctx)) goto err; diff --git a/crypto/openssl/crypto/rsa/rsa_oaep.c b/crypto/openssl/crypto/rsa/rsa_oaep.c index 553d212ebe..af4d24a56e 100644 --- a/crypto/openssl/crypto/rsa/rsa_oaep.c +++ b/crypto/openssl/crypto/rsa/rsa_oaep.c @@ -149,7 +149,7 @@ int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen, if (!EVP_Digest((void *)param, plen, phash, NULL, EVP_sha1(), NULL)) return -1; - if (memcmp(db, phash, SHA_DIGEST_LENGTH) != 0 || bad) + if (CRYPTO_memcmp(db, phash, SHA_DIGEST_LENGTH) != 0 || bad) goto decoding_err; else { diff --git a/crypto/openssl/crypto/sha/asm/sha1-x86_64.pl b/crypto/openssl/crypto/sha/asm/sha1-x86_64.pl index f27c1e3fb0..cfdc45cce6 100755 --- a/crypto/openssl/crypto/sha/asm/sha1-x86_64.pl +++ b/crypto/openssl/crypto/sha/asm/sha1-x86_64.pl @@ -82,7 +82,8 @@ $avx=1 if (!$avx && $win64 && ($flavour =~ /masm/ || $ENV{ASM} =~ /ml64/) && `ml64 2>&1` =~ /Version ([0-9]+)\./ && $1>=10); -open STDOUT,"| $^X $xlate $flavour $output"; +open OUT,"| \"$^X\" $xlate $flavour $output"; +*STDOUT=*OUT; $ctx="%rdi"; # 1st arg $inp="%rsi"; # 2nd arg diff --git a/crypto/openssl/crypto/sha/asm/sha512-586.pl b/crypto/openssl/crypto/sha/asm/sha512-586.pl index 5b9f3337ad..7eab6a5b88 100644 --- a/crypto/openssl/crypto/sha/asm/sha512-586.pl +++ b/crypto/openssl/crypto/sha/asm/sha512-586.pl @@ -142,9 +142,9 @@ sub BODY_00_15_x86 { &mov ("edx",$Ehi); &mov ("esi","ecx"); - &shr ("ecx",9) # lo>>9 + &shr ("ecx",9); # lo>>9 &mov ("edi","edx"); - &shr ("edx",9) # hi>>9 + &shr ("edx",9); # hi>>9 &mov ("ebx","ecx"); &shl ("esi",14); # lo<<14 &mov ("eax","edx"); @@ -207,9 +207,9 @@ sub BODY_00_15_x86 { &mov ($Dhi,"ebx"); &mov ("esi","ecx"); - &shr ("ecx",2) # lo>>2 + &shr ("ecx",2); # lo>>2 &mov ("edi","edx"); - &shr ("edx",2) # hi>>2 + &shr ("edx",2); # hi>>2 &mov ("ebx","ecx"); &shl ("esi",4); # lo<<4 &mov ("eax","edx"); @@ -452,9 +452,9 @@ if ($sse2) { &mov ("edx",&DWP(8*(9+15+16-1)+4,"esp")); &mov ("esi","ecx"); - &shr ("ecx",1) # lo>>1 + &shr ("ecx",1); # lo>>1 &mov ("edi","edx"); - &shr ("edx",1) # hi>>1 + &shr ("edx",1); # hi>>1 &mov ("eax","ecx"); &shl ("esi",24); # lo<<24 &mov ("ebx","edx"); @@ -488,9 +488,9 @@ if ($sse2) { &mov ("edx",&DWP(8*(9+15+16-14)+4,"esp")); &mov ("esi","ecx"); - &shr ("ecx",6) # lo>>6 + &shr ("ecx",6); # lo>>6 &mov ("edi","edx"); - &shr ("edx",6) # hi>>6 + &shr ("edx",6); # hi>>6 &mov ("eax","ecx"); &shl ("esi",3); # lo<<3 &mov ("ebx","edx"); diff --git a/crypto/openssl/crypto/sha/asm/sha512-x86_64.pl b/crypto/openssl/crypto/sha/asm/sha512-x86_64.pl index f611a2d898..8d51678557 100755 --- a/crypto/openssl/crypto/sha/asm/sha512-x86_64.pl +++ b/crypto/openssl/crypto/sha/asm/sha512-x86_64.pl @@ -51,7 +51,8 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; ( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or die "can't locate x86_64-xlate.pl"; -open STDOUT,"| $^X $xlate $flavour $output"; +open OUT,"| \"$^X\" $xlate $flavour $output"; +*STDOUT=*OUT; if ($output =~ /512/) { $func="sha512_block_data_order"; diff --git a/crypto/openssl/crypto/sha/sha1_one.c b/crypto/openssl/crypto/sha/sha1_one.c index 7c65b60276..c56ec94020 100644 --- a/crypto/openssl/crypto/sha/sha1_one.c +++ b/crypto/openssl/crypto/sha/sha1_one.c @@ -58,8 +58,8 @@ #include #include -#include #include +#include #ifndef OPENSSL_NO_SHA1 unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md) diff --git a/crypto/openssl/crypto/sha/sha1dgst.c b/crypto/openssl/crypto/sha/sha1dgst.c index 81219af088..a98690225f 100644 --- a/crypto/openssl/crypto/sha/sha1dgst.c +++ b/crypto/openssl/crypto/sha/sha1dgst.c @@ -56,8 +56,8 @@ * [including the GNU Public Licence.] */ -#include #include +#include #if !defined(OPENSSL_NO_SHA1) && !defined(OPENSSL_NO_SHA) #undef SHA_0 diff --git a/crypto/openssl/crypto/sha/sha256.c b/crypto/openssl/crypto/sha/sha256.c index f88d3d6dad..4eae074849 100644 --- a/crypto/openssl/crypto/sha/sha256.c +++ b/crypto/openssl/crypto/sha/sha256.c @@ -88,17 +88,17 @@ int SHA224_Final (unsigned char *md, SHA256_CTX *c) switch ((c)->md_len) \ { case SHA224_DIGEST_LENGTH: \ for (nn=0;nnh[nn]; HOST_l2c(ll,(s)); } \ + { ll=(c)->h[nn]; (void)HOST_l2c(ll,(s)); } \ break; \ case SHA256_DIGEST_LENGTH: \ for (nn=0;nnh[nn]; HOST_l2c(ll,(s)); } \ + { ll=(c)->h[nn]; (void)HOST_l2c(ll,(s)); } \ break; \ default: \ if ((c)->md_len > SHA256_DIGEST_LENGTH) \ return 0; \ for (nn=0;nn<(c)->md_len/4;nn++) \ - { ll=(c)->h[nn]; HOST_l2c(ll,(s)); } \ + { ll=(c)->h[nn]; (void)HOST_l2c(ll,(s)); } \ break; \ } \ } while (0) diff --git a/crypto/openssl/crypto/sha/sha_dgst.c b/crypto/openssl/crypto/sha/sha_dgst.c index c946ad827d..fb63b17ff2 100644 --- a/crypto/openssl/crypto/sha/sha_dgst.c +++ b/crypto/openssl/crypto/sha/sha_dgst.c @@ -56,8 +56,8 @@ * [including the GNU Public Licence.] */ -#include #include +#include #if !defined(OPENSSL_NO_SHA0) && !defined(OPENSSL_NO_SHA) #undef SHA_1 diff --git a/crypto/openssl/crypto/sha/sha_locl.h b/crypto/openssl/crypto/sha/sha_locl.h index 7a0c3ca8d8..d673255f78 100644 --- a/crypto/openssl/crypto/sha/sha_locl.h +++ b/crypto/openssl/crypto/sha/sha_locl.h @@ -69,11 +69,11 @@ #define HASH_CBLOCK SHA_CBLOCK #define HASH_MAKE_STRING(c,s) do { \ unsigned long ll; \ - ll=(c)->h0; HOST_l2c(ll,(s)); \ - ll=(c)->h1; HOST_l2c(ll,(s)); \ - ll=(c)->h2; HOST_l2c(ll,(s)); \ - ll=(c)->h3; HOST_l2c(ll,(s)); \ - ll=(c)->h4; HOST_l2c(ll,(s)); \ + ll=(c)->h0; (void)HOST_l2c(ll,(s)); \ + ll=(c)->h1; (void)HOST_l2c(ll,(s)); \ + ll=(c)->h2; (void)HOST_l2c(ll,(s)); \ + ll=(c)->h3; (void)HOST_l2c(ll,(s)); \ + ll=(c)->h4; (void)HOST_l2c(ll,(s)); \ } while (0) #if defined(SHA_0) @@ -256,21 +256,21 @@ static void HASH_BLOCK_DATA_ORDER (SHA_CTX *c, const void *p, size_t num) } else { - HOST_c2l(data,l); X( 0)=l; HOST_c2l(data,l); X( 1)=l; - BODY_00_15( 0,A,B,C,D,E,T,X( 0)); HOST_c2l(data,l); X( 2)=l; - BODY_00_15( 1,T,A,B,C,D,E,X( 1)); HOST_c2l(data,l); X( 3)=l; - BODY_00_15( 2,E,T,A,B,C,D,X( 2)); HOST_c2l(data,l); X( 4)=l; - BODY_00_15( 3,D,E,T,A,B,C,X( 3)); HOST_c2l(data,l); X( 5)=l; - BODY_00_15( 4,C,D,E,T,A,B,X( 4)); HOST_c2l(data,l); X( 6)=l; - BODY_00_15( 5,B,C,D,E,T,A,X( 5)); HOST_c2l(data,l); X( 7)=l; - BODY_00_15( 6,A,B,C,D,E,T,X( 6)); HOST_c2l(data,l); X( 8)=l; - BODY_00_15( 7,T,A,B,C,D,E,X( 7)); HOST_c2l(data,l); X( 9)=l; - BODY_00_15( 8,E,T,A,B,C,D,X( 8)); HOST_c2l(data,l); X(10)=l; - BODY_00_15( 9,D,E,T,A,B,C,X( 9)); HOST_c2l(data,l); X(11)=l; - BODY_00_15(10,C,D,E,T,A,B,X(10)); HOST_c2l(data,l); X(12)=l; - BODY_00_15(11,B,C,D,E,T,A,X(11)); HOST_c2l(data,l); X(13)=l; - BODY_00_15(12,A,B,C,D,E,T,X(12)); HOST_c2l(data,l); X(14)=l; - BODY_00_15(13,T,A,B,C,D,E,X(13)); HOST_c2l(data,l); X(15)=l; + (void)HOST_c2l(data,l); X( 0)=l; (void)HOST_c2l(data,l); X( 1)=l; + BODY_00_15( 0,A,B,C,D,E,T,X( 0)); (void)HOST_c2l(data,l); X( 2)=l; + BODY_00_15( 1,T,A,B,C,D,E,X( 1)); (void)HOST_c2l(data,l); X( 3)=l; + BODY_00_15( 2,E,T,A,B,C,D,X( 2)); (void)HOST_c2l(data,l); X( 4)=l; + BODY_00_15( 3,D,E,T,A,B,C,X( 3)); (void)HOST_c2l(data,l); X( 5)=l; + BODY_00_15( 4,C,D,E,T,A,B,X( 4)); (void)HOST_c2l(data,l); X( 6)=l; + BODY_00_15( 5,B,C,D,E,T,A,X( 5)); (void)HOST_c2l(data,l); X( 7)=l; + BODY_00_15( 6,A,B,C,D,E,T,X( 6)); (void)HOST_c2l(data,l); X( 8)=l; + BODY_00_15( 7,T,A,B,C,D,E,X( 7)); (void)HOST_c2l(data,l); X( 9)=l; + BODY_00_15( 8,E,T,A,B,C,D,X( 8)); (void)HOST_c2l(data,l); X(10)=l; + BODY_00_15( 9,D,E,T,A,B,C,X( 9)); (void)HOST_c2l(data,l); X(11)=l; + BODY_00_15(10,C,D,E,T,A,B,X(10)); (void)HOST_c2l(data,l); X(12)=l; + BODY_00_15(11,B,C,D,E,T,A,X(11)); (void)HOST_c2l(data,l); X(13)=l; + BODY_00_15(12,A,B,C,D,E,T,X(12)); (void)HOST_c2l(data,l); X(14)=l; + BODY_00_15(13,T,A,B,C,D,E,X(13)); (void)HOST_c2l(data,l); X(15)=l; BODY_00_15(14,E,T,A,B,C,D,X(14)); BODY_00_15(15,D,E,T,A,B,C,X(15)); } diff --git a/crypto/openssl/crypto/srp/srp_vfy.c b/crypto/openssl/crypto/srp/srp_vfy.c index c8be907d7f..4a3d13edf6 100644 --- a/crypto/openssl/crypto/srp/srp_vfy.c +++ b/crypto/openssl/crypto/srp/srp_vfy.c @@ -390,7 +390,7 @@ int SRP_VBASE_init(SRP_VBASE *vb, char *verifier_file) } for (i = 0; i < sk_OPENSSL_PSTRING_num(tmpdb->data); i++) { - pp = (char **)sk_OPENSSL_PSTRING_value(tmpdb->data,i); + pp = sk_OPENSSL_PSTRING_value(tmpdb->data,i); if (pp[DB_srptype][0] == DB_SRP_INDEX) { /*we add this couple in the internal Stack */ @@ -581,7 +581,8 @@ char *SRP_create_verifier(const char *user, const char *pass, char **salt, if (*salt == NULL) { char *tmp_salt; - if ((tmp_salt = (char *)OPENSSL_malloc(SRP_RANDOM_SALT_LEN * 2)) == NULL) + + if ((tmp_salt = OPENSSL_malloc(SRP_RANDOM_SALT_LEN * 2)) == NULL) { OPENSSL_free(vf); goto err; diff --git a/crypto/openssl/crypto/symhacks.h b/crypto/openssl/crypto/symhacks.h index 403f592dcd..07a412f845 100644 --- a/crypto/openssl/crypto/symhacks.h +++ b/crypto/openssl/crypto/symhacks.h @@ -193,17 +193,17 @@ #undef SSL_CTX_set_srp_username_callback #define SSL_CTX_set_srp_username_callback SSL_CTX_set_srp_un_cb #undef ssl_add_clienthello_use_srtp_ext -#define ssl_add_clienthello_use_srtp_ext ssl_add_clihello_use_srtp_ext +#define ssl_add_clienthello_use_srtp_ext ssl_add_clihello_use_srtp_ext #undef ssl_add_serverhello_use_srtp_ext -#define ssl_add_serverhello_use_srtp_ext ssl_add_serhello_use_srtp_ext +#define ssl_add_serverhello_use_srtp_ext ssl_add_serhello_use_srtp_ext #undef ssl_parse_clienthello_use_srtp_ext -#define ssl_parse_clienthello_use_srtp_ext ssl_parse_clihello_use_srtp_ext +#define ssl_parse_clienthello_use_srtp_ext ssl_parse_clihello_use_srtp_ext #undef ssl_parse_serverhello_use_srtp_ext -#define ssl_parse_serverhello_use_srtp_ext ssl_parse_serhello_use_srtp_ext +#define ssl_parse_serverhello_use_srtp_ext ssl_parse_serhello_use_srtp_ext #undef SSL_CTX_set_next_protos_advertised_cb -#define SSL_CTX_set_next_protos_advertised_cb SSL_CTX_set_next_protos_adv_cb +#define SSL_CTX_set_next_protos_advertised_cb SSL_CTX_set_next_protos_adv_cb #undef SSL_CTX_set_next_proto_select_cb -#define SSL_CTX_set_next_proto_select_cb SSL_CTX_set_next_proto_sel_cb +#define SSL_CTX_set_next_proto_select_cb SSL_CTX_set_next_proto_sel_cb /* Hack some long ENGINE names */ #undef ENGINE_get_default_BN_mod_exp_crt @@ -316,8 +316,6 @@ #define ec_GFp_simple_point_set_to_infinity ec_GFp_simple_pt_set_to_inf #undef ec_GFp_simple_points_make_affine #define ec_GFp_simple_points_make_affine ec_GFp_simple_pts_make_affine -#undef ec_GFp_simple_group_get_curve_GFp -#define ec_GFp_simple_group_get_curve_GFp ec_GFp_simple_grp_get_curve_GFp #undef ec_GFp_simple_set_Jprojective_coordinates_GFp #define ec_GFp_simple_set_Jprojective_coordinates_GFp \ ec_GFp_smp_set_Jproj_coords_GFp diff --git a/crypto/openssl/crypto/ui/ui_openssl.c b/crypto/openssl/crypto/ui/ui_openssl.c index 5832a73cf5..a38c7581e6 100644 --- a/crypto/openssl/crypto/ui/ui_openssl.c +++ b/crypto/openssl/crypto/ui/ui_openssl.c @@ -122,9 +122,15 @@ * sigaction and fileno included. -pedantic would be more appropriate for * the intended purposes, but we can't prevent users from adding -ansi. */ +#if defined(OPENSSL_SYSNAME_VXWORKS) +#include +#endif + #if !defined(_POSIX_C_SOURCE) && defined(OPENSSL_SYS_VMS) +#ifndef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 2 #endif +#endif #include #include #include diff --git a/crypto/openssl/crypto/whrlpool/asm/wp-mmx.pl b/crypto/openssl/crypto/whrlpool/asm/wp-mmx.pl index 32cf16380b..cb2381c22b 100644 --- a/crypto/openssl/crypto/whrlpool/asm/wp-mmx.pl +++ b/crypto/openssl/crypto/whrlpool/asm/wp-mmx.pl @@ -119,7 +119,7 @@ $tbl="ebp"; &mov ("eax",&DWP(0,"esp")); &mov ("ebx",&DWP(4,"esp")); for($i=0;$i<8;$i++) { - my $func = ($i==0)? movq : pxor; + my $func = ($i==0)? \&movq : \&pxor; &movb (&LB("ecx"),&LB("eax")); &movb (&LB("edx"),&HB("eax")); &scale ("esi","ecx"); diff --git a/crypto/openssl/crypto/whrlpool/asm/wp-x86_64.pl b/crypto/openssl/crypto/whrlpool/asm/wp-x86_64.pl index 87c0843dc1..24b2ff60c3 100644 --- a/crypto/openssl/crypto/whrlpool/asm/wp-x86_64.pl +++ b/crypto/openssl/crypto/whrlpool/asm/wp-x86_64.pl @@ -41,7 +41,8 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; my $dir=$1; my $xlate; ( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or die "can't locate x86_64-xlate.pl"; -open STDOUT,"| $^X $xlate $flavour $output"; +open OUT,"| \"$^X\" $xlate $flavour $output"; +*STDOUT=*OUT; sub L() { $code.=".byte ".join(',',@_)."\n"; } sub LL(){ $code.=".byte ".join(',',@_).",".join(',',@_)."\n"; } diff --git a/crypto/openssl/crypto/x509/x509_cmp.c b/crypto/openssl/crypto/x509/x509_cmp.c index 7c2aaee2e9..352aa37434 100644 --- a/crypto/openssl/crypto/x509/x509_cmp.c +++ b/crypto/openssl/crypto/x509/x509_cmp.c @@ -86,10 +86,9 @@ unsigned long X509_issuer_and_serial_hash(X509 *a) EVP_MD_CTX_init(&ctx); f=X509_NAME_oneline(a->cert_info->issuer,NULL,0); - ret=strlen(f); if (!EVP_DigestInit_ex(&ctx, EVP_md5(), NULL)) goto err; - if (!EVP_DigestUpdate(&ctx,(unsigned char *)f,ret)) + if (!EVP_DigestUpdate(&ctx,(unsigned char *)f,strlen(f))) goto err; OPENSSL_free(f); if(!EVP_DigestUpdate(&ctx,(unsigned char *)a->cert_info->serialNumber->data, @@ -249,14 +248,14 @@ unsigned long X509_NAME_hash_old(X509_NAME *x) i2d_X509_NAME(x,NULL); EVP_MD_CTX_init(&md_ctx); EVP_MD_CTX_set_flags(&md_ctx, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW); - EVP_DigestInit_ex(&md_ctx, EVP_md5(), NULL); - EVP_DigestUpdate(&md_ctx, x->bytes->data, x->bytes->length); - EVP_DigestFinal_ex(&md_ctx,md,NULL); + if (EVP_DigestInit_ex(&md_ctx, EVP_md5(), NULL) + && EVP_DigestUpdate(&md_ctx, x->bytes->data, x->bytes->length) + && EVP_DigestFinal_ex(&md_ctx,md,NULL)) + ret=(((unsigned long)md[0] )|((unsigned long)md[1]<<8L)| + ((unsigned long)md[2]<<16L)|((unsigned long)md[3]<<24L) + )&0xffffffffL; EVP_MD_CTX_cleanup(&md_ctx); - ret=( ((unsigned long)md[0] )|((unsigned long)md[1]<<8L)| - ((unsigned long)md[2]<<16L)|((unsigned long)md[3]<<24L) - )&0xffffffffL; return(ret); } #endif diff --git a/crypto/openssl/crypto/x509/x509_vfy.c b/crypto/openssl/crypto/x509/x509_vfy.c index b0779db023..12d71f54e2 100644 --- a/crypto/openssl/crypto/x509/x509_vfy.c +++ b/crypto/openssl/crypto/x509/x509_vfy.c @@ -872,7 +872,7 @@ static int crl_extension_match(X509_CRL *a, X509_CRL *b, int nid) { ASN1_OCTET_STRING *exta, *extb; int i; - i = X509_CRL_get_ext_by_NID(a, nid, 0); + i = X509_CRL_get_ext_by_NID(a, nid, -1); if (i >= 0) { /* Can't have multiple occurrences */ @@ -883,7 +883,7 @@ static int crl_extension_match(X509_CRL *a, X509_CRL *b, int nid) else exta = NULL; - i = X509_CRL_get_ext_by_NID(b, nid, 0); + i = X509_CRL_get_ext_by_NID(b, nid, -1); if (i >= 0) { diff --git a/crypto/openssl/crypto/x509v3/v3_purp.c b/crypto/openssl/crypto/x509v3/v3_purp.c index 181bd34979..ad688657e0 100644 --- a/crypto/openssl/crypto/x509v3/v3_purp.c +++ b/crypto/openssl/crypto/x509v3/v3_purp.c @@ -474,11 +474,11 @@ static void x509v3_cache_extensions(X509 *x) for (i = 0; i < X509_get_ext_count(x); i++) { ex = X509_get_ext(x, i); - if (!X509_EXTENSION_get_critical(ex)) - continue; if (OBJ_obj2nid(X509_EXTENSION_get_object(ex)) == NID_freshest_crl) x->ex_flags |= EXFLAG_FRESHEST; + if (!X509_EXTENSION_get_critical(ex)) + continue; if (!X509_supported_extension(ex)) { x->ex_flags |= EXFLAG_CRITICAL; diff --git a/crypto/openssl/crypto/x86_64cpuid.pl b/crypto/openssl/crypto/x86_64cpuid.pl index 7b7b93b223..6ebfd017ea 100644 --- a/crypto/openssl/crypto/x86_64cpuid.pl +++ b/crypto/openssl/crypto/x86_64cpuid.pl @@ -11,7 +11,8 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; ( $xlate="${dir}perlasm/x86_64-xlate.pl" and -f $xlate) or die "can't locate x86_64-xlate.pl"; -open STDOUT,"| $^X $xlate $flavour $output"; +open OUT,"| \"$^X\" $xlate $flavour $output"; +*STDOUT=*OUT; ($arg1,$arg2,$arg3,$arg4)=$win64?("%rcx","%rdx","%r8", "%r9") : # Win64 order ("%rdi","%rsi","%rdx","%rcx"); # Unix order diff --git a/crypto/openssl/crypto/x86cpuid.pl b/crypto/openssl/crypto/x86cpuid.pl index 39fd8f2293..c18b0e2486 100644 --- a/crypto/openssl/crypto/x86cpuid.pl +++ b/crypto/openssl/crypto/x86cpuid.pl @@ -165,7 +165,7 @@ for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); } &jnz (&label("nohalt")); # not enough privileges &pushf (); - &pop ("eax") + &pop ("eax"); &bt ("eax",9); &jnc (&label("nohalt")); # interrupts are disabled @@ -280,7 +280,7 @@ for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); } # arguments is 1 or 2! &function_begin_B("OPENSSL_indirect_call"); { - my $i,$max=7; # $max has to be chosen as 4*n-1 + my ($max,$i)=(7,); # $max has to be chosen as 4*n-1 # in order to preserve eventual # stack alignment &push ("ebp"); diff --git a/crypto/openssl/doc/apps/CA.pl.pod b/crypto/openssl/doc/apps/CA.pl.pod index ed69952f37..d326101cde 100644 --- a/crypto/openssl/doc/apps/CA.pl.pod +++ b/crypto/openssl/doc/apps/CA.pl.pod @@ -39,13 +39,13 @@ prints a usage message. =item B<-newcert> -creates a new self signed certificate. The private key and certificate are -written to the file "newreq.pem". +creates a new self signed certificate. The private key is written to the file +"newkey.pem" and the request written to the file "newreq.pem". =item B<-newreq> -creates a new certificate request. The private key and request are -written to the file "newreq.pem". +creates a new certificate request. The private key is written to the file +"newkey.pem" and the request written to the file "newreq.pem". =item B<-newreq-nodes> diff --git a/crypto/openssl/doc/apps/verify.pod b/crypto/openssl/doc/apps/verify.pod index 336098f1e3..da683004bd 100644 --- a/crypto/openssl/doc/apps/verify.pod +++ b/crypto/openssl/doc/apps/verify.pod @@ -54,35 +54,37 @@ in PEM format concatenated together. =item B<-untrusted file> A file of untrusted certificates. The file should contain multiple certificates +in PEM format concatenated together. =item B<-purpose purpose> -the intended use for the certificate. Without this option no chain verification -will be done. Currently accepted uses are B, B, -B, B, B. See the B -section for more information. +The intended use for the certificate. If this option is not specified, +B will not consider certificate purpose during chain verification. +Currently accepted uses are B, B, B, +B, B. See the B section for more +information. =item B<-help> -prints out a usage message. +Print out a usage message. =item B<-verbose> -print extra information about the operations being performed. +Print extra information about the operations being performed. =item B<-issuer_checks> -print out diagnostics relating to searches for the issuer certificate -of the current certificate. This shows why each candidate issuer -certificate was rejected. However the presence of rejection messages -does not itself imply that anything is wrong: during the normal -verify process several rejections may take place. +Print out diagnostics relating to searches for the issuer certificate of the +current certificate. This shows why each candidate issuer certificate was +rejected. The presence of rejection messages does not itself imply that +anything is wrong; during the normal verification process, several +rejections may take place. =item B<-policy arg> -Enable policy processing and add B to the user-initial-policy-set -(see RFC3280 et al). The policy B can be an object name an OID in numeric -form. This argument can appear more than once. +Enable policy processing and add B to the user-initial-policy-set (see +RFC5280). The policy B can be an object name an OID in numeric form. +This argument can appear more than once. =item B<-policy_check> @@ -90,41 +92,40 @@ Enables certificate policy processing. =item B<-explicit_policy> -Set policy variable require-explicit-policy (see RFC3280 et al). +Set policy variable require-explicit-policy (see RFC5280). =item B<-inhibit_any> -Set policy variable inhibit-any-policy (see RFC3280 et al). +Set policy variable inhibit-any-policy (see RFC5280). =item B<-inhibit_map> -Set policy variable inhibit-policy-mapping (see RFC3280 et al). +Set policy variable inhibit-policy-mapping (see RFC5280). =item B<-policy_print> -Print out diagnostics, related to policy checking +Print out diagnostics related to policy processing. =item B<-crl_check> -Checks end entity certificate validity by attempting to lookup a valid CRL. +Checks end entity certificate validity by attempting to look up a valid CRL. If a valid CRL cannot be found an error occurs. =item B<-crl_check_all> Checks the validity of B certificates in the chain by attempting -to lookup valid CRLs. +to look up valid CRLs. =item B<-ignore_critical> Normally if an unhandled critical extension is present which is not -supported by OpenSSL the certificate is rejected (as required by -RFC3280 et al). If this option is set critical extensions are -ignored. +supported by OpenSSL the certificate is rejected (as required by RFC5280). +If this option is set critical extensions are ignored. =item B<-x509_strict> -Disable workarounds for broken certificates which have to be disabled -for strict X.509 compliance. +For strict X.509 compliance, disable non-compliant workarounds for broken +certificates. =item B<-extended_crl> @@ -142,16 +143,15 @@ because it doesn't add any security. =item B<-> -marks the last option. All arguments following this are assumed to be +Indicates the last option. All arguments following this are assumed to be certificate files. This is useful if the first certificate filename begins with a B<->. =item B -one or more certificates to verify. If no certificate filenames are included -then an attempt is made to read a certificate from standard input. They should -all be in PEM format. - +One or more certificates to verify. If no certificates are given, B +will attempt to read a certificate from standard input. Certificates must be +in PEM format. =back diff --git a/crypto/openssl/doc/apps/x509.pod b/crypto/openssl/doc/apps/x509.pod index 3002b08123..d2d9eb812a 100644 --- a/crypto/openssl/doc/apps/x509.pod +++ b/crypto/openssl/doc/apps/x509.pod @@ -29,6 +29,7 @@ B B [B<-purpose>] [B<-dates>] [B<-modulus>] +[B<-pubkey>] [B<-fingerprint>] [B<-alias>] [B<-noout>] @@ -135,6 +136,10 @@ section for more information. this option prevents output of the encoded version of the request. +=item B<-pubkey> + +outputs the the certificate's SubjectPublicKeyInfo block in PEM format. + =item B<-modulus> this option prints out the value of the modulus of the public key diff --git a/crypto/openssl/doc/crypto/EVP_PKEY_CTX_ctrl.pod b/crypto/openssl/doc/crypto/EVP_PKEY_CTX_ctrl.pod index f2f455990f..13b91f1e6e 100644 --- a/crypto/openssl/doc/crypto/EVP_PKEY_CTX_ctrl.pod +++ b/crypto/openssl/doc/crypto/EVP_PKEY_CTX_ctrl.pod @@ -117,7 +117,7 @@ L, L, L, L, -L, +L, L L diff --git a/crypto/openssl/doc/crypto/EVP_PKEY_decrypt.pod b/crypto/openssl/doc/crypto/EVP_PKEY_decrypt.pod index 42b2a8c44e..847983237b 100644 --- a/crypto/openssl/doc/crypto/EVP_PKEY_decrypt.pod +++ b/crypto/openssl/doc/crypto/EVP_PKEY_decrypt.pod @@ -83,7 +83,7 @@ L, L, L, L, -L, +L, L =head1 HISTORY diff --git a/crypto/openssl/doc/crypto/EVP_PKEY_derive.pod b/crypto/openssl/doc/crypto/EVP_PKEY_derive.pod index d9d6d76c72..27464be571 100644 --- a/crypto/openssl/doc/crypto/EVP_PKEY_derive.pod +++ b/crypto/openssl/doc/crypto/EVP_PKEY_derive.pod @@ -84,7 +84,7 @@ L, L, L, L, -L, +L, =head1 HISTORY diff --git a/crypto/openssl/doc/crypto/EVP_PKEY_encrypt.pod b/crypto/openssl/doc/crypto/EVP_PKEY_encrypt.pod index 91c9c5d0a5..e495a81242 100644 --- a/crypto/openssl/doc/crypto/EVP_PKEY_encrypt.pod +++ b/crypto/openssl/doc/crypto/EVP_PKEY_encrypt.pod @@ -83,7 +83,7 @@ L, L, L, L, -L, +L, L =head1 HISTORY diff --git a/crypto/openssl/doc/crypto/EVP_PKEY_get_default_digest.pod b/crypto/openssl/doc/crypto/EVP_PKEY_get_default_digest.pod index 1a9c7954c5..8ff597d44a 100644 --- a/crypto/openssl/doc/crypto/EVP_PKEY_get_default_digest.pod +++ b/crypto/openssl/doc/crypto/EVP_PKEY_get_default_digest.pod @@ -32,7 +32,7 @@ public key algorithm. L, L, L, -L, +L, =head1 HISTORY diff --git a/crypto/openssl/doc/crypto/EVP_PKEY_keygen.pod b/crypto/openssl/doc/crypto/EVP_PKEY_keygen.pod index 37c6fe9503..fd431ace6d 100644 --- a/crypto/openssl/doc/crypto/EVP_PKEY_keygen.pod +++ b/crypto/openssl/doc/crypto/EVP_PKEY_keygen.pod @@ -151,7 +151,7 @@ L, L, L, L, -L, +L, L =head1 HISTORY diff --git a/crypto/openssl/doc/crypto/EVP_PKEY_sign.pod b/crypto/openssl/doc/crypto/EVP_PKEY_sign.pod index 2fb52c3486..a044f2c131 100644 --- a/crypto/openssl/doc/crypto/EVP_PKEY_sign.pod +++ b/crypto/openssl/doc/crypto/EVP_PKEY_sign.pod @@ -86,7 +86,7 @@ L, L, L, L, -L, +L, L =head1 HISTORY diff --git a/crypto/openssl/doc/crypto/EVP_PKEY_verify.pod b/crypto/openssl/doc/crypto/EVP_PKEY_verify.pod index f93e5fc6c3..90612ba2f0 100644 --- a/crypto/openssl/doc/crypto/EVP_PKEY_verify.pod +++ b/crypto/openssl/doc/crypto/EVP_PKEY_verify.pod @@ -81,7 +81,7 @@ L, L, L, L, -L, +L, L =head1 HISTORY diff --git a/crypto/openssl/doc/crypto/EVP_PKEY_verifyrecover.pod b/crypto/openssl/doc/crypto/EVP_PKEY_verify_recover.pod similarity index 76% rename from crypto/openssl/doc/crypto/EVP_PKEY_verifyrecover.pod rename to crypto/openssl/doc/crypto/EVP_PKEY_verify_recover.pod index f3605eb826..23a28a9c43 100644 --- a/crypto/openssl/doc/crypto/EVP_PKEY_verifyrecover.pod +++ b/crypto/openssl/doc/crypto/EVP_PKEY_verify_recover.pod @@ -2,23 +2,23 @@ =head1 NAME -EVP_PKEY_verifyrecover_init, EVP_PKEY_verifyrecover - recover signature using a public key algorithm +EVP_PKEY_verify_recover_init, EVP_PKEY_verify_recover - recover signature using a public key algorithm =head1 SYNOPSIS #include - int EVP_PKEY_verifyrecover_init(EVP_PKEY_CTX *ctx); - int EVP_PKEY_verifyrecover(EVP_PKEY_CTX *ctx, + int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx); + int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx, unsigned char *rout, size_t *routlen, const unsigned char *sig, size_t siglen); =head1 DESCRIPTION -The EVP_PKEY_verifyrecover_init() function initializes a public key algorithm +The EVP_PKEY_verify_recover_init() function initializes a public key algorithm context using key B for a verify recover operation. -The EVP_PKEY_verifyrecover() function recovers signed data +The EVP_PKEY_verify_recover() function recovers signed data using B. The signature is specified using the B and B parameters. If B is B then the maximum size of the output buffer is written to the B parameter. If B is not B then @@ -36,16 +36,16 @@ Sometimes however it is useful to obtain the data originally signed using a signing operation. Only certain public key algorithms can recover a signature in this way (for example RSA in PKCS padding mode). -After the call to EVP_PKEY_verifyrecover_init() algorithm specific control +After the call to EVP_PKEY_verify_recover_init() algorithm specific control operations can be performed to set any appropriate parameters for the operation. -The function EVP_PKEY_verifyrecover() can be called more than once on the same +The function EVP_PKEY_verify_recover() can be called more than once on the same context if several operations are performed using the same parameters. =head1 RETURN VALUES -EVP_PKEY_verifyrecover_init() and EVP_PKEY_verifyrecover() return 1 for success +EVP_PKEY_verify_recover_init() and EVP_PKEY_verify_recover() return 1 for success and 0 or a negative value for failure. In particular a return value of -2 indicates the operation is not supported by the public key algorithm. @@ -66,7 +66,7 @@ Recover digest originally signed using PKCS#1 and SHA256 digest: ctx = EVP_PKEY_CTX_new(verify_key); if (!ctx) /* Error occurred */ - if (EVP_PKEY_verifyrecover_init(ctx) <= 0) + if (EVP_PKEY_verify_recover_init(ctx) <= 0) /* Error */ if (EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_PADDING) <= 0) /* Error */ @@ -74,7 +74,7 @@ Recover digest originally signed using PKCS#1 and SHA256 digest: /* Error */ /* Determine buffer length */ - if (EVP_PKEY_verifyrecover(ctx, NULL, &routlen, sig, siglen) <= 0) + if (EVP_PKEY_verify_recover(ctx, NULL, &routlen, sig, siglen) <= 0) /* Error */ rout = OPENSSL_malloc(routlen); @@ -82,7 +82,7 @@ Recover digest originally signed using PKCS#1 and SHA256 digest: if (!rout) /* malloc failure */ - if (EVP_PKEY_verifyrecover(ctx, rout, &routlen, sig, siglen) <= 0) + if (EVP_PKEY_verify_recover(ctx, rout, &routlen, sig, siglen) <= 0) /* Error */ /* Recovered data is routlen bytes written to buffer rout */ diff --git a/crypto/openssl/engines/ccgost/gost89.c b/crypto/openssl/engines/ccgost/gost89.c index 7ebae0f71f..b0568c6b3c 100644 --- a/crypto/openssl/engines/ccgost/gost89.c +++ b/crypto/openssl/engines/ccgost/gost89.c @@ -369,7 +369,13 @@ int gost_mac(gost_ctx *ctx,int mac_len,const unsigned char *data, memset(buf2,0,8); memcpy(buf2,data+i,data_len-i); mac_block(ctx,buffer,buf2); - } + i+=8; + } + if (i==8) + { + memset(buf2,0,8); + mac_block(ctx,buffer,buf2); + } get_mac(buffer,mac_len,mac); return 1; } @@ -389,7 +395,13 @@ int gost_mac_iv(gost_ctx *ctx,int mac_len,const unsigned char *iv,const unsigned memset(buf2,0,8); memcpy(buf2,data+i,data_len-i); mac_block(ctx,buffer,buf2); + i+=8; } + if (i==8) + { + memset(buf2,0,8); + mac_block(ctx,buffer,buf2); + } get_mac(buffer,mac_len,mac); return 1; } diff --git a/crypto/openssl/engines/ccgost/gost_crypt.c b/crypto/openssl/engines/ccgost/gost_crypt.c index cde58c0e9b..52aef15acf 100644 --- a/crypto/openssl/engines/ccgost/gost_crypt.c +++ b/crypto/openssl/engines/ccgost/gost_crypt.c @@ -11,6 +11,14 @@ #include #include "e_gost_err.h" #include "gost_lcl.h" + +#if !defined(CCGOST_DEBUG) && !defined(DEBUG) +# ifndef NDEBUG +# define NDEBUG +# endif +#endif +#include + static int gost_cipher_init(EVP_CIPHER_CTX *ctx, const unsigned char *key, const unsigned char *iv, int enc); static int gost_cipher_init_cpa(EVP_CIPHER_CTX *ctx, const unsigned char *key, @@ -206,12 +214,13 @@ int gost_cipher_init(EVP_CIPHER_CTX *ctx, const unsigned char *key, static void gost_crypt_mesh (void *ctx,unsigned char *iv,unsigned char *buf) { struct ossl_gost_cipher_ctx *c = ctx; - if (c->count&&c->key_meshing && c->count%1024==0) + assert(c->count%8 == 0 && c->count <= 1024); + if (c->key_meshing && c->count==1024) { cryptopro_key_meshing(&(c->cctx),iv); } gostcrypt(&(c->cctx),iv,buf); - c->count+=8; + c->count = c->count%1024 + 8; } static void gost_cnt_next (void *ctx, unsigned char *iv, unsigned char *buf) @@ -219,7 +228,8 @@ static void gost_cnt_next (void *ctx, unsigned char *iv, unsigned char *buf) struct ossl_gost_cipher_ctx *c = ctx; word32 g,go; unsigned char buf1[8]; - if (c->count && c->key_meshing && c->count %1024 ==0) + assert(c->count%8 == 0 && c->count <= 1024); + if (c->key_meshing && c->count==1024) { cryptopro_key_meshing(&(c->cctx),iv); } @@ -248,7 +258,7 @@ static void gost_cnt_next (void *ctx, unsigned char *iv, unsigned char *buf) buf1[7]=(unsigned char)((g>>24)&0xff); memcpy(iv,buf1,8); gostcrypt(&(c->cctx),buf1,buf); - c->count +=8; + c->count = c->count%1024 + 8; } /* GOST encryption in CFB mode */ @@ -511,12 +521,13 @@ static void mac_block_mesh(struct ossl_gost_imit_ctx *c,const unsigned char *dat * interpret internal state of MAC algorithm as iv during keymeshing * (but does initialize internal state from iv in key transport */ - if (c->key_meshing&& c->count && c->count %1024 ==0) + assert(c->count%8 == 0 && c->count <= 1024); + if (c->key_meshing && c->count==1024) { cryptopro_key_meshing(&(c->cctx),buffer); } mac_block(&(c->cctx),c->buffer,data); - c->count +=8; + c->count = c->count%1024 + 8; } int gost_imit_update(EVP_MD_CTX *ctx, const void *data, size_t count) @@ -565,6 +576,12 @@ int gost_imit_final(EVP_MD_CTX *ctx,unsigned char *md) GOSTerr(GOST_F_GOST_IMIT_FINAL, GOST_R_MAC_KEY_NOT_SET); return 0; } + if (c->count==0 && c->bytes_left) + { + unsigned char buffer[8]; + memset(buffer, 0, 8); + gost_imit_update(ctx, buffer, 8); + } if (c->bytes_left) { int i; diff --git a/crypto/openssl/engines/ccgost/gost_eng.c b/crypto/openssl/engines/ccgost/gost_eng.c index d2cbe3b831..8f29bf6f85 100644 --- a/crypto/openssl/engines/ccgost/gost_eng.c +++ b/crypto/openssl/engines/ccgost/gost_eng.c @@ -64,6 +64,13 @@ static int gost_engine_finish(ENGINE *e) static int gost_engine_destroy(ENGINE *e) { gost_param_free(); + + pmeth_GostR3410_94 = NULL; + pmeth_GostR3410_2001 = NULL; + pmeth_Gost28147_MAC = NULL; + ameth_GostR3410_94 = NULL; + ameth_GostR3410_2001 = NULL; + ameth_Gost28147_MAC = NULL; return 1; } @@ -71,6 +78,11 @@ static int bind_gost (ENGINE *e,const char *id) { int ret = 0; if (id && strcmp(id, engine_gost_id)) return 0; + if (ameth_GostR3410_94) + { + printf("GOST engine already loaded\n"); + goto end; + } if (!ENGINE_set_id(e, engine_gost_id)) { @@ -263,7 +275,10 @@ static ENGINE *engine_gost(void) void ENGINE_load_gost(void) { - ENGINE *toadd =engine_gost(); + ENGINE *toadd; + if (pmeth_GostR3410_94) + return; + toadd = engine_gost(); if (!toadd) return; ENGINE_add(toadd); ENGINE_free(toadd); diff --git a/crypto/openssl/engines/ccgost/gost_lcl.h b/crypto/openssl/engines/ccgost/gost_lcl.h index 437a48cc86..00aa42cea4 100644 --- a/crypto/openssl/engines/ccgost/gost_lcl.h +++ b/crypto/openssl/engines/ccgost/gost_lcl.h @@ -136,7 +136,7 @@ extern EVP_MD imit_gost_cpa; /* Cipher context used for EVP_CIPHER operation */ struct ossl_gost_cipher_ctx { int paramNID; - off_t count; + unsigned int count; int key_meshing; gost_ctx cctx; }; @@ -151,7 +151,7 @@ struct ossl_gost_imit_ctx { gost_ctx cctx; unsigned char buffer[8]; unsigned char partial_block[8]; - off_t count; + unsigned int count; int key_meshing; int bytes_left; int key_set; diff --git a/crypto/openssl/engines/ccgost/gosthash.c b/crypto/openssl/engines/ccgost/gosthash.c index a5c0662ffc..8c278aa645 100644 --- a/crypto/openssl/engines/ccgost/gosthash.c +++ b/crypto/openssl/engines/ccgost/gosthash.c @@ -42,7 +42,7 @@ static void circle_xor8 (const byte *w, byte *k) byte buf[8]; int i; memcpy(buf,w,8); - memcpy(k,w+8,24); + memmove(k,w+8,24); for(i=0;i<8;i++) k[i+24]=buf[i]^k[i]; } diff --git a/crypto/openssl/engines/e_capi.c b/crypto/openssl/engines/e_capi.c index bfedde0eb0..c1085b56cd 100644 --- a/crypto/openssl/engines/e_capi.c +++ b/crypto/openssl/engines/e_capi.c @@ -1432,10 +1432,13 @@ static PCCERT_CONTEXT capi_find_cert(CAPI_CTX *ctx, const char *id, HCERTSTORE h static CAPI_KEY *capi_get_key(CAPI_CTX *ctx, const char *contname, char *provname, DWORD ptype, DWORD keyspec) { CAPI_KEY *key; + DWORD dwFlags = 0; key = OPENSSL_malloc(sizeof(CAPI_KEY)); CAPI_trace(ctx, "capi_get_key, contname=%s, provname=%s, type=%d\n", contname, provname, ptype); - if (!CryptAcquireContextA(&key->hprov, contname, provname, ptype, 0)) + if(ctx->store_flags & CERT_SYSTEM_STORE_LOCAL_MACHINE) + dwFlags = CRYPT_MACHINE_KEYSET; + if (!CryptAcquireContextA(&key->hprov, contname, provname, ptype, dwFlags)) { CAPIerr(CAPI_F_CAPI_GET_KEY, CAPI_R_CRYPTACQUIRECONTEXT_ERROR); capi_addlasterror(); diff --git a/crypto/openssl/ssl/d1_enc.c b/crypto/openssl/ssl/d1_enc.c index 07a5e97ce5..712c4647f2 100644 --- a/crypto/openssl/ssl/d1_enc.c +++ b/crypto/openssl/ssl/d1_enc.c @@ -126,20 +126,28 @@ #include #endif +/* dtls1_enc encrypts/decrypts the record in |s->wrec| / |s->rrec|, respectively. + * + * Returns: + * 0: (in non-constant time) if the record is publically invalid (i.e. too + * short etc). + * 1: if the record's padding is valid / the encryption was successful. + * -1: if the record's padding/AEAD-authenticator is invalid or, if sending, + * an internal error occured. */ int dtls1_enc(SSL *s, int send) { SSL3_RECORD *rec; EVP_CIPHER_CTX *ds; unsigned long l; - int bs,i,ii,j,k,n=0; + int bs,i,j,k,mac_size=0; const EVP_CIPHER *enc; if (send) { if (EVP_MD_CTX_md(s->write_hash)) { - n=EVP_MD_CTX_size(s->write_hash); - if (n < 0) + mac_size=EVP_MD_CTX_size(s->write_hash); + if (mac_size < 0) return -1; } ds=s->enc_write_ctx; @@ -164,9 +172,8 @@ int dtls1_enc(SSL *s, int send) { if (EVP_MD_CTX_md(s->read_hash)) { - n=EVP_MD_CTX_size(s->read_hash); - if (n < 0) - return -1; + mac_size=EVP_MD_CTX_size(s->read_hash); + OPENSSL_assert(mac_size >= 0); } ds=s->enc_read_ctx; rec= &(s->s3->rrec); @@ -231,7 +238,7 @@ int dtls1_enc(SSL *s, int send) if (!send) { if (l == 0 || l%bs != 0) - return -1; + return 0; } EVP_Cipher(ds,rec->data,rec->input,l); @@ -246,43 +253,7 @@ int dtls1_enc(SSL *s, int send) #endif /* KSSL_DEBUG */ if ((bs != 1) && !send) - { - ii=i=rec->data[l-1]; /* padding_length */ - i++; - if (s->options&SSL_OP_TLS_BLOCK_PADDING_BUG) - { - /* First packet is even in size, so check */ - if ((memcmp(s->s3->read_sequence, - "\0\0\0\0\0\0\0\0",8) == 0) && !(ii & 1)) - s->s3->flags|=TLS1_FLAGS_TLS_PADDING_BUG; - if (s->s3->flags & TLS1_FLAGS_TLS_PADDING_BUG) - i--; - } - /* TLS 1.0 does not bound the number of padding bytes by the block size. - * All of them must have value 'padding_length'. */ - if (i + bs > (int)rec->length) - { - /* Incorrect padding. SSLerr() and ssl3_alert are done - * by caller: we don't want to reveal whether this is - * a decryption error or a MAC verification failure - * (see http://www.openssl.org/~bodo/tls-cbc.txt) - */ - return -1; - } - for (j=(int)(l-i); j<(int)l; j++) - { - if (rec->data[j] != ii) - { - /* Incorrect padding */ - return -1; - } - } - rec->length-=i; - - rec->data += bs; /* skip the implicit IV */ - rec->input += bs; - rec->length -= bs; - } + return tls1_cbc_remove_padding(s, rec, bs, mac_size); } return(1); } diff --git a/crypto/openssl/ssl/d1_pkt.c b/crypto/openssl/ssl/d1_pkt.c index 987af60835..b0302a74d4 100644 --- a/crypto/openssl/ssl/d1_pkt.c +++ b/crypto/openssl/ssl/d1_pkt.c @@ -376,15 +376,11 @@ static int dtls1_process_record(SSL *s) { int i,al; - int clear=0; int enc_err; SSL_SESSION *sess; SSL3_RECORD *rr; - unsigned int mac_size; + unsigned int mac_size, orig_len; unsigned char md[EVP_MAX_MD_SIZE]; - int decryption_failed_or_bad_record_mac = 0; - unsigned char *mac = NULL; - rr= &(s->s3->rrec); sess = s->session; @@ -414,14 +410,19 @@ dtls1_process_record(SSL *s) /* decrypt in place in 'rr->input' */ rr->data=rr->input; + orig_len=rr->length; enc_err = s->method->ssl3_enc->enc(s,0); - if (enc_err <= 0) + /* enc_err is: + * 0: (in non-constant time) if the record is publically invalid. + * 1: if the padding is valid + * -1: if the padding is invalid */ + if (enc_err == 0) { - /* To minimize information leaked via timing, we will always - * perform all computations before discarding the message. - */ - decryption_failed_or_bad_record_mac = 1; + /* For DTLS we simply ignore bad packets. */ + rr->length = 0; + s->packet_length = 0; + goto err; } #ifdef TLS_DEBUG @@ -431,45 +432,59 @@ printf("\n"); #endif /* r->length is now the compressed data plus mac */ - if ( (sess == NULL) || - (s->enc_read_ctx == NULL) || - (s->read_hash == NULL)) - clear=1; - - if (!clear) + if ((sess != NULL) && + (s->enc_read_ctx != NULL) && + (EVP_MD_CTX_md(s->read_hash) != NULL)) { - /* !clear => s->read_hash != NULL => mac_size != -1 */ - int t; - t=EVP_MD_CTX_size(s->read_hash); - OPENSSL_assert(t >= 0); - mac_size=t; - - if (rr->length > SSL3_RT_MAX_COMPRESSED_LENGTH+mac_size) + /* s->read_hash != NULL => mac_size != -1 */ + unsigned char *mac = NULL; + unsigned char mac_tmp[EVP_MAX_MD_SIZE]; + mac_size=EVP_MD_CTX_size(s->read_hash); + OPENSSL_assert(mac_size <= EVP_MAX_MD_SIZE); + + /* orig_len is the length of the record before any padding was + * removed. This is public information, as is the MAC in use, + * therefore we can safely process the record in a different + * amount of time if it's too short to possibly contain a MAC. + */ + if (orig_len < mac_size || + /* CBC records must have a padding length byte too. */ + (EVP_CIPHER_CTX_mode(s->enc_read_ctx) == EVP_CIPH_CBC_MODE && + orig_len < mac_size+1)) { -#if 0 /* OK only for stream ciphers (then rr->length is visible from ciphertext anyway) */ - al=SSL_AD_RECORD_OVERFLOW; - SSLerr(SSL_F_DTLS1_PROCESS_RECORD,SSL_R_PRE_MAC_LENGTH_TOO_LONG); + al=SSL_AD_DECODE_ERROR; + SSLerr(SSL_F_DTLS1_PROCESS_RECORD,SSL_R_LENGTH_TOO_SHORT); goto f_err; -#else - decryption_failed_or_bad_record_mac = 1; -#endif } - /* check the MAC for rr->input (it's in mac_size bytes at the tail) */ - if (rr->length >= mac_size) + + if (EVP_CIPHER_CTX_mode(s->enc_read_ctx) == EVP_CIPH_CBC_MODE) { + /* We update the length so that the TLS header bytes + * can be constructed correctly but we need to extract + * the MAC in constant time from within the record, + * without leaking the contents of the padding bytes. + * */ + mac = mac_tmp; + ssl3_cbc_copy_mac(mac_tmp, rr, mac_size, orig_len); rr->length -= mac_size; - mac = &rr->data[rr->length]; } else - rr->length = 0; - i=s->method->ssl3_enc->mac(s,md,0); - if (i < 0 || mac == NULL || memcmp(md, mac, mac_size) != 0) { - decryption_failed_or_bad_record_mac = 1; + /* In this case there's no padding, so |orig_len| + * equals |rec->length| and we checked that there's + * enough bytes for |mac_size| above. */ + rr->length -= mac_size; + mac = &rr->data[rr->length]; } + + i=s->method->ssl3_enc->mac(s,md,0 /* not send */); + if (i < 0 || mac == NULL || CRYPTO_memcmp(md, mac, (size_t)mac_size) != 0) + enc_err = -1; + if (rr->length > SSL3_RT_MAX_COMPRESSED_LENGTH+mac_size) + enc_err = -1; } - if (decryption_failed_or_bad_record_mac) + if (enc_err < 0) { /* decryption failed, silently discard message */ rr->length = 0; diff --git a/crypto/openssl/ssl/dtls1.h b/crypto/openssl/ssl/dtls1.h index 5008bf6081..e65d501191 100644 --- a/crypto/openssl/ssl/dtls1.h +++ b/crypto/openssl/ssl/dtls1.h @@ -57,8 +57,8 @@ * */ -#ifndef HEADER_DTLS1_H -#define HEADER_DTLS1_H +#ifndef HEADER_DTLS1_H +#define HEADER_DTLS1_H #include #include @@ -72,8 +72,12 @@ #elif defined(OPENSSL_SYS_NETWARE) && !defined(_WINSOCK2API_) #include #else +#if defined(OPENSSL_SYS_VXWORKS) +#include +#else #include #endif +#endif #ifdef __cplusplus extern "C" { diff --git a/crypto/openssl/ssl/s2_clnt.c b/crypto/openssl/ssl/s2_clnt.c index 00ac158f9b..03b6cf9673 100644 --- a/crypto/openssl/ssl/s2_clnt.c +++ b/crypto/openssl/ssl/s2_clnt.c @@ -359,12 +359,14 @@ static int get_server_hello(SSL *s) SSL_R_PEER_ERROR); return(-1); } -#ifdef __APPLE_CC__ - /* The Rhapsody 5.5 (a.k.a. MacOS X) compiler bug - * workaround. */ - s->hit=(i=*(p++))?1:0; -#else +#if 0 s->hit=(*(p++))?1:0; + /* Some [PPC?] compilers fail to increment p in above + statement, e.g. one provided with Rhapsody 5.5, but + most recent example XL C 11.1 for AIX, even without + optimization flag... */ +#else + s->hit=(*p)?1:0; p++; #endif s->s2->tmp.cert_type= *(p++); n2s(p,i); @@ -937,7 +939,7 @@ static int get_server_verify(SSL *s) s->msg_callback(0, s->version, 0, p, len, s, s->msg_callback_arg); /* SERVER-VERIFY */ p += 1; - if (memcmp(p,s->s2->challenge,s->s2->challenge_length) != 0) + if (CRYPTO_memcmp(p,s->s2->challenge,s->s2->challenge_length) != 0) { ssl2_return_error(s,SSL2_PE_UNDEFINED_ERROR); SSLerr(SSL_F_GET_SERVER_VERIFY,SSL_R_CHALLENGE_IS_DIFFERENT); diff --git a/crypto/openssl/ssl/s2_pkt.c b/crypto/openssl/ssl/s2_pkt.c index ac963b2d47..8bb6ab8baa 100644 --- a/crypto/openssl/ssl/s2_pkt.c +++ b/crypto/openssl/ssl/s2_pkt.c @@ -269,8 +269,7 @@ static int ssl2_read_internal(SSL *s, void *buf, int len, int peek) s->s2->ract_data_length-=mac_size; ssl2_mac(s,mac,0); s->s2->ract_data_length-=s->s2->padding; - if ( (memcmp(mac,s->s2->mac_data, - (unsigned int)mac_size) != 0) || + if ( (CRYPTO_memcmp(mac,s->s2->mac_data,mac_size) != 0) || (s->s2->rlength%EVP_CIPHER_CTX_block_size(s->enc_read_ctx) != 0)) { SSLerr(SSL_F_SSL2_READ_INTERNAL,SSL_R_BAD_MAC_DECODE); diff --git a/crypto/openssl/ssl/s2_srvr.c b/crypto/openssl/ssl/s2_srvr.c index bc885e8e7f..2cba426bb7 100644 --- a/crypto/openssl/ssl/s2_srvr.c +++ b/crypto/openssl/ssl/s2_srvr.c @@ -1059,10 +1059,12 @@ static int request_certificate(SSL *s) EVP_PKEY *pkey=NULL; EVP_MD_CTX_init(&ctx); - EVP_VerifyInit_ex(&ctx,s->ctx->rsa_md5, NULL); - EVP_VerifyUpdate(&ctx,s->s2->key_material, - s->s2->key_material_length); - EVP_VerifyUpdate(&ctx,ccd,SSL2_MIN_CERT_CHALLENGE_LENGTH); + if (!EVP_VerifyInit_ex(&ctx,s->ctx->rsa_md5, NULL) + || !EVP_VerifyUpdate(&ctx,s->s2->key_material, + s->s2->key_material_length) + || !EVP_VerifyUpdate(&ctx,ccd, + SSL2_MIN_CERT_CHALLENGE_LENGTH)) + goto msg_end; i=i2d_X509(s->cert->pkeys[SSL_PKEY_RSA_ENC].x509,NULL); buf2=OPENSSL_malloc((unsigned int)i); @@ -1073,7 +1075,11 @@ static int request_certificate(SSL *s) } p2=buf2; i=i2d_X509(s->cert->pkeys[SSL_PKEY_RSA_ENC].x509,&p2); - EVP_VerifyUpdate(&ctx,buf2,(unsigned int)i); + if (!EVP_VerifyUpdate(&ctx,buf2,(unsigned int)i)) + { + OPENSSL_free(buf2); + goto msg_end; + } OPENSSL_free(buf2); pkey=X509_get_pubkey(x509); diff --git a/crypto/openssl/ssl/s3_both.c b/crypto/openssl/ssl/s3_both.c index b63460a56d..ead01c82a1 100644 --- a/crypto/openssl/ssl/s3_both.c +++ b/crypto/openssl/ssl/s3_both.c @@ -204,7 +204,8 @@ int ssl3_send_finished(SSL *s, int a, int b, const char *sender, int slen) #ifndef OPENSSL_NO_NEXTPROTONEG /* ssl3_take_mac calculates the Finished MAC for the handshakes messages seen to far. */ -static void ssl3_take_mac(SSL *s) { +static void ssl3_take_mac(SSL *s) + { const char *sender; int slen; @@ -221,7 +222,7 @@ static void ssl3_take_mac(SSL *s) { s->s3->tmp.peer_finish_md_len = s->method->ssl3_enc->final_finish_mac(s, sender,slen,s->s3->tmp.peer_finish_md); -} + } #endif int ssl3_get_finished(SSL *s, int a, int b) @@ -231,8 +232,9 @@ int ssl3_get_finished(SSL *s, int a, int b) unsigned char *p; #ifdef OPENSSL_NO_NEXTPROTONEG - /* the mac has already been generated when we received the change - * cipher spec message and is in s->s3->tmp.peer_finish_md. */ + /* the mac has already been generated when we received the + * change cipher spec message and is in s->s3->tmp.peer_finish_md. + */ #endif n=s->method->ssl_get_message(s, @@ -263,7 +265,7 @@ int ssl3_get_finished(SSL *s, int a, int b) goto f_err; } - if (memcmp(p, s->s3->tmp.peer_finish_md, i) != 0) + if (CRYPTO_memcmp(p, s->s3->tmp.peer_finish_md, i) != 0) { al=SSL_AD_DECRYPT_ERROR; SSLerr(SSL_F_SSL3_GET_FINISHED,SSL_R_DIGEST_CHECK_FAILED); @@ -537,12 +539,14 @@ long ssl3_get_message(SSL *s, int st1, int stn, int mt, long max, int *ok) s->init_num += i; n -= i; } + #ifndef OPENSSL_NO_NEXTPROTONEG /* If receiving Finished, record MAC of prior handshake messages for * Finished verification. */ if (*s->init_buf->data == SSL3_MT_FINISHED) ssl3_take_mac(s); #endif + /* Feed this message into MAC computation. */ ssl3_finish_mac(s, (unsigned char *)s->init_buf->data, s->init_num + 4); if (s->msg_callback) diff --git a/crypto/openssl/ssl/s3_cbc.c b/crypto/openssl/ssl/s3_cbc.c new file mode 100644 index 0000000000..3c2c16539d --- /dev/null +++ b/crypto/openssl/ssl/s3_cbc.c @@ -0,0 +1,770 @@ +/* ssl/s3_cbc.c */ +/* ==================================================================== + * Copyright (c) 2012 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#include "ssl_locl.h" + +#include +#include + +/* MAX_HASH_BIT_COUNT_BYTES is the maximum number of bytes in the hash's length + * field. (SHA-384/512 have 128-bit length.) */ +#define MAX_HASH_BIT_COUNT_BYTES 16 + +/* MAX_HASH_BLOCK_SIZE is the maximum hash block size that we'll support. + * Currently SHA-384/512 has a 128-byte block size and that's the largest + * supported by TLS.) */ +#define MAX_HASH_BLOCK_SIZE 128 + +/* Some utility functions are needed: + * + * These macros return the given value with the MSB copied to all the other + * bits. They use the fact that arithmetic shift shifts-in the sign bit. + * However, this is not ensured by the C standard so you may need to replace + * them with something else on odd CPUs. */ +#define DUPLICATE_MSB_TO_ALL(x) ( (unsigned)( (int)(x) >> (sizeof(int)*8-1) ) ) +#define DUPLICATE_MSB_TO_ALL_8(x) ((unsigned char)(DUPLICATE_MSB_TO_ALL(x))) + +/* constant_time_ge returns 0xff if a>=b and 0x00 otherwise. */ +static unsigned constant_time_ge(unsigned a, unsigned b) + { + a -= b; + return DUPLICATE_MSB_TO_ALL(~a); + } + +/* constant_time_eq_8 returns 0xff if a==b and 0x00 otherwise. */ +static unsigned char constant_time_eq_8(unsigned char a, unsigned char b) + { + unsigned c = a ^ b; + c--; + return DUPLICATE_MSB_TO_ALL_8(c); + } + +/* ssl3_cbc_remove_padding removes padding from the decrypted, SSLv3, CBC + * record in |rec| by updating |rec->length| in constant time. + * + * block_size: the block size of the cipher used to encrypt the record. + * returns: + * 0: (in non-constant time) if the record is publicly invalid. + * 1: if the padding was valid + * -1: otherwise. */ +int ssl3_cbc_remove_padding(const SSL* s, + SSL3_RECORD *rec, + unsigned block_size, + unsigned mac_size) + { + unsigned padding_length, good; + const unsigned overhead = 1 /* padding length byte */ + mac_size; + + /* These lengths are all public so we can test them in non-constant + * time. */ + if (overhead > rec->length) + return 0; + + padding_length = rec->data[rec->length-1]; + good = constant_time_ge(rec->length, padding_length+overhead); + /* SSLv3 requires that the padding is minimal. */ + good &= constant_time_ge(block_size, padding_length+1); + padding_length = good & (padding_length+1); + rec->length -= padding_length; + rec->type |= padding_length<<8; /* kludge: pass padding length */ + return (int)((good & 1) | (~good & -1)); +} + +/* tls1_cbc_remove_padding removes the CBC padding from the decrypted, TLS, CBC + * record in |rec| in constant time and returns 1 if the padding is valid and + * -1 otherwise. It also removes any explicit IV from the start of the record + * without leaking any timing about whether there was enough space after the + * padding was removed. + * + * block_size: the block size of the cipher used to encrypt the record. + * returns: + * 0: (in non-constant time) if the record is publicly invalid. + * 1: if the padding was valid + * -1: otherwise. */ +int tls1_cbc_remove_padding(const SSL* s, + SSL3_RECORD *rec, + unsigned block_size, + unsigned mac_size) + { + unsigned padding_length, good, to_check, i; + const char has_explicit_iv = + s->version >= TLS1_1_VERSION || s->version == DTLS1_VERSION; + const unsigned overhead = 1 /* padding length byte */ + + mac_size + + (has_explicit_iv ? block_size : 0); + + /* These lengths are all public so we can test them in non-constant + * time. */ + if (overhead > rec->length) + return 0; + + /* We can always safely skip the explicit IV. We check at the beginning + * of this function that the record has at least enough space for the + * IV, MAC and padding length byte. (These can be checked in + * non-constant time because it's all public information.) So, if the + * padding was invalid, then we didn't change |rec->length| and this is + * safe. If the padding was valid then we know that we have at least + * overhead+padding_length bytes of space and so this is still safe + * because overhead accounts for the explicit IV. */ + if (has_explicit_iv) + { + rec->data += block_size; + rec->input += block_size; + rec->length -= block_size; + } + + padding_length = rec->data[rec->length-1]; + + /* NB: if compression is in operation the first packet may not be of + * even length so the padding bug check cannot be performed. This bug + * workaround has been around since SSLeay so hopefully it is either + * fixed now or no buggy implementation supports compression [steve] + */ + if ( (s->options&SSL_OP_TLS_BLOCK_PADDING_BUG) && !s->expand) + { + /* First packet is even in size, so check */ + if ((memcmp(s->s3->read_sequence, "\0\0\0\0\0\0\0\0",8) == 0) && + !(padding_length & 1)) + { + s->s3->flags|=TLS1_FLAGS_TLS_PADDING_BUG; + } + if ((s->s3->flags & TLS1_FLAGS_TLS_PADDING_BUG) && + padding_length > 0) + { + padding_length--; + } + } + + if (EVP_CIPHER_flags(s->enc_read_ctx->cipher)&EVP_CIPH_FLAG_AEAD_CIPHER) + { + /* padding is already verified */ + rec->length -= padding_length; + return 1; + } + + good = constant_time_ge(rec->length, overhead+padding_length); + /* The padding consists of a length byte at the end of the record and + * then that many bytes of padding, all with the same value as the + * length byte. Thus, with the length byte included, there are i+1 + * bytes of padding. + * + * We can't check just |padding_length+1| bytes because that leaks + * decrypted information. Therefore we always have to check the maximum + * amount of padding possible. (Again, the length of the record is + * public information so we can use it.) */ + to_check = 255; /* maximum amount of padding. */ + if (to_check > rec->length-1) + to_check = rec->length-1; + + for (i = 0; i < to_check; i++) + { + unsigned char mask = constant_time_ge(padding_length, i); + unsigned char b = rec->data[rec->length-1-i]; + /* The final |padding_length+1| bytes should all have the value + * |padding_length|. Therefore the XOR should be zero. */ + good &= ~(mask&(padding_length ^ b)); + } + + /* If any of the final |padding_length+1| bytes had the wrong value, + * one or more of the lower eight bits of |good| will be cleared. We + * AND the bottom 8 bits together and duplicate the result to all the + * bits. */ + good &= good >> 4; + good &= good >> 2; + good &= good >> 1; + good <<= sizeof(good)*8-1; + good = DUPLICATE_MSB_TO_ALL(good); + + padding_length = good & (padding_length+1); + rec->length -= padding_length; + rec->type |= padding_length<<8; /* kludge: pass padding length */ + + return (int)((good & 1) | (~good & -1)); + } + +#if defined(_M_AMD64) || defined(__x86_64__) +#define CBC_MAC_ROTATE_IN_PLACE +#endif + +/* ssl3_cbc_copy_mac copies |md_size| bytes from the end of |rec| to |out| in + * constant time (independent of the concrete value of rec->length, which may + * vary within a 256-byte window). + * + * ssl3_cbc_remove_padding or tls1_cbc_remove_padding must be called prior to + * this function. + * + * On entry: + * rec->orig_len >= md_size + * md_size <= EVP_MAX_MD_SIZE + * + * If CBC_MAC_ROTATE_IN_PLACE is defined then the rotation is performed with + * variable accesses in a 64-byte-aligned buffer. Assuming that this fits into + * a single cache-line, then the variable memory accesses don't actually affect + * the timing. This has been tested to be true on Intel amd64 chips. + */ +void ssl3_cbc_copy_mac(unsigned char* out, + const SSL3_RECORD *rec, + unsigned md_size,unsigned orig_len) + { +#if defined(CBC_MAC_ROTATE_IN_PLACE) + unsigned char rotated_mac_buf[EVP_MAX_MD_SIZE*2]; + unsigned char *rotated_mac; +#else + unsigned char rotated_mac[EVP_MAX_MD_SIZE]; +#endif + + /* mac_end is the index of |rec->data| just after the end of the MAC. */ + unsigned mac_end = rec->length; + unsigned mac_start = mac_end - md_size; + /* scan_start contains the number of bytes that we can ignore because + * the MAC's position can only vary by 255 bytes. */ + unsigned scan_start = 0; + unsigned i, j; + unsigned div_spoiler; + unsigned rotate_offset; + + OPENSSL_assert(orig_len >= md_size); + OPENSSL_assert(md_size <= EVP_MAX_MD_SIZE); + +#if defined(CBC_MAC_ROTATE_IN_PLACE) + rotated_mac = (unsigned char*) (((intptr_t)(rotated_mac_buf + 64)) & ~63); +#endif + + /* This information is public so it's safe to branch based on it. */ + if (orig_len > md_size + 255 + 1) + scan_start = orig_len - (md_size + 255 + 1); + /* div_spoiler contains a multiple of md_size that is used to cause the + * modulo operation to be constant time. Without this, the time varies + * based on the amount of padding when running on Intel chips at least. + * + * The aim of right-shifting md_size is so that the compiler doesn't + * figure out that it can remove div_spoiler as that would require it + * to prove that md_size is always even, which I hope is beyond it. */ + div_spoiler = md_size >> 1; + div_spoiler <<= (sizeof(div_spoiler)-1)*8; + rotate_offset = (div_spoiler + mac_start - scan_start) % md_size; + + memset(rotated_mac, 0, md_size); + for (i = scan_start; i < orig_len;) + { + for (j = 0; j < md_size && i < orig_len; i++, j++) + { + unsigned char mac_started = constant_time_ge(i, mac_start); + unsigned char mac_ended = constant_time_ge(i, mac_end); + unsigned char b = 0; + b = rec->data[i]; + rotated_mac[j] |= b & mac_started & ~mac_ended; + } + } + + /* Now rotate the MAC */ +#if defined(CBC_MAC_ROTATE_IN_PLACE) + j = 0; + for (i = 0; i < md_size; i++) + { + unsigned char offset = (div_spoiler + rotate_offset + i) % md_size; + out[j++] = rotated_mac[offset]; + } +#else + memset(out, 0, md_size); + for (i = 0; i < md_size; i++) + { + unsigned char offset = (div_spoiler + md_size - rotate_offset + i) % md_size; + for (j = 0; j < md_size; j++) + out[j] |= rotated_mac[i] & constant_time_eq_8(j, offset); + } +#endif + } + +/* These functions serialize the state of a hash and thus perform the standard + * "final" operation without adding the padding and length that such a function + * typically does. */ +static void tls1_md5_final_raw(void* ctx, unsigned char *md_out) + { + MD5_CTX *md5 = ctx; + l2n(md5->A, md_out); + l2n(md5->B, md_out); + l2n(md5->C, md_out); + l2n(md5->D, md_out); + } + +static void tls1_sha1_final_raw(void* ctx, unsigned char *md_out) + { + SHA_CTX *sha1 = ctx; + l2n(sha1->h0, md_out); + l2n(sha1->h1, md_out); + l2n(sha1->h2, md_out); + l2n(sha1->h3, md_out); + l2n(sha1->h4, md_out); + } +#define LARGEST_DIGEST_CTX SHA_CTX + +#ifndef OPENSSL_NO_SHA256 +static void tls1_sha256_final_raw(void* ctx, unsigned char *md_out) + { + SHA256_CTX *sha256 = ctx; + unsigned i; + + for (i = 0; i < 8; i++) + { + l2n(sha256->h[i], md_out); + } + } +#undef LARGEST_DIGEST_CTX +#define LARGEST_DIGEST_CTX SHA256_CTX +#endif + +#ifndef OPENSSL_NO_SHA512 +static void tls1_sha512_final_raw(void* ctx, unsigned char *md_out) + { + SHA512_CTX *sha512 = ctx; + unsigned i; + + for (i = 0; i < 8; i++) + { + l2n8(sha512->h[i], md_out); + } + } +#undef LARGEST_DIGEST_CTX +#define LARGEST_DIGEST_CTX SHA512_CTX +#endif + +/* ssl3_cbc_record_digest_supported returns 1 iff |ctx| uses a hash function + * which ssl3_cbc_digest_record supports. */ +char ssl3_cbc_record_digest_supported(const EVP_MD_CTX *ctx) + { +#ifdef OPENSSL_FIPS + if (FIPS_mode()) + return 0; +#endif + switch (EVP_MD_CTX_type(ctx)) + { + case NID_md5: + case NID_sha1: +#ifndef OPENSSL_NO_SHA256 + case NID_sha224: + case NID_sha256: +#endif +#ifndef OPENSSL_NO_SHA512 + case NID_sha384: + case NID_sha512: +#endif + return 1; + default: + return 0; + } + } + +/* ssl3_cbc_digest_record computes the MAC of a decrypted, padded SSLv3/TLS + * record. + * + * ctx: the EVP_MD_CTX from which we take the hash function. + * ssl3_cbc_record_digest_supported must return true for this EVP_MD_CTX. + * md_out: the digest output. At most EVP_MAX_MD_SIZE bytes will be written. + * md_out_size: if non-NULL, the number of output bytes is written here. + * header: the 13-byte, TLS record header. + * data: the record data itself, less any preceeding explicit IV. + * data_plus_mac_size: the secret, reported length of the data and MAC + * once the padding has been removed. + * data_plus_mac_plus_padding_size: the public length of the whole + * record, including padding. + * is_sslv3: non-zero if we are to use SSLv3. Otherwise, TLS. + * + * On entry: by virtue of having been through one of the remove_padding + * functions, above, we know that data_plus_mac_size is large enough to contain + * a padding byte and MAC. (If the padding was invalid, it might contain the + * padding too. ) */ +void ssl3_cbc_digest_record( + const EVP_MD_CTX *ctx, + unsigned char* md_out, + size_t* md_out_size, + const unsigned char header[13], + const unsigned char *data, + size_t data_plus_mac_size, + size_t data_plus_mac_plus_padding_size, + const unsigned char *mac_secret, + unsigned mac_secret_length, + char is_sslv3) + { + union { double align; + unsigned char c[sizeof(LARGEST_DIGEST_CTX)]; } md_state; + void (*md_final_raw)(void *ctx, unsigned char *md_out); + void (*md_transform)(void *ctx, const unsigned char *block); + unsigned md_size, md_block_size = 64; + unsigned sslv3_pad_length = 40, header_length, variance_blocks, + len, max_mac_bytes, num_blocks, + num_starting_blocks, k, mac_end_offset, c, index_a, index_b; + unsigned int bits; /* at most 18 bits */ + unsigned char length_bytes[MAX_HASH_BIT_COUNT_BYTES]; + /* hmac_pad is the masked HMAC key. */ + unsigned char hmac_pad[MAX_HASH_BLOCK_SIZE]; + unsigned char first_block[MAX_HASH_BLOCK_SIZE]; + unsigned char mac_out[EVP_MAX_MD_SIZE]; + unsigned i, j, md_out_size_u; + EVP_MD_CTX md_ctx; + /* mdLengthSize is the number of bytes in the length field that terminates + * the hash. */ + unsigned md_length_size = 8; + + /* This is a, hopefully redundant, check that allows us to forget about + * many possible overflows later in this function. */ + OPENSSL_assert(data_plus_mac_plus_padding_size < 1024*1024); + + switch (EVP_MD_CTX_type(ctx)) + { + case NID_md5: + MD5_Init((MD5_CTX*)md_state.c); + md_final_raw = tls1_md5_final_raw; + md_transform = (void(*)(void *ctx, const unsigned char *block)) MD5_Transform; + md_size = 16; + sslv3_pad_length = 48; + break; + case NID_sha1: + SHA1_Init((SHA_CTX*)md_state.c); + md_final_raw = tls1_sha1_final_raw; + md_transform = (void(*)(void *ctx, const unsigned char *block)) SHA1_Transform; + md_size = 20; + break; +#ifndef OPENSSL_NO_SHA256 + case NID_sha224: + SHA224_Init((SHA256_CTX*)md_state.c); + md_final_raw = tls1_sha256_final_raw; + md_transform = (void(*)(void *ctx, const unsigned char *block)) SHA256_Transform; + md_size = 224/8; + break; + case NID_sha256: + SHA256_Init((SHA256_CTX*)md_state.c); + md_final_raw = tls1_sha256_final_raw; + md_transform = (void(*)(void *ctx, const unsigned char *block)) SHA256_Transform; + md_size = 32; + break; +#endif +#ifndef OPENSSL_NO_SHA512 + case NID_sha384: + SHA384_Init((SHA512_CTX*)md_state.c); + md_final_raw = tls1_sha512_final_raw; + md_transform = (void(*)(void *ctx, const unsigned char *block)) SHA512_Transform; + md_size = 384/8; + md_block_size = 128; + md_length_size = 16; + break; + case NID_sha512: + SHA512_Init((SHA512_CTX*)md_state.c); + md_final_raw = tls1_sha512_final_raw; + md_transform = (void(*)(void *ctx, const unsigned char *block)) SHA512_Transform; + md_size = 64; + md_block_size = 128; + md_length_size = 16; + break; +#endif + default: + /* ssl3_cbc_record_digest_supported should have been + * called first to check that the hash function is + * supported. */ + OPENSSL_assert(0); + if (md_out_size) + *md_out_size = -1; + return; + } + + OPENSSL_assert(md_length_size <= MAX_HASH_BIT_COUNT_BYTES); + OPENSSL_assert(md_block_size <= MAX_HASH_BLOCK_SIZE); + OPENSSL_assert(md_size <= EVP_MAX_MD_SIZE); + + header_length = 13; + if (is_sslv3) + { + header_length = + mac_secret_length + + sslv3_pad_length + + 8 /* sequence number */ + + 1 /* record type */ + + 2 /* record length */; + } + + /* variance_blocks is the number of blocks of the hash that we have to + * calculate in constant time because they could be altered by the + * padding value. + * + * In SSLv3, the padding must be minimal so the end of the plaintext + * varies by, at most, 15+20 = 35 bytes. (We conservatively assume that + * the MAC size varies from 0..20 bytes.) In case the 9 bytes of hash + * termination (0x80 + 64-bit length) don't fit in the final block, we + * say that the final two blocks can vary based on the padding. + * + * TLSv1 has MACs up to 48 bytes long (SHA-384) and the padding is not + * required to be minimal. Therefore we say that the final six blocks + * can vary based on the padding. + * + * Later in the function, if the message is short and there obviously + * cannot be this many blocks then variance_blocks can be reduced. */ + variance_blocks = is_sslv3 ? 2 : 6; + /* From now on we're dealing with the MAC, which conceptually has 13 + * bytes of `header' before the start of the data (TLS) or 71/75 bytes + * (SSLv3) */ + len = data_plus_mac_plus_padding_size + header_length; + /* max_mac_bytes contains the maximum bytes of bytes in the MAC, including + * |header|, assuming that there's no padding. */ + max_mac_bytes = len - md_size - 1; + /* num_blocks is the maximum number of hash blocks. */ + num_blocks = (max_mac_bytes + 1 + md_length_size + md_block_size - 1) / md_block_size; + /* In order to calculate the MAC in constant time we have to handle + * the final blocks specially because the padding value could cause the + * end to appear somewhere in the final |variance_blocks| blocks and we + * can't leak where. However, |num_starting_blocks| worth of data can + * be hashed right away because no padding value can affect whether + * they are plaintext. */ + num_starting_blocks = 0; + /* k is the starting byte offset into the conceptual header||data where + * we start processing. */ + k = 0; + /* mac_end_offset is the index just past the end of the data to be + * MACed. */ + mac_end_offset = data_plus_mac_size + header_length - md_size; + /* c is the index of the 0x80 byte in the final hash block that + * contains application data. */ + c = mac_end_offset % md_block_size; + /* index_a is the hash block number that contains the 0x80 terminating + * value. */ + index_a = mac_end_offset / md_block_size; + /* index_b is the hash block number that contains the 64-bit hash + * length, in bits. */ + index_b = (mac_end_offset + md_length_size) / md_block_size; + /* bits is the hash-length in bits. It includes the additional hash + * block for the masked HMAC key, or whole of |header| in the case of + * SSLv3. */ + + /* For SSLv3, if we're going to have any starting blocks then we need + * at least two because the header is larger than a single block. */ + if (num_blocks > variance_blocks + (is_sslv3 ? 1 : 0)) + { + num_starting_blocks = num_blocks - variance_blocks; + k = md_block_size*num_starting_blocks; + } + + bits = 8*mac_end_offset; + if (!is_sslv3) + { + /* Compute the initial HMAC block. For SSLv3, the padding and + * secret bytes are included in |header| because they take more + * than a single block. */ + bits += 8*md_block_size; + memset(hmac_pad, 0, md_block_size); + OPENSSL_assert(mac_secret_length <= sizeof(hmac_pad)); + memcpy(hmac_pad, mac_secret, mac_secret_length); + for (i = 0; i < md_block_size; i++) + hmac_pad[i] ^= 0x36; + + md_transform(md_state.c, hmac_pad); + } + + memset(length_bytes,0,md_length_size-4); + length_bytes[md_length_size-4] = (unsigned char)(bits>>24); + length_bytes[md_length_size-3] = (unsigned char)(bits>>16); + length_bytes[md_length_size-2] = (unsigned char)(bits>>8); + length_bytes[md_length_size-1] = (unsigned char)bits; + + if (k > 0) + { + if (is_sslv3) + { + /* The SSLv3 header is larger than a single block. + * overhang is the number of bytes beyond a single + * block that the header consumes: either 7 bytes + * (SHA1) or 11 bytes (MD5). */ + unsigned overhang = header_length-md_block_size; + md_transform(md_state.c, header); + memcpy(first_block, header + md_block_size, overhang); + memcpy(first_block + overhang, data, md_block_size-overhang); + md_transform(md_state.c, first_block); + for (i = 1; i < k/md_block_size - 1; i++) + md_transform(md_state.c, data + md_block_size*i - overhang); + } + else + { + /* k is a multiple of md_block_size. */ + memcpy(first_block, header, 13); + memcpy(first_block+13, data, md_block_size-13); + md_transform(md_state.c, first_block); + for (i = 1; i < k/md_block_size; i++) + md_transform(md_state.c, data + md_block_size*i - 13); + } + } + + memset(mac_out, 0, sizeof(mac_out)); + + /* We now process the final hash blocks. For each block, we construct + * it in constant time. If the |i==index_a| then we'll include the 0x80 + * bytes and zero pad etc. For each block we selectively copy it, in + * constant time, to |mac_out|. */ + for (i = num_starting_blocks; i <= num_starting_blocks+variance_blocks; i++) + { + unsigned char block[MAX_HASH_BLOCK_SIZE]; + unsigned char is_block_a = constant_time_eq_8(i, index_a); + unsigned char is_block_b = constant_time_eq_8(i, index_b); + for (j = 0; j < md_block_size; j++) + { + unsigned char b = 0, is_past_c, is_past_cp1; + if (k < header_length) + b = header[k]; + else if (k < data_plus_mac_plus_padding_size + header_length) + b = data[k-header_length]; + k++; + + is_past_c = is_block_a & constant_time_ge(j, c); + is_past_cp1 = is_block_a & constant_time_ge(j, c+1); + /* If this is the block containing the end of the + * application data, and we are at the offset for the + * 0x80 value, then overwrite b with 0x80. */ + b = (b&~is_past_c) | (0x80&is_past_c); + /* If this the the block containing the end of the + * application data and we're past the 0x80 value then + * just write zero. */ + b = b&~is_past_cp1; + /* If this is index_b (the final block), but not + * index_a (the end of the data), then the 64-bit + * length didn't fit into index_a and we're having to + * add an extra block of zeros. */ + b &= ~is_block_b | is_block_a; + + /* The final bytes of one of the blocks contains the + * length. */ + if (j >= md_block_size - md_length_size) + { + /* If this is index_b, write a length byte. */ + b = (b&~is_block_b) | (is_block_b&length_bytes[j-(md_block_size-md_length_size)]); + } + block[j] = b; + } + + md_transform(md_state.c, block); + md_final_raw(md_state.c, block); + /* If this is index_b, copy the hash value to |mac_out|. */ + for (j = 0; j < md_size; j++) + mac_out[j] |= block[j]&is_block_b; + } + + EVP_MD_CTX_init(&md_ctx); + EVP_DigestInit_ex(&md_ctx, ctx->digest, NULL /* engine */); + if (is_sslv3) + { + /* We repurpose |hmac_pad| to contain the SSLv3 pad2 block. */ + memset(hmac_pad, 0x5c, sslv3_pad_length); + + EVP_DigestUpdate(&md_ctx, mac_secret, mac_secret_length); + EVP_DigestUpdate(&md_ctx, hmac_pad, sslv3_pad_length); + EVP_DigestUpdate(&md_ctx, mac_out, md_size); + } + else + { + /* Complete the HMAC in the standard manner. */ + for (i = 0; i < md_block_size; i++) + hmac_pad[i] ^= 0x6a; + + EVP_DigestUpdate(&md_ctx, hmac_pad, md_block_size); + EVP_DigestUpdate(&md_ctx, mac_out, md_size); + } + EVP_DigestFinal(&md_ctx, md_out, &md_out_size_u); + if (md_out_size) + *md_out_size = md_out_size_u; + EVP_MD_CTX_cleanup(&md_ctx); + } + +#ifdef OPENSSL_FIPS + +/* Due to the need to use EVP in FIPS mode we can't reimplement digests but + * we can ensure the number of blocks processed is equal for all cases + * by digesting additional data. + */ + +void tls_fips_digest_extra( + const EVP_CIPHER_CTX *cipher_ctx, EVP_MD_CTX *mac_ctx, + const unsigned char *data, size_t data_len, size_t orig_len) + { + size_t block_size, digest_pad, blocks_data, blocks_orig; + if (EVP_CIPHER_CTX_mode(cipher_ctx) != EVP_CIPH_CBC_MODE) + return; + block_size = EVP_MD_CTX_block_size(mac_ctx); + /* We are in FIPS mode if we get this far so we know we have only SHA* + * digests and TLS to deal with. + * Minimum digest padding length is 17 for SHA384/SHA512 and 9 + * otherwise. + * Additional header is 13 bytes. To get the number of digest blocks + * processed round up the amount of data plus padding to the nearest + * block length. Block length is 128 for SHA384/SHA512 and 64 otherwise. + * So we have: + * blocks = (payload_len + digest_pad + 13 + block_size - 1)/block_size + * equivalently: + * blocks = (payload_len + digest_pad + 12)/block_size + 1 + * HMAC adds a constant overhead. + * We're ultimately only interested in differences so this becomes + * blocks = (payload_len + 29)/128 + * for SHA384/SHA512 and + * blocks = (payload_len + 21)/64 + * otherwise. + */ + digest_pad = block_size == 64 ? 21 : 29; + blocks_orig = (orig_len + digest_pad)/block_size; + blocks_data = (data_len + digest_pad)/block_size; + /* MAC enough blocks to make up the difference between the original + * and actual lengths plus one extra block to ensure this is never a + * no op. The "data" pointer should always have enough space to + * perform this operation as it is large enough for a maximum + * length TLS buffer. + */ + EVP_DigestSignUpdate(mac_ctx, data, + (blocks_orig - blocks_data + 1) * block_size); + } +#endif diff --git a/crypto/openssl/ssl/s3_clnt.c b/crypto/openssl/ssl/s3_clnt.c index b80d052e1f..7b4bc6304d 100644 --- a/crypto/openssl/ssl/s3_clnt.c +++ b/crypto/openssl/ssl/s3_clnt.c @@ -459,7 +459,6 @@ int ssl3_connect(SSL *s) SSL3_ST_CW_CHANGE_A,SSL3_ST_CW_CHANGE_B); if (ret <= 0) goto end; - #if defined(OPENSSL_NO_TLSEXT) || defined(OPENSSL_NO_NEXTPROTONEG) s->state=SSL3_ST_CW_FINISHED_A; #else diff --git a/crypto/openssl/ssl/s3_enc.c b/crypto/openssl/ssl/s3_enc.c index c5df2cb90a..e3cd4f062c 100644 --- a/crypto/openssl/ssl/s3_enc.c +++ b/crypto/openssl/ssl/s3_enc.c @@ -466,12 +466,21 @@ void ssl3_cleanup_key_block(SSL *s) s->s3->tmp.key_block_length=0; } +/* ssl3_enc encrypts/decrypts the record in |s->wrec| / |s->rrec|, respectively. + * + * Returns: + * 0: (in non-constant time) if the record is publically invalid (i.e. too + * short etc). + * 1: if the record's padding is valid / the encryption was successful. + * -1: if the record's padding is invalid or, if sending, an internal error + * occured. + */ int ssl3_enc(SSL *s, int send) { SSL3_RECORD *rec; EVP_CIPHER_CTX *ds; unsigned long l; - int bs,i; + int bs,i,mac_size=0; const EVP_CIPHER *enc; if (send) @@ -522,32 +531,16 @@ int ssl3_enc(SSL *s, int send) if (!send) { if (l == 0 || l%bs != 0) - { - SSLerr(SSL_F_SSL3_ENC,SSL_R_BLOCK_CIPHER_PAD_IS_WRONG); - ssl3_send_alert(s,SSL3_AL_FATAL,SSL_AD_DECRYPTION_FAILED); return 0; - } /* otherwise, rec->length >= bs */ } EVP_Cipher(ds,rec->data,rec->input,l); + if (EVP_MD_CTX_md(s->read_hash) != NULL) + mac_size = EVP_MD_CTX_size(s->read_hash); if ((bs != 1) && !send) - { - i=rec->data[l-1]+1; - /* SSL 3.0 bounds the number of padding bytes by the block size; - * padding bytes (except the last one) are arbitrary */ - if (i > bs) - { - /* Incorrect padding. SSLerr() and ssl3_alert are done - * by caller: we don't want to reveal whether this is - * a decryption error or a MAC verification failure - * (see http://www.openssl.org/~bodo/tls-cbc.txt) */ - return -1; - } - /* now i <= bs <= rec->length */ - rec->length-=i; - } + return ssl3_cbc_remove_padding(s, rec, bs, mac_size); } return(1); } @@ -716,7 +709,7 @@ int n_ssl3_mac(SSL *ssl, unsigned char *md, int send) EVP_MD_CTX md_ctx; const EVP_MD_CTX *hash; unsigned char *p,rec_char; - unsigned int md_size; + size_t md_size, orig_len; int npad; int t; @@ -741,28 +734,72 @@ int n_ssl3_mac(SSL *ssl, unsigned char *md, int send) md_size=t; npad=(48/md_size)*md_size; - /* Chop the digest off the end :-) */ - EVP_MD_CTX_init(&md_ctx); - - EVP_MD_CTX_copy_ex( &md_ctx,hash); - EVP_DigestUpdate(&md_ctx,mac_sec,md_size); - EVP_DigestUpdate(&md_ctx,ssl3_pad_1,npad); - EVP_DigestUpdate(&md_ctx,seq,8); - rec_char=rec->type; - EVP_DigestUpdate(&md_ctx,&rec_char,1); - p=md; - s2n(rec->length,p); - EVP_DigestUpdate(&md_ctx,md,2); - EVP_DigestUpdate(&md_ctx,rec->input,rec->length); - EVP_DigestFinal_ex( &md_ctx,md,NULL); - - EVP_MD_CTX_copy_ex( &md_ctx,hash); - EVP_DigestUpdate(&md_ctx,mac_sec,md_size); - EVP_DigestUpdate(&md_ctx,ssl3_pad_2,npad); - EVP_DigestUpdate(&md_ctx,md,md_size); - EVP_DigestFinal_ex( &md_ctx,md,&md_size); - - EVP_MD_CTX_cleanup(&md_ctx); + /* kludge: ssl3_cbc_remove_padding passes padding length in rec->type */ + orig_len = rec->length+md_size+((unsigned int)rec->type>>8); + rec->type &= 0xff; + + if (!send && + EVP_CIPHER_CTX_mode(ssl->enc_read_ctx) == EVP_CIPH_CBC_MODE && + ssl3_cbc_record_digest_supported(hash)) + { + /* This is a CBC-encrypted record. We must avoid leaking any + * timing-side channel information about how many blocks of + * data we are hashing because that gives an attacker a + * timing-oracle. */ + + /* npad is, at most, 48 bytes and that's with MD5: + * 16 + 48 + 8 (sequence bytes) + 1 + 2 = 75. + * + * With SHA-1 (the largest hash speced for SSLv3) the hash size + * goes up 4, but npad goes down by 8, resulting in a smaller + * total size. */ + unsigned char header[75]; + unsigned j = 0; + memcpy(header+j, mac_sec, md_size); + j += md_size; + memcpy(header+j, ssl3_pad_1, npad); + j += npad; + memcpy(header+j, seq, 8); + j += 8; + header[j++] = rec->type; + header[j++] = rec->length >> 8; + header[j++] = rec->length & 0xff; + + ssl3_cbc_digest_record( + hash, + md, &md_size, + header, rec->input, + rec->length + md_size, orig_len, + mac_sec, md_size, + 1 /* is SSLv3 */); + } + else + { + unsigned int md_size_u; + /* Chop the digest off the end :-) */ + EVP_MD_CTX_init(&md_ctx); + + EVP_MD_CTX_copy_ex( &md_ctx,hash); + EVP_DigestUpdate(&md_ctx,mac_sec,md_size); + EVP_DigestUpdate(&md_ctx,ssl3_pad_1,npad); + EVP_DigestUpdate(&md_ctx,seq,8); + rec_char=rec->type; + EVP_DigestUpdate(&md_ctx,&rec_char,1); + p=md; + s2n(rec->length,p); + EVP_DigestUpdate(&md_ctx,md,2); + EVP_DigestUpdate(&md_ctx,rec->input,rec->length); + EVP_DigestFinal_ex( &md_ctx,md,NULL); + + EVP_MD_CTX_copy_ex( &md_ctx,hash); + EVP_DigestUpdate(&md_ctx,mac_sec,md_size); + EVP_DigestUpdate(&md_ctx,ssl3_pad_2,npad); + EVP_DigestUpdate(&md_ctx,md,md_size); + EVP_DigestFinal_ex( &md_ctx,md,&md_size_u); + md_size = md_size_u; + + EVP_MD_CTX_cleanup(&md_ctx); + } ssl3_record_sequence_update(seq); return(md_size); diff --git a/crypto/openssl/ssl/s3_lib.c b/crypto/openssl/ssl/s3_lib.c index fb60cde8ee..e7c5dcb809 100644 --- a/crypto/openssl/ssl/s3_lib.c +++ b/crypto/openssl/ssl/s3_lib.c @@ -1125,7 +1125,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ 0, /* not implemented (non-ephemeral DH) */ TLS1_TXT_DH_DSS_WITH_AES_128_SHA256, TLS1_CK_DH_DSS_WITH_AES_128_SHA256, - SSL_kDHr, + SSL_kDHd, SSL_aDH, SSL_AES128, SSL_SHA256, @@ -1407,7 +1407,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ 0, /* not implemented (non-ephemeral DH) */ TLS1_TXT_DH_DSS_WITH_AES_256_SHA256, TLS1_CK_DH_DSS_WITH_AES_256_SHA256, - SSL_kDHr, + SSL_kDHd, SSL_aDH, SSL_AES256, SSL_SHA256, @@ -1958,7 +1958,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ 0, TLS1_TXT_DH_DSS_WITH_AES_128_GCM_SHA256, TLS1_CK_DH_DSS_WITH_AES_128_GCM_SHA256, - SSL_kDHr, + SSL_kDHd, SSL_aDH, SSL_AES128GCM, SSL_AEAD, @@ -1974,7 +1974,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ 0, TLS1_TXT_DH_DSS_WITH_AES_256_GCM_SHA384, TLS1_CK_DH_DSS_WITH_AES_256_GCM_SHA384, - SSL_kDHr, + SSL_kDHd, SSL_aDH, SSL_AES256GCM, SSL_AEAD, @@ -2669,7 +2669,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ 1, TLS1_TXT_ECDH_RSA_WITH_AES_128_SHA256, TLS1_CK_ECDH_RSA_WITH_AES_128_SHA256, - SSL_kECDHe, + SSL_kECDHr, SSL_aECDH, SSL_AES128, SSL_SHA256, @@ -2685,7 +2685,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ 1, TLS1_TXT_ECDH_RSA_WITH_AES_256_SHA384, TLS1_CK_ECDH_RSA_WITH_AES_256_SHA384, - SSL_kECDHe, + SSL_kECDHr, SSL_aECDH, SSL_AES256, SSL_SHA384, @@ -2799,7 +2799,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ 1, TLS1_TXT_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS1_CK_ECDH_RSA_WITH_AES_128_GCM_SHA256, - SSL_kECDHe, + SSL_kECDHr, SSL_aECDH, SSL_AES128GCM, SSL_AEAD, @@ -2815,7 +2815,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ 1, TLS1_TXT_ECDH_RSA_WITH_AES_256_GCM_SHA384, TLS1_CK_ECDH_RSA_WITH_AES_256_GCM_SHA384, - SSL_kECDHe, + SSL_kECDHr, SSL_aECDH, SSL_AES256GCM, SSL_AEAD, diff --git a/crypto/openssl/ssl/s3_pkt.c b/crypto/openssl/ssl/s3_pkt.c index adf8c387cc..bf8da9843e 100644 --- a/crypto/openssl/ssl/s3_pkt.c +++ b/crypto/openssl/ssl/s3_pkt.c @@ -290,11 +290,8 @@ static int ssl3_get_record(SSL *s) unsigned char *p; unsigned char md[EVP_MAX_MD_SIZE]; short version; - int mac_size; - int clear=0; + unsigned mac_size, orig_len; size_t extra; - int decryption_failed_or_bad_record_mac = 0; - unsigned char *mac = NULL; rr= &(s->s3->rrec); sess=s->session; @@ -401,19 +398,18 @@ fprintf(stderr, "Record type=%d, Length=%d\n", rr->type, rr->length); /* decrypt in place in 'rr->input' */ rr->data=rr->input; + orig_len=rr->length; enc_err = s->method->ssl3_enc->enc(s,0); - if (enc_err <= 0) + /* enc_err is: + * 0: (in non-constant time) if the record is publically invalid. + * 1: if the padding is valid + * -1: if the padding is invalid */ + if (enc_err == 0) { - if (enc_err == 0) - /* SSLerr() and ssl3_send_alert() have been called */ - goto err; - - /* Otherwise enc_err == -1, which indicates bad padding - * (rec->length has not been changed in this case). - * To minimize information leaked via timing, we will perform - * the MAC computation anyway. */ - decryption_failed_or_bad_record_mac = 1; + al=SSL_AD_DECRYPTION_FAILED; + SSLerr(SSL_F_SSL3_GET_RECORD,SSL_R_BLOCK_CIPHER_PAD_IS_WRONG); + goto f_err; } #ifdef TLS_DEBUG @@ -423,53 +419,59 @@ printf("\n"); #endif /* r->length is now the compressed data plus mac */ - if ( (sess == NULL) || - (s->enc_read_ctx == NULL) || - (EVP_MD_CTX_md(s->read_hash) == NULL)) - clear=1; - - if (!clear) + if ((sess != NULL) && + (s->enc_read_ctx != NULL) && + (EVP_MD_CTX_md(s->read_hash) != NULL)) { - /* !clear => s->read_hash != NULL => mac_size != -1 */ + /* s->read_hash != NULL => mac_size != -1 */ + unsigned char *mac = NULL; + unsigned char mac_tmp[EVP_MAX_MD_SIZE]; mac_size=EVP_MD_CTX_size(s->read_hash); - OPENSSL_assert(mac_size >= 0); + OPENSSL_assert(mac_size <= EVP_MAX_MD_SIZE); - if (rr->length > SSL3_RT_MAX_COMPRESSED_LENGTH+extra+mac_size) + /* orig_len is the length of the record before any padding was + * removed. This is public information, as is the MAC in use, + * therefore we can safely process the record in a different + * amount of time if it's too short to possibly contain a MAC. + */ + if (orig_len < mac_size || + /* CBC records must have a padding length byte too. */ + (EVP_CIPHER_CTX_mode(s->enc_read_ctx) == EVP_CIPH_CBC_MODE && + orig_len < mac_size+1)) { -#if 0 /* OK only for stream ciphers (then rr->length is visible from ciphertext anyway) */ - al=SSL_AD_RECORD_OVERFLOW; - SSLerr(SSL_F_SSL3_GET_RECORD,SSL_R_PRE_MAC_LENGTH_TOO_LONG); + al=SSL_AD_DECODE_ERROR; + SSLerr(SSL_F_SSL3_GET_RECORD,SSL_R_LENGTH_TOO_SHORT); goto f_err; -#else - decryption_failed_or_bad_record_mac = 1; -#endif } - /* check the MAC for rr->input (it's in mac_size bytes at the tail) */ - if (rr->length >= (unsigned int)mac_size) + + if (EVP_CIPHER_CTX_mode(s->enc_read_ctx) == EVP_CIPH_CBC_MODE) { + /* We update the length so that the TLS header bytes + * can be constructed correctly but we need to extract + * the MAC in constant time from within the record, + * without leaking the contents of the padding bytes. + * */ + mac = mac_tmp; + ssl3_cbc_copy_mac(mac_tmp, rr, mac_size, orig_len); rr->length -= mac_size; - mac = &rr->data[rr->length]; } else { - /* record (minus padding) is too short to contain a MAC */ -#if 0 /* OK only for stream ciphers */ - al=SSL_AD_DECODE_ERROR; - SSLerr(SSL_F_SSL3_GET_RECORD,SSL_R_LENGTH_TOO_SHORT); - goto f_err; -#else - decryption_failed_or_bad_record_mac = 1; - rr->length = 0; -#endif - } - i=s->method->ssl3_enc->mac(s,md,0); - if (i < 0 || mac == NULL || memcmp(md, mac, (size_t)mac_size) != 0) - { - decryption_failed_or_bad_record_mac = 1; + /* In this case there's no padding, so |orig_len| + * equals |rec->length| and we checked that there's + * enough bytes for |mac_size| above. */ + rr->length -= mac_size; + mac = &rr->data[rr->length]; } + + i=s->method->ssl3_enc->mac(s,md,0 /* not send */); + if (i < 0 || mac == NULL || CRYPTO_memcmp(md, mac, (size_t)mac_size) != 0) + enc_err = -1; + if (rr->length > SSL3_RT_MAX_COMPRESSED_LENGTH+extra+mac_size) + enc_err = -1; } - if (decryption_failed_or_bad_record_mac) + if (enc_err < 0) { /* A separate 'decryption_failed' alert was introduced with TLS 1.0, * SSL 3.0 only has 'bad_record_mac'. But unless a decryption @@ -744,6 +746,7 @@ static int do_ssl3_write(SSL *s, int type, const unsigned char *buf, * bytes and record version number > TLS 1.0 */ if (s->state == SSL3_ST_CW_CLNT_HELLO_B + && !s->renegotiate && TLS1_get_version(s) > TLS1_VERSION) *(p++) = 0x1; else @@ -1238,7 +1241,7 @@ start: goto f_err; } #ifdef SSL_AD_MISSING_SRP_USERNAME - if (alert_descr == SSL_AD_MISSING_SRP_USERNAME) + else if (alert_descr == SSL_AD_MISSING_SRP_USERNAME) return(0); #endif } diff --git a/crypto/openssl/ssl/s3_srvr.c b/crypto/openssl/ssl/s3_srvr.c index 118939fabb..5e1007077f 100644 --- a/crypto/openssl/ssl/s3_srvr.c +++ b/crypto/openssl/ssl/s3_srvr.c @@ -191,7 +191,8 @@ static int ssl_check_srp_ext_ClientHello(SSL *s, int *al) { if(s->srp_ctx.login == NULL) { - /* There isn't any srp login extension !!! */ + /* RFC 5054 says SHOULD reject, + we do so if There is no srp login name */ ret = SSL3_AL_FATAL; *al = SSL_AD_UNKNOWN_PSK_IDENTITY; } @@ -378,6 +379,7 @@ int ssl3_accept(SSL *s) } } #endif + s->renegotiate = 2; s->state=SSL3_ST_SW_SRVR_HELLO_A; s->init_num=0; @@ -1181,7 +1183,7 @@ int ssl3_get_client_hello(SSL *s) goto f_err; } } - if (ssl_check_clienthello_tlsext(s) <= 0) { + if (ssl_check_clienthello_tlsext_early(s) <= 0) { SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO,SSL_R_CLIENTHELLO_TLSEXT); goto err; } @@ -1403,6 +1405,16 @@ int ssl3_get_client_hello(SSL *s) * s->tmp.new_cipher - the new cipher to use. */ + /* Handles TLS extensions that we couldn't check earlier */ + if (s->version >= SSL3_VERSION) + { + if (ssl_check_clienthello_tlsext_late(s) <= 0) + { + SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_CLIENTHELLO_TLSEXT); + goto err; + } + } + if (ret < 0) ret=1; if (0) { diff --git a/crypto/openssl/ssl/ssl.h b/crypto/openssl/ssl/ssl.h index 8b0c2a2dac..593579ed36 100644 --- a/crypto/openssl/ssl/ssl.h +++ b/crypto/openssl/ssl/ssl.h @@ -493,6 +493,9 @@ struct ssl_session_st char *psk_identity_hint; char *psk_identity; #endif + /* Used to indicate that session resumption is not allowed. + * Applications can also set this bit for a new session via + * not_resumable_session_cb to disable session caching and tickets. */ int not_resumable; /* The cert is the certificate used to establish this connection */ @@ -535,7 +538,7 @@ struct ssl_session_st #endif /* OPENSSL_NO_EC */ /* RFC4507 info */ unsigned char *tlsext_tick; /* Session ticket */ - size_t tlsext_ticklen; /* Session ticket length */ + size_t tlsext_ticklen; /* Session ticket length */ long tlsext_tick_lifetime_hint; /* Session lifetime hint in seconds */ #endif #ifndef OPENSSL_NO_SRP @@ -927,6 +930,7 @@ struct ssl_ctx_st /* Callback for status request */ int (*tlsext_status_cb)(SSL *ssl, void *arg); void *tlsext_status_arg; + /* draft-rescorla-tls-opaque-prf-input-00.txt information */ int (*tlsext_opaque_prf_input_callback)(SSL *, void *peerinput, size_t len, void *arg); void *tlsext_opaque_prf_input_callback_arg; @@ -952,6 +956,7 @@ struct ssl_ctx_st #endif #ifndef OPENSSL_NO_TLSEXT + # ifndef OPENSSL_NO_NEXTPROTONEG /* Next protocol negotiation information */ /* (for experimental NPN extension). */ @@ -2206,6 +2211,7 @@ void ERR_load_SSL_strings(void); #define SSL_F_SSL_GET_NEW_SESSION 181 #define SSL_F_SSL_GET_PREV_SESSION 217 #define SSL_F_SSL_GET_SERVER_SEND_CERT 182 +#define SSL_F_SSL_GET_SERVER_SEND_PKEY 317 #define SSL_F_SSL_GET_SIGN_PKEY 183 #define SSL_F_SSL_INIT_WBIO_BUFFER 184 #define SSL_F_SSL_LOAD_CLIENT_CA_FILE 185 diff --git a/crypto/openssl/ssl/ssl3.h b/crypto/openssl/ssl/ssl3.h index 112e627de0..247e88c2d6 100644 --- a/crypto/openssl/ssl/ssl3.h +++ b/crypto/openssl/ssl/ssl3.h @@ -578,8 +578,10 @@ typedef struct ssl3_state_st #define SSL3_ST_CW_CERT_VRFY_B (0x191|SSL_ST_CONNECT) #define SSL3_ST_CW_CHANGE_A (0x1A0|SSL_ST_CONNECT) #define SSL3_ST_CW_CHANGE_B (0x1A1|SSL_ST_CONNECT) +#ifndef OPENSSL_NO_NEXTPROTONEG #define SSL3_ST_CW_NEXT_PROTO_A (0x200|SSL_ST_CONNECT) #define SSL3_ST_CW_NEXT_PROTO_B (0x201|SSL_ST_CONNECT) +#endif #define SSL3_ST_CW_FINISHED_A (0x1B0|SSL_ST_CONNECT) #define SSL3_ST_CW_FINISHED_B (0x1B1|SSL_ST_CONNECT) /* read from server */ @@ -629,8 +631,10 @@ typedef struct ssl3_state_st #define SSL3_ST_SR_CERT_VRFY_B (0x1A1|SSL_ST_ACCEPT) #define SSL3_ST_SR_CHANGE_A (0x1B0|SSL_ST_ACCEPT) #define SSL3_ST_SR_CHANGE_B (0x1B1|SSL_ST_ACCEPT) +#ifndef OPENSSL_NO_NEXTPROTONEG #define SSL3_ST_SR_NEXT_PROTO_A (0x210|SSL_ST_ACCEPT) #define SSL3_ST_SR_NEXT_PROTO_B (0x211|SSL_ST_ACCEPT) +#endif #define SSL3_ST_SR_FINISHED_A (0x1C0|SSL_ST_ACCEPT) #define SSL3_ST_SR_FINISHED_B (0x1C1|SSL_ST_ACCEPT) /* write to client */ @@ -655,7 +659,9 @@ typedef struct ssl3_state_st #define SSL3_MT_CLIENT_KEY_EXCHANGE 16 #define SSL3_MT_FINISHED 20 #define SSL3_MT_CERTIFICATE_STATUS 22 +#ifndef OPENSSL_NO_NEXTPROTONEG #define SSL3_MT_NEXT_PROTO 67 +#endif #define DTLS1_MT_HELLO_VERIFY_REQUEST 3 diff --git a/crypto/openssl/ssl/ssl_algs.c b/crypto/openssl/ssl/ssl_algs.c index d443143c59..9c34d19725 100644 --- a/crypto/openssl/ssl/ssl_algs.c +++ b/crypto/openssl/ssl/ssl_algs.c @@ -94,6 +94,7 @@ int SSL_library_init(void) EVP_add_cipher(EVP_aes_128_cbc_hmac_sha1()); EVP_add_cipher(EVP_aes_256_cbc_hmac_sha1()); #endif + #endif #ifndef OPENSSL_NO_CAMELLIA EVP_add_cipher(EVP_camellia_128_cbc()); diff --git a/crypto/openssl/ssl/ssl_cert.c b/crypto/openssl/ssl/ssl_cert.c index 917be31876..5123a89182 100644 --- a/crypto/openssl/ssl/ssl_cert.c +++ b/crypto/openssl/ssl/ssl_cert.c @@ -164,14 +164,14 @@ static void ssl_cert_set_default_md(CERT *cert) { /* Set digest values to defaults */ #ifndef OPENSSL_NO_DSA - cert->pkeys[SSL_PKEY_DSA_SIGN].digest = EVP_dss1(); + cert->pkeys[SSL_PKEY_DSA_SIGN].digest = EVP_sha1(); #endif #ifndef OPENSSL_NO_RSA cert->pkeys[SSL_PKEY_RSA_SIGN].digest = EVP_sha1(); cert->pkeys[SSL_PKEY_RSA_ENC].digest = EVP_sha1(); #endif #ifndef OPENSSL_NO_ECDSA - cert->pkeys[SSL_PKEY_ECC].digest = EVP_ecdsa(); + cert->pkeys[SSL_PKEY_ECC].digest = EVP_sha1(); #endif } diff --git a/crypto/openssl/ssl/ssl_ciph.c b/crypto/openssl/ssl/ssl_ciph.c index 92d1e94d6a..0aba8e048c 100644 --- a/crypto/openssl/ssl/ssl_ciph.c +++ b/crypto/openssl/ssl/ssl_ciph.c @@ -312,6 +312,7 @@ static const SSL_CIPHER cipher_aliases[]={ {0,SSL_TXT_SSLV2,0, 0,0,0,0,SSL_SSLV2, 0,0,0,0}, {0,SSL_TXT_SSLV3,0, 0,0,0,0,SSL_SSLV3, 0,0,0,0}, {0,SSL_TXT_TLSV1,0, 0,0,0,0,SSL_TLSV1, 0,0,0,0}, + {0,SSL_TXT_TLSV1_2,0, 0,0,0,0,SSL_TLSV1_2, 0,0,0,0}, /* export flag */ {0,SSL_TXT_EXP,0, 0,0,0,0,0,SSL_EXPORT,0,0,0}, @@ -1150,9 +1151,9 @@ static int ssl_cipher_process_rulestr(const char *rule_str, while ( ((ch >= 'A') && (ch <= 'Z')) || ((ch >= '0') && (ch <= '9')) || ((ch >= 'a') && (ch <= 'z')) || - (ch == '-')) + (ch == '-') || (ch == '.')) #else - while ( isalnum(ch) || (ch == '-')) + while ( isalnum(ch) || (ch == '-') || (ch == '.')) #endif { ch = *(++l); diff --git a/crypto/openssl/ssl/ssl_err.c b/crypto/openssl/ssl/ssl_err.c index 2577c6895a..370fb57e3b 100644 --- a/crypto/openssl/ssl/ssl_err.c +++ b/crypto/openssl/ssl/ssl_err.c @@ -228,6 +228,7 @@ static ERR_STRING_DATA SSL_str_functs[]= {ERR_FUNC(SSL_F_SSL_GET_NEW_SESSION), "SSL_GET_NEW_SESSION"}, {ERR_FUNC(SSL_F_SSL_GET_PREV_SESSION), "SSL_GET_PREV_SESSION"}, {ERR_FUNC(SSL_F_SSL_GET_SERVER_SEND_CERT), "SSL_GET_SERVER_SEND_CERT"}, +{ERR_FUNC(SSL_F_SSL_GET_SERVER_SEND_PKEY), "SSL_GET_SERVER_SEND_PKEY"}, {ERR_FUNC(SSL_F_SSL_GET_SIGN_PKEY), "SSL_GET_SIGN_PKEY"}, {ERR_FUNC(SSL_F_SSL_INIT_WBIO_BUFFER), "SSL_INIT_WBIO_BUFFER"}, {ERR_FUNC(SSL_F_SSL_LOAD_CLIENT_CA_FILE), "SSL_load_client_CA_file"}, diff --git a/crypto/openssl/ssl/ssl_lib.c b/crypto/openssl/ssl/ssl_lib.c index f82d071d6e..1a14c428a5 100644 --- a/crypto/openssl/ssl/ssl_lib.c +++ b/crypto/openssl/ssl/ssl_lib.c @@ -2287,7 +2287,7 @@ int ssl_check_srvr_ecc_cert_and_alg(X509 *x, SSL *s) #endif /* THIS NEEDS CLEANING UP */ -X509 *ssl_get_server_send_cert(SSL *s) +CERT_PKEY *ssl_get_server_send_pkey(const SSL *s) { unsigned long alg_k,alg_a; CERT *c; @@ -2342,12 +2342,20 @@ X509 *ssl_get_server_send_cert(SSL *s) i=SSL_PKEY_GOST01; else /* if (alg_a & SSL_aNULL) */ { - SSLerr(SSL_F_SSL_GET_SERVER_SEND_CERT,ERR_R_INTERNAL_ERROR); + SSLerr(SSL_F_SSL_GET_SERVER_SEND_PKEY,ERR_R_INTERNAL_ERROR); return(NULL); } - if (c->pkeys[i].x509 == NULL) return(NULL); - return(c->pkeys[i].x509); + return c->pkeys + i; + } + +X509 *ssl_get_server_send_cert(const SSL *s) + { + CERT_PKEY *cpk; + cpk = ssl_get_server_send_pkey(s); + if (!cpk) + return NULL; + return cpk->x509; } EVP_PKEY *ssl_get_sign_pkey(SSL *s,const SSL_CIPHER *cipher, const EVP_MD **pmd) @@ -2608,7 +2616,7 @@ const char *SSL_get_version(const SSL *s) return("TLSv1.2"); else if (s->version == TLS1_1_VERSION) return("TLSv1.1"); - if (s->version == TLS1_VERSION) + else if (s->version == TLS1_VERSION) return("TLSv1"); else if (s->version == SSL3_VERSION) return("SSLv3"); @@ -2780,7 +2788,9 @@ void ssl_clear_cipher_ctx(SSL *s) /* Fix this function so that it takes an optional type parameter */ X509 *SSL_get_certificate(const SSL *s) { - if (s->cert != NULL) + if (s->server) + return(ssl_get_server_send_cert(s)); + else if (s->cert != NULL) return(s->cert->key->x509); else return(NULL); diff --git a/crypto/openssl/ssl/ssl_locl.h b/crypto/openssl/ssl/ssl_locl.h index d87fd51cfa..1b98947e67 100644 --- a/crypto/openssl/ssl/ssl_locl.h +++ b/crypto/openssl/ssl/ssl_locl.h @@ -215,6 +215,15 @@ *((c)++)=(unsigned char)(((l)>> 8)&0xff), \ *((c)++)=(unsigned char)(((l) )&0xff)) +#define l2n8(l,c) (*((c)++)=(unsigned char)(((l)>>56)&0xff), \ + *((c)++)=(unsigned char)(((l)>>48)&0xff), \ + *((c)++)=(unsigned char)(((l)>>40)&0xff), \ + *((c)++)=(unsigned char)(((l)>>32)&0xff), \ + *((c)++)=(unsigned char)(((l)>>24)&0xff), \ + *((c)++)=(unsigned char)(((l)>>16)&0xff), \ + *((c)++)=(unsigned char)(((l)>> 8)&0xff), \ + *((c)++)=(unsigned char)(((l) )&0xff)) + #define n2l6(c,l) (l =((BN_ULLONG)(*((c)++)))<<40, \ l|=((BN_ULLONG)(*((c)++)))<<32, \ l|=((BN_ULLONG)(*((c)++)))<<24, \ @@ -830,7 +839,8 @@ int ssl_verify_cert_chain(SSL *s,STACK_OF(X509) *sk); int ssl_undefined_function(SSL *s); int ssl_undefined_void_function(void); int ssl_undefined_const_function(const SSL *s); -X509 *ssl_get_server_send_cert(SSL *); +CERT_PKEY *ssl_get_server_send_pkey(const SSL *s); +X509 *ssl_get_server_send_cert(const SSL *); EVP_PKEY *ssl_get_sign_pkey(SSL *s,const SSL_CIPHER *c, const EVP_MD **pmd); int ssl_cert_type(X509 *x,EVP_PKEY *pkey); void ssl_set_cert_masks(CERT *c, const SSL_CIPHER *cipher); @@ -1088,7 +1098,8 @@ int ssl_parse_clienthello_tlsext(SSL *s, unsigned char **data, unsigned char *d, int ssl_parse_serverhello_tlsext(SSL *s, unsigned char **data, unsigned char *d, int n, int *al); int ssl_prepare_clienthello_tlsext(SSL *s); int ssl_prepare_serverhello_tlsext(SSL *s); -int ssl_check_clienthello_tlsext(SSL *s); +int ssl_check_clienthello_tlsext_early(SSL *s); +int ssl_check_clienthello_tlsext_late(SSL *s); int ssl_check_serverhello_tlsext(SSL *s); #ifndef OPENSSL_NO_HEARTBEATS @@ -1131,4 +1142,33 @@ int ssl_parse_clienthello_use_srtp_ext(SSL *s, unsigned char *d, int len,int *al int ssl_add_serverhello_use_srtp_ext(SSL *s, unsigned char *p, int *len, int maxlen); int ssl_parse_serverhello_use_srtp_ext(SSL *s, unsigned char *d, int len,int *al); +/* s3_cbc.c */ +void ssl3_cbc_copy_mac(unsigned char* out, + const SSL3_RECORD *rec, + unsigned md_size,unsigned orig_len); +int ssl3_cbc_remove_padding(const SSL* s, + SSL3_RECORD *rec, + unsigned block_size, + unsigned mac_size); +int tls1_cbc_remove_padding(const SSL* s, + SSL3_RECORD *rec, + unsigned block_size, + unsigned mac_size); +char ssl3_cbc_record_digest_supported(const EVP_MD_CTX *ctx); +void ssl3_cbc_digest_record( + const EVP_MD_CTX *ctx, + unsigned char* md_out, + size_t* md_out_size, + const unsigned char header[13], + const unsigned char *data, + size_t data_plus_mac_size, + size_t data_plus_mac_plus_padding_size, + const unsigned char *mac_secret, + unsigned mac_secret_length, + char is_sslv3); + +void tls_fips_digest_extra( + const EVP_CIPHER_CTX *cipher_ctx, EVP_MD_CTX *mac_ctx, + const unsigned char *data, size_t data_len, size_t orig_len); + #endif diff --git a/crypto/openssl/ssl/ssl_rsa.c b/crypto/openssl/ssl/ssl_rsa.c index c0960b5712..60e7b66859 100644 --- a/crypto/openssl/ssl/ssl_rsa.c +++ b/crypto/openssl/ssl/ssl_rsa.c @@ -710,7 +710,7 @@ int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file) ERR_clear_error(); /* clear error stack for SSL_CTX_use_certificate() */ - in=BIO_new(BIO_s_file_internal()); + in = BIO_new(BIO_s_file_internal()); if (in == NULL) { SSLerr(SSL_F_SSL_CTX_USE_CERTIFICATE_CHAIN_FILE,ERR_R_BUF_LIB); @@ -723,14 +723,16 @@ int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file) goto end; } - x=PEM_read_bio_X509_AUX(in,NULL,ctx->default_passwd_callback,ctx->default_passwd_callback_userdata); + x=PEM_read_bio_X509_AUX(in,NULL,ctx->default_passwd_callback, + ctx->default_passwd_callback_userdata); if (x == NULL) { SSLerr(SSL_F_SSL_CTX_USE_CERTIFICATE_CHAIN_FILE,ERR_R_PEM_LIB); goto end; } - ret=SSL_CTX_use_certificate(ctx,x); + ret = SSL_CTX_use_certificate(ctx, x); + if (ERR_peek_error() != 0) ret = 0; /* Key/certificate mismatch doesn't imply ret==0 ... */ if (ret) @@ -742,13 +744,15 @@ int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file) int r; unsigned long err; - if (ctx->extra_certs != NULL) + if (ctx->extra_certs != NULL) { sk_X509_pop_free(ctx->extra_certs, X509_free); ctx->extra_certs = NULL; } - while ((ca = PEM_read_bio_X509(in,NULL,ctx->default_passwd_callback,ctx->default_passwd_callback_userdata)) + while ((ca = PEM_read_bio_X509(in, NULL, + ctx->default_passwd_callback, + ctx->default_passwd_callback_userdata)) != NULL) { r = SSL_CTX_add_extra_chain_cert(ctx, ca); diff --git a/crypto/openssl/ssl/t1_enc.c b/crypto/openssl/ssl/t1_enc.c index f7bdeb3b9d..809ad2ee1e 100644 --- a/crypto/openssl/ssl/t1_enc.c +++ b/crypto/openssl/ssl/t1_enc.c @@ -361,7 +361,7 @@ int tls1_change_cipher_state(SSL *s, int which) { int i; for (i=0; is3->tmp.key_block_length; i++) - printf("%02x", key_block[i]); printf("\n"); + printf("%02x", s->s3->tmp.key_block[i]); printf("\n"); } #endif /* KSSL_DEBUG */ @@ -667,12 +667,21 @@ err: return(ret); } +/* tls1_enc encrypts/decrypts the record in |s->wrec| / |s->rrec|, respectively. + * + * Returns: + * 0: (in non-constant time) if the record is publically invalid (i.e. too + * short etc). + * 1: if the record's padding is valid / the encryption was successful. + * -1: if the record's padding/AEAD-authenticator is invalid or, if sending, + * an internal error occured. + */ int tls1_enc(SSL *s, int send) { SSL3_RECORD *rec; EVP_CIPHER_CTX *ds; unsigned long l; - int bs,i,ii,j,k,pad=0; + int bs,i,j,k,pad=0,ret,mac_size=0; const EVP_CIPHER *enc; if (send) @@ -729,11 +738,11 @@ int tls1_enc(SSL *s, int send) printf("tls1_enc(%d)\n", send); #endif /* KSSL_DEBUG */ - if ((s->session == NULL) || (ds == NULL) || - (enc == NULL)) + if ((s->session == NULL) || (ds == NULL) || (enc == NULL)) { memmove(rec->data,rec->input,rec->length); rec->input=rec->data; + ret = 1; } else { @@ -797,13 +806,13 @@ int tls1_enc(SSL *s, int send) #ifdef KSSL_DEBUG { - unsigned long ui; + unsigned long ui; printf("EVP_Cipher(ds=%p,rec->data=%p,rec->input=%p,l=%ld) ==>\n", - ds,rec->data,rec->input,l); + ds,rec->data,rec->input,l); printf("\tEVP_CIPHER_CTX: %d buf_len, %d key_len [%d %d], %d iv_len\n", - ds->buf_len, ds->cipher->key_len, - DES_KEY_SZ, DES_SCHEDULE_SZ, - ds->cipher->iv_len); + ds->buf_len, ds->cipher->key_len, + DES_KEY_SZ, DES_SCHEDULE_SZ, + ds->cipher->iv_len); printf("\t\tIV: "); for (i=0; icipher->iv_len; i++) printf("%02X", ds->iv[i]); printf("\n"); @@ -816,13 +825,7 @@ int tls1_enc(SSL *s, int send) if (!send) { if (l == 0 || l%bs != 0) - { - if (s->version >= TLS1_1_VERSION) - return -1; - SSLerr(SSL_F_TLS1_ENC,SSL_R_BLOCK_CIPHER_PAD_IS_WRONG); - ssl3_send_alert(s,SSL3_AL_FATAL,SSL_AD_DECRYPTION_FAILED); return 0; - } } i = EVP_Cipher(ds,rec->data,rec->input,l); @@ -839,68 +842,24 @@ int tls1_enc(SSL *s, int send) #ifdef KSSL_DEBUG { - unsigned long i; - printf("\trec->data="); + unsigned long i; + printf("\trec->data="); for (i=0; idata[i]); printf("\n"); - } + printf(" %02x", rec->data[i]); printf("\n"); + } #endif /* KSSL_DEBUG */ + ret = 1; + if (EVP_MD_CTX_md(s->read_hash) != NULL) + mac_size = EVP_MD_CTX_size(s->read_hash); if ((bs != 1) && !send) - { - ii=i=rec->data[l-1]; /* padding_length */ - i++; - /* NB: if compression is in operation the first packet - * may not be of even length so the padding bug check - * cannot be performed. This bug workaround has been - * around since SSLeay so hopefully it is either fixed - * now or no buggy implementation supports compression - * [steve] - */ - if ( (s->options&SSL_OP_TLS_BLOCK_PADDING_BUG) - && !s->expand) - { - /* First packet is even in size, so check */ - if ((memcmp(s->s3->read_sequence, - "\0\0\0\0\0\0\0\0",8) == 0) && !(ii & 1)) - s->s3->flags|=TLS1_FLAGS_TLS_PADDING_BUG; - if (s->s3->flags & TLS1_FLAGS_TLS_PADDING_BUG) - i--; - } - /* TLS 1.0 does not bound the number of padding bytes by the block size. - * All of them must have value 'padding_length'. */ - if (i > (int)rec->length) - { - /* Incorrect padding. SSLerr() and ssl3_alert are done - * by caller: we don't want to reveal whether this is - * a decryption error or a MAC verification failure - * (see http://www.openssl.org/~bodo/tls-cbc.txt) */ - return -1; - } - for (j=(int)(l-i); j<(int)l; j++) - { - if (rec->data[j] != ii) - { - /* Incorrect padding */ - return -1; - } - } - rec->length -=i; - if (s->version >= TLS1_1_VERSION - && EVP_CIPHER_CTX_mode(ds) == EVP_CIPH_CBC_MODE) - { - if (bs > (int)rec->length) - return -1; - rec->data += bs; /* skip the explicit IV */ - rec->input += bs; - rec->length -= bs; - } - } + ret = tls1_cbc_remove_padding(s, rec, bs, mac_size); if (pad && !send) rec->length -= pad; } - return(1); + return ret; } + int tls1_cert_verify_mac(SSL *s, int md_nid, unsigned char *out) { unsigned int ret; @@ -990,10 +949,10 @@ int tls1_mac(SSL *ssl, unsigned char *md, int send) SSL3_RECORD *rec; unsigned char *seq; EVP_MD_CTX *hash; - size_t md_size; + size_t md_size, orig_len; int i; EVP_MD_CTX hmac, *mac_ctx; - unsigned char buf[5]; + unsigned char header[13]; int stream_mac = (send?(ssl->mac_flags & SSL_MAC_FLAG_WRITE_MAC_STREAM):(ssl->mac_flags&SSL_MAC_FLAG_READ_MAC_STREAM)); int t; @@ -1014,12 +973,6 @@ int tls1_mac(SSL *ssl, unsigned char *md, int send) OPENSSL_assert(t >= 0); md_size=t; - buf[0]=rec->type; - buf[1]=(unsigned char)(ssl->version>>8); - buf[2]=(unsigned char)(ssl->version); - buf[3]=rec->length>>8; - buf[4]=rec->length&0xff; - /* I should fix this up TLS TLS TLS TLS TLS XXXXXXXX */ if (stream_mac) { @@ -1038,17 +991,55 @@ int tls1_mac(SSL *ssl, unsigned char *md, int send) s2n(send?ssl->d1->w_epoch:ssl->d1->r_epoch, p); memcpy (p,&seq[2],6); - EVP_DigestSignUpdate(mac_ctx,dtlsseq,8); + memcpy(header, dtlsseq, 8); } else - EVP_DigestSignUpdate(mac_ctx,seq,8); + memcpy(header, seq, 8); - EVP_DigestSignUpdate(mac_ctx,buf,5); - EVP_DigestSignUpdate(mac_ctx,rec->input,rec->length); - t=EVP_DigestSignFinal(mac_ctx,md,&md_size); - OPENSSL_assert(t > 0); + /* kludge: tls1_cbc_remove_padding passes padding length in rec->type */ + orig_len = rec->length+md_size+((unsigned int)rec->type>>8); + rec->type &= 0xff; + + header[8]=rec->type; + header[9]=(unsigned char)(ssl->version>>8); + header[10]=(unsigned char)(ssl->version); + header[11]=(rec->length)>>8; + header[12]=(rec->length)&0xff; + + if (!send && + EVP_CIPHER_CTX_mode(ssl->enc_read_ctx) == EVP_CIPH_CBC_MODE && + ssl3_cbc_record_digest_supported(mac_ctx)) + { + /* This is a CBC-encrypted record. We must avoid leaking any + * timing-side channel information about how many blocks of + * data we are hashing because that gives an attacker a + * timing-oracle. */ + ssl3_cbc_digest_record( + mac_ctx, + md, &md_size, + header, rec->input, + rec->length + md_size, orig_len, + ssl->s3->read_mac_secret, + ssl->s3->read_mac_secret_size, + 0 /* not SSLv3 */); + } + else + { + EVP_DigestSignUpdate(mac_ctx,header,sizeof(header)); + EVP_DigestSignUpdate(mac_ctx,rec->input,rec->length); + t=EVP_DigestSignFinal(mac_ctx,md,&md_size); + OPENSSL_assert(t > 0); +#ifdef OPENSSL_FIPS + if (!send && FIPS_mode()) + tls_fips_digest_extra( + ssl->enc_read_ctx, + mac_ctx, rec->input, + rec->length, orig_len); +#endif + } - if (!stream_mac) EVP_MD_CTX_cleanup(&hmac); + if (!stream_mac) + EVP_MD_CTX_cleanup(&hmac); #ifdef TLS_DEBUG printf("sec="); {unsigned int z; for (z=0; zinitial_ctx != NULL && s->initial_ctx->tlsext_servername_callback != 0) ret = s->initial_ctx->tlsext_servername_callback(s, &al, s->initial_ctx->tlsext_servername_arg); - /* If status request then ask callback what to do. - * Note: this must be called after servername callbacks in case - * the certificate has changed. - */ - if ((s->tlsext_status_type != -1) && s->ctx && s->ctx->tlsext_status_cb) - { - int r; - r = s->ctx->tlsext_status_cb(s, s->ctx->tlsext_status_arg); - switch (r) - { - /* We don't want to send a status request response */ - case SSL_TLSEXT_ERR_NOACK: - s->tlsext_status_expected = 0; - break; - /* status request response should be sent */ - case SSL_TLSEXT_ERR_OK: - if (s->tlsext_ocsp_resp) - s->tlsext_status_expected = 1; - else - s->tlsext_status_expected = 0; - break; - /* something bad happened */ - case SSL_TLSEXT_ERR_ALERT_FATAL: - ret = SSL_TLSEXT_ERR_ALERT_FATAL; - al = SSL_AD_INTERNAL_ERROR; - goto err; - } - } - else - s->tlsext_status_expected = 0; - #ifdef TLSEXT_TYPE_opaque_prf_input { /* This sort of belongs into ssl_prepare_serverhello_tlsext(), * but we might be sending an alert in response to the client hello, - * so this has to happen here in ssl_check_clienthello_tlsext(). */ + * so this has to happen here in + * ssl_check_clienthello_tlsext_early(). */ int r = 1; @@ -1869,8 +1841,8 @@ int ssl_check_clienthello_tlsext(SSL *s) } } -#endif err: +#endif switch (ret) { case SSL_TLSEXT_ERR_ALERT_FATAL: @@ -1888,6 +1860,71 @@ int ssl_check_clienthello_tlsext(SSL *s) } } +int ssl_check_clienthello_tlsext_late(SSL *s) + { + int ret = SSL_TLSEXT_ERR_OK; + int al; + + /* If status request then ask callback what to do. + * Note: this must be called after servername callbacks in case + * the certificate has changed, and must be called after the cipher + * has been chosen because this may influence which certificate is sent + */ + if ((s->tlsext_status_type != -1) && s->ctx && s->ctx->tlsext_status_cb) + { + int r; + CERT_PKEY *certpkey; + certpkey = ssl_get_server_send_pkey(s); + /* If no certificate can't return certificate status */ + if (certpkey == NULL) + { + s->tlsext_status_expected = 0; + return 1; + } + /* Set current certificate to one we will use so + * SSL_get_certificate et al can pick it up. + */ + s->cert->key = certpkey; + r = s->ctx->tlsext_status_cb(s, s->ctx->tlsext_status_arg); + switch (r) + { + /* We don't want to send a status request response */ + case SSL_TLSEXT_ERR_NOACK: + s->tlsext_status_expected = 0; + break; + /* status request response should be sent */ + case SSL_TLSEXT_ERR_OK: + if (s->tlsext_ocsp_resp) + s->tlsext_status_expected = 1; + else + s->tlsext_status_expected = 0; + break; + /* something bad happened */ + case SSL_TLSEXT_ERR_ALERT_FATAL: + ret = SSL_TLSEXT_ERR_ALERT_FATAL; + al = SSL_AD_INTERNAL_ERROR; + goto err; + } + } + else + s->tlsext_status_expected = 0; + + err: + switch (ret) + { + case SSL_TLSEXT_ERR_ALERT_FATAL: + ssl3_send_alert(s,SSL3_AL_FATAL,al); + return -1; + + case SSL_TLSEXT_ERR_ALERT_WARNING: + ssl3_send_alert(s,SSL3_AL_WARNING,al); + return 1; + + default: + return 1; + } + } + int ssl_check_serverhello_tlsext(SSL *s) { int ret=SSL_TLSEXT_ERR_NOACK; @@ -2189,7 +2226,7 @@ static int tls_decrypt_ticket(SSL *s, const unsigned char *etick, int eticklen, HMAC_Update(&hctx, etick, eticklen); HMAC_Final(&hctx, tick_hmac, NULL); HMAC_CTX_cleanup(&hctx); - if (memcmp(tick_hmac, etick + eticklen, mlen)) + if (CRYPTO_memcmp(tick_hmac, etick + eticklen, mlen)) return 2; /* Attempt to decrypt session data */ /* Move p after IV to start of encrypted ticket, update length */ @@ -2414,7 +2451,7 @@ int tls1_process_sigalgs(SSL *s, const unsigned char *data, int dsize) */ #ifndef OPENSSL_NO_DSA if (!c->pkeys[SSL_PKEY_DSA_SIGN].digest) - c->pkeys[SSL_PKEY_DSA_SIGN].digest = EVP_dss1(); + c->pkeys[SSL_PKEY_DSA_SIGN].digest = EVP_sha1(); #endif #ifndef OPENSSL_NO_RSA if (!c->pkeys[SSL_PKEY_RSA_SIGN].digest) @@ -2425,7 +2462,7 @@ int tls1_process_sigalgs(SSL *s, const unsigned char *data, int dsize) #endif #ifndef OPENSSL_NO_ECDSA if (!c->pkeys[SSL_PKEY_ECC].digest) - c->pkeys[SSL_PKEY_ECC].digest = EVP_ecdsa(); + c->pkeys[SSL_PKEY_ECC].digest = EVP_sha1(); #endif return 1; } diff --git a/crypto/openssl/ssl/tls_srp.c b/crypto/openssl/ssl/tls_srp.c index 8512c4daf6..2315a7c0a2 100644 --- a/crypto/openssl/ssl/tls_srp.c +++ b/crypto/openssl/ssl/tls_srp.c @@ -242,7 +242,8 @@ int SSL_srp_server_param_with_username(SSL *s, int *ad) (s->srp_ctx.v == NULL)) return SSL3_AL_FATAL; - RAND_bytes(b, sizeof(b)); + if (RAND_bytes(b, sizeof(b)) <= 0) + return SSL3_AL_FATAL; s->srp_ctx.b = BN_bin2bn(b,sizeof(b),NULL); OPENSSL_cleanse(b,sizeof(b)); -- 2.41.0 From 58e4c0cfdbaba48eb282aa8fb3fe3793de5228c6 Mon Sep 17 00:00:00 2001 From: Peter Avalos Date: Sun, 10 Feb 2013 02:04:14 -0800 Subject: [PATCH 04/16] Update files for OpenSSL-1.0.1d import. --- Makefile_upgrade.inc | 2 + secure/lib/libcrypto/Makefile | 2 +- secure/lib/libcrypto/Makefile.inc | 4 +- secure/lib/libcrypto/Makefile.man | 4 +- secure/lib/libcrypto/asm/sha512-586.s | 2 +- secure/lib/libcrypto/man/ASN1_OBJECT_new.3 | 4 +- secure/lib/libcrypto/man/ASN1_STRING_length.3 | 4 +- secure/lib/libcrypto/man/ASN1_STRING_new.3 | 4 +- .../lib/libcrypto/man/ASN1_STRING_print_ex.3 | 4 +- .../lib/libcrypto/man/ASN1_generate_nconf.3 | 4 +- secure/lib/libcrypto/man/BIO_ctrl.3 | 4 +- secure/lib/libcrypto/man/BIO_f_base64.3 | 4 +- secure/lib/libcrypto/man/BIO_f_buffer.3 | 4 +- secure/lib/libcrypto/man/BIO_f_cipher.3 | 4 +- secure/lib/libcrypto/man/BIO_f_md.3 | 4 +- secure/lib/libcrypto/man/BIO_f_null.3 | 4 +- secure/lib/libcrypto/man/BIO_f_ssl.3 | 4 +- secure/lib/libcrypto/man/BIO_find_type.3 | 4 +- secure/lib/libcrypto/man/BIO_new.3 | 4 +- secure/lib/libcrypto/man/BIO_new_CMS.3 | 4 +- secure/lib/libcrypto/man/BIO_push.3 | 4 +- secure/lib/libcrypto/man/BIO_read.3 | 4 +- secure/lib/libcrypto/man/BIO_s_accept.3 | 4 +- secure/lib/libcrypto/man/BIO_s_bio.3 | 4 +- secure/lib/libcrypto/man/BIO_s_connect.3 | 4 +- secure/lib/libcrypto/man/BIO_s_fd.3 | 4 +- secure/lib/libcrypto/man/BIO_s_file.3 | 4 +- secure/lib/libcrypto/man/BIO_s_mem.3 | 4 +- secure/lib/libcrypto/man/BIO_s_null.3 | 4 +- secure/lib/libcrypto/man/BIO_s_socket.3 | 4 +- secure/lib/libcrypto/man/BIO_set_callback.3 | 4 +- secure/lib/libcrypto/man/BIO_should_retry.3 | 4 +- secure/lib/libcrypto/man/BN_BLINDING_new.3 | 4 +- secure/lib/libcrypto/man/BN_CTX_new.3 | 4 +- secure/lib/libcrypto/man/BN_CTX_start.3 | 4 +- secure/lib/libcrypto/man/BN_add.3 | 4 +- secure/lib/libcrypto/man/BN_add_word.3 | 4 +- secure/lib/libcrypto/man/BN_bn2bin.3 | 4 +- secure/lib/libcrypto/man/BN_cmp.3 | 4 +- secure/lib/libcrypto/man/BN_copy.3 | 4 +- secure/lib/libcrypto/man/BN_generate_prime.3 | 4 +- secure/lib/libcrypto/man/BN_mod_inverse.3 | 4 +- .../lib/libcrypto/man/BN_mod_mul_montgomery.3 | 4 +- .../lib/libcrypto/man/BN_mod_mul_reciprocal.3 | 4 +- secure/lib/libcrypto/man/BN_new.3 | 4 +- secure/lib/libcrypto/man/BN_num_bytes.3 | 4 +- secure/lib/libcrypto/man/BN_rand.3 | 4 +- secure/lib/libcrypto/man/BN_set_bit.3 | 4 +- secure/lib/libcrypto/man/BN_swap.3 | 4 +- secure/lib/libcrypto/man/BN_zero.3 | 4 +- secure/lib/libcrypto/man/CMS_add0_cert.3 | 4 +- .../libcrypto/man/CMS_add1_recipient_cert.3 | 4 +- secure/lib/libcrypto/man/CMS_compress.3 | 4 +- secure/lib/libcrypto/man/CMS_decrypt.3 | 4 +- secure/lib/libcrypto/man/CMS_encrypt.3 | 4 +- secure/lib/libcrypto/man/CMS_final.3 | 4 +- .../libcrypto/man/CMS_get0_RecipientInfos.3 | 4 +- .../lib/libcrypto/man/CMS_get0_SignerInfos.3 | 4 +- secure/lib/libcrypto/man/CMS_get0_type.3 | 4 +- .../libcrypto/man/CMS_get1_ReceiptRequest.3 | 4 +- secure/lib/libcrypto/man/CMS_sign.3 | 4 +- .../lib/libcrypto/man/CMS_sign_add1_signer.3 | 4 +- secure/lib/libcrypto/man/CMS_sign_receipt.3 | 4 +- secure/lib/libcrypto/man/CMS_uncompress.3 | 4 +- secure/lib/libcrypto/man/CMS_verify.3 | 4 +- secure/lib/libcrypto/man/CMS_verify_receipt.3 | 4 +- secure/lib/libcrypto/man/CONF_modules_free.3 | 4 +- .../libcrypto/man/CONF_modules_load_file.3 | 4 +- secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 | 4 +- secure/lib/libcrypto/man/DH_generate_key.3 | 4 +- .../libcrypto/man/DH_generate_parameters.3 | 4 +- .../lib/libcrypto/man/DH_get_ex_new_index.3 | 4 +- secure/lib/libcrypto/man/DH_new.3 | 4 +- secure/lib/libcrypto/man/DH_set_method.3 | 4 +- secure/lib/libcrypto/man/DH_size.3 | 4 +- secure/lib/libcrypto/man/DSA_SIG_new.3 | 4 +- secure/lib/libcrypto/man/DSA_do_sign.3 | 4 +- secure/lib/libcrypto/man/DSA_dup_DH.3 | 4 +- secure/lib/libcrypto/man/DSA_generate_key.3 | 4 +- .../libcrypto/man/DSA_generate_parameters.3 | 4 +- .../lib/libcrypto/man/DSA_get_ex_new_index.3 | 4 +- secure/lib/libcrypto/man/DSA_new.3 | 4 +- secure/lib/libcrypto/man/DSA_set_method.3 | 4 +- secure/lib/libcrypto/man/DSA_sign.3 | 4 +- secure/lib/libcrypto/man/DSA_size.3 | 4 +- secure/lib/libcrypto/man/ERR_GET_LIB.3 | 4 +- secure/lib/libcrypto/man/ERR_clear_error.3 | 4 +- secure/lib/libcrypto/man/ERR_error_string.3 | 4 +- secure/lib/libcrypto/man/ERR_get_error.3 | 4 +- .../libcrypto/man/ERR_load_crypto_strings.3 | 4 +- secure/lib/libcrypto/man/ERR_load_strings.3 | 4 +- secure/lib/libcrypto/man/ERR_print_errors.3 | 4 +- secure/lib/libcrypto/man/ERR_put_error.3 | 4 +- secure/lib/libcrypto/man/ERR_remove_state.3 | 4 +- secure/lib/libcrypto/man/ERR_set_mark.3 | 4 +- secure/lib/libcrypto/man/EVP_BytesToKey.3 | 4 +- secure/lib/libcrypto/man/EVP_DigestInit.3 | 4 +- secure/lib/libcrypto/man/EVP_DigestSignInit.3 | 4 +- .../lib/libcrypto/man/EVP_DigestVerifyInit.3 | 4 +- secure/lib/libcrypto/man/EVP_EncryptInit.3 | 4 +- secure/lib/libcrypto/man/EVP_OpenInit.3 | 4 +- secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 | 6 +- secure/lib/libcrypto/man/EVP_PKEY_CTX_new.3 | 4 +- secure/lib/libcrypto/man/EVP_PKEY_cmp.3 | 4 +- secure/lib/libcrypto/man/EVP_PKEY_decrypt.3 | 6 +- secure/lib/libcrypto/man/EVP_PKEY_derive.3 | 6 +- secure/lib/libcrypto/man/EVP_PKEY_encrypt.3 | 6 +- .../man/EVP_PKEY_get_default_digest.3 | 6 +- secure/lib/libcrypto/man/EVP_PKEY_keygen.3 | 6 +- secure/lib/libcrypto/man/EVP_PKEY_new.3 | 4 +- .../libcrypto/man/EVP_PKEY_print_private.3 | 4 +- secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 | 4 +- secure/lib/libcrypto/man/EVP_PKEY_sign.3 | 6 +- secure/lib/libcrypto/man/EVP_PKEY_verify.3 | 6 +- ...ifyrecover.3 => EVP_PKEY_verify_recover.3} | 28 ++++----- secure/lib/libcrypto/man/EVP_SealInit.3 | 4 +- secure/lib/libcrypto/man/EVP_SignInit.3 | 4 +- secure/lib/libcrypto/man/EVP_VerifyInit.3 | 4 +- secure/lib/libcrypto/man/OBJ_nid2obj.3 | 4 +- secure/lib/libcrypto/man/OPENSSL_Applink.3 | 4 +- .../libcrypto/man/OPENSSL_VERSION_NUMBER.3 | 4 +- secure/lib/libcrypto/man/OPENSSL_config.3 | 4 +- secure/lib/libcrypto/man/OPENSSL_ia32cap.3 | 4 +- .../man/OPENSSL_load_builtin_modules.3 | 4 +- .../man/OpenSSL_add_all_algorithms.3 | 4 +- .../libcrypto/man/PEM_write_bio_CMS_stream.3 | 4 +- .../man/PEM_write_bio_PKCS7_stream.3 | 4 +- secure/lib/libcrypto/man/PKCS12_create.3 | 4 +- secure/lib/libcrypto/man/PKCS12_parse.3 | 4 +- secure/lib/libcrypto/man/PKCS7_decrypt.3 | 4 +- secure/lib/libcrypto/man/PKCS7_encrypt.3 | 4 +- secure/lib/libcrypto/man/PKCS7_sign.3 | 4 +- .../lib/libcrypto/man/PKCS7_sign_add_signer.3 | 4 +- secure/lib/libcrypto/man/PKCS7_verify.3 | 4 +- secure/lib/libcrypto/man/RAND_add.3 | 4 +- secure/lib/libcrypto/man/RAND_bytes.3 | 4 +- secure/lib/libcrypto/man/RAND_cleanup.3 | 4 +- secure/lib/libcrypto/man/RAND_egd.3 | 4 +- secure/lib/libcrypto/man/RAND_load_file.3 | 4 +- .../lib/libcrypto/man/RAND_set_rand_method.3 | 4 +- secure/lib/libcrypto/man/RSA_blinding_on.3 | 4 +- secure/lib/libcrypto/man/RSA_check_key.3 | 4 +- secure/lib/libcrypto/man/RSA_generate_key.3 | 4 +- .../lib/libcrypto/man/RSA_get_ex_new_index.3 | 4 +- secure/lib/libcrypto/man/RSA_new.3 | 4 +- .../man/RSA_padding_add_PKCS1_type_1.3 | 4 +- secure/lib/libcrypto/man/RSA_print.3 | 4 +- .../lib/libcrypto/man/RSA_private_encrypt.3 | 4 +- secure/lib/libcrypto/man/RSA_public_encrypt.3 | 4 +- secure/lib/libcrypto/man/RSA_set_method.3 | 4 +- secure/lib/libcrypto/man/RSA_sign.3 | 4 +- .../man/RSA_sign_ASN1_OCTET_STRING.3 | 4 +- secure/lib/libcrypto/man/RSA_size.3 | 4 +- secure/lib/libcrypto/man/SMIME_read_CMS.3 | 4 +- secure/lib/libcrypto/man/SMIME_read_PKCS7.3 | 4 +- secure/lib/libcrypto/man/SMIME_write_CMS.3 | 4 +- secure/lib/libcrypto/man/SMIME_write_PKCS7.3 | 4 +- .../man/X509_NAME_ENTRY_get_object.3 | 4 +- .../man/X509_NAME_add_entry_by_txt.3 | 4 +- .../man/X509_NAME_get_index_by_NID.3 | 4 +- secure/lib/libcrypto/man/X509_NAME_print_ex.3 | 4 +- .../libcrypto/man/X509_STORE_CTX_get_error.3 | 4 +- .../man/X509_STORE_CTX_get_ex_new_index.3 | 4 +- secure/lib/libcrypto/man/X509_STORE_CTX_new.3 | 4 +- .../man/X509_STORE_CTX_set_verify_cb.3 | 4 +- .../man/X509_STORE_set_verify_cb_func.3 | 4 +- .../man/X509_VERIFY_PARAM_set_flags.3 | 4 +- secure/lib/libcrypto/man/X509_new.3 | 4 +- secure/lib/libcrypto/man/X509_verify_cert.3 | 4 +- secure/lib/libcrypto/man/bio.3 | 4 +- secure/lib/libcrypto/man/blowfish.3 | 4 +- secure/lib/libcrypto/man/bn.3 | 4 +- secure/lib/libcrypto/man/bn_internal.3 | 4 +- secure/lib/libcrypto/man/buffer.3 | 4 +- secure/lib/libcrypto/man/crypto.3 | 4 +- secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 | 4 +- secure/lib/libcrypto/man/d2i_DHparams.3 | 4 +- secure/lib/libcrypto/man/d2i_DSAPublicKey.3 | 4 +- .../lib/libcrypto/man/d2i_PKCS8PrivateKey.3 | 4 +- secure/lib/libcrypto/man/d2i_RSAPublicKey.3 | 4 +- secure/lib/libcrypto/man/d2i_X509.3 | 4 +- secure/lib/libcrypto/man/d2i_X509_ALGOR.3 | 4 +- secure/lib/libcrypto/man/d2i_X509_CRL.3 | 4 +- secure/lib/libcrypto/man/d2i_X509_NAME.3 | 4 +- secure/lib/libcrypto/man/d2i_X509_REQ.3 | 4 +- secure/lib/libcrypto/man/d2i_X509_SIG.3 | 4 +- secure/lib/libcrypto/man/des.3 | 4 +- secure/lib/libcrypto/man/des_modes.7 | 4 +- secure/lib/libcrypto/man/dh.3 | 4 +- secure/lib/libcrypto/man/dsa.3 | 4 +- secure/lib/libcrypto/man/ecdsa.3 | 4 +- secure/lib/libcrypto/man/engine.3 | 4 +- secure/lib/libcrypto/man/err.3 | 4 +- secure/lib/libcrypto/man/evp.3 | 4 +- secure/lib/libcrypto/man/hmac.3 | 4 +- secure/lib/libcrypto/man/i2d_CMS_bio_stream.3 | 4 +- .../lib/libcrypto/man/i2d_PKCS7_bio_stream.3 | 4 +- secure/lib/libcrypto/man/lh_stats.3 | 4 +- secure/lib/libcrypto/man/lhash.3 | 4 +- secure/lib/libcrypto/man/md5.3 | 4 +- secure/lib/libcrypto/man/mdc2.3 | 4 +- secure/lib/libcrypto/man/pem.3 | 4 +- secure/lib/libcrypto/man/rand.3 | 4 +- secure/lib/libcrypto/man/rc4.3 | 4 +- secure/lib/libcrypto/man/ripemd.3 | 4 +- secure/lib/libcrypto/man/rsa.3 | 4 +- secure/lib/libcrypto/man/sha.3 | 4 +- secure/lib/libcrypto/man/threads.3 | 4 +- secure/lib/libcrypto/man/ui.3 | 4 +- secure/lib/libcrypto/man/ui_compat.3 | 4 +- secure/lib/libcrypto/man/x509.3 | 4 +- secure/lib/libssl/Makefile | 2 +- secure/lib/libssl/man/SSL_CIPHER_get_name.3 | 4 +- .../man/SSL_COMP_add_compression_method.3 | 4 +- .../libssl/man/SSL_CTX_add_extra_chain_cert.3 | 4 +- secure/lib/libssl/man/SSL_CTX_add_session.3 | 4 +- secure/lib/libssl/man/SSL_CTX_ctrl.3 | 4 +- .../lib/libssl/man/SSL_CTX_flush_sessions.3 | 4 +- secure/lib/libssl/man/SSL_CTX_free.3 | 4 +- .../lib/libssl/man/SSL_CTX_get_ex_new_index.3 | 4 +- .../lib/libssl/man/SSL_CTX_get_verify_mode.3 | 4 +- .../man/SSL_CTX_load_verify_locations.3 | 4 +- secure/lib/libssl/man/SSL_CTX_new.3 | 4 +- secure/lib/libssl/man/SSL_CTX_sess_number.3 | 4 +- .../libssl/man/SSL_CTX_sess_set_cache_size.3 | 4 +- .../lib/libssl/man/SSL_CTX_sess_set_get_cb.3 | 4 +- secure/lib/libssl/man/SSL_CTX_sessions.3 | 4 +- .../lib/libssl/man/SSL_CTX_set_cert_store.3 | 4 +- .../man/SSL_CTX_set_cert_verify_callback.3 | 4 +- .../lib/libssl/man/SSL_CTX_set_cipher_list.3 | 4 +- .../libssl/man/SSL_CTX_set_client_CA_list.3 | 4 +- .../libssl/man/SSL_CTX_set_client_cert_cb.3 | 4 +- .../man/SSL_CTX_set_default_passwd_cb.3 | 4 +- .../man/SSL_CTX_set_generate_session_id.3 | 4 +- .../libssl/man/SSL_CTX_set_info_callback.3 | 4 +- .../libssl/man/SSL_CTX_set_max_cert_list.3 | 4 +- secure/lib/libssl/man/SSL_CTX_set_mode.3 | 4 +- .../lib/libssl/man/SSL_CTX_set_msg_callback.3 | 4 +- secure/lib/libssl/man/SSL_CTX_set_options.3 | 4 +- .../man/SSL_CTX_set_psk_client_callback.3 | 4 +- .../libssl/man/SSL_CTX_set_quiet_shutdown.3 | 4 +- .../man/SSL_CTX_set_session_cache_mode.3 | 4 +- .../man/SSL_CTX_set_session_id_context.3 | 4 +- .../lib/libssl/man/SSL_CTX_set_ssl_version.3 | 4 +- secure/lib/libssl/man/SSL_CTX_set_timeout.3 | 4 +- .../libssl/man/SSL_CTX_set_tmp_dh_callback.3 | 4 +- .../libssl/man/SSL_CTX_set_tmp_rsa_callback.3 | 4 +- secure/lib/libssl/man/SSL_CTX_set_verify.3 | 4 +- .../lib/libssl/man/SSL_CTX_use_certificate.3 | 4 +- .../man/SSL_CTX_use_psk_identity_hint.3 | 4 +- secure/lib/libssl/man/SSL_SESSION_free.3 | 4 +- .../libssl/man/SSL_SESSION_get_ex_new_index.3 | 4 +- secure/lib/libssl/man/SSL_SESSION_get_time.3 | 4 +- secure/lib/libssl/man/SSL_accept.3 | 4 +- secure/lib/libssl/man/SSL_alert_type_string.3 | 4 +- secure/lib/libssl/man/SSL_clear.3 | 4 +- secure/lib/libssl/man/SSL_connect.3 | 4 +- secure/lib/libssl/man/SSL_do_handshake.3 | 4 +- secure/lib/libssl/man/SSL_free.3 | 4 +- secure/lib/libssl/man/SSL_get_SSL_CTX.3 | 4 +- secure/lib/libssl/man/SSL_get_ciphers.3 | 4 +- .../lib/libssl/man/SSL_get_client_CA_list.3 | 4 +- .../lib/libssl/man/SSL_get_current_cipher.3 | 4 +- .../lib/libssl/man/SSL_get_default_timeout.3 | 4 +- secure/lib/libssl/man/SSL_get_error.3 | 4 +- .../man/SSL_get_ex_data_X509_STORE_CTX_idx.3 | 4 +- secure/lib/libssl/man/SSL_get_ex_new_index.3 | 4 +- secure/lib/libssl/man/SSL_get_fd.3 | 4 +- .../lib/libssl/man/SSL_get_peer_cert_chain.3 | 4 +- .../lib/libssl/man/SSL_get_peer_certificate.3 | 4 +- secure/lib/libssl/man/SSL_get_psk_identity.3 | 4 +- secure/lib/libssl/man/SSL_get_rbio.3 | 4 +- secure/lib/libssl/man/SSL_get_session.3 | 4 +- secure/lib/libssl/man/SSL_get_verify_result.3 | 4 +- secure/lib/libssl/man/SSL_get_version.3 | 4 +- secure/lib/libssl/man/SSL_library_init.3 | 4 +- .../lib/libssl/man/SSL_load_client_CA_file.3 | 4 +- secure/lib/libssl/man/SSL_new.3 | 4 +- secure/lib/libssl/man/SSL_pending.3 | 4 +- secure/lib/libssl/man/SSL_read.3 | 4 +- secure/lib/libssl/man/SSL_rstate_string.3 | 4 +- secure/lib/libssl/man/SSL_session_reused.3 | 4 +- secure/lib/libssl/man/SSL_set_bio.3 | 4 +- secure/lib/libssl/man/SSL_set_connect_state.3 | 4 +- secure/lib/libssl/man/SSL_set_fd.3 | 4 +- secure/lib/libssl/man/SSL_set_session.3 | 4 +- secure/lib/libssl/man/SSL_set_shutdown.3 | 4 +- secure/lib/libssl/man/SSL_set_verify_result.3 | 4 +- secure/lib/libssl/man/SSL_shutdown.3 | 4 +- secure/lib/libssl/man/SSL_state_string.3 | 4 +- secure/lib/libssl/man/SSL_want.3 | 4 +- secure/lib/libssl/man/SSL_write.3 | 4 +- secure/lib/libssl/man/d2i_SSL_SESSION.3 | 4 +- secure/lib/libssl/man/ssl.3 | 4 +- secure/usr.bin/openssl/man/CA.pl.1 | 12 ++-- secure/usr.bin/openssl/man/asn1parse.1 | 4 +- secure/usr.bin/openssl/man/ca.1 | 4 +- secure/usr.bin/openssl/man/ciphers.1 | 4 +- secure/usr.bin/openssl/man/cms.1 | 4 +- secure/usr.bin/openssl/man/config.5 | 4 +- secure/usr.bin/openssl/man/crl.1 | 4 +- secure/usr.bin/openssl/man/crl2pkcs7.1 | 4 +- secure/usr.bin/openssl/man/dgst.1 | 4 +- secure/usr.bin/openssl/man/dhparam.1 | 4 +- secure/usr.bin/openssl/man/dsa.1 | 4 +- secure/usr.bin/openssl/man/dsaparam.1 | 4 +- secure/usr.bin/openssl/man/ec.1 | 4 +- secure/usr.bin/openssl/man/ecparam.1 | 4 +- secure/usr.bin/openssl/man/enc.1 | 4 +- secure/usr.bin/openssl/man/errstr.1 | 4 +- secure/usr.bin/openssl/man/gendsa.1 | 4 +- secure/usr.bin/openssl/man/genpkey.1 | 4 +- secure/usr.bin/openssl/man/genrsa.1 | 4 +- secure/usr.bin/openssl/man/nseq.1 | 4 +- secure/usr.bin/openssl/man/ocsp.1 | 4 +- secure/usr.bin/openssl/man/openssl.1 | 4 +- secure/usr.bin/openssl/man/passwd.1 | 4 +- secure/usr.bin/openssl/man/pkcs12.1 | 4 +- secure/usr.bin/openssl/man/pkcs7.1 | 4 +- secure/usr.bin/openssl/man/pkcs8.1 | 4 +- secure/usr.bin/openssl/man/pkey.1 | 4 +- secure/usr.bin/openssl/man/pkeyparam.1 | 4 +- secure/usr.bin/openssl/man/pkeyutl.1 | 4 +- secure/usr.bin/openssl/man/rand.1 | 4 +- secure/usr.bin/openssl/man/req.1 | 4 +- secure/usr.bin/openssl/man/rsa.1 | 4 +- secure/usr.bin/openssl/man/rsautl.1 | 4 +- secure/usr.bin/openssl/man/s_client.1 | 4 +- secure/usr.bin/openssl/man/s_server.1 | 4 +- secure/usr.bin/openssl/man/s_time.1 | 4 +- secure/usr.bin/openssl/man/sess_id.1 | 4 +- secure/usr.bin/openssl/man/smime.1 | 4 +- secure/usr.bin/openssl/man/speed.1 | 4 +- secure/usr.bin/openssl/man/spkac.1 | 4 +- secure/usr.bin/openssl/man/ts.1 | 4 +- secure/usr.bin/openssl/man/tsget.1 | 4 +- secure/usr.bin/openssl/man/verify.1 | 63 ++++++++++--------- secure/usr.bin/openssl/man/version.1 | 4 +- secure/usr.bin/openssl/man/x509.1 | 8 ++- secure/usr.bin/openssl/man/x509v3_config.5 | 4 +- 340 files changed, 735 insertions(+), 728 deletions(-) rename secure/lib/libcrypto/man/{EVP_PKEY_verifyrecover.3 => EVP_PKEY_verify_recover.3} (86%) diff --git a/Makefile_upgrade.inc b/Makefile_upgrade.inc index 3a6d9aaaff..5c1cac0110 100644 --- a/Makefile_upgrade.inc +++ b/Makefile_upgrade.inc @@ -2125,6 +2125,8 @@ TO_REMOVE+=/usr/libexec/lint1 TO_REMOVE+=/usr/libexec/lint2 TO_REMOVE+=/usr/share/man/cat1/lint.1.gz TO_REMOVE+=/usr/share/man/man1/lint.1.gz +TO_REMOVE+=/usr/share/openssl/man/cat3/EVP_PKEY_verifyrecover.3.gz +TO_REMOVE+=/usr/share/openssl/man/man3/EVP_PKEY_verifyrecover.3.gz .if ${MACHINE_ARCH} == "x86_64" TO_REMOVE+=/usr/sbin/stlstats diff --git a/secure/lib/libcrypto/Makefile b/secure/lib/libcrypto/Makefile index 388dcce02a..300461baee 100644 --- a/secure/lib/libcrypto/Makefile +++ b/secure/lib/libcrypto/Makefile @@ -202,7 +202,7 @@ SRCS+= err.c err_all.c err_prn.c INCS+= err.h # evp -SRCS+= encode.c digest.c evp_enc.c evp_key.c evp_acnf.c \ +SRCS+= encode.c digest.c evp_enc.c evp_key.c evp_acnf.c evp_cnf.c \ e_des.c e_bf.c e_idea.c e_des3.c e_camellia.c\ e_rc4.c e_aes.c names.c e_seed.c \ e_xcbc_d.c e_rc2.c e_cast.c e_rc5.c \ diff --git a/secure/lib/libcrypto/Makefile.inc b/secure/lib/libcrypto/Makefile.inc index 91dbb5b050..0877f9def6 100644 --- a/secure/lib/libcrypto/Makefile.inc +++ b/secure/lib/libcrypto/Makefile.inc @@ -1,8 +1,8 @@ # $FreeBSD: src/secure/lib/libcrypto/Makefile.inc,v 1.7.2.11 2003/02/20 15:07:32 nectar Exp $ # $DragonFly: src/secure/lib/libcrypto/Makefile.inc,v 1.18 2008/09/27 21:04:45 pavalos Exp $ -OSSLVERSION= 1.0.1c -OSSLDATE= 2012-05-10 +OSSLVERSION= 1.0.1d +OSSLDATE= 2013-02-05 LCRYPTO_SRC= ${.CURDIR}/../../../crypto/openssl LCRYPTO_DOC= ${LCRYPTO_SRC}/doc diff --git a/secure/lib/libcrypto/Makefile.man b/secure/lib/libcrypto/Makefile.man index 7c49d9fbdc..5a8a07ef09 100644 --- a/secure/lib/libcrypto/Makefile.man +++ b/secure/lib/libcrypto/Makefile.man @@ -481,8 +481,8 @@ MAN+= EVP_PKEY_sign.3 MLINKS+= EVP_PKEY_sign.3 EVP_PKEY_sign_init.3 MAN+= EVP_PKEY_verify.3 MLINKS+= EVP_PKEY_verify.3 EVP_PKEY_verify_init.3 -MAN+= EVP_PKEY_verifyrecover.3 -MLINKS+= EVP_PKEY_verifyrecover.3 EVP_PKEY_verifyrecover_init.3 +MAN+= EVP_PKEY_verify_recover.3 +MLINKS+= EVP_PKEY_verify_recover.3 EVP_PKEY_verify_recover_init.3 MAN+= EVP_SealInit.3 MLINKS+= EVP_SealInit.3 EVP_SealUpdate.3 MLINKS+= EVP_SealInit.3 EVP_SealFinal.3 diff --git a/secure/lib/libcrypto/asm/sha512-586.s b/secure/lib/libcrypto/asm/sha512-586.s index 5b7bd41578..074e9040d6 100644 --- a/secure/lib/libcrypto/asm/sha512-586.s +++ b/secure/lib/libcrypto/asm/sha512-586.s @@ -832,4 +832,4 @@ sha512_block_data_order: .byte 67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97 .byte 112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103 .byte 62,0 -.comm OPENSSL_ia32cap_P,4,4 +.comm OPENSSL_ia32cap_P,8,4 diff --git a/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 b/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 index 8927c2e804..374c851f52 100644 --- a/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 +++ b/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_OBJECT_new 3" -.TH ASN1_OBJECT_new 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ASN1_OBJECT_new 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/ASN1_STRING_length.3 b/secure/lib/libcrypto/man/ASN1_STRING_length.3 index d3473e1d4e..02a43a34f6 100644 --- a/secure/lib/libcrypto/man/ASN1_STRING_length.3 +++ b/secure/lib/libcrypto/man/ASN1_STRING_length.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_STRING_length 3" -.TH ASN1_STRING_length 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ASN1_STRING_length 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/ASN1_STRING_new.3 b/secure/lib/libcrypto/man/ASN1_STRING_new.3 index f87dd61b98..1ee6fcedc5 100644 --- a/secure/lib/libcrypto/man/ASN1_STRING_new.3 +++ b/secure/lib/libcrypto/man/ASN1_STRING_new.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_STRING_new 3" -.TH ASN1_STRING_new 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ASN1_STRING_new 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 b/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 index 77bb33843f..14d7532505 100644 --- a/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 +++ b/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_STRING_print_ex 3" -.TH ASN1_STRING_print_ex 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ASN1_STRING_print_ex 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/ASN1_generate_nconf.3 b/secure/lib/libcrypto/man/ASN1_generate_nconf.3 index 9228488981..3cb564159b 100644 --- a/secure/lib/libcrypto/man/ASN1_generate_nconf.3 +++ b/secure/lib/libcrypto/man/ASN1_generate_nconf.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ASN1_generate_nconf 3" -.TH ASN1_generate_nconf 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ASN1_generate_nconf 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_ctrl.3 b/secure/lib/libcrypto/man/BIO_ctrl.3 index ce83d9506f..763b857302 100644 --- a/secure/lib/libcrypto/man/BIO_ctrl.3 +++ b/secure/lib/libcrypto/man/BIO_ctrl.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_ctrl 3" -.TH BIO_ctrl 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_ctrl 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_f_base64.3 b/secure/lib/libcrypto/man/BIO_f_base64.3 index 4955835fe6..f1f696da9b 100644 --- a/secure/lib/libcrypto/man/BIO_f_base64.3 +++ b/secure/lib/libcrypto/man/BIO_f_base64.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_f_base64 3" -.TH BIO_f_base64 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_f_base64 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_f_buffer.3 b/secure/lib/libcrypto/man/BIO_f_buffer.3 index 75bafb34bd..407ae114bb 100644 --- a/secure/lib/libcrypto/man/BIO_f_buffer.3 +++ b/secure/lib/libcrypto/man/BIO_f_buffer.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_f_buffer 3" -.TH BIO_f_buffer 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_f_buffer 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_f_cipher.3 b/secure/lib/libcrypto/man/BIO_f_cipher.3 index 7ece22db7b..ea0d52a758 100644 --- a/secure/lib/libcrypto/man/BIO_f_cipher.3 +++ b/secure/lib/libcrypto/man/BIO_f_cipher.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_f_cipher 3" -.TH BIO_f_cipher 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_f_cipher 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_f_md.3 b/secure/lib/libcrypto/man/BIO_f_md.3 index be403bf244..7c9c5af81e 100644 --- a/secure/lib/libcrypto/man/BIO_f_md.3 +++ b/secure/lib/libcrypto/man/BIO_f_md.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_f_md 3" -.TH BIO_f_md 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_f_md 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_f_null.3 b/secure/lib/libcrypto/man/BIO_f_null.3 index 5af45d4091..d8e81244cf 100644 --- a/secure/lib/libcrypto/man/BIO_f_null.3 +++ b/secure/lib/libcrypto/man/BIO_f_null.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_f_null 3" -.TH BIO_f_null 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_f_null 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_f_ssl.3 b/secure/lib/libcrypto/man/BIO_f_ssl.3 index e4fb1b68db..89a9010f5f 100644 --- a/secure/lib/libcrypto/man/BIO_f_ssl.3 +++ b/secure/lib/libcrypto/man/BIO_f_ssl.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_f_ssl 3" -.TH BIO_f_ssl 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_f_ssl 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_find_type.3 b/secure/lib/libcrypto/man/BIO_find_type.3 index dc138c14e8..427b7f794f 100644 --- a/secure/lib/libcrypto/man/BIO_find_type.3 +++ b/secure/lib/libcrypto/man/BIO_find_type.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_find_type 3" -.TH BIO_find_type 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_find_type 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_new.3 b/secure/lib/libcrypto/man/BIO_new.3 index 30e79c3c80..d9d90405cb 100644 --- a/secure/lib/libcrypto/man/BIO_new.3 +++ b/secure/lib/libcrypto/man/BIO_new.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_new 3" -.TH BIO_new 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_new 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_new_CMS.3 b/secure/lib/libcrypto/man/BIO_new_CMS.3 index 3ef21c34d2..5b8b7c0c28 100644 --- a/secure/lib/libcrypto/man/BIO_new_CMS.3 +++ b/secure/lib/libcrypto/man/BIO_new_CMS.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_new_CMS 3" -.TH BIO_new_CMS 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_new_CMS 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_push.3 b/secure/lib/libcrypto/man/BIO_push.3 index 1c6bee50af..9d021dfd16 100644 --- a/secure/lib/libcrypto/man/BIO_push.3 +++ b/secure/lib/libcrypto/man/BIO_push.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_push 3" -.TH BIO_push 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_push 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_read.3 b/secure/lib/libcrypto/man/BIO_read.3 index e1c6c4dcab..35f353e3bc 100644 --- a/secure/lib/libcrypto/man/BIO_read.3 +++ b/secure/lib/libcrypto/man/BIO_read.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_read 3" -.TH BIO_read 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_read 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_s_accept.3 b/secure/lib/libcrypto/man/BIO_s_accept.3 index 054d25fe2d..97fa3df872 100644 --- a/secure/lib/libcrypto/man/BIO_s_accept.3 +++ b/secure/lib/libcrypto/man/BIO_s_accept.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_s_accept 3" -.TH BIO_s_accept 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_s_accept 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_s_bio.3 b/secure/lib/libcrypto/man/BIO_s_bio.3 index f718b2a01e..e65ac84892 100644 --- a/secure/lib/libcrypto/man/BIO_s_bio.3 +++ b/secure/lib/libcrypto/man/BIO_s_bio.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_s_bio 3" -.TH BIO_s_bio 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_s_bio 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_s_connect.3 b/secure/lib/libcrypto/man/BIO_s_connect.3 index 8fd12ac32c..6fc802cb8a 100644 --- a/secure/lib/libcrypto/man/BIO_s_connect.3 +++ b/secure/lib/libcrypto/man/BIO_s_connect.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_s_connect 3" -.TH BIO_s_connect 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_s_connect 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_s_fd.3 b/secure/lib/libcrypto/man/BIO_s_fd.3 index 760aa3ab30..7f55719f74 100644 --- a/secure/lib/libcrypto/man/BIO_s_fd.3 +++ b/secure/lib/libcrypto/man/BIO_s_fd.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_s_fd 3" -.TH BIO_s_fd 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_s_fd 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_s_file.3 b/secure/lib/libcrypto/man/BIO_s_file.3 index bbec9603fd..782c74a914 100644 --- a/secure/lib/libcrypto/man/BIO_s_file.3 +++ b/secure/lib/libcrypto/man/BIO_s_file.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_s_file 3" -.TH BIO_s_file 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_s_file 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_s_mem.3 b/secure/lib/libcrypto/man/BIO_s_mem.3 index 3f7bd6e9b3..c8ac92c2cc 100644 --- a/secure/lib/libcrypto/man/BIO_s_mem.3 +++ b/secure/lib/libcrypto/man/BIO_s_mem.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_s_mem 3" -.TH BIO_s_mem 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_s_mem 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_s_null.3 b/secure/lib/libcrypto/man/BIO_s_null.3 index eec2368e03..6264f1d7ff 100644 --- a/secure/lib/libcrypto/man/BIO_s_null.3 +++ b/secure/lib/libcrypto/man/BIO_s_null.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_s_null 3" -.TH BIO_s_null 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_s_null 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_s_socket.3 b/secure/lib/libcrypto/man/BIO_s_socket.3 index 3e0b2fdeb4..989ed7adeb 100644 --- a/secure/lib/libcrypto/man/BIO_s_socket.3 +++ b/secure/lib/libcrypto/man/BIO_s_socket.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_s_socket 3" -.TH BIO_s_socket 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_s_socket 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_set_callback.3 b/secure/lib/libcrypto/man/BIO_set_callback.3 index 328141f96e..af67966b25 100644 --- a/secure/lib/libcrypto/man/BIO_set_callback.3 +++ b/secure/lib/libcrypto/man/BIO_set_callback.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_set_callback 3" -.TH BIO_set_callback 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_set_callback 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BIO_should_retry.3 b/secure/lib/libcrypto/man/BIO_should_retry.3 index 635f2e04ad..05cdfe6c6e 100644 --- a/secure/lib/libcrypto/man/BIO_should_retry.3 +++ b/secure/lib/libcrypto/man/BIO_should_retry.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BIO_should_retry 3" -.TH BIO_should_retry 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BIO_should_retry 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BN_BLINDING_new.3 b/secure/lib/libcrypto/man/BN_BLINDING_new.3 index 397436c07a..e4f8811a11 100644 --- a/secure/lib/libcrypto/man/BN_BLINDING_new.3 +++ b/secure/lib/libcrypto/man/BN_BLINDING_new.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_BLINDING_new 3" -.TH BN_BLINDING_new 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BN_BLINDING_new 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BN_CTX_new.3 b/secure/lib/libcrypto/man/BN_CTX_new.3 index 2089dffd28..5e13a948f4 100644 --- a/secure/lib/libcrypto/man/BN_CTX_new.3 +++ b/secure/lib/libcrypto/man/BN_CTX_new.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_CTX_new 3" -.TH BN_CTX_new 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BN_CTX_new 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BN_CTX_start.3 b/secure/lib/libcrypto/man/BN_CTX_start.3 index 17b9addcc9..d5d9f65661 100644 --- a/secure/lib/libcrypto/man/BN_CTX_start.3 +++ b/secure/lib/libcrypto/man/BN_CTX_start.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_CTX_start 3" -.TH BN_CTX_start 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BN_CTX_start 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BN_add.3 b/secure/lib/libcrypto/man/BN_add.3 index 2cbaa03550..091a5f6746 100644 --- a/secure/lib/libcrypto/man/BN_add.3 +++ b/secure/lib/libcrypto/man/BN_add.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_add 3" -.TH BN_add 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BN_add 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BN_add_word.3 b/secure/lib/libcrypto/man/BN_add_word.3 index 6286c9022f..fd47bec8db 100644 --- a/secure/lib/libcrypto/man/BN_add_word.3 +++ b/secure/lib/libcrypto/man/BN_add_word.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_add_word 3" -.TH BN_add_word 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BN_add_word 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BN_bn2bin.3 b/secure/lib/libcrypto/man/BN_bn2bin.3 index ac20818738..0f53e238f2 100644 --- a/secure/lib/libcrypto/man/BN_bn2bin.3 +++ b/secure/lib/libcrypto/man/BN_bn2bin.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_bn2bin 3" -.TH BN_bn2bin 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BN_bn2bin 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BN_cmp.3 b/secure/lib/libcrypto/man/BN_cmp.3 index 85bf1b4bf2..c57a2733ff 100644 --- a/secure/lib/libcrypto/man/BN_cmp.3 +++ b/secure/lib/libcrypto/man/BN_cmp.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_cmp 3" -.TH BN_cmp 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BN_cmp 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BN_copy.3 b/secure/lib/libcrypto/man/BN_copy.3 index c763706b32..324e320fd7 100644 --- a/secure/lib/libcrypto/man/BN_copy.3 +++ b/secure/lib/libcrypto/man/BN_copy.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_copy 3" -.TH BN_copy 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BN_copy 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BN_generate_prime.3 b/secure/lib/libcrypto/man/BN_generate_prime.3 index 0c4a696e1b..9400a325c1 100644 --- a/secure/lib/libcrypto/man/BN_generate_prime.3 +++ b/secure/lib/libcrypto/man/BN_generate_prime.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_generate_prime 3" -.TH BN_generate_prime 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BN_generate_prime 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BN_mod_inverse.3 b/secure/lib/libcrypto/man/BN_mod_inverse.3 index 8562bb2299..b7f5fd8a0b 100644 --- a/secure/lib/libcrypto/man/BN_mod_inverse.3 +++ b/secure/lib/libcrypto/man/BN_mod_inverse.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_mod_inverse 3" -.TH BN_mod_inverse 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BN_mod_inverse 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 b/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 index 223b5afd3e..9573303dcf 100644 --- a/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 +++ b/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_mod_mul_montgomery 3" -.TH BN_mod_mul_montgomery 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BN_mod_mul_montgomery 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 b/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 index c929e3a0d1..450b01727e 100644 --- a/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 +++ b/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_mod_mul_reciprocal 3" -.TH BN_mod_mul_reciprocal 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BN_mod_mul_reciprocal 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BN_new.3 b/secure/lib/libcrypto/man/BN_new.3 index b6cee318a2..de18546e80 100644 --- a/secure/lib/libcrypto/man/BN_new.3 +++ b/secure/lib/libcrypto/man/BN_new.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_new 3" -.TH BN_new 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BN_new 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BN_num_bytes.3 b/secure/lib/libcrypto/man/BN_num_bytes.3 index 5fa3dd4fcd..027ae0889b 100644 --- a/secure/lib/libcrypto/man/BN_num_bytes.3 +++ b/secure/lib/libcrypto/man/BN_num_bytes.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_num_bytes 3" -.TH BN_num_bytes 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BN_num_bytes 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BN_rand.3 b/secure/lib/libcrypto/man/BN_rand.3 index efdb10e0a3..a9e248fd5d 100644 --- a/secure/lib/libcrypto/man/BN_rand.3 +++ b/secure/lib/libcrypto/man/BN_rand.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_rand 3" -.TH BN_rand 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BN_rand 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BN_set_bit.3 b/secure/lib/libcrypto/man/BN_set_bit.3 index c0d81d5b74..27bc69c4d3 100644 --- a/secure/lib/libcrypto/man/BN_set_bit.3 +++ b/secure/lib/libcrypto/man/BN_set_bit.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_set_bit 3" -.TH BN_set_bit 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BN_set_bit 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BN_swap.3 b/secure/lib/libcrypto/man/BN_swap.3 index 14afaa1b6f..4fc96943bd 100644 --- a/secure/lib/libcrypto/man/BN_swap.3 +++ b/secure/lib/libcrypto/man/BN_swap.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_swap 3" -.TH BN_swap 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BN_swap 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/BN_zero.3 b/secure/lib/libcrypto/man/BN_zero.3 index eb11cae1e9..bcf286d52f 100644 --- a/secure/lib/libcrypto/man/BN_zero.3 +++ b/secure/lib/libcrypto/man/BN_zero.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BN_zero 3" -.TH BN_zero 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH BN_zero 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/CMS_add0_cert.3 b/secure/lib/libcrypto/man/CMS_add0_cert.3 index 104caa9053..2188d15c67 100644 --- a/secure/lib/libcrypto/man/CMS_add0_cert.3 +++ b/secure/lib/libcrypto/man/CMS_add0_cert.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_add0_cert 3" -.TH CMS_add0_cert 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CMS_add0_cert 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 b/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 index 5ff8350320..fbdddd61b8 100644 --- a/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 +++ b/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_add1_recipient_cert 3" -.TH CMS_add1_recipient_cert 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CMS_add1_recipient_cert 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/CMS_compress.3 b/secure/lib/libcrypto/man/CMS_compress.3 index 22ec3f4cd0..b1c7a6e5c3 100644 --- a/secure/lib/libcrypto/man/CMS_compress.3 +++ b/secure/lib/libcrypto/man/CMS_compress.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_compress 3" -.TH CMS_compress 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CMS_compress 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/CMS_decrypt.3 b/secure/lib/libcrypto/man/CMS_decrypt.3 index 3cee45e78a..8f13ac465b 100644 --- a/secure/lib/libcrypto/man/CMS_decrypt.3 +++ b/secure/lib/libcrypto/man/CMS_decrypt.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_decrypt 3" -.TH CMS_decrypt 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CMS_decrypt 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/CMS_encrypt.3 b/secure/lib/libcrypto/man/CMS_encrypt.3 index 303fbcb28c..58aace9cd2 100644 --- a/secure/lib/libcrypto/man/CMS_encrypt.3 +++ b/secure/lib/libcrypto/man/CMS_encrypt.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_encrypt 3" -.TH CMS_encrypt 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CMS_encrypt 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/CMS_final.3 b/secure/lib/libcrypto/man/CMS_final.3 index 80f6ed3238..b46eed59d6 100644 --- a/secure/lib/libcrypto/man/CMS_final.3 +++ b/secure/lib/libcrypto/man/CMS_final.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_final 3" -.TH CMS_final 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CMS_final 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 b/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 index fbe690dad9..3ade3f6f54 100644 --- a/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 +++ b/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_get0_RecipientInfos 3" -.TH CMS_get0_RecipientInfos 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CMS_get0_RecipientInfos 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 b/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 index 90887cecc7..760744f577 100644 --- a/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 +++ b/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_get0_SignerInfos 3" -.TH CMS_get0_SignerInfos 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CMS_get0_SignerInfos 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/CMS_get0_type.3 b/secure/lib/libcrypto/man/CMS_get0_type.3 index cae44b5a84..b0291f4188 100644 --- a/secure/lib/libcrypto/man/CMS_get0_type.3 +++ b/secure/lib/libcrypto/man/CMS_get0_type.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_get0_type 3" -.TH CMS_get0_type 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CMS_get0_type 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 b/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 index 5d9623f04b..6360d63167 100644 --- a/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 +++ b/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_get1_ReceiptRequest 3" -.TH CMS_get1_ReceiptRequest 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CMS_get1_ReceiptRequest 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/CMS_sign.3 b/secure/lib/libcrypto/man/CMS_sign.3 index 2bd8d49059..5fcd2938d3 100644 --- a/secure/lib/libcrypto/man/CMS_sign.3 +++ b/secure/lib/libcrypto/man/CMS_sign.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_sign 3" -.TH CMS_sign 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CMS_sign 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/CMS_sign_add1_signer.3 b/secure/lib/libcrypto/man/CMS_sign_add1_signer.3 index e33dffeff6..ac2810c7de 100644 --- a/secure/lib/libcrypto/man/CMS_sign_add1_signer.3 +++ b/secure/lib/libcrypto/man/CMS_sign_add1_signer.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_sign_add1_signer 3" -.TH CMS_sign_add1_signer 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CMS_sign_add1_signer 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/CMS_sign_receipt.3 b/secure/lib/libcrypto/man/CMS_sign_receipt.3 index c067bae8ce..4b3062293d 100644 --- a/secure/lib/libcrypto/man/CMS_sign_receipt.3 +++ b/secure/lib/libcrypto/man/CMS_sign_receipt.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_sign_receipt 3" -.TH CMS_sign_receipt 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CMS_sign_receipt 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/CMS_uncompress.3 b/secure/lib/libcrypto/man/CMS_uncompress.3 index 1bd6d29a8f..0756f613c0 100644 --- a/secure/lib/libcrypto/man/CMS_uncompress.3 +++ b/secure/lib/libcrypto/man/CMS_uncompress.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_uncompress 3" -.TH CMS_uncompress 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CMS_uncompress 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/CMS_verify.3 b/secure/lib/libcrypto/man/CMS_verify.3 index 7fdc909bb5..bcda83d71b 100644 --- a/secure/lib/libcrypto/man/CMS_verify.3 +++ b/secure/lib/libcrypto/man/CMS_verify.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_verify 3" -.TH CMS_verify 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CMS_verify 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/CMS_verify_receipt.3 b/secure/lib/libcrypto/man/CMS_verify_receipt.3 index d218d55620..c422e9a352 100644 --- a/secure/lib/libcrypto/man/CMS_verify_receipt.3 +++ b/secure/lib/libcrypto/man/CMS_verify_receipt.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS_verify_receipt 3" -.TH CMS_verify_receipt 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CMS_verify_receipt 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/CONF_modules_free.3 b/secure/lib/libcrypto/man/CONF_modules_free.3 index 2f3a50ea20..7b8df996cc 100644 --- a/secure/lib/libcrypto/man/CONF_modules_free.3 +++ b/secure/lib/libcrypto/man/CONF_modules_free.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CONF_modules_free 3" -.TH CONF_modules_free 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CONF_modules_free 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/CONF_modules_load_file.3 b/secure/lib/libcrypto/man/CONF_modules_load_file.3 index 8b8ec1f959..45006aeeda 100644 --- a/secure/lib/libcrypto/man/CONF_modules_load_file.3 +++ b/secure/lib/libcrypto/man/CONF_modules_load_file.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CONF_modules_load_file 3" -.TH CONF_modules_load_file 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CONF_modules_load_file 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 b/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 index 7a7d7fc27f..569c6f5847 100644 --- a/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 +++ b/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CRYPTO_set_ex_data 3" -.TH CRYPTO_set_ex_data 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CRYPTO_set_ex_data 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/DH_generate_key.3 b/secure/lib/libcrypto/man/DH_generate_key.3 index 61c4718932..fd37712b57 100644 --- a/secure/lib/libcrypto/man/DH_generate_key.3 +++ b/secure/lib/libcrypto/man/DH_generate_key.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DH_generate_key 3" -.TH DH_generate_key 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH DH_generate_key 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/DH_generate_parameters.3 b/secure/lib/libcrypto/man/DH_generate_parameters.3 index f168aebbe6..e1374deadf 100644 --- a/secure/lib/libcrypto/man/DH_generate_parameters.3 +++ b/secure/lib/libcrypto/man/DH_generate_parameters.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DH_generate_parameters 3" -.TH DH_generate_parameters 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH DH_generate_parameters 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/DH_get_ex_new_index.3 b/secure/lib/libcrypto/man/DH_get_ex_new_index.3 index 7496edd620..651ecf1429 100644 --- a/secure/lib/libcrypto/man/DH_get_ex_new_index.3 +++ b/secure/lib/libcrypto/man/DH_get_ex_new_index.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DH_get_ex_new_index 3" -.TH DH_get_ex_new_index 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH DH_get_ex_new_index 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/DH_new.3 b/secure/lib/libcrypto/man/DH_new.3 index f13602a8f3..d35a1525ca 100644 --- a/secure/lib/libcrypto/man/DH_new.3 +++ b/secure/lib/libcrypto/man/DH_new.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DH_new 3" -.TH DH_new 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH DH_new 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/DH_set_method.3 b/secure/lib/libcrypto/man/DH_set_method.3 index a283cb2889..0b867c1196 100644 --- a/secure/lib/libcrypto/man/DH_set_method.3 +++ b/secure/lib/libcrypto/man/DH_set_method.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DH_set_method 3" -.TH DH_set_method 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH DH_set_method 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/DH_size.3 b/secure/lib/libcrypto/man/DH_size.3 index 84f951347c..694021a876 100644 --- a/secure/lib/libcrypto/man/DH_size.3 +++ b/secure/lib/libcrypto/man/DH_size.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DH_size 3" -.TH DH_size 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH DH_size 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/DSA_SIG_new.3 b/secure/lib/libcrypto/man/DSA_SIG_new.3 index 001010f985..2c6a793ae0 100644 --- a/secure/lib/libcrypto/man/DSA_SIG_new.3 +++ b/secure/lib/libcrypto/man/DSA_SIG_new.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DSA_SIG_new 3" -.TH DSA_SIG_new 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH DSA_SIG_new 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/DSA_do_sign.3 b/secure/lib/libcrypto/man/DSA_do_sign.3 index ed3030bc36..d11b2b4351 100644 --- a/secure/lib/libcrypto/man/DSA_do_sign.3 +++ b/secure/lib/libcrypto/man/DSA_do_sign.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DSA_do_sign 3" -.TH DSA_do_sign 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH DSA_do_sign 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/DSA_dup_DH.3 b/secure/lib/libcrypto/man/DSA_dup_DH.3 index 582d926491..465adb88f9 100644 --- a/secure/lib/libcrypto/man/DSA_dup_DH.3 +++ b/secure/lib/libcrypto/man/DSA_dup_DH.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DSA_dup_DH 3" -.TH DSA_dup_DH 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH DSA_dup_DH 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/DSA_generate_key.3 b/secure/lib/libcrypto/man/DSA_generate_key.3 index e016bda5c4..7db1f15e1e 100644 --- a/secure/lib/libcrypto/man/DSA_generate_key.3 +++ b/secure/lib/libcrypto/man/DSA_generate_key.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DSA_generate_key 3" -.TH DSA_generate_key 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH DSA_generate_key 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/DSA_generate_parameters.3 b/secure/lib/libcrypto/man/DSA_generate_parameters.3 index 68d2a12f5c..5b49a9bc94 100644 --- a/secure/lib/libcrypto/man/DSA_generate_parameters.3 +++ b/secure/lib/libcrypto/man/DSA_generate_parameters.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DSA_generate_parameters 3" -.TH DSA_generate_parameters 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH DSA_generate_parameters 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 b/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 index 6b48be48a4..02c24c022e 100644 --- a/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 +++ b/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DSA_get_ex_new_index 3" -.TH DSA_get_ex_new_index 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH DSA_get_ex_new_index 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/DSA_new.3 b/secure/lib/libcrypto/man/DSA_new.3 index 0ba7f30773..5819a8c610 100644 --- a/secure/lib/libcrypto/man/DSA_new.3 +++ b/secure/lib/libcrypto/man/DSA_new.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DSA_new 3" -.TH DSA_new 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH DSA_new 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/DSA_set_method.3 b/secure/lib/libcrypto/man/DSA_set_method.3 index 7b378ee85a..980ec21115 100644 --- a/secure/lib/libcrypto/man/DSA_set_method.3 +++ b/secure/lib/libcrypto/man/DSA_set_method.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DSA_set_method 3" -.TH DSA_set_method 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH DSA_set_method 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/DSA_sign.3 b/secure/lib/libcrypto/man/DSA_sign.3 index 21fe9c758b..4f75343290 100644 --- a/secure/lib/libcrypto/man/DSA_sign.3 +++ b/secure/lib/libcrypto/man/DSA_sign.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DSA_sign 3" -.TH DSA_sign 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH DSA_sign 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/DSA_size.3 b/secure/lib/libcrypto/man/DSA_size.3 index b8c6dfa334..4c26a264dc 100644 --- a/secure/lib/libcrypto/man/DSA_size.3 +++ b/secure/lib/libcrypto/man/DSA_size.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DSA_size 3" -.TH DSA_size 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH DSA_size 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/ERR_GET_LIB.3 b/secure/lib/libcrypto/man/ERR_GET_LIB.3 index 4663f3930a..4fc28c16ad 100644 --- a/secure/lib/libcrypto/man/ERR_GET_LIB.3 +++ b/secure/lib/libcrypto/man/ERR_GET_LIB.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ERR_GET_LIB 3" -.TH ERR_GET_LIB 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ERR_GET_LIB 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/ERR_clear_error.3 b/secure/lib/libcrypto/man/ERR_clear_error.3 index f78d6bdb8a..8b5ec07e42 100644 --- a/secure/lib/libcrypto/man/ERR_clear_error.3 +++ b/secure/lib/libcrypto/man/ERR_clear_error.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ERR_clear_error 3" -.TH ERR_clear_error 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ERR_clear_error 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/ERR_error_string.3 b/secure/lib/libcrypto/man/ERR_error_string.3 index 1af04b7d95..91731ace4f 100644 --- a/secure/lib/libcrypto/man/ERR_error_string.3 +++ b/secure/lib/libcrypto/man/ERR_error_string.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ERR_error_string 3" -.TH ERR_error_string 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ERR_error_string 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/ERR_get_error.3 b/secure/lib/libcrypto/man/ERR_get_error.3 index 3d4a1a3b87..571922ee98 100644 --- a/secure/lib/libcrypto/man/ERR_get_error.3 +++ b/secure/lib/libcrypto/man/ERR_get_error.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ERR_get_error 3" -.TH ERR_get_error 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ERR_get_error 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 b/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 index c188ccd3dc..ba6dfce610 100644 --- a/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 +++ b/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ERR_load_crypto_strings 3" -.TH ERR_load_crypto_strings 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ERR_load_crypto_strings 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/ERR_load_strings.3 b/secure/lib/libcrypto/man/ERR_load_strings.3 index 5358e4e6df..4eda89a319 100644 --- a/secure/lib/libcrypto/man/ERR_load_strings.3 +++ b/secure/lib/libcrypto/man/ERR_load_strings.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ERR_load_strings 3" -.TH ERR_load_strings 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ERR_load_strings 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/ERR_print_errors.3 b/secure/lib/libcrypto/man/ERR_print_errors.3 index ddd3756aae..cfd8ea338b 100644 --- a/secure/lib/libcrypto/man/ERR_print_errors.3 +++ b/secure/lib/libcrypto/man/ERR_print_errors.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ERR_print_errors 3" -.TH ERR_print_errors 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ERR_print_errors 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/ERR_put_error.3 b/secure/lib/libcrypto/man/ERR_put_error.3 index f6576bfc99..c23d649140 100644 --- a/secure/lib/libcrypto/man/ERR_put_error.3 +++ b/secure/lib/libcrypto/man/ERR_put_error.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ERR_put_error 3" -.TH ERR_put_error 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ERR_put_error 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/ERR_remove_state.3 b/secure/lib/libcrypto/man/ERR_remove_state.3 index 563730efc0..06e28ad1cf 100644 --- a/secure/lib/libcrypto/man/ERR_remove_state.3 +++ b/secure/lib/libcrypto/man/ERR_remove_state.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ERR_remove_state 3" -.TH ERR_remove_state 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ERR_remove_state 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/ERR_set_mark.3 b/secure/lib/libcrypto/man/ERR_set_mark.3 index 189613ca36..0466204519 100644 --- a/secure/lib/libcrypto/man/ERR_set_mark.3 +++ b/secure/lib/libcrypto/man/ERR_set_mark.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ERR_set_mark 3" -.TH ERR_set_mark 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ERR_set_mark 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/EVP_BytesToKey.3 b/secure/lib/libcrypto/man/EVP_BytesToKey.3 index 506e637b50..7a5eb7cf50 100644 --- a/secure/lib/libcrypto/man/EVP_BytesToKey.3 +++ b/secure/lib/libcrypto/man/EVP_BytesToKey.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_BytesToKey 3" -.TH EVP_BytesToKey 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_BytesToKey 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/EVP_DigestInit.3 b/secure/lib/libcrypto/man/EVP_DigestInit.3 index 0b56c3857b..7d09ba8a7f 100644 --- a/secure/lib/libcrypto/man/EVP_DigestInit.3 +++ b/secure/lib/libcrypto/man/EVP_DigestInit.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_DigestInit 3" -.TH EVP_DigestInit 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_DigestInit 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/EVP_DigestSignInit.3 b/secure/lib/libcrypto/man/EVP_DigestSignInit.3 index 17ecad1c58..729db5383e 100644 --- a/secure/lib/libcrypto/man/EVP_DigestSignInit.3 +++ b/secure/lib/libcrypto/man/EVP_DigestSignInit.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_DigestSignInit 3" -.TH EVP_DigestSignInit 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_DigestSignInit 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/EVP_DigestVerifyInit.3 b/secure/lib/libcrypto/man/EVP_DigestVerifyInit.3 index 66aa5c5e66..6efcbcac61 100644 --- a/secure/lib/libcrypto/man/EVP_DigestVerifyInit.3 +++ b/secure/lib/libcrypto/man/EVP_DigestVerifyInit.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_DigestVerifyInit 3" -.TH EVP_DigestVerifyInit 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_DigestVerifyInit 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/EVP_EncryptInit.3 b/secure/lib/libcrypto/man/EVP_EncryptInit.3 index dfa3d408eb..f10fe212f3 100644 --- a/secure/lib/libcrypto/man/EVP_EncryptInit.3 +++ b/secure/lib/libcrypto/man/EVP_EncryptInit.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_EncryptInit 3" -.TH EVP_EncryptInit 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_EncryptInit 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/EVP_OpenInit.3 b/secure/lib/libcrypto/man/EVP_OpenInit.3 index 511fdfe8b3..95759ef8f3 100644 --- a/secure/lib/libcrypto/man/EVP_OpenInit.3 +++ b/secure/lib/libcrypto/man/EVP_OpenInit.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_OpenInit 3" -.TH EVP_OpenInit 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_OpenInit 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 b/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 index ac6265e6e3..4349934a50 100644 --- a/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 +++ b/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_CTX_ctrl 3" -.TH EVP_PKEY_CTX_ctrl 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_PKEY_CTX_ctrl 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -243,7 +243,7 @@ indicates the operation is not supported by the public key algorithm. \&\fIEVP_PKEY_decrypt\fR\|(3), \&\fIEVP_PKEY_sign\fR\|(3), \&\fIEVP_PKEY_verify\fR\|(3), -\&\fIEVP_PKEY_verifyrecover\fR\|(3), +\&\fIEVP_PKEY_verify_recover\fR\|(3), \&\fIEVP_PKEY_derive\fR\|(3) \&\fIEVP_PKEY_keygen\fR\|(3) .SH "HISTORY" diff --git a/secure/lib/libcrypto/man/EVP_PKEY_CTX_new.3 b/secure/lib/libcrypto/man/EVP_PKEY_CTX_new.3 index 47ea66ef0f..060e42a4a3 100644 --- a/secure/lib/libcrypto/man/EVP_PKEY_CTX_new.3 +++ b/secure/lib/libcrypto/man/EVP_PKEY_CTX_new.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_CTX_new 3" -.TH EVP_PKEY_CTX_new 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_PKEY_CTX_new 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/EVP_PKEY_cmp.3 b/secure/lib/libcrypto/man/EVP_PKEY_cmp.3 index 83251eab93..3a6ced6f70 100644 --- a/secure/lib/libcrypto/man/EVP_PKEY_cmp.3 +++ b/secure/lib/libcrypto/man/EVP_PKEY_cmp.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_cmp 3" -.TH EVP_PKEY_cmp 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_PKEY_cmp 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/EVP_PKEY_decrypt.3 b/secure/lib/libcrypto/man/EVP_PKEY_decrypt.3 index 2d7e570338..523e1ef181 100644 --- a/secure/lib/libcrypto/man/EVP_PKEY_decrypt.3 +++ b/secure/lib/libcrypto/man/EVP_PKEY_decrypt.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_decrypt 3" -.TH EVP_PKEY_decrypt 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_PKEY_decrypt 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -209,7 +209,7 @@ Decrypt data using \s-1OAEP\s0 (for \s-1RSA\s0 keys): \&\fIEVP_PKEY_encrypt\fR\|(3), \&\fIEVP_PKEY_sign\fR\|(3), \&\fIEVP_PKEY_verify\fR\|(3), -\&\fIEVP_PKEY_verifyrecover\fR\|(3), +\&\fIEVP_PKEY_verify_recover\fR\|(3), \&\fIEVP_PKEY_derive\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" diff --git a/secure/lib/libcrypto/man/EVP_PKEY_derive.3 b/secure/lib/libcrypto/man/EVP_PKEY_derive.3 index 7cff3482b4..04fe9a0635 100644 --- a/secure/lib/libcrypto/man/EVP_PKEY_derive.3 +++ b/secure/lib/libcrypto/man/EVP_PKEY_derive.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_derive 3" -.TH EVP_PKEY_derive 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_PKEY_derive 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -210,7 +210,7 @@ Derive shared secret (for example \s-1DH\s0 or \s-1EC\s0 keys): \&\fIEVP_PKEY_decrypt\fR\|(3), \&\fIEVP_PKEY_sign\fR\|(3), \&\fIEVP_PKEY_verify\fR\|(3), -\&\fIEVP_PKEY_verifyrecover\fR\|(3), +\&\fIEVP_PKEY_verify_recover\fR\|(3), .SH "HISTORY" .IX Header "HISTORY" These functions were first added to OpenSSL 1.0.0. diff --git a/secure/lib/libcrypto/man/EVP_PKEY_encrypt.3 b/secure/lib/libcrypto/man/EVP_PKEY_encrypt.3 index 63c9591f53..f77ef24797 100644 --- a/secure/lib/libcrypto/man/EVP_PKEY_encrypt.3 +++ b/secure/lib/libcrypto/man/EVP_PKEY_encrypt.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_encrypt 3" -.TH EVP_PKEY_encrypt 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_PKEY_encrypt 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -209,7 +209,7 @@ Encrypt data using \s-1OAEP\s0 (for \s-1RSA\s0 keys): \&\fIEVP_PKEY_decrypt\fR\|(3), \&\fIEVP_PKEY_sign\fR\|(3), \&\fIEVP_PKEY_verify\fR\|(3), -\&\fIEVP_PKEY_verifyrecover\fR\|(3), +\&\fIEVP_PKEY_verify_recover\fR\|(3), \&\fIEVP_PKEY_derive\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" diff --git a/secure/lib/libcrypto/man/EVP_PKEY_get_default_digest.3 b/secure/lib/libcrypto/man/EVP_PKEY_get_default_digest.3 index eaf3f1a1ff..fe7f1a18b5 100644 --- a/secure/lib/libcrypto/man/EVP_PKEY_get_default_digest.3 +++ b/secure/lib/libcrypto/man/EVP_PKEY_get_default_digest.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_get_default_digest 3" -.TH EVP_PKEY_get_default_digest 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_PKEY_get_default_digest 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -157,7 +157,7 @@ public key algorithm. \&\fIEVP_PKEY_CTX_new\fR\|(3), \&\fIEVP_PKEY_sign\fR\|(3), \&\fIEVP_PKEY_verify\fR\|(3), -\&\fIEVP_PKEY_verifyrecover\fR\|(3), +\&\fIEVP_PKEY_verify_recover\fR\|(3), .SH "HISTORY" .IX Header "HISTORY" This function was first added to OpenSSL 1.0.0. diff --git a/secure/lib/libcrypto/man/EVP_PKEY_keygen.3 b/secure/lib/libcrypto/man/EVP_PKEY_keygen.3 index b3be53719e..7cbba9080b 100644 --- a/secure/lib/libcrypto/man/EVP_PKEY_keygen.3 +++ b/secure/lib/libcrypto/man/EVP_PKEY_keygen.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_keygen 3" -.TH EVP_PKEY_keygen 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_PKEY_keygen 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -281,7 +281,7 @@ Example of generation callback for OpenSSL public key implementations: \&\fIEVP_PKEY_decrypt\fR\|(3), \&\fIEVP_PKEY_sign\fR\|(3), \&\fIEVP_PKEY_verify\fR\|(3), -\&\fIEVP_PKEY_verifyrecover\fR\|(3), +\&\fIEVP_PKEY_verify_recover\fR\|(3), \&\fIEVP_PKEY_derive\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" diff --git a/secure/lib/libcrypto/man/EVP_PKEY_new.3 b/secure/lib/libcrypto/man/EVP_PKEY_new.3 index 102daf5548..727ba6863f 100644 --- a/secure/lib/libcrypto/man/EVP_PKEY_new.3 +++ b/secure/lib/libcrypto/man/EVP_PKEY_new.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_new 3" -.TH EVP_PKEY_new 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_PKEY_new 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/EVP_PKEY_print_private.3 b/secure/lib/libcrypto/man/EVP_PKEY_print_private.3 index a4b5a37f8a..d328a4dc13 100644 --- a/secure/lib/libcrypto/man/EVP_PKEY_print_private.3 +++ b/secure/lib/libcrypto/man/EVP_PKEY_print_private.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_print_private 3" -.TH EVP_PKEY_print_private 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_PKEY_print_private 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 b/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 index 5a6f5946f9..757c106ded 100644 --- a/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 +++ b/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_set1_RSA 3" -.TH EVP_PKEY_set1_RSA 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_PKEY_set1_RSA 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/EVP_PKEY_sign.3 b/secure/lib/libcrypto/man/EVP_PKEY_sign.3 index c1bf75b727..cf2d018168 100644 --- a/secure/lib/libcrypto/man/EVP_PKEY_sign.3 +++ b/secure/lib/libcrypto/man/EVP_PKEY_sign.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_sign 3" -.TH EVP_PKEY_sign 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_PKEY_sign 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -211,7 +211,7 @@ Sign data using \s-1RSA\s0 with PKCS#1 padding and \s-1SHA256\s0 digest: \&\fIEVP_PKEY_encrypt\fR\|(3), \&\fIEVP_PKEY_decrypt\fR\|(3), \&\fIEVP_PKEY_verify\fR\|(3), -\&\fIEVP_PKEY_verifyrecover\fR\|(3), +\&\fIEVP_PKEY_verify_recover\fR\|(3), \&\fIEVP_PKEY_derive\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" diff --git a/secure/lib/libcrypto/man/EVP_PKEY_verify.3 b/secure/lib/libcrypto/man/EVP_PKEY_verify.3 index 1d75c2506c..9ef44a2ed2 100644 --- a/secure/lib/libcrypto/man/EVP_PKEY_verify.3 +++ b/secure/lib/libcrypto/man/EVP_PKEY_verify.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_PKEY_verify 3" -.TH EVP_PKEY_verify 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_PKEY_verify 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -207,7 +207,7 @@ Verify signature using PKCS#1 and \s-1SHA256\s0 digest: \&\fIEVP_PKEY_encrypt\fR\|(3), \&\fIEVP_PKEY_decrypt\fR\|(3), \&\fIEVP_PKEY_sign\fR\|(3), -\&\fIEVP_PKEY_verifyrecover\fR\|(3), +\&\fIEVP_PKEY_verify_recover\fR\|(3), \&\fIEVP_PKEY_derive\fR\|(3) .SH "HISTORY" .IX Header "HISTORY" diff --git a/secure/lib/libcrypto/man/EVP_PKEY_verifyrecover.3 b/secure/lib/libcrypto/man/EVP_PKEY_verify_recover.3 similarity index 86% rename from secure/lib/libcrypto/man/EVP_PKEY_verifyrecover.3 rename to secure/lib/libcrypto/man/EVP_PKEY_verify_recover.3 index e87c68b7be..eb00a37e64 100644 --- a/secure/lib/libcrypto/man/EVP_PKEY_verifyrecover.3 +++ b/secure/lib/libcrypto/man/EVP_PKEY_verify_recover.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -123,30 +123,30 @@ .rm #[ #] #H #V #F C .\" ======================================================================== .\" -.IX Title "EVP_PKEY_verifyrecover 3" -.TH EVP_PKEY_verifyrecover 3 "2012-05-10" "1.0.1c" "OpenSSL" +.IX Title "EVP_PKEY_verify_recover 3" +.TH EVP_PKEY_verify_recover 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" -EVP_PKEY_verifyrecover_init, EVP_PKEY_verifyrecover \- recover signature using a public key algorithm +EVP_PKEY_verify_recover_init, EVP_PKEY_verify_recover \- recover signature using a public key algorithm .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& -\& int EVP_PKEY_verifyrecover_init(EVP_PKEY_CTX *ctx); -\& int EVP_PKEY_verifyrecover(EVP_PKEY_CTX *ctx, +\& int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx); +\& int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx, \& unsigned char *rout, size_t *routlen, \& const unsigned char *sig, size_t siglen); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" -The \fIEVP_PKEY_verifyrecover_init()\fR function initializes a public key algorithm +The \fIEVP_PKEY_verify_recover_init()\fR function initializes a public key algorithm context using key \fBpkey\fR for a verify recover operation. .PP -The \fIEVP_PKEY_verifyrecover()\fR function recovers signed data +The \fIEVP_PKEY_verify_recover()\fR function recovers signed data using \fBctx\fR. The signature is specified using the \fBsig\fR and \&\fBsiglen\fR parameters. If \fBrout\fR is \fB\s-1NULL\s0\fR then the maximum size of the output buffer is written to the \fBroutlen\fR parameter. If \fBrout\fR is not \fB\s-1NULL\s0\fR then @@ -163,15 +163,15 @@ Sometimes however it is useful to obtain the data originally signed using a signing operation. Only certain public key algorithms can recover a signature in this way (for example \s-1RSA\s0 in \s-1PKCS\s0 padding mode). .PP -After the call to \fIEVP_PKEY_verifyrecover_init()\fR algorithm specific control +After the call to \fIEVP_PKEY_verify_recover_init()\fR algorithm specific control operations can be performed to set any appropriate parameters for the operation. .PP -The function \fIEVP_PKEY_verifyrecover()\fR can be called more than once on the same +The function \fIEVP_PKEY_verify_recover()\fR can be called more than once on the same context if several operations are performed using the same parameters. .SH "RETURN VALUES" .IX Header "RETURN VALUES" -\&\fIEVP_PKEY_verifyrecover_init()\fR and \fIEVP_PKEY_verifyrecover()\fR return 1 for success +\&\fIEVP_PKEY_verify_recover_init()\fR and \fIEVP_PKEY_verify_recover()\fR return 1 for success and 0 or a negative value for failure. In particular a return value of \-2 indicates the operation is not supported by the public key algorithm. .SH "EXAMPLE" @@ -192,7 +192,7 @@ Recover digest originally signed using PKCS#1 and \s-1SHA256\s0 digest: \& ctx = EVP_PKEY_CTX_new(verify_key); \& if (!ctx) \& /* Error occurred */ -\& if (EVP_PKEY_verifyrecover_init(ctx) <= 0) +\& if (EVP_PKEY_verify_recover_init(ctx) <= 0) \& /* Error */ \& if (EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_PADDING) <= 0) \& /* Error */ @@ -200,7 +200,7 @@ Recover digest originally signed using PKCS#1 and \s-1SHA256\s0 digest: \& /* Error */ \& \& /* Determine buffer length */ -\& if (EVP_PKEY_verifyrecover(ctx, NULL, &routlen, sig, siglen) <= 0) +\& if (EVP_PKEY_verify_recover(ctx, NULL, &routlen, sig, siglen) <= 0) \& /* Error */ \& \& rout = OPENSSL_malloc(routlen); @@ -208,7 +208,7 @@ Recover digest originally signed using PKCS#1 and \s-1SHA256\s0 digest: \& if (!rout) \& /* malloc failure */ \& -\& if (EVP_PKEY_verifyrecover(ctx, rout, &routlen, sig, siglen) <= 0) +\& if (EVP_PKEY_verify_recover(ctx, rout, &routlen, sig, siglen) <= 0) \& /* Error */ \& \& /* Recovered data is routlen bytes written to buffer rout */ diff --git a/secure/lib/libcrypto/man/EVP_SealInit.3 b/secure/lib/libcrypto/man/EVP_SealInit.3 index d68ad516b2..1078ddd4ab 100644 --- a/secure/lib/libcrypto/man/EVP_SealInit.3 +++ b/secure/lib/libcrypto/man/EVP_SealInit.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_SealInit 3" -.TH EVP_SealInit 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_SealInit 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/EVP_SignInit.3 b/secure/lib/libcrypto/man/EVP_SignInit.3 index 35cb77e507..11e0e01ee1 100644 --- a/secure/lib/libcrypto/man/EVP_SignInit.3 +++ b/secure/lib/libcrypto/man/EVP_SignInit.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_SignInit 3" -.TH EVP_SignInit 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_SignInit 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/EVP_VerifyInit.3 b/secure/lib/libcrypto/man/EVP_VerifyInit.3 index 38427e8237..3708e1a24d 100644 --- a/secure/lib/libcrypto/man/EVP_VerifyInit.3 +++ b/secure/lib/libcrypto/man/EVP_VerifyInit.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EVP_VerifyInit 3" -.TH EVP_VerifyInit 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EVP_VerifyInit 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/OBJ_nid2obj.3 b/secure/lib/libcrypto/man/OBJ_nid2obj.3 index b138cbc0a8..514f6159d9 100644 --- a/secure/lib/libcrypto/man/OBJ_nid2obj.3 +++ b/secure/lib/libcrypto/man/OBJ_nid2obj.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OBJ_nid2obj 3" -.TH OBJ_nid2obj 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH OBJ_nid2obj 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/OPENSSL_Applink.3 b/secure/lib/libcrypto/man/OPENSSL_Applink.3 index 60cf7167ce..176a4c22b3 100644 --- a/secure/lib/libcrypto/man/OPENSSL_Applink.3 +++ b/secure/lib/libcrypto/man/OPENSSL_Applink.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OPENSSL_Applink 3" -.TH OPENSSL_Applink 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH OPENSSL_Applink 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 b/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 index 4433f42844..8485694109 100644 --- a/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 +++ b/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OPENSSL_VERSION_NUMBER 3" -.TH OPENSSL_VERSION_NUMBER 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH OPENSSL_VERSION_NUMBER 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/OPENSSL_config.3 b/secure/lib/libcrypto/man/OPENSSL_config.3 index 5804607ab1..7751687641 100644 --- a/secure/lib/libcrypto/man/OPENSSL_config.3 +++ b/secure/lib/libcrypto/man/OPENSSL_config.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OPENSSL_config 3" -.TH OPENSSL_config 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH OPENSSL_config 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 b/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 index 0bce64e8f4..0555c5799e 100644 --- a/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 +++ b/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OPENSSL_ia32cap 3" -.TH OPENSSL_ia32cap 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH OPENSSL_ia32cap 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 b/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 index 15b7f78076..4482f1588c 100644 --- a/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 +++ b/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OPENSSL_load_builtin_modules 3" -.TH OPENSSL_load_builtin_modules 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH OPENSSL_load_builtin_modules 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 b/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 index 8ee15ba7ac..df95d831df 100644 --- a/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 +++ b/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OpenSSL_add_all_algorithms 3" -.TH OpenSSL_add_all_algorithms 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH OpenSSL_add_all_algorithms 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/PEM_write_bio_CMS_stream.3 b/secure/lib/libcrypto/man/PEM_write_bio_CMS_stream.3 index 4d2b54cbe7..aa00aea6be 100644 --- a/secure/lib/libcrypto/man/PEM_write_bio_CMS_stream.3 +++ b/secure/lib/libcrypto/man/PEM_write_bio_CMS_stream.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PEM_write_bio_CMS_stream 3" -.TH PEM_write_bio_CMS_stream 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH PEM_write_bio_CMS_stream 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/PEM_write_bio_PKCS7_stream.3 b/secure/lib/libcrypto/man/PEM_write_bio_PKCS7_stream.3 index 5f0a86caf1..a2dbd00cfa 100644 --- a/secure/lib/libcrypto/man/PEM_write_bio_PKCS7_stream.3 +++ b/secure/lib/libcrypto/man/PEM_write_bio_PKCS7_stream.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PEM_write_bio_PKCS7_stream 3" -.TH PEM_write_bio_PKCS7_stream 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH PEM_write_bio_PKCS7_stream 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/PKCS12_create.3 b/secure/lib/libcrypto/man/PKCS12_create.3 index 1064fea131..5776a953f1 100644 --- a/secure/lib/libcrypto/man/PKCS12_create.3 +++ b/secure/lib/libcrypto/man/PKCS12_create.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKCS12_create 3" -.TH PKCS12_create 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH PKCS12_create 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/PKCS12_parse.3 b/secure/lib/libcrypto/man/PKCS12_parse.3 index d2cda9f719..bf33c44ff2 100644 --- a/secure/lib/libcrypto/man/PKCS12_parse.3 +++ b/secure/lib/libcrypto/man/PKCS12_parse.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKCS12_parse 3" -.TH PKCS12_parse 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH PKCS12_parse 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/PKCS7_decrypt.3 b/secure/lib/libcrypto/man/PKCS7_decrypt.3 index f2895d945f..5a4eb4deab 100644 --- a/secure/lib/libcrypto/man/PKCS7_decrypt.3 +++ b/secure/lib/libcrypto/man/PKCS7_decrypt.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKCS7_decrypt 3" -.TH PKCS7_decrypt 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH PKCS7_decrypt 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/PKCS7_encrypt.3 b/secure/lib/libcrypto/man/PKCS7_encrypt.3 index cf6f6b9042..85baa35581 100644 --- a/secure/lib/libcrypto/man/PKCS7_encrypt.3 +++ b/secure/lib/libcrypto/man/PKCS7_encrypt.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKCS7_encrypt 3" -.TH PKCS7_encrypt 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH PKCS7_encrypt 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/PKCS7_sign.3 b/secure/lib/libcrypto/man/PKCS7_sign.3 index fac73319df..be6eb19993 100644 --- a/secure/lib/libcrypto/man/PKCS7_sign.3 +++ b/secure/lib/libcrypto/man/PKCS7_sign.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKCS7_sign 3" -.TH PKCS7_sign 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH PKCS7_sign 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/PKCS7_sign_add_signer.3 b/secure/lib/libcrypto/man/PKCS7_sign_add_signer.3 index c73651a3f4..f3786b93b2 100644 --- a/secure/lib/libcrypto/man/PKCS7_sign_add_signer.3 +++ b/secure/lib/libcrypto/man/PKCS7_sign_add_signer.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKCS7_sign_add_signer 3" -.TH PKCS7_sign_add_signer 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH PKCS7_sign_add_signer 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/PKCS7_verify.3 b/secure/lib/libcrypto/man/PKCS7_verify.3 index c88e9a35cb..9c998ad291 100644 --- a/secure/lib/libcrypto/man/PKCS7_verify.3 +++ b/secure/lib/libcrypto/man/PKCS7_verify.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKCS7_verify 3" -.TH PKCS7_verify 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH PKCS7_verify 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/RAND_add.3 b/secure/lib/libcrypto/man/RAND_add.3 index cdc796e23d..8ce78435fd 100644 --- a/secure/lib/libcrypto/man/RAND_add.3 +++ b/secure/lib/libcrypto/man/RAND_add.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RAND_add 3" -.TH RAND_add 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RAND_add 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/RAND_bytes.3 b/secure/lib/libcrypto/man/RAND_bytes.3 index 7112654236..bae85c92cd 100644 --- a/secure/lib/libcrypto/man/RAND_bytes.3 +++ b/secure/lib/libcrypto/man/RAND_bytes.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RAND_bytes 3" -.TH RAND_bytes 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RAND_bytes 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/RAND_cleanup.3 b/secure/lib/libcrypto/man/RAND_cleanup.3 index fdf32e50eb..ebd4bdc375 100644 --- a/secure/lib/libcrypto/man/RAND_cleanup.3 +++ b/secure/lib/libcrypto/man/RAND_cleanup.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RAND_cleanup 3" -.TH RAND_cleanup 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RAND_cleanup 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/RAND_egd.3 b/secure/lib/libcrypto/man/RAND_egd.3 index 504cce7046..6008c49a17 100644 --- a/secure/lib/libcrypto/man/RAND_egd.3 +++ b/secure/lib/libcrypto/man/RAND_egd.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RAND_egd 3" -.TH RAND_egd 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RAND_egd 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/RAND_load_file.3 b/secure/lib/libcrypto/man/RAND_load_file.3 index 9249cc329d..5853a7b745 100644 --- a/secure/lib/libcrypto/man/RAND_load_file.3 +++ b/secure/lib/libcrypto/man/RAND_load_file.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RAND_load_file 3" -.TH RAND_load_file 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RAND_load_file 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/RAND_set_rand_method.3 b/secure/lib/libcrypto/man/RAND_set_rand_method.3 index 8ff0d7b87f..f880c3fd2c 100644 --- a/secure/lib/libcrypto/man/RAND_set_rand_method.3 +++ b/secure/lib/libcrypto/man/RAND_set_rand_method.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RAND_set_rand_method 3" -.TH RAND_set_rand_method 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RAND_set_rand_method 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/RSA_blinding_on.3 b/secure/lib/libcrypto/man/RSA_blinding_on.3 index cda6166523..a2173c27ed 100644 --- a/secure/lib/libcrypto/man/RSA_blinding_on.3 +++ b/secure/lib/libcrypto/man/RSA_blinding_on.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA_blinding_on 3" -.TH RSA_blinding_on 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RSA_blinding_on 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/RSA_check_key.3 b/secure/lib/libcrypto/man/RSA_check_key.3 index c5a7f86198..112290671d 100644 --- a/secure/lib/libcrypto/man/RSA_check_key.3 +++ b/secure/lib/libcrypto/man/RSA_check_key.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA_check_key 3" -.TH RSA_check_key 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RSA_check_key 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/RSA_generate_key.3 b/secure/lib/libcrypto/man/RSA_generate_key.3 index bb4706d96a..298f50a659 100644 --- a/secure/lib/libcrypto/man/RSA_generate_key.3 +++ b/secure/lib/libcrypto/man/RSA_generate_key.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA_generate_key 3" -.TH RSA_generate_key 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RSA_generate_key 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 b/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 index bebb0852f8..1a357ba31d 100644 --- a/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 +++ b/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA_get_ex_new_index 3" -.TH RSA_get_ex_new_index 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RSA_get_ex_new_index 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/RSA_new.3 b/secure/lib/libcrypto/man/RSA_new.3 index bfc0baacd6..f78e837b1d 100644 --- a/secure/lib/libcrypto/man/RSA_new.3 +++ b/secure/lib/libcrypto/man/RSA_new.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA_new 3" -.TH RSA_new 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RSA_new 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 b/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 index 631f997861..d3e8c032ad 100644 --- a/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 +++ b/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA_padding_add_PKCS1_type_1 3" -.TH RSA_padding_add_PKCS1_type_1 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RSA_padding_add_PKCS1_type_1 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/RSA_print.3 b/secure/lib/libcrypto/man/RSA_print.3 index 8fcff50175..fd2d2e87b9 100644 --- a/secure/lib/libcrypto/man/RSA_print.3 +++ b/secure/lib/libcrypto/man/RSA_print.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA_print 3" -.TH RSA_print 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RSA_print 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/RSA_private_encrypt.3 b/secure/lib/libcrypto/man/RSA_private_encrypt.3 index da65a3bff5..c5764ddd06 100644 --- a/secure/lib/libcrypto/man/RSA_private_encrypt.3 +++ b/secure/lib/libcrypto/man/RSA_private_encrypt.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA_private_encrypt 3" -.TH RSA_private_encrypt 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RSA_private_encrypt 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/RSA_public_encrypt.3 b/secure/lib/libcrypto/man/RSA_public_encrypt.3 index 6bbba13dbf..8dbfb8b066 100644 --- a/secure/lib/libcrypto/man/RSA_public_encrypt.3 +++ b/secure/lib/libcrypto/man/RSA_public_encrypt.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA_public_encrypt 3" -.TH RSA_public_encrypt 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RSA_public_encrypt 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/RSA_set_method.3 b/secure/lib/libcrypto/man/RSA_set_method.3 index 97f7c2849d..963ae7846b 100644 --- a/secure/lib/libcrypto/man/RSA_set_method.3 +++ b/secure/lib/libcrypto/man/RSA_set_method.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA_set_method 3" -.TH RSA_set_method 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RSA_set_method 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/RSA_sign.3 b/secure/lib/libcrypto/man/RSA_sign.3 index 80fb4c5c41..93e4428a11 100644 --- a/secure/lib/libcrypto/man/RSA_sign.3 +++ b/secure/lib/libcrypto/man/RSA_sign.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA_sign 3" -.TH RSA_sign 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RSA_sign 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 b/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 index 96e9bbdd1a..bddb3ce614 100644 --- a/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 +++ b/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA_sign_ASN1_OCTET_STRING 3" -.TH RSA_sign_ASN1_OCTET_STRING 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RSA_sign_ASN1_OCTET_STRING 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/RSA_size.3 b/secure/lib/libcrypto/man/RSA_size.3 index 8a93aae12e..c9bfc18a54 100644 --- a/secure/lib/libcrypto/man/RSA_size.3 +++ b/secure/lib/libcrypto/man/RSA_size.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA_size 3" -.TH RSA_size 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RSA_size 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/SMIME_read_CMS.3 b/secure/lib/libcrypto/man/SMIME_read_CMS.3 index a4aebb0bc7..7caf28d681 100644 --- a/secure/lib/libcrypto/man/SMIME_read_CMS.3 +++ b/secure/lib/libcrypto/man/SMIME_read_CMS.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SMIME_read_CMS 3" -.TH SMIME_read_CMS 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SMIME_read_CMS 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 b/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 index 102d65542f..fbc937b1dd 100644 --- a/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 +++ b/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SMIME_read_PKCS7 3" -.TH SMIME_read_PKCS7 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SMIME_read_PKCS7 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/SMIME_write_CMS.3 b/secure/lib/libcrypto/man/SMIME_write_CMS.3 index 5396857f98..8ad4b0f7a1 100644 --- a/secure/lib/libcrypto/man/SMIME_write_CMS.3 +++ b/secure/lib/libcrypto/man/SMIME_write_CMS.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SMIME_write_CMS 3" -.TH SMIME_write_CMS 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SMIME_write_CMS 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 b/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 index c0a69c2f36..1b330bcf1a 100644 --- a/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 +++ b/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SMIME_write_PKCS7 3" -.TH SMIME_write_PKCS7 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SMIME_write_PKCS7 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 b/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 index 876ec1fa80..7bbb8d0871 100644 --- a/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 +++ b/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509_NAME_ENTRY_get_object 3" -.TH X509_NAME_ENTRY_get_object 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH X509_NAME_ENTRY_get_object 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 b/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 index ccb8117e39..af68b2fc25 100644 --- a/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 +++ b/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509_NAME_add_entry_by_txt 3" -.TH X509_NAME_add_entry_by_txt 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH X509_NAME_add_entry_by_txt 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 b/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 index 11ce05731c..9a07e90688 100644 --- a/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 +++ b/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509_NAME_get_index_by_NID 3" -.TH X509_NAME_get_index_by_NID 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH X509_NAME_get_index_by_NID 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/X509_NAME_print_ex.3 b/secure/lib/libcrypto/man/X509_NAME_print_ex.3 index 88b1a9f72b..b0069f5638 100644 --- a/secure/lib/libcrypto/man/X509_NAME_print_ex.3 +++ b/secure/lib/libcrypto/man/X509_NAME_print_ex.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509_NAME_print_ex 3" -.TH X509_NAME_print_ex 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH X509_NAME_print_ex 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/X509_STORE_CTX_get_error.3 b/secure/lib/libcrypto/man/X509_STORE_CTX_get_error.3 index 50c25e2e05..772cf49e0b 100644 --- a/secure/lib/libcrypto/man/X509_STORE_CTX_get_error.3 +++ b/secure/lib/libcrypto/man/X509_STORE_CTX_get_error.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509_STORE_CTX_get_error 3" -.TH X509_STORE_CTX_get_error 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH X509_STORE_CTX_get_error 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/X509_STORE_CTX_get_ex_new_index.3 b/secure/lib/libcrypto/man/X509_STORE_CTX_get_ex_new_index.3 index b56ef6adfc..829306c86a 100644 --- a/secure/lib/libcrypto/man/X509_STORE_CTX_get_ex_new_index.3 +++ b/secure/lib/libcrypto/man/X509_STORE_CTX_get_ex_new_index.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509_STORE_CTX_get_ex_new_index 3" -.TH X509_STORE_CTX_get_ex_new_index 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH X509_STORE_CTX_get_ex_new_index 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/X509_STORE_CTX_new.3 b/secure/lib/libcrypto/man/X509_STORE_CTX_new.3 index 9f6a08c9b9..9216565ab4 100644 --- a/secure/lib/libcrypto/man/X509_STORE_CTX_new.3 +++ b/secure/lib/libcrypto/man/X509_STORE_CTX_new.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509_STORE_CTX_new 3" -.TH X509_STORE_CTX_new 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH X509_STORE_CTX_new 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/X509_STORE_CTX_set_verify_cb.3 b/secure/lib/libcrypto/man/X509_STORE_CTX_set_verify_cb.3 index 0d58a49dcf..da0dbc13fe 100644 --- a/secure/lib/libcrypto/man/X509_STORE_CTX_set_verify_cb.3 +++ b/secure/lib/libcrypto/man/X509_STORE_CTX_set_verify_cb.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509_STORE_CTX_set_verify_cb 3" -.TH X509_STORE_CTX_set_verify_cb 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH X509_STORE_CTX_set_verify_cb 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/X509_STORE_set_verify_cb_func.3 b/secure/lib/libcrypto/man/X509_STORE_set_verify_cb_func.3 index 88e8d8d7b4..ba661567b3 100644 --- a/secure/lib/libcrypto/man/X509_STORE_set_verify_cb_func.3 +++ b/secure/lib/libcrypto/man/X509_STORE_set_verify_cb_func.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509_STORE_set_verify_cb_func 3" -.TH X509_STORE_set_verify_cb_func 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH X509_STORE_set_verify_cb_func 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/X509_VERIFY_PARAM_set_flags.3 b/secure/lib/libcrypto/man/X509_VERIFY_PARAM_set_flags.3 index e5eb7c624e..6fd3b45105 100644 --- a/secure/lib/libcrypto/man/X509_VERIFY_PARAM_set_flags.3 +++ b/secure/lib/libcrypto/man/X509_VERIFY_PARAM_set_flags.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509_VERIFY_PARAM_set_flags 3" -.TH X509_VERIFY_PARAM_set_flags 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH X509_VERIFY_PARAM_set_flags 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/X509_new.3 b/secure/lib/libcrypto/man/X509_new.3 index 1c40734290..780d621383 100644 --- a/secure/lib/libcrypto/man/X509_new.3 +++ b/secure/lib/libcrypto/man/X509_new.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509_new 3" -.TH X509_new 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH X509_new 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/X509_verify_cert.3 b/secure/lib/libcrypto/man/X509_verify_cert.3 index e0f90890aa..f1ef44a085 100644 --- a/secure/lib/libcrypto/man/X509_verify_cert.3 +++ b/secure/lib/libcrypto/man/X509_verify_cert.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509_verify_cert 3" -.TH X509_verify_cert 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH X509_verify_cert 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/bio.3 b/secure/lib/libcrypto/man/bio.3 index 19d1c280e5..1aa5d7fcf7 100644 --- a/secure/lib/libcrypto/man/bio.3 +++ b/secure/lib/libcrypto/man/bio.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "bio 3" -.TH bio 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH bio 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/blowfish.3 b/secure/lib/libcrypto/man/blowfish.3 index 476b5a1c29..08fc8b87e9 100644 --- a/secure/lib/libcrypto/man/blowfish.3 +++ b/secure/lib/libcrypto/man/blowfish.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "blowfish 3" -.TH blowfish 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH blowfish 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/bn.3 b/secure/lib/libcrypto/man/bn.3 index a090eedc30..0c984bd0af 100644 --- a/secure/lib/libcrypto/man/bn.3 +++ b/secure/lib/libcrypto/man/bn.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "bn 3" -.TH bn 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH bn 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/bn_internal.3 b/secure/lib/libcrypto/man/bn_internal.3 index 1d1c8c7fa8..2b2771e52b 100644 --- a/secure/lib/libcrypto/man/bn_internal.3 +++ b/secure/lib/libcrypto/man/bn_internal.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "bn_internal 3" -.TH bn_internal 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH bn_internal 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/buffer.3 b/secure/lib/libcrypto/man/buffer.3 index 26dc06ad44..66688277a2 100644 --- a/secure/lib/libcrypto/man/buffer.3 +++ b/secure/lib/libcrypto/man/buffer.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "buffer 3" -.TH buffer 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH buffer 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/crypto.3 b/secure/lib/libcrypto/man/crypto.3 index ee429817c1..3507ddae28 100644 --- a/secure/lib/libcrypto/man/crypto.3 +++ b/secure/lib/libcrypto/man/crypto.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "crypto 3" -.TH crypto 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH crypto 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 b/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 index fcf40a519e..49e0418c5f 100644 --- a/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 +++ b/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "d2i_ASN1_OBJECT 3" -.TH d2i_ASN1_OBJECT 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH d2i_ASN1_OBJECT 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/d2i_DHparams.3 b/secure/lib/libcrypto/man/d2i_DHparams.3 index b7e23f4b9e..a6bd8d0d14 100644 --- a/secure/lib/libcrypto/man/d2i_DHparams.3 +++ b/secure/lib/libcrypto/man/d2i_DHparams.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "d2i_DHparams 3" -.TH d2i_DHparams 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH d2i_DHparams 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 b/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 index 4858fd4247..baa0a691d2 100644 --- a/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 +++ b/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "d2i_DSAPublicKey 3" -.TH d2i_DSAPublicKey 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH d2i_DSAPublicKey 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 b/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 index 29820c45e3..8ebb278b1c 100644 --- a/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 +++ b/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "d2i_PKCS8PrivateKey 3" -.TH d2i_PKCS8PrivateKey 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH d2i_PKCS8PrivateKey 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 b/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 index 3254ea2625..1a60be5a45 100644 --- a/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 +++ b/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "d2i_RSAPublicKey 3" -.TH d2i_RSAPublicKey 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH d2i_RSAPublicKey 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/d2i_X509.3 b/secure/lib/libcrypto/man/d2i_X509.3 index 988ccae5b2..9c7e064d3c 100644 --- a/secure/lib/libcrypto/man/d2i_X509.3 +++ b/secure/lib/libcrypto/man/d2i_X509.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "d2i_X509 3" -.TH d2i_X509 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH d2i_X509 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 b/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 index 15c62152e7..6bd6fd74e5 100644 --- a/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 +++ b/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "d2i_X509_ALGOR 3" -.TH d2i_X509_ALGOR 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH d2i_X509_ALGOR 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/d2i_X509_CRL.3 b/secure/lib/libcrypto/man/d2i_X509_CRL.3 index f5d4954a86..9001a17122 100644 --- a/secure/lib/libcrypto/man/d2i_X509_CRL.3 +++ b/secure/lib/libcrypto/man/d2i_X509_CRL.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "d2i_X509_CRL 3" -.TH d2i_X509_CRL 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH d2i_X509_CRL 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/d2i_X509_NAME.3 b/secure/lib/libcrypto/man/d2i_X509_NAME.3 index b0d43c7326..fba55663fa 100644 --- a/secure/lib/libcrypto/man/d2i_X509_NAME.3 +++ b/secure/lib/libcrypto/man/d2i_X509_NAME.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "d2i_X509_NAME 3" -.TH d2i_X509_NAME 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH d2i_X509_NAME 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/d2i_X509_REQ.3 b/secure/lib/libcrypto/man/d2i_X509_REQ.3 index 0d92d1434d..d77392cc32 100644 --- a/secure/lib/libcrypto/man/d2i_X509_REQ.3 +++ b/secure/lib/libcrypto/man/d2i_X509_REQ.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "d2i_X509_REQ 3" -.TH d2i_X509_REQ 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH d2i_X509_REQ 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/d2i_X509_SIG.3 b/secure/lib/libcrypto/man/d2i_X509_SIG.3 index d582f7d6d3..f297027450 100644 --- a/secure/lib/libcrypto/man/d2i_X509_SIG.3 +++ b/secure/lib/libcrypto/man/d2i_X509_SIG.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "d2i_X509_SIG 3" -.TH d2i_X509_SIG 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH d2i_X509_SIG 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/des.3 b/secure/lib/libcrypto/man/des.3 index 2c800b90cf..e0c4c0a97e 100644 --- a/secure/lib/libcrypto/man/des.3 +++ b/secure/lib/libcrypto/man/des.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "des 3" -.TH des 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH des 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/des_modes.7 b/secure/lib/libcrypto/man/des_modes.7 index 729bc75481..b9227a38aa 100644 --- a/secure/lib/libcrypto/man/des_modes.7 +++ b/secure/lib/libcrypto/man/des_modes.7 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DES_MODES 7" -.TH DES_MODES 7 "2012-05-10" "1.0.1c" "OpenSSL" +.TH DES_MODES 7 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/dh.3 b/secure/lib/libcrypto/man/dh.3 index 22ad9fdc22..1638c9bc13 100644 --- a/secure/lib/libcrypto/man/dh.3 +++ b/secure/lib/libcrypto/man/dh.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "dh 3" -.TH dh 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH dh 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/dsa.3 b/secure/lib/libcrypto/man/dsa.3 index a35681c782..cb73c65ecc 100644 --- a/secure/lib/libcrypto/man/dsa.3 +++ b/secure/lib/libcrypto/man/dsa.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "dsa 3" -.TH dsa 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH dsa 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/ecdsa.3 b/secure/lib/libcrypto/man/ecdsa.3 index 67de93c09f..3f214de397 100644 --- a/secure/lib/libcrypto/man/ecdsa.3 +++ b/secure/lib/libcrypto/man/ecdsa.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ecdsa 3" -.TH ecdsa 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ecdsa 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/engine.3 b/secure/lib/libcrypto/man/engine.3 index 904fc8988f..10aee03dc8 100644 --- a/secure/lib/libcrypto/man/engine.3 +++ b/secure/lib/libcrypto/man/engine.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "engine 3" -.TH engine 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH engine 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/err.3 b/secure/lib/libcrypto/man/err.3 index 6eea32917a..cdfb8b4a68 100644 --- a/secure/lib/libcrypto/man/err.3 +++ b/secure/lib/libcrypto/man/err.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "err 3" -.TH err 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH err 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/evp.3 b/secure/lib/libcrypto/man/evp.3 index a525d68a64..8ea6d1aaad 100644 --- a/secure/lib/libcrypto/man/evp.3 +++ b/secure/lib/libcrypto/man/evp.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "evp 3" -.TH evp 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH evp 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/hmac.3 b/secure/lib/libcrypto/man/hmac.3 index 6366804d6e..bdeddb69b9 100644 --- a/secure/lib/libcrypto/man/hmac.3 +++ b/secure/lib/libcrypto/man/hmac.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "hmac 3" -.TH hmac 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH hmac 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/i2d_CMS_bio_stream.3 b/secure/lib/libcrypto/man/i2d_CMS_bio_stream.3 index d2d692c76b..cc637a2488 100644 --- a/secure/lib/libcrypto/man/i2d_CMS_bio_stream.3 +++ b/secure/lib/libcrypto/man/i2d_CMS_bio_stream.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "i2d_CMS_bio_stream 3" -.TH i2d_CMS_bio_stream 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH i2d_CMS_bio_stream 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/i2d_PKCS7_bio_stream.3 b/secure/lib/libcrypto/man/i2d_PKCS7_bio_stream.3 index 642bbb89be..1554d17dfe 100644 --- a/secure/lib/libcrypto/man/i2d_PKCS7_bio_stream.3 +++ b/secure/lib/libcrypto/man/i2d_PKCS7_bio_stream.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "i2d_PKCS7_bio_stream 3" -.TH i2d_PKCS7_bio_stream 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH i2d_PKCS7_bio_stream 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/lh_stats.3 b/secure/lib/libcrypto/man/lh_stats.3 index 5459f471cd..7dff8fb1da 100644 --- a/secure/lib/libcrypto/man/lh_stats.3 +++ b/secure/lib/libcrypto/man/lh_stats.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "lh_stats 3" -.TH lh_stats 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH lh_stats 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/lhash.3 b/secure/lib/libcrypto/man/lhash.3 index 8e10f63c3e..1f32871afb 100644 --- a/secure/lib/libcrypto/man/lhash.3 +++ b/secure/lib/libcrypto/man/lhash.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "lhash 3" -.TH lhash 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH lhash 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/md5.3 b/secure/lib/libcrypto/man/md5.3 index 311d03028b..0ae3eb58bc 100644 --- a/secure/lib/libcrypto/man/md5.3 +++ b/secure/lib/libcrypto/man/md5.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "md5 3" -.TH md5 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH md5 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/mdc2.3 b/secure/lib/libcrypto/man/mdc2.3 index fd4a74d030..a939ffcd11 100644 --- a/secure/lib/libcrypto/man/mdc2.3 +++ b/secure/lib/libcrypto/man/mdc2.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "mdc2 3" -.TH mdc2 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH mdc2 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/pem.3 b/secure/lib/libcrypto/man/pem.3 index 99f1afc2bd..6dc8e5e197 100644 --- a/secure/lib/libcrypto/man/pem.3 +++ b/secure/lib/libcrypto/man/pem.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "pem 3" -.TH pem 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH pem 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/rand.3 b/secure/lib/libcrypto/man/rand.3 index 9801cba4c3..b4bf06fbe1 100644 --- a/secure/lib/libcrypto/man/rand.3 +++ b/secure/lib/libcrypto/man/rand.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "rand 3" -.TH rand 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH rand 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/rc4.3 b/secure/lib/libcrypto/man/rc4.3 index 79f8c22d53..906db4c0bd 100644 --- a/secure/lib/libcrypto/man/rc4.3 +++ b/secure/lib/libcrypto/man/rc4.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "rc4 3" -.TH rc4 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH rc4 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/ripemd.3 b/secure/lib/libcrypto/man/ripemd.3 index 70b41b9c0a..89d0e2e2b3 100644 --- a/secure/lib/libcrypto/man/ripemd.3 +++ b/secure/lib/libcrypto/man/ripemd.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ripemd 3" -.TH ripemd 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ripemd 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/rsa.3 b/secure/lib/libcrypto/man/rsa.3 index c6e7461721..83a8140561 100644 --- a/secure/lib/libcrypto/man/rsa.3 +++ b/secure/lib/libcrypto/man/rsa.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "rsa 3" -.TH rsa 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH rsa 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/sha.3 b/secure/lib/libcrypto/man/sha.3 index 9d6879c848..0454032453 100644 --- a/secure/lib/libcrypto/man/sha.3 +++ b/secure/lib/libcrypto/man/sha.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "sha 3" -.TH sha 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH sha 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/threads.3 b/secure/lib/libcrypto/man/threads.3 index c88b0a9008..eb0b195a8d 100644 --- a/secure/lib/libcrypto/man/threads.3 +++ b/secure/lib/libcrypto/man/threads.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "threads 3" -.TH threads 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH threads 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/ui.3 b/secure/lib/libcrypto/man/ui.3 index 5ced8e5576..40c40bb7f1 100644 --- a/secure/lib/libcrypto/man/ui.3 +++ b/secure/lib/libcrypto/man/ui.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ui 3" -.TH ui 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ui 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/ui_compat.3 b/secure/lib/libcrypto/man/ui_compat.3 index 62b1ec70e8..5b82764eca 100644 --- a/secure/lib/libcrypto/man/ui_compat.3 +++ b/secure/lib/libcrypto/man/ui_compat.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ui_compat 3" -.TH ui_compat 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ui_compat 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libcrypto/man/x509.3 b/secure/lib/libcrypto/man/x509.3 index 097ad3d275..b3f6284bff 100644 --- a/secure/lib/libcrypto/man/x509.3 +++ b/secure/lib/libcrypto/man/x509.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "x509 3" -.TH x509 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH x509 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/Makefile b/secure/lib/libssl/Makefile index e95a820164..bed0285acc 100644 --- a/secure/lib/libssl/Makefile +++ b/secure/lib/libssl/Makefile @@ -13,7 +13,7 @@ NOLINT= true .include "../libcrypto/Makefile.inc" SRCS+= s2_meth.c s2_srvr.c s2_clnt.c s2_lib.c s2_enc.c s2_pkt.c \ - s3_meth.c s3_srvr.c s3_clnt.c s3_lib.c s3_enc.c s3_pkt.c s3_both.c \ + s3_meth.c s3_srvr.c s3_clnt.c s3_lib.c s3_enc.c s3_pkt.c s3_both.c s3_cbc.c \ s23_meth.c s23_srvr.c s23_clnt.c s23_lib.c s23_pkt.c \ t1_meth.c t1_srvr.c t1_clnt.c t1_lib.c t1_enc.c \ d1_meth.c d1_srvr.c d1_clnt.c d1_lib.c d1_pkt.c \ diff --git a/secure/lib/libssl/man/SSL_CIPHER_get_name.3 b/secure/lib/libssl/man/SSL_CIPHER_get_name.3 index e2a415555c..0eca0f8bfc 100644 --- a/secure/lib/libssl/man/SSL_CIPHER_get_name.3 +++ b/secure/lib/libssl/man/SSL_CIPHER_get_name.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CIPHER_get_name 3" -.TH SSL_CIPHER_get_name 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CIPHER_get_name 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 b/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 index 359edef47f..01e59eeb57 100644 --- a/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 +++ b/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_COMP_add_compression_method 3" -.TH SSL_COMP_add_compression_method 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_COMP_add_compression_method 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 b/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 index 9868151987..b7a408d749 100644 --- a/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 +++ b/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_add_extra_chain_cert 3" -.TH SSL_CTX_add_extra_chain_cert 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_add_extra_chain_cert 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_add_session.3 b/secure/lib/libssl/man/SSL_CTX_add_session.3 index cd9325bfa7..0ab275408c 100644 --- a/secure/lib/libssl/man/SSL_CTX_add_session.3 +++ b/secure/lib/libssl/man/SSL_CTX_add_session.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_add_session 3" -.TH SSL_CTX_add_session 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_add_session 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_ctrl.3 b/secure/lib/libssl/man/SSL_CTX_ctrl.3 index 85b84d29d0..e7fad741b7 100644 --- a/secure/lib/libssl/man/SSL_CTX_ctrl.3 +++ b/secure/lib/libssl/man/SSL_CTX_ctrl.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_ctrl 3" -.TH SSL_CTX_ctrl 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_ctrl 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 b/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 index c2842a28e6..55276114fb 100644 --- a/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 +++ b/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_flush_sessions 3" -.TH SSL_CTX_flush_sessions 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_flush_sessions 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_free.3 b/secure/lib/libssl/man/SSL_CTX_free.3 index 0a5272d805..85898dad06 100644 --- a/secure/lib/libssl/man/SSL_CTX_free.3 +++ b/secure/lib/libssl/man/SSL_CTX_free.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_free 3" -.TH SSL_CTX_free 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_free 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 b/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 index c891d2c671..60b6b3798a 100644 --- a/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 +++ b/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_get_ex_new_index 3" -.TH SSL_CTX_get_ex_new_index 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_get_ex_new_index 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 b/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 index 6574daaa76..3d19c832dc 100644 --- a/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 +++ b/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_get_verify_mode 3" -.TH SSL_CTX_get_verify_mode 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_get_verify_mode 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 b/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 index a569d5bd74..6b4d10d62e 100644 --- a/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 +++ b/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_load_verify_locations 3" -.TH SSL_CTX_load_verify_locations 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_load_verify_locations 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_new.3 b/secure/lib/libssl/man/SSL_CTX_new.3 index 53195417db..5c2fc1d20c 100644 --- a/secure/lib/libssl/man/SSL_CTX_new.3 +++ b/secure/lib/libssl/man/SSL_CTX_new.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_new 3" -.TH SSL_CTX_new 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_new 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_sess_number.3 b/secure/lib/libssl/man/SSL_CTX_sess_number.3 index dab072f079..4bf3517ad8 100644 --- a/secure/lib/libssl/man/SSL_CTX_sess_number.3 +++ b/secure/lib/libssl/man/SSL_CTX_sess_number.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_sess_number 3" -.TH SSL_CTX_sess_number 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_sess_number 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 b/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 index 9f37cab77b..63df8a8e4a 100644 --- a/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 +++ b/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_sess_set_cache_size 3" -.TH SSL_CTX_sess_set_cache_size 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_sess_set_cache_size 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 b/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 index d6e79317d4..4aee90fab1 100644 --- a/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 +++ b/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_sess_set_get_cb 3" -.TH SSL_CTX_sess_set_get_cb 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_sess_set_get_cb 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_sessions.3 b/secure/lib/libssl/man/SSL_CTX_sessions.3 index 15bcb64f19..35c0619e23 100644 --- a/secure/lib/libssl/man/SSL_CTX_sessions.3 +++ b/secure/lib/libssl/man/SSL_CTX_sessions.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_sessions 3" -.TH SSL_CTX_sessions 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_sessions 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 b/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 index 5e46b443d6..86464bac77 100644 --- a/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 +++ b/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_set_cert_store 3" -.TH SSL_CTX_set_cert_store 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_set_cert_store 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 b/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 index f6b4b271f3..3445d191c0 100644 --- a/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 +++ b/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_set_cert_verify_callback 3" -.TH SSL_CTX_set_cert_verify_callback 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_set_cert_verify_callback 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 b/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 index f3cdec2a6b..167f378835 100644 --- a/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 +++ b/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_set_cipher_list 3" -.TH SSL_CTX_set_cipher_list 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_set_cipher_list 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 b/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 index b3ec1bf7f4..fd26cb5cdb 100644 --- a/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 +++ b/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_set_client_CA_list 3" -.TH SSL_CTX_set_client_CA_list 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_set_client_CA_list 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 b/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 index 1623d495d4..b109e27ac2 100644 --- a/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 +++ b/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_set_client_cert_cb 3" -.TH SSL_CTX_set_client_cert_cb 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_set_client_cert_cb 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 b/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 index e21a6f8189..744341a8f3 100644 --- a/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 +++ b/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_set_default_passwd_cb 3" -.TH SSL_CTX_set_default_passwd_cb 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_set_default_passwd_cb 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 b/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 index 3a0197a6a0..ed9ab74a6d 100644 --- a/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 +++ b/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_set_generate_session_id 3" -.TH SSL_CTX_set_generate_session_id 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_set_generate_session_id 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 b/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 index a9ae346960..8cc131378e 100644 --- a/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 +++ b/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_set_info_callback 3" -.TH SSL_CTX_set_info_callback 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_set_info_callback 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 b/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 index 82a6ed8e45..44a4482039 100644 --- a/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 +++ b/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_set_max_cert_list 3" -.TH SSL_CTX_set_max_cert_list 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_set_max_cert_list 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_set_mode.3 b/secure/lib/libssl/man/SSL_CTX_set_mode.3 index b12c557de0..2b8eeb600d 100644 --- a/secure/lib/libssl/man/SSL_CTX_set_mode.3 +++ b/secure/lib/libssl/man/SSL_CTX_set_mode.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_set_mode 3" -.TH SSL_CTX_set_mode 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_set_mode 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 b/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 index 7391e80e33..3306fe94c5 100644 --- a/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 +++ b/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_set_msg_callback 3" -.TH SSL_CTX_set_msg_callback 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_set_msg_callback 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_set_options.3 b/secure/lib/libssl/man/SSL_CTX_set_options.3 index 0916e8a843..98e5b85c04 100644 --- a/secure/lib/libssl/man/SSL_CTX_set_options.3 +++ b/secure/lib/libssl/man/SSL_CTX_set_options.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_set_options 3" -.TH SSL_CTX_set_options 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_set_options 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_set_psk_client_callback.3 b/secure/lib/libssl/man/SSL_CTX_set_psk_client_callback.3 index e840772b77..c2d70c87e9 100644 --- a/secure/lib/libssl/man/SSL_CTX_set_psk_client_callback.3 +++ b/secure/lib/libssl/man/SSL_CTX_set_psk_client_callback.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_set_psk_client_callback 3" -.TH SSL_CTX_set_psk_client_callback 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_set_psk_client_callback 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 b/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 index 0f0618535e..5a1e2b1996 100644 --- a/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 +++ b/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_set_quiet_shutdown 3" -.TH SSL_CTX_set_quiet_shutdown 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_set_quiet_shutdown 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 b/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 index 9e628ae534..b4a4505dac 100644 --- a/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 +++ b/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_set_session_cache_mode 3" -.TH SSL_CTX_set_session_cache_mode 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_set_session_cache_mode 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 b/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 index 61794ad85c..5b43c4ae32 100644 --- a/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 +++ b/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_set_session_id_context 3" -.TH SSL_CTX_set_session_id_context 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_set_session_id_context 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 b/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 index 5239661b9d..602d272e83 100644 --- a/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 +++ b/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_set_ssl_version 3" -.TH SSL_CTX_set_ssl_version 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_set_ssl_version 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_set_timeout.3 b/secure/lib/libssl/man/SSL_CTX_set_timeout.3 index 646c975e79..242cf1385a 100644 --- a/secure/lib/libssl/man/SSL_CTX_set_timeout.3 +++ b/secure/lib/libssl/man/SSL_CTX_set_timeout.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_set_timeout 3" -.TH SSL_CTX_set_timeout 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_set_timeout 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 b/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 index 87376f6b8b..13bdc63810 100644 --- a/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 +++ b/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_set_tmp_dh_callback 3" -.TH SSL_CTX_set_tmp_dh_callback 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_set_tmp_dh_callback 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 b/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 index 64d635ec24..799ab1a5f9 100644 --- a/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 +++ b/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_set_tmp_rsa_callback 3" -.TH SSL_CTX_set_tmp_rsa_callback 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_set_tmp_rsa_callback 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_set_verify.3 b/secure/lib/libssl/man/SSL_CTX_set_verify.3 index 4948aa97da..6f0eedeb36 100644 --- a/secure/lib/libssl/man/SSL_CTX_set_verify.3 +++ b/secure/lib/libssl/man/SSL_CTX_set_verify.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_set_verify 3" -.TH SSL_CTX_set_verify 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_set_verify 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_use_certificate.3 b/secure/lib/libssl/man/SSL_CTX_use_certificate.3 index 724935edab..ca13460100 100644 --- a/secure/lib/libssl/man/SSL_CTX_use_certificate.3 +++ b/secure/lib/libssl/man/SSL_CTX_use_certificate.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_use_certificate 3" -.TH SSL_CTX_use_certificate 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_use_certificate 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_CTX_use_psk_identity_hint.3 b/secure/lib/libssl/man/SSL_CTX_use_psk_identity_hint.3 index 8a0d9e18d9..00aeff843a 100644 --- a/secure/lib/libssl/man/SSL_CTX_use_psk_identity_hint.3 +++ b/secure/lib/libssl/man/SSL_CTX_use_psk_identity_hint.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_CTX_use_psk_identity_hint 3" -.TH SSL_CTX_use_psk_identity_hint 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_CTX_use_psk_identity_hint 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_SESSION_free.3 b/secure/lib/libssl/man/SSL_SESSION_free.3 index 4e25338374..3dd2940c3a 100644 --- a/secure/lib/libssl/man/SSL_SESSION_free.3 +++ b/secure/lib/libssl/man/SSL_SESSION_free.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_SESSION_free 3" -.TH SSL_SESSION_free 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_SESSION_free 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 b/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 index cdc7b41928..94650099aa 100644 --- a/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 +++ b/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_SESSION_get_ex_new_index 3" -.TH SSL_SESSION_get_ex_new_index 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_SESSION_get_ex_new_index 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_SESSION_get_time.3 b/secure/lib/libssl/man/SSL_SESSION_get_time.3 index 08fbb7289e..486f649361 100644 --- a/secure/lib/libssl/man/SSL_SESSION_get_time.3 +++ b/secure/lib/libssl/man/SSL_SESSION_get_time.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_SESSION_get_time 3" -.TH SSL_SESSION_get_time 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_SESSION_get_time 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_accept.3 b/secure/lib/libssl/man/SSL_accept.3 index a04ee6116c..a0de4cfe39 100644 --- a/secure/lib/libssl/man/SSL_accept.3 +++ b/secure/lib/libssl/man/SSL_accept.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_accept 3" -.TH SSL_accept 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_accept 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_alert_type_string.3 b/secure/lib/libssl/man/SSL_alert_type_string.3 index db9c37ca99..39c3663375 100644 --- a/secure/lib/libssl/man/SSL_alert_type_string.3 +++ b/secure/lib/libssl/man/SSL_alert_type_string.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_alert_type_string 3" -.TH SSL_alert_type_string 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_alert_type_string 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_clear.3 b/secure/lib/libssl/man/SSL_clear.3 index f0d6be8bcb..f0124292d0 100644 --- a/secure/lib/libssl/man/SSL_clear.3 +++ b/secure/lib/libssl/man/SSL_clear.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_clear 3" -.TH SSL_clear 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_clear 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_connect.3 b/secure/lib/libssl/man/SSL_connect.3 index d5fd1fae1e..275e8f4fff 100644 --- a/secure/lib/libssl/man/SSL_connect.3 +++ b/secure/lib/libssl/man/SSL_connect.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_connect 3" -.TH SSL_connect 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_connect 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_do_handshake.3 b/secure/lib/libssl/man/SSL_do_handshake.3 index 3b2b5ef7bf..fcdf51f809 100644 --- a/secure/lib/libssl/man/SSL_do_handshake.3 +++ b/secure/lib/libssl/man/SSL_do_handshake.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_do_handshake 3" -.TH SSL_do_handshake 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_do_handshake 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_free.3 b/secure/lib/libssl/man/SSL_free.3 index a87f66e765..2eea444902 100644 --- a/secure/lib/libssl/man/SSL_free.3 +++ b/secure/lib/libssl/man/SSL_free.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_free 3" -.TH SSL_free 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_free 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_get_SSL_CTX.3 b/secure/lib/libssl/man/SSL_get_SSL_CTX.3 index 1562a4a3f4..31cfb2986b 100644 --- a/secure/lib/libssl/man/SSL_get_SSL_CTX.3 +++ b/secure/lib/libssl/man/SSL_get_SSL_CTX.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_get_SSL_CTX 3" -.TH SSL_get_SSL_CTX 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_get_SSL_CTX 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_get_ciphers.3 b/secure/lib/libssl/man/SSL_get_ciphers.3 index 44dbca3c44..27bce450bf 100644 --- a/secure/lib/libssl/man/SSL_get_ciphers.3 +++ b/secure/lib/libssl/man/SSL_get_ciphers.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_get_ciphers 3" -.TH SSL_get_ciphers 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_get_ciphers 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_get_client_CA_list.3 b/secure/lib/libssl/man/SSL_get_client_CA_list.3 index 33b44d0af9..aff116b5e9 100644 --- a/secure/lib/libssl/man/SSL_get_client_CA_list.3 +++ b/secure/lib/libssl/man/SSL_get_client_CA_list.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_get_client_CA_list 3" -.TH SSL_get_client_CA_list 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_get_client_CA_list 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_get_current_cipher.3 b/secure/lib/libssl/man/SSL_get_current_cipher.3 index d6b8e3cb57..094687b881 100644 --- a/secure/lib/libssl/man/SSL_get_current_cipher.3 +++ b/secure/lib/libssl/man/SSL_get_current_cipher.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_get_current_cipher 3" -.TH SSL_get_current_cipher 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_get_current_cipher 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_get_default_timeout.3 b/secure/lib/libssl/man/SSL_get_default_timeout.3 index 83bb39c6dc..d6ffcf4fd6 100644 --- a/secure/lib/libssl/man/SSL_get_default_timeout.3 +++ b/secure/lib/libssl/man/SSL_get_default_timeout.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_get_default_timeout 3" -.TH SSL_get_default_timeout 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_get_default_timeout 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_get_error.3 b/secure/lib/libssl/man/SSL_get_error.3 index 1e09e49bfd..3d20c8f7a2 100644 --- a/secure/lib/libssl/man/SSL_get_error.3 +++ b/secure/lib/libssl/man/SSL_get_error.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_get_error 3" -.TH SSL_get_error 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_get_error 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 b/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 index 33c7886dab..38dfc5879c 100644 --- a/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 +++ b/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_get_ex_data_X509_STORE_CTX_idx 3" -.TH SSL_get_ex_data_X509_STORE_CTX_idx 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_get_ex_data_X509_STORE_CTX_idx 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_get_ex_new_index.3 b/secure/lib/libssl/man/SSL_get_ex_new_index.3 index 3b9905943b..cd6ddea280 100644 --- a/secure/lib/libssl/man/SSL_get_ex_new_index.3 +++ b/secure/lib/libssl/man/SSL_get_ex_new_index.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_get_ex_new_index 3" -.TH SSL_get_ex_new_index 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_get_ex_new_index 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_get_fd.3 b/secure/lib/libssl/man/SSL_get_fd.3 index 7d80cd6822..85e4a3539e 100644 --- a/secure/lib/libssl/man/SSL_get_fd.3 +++ b/secure/lib/libssl/man/SSL_get_fd.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_get_fd 3" -.TH SSL_get_fd 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_get_fd 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 b/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 index fc0151ce98..ca252e8286 100644 --- a/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 +++ b/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_get_peer_cert_chain 3" -.TH SSL_get_peer_cert_chain 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_get_peer_cert_chain 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_get_peer_certificate.3 b/secure/lib/libssl/man/SSL_get_peer_certificate.3 index decfadf0e7..940821d503 100644 --- a/secure/lib/libssl/man/SSL_get_peer_certificate.3 +++ b/secure/lib/libssl/man/SSL_get_peer_certificate.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_get_peer_certificate 3" -.TH SSL_get_peer_certificate 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_get_peer_certificate 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_get_psk_identity.3 b/secure/lib/libssl/man/SSL_get_psk_identity.3 index c66f6874aa..c3cee418d1 100644 --- a/secure/lib/libssl/man/SSL_get_psk_identity.3 +++ b/secure/lib/libssl/man/SSL_get_psk_identity.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_get_psk_identity 3" -.TH SSL_get_psk_identity 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_get_psk_identity 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_get_rbio.3 b/secure/lib/libssl/man/SSL_get_rbio.3 index 9e09c7db41..69de83e7c4 100644 --- a/secure/lib/libssl/man/SSL_get_rbio.3 +++ b/secure/lib/libssl/man/SSL_get_rbio.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_get_rbio 3" -.TH SSL_get_rbio 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_get_rbio 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_get_session.3 b/secure/lib/libssl/man/SSL_get_session.3 index 68f8ba2c58..d2e632d651 100644 --- a/secure/lib/libssl/man/SSL_get_session.3 +++ b/secure/lib/libssl/man/SSL_get_session.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_get_session 3" -.TH SSL_get_session 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_get_session 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_get_verify_result.3 b/secure/lib/libssl/man/SSL_get_verify_result.3 index 9543876eae..c9b7496097 100644 --- a/secure/lib/libssl/man/SSL_get_verify_result.3 +++ b/secure/lib/libssl/man/SSL_get_verify_result.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_get_verify_result 3" -.TH SSL_get_verify_result 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_get_verify_result 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_get_version.3 b/secure/lib/libssl/man/SSL_get_version.3 index 81599f1ce8..29389878d6 100644 --- a/secure/lib/libssl/man/SSL_get_version.3 +++ b/secure/lib/libssl/man/SSL_get_version.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_get_version 3" -.TH SSL_get_version 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_get_version 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_library_init.3 b/secure/lib/libssl/man/SSL_library_init.3 index 892ffdae92..4609cab963 100644 --- a/secure/lib/libssl/man/SSL_library_init.3 +++ b/secure/lib/libssl/man/SSL_library_init.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_library_init 3" -.TH SSL_library_init 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_library_init 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_load_client_CA_file.3 b/secure/lib/libssl/man/SSL_load_client_CA_file.3 index 4ec810fef2..357ef849ff 100644 --- a/secure/lib/libssl/man/SSL_load_client_CA_file.3 +++ b/secure/lib/libssl/man/SSL_load_client_CA_file.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_load_client_CA_file 3" -.TH SSL_load_client_CA_file 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_load_client_CA_file 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_new.3 b/secure/lib/libssl/man/SSL_new.3 index 5b091761ac..5f2e367b8c 100644 --- a/secure/lib/libssl/man/SSL_new.3 +++ b/secure/lib/libssl/man/SSL_new.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_new 3" -.TH SSL_new 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_new 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_pending.3 b/secure/lib/libssl/man/SSL_pending.3 index 711cc22c91..e82945380b 100644 --- a/secure/lib/libssl/man/SSL_pending.3 +++ b/secure/lib/libssl/man/SSL_pending.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_pending 3" -.TH SSL_pending 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_pending 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_read.3 b/secure/lib/libssl/man/SSL_read.3 index 5643dd700f..3b9562de13 100644 --- a/secure/lib/libssl/man/SSL_read.3 +++ b/secure/lib/libssl/man/SSL_read.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_read 3" -.TH SSL_read 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_read 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_rstate_string.3 b/secure/lib/libssl/man/SSL_rstate_string.3 index 94783c0549..4cc2a943f2 100644 --- a/secure/lib/libssl/man/SSL_rstate_string.3 +++ b/secure/lib/libssl/man/SSL_rstate_string.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_rstate_string 3" -.TH SSL_rstate_string 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_rstate_string 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_session_reused.3 b/secure/lib/libssl/man/SSL_session_reused.3 index 2ede6fd576..e7f222d413 100644 --- a/secure/lib/libssl/man/SSL_session_reused.3 +++ b/secure/lib/libssl/man/SSL_session_reused.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_session_reused 3" -.TH SSL_session_reused 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_session_reused 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_set_bio.3 b/secure/lib/libssl/man/SSL_set_bio.3 index 58a4d67e24..60ee06e6a7 100644 --- a/secure/lib/libssl/man/SSL_set_bio.3 +++ b/secure/lib/libssl/man/SSL_set_bio.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_set_bio 3" -.TH SSL_set_bio 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_set_bio 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_set_connect_state.3 b/secure/lib/libssl/man/SSL_set_connect_state.3 index 2fb8d57011..e44ab223c5 100644 --- a/secure/lib/libssl/man/SSL_set_connect_state.3 +++ b/secure/lib/libssl/man/SSL_set_connect_state.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_set_connect_state 3" -.TH SSL_set_connect_state 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_set_connect_state 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_set_fd.3 b/secure/lib/libssl/man/SSL_set_fd.3 index 0cc48544b8..a178741cbb 100644 --- a/secure/lib/libssl/man/SSL_set_fd.3 +++ b/secure/lib/libssl/man/SSL_set_fd.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_set_fd 3" -.TH SSL_set_fd 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_set_fd 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_set_session.3 b/secure/lib/libssl/man/SSL_set_session.3 index b98fbffbd7..57dfb31565 100644 --- a/secure/lib/libssl/man/SSL_set_session.3 +++ b/secure/lib/libssl/man/SSL_set_session.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_set_session 3" -.TH SSL_set_session 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_set_session 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_set_shutdown.3 b/secure/lib/libssl/man/SSL_set_shutdown.3 index afc12e225b..d5a3055679 100644 --- a/secure/lib/libssl/man/SSL_set_shutdown.3 +++ b/secure/lib/libssl/man/SSL_set_shutdown.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_set_shutdown 3" -.TH SSL_set_shutdown 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_set_shutdown 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_set_verify_result.3 b/secure/lib/libssl/man/SSL_set_verify_result.3 index 374aa9b3c8..e39ccbc6e6 100644 --- a/secure/lib/libssl/man/SSL_set_verify_result.3 +++ b/secure/lib/libssl/man/SSL_set_verify_result.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_set_verify_result 3" -.TH SSL_set_verify_result 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_set_verify_result 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_shutdown.3 b/secure/lib/libssl/man/SSL_shutdown.3 index 13503c495b..5f7aa65d34 100644 --- a/secure/lib/libssl/man/SSL_shutdown.3 +++ b/secure/lib/libssl/man/SSL_shutdown.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_shutdown 3" -.TH SSL_shutdown 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_shutdown 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_state_string.3 b/secure/lib/libssl/man/SSL_state_string.3 index 8aa107cc3c..404d7d9be1 100644 --- a/secure/lib/libssl/man/SSL_state_string.3 +++ b/secure/lib/libssl/man/SSL_state_string.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_state_string 3" -.TH SSL_state_string 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_state_string 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_want.3 b/secure/lib/libssl/man/SSL_want.3 index ea7f29ee88..d1527f4fa6 100644 --- a/secure/lib/libssl/man/SSL_want.3 +++ b/secure/lib/libssl/man/SSL_want.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_want 3" -.TH SSL_want 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_want 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/SSL_write.3 b/secure/lib/libssl/man/SSL_write.3 index ccb746a5aa..1231a6522e 100644 --- a/secure/lib/libssl/man/SSL_write.3 +++ b/secure/lib/libssl/man/SSL_write.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SSL_write 3" -.TH SSL_write 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SSL_write 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/d2i_SSL_SESSION.3 b/secure/lib/libssl/man/d2i_SSL_SESSION.3 index d459a8fb1d..4c12022e03 100644 --- a/secure/lib/libssl/man/d2i_SSL_SESSION.3 +++ b/secure/lib/libssl/man/d2i_SSL_SESSION.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "d2i_SSL_SESSION 3" -.TH d2i_SSL_SESSION 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH d2i_SSL_SESSION 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/lib/libssl/man/ssl.3 b/secure/lib/libssl/man/ssl.3 index bcbdf758cd..fea478df37 100644 --- a/secure/lib/libssl/man/ssl.3 +++ b/secure/lib/libssl/man/ssl.3 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ssl 3" -.TH ssl 3 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ssl 3 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/CA.pl.1 b/secure/usr.bin/openssl/man/CA.pl.1 index a81e84da9a..48d36ac9a0 100644 --- a/secure/usr.bin/openssl/man/CA.pl.1 +++ b/secure/usr.bin/openssl/man/CA.pl.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CA.PL 1" -.TH CA.PL 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CA.PL 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -160,12 +160,12 @@ by the use of some simple options. prints a usage message. .IP "\fB\-newcert\fR" 4 .IX Item "-newcert" -creates a new self signed certificate. The private key and certificate are -written to the file \*(L"newreq.pem\*(R". +creates a new self signed certificate. The private key is written to the file +\&\*(L"newkey.pem\*(R" and the request written to the file \*(L"newreq.pem\*(R". .IP "\fB\-newreq\fR" 4 .IX Item "-newreq" -creates a new certificate request. The private key and request are -written to the file \*(L"newreq.pem\*(R". +creates a new certificate request. The private key is written to the file +\&\*(L"newkey.pem\*(R" and the request written to the file \*(L"newreq.pem\*(R". .IP "\fB\-newreq\-nodes\fR" 4 .IX Item "-newreq-nodes" is like \fB\-newreq\fR except that the private key will not be encrypted. diff --git a/secure/usr.bin/openssl/man/asn1parse.1 b/secure/usr.bin/openssl/man/asn1parse.1 index 4219ef6653..b8c4fea13d 100644 --- a/secure/usr.bin/openssl/man/asn1parse.1 +++ b/secure/usr.bin/openssl/man/asn1parse.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ASN1PARSE 1" -.TH ASN1PARSE 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ASN1PARSE 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/ca.1 b/secure/usr.bin/openssl/man/ca.1 index b839bf2e8c..f7bfb0f01f 100644 --- a/secure/usr.bin/openssl/man/ca.1 +++ b/secure/usr.bin/openssl/man/ca.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CA 1" -.TH CA 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CA 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/ciphers.1 b/secure/usr.bin/openssl/man/ciphers.1 index fdcb4cfaef..3145b9fd24 100644 --- a/secure/usr.bin/openssl/man/ciphers.1 +++ b/secure/usr.bin/openssl/man/ciphers.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CIPHERS 1" -.TH CIPHERS 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CIPHERS 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/cms.1 b/secure/usr.bin/openssl/man/cms.1 index ac30775155..10082300e5 100644 --- a/secure/usr.bin/openssl/man/cms.1 +++ b/secure/usr.bin/openssl/man/cms.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CMS 1" -.TH CMS 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CMS 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/config.5 b/secure/usr.bin/openssl/man/config.5 index de1b9b593f..0d903c0838 100644 --- a/secure/usr.bin/openssl/man/config.5 +++ b/secure/usr.bin/openssl/man/config.5 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CONFIG 5" -.TH CONFIG 5 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CONFIG 5 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/crl.1 b/secure/usr.bin/openssl/man/crl.1 index 4a2714eef7..fc797e0aa9 100644 --- a/secure/usr.bin/openssl/man/crl.1 +++ b/secure/usr.bin/openssl/man/crl.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CRL 1" -.TH CRL 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CRL 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/crl2pkcs7.1 b/secure/usr.bin/openssl/man/crl2pkcs7.1 index 1845155f6b..db10c46ff4 100644 --- a/secure/usr.bin/openssl/man/crl2pkcs7.1 +++ b/secure/usr.bin/openssl/man/crl2pkcs7.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "CRL2PKCS7 1" -.TH CRL2PKCS7 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH CRL2PKCS7 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/dgst.1 b/secure/usr.bin/openssl/man/dgst.1 index 9cdac13a17..18d49f6e64 100644 --- a/secure/usr.bin/openssl/man/dgst.1 +++ b/secure/usr.bin/openssl/man/dgst.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DGST 1" -.TH DGST 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH DGST 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/dhparam.1 b/secure/usr.bin/openssl/man/dhparam.1 index 5aee1ba534..ccc0892d98 100644 --- a/secure/usr.bin/openssl/man/dhparam.1 +++ b/secure/usr.bin/openssl/man/dhparam.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DHPARAM 1" -.TH DHPARAM 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH DHPARAM 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/dsa.1 b/secure/usr.bin/openssl/man/dsa.1 index f74fe4502d..3a1e3898da 100644 --- a/secure/usr.bin/openssl/man/dsa.1 +++ b/secure/usr.bin/openssl/man/dsa.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DSA 1" -.TH DSA 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH DSA 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/dsaparam.1 b/secure/usr.bin/openssl/man/dsaparam.1 index 226f2821c2..0dc14532bc 100644 --- a/secure/usr.bin/openssl/man/dsaparam.1 +++ b/secure/usr.bin/openssl/man/dsaparam.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "DSAPARAM 1" -.TH DSAPARAM 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH DSAPARAM 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/ec.1 b/secure/usr.bin/openssl/man/ec.1 index 5159050cd1..3e63c829e4 100644 --- a/secure/usr.bin/openssl/man/ec.1 +++ b/secure/usr.bin/openssl/man/ec.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EC 1" -.TH EC 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH EC 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/ecparam.1 b/secure/usr.bin/openssl/man/ecparam.1 index f5a64af6db..84aee6dd61 100644 --- a/secure/usr.bin/openssl/man/ecparam.1 +++ b/secure/usr.bin/openssl/man/ecparam.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ECPARAM 1" -.TH ECPARAM 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ECPARAM 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/enc.1 b/secure/usr.bin/openssl/man/enc.1 index 0f9e6a5757..243aba9e3b 100644 --- a/secure/usr.bin/openssl/man/enc.1 +++ b/secure/usr.bin/openssl/man/enc.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ENC 1" -.TH ENC 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ENC 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/errstr.1 b/secure/usr.bin/openssl/man/errstr.1 index f9cfdb5408..2e0ed19c43 100644 --- a/secure/usr.bin/openssl/man/errstr.1 +++ b/secure/usr.bin/openssl/man/errstr.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "ERRSTR 1" -.TH ERRSTR 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH ERRSTR 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/gendsa.1 b/secure/usr.bin/openssl/man/gendsa.1 index cc9a00c5a1..f58527b756 100644 --- a/secure/usr.bin/openssl/man/gendsa.1 +++ b/secure/usr.bin/openssl/man/gendsa.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "GENDSA 1" -.TH GENDSA 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH GENDSA 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/genpkey.1 b/secure/usr.bin/openssl/man/genpkey.1 index 33b03566eb..0d58e81b06 100644 --- a/secure/usr.bin/openssl/man/genpkey.1 +++ b/secure/usr.bin/openssl/man/genpkey.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "GENPKEY 1" -.TH GENPKEY 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH GENPKEY 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/genrsa.1 b/secure/usr.bin/openssl/man/genrsa.1 index 6ef4f47bf7..eeddb1bb79 100644 --- a/secure/usr.bin/openssl/man/genrsa.1 +++ b/secure/usr.bin/openssl/man/genrsa.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "GENRSA 1" -.TH GENRSA 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH GENRSA 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/nseq.1 b/secure/usr.bin/openssl/man/nseq.1 index db1bb49f41..bfeabb4f76 100644 --- a/secure/usr.bin/openssl/man/nseq.1 +++ b/secure/usr.bin/openssl/man/nseq.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "NSEQ 1" -.TH NSEQ 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH NSEQ 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/ocsp.1 b/secure/usr.bin/openssl/man/ocsp.1 index a2ecf0cae2..5ae832c873 100644 --- a/secure/usr.bin/openssl/man/ocsp.1 +++ b/secure/usr.bin/openssl/man/ocsp.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OCSP 1" -.TH OCSP 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH OCSP 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/openssl.1 b/secure/usr.bin/openssl/man/openssl.1 index f7c143d98c..6dc18240c9 100644 --- a/secure/usr.bin/openssl/man/openssl.1 +++ b/secure/usr.bin/openssl/man/openssl.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "OPENSSL 1" -.TH OPENSSL 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH OPENSSL 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/passwd.1 b/secure/usr.bin/openssl/man/passwd.1 index cf1e229f69..0a88922c1a 100644 --- a/secure/usr.bin/openssl/man/passwd.1 +++ b/secure/usr.bin/openssl/man/passwd.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PASSWD 1" -.TH PASSWD 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH PASSWD 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/pkcs12.1 b/secure/usr.bin/openssl/man/pkcs12.1 index 9535821b17..0a062e9935 100644 --- a/secure/usr.bin/openssl/man/pkcs12.1 +++ b/secure/usr.bin/openssl/man/pkcs12.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKCS12 1" -.TH PKCS12 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH PKCS12 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/pkcs7.1 b/secure/usr.bin/openssl/man/pkcs7.1 index 54661ff607..7102380b12 100644 --- a/secure/usr.bin/openssl/man/pkcs7.1 +++ b/secure/usr.bin/openssl/man/pkcs7.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKCS7 1" -.TH PKCS7 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH PKCS7 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/pkcs8.1 b/secure/usr.bin/openssl/man/pkcs8.1 index c9e8730018..8a7356c3cc 100644 --- a/secure/usr.bin/openssl/man/pkcs8.1 +++ b/secure/usr.bin/openssl/man/pkcs8.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKCS8 1" -.TH PKCS8 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH PKCS8 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/pkey.1 b/secure/usr.bin/openssl/man/pkey.1 index a6d28cb567..c84ca361d7 100644 --- a/secure/usr.bin/openssl/man/pkey.1 +++ b/secure/usr.bin/openssl/man/pkey.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKEY 1" -.TH PKEY 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH PKEY 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/pkeyparam.1 b/secure/usr.bin/openssl/man/pkeyparam.1 index 2c848d1844..35ef27b4f2 100644 --- a/secure/usr.bin/openssl/man/pkeyparam.1 +++ b/secure/usr.bin/openssl/man/pkeyparam.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKEYPARAM 1" -.TH PKEYPARAM 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH PKEYPARAM 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/pkeyutl.1 b/secure/usr.bin/openssl/man/pkeyutl.1 index 05988dab59..63317bcad4 100644 --- a/secure/usr.bin/openssl/man/pkeyutl.1 +++ b/secure/usr.bin/openssl/man/pkeyutl.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "PKEYUTL 1" -.TH PKEYUTL 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH PKEYUTL 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/rand.1 b/secure/usr.bin/openssl/man/rand.1 index 7193ddad19..28a1a421a8 100644 --- a/secure/usr.bin/openssl/man/rand.1 +++ b/secure/usr.bin/openssl/man/rand.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RAND 1" -.TH RAND 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RAND 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/req.1 b/secure/usr.bin/openssl/man/req.1 index 9887302d7a..7c06175394 100644 --- a/secure/usr.bin/openssl/man/req.1 +++ b/secure/usr.bin/openssl/man/req.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "REQ 1" -.TH REQ 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH REQ 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/rsa.1 b/secure/usr.bin/openssl/man/rsa.1 index 7e828e5a4d..6518bcec51 100644 --- a/secure/usr.bin/openssl/man/rsa.1 +++ b/secure/usr.bin/openssl/man/rsa.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSA 1" -.TH RSA 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RSA 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/rsautl.1 b/secure/usr.bin/openssl/man/rsautl.1 index c65a9af0d9..3d76fb3823 100644 --- a/secure/usr.bin/openssl/man/rsautl.1 +++ b/secure/usr.bin/openssl/man/rsautl.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "RSAUTL 1" -.TH RSAUTL 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH RSAUTL 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/s_client.1 b/secure/usr.bin/openssl/man/s_client.1 index 20d15ae416..dcee1d3e00 100644 --- a/secure/usr.bin/openssl/man/s_client.1 +++ b/secure/usr.bin/openssl/man/s_client.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "S_CLIENT 1" -.TH S_CLIENT 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH S_CLIENT 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/s_server.1 b/secure/usr.bin/openssl/man/s_server.1 index 8069aba6f4..5fd8dbe3f5 100644 --- a/secure/usr.bin/openssl/man/s_server.1 +++ b/secure/usr.bin/openssl/man/s_server.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "S_SERVER 1" -.TH S_SERVER 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH S_SERVER 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/s_time.1 b/secure/usr.bin/openssl/man/s_time.1 index c3f0c873ac..3ccd870c7d 100644 --- a/secure/usr.bin/openssl/man/s_time.1 +++ b/secure/usr.bin/openssl/man/s_time.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "S_TIME 1" -.TH S_TIME 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH S_TIME 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/sess_id.1 b/secure/usr.bin/openssl/man/sess_id.1 index ba97463fb9..9220d01a8e 100644 --- a/secure/usr.bin/openssl/man/sess_id.1 +++ b/secure/usr.bin/openssl/man/sess_id.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SESS_ID 1" -.TH SESS_ID 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SESS_ID 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/smime.1 b/secure/usr.bin/openssl/man/smime.1 index e98619fb03..7478a86ee7 100644 --- a/secure/usr.bin/openssl/man/smime.1 +++ b/secure/usr.bin/openssl/man/smime.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SMIME 1" -.TH SMIME 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SMIME 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/speed.1 b/secure/usr.bin/openssl/man/speed.1 index b92d00ee32..8575744882 100644 --- a/secure/usr.bin/openssl/man/speed.1 +++ b/secure/usr.bin/openssl/man/speed.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SPEED 1" -.TH SPEED 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SPEED 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/spkac.1 b/secure/usr.bin/openssl/man/spkac.1 index 6613310cd4..f79aed742f 100644 --- a/secure/usr.bin/openssl/man/spkac.1 +++ b/secure/usr.bin/openssl/man/spkac.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "SPKAC 1" -.TH SPKAC 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH SPKAC 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/ts.1 b/secure/usr.bin/openssl/man/ts.1 index c8b22b8ee9..9367cbfa74 100644 --- a/secure/usr.bin/openssl/man/ts.1 +++ b/secure/usr.bin/openssl/man/ts.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "TS 1" -.TH TS 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH TS 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/tsget.1 b/secure/usr.bin/openssl/man/tsget.1 index 63b99c403f..21cc45fa44 100644 --- a/secure/usr.bin/openssl/man/tsget.1 +++ b/secure/usr.bin/openssl/man/tsget.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "TSGET 1" -.TH TSGET 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH TSGET 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/verify.1 b/secure/usr.bin/openssl/man/verify.1 index 9147e6420f..dc0bed3489 100644 --- a/secure/usr.bin/openssl/man/verify.1 +++ b/secure/usr.bin/openssl/man/verify.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "VERIFY 1" -.TH VERIFY 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH VERIFY 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -174,63 +174,64 @@ in \s-1PEM\s0 format concatenated together. .IP "\fB\-untrusted file\fR" 4 .IX Item "-untrusted file" A file of untrusted certificates. The file should contain multiple certificates +in \s-1PEM\s0 format concatenated together. .IP "\fB\-purpose purpose\fR" 4 .IX Item "-purpose purpose" -the intended use for the certificate. Without this option no chain verification -will be done. Currently accepted uses are \fBsslclient\fR, \fBsslserver\fR, -\&\fBnssslserver\fR, \fBsmimesign\fR, \fBsmimeencrypt\fR. See the \fB\s-1VERIFY\s0 \s-1OPERATION\s0\fR -section for more information. +The intended use for the certificate. If this option is not specified, +\&\fBverify\fR will not consider certificate purpose during chain verification. +Currently accepted uses are \fBsslclient\fR, \fBsslserver\fR, \fBnssslserver\fR, +\&\fBsmimesign\fR, \fBsmimeencrypt\fR. See the \fB\s-1VERIFY\s0 \s-1OPERATION\s0\fR section for more +information. .IP "\fB\-help\fR" 4 .IX Item "-help" -prints out a usage message. +Print out a usage message. .IP "\fB\-verbose\fR" 4 .IX Item "-verbose" -print extra information about the operations being performed. +Print extra information about the operations being performed. .IP "\fB\-issuer_checks\fR" 4 .IX Item "-issuer_checks" -print out diagnostics relating to searches for the issuer certificate -of the current certificate. This shows why each candidate issuer -certificate was rejected. However the presence of rejection messages -does not itself imply that anything is wrong: during the normal -verify process several rejections may take place. +Print out diagnostics relating to searches for the issuer certificate of the +current certificate. This shows why each candidate issuer certificate was +rejected. The presence of rejection messages does not itself imply that +anything is wrong; during the normal verification process, several +rejections may take place. .IP "\fB\-policy arg\fR" 4 .IX Item "-policy arg" -Enable policy processing and add \fBarg\fR to the user-initial-policy-set -(see \s-1RFC3280\s0 et al). The policy \fBarg\fR can be an object name an \s-1OID\s0 in numeric -form. This argument can appear more than once. +Enable policy processing and add \fBarg\fR to the user-initial-policy-set (see +\&\s-1RFC5280\s0). The policy \fBarg\fR can be an object name an \s-1OID\s0 in numeric form. +This argument can appear more than once. .IP "\fB\-policy_check\fR" 4 .IX Item "-policy_check" Enables certificate policy processing. .IP "\fB\-explicit_policy\fR" 4 .IX Item "-explicit_policy" -Set policy variable require-explicit-policy (see \s-1RFC3280\s0 et al). +Set policy variable require-explicit-policy (see \s-1RFC5280\s0). .IP "\fB\-inhibit_any\fR" 4 .IX Item "-inhibit_any" -Set policy variable inhibit-any-policy (see \s-1RFC3280\s0 et al). +Set policy variable inhibit-any-policy (see \s-1RFC5280\s0). .IP "\fB\-inhibit_map\fR" 4 .IX Item "-inhibit_map" -Set policy variable inhibit-policy-mapping (see \s-1RFC3280\s0 et al). +Set policy variable inhibit-policy-mapping (see \s-1RFC5280\s0). .IP "\fB\-policy_print\fR" 4 .IX Item "-policy_print" -Print out diagnostics, related to policy checking +Print out diagnostics related to policy processing. .IP "\fB\-crl_check\fR" 4 .IX Item "-crl_check" -Checks end entity certificate validity by attempting to lookup a valid \s-1CRL\s0. +Checks end entity certificate validity by attempting to look up a valid \s-1CRL\s0. If a valid \s-1CRL\s0 cannot be found an error occurs. .IP "\fB\-crl_check_all\fR" 4 .IX Item "-crl_check_all" Checks the validity of \fBall\fR certificates in the chain by attempting -to lookup valid CRLs. +to look up valid CRLs. .IP "\fB\-ignore_critical\fR" 4 .IX Item "-ignore_critical" Normally if an unhandled critical extension is present which is not -supported by OpenSSL the certificate is rejected (as required by -\&\s-1RFC3280\s0 et al). If this option is set critical extensions are -ignored. +supported by OpenSSL the certificate is rejected (as required by \s-1RFC5280\s0). +If this option is set critical extensions are ignored. .IP "\fB\-x509_strict\fR" 4 .IX Item "-x509_strict" -Disable workarounds for broken certificates which have to be disabled -for strict X.509 compliance. +For strict X.509 compliance, disable non-compliant workarounds for broken +certificates. .IP "\fB\-extended_crl\fR" 4 .IX Item "-extended_crl" Enable extended \s-1CRL\s0 features such as indirect CRLs and alternate \s-1CRL\s0 @@ -244,14 +245,14 @@ Verify the signature on the self-signed root \s-1CA\s0. This is disabled by defa because it doesn't add any security. .IP "\fB\-\fR" 4 .IX Item "-" -marks the last option. All arguments following this are assumed to be +Indicates the last option. All arguments following this are assumed to be certificate files. This is useful if the first certificate filename begins with a \fB\-\fR. .IP "\fBcertificates\fR" 4 .IX Item "certificates" -one or more certificates to verify. If no certificate filenames are included -then an attempt is made to read a certificate from standard input. They should -all be in \s-1PEM\s0 format. +One or more certificates to verify. If no certificates are given, \fBverify\fR +will attempt to read a certificate from standard input. Certificates must be +in \s-1PEM\s0 format. .SH "VERIFY OPERATION" .IX Header "VERIFY OPERATION" The \fBverify\fR program uses the same functions as the internal \s-1SSL\s0 and S/MIME diff --git a/secure/usr.bin/openssl/man/version.1 b/secure/usr.bin/openssl/man/version.1 index 5f0d15817a..5689a9c1eb 100644 --- a/secure/usr.bin/openssl/man/version.1 +++ b/secure/usr.bin/openssl/man/version.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "VERSION 1" -.TH VERSION 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH VERSION 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/secure/usr.bin/openssl/man/x509.1 b/secure/usr.bin/openssl/man/x509.1 index 7e3306be81..7562a6f2f8 100644 --- a/secure/usr.bin/openssl/man/x509.1 +++ b/secure/usr.bin/openssl/man/x509.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509 1" -.TH X509 1 "2012-05-10" "1.0.1c" "OpenSSL" +.TH X509 1 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -155,6 +155,7 @@ x509 \- Certificate display and signing utility [\fB\-purpose\fR] [\fB\-dates\fR] [\fB\-modulus\fR] +[\fB\-pubkey\fR] [\fB\-fingerprint\fR] [\fB\-alias\fR] [\fB\-noout\fR] @@ -243,6 +244,9 @@ section for more information. .IP "\fB\-noout\fR" 4 .IX Item "-noout" this option prevents output of the encoded version of the request. +.IP "\fB\-pubkey\fR" 4 +.IX Item "-pubkey" +outputs the the certificate's SubjectPublicKeyInfo block in \s-1PEM\s0 format. .IP "\fB\-modulus\fR" 4 .IX Item "-modulus" this option prints out the value of the modulus of the public key diff --git a/secure/usr.bin/openssl/man/x509v3_config.5 b/secure/usr.bin/openssl/man/x509v3_config.5 index d06e4b1bb4..ffdfc88760 100644 --- a/secure/usr.bin/openssl/man/x509v3_config.5 +++ b/secure/usr.bin/openssl/man/x509v3_config.5 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.19) +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.23) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "X509V3_CONFIG 5" -.TH X509V3_CONFIG 5 "2012-05-10" "1.0.1c" "OpenSSL" +.TH X509V3_CONFIG 5 "2013-02-05" "1.0.1d" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l -- 2.41.0 From a834075aac70cf3ca01ed23d8220fb556730fe06 Mon Sep 17 00:00:00 2001 From: John Marino Date: Sun, 10 Feb 2013 12:32:58 +0100 Subject: [PATCH 05/16] libcsu: Assign environment when environ is NULL Preloaded libraries can change the environment. The current logic will unconditionally reassign the environment, undoing any previous customization. This change preserves the previous customization. Taken-from: FreeBSD SVN 245133 (07 Jan 2013) --- lib/csu/common/initfini.c | 14 +++++++++----- lib/csu/i386/crt1_c.c | 4 +--- lib/csu/x86_64/crt1.c | 4 +--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/lib/csu/common/initfini.c b/lib/csu/common/initfini.c index a6760bb0ad..48dd815ad2 100644 --- a/lib/csu/common/initfini.c +++ b/lib/csu/common/initfini.c @@ -84,14 +84,18 @@ handle_static_init(int argc, char **argv, char **env) } static inline void -handle_progname(const char *v) +handle_argv(int argc, char *argv[], char **env) { const char *s; - __progname = v; - for (s = __progname; *s != '\0'; s++) { - if (*s == '/') - __progname = s + 1; + if (environ == NULL) + environ = env; + if (argc > 0 && argv[0] != NULL) { + __progname = argv[0]; + for (s = __progname; *s != '\0'; s++) { + if (*s == '/') + __progname = s + 1; + } } } diff --git a/lib/csu/i386/crt1_c.c b/lib/csu/i386/crt1_c.c index 79c696f560..d9b1fad505 100644 --- a/lib/csu/i386/crt1_c.c +++ b/lib/csu/i386/crt1_c.c @@ -57,9 +57,7 @@ _start1(fptr cleanup, int argc, char *argv[]) char **env; env = argv + argc + 1; - environ = env; - if (argc > 0 && argv[0] != NULL) - handle_progname(argv[0]); + handle_argv(argc, argv, env); /* * Setup the initial TLS space. The RTLD does not set up our TLS diff --git a/lib/csu/x86_64/crt1.c b/lib/csu/x86_64/crt1.c index 665eef8021..d1acef8460 100644 --- a/lib/csu/x86_64/crt1.c +++ b/lib/csu/x86_64/crt1.c @@ -56,9 +56,7 @@ _start(char **ap, void (*cleanup)(void)) argc = *(long *)(void *)ap; argv = ap + 1; env = ap + 2 + argc; - environ = env; - if (argc > 0 && argv[0] != NULL) - handle_progname(argv[0]); + handle_argv(argc, argv, env); /* * Setup the initial TLS space. The RTLD does not set up our TLS -- 2.41.0 From 43f215d7ae5eaf13c577c047866e785b2a415110 Mon Sep 17 00:00:00 2001 From: Sascha Wildner Date: Sun, 10 Feb 2013 22:05:25 +0100 Subject: [PATCH 06/16] kernel: Nuke ISA sound card support. This removes the following modules: snd_ad1816.ko snd_ess.ko snd_mss.ko snd_sb8.ko snd_sb16.ko snd_sbc.ko --- Makefile_upgrade.inc | 26 + UPDATING | 6 + share/man/man4/Makefile | 9 - share/man/man4/gusc.4 | 74 - share/man/man4/isa.4 | 13 +- share/man/man4/man4.i386/Makefile | 1 - share/man/man4/man4.i386/sb.4 | 79 - share/man/man4/pcm.4 | 13 +- share/man/man4/sbc.4 | 76 - share/man/man4/snd_ad1816.4 | 78 - share/man/man4/snd_ess.4 | 73 - share/man/man4/snd_gusc.4 | 93 -- share/man/man4/snd_mss.4 | 113 -- share/man/man4/snd_sbc.4 | 128 -- share/man/man4/snd_solo.4 | 8 +- sys/boot/dloader/loader-bootp.conf | 7 - sys/boot/dloader/loader.conf | 7 - sys/conf/files | 8 - sys/config/LINT | 28 +- sys/config/LINT64 | 28 +- sys/dev/sound/driver.c | 8 - sys/dev/sound/driver/Makefile | 6 +- sys/dev/sound/driver/ad1816/Makefile | 10 - sys/dev/sound/driver/ess/Makefile | 10 - sys/dev/sound/driver/hda/Makefile | 3 +- sys/dev/sound/driver/mss/Makefile | 10 - sys/dev/sound/driver/sb16/Makefile | 10 - sys/dev/sound/driver/sb8/Makefile | 10 - sys/dev/sound/driver/sbc/Makefile | 10 - sys/dev/sound/driver/spicds/Makefile | 3 +- sys/dev/sound/isa/ad1816.c | 688 -------- sys/dev/sound/isa/ad1816.h | 72 - sys/dev/sound/isa/ess.c | 1012 ------------ sys/dev/sound/isa/gusc.c | 651 -------- sys/dev/sound/isa/mss.c | 2290 -------------------------- sys/dev/sound/isa/mss.h | 417 ----- sys/dev/sound/isa/sb16.c | 911 ---------- sys/dev/sound/isa/sb8.c | 803 --------- sys/dev/sound/isa/sbc.c | 736 --------- sys/dev/sound/isa/sndbuf_dma.c | 106 -- sys/dev/sound/pci/als4000.c | 2 +- sys/dev/sound/pci/cmi.c | 1 - sys/dev/sound/{isa => pci}/sb.h | 12 +- sys/dev/sound/pci/solo.c | 2 +- sys/dev/sound/pcm/Makefile | 20 +- sys/dev/sound/pcm/channel.c | 16 - sys/dev/sound/pcm/sound.h | 4 - sys/platform/pc32/i386/userconfig.c | 3 - 48 files changed, 51 insertions(+), 8643 deletions(-) delete mode 100644 share/man/man4/gusc.4 delete mode 100644 share/man/man4/man4.i386/sb.4 delete mode 100644 share/man/man4/sbc.4 delete mode 100644 share/man/man4/snd_ad1816.4 delete mode 100644 share/man/man4/snd_ess.4 delete mode 100644 share/man/man4/snd_gusc.4 delete mode 100644 share/man/man4/snd_mss.4 delete mode 100644 share/man/man4/snd_sbc.4 delete mode 100644 sys/dev/sound/driver/ad1816/Makefile delete mode 100644 sys/dev/sound/driver/ess/Makefile delete mode 100644 sys/dev/sound/driver/mss/Makefile delete mode 100644 sys/dev/sound/driver/sb16/Makefile delete mode 100644 sys/dev/sound/driver/sb8/Makefile delete mode 100644 sys/dev/sound/driver/sbc/Makefile delete mode 100644 sys/dev/sound/isa/ad1816.c delete mode 100644 sys/dev/sound/isa/ad1816.h delete mode 100644 sys/dev/sound/isa/ess.c delete mode 100644 sys/dev/sound/isa/gusc.c delete mode 100644 sys/dev/sound/isa/mss.c delete mode 100644 sys/dev/sound/isa/mss.h delete mode 100644 sys/dev/sound/isa/sb16.c delete mode 100644 sys/dev/sound/isa/sb8.c delete mode 100644 sys/dev/sound/isa/sbc.c delete mode 100644 sys/dev/sound/isa/sndbuf_dma.c rename sys/dev/sound/{isa => pci}/sb.h (95%) diff --git a/Makefile_upgrade.inc b/Makefile_upgrade.inc index 5c1cac0110..ac0cb5feb8 100644 --- a/Makefile_upgrade.inc +++ b/Makefile_upgrade.inc @@ -2127,6 +2127,32 @@ TO_REMOVE+=/usr/share/man/cat1/lint.1.gz TO_REMOVE+=/usr/share/man/man1/lint.1.gz TO_REMOVE+=/usr/share/openssl/man/cat3/EVP_PKEY_verifyrecover.3.gz TO_REMOVE+=/usr/share/openssl/man/man3/EVP_PKEY_verifyrecover.3.gz +TO_REMOVE+=/boot/kernel/snd_ad1816.ko +TO_REMOVE+=/boot/kernel/snd_ess.ko +TO_REMOVE+=/boot/kernel/snd_mss.ko +TO_REMOVE+=/boot/kernel/snd_sb8.ko +TO_REMOVE+=/boot/kernel/snd_sb16.ko +TO_REMOVE+=/boot/kernel/snd_sbc.ko +TO_REMOVE+=/usr/share/man/cat4/gusc.4.gz +TO_REMOVE+=/usr/share/man/man4/gusc.4.gz +TO_REMOVE+=/usr/share/man/cat4/i386/sb.4.gz +TO_REMOVE+=/usr/share/man/man4/i386/sb.4.gz +TO_REMOVE+=/usr/share/man/cat4/sbc.4.gz +TO_REMOVE+=/usr/share/man/man4/sbc.4.gz +TO_REMOVE+=/usr/share/man/cat4/snd_ad1816.4.gz +TO_REMOVE+=/usr/share/man/man4/snd_ad1816.4.gz +TO_REMOVE+=/usr/share/man/cat4/snd_ess.4.gz +TO_REMOVE+=/usr/share/man/man4/snd_ess.4.gz +TO_REMOVE+=/usr/share/man/cat4/snd_gusc.4.gz +TO_REMOVE+=/usr/share/man/man4/snd_gusc.4.gz +TO_REMOVE+=/usr/share/man/cat4/snd_mss.4.gz +TO_REMOVE+=/usr/share/man/man4/snd_mss.4.gz +TO_REMOVE+=/usr/share/man/cat4/snd_sb8.4.gz +TO_REMOVE+=/usr/share/man/man4/snd_sb8.4.gz +TO_REMOVE+=/usr/share/man/cat4/snd_sb16.4.gz +TO_REMOVE+=/usr/share/man/man4/snd_sb16.4.gz +TO_REMOVE+=/usr/share/man/cat4/snd_sbc.4.gz +TO_REMOVE+=/usr/share/man/man4/snd_sbc.4.gz .if ${MACHINE_ARCH} == "x86_64" TO_REMOVE+=/usr/sbin/stlstats diff --git a/UPDATING b/UPDATING index 51babbe30f..362547b8fa 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,12 @@ + UPGRADING DRAGONFLY FROM 3.2 to later versions + +-----------------------------------------------------------------------+ +ISA SOUND CARD SUPPORT REMOVED +------------------------------ + +The following modules have been removed (all for ISA sound cards): +snd_ad1816.ko, snd_ess.ko, snd_mss.ko, snd_sb8.ko, snd_sb16.ko, snd_sbc.ko + GCC 4.7 ------- diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index f5503b557f..8c3ad5c51a 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -103,7 +103,6 @@ MAN= aac.4 \ gdb.4 \ gif.4 \ gre.4 \ - gusc.4 \ hifn.4 \ hpt27xx.4 \ hptiop.4 \ @@ -251,7 +250,6 @@ MAN= aac.4 \ rue.4 \ sa.4 \ safe.4 \ - sbc.4 \ sbp.4 \ sbsh.4 \ screen.4 \ @@ -271,7 +269,6 @@ MAN= aac.4 \ smbus.4 \ smp.4 \ sn.4 \ - snd_ad1816.4 \ snd_als4000.4 \ snd_atiixp.4 \ snd_cmi.4 \ @@ -282,16 +279,12 @@ MAN= aac.4 \ snd_envy24.4 \ snd_envy24ht.4 \ snd_es137x.4 \ - snd_ess.4 \ snd_fm801.4 \ - snd_gusc.4 \ snd_hda.4 \ snd_ich.4 \ snd_maestro3.4 \ snd_maestro.4 \ - snd_mss.4 \ snd_neomagic.4 \ - snd_sbc.4 \ snd_solo.4 \ snd_spicds.4 \ snd_t4dwave.4 \ @@ -489,8 +482,6 @@ MLINKS+=sk.4 if_sk.4 MLINKS+=sl.4 if_sl.4 MLINKS+=sln.4 if_sln.4 MLINKS+=smp.4 SMP.4 -MLINKS+=snd_sbc.4 snd_sb16.4 \ - snd_sbc.4 snd_sb8.4 MLINKS+=splash.4 screensaver.4 MLINKS+=ste.4 if_ste.4 MLINKS+=stf.4 if_stf.4 diff --git a/share/man/man4/gusc.4 b/share/man/man4/gusc.4 deleted file mode 100644 index d345a9c214..0000000000 --- a/share/man/man4/gusc.4 +++ /dev/null @@ -1,74 +0,0 @@ -.\" -.\" Copyright (c) 1999 Seigo Tanimura -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $FreeBSD: src/share/man/man4/gusc.4,v 1.3.2.3 2001/08/17 13:08:37 ru Exp $ -.\" $DragonFly: src/share/man/man4/gusc.4,v 1.3 2006/02/17 19:37:09 swildner Exp $ -.\" -.Dd December 18, 1999 -.Dt GUSC 4 -.Os -.Sh NAME -.Nm gusc -.Nd Gravis UltraSound ISA bridge device driver -.Sh SYNOPSIS -For PnP cards: -.Cd "device gusc" -.Pp -For non-PnP cards: -.Cd "device gusc0 at isa? port 0x220 irq 5 drq 1 flags 0x13" -.Sh DESCRIPTION -The -.Nm -bridge driver allows the generic audio drivers including -.Xr pcm 4 -to attach to the following ISA sound cards: -.Bl -bullet -width 2m -.It -Gravis UltraSound PnP -.It -Gravis UltraSound MAX -.El -.Pp -The value of flags specifies the secondary DMA channel. -If the secondary -DMA channel is C, set the flags to (C | 0x10). For a sound card without the -secondary DMA channel, the flags should be set to zero. -.Sh DIAGNOSTICS -.Bl -diag -.It xxx: gus pcm not attached, out of memory -There are not enough memory to drive the device. -.El -.Sh SEE ALSO -.Xr pcm 4 -.Sh HISTORY -The -.Nm -device driver first appeared in -.Fx 4.0 . -.Sh AUTHORS -.An Ville-Pertti Keinonen Aq will@iki.fi -.An Seigo Tanimura Aq tanimura@r.dl.itc.u-tokyo.ac.jp -.Sh BUGS -Recording pcm sound data is not supported yet. diff --git a/share/man/man4/isa.4 b/share/man/man4/isa.4 index 5089dec4c6..df85586bac 100644 --- a/share/man/man4/isa.4 +++ b/share/man/man4/isa.4 @@ -31,7 +31,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd November 29, 2012 +.Dd February 10, 2013 .Dt ISA 4 .Os .Sh NAME @@ -106,17 +106,6 @@ SMC91Cxx ethernet adapter driver .It Xr sr 4 RISCom/N2 device driver .El -.Ss Sound cards -.Bl -tag -width 12n -offset indent -compact -.It Xr snd_ad1816 4 -Analog Devices AD1816 ISA bridge device driver -.It Xr snd_ess 4 -Ensoniq ESS ISA PnP/non-PnP bridge device driver -.It Xr snd_mss 4 -Microsoft Sound System ISA PnP/non-PnP bridge device driver -.It Xr snd_sbc 4 -Creative Sound Blaster ISA and compatible bridge device driver -.El .Ss Hardware Sensors & Watchdog Timers .Bl -tag -width 12n -offset indent -compact .It Xr amdsbwd 4 diff --git a/share/man/man4/man4.i386/Makefile b/share/man/man4/man4.i386/Makefile index 7236ee5104..7c14c02433 100644 --- a/share/man/man4/man4.i386/Makefile +++ b/share/man/man4/man4.i386/Makefile @@ -18,7 +18,6 @@ MAN= ar.4 \ perfmon.4 \ pnp.4 \ pnpbios.4 \ - sb.4 \ sbni.4 \ spkr.4 \ sr.4 \ diff --git a/share/man/man4/man4.i386/sb.4 b/share/man/man4/man4.i386/sb.4 deleted file mode 100644 index 9caf30bb07..0000000000 --- a/share/man/man4/man4.i386/sb.4 +++ /dev/null @@ -1,79 +0,0 @@ -.\" Man page for the SoundBlaster driver -.\" -.\" Copyright (c) 1997, Alex Zepeda. -.\" -.\" This documentation is public domain, and is provided without warranty. -.\" Alex Zepeda, the "author" of this page is not responsible for any -.\" consequences of any sort of manipulation of this document. -.\" -.\" SoundBlaster and any phrases including it's name are copyright -.\" Creative Labs, not me. -.\" -.\" alex!@bigfoot.com -.\" $FreeBSD: src/share/man/man4/man4.i386/sb.4,v 1.9.2.6 2002/12/20 18:03:05 trhodes Exp $ -.\" $DragonFly: src/share/man/man4/man4.i386/sb.4,v 1.4 2008/04/14 08:17:09 swildner Exp $ -.\" -.Dd August 9, 1997 -.Dt SB 4 i386 -.Os -.Sh NAME -.Nm sb -.Nd Creative Labs Sound Blaster and compatible device driver -.Sh SYNOPSIS -For all sound cards supported with the sb driver this is needed: -.Cd device snd0 -.Pp -For the SoundBlaster, SB Pro, SoundBlaster16, or the Pro Audio Spectrum -(emulating SB): -.Cd "device sb0 at isa? port 0x220 irq 7 drq 1" -.Pp -For specific SB16 support: -.Cd "device sbxvi0 at isa? drq 5" -.Pp -For SoundBlaster 16 16 bit MIDI support: -.Cd "device sbmidi0 at isa? port 0x300" -.Pp -To add Jazz16 support: -.Cd "options JAZZ16" -.Pp -To add support for the Logitech SoundMan Games: -.Cd "options SM_GAMES" -.Pp -To add SG NX Pro mixer support: -.Cd "options __SGNXPRO__" -.Pp -The OPL-2/3 is used in the SoundBlaster, SoundBlaster Pro, SB 16, and the -Pro Audio Spectrum. -For Yamaha OPL-2/OPL-3 FM support: -.Cd "device opl0 at isa? port 0x388" -.Sh DESCRIPTION -This driver covers the SoundBlaster family of cards including the -SoundBlaster 1.0 to the SoundBlaster 16/SoundBlaster 32. The awe driver -provides AWE32/64 functionality. This driver is provided in -.Fx -versions 2.0-current through 3.0-current. -.Sh SEE ALSO -.Xr cdcontrol 1 , -.Xr mixer 8 -.Sh HISTORY -Sound Galaxy NX Pro support added by Hunyue Yau (Jan 6 1994). MV -ProSonic/Jazz 16 16bit support added by JRA Gibson (April 1995). Audio -Excel DSP 16 support added by Riccardo Facchetti (March 24 1995). -.Sh AUTHORS -.An -nosplit -The original SoundBlaster DSP and SoundBlaster 16 MIDI, and Yamaha OPL-3 -drivers were written by -.An Hannu Savolainen . -The SoundBlaster 16 DSP code was written by -.An J. Schuber Aq jsb@sth.ruhr-uni-bochum.de . -Improvements to the OPL-3 drivers were made by -.An Rob Hooft Aq hooft@chem.ruu.nl . -.Sh BUGS -Since the SB16 uses the same IRQ and addresses for -the different drivers, some of the snd drivers will not be probed because -the kernel thinks there is a conflict. -.Pp -Current version doesn't support mode changes without closing and reopening -the device. -Support for this feature may be implemented in a future -version of this driver. diff --git a/share/man/man4/pcm.4 b/share/man/man4/pcm.4 index 5851f1c901..aabf313264 100644 --- a/share/man/man4/pcm.4 +++ b/share/man/man4/pcm.4 @@ -24,9 +24,8 @@ .\" SUCH DAMAGE. .\" .\" $FreeBSD: src/share/man/man4/pcm.4,v 1.39.2.6 2007/05/23 19:45:49 brueffer Exp $ -.\" $DragonFly: src/share/man/man4/pcm.4,v 1.8 2007/12/13 20:51:36 swildner Exp $ .\" -.Dd November 26, 2006 +.Dd February 10, 2013 .Dt SOUND 4 .Os .Sh NAME @@ -40,11 +39,6 @@ kernel configuration file: .Bd -ragged -offset indent .Cd "device pcm" .Ed -.Pp -For non-PnP sound cards: -.Bd -literal -offset indent -.Cd "device pcm0 at isa? port? irq 5 drq 1 flags 0x15" -.Ed .Sh DESCRIPTION The .Nm @@ -277,7 +271,6 @@ AC97 codec is not likely to be accompanied with the sound card. A device node is not created properly. .El .Sh SEE ALSO -.Xr snd_ad1816 4 , .Xr snd_als4000 4 , .Xr snd_atiixp 4 , .Xr snd_cmi 4 , @@ -288,16 +281,12 @@ A device node is not created properly. .Xr snd_envy24 4 , .Xr snd_envy24ht 4 , .Xr snd_es137x 4 , -.Xr snd_ess 4 , .Xr snd_fm801 4 , -.Xr snd_gusc 4 , .Xr snd_hda 4 , .Xr snd_ich 4 , .Xr snd_maestro 4 , .Xr snd_maestro3 4 , -.Xr snd_mss 4 , .Xr snd_neomagic 4 , -.Xr snd_sbc 4 , .Xr snd_solo 4 , .Xr snd_spicds 4 , .Xr snd_t4dwave 4 , diff --git a/share/man/man4/sbc.4 b/share/man/man4/sbc.4 deleted file mode 100644 index cb76477705..0000000000 --- a/share/man/man4/sbc.4 +++ /dev/null @@ -1,76 +0,0 @@ -.\" -.\" Copyright (c) 1999 Seigo Tanimura -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $FreeBSD: src/share/man/man4/sbc.4,v 1.3.2.4 2001/08/17 13:08:39 ru Exp $ -.\" $DragonFly: src/share/man/man4/sbc.4,v 1.3 2006/02/17 19:37:09 swildner Exp $ -.\" -.Dd December 18, 1999 -.Dt SBC 4 -.Os -.Sh NAME -.Nm sbc -.Nd Creative Sound Blaster ISA and compatible bridge device driver -.Sh SYNOPSIS -For PnP cards: -.Cd "device sbc" -.Pp -For non-PnP cards: -.Cd "device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15" -.Sh DESCRIPTION -The -.Nm -bridge driver allows the generic audio drivers including -.Xr pcm 4 -to attach to the following ISA sound cards: -.Bl -bullet -width 2m -.It -Creative SB16, SB32, SB AWE64 (including Gold) and ViBRA16 -.It -Advance Asound 100, 110 and Logic ALS120 -.It -ESS ES1868, ES1869, ES1879 and ES1888 -.El -.Pp -The value of flags specifies the secondary DMA channel. -If the secondary -DMA channel is C, set the flags to (C | 0x10). For a sound card without the -secondary DMA channel, the flags should be set to zero. -.Sh DIAGNOSTICS -.Bl -diag -.It sb_dspwr(XX) timed out. -A command to the DSP has timed out. -Check the I/O port configuration. -.It bad irq XX (5/7/9/10 valid) -The IRQ given to the driver is not valid. -.El -.Sh SEE ALSO -.Xr pcm 4 -.Sh HISTORY -The -.Nm -device driver first appeared in -.Fx 4.0 . -.Sh AUTHORS -.An Seigo Tanimura Aq tanimura@r.dl.itc.u-tokyo.ac.jp diff --git a/share/man/man4/snd_ad1816.4 b/share/man/man4/snd_ad1816.4 deleted file mode 100644 index 4a6dda563c..0000000000 --- a/share/man/man4/snd_ad1816.4 +++ /dev/null @@ -1,78 +0,0 @@ -.\" Copyright (c) 2004 Atte Peltomaki -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $FreeBSD: src/share/man/man4/snd_ad1816.4,v 1.4.2.1 2006/01/09 12:48:39 joel Exp $ -.\" $DragonFly: src/share/man/man4/snd_ad1816.4,v 1.2 2007/06/16 17:44:33 hasso Exp $ -.\" -.Dd December 15, 2005 -.Dt SND_AD1816 4 -.Os -.Sh NAME -.Nm snd_ad1816 -.Nd "Analog Devices AD1816 ISA bridge device driver" -.Sh SYNOPSIS -To compile this driver into the kernel, place the following lines in your -kernel configuration file: -.Bd -ragged -offset indent -.Cd "device pcm" -.Cd "device snd_ad1816" -.Ed -.Pp -Alternatively, to load the driver as a module at boot time, place the -following line in -.Xr loader.conf 5 : -.Bd -literal -offset indent -snd_ad1816_load="YES" -.Ed -.Pp -Non-PnP cards require a setting in the kernel config file: -.Bd -ragged -offset indent -.Cd "device pcm0 at isa? port? irq 5 drq 1 flags 0x15" -.Ed -.Sh DESCRIPTION -The -.Nm -bridge driver allows the generic audio driver -.Xr sound 4 -to attach to the AD1816 sound card. -.Sh HARDWARE -The -.Nm -driver supports the following sound cards: -.Pp -.Bl -bullet -compact -.It -Analog Devices AD1816 -.El -.Sh SEE ALSO -.Xr sound 4 -.Sh HISTORY -The -.Nm -device driver first appeared in -.Fx 4.0 . -.Sh AUTHORS -.An "Cameron Grant" Aq cg@FreeBSD.org -.An "Luigi Rizzo" Aq luigi@FreeBSD.org -.An "Hannu Savolainen" diff --git a/share/man/man4/snd_ess.4 b/share/man/man4/snd_ess.4 deleted file mode 100644 index 4f4f5e34b5..0000000000 --- a/share/man/man4/snd_ess.4 +++ /dev/null @@ -1,73 +0,0 @@ -.\" Copyright (c) 2004 Atte Peltomaki -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $FreeBSD: src/share/man/man4/snd_ess.4,v 1.4.2.2 2006/01/09 12:48:39 joel Exp $ -.\" $DragonFly: src/share/man/man4/snd_ess.4,v 1.2 2007/06/16 17:44:33 hasso Exp $ -.\" -.Dd December 15, 2005 -.Dt SND_ESS 4 -.Os -.Sh NAME -.Nm snd_ess -.Nd "Ensoniq ESS ISA PnP/non-PnP bridge device driver" -.Sh SYNOPSIS -To compile this driver into the kernel, place the following lines in your -kernel configuration file: -.Bd -ragged -offset indent -.Cd "device pcm" -.Cd "device snd_ess" -.Cd "device snd_sbc" -.Ed -.Pp -Alternatively, to load the driver as a module at boot time, place the -following line in -.Xr loader.conf 5 : -.Bd -literal -offset indent -snd_ess_load="YES" -.Ed -.Sh DESCRIPTION -The -.Nm -bridge driver allows the generic audio driver -.Xr sound 4 -to attach to the ESS ISA sound cards. -.Sh HARDWARE -The -.Nm -driver supports the following sound cards: -.Pp -.Bl -bullet -compact -.It -Ensoniq ESS ISA PnP/non-PnP -.El -.Sh SEE ALSO -.Xr sound 4 -.Sh HISTORY -The -.Nm -device driver first appeared in -.Fx 4.1 . -.Sh AUTHORS -.An "Cameron Grant" Aq cg@FreeBSD.org -.An "Luigi Rizzo" Aq luigi@FreeBSD.org diff --git a/share/man/man4/snd_gusc.4 b/share/man/man4/snd_gusc.4 deleted file mode 100644 index f6620fde73..0000000000 --- a/share/man/man4/snd_gusc.4 +++ /dev/null @@ -1,93 +0,0 @@ -.\" -.\" Copyright (c) 1999 Seigo Tanimura -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $FreeBSD: src/share/man/man4/snd_gusc.4,v 1.12.2.2 2006/06/21 04:28:05 brueffer Exp $ -.\" $DragonFly: src/share/man/man4/snd_gusc.4,v 1.2 2007/06/16 17:44:33 hasso Exp $ -.\" -.Dd December 15, 2005 -.Dt SND_GUSC 4 -.Os -.Sh NAME -.Nm snd_gusc -.Nd Gravis UltraSound ISA bridge device driver -.Sh SYNOPSIS -To compile this driver into the kernel, place the following lines in your -kernel configuration file: -.Bd -ragged -offset indent -.Cd "device pcm" -.Cd "device snd_gusc" -.Ed -.Pp -Alternatively, to load the driver as a module at boot time, place the -following line in -.Xr loader.conf 5 : -.Bd -literal -offset indent -snd_gusc_load="YES" -.Ed -.Pp -Non-PnP cards require a setting in the kernel config file: -.Bd -literal -offset indent -.Cd "device pcm0 at isa? port? irq 5 drq 1 flags 0x13" -.Ed -.Sh DESCRIPTION -The -.Nm -bridge driver allows the generic audio driver -.Xr sound 4 -to attach to Gravis UltraSound sound cards. -.Pp -The value of flags specifies the secondary DMA channel. -If the secondary -DMA channel is C, set the flags to (C | 0x10). -For a sound card without the -secondary DMA channel, the flags should be set to zero. -.Sh HARDWARE -The -.Nm -driver supports the following sound cards: -.Pp -.Bl -bullet -compact -.It -Gravis UltraSound MAX -.It -Gravis UltraSound PnP -.El -.Sh DIAGNOSTICS -.Bl -diag -.It xxx: gus pcm not attached, out of memory -There are not enough memory to drive the device. -.El -.Sh SEE ALSO -.Xr sound 4 -.Sh HISTORY -The -.Nm -device driver first appeared in -.Fx 4.0 . -.Sh AUTHORS -.An Ville-Pertti Keinonen Aq will@iki.fi -.An Seigo Tanimura Aq tanimura@r.dl.itc.u-tokyo.ac.jp -.Sh BUGS -Recording pcm sound data is not supported yet. diff --git a/share/man/man4/snd_mss.4 b/share/man/man4/snd_mss.4 deleted file mode 100644 index b797506627..0000000000 --- a/share/man/man4/snd_mss.4 +++ /dev/null @@ -1,113 +0,0 @@ -.\" Copyright (c) 2005 Joel Dahl -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $FreeBSD: src/share/man/man4/snd_mss.4,v 1.3.2.1 2005/12/30 22:59:07 brueffer Exp $ -.\" $DragonFly: src/share/man/man4/snd_mss.4,v 1.2 2007/06/16 17:44:33 hasso Exp $ -.\" -.Dd December 1, 2005 -.Dt SND_MSS 4 -.Os -.Sh NAME -.Nm snd_mss -.Nd "Microsoft Sound System ISA PnP/non-PnP bridge device driver" -.Sh SYNOPSIS -To compile this driver into the kernel, place the following lines in your -kernel configuration file: -.Bd -ragged -offset indent -.Cd "device pcm" -.Cd "device snd_mss" -.Ed -.Pp -Alternatively, to load the driver as a module at boot time, place the -following line in -.Xr loader.conf 5 : -.Bd -literal -offset indent -snd_mss_load="YES" -.Ed -.Pp -Non-PnP cards require a setting in the kernel config file: -.Bd -literal -offset indent -.Cd "device pcm0 at isa? port? irq 5 drq 1 flags 0x0" -.Ed -.Sh DESCRIPTION -The -.Nm -bridge driver allows the generic audio driver, -.Xr sound 4 , -to attach to the supported audio devices. -.Sh HARDWARE -The -.Nm -driver supports the following audio devices: -.Pp -.Bl -bullet -compact -.It -AD1845 -.It -AD1848 -.It -Aztech 2320 -.It -CMedia CMI8330 -.It -Crystal Semiconductor CS4231 -.It -Crystal Semiconductor CS4232 -.It -Crystal Semiconductor CS4234 -.It -Crystal Semiconductor CS4235 -.It -Crystal Semiconductor CS4236 -.It -Crystal Semiconductor CS4237 -.It -ENSONIQ SoundscapeVIVO ENS4081 -.It -NeoMagic 256AV (non-AC97) -.It -OPTi 924 -.It -OPTi 925 -.It -OPTi 930 -.It -OPTi 931 -.It -OPTi 933 -.It -Yamaha OPL-SA2 -.It -Yamaha OPL-SA3 -.El -.Sh SEE ALSO -.Xr sound 4 -.Sh HISTORY -The -.Nm -device driver first appeared in -.Fx 2.2.6 . -.Sh AUTHORS -This manual page was written by -.An Joel Dahl Aq joel@FreeBSD.org . diff --git a/share/man/man4/snd_sbc.4 b/share/man/man4/snd_sbc.4 deleted file mode 100644 index f9c84684da..0000000000 --- a/share/man/man4/snd_sbc.4 +++ /dev/null @@ -1,128 +0,0 @@ -.\" -.\" Copyright (c) 1999 Seigo Tanimura -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $FreeBSD: src/share/man/man4/snd_sbc.4,v 1.19 2007/02/17 11:31:58 joel Exp $ -.\" $DragonFly: src/share/man/man4/snd_sbc.4,v 1.4 2008/06/22 20:39:40 swildner Exp $ -.\" -.Dd June 22, 2008 -.Dt SND_SBC 4 -.Os -.Sh NAME -.Nm snd_sbc , -.Nm snd_sb16 , -.Nm snd_sb8 -.Nd Creative Sound Blaster ISA and compatible bridge device driver -.Sh SYNOPSIS -To compile this driver into the kernel, place the following lines in your -kernel configuration file: -.Bd -ragged -offset indent -.Cd "device pcm" -.Cd "device snd_sbc" -.Cd "device snd_sb16" -.Cd "device snd_sb8" -.Ed -.Pp -Alternatively, to load the driver as a module at boot time, place the -following lines in -.Xr loader.conf 5 : -.Bd -literal -offset indent -snd_sbc_load="YES" -snd_sb16_load="YES" -snd_sb8_load="YES" -.Ed -.Pp -Non-PnP cards require a setting in the kernel config file: -.Bd -literal -offset indent -.Cd "device pcm0 at isa? port? irq 5 drq 1 flags 0x15" -.Ed -.Sh DESCRIPTION -The -.Nm -bridge driver allows the generic audio driver -.Xr sound 4 -to attach to Creative Sound Blaster ISA (mostly SB16 or SB8, known as -SoundBlaster Pro) compatible audio cards. -.Pp -The value of flags specifies the secondary DMA channel. -If the secondary -DMA channel is C, set the flags to (C | 0x10). -For a sound card without the -secondary DMA channel, the flags should be set to zero. -.Sh HARDWARE -The -.Nm -driver supports the following sound cards: -.Pp -.Bl -bullet -compact -.It -Avance Asound 110 -.It -Avance Logic ALS100+ -.It -Avance Logic ALS120 -.It -Creative SB16 -.It -Creative SB32 -.It -Creative AWE64 -.It -Creative AWE64 Gold -.It -Creative ViBRA16C -.It -Creative ViBRA16X -.It -ESS ES1681 -.It -ESS ES1688 -.It -ESS ES1868 -.It -ESS ES1869 -.It -ESS ES1878 -.It -ESS ES1879 -.It -ESS ES1888 -.El -.Sh DIAGNOSTICS -.Bl -diag -.It sb_dspwr(XX) timed out. -A command to the DSP has timed out. -Check the I/O port configuration. -.It bad irq XX (5/7/9/10 valid) -The IRQ given to the driver is not valid. -.El -.Sh SEE ALSO -.Xr sound 4 -.Sh HISTORY -The -.Nm -device driver first appeared in -.Fx 4.0 . -.Sh AUTHORS -.An Seigo Tanimura Aq tanimura@r.dl.itc.u-tokyo.ac.jp diff --git a/share/man/man4/snd_solo.4 b/share/man/man4/snd_solo.4 index 1652ba575b..cab67db967 100644 --- a/share/man/man4/snd_solo.4 +++ b/share/man/man4/snd_solo.4 @@ -23,9 +23,8 @@ .\" SUCH DAMAGE. .\" .\" $FreeBSD: src/share/man/man4/snd_solo.4,v 1.4.2.1 2006/01/09 12:48:39 joel Exp $ -.\" $DragonFly: src/share/man/man4/snd_solo.4,v 1.2 2007/06/16 17:44:34 hasso Exp $ .\" -.Dd November 28, 2005 +.Dd February 10, 2013 .Dt SND_SOLO 4 .Os .Sh NAME @@ -51,11 +50,6 @@ ESS Solo-1 (ES1938 Chipset) .It ESS Solo-1E (ES1946 Chipset) .El -.Pp -Note that older ESS ISA cards with ES18xx chipset are supported via -.Xr snd_ess 4 -and/or -.Xr snd_sbc 4 . .Sh SEE ALSO .Xr sound 4 .Sh HISTORY diff --git a/sys/boot/dloader/loader-bootp.conf b/sys/boot/dloader/loader-bootp.conf index 92c6c4515f..23b434bc21 100644 --- a/sys/boot/dloader/loader-bootp.conf +++ b/sys/boot/dloader/loader-bootp.conf @@ -7,7 +7,6 @@ # All arguments must be in double quotes. # # $FreeBSD: src/sys/boot/forth/loader.conf,v 1.72 2003/07/01 01:03:32 brueffer Exp $ -# $DragonFly: src/sys/boot/forth/loader-bootp.conf,v 1.27 2008/09/02 17:21:15 dillon Exp $ ############################################################## ### Basic configuration options ############################ @@ -256,7 +255,6 @@ ng_vjc_load="NO" # Van Jacobsen compression netgraph node type ############################################################## sound_load="NO" # Digital sound subsystem -snd_ad1816_load="NO" # ad1816 snd_als4000_load="NO" # als4000 snd_atiixp_load="NO" # atiixp snd_cmi_load="NO" # cmi @@ -264,18 +262,13 @@ snd_csa_load="NO" # csa snd_cs4281_load="NO" # cs4281 snd_ds1_load="NO" # ds1 snd_emu10k1_load="NO" # Creative Sound Blaster Live -snd_ess_load="NO" # ess snd_es137x_load="NO" # es137x snd_fm801_load="NO" # fm801 snd_hda_load="NO" # hda snd_ich_load="NO" # Intel ICH snd_maestro_load="NO" # Maestro snd_maestro3_load="NO" # Maestro3 -snd_mss_load="NO" # Mss snd_neomagic_load="NO" # Neomagic -snd_sbc_load="NO" # Sbc -snd_sb8_load="NO" # Sound Blaster Pro -snd_sb16_load="NO" # Sound Blaster 16 snd_solo_load="NO" # Solo snd_t4dwave_load="NO" # t4dwave snd_via8233_load="NO" # via8233 diff --git a/sys/boot/dloader/loader.conf b/sys/boot/dloader/loader.conf index d9b329737f..d402a1a942 100644 --- a/sys/boot/dloader/loader.conf +++ b/sys/boot/dloader/loader.conf @@ -7,7 +7,6 @@ # All arguments must be in double quotes. # # $FreeBSD: src/sys/boot/forth/loader.conf,v 1.72 2003/07/01 01:03:32 brueffer Exp $ -# $DragonFly: src/sys/boot/forth/loader.conf,v 1.34 2008/09/02 17:21:15 dillon Exp $ ############################################################## ### Basic configuration options ############################ @@ -258,7 +257,6 @@ ng_vjc_load="NO" # Van Jacobsen compression netgraph node type ############################################################## sound_load="NO" # Digital sound subsystem -snd_ad1816_load="NO" # ad1816 snd_als4000_load="NO" # als4000 snd_atiixp_load="NO" # atiixp snd_cmi_load="NO" # cmi @@ -266,18 +264,13 @@ snd_csa_load="NO" # csa snd_cs4281_load="NO" # cs4281 snd_ds1_load="NO" # ds1 snd_emu10k1_load="NO" # Creative Sound Blaster Live -snd_ess_load="NO" # ess snd_es137x_load="NO" # es137x snd_fm801_load="NO" # fm801 snd_hda_load="NO" # hda snd_ich_load="NO" # Intel ICH snd_maestro_load="NO" # Maestro snd_maestro3_load="NO" # Maestro3 -snd_mss_load="NO" # Mss snd_neomagic_load="NO" # Neomagic -snd_sbc_load="NO" # Sbc -snd_sb8_load="NO" # Sound Blaster Pro -snd_sb16_load="NO" # Sound Blaster 16 snd_solo_load="NO" # Solo snd_t4dwave_load="NO" # t4dwave snd_via8233_load="NO" # via8233 diff --git a/sys/conf/files b/sys/conf/files index 28eb9c9aaa..82d1dc3619 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -1759,14 +1759,6 @@ dev/misc/tbridge/tbridge.c optional tbridge bus/isa/pnp.c optional isa bus/isa/pnpparse.c optional isa # -dev/sound/isa/ad1816.c optional snd_ad1816 isa -dev/sound/isa/ess.c optional snd_ess isa -dev/sound/isa/gusc.c optional snd_gusc isa -dev/sound/isa/mss.c optional snd_mss isa -dev/sound/isa/sb16.c optional snd_sb16 isa -dev/sound/isa/sb8.c optional snd_sb8 isa -dev/sound/isa/sbc.c optional snd_sbc isa -dev/sound/isa/sndbuf_dma.c optional pcm isa dev/sound/pci/als4000.c optional snd_als4000 pci dev/sound/pci/atiixp.c optional snd_atiixp pci dev/sound/pci/cmi.c optional snd_cmi pci diff --git a/sys/config/LINT b/sys/config/LINT index 81e08b9442..673cf98d03 100644 --- a/sys/config/LINT +++ b/sys/config/LINT @@ -1444,28 +1444,10 @@ options NATM #native ATM # Sound drivers # -# The flags of the device tells the device a bit more info about the -# device that normally is obtained through the PnP interface. -# bit 2..0 secondary DMA channel; -# bit 4 set if the board uses two dma channels; -# bit 15..8 board type, overrides autodetection; leave it -# zero if don't know what to put in (and you don't, -# since this is unsupported at the moment...). -# -# This driver will use the new PnP code if it's available. You might -# need PNPBIOS for ISA devices. -# -# If you have a GUS-MAX card and want to use the CS4231 codec on the -# card the drqs for the gus max must be 8 bit (1, 2, or 3). -# -# If you would like to use the full duplex option on the gus, then define -# flags to be the ``read dma channel''. -# # Basic sound card support: device pcm -# For PnP/PCI sound cards: -device "snd_ad1816" +# For PCI sound cards: device "snd_als4000" device "snd_atiixp" device "snd_cmi" @@ -1474,25 +1456,17 @@ device "snd_csa" device "snd_ds1" device "snd_emu10k1" device "snd_es137x" -device "snd_ess" device "snd_fm801" -device "snd_gusc" device "snd_hda" device "snd_ich" device "snd_maestro" device "snd_maestro3" -device "snd_mss" device "snd_neomagic" -device "snd_sb16" -device "snd_sb8" -device "snd_sbc" device "snd_solo" device "snd_t4dwave" device "snd_via8233" device "snd_via82c686" device "snd_vibes" -# For non-pnp sound cards: -device pcm0 at isa? irq 10 drq 1 flags 0x0 # USB device "snd_uaudio" diff --git a/sys/config/LINT64 b/sys/config/LINT64 index be3dae10ae..2cff8a418e 100644 --- a/sys/config/LINT64 +++ b/sys/config/LINT64 @@ -1260,28 +1260,10 @@ options NATM #native ATM # Sound drivers # -# The flags of the device tells the device a bit more info about the -# device that normally is obtained through the PnP interface. -# bit 2..0 secondary DMA channel; -# bit 4 set if the board uses two dma channels; -# bit 15..8 board type, overrides autodetection; leave it -# zero if don't know what to put in (and you don't, -# since this is unsupported at the moment...). -# -# This driver will use the new PnP code if it's available. You might -# need PNPBIOS for ISA devices. -# -# If you have a GUS-MAX card and want to use the CS4231 codec on the -# card the drqs for the gus max must be 8 bit (1, 2, or 3). -# -# If you would like to use the full duplex option on the gus, then define -# flags to be the ``read dma channel''. -# # Basic sound card support: device pcm -# For PnP/PCI sound cards: -device "snd_ad1816" +# For PCI sound cards: device "snd_als4000" device "snd_atiixp" device "snd_cmi" @@ -1290,25 +1272,17 @@ device "snd_csa" device "snd_ds1" device "snd_emu10k1" device "snd_es137x" -device "snd_ess" device "snd_fm801" -device "snd_gusc" device "snd_hda" device "snd_ich" device "snd_maestro" device "snd_maestro3" -device "snd_mss" device "snd_neomagic" -device "snd_sb16" -device "snd_sb8" -device "snd_sbc" device "snd_solo" device "snd_t4dwave" device "snd_via8233" device "snd_via82c686" device "snd_vibes" -# For non-pnp sound cards: -device pcm0 at isa? irq 10 drq 1 flags 0x0 # USB device "snd_uaudio" diff --git a/sys/dev/sound/driver.c b/sys/dev/sound/driver.c index aba80ef72b..9deb383507 100644 --- a/sys/dev/sound/driver.c +++ b/sys/dev/sound/driver.c @@ -24,7 +24,6 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/dev/sound/driver.c,v 1.13.2.3 2007/05/13 21:11:40 ariff Exp $ - * $DragonFly: src/sys/dev/sound/driver.c,v 1.4 2007/06/16 19:48:04 hasso Exp $ */ #include @@ -53,7 +52,6 @@ static moduledata_t snd_mod = { DECLARE_MODULE(snd_driver, snd_mod, SI_SUB_DRIVERS, SI_ORDER_MIDDLE); MODULE_VERSION(snd_driver, 1); -MODULE_DEPEND(snd_driver, snd_ad1816, 1, 1, 1); MODULE_DEPEND(snd_driver, snd_als4000, 1, 1, 1); MODULE_DEPEND(snd_driver, snd_atiixp, 1, 1, 1); /* MODULE_DEPEND(snd_driver, snd_aureal, 1, 1, 1); */ @@ -66,18 +64,12 @@ MODULE_DEPEND(snd_driver, snd_emu10k1, 1, 1, 1); MODULE_DEPEND(snd_driver, snd_envy24, 1, 1, 1); MODULE_DEPEND(snd_driver, snd_envy24ht, 1, 1, 1); MODULE_DEPEND(snd_driver, snd_es137x, 1, 1, 1); -MODULE_DEPEND(snd_driver, snd_ess, 1, 1, 1); MODULE_DEPEND(snd_driver, snd_fm801, 1, 1, 1); -/* MODULE_DEPEND(snd_driver, snd_gusc, 1, 1, 1); in mss */ MODULE_DEPEND(snd_driver, snd_hda, 1, 1, 1); MODULE_DEPEND(snd_driver, snd_ich, 1, 1, 1); MODULE_DEPEND(snd_driver, snd_maestro, 1, 1, 1); MODULE_DEPEND(snd_driver, snd_maestro3, 1, 1, 1); -MODULE_DEPEND(snd_driver, snd_mss, 1, 1, 1); MODULE_DEPEND(snd_driver, snd_neomagic, 1, 1, 1); -MODULE_DEPEND(snd_driver, snd_sb16, 1, 1, 1); -MODULE_DEPEND(snd_driver, snd_sb8, 1, 1, 1); -MODULE_DEPEND(snd_driver, snd_sbc, 1, 1, 1); MODULE_DEPEND(snd_driver, snd_solo, 1, 1, 1); MODULE_DEPEND(snd_driver, snd_spicds, 1, 1, 1); MODULE_DEPEND(snd_driver, snd_t4dwave, 1, 1, 1); diff --git a/sys/dev/sound/driver/Makefile b/sys/dev/sound/driver/Makefile index cdc5ea5975..c21c55ae68 100644 --- a/sys/dev/sound/driver/Makefile +++ b/sys/dev/sound/driver/Makefile @@ -1,8 +1,8 @@ # $FreeBSD: src/sys/modules/sound/driver/Makefile,v 1.16.2.2 2007/05/13 21:11:40 ariff Exp $ -SUBDIR = als4000 ad1816 atiixp cmi cs4281 csa ds1 emu10k1 envy24 -SUBDIR += envy24ht es137x ess fm801 hda ich maestro maestro3 mss neomagic -SUBDIR += sb16 sb8 sbc solo spicds t4dwave via8233 via82c686 vibes +SUBDIR = als4000 atiixp cmi cs4281 csa ds1 emu10k1 envy24 +SUBDIR += envy24ht es137x fm801 hda ich maestro maestro3 neomagic +SUBDIR += solo spicds t4dwave via8233 via82c686 vibes SUBDIR += driver .if !defined(WANT_USB4BSD) diff --git a/sys/dev/sound/driver/ad1816/Makefile b/sys/dev/sound/driver/ad1816/Makefile deleted file mode 100644 index 83244b5a40..0000000000 --- a/sys/dev/sound/driver/ad1816/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# $FreeBSD: src/sys/modules/sound/driver/ad1816/Makefile,v 1.2 2001/01/06 14:00:15 obrien Exp $ -# $DragonFly: src/sys/dev/sound/driver/ad1816/Makefile,v 1.3 2007/01/04 21:47:00 corecode Exp $ - -.PATH: ${.CURDIR}/../../../../dev/sound/isa - -KMOD= snd_ad1816 -SRCS= device_if.h bus_if.h isa_if.h pci_if.h -SRCS+= ad1816.c - -.include diff --git a/sys/dev/sound/driver/ess/Makefile b/sys/dev/sound/driver/ess/Makefile deleted file mode 100644 index bf82f4d214..0000000000 --- a/sys/dev/sound/driver/ess/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# $FreeBSD: src/sys/modules/sound/driver/ess/Makefile,v 1.3 2002/01/23 03:32:36 cg Exp $ -# $DragonFly: src/sys/dev/sound/driver/ess/Makefile,v 1.3 2007/01/04 21:47:01 corecode Exp $ - -.PATH: ${.CURDIR}/../../../../dev/sound/isa - -KMOD= snd_ess -SRCS= device_if.h bus_if.h isa_if.h pci_if.h -SRCS+= ess.c - -.include diff --git a/sys/dev/sound/driver/hda/Makefile b/sys/dev/sound/driver/hda/Makefile index 1d547d93a7..150bb41e3b 100644 --- a/sys/dev/sound/driver/hda/Makefile +++ b/sys/dev/sound/driver/hda/Makefile @@ -1,10 +1,9 @@ # $FreeBSD: src/sys/modules/sound/driver/hda/Makefile,v 1.1 2006/10/01 11:13:00 ariff Exp $ -# $DragonFly: src/sys/dev/sound/driver/hda/Makefile,v 1.1 2007/01/04 21:47:01 corecode Exp $ .PATH: ${.CURDIR}/../../../../dev/sound/pci/hda KMOD= snd_hda -SRCS= device_if.h bus_if.h pci_if.h channel_if.h mixer_if.h isa_if.h +SRCS= device_if.h bus_if.h pci_if.h channel_if.h mixer_if.h SRCS+= hdac.c hdac_private.h hdac_reg.h hda_reg.h hdac.h .include diff --git a/sys/dev/sound/driver/mss/Makefile b/sys/dev/sound/driver/mss/Makefile deleted file mode 100644 index 3c7de6f663..0000000000 --- a/sys/dev/sound/driver/mss/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# $FreeBSD: src/sys/modules/sound/driver/mss/Makefile,v 1.5 2002/11/06 13:46:59 nyan Exp $ -# $DragonFly: src/sys/dev/sound/driver/mss/Makefile,v 1.3 2007/01/04 21:47:01 corecode Exp $ - -.PATH: ${.CURDIR}/../../../../dev/sound/isa - -KMOD= snd_mss -SRCS= device_if.h bus_if.h isa_if.h pci_if.h -SRCS+= mss.c gusc.c - -.include diff --git a/sys/dev/sound/driver/sb16/Makefile b/sys/dev/sound/driver/sb16/Makefile deleted file mode 100644 index 2c12310e8d..0000000000 --- a/sys/dev/sound/driver/sb16/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# $FreeBSD: src/sys/modules/sound/driver/sb16/Makefile,v 1.2 2001/01/06 14:00:20 obrien Exp $ -# $DragonFly: src/sys/dev/sound/driver/sb16/Makefile,v 1.3 2007/01/04 21:47:01 corecode Exp $ - -.PATH: ${.CURDIR}/../../../../dev/sound/isa - -KMOD= snd_sb16 -SRCS= device_if.h bus_if.h isa_if.h pci_if.h -SRCS+= sb16.c - -.include diff --git a/sys/dev/sound/driver/sb8/Makefile b/sys/dev/sound/driver/sb8/Makefile deleted file mode 100644 index 8772ae0bd4..0000000000 --- a/sys/dev/sound/driver/sb8/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# $FreeBSD: src/sys/modules/sound/driver/sb8/Makefile,v 1.2 2001/01/06 14:00:20 obrien Exp $ -# $DragonFly: src/sys/dev/sound/driver/sb8/Makefile,v 1.3 2007/01/04 21:47:01 corecode Exp $ - -.PATH: ${.CURDIR}/../../../../dev/sound/isa - -KMOD= snd_sb8 -SRCS= device_if.h bus_if.h isa_if.h pci_if.h -SRCS+= sb8.c - -.include diff --git a/sys/dev/sound/driver/sbc/Makefile b/sys/dev/sound/driver/sbc/Makefile deleted file mode 100644 index 6285ab5e0a..0000000000 --- a/sys/dev/sound/driver/sbc/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# $FreeBSD: src/sys/modules/sound/driver/sbc/Makefile,v 1.4 2002/11/06 13:46:59 nyan Exp $ -# $DragonFly: src/sys/dev/sound/driver/sbc/Makefile,v 1.4 2007/01/04 21:47:01 corecode Exp $ - -.PATH: ${.CURDIR}/../../../../dev/sound/isa - -KMOD= snd_sbc -SRCS= device_if.h bus_if.h isa_if.h pci_if.h -SRCS+= sbc.c - -.include diff --git a/sys/dev/sound/driver/spicds/Makefile b/sys/dev/sound/driver/spicds/Makefile index 5c8a56ecb5..f23695745d 100644 --- a/sys/dev/sound/driver/spicds/Makefile +++ b/sys/dev/sound/driver/spicds/Makefile @@ -1,10 +1,9 @@ # $FreeBSD: src/sys/modules/sound/driver/spicds/Makefile,v 1.2.2.1 2007/05/13 21:03:46 ariff Exp $ -# $DragonFly: src/sys/dev/sound/driver/spicds/Makefile,v 1.1 2007/06/16 19:48:05 hasso Exp $ .PATH: ${.CURDIR}/../../../../dev/sound/pci KMOD= snd_spicds -SRCS= device_if.h bus_if.h isa_if.h pci_if.h +SRCS= device_if.h bus_if.h pci_if.h SRCS+= spicds.c .include diff --git a/sys/dev/sound/isa/ad1816.c b/sys/dev/sound/isa/ad1816.c deleted file mode 100644 index 228caa3369..0000000000 --- a/sys/dev/sound/isa/ad1816.c +++ /dev/null @@ -1,688 +0,0 @@ -/*- - * Copyright (c) 1999 Cameron Grant - * Copyright Luigi Rizzo, 1997,1998 - * Copyright by Hannu Savolainen 1994, 1995 - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD: src/sys/dev/sound/isa/ad1816.c,v 1.37.2.2 2006/04/04 17:23:24 ariff Exp $ - */ - -#include -#include - -#include - -#include "mixer_if.h" - -SND_DECLARE_FILE("$DragonFly: src/sys/dev/sound/isa/ad1816.c,v 1.8 2007/06/16 20:07:18 dillon Exp $"); - -struct ad1816_info; - -struct ad1816_chinfo { - struct ad1816_info *parent; - struct pcm_channel *channel; - struct snd_dbuf *buffer; - int dir, blksz; -}; - -struct ad1816_info { - struct resource *io_base; /* primary I/O address for the board */ - int io_rid; - struct resource *irq; - int irq_rid; - struct resource *drq1; /* play */ - int drq1_rid; - struct resource *drq2; /* rec */ - int drq2_rid; - void *ih; - bus_dma_tag_t parent_dmat; - sndlock_t lock; - - unsigned int bufsize; - struct ad1816_chinfo pch, rch; -}; - -static u_int32_t ad1816_fmt[] = { - AFMT_U8, - AFMT_STEREO | AFMT_U8, - AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE, - AFMT_MU_LAW, - AFMT_STEREO | AFMT_MU_LAW, - AFMT_A_LAW, - AFMT_STEREO | AFMT_A_LAW, - 0 -}; - -static struct pcmchan_caps ad1816_caps = {4000, 55200, ad1816_fmt, 0}; - -#define AD1816_MUTE 31 /* value for mute */ - -static void -ad1816_lock(struct ad1816_info *ad1816) -{ - snd_mtxlock(ad1816->lock); -} - -static void -ad1816_unlock(struct ad1816_info *ad1816) -{ - snd_mtxunlock(ad1816->lock); -} - -static int -port_rd(struct resource *port, int off) -{ - if (port) - return bus_space_read_1(rman_get_bustag(port), - rman_get_bushandle(port), - off); - else - return -1; -} - -static void -port_wr(struct resource *port, int off, u_int8_t data) -{ - if (port) - bus_space_write_1(rman_get_bustag(port), - rman_get_bushandle(port), - off, data); -} - -static int -io_rd(struct ad1816_info *ad1816, int reg) -{ - return port_rd(ad1816->io_base, reg); -} - -static void -io_wr(struct ad1816_info *ad1816, int reg, u_int8_t data) -{ - port_wr(ad1816->io_base, reg, data); -} - -static void -ad1816_intr(void *arg) -{ - struct ad1816_info *ad1816 = (struct ad1816_info *)arg; - unsigned char c, served = 0; - - ad1816_lock(ad1816); - /* get interupt status */ - c = io_rd(ad1816, AD1816_INT); - - /* check for stray interupts */ - if (c & ~(AD1816_INTRCI | AD1816_INTRPI)) { - kprintf("pcm: stray int (%x)\n", c); - c &= AD1816_INTRCI | AD1816_INTRPI; - } - /* check for capture interupt */ - if (sndbuf_runsz(ad1816->rch.buffer) && (c & AD1816_INTRCI)) { - ad1816_unlock(ad1816); - chn_intr(ad1816->rch.channel); - ad1816_lock(ad1816); - served |= AD1816_INTRCI; /* cp served */ - } - /* check for playback interupt */ - if (sndbuf_runsz(ad1816->pch.buffer) && (c & AD1816_INTRPI)) { - ad1816_unlock(ad1816); - chn_intr(ad1816->pch.channel); - ad1816_lock(ad1816); - served |= AD1816_INTRPI; /* pb served */ - } - if (served == 0) { - /* this probably means this is not a (working) ad1816 chip, */ - /* or an error in dma handling */ - kprintf("pcm: int without reason (%x)\n", c); - c = 0; - } else c &= ~served; - io_wr(ad1816, AD1816_INT, c); - c = io_rd(ad1816, AD1816_INT); - if (c != 0) kprintf("pcm: int clear failed (%x)\n", c); - ad1816_unlock(ad1816); -} - -static int -ad1816_wait_init(struct ad1816_info *ad1816, int x) -{ - int n = 0; /* to shut up the compiler... */ - - for (; x--;) - if ((n = (io_rd(ad1816, AD1816_ALE) & AD1816_BUSY)) == 0) DELAY(10); - else return n; - kprintf("ad1816_wait_init failed 0x%02x.\n", n); - return -1; -} - -static unsigned short -ad1816_read(struct ad1816_info *ad1816, unsigned int reg) -{ - u_short x = 0; - - if (ad1816_wait_init(ad1816, 100) == -1) return 0; - io_wr(ad1816, AD1816_ALE, 0); - io_wr(ad1816, AD1816_ALE, (reg & AD1816_ALEMASK)); - if (ad1816_wait_init(ad1816, 100) == -1) return 0; - x = (io_rd(ad1816, AD1816_HIGH) << 8) | io_rd(ad1816, AD1816_LOW); - return x; -} - -static void -ad1816_write(struct ad1816_info *ad1816, unsigned int reg, unsigned short data) -{ - if (ad1816_wait_init(ad1816, 100) == -1) return; - io_wr(ad1816, AD1816_ALE, (reg & AD1816_ALEMASK)); - io_wr(ad1816, AD1816_LOW, (data & 0x000000ff)); - io_wr(ad1816, AD1816_HIGH, (data & 0x0000ff00) >> 8); -} - -/* -------------------------------------------------------------------- */ - -static int -ad1816mix_init(struct snd_mixer *m) -{ - mix_setdevs(m, AD1816_MIXER_DEVICES); - mix_setrecdevs(m, AD1816_REC_DEVICES); - return 0; -} - -static int -ad1816mix_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) -{ - struct ad1816_info *ad1816 = mix_getdevinfo(m); - u_short reg = 0; - - /* Scale volumes */ - left = AD1816_MUTE - (AD1816_MUTE * left) / 100; - right = AD1816_MUTE - (AD1816_MUTE * right) / 100; - - reg = (left << 8) | right; - - /* do channel selective muting if volume is zero */ - if (left == AD1816_MUTE) reg |= 0x8000; - if (right == AD1816_MUTE) reg |= 0x0080; - - ad1816_lock(ad1816); - switch (dev) { - case SOUND_MIXER_VOLUME: /* Register 14 master volume */ - ad1816_write(ad1816, 14, reg); - break; - - case SOUND_MIXER_CD: /* Register 15 cd */ - case SOUND_MIXER_LINE1: - ad1816_write(ad1816, 15, reg); - break; - - case SOUND_MIXER_SYNTH: /* Register 16 synth */ - ad1816_write(ad1816, 16, reg); - break; - - case SOUND_MIXER_PCM: /* Register 4 pcm */ - ad1816_write(ad1816, 4, reg); - break; - - case SOUND_MIXER_LINE: - case SOUND_MIXER_LINE3: /* Register 18 line in */ - ad1816_write(ad1816, 18, reg); - break; - - case SOUND_MIXER_MIC: /* Register 19 mic volume */ - ad1816_write(ad1816, 19, reg & ~0xff); /* mic is mono */ - break; - - case SOUND_MIXER_IGAIN: - /* and now to something completely different ... */ - ad1816_write(ad1816, 20, ((ad1816_read(ad1816, 20) & ~0x0f0f) - | (((AD1816_MUTE - left) / 2) << 8) /* four bits of adc gain */ - | ((AD1816_MUTE - right) / 2))); - break; - - default: - kprintf("ad1816_mixer_set(): unknown device.\n"); - break; - } - ad1816_unlock(ad1816); - - left = ((AD1816_MUTE - left) * 100) / AD1816_MUTE; - right = ((AD1816_MUTE - right) * 100) / AD1816_MUTE; - - return left | (right << 8); -} - -static int -ad1816mix_setrecsrc(struct snd_mixer *m, u_int32_t src) -{ - struct ad1816_info *ad1816 = mix_getdevinfo(m); - int dev; - - switch (src) { - case SOUND_MASK_LINE: - case SOUND_MASK_LINE3: - dev = 0x00; - break; - - case SOUND_MASK_CD: - case SOUND_MASK_LINE1: - dev = 0x20; - break; - - case SOUND_MASK_MIC: - default: - dev = 0x50; - src = SOUND_MASK_MIC; - } - - dev |= dev << 8; - ad1816_lock(ad1816); - ad1816_write(ad1816, 20, (ad1816_read(ad1816, 20) & ~0x7070) | dev); - ad1816_unlock(ad1816); - return src; -} - -static kobj_method_t ad1816mixer_methods[] = { - KOBJMETHOD(mixer_init, ad1816mix_init), - KOBJMETHOD(mixer_set, ad1816mix_set), - KOBJMETHOD(mixer_setrecsrc, ad1816mix_setrecsrc), - KOBJMETHOD_END -}; -MIXER_DECLARE(ad1816mixer); - -/* -------------------------------------------------------------------- */ -/* channel interface */ -static void * -ad1816chan_init(kobj_t obj, void *devinfo, struct snd_dbuf *b, struct pcm_channel *c, int dir) -{ - struct ad1816_info *ad1816 = devinfo; - struct ad1816_chinfo *ch = (dir == PCMDIR_PLAY)? &ad1816->pch : &ad1816->rch; - - ch->parent = ad1816; - ch->channel = c; - ch->buffer = b; - if (sndbuf_alloc(ch->buffer, ad1816->parent_dmat, ad1816->bufsize) != 0) - return NULL; - return ch; -} - -static int -ad1816chan_setdir(kobj_t obj, void *data, int dir) -{ - struct ad1816_chinfo *ch = data; - struct ad1816_info *ad1816 = ch->parent; - - sndbuf_dmasetup(ch->buffer, (dir == PCMDIR_PLAY)? ad1816->drq1 : ad1816->drq2); - ch->dir = dir; - return 0; -} - -static int -ad1816chan_setformat(kobj_t obj, void *data, u_int32_t format) -{ - struct ad1816_chinfo *ch = data; - struct ad1816_info *ad1816 = ch->parent; - int fmt = AD1816_U8, reg; - - ad1816_lock(ad1816); - if (ch->dir == PCMDIR_PLAY) { - reg = AD1816_PLAY; - ad1816_write(ad1816, 8, 0x0000); /* reset base and current counter */ - ad1816_write(ad1816, 9, 0x0000); /* for playback and capture */ - } else { - reg = AD1816_CAPT; - ad1816_write(ad1816, 10, 0x0000); - ad1816_write(ad1816, 11, 0x0000); - } - switch (format & ~AFMT_STEREO) { - case AFMT_A_LAW: - fmt = AD1816_ALAW; - break; - - case AFMT_MU_LAW: - fmt = AD1816_MULAW; - break; - - case AFMT_S16_LE: - fmt = AD1816_S16LE; - break; - - case AFMT_S16_BE: - fmt = AD1816_S16BE; - break; - - case AFMT_U8: - fmt = AD1816_U8; - break; - } - if (format & AFMT_STEREO) fmt |= AD1816_STEREO; - io_wr(ad1816, reg, fmt); - ad1816_unlock(ad1816); -#if 0 - return format; -#else - return 0; -#endif -} - -static int -ad1816chan_setspeed(kobj_t obj, void *data, u_int32_t speed) -{ - struct ad1816_chinfo *ch = data; - struct ad1816_info *ad1816 = ch->parent; - - RANGE(speed, 4000, 55200); - ad1816_lock(ad1816); - ad1816_write(ad1816, (ch->dir == PCMDIR_PLAY)? 2 : 3, speed); - ad1816_unlock(ad1816); - return speed; -} - -static int -ad1816chan_setblocksize(kobj_t obj, void *data, u_int32_t blocksize) -{ - struct ad1816_chinfo *ch = data; - - ch->blksz = blocksize; - return ch->blksz; -} - -static int -ad1816chan_trigger(kobj_t obj, void *data, int go) -{ - struct ad1816_chinfo *ch = data; - struct ad1816_info *ad1816 = ch->parent; - int wr, reg; - - if (go == PCMTRIG_EMLDMAWR || go == PCMTRIG_EMLDMARD) - return 0; - - sndbuf_dma(ch->buffer, go); - wr = (ch->dir == PCMDIR_PLAY); - reg = wr? AD1816_PLAY : AD1816_CAPT; - ad1816_lock(ad1816); - switch (go) { - case PCMTRIG_START: - /* start only if not already running */ - if (!(io_rd(ad1816, reg) & AD1816_ENABLE)) { - int cnt = ((ch->blksz) >> 2) - 1; - ad1816_write(ad1816, wr? 8 : 10, cnt); /* count */ - ad1816_write(ad1816, wr? 9 : 11, 0); /* reset cur cnt */ - ad1816_write(ad1816, 1, ad1816_read(ad1816, 1) | - (wr? 0x8000 : 0x4000)); /* enable int */ - /* enable playback */ - io_wr(ad1816, reg, io_rd(ad1816, reg) | AD1816_ENABLE); - if (!(io_rd(ad1816, reg) & AD1816_ENABLE)) - kprintf("ad1816: failed to start %s DMA!\n", - wr? "play" : "rec"); - } - break; - - case PCMTRIG_STOP: - case PCMTRIG_ABORT: /* XXX check this... */ - /* we don't test here if it is running... */ - if (wr) { - ad1816_write(ad1816, 1, ad1816_read(ad1816, 1) & - ~(wr? 0x8000 : 0x4000)); - /* disable int */ - io_wr(ad1816, reg, io_rd(ad1816, reg) & ~AD1816_ENABLE); - /* disable playback */ - if (io_rd(ad1816, reg) & AD1816_ENABLE) - kprintf("ad1816: failed to stop %s DMA!\n", - wr? "play" : "rec"); - ad1816_write(ad1816, wr? 8 : 10, 0); /* reset base cnt */ - ad1816_write(ad1816, wr? 9 : 11, 0); /* reset cur cnt */ - } - break; - } - ad1816_unlock(ad1816); - return 0; -} - -static int -ad1816chan_getptr(kobj_t obj, void *data) -{ - struct ad1816_chinfo *ch = data; - return sndbuf_dmaptr(ch->buffer); -} - -static struct pcmchan_caps * -ad1816chan_getcaps(kobj_t obj, void *data) -{ - return &ad1816_caps; -} - -static kobj_method_t ad1816chan_methods[] = { - KOBJMETHOD(channel_init, ad1816chan_init), - KOBJMETHOD(channel_setdir, ad1816chan_setdir), - KOBJMETHOD(channel_setformat, ad1816chan_setformat), - KOBJMETHOD(channel_setspeed, ad1816chan_setspeed), - KOBJMETHOD(channel_setblocksize, ad1816chan_setblocksize), - KOBJMETHOD(channel_trigger, ad1816chan_trigger), - KOBJMETHOD(channel_getptr, ad1816chan_getptr), - KOBJMETHOD(channel_getcaps, ad1816chan_getcaps), - KOBJMETHOD_END -}; -CHANNEL_DECLARE(ad1816chan); - -/* -------------------------------------------------------------------- */ - -static void -ad1816_release_resources(struct ad1816_info *ad1816, device_t dev) -{ - if (ad1816->irq) { - if (ad1816->ih) - bus_teardown_intr(dev, ad1816->irq, ad1816->ih); - bus_release_resource(dev, SYS_RES_IRQ, ad1816->irq_rid, ad1816->irq); - ad1816->irq = NULL; - } - if (ad1816->drq1) { - isa_dma_release(rman_get_start(ad1816->drq1)); - bus_release_resource(dev, SYS_RES_DRQ, ad1816->drq1_rid, ad1816->drq1); - ad1816->drq1 = NULL; - } - if (ad1816->drq2) { - isa_dma_release(rman_get_start(ad1816->drq2)); - bus_release_resource(dev, SYS_RES_DRQ, ad1816->drq2_rid, ad1816->drq2); - ad1816->drq2 = NULL; - } - if (ad1816->io_base) { - bus_release_resource(dev, SYS_RES_IOPORT, ad1816->io_rid, ad1816->io_base); - ad1816->io_base = NULL; - } - if (ad1816->parent_dmat) { - bus_dma_tag_destroy(ad1816->parent_dmat); - ad1816->parent_dmat = 0; - } - if (ad1816->lock) - snd_mtxfree(ad1816->lock); - - kfree(ad1816, M_DEVBUF); -} - -static int -ad1816_alloc_resources(struct ad1816_info *ad1816, device_t dev) -{ - int ok = 1, pdma, rdma; - - if (!ad1816->io_base) - ad1816->io_base = bus_alloc_resource_any(dev, - SYS_RES_IOPORT, &ad1816->io_rid, RF_ACTIVE); - if (!ad1816->irq) - ad1816->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, - &ad1816->irq_rid, RF_ACTIVE); - if (!ad1816->drq1) - ad1816->drq1 = bus_alloc_resource_any(dev, SYS_RES_DRQ, - &ad1816->drq1_rid, RF_ACTIVE); - if (!ad1816->drq2) - ad1816->drq2 = bus_alloc_resource_any(dev, SYS_RES_DRQ, - &ad1816->drq2_rid, RF_ACTIVE); - - if (!ad1816->io_base || !ad1816->drq1 || !ad1816->irq) ok = 0; - - if (ok) { - pdma = rman_get_start(ad1816->drq1); - isa_dma_acquire(pdma); - isa_dmainit(pdma, ad1816->bufsize); - if (ad1816->drq2) { - rdma = rman_get_start(ad1816->drq2); - isa_dma_acquire(rdma); - isa_dmainit(rdma, ad1816->bufsize); - } else - rdma = pdma; - if (pdma == rdma) - pcm_setflags(dev, pcm_getflags(dev) | SD_F_SIMPLEX); - } - - return ok; -} - -static int -ad1816_init(struct ad1816_info *ad1816, device_t dev) -{ - ad1816_write(ad1816, 1, 0x2); /* disable interrupts */ - ad1816_write(ad1816, 32, 0x90F0); /* SoundSys Mode, split fmt */ - - ad1816_write(ad1816, 5, 0x8080); /* FM volume mute */ - ad1816_write(ad1816, 6, 0x8080); /* I2S1 volume mute */ - ad1816_write(ad1816, 7, 0x8080); /* I2S0 volume mute */ - ad1816_write(ad1816, 17, 0x8888); /* VID Volume mute */ - ad1816_write(ad1816, 20, 0x5050); /* recsrc mic, agc off */ - /* adc gain is set to 0 */ - - return 0; -} - -static int -ad1816_probe(device_t dev) -{ - char *s = NULL; - u_int32_t logical_id = isa_get_logicalid(dev); - - switch (logical_id) { - case 0x80719304: /* ADS7180 */ - s = "AD1816"; - break; - case 0x50719304: /* ADS7150 */ - s = "AD1815"; - break; - } - - if (s) { - device_set_desc(dev, s); - return BUS_PROBE_DEFAULT; - } - return ENXIO; -} - -static int -ad1816_attach(device_t dev) -{ - struct ad1816_info *ad1816; - char status[SND_STATUSLEN], status2[SND_STATUSLEN]; - - ad1816 = kmalloc(sizeof *ad1816, M_DEVBUF, M_WAITOK | M_ZERO); - ad1816->lock = snd_mtxcreate(device_get_nameunit(dev), "sound softc"); - ad1816->io_rid = 2; - ad1816->irq_rid = 0; - ad1816->drq1_rid = 0; - ad1816->drq2_rid = 1; - ad1816->bufsize = pcm_getbuffersize(dev, 4096, DSP_BUFFSIZE, 65536); - - if (!ad1816_alloc_resources(ad1816, dev)) goto no; - ad1816_init(ad1816, dev); - if (mixer_init(dev, &ad1816mixer_class, ad1816)) goto no; - - snd_setup_intr(dev, ad1816->irq, 0, ad1816_intr, ad1816, &ad1816->ih); - if (bus_dma_tag_create(/*parent*/NULL, /*alignment*/2, /*boundary*/0, - /*lowaddr*/BUS_SPACE_MAXADDR_24BIT, - /*highaddr*/BUS_SPACE_MAXADDR, - /*filter*/NULL, /*filterarg*/NULL, - /*maxsize*/ad1816->bufsize, /*nsegments*/1, - /*maxsegz*/0x3ffff, - /*flags*/0, - &ad1816->parent_dmat) != 0) { - device_printf(dev, "unable to create dma tag\n"); - goto no; - } - if (ad1816->drq2) - ksnprintf(status2, SND_STATUSLEN, ":%ld", rman_get_start(ad1816->drq2)); - else - status2[0] = '\0'; - - ksnprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld drq %ld%s bufsz %u %s", - rman_get_start(ad1816->io_base), - rman_get_start(ad1816->irq), - rman_get_start(ad1816->drq1), - status2, - ad1816->bufsize, - PCM_KLDSTRING(snd_ad1816)); - - if (pcm_register(dev, ad1816, 1, 1)) goto no; - pcm_addchan(dev, PCMDIR_REC, &ad1816chan_class, ad1816); - pcm_addchan(dev, PCMDIR_PLAY, &ad1816chan_class, ad1816); - pcm_setstatus(dev, status); - - return 0; -no: - ad1816_release_resources(ad1816, dev); - - return ENXIO; - -} - -static int -ad1816_detach(device_t dev) -{ - int r; - struct ad1816_info *ad1816; - - r = pcm_unregister(dev); - if (r) - return r; - - ad1816 = pcm_getdevinfo(dev); - ad1816_release_resources(ad1816, dev); - return 0; -} - -static device_method_t ad1816_methods[] = { - /* Device interface */ - DEVMETHOD(device_probe, ad1816_probe), - DEVMETHOD(device_attach, ad1816_attach), - DEVMETHOD(device_detach, ad1816_detach), - - { 0, 0 } -}; - -static driver_t ad1816_driver = { - "pcm", - ad1816_methods, - PCM_SOFTC_SIZE, -}; - -DRIVER_MODULE(snd_ad1816, isa, ad1816_driver, pcm_devclass, NULL, NULL); -DRIVER_MODULE(snd_ad1816, acpi, ad1816_driver, pcm_devclass, NULL, NULL); -MODULE_DEPEND(snd_ad1816, sound, SOUND_MINVER, SOUND_PREFVER, SOUND_MAXVER); -MODULE_VERSION(snd_ad1816, 1); - - diff --git a/sys/dev/sound/isa/ad1816.h b/sys/dev/sound/isa/ad1816.h deleted file mode 100644 index b1f8529c39..0000000000 --- a/sys/dev/sound/isa/ad1816.h +++ /dev/null @@ -1,72 +0,0 @@ -/*- - * (C) 1997 Luigi Rizzo (luigi@iet.unipi.it) - * - * This file contains information and macro definitions for - * the ad1816 chip - * - * $FreeBSD: src/sys/dev/sound/isa/ad1816.h,v 1.2 2005/01/06 01:43:17 imp Exp $ - * $DragonFly: src/sys/dev/sound/isa/ad1816.h,v 1.3 2007/01/04 21:47:02 corecode Exp $ - */ - -/* AD1816 register macros */ - -#define AD1816_ALE 0 /* indirect reg access */ -#define AD1816_INT 1 /* interupt status */ -#define AD1816_LOW 2 /* indirect low byte */ -#define AD1816_HIGH 3 /* indirect high byte */ - -#if 0 -#define ad1816_pioD(d) ((d)->io_base+4) /* PIO debug */ -#define ad1816_pios(d) ((d)->io_base+5) /* PIO status */ -#define ad1816_piod(d) ((d)->io_base+6) /* PIO data */ -#endif - -/* values for playback/capture config: - bits: 0 enable/disable - 1 pio/dma - 2 stereo/mono - 3 companded/linearPCM - 4-5 format : 00 8bit linear (uncomp) - 00 8bit mulaw (comp) - 01 16bit le (uncomp) - 01 8bit alaw (comp) - 11 16bit be (uncomp) -*/ - -#define AD1816_PLAY 8 /* playback config */ -#define AD1816_CAPT 9 /* capture config */ - -#define AD1816_BUSY 0x80 /* chip is busy */ -#define AD1816_ALEMASK 0x3F /* mask for indirect adr. */ - -#if 0 -#define AD1816_INTRSI 0x01 /* sb intr */ -#define AD1816_INTRGI 0x02 /* game intr */ -#define AD1816_INTRRI 0x04 /* ring intr */ -#define AD1816_INTRDI 0x08 /* dsp intr */ -#define AD1816_INTRVI 0x10 /* vol intr */ -#define AD1816_INTRTI 0x20 /* timer intr */ -#endif - -#define AD1816_INTRCI 0x40 /* capture intr */ -#define AD1816_INTRPI 0x80 /* playback intr */ -/* PIO stuff is not supplied here */ -/* playback / capture config */ -#define AD1816_ENABLE 0x01 /* enable pl/cp */ -#define AD1816_PIO 0x02 /* use pio */ -#define AD1816_STEREO 0x04 -#define AD1816_COMP 0x08 /* data is companded */ -#define AD1816_U8 0x00 /* 8 bit linear pcm */ -#define AD1816_MULAW 0x08 /* 8 bit mulaw */ -#define AD1816_ALAW 0x18 /* 8 bit alaw */ -#define AD1816_S16LE 0x10 /* 16 bit linear little endian */ -#define AD1816_S16BE 0x30 /* 16 bit linear big endian */ -#define AD1816_FORMASK 0x38 /* format mask */ - -#define AD1816_REC_DEVICES \ - (SOUND_MASK_LINE | SOUND_MASK_MIC | SOUND_MASK_CD) - -#define AD1816_MIXER_DEVICES \ - (SOUND_MASK_VOLUME | SOUND_MASK_PCM | SOUND_MASK_SYNTH | \ - SOUND_MASK_LINE | SOUND_MASK_MIC | SOUND_MASK_CD | SOUND_MASK_IGAIN) - diff --git a/sys/dev/sound/isa/ess.c b/sys/dev/sound/isa/ess.c deleted file mode 100644 index 1e3933854f..0000000000 --- a/sys/dev/sound/isa/ess.c +++ /dev/null @@ -1,1012 +0,0 @@ -/*- - * Copyright (c) 1999 Cameron Grant - * Copyright 1997,1998 Luigi Rizzo. - * - * Derived from files in the Voxware 3.5 distribution, - * Copyright by Hannu Savolainen 1994, under the same copyright - * conditions. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD: src/sys/dev/sound/isa/ess.c,v 1.34.2.2 2006/01/19 01:17:00 ariff Exp $ - */ - -#include - -#include -#include - -#include - -#include "mixer_if.h" - -SND_DECLARE_FILE("$DragonFly: src/sys/dev/sound/isa/ess.c,v 1.7 2007/01/04 21:47:02 corecode Exp $"); - -#define ESS_BUFFSIZE (4096) -#define ABS(x) (((x) < 0)? -(x) : (x)) - -/* audio2 never generates irqs and sounds very noisy */ -#undef ESS18XX_DUPLEX - -/* more accurate clocks and split audio1/audio2 rates */ -#define ESS18XX_NEWSPEED - -static u_int32_t ess_pfmt[] = { - AFMT_U8, - AFMT_STEREO | AFMT_U8, - AFMT_S8, - AFMT_STEREO | AFMT_S8, - AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE, - AFMT_U16_LE, - AFMT_STEREO | AFMT_U16_LE, - 0 -}; - -static struct pcmchan_caps ess_playcaps = {6000, 48000, ess_pfmt, 0}; - -static u_int32_t ess_rfmt[] = { - AFMT_U8, - AFMT_STEREO | AFMT_U8, - AFMT_S8, - AFMT_STEREO | AFMT_S8, - AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE, - AFMT_U16_LE, - AFMT_STEREO | AFMT_U16_LE, - 0 -}; - -static struct pcmchan_caps ess_reccaps = {6000, 48000, ess_rfmt, 0}; - -struct ess_info; - -struct ess_chinfo { - struct ess_info *parent; - struct pcm_channel *channel; - struct snd_dbuf *buffer; - int dir, hwch, stopping, run; - u_int32_t fmt, spd, blksz; -}; - -struct ess_info { - device_t parent_dev; - struct resource *io_base; /* I/O address for the board */ - struct resource *irq; - struct resource *drq1; - struct resource *drq2; - void *ih; - bus_dma_tag_t parent_dmat; - - unsigned int bufsize; - int type, duplex:1, newspeed:1; - u_long bd_flags; /* board-specific flags */ - struct ess_chinfo pch, rch; -}; - -#if 0 -static int ess_rd(struct ess_info *sc, int reg); -static void ess_wr(struct ess_info *sc, int reg, u_int8_t val); -static int ess_dspready(struct ess_info *sc); -static int ess_cmd(struct ess_info *sc, u_char val); -static int ess_cmd1(struct ess_info *sc, u_char cmd, int val); -static int ess_get_byte(struct ess_info *sc); -static void ess_setmixer(struct ess_info *sc, u_int port, u_int value); -static int ess_getmixer(struct ess_info *sc, u_int port); -static int ess_reset_dsp(struct ess_info *sc); - -static int ess_write(struct ess_info *sc, u_char reg, int val); -static int ess_read(struct ess_info *sc, u_char reg); - -static void ess_intr(void *arg); -static int ess_setupch(struct ess_info *sc, int ch, int dir, int spd, u_int32_t fmt, int len); -static int ess_start(struct ess_chinfo *ch); -static int ess_stop(struct ess_chinfo *ch); -#endif - -/* - * Common code for the midi and pcm functions - * - * ess_cmd write a single byte to the CMD port. - * ess_cmd1 write a CMD + 1 byte arg - * ess_cmd2 write a CMD + 2 byte arg - * ess_get_byte returns a single byte from the DSP data port - * - * ess_write is actually ess_cmd1 - * ess_read access ext. regs via ess_cmd(0xc0, reg) followed by ess_get_byte - */ - -static void -ess_lock(struct ess_info *sc) { - - sbc_lock(device_get_softc(sc->parent_dev)); -} - -static void -ess_unlock(struct ess_info *sc) { - - sbc_unlock(device_get_softc(sc->parent_dev)); -} - -static int -port_rd(struct resource *port, int off) -{ - return bus_space_read_1(rman_get_bustag(port), - rman_get_bushandle(port), - off); -} - -static void -port_wr(struct resource *port, int off, u_int8_t data) -{ - bus_space_write_1(rman_get_bustag(port), - rman_get_bushandle(port), - off, data); -} - -static int -ess_rd(struct ess_info *sc, int reg) -{ - return port_rd(sc->io_base, reg); -} - -static void -ess_wr(struct ess_info *sc, int reg, u_int8_t val) -{ - port_wr(sc->io_base, reg, val); -} - -static int -ess_dspready(struct ess_info *sc) -{ - return ((ess_rd(sc, SBDSP_STATUS) & 0x80) == 0); -} - -static int -ess_dspwr(struct ess_info *sc, u_char val) -{ - int i; - - for (i = 0; i < 1000; i++) { - if (ess_dspready(sc)) { - ess_wr(sc, SBDSP_CMD, val); - return 1; - } - if (i > 10) DELAY((i > 100)? 1000 : 10); - } - kprintf("ess_dspwr(0x%02x) timed out.\n", val); - return 0; -} - -static int -ess_cmd(struct ess_info *sc, u_char val) -{ -#if 0 - kprintf("ess_cmd: %x\n", val); -#endif - return ess_dspwr(sc, val); -} - -static int -ess_cmd1(struct ess_info *sc, u_char cmd, int val) -{ -#if 0 - kprintf("ess_cmd1: %x, %x\n", cmd, val); -#endif - if (ess_dspwr(sc, cmd)) { - return ess_dspwr(sc, val & 0xff); - } else return 0; -} - -static void -ess_setmixer(struct ess_info *sc, u_int port, u_int value) -{ - DEB(kprintf("ess_setmixer: reg=%x, val=%x\n", port, value);) - ess_wr(sc, SB_MIX_ADDR, (u_char) (port & 0xff)); /* Select register */ - DELAY(10); - ess_wr(sc, SB_MIX_DATA, (u_char) (value & 0xff)); - DELAY(10); -} - -static int -ess_getmixer(struct ess_info *sc, u_int port) -{ - int val; - ess_wr(sc, SB_MIX_ADDR, (u_char) (port & 0xff)); /* Select register */ - DELAY(10); - val = ess_rd(sc, SB_MIX_DATA); - DELAY(10); - - return val; -} - -static int -ess_get_byte(struct ess_info *sc) -{ - int i; - - for (i = 1000; i > 0; i--) { - if (ess_rd(sc, DSP_DATA_AVAIL) & 0x80) - return ess_rd(sc, DSP_READ); - else - DELAY(20); - } - return -1; -} - -static int -ess_write(struct ess_info *sc, u_char reg, int val) -{ - return ess_cmd1(sc, reg, val); -} - -static int -ess_read(struct ess_info *sc, u_char reg) -{ - return (ess_cmd(sc, 0xc0) && ess_cmd(sc, reg))? ess_get_byte(sc) : -1; -} - -static int -ess_reset_dsp(struct ess_info *sc) -{ - ess_wr(sc, SBDSP_RST, 3); - DELAY(100); - ess_wr(sc, SBDSP_RST, 0); - if (ess_get_byte(sc) != 0xAA) { - DEB(kprintf("ess_reset_dsp 0x%lx failed\n", - rman_get_start(sc->io_base))); - return ENXIO; /* Sorry */ - } - ess_cmd(sc, 0xc6); - return 0; -} - -static void -ess_release_resources(struct ess_info *sc, device_t dev) -{ - if (sc->irq) { - if (sc->ih) - bus_teardown_intr(dev, sc->irq, sc->ih); - bus_release_resource(dev, SYS_RES_IRQ, 0, sc->irq); - sc->irq = NULL; - } - if (sc->drq1) { - isa_dma_release(rman_get_start(sc->drq1)); - bus_release_resource(dev, SYS_RES_DRQ, 0, sc->drq1); - sc->drq1 = NULL; - } - if (sc->drq2) { - isa_dma_release(rman_get_start(sc->drq2)); - bus_release_resource(dev, SYS_RES_DRQ, 1, sc->drq2); - sc->drq2 = NULL; - } - if (sc->io_base) { - bus_release_resource(dev, SYS_RES_IOPORT, 0, sc->io_base); - sc->io_base = NULL; - } - if (sc->parent_dmat) { - bus_dma_tag_destroy(sc->parent_dmat); - sc->parent_dmat = 0; - } - kfree(sc, M_DEVBUF); -} - -static int -ess_alloc_resources(struct ess_info *sc, device_t dev) -{ - int rid; - - rid = 0; - if (!sc->io_base) - sc->io_base = bus_alloc_resource_any(dev, SYS_RES_IOPORT, - &rid, RF_ACTIVE); - rid = 0; - if (!sc->irq) - sc->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, - &rid, RF_ACTIVE); - rid = 0; - if (!sc->drq1) - sc->drq1 = bus_alloc_resource_any(dev, SYS_RES_DRQ, - &rid, RF_ACTIVE); - rid = 1; - if (!sc->drq2) - sc->drq2 = bus_alloc_resource_any(dev, SYS_RES_DRQ, - &rid, RF_ACTIVE); - - if (sc->io_base && sc->drq1 && sc->irq) { - isa_dma_acquire(rman_get_start(sc->drq1)); - isa_dmainit(rman_get_start(sc->drq1), sc->bufsize); - - if (sc->drq2) { - isa_dma_acquire(rman_get_start(sc->drq2)); - isa_dmainit(rman_get_start(sc->drq2), sc->bufsize); - } - - return 0; - } else return ENXIO; -} - -static void -ess_intr(void *arg) -{ - struct ess_info *sc = (struct ess_info *)arg; - int src, pirq, rirq; - - ess_lock(sc); - src = 0; - if (ess_getmixer(sc, 0x7a) & 0x80) - src |= 2; - if (ess_rd(sc, 0x0c) & 0x01) - src |= 1; - - pirq = (src & sc->pch.hwch)? 1 : 0; - rirq = (src & sc->rch.hwch)? 1 : 0; - - if (pirq) { - if (sc->pch.run) { - ess_unlock(sc); - chn_intr(sc->pch.channel); - ess_lock(sc); - } - if (sc->pch.stopping) { - sc->pch.run = 0; - sndbuf_dma(sc->pch.buffer, PCMTRIG_STOP); - sc->pch.stopping = 0; - if (sc->pch.hwch == 1) - ess_write(sc, 0xb8, ess_read(sc, 0xb8) & ~0x01); - else - ess_setmixer(sc, 0x78, ess_getmixer(sc, 0x78) & ~0x03); - } - } - - if (rirq) { - if (sc->rch.run) { - ess_unlock(sc); - chn_intr(sc->rch.channel); - ess_lock(sc); - } - if (sc->rch.stopping) { - sc->rch.run = 0; - sndbuf_dma(sc->rch.buffer, PCMTRIG_STOP); - sc->rch.stopping = 0; - /* XXX: will this stop audio2? */ - ess_write(sc, 0xb8, ess_read(sc, 0xb8) & ~0x01); - } - } - - if (src & 2) - ess_setmixer(sc, 0x7a, ess_getmixer(sc, 0x7a) & ~0x80); - if (src & 1) - ess_rd(sc, DSP_DATA_AVAIL); - ess_unlock(sc); -} - -/* utility functions for ESS */ -static u_int8_t -ess_calcspeed8(int *spd) -{ - int speed = *spd; - u_int32_t t; - - if (speed > 22000) { - t = (795500 + speed / 2) / speed; - speed = (795500 + t / 2) / t; - t = (256 - t) | 0x80; - } else { - t = (397700 + speed / 2) / speed; - speed = (397700 + t / 2) / t; - t = 128 - t; - } - *spd = speed; - return t & 0x000000ff; -} - -static u_int8_t -ess_calcspeed9(int *spd) -{ - int speed, s0, s1, use0; - u_int8_t t0, t1; - - /* rate = source / (256 - divisor) */ - /* divisor = 256 - (source / rate) */ - speed = *spd; - t0 = 128 - (793800 / speed); - s0 = 793800 / (128 - t0); - - t1 = 128 - (768000 / speed); - s1 = 768000 / (128 - t1); - t1 |= 0x80; - - use0 = (ABS(speed - s0) < ABS(speed - s1))? 1 : 0; - - *spd = use0? s0 : s1; - return use0? t0 : t1; -} - -static u_int8_t -ess_calcfilter(int spd) -{ - int cutoff; - - /* cutoff = 7160000 / (256 - divisor) */ - /* divisor = 256 - (7160000 / cutoff) */ - cutoff = (spd * 9 * 82) / 20; - return (256 - (7160000 / cutoff)); -} - -static int -ess_setupch(struct ess_info *sc, int ch, int dir, int spd, u_int32_t fmt, int len) -{ - int play = (dir == PCMDIR_PLAY)? 1 : 0; - int b16 = (fmt & AFMT_16BIT)? 1 : 0; - int stereo = (fmt & AFMT_STEREO)? 1 : 0; - int unsign = (fmt == AFMT_U8 || fmt == AFMT_U16_LE)? 1 : 0; - u_int8_t spdval, fmtval; - - - spdval = (sc->newspeed)? ess_calcspeed9(&spd) : ess_calcspeed8(&spd); - len = -len; - - if (ch == 1) { - KASSERT((dir == PCMDIR_PLAY) || (dir == PCMDIR_REC), ("ess_setupch: dir1 bad")); - /* transfer length low */ - ess_write(sc, 0xa4, len & 0x00ff); - /* transfer length high */ - ess_write(sc, 0xa5, (len & 0xff00) >> 8); - /* autoinit, dma dir */ - ess_write(sc, 0xb8, 0x04 | (play? 0x00 : 0x0a)); - /* mono/stereo */ - ess_write(sc, 0xa8, (ess_read(sc, 0xa8) & ~0x03) | (stereo? 0x01 : 0x02)); - /* demand mode, 4 bytes/xfer */ - ess_write(sc, 0xb9, 0x02); - /* sample rate */ - ess_write(sc, 0xa1, spdval); - /* filter cutoff */ - ess_write(sc, 0xa2, ess_calcfilter(spd)); - /* setup dac/adc */ - if (play) - ess_write(sc, 0xb6, unsign? 0x80 : 0x00); - /* mono, b16: signed, load signal */ - ess_write(sc, 0xb7, 0x51 | (unsign? 0x00 : 0x20)); - /* setup fifo */ - ess_write(sc, 0xb7, 0x90 | (unsign? 0x00 : 0x20) | - (b16? 0x04 : 0x00) | - (stereo? 0x08 : 0x40)); - /* irq control */ - ess_write(sc, 0xb1, (ess_read(sc, 0xb1) & 0x0f) | 0x50); - /* drq control */ - ess_write(sc, 0xb2, (ess_read(sc, 0xb2) & 0x0f) | 0x50); - } else if (ch == 2) { - KASSERT(dir == PCMDIR_PLAY, ("ess_setupch: dir2 bad")); - /* transfer length low */ - ess_setmixer(sc, 0x74, len & 0x00ff); - /* transfer length high */ - ess_setmixer(sc, 0x76, (len & 0xff00) >> 8); - /* autoinit, 4 bytes/req */ - ess_setmixer(sc, 0x78, 0x90); - fmtval = b16 | (stereo << 1) | (unsign << 2); - /* enable irq, set format */ - ess_setmixer(sc, 0x7a, 0x40 | fmtval); - if (sc->newspeed) { - /* sample rate */ - ess_setmixer(sc, 0x70, spdval); - /* filter cutoff */ - ess_setmixer(sc, 0x72, ess_calcfilter(spd)); - } - } - - return 0; -} -static int -ess_start(struct ess_chinfo *ch) -{ - struct ess_info *sc = ch->parent; - int play = (ch->dir == PCMDIR_PLAY)? 1 : 0; - - ess_lock(sc); - ess_setupch(sc, ch->hwch, ch->dir, ch->spd, ch->fmt, ch->blksz); - ch->stopping = 0; - if (ch->hwch == 1) - ess_write(sc, 0xb8, ess_read(sc, 0xb8) | 0x01); - else - ess_setmixer(sc, 0x78, ess_getmixer(sc, 0x78) | 0x03); - if (play) - ess_cmd(sc, DSP_CMD_SPKON); - ess_unlock(sc); - return 0; -} - -static int -ess_stop(struct ess_chinfo *ch) -{ - struct ess_info *sc = ch->parent; - int play = (ch->dir == PCMDIR_PLAY)? 1 : 0; - - ess_lock(sc); - ch->stopping = 1; - if (ch->hwch == 1) - ess_write(sc, 0xb8, ess_read(sc, 0xb8) & ~0x04); - else - ess_setmixer(sc, 0x78, ess_getmixer(sc, 0x78) & ~0x10); - if (play) - ess_cmd(sc, DSP_CMD_SPKOFF); - ess_unlock(sc); - return 0; -} - -/* -------------------------------------------------------------------- */ -/* channel interface for ESS18xx */ -static void * -esschan_init(kobj_t obj, void *devinfo, struct snd_dbuf *b, struct pcm_channel *c, int dir) -{ - struct ess_info *sc = devinfo; - struct ess_chinfo *ch = (dir == PCMDIR_PLAY)? &sc->pch : &sc->rch; - - ch->parent = sc; - ch->channel = c; - ch->buffer = b; - if (sndbuf_alloc(ch->buffer, sc->parent_dmat, sc->bufsize) != 0) - return NULL; - ch->dir = dir; - ch->hwch = 1; - if ((dir == PCMDIR_PLAY) && (sc->duplex)) - ch->hwch = 2; - sndbuf_dmasetup(ch->buffer, (ch->hwch == 1)? sc->drq1 : sc->drq2); - return ch; -} - -static int -esschan_setformat(kobj_t obj, void *data, u_int32_t format) -{ - struct ess_chinfo *ch = data; - - ch->fmt = format; - return 0; -} - -static int -esschan_setspeed(kobj_t obj, void *data, u_int32_t speed) -{ - struct ess_chinfo *ch = data; - struct ess_info *sc = ch->parent; - - ch->spd = speed; - if (sc->newspeed) - ess_calcspeed9(&ch->spd); - else - ess_calcspeed8(&ch->spd); - return ch->spd; -} - -static int -esschan_setblocksize(kobj_t obj, void *data, u_int32_t blocksize) -{ - struct ess_chinfo *ch = data; - - ch->blksz = blocksize; - return ch->blksz; -} - -static int -esschan_trigger(kobj_t obj, void *data, int go) -{ - struct ess_chinfo *ch = data; - - if (go == PCMTRIG_EMLDMAWR || go == PCMTRIG_EMLDMARD) - return 0; - - switch (go) { - case PCMTRIG_START: - ch->run = 1; - sndbuf_dma(ch->buffer, go); - ess_start(ch); - break; - - case PCMTRIG_STOP: - case PCMTRIG_ABORT: - default: - ess_stop(ch); - break; - } - return 0; -} - -static int -esschan_getptr(kobj_t obj, void *data) -{ - struct ess_chinfo *ch = data; - - return sndbuf_dmaptr(ch->buffer); -} - -static struct pcmchan_caps * -esschan_getcaps(kobj_t obj, void *data) -{ - struct ess_chinfo *ch = data; - - return (ch->dir == PCMDIR_PLAY)? &ess_playcaps : &ess_reccaps; -} - -static kobj_method_t esschan_methods[] = { - KOBJMETHOD(channel_init, esschan_init), - KOBJMETHOD(channel_setformat, esschan_setformat), - KOBJMETHOD(channel_setspeed, esschan_setspeed), - KOBJMETHOD(channel_setblocksize, esschan_setblocksize), - KOBJMETHOD(channel_trigger, esschan_trigger), - KOBJMETHOD(channel_getptr, esschan_getptr), - KOBJMETHOD(channel_getcaps, esschan_getcaps), - KOBJMETHOD_END -}; -CHANNEL_DECLARE(esschan); - -/************************************************************/ - -static int -essmix_init(struct snd_mixer *m) -{ - struct ess_info *sc = mix_getdevinfo(m); - - mix_setrecdevs(m, SOUND_MASK_CD | SOUND_MASK_MIC | SOUND_MASK_LINE | - SOUND_MASK_IMIX); - - mix_setdevs(m, SOUND_MASK_SYNTH | SOUND_MASK_PCM | SOUND_MASK_LINE | - SOUND_MASK_MIC | SOUND_MASK_CD | SOUND_MASK_VOLUME | - SOUND_MASK_LINE1 | SOUND_MASK_SPEAKER); - - ess_setmixer(sc, 0, 0); /* reset */ - - return 0; -} - -static int -essmix_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) -{ - struct ess_info *sc = mix_getdevinfo(m); - int preg = 0, rreg = 0, l, r; - - l = (left * 15) / 100; - r = (right * 15) / 100; - switch (dev) { - case SOUND_MIXER_SYNTH: - preg = 0x36; - rreg = 0x6b; - break; - - case SOUND_MIXER_PCM: - preg = 0x14; - rreg = 0x7c; - break; - - case SOUND_MIXER_LINE: - preg = 0x3e; - rreg = 0x6e; - break; - - case SOUND_MIXER_MIC: - preg = 0x1a; - rreg = 0x68; - break; - - case SOUND_MIXER_LINE1: - preg = 0x3a; - rreg = 0x6c; - break; - - case SOUND_MIXER_CD: - preg = 0x38; - rreg = 0x6a; - break; - - case SOUND_MIXER_SPEAKER: - preg = 0x3c; - break; - - case SOUND_MIXER_VOLUME: - l = left? (left * 63) / 100 : 64; - r = right? (right * 63) / 100 : 64; - ess_setmixer(sc, 0x60, l); - ess_setmixer(sc, 0x62, r); - left = (l == 64)? 0 : (l * 100) / 63; - right = (r == 64)? 0 : (r * 100) / 63; - return left | (right << 8); - } - - if (preg) - ess_setmixer(sc, preg, (l << 4) | r); - if (rreg) - ess_setmixer(sc, rreg, (l << 4) | r); - - left = (l * 100) / 15; - right = (r * 100) / 15; - - return left | (right << 8); -} - -static int -essmix_setrecsrc(struct snd_mixer *m, u_int32_t src) -{ - struct ess_info *sc = mix_getdevinfo(m); - u_char recdev; - - switch (src) { - case SOUND_MASK_CD: - recdev = 0x02; - break; - - case SOUND_MASK_LINE: - recdev = 0x06; - break; - - case SOUND_MASK_IMIX: - recdev = 0x05; - break; - - case SOUND_MASK_MIC: - default: - recdev = 0x00; - src = SOUND_MASK_MIC; - break; - } - - ess_setmixer(sc, 0x1c, recdev); - - return src; -} - -static kobj_method_t essmixer_methods[] = { - KOBJMETHOD(mixer_init, essmix_init), - KOBJMETHOD(mixer_set, essmix_set), - KOBJMETHOD(mixer_setrecsrc, essmix_setrecsrc), - KOBJMETHOD_END -}; -MIXER_DECLARE(essmixer); - -/************************************************************/ - -static int -ess_probe(device_t dev) -{ - uintptr_t func, ver, r, f; - - /* The parent device has already been probed. */ - r = BUS_READ_IVAR(device_get_parent(dev), dev, 0, &func); - if (func != SCF_PCM) - return (ENXIO); - - r = BUS_READ_IVAR(device_get_parent(dev), dev, 1, &ver); - f = (ver & 0xffff0000) >> 16; - if (!(f & BD_F_ESS)) - return (ENXIO); - - device_set_desc(dev, "ESS 18xx DSP"); - - return 0; -} - -static int -ess_attach(device_t dev) -{ - struct ess_info *sc; - char status[SND_STATUSLEN], buf[64]; - int ver; - - sc = kmalloc(sizeof *sc, M_DEVBUF, M_WAITOK | M_ZERO); - sc->parent_dev = device_get_parent(dev); - sc->bufsize = pcm_getbuffersize(dev, 4096, ESS_BUFFSIZE, 65536); - if (ess_alloc_resources(sc, dev)) - goto no; - if (ess_reset_dsp(sc)) - goto no; - if (mixer_init(dev, &essmixer_class, sc)) - goto no; - - sc->duplex = 0; - sc->newspeed = 0; - ver = (ess_getmixer(sc, 0x40) << 8) | ess_rd(sc, SB_MIX_DATA); - ksnprintf(buf, sizeof buf, "ESS %x DSP", ver); - device_set_desc_copy(dev, buf); - if (bootverbose) - device_printf(dev, "ESS%x detected", ver); - - switch (ver) { - case 0x1869: - case 0x1879: -#ifdef ESS18XX_DUPLEX - sc->duplex = sc->drq2? 1 : 0; -#endif -#ifdef ESS18XX_NEWSPEED - sc->newspeed = 1; -#endif - break; - } - if (bootverbose) - kprintf("%s%s\n", sc->duplex? ", duplex" : "", - sc->newspeed? ", newspeed" : ""); - - if (sc->newspeed) - ess_setmixer(sc, 0x71, 0x22); - - snd_setup_intr(dev, sc->irq, 0, ess_intr, sc, &sc->ih); - if (!sc->duplex) - pcm_setflags(dev, pcm_getflags(dev) | SD_F_SIMPLEX); - - if (bus_dma_tag_create(/*parent*/NULL, /*alignment*/2, /*boundary*/0, - /*lowaddr*/BUS_SPACE_MAXADDR_24BIT, - /*highaddr*/BUS_SPACE_MAXADDR, - /*filter*/NULL, /*filterarg*/NULL, - /*maxsize*/sc->bufsize, /*nsegments*/1, - /*maxsegz*/0x3ffff, - /*flags*/0, - &sc->parent_dmat) != 0) { - device_printf(dev, "unable to create dma tag\n"); - goto no; - } - - if (sc->drq2) - ksnprintf(buf, SND_STATUSLEN, ":%ld", rman_get_start(sc->drq2)); - else - buf[0] = '\0'; - - ksnprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld drq %ld%s bufsz %u %s", - rman_get_start(sc->io_base), rman_get_start(sc->irq), - rman_get_start(sc->drq1), buf, sc->bufsize, - PCM_KLDSTRING(snd_ess)); - - if (pcm_register(dev, sc, 1, 1)) - goto no; - pcm_addchan(dev, PCMDIR_REC, &esschan_class, sc); - pcm_addchan(dev, PCMDIR_PLAY, &esschan_class, sc); - pcm_setstatus(dev, status); - - return 0; - -no: - ess_release_resources(sc, dev); - return ENXIO; -} - -static int -ess_detach(device_t dev) -{ - int r; - struct ess_info *sc; - - r = pcm_unregister(dev); - if (r) - return r; - - sc = pcm_getdevinfo(dev); - ess_release_resources(sc, dev); - return 0; -} - -static int -ess_resume(device_t dev) -{ - struct ess_info *sc; - - sc = pcm_getdevinfo(dev); - - if (ess_reset_dsp(sc)) { - device_printf(dev, "unable to reset DSP at resume\n"); - return ENXIO; - } - - if (mixer_reinit(dev)) { - device_printf(dev, "unable to reinitialize mixer at resume\n"); - return ENXIO; - } - - return 0; -} - -static device_method_t ess_methods[] = { - /* Device interface */ - DEVMETHOD(device_probe, ess_probe), - DEVMETHOD(device_attach, ess_attach), - DEVMETHOD(device_detach, ess_detach), - DEVMETHOD(device_resume, ess_resume), - - { 0, 0 } -}; - -static driver_t ess_driver = { - "pcm", - ess_methods, - PCM_SOFTC_SIZE, -}; - -DRIVER_MODULE(snd_ess, sbc, ess_driver, pcm_devclass, NULL, NULL); -MODULE_DEPEND(snd_ess, sound, SOUND_MINVER, SOUND_PREFVER, SOUND_MAXVER); -MODULE_DEPEND(snd_ess, snd_sbc, 1, 1, 1); -MODULE_VERSION(snd_ess, 1); - -/************************************************************/ - -static devclass_t esscontrol_devclass; - -static struct isa_pnp_id essc_ids[] = { - {0x06007316, "ESS Control"}, - {0} -}; - -static int -esscontrol_probe(device_t dev) -{ - int i; - - i = ISA_PNP_PROBE(device_get_parent(dev), dev, essc_ids); - if (i == 0) - device_quiet(dev); - return i; -} - -static int -esscontrol_attach(device_t dev) -{ -#ifdef notyet - struct resource *io; - int rid, i, x; - - rid = 0; - io = bus_alloc_resource_any(dev, SYS_RES_IOPORT, &rid, RF_ACTIVE); - x = 0; - for (i = 0; i < 0x100; i++) { - port_wr(io, 0, i); - x = port_rd(io, 1); - if ((i & 0x0f) == 0) - kprintf("%3.3x: ", i); - kprintf("%2.2x ", x); - if ((i & 0x0f) == 0x0f) - kprintf("\n"); - } - bus_release_resource(dev, SYS_RES_IOPORT, 0, io); - io = NULL; -#endif - - return 0; -} - -static int -esscontrol_detach(device_t dev) -{ - return 0; -} - -static device_method_t esscontrol_methods[] = { - /* Device interface */ - DEVMETHOD(device_probe, esscontrol_probe), - DEVMETHOD(device_attach, esscontrol_attach), - DEVMETHOD(device_detach, esscontrol_detach), - - { 0, 0 } -}; - -static driver_t esscontrol_driver = { - "esscontrol", - esscontrol_methods, - 1, -}; - -DRIVER_MODULE(esscontrol, isa, esscontrol_driver, esscontrol_devclass, NULL, NULL); -DRIVER_MODULE(esscontrol, acpi, esscontrol_driver, esscontrol_devclass, NULL, NULL); diff --git a/sys/dev/sound/isa/gusc.c b/sys/dev/sound/isa/gusc.c deleted file mode 100644 index f34ea04944..0000000000 --- a/sys/dev/sound/isa/gusc.c +++ /dev/null @@ -1,651 +0,0 @@ -/*- - * Copyright (c) 1999 Seigo Tanimura - * Copyright (c) 1999 Ville-Pertti Keinonen - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD: src/sys/dev/sound/isa/gusc.c,v 1.16 2005/01/06 01:43:17 imp Exp $ - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include "bus_if.h" - -#include -#include - -SND_DECLARE_FILE("$DragonFly: src/sys/dev/sound/isa/gusc.c,v 1.11 2007/01/04 21:47:02 corecode Exp $"); - -#define LOGICALID_NOPNP 0 -#define LOGICALID_PCM 0x0000561e -#define LOGICALID_OPL 0x0300561e -#define LOGICALID_MIDI 0x0400561e - -/* PnP IDs */ -static struct isa_pnp_id gusc_ids[] = { - {LOGICALID_PCM, "GRV0000 Gravis UltraSound PnP PCM"}, /* GRV0000 */ - {LOGICALID_OPL, "GRV0003 Gravis UltraSound PnP OPL"}, /* GRV0003 */ - {LOGICALID_MIDI, "GRV0004 Gravis UltraSound PnP MIDI"}, /* GRV0004 */ -}; - -/* Interrupt handler. */ -struct gusc_ihandler { - void (*intr)(void *); - void *arg; -}; - -/* Here is the parameter structure per a device. */ -struct gusc_softc { - device_t dev; /* device */ - int io_rid[3]; /* io port rids */ - struct resource *io[3]; /* io port resources */ - int io_alloced[3]; /* io port alloc flag */ - int irq_rid; /* irq rids */ - struct resource *irq; /* irq resources */ - int irq_alloced; /* irq alloc flag */ - int drq_rid[2]; /* drq rids */ - struct resource *drq[2]; /* drq resources */ - int drq_alloced[2]; /* drq alloc flag */ - - /* Interrupts are shared (XXX non-PnP only?) */ - struct gusc_ihandler midi_intr; - struct gusc_ihandler pcm_intr; -}; - -typedef struct gusc_softc *sc_p; - -static int gusc_probe(device_t dev); -static int gusc_attach(device_t dev); -static int gusisa_probe(device_t dev); -static void gusc_intr(void *); -static struct resource *gusc_alloc_resource(device_t bus, device_t child, int type, int *rid, - u_long start, u_long end, u_long count, u_int flags, int cpuid); -static int gusc_release_resource(device_t bus, device_t child, int type, int rid, - struct resource *r); - -static device_t find_masterdev(sc_p scp); -static int alloc_resource(sc_p scp); -static int release_resource(sc_p scp); - -static devclass_t gusc_devclass; - -static int -gusc_probe(device_t dev) -{ - device_t child; - u_int32_t logical_id; - char *s; - struct sndcard_func *func; - int ret; - - logical_id = isa_get_logicalid(dev); - s = NULL; - - /* Check isapnp ids */ - if (logical_id != 0 && (ret = ISA_PNP_PROBE(device_get_parent(dev), dev, gusc_ids)) != 0) - return (ret); - else { - if (logical_id == 0) - return gusisa_probe(dev); - } - - switch (logical_id) { - case LOGICALID_PCM: - s = "Gravis UltraSound Plug & Play PCM"; - func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF, - M_WAITOK | M_ZERO); - func->func = SCF_PCM; - child = device_add_child(dev, "pcm", -1); - device_set_ivars(child, func); - break; - case LOGICALID_OPL: - s = "Gravis UltraSound Plug & Play OPL"; - func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF, - M_WAITOK | M_ZERO); - func->func = SCF_SYNTH; - child = device_add_child(dev, "midi", -1); - device_set_ivars(child, func); - break; - case LOGICALID_MIDI: - s = "Gravis UltraSound Plug & Play MIDI"; - func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF, - M_WAITOK | M_ZERO); - func->func = SCF_MIDI; - child = device_add_child(dev, "midi", -1); - device_set_ivars(child, func); - break; - } - - if (s != NULL) { - device_set_desc(dev, s); - return (0); - } - - return (ENXIO); -} - -static void -port_wr(struct resource *r, int i, unsigned char v) -{ - bus_space_write_1(rman_get_bustag(r), rman_get_bushandle(r), i, v); -} - -static int -port_rd(struct resource *r, int i) -{ - return bus_space_read_1(rman_get_bustag(r), rman_get_bushandle(r), i); -} - -/* - * Probe for an old (non-PnP) GUS card on the ISA bus. - */ - -static int -gusisa_probe(device_t dev) -{ - device_t child; - struct resource *res, *res2; - int base, rid, rid2, flags; - unsigned char val; - - base = isa_get_port(dev); - flags = device_get_flags(dev); - rid = 1; - res = bus_alloc_resource(dev, SYS_RES_IOPORT, &rid, base + 0x100, - base + 0x107, 8, RF_ACTIVE); - - if (res == NULL) - return ENXIO; - - res2 = NULL; - - /* - * Check for the presence of some GUS card. Reset the card, - * then see if we can access the memory on it. - */ - - port_wr(res, 3, 0x4c); - port_wr(res, 5, 0); - DELAY(30 * 1000); - - port_wr(res, 3, 0x4c); - port_wr(res, 5, 1); - DELAY(30 * 1000); - - crit_enter(); - - /* Write to DRAM. */ - - port_wr(res, 3, 0x43); /* Register select */ - port_wr(res, 4, 0); /* Low addr */ - port_wr(res, 5, 0); /* Med addr */ - - port_wr(res, 3, 0x44); /* Register select */ - port_wr(res, 4, 0); /* High addr */ - port_wr(res, 7, 0x55); /* DRAM */ - - /* Read from DRAM. */ - - port_wr(res, 3, 0x43); /* Register select */ - port_wr(res, 4, 0); /* Low addr */ - port_wr(res, 5, 0); /* Med addr */ - - port_wr(res, 3, 0x44); /* Register select */ - port_wr(res, 4, 0); /* High addr */ - val = port_rd(res, 7); /* DRAM */ - - crit_exit(); - - if (val != 0x55) - goto fail; - - rid2 = 0; - res2 = bus_alloc_resource(dev, SYS_RES_IOPORT, &rid2, base, base, 1, - RF_ACTIVE); - - if (res2 == NULL) - goto fail; - - crit_enter(); - port_wr(res2, 0x0f, 0x20); - val = port_rd(res2, 0x0f); - crit_exit(); - - if (val == 0xff || (val & 0x06) == 0) - val = 0; - else { - val = port_rd(res2, 0x506); /* XXX Out of range. */ - if (val == 0xff) - val = 0; - } - - bus_release_resource(dev, SYS_RES_IOPORT, rid2, res2); - bus_release_resource(dev, SYS_RES_IOPORT, rid, res); - - if (val >= 10) { - struct sndcard_func *func; - - /* Looks like a GUS MAX. Set the rest of the resources. */ - - bus_set_resource(dev, SYS_RES_IOPORT, 2, base + 0x10c, 8, -1); - - if (flags & DV_F_DUAL_DMA) - bus_set_resource(dev, SYS_RES_DRQ, 1, - flags & DV_F_DRQ_MASK, 1, -1); - - /* We can support the CS4231 and MIDI devices. */ - - func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF, - M_WAITOK | M_ZERO); - func->func = SCF_MIDI; - child = device_add_child(dev, "midi", -1); - device_set_ivars(child, func); - - func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF, - M_WAITOK | M_ZERO); - { - func->func = SCF_PCM; - child = device_add_child(dev, "pcm", -1); - device_set_ivars(child, func); - } - device_set_desc(dev, "Gravis UltraSound MAX"); - return 0; - } else { - - /* - * TODO: Support even older GUS cards. MIDI should work on - * all models. - */ - return ENXIO; - } - -fail: - bus_release_resource(dev, SYS_RES_IOPORT, rid, res); - return ENXIO; -} - -static int -gusc_attach(device_t dev) -{ - sc_p scp; - void *ih; - - scp = device_get_softc(dev); - - bzero(scp, sizeof(*scp)); - - scp->dev = dev; - if (alloc_resource(scp)) { - release_resource(scp); - return (ENXIO); - } - - if (scp->irq != NULL) - bus_setup_intr(dev, scp->irq, INTR_TYPE_AV, gusc_intr, scp, &ih, NULL); - bus_generic_attach(dev); - - return (0); -} - -/* - * Handle interrupts on GUS devices until there aren't any left. - */ -static void -gusc_intr(void *arg) -{ - sc_p scp = (sc_p)arg; - int did_something; - - do { - did_something = 0; - if (scp->pcm_intr.intr != NULL && - (port_rd(scp->io[2], 2) & 1)) { - (*scp->pcm_intr.intr)(scp->pcm_intr.arg); - did_something = 1; - } - if (scp->midi_intr.intr != NULL && - (port_rd(scp->io[1], 0) & 0x80)) { - (*scp->midi_intr.intr)(scp->midi_intr.arg); - did_something = 1; - } - } while (did_something != 0); -} - -static struct resource * -gusc_alloc_resource(device_t bus, device_t child, int type, int *rid, - u_long start, u_long end, u_long count, u_int flags, int cpuid __unused) -{ - sc_p scp; - int *alloced, rid_max, alloced_max; - struct resource **res; - - scp = device_get_softc(bus); - switch (type) { - case SYS_RES_IOPORT: - alloced = scp->io_alloced; - res = scp->io; - rid_max = 2; - alloced_max = 2; /* pcm + midi (more to include synth) */ - break; - case SYS_RES_IRQ: - alloced = &scp->irq_alloced; - res = &scp->irq; - rid_max = 0; - alloced_max = 2; /* pcm and midi share the single irq. */ - break; - case SYS_RES_DRQ: - alloced = scp->drq_alloced; - res = scp->drq; - rid_max = 1; - alloced_max = 1; - break; - default: - return (NULL); - } - - if (*rid > rid_max || alloced[*rid] == alloced_max) - return (NULL); - - alloced[*rid]++; - return (res[*rid]); -} - -static int -gusc_release_resource(device_t bus, device_t child, int type, int rid, - struct resource *r) -{ - sc_p scp; - int *alloced, rid_max; - - scp = device_get_softc(bus); - switch (type) { - case SYS_RES_IOPORT: - alloced = scp->io_alloced; - rid_max = 2; - break; - case SYS_RES_IRQ: - alloced = &scp->irq_alloced; - rid_max = 0; - break; - case SYS_RES_DRQ: - alloced = scp->drq_alloced; - rid_max = 1; - break; - default: - return (1); - } - - if (rid > rid_max || alloced[rid] == 0) - return (1); - - alloced[rid]--; - return (0); -} - -static int -gusc_setup_intr(device_t dev, device_t child, struct resource *irq, - int flags, driver_intr_t *intr, void *arg, void **cookiep) -{ - sc_p scp = (sc_p)device_get_softc(dev); - devclass_t devclass; - - devclass = device_get_devclass(child); - if (strcmp(devclass_get_name(devclass), "midi") == 0) { - scp->midi_intr.intr = intr; - scp->midi_intr.arg = arg; - return 0; - } else if (strcmp(devclass_get_name(devclass), "pcm") == 0) { - scp->pcm_intr.intr = intr; - scp->pcm_intr.arg = arg; - return 0; - } - return bus_generic_setup_intr(dev, child, irq, flags, intr, - arg, cookiep, NULL, NULL); -} - -static device_t -find_masterdev(sc_p scp) -{ - int i, units; - devclass_t devclass; - device_t dev; - - devclass = device_get_devclass(scp->dev); - units = devclass_get_maxunit(devclass); - dev = NULL; - for (i = 0 ; i < units ; i++) { - dev = devclass_get_device(devclass, i); - if (isa_get_vendorid(dev) == isa_get_vendorid(scp->dev) - && isa_get_logicalid(dev) == LOGICALID_PCM - && isa_get_serial(dev) == isa_get_serial(scp->dev)) - break; - } - if (i == units) - return (NULL); - - return (dev); -} - -static int io_range[3] = {0x10, 0x8 , 0x4 }; -static int io_offset[3] = {0x0 , 0x100, 0x10c}; -static int -alloc_resource(sc_p scp) -{ - int i, base, lid, flags; - device_t dev; - - flags = 0; - if (isa_get_vendorid(scp->dev)) - lid = isa_get_logicalid(scp->dev); - else { - lid = LOGICALID_NOPNP; - flags = device_get_flags(scp->dev); - } - switch(lid) { - case LOGICALID_PCM: - case LOGICALID_NOPNP: /* XXX Non-PnP */ - if (lid == LOGICALID_NOPNP) - base = isa_get_port(scp->dev); - else - base = 0; - for (i = 0 ; i < NELEM(scp->io) ; i++) { - if (scp->io[i] == NULL) { - scp->io_rid[i] = i; - if (base == 0) - scp->io[i] = bus_alloc_resource(scp->dev, SYS_RES_IOPORT, &scp->io_rid[i], - 0, ~0, io_range[i], RF_ACTIVE); - else - scp->io[i] = bus_alloc_resource(scp->dev, SYS_RES_IOPORT, &scp->io_rid[i], - base + io_offset[i], - base + io_offset[i] + io_range[i] - 1 - , io_range[i], RF_ACTIVE); - if (scp->io[i] == NULL) - return (1); - scp->io_alloced[i] = 0; - } - } - if (scp->irq == NULL) { - scp->irq_rid = 0; - scp->irq = - bus_alloc_resource_any(scp->dev, SYS_RES_IRQ, - &scp->irq_rid, - RF_ACTIVE|RF_SHAREABLE); - if (scp->irq == NULL) - return (1); - scp->irq_alloced = 0; - } - for (i = 0 ; i < NELEM(scp->drq) ; i++) { - if (scp->drq[i] == NULL) { - scp->drq_rid[i] = i; - if (base == 0 || i == 0) - scp->drq[i] = - bus_alloc_resource_any( - scp->dev, SYS_RES_DRQ, - &scp->drq_rid[i], - RF_ACTIVE); - else if ((flags & DV_F_DUAL_DMA) != 0) - /* XXX The secondary drq is specified in the flag. */ - scp->drq[i] = bus_alloc_resource(scp->dev, SYS_RES_DRQ, &scp->drq_rid[i], - flags & DV_F_DRQ_MASK, - flags & DV_F_DRQ_MASK, 1, RF_ACTIVE); - if (scp->drq[i] == NULL) - return (1); - scp->drq_alloced[i] = 0; - } - } - break; - case LOGICALID_OPL: - if (scp->io[0] == NULL) { - scp->io_rid[0] = 0; - scp->io[0] = bus_alloc_resource(scp->dev, SYS_RES_IOPORT, &scp->io_rid[0], - 0, ~0, io_range[0], RF_ACTIVE); - if (scp->io[0] == NULL) - return (1); - scp->io_alloced[0] = 0; - } - break; - case LOGICALID_MIDI: - if (scp->io[0] == NULL) { - scp->io_rid[0] = 0; - scp->io[0] = bus_alloc_resource(scp->dev, SYS_RES_IOPORT, &scp->io_rid[0], - 0, ~0, io_range[0], RF_ACTIVE); - if (scp->io[0] == NULL) - return (1); - scp->io_alloced[0] = 0; - } - if (scp->irq == NULL) { - /* The irq is shared with pcm audio. */ - dev = find_masterdev(scp); - if (dev == NULL) - return (1); - scp->irq_rid = 0; - scp->irq = BUS_ALLOC_RESOURCE(dev, NULL, SYS_RES_IRQ, &scp->irq_rid, - 0, ~0, 1, RF_ACTIVE | RF_SHAREABLE, -1); - if (scp->irq == NULL) - return (1); - scp->irq_alloced = 0; - } - break; - } - return (0); -} - -static int -release_resource(sc_p scp) -{ - int i, lid; - device_t dev; - - if (isa_get_vendorid(scp->dev)) - lid = isa_get_logicalid(scp->dev); - else - lid = LOGICALID_NOPNP; - switch(lid) { - case LOGICALID_PCM: - case LOGICALID_NOPNP: /* XXX Non-PnP */ - for (i = 0 ; i < NELEM(scp->io) ; i++) { - if (scp->io[i] != NULL) { - bus_release_resource(scp->dev, SYS_RES_IOPORT, scp->io_rid[i], scp->io[i]); - scp->io[i] = NULL; - } - } - if (scp->irq != NULL) { - bus_release_resource(scp->dev, SYS_RES_IRQ, scp->irq_rid, scp->irq); - scp->irq = NULL; - } - for (i = 0 ; i < NELEM(scp->drq) ; i++) { - if (scp->drq[i] != NULL) { - bus_release_resource(scp->dev, SYS_RES_DRQ, scp->drq_rid[i], scp->drq[i]); - scp->drq[i] = NULL; - } - } - break; - case LOGICALID_OPL: - if (scp->io[0] != NULL) { - bus_release_resource(scp->dev, SYS_RES_IOPORT, scp->io_rid[0], scp->io[0]); - scp->io[0] = NULL; - } - break; - case LOGICALID_MIDI: - if (scp->io[0] != NULL) { - bus_release_resource(scp->dev, SYS_RES_IOPORT, scp->io_rid[0], scp->io[0]); - scp->io[0] = NULL; - } - if (scp->irq != NULL) { - /* The irq is shared with pcm audio. */ - dev = find_masterdev(scp); - if (dev == NULL) - return (1); - BUS_RELEASE_RESOURCE(dev, NULL, SYS_RES_IOPORT, scp->irq_rid, scp->irq); - scp->irq = NULL; - } - break; - } - return (0); -} - -static device_method_t gusc_methods[] = { - /* Device interface */ - DEVMETHOD(device_probe, gusc_probe), - DEVMETHOD(device_attach, gusc_attach), - DEVMETHOD(device_detach, bus_generic_detach), - DEVMETHOD(device_shutdown, bus_generic_shutdown), - DEVMETHOD(device_suspend, bus_generic_suspend), - DEVMETHOD(device_resume, bus_generic_resume), - - /* Bus interface */ - DEVMETHOD(bus_print_child, bus_generic_print_child), - DEVMETHOD(bus_alloc_resource, gusc_alloc_resource), - DEVMETHOD(bus_release_resource, gusc_release_resource), - DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), - DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), - DEVMETHOD(bus_setup_intr, gusc_setup_intr), - DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr), - - { 0, 0 } -}; - -static driver_t gusc_driver = { - "gusc", - gusc_methods, - sizeof(struct gusc_softc), -}; - -/* - * gusc can be attached to an isa bus. - */ -DRIVER_MODULE(snd_gusc, isa, gusc_driver, gusc_devclass, NULL, NULL); -DRIVER_MODULE(snd_gusc, acpi, gusc_driver, gusc_devclass, NULL, NULL); -MODULE_DEPEND(snd_gusc, sound, SOUND_MINVER, SOUND_PREFVER, SOUND_MAXVER); -MODULE_VERSION(snd_gusc, 1); - - diff --git a/sys/dev/sound/isa/mss.c b/sys/dev/sound/isa/mss.c deleted file mode 100644 index 8106da0e7c..0000000000 --- a/sys/dev/sound/isa/mss.c +++ /dev/null @@ -1,2290 +0,0 @@ -/*- - * Copyright (c) 2001 George Reid - * Copyright (c) 1999 Cameron Grant - * Copyright Luigi Rizzo, 1997,1998 - * Copyright by Hannu Savolainen 1994, 1995 - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD: src/sys/dev/sound/isa/mss.c,v 1.95.2.3 2006/04/04 17:30:59 ariff Exp $ - */ - -#include -#include - -SND_DECLARE_FILE("$DragonFly: src/sys/dev/sound/isa/mss.c,v 1.11 2007/06/16 20:07:18 dillon Exp $"); - -/* board-specific include files */ -#include -#include -#include - -#include - -#include "mixer_if.h" - -#define MSS_DEFAULT_BUFSZ (4096) -#define MSS_INDEXED_REGS 0x20 -#define OPL_INDEXED_REGS 0x19 - -struct mss_info; - -struct mss_chinfo { - struct mss_info *parent; - struct pcm_channel *channel; - struct snd_dbuf *buffer; - int dir; - u_int32_t fmt, blksz; -}; - -struct mss_info { - struct resource *io_base; /* primary I/O address for the board */ - int io_rid; - struct resource *conf_base; /* and the opti931 also has a config space */ - int conf_rid; - struct resource *irq; - int irq_rid; - struct resource *drq1; /* play */ - int drq1_rid; - struct resource *drq2; /* rec */ - int drq2_rid; - void *ih; - bus_dma_tag_t parent_dmat; - sndlock_t lock; - - char mss_indexed_regs[MSS_INDEXED_REGS]; - char opl_indexed_regs[OPL_INDEXED_REGS]; - int bd_id; /* used to hold board-id info, eg. sb version, - * mss codec type, etc. etc. - */ - int opti_offset; /* offset from config_base for opti931 */ - u_long bd_flags; /* board-specific flags */ - int optibase; /* base address for OPTi9xx config */ - struct resource *indir; /* Indirect register index address */ - int indir_rid; - int password; /* password for opti9xx cards */ - int passwdreg; /* password register */ - unsigned int bufsize; - struct mss_chinfo pch, rch; -}; - -static int mss_probe(device_t dev); -static int mss_attach(device_t dev); - -static driver_intr_t mss_intr; - -/* prototypes for local functions */ -static int mss_detect(device_t dev, struct mss_info *mss); -static int opti_detect(device_t dev, struct mss_info *mss); -static char *ymf_test(device_t dev, struct mss_info *mss); -static void ad_unmute(struct mss_info *mss); - -/* mixer set funcs */ -static int mss_mixer_set(struct mss_info *mss, int dev, int left, int right); -static int mss_set_recsrc(struct mss_info *mss, int mask); - -/* io funcs */ -static int ad_wait_init(struct mss_info *mss, int x); -static int ad_read(struct mss_info *mss, int reg); -static void ad_write(struct mss_info *mss, int reg, u_char data); -static void ad_write_cnt(struct mss_info *mss, int reg, u_short data); -static void ad_enter_MCE(struct mss_info *mss); -static void ad_leave_MCE(struct mss_info *mss); - -/* OPTi-specific functions */ -static void opti_write(struct mss_info *mss, u_char reg, - u_char data); -static u_char opti_read(struct mss_info *mss, u_char reg); -static int opti_init(device_t dev, struct mss_info *mss); - -/* io primitives */ -static void conf_wr(struct mss_info *mss, u_char reg, u_char data); -static u_char conf_rd(struct mss_info *mss, u_char reg); - -static int pnpmss_probe(device_t dev); -static int pnpmss_attach(device_t dev); - -static driver_intr_t opti931_intr; - -static u_int32_t mss_fmt[] = { - AFMT_U8, - AFMT_STEREO | AFMT_U8, - AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE, - AFMT_MU_LAW, - AFMT_STEREO | AFMT_MU_LAW, - AFMT_A_LAW, - AFMT_STEREO | AFMT_A_LAW, - 0 -}; -static struct pcmchan_caps mss_caps = {4000, 48000, mss_fmt, 0}; - -static u_int32_t guspnp_fmt[] = { - AFMT_U8, - AFMT_STEREO | AFMT_U8, - AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE, - AFMT_A_LAW, - AFMT_STEREO | AFMT_A_LAW, - 0 -}; -static struct pcmchan_caps guspnp_caps = {4000, 48000, guspnp_fmt, 0}; - -static u_int32_t opti931_fmt[] = { - AFMT_U8, - AFMT_STEREO | AFMT_U8, - AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE, - 0 -}; -static struct pcmchan_caps opti931_caps = {4000, 48000, opti931_fmt, 0}; - -#define MD_AD1848 0x91 -#define MD_AD1845 0x92 -#define MD_CS42XX 0xA1 -#define MD_CS423X 0xA2 -#define MD_OPTI930 0xB0 -#define MD_OPTI931 0xB1 -#define MD_OPTI925 0xB2 -#define MD_OPTI924 0xB3 -#define MD_GUSPNP 0xB8 -#define MD_GUSMAX 0xB9 -#define MD_YM0020 0xC1 -#define MD_VIVO 0xD1 - -#define DV_F_TRUE_MSS 0x00010000 /* mss _with_ base regs */ - -#define FULL_DUPLEX(x) ((x)->bd_flags & BD_F_DUPLEX) - -static void -mss_lock(struct mss_info *mss) -{ - snd_mtxlock(mss->lock); -} - -static void -mss_unlock(struct mss_info *mss) -{ - snd_mtxunlock(mss->lock); -} - -static int -port_rd(struct resource *port, int off) -{ - if (port) - return bus_space_read_1(rman_get_bustag(port), - rman_get_bushandle(port), - off); - else - return -1; -} - -static void -port_wr(struct resource *port, int off, u_int8_t data) -{ - if (port) - bus_space_write_1(rman_get_bustag(port), - rman_get_bushandle(port), - off, data); -} - -static int -io_rd(struct mss_info *mss, int reg) -{ - if (mss->bd_flags & BD_F_MSS_OFFSET) reg -= 4; - return port_rd(mss->io_base, reg); -} - -static void -io_wr(struct mss_info *mss, int reg, u_int8_t data) -{ - if (mss->bd_flags & BD_F_MSS_OFFSET) reg -= 4; - port_wr(mss->io_base, reg, data); -} - -static void -conf_wr(struct mss_info *mss, u_char reg, u_char value) -{ - port_wr(mss->conf_base, 0, reg); - port_wr(mss->conf_base, 1, value); -} - -static u_char -conf_rd(struct mss_info *mss, u_char reg) -{ - port_wr(mss->conf_base, 0, reg); - return port_rd(mss->conf_base, 1); -} - -static void -opti_wr(struct mss_info *mss, u_char reg, u_char value) -{ - port_wr(mss->conf_base, mss->opti_offset + 0, reg); - port_wr(mss->conf_base, mss->opti_offset + 1, value); -} - -static u_char -opti_rd(struct mss_info *mss, u_char reg) -{ - port_wr(mss->conf_base, mss->opti_offset + 0, reg); - return port_rd(mss->conf_base, mss->opti_offset + 1); -} - -static void -gus_wr(struct mss_info *mss, u_char reg, u_char value) -{ - port_wr(mss->conf_base, 3, reg); - port_wr(mss->conf_base, 5, value); -} - -static u_char -gus_rd(struct mss_info *mss, u_char reg) -{ - port_wr(mss->conf_base, 3, reg); - return port_rd(mss->conf_base, 5); -} - -static void -mss_release_resources(struct mss_info *mss, device_t dev) -{ - if (mss->irq) { - if (mss->ih) - bus_teardown_intr(dev, mss->irq, mss->ih); - bus_release_resource(dev, SYS_RES_IRQ, mss->irq_rid, - mss->irq); - mss->irq = NULL; - } - if (mss->drq2) { - if (mss->drq2 != mss->drq1) { - isa_dma_release(rman_get_start(mss->drq2)); - bus_release_resource(dev, SYS_RES_DRQ, mss->drq2_rid, - mss->drq2); - } - mss->drq2 = NULL; - } - if (mss->drq1) { - isa_dma_release(rman_get_start(mss->drq1)); - bus_release_resource(dev, SYS_RES_DRQ, mss->drq1_rid, - mss->drq1); - mss->drq1 = NULL; - } - if (mss->io_base) { - bus_release_resource(dev, SYS_RES_IOPORT, mss->io_rid, - mss->io_base); - mss->io_base = NULL; - } - if (mss->conf_base) { - bus_release_resource(dev, SYS_RES_IOPORT, mss->conf_rid, - mss->conf_base); - mss->conf_base = NULL; - } - if (mss->indir) { - bus_release_resource(dev, SYS_RES_IOPORT, mss->indir_rid, - mss->indir); - mss->indir = NULL; - } - if (mss->parent_dmat) { - bus_dma_tag_destroy(mss->parent_dmat); - mss->parent_dmat = 0; - } - if (mss->lock) snd_mtxfree(mss->lock); - - kfree(mss, M_DEVBUF); -} - -static int -mss_alloc_resources(struct mss_info *mss, device_t dev) -{ - int pdma, rdma, ok = 1; - if (!mss->io_base) - mss->io_base = bus_alloc_resource_any(dev, SYS_RES_IOPORT, - &mss->io_rid, RF_ACTIVE); - if (!mss->irq) - mss->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, - &mss->irq_rid, RF_ACTIVE); - if (!mss->drq1) - mss->drq1 = bus_alloc_resource_any(dev, SYS_RES_DRQ, - &mss->drq1_rid, - RF_ACTIVE); - if (mss->conf_rid >= 0 && !mss->conf_base) - mss->conf_base = bus_alloc_resource_any(dev, SYS_RES_IOPORT, - &mss->conf_rid, - RF_ACTIVE); - if (mss->drq2_rid >= 0 && !mss->drq2) - mss->drq2 = bus_alloc_resource_any(dev, SYS_RES_DRQ, - &mss->drq2_rid, - RF_ACTIVE); - - if (!mss->io_base || !mss->drq1 || !mss->irq) ok = 0; - if (mss->conf_rid >= 0 && !mss->conf_base) ok = 0; - if (mss->drq2_rid >= 0 && !mss->drq2) ok = 0; - - if (ok) { - pdma = rman_get_start(mss->drq1); - isa_dma_acquire(pdma); - isa_dmainit(pdma, mss->bufsize); - mss->bd_flags &= ~BD_F_DUPLEX; - if (mss->drq2) { - rdma = rman_get_start(mss->drq2); - isa_dma_acquire(rdma); - isa_dmainit(rdma, mss->bufsize); - mss->bd_flags |= BD_F_DUPLEX; - } else mss->drq2 = mss->drq1; - } - return ok; -} - -/* - * The various mixers use a variety of bitmasks etc. The Voxware - * driver had a very nice technique to describe a mixer and interface - * to it. A table defines, for each channel, which register, bits, - * offset, polarity to use. This procedure creates the new value - * using the table and the old value. - */ - -static void -change_bits(mixer_tab *t, u_char *regval, int dev, int chn, int newval) -{ - u_char mask; - int shift; - - DEB(kprintf("ch_bits dev %d ch %d val %d old 0x%02x " - "r %d p %d bit %d off %d\n", - dev, chn, newval, *regval, - (*t)[dev][chn].regno, (*t)[dev][chn].polarity, - (*t)[dev][chn].nbits, (*t)[dev][chn].bitoffs ) ); - - if ( (*t)[dev][chn].polarity == 1) /* reverse */ - newval = 100 - newval ; - - mask = (1 << (*t)[dev][chn].nbits) - 1; - newval = (int) ((newval * mask) + 50) / 100; /* Scale it */ - shift = (*t)[dev][chn].bitoffs /*- (*t)[dev][LEFT_CHN].nbits + 1*/; - - *regval &= ~(mask << shift); /* Filter out the previous value */ - *regval |= (newval & mask) << shift; /* Set the new value */ -} - -/* -------------------------------------------------------------------- */ -/* only one source can be set... */ -static int -mss_set_recsrc(struct mss_info *mss, int mask) -{ - u_char recdev; - - switch (mask) { - case SOUND_MASK_LINE: - case SOUND_MASK_LINE3: - recdev = 0; - break; - - case SOUND_MASK_CD: - case SOUND_MASK_LINE1: - recdev = 0x40; - break; - - case SOUND_MASK_IMIX: - recdev = 0xc0; - break; - - case SOUND_MASK_MIC: - default: - mask = SOUND_MASK_MIC; - recdev = 0x80; - } - ad_write(mss, 0, (ad_read(mss, 0) & 0x3f) | recdev); - ad_write(mss, 1, (ad_read(mss, 1) & 0x3f) | recdev); - return mask; -} - -/* there are differences in the mixer depending on the actual sound card. */ -static int -mss_mixer_set(struct mss_info *mss, int dev, int left, int right) -{ - int regoffs; - mixer_tab *mix_d; - u_char old, val; - - switch (mss->bd_id) { - case MD_OPTI931: - mix_d = &opti931_devices; - break; - case MD_OPTI930: - mix_d = &opti930_devices; - break; - default: - mix_d = &mix_devices; - } - - if ((*mix_d)[dev][LEFT_CHN].nbits == 0) { - DEB(kprintf("nbits = 0 for dev %d\n", dev)); - return -1; - } - - if ((*mix_d)[dev][RIGHT_CHN].nbits == 0) right = left; /* mono */ - - /* Set the left channel */ - - regoffs = (*mix_d)[dev][LEFT_CHN].regno; - old = val = ad_read(mss, regoffs); - /* if volume is 0, mute chan. Otherwise, unmute. */ - if (regoffs != 0) val = (left == 0)? old | 0x80 : old & 0x7f; - change_bits(mix_d, &val, dev, LEFT_CHN, left); - ad_write(mss, regoffs, val); - - DEB(kprintf("LEFT: dev %d reg %d old 0x%02x new 0x%02x\n", - dev, regoffs, old, val)); - - if ((*mix_d)[dev][RIGHT_CHN].nbits != 0) { /* have stereo */ - /* Set the right channel */ - regoffs = (*mix_d)[dev][RIGHT_CHN].regno; - old = val = ad_read(mss, regoffs); - if (regoffs != 1) val = (right == 0)? old | 0x80 : old & 0x7f; - change_bits(mix_d, &val, dev, RIGHT_CHN, right); - ad_write(mss, regoffs, val); - - DEB(kprintf("RIGHT: dev %d reg %d old 0x%02x new 0x%02x\n", - dev, regoffs, old, val)); - } - return 0; /* success */ -} - -/* -------------------------------------------------------------------- */ - -static int -mssmix_init(struct snd_mixer *m) -{ - struct mss_info *mss = mix_getdevinfo(m); - - mix_setdevs(m, MODE2_MIXER_DEVICES); - mix_setrecdevs(m, MSS_REC_DEVICES); - switch(mss->bd_id) { - case MD_OPTI930: - mix_setdevs(m, OPTI930_MIXER_DEVICES); - break; - - case MD_OPTI931: - mix_setdevs(m, OPTI931_MIXER_DEVICES); - mss_lock(mss); - ad_write(mss, 20, 0x88); - ad_write(mss, 21, 0x88); - mss_unlock(mss); - break; - - case MD_AD1848: - mix_setdevs(m, MODE1_MIXER_DEVICES); - break; - - case MD_GUSPNP: - case MD_GUSMAX: - /* this is only necessary in mode 3 ... */ - mss_lock(mss); - ad_write(mss, 22, 0x88); - ad_write(mss, 23, 0x88); - mss_unlock(mss); - break; - } - return 0; -} - -static int -mssmix_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) -{ - struct mss_info *mss = mix_getdevinfo(m); - - mss_lock(mss); - mss_mixer_set(mss, dev, left, right); - mss_unlock(mss); - - return left | (right << 8); -} - -static int -mssmix_setrecsrc(struct snd_mixer *m, u_int32_t src) -{ - struct mss_info *mss = mix_getdevinfo(m); - - mss_lock(mss); - src = mss_set_recsrc(mss, src); - mss_unlock(mss); - return src; -} - -static kobj_method_t mssmix_mixer_methods[] = { - KOBJMETHOD(mixer_init, mssmix_init), - KOBJMETHOD(mixer_set, mssmix_set), - KOBJMETHOD(mixer_setrecsrc, mssmix_setrecsrc), - KOBJMETHOD_END -}; -MIXER_DECLARE(mssmix_mixer); - -/* -------------------------------------------------------------------- */ - -static int -ymmix_init(struct snd_mixer *m) -{ - struct mss_info *mss = mix_getdevinfo(m); - - mssmix_init(m); - mix_setdevs(m, mix_getdevs(m) | SOUND_MASK_VOLUME | SOUND_MASK_MIC - | SOUND_MASK_BASS | SOUND_MASK_TREBLE); - /* Set master volume */ - mss_lock(mss); - conf_wr(mss, OPL3SAx_VOLUMEL, 7); - conf_wr(mss, OPL3SAx_VOLUMER, 7); - mss_unlock(mss); - - return 0; -} - -static int -ymmix_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) -{ - struct mss_info *mss = mix_getdevinfo(m); - int t, l, r; - - mss_lock(mss); - switch (dev) { - case SOUND_MIXER_VOLUME: - if (left) t = 15 - (left * 15) / 100; - else t = 0x80; /* mute */ - conf_wr(mss, OPL3SAx_VOLUMEL, t); - if (right) t = 15 - (right * 15) / 100; - else t = 0x80; /* mute */ - conf_wr(mss, OPL3SAx_VOLUMER, t); - break; - - case SOUND_MIXER_MIC: - t = left; - if (left) t = 31 - (left * 31) / 100; - else t = 0x80; /* mute */ - conf_wr(mss, OPL3SAx_MIC, t); - break; - - case SOUND_MIXER_BASS: - l = (left * 7) / 100; - r = (right * 7) / 100; - t = (r << 4) | l; - conf_wr(mss, OPL3SAx_BASS, t); - break; - - case SOUND_MIXER_TREBLE: - l = (left * 7) / 100; - r = (right * 7) / 100; - t = (r << 4) | l; - conf_wr(mss, OPL3SAx_TREBLE, t); - break; - - default: - mss_mixer_set(mss, dev, left, right); - } - mss_unlock(mss); - - return left | (right << 8); -} - -static int -ymmix_setrecsrc(struct snd_mixer *m, u_int32_t src) -{ - struct mss_info *mss = mix_getdevinfo(m); - mss_lock(mss); - src = mss_set_recsrc(mss, src); - mss_unlock(mss); - return src; -} - -static kobj_method_t ymmix_mixer_methods[] = { - KOBJMETHOD(mixer_init, ymmix_init), - KOBJMETHOD(mixer_set, ymmix_set), - KOBJMETHOD(mixer_setrecsrc, ymmix_setrecsrc), - KOBJMETHOD_END -}; -MIXER_DECLARE(ymmix_mixer); - -/* -------------------------------------------------------------------- */ -/* - * XXX This might be better off in the gusc driver. - */ -static void -gusmax_setup(struct mss_info *mss, device_t dev, struct resource *alt) -{ - static const unsigned char irq_bits[16] = { - 0, 0, 0, 3, 0, 2, 0, 4, 0, 1, 0, 5, 6, 0, 0, 7 - }; - static const unsigned char dma_bits[8] = { - 0, 1, 0, 2, 0, 3, 4, 5 - }; - device_t parent = device_get_parent(dev); - unsigned char irqctl, dmactl; - - crit_enter(); - - port_wr(alt, 0x0f, 0x05); - port_wr(alt, 0x00, 0x0c); - port_wr(alt, 0x0b, 0x00); - - port_wr(alt, 0x0f, 0x00); - - irqctl = irq_bits[isa_get_irq(parent)]; - /* Share the IRQ with the MIDI driver. */ - irqctl |= 0x40; - dmactl = dma_bits[isa_get_drq(parent)]; - if (device_get_flags(parent) & DV_F_DUAL_DMA) - dmactl |= dma_bits[device_get_flags(parent) & DV_F_DRQ_MASK] - << 3; - - /* - * Set the DMA and IRQ control latches. - */ - port_wr(alt, 0x00, 0x0c); - port_wr(alt, 0x0b, dmactl | 0x80); - port_wr(alt, 0x00, 0x4c); - port_wr(alt, 0x0b, irqctl); - - port_wr(alt, 0x00, 0x0c); - port_wr(alt, 0x0b, dmactl); - port_wr(alt, 0x00, 0x4c); - port_wr(alt, 0x0b, irqctl); - - port_wr(mss->conf_base, 2, 0); - port_wr(alt, 0x00, 0x0c); - port_wr(mss->conf_base, 2, 0); - - crit_exit(); -} - -static int -mss_init(struct mss_info *mss, device_t dev) -{ - u_char r6, r9; - struct resource *alt; - int rid, tmp; - - mss->bd_flags |= BD_F_MCE_BIT; - switch(mss->bd_id) { - case MD_OPTI931: - /* - * The MED3931 v.1.0 allocates 3 bytes for the config - * space, whereas v.2.0 allocates 4 bytes. What I know - * for sure is that the upper two ports must be used, - * and they should end on a boundary of 4 bytes. So I - * need the following trick. - */ - mss->opti_offset = - (rman_get_start(mss->conf_base) & ~3) + 2 - - rman_get_start(mss->conf_base); - BVDDB(kprintf("mss_init: opti_offset=%d\n", mss->opti_offset)); - opti_wr(mss, 4, 0xd6); /* fifo empty, OPL3, audio enable, SB3.2 */ - ad_write(mss, 10, 2); /* enable interrupts */ - opti_wr(mss, 6, 2); /* MCIR6: mss enable, sb disable */ - opti_wr(mss, 5, 0x28); /* MCIR5: codec in exp. mode,fifo */ - break; - - case MD_GUSPNP: - case MD_GUSMAX: - gus_wr(mss, 0x4c /* _URSTI */, 0);/* Pull reset */ - DELAY(1000 * 30); - /* release reset and enable DAC */ - gus_wr(mss, 0x4c /* _URSTI */, 3); - DELAY(1000 * 30); - /* end of reset */ - - rid = 0; - alt = bus_alloc_resource_any(dev, SYS_RES_IOPORT, &rid, - RF_ACTIVE); - if (alt == NULL) { - kprintf("XXX couldn't init GUS PnP/MAX\n"); - break; - } - port_wr(alt, 0, 0xC); /* enable int and dma */ - if (mss->bd_id == MD_GUSMAX) - gusmax_setup(mss, dev, alt); - bus_release_resource(dev, SYS_RES_IOPORT, rid, alt); - - /* - * unmute left & right line. Need to go in mode3, unmute, - * and back to mode 2 - */ - tmp = ad_read(mss, 0x0c); - ad_write(mss, 0x0c, 0x6c); /* special value to enter mode 3 */ - ad_write(mss, 0x19, 0); /* unmute left */ - ad_write(mss, 0x1b, 0); /* unmute right */ - ad_write(mss, 0x0c, tmp); /* restore old mode */ - - /* send codec interrupts on irq1 and only use that one */ - gus_wr(mss, 0x5a, 0x4f); - - /* enable access to hidden regs */ - tmp = gus_rd(mss, 0x5b /* IVERI */); - gus_wr(mss, 0x5b, tmp | 1); - BVDDB(kprintf("GUS: silicon rev %c\n", 'A' + ((tmp & 0xf) >> 4))); - break; - - case MD_YM0020: - conf_wr(mss, OPL3SAx_DMACONF, 0xa9); /* dma-b rec, dma-a play */ - r6 = conf_rd(mss, OPL3SAx_DMACONF); - r9 = conf_rd(mss, OPL3SAx_MISC); /* version */ - BVDDB(kprintf("Yamaha: ver 0x%x DMA config 0x%x\n", r6, r9);) - /* yamaha - set volume to max */ - conf_wr(mss, OPL3SAx_VOLUMEL, 0); - conf_wr(mss, OPL3SAx_VOLUMER, 0); - conf_wr(mss, OPL3SAx_DMACONF, FULL_DUPLEX(mss)? 0xa9 : 0x8b); - break; - } - if (FULL_DUPLEX(mss) && mss->bd_id != MD_OPTI931) - ad_write(mss, 12, ad_read(mss, 12) | 0x40); /* mode 2 */ - ad_enter_MCE(mss); - ad_write(mss, 9, FULL_DUPLEX(mss)? 0 : 4); - ad_leave_MCE(mss); - ad_write(mss, 10, 2); /* int enable */ - io_wr(mss, MSS_STATUS, 0); /* Clear interrupt status */ - /* the following seem required on the CS4232 */ - ad_unmute(mss); - return 0; -} - - -/* - * main irq handler for the CS423x. The OPTi931 code is - * a separate one. - * The correct way to operate for a device with multiple internal - * interrupt sources is to loop on the status register and ack - * interrupts until all interrupts are served and none are reported. At - * this point the IRQ line to the ISA IRQ controller should go low - * and be raised at the next interrupt. - * - * Since the ISA IRQ controller is sent EOI _before_ passing control - * to the isr, it might happen that we serve an interrupt early, in - * which case the status register at the next interrupt should just - * say that there are no more interrupts... - */ - -static void -mss_intr(void *arg) -{ - struct mss_info *mss = arg; - u_char c = 0, served = 0; - int i; - - DEB(kprintf("mss_intr\n")); - mss_lock(mss); - ad_read(mss, 11); /* fake read of status bits */ - - /* loop until there are interrupts, but no more than 10 times. */ - for (i = 10; i > 0 && io_rd(mss, MSS_STATUS) & 1; i--) { - /* get exact reason for full-duplex boards */ - c = FULL_DUPLEX(mss)? ad_read(mss, 24) : 0x30; - c &= ~served; - if (sndbuf_runsz(mss->pch.buffer) && (c & 0x10)) { - served |= 0x10; - mss_unlock(mss); - chn_intr(mss->pch.channel); - mss_lock(mss); - } - if (sndbuf_runsz(mss->rch.buffer) && (c & 0x20)) { - served |= 0x20; - mss_unlock(mss); - chn_intr(mss->rch.channel); - mss_lock(mss); - } - /* now ack the interrupt */ - if (FULL_DUPLEX(mss)) ad_write(mss, 24, ~c); /* ack selectively */ - else io_wr(mss, MSS_STATUS, 0); /* Clear interrupt status */ - } - if (i == 10) { - BVDDB(kprintf("mss_intr: irq, but not from mss\n")); - } else if (served == 0) { - BVDDB(kprintf("mss_intr: unexpected irq with reason %x\n", c)); - /* - * this should not happen... I have no idea what to do now. - * maybe should do a sanity check and restart dmas ? - */ - io_wr(mss, MSS_STATUS, 0); /* Clear interrupt status */ - } - mss_unlock(mss); -} - -/* - * AD_WAIT_INIT waits if we are initializing the board and - * we cannot modify its settings - */ -static int -ad_wait_init(struct mss_info *mss, int x) -{ - int arg = x, n = 0; /* to shut up the compiler... */ - for (; x > 0; x--) - if ((n = io_rd(mss, MSS_INDEX)) & MSS_IDXBUSY) DELAY(10); - else return n; - kprintf("AD_WAIT_INIT FAILED %d 0x%02x\n", arg, n); - return n; -} - -static int -ad_read(struct mss_info *mss, int reg) -{ - int x; - - ad_wait_init(mss, 201000); - x = io_rd(mss, MSS_INDEX) & ~MSS_IDXMASK; - io_wr(mss, MSS_INDEX, (u_char)(reg & MSS_IDXMASK) | x); - x = io_rd(mss, MSS_IDATA); - /* kprintf("ad_read %d, %x\n", reg, x); */ - return x; -} - -static void -ad_write(struct mss_info *mss, int reg, u_char data) -{ - int x; - - /* kprintf("ad_write %d, %x\n", reg, data); */ - ad_wait_init(mss, 1002000); - x = io_rd(mss, MSS_INDEX) & ~MSS_IDXMASK; - io_wr(mss, MSS_INDEX, (u_char)(reg & MSS_IDXMASK) | x); - io_wr(mss, MSS_IDATA, data); -} - -static void -ad_write_cnt(struct mss_info *mss, int reg, u_short cnt) -{ - ad_write(mss, reg+1, cnt & 0xff); - ad_write(mss, reg, cnt >> 8); /* upper base must be last */ -} - -static void -wait_for_calibration(struct mss_info *mss) -{ - int t; - - /* - * Wait until the auto calibration process has finished. - * - * 1) Wait until the chip becomes ready (reads don't return 0x80). - * 2) Wait until the ACI bit of I11 gets on - * 3) Wait until the ACI bit of I11 gets off - */ - - t = ad_wait_init(mss, 1000000); - if (t & MSS_IDXBUSY) kprintf("mss: Auto calibration timed out(1).\n"); - - /* - * The calibration mode for chips that support it is set so that - * we never see ACI go on. - */ - if (mss->bd_id == MD_GUSMAX || mss->bd_id == MD_GUSPNP) { - for (t = 100; t > 0 && (ad_read(mss, 11) & 0x20) == 0; t--); - } else { - /* - * XXX This should only be enabled for cards that *really* - * need it. Are there any? - */ - for (t = 100; t > 0 && (ad_read(mss, 11) & 0x20) == 0; t--) DELAY(100); - } - for (t = 100; t > 0 && ad_read(mss, 11) & 0x20; t--) DELAY(100); -} - -static void -ad_unmute(struct mss_info *mss) -{ - ad_write(mss, 6, ad_read(mss, 6) & ~I6_MUTE); - ad_write(mss, 7, ad_read(mss, 7) & ~I6_MUTE); -} - -static void -ad_enter_MCE(struct mss_info *mss) -{ - int prev; - - mss->bd_flags |= BD_F_MCE_BIT; - ad_wait_init(mss, 203000); - prev = io_rd(mss, MSS_INDEX); - prev &= ~MSS_TRD; - io_wr(mss, MSS_INDEX, prev | MSS_MCE); -} - -static void -ad_leave_MCE(struct mss_info *mss) -{ - u_char prev; - - if ((mss->bd_flags & BD_F_MCE_BIT) == 0) { - DEB(kprintf("--- hey, leave_MCE: MCE bit was not set!\n")); - return; - } - - ad_wait_init(mss, 1000000); - - mss->bd_flags &= ~BD_F_MCE_BIT; - - prev = io_rd(mss, MSS_INDEX); - prev &= ~MSS_TRD; - io_wr(mss, MSS_INDEX, prev & ~MSS_MCE); /* Clear the MCE bit */ - wait_for_calibration(mss); -} - -static int -mss_speed(struct mss_chinfo *ch, int speed) -{ - struct mss_info *mss = ch->parent; - /* - * In the CS4231, the low 4 bits of I8 are used to hold the - * sample rate. Only a fixed number of values is allowed. This - * table lists them. The speed-setting routines scans the table - * looking for the closest match. This is the only supported method. - * - * In the CS4236, there is an alternate metod (which we do not - * support yet) which provides almost arbitrary frequency setting. - * In the AD1845, it looks like the sample rate can be - * almost arbitrary, and written directly to a register. - * In the OPTi931, there is a SB command which provides for - * almost arbitrary frequency setting. - * - */ - ad_enter_MCE(mss); - if (mss->bd_id == MD_AD1845) { /* Use alternate speed select regs */ - ad_write(mss, 22, (speed >> 8) & 0xff); /* Speed MSB */ - ad_write(mss, 23, speed & 0xff); /* Speed LSB */ - /* XXX must also do something in I27 for the ad1845 */ - } else { - int i, sel = 0; /* assume entry 0 does not contain -1 */ - static int speeds[] = - {8000, 5512, 16000, 11025, 27429, 18900, 32000, 22050, - -1, 37800, -1, 44100, 48000, 33075, 9600, 6615}; - -#define abs(i) (i < 0 ? -i : i) - for (i = 1; i < 16; i++) - if (speeds[i] > 0 && - abs(speed-speeds[i]) < abs(speed-speeds[sel])) sel = i; -#undef abs - speed = speeds[sel]; - ad_write(mss, 8, (ad_read(mss, 8) & 0xf0) | sel); - ad_wait_init(mss, 10000); - } - ad_leave_MCE(mss); - - return speed; -} - -/* - * mss_format checks that the format is supported (or defaults to AFMT_U8) - * and returns the bit setting for the 1848 register corresponding to - * the desired format. - * - * fixed lr970724 - */ - -static int -mss_format(struct mss_chinfo *ch, u_int32_t format) -{ - struct mss_info *mss = ch->parent; - int i, arg = format & ~AFMT_STEREO; - - /* - * The data format uses 3 bits (just 2 on the 1848). For each - * bit setting, the following array returns the corresponding format. - * The code scans the array looking for a suitable format. In - * case it is not found, default to AFMT_U8 (not such a good - * choice, but let's do it for compatibility...). - */ - - static int fmts[] = - {AFMT_U8, AFMT_MU_LAW, AFMT_S16_LE, AFMT_A_LAW, - -1, AFMT_IMA_ADPCM, AFMT_U16_BE, -1}; - - ch->fmt = format; - for (i = 0; i < 8; i++) if (arg == fmts[i]) break; - arg = i << 1; - if (format & AFMT_STEREO) arg |= 1; - arg <<= 4; - ad_enter_MCE(mss); - ad_write(mss, 8, (ad_read(mss, 8) & 0x0f) | arg); - ad_wait_init(mss, 10000); - if (ad_read(mss, 12) & 0x40) { /* mode2? */ - ad_write(mss, 28, arg); /* capture mode */ - ad_wait_init(mss, 10000); - } - ad_leave_MCE(mss); - return format; -} - -static int -mss_trigger(struct mss_chinfo *ch, int go) -{ - struct mss_info *mss = ch->parent; - u_char m; - int retry, wr, cnt, ss; - - ss = 1; - ss <<= (ch->fmt & AFMT_STEREO)? 1 : 0; - ss <<= (ch->fmt & AFMT_16BIT)? 1 : 0; - - wr = (ch->dir == PCMDIR_PLAY)? 1 : 0; - m = ad_read(mss, 9); - switch (go) { - case PCMTRIG_START: - cnt = (ch->blksz / ss) - 1; - - DEB(if (m & 4) kprintf("OUCH! reg 9 0x%02x\n", m);); - m |= wr? I9_PEN : I9_CEN; /* enable DMA */ - ad_write_cnt(mss, (wr || !FULL_DUPLEX(mss))? 14 : 30, cnt); - break; - - case PCMTRIG_STOP: - case PCMTRIG_ABORT: /* XXX check this... */ - m &= ~(wr? I9_PEN : I9_CEN); /* Stop DMA */ -#if 0 - /* - * try to disable DMA by clearing count registers. Not sure it - * is needed, and it might cause false interrupts when the - * DMA is re-enabled later. - */ - ad_write_cnt(mss, (wr || !FULL_DUPLEX(mss))? 14 : 30, 0); -#endif - } - /* on the OPTi931 the enable bit seems hard to set... */ - for (retry = 10; retry > 0; retry--) { - ad_write(mss, 9, m); - if (ad_read(mss, 9) == m) break; - } - if (retry == 0) BVDDB(kprintf("stop dma, failed to set bit 0x%02x 0x%02x\n", \ - m, ad_read(mss, 9))); - return 0; -} - - -/* - * the opti931 seems to miss interrupts when working in full - * duplex, so we try some heuristics to catch them. - */ -static void -opti931_intr(void *arg) -{ - struct mss_info *mss = (struct mss_info *)arg; - u_char masked = 0, i11, mc11, c = 0; - u_char reason; /* b0 = playback, b1 = capture, b2 = timer */ - int loops = 10; - -#if 0 - reason = io_rd(mss, MSS_STATUS); - if (!(reason & 1)) {/* no int, maybe a shared line ? */ - DEB(kprintf("intr: flag 0, mcir11 0x%02x\n", ad_read(mss, 11))); - return; - } -#endif - mss_lock(mss); - i11 = ad_read(mss, 11); /* XXX what's for ? */ - again: - - c = mc11 = FULL_DUPLEX(mss)? opti_rd(mss, 11) : 0xc; - mc11 &= 0x0c; - if (c & 0x10) { - DEB(kprintf("Warning: CD interrupt\n");) - mc11 |= 0x10; - } - if (c & 0x20) { - DEB(kprintf("Warning: MPU interrupt\n");) - mc11 |= 0x20; - } - if (mc11 & masked) BVDDB(kprintf("irq reset failed, mc11 0x%02x, 0x%02x\n",\ - mc11, masked)); - masked |= mc11; - /* - * the nice OPTi931 sets the IRQ line before setting the bits in - * mc11. So, on some occasions I have to retry (max 10 times). - */ - if (mc11 == 0) { /* perhaps can return ... */ - reason = io_rd(mss, MSS_STATUS); - if (reason & 1) { - DEB(kprintf("one more try...\n");) - if (--loops) goto again; - else BVDDB(kprintf("intr, but mc11 not set\n");) - } - if (loops == 0) BVDDB(kprintf("intr, nothing in mcir11 0x%02x\n", mc11)); - mss_unlock(mss); - return; - } - - if (sndbuf_runsz(mss->rch.buffer) && (mc11 & 8)) { - mss_unlock(mss); - chn_intr(mss->rch.channel); - mss_lock(mss); - } - if (sndbuf_runsz(mss->pch.buffer) && (mc11 & 4)) { - mss_unlock(mss); - chn_intr(mss->pch.channel); - mss_lock(mss); - } - opti_wr(mss, 11, ~mc11); /* ack */ - if (--loops) goto again; - mss_unlock(mss); - DEB(kprintf("xxx too many loops\n");) -} - -/* -------------------------------------------------------------------- */ -/* channel interface */ -static void * -msschan_init(kobj_t obj, void *devinfo, struct snd_dbuf *b, struct pcm_channel *c, int dir) -{ - struct mss_info *mss = devinfo; - struct mss_chinfo *ch = (dir == PCMDIR_PLAY)? &mss->pch : &mss->rch; - - ch->parent = mss; - ch->channel = c; - ch->buffer = b; - ch->dir = dir; - if (sndbuf_alloc(ch->buffer, mss->parent_dmat, mss->bufsize) != 0) - return NULL; - sndbuf_dmasetup(ch->buffer, (dir == PCMDIR_PLAY)? mss->drq1 : mss->drq2); - return ch; -} - -static int -msschan_setformat(kobj_t obj, void *data, u_int32_t format) -{ - struct mss_chinfo *ch = data; - struct mss_info *mss = ch->parent; - - mss_lock(mss); - mss_format(ch, format); - mss_unlock(mss); - return 0; -} - -static int -msschan_setspeed(kobj_t obj, void *data, u_int32_t speed) -{ - struct mss_chinfo *ch = data; - struct mss_info *mss = ch->parent; - int r; - - mss_lock(mss); - r = mss_speed(ch, speed); - mss_unlock(mss); - - return r; -} - -static int -msschan_setblocksize(kobj_t obj, void *data, u_int32_t blocksize) -{ - struct mss_chinfo *ch = data; - - ch->blksz = blocksize; - sndbuf_resize(ch->buffer, 2, ch->blksz); - - return ch->blksz; -} - -static int -msschan_trigger(kobj_t obj, void *data, int go) -{ - struct mss_chinfo *ch = data; - struct mss_info *mss = ch->parent; - - if (go == PCMTRIG_EMLDMAWR || go == PCMTRIG_EMLDMARD) - return 0; - - sndbuf_dma(ch->buffer, go); - mss_lock(mss); - mss_trigger(ch, go); - mss_unlock(mss); - return 0; -} - -static int -msschan_getptr(kobj_t obj, void *data) -{ - struct mss_chinfo *ch = data; - return sndbuf_dmaptr(ch->buffer); -} - -static struct pcmchan_caps * -msschan_getcaps(kobj_t obj, void *data) -{ - struct mss_chinfo *ch = data; - - switch(ch->parent->bd_id) { - case MD_OPTI931: - return &opti931_caps; - break; - - case MD_GUSPNP: - case MD_GUSMAX: - return &guspnp_caps; - break; - - default: - return &mss_caps; - break; - } -} - -static kobj_method_t msschan_methods[] = { - KOBJMETHOD(channel_init, msschan_init), - KOBJMETHOD(channel_setformat, msschan_setformat), - KOBJMETHOD(channel_setspeed, msschan_setspeed), - KOBJMETHOD(channel_setblocksize, msschan_setblocksize), - KOBJMETHOD(channel_trigger, msschan_trigger), - KOBJMETHOD(channel_getptr, msschan_getptr), - KOBJMETHOD(channel_getcaps, msschan_getcaps), - KOBJMETHOD_END -}; -CHANNEL_DECLARE(msschan); - -/* -------------------------------------------------------------------- */ - -/* - * mss_probe() is the probe routine. Note, it is not necessary to - * go through this for PnP devices, since they are already - * indentified precisely using their PnP id. - * - * The base address supplied in the device refers to the old MSS - * specs where the four 4 registers in io space contain configuration - * information. Some boards (as an example, early MSS boards) - * has such a block of registers, whereas others (generally CS42xx) - * do not. In order to distinguish between the two and do not have - * to supply two separate probe routines, the flags entry in isa_device - * has a bit to mark this. - * - */ - -static int -mss_probe(device_t dev) -{ - u_char tmp, tmpx; - int flags, irq, drq, result = ENXIO; -#if 0 - int setres = 0; -#endif - struct mss_info *mss; - - if (isa_get_logicalid(dev)) return ENXIO; /* not yet */ - - mss = kmalloc(sizeof *mss, M_DEVBUF, M_WAITOK | M_ZERO); - mss->io_rid = 0; - mss->conf_rid = -1; - mss->irq_rid = 0; - mss->drq1_rid = 0; - mss->drq2_rid = -1; - mss->io_base = bus_alloc_resource(dev, SYS_RES_IOPORT, &mss->io_rid, - 0, ~0, 8, RF_ACTIVE); - if (!mss->io_base) { - BVDDB(kprintf("mss_probe: no address given, try 0x%x\n", 0x530)); - mss->io_rid = 0; - /* XXX verify this */ -#if 0 - setres = 1; -#endif - bus_set_resource(dev, SYS_RES_IOPORT, mss->io_rid, - 0x530, 8, -1); - mss->io_base = bus_alloc_resource(dev, SYS_RES_IOPORT, &mss->io_rid, - 0, ~0, 8, RF_ACTIVE); - } - if (!mss->io_base) goto no; - - /* got irq/dma regs? */ - flags = device_get_flags(dev); - irq = isa_get_irq(dev); - drq = isa_get_drq(dev); - - if (!(device_get_flags(dev) & DV_F_TRUE_MSS)) goto mss_probe_end; - - /* - * Check if the IO port returns valid signature. The original MS - * Sound system returns 0x04 while some cards - * (AudioTriX Pro for example) return 0x00 or 0x0f. - */ - - device_set_desc(dev, "MSS"); - tmpx = tmp = io_rd(mss, 3); - if (tmp == 0xff) { /* Bus float */ - BVDDB(kprintf("I/O addr inactive (%x), try pseudo_mss\n", tmp)); - device_set_flags(dev, flags & ~DV_F_TRUE_MSS); - goto mss_probe_end; - } - tmp &= 0x3f; - if (!(tmp == 0x04 || tmp == 0x0f || tmp == 0x00)) { - BVDDB(kprintf("No MSS signature detected on port 0x%lx (0x%x)\n", - rman_get_start(mss->io_base), tmpx)); - goto no; - } - if (irq > 11) { - kprintf("MSS: Bad IRQ %d\n", irq); - goto no; - } - if (!(drq == 0 || drq == 1 || drq == 3)) { - kprintf("MSS: Bad DMA %d\n", drq); - goto no; - } - if (tmpx & 0x80) { - /* 8-bit board: only drq1/3 and irq7/9 */ - if (drq == 0) { - kprintf("MSS: Can't use DMA0 with a 8 bit card/slot\n"); - goto no; - } - if (!(irq == 7 || irq == 9)) { - kprintf("MSS: Can't use IRQ%d with a 8 bit card/slot\n", - irq); - goto no; - } - } - mss_probe_end: - result = mss_detect(dev, mss); - no: - mss_release_resources(mss, dev); -#if 0 - if (setres) ISA_DELETE_RESOURCE(device_get_parent(dev), dev, - SYS_RES_IOPORT, mss->io_rid); /* XXX ? */ -#endif - return result; -} - -static int -mss_detect(device_t dev, struct mss_info *mss) -{ - int i; - u_char tmp = 0, tmp1, tmp2; - char *name, *yamaha; - - if (mss->bd_id != 0) { - device_printf(dev, "presel bd_id 0x%04x -- %s\n", mss->bd_id, - device_get_desc(dev)); - return 0; - } - - name = "AD1848"; - mss->bd_id = MD_AD1848; /* AD1848 or CS4248 */ - - if (opti_detect(dev, mss)) { - switch (mss->bd_id) { - case MD_OPTI924: - name = "OPTi924"; - break; - case MD_OPTI930: - name = "OPTi930"; - break; - } - kprintf("Found OPTi device %s\n", name); - if (opti_init(dev, mss) == 0) goto gotit; - } - - /* - * Check that the I/O address is in use. - * - * bit 7 of the base I/O port is known to be 0 after the chip has - * performed its power on initialization. Just assume this has - * happened before the OS is starting. - * - * If the I/O address is unused, it typically returns 0xff. - */ - - for (i = 0; i < 10; i++) - if ((tmp = io_rd(mss, MSS_INDEX)) & MSS_IDXBUSY) DELAY(10000); - else break; - - if (i >= 10) { /* Not an AD1848 */ - BVDDB(kprintf("mss_detect, busy still set (0x%02x)\n", tmp)); - goto no; - } - /* - * Test if it's possible to change contents of the indirect - * registers. Registers 0 and 1 are ADC volume registers. The bit - * 0x10 is read only so try to avoid using it. - */ - - ad_write(mss, 0, 0xaa); - ad_write(mss, 1, 0x45);/* 0x55 with bit 0x10 clear */ - tmp1 = ad_read(mss, 0); - tmp2 = ad_read(mss, 1); - if (tmp1 != 0xaa || tmp2 != 0x45) { - BVDDB(kprintf("mss_detect error - IREG (%x/%x)\n", tmp1, tmp2)); - goto no; - } - - ad_write(mss, 0, 0x45); - ad_write(mss, 1, 0xaa); - tmp1 = ad_read(mss, 0); - tmp2 = ad_read(mss, 1); - if (tmp1 != 0x45 || tmp2 != 0xaa) { - BVDDB(kprintf("mss_detect error - IREG2 (%x/%x)\n", tmp1, tmp2)); - goto no; - } - - /* - * The indirect register I12 has some read only bits. Lets try to - * change them. - */ - - tmp = ad_read(mss, 12); - ad_write(mss, 12, (~tmp) & 0x0f); - tmp1 = ad_read(mss, 12); - - if ((tmp & 0x0f) != (tmp1 & 0x0f)) { - BVDDB(kprintf("mss_detect - I12 (0x%02x was 0x%02x)\n", tmp1, tmp)); - goto no; - } - - /* - * NOTE! Last 4 bits of the reg I12 tell the chip revision. - * 0x01=RevB - * 0x0A=RevC. also CS4231/CS4231A and OPTi931 - */ - - BVDDB(kprintf("mss_detect - chip revision 0x%02x\n", tmp & 0x0f);) - - /* - * The original AD1848/CS4248 has just 16 indirect registers. This - * means that I0 and I16 should return the same value (etc.). Ensure - * that the Mode2 enable bit of I12 is 0. Otherwise this test fails - * with new parts. - */ - - ad_write(mss, 12, 0); /* Mode2=disabled */ -#if 0 - for (i = 0; i < 16; i++) { - if ((tmp1 = ad_read(mss, i)) != (tmp2 = ad_read(mss, i + 16))) { - BVDDB(kprintf("mss_detect warning - I%d: 0x%02x/0x%02x\n", - i, tmp1, tmp2)); - /* - * note - this seems to fail on the 4232 on I11. So we just break - * rather than fail. (which makes this test pointless - cg) - */ - break; /* return 0; */ - } - } -#endif - /* - * Try to switch the chip to mode2 (CS4231) by setting the MODE2 bit - * (0x40). The bit 0x80 is always 1 in CS4248 and CS4231. - * - * On the OPTi931, however, I12 is readonly and only contains the - * chip revision ID (as in the CS4231A). The upper bits return 0. - */ - - ad_write(mss, 12, 0x40); /* Set mode2, clear 0x80 */ - - tmp1 = ad_read(mss, 12); - if (tmp1 & 0x80) name = "CS4248"; /* Our best knowledge just now */ - if ((tmp1 & 0xf0) == 0x00) { - BVDDB(kprintf("this should be an OPTi931\n");) - } else if ((tmp1 & 0xc0) != 0xC0) goto gotit; - /* - * The 4231 has bit7=1 always, and bit6 we just set to 1. - * We want to check that this is really a CS4231 - * Verify that setting I0 doesn't change I16. - */ - ad_write(mss, 16, 0); /* Set I16 to known value */ - ad_write(mss, 0, 0x45); - if ((tmp1 = ad_read(mss, 16)) == 0x45) goto gotit; - - ad_write(mss, 0, 0xaa); - if ((tmp1 = ad_read(mss, 16)) == 0xaa) { /* Rotten bits? */ - BVDDB(kprintf("mss_detect error - step H(%x)\n", tmp1)); - goto no; - } - /* Verify that some bits of I25 are read only. */ - tmp1 = ad_read(mss, 25); /* Original bits */ - ad_write(mss, 25, ~tmp1); /* Invert all bits */ - if ((ad_read(mss, 25) & 0xe7) == (tmp1 & 0xe7)) { - int id; - - /* It's at least CS4231 */ - name = "CS4231"; - mss->bd_id = MD_CS42XX; - - /* - * It could be an AD1845 or CS4231A as well. - * CS4231 and AD1845 report the same revision info in I25 - * while the CS4231A reports different. - */ - - id = ad_read(mss, 25) & 0xe7; - /* - * b7-b5 = version number; - * 100 : all CS4231 - * 101 : CS4231A - * - * b2-b0 = chip id; - */ - switch (id) { - - case 0xa0: - name = "CS4231A"; - mss->bd_id = MD_CS42XX; - break; - - case 0xa2: - name = "CS4232"; - mss->bd_id = MD_CS42XX; - break; - - case 0xb2: - /* strange: the 4231 data sheet says b4-b3 are XX - * so this should be the same as 0xa2 - */ - name = "CS4232A"; - mss->bd_id = MD_CS42XX; - break; - - case 0x80: - /* - * It must be a CS4231 or AD1845. The register I23 - * of CS4231 is undefined and it appears to be read - * only. AD1845 uses I23 for setting sample rate. - * Assume the chip is AD1845 if I23 is changeable. - */ - - tmp = ad_read(mss, 23); - - ad_write(mss, 23, ~tmp); - if (ad_read(mss, 23) != tmp) { /* AD1845 ? */ - name = "AD1845"; - mss->bd_id = MD_AD1845; - } - ad_write(mss, 23, tmp); /* Restore */ - - yamaha = ymf_test(dev, mss); - if (yamaha) { - mss->bd_id = MD_YM0020; - name = yamaha; - } - break; - - case 0x83: /* CS4236 */ - case 0x03: /* CS4236 on Intel PR440FX motherboard XXX */ - name = "CS4236"; - mss->bd_id = MD_CS42XX; - break; - - default: /* Assume CS4231 */ - BVDDB(kprintf("unknown id 0x%02x, assuming CS4231\n", id);) - mss->bd_id = MD_CS42XX; - } - } - ad_write(mss, 25, tmp1); /* Restore bits */ -gotit: - BVDDB(kprintf("mss_detect() - Detected %s\n", name)); - device_set_desc(dev, name); - device_set_flags(dev, - ((device_get_flags(dev) & ~DV_F_DEV_MASK) | - ((mss->bd_id << DV_F_DEV_SHIFT) & DV_F_DEV_MASK))); - return 0; -no: - return ENXIO; -} - -static int -opti_detect(device_t dev, struct mss_info *mss) -{ - int c; - static const struct opticard { - int boardid; - int passwdreg; - int password; - int base; - int indir_reg; - } cards[] = { - { MD_OPTI930, 0, 0xe4, 0xf8f, 0xe0e }, /* 930 */ - { MD_OPTI924, 3, 0xe5, 0xf8c, 0, }, /* 924 */ - { 0 }, - }; - mss->conf_rid = 3; - mss->indir_rid = 4; - for (c = 0; cards[c].base; c++) { - mss->optibase = cards[c].base; - mss->password = cards[c].password; - mss->passwdreg = cards[c].passwdreg; - mss->bd_id = cards[c].boardid; - - if (cards[c].indir_reg) - mss->indir = bus_alloc_resource(dev, SYS_RES_IOPORT, - &mss->indir_rid, cards[c].indir_reg, - cards[c].indir_reg+1, 1, RF_ACTIVE); - - mss->conf_base = bus_alloc_resource(dev, SYS_RES_IOPORT, - &mss->conf_rid, mss->optibase, mss->optibase+9, - 9, RF_ACTIVE); - - if (opti_read(mss, 1) != 0xff) { - return 1; - } else { - if (mss->indir) - bus_release_resource(dev, SYS_RES_IOPORT, mss->indir_rid, mss->indir); - mss->indir = NULL; - if (mss->conf_base) - bus_release_resource(dev, SYS_RES_IOPORT, mss->conf_rid, mss->conf_base); - mss->conf_base = NULL; - } - } - return 0; -} - -static char * -ymf_test(device_t dev, struct mss_info *mss) -{ - static int ports[] = {0x370, 0x310, 0x538}; - int p, i, j, version; - static char *chipset[] = { - NULL, /* 0 */ - "OPL3-SA2 (YMF711)", /* 1 */ - "OPL3-SA3 (YMF715)", /* 2 */ - "OPL3-SA3 (YMF715)", /* 3 */ - "OPL3-SAx (YMF719)", /* 4 */ - "OPL3-SAx (YMF719)", /* 5 */ - "OPL3-SAx (YMF719)", /* 6 */ - "OPL3-SAx (YMF719)", /* 7 */ - }; - - for (p = 0; p < 3; p++) { - mss->conf_rid = 1; - mss->conf_base = bus_alloc_resource(dev, - SYS_RES_IOPORT, - &mss->conf_rid, - ports[p], ports[p] + 1, 2, - RF_ACTIVE); - if (!mss->conf_base) return 0; - - /* Test the index port of the config registers */ - i = port_rd(mss->conf_base, 0); - port_wr(mss->conf_base, 0, OPL3SAx_DMACONF); - j = (port_rd(mss->conf_base, 0) == OPL3SAx_DMACONF)? 1 : 0; - port_wr(mss->conf_base, 0, i); - if (!j) { - bus_release_resource(dev, SYS_RES_IOPORT, - mss->conf_rid, mss->conf_base); - mss->conf_base = NULL; - continue; - } - version = conf_rd(mss, OPL3SAx_MISC) & 0x07; - return chipset[version]; - } - return NULL; -} - -static int -mss_doattach(device_t dev, struct mss_info *mss) -{ - int pdma, rdma, flags = device_get_flags(dev); - char status[SND_STATUSLEN], status2[SND_STATUSLEN]; - - mss->lock = snd_mtxcreate(device_get_nameunit(dev), "sound softc"); - mss->bufsize = pcm_getbuffersize(dev, 4096, MSS_DEFAULT_BUFSZ, 65536); - if (!mss_alloc_resources(mss, dev)) goto no; - mss_init(mss, dev); - pdma = rman_get_start(mss->drq1); - rdma = rman_get_start(mss->drq2); - if (flags & DV_F_TRUE_MSS) { - /* has IRQ/DMA registers, set IRQ and DMA addr */ - static char interrupt_bits[12] = - {-1, -1, -1, -1, -1, 0x28, -1, 0x08, -1, 0x10, 0x18, 0x20}; - static char pdma_bits[4] = {1, 2, -1, 3}; - static char valid_rdma[4] = {1, 0, -1, 0}; - char bits; - - if (!mss->irq || (bits = interrupt_bits[rman_get_start(mss->irq)]) == -1) - goto no; - io_wr(mss, 0, bits | 0x40); /* config port */ - if ((io_rd(mss, 3) & 0x40) == 0) device_printf(dev, "IRQ Conflict?\n"); - /* Write IRQ+DMA setup */ - if (pdma_bits[pdma] == -1) goto no; - bits |= pdma_bits[pdma]; - if (pdma != rdma) { - if (rdma == valid_rdma[pdma]) bits |= 4; - else { - kprintf("invalid dual dma config %d:%d\n", pdma, rdma); - goto no; - } - } - io_wr(mss, 0, bits); - kprintf("drq/irq conf %x\n", io_rd(mss, 0)); - } - mixer_init(dev, (mss->bd_id == MD_YM0020)? &ymmix_mixer_class : &mssmix_mixer_class, mss); - switch (mss->bd_id) { - case MD_OPTI931: - snd_setup_intr(dev, mss->irq, 0, opti931_intr, mss, &mss->ih); - break; - default: - snd_setup_intr(dev, mss->irq, 0, mss_intr, mss, &mss->ih); - } - if (pdma == rdma) - pcm_setflags(dev, pcm_getflags(dev) | SD_F_SIMPLEX); - if (bus_dma_tag_create(/*parent*/NULL, /*alignment*/2, /*boundary*/0, - /*lowaddr*/BUS_SPACE_MAXADDR_24BIT, - /*highaddr*/BUS_SPACE_MAXADDR, - /*filter*/NULL, /*filterarg*/NULL, - /*maxsize*/mss->bufsize, /*nsegments*/1, - /*maxsegz*/0x3ffff, /*flags*/0, - &mss->parent_dmat) != 0) { - device_printf(dev, "unable to create dma tag\n"); - goto no; - } - - if (pdma != rdma) - ksnprintf(status2, SND_STATUSLEN, ":%d", rdma); - else - status2[0] = '\0'; - - ksnprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld drq %d%s bufsz %u", - rman_get_start(mss->io_base), rman_get_start(mss->irq), pdma, status2, mss->bufsize); - - if (pcm_register(dev, mss, 1, 1)) goto no; - pcm_addchan(dev, PCMDIR_REC, &msschan_class, mss); - pcm_addchan(dev, PCMDIR_PLAY, &msschan_class, mss); - pcm_setstatus(dev, status); - - return 0; -no: - mss_release_resources(mss, dev); - return ENXIO; -} - -static int -mss_detach(device_t dev) -{ - int r; - struct mss_info *mss; - - r = pcm_unregister(dev); - if (r) - return r; - - mss = pcm_getdevinfo(dev); - mss_release_resources(mss, dev); - - return 0; -} - -static int -mss_attach(device_t dev) -{ - struct mss_info *mss; - int flags = device_get_flags(dev); - - mss = kmalloc(sizeof *mss, M_DEVBUF, M_WAITOK | M_ZERO); - mss->io_rid = 0; - mss->conf_rid = -1; - mss->irq_rid = 0; - mss->drq1_rid = 0; - mss->drq2_rid = -1; - if (flags & DV_F_DUAL_DMA) { - bus_set_resource(dev, SYS_RES_DRQ, 1, - flags & DV_F_DRQ_MASK, 1, -1); - mss->drq2_rid = 1; - } - mss->bd_id = (device_get_flags(dev) & DV_F_DEV_MASK) >> DV_F_DEV_SHIFT; - if (mss->bd_id == MD_YM0020) ymf_test(dev, mss); - return mss_doattach(dev, mss); -} - -/* - * mss_resume() is the code to allow a laptop to resume using the sound - * card. - * - * This routine re-sets the state of the board to the state before going - * to sleep. According to the yamaha docs this is the right thing to do, - * but getting DMA restarted appears to be a bit of a trick, so the device - * has to be closed and re-opened to be re-used, but there is no skipping - * problem, and volume, bass/treble and most other things are restored - * properly. - * - */ - -static int -mss_resume(device_t dev) -{ - /* - * Restore the state taken below. - */ - struct mss_info *mss; - int i; - - mss = pcm_getdevinfo(dev); - - if(mss->bd_id == MD_YM0020 || mss->bd_id == MD_CS423X) { - /* This works on a Toshiba Libretto 100CT. */ - for (i = 0; i < MSS_INDEXED_REGS; i++) - ad_write(mss, i, mss->mss_indexed_regs[i]); - for (i = 0; i < OPL_INDEXED_REGS; i++) - conf_wr(mss, i, mss->opl_indexed_regs[i]); - mss_intr(mss); - } - - if (mss->bd_id == MD_CS423X) { - /* Needed on IBM Thinkpad 600E */ - mss_lock(mss); - mss_format(&mss->pch, mss->pch.channel->format); - mss_speed(&mss->pch, mss->pch.channel->speed); - mss_unlock(mss); - } - - return 0; - -} - -/* - * mss_suspend() is the code that gets called right before a laptop - * suspends. - * - * This code saves the state of the sound card right before shutdown - * so it can be restored above. - * - */ - -static int -mss_suspend(device_t dev) -{ - int i; - struct mss_info *mss; - - mss = pcm_getdevinfo(dev); - - if(mss->bd_id == MD_YM0020 || mss->bd_id == MD_CS423X) - { - /* this stops playback. */ - conf_wr(mss, 0x12, 0x0c); - for(i = 0; i < MSS_INDEXED_REGS; i++) - mss->mss_indexed_regs[i] = ad_read(mss, i); - for(i = 0; i < OPL_INDEXED_REGS; i++) - mss->opl_indexed_regs[i] = conf_rd(mss, i); - mss->opl_indexed_regs[0x12] = 0x0; - } - return 0; -} - -static device_method_t mss_methods[] = { - /* Device interface */ - DEVMETHOD(device_probe, mss_probe), - DEVMETHOD(device_attach, mss_attach), - DEVMETHOD(device_detach, mss_detach), - DEVMETHOD(device_suspend, mss_suspend), - DEVMETHOD(device_resume, mss_resume), - - { 0, 0 } -}; - -static driver_t mss_driver = { - "pcm", - mss_methods, - PCM_SOFTC_SIZE, -}; - -DRIVER_MODULE(snd_mss, isa, mss_driver, pcm_devclass, NULL, NULL); -MODULE_DEPEND(snd_mss, sound, SOUND_MINVER, SOUND_PREFVER, SOUND_MAXVER); -MODULE_VERSION(snd_mss, 1); - -static int -azt2320_mss_mode(struct mss_info *mss, device_t dev) -{ - struct resource *sbport; - int i, ret, rid; - - rid = 0; - ret = -1; - sbport = bus_alloc_resource_any(dev, SYS_RES_IOPORT, &rid, RF_ACTIVE); - if (sbport) { - for (i = 0; i < 1000; i++) { - if ((port_rd(sbport, SBDSP_STATUS) & 0x80)) - DELAY((i > 100) ? 1000 : 10); - else { - port_wr(sbport, SBDSP_CMD, 0x09); - break; - } - } - for (i = 0; i < 1000; i++) { - if ((port_rd(sbport, SBDSP_STATUS) & 0x80)) - DELAY((i > 100) ? 1000 : 10); - else { - port_wr(sbport, SBDSP_CMD, 0x00); - ret = 0; - break; - } - } - DELAY(1000); - bus_release_resource(dev, SYS_RES_IOPORT, rid, sbport); - } - return ret; -} - -static struct isa_pnp_id pnpmss_ids[] = { - {0x0000630e, "CS423x"}, /* CSC0000 */ - {0x0001630e, "CS423x-PCI"}, /* CSC0100 */ - {0x01000000, "CMI8330"}, /* @@@0001 */ - {0x2100a865, "Yamaha OPL-SAx"}, /* YMH0021 */ - {0x1110d315, "ENSONIQ SoundscapeVIVO"}, /* ENS1011 */ - {0x1093143e, "OPTi931"}, /* OPT9310 */ - {0x5092143e, "OPTi925"}, /* OPT9250 XXX guess */ - {0x0000143e, "OPTi924"}, /* OPT0924 */ - {0x1022b839, "Neomagic 256AV (non-ac97)"}, /* NMX2210 */ - {0x01005407, "Aztech 2320"}, /* AZT0001 */ -#if 0 - {0x0000561e, "GusPnP"}, /* GRV0000 */ -#endif - {0}, -}; - -static int -pnpmss_probe(device_t dev) -{ - u_int32_t lid, vid; - - lid = isa_get_logicalid(dev); - vid = isa_get_vendorid(dev); - if (lid == 0x01000000 && vid != 0x0100a90d) /* CMI0001 */ - return ENXIO; - return ISA_PNP_PROBE(device_get_parent(dev), dev, pnpmss_ids); -} - -static int -pnpmss_attach(device_t dev) -{ - struct mss_info *mss; - - mss = kmalloc(sizeof *mss, M_DEVBUF, M_WAITOK | M_ZERO); - mss->io_rid = 0; - mss->conf_rid = -1; - mss->irq_rid = 0; - mss->drq1_rid = 0; - mss->drq2_rid = 1; - mss->bd_id = MD_CS42XX; - - switch (isa_get_logicalid(dev)) { - case 0x0000630e: /* CSC0000 */ - case 0x0001630e: /* CSC0100 */ - mss->bd_flags |= BD_F_MSS_OFFSET; - mss->bd_id = MD_CS423X; - break; - - case 0x2100a865: /* YHM0021 */ - mss->io_rid = 1; - mss->conf_rid = 4; - mss->bd_id = MD_YM0020; - break; - - case 0x1110d315: /* ENS1011 */ - mss->io_rid = 1; - mss->bd_id = MD_VIVO; - break; - - case 0x1093143e: /* OPT9310 */ - mss->bd_flags |= BD_F_MSS_OFFSET; - mss->conf_rid = 3; - mss->bd_id = MD_OPTI931; - break; - - case 0x5092143e: /* OPT9250 XXX guess */ - mss->io_rid = 1; - mss->conf_rid = 3; - mss->bd_id = MD_OPTI925; - break; - - case 0x0000143e: /* OPT0924 */ - mss->password = 0xe5; - mss->passwdreg = 3; - mss->optibase = 0xf0c; - mss->io_rid = 2; - mss->conf_rid = 3; - mss->bd_id = MD_OPTI924; - mss->bd_flags |= BD_F_924PNP; - if(opti_init(dev, mss) != 0) { - kfree(mss, M_DEVBUF); - return ENXIO; - } - break; - - case 0x1022b839: /* NMX2210 */ - mss->io_rid = 1; - break; - - case 0x01005407: /* AZT0001 */ - /* put into MSS mode first (snatched from NetBSD) */ - if (azt2320_mss_mode(mss, dev) == -1) { - kfree(mss, M_DEVBUF); - return ENXIO; - } - - mss->bd_flags |= BD_F_MSS_OFFSET; - mss->io_rid = 2; - break; - -#if 0 - case 0x0000561e: /* GRV0000 */ - mss->bd_flags |= BD_F_MSS_OFFSET; - mss->io_rid = 2; - mss->conf_rid = 1; - mss->drq1_rid = 1; - mss->drq2_rid = 0; - mss->bd_id = MD_GUSPNP; - break; -#endif - case 0x01000000: /* @@@0001 */ - mss->drq2_rid = -1; - break; - - /* Unknown MSS default. We could let the CSC0000 stuff match too */ - default: - mss->bd_flags |= BD_F_MSS_OFFSET; - break; - } - return mss_doattach(dev, mss); -} - -static int -opti_init(device_t dev, struct mss_info *mss) -{ - int flags = device_get_flags(dev); - int basebits = 0; - - if (!mss->conf_base) { - bus_set_resource(dev, SYS_RES_IOPORT, mss->conf_rid, - mss->optibase, 0x9, -1); - - mss->conf_base = bus_alloc_resource(dev, SYS_RES_IOPORT, - &mss->conf_rid, mss->optibase, mss->optibase+0x9, - 0x9, RF_ACTIVE); - } - - if (!mss->conf_base) - return ENXIO; - - if (!mss->io_base) - mss->io_base = bus_alloc_resource(dev, SYS_RES_IOPORT, - &mss->io_rid, 0, ~0, 8, RF_ACTIVE); - - if (!mss->io_base) /* No hint specified, use 0x530 */ - mss->io_base = bus_alloc_resource(dev, SYS_RES_IOPORT, - &mss->io_rid, 0x530, 0x537, 8, RF_ACTIVE); - - if (!mss->io_base) - return ENXIO; - - switch (rman_get_start(mss->io_base)) { - case 0x530: - basebits = 0x0; - break; - case 0xe80: - basebits = 0x10; - break; - case 0xf40: - basebits = 0x20; - break; - case 0x604: - basebits = 0x30; - break; - default: - kprintf("opti_init: invalid MSS base address!\n"); - return ENXIO; - } - - - switch (mss->bd_id) { - case MD_OPTI924: - opti_write(mss, 1, 0x80 | basebits); /* MSS mode */ - opti_write(mss, 2, 0x00); /* Disable CD */ - opti_write(mss, 3, 0xf0); /* Disable SB IRQ */ - opti_write(mss, 4, 0xf0); - opti_write(mss, 5, 0x00); - opti_write(mss, 6, 0x02); /* MPU stuff */ - break; - - case MD_OPTI930: - opti_write(mss, 1, 0x00 | basebits); - opti_write(mss, 3, 0x00); /* Disable SB IRQ/DMA */ - opti_write(mss, 4, 0x52); /* Empty FIFO */ - opti_write(mss, 5, 0x3c); /* Mode 2 */ - opti_write(mss, 6, 0x02); /* Enable MSS */ - break; - } - - if (mss->bd_flags & BD_F_924PNP) { - u_int32_t irq = isa_get_irq(dev); - u_int32_t drq = isa_get_drq(dev); - bus_set_resource(dev, SYS_RES_IRQ, 0, irq, 1, - machintr_legacy_intr_cpuid(irq)); - bus_set_resource(dev, SYS_RES_DRQ, mss->drq1_rid, drq, 1, -1); - if (flags & DV_F_DUAL_DMA) { - bus_set_resource(dev, SYS_RES_DRQ, 1, - flags & DV_F_DRQ_MASK, 1, -1); - mss->drq2_rid = 1; - } - } - - /* OPTixxx has I/DRQ registers */ - - device_set_flags(dev, device_get_flags(dev) | DV_F_TRUE_MSS); - - return 0; -} - -static void -opti_write(struct mss_info *mss, u_char reg, u_char val) -{ - port_wr(mss->conf_base, mss->passwdreg, mss->password); - - switch(mss->bd_id) { - case MD_OPTI924: - if (reg > 7) { /* Indirect register */ - port_wr(mss->conf_base, mss->passwdreg, reg); - port_wr(mss->conf_base, mss->passwdreg, - mss->password); - port_wr(mss->conf_base, 9, val); - return; - } - port_wr(mss->conf_base, reg, val); - break; - - case MD_OPTI930: - port_wr(mss->indir, 0, reg); - port_wr(mss->conf_base, mss->passwdreg, mss->password); - port_wr(mss->indir, 1, val); - break; - } -} - -u_char -opti_read(struct mss_info *mss, u_char reg) -{ - port_wr(mss->conf_base, mss->passwdreg, mss->password); - - switch(mss->bd_id) { - case MD_OPTI924: - if (reg > 7) { /* Indirect register */ - port_wr(mss->conf_base, mss->passwdreg, reg); - port_wr(mss->conf_base, mss->passwdreg, mss->password); - return(port_rd(mss->conf_base, 9)); - } - return(port_rd(mss->conf_base, reg)); - break; - - case MD_OPTI930: - port_wr(mss->indir, 0, reg); - port_wr(mss->conf_base, mss->passwdreg, mss->password); - return port_rd(mss->indir, 1); - break; - } - return -1; -} - -static device_method_t pnpmss_methods[] = { - /* Device interface */ - DEVMETHOD(device_probe, pnpmss_probe), - DEVMETHOD(device_attach, pnpmss_attach), - DEVMETHOD(device_detach, mss_detach), - DEVMETHOD(device_suspend, mss_suspend), - DEVMETHOD(device_resume, mss_resume), - - { 0, 0 } -}; - -static driver_t pnpmss_driver = { - "pcm", - pnpmss_methods, - PCM_SOFTC_SIZE, -}; - -DRIVER_MODULE(snd_pnpmss, isa, pnpmss_driver, pcm_devclass, NULL, NULL); -DRIVER_MODULE(snd_pnpmss, acpi, pnpmss_driver, pcm_devclass, NULL, NULL); -MODULE_DEPEND(snd_pnpmss, sound, SOUND_MINVER, SOUND_PREFVER, SOUND_MAXVER); -MODULE_VERSION(snd_pnpmss, 1); - -static int -guspcm_probe(device_t dev) -{ - struct sndcard_func *func; - - func = device_get_ivars(dev); - if (func == NULL || func->func != SCF_PCM) - return ENXIO; - - device_set_desc(dev, "GUS CS4231"); - return 0; -} - -static int -guspcm_attach(device_t dev) -{ - device_t parent = device_get_parent(dev); - struct mss_info *mss; - int base, flags; - unsigned char ctl; - - mss = kmalloc(sizeof *mss, M_DEVBUF, M_WAITOK | M_ZERO); - mss->bd_flags = BD_F_MSS_OFFSET; - mss->io_rid = 2; - mss->conf_rid = 1; - mss->irq_rid = 0; - mss->drq1_rid = 1; - mss->drq2_rid = -1; - - if (isa_get_logicalid(parent) == 0) - mss->bd_id = MD_GUSMAX; - else { - mss->bd_id = MD_GUSPNP; - mss->drq2_rid = 0; - goto skip_setup; - } - - flags = device_get_flags(parent); - if (flags & DV_F_DUAL_DMA) - mss->drq2_rid = 0; - - mss->conf_base = bus_alloc_resource(dev, SYS_RES_IOPORT, &mss->conf_rid, - 0, ~0, 8, RF_ACTIVE); - - if (mss->conf_base == NULL) { - mss_release_resources(mss, dev); - return ENXIO; - } - - base = isa_get_port(parent); - - ctl = 0x40; /* CS4231 enable */ - if (isa_get_drq(dev) > 3) - ctl |= 0x10; /* 16-bit dma channel 1 */ - if ((flags & DV_F_DUAL_DMA) != 0 && (flags & DV_F_DRQ_MASK) > 3) - ctl |= 0x20; /* 16-bit dma channel 2 */ - ctl |= (base >> 4) & 0x0f; /* 2X0 -> 3XC */ - port_wr(mss->conf_base, 6, ctl); - -skip_setup: - return mss_doattach(dev, mss); -} - -static device_method_t guspcm_methods[] = { - DEVMETHOD(device_probe, guspcm_probe), - DEVMETHOD(device_attach, guspcm_attach), - DEVMETHOD(device_detach, mss_detach), - - { 0, 0 } -}; - -static driver_t guspcm_driver = { - "pcm", - guspcm_methods, - PCM_SOFTC_SIZE, -}; - -DRIVER_MODULE(snd_guspcm, gusc, guspcm_driver, pcm_devclass, NULL, NULL); -MODULE_DEPEND(snd_guspcm, sound, SOUND_MINVER, SOUND_PREFVER, SOUND_MAXVER); -MODULE_VERSION(snd_guspcm, 1); - - diff --git a/sys/dev/sound/isa/mss.h b/sys/dev/sound/isa/mss.h deleted file mode 100644 index 4b2e248f4b..0000000000 --- a/sys/dev/sound/isa/mss.h +++ /dev/null @@ -1,417 +0,0 @@ -/*- - * file: mss.h - * - * (C) 1997 Luigi Rizzo (luigi@iet.unipi.it) - * - * This file contains information and macro definitions for - * AD1848-compatible devices, used in the MSS/WSS compatible boards. - * - */ - -/*- - * Copyright (c) 1999 Doug Rabson - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD: src/sys/dev/sound/isa/mss.h,v 1.12 2005/01/06 01:43:17 imp Exp $ - */ - -/* - * - -The codec part of the board is seen as a set of 4 registers mapped -at the base address for the board (default 0x534). Note that some -(early) boards implemented 4 additional registers 4 location before -(usually 0x530) to store configuration information. This is a source -of confusion in that one never knows what address to specify. The -(current) convention is to use the old address (0x530) in the kernel -configuration file and consider MSS registers start four location -ahead. - - * - */ - -struct mixer_def { - u_int regno:7; - u_int polarity:1; /* 1 means reversed */ - u_int bitoffs:4; - u_int nbits:4; -}; -typedef struct mixer_def mixer_ent; -typedef struct mixer_def mixer_tab[32][2]; - -#define MIX_ENT(name, reg_l, pol_l, pos_l, len_l, reg_r, pol_r, pos_r, len_r) \ - {{reg_l, pol_l, pos_l, len_l}, {reg_r, pol_r, pos_r, len_r}} - -#define PMIX_ENT(name, reg_l, pos_l, len_l, reg_r, pos_r, len_r) \ - {{reg_l, 0, pos_l, len_l}, {reg_r, 0, pos_r, len_r}} - -#define MIX_NONE(name) MIX_ENT(name, 0,0,0,0, 0,0,0,0) - -/* - * The four visible registers of the MSS : - * - */ - -#define MSS_INDEX (0 + 4) -#define MSS_IDXBUSY 0x80 /* readonly, set when busy */ -#define MSS_MCE 0x40 /* the MCE bit. */ - /* - * the MCE bit must be set whenever the current mode of the - * codec is changed; this in particular is true for the - * Data Format (I8, I28) and Interface Config(I9) registers. - * Only exception are CEN and PEN which can be changed on the fly. - * The DAC output is muted when MCE is set. - */ -#define MSS_TRD 0x20 /* Transfer request disable */ - /* - * When TRD is set, DMA transfers cease when the INT bit in - * the MSS status reg is set. Must be cleared for automode - * DMA, set otherwise. - */ -#define MSS_IDXMASK 0x1f /* mask for indirect address */ - -#define MSS_IDATA (1 + 4) - /* - * data to be transferred to the indirect register addressed - * by index addr. During init and sw. powerdown, cannot be - * written to, and is always read as 0x80 (consistent with the - * busy flag). - */ - -#define MSS_STATUS (2 + 4) - -#define IS_CUL 0x80 /* capture upper/lower */ -#define IS_CLR 0x40 /* capture left/right */ -#define IS_CRDY 0x20 /* capture ready for programmed i/o */ -#define IS_SER 0x10 /* sample error (overrun/underrun) */ -#define IS_PUL 0x08 /* playback upper/lower */ -#define IS_PLR 0x04 /* playback left/right */ -#define IS_PRDY 0x02 /* playback ready for programmed i/o */ -#define IS_INT 0x01 /* int status (1 = active) */ - /* - * IS_INT is clreared by any write to the status register. - */ -#if 0 -#define io_Polled_IO(d) ((d)->io_base+3+4) - /* - * this register is used in case of polled i/o - */ -#endif - -/* - * The MSS has a set of 16 (or 32 depending on the model) indirect - * registers accessible through the data port by specifying the - * appropriate address in the address register. - * - * The 16 low registers are uniformly handled in AD1848/CS4248 compatible - * mode (often called MODE1). For the upper 16 registers there are - * some differences among different products, mainly Crystal uses them - * differently from OPTi. - * - */ - -/* - * volume registers - */ - -#define I6_MUTE 0x80 - -/* - * register I9 -- interface configuration. - */ - -#define I9_PEN 0x01 /* playback enable */ -#define I9_CEN 0x02 /* capture enable */ - -/* - * values used in bd_flags - */ -#define BD_F_MCE_BIT 0x0001 -#define BD_F_IRQ_OK 0x0002 -#define BD_F_TMR_RUN 0x0004 -#define BD_F_MSS_OFFSET 0x0008 /* offset mss writes by -4 */ -#define BD_F_DUPLEX 0x0010 -#define BD_F_924PNP 0x0020 /* OPTi924 is in PNP mode */ - -/* - * sound/ad1848_mixer.h - * - * Definitions for the mixer of AD1848 and compatible codecs. - * - * Copyright by Hannu Savolainen 1994 - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. 2. - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ -/* - * The AD1848 codec has generic input lines called Line, Aux1 and Aux2. - * Soundcard manufacturers have connected actual inputs (CD, synth, line, - * etc) to these inputs in different order. Therefore it's difficult - * to assign mixer channels to to these inputs correctly. The following - * contains two alternative mappings. The first one is for GUS MAX and - * the second is just a generic one (line1, line2 and line3). - * (Actually this is not a mapping but rather some kind of interleaving - * solution). - */ - -#define MSS_REC_DEVICES \ - (SOUND_MASK_LINE | SOUND_MASK_MIC | SOUND_MASK_CD|SOUND_MASK_IMIX) - - -/* - * Table of mixer registers. There is a default table for the - * AD1848/CS423x clones, one for the OPTI931 and one for the - * OPTi930. As more MSS clones come out, there ought to be - * more tables. - * - * Fields in the table are : polarity, register, offset, bits - * - * The channel numbering used by individual soundcards is not fixed. - * Some cards have assigned different meanings for the AUX1, AUX2 - * and LINE inputs. Some have different features... - * - * Following there is a macro ...MIXER_DEVICES which is a bitmap - * of all non-zero fields in the table. - * MODE1_MIXER_DEVICES is the basic mixer of the 1848 in mode 1 - * registers I0..I15) - * - */ - -mixer_ent mix_devices[32][2] = { -MIX_NONE(SOUND_MIXER_VOLUME), -MIX_NONE(SOUND_MIXER_BASS), -MIX_NONE(SOUND_MIXER_TREBLE), -MIX_ENT(SOUND_MIXER_SYNTH, 2, 1, 0, 5, 3, 1, 0, 5), -MIX_ENT(SOUND_MIXER_PCM, 6, 1, 0, 6, 7, 1, 0, 6), -MIX_ENT(SOUND_MIXER_SPEAKER, 26, 1, 0, 4, 0, 0, 0, 0), -MIX_ENT(SOUND_MIXER_LINE, 18, 1, 0, 5, 19, 1, 0, 5), -MIX_ENT(SOUND_MIXER_MIC, 0, 0, 5, 1, 1, 0, 5, 1), -MIX_ENT(SOUND_MIXER_CD, 4, 1, 0, 5, 5, 1, 0, 5), -MIX_ENT(SOUND_MIXER_IMIX, 13, 1, 2, 6, 0, 0, 0, 0), -MIX_NONE(SOUND_MIXER_ALTPCM), -MIX_NONE(SOUND_MIXER_RECLEV), -MIX_ENT(SOUND_MIXER_IGAIN, 0, 0, 0, 4, 1, 0, 0, 4), -MIX_NONE(SOUND_MIXER_OGAIN), -MIX_NONE(SOUND_MIXER_LINE1), -MIX_NONE(SOUND_MIXER_LINE2), -MIX_NONE(SOUND_MIXER_LINE3), -}; - -#define MODE2_MIXER_DEVICES \ - (SOUND_MASK_SYNTH | SOUND_MASK_PCM | SOUND_MASK_SPEAKER | \ - SOUND_MASK_LINE | SOUND_MASK_MIC | SOUND_MASK_CD | \ - SOUND_MASK_IMIX | SOUND_MASK_IGAIN ) - -#define MODE1_MIXER_DEVICES \ - (SOUND_MASK_SYNTH | SOUND_MASK_PCM | SOUND_MASK_MIC | \ - SOUND_MASK_CD | SOUND_MASK_IMIX | SOUND_MASK_IGAIN ) - - -mixer_ent opti930_devices[32][2] = { -MIX_ENT(SOUND_MIXER_VOLUME, 22, 1, 0, 4, 23, 1, 0, 4), -MIX_NONE(SOUND_MIXER_BASS), -MIX_NONE(SOUND_MIXER_TREBLE), -MIX_ENT(SOUND_MIXER_SYNTH, 4, 1, 0, 4, 5, 1, 0, 4), -MIX_ENT(SOUND_MIXER_PCM, 6, 1, 1, 5, 7, 1, 1, 5), -MIX_ENT(SOUND_MIXER_LINE, 18, 1, 1, 4, 19, 1, 1, 4), -MIX_NONE(SOUND_MIXER_SPEAKER), -MIX_ENT(SOUND_MIXER_MIC, 21, 1, 0, 4, 22, 1, 0, 4), -MIX_ENT(SOUND_MIXER_CD, 2, 1, 1, 4, 3, 1, 1, 4), -MIX_NONE(SOUND_MIXER_IMIX), -MIX_NONE(SOUND_MIXER_ALTPCM), -MIX_NONE(SOUND_MIXER_RECLEV), -MIX_NONE(SOUND_MIXER_IGAIN), -MIX_NONE(SOUND_MIXER_OGAIN), -MIX_NONE(SOUND_MIXER_LINE1), -MIX_NONE(SOUND_MIXER_LINE2), -MIX_NONE(SOUND_MIXER_LINE3), -}; - -#define OPTI930_MIXER_DEVICES \ - (SOUND_MASK_VOLUME | SOUND_MASK_SYNTH | SOUND_MASK_PCM | \ - SOUND_MASK_LINE | SOUND_MASK_MIC | SOUND_MASK_CD ) - -/* - * entries for the opti931... - */ - -mixer_ent opti931_devices[32][2] = { /* for the opti931 */ -MIX_ENT(SOUND_MIXER_VOLUME, 22, 1, 1, 5, 23, 1, 1, 5), -MIX_NONE(SOUND_MIXER_BASS), -MIX_NONE(SOUND_MIXER_TREBLE), -MIX_ENT(SOUND_MIXER_SYNTH, 4, 1, 1, 4, 5, 1, 1, 4), -MIX_ENT(SOUND_MIXER_PCM, 6, 1, 0, 5, 7, 1, 0, 5), -MIX_NONE(SOUND_MIXER_SPEAKER), -MIX_ENT(SOUND_MIXER_LINE, 18, 1, 1, 4, 19, 1, 1, 4), -MIX_ENT(SOUND_MIXER_MIC, 0, 0, 5, 1, 1, 0, 5, 1), -MIX_ENT(SOUND_MIXER_CD, 2, 1, 1, 4, 3, 1, 1, 4), -MIX_NONE(SOUND_MIXER_IMIX), -MIX_NONE(SOUND_MIXER_ALTPCM), -MIX_NONE(SOUND_MIXER_RECLEV), -MIX_ENT(SOUND_MIXER_IGAIN, 0, 0, 0, 4, 1, 0, 0, 4), -MIX_NONE(SOUND_MIXER_OGAIN), -MIX_ENT(SOUND_MIXER_LINE1, 16, 1, 1, 4, 17, 1, 1, 4), -MIX_NONE(SOUND_MIXER_LINE2), -MIX_NONE(SOUND_MIXER_LINE3), -}; - -#define OPTI931_MIXER_DEVICES \ - (SOUND_MASK_VOLUME | SOUND_MASK_SYNTH | SOUND_MASK_PCM | \ - SOUND_MASK_LINE | SOUND_MASK_MIC | SOUND_MASK_CD | \ - SOUND_MASK_IGAIN | SOUND_MASK_LINE1 ) - -/* - * Register definitions for the Yamaha OPL3-SA[23x]. - */ -#define OPL3SAx_POWER 0x01 /* Power Management (R/W) */ -#define OPL3SAx_POWER_PDX 0x01 /* Set to 1 to halt oscillator */ -#define OPL3SAx_POWER_PDN 0x02 /* Set to 1 to power down */ -#define OPL3SAx_POWER_PSV 0x04 /* Set to 1 to power save */ -#define OPL3SAx_POWER_ADOWN 0x20 /* Analog power (?) */ - -#define OPL3SAx_SYSTEM 0x02 /* System control (R/W) */ -#define OPL3SAx_SYSTEM_VZE 0x01 /* I2S audio routing */ -#define OPL3SAx_SYSTEM_IDSEL 0x03 /* SB compat version select */ -#define OPL3SAx_SYSTEM_SBHE 0x80 /* 0 for AT bus, 1 for XT bus */ - -#define OPL3SAx_IRQCONF 0x03 /* Interrupt configuration (R/W */ -#define OPL3SAx_IRQCONF_WSSA 0x01 /* WSS interrupts through IRQA */ -#define OPL3SAx_IRQCONF_SBA 0x02 /* WSS interrupts through IRQA */ -#define OPL3SAx_IRQCONF_MPUA 0x04 /* WSS interrupts through IRQA */ -#define OPL3SAx_IRQCONF_OPL3A 0x08 /* WSS interrupts through IRQA */ -#define OPL3SAx_IRQCONF_WSSB 0x10 /* WSS interrupts through IRQB */ -#define OPL3SAx_IRQCONF_SBB 0x20 /* WSS interrupts through IRQB */ -#define OPL3SAx_IRQCONF_MPUB 0x40 /* WSS interrupts through IRQB */ -#define OPL3SAx_IRQCONF_OPL3B 0x80 /* WSS interrupts through IRQB */ - -#define OPL3SAx_IRQSTATUSA 0x04 /* Interrupt (IRQ-A) Status (RO) */ -#define OPL3SAx_IRQSTATUSB 0x05 /* Interrupt (IRQ-B) Status (RO) */ -#define OPL3SAx_IRQSTATUS_PI 0x01 /* Playback Flag of CODEC */ -#define OPL3SAx_IRQSTATUS_CI 0x02 /* Recording Flag of CODEC */ -#define OPL3SAx_IRQSTATUS_TI 0x04 /* Timer Flag of CODEC */ -#define OPL3SAx_IRQSTATUS_SB 0x08 /* SB compat Playback Interrupt Flag */ -#define OPL3SAx_IRQSTATUS_MPU 0x10 /* MPU401 Interrupt Flag */ -#define OPL3SAx_IRQSTATUS_OPL3 0x20 /* Internal FM Timer Flag */ -#define OPL3SAx_IRQSTATUS_MV 0x40 /* HW Volume Interrupt Flag */ -#define OPL3SAx_IRQSTATUS_PI 0x01 /* Playback Flag of CODEC */ -#define OPL3SAx_IRQSTATUS_CI 0x02 /* Recording Flag of CODEC */ -#define OPL3SAx_IRQSTATUS_TI 0x04 /* Timer Flag of CODEC */ -#define OPL3SAx_IRQSTATUS_SB 0x08 /* SB compat Playback Interrupt Flag */ -#define OPL3SAx_IRQSTATUS_MPU 0x10 /* MPU401 Interrupt Flag */ -#define OPL3SAx_IRQSTATUS_OPL3 0x20 /* Internal FM Timer Flag */ -#define OPL3SAx_IRQSTATUS_MV 0x40 /* HW Volume Interrupt Flag */ - -#define OPL3SAx_DMACONF 0x06 /* DMA configuration (R/W) */ -#define OPL3SAx_DMACONF_WSSPA 0x01 /* WSS Playback on DMA-A */ -#define OPL3SAx_DMACONF_WSSRA 0x02 /* WSS Recording on DMA-A */ -#define OPL3SAx_DMACONF_SBA 0x02 /* SB Playback on DMA-A */ -#define OPL3SAx_DMACONF_WSSPB 0x10 /* WSS Playback on DMA-A */ -#define OPL3SAx_DMACONF_WSSRB 0x20 /* WSS Recording on DMA-A */ -#define OPL3SAx_DMACONF_SBB 0x20 /* SB Playback on DMA-A */ - -#define OPL3SAx_VOLUMEL 0x07 /* Master Volume Left (R/W) */ -#define OPL3SAx_VOLUMEL_MVL 0x0f /* Attenuation level */ -#define OPL3SAx_VOLUMEL_MVLM 0x80 /* Mute */ - -#define OPL3SAx_VOLUMER 0x08 /* Master Volume Right (R/W) */ -#define OPL3SAx_VOLUMER_MVR 0x0f /* Attenuation level */ -#define OPL3SAx_VOLUMER_MVRM 0x80 /* Mute */ - -#define OPL3SAx_MIC 0x09 /* MIC Volume (R/W) */ -#define OPL3SAx_VOLUMER_MCV 0x1f /* Attenuation level */ -#define OPL3SAx_VOLUMER_MICM 0x80 /* Mute */ - -#define OPL3SAx_MISC 0x0a /* Miscellaneous */ -#define OPL3SAx_MISC_VER 0x07 /* Version */ -#define OPL3SAx_MISC_MODE 0x08 /* SB or WSS mode */ -#define OPL3SAx_MISC_MCSW 0x10 /* */ -#define OPL3SAx_MISC_VEN 0x80 /* Enable hardware volume control */ - -#define OPL3SAx_WSSDMA 0x0b /* WSS DMA Counter (RW) (4 regs) */ - -#define OPL3SAx_WSSIRQSCAN 0x0f /* WSS Interrupt Scan out/in (R/W) */ -#define OPL3SAx_WSSIRQSCAN_SPI 0x01 -#define OPL3SAx_WSSIRQSCAN_SCI 0x02 -#define OPL3SAx_WSSIRQSCAN_STI 0x04 - -#define OPL3SAx_SBSTATE 0x10 /* SB compat Internal State (R/W) */ -#define OPL3SAx_SBSTATE_SBPDR 0x01 /* SB Power Down Request */ -#define OPL3SAx_SBSTATE_SE 0x02 /* Scan Enable */ -#define OPL3SAx_SBSTATE_SM 0x04 /* Scan Mode */ -#define OPL3SAx_SBSTATE_SS 0x08 /* Scan Select */ -#define OPL3SAx_SBSTATE_SBPDA 0x80 /* SB Power Down Acknowledge */ - -#define OPL3SAx_SBDATA 0x11 /* SB compat State Scan Data (R/W) */ - -#define OPL3SAx_DIGITALPOWER 0x12 /* Digital Partial Power Down (R/W) */ -#define OPL3SAx_DIGITALPOWER_PnP 0x01 -#define OPL3SAx_DIGITALPOWER_SB 0x02 -#define OPL3SAx_DIGITALPOWER_WSSP 0x04 -#define OPL3SAx_DIGITALPOWER_WSSR 0x08 -#define OPL3SAx_DIGITALPOWER_FM 0x10 -#define OPL3SAx_DIGITALPOWER_MCLK0 0x20 -#define OPL3SAx_DIGITALPOWER_MPU 0x40 -#define OPL3SAx_DIGITALPOWER_JOY 0x80 - -#define OPL3SAx_ANALOGPOWER 0x13 /* Analog Partial Power Down (R/W) */ -#define OPL3SAx_ANALOGPOWER_WIDE 0x01 -#define OPL3SAx_ANALOGPOWER_SBDAC 0x02 -#define OPL3SAx_ANALOGPOWER_DA 0x04 -#define OPL3SAx_ANALOGPOWER_AD 0x08 -#define OPL3SAx_ANALOGPOWER_FMDAC 0x10 - -#define OPL3SAx_WIDE 0x14 /* Enhanced control(WIDE) (R/W) */ -#define OPL3SAx_WIDE_WIDEL 0x07 /* Wide level on Left Channel */ -#define OPL3SAx_WIDE_WIDER 0x70 /* Wide level on Right Channel */ - -#define OPL3SAx_BASS 0x15 /* Enhanced control(BASS) (R/W) */ -#define OPL3SAx_BASS_BASSL 0x07 /* Bass level on Left Channel */ -#define OPL3SAx_BASS_BASSR 0x70 /* Bass level on Right Channel */ - -#define OPL3SAx_TREBLE 0x16 /* Enhanced control(TREBLE) (R/W) */ -#define OPL3SAx_TREBLE_TREBLEL 0x07 /* Treble level on Left Channel */ -#define OPL3SAx_TREBLE_TREBLER 0x70 /* Treble level on Right Channel */ - -#define OPL3SAx_HWVOL 0x17 /* HW Volume IRQ Configuration (R/W) */ -#define OPL3SAx_HWVOL_IRQA 0x10 /* HW Volume IRQ on IRQ-A */ -#define OPL3SAx_HWVOL_IRQB 0x20 /* HW Volume IRQ on IRQ-B */ - - diff --git a/sys/dev/sound/isa/sb16.c b/sys/dev/sound/isa/sb16.c deleted file mode 100644 index e23c51a488..0000000000 --- a/sys/dev/sound/isa/sb16.c +++ /dev/null @@ -1,911 +0,0 @@ -/*- - * Copyright (c) 1999 Cameron Grant - * Copyright 1997,1998 Luigi Rizzo. - * - * Derived from files in the Voxware 3.5 distribution, - * Copyright by Hannu Savolainen 1994, under the same copyright - * conditions. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD: src/sys/dev/sound/isa/sb16.c,v 1.90.2.1 2005/12/30 19:55:53 netchild Exp $ - */ - -#include - -#include -#include - -#include - -#include "mixer_if.h" - -SND_DECLARE_FILE("$DragonFly: src/sys/dev/sound/isa/sb16.c,v 1.8 2007/01/04 21:47:02 corecode Exp $"); - -#define SB16_BUFFSIZE 4096 -#define PLAIN_SB16(x) ((((x)->bd_flags) & (BD_F_SB16|BD_F_SB16X)) == BD_F_SB16) - -static u_int32_t sb16_fmt8[] = { - AFMT_U8, - AFMT_STEREO | AFMT_U8, - 0 -}; -static struct pcmchan_caps sb16_caps8 = {5000, 45000, sb16_fmt8, 0}; - -static u_int32_t sb16_fmt16[] = { - AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE, - 0 -}; -static struct pcmchan_caps sb16_caps16 = {5000, 45000, sb16_fmt16, 0}; - -static u_int32_t sb16x_fmt[] = { - AFMT_U8, - AFMT_STEREO | AFMT_U8, - AFMT_S16_LE, - AFMT_STEREO | AFMT_S16_LE, - 0 -}; -static struct pcmchan_caps sb16x_caps = {5000, 49000, sb16x_fmt, 0}; - -struct sb_info; - -struct sb_chinfo { - struct sb_info *parent; - struct pcm_channel *channel; - struct snd_dbuf *buffer; - int dir, run, dch; - u_int32_t fmt, spd, blksz; -}; - -struct sb_info { - struct resource *io_base; /* I/O address for the board */ - struct resource *irq; - struct resource *drq1; - struct resource *drq2; - void *ih; - bus_dma_tag_t parent_dmat; - - unsigned int bufsize; - int bd_id; - u_long bd_flags; /* board-specific flags */ - int prio, prio16; - struct sb_chinfo pch, rch; - device_t parent_dev; -}; - -#if 0 -static void sb_lock(struct sb_info *sb); -static void sb_unlock(struct sb_info *sb); -static int sb_rd(struct sb_info *sb, int reg); -static void sb_wr(struct sb_info *sb, int reg, u_int8_t val); -static int sb_cmd(struct sb_info *sb, u_char val); -/* static int sb_cmd1(struct sb_info *sb, u_char cmd, int val); */ -static int sb_cmd2(struct sb_info *sb, u_char cmd, int val); -static u_int sb_get_byte(struct sb_info *sb); -static void sb_setmixer(struct sb_info *sb, u_int port, u_int value); -static int sb_getmixer(struct sb_info *sb, u_int port); -static int sb_reset_dsp(struct sb_info *sb); - -static void sb_intr(void *arg); -#endif - -/* - * Common code for the midi and pcm functions - * - * sb_cmd write a single byte to the CMD port. - * sb_cmd1 write a CMD + 1 byte arg - * sb_cmd2 write a CMD + 2 byte arg - * sb_get_byte returns a single byte from the DSP data port - */ - -static void -sb_lock(struct sb_info *sb) { - - sbc_lock(device_get_softc(sb->parent_dev)); -} - -static void -sb_lockassert(struct sb_info *sb) { - - sbc_lockassert(device_get_softc(sb->parent_dev)); -} - -static void -sb_unlock(struct sb_info *sb) { - - sbc_unlock(device_get_softc(sb->parent_dev)); -} - -static int -port_rd(struct resource *port, int off) -{ - return bus_space_read_1(rman_get_bustag(port), rman_get_bushandle(port), off); -} - -static void -port_wr(struct resource *port, int off, u_int8_t data) -{ - bus_space_write_1(rman_get_bustag(port), rman_get_bushandle(port), off, data); -} - -static int -sb_rd(struct sb_info *sb, int reg) -{ - return port_rd(sb->io_base, reg); -} - -static void -sb_wr(struct sb_info *sb, int reg, u_int8_t val) -{ - port_wr(sb->io_base, reg, val); -} - -static int -sb_dspwr(struct sb_info *sb, u_char val) -{ - int i; - - for (i = 0; i < 1000; i++) { - if ((sb_rd(sb, SBDSP_STATUS) & 0x80)) - DELAY((i > 100)? 1000 : 10); - else { - sb_wr(sb, SBDSP_CMD, val); - return 1; - } - } -#if __FreeBSD_version > 500000 - if (curthread->td_intr_nesting_level == 0) - kprintf("sb_dspwr(0x%02x) timed out.\n", val); -#endif - return 0; -} - -static int -sb_cmd(struct sb_info *sb, u_char val) -{ -#if 0 - kprintf("sb_cmd: %x\n", val); -#endif - return sb_dspwr(sb, val); -} - -/* -static int -sb_cmd1(struct sb_info *sb, u_char cmd, int val) -{ -#if 0 - kprintf("sb_cmd1: %x, %x\n", cmd, val); -#endif - if (sb_dspwr(sb, cmd)) { - return sb_dspwr(sb, val & 0xff); - } else return 0; -} -*/ - -static int -sb_cmd2(struct sb_info *sb, u_char cmd, int val) -{ - int r; - -#if 0 - kprintf("sb_cmd2: %x, %x\n", cmd, val); -#endif - sb_lockassert(sb); - r = 0; - if (sb_dspwr(sb, cmd)) { - if (sb_dspwr(sb, val & 0xff)) { - if (sb_dspwr(sb, (val >> 8) & 0xff)) { - r = 1; - } - } - } - - return r; -} - -/* - * in the SB, there is a set of indirect "mixer" registers with - * address at offset 4, data at offset 5 - */ -static void -sb_setmixer(struct sb_info *sb, u_int port, u_int value) -{ - sb_lock(sb); - sb_wr(sb, SB_MIX_ADDR, (u_char) (port & 0xff)); /* Select register */ - DELAY(10); - sb_wr(sb, SB_MIX_DATA, (u_char) (value & 0xff)); - DELAY(10); - sb_unlock(sb); -} - -static int -sb_getmixer(struct sb_info *sb, u_int port) -{ - int val; - - sb_lockassert(sb); - sb_wr(sb, SB_MIX_ADDR, (u_char) (port & 0xff)); /* Select register */ - DELAY(10); - val = sb_rd(sb, SB_MIX_DATA); - DELAY(10); - - return val; -} - -static u_int -sb_get_byte(struct sb_info *sb) -{ - int i; - - for (i = 1000; i > 0; i--) { - if (sb_rd(sb, DSP_DATA_AVAIL) & 0x80) - return sb_rd(sb, DSP_READ); - else - DELAY(20); - } - return 0xffff; -} - -static int -sb_reset_dsp(struct sb_info *sb) -{ - u_char b; - - sb_lockassert(sb); - sb_wr(sb, SBDSP_RST, 3); - DELAY(100); - sb_wr(sb, SBDSP_RST, 0); - b = sb_get_byte(sb); - if (b != 0xAA) { - DEB(kprintf("sb_reset_dsp 0x%lx failed\n", - rman_get_start(sb->io_base))); - return ENXIO; /* Sorry */ - } - return 0; -} - -/************************************************************/ - -struct sb16_mixent { - int reg; - int bits; - int ofs; - int stereo; -}; - -static const struct sb16_mixent sb16_mixtab[32] = { - [SOUND_MIXER_VOLUME] = { 0x30, 5, 3, 1 }, - [SOUND_MIXER_PCM] = { 0x32, 5, 3, 1 }, - [SOUND_MIXER_SYNTH] = { 0x34, 5, 3, 1 }, - [SOUND_MIXER_CD] = { 0x36, 5, 3, 1 }, - [SOUND_MIXER_LINE] = { 0x38, 5, 3, 1 }, - [SOUND_MIXER_MIC] = { 0x3a, 5, 3, 0 }, - [SOUND_MIXER_SPEAKER] = { 0x3b, 5, 3, 0 }, - [SOUND_MIXER_IGAIN] = { 0x3f, 2, 6, 1 }, - [SOUND_MIXER_OGAIN] = { 0x41, 2, 6, 1 }, - [SOUND_MIXER_TREBLE] = { 0x44, 4, 4, 1 }, - [SOUND_MIXER_BASS] = { 0x46, 4, 4, 1 }, - [SOUND_MIXER_LINE1] = { 0x52, 5, 3, 1 } -}; - -static int -sb16mix_init(struct snd_mixer *m) -{ - struct sb_info *sb = mix_getdevinfo(m); - - mix_setdevs(m, SOUND_MASK_SYNTH | SOUND_MASK_PCM | SOUND_MASK_SPEAKER | - SOUND_MASK_LINE | SOUND_MASK_MIC | SOUND_MASK_CD | - SOUND_MASK_IGAIN | SOUND_MASK_OGAIN | SOUND_MASK_LINE1 | - SOUND_MASK_VOLUME | SOUND_MASK_BASS | SOUND_MASK_TREBLE); - - mix_setrecdevs(m, SOUND_MASK_SYNTH | SOUND_MASK_LINE | - SOUND_MASK_LINE1 | SOUND_MASK_MIC | SOUND_MASK_CD); - - sb_setmixer(sb, 0x3c, 0x1f); /* make all output active */ - - sb_setmixer(sb, 0x3d, 0); /* make all inputs-l off */ - sb_setmixer(sb, 0x3e, 0); /* make all inputs-r off */ - - return 0; -} - -static int -rel2abs_volume(int x, int max) -{ - int temp; - - temp = ((x * max) + 50) / 100; - if (temp > max) - temp = max; - else if (temp < 0) - temp = 0; - return (temp); -} - -static int -sb16mix_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) -{ - struct sb_info *sb = mix_getdevinfo(m); - const struct sb16_mixent *e; - int max; - - e = &sb16_mixtab[dev]; - max = (1 << e->bits) - 1; - - left = rel2abs_volume(left, max); - right = rel2abs_volume(right, max); - - sb_setmixer(sb, e->reg, left << e->ofs); - if (e->stereo) - sb_setmixer(sb, e->reg + 1, right << e->ofs); - else - right = left; - - left = (left * 100) / max; - right = (right * 100) / max; - - return left | (right << 8); -} - -static int -sb16mix_setrecsrc(struct snd_mixer *m, u_int32_t src) -{ - struct sb_info *sb = mix_getdevinfo(m); - u_char recdev_l, recdev_r; - - recdev_l = 0; - recdev_r = 0; - if (src & SOUND_MASK_MIC) { - recdev_l |= 0x01; /* mono mic */ - recdev_r |= 0x01; - } - - if (src & SOUND_MASK_CD) { - recdev_l |= 0x04; /* l cd */ - recdev_r |= 0x02; /* r cd */ - } - - if (src & SOUND_MASK_LINE) { - recdev_l |= 0x10; /* l line */ - recdev_r |= 0x08; /* r line */ - } - - if (src & SOUND_MASK_SYNTH) { - recdev_l |= 0x40; /* l midi */ - recdev_r |= 0x20; /* r midi */ - } - - sb_setmixer(sb, SB16_IMASK_L, recdev_l); - sb_setmixer(sb, SB16_IMASK_R, recdev_r); - - /* Switch on/off FM tuner source */ - if (src & SOUND_MASK_LINE1) - sb_setmixer(sb, 0x4a, 0x0c); - else - sb_setmixer(sb, 0x4a, 0x00); - - /* - * since the same volume controls apply to the input and - * output sections, the best approach to have a consistent - * behaviour among cards would be to disable the output path - * on devices which are used to record. - * However, since users like to have feedback, we only disable - * the mic -- permanently. - */ - sb_setmixer(sb, SB16_OMASK, 0x1f & ~1); - - return src; -} - -static kobj_method_t sb16mix_mixer_methods[] = { - KOBJMETHOD(mixer_init, sb16mix_init), - KOBJMETHOD(mixer_set, sb16mix_set), - KOBJMETHOD(mixer_setrecsrc, sb16mix_setrecsrc), - KOBJMETHOD_END -}; -MIXER_DECLARE(sb16mix_mixer); - -/************************************************************/ - -static void -sb16_release_resources(struct sb_info *sb, device_t dev) -{ - if (sb->irq) { - if (sb->ih) - bus_teardown_intr(dev, sb->irq, sb->ih); - bus_release_resource(dev, SYS_RES_IRQ, 0, sb->irq); - sb->irq = NULL; - } - if (sb->drq2) { - if (sb->drq2 != sb->drq1) { - isa_dma_release(rman_get_start(sb->drq2)); - bus_release_resource(dev, SYS_RES_DRQ, 1, sb->drq2); - } - sb->drq2 = NULL; - } - if (sb->drq1) { - isa_dma_release(rman_get_start(sb->drq1)); - bus_release_resource(dev, SYS_RES_DRQ, 0, sb->drq1); - sb->drq1 = NULL; - } - if (sb->io_base) { - bus_release_resource(dev, SYS_RES_IOPORT, 0, sb->io_base); - sb->io_base = NULL; - } - if (sb->parent_dmat) { - bus_dma_tag_destroy(sb->parent_dmat); - sb->parent_dmat = 0; - } - kfree(sb, M_DEVBUF); -} - -static int -sb16_alloc_resources(struct sb_info *sb, device_t dev) -{ - int rid; - - rid = 0; - if (!sb->io_base) - sb->io_base = bus_alloc_resource_any(dev, SYS_RES_IOPORT, - &rid, RF_ACTIVE); - - rid = 0; - if (!sb->irq) - sb->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, - RF_ACTIVE); - - rid = 0; - if (!sb->drq1) - sb->drq1 = bus_alloc_resource_any(dev, SYS_RES_DRQ, &rid, - RF_ACTIVE); - - rid = 1; - if (!sb->drq2) - sb->drq2 = bus_alloc_resource_any(dev, SYS_RES_DRQ, &rid, - RF_ACTIVE); - - if (sb->io_base && sb->drq1 && sb->irq) { - isa_dma_acquire(rman_get_start(sb->drq1)); - isa_dmainit(rman_get_start(sb->drq1), sb->bufsize); - - if (sb->drq2) { - isa_dma_acquire(rman_get_start(sb->drq2)); - isa_dmainit(rman_get_start(sb->drq2), sb->bufsize); - } else { - sb->drq2 = sb->drq1; - pcm_setflags(dev, pcm_getflags(dev) | SD_F_SIMPLEX); - } - return 0; - } else return ENXIO; -} - -/* sbc does locking for us */ -static void -sb_intr(void *arg) -{ - struct sb_info *sb = (struct sb_info *)arg; - int reason, c; - - /* - * The Vibra16X has separate flags for 8 and 16 bit transfers, but - * I have no idea how to tell capture from playback interrupts... - */ - - reason = 0; - sb_lock(sb); - c = sb_getmixer(sb, IRQ_STAT); - if (c & 1) - sb_rd(sb, DSP_DATA_AVAIL); /* 8-bit int ack */ - - if (c & 2) - sb_rd(sb, DSP_DATA_AVL16); /* 16-bit int ack */ - sb_unlock(sb); - - /* - * this tells us if the source is 8-bit or 16-bit dma. We - * have to check the io channel to map it to read or write... - */ - - if (sb->bd_flags & BD_F_SB16X) { - if (c & 1) { /* 8-bit format */ - if (sb->pch.fmt & AFMT_8BIT) - reason |= 1; - if (sb->rch.fmt & AFMT_8BIT) - reason |= 2; - } - if (c & 2) { /* 16-bit format */ - if (sb->pch.fmt & AFMT_16BIT) - reason |= 1; - if (sb->rch.fmt & AFMT_16BIT) - reason |= 2; - } - } else { - if (c & 1) { /* 8-bit dma */ - if (sb->pch.dch == 1) - reason |= 1; - if (sb->rch.dch == 1) - reason |= 2; - } - if (c & 2) { /* 16-bit dma */ - if (sb->pch.dch == 2) - reason |= 1; - if (sb->rch.dch == 2) - reason |= 2; - } - } -#if 0 - kprintf("sb_intr: reason=%d c=0x%x\n", reason, c); -#endif - if ((reason & 1) && (sb->pch.run)) - chn_intr(sb->pch.channel); - - if ((reason & 2) && (sb->rch.run)) - chn_intr(sb->rch.channel); -} - -static int -sb_setup(struct sb_info *sb) -{ - struct sb_chinfo *ch; - u_int8_t v; - int l, pprio; - - sb_lock(sb); - if (sb->bd_flags & BD_F_DMARUN) - sndbuf_dma(sb->pch.buffer, PCMTRIG_STOP); - if (sb->bd_flags & BD_F_DMARUN2) - sndbuf_dma(sb->rch.buffer, PCMTRIG_STOP); - sb->bd_flags &= ~(BD_F_DMARUN | BD_F_DMARUN2); - - sb_reset_dsp(sb); - - if (sb->bd_flags & BD_F_SB16X) { - /* full-duplex doesn't work! */ - pprio = sb->pch.run? 1 : 0; - sndbuf_dmasetup(sb->pch.buffer, pprio? sb->drq1 : sb->drq2); - sb->pch.dch = pprio? 1 : 0; - sndbuf_dmasetup(sb->rch.buffer, pprio? sb->drq2 : sb->drq1); - sb->rch.dch = pprio? 2 : 1; - } else { - if (sb->pch.run && sb->rch.run) { - pprio = (sb->rch.fmt & AFMT_16BIT)? 0 : 1; - sndbuf_dmasetup(sb->pch.buffer, pprio? sb->drq2 : sb->drq1); - sb->pch.dch = pprio? 2 : 1; - sndbuf_dmasetup(sb->rch.buffer, pprio? sb->drq1 : sb->drq2); - sb->rch.dch = pprio? 1 : 2; - } else { - if (sb->pch.run) { - sndbuf_dmasetup(sb->pch.buffer, (sb->pch.fmt & AFMT_16BIT)? sb->drq2 : sb->drq1); - sb->pch.dch = (sb->pch.fmt & AFMT_16BIT)? 2 : 1; - sndbuf_dmasetup(sb->rch.buffer, (sb->pch.fmt & AFMT_16BIT)? sb->drq1 : sb->drq2); - sb->rch.dch = (sb->pch.fmt & AFMT_16BIT)? 1 : 2; - } else if (sb->rch.run) { - sndbuf_dmasetup(sb->pch.buffer, (sb->rch.fmt & AFMT_16BIT)? sb->drq1 : sb->drq2); - sb->pch.dch = (sb->rch.fmt & AFMT_16BIT)? 1 : 2; - sndbuf_dmasetup(sb->rch.buffer, (sb->rch.fmt & AFMT_16BIT)? sb->drq2 : sb->drq1); - sb->rch.dch = (sb->rch.fmt & AFMT_16BIT)? 2 : 1; - } - } - } - - sndbuf_dmasetdir(sb->pch.buffer, PCMDIR_PLAY); - sndbuf_dmasetdir(sb->rch.buffer, PCMDIR_REC); - - /* - kprintf("setup: [pch = %d, pfmt = %d, pgo = %d] [rch = %d, rfmt = %d, rgo = %d]\n", - sb->pch.dch, sb->pch.fmt, sb->pch.run, sb->rch.dch, sb->rch.fmt, sb->rch.run); - */ - - ch = &sb->pch; - if (ch->run) { - l = ch->blksz; - if (ch->fmt & AFMT_16BIT) - l >>= 1; - l--; - - /* play speed */ - RANGE(ch->spd, 5000, 45000); - sb_cmd(sb, DSP_CMD_OUT16); - sb_cmd(sb, ch->spd >> 8); - sb_cmd(sb, ch->spd & 0xff); - - /* play format, length */ - v = DSP_F16_AUTO | DSP_F16_FIFO_ON | DSP_F16_DAC; - v |= (ch->fmt & AFMT_16BIT)? DSP_DMA16 : DSP_DMA8; - sb_cmd(sb, v); - - v = (ch->fmt & AFMT_STEREO)? DSP_F16_STEREO : 0; - v |= (ch->fmt & AFMT_SIGNED)? DSP_F16_SIGNED : 0; - sb_cmd2(sb, v, l); - sndbuf_dma(ch->buffer, PCMTRIG_START); - sb->bd_flags |= BD_F_DMARUN; - } - - ch = &sb->rch; - if (ch->run) { - l = ch->blksz; - if (ch->fmt & AFMT_16BIT) - l >>= 1; - l--; - - /* record speed */ - RANGE(ch->spd, 5000, 45000); - sb_cmd(sb, DSP_CMD_IN16); - sb_cmd(sb, ch->spd >> 8); - sb_cmd(sb, ch->spd & 0xff); - - /* record format, length */ - v = DSP_F16_AUTO | DSP_F16_FIFO_ON | DSP_F16_ADC; - v |= (ch->fmt & AFMT_16BIT)? DSP_DMA16 : DSP_DMA8; - sb_cmd(sb, v); - - v = (ch->fmt & AFMT_STEREO)? DSP_F16_STEREO : 0; - v |= (ch->fmt & AFMT_SIGNED)? DSP_F16_SIGNED : 0; - sb_cmd2(sb, v, l); - sndbuf_dma(ch->buffer, PCMTRIG_START); - sb->bd_flags |= BD_F_DMARUN2; - } - sb_unlock(sb); - - return 0; -} - -/* channel interface */ -static void * -sb16chan_init(kobj_t obj, void *devinfo, struct snd_dbuf *b, struct pcm_channel *c, int dir) -{ - struct sb_info *sb = devinfo; - struct sb_chinfo *ch = (dir == PCMDIR_PLAY)? &sb->pch : &sb->rch; - - ch->parent = sb; - ch->channel = c; - ch->buffer = b; - ch->dir = dir; - - if (sndbuf_alloc(ch->buffer, sb->parent_dmat, sb->bufsize) != 0) - return NULL; - - return ch; -} - -static int -sb16chan_setformat(kobj_t obj, void *data, u_int32_t format) -{ - struct sb_chinfo *ch = data; - struct sb_info *sb = ch->parent; - - ch->fmt = format; - sb->prio = ch->dir; - sb->prio16 = (ch->fmt & AFMT_16BIT)? 1 : 0; - - return 0; -} - -static int -sb16chan_setspeed(kobj_t obj, void *data, u_int32_t speed) -{ - struct sb_chinfo *ch = data; - - ch->spd = speed; - return speed; -} - -static int -sb16chan_setblocksize(kobj_t obj, void *data, u_int32_t blocksize) -{ - struct sb_chinfo *ch = data; - - ch->blksz = blocksize; - return ch->blksz; -} - -static int -sb16chan_trigger(kobj_t obj, void *data, int go) -{ - struct sb_chinfo *ch = data; - struct sb_info *sb = ch->parent; - - if (go == PCMTRIG_EMLDMAWR || go == PCMTRIG_EMLDMARD) - return 0; - - if (go == PCMTRIG_START) - ch->run = 1; - else - ch->run = 0; - - sb_setup(sb); - - return 0; -} - -static int -sb16chan_getptr(kobj_t obj, void *data) -{ - struct sb_chinfo *ch = data; - - return sndbuf_dmaptr(ch->buffer); -} - -static struct pcmchan_caps * -sb16chan_getcaps(kobj_t obj, void *data) -{ - struct sb_chinfo *ch = data; - struct sb_info *sb = ch->parent; - - if ((sb->prio == 0) || (sb->prio == ch->dir)) - return &sb16x_caps; - else - return sb->prio16? &sb16_caps8 : &sb16_caps16; -} - -static int -sb16chan_resetdone(kobj_t obj, void *data) -{ - struct sb_chinfo *ch = data; - struct sb_info *sb = ch->parent; - - sb->prio = 0; - - return 0; -} - -static kobj_method_t sb16chan_methods[] = { - KOBJMETHOD(channel_init, sb16chan_init), - KOBJMETHOD(channel_resetdone, sb16chan_resetdone), - KOBJMETHOD(channel_setformat, sb16chan_setformat), - KOBJMETHOD(channel_setspeed, sb16chan_setspeed), - KOBJMETHOD(channel_setblocksize, sb16chan_setblocksize), - KOBJMETHOD(channel_trigger, sb16chan_trigger), - KOBJMETHOD(channel_getptr, sb16chan_getptr), - KOBJMETHOD(channel_getcaps, sb16chan_getcaps), - KOBJMETHOD_END -}; -CHANNEL_DECLARE(sb16chan); - -/************************************************************/ - -static int -sb16_probe(device_t dev) -{ - char buf[64]; - uintptr_t func, ver, r, f; - - /* The parent device has already been probed. */ - r = BUS_READ_IVAR(device_get_parent(dev), dev, 0, &func); - if (func != SCF_PCM) - return (ENXIO); - - r = BUS_READ_IVAR(device_get_parent(dev), dev, 1, &ver); - f = (ver & 0xffff0000) >> 16; - ver &= 0x0000ffff; - if (f & BD_F_SB16) { - ksnprintf(buf, sizeof buf, "SB16 DSP %d.%02d%s", (int) ver >> 8, (int) ver & 0xff, - (f & BD_F_SB16X)? " (ViBRA16X)" : ""); - device_set_desc_copy(dev, buf); - return 0; - } else - return (ENXIO); -} - -static int -sb16_attach(device_t dev) -{ - struct sb_info *sb; - uintptr_t ver; - char status[SND_STATUSLEN], status2[SND_STATUSLEN]; - - sb = kmalloc(sizeof *sb, M_DEVBUF, M_WAITOK | M_ZERO); - sb->parent_dev = device_get_parent(dev); - BUS_READ_IVAR(sb->parent_dev, dev, 1, &ver); - sb->bd_id = ver & 0x0000ffff; - sb->bd_flags = (ver & 0xffff0000) >> 16; - sb->bufsize = pcm_getbuffersize(dev, 4096, SB16_BUFFSIZE, 65536); - - if (sb16_alloc_resources(sb, dev)) - goto no; - sb_lock(sb); - if (sb_reset_dsp(sb)) { - sb_unlock(sb); - goto no; - } - sb_unlock(sb); - if (mixer_init(dev, &sb16mix_mixer_class, sb)) - goto no; - if (snd_setup_intr(dev, sb->irq, 0, sb_intr, sb, &sb->ih)) - goto no; - - if (sb->bd_flags & BD_F_SB16X) - pcm_setflags(dev, pcm_getflags(dev) | SD_F_SIMPLEX); - - sb->prio = 0; - - if (bus_dma_tag_create(/*parent*/NULL, /*alignment*/2, /*boundary*/0, - /*lowaddr*/BUS_SPACE_MAXADDR_24BIT, - /*highaddr*/BUS_SPACE_MAXADDR, - /*filter*/NULL, /*filterarg*/NULL, - /*maxsize*/sb->bufsize, /*nsegments*/1, - /*maxsegz*/0x3ffff, /*flags*/0, - &sb->parent_dmat) != 0) { - device_printf(dev, "unable to create dma tag\n"); - goto no; - } - - if (!(pcm_getflags(dev) & SD_F_SIMPLEX)) - ksnprintf(status2, SND_STATUSLEN, ":%ld", rman_get_start(sb->drq2)); - else - status2[0] = '\0'; - - ksnprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld drq %ld%s bufsz %u %s", - rman_get_start(sb->io_base), rman_get_start(sb->irq), - rman_get_start(sb->drq1), status2, sb->bufsize, - PCM_KLDSTRING(snd_sb16)); - - if (pcm_register(dev, sb, 1, 1)) - goto no; - pcm_addchan(dev, PCMDIR_REC, &sb16chan_class, sb); - pcm_addchan(dev, PCMDIR_PLAY, &sb16chan_class, sb); - - pcm_setstatus(dev, status); - - return 0; - -no: - sb16_release_resources(sb, dev); - return ENXIO; -} - -static int -sb16_detach(device_t dev) -{ - int r; - struct sb_info *sb; - - r = pcm_unregister(dev); - if (r) - return r; - - sb = pcm_getdevinfo(dev); - sb16_release_resources(sb, dev); - return 0; -} - -static device_method_t sb16_methods[] = { - /* Device interface */ - DEVMETHOD(device_probe, sb16_probe), - DEVMETHOD(device_attach, sb16_attach), - DEVMETHOD(device_detach, sb16_detach), - - { 0, 0 } -}; - -static driver_t sb16_driver = { - "pcm", - sb16_methods, - PCM_SOFTC_SIZE, -}; - -DRIVER_MODULE(snd_sb16, sbc, sb16_driver, pcm_devclass, NULL, NULL); -MODULE_DEPEND(snd_sb16, sound, SOUND_MINVER, SOUND_PREFVER, SOUND_MAXVER); -MODULE_DEPEND(snd_sb16, snd_sbc, 1, 1, 1); -MODULE_VERSION(snd_sb16, 1); diff --git a/sys/dev/sound/isa/sb8.c b/sys/dev/sound/isa/sb8.c deleted file mode 100644 index 6245987f83..0000000000 --- a/sys/dev/sound/isa/sb8.c +++ /dev/null @@ -1,803 +0,0 @@ -/*- - * Copyright (c) 1999 Cameron Grant - * Copyright 1997,1998 Luigi Rizzo. - * - * Derived from files in the Voxware 3.5 distribution, - * Copyright by Hannu Savolainen 1994, under the same copyright - * conditions. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD: src/sys/dev/sound/isa/sb8.c,v 1.79.2.1 2005/12/30 19:55:53 netchild Exp $ - */ - -#include - -#include -#include - -#include - -#include "mixer_if.h" - -SND_DECLARE_FILE("$DragonFly: src/sys/dev/sound/isa/sb8.c,v 1.7 2007/01/04 21:47:02 corecode Exp $"); - -#define SB_DEFAULT_BUFSZ 4096 - -static u_int32_t sb_fmt[] = { - AFMT_U8, - 0 -}; -static struct pcmchan_caps sb200_playcaps = {4000, 23000, sb_fmt, 0}; -static struct pcmchan_caps sb200_reccaps = {4000, 13000, sb_fmt, 0}; -static struct pcmchan_caps sb201_playcaps = {4000, 44100, sb_fmt, 0}; -static struct pcmchan_caps sb201_reccaps = {4000, 15000, sb_fmt, 0}; - -static u_int32_t sbpro_fmt[] = { - AFMT_U8, - AFMT_STEREO | AFMT_U8, - 0 -}; -static struct pcmchan_caps sbpro_playcaps = {4000, 44100, sbpro_fmt, 0}; -static struct pcmchan_caps sbpro_reccaps = {4000, 44100, sbpro_fmt, 0}; - -struct sb_info; - -struct sb_chinfo { - struct sb_info *parent; - struct pcm_channel *channel; - struct snd_dbuf *buffer; - int dir; - u_int32_t fmt, spd, blksz; -}; - -struct sb_info { - device_t parent_dev; - struct resource *io_base; /* I/O address for the board */ - struct resource *irq; - struct resource *drq; - void *ih; - bus_dma_tag_t parent_dmat; - - unsigned int bufsize; - int bd_id; - u_long bd_flags; /* board-specific flags */ - struct sb_chinfo pch, rch; -}; - -static int sb_rd(struct sb_info *sb, int reg); -static void sb_wr(struct sb_info *sb, int reg, u_int8_t val); -static int sb_dspready(struct sb_info *sb); -static int sb_cmd(struct sb_info *sb, u_char val); -static int sb_cmd1(struct sb_info *sb, u_char cmd, int val); -static int sb_cmd2(struct sb_info *sb, u_char cmd, int val); -static u_int sb_get_byte(struct sb_info *sb); -static void sb_setmixer(struct sb_info *sb, u_int port, u_int value); -static int sb_getmixer(struct sb_info *sb, u_int port); -static int sb_reset_dsp(struct sb_info *sb); - -static void sb_intr(void *arg); -static int sb_speed(struct sb_chinfo *ch); -static int sb_start(struct sb_chinfo *ch); -static int sb_stop(struct sb_chinfo *ch); - -/* - * Common code for the midi and pcm functions - * - * sb_cmd write a single byte to the CMD port. - * sb_cmd1 write a CMD + 1 byte arg - * sb_cmd2 write a CMD + 2 byte arg - * sb_get_byte returns a single byte from the DSP data port - */ - -static void -sb_lock(struct sb_info *sb) { - - sbc_lock(device_get_softc(sb->parent_dev)); -} - -static void -sb_unlock(struct sb_info *sb) { - - sbc_unlock(device_get_softc(sb->parent_dev)); -} - -static int -port_rd(struct resource *port, int off) -{ - return bus_space_read_1(rman_get_bustag(port), rman_get_bushandle(port), off); -} - -static void -port_wr(struct resource *port, int off, u_int8_t data) -{ - bus_space_write_1(rman_get_bustag(port), rman_get_bushandle(port), off, data); -} - -static int -sb_rd(struct sb_info *sb, int reg) -{ - return port_rd(sb->io_base, reg); -} - -static void -sb_wr(struct sb_info *sb, int reg, u_int8_t val) -{ - port_wr(sb->io_base, reg, val); -} - -static int -sb_dspready(struct sb_info *sb) -{ - return ((sb_rd(sb, SBDSP_STATUS) & 0x80) == 0); -} - -static int -sb_dspwr(struct sb_info *sb, u_char val) -{ - int i; - - for (i = 0; i < 1000; i++) { - if (sb_dspready(sb)) { - sb_wr(sb, SBDSP_CMD, val); - return 1; - } - if (i > 10) DELAY((i > 100)? 1000 : 10); - } - kprintf("sb_dspwr(0x%02x) timed out.\n", val); - return 0; -} - -static int -sb_cmd(struct sb_info *sb, u_char val) -{ -#if 0 - kprintf("sb_cmd: %x\n", val); -#endif - return sb_dspwr(sb, val); -} - -static int -sb_cmd1(struct sb_info *sb, u_char cmd, int val) -{ -#if 0 - kprintf("sb_cmd1: %x, %x\n", cmd, val); -#endif - if (sb_dspwr(sb, cmd)) { - return sb_dspwr(sb, val & 0xff); - } else return 0; -} - -static int -sb_cmd2(struct sb_info *sb, u_char cmd, int val) -{ -#if 0 - kprintf("sb_cmd2: %x, %x\n", cmd, val); -#endif - if (sb_dspwr(sb, cmd)) { - return sb_dspwr(sb, val & 0xff) && - sb_dspwr(sb, (val >> 8) & 0xff); - } else return 0; -} - -/* - * in the SB, there is a set of indirect "mixer" registers with - * address at offset 4, data at offset 5 - * - * we don't need to interlock these, the mixer lock will suffice. - */ -static void -sb_setmixer(struct sb_info *sb, u_int port, u_int value) -{ - sb_wr(sb, SB_MIX_ADDR, (u_char) (port & 0xff)); /* Select register */ - DELAY(10); - sb_wr(sb, SB_MIX_DATA, (u_char) (value & 0xff)); - DELAY(10); -} - -static int -sb_getmixer(struct sb_info *sb, u_int port) -{ - int val; - - sb_wr(sb, SB_MIX_ADDR, (u_char) (port & 0xff)); /* Select register */ - DELAY(10); - val = sb_rd(sb, SB_MIX_DATA); - DELAY(10); - - return val; -} - -static u_int -sb_get_byte(struct sb_info *sb) -{ - int i; - - for (i = 1000; i > 0; i--) { - if (sb_rd(sb, DSP_DATA_AVAIL) & 0x80) - return sb_rd(sb, DSP_READ); - else - DELAY(20); - } - return 0xffff; -} - -static int -sb_reset_dsp(struct sb_info *sb) -{ - sb_wr(sb, SBDSP_RST, 3); - DELAY(100); - sb_wr(sb, SBDSP_RST, 0); - if (sb_get_byte(sb) != 0xAA) { - DEB(kprintf("sb_reset_dsp 0x%lx failed\n", - rman_get_start(sb->io_base))); - return ENXIO; /* Sorry */ - } - return 0; -} - -static void -sb_release_resources(struct sb_info *sb, device_t dev) -{ - if (sb->irq) { - if (sb->ih) - bus_teardown_intr(dev, sb->irq, sb->ih); - bus_release_resource(dev, SYS_RES_IRQ, 0, sb->irq); - sb->irq = NULL; - } - if (sb->drq) { - isa_dma_release(rman_get_start(sb->drq)); - bus_release_resource(dev, SYS_RES_DRQ, 0, sb->drq); - sb->drq = NULL; - } - if (sb->io_base) { - bus_release_resource(dev, SYS_RES_IOPORT, 0, sb->io_base); - sb->io_base = NULL; - } - if (sb->parent_dmat) { - bus_dma_tag_destroy(sb->parent_dmat); - sb->parent_dmat = 0; - } - kfree(sb, M_DEVBUF); -} - -static int -sb_alloc_resources(struct sb_info *sb, device_t dev) -{ - int rid; - - rid = 0; - if (!sb->io_base) - sb->io_base = bus_alloc_resource_any(dev, SYS_RES_IOPORT, - &rid, RF_ACTIVE); - rid = 0; - if (!sb->irq) - sb->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, - &rid, RF_ACTIVE); - rid = 0; - if (!sb->drq) - sb->drq = bus_alloc_resource_any(dev, SYS_RES_DRQ, - &rid, RF_ACTIVE); - - if (sb->io_base && sb->drq && sb->irq) { - isa_dma_acquire(rman_get_start(sb->drq)); - isa_dmainit(rman_get_start(sb->drq), sb->bufsize); - - return 0; - } else return ENXIO; -} - -/************************************************************/ - -static int -sbpromix_init(struct snd_mixer *m) -{ - struct sb_info *sb = mix_getdevinfo(m); - - mix_setdevs(m, SOUND_MASK_SYNTH | SOUND_MASK_PCM | SOUND_MASK_LINE | - SOUND_MASK_MIC | SOUND_MASK_CD | SOUND_MASK_VOLUME); - - mix_setrecdevs(m, SOUND_MASK_LINE | SOUND_MASK_MIC | SOUND_MASK_CD); - - sb_setmixer(sb, 0, 1); /* reset mixer */ - - return 0; -} - -static int -sbpromix_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) -{ - struct sb_info *sb = mix_getdevinfo(m); - int reg, max; - u_char val; - - max = 7; - switch (dev) { - case SOUND_MIXER_PCM: - reg = 0x04; - break; - - case SOUND_MIXER_MIC: - reg = 0x0a; - max = 3; - break; - - case SOUND_MIXER_VOLUME: - reg = 0x22; - break; - - case SOUND_MIXER_SYNTH: - reg = 0x26; - break; - - case SOUND_MIXER_CD: - reg = 0x28; - break; - - case SOUND_MIXER_LINE: - reg = 0x2e; - break; - - default: - return -1; - } - - left = (left * max) / 100; - right = (dev == SOUND_MIXER_MIC)? left : ((right * max) / 100); - - val = (dev == SOUND_MIXER_MIC)? (left << 1) : (left << 5 | right << 1); - sb_setmixer(sb, reg, val); - - left = (left * 100) / max; - right = (right * 100) / max; - - return left | (right << 8); -} - -static int -sbpromix_setrecsrc(struct snd_mixer *m, u_int32_t src) -{ - struct sb_info *sb = mix_getdevinfo(m); - u_char recdev; - - if (src == SOUND_MASK_LINE) - recdev = 0x06; - else if (src == SOUND_MASK_CD) - recdev = 0x02; - else { /* default: mic */ - src = SOUND_MASK_MIC; - recdev = 0; - } - sb_setmixer(sb, RECORD_SRC, recdev | (sb_getmixer(sb, RECORD_SRC) & ~0x07)); - - return src; -} - -static kobj_method_t sbpromix_mixer_methods[] = { - KOBJMETHOD(mixer_init, sbpromix_init), - KOBJMETHOD(mixer_set, sbpromix_set), - KOBJMETHOD(mixer_setrecsrc, sbpromix_setrecsrc), - KOBJMETHOD_END -}; -MIXER_DECLARE(sbpromix_mixer); - -/************************************************************/ - -static int -sbmix_init(struct snd_mixer *m) -{ - struct sb_info *sb = mix_getdevinfo(m); - - mix_setdevs(m, SOUND_MASK_SYNTH | SOUND_MASK_PCM | SOUND_MASK_CD | SOUND_MASK_VOLUME); - - mix_setrecdevs(m, 0); - - sb_setmixer(sb, 0, 1); /* reset mixer */ - - return 0; -} - -static int -sbmix_set(struct snd_mixer *m, unsigned dev, unsigned left, unsigned right) -{ - struct sb_info *sb = mix_getdevinfo(m); - int reg, max; - - max = 7; - switch (dev) { - case SOUND_MIXER_VOLUME: - reg = 0x2; - break; - - case SOUND_MIXER_SYNTH: - reg = 0x6; - break; - - case SOUND_MIXER_CD: - reg = 0x8; - break; - - case SOUND_MIXER_PCM: - reg = 0x0a; - max = 3; - break; - - default: - return -1; - } - - left = (left * max) / 100; - - sb_setmixer(sb, reg, left << 1); - - left = (left * 100) / max; - - return left | (left << 8); -} - -static int -sbmix_setrecsrc(struct snd_mixer *m, u_int32_t src) -{ - return 0; -} - -static kobj_method_t sbmix_mixer_methods[] = { - KOBJMETHOD(mixer_init, sbmix_init), - KOBJMETHOD(mixer_set, sbmix_set), - KOBJMETHOD(mixer_setrecsrc, sbmix_setrecsrc), - KOBJMETHOD_END -}; -MIXER_DECLARE(sbmix_mixer); - -/************************************************************/ - -static void -sb_intr(void *arg) -{ - struct sb_info *sb = (struct sb_info *)arg; - - sb_lock(sb); - if (sndbuf_runsz(sb->pch.buffer) > 0) { - sb_unlock(sb); - chn_intr(sb->pch.channel); - sb_lock(sb); - } - - if (sndbuf_runsz(sb->rch.buffer) > 0) { - sb_unlock(sb); - chn_intr(sb->rch.channel); - sb_lock(sb); - } - - sb_rd(sb, DSP_DATA_AVAIL); /* int ack */ - sb_unlock(sb); -} - -static int -sb_speed(struct sb_chinfo *ch) -{ - struct sb_info *sb = ch->parent; - int play = (ch->dir == PCMDIR_PLAY)? 1 : 0; - int stereo = (ch->fmt & AFMT_STEREO)? 1 : 0; - int speed, tmp, thresh, max; - u_char tconst; - - if (sb->bd_id >= 0x300) { - thresh = stereo? 11025 : 23000; - max = stereo? 22050 : 44100; - } else if (sb->bd_id > 0x200) { - thresh = play? 23000 : 13000; - max = play? 44100 : 15000; - } else { - thresh = 999999; - max = play? 23000 : 13000; - } - - speed = ch->spd; - if (speed > max) - speed = max; - - sb_lock(sb); - sb->bd_flags &= ~BD_F_HISPEED; - if (speed > thresh) - sb->bd_flags |= BD_F_HISPEED; - - tmp = 65536 - (256000000 / (speed << stereo)); - tconst = tmp >> 8; - - sb_cmd1(sb, 0x40, tconst); /* set time constant */ - - speed = (256000000 / (65536 - tmp)) >> stereo; - - ch->spd = speed; - sb_unlock(sb); - return speed; -} - -static int -sb_start(struct sb_chinfo *ch) -{ - struct sb_info *sb = ch->parent; - int play = (ch->dir == PCMDIR_PLAY)? 1 : 0; - int stereo = (ch->fmt & AFMT_STEREO)? 1 : 0; - int l = ch->blksz; - u_char i; - - l--; - - sb_lock(sb); - if (play) - sb_cmd(sb, DSP_CMD_SPKON); - - if (sb->bd_flags & BD_F_HISPEED) - i = play? 0x90 : 0x98; - else - i = play? 0x1c : 0x2c; - - sb_setmixer(sb, 0x0e, stereo? 2 : 0); - sb_cmd2(sb, 0x48, l); - sb_cmd(sb, i); - - sb->bd_flags |= BD_F_DMARUN; - sb_unlock(sb); - return 0; -} - -static int -sb_stop(struct sb_chinfo *ch) -{ - struct sb_info *sb = ch->parent; - int play = (ch->dir == PCMDIR_PLAY)? 1 : 0; - - sb_lock(sb); - if (sb->bd_flags & BD_F_HISPEED) - sb_reset_dsp(sb); - else { -#if 0 - /* - * NOTE: DSP_CMD_DMAEXIT_8 does not work with old - * soundblaster. - */ - sb_cmd(sb, DSP_CMD_DMAEXIT_8); -#endif - sb_reset_dsp(sb); - } - - if (play) - sb_cmd(sb, DSP_CMD_SPKOFF); /* speaker off */ - sb_unlock(sb); - sb->bd_flags &= ~BD_F_DMARUN; - return 0; -} - -/* channel interface */ -static void * -sbchan_init(kobj_t obj, void *devinfo, struct snd_dbuf *b, struct pcm_channel *c, int dir) -{ - struct sb_info *sb = devinfo; - struct sb_chinfo *ch = (dir == PCMDIR_PLAY)? &sb->pch : &sb->rch; - - ch->parent = sb; - ch->channel = c; - ch->dir = dir; - ch->buffer = b; - if (sndbuf_alloc(ch->buffer, sb->parent_dmat, sb->bufsize) != 0) - return NULL; - sndbuf_dmasetup(ch->buffer, sb->drq); - return ch; -} - -static int -sbchan_setformat(kobj_t obj, void *data, u_int32_t format) -{ - struct sb_chinfo *ch = data; - - ch->fmt = format; - return 0; -} - -static int -sbchan_setspeed(kobj_t obj, void *data, u_int32_t speed) -{ - struct sb_chinfo *ch = data; - - ch->spd = speed; - return sb_speed(ch); -} - -static int -sbchan_setblocksize(kobj_t obj, void *data, u_int32_t blocksize) -{ - struct sb_chinfo *ch = data; - - ch->blksz = blocksize; - return ch->blksz; -} - -static int -sbchan_trigger(kobj_t obj, void *data, int go) -{ - struct sb_chinfo *ch = data; - - if (go == PCMTRIG_EMLDMAWR || go == PCMTRIG_EMLDMARD) - return 0; - - sndbuf_dma(ch->buffer, go); - if (go == PCMTRIG_START) - sb_start(ch); - else - sb_stop(ch); - return 0; -} - -static int -sbchan_getptr(kobj_t obj, void *data) -{ - struct sb_chinfo *ch = data; - - return sndbuf_dmaptr(ch->buffer); -} - -static struct pcmchan_caps * -sbchan_getcaps(kobj_t obj, void *data) -{ - struct sb_chinfo *ch = data; - int p = (ch->dir == PCMDIR_PLAY)? 1 : 0; - - if (ch->parent->bd_id == 0x200) - return p? &sb200_playcaps : &sb200_reccaps; - if (ch->parent->bd_id < 0x300) - return p? &sb201_playcaps : &sb201_reccaps; - return p? &sbpro_playcaps : &sbpro_reccaps; -} - -static kobj_method_t sbchan_methods[] = { - KOBJMETHOD(channel_init, sbchan_init), - KOBJMETHOD(channel_setformat, sbchan_setformat), - KOBJMETHOD(channel_setspeed, sbchan_setspeed), - KOBJMETHOD(channel_setblocksize, sbchan_setblocksize), - KOBJMETHOD(channel_trigger, sbchan_trigger), - KOBJMETHOD(channel_getptr, sbchan_getptr), - KOBJMETHOD(channel_getcaps, sbchan_getcaps), - KOBJMETHOD_END -}; -CHANNEL_DECLARE(sbchan); - -/************************************************************/ - -static int -sb_probe(device_t dev) -{ - char buf[64]; - uintptr_t func, ver, r, f; - - /* The parent device has already been probed. */ - r = BUS_READ_IVAR(device_get_parent(dev), dev, 0, &func); - if (func != SCF_PCM) - return (ENXIO); - - r = BUS_READ_IVAR(device_get_parent(dev), dev, 1, &ver); - f = (ver & 0xffff0000) >> 16; - ver &= 0x0000ffff; - if ((f & BD_F_ESS) || (ver >= 0x400)) - return (ENXIO); - - ksnprintf(buf, sizeof buf, "SB DSP %d.%02d", (int) ver >> 8, (int) ver & 0xff); - - device_set_desc_copy(dev, buf); - - return 0; -} - -static int -sb_attach(device_t dev) -{ - struct sb_info *sb; - char status[SND_STATUSLEN]; - uintptr_t ver; - - sb = kmalloc(sizeof *sb, M_DEVBUF, M_WAITOK | M_ZERO); - sb->parent_dev = device_get_parent(dev); - BUS_READ_IVAR(device_get_parent(dev), dev, 1, &ver); - sb->bd_id = ver & 0x0000ffff; - sb->bd_flags = (ver & 0xffff0000) >> 16; - sb->bufsize = pcm_getbuffersize(dev, 4096, SB_DEFAULT_BUFSZ, 65536); - - if (sb_alloc_resources(sb, dev)) - goto no; - if (sb_reset_dsp(sb)) - goto no; - if (mixer_init(dev, (sb->bd_id < 0x300)? &sbmix_mixer_class : &sbpromix_mixer_class, sb)) - goto no; - if (snd_setup_intr(dev, sb->irq, 0, sb_intr, sb, &sb->ih)) - goto no; - - pcm_setflags(dev, pcm_getflags(dev) | SD_F_SIMPLEX); - - if (bus_dma_tag_create(/*parent*/NULL, /*alignment*/2, /*boundary*/0, - /*lowaddr*/BUS_SPACE_MAXADDR_24BIT, - /*highaddr*/BUS_SPACE_MAXADDR, - /*filter*/NULL, /*filterarg*/NULL, - /*maxsize*/sb->bufsize, /*nsegments*/1, - /*maxsegz*/0x3ffff, /*flags*/0, - &sb->parent_dmat) != 0) { - device_printf(dev, "unable to create dma tag\n"); - goto no; - } - - ksnprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld drq %ld bufsz %u %s", - rman_get_start(sb->io_base), rman_get_start(sb->irq), - rman_get_start(sb->drq), sb->bufsize, PCM_KLDSTRING(snd_sb8)); - - if (pcm_register(dev, sb, 1, 1)) - goto no; - pcm_addchan(dev, PCMDIR_REC, &sbchan_class, sb); - pcm_addchan(dev, PCMDIR_PLAY, &sbchan_class, sb); - - pcm_setstatus(dev, status); - - return 0; - -no: - sb_release_resources(sb, dev); - return ENXIO; -} - -static int -sb_detach(device_t dev) -{ - int r; - struct sb_info *sb; - - r = pcm_unregister(dev); - if (r) - return r; - - sb = pcm_getdevinfo(dev); - sb_release_resources(sb, dev); - return 0; -} - -static device_method_t sb_methods[] = { - /* Device interface */ - DEVMETHOD(device_probe, sb_probe), - DEVMETHOD(device_attach, sb_attach), - DEVMETHOD(device_detach, sb_detach), - - { 0, 0 } -}; - -static driver_t sb_driver = { - "pcm", - sb_methods, - PCM_SOFTC_SIZE, -}; - -DRIVER_MODULE(snd_sb8, sbc, sb_driver, pcm_devclass, NULL, NULL); -MODULE_DEPEND(snd_sb8, sound, SOUND_MINVER, SOUND_PREFVER, SOUND_MAXVER); -MODULE_DEPEND(snd_sb8, snd_sbc, 1, 1, 1); -MODULE_VERSION(snd_sb8, 1); - - - - diff --git a/sys/dev/sound/isa/sbc.c b/sys/dev/sound/isa/sbc.c deleted file mode 100644 index 365d006753..0000000000 --- a/sys/dev/sound/isa/sbc.c +++ /dev/null @@ -1,736 +0,0 @@ -/*- - * Copyright (c) 1999 Seigo Tanimura - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD: src/sys/dev/sound/isa/sbc.c,v 1.44.2.1 2005/12/30 19:55:53 netchild Exp $ - */ - -#include -#include -#include - -#include - -SND_DECLARE_FILE("$DragonFly: src/sys/dev/sound/isa/sbc.c,v 1.10 2007/06/16 20:07:18 dillon Exp $"); - -#define IO_MAX 3 -#define IRQ_MAX 1 -#define DRQ_MAX 2 -#define INTR_MAX 2 - -struct sbc_softc; - -struct sbc_ihl { - driver_intr_t *intr[INTR_MAX]; - void *intr_arg[INTR_MAX]; - struct sbc_softc *parent; -}; - -/* Here is the parameter structure per a device. */ -struct sbc_softc { - device_t dev; /* device */ - device_t child_pcm, child_midi1, child_midi2; - - int io_rid[IO_MAX]; /* io port rids */ - struct resource *io[IO_MAX]; /* io port resources */ - int io_alloced[IO_MAX]; /* io port alloc flag */ - - int irq_rid[IRQ_MAX]; /* irq rids */ - struct resource *irq[IRQ_MAX]; /* irq resources */ - int irq_alloced[IRQ_MAX]; /* irq alloc flag */ - - int drq_rid[DRQ_MAX]; /* drq rids */ - struct resource *drq[DRQ_MAX]; /* drq resources */ - int drq_alloced[DRQ_MAX]; /* drq alloc flag */ - - struct sbc_ihl ihl[IRQ_MAX]; - - void *ih[IRQ_MAX]; - - sndlock_t lock; - - u_int32_t bd_ver; -}; - -static int sbc_probe(device_t dev); -static int sbc_attach(device_t dev); -static void sbc_intr(void *p); - -static struct resource *sbc_alloc_resource(device_t bus, device_t child, int type, int *rid, - u_long start, u_long end, u_long count, u_int flags, int cpuid); -static int sbc_release_resource(device_t bus, device_t child, int type, int rid, - struct resource *r); -static int sbc_setup_intr(device_t dev, device_t child, struct resource *irq, - int flags, driver_intr_t *intr, void *arg, - void **cookiep); -static int sbc_teardown_intr(device_t dev, device_t child, struct resource *irq, - void *cookie); - -static int alloc_resource(struct sbc_softc *scp); -static int release_resource(struct sbc_softc *scp); - -static devclass_t sbc_devclass; - -static int io_range[3] = {0x10, 0x2, 0x4}; - -static int sb_rd(struct resource *io, int reg); -static void sb_wr(struct resource *io, int reg, u_int8_t val); -static int sb_dspready(struct resource *io); -static int sb_cmd(struct resource *io, u_char val); -static u_int sb_get_byte(struct resource *io); -static void sb_setmixer(struct resource *io, u_int port, u_int value); - -static void -sbc_lockinit(struct sbc_softc *scp) -{ - scp->lock = snd_mtxcreate(device_get_nameunit(scp->dev), "sound softc"); -} - -static void -sbc_lockdestroy(struct sbc_softc *scp) -{ - snd_mtxfree(scp->lock); -} - -void -sbc_lock(struct sbc_softc *scp) -{ - snd_mtxlock(scp->lock); -} - -void -sbc_lockassert(struct sbc_softc *scp) -{ - snd_mtxassert(scp->lock); -} - -void -sbc_unlock(struct sbc_softc *scp) -{ - snd_mtxunlock(scp->lock); -} - -static int -sb_rd(struct resource *io, int reg) -{ - return bus_space_read_1(rman_get_bustag(io), - rman_get_bushandle(io), - reg); -} - -static void -sb_wr(struct resource *io, int reg, u_int8_t val) -{ - bus_space_write_1(rman_get_bustag(io), - rman_get_bushandle(io), - reg, val); -} - -static int -sb_dspready(struct resource *io) -{ - return ((sb_rd(io, SBDSP_STATUS) & 0x80) == 0); -} - -static int -sb_dspwr(struct resource *io, u_char val) -{ - int i; - - for (i = 0; i < 1000; i++) { - if (sb_dspready(io)) { - sb_wr(io, SBDSP_CMD, val); - return 1; - } - if (i > 10) DELAY((i > 100)? 1000 : 10); - } - kprintf("sb_dspwr(0x%02x) timed out.\n", val); - return 0; -} - -static int -sb_cmd(struct resource *io, u_char val) -{ - return sb_dspwr(io, val); -} - -static void -sb_setmixer(struct resource *io, u_int port, u_int value) -{ - crit_enter(); - sb_wr(io, SB_MIX_ADDR, (u_char) (port & 0xff)); /* Select register */ - DELAY(10); - sb_wr(io, SB_MIX_DATA, (u_char) (value & 0xff)); - DELAY(10); - crit_exit(); -} - -static u_int -sb_get_byte(struct resource *io) -{ - int i; - - for (i = 1000; i > 0; i--) { - if (sb_rd(io, DSP_DATA_AVAIL) & 0x80) - return sb_rd(io, DSP_READ); - else - DELAY(20); - } - return 0xffff; -} - -static int -sb_reset_dsp(struct resource *io) -{ - sb_wr(io, SBDSP_RST, 3); - DELAY(100); - sb_wr(io, SBDSP_RST, 0); - return (sb_get_byte(io) == 0xAA)? 0 : ENXIO; -} - -static int -sb_identify_board(struct resource *io) -{ - int ver, essver, rev; - - sb_cmd(io, DSP_CMD_GETVER); /* Get version */ - ver = (sb_get_byte(io) << 8) | sb_get_byte(io); - if (ver < 0x100 || ver > 0x4ff) return 0; - if (ver == 0x0301) { - /* Try to detect ESS chips. */ - sb_cmd(io, DSP_CMD_GETID); /* Return ident. bytes. */ - essver = (sb_get_byte(io) << 8) | sb_get_byte(io); - rev = essver & 0x000f; - essver &= 0xfff0; - if (essver == 0x4880) ver |= 0x1000; - else if (essver == 0x6880) ver = 0x0500 | rev; - } - return ver; -} - -static struct isa_pnp_id sbc_ids[] = { - {0x01008c0e, "Creative ViBRA16C"}, /* CTL0001 */ - {0x31008c0e, "Creative SB16/SB32"}, /* CTL0031 */ - {0x41008c0e, "Creative SB16/SB32"}, /* CTL0041 */ - {0x42008c0e, "Creative SB AWE64"}, /* CTL0042 */ - {0x43008c0e, "Creative ViBRA16X"}, /* CTL0043 */ - {0x44008c0e, "Creative SB AWE64 Gold"}, /* CTL0044 */ - {0x45008c0e, "Creative SB AWE64"}, /* CTL0045 */ - {0x46008c0e, "Creative SB AWE64"}, /* CTL0046 */ - - {0x01000000, "Avance Logic ALS100+"}, /* @@@0001 - ViBRA16X clone */ - {0x01100000, "Avance Asound 110"}, /* @@@1001 */ - {0x01200000, "Avance Logic ALS120"}, /* @@@2001 - ViBRA16X clone */ - - {0x81167316, "ESS ES1681"}, /* ESS1681 */ - {0x02017316, "ESS ES1688"}, /* ESS1688 */ - {0x68097316, "ESS ES1688"}, /* ESS1688 */ - {0x68187316, "ESS ES1868"}, /* ESS1868 */ - {0x03007316, "ESS ES1869"}, /* ESS1869 */ - {0x69187316, "ESS ES1869"}, /* ESS1869 */ - {0xabb0110e, "ESS ES1869 (Compaq OEM)"}, /* CPQb0ab */ - {0xacb0110e, "ESS ES1869 (Compaq OEM)"}, /* CPQb0ac */ - {0x78187316, "ESS ES1878"}, /* ESS1878 */ - {0x79187316, "ESS ES1879"}, /* ESS1879 */ - {0x88187316, "ESS ES1888"}, /* ESS1888 */ - {0x07017316, "ESS ES1888 (DEC OEM)"}, /* ESS0107 */ - {0x06017316, "ESS ES1888 (Dell OEM)"}, /* ESS0106 */ - {0} -}; - -static int -sbc_probe(device_t dev) -{ - char *s = NULL; - u_int32_t lid, vid; - - lid = isa_get_logicalid(dev); - vid = isa_get_vendorid(dev); - if (lid) { - if (lid == 0x01000000 && vid != 0x01009305) /* ALS0001 */ - return ENXIO; - /* Check pnp ids */ - return ISA_PNP_PROBE(device_get_parent(dev), dev, sbc_ids); - } else { - int rid = 0, ver; - struct resource *io; - - io = bus_alloc_resource(dev, SYS_RES_IOPORT, &rid, - 0, ~0, 16, RF_ACTIVE); - if (!io) goto bad; - if (sb_reset_dsp(io)) goto bad2; - ver = sb_identify_board(io); - if (ver == 0) goto bad2; - switch ((ver & 0x00000f00) >> 8) { - case 1: - device_set_desc(dev, "SoundBlaster 1.0 (not supported)"); - s = NULL; - break; - - case 2: - s = "SoundBlaster 2.0"; - break; - - case 3: - s = (ver & 0x0000f000)? "ESS 488" : "SoundBlaster Pro"; - break; - - case 4: - s = "SoundBlaster 16"; - break; - - case 5: - s = (ver & 0x00000008)? "ESS 688" : "ESS 1688"; - break; - } - if (s) device_set_desc(dev, s); -bad2: bus_release_resource(dev, SYS_RES_IOPORT, rid, io); -bad: return s? 0 : ENXIO; - } -} - -static int -sbc_attach(device_t dev) -{ - char *err = NULL; - struct sbc_softc *scp; - struct sndcard_func *func; - u_int32_t logical_id = isa_get_logicalid(dev); - int flags = device_get_flags(dev); - int f, dh, dl, x, irq, i; - - if (!logical_id && (flags & DV_F_DUAL_DMA)) { - bus_set_resource(dev, SYS_RES_DRQ, 1, - flags & DV_F_DRQ_MASK, 1, -1); - } - - scp = device_get_softc(dev); - bzero(scp, sizeof(*scp)); - scp->dev = dev; - sbc_lockinit(scp); - err = "alloc_resource"; - if (alloc_resource(scp)) goto bad; - - err = "sb_reset_dsp"; - if (sb_reset_dsp(scp->io[0])) goto bad; - err = "sb_identify_board"; - scp->bd_ver = sb_identify_board(scp->io[0]) & 0x00000fff; - if (scp->bd_ver == 0) goto bad; - f = 0; - if (logical_id == 0x01200000 && scp->bd_ver < 0x0400) scp->bd_ver = 0x0499; - switch ((scp->bd_ver & 0x0f00) >> 8) { - case 1: /* old sound blaster has nothing... */ - break; - - case 2: - f |= BD_F_DUP_MIDI; - if (scp->bd_ver > 0x200) f |= BD_F_MIX_CT1335; - break; - - case 5: - f |= BD_F_ESS; - scp->bd_ver = 0x0301; - case 3: - f |= BD_F_DUP_MIDI | BD_F_MIX_CT1345; - break; - - case 4: - f |= BD_F_SB16 | BD_F_MIX_CT1745; - if (scp->drq[0]) dl = rman_get_start(scp->drq[0]); else dl = -1; - if (scp->drq[1]) dh = rman_get_start(scp->drq[1]); else dh = dl; - if (!logical_id && (dh < dl)) { - struct resource *r; - r = scp->drq[0]; - scp->drq[0] = scp->drq[1]; - scp->drq[1] = r; - dl = rman_get_start(scp->drq[0]); - dh = rman_get_start(scp->drq[1]); - } - /* soft irq/dma configuration */ - x = -1; - irq = rman_get_start(scp->irq[0]); - if (irq == 5) x = 2; - else if (irq == 7) x = 4; - else if (irq == 9) x = 1; - else if (irq == 10) x = 8; - if (x == -1) { - err = "bad irq (5/7/9/10 valid)"; - goto bad; - } - else sb_setmixer(scp->io[0], IRQ_NR, x); - sb_setmixer(scp->io[0], DMA_NR, (1 << dh) | (1 << dl)); - if (bootverbose) { - device_printf(dev, "setting card to irq %d, drq %d", irq, dl); - if (dl != dh) kprintf(", %d", dh); - kprintf("\n"); - } - break; - } - - switch (logical_id) { - case 0x43008c0e: /* CTL0043 */ - case 0x01200000: - case 0x01000000: - f |= BD_F_SB16X; - break; - } - scp->bd_ver |= f << 16; - - err = "setup_intr"; - for (i = 0; i < IRQ_MAX; i++) { - scp->ihl[i].parent = scp; - if (snd_setup_intr(dev, scp->irq[i], 0, sbc_intr, &scp->ihl[i], &scp->ih[i])) - goto bad; - } - - /* PCM Audio */ - func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF, - M_WAITOK | M_ZERO); - func->func = SCF_PCM; - scp->child_pcm = device_add_child(dev, "pcm", -1); - device_set_ivars(scp->child_pcm, func); - - /* Midi Interface */ - func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF, - M_WAITOK | M_ZERO); - func->func = SCF_MIDI; - scp->child_midi1 = device_add_child(dev, "midi", -1); - device_set_ivars(scp->child_midi1, func); - - /* OPL FM Synthesizer */ - func = kmalloc(sizeof(struct sndcard_func), M_DEVBUF, - M_WAITOK | M_ZERO); - func->func = SCF_SYNTH; - scp->child_midi2 = device_add_child(dev, "midi", -1); - device_set_ivars(scp->child_midi2, func); - - /* probe/attach kids */ - bus_generic_attach(dev); - - return (0); - -bad: if (err) device_printf(dev, "%s\n", err); - release_resource(scp); - return (ENXIO); -} - -static int -sbc_detach(device_t dev) -{ - struct sbc_softc *scp = device_get_softc(dev); - - sbc_lock(scp); - device_delete_child(dev, scp->child_midi2); - device_delete_child(dev, scp->child_midi1); - device_delete_child(dev, scp->child_pcm); - release_resource(scp); - sbc_lockdestroy(scp); - return bus_generic_detach(dev); -} - -static void -sbc_intr(void *p) -{ - struct sbc_ihl *ihl = p; - int i; - - /* sbc_lock(ihl->parent); */ - i = 0; - while (i < INTR_MAX) { - if (ihl->intr[i] != NULL) ihl->intr[i](ihl->intr_arg[i]); - i++; - } - /* sbc_unlock(ihl->parent); */ -} - -static int -sbc_setup_intr(device_t dev, device_t child, struct resource *irq, - int flags, driver_intr_t *intr, void *arg, - void **cookiep) -{ - struct sbc_softc *scp = device_get_softc(dev); - struct sbc_ihl *ihl = NULL; - int i, ret; - - sbc_lock(scp); - i = 0; - while (i < IRQ_MAX) { - if (irq == scp->irq[i]) ihl = &scp->ihl[i]; - i++; - } - ret = 0; - if (ihl == NULL) ret = EINVAL; - i = 0; - while ((ret == 0) && (i < INTR_MAX)) { - if (ihl->intr[i] == NULL) { - ihl->intr[i] = intr; - ihl->intr_arg[i] = arg; - *cookiep = &ihl->intr[i]; - ret = -1; - } else i++; - } - sbc_unlock(scp); - return (ret > 0)? EINVAL : 0; -} - -static int -sbc_teardown_intr(device_t dev, device_t child, struct resource *irq, - void *cookie) -{ - struct sbc_softc *scp = device_get_softc(dev); - struct sbc_ihl *ihl = NULL; - int i, ret; - - sbc_lock(scp); - i = 0; - while (i < IRQ_MAX) { - if (irq == scp->irq[i]) ihl = &scp->ihl[i]; - i++; - } - ret = 0; - if (ihl == NULL) ret = EINVAL; - i = 0; - while ((ret == 0) && (i < INTR_MAX)) { - if (cookie == &ihl->intr[i]) { - ihl->intr[i] = NULL; - ihl->intr_arg[i] = NULL; - return 0; - } else i++; - } - sbc_unlock(scp); - return (ret > 0)? EINVAL : 0; -} - -static struct resource * -sbc_alloc_resource(device_t bus, device_t child, int type, int *rid, - u_long start, u_long end, u_long count, u_int flags, int cpuid __unused) -{ - struct sbc_softc *scp; - int *alloced, rid_max, alloced_max; - struct resource **res; - - scp = device_get_softc(bus); - switch (type) { - case SYS_RES_IOPORT: - alloced = scp->io_alloced; - res = scp->io; - rid_max = IO_MAX - 1; - alloced_max = 1; - break; - case SYS_RES_DRQ: - alloced = scp->drq_alloced; - res = scp->drq; - rid_max = DRQ_MAX - 1; - alloced_max = 1; - break; - case SYS_RES_IRQ: - alloced = scp->irq_alloced; - res = scp->irq; - rid_max = IRQ_MAX - 1; - alloced_max = INTR_MAX; /* pcm and mpu may share the irq. */ - break; - default: - return (NULL); - } - - if (*rid > rid_max || alloced[*rid] == alloced_max) - return (NULL); - - alloced[*rid]++; - return (res[*rid]); -} - -static int -sbc_release_resource(device_t bus, device_t child, int type, int rid, - struct resource *r) -{ - struct sbc_softc *scp; - int *alloced, rid_max; - - scp = device_get_softc(bus); - switch (type) { - case SYS_RES_IOPORT: - alloced = scp->io_alloced; - rid_max = IO_MAX - 1; - break; - case SYS_RES_DRQ: - alloced = scp->drq_alloced; - rid_max = DRQ_MAX - 1; - break; - case SYS_RES_IRQ: - alloced = scp->irq_alloced; - rid_max = IRQ_MAX - 1; - break; - default: - return (1); - } - - if (rid > rid_max || alloced[rid] == 0) - return (1); - - alloced[rid]--; - return (0); -} - -static int -sbc_read_ivar(device_t bus, device_t dev, int index, uintptr_t * result) -{ - struct sbc_softc *scp = device_get_softc(bus); - struct sndcard_func *func = device_get_ivars(dev); - - switch (index) { - case 0: - *result = func->func; - break; - - case 1: - *result = scp->bd_ver; - break; - - default: - return ENOENT; - } - - return 0; -} - -static int -sbc_write_ivar(device_t bus, device_t dev, - int index, uintptr_t value) -{ - switch (index) { - case 0: - case 1: - return EINVAL; - - default: - return (ENOENT); - } -} - -static int -alloc_resource(struct sbc_softc *scp) -{ - int i; - - for (i = 0 ; i < IO_MAX ; i++) { - if (scp->io[i] == NULL) { - scp->io_rid[i] = i; - scp->io[i] = bus_alloc_resource(scp->dev, SYS_RES_IOPORT, &scp->io_rid[i], - 0, ~0, io_range[i], RF_ACTIVE); - if (i == 0 && scp->io[i] == NULL) - return (1); - scp->io_alloced[i] = 0; - } - } - for (i = 0 ; i < DRQ_MAX ; i++) { - if (scp->drq[i] == NULL) { - scp->drq_rid[i] = i; - scp->drq[i] = bus_alloc_resource_any(scp->dev, - SYS_RES_DRQ, - &scp->drq_rid[i], - RF_ACTIVE); - if (i == 0 && scp->drq[i] == NULL) - return (1); - scp->drq_alloced[i] = 0; - } - } - for (i = 0 ; i < IRQ_MAX ; i++) { - if (scp->irq[i] == NULL) { - scp->irq_rid[i] = i; - scp->irq[i] = bus_alloc_resource_any(scp->dev, - SYS_RES_IRQ, - &scp->irq_rid[i], - RF_ACTIVE); - if (i == 0 && scp->irq[i] == NULL) - return (1); - scp->irq_alloced[i] = 0; - } - } - return (0); -} - -static int -release_resource(struct sbc_softc *scp) -{ - int i; - - for (i = 0 ; i < IO_MAX ; i++) { - if (scp->io[i] != NULL) { - bus_release_resource(scp->dev, SYS_RES_IOPORT, scp->io_rid[i], scp->io[i]); - scp->io[i] = NULL; - } - } - for (i = 0 ; i < DRQ_MAX ; i++) { - if (scp->drq[i] != NULL) { - bus_release_resource(scp->dev, SYS_RES_DRQ, scp->drq_rid[i], scp->drq[i]); - scp->drq[i] = NULL; - } - } - for (i = 0 ; i < IRQ_MAX ; i++) { - if (scp->irq[i] != NULL) { - if (scp->ih[i] != NULL) - bus_teardown_intr(scp->dev, scp->irq[i], scp->ih[i]); - scp->ih[i] = NULL; - bus_release_resource(scp->dev, SYS_RES_IRQ, scp->irq_rid[i], scp->irq[i]); - scp->irq[i] = NULL; - } - } - return (0); -} - -static device_method_t sbc_methods[] = { - /* Device interface */ - DEVMETHOD(device_probe, sbc_probe), - DEVMETHOD(device_attach, sbc_attach), - DEVMETHOD(device_detach, sbc_detach), - DEVMETHOD(device_shutdown, bus_generic_shutdown), - DEVMETHOD(device_suspend, bus_generic_suspend), - DEVMETHOD(device_resume, bus_generic_resume), - - /* Bus interface */ - DEVMETHOD(bus_read_ivar, sbc_read_ivar), - DEVMETHOD(bus_write_ivar, sbc_write_ivar), - DEVMETHOD(bus_print_child, bus_generic_print_child), - DEVMETHOD(bus_alloc_resource, sbc_alloc_resource), - DEVMETHOD(bus_release_resource, sbc_release_resource), - DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), - DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), - DEVMETHOD(bus_setup_intr, sbc_setup_intr), - DEVMETHOD(bus_teardown_intr, sbc_teardown_intr), - - { 0, 0 } -}; - -static driver_t sbc_driver = { - "sbc", - sbc_methods, - sizeof(struct sbc_softc), -}; - -/* sbc can be attached to an isa bus. */ -DRIVER_MODULE(snd_sbc, isa, sbc_driver, sbc_devclass, NULL, NULL); -DRIVER_MODULE(snd_sbc, acpi, sbc_driver, sbc_devclass, NULL, NULL); -MODULE_DEPEND(snd_sbc, sound, SOUND_MINVER, SOUND_PREFVER, SOUND_MAXVER); -MODULE_VERSION(snd_sbc, 1); diff --git a/sys/dev/sound/isa/sndbuf_dma.c b/sys/dev/sound/isa/sndbuf_dma.c deleted file mode 100644 index 5eae8f06d0..0000000000 --- a/sys/dev/sound/isa/sndbuf_dma.c +++ /dev/null @@ -1,106 +0,0 @@ -/*- - * Copyright (c) 1999 Cameron Grant - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD: src/sys/dev/sound/isa/sndbuf_dma.c,v 1.3 2005/01/06 01:43:17 imp Exp $ - * $DragonFly: src/sys/dev/sound/isa/sndbuf_dma.c,v 1.1 2007/01/04 21:47:02 corecode Exp $ - */ - -#include - -#include - -SND_DECLARE_FILE("$DragonFly: src/sys/dev/sound/isa/sndbuf_dma.c,v 1.1 2007/01/04 21:47:02 corecode Exp $"); - -int -sndbuf_dmasetup(struct snd_dbuf *b, struct resource *drq) -{ - /* should do isa_dma_acquire/isa_dma_release here */ - if (drq == NULL) { - b->dmachan = -1; - } else { - sndbuf_setflags(b, SNDBUF_F_DMA, 1); - b->dmachan = rman_get_start(drq); - } - return 0; -} - -int -sndbuf_dmasetdir(struct snd_dbuf *b, int dir) -{ - KASSERT(b, ("sndbuf_dmasetdir called with b == NULL")); - KASSERT(sndbuf_getflags(b) & SNDBUF_F_DMA, ("sndbuf_dmasetdir called on non-ISA buffer")); - - b->dir = (dir == PCMDIR_PLAY)? ISADMA_WRITE : ISADMA_READ; - return 0; -} - -void -sndbuf_dma(struct snd_dbuf *b, int go) -{ - KASSERT(b, ("sndbuf_dma called with b == NULL")); - KASSERT(sndbuf_getflags(b) & SNDBUF_F_DMA, ("sndbuf_dma called on non-ISA buffer")); - - switch (go) { - case PCMTRIG_START: - /* isa_dmainit(b->chan, size); */ - isa_dmastart(b->dir | ISADMA_RAW, b->buf, b->bufsize, b->dmachan); - break; - - case PCMTRIG_STOP: - case PCMTRIG_ABORT: - isa_dmastop(b->dmachan); - isa_dmadone(b->dir | ISADMA_RAW, b->buf, b->bufsize, b->dmachan); - break; - } - - DEB(printf("buf 0x%p ISA DMA %s, channel %d\n", - b, - (go == PCMTRIG_START)? "started" : "stopped", - b->dmachan)); -} - -int -sndbuf_dmaptr(struct snd_dbuf *b) -{ - int i; - - KASSERT(b, ("sndbuf_dmaptr called with b == NULL")); - KASSERT(sndbuf_getflags(b) & SNDBUF_F_DMA, ("sndbuf_dmaptr called on non-ISA buffer")); - - if (!sndbuf_runsz(b)) - return 0; - i = isa_dmastatus(b->dmachan); - KASSERT(i >= 0, ("isa_dmastatus returned %d", i)); - return b->bufsize - i; -} - -void -sndbuf_dmabounce(struct snd_dbuf *b) -{ - KASSERT(b, ("sndbuf_dmabounce called with b == NULL")); - KASSERT(sndbuf_getflags(b) & SNDBUF_F_DMA, ("sndbuf_dmabounce called on non-ISA buffer")); - - /* tell isa_dma to bounce data in/out */ -} diff --git a/sys/dev/sound/pci/als4000.c b/sys/dev/sound/pci/als4000.c index f59595d6d0..e510088537 100644 --- a/sys/dev/sound/pci/als4000.c +++ b/sys/dev/sound/pci/als4000.c @@ -36,7 +36,7 @@ */ #include -#include +#include #include #include diff --git a/sys/dev/sound/pci/cmi.c b/sys/dev/sound/pci/cmi.c index 11d3594614..c4508d4b51 100644 --- a/sys/dev/sound/pci/cmi.c +++ b/sys/dev/sound/pci/cmi.c @@ -44,7 +44,6 @@ #include #include -#include #include #include diff --git a/sys/dev/sound/isa/sb.h b/sys/dev/sound/pci/sb.h similarity index 95% rename from sys/dev/sound/isa/sb.h rename to sys/dev/sound/pci/sb.h index 35c29f8817..2a261f3682 100644 --- a/sys/dev/sound/isa/sb.h +++ b/sys/dev/sound/pci/sb.h @@ -1,17 +1,17 @@ /* * file: sbcard.h * $FreeBSD: src/sys/dev/sound/isa/sb.h,v 1.15 2004/05/13 11:32:54 truckman Exp $ - * $DragonFly: src/sys/dev/sound/isa/sb.h,v 1.3 2007/01/04 21:47:02 corecode Exp $ + */ + +/* + * XXX swildner + * + * two PCI drivers, snd_solo(4) and snd_als4000(4), also need this file */ #ifndef SB_H #define SB_H -struct sbc_softc; -void sbc_lock(struct sbc_softc *); -void sbc_lockassert(struct sbc_softc *); -void sbc_unlock(struct sbc_softc *); - /* * sound blaster registers */ diff --git a/sys/dev/sound/pci/solo.c b/sys/dev/sound/pci/solo.c index 61215404a9..38f0cca312 100644 --- a/sys/dev/sound/pci/solo.c +++ b/sys/dev/sound/pci/solo.c @@ -30,7 +30,7 @@ #include #include -#include +#include #include #include "mixer_if.h" diff --git a/sys/dev/sound/pcm/Makefile b/sys/dev/sound/pcm/Makefile index a5ce497cef..9795c7269b 100644 --- a/sys/dev/sound/pcm/Makefile +++ b/sys/dev/sound/pcm/Makefile @@ -1,10 +1,7 @@ # $FreeBSD: src/sys/modules/sound/sound/Makefile,v 1.16.2.2 2006/09/13 08:40:21 des Exp $ -# $DragonFly: src/sys/dev/sound/pcm/Makefile,v 1.3 2007/01/04 21:47:03 corecode Exp $ - -.PATH: ${.CURDIR}/../isa KMOD= sound -SRCS= device_if.h bus_if.h isa_if.h pci_if.h use_isa.h +SRCS= device_if.h bus_if.h pci_if.h SRCS+= ac97_if.h channel_if.h feeder_if.h mixer_if.h SRCS+= ac97_if.c channel_if.c feeder_if.c mixer_if.c SRCS+= ac97.c ac97_patch.c buffer.c channel.c dsp.c @@ -13,19 +10,4 @@ SRCS+= mixer.c sndstat.c sound.c vchan.c EXPORT_SYMS= YES # XXX evaluate -.if ${MACHINE_ARCH} == "sparc64" -# Create an empty opt_isa.h in order to keep kmod.mk from linking in an -# existing one from KERNBUILDDIR which possibly has DEV_ISA defined so -# sound.ko is always built without isadma support. -use_isa.h: - :> ${.TARGET} -.else -SRCS+= sndbuf_dma.c - -.ifndef BUILDING_WITH_KERNEL -use_isa.h: - echo "#define NISA 1" > ${.TARGET} -.endif -.endif - .include diff --git a/sys/dev/sound/pcm/channel.c b/sys/dev/sound/pcm/channel.c index d60f87fa50..5c6c34d868 100644 --- a/sys/dev/sound/pcm/channel.c +++ b/sys/dev/sound/pcm/channel.c @@ -27,8 +27,6 @@ * $FreeBSD: src/sys/dev/sound/pcm/channel.c,v 1.99.2.5 2007/05/13 20:53:39 ariff Exp $ */ -#include "use_isa.h" - #include #include /* IO_NDELAY */ @@ -917,18 +915,11 @@ chn_kill(struct pcm_channel *c) int chn_setdir(struct pcm_channel *c, int dir) { -#if NISA > 0 - struct snd_dbuf *b = c->bufhard; -#endif int r; CHN_LOCKASSERT(c); c->direction = dir; r = CHANNEL_SETDIR(c->methods, c->devinfo, c->direction); -#if NISA > 0 - if (!r && SND_DMA(b)) - sndbuf_dmasetdir(b, c->direction); -#endif return r; } @@ -1250,16 +1241,9 @@ out: int chn_trigger(struct pcm_channel *c, int go) { -#if NISA > 0 - struct snd_dbuf *b = c->bufhard; -#endif int ret; CHN_LOCKASSERT(c); -#if NISA > 0 - if (SND_DMA(b) && (go == PCMTRIG_EMLDMAWR || go == PCMTRIG_EMLDMARD)) - sndbuf_dmabounce(b); -#endif ret = CHANNEL_TRIGGER(c->methods, c->devinfo, go); return ret; diff --git a/sys/dev/sound/pcm/sound.h b/sys/dev/sound/pcm/sound.h index bf88310571..86f7ed1bcc 100644 --- a/sys/dev/sound/pcm/sound.h +++ b/sys/dev/sound/pcm/sound.h @@ -252,10 +252,6 @@ int sndstat_unregisterfile(char *str); #define DV_F_DRQ_MASK 0x00000007 /* mask for secondary drq */ #define DV_F_DUAL_DMA 0x00000010 /* set to use secondary dma channel */ -/* ought to be made obsolete but still used by mss */ -#define DV_F_DEV_MASK 0x0000ff00 /* force device type/class */ -#define DV_F_DEV_SHIFT 8 /* force device type/class */ - #define PCM_DEBUG_MTX /* diff --git a/sys/platform/pc32/i386/userconfig.c b/sys/platform/pc32/i386/userconfig.c index a7faa88537..e2b0de8330 100644 --- a/sys/platform/pc32/i386/userconfig.c +++ b/sys/platform/pc32/i386/userconfig.c @@ -361,8 +361,6 @@ static DEV_INFO device_info[] = { {"joy", "Joystick", FLG_FIXED, CLS_INPUT}, {"sc", "Syscons console driver", FLG_IMMUTABLE, CLS_INPUT}, -{"sbc", "PCM Creative SoundBlaster/ESS/Avance sounce cards", 0,CLS_MMEDIA}, -{"gusc", "PCM Gravis UltraSound sound cards", 0, CLS_MMEDIA}, {"pcm", "PCM Generic soundcard support", 0, CLS_MMEDIA}, {"sb", "VOXWARE Soundblaster PCM (SB/Pro/16, ProAudio Spectrum)",0,CLS_MMEDIA}, {"sbxvi", "VOXWARE Soundblaster 16", 0, CLS_MMEDIA}, @@ -371,7 +369,6 @@ static DEV_INFO device_info[] = { {"gus", "VOXWARE Gravis Ultrasound, Ultrasound 16 and Ultrasound MAX",0,CLS_MMEDIA}, {"gusxvi", "VOXWARE Gravis Ultrasound 16-bit PCM", 0, CLS_MMEDIA}, {"gusmax", "VOXWARE Gravis Ultrasound MAX", 0, CLS_MMEDIA}, -{"mss", "VOXWARE Microsoft Sound System", 0, CLS_MMEDIA}, {"opl", "VOXWARE OPL-2/3 FM, SB/Pro/16, ProAudio Spectrum",0,CLS_MMEDIA}, {"mpu", "VOXWARE Roland MPU401 MIDI", 0, CLS_MMEDIA}, {"sscape", "VOXWARE Ensoniq Soundscape MIDI interface", 0, CLS_MMEDIA}, -- 2.41.0 From 6fcc527910b56c85bf395ce1d64d93827fcb7c5f Mon Sep 17 00:00:00 2001 From: Sascha Wildner Date: Sun, 10 Feb 2013 23:22:49 +0100 Subject: [PATCH 07/16] acpi.4: Document that HPET is enabled by default. Comment out the section about debug.acpi.enabled because currently there are no ACPI devices/features that are off by default and have to be enabled. --- share/man/man4/acpi.4 | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/share/man/man4/acpi.4 b/share/man/man4/acpi.4 index c18f6773f7..9b6b993b9d 100644 --- a/share/man/man4/acpi.4 +++ b/share/man/man4/acpi.4 @@ -25,7 +25,7 @@ .\" .\" $FreeBSD: src/share/man/man4/acpi.4,v 1.61.8.1 2009/04/15 03:14:26 kensmith Exp $ .\" -.Dd November 11, 2009 +.Dd February 10, 2013 .Dt ACPI 4 .Os .Sh NAME @@ -371,6 +371,9 @@ Supports system cooling and heat management. .It Li timer .Pq Vt device Implements a timecounter using the ACPI fixed-frequency timer. +.It Li hpet +.Pq Vt feature +Supports the High Precision Event Timer. .It Li video .Pq Vt device Supports @@ -380,23 +383,21 @@ which may conflict with device. .El .Pp -The -.Nm -driver comprises a set of drivers, -which may be selectively enabled in case of testing. -To enable a sub-driver, -list it in the kernel environment variable -.Va debug.acpi.enabled . -Multiple entries can be listed, -separated by a space. -.Pp -ACPI sub-devices and features that can be enabled: -.Bl -tag -width ".Li sysresource" -.It Li hpet -.Pq Vt device -Supports HPET. -.El -.Pp +.\"The +.\".Nm +.\"driver comprises a set of drivers, +.\"which may be selectively enabled in case of testing. +.\"To enable a sub-driver, +.\"list it in the kernel environment variable +.\".Va debug.acpi.enabled . +.\"Multiple entries can be listed, +.\"separated by a space. +.\".Pp +.\"ACPI sub-devices and features that can be enabled: +.\".Bl -tag -width ".Li sysresource" +.\"[...] +.\".El +.\".Pp It is also possible to avoid portions of the ACPI namespace which may be causing problems, by listing the full path of the root of the region to be avoided in the kernel environment variable -- 2.41.0 From 15b18792cb31eac9631d545d53ee5e9f60145cd3 Mon Sep 17 00:00:00 2001 From: Sascha Wildner Date: Mon, 11 Feb 2013 03:58:16 +0100 Subject: [PATCH 08/16] Fix our tree for -Wmissing-include-dirs. --- gnu/lib/gcc44/libsupc++/Makefile.src | 2 +- gnu/lib/gcc47/libssp_nonshared/Makefile | 1 - gnu/sbin/lvm/Makefile | 2 +- gnu/usr.bin/binutils221/Makefile.inc0 | 1 - gnu/usr.bin/binutils222/Makefile.inc0 | 1 - gnu/usr.bin/cc44/libbackend/Makefile | 2 +- gnu/usr.bin/gdb/gdb/Makefile | 2 +- gnu/usr.bin/gdb/kgdb/Makefile | 2 +- gnu/usr.bin/gdb/libgdb/Makefile | 2 +- lib/libprop/Makefile | 2 +- sys/boot/dloader/Makefile | 1 - sys/boot/pc32/loader/Makefile | 2 +- sys/boot/pc32/loader_tftp/Makefile | 2 +- usr.sbin/802_11/wpa_supplicant/Makefile | 1 - usr.sbin/setkey/Makefile | 1 - 15 files changed, 9 insertions(+), 15 deletions(-) diff --git a/gnu/lib/gcc44/libsupc++/Makefile.src b/gnu/lib/gcc44/libsupc++/Makefile.src index 39797c3e60..b32306faf4 100644 --- a/gnu/lib/gcc44/libsupc++/Makefile.src +++ b/gnu/lib/gcc44/libsupc++/Makefile.src @@ -4,7 +4,7 @@ CFLAGS+= -DIN_GLIBCPP_V3 -DHAVE_CONFIG_H CXXFLAGS+= -fno-implicit-templates -ffunction-sections -fdata-sections CXXFLAGS+= -I${GCCDIR}/libstdc++-v3/libsupc++ CXXFLAGS+= -I${GCCDIR}/libstdc++-v3/include/c_std -CXXFLAGS+= -I${STOPDIR}/cc_prep/c++ -I. +CXXFLAGS+= -I. SRCS= \ array_type_info.cc \ diff --git a/gnu/lib/gcc47/libssp_nonshared/Makefile b/gnu/lib/gcc47/libssp_nonshared/Makefile index 7db59b0ef1..a5c89389ba 100644 --- a/gnu/lib/gcc47/libssp_nonshared/Makefile +++ b/gnu/lib/gcc47/libssp_nonshared/Makefile @@ -1,4 +1,3 @@ -CFLAGS+= -I${.CURDIR}/libssp .include "../Makefile.inc" .PATH: ${GCCDIR}/libssp diff --git a/gnu/sbin/lvm/Makefile b/gnu/sbin/lvm/Makefile index a13cbe65e4..51509448d5 100644 --- a/gnu/sbin/lvm/Makefile +++ b/gnu/sbin/lvm/Makefile @@ -25,7 +25,7 @@ SRCS= dumpconfig.c formats.c lvchange.c lvconvert.c lvcreate.c \ CFLAGS+= -D_XOPEN_SOURCE=600 CFLAGS+= -I${LVM2_DISTDIR}/lib -I${LVM2_DISTDIR}/include \ - -I. -I${LIBDM_INCLUDE} -I${LVM2_DISTDIR}/tools \ + -I. -I${LVM2_DISTDIR}/tools \ -I${LIBDM_DISTDIR} CFLAGS+= -DLVM_SHARED_PATH=\"$(BINDIR)/lvm\" diff --git a/gnu/usr.bin/binutils221/Makefile.inc0 b/gnu/usr.bin/binutils221/Makefile.inc0 index 5ff07b9683..894dd16613 100644 --- a/gnu/usr.bin/binutils221/Makefile.inc0 +++ b/gnu/usr.bin/binutils221/Makefile.inc0 @@ -18,7 +18,6 @@ CFLAGS+= -I. CFLAGS+= -I${.CURDIR}/${BINUTIL_ARCH} .endif CFLAGS+= -I${.CURDIR} -CFLAGS+= -I${.CURDIR}/${RELTOP}/libbfd/${BINUTIL_ARCH} CFLAGS+= -I${SRCDIR}/include DPADD= ${RELTOP}/libbinutils/libbinutils.a diff --git a/gnu/usr.bin/binutils222/Makefile.inc0 b/gnu/usr.bin/binutils222/Makefile.inc0 index 8f3c7ece03..b98fcf0306 100644 --- a/gnu/usr.bin/binutils222/Makefile.inc0 +++ b/gnu/usr.bin/binutils222/Makefile.inc0 @@ -18,7 +18,6 @@ CFLAGS+= -I. CFLAGS+= -I${.CURDIR}/${BINUTIL_ARCH} .endif CFLAGS+= -I${.CURDIR} -CFLAGS+= -I${.CURDIR}/${RELTOP}/libbfd/${BINUTIL_ARCH} CFLAGS+= -I${SRCDIR}/include DPADD= ${RELTOP}/libbinutils/libbinutils.a diff --git a/gnu/usr.bin/cc44/libbackend/Makefile b/gnu/usr.bin/cc44/libbackend/Makefile index 74d63b95a1..6e76d9cb85 100644 --- a/gnu/usr.bin/cc44/libbackend/Makefile +++ b/gnu/usr.bin/cc44/libbackend/Makefile @@ -1,7 +1,7 @@ .include "../Makefile.inc" .include "../Makefile.langs" -CFLAGS+= -I${.CURDIR}/../config -I. +CFLAGS+= -I. CFLAGS+= -DTARGET_NAME=\"${target_machine}\" LIB= backend diff --git a/gnu/usr.bin/gdb/gdb/Makefile b/gnu/usr.bin/gdb/gdb/Makefile index c6a83531c0..e0be1ed77f 100644 --- a/gnu/usr.bin/gdb/gdb/Makefile +++ b/gnu/usr.bin/gdb/gdb/Makefile @@ -2,7 +2,7 @@ PROG= gdb SRCS= gdb.c CFLAGS+= -I${.OBJDIR}/../libgdb -I${.CURDIR}/../libgdb -I${BASEDIR}/include -CFLAGS+= -I${BASEDIR}/bfd -I${BASEDIR}/gdb -I${BASEDIR}/gdb/config +CFLAGS+= -I${BASEDIR}/bfd -I${BASEDIR}/gdb CFLAGS+= -I${BASEDIR}/gdb/common -I${.CURDIR}/../libbfd CFLAGS+= -I${.OBJDIR}/../libbfd diff --git a/gnu/usr.bin/gdb/kgdb/Makefile b/gnu/usr.bin/gdb/kgdb/Makefile index 86a285c2f6..0528b1dae8 100644 --- a/gnu/usr.bin/gdb/kgdb/Makefile +++ b/gnu/usr.bin/gdb/kgdb/Makefile @@ -2,7 +2,7 @@ PROG= kgdb SRCS= kgdb.c kthr.c kld.c trgt.c trgt_${MACHINE_ARCH}.c CFLAGS+= -I${.OBJDIR}/../libgdb -I${.CURDIR}/../libgdb -I${BASEDIR}/include -CFLAGS+= -I${BASEDIR}/bfd -I${BASEDIR}/gdb -I${BASEDIR}/gdb/config -I${.CURDIR}/../libbfd +CFLAGS+= -I${BASEDIR}/bfd -I${BASEDIR}/gdb -I${.CURDIR}/../libbfd CFLAGS+= -I${.OBJDIR}/../libbfd -I${BASEDIR}/gdb/common CFLAGS+= -D_KERNEL_STRUCTURES diff --git a/gnu/usr.bin/gdb/libgdb/Makefile b/gnu/usr.bin/gdb/libgdb/Makefile index bea9d93d2c..0b584c7e6f 100644 --- a/gnu/usr.bin/gdb/libgdb/Makefile +++ b/gnu/usr.bin/gdb/libgdb/Makefile @@ -13,7 +13,7 @@ CONTRIBDIR= ${BASEDIR}/gdb VERSION!= cat ${CONTRIBDIR}/version.in CFLAGS+= -I${.OBJDIR} -I${.CURDIR} -I${BASEDIR}/include -I${BASEDIR}/bfd -CFLAGS+= -I${CONTRIBDIR} -I${CONTRIBDIR}/config -I${CONTRIBDIR}/common +CFLAGS+= -I${CONTRIBDIR} -I${CONTRIBDIR}/common CFLAGS+= -I${BASEDIR}/libdecnumber CFLAGS+= -I${.CURDIR}/../libbfd -I${.OBJDIR}/../libbfd CFLAGS+= -I${BASEDIR} diff --git a/lib/libprop/Makefile b/lib/libprop/Makefile index c4c40b5efc..705b67c497 100644 --- a/lib/libprop/Makefile +++ b/lib/libprop/Makefile @@ -6,7 +6,7 @@ PROPLIBDIR=${.CURDIR}/../../sys/libprop .PATH: ${PROPLIBDIR} CFLAGS+=-D_LIBPROP -CFLAGS+=-D_REENTRANT -I${.CURDIR}/../../sys -I${.CURDIR}/../../../lib/libc/include +CFLAGS+=-D_REENTRANT -I${.CURDIR}/../../sys #LDADD+=-lpthread #DPADD+=${LIBPTHREAD} diff --git a/sys/boot/dloader/Makefile b/sys/boot/dloader/Makefile index de1fb22150..e1d38a1c12 100644 --- a/sys/boot/dloader/Makefile +++ b/sys/boot/dloader/Makefile @@ -36,7 +36,6 @@ CFLAGS+= -m32 -I. .endif CFLAGS+= -I${.CURDIR} -CFLAGS+= -I${.CURDIR}/${MACHINE_ARCH} CFLAGS+= -I${.CURDIR}/../common .if defined(REALLY_X86_64) diff --git a/sys/boot/pc32/loader/Makefile b/sys/boot/pc32/loader/Makefile index 8e33e6ab27..b575aefc30 100644 --- a/sys/boot/pc32/loader/Makefile +++ b/sys/boot/pc32/loader/Makefile @@ -26,7 +26,7 @@ HAVE_PNP= yes HAVE_ISABUS= yes BOOT_DLOADER= yes -CFLAGS+= -I${.CURDIR}/../../dloader -I${.CURDIR}/../../dloader/i386 +CFLAGS+= -I${.CURDIR}/../../dloader .if exists(${.OBJDIR}/../../dloader/libdloader.a) LIBDLOADER= ${.OBJDIR}/../../dloader/libdloader.a .else diff --git a/sys/boot/pc32/loader_tftp/Makefile b/sys/boot/pc32/loader_tftp/Makefile index 0784dc6238..b6c30a3670 100644 --- a/sys/boot/pc32/loader_tftp/Makefile +++ b/sys/boot/pc32/loader_tftp/Makefile @@ -26,7 +26,7 @@ HAVE_PNP= yes HAVE_ISABUS= yes BOOT_DLOADER= yes -CFLAGS+= -I${.CURDIR}/../../dloader -I${.CURDIR}/../../dloader/i386 +CFLAGS+= -I${.CURDIR}/../../dloader .if exists(${.OBJDIR}/../../dloader/libdloader.a) LIBDLOADER= ${.OBJDIR}/../../dloader/libdloader.a .else diff --git a/usr.sbin/802_11/wpa_supplicant/Makefile b/usr.sbin/802_11/wpa_supplicant/Makefile index 389d42bcc2..df47797531 100644 --- a/usr.sbin/802_11/wpa_supplicant/Makefile +++ b/usr.sbin/802_11/wpa_supplicant/Makefile @@ -25,7 +25,6 @@ MAN= wpa_supplicant.8 wpa_supplicant.conf.5 #FILES= wpa_supplicant.conf #.endif -CFLAGS+=-I${WPA_SUPPLICANT_DISTDIR} CFLAGS+=-I${WPA_DISTDIR}/src/drivers CFLAGS+=-I${WPA_DISTDIR}/src/rsn_supp diff --git a/usr.sbin/setkey/Makefile b/usr.sbin/setkey/Makefile index 6ff22fd811..d594024373 100644 --- a/usr.sbin/setkey/Makefile +++ b/usr.sbin/setkey/Makefile @@ -39,7 +39,6 @@ WARNS?= 2 # ipsec_strerror.c is for avoiding shlib reference to non-exported function. .PATH: ${.CURDIR}/../../lib/libipsec ${.CURDIR}/../../sys/netproto/key SRCS+= pfkey.c pfkey_dump.c key_debug.c ipsec_strerror.c -CFLAGS+=-I${.CURDIR}/../../lib/libipsec -I${.CURDIR}/../../sys/netkey SRCS+=y.tab.h y.tab.h: parse.y -- 2.41.0 From 54b03ea7a27868387d5f124816d13c48e32ff735 Mon Sep 17 00:00:00 2001 From: John Marino Date: Mon, 11 Feb 2013 09:00:13 +0100 Subject: [PATCH 09/16] bsd.cpu.mk: Set gcc47 as default Yet another place the default compiler is defined and needs updating. --- share/mk/bsd.cpu.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/mk/bsd.cpu.mk b/share/mk/bsd.cpu.mk index 0f27140a1b..ae92b195fe 100644 --- a/share/mk/bsd.cpu.mk +++ b/share/mk/bsd.cpu.mk @@ -14,7 +14,7 @@ # If the host system does not have the desired compiler for HOST_CCVER # we back off to something it probably does have. -_DEFAULT_CCVER= gcc44 +_DEFAULT_CCVER= gcc47 _DEFAULT_BINUTILSVER= binutils222 CCVER ?= ${_DEFAULT_CCVER} -- 2.41.0 From 7ab426ddb8c6ab989ca0aaed7063451f38325730 Mon Sep 17 00:00:00 2001 From: Sascha Wildner Date: Mon, 11 Feb 2013 12:19:49 +0100 Subject: [PATCH 10/16] make upgrade: Remove another manpage (an MLINK) which has changed name. --- Makefile_upgrade.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile_upgrade.inc b/Makefile_upgrade.inc index ac0cb5feb8..d565faf438 100644 --- a/Makefile_upgrade.inc +++ b/Makefile_upgrade.inc @@ -2127,6 +2127,8 @@ TO_REMOVE+=/usr/share/man/cat1/lint.1.gz TO_REMOVE+=/usr/share/man/man1/lint.1.gz TO_REMOVE+=/usr/share/openssl/man/cat3/EVP_PKEY_verifyrecover.3.gz TO_REMOVE+=/usr/share/openssl/man/man3/EVP_PKEY_verifyrecover.3.gz +TO_REMOVE+=/usr/share/openssl/man/cat3/EVP_PKEY_verifyrecover_init.3.gz +TO_REMOVE+=/usr/share/openssl/man/man3/EVP_PKEY_verifyrecover_init.3.gz TO_REMOVE+=/boot/kernel/snd_ad1816.ko TO_REMOVE+=/boot/kernel/snd_ess.ko TO_REMOVE+=/boot/kernel/snd_mss.ko -- 2.41.0 From c090922fe69732915227914768a9c4f9190fdece Mon Sep 17 00:00:00 2001 From: John Marino Date: Mon, 11 Feb 2013 18:02:07 +0100 Subject: [PATCH 11/16] libdialog: Increase MAX_LEN to 4096 (bug 2480) While we are waiting for new libdialog, improve the ancient one so that it at least doesn't core dump when used (e.g. ghostscript9 in dports) --- gnu/lib/libdialog/dialog.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/lib/libdialog/dialog.h b/gnu/lib/libdialog/dialog.h index d66fe57da0..f606129847 100644 --- a/gnu/lib/libdialog/dialog.h +++ b/gnu/lib/libdialog/dialog.h @@ -75,7 +75,7 @@ typedef struct _dmenu_item { } dialogMenuItem; #define VERSION "0.4" -#define MAX_LEN 2048 +#define MAX_LEN 4096 #ifndef TRUE #define TRUE (1) -- 2.41.0 From 7d1c3473bcce5fb892ddca28b3536e7f5bf5697e Mon Sep 17 00:00:00 2001 From: Sepherosa Ziehau Date: Tue, 12 Feb 2013 21:26:45 +0800 Subject: [PATCH 12/16] ifaddr: Cache align ifaddr_container ifaddr_container is per-cpu data struct; cache aligning it avoid possible cache pollution --- sys/net/if.c | 5 +++-- sys/net/if_var.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index 3430887d66..db354a399b 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -2702,8 +2702,9 @@ ifa_create(int size, int flags) if (ifa == NULL) return NULL; - ifa->ifa_containers = kmalloc(ncpus * sizeof(struct ifaddr_container), - M_IFADDR, M_WAITOK | M_ZERO); + ifa->ifa_containers = + kmalloc_cachealign(ncpus * sizeof(struct ifaddr_container), + M_IFADDR, M_WAITOK | M_ZERO); ifa->ifa_ncnt = ncpus; for (i = 0; i < ncpus; ++i) { struct ifaddr_container *ifac = &ifa->ifa_containers[i]; diff --git a/sys/net/if_var.h b/sys/net/if_var.h index ed3f7d74a1..ff75975507 100644 --- a/sys/net/if_var.h +++ b/sys/net/if_var.h @@ -446,7 +446,7 @@ struct ifaddr_container { union { struct in_ifaddr_container u_in_ifac; } ifa_proto_u; -}; +} __cachealign; #define IFA_LIST_IFADDRHEAD 0x01 /* on ifnet.if_addrheads[cpuid] */ #define IFA_LIST_IN_IFADDRHEAD 0x02 /* on in_ifaddrheads[cpuid] */ -- 2.41.0 From c67dd10f6912ef95d6a67125e7fc7405fb968a36 Mon Sep 17 00:00:00 2001 From: Sascha Wildner Date: Tue, 12 Feb 2013 22:36:45 +0100 Subject: [PATCH 13/16] kernel/callout: Remove some unused old code. Noticed-by: ftigeot --- sys/kern/kern_timeout.c | 69 ----------------------------------------- 1 file changed, 69 deletions(-) diff --git a/sys/kern/kern_timeout.c b/sys/kern/kern_timeout.c index 18c03a8cac..32cc747fa1 100644 --- a/sys/kern/kern_timeout.c +++ b/sys/kern/kern_timeout.c @@ -588,72 +588,3 @@ callout_init_mp(struct callout *c) callout_init(c); c->c_flags |= CALLOUT_MPSAFE; } - -/* What, are you joking? This is nuts! -Matt */ -#if 0 -#ifdef APM_FIXUP_CALLTODO -/* - * Adjust the kernel calltodo timeout list. This routine is used after - * an APM resume to recalculate the calltodo timer list values with the - * number of hz's we have been sleeping. The next hardclock() will detect - * that there are fired timers and run softclock() to execute them. - * - * Please note, I have not done an exhaustive analysis of what code this - * might break. I am motivated to have my select()'s and alarm()'s that - * have expired during suspend firing upon resume so that the applications - * which set the timer can do the maintanence the timer was for as close - * as possible to the originally intended time. Testing this code for a - * week showed that resuming from a suspend resulted in 22 to 25 timers - * firing, which seemed independant on whether the suspend was 2 hours or - * 2 days. Your milage may vary. - Ken Key - */ -void -adjust_timeout_calltodo(struct timeval *time_change) -{ - struct callout *p; - unsigned long delta_ticks; - - /* - * How many ticks were we asleep? - * (stolen from tvtohz()). - */ - - /* Don't do anything */ - if (time_change->tv_sec < 0) - return; - else if (time_change->tv_sec <= LONG_MAX / 1000000) - delta_ticks = (time_change->tv_sec * 1000000 + - time_change->tv_usec + (tick - 1)) / tick + 1; - else if (time_change->tv_sec <= LONG_MAX / hz) - delta_ticks = time_change->tv_sec * hz + - (time_change->tv_usec + (tick - 1)) / tick + 1; - else - delta_ticks = LONG_MAX; - - if (delta_ticks > INT_MAX) - delta_ticks = INT_MAX; - - /* - * Now rip through the timer calltodo list looking for timers - * to expire. - */ - - /* don't collide with softclock() */ - crit_enter(); - for (p = calltodo.c_next; p != NULL; p = p->c_next) { - p->c_time -= delta_ticks; - - /* Break if the timer had more time on it than delta_ticks */ - if (p->c_time > 0) - break; - - /* take back the ticks the timer didn't use (p->c_time <= 0) */ - delta_ticks = -p->c_time; - } - crit_exit(); - - return; -} -#endif /* APM_FIXUP_CALLTODO */ -#endif - -- 2.41.0 From a1e54bb0a28247d2379f82c7370dd8827030c586 Mon Sep 17 00:00:00 2001 From: Sascha Wildner Date: Tue, 12 Feb 2013 22:41:39 +0100 Subject: [PATCH 14/16] tip(1): Remove the clearing of the schg flag of cu(1) during installation. A long, long time ago (until 2004), when cu(1) was still a separate program, its schg flag was set after installation, so it had to be cleared on the installed cu before installing the new one over it. In 0f3db4ffe, we removed cu(1) as a separate program and made it a link to tip(1). In this commit, the setting of schg was commented out but the clearing part had to be kept (for upgrading). We can now remove the clearing of the flag as well, because we can safely assume that since September 2004, all schg flags of cu(1)s out there have been cleared (i.e., all systems that would ever want to upgrade to master have a world newer than 0f3db4ffe). --- usr.bin/tip/tip/Makefile | 7 ------- 1 file changed, 7 deletions(-) diff --git a/usr.bin/tip/tip/Makefile b/usr.bin/tip/tip/Makefile index 3f42271b75..66d7ae05e3 100644 --- a/usr.bin/tip/tip/Makefile +++ b/usr.bin/tip/tip/Makefile @@ -1,6 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/6/93 # $FreeBSD: src/usr.bin/tip/tip/Makefile,v 1.10.6.3 2002/07/17 13:25:19 ru Exp $ -# $DragonFly: src/usr.bin/tip/tip/Makefile,v 1.5 2007/08/27 16:50:59 pavalos Exp $ # # Files are: # /etc/remote remote host description file @@ -31,11 +30,5 @@ BINGRP= dialer # XXX: there is some concern that `tip' in its current state shouldn't run # SUID. If it believed it should, the mode above may still no be proper. #BINMODE?= 4510 -#INSTALLFLAGS= -fschg - -# XXX Our LINKS rules should really handle this case -# -beforeinstall: - -chflags noschg ${DESTDIR}${BINDIR}/cu .include -- 2.41.0 From 74dd5e663f5503b86f45a58a9c0a6cb36c5503ba Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 12 Feb 2013 16:11:08 -0800 Subject: [PATCH 15/16] kernel - Do not auto-destroy tap interfaces which are manually created * When a tap interface is created via 'ifconfig tapN create' it will no longer be automatically destroyed on the last close. * Previously could occur for tap units 4 or larger. * Fixes unexpected ripouts of manually created interfaces, which can be particularly bad when the interface is used in a PF rule. --- sys/net/tap/if_tap.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/sys/net/tap/if_tap.c b/sys/net/tap/if_tap.c index 99d84ff151..913e204e0e 100644 --- a/sys/net/tap/if_tap.c +++ b/sys/net/tap/if_tap.c @@ -97,7 +97,7 @@ DEVFS_DECLARE_CLONE_BITMAP(tap); static int tapmodevent (module_t, int, void *); /* device */ -static struct tap_softc *tapcreate(int, cdev_t); +static struct tap_softc *tapcreate(int, cdev_t, int); static void tapdestroy(struct tap_softc *); /* clone */ @@ -220,7 +220,7 @@ tapmodevent(module_t mod, int type, void *data) * tapcreate - create or clone an interface */ static struct tap_softc * -tapcreate(int unit, cdev_t dev) +tapcreate(int unit, cdev_t dev, int flags) { const char *name = TAP; struct ifnet *ifp; @@ -231,6 +231,7 @@ tapcreate(int unit, cdev_t dev) dev->si_drv1 = tp; tp->tap_dev = dev; tp->tap_unit = unit; + tp->tap_flags |= flags; reference_dev(dev); /* tp association */ @@ -303,7 +304,7 @@ tap_clone_create(struct if_clone *ifc __unused, int unit, } KKASSERT(dev != NULL); - tp = tapcreate(unit, dev); + tp = tapcreate(unit, dev, TAP_MANUALMAKE); } tp->tap_flags |= TAP_CLONE; TAPDEBUG(&tp->tap_if, "clone created. minor = %#x tap_flags = 0x%x\n", @@ -333,7 +334,7 @@ tapopen(struct dev_open_args *ap) dev = ap->a_head.a_dev; tp = dev->si_drv1; if (tp == NULL) - tp = tapcreate(minor(dev), dev); + tp = tapcreate(minor(dev), dev, TAP_MANUALMAKE); if (tp->tap_flags & TAP_OPEN) { rel_mplock(); return (EBUSY); @@ -381,7 +382,7 @@ tapclone(struct dev_clone_args *ap) unit = devfs_clone_bitmap_get(&DEVFS_CLONE_BITMAP(tap), 0); ap->a_dev = make_only_dev(&tap_ops, unit, UID_ROOT, GID_WHEEL, 0600, "%s%d", TAP, unit); - tapcreate(unit, ap->a_dev); + tapcreate(unit, ap->a_dev, 0); return (0); } @@ -450,8 +451,14 @@ tapclose(struct dev_close_args *ap) TAPDEBUG(ifp, "closed. minor = %#x, refcnt = %d, taplastunit = %d\n", minor(tp->tap_dev), taprefcnt, taplastunit); - if (tp->tap_unit >= TAP_PREALLOCATED_UNITS) + /* + * Only auto-destroy if the interface was not manually + * created. + */ + if ((tp->tap_flags & TAP_MANUALMAKE) == 0 && + tp->tap_unit >= TAP_PREALLOCATED_UNITS) { tapdestroy(tp); + } rel_mplock(); return (0); -- 2.41.0 From d34a7db6f7d967a0f452c57eef11304530c97b28 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 12 Feb 2013 16:15:12 -0800 Subject: [PATCH 16/16] libssl - Fix bug in libssl * Fix a bug that was causing openssl's TLS code to assert. * I believe the bug is already fixed in the openssl git master, but it isn't fixed in our sources (until now). * Patch acquired from: fetch "http://git.openssl.org/gitweb/?p=openssl.git;a=patch;h=32cc247" --- crypto/openssl/ssl/s3_cbc.c | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-) diff --git a/crypto/openssl/ssl/s3_cbc.c b/crypto/openssl/ssl/s3_cbc.c index 3c2c16539d..dd1dd5a88b 100644 --- a/crypto/openssl/ssl/s3_cbc.c +++ b/crypto/openssl/ssl/s3_cbc.c @@ -139,31 +139,22 @@ int tls1_cbc_remove_padding(const SSL* s, unsigned mac_size) { unsigned padding_length, good, to_check, i; - const char has_explicit_iv = - s->version >= TLS1_1_VERSION || s->version == DTLS1_VERSION; - const unsigned overhead = 1 /* padding length byte */ + - mac_size + - (has_explicit_iv ? block_size : 0); - - /* These lengths are all public so we can test them in non-constant - * time. */ - if (overhead > rec->length) - return 0; - - /* We can always safely skip the explicit IV. We check at the beginning - * of this function that the record has at least enough space for the - * IV, MAC and padding length byte. (These can be checked in - * non-constant time because it's all public information.) So, if the - * padding was invalid, then we didn't change |rec->length| and this is - * safe. If the padding was valid then we know that we have at least - * overhead+padding_length bytes of space and so this is still safe - * because overhead accounts for the explicit IV. */ - if (has_explicit_iv) + const unsigned overhead = 1 /* padding length byte */ + mac_size; + /* Check if version requires explicit IV */ + if (s->version >= TLS1_1_VERSION || s->version == DTLS1_VERSION) { + /* These lengths are all public so we can test them in + * non-constant time. + */ + if (overhead + block_size > rec->length) + return 0; + /* We can now safely skip explicit IV */ rec->data += block_size; rec->input += block_size; rec->length -= block_size; } + else if (overhead > rec->length) + return 0; padding_length = rec->data[rec->length-1]; @@ -190,7 +181,7 @@ int tls1_cbc_remove_padding(const SSL* s, if (EVP_CIPHER_flags(s->enc_read_ctx->cipher)&EVP_CIPH_FLAG_AEAD_CIPHER) { /* padding is already verified */ - rec->length -= padding_length; + rec->length -= padding_length + 1; return 1; } -- 2.41.0