Commit graph

29 commits

Author SHA1 Message Date
tv
8e896553eb Fix build on Interix; it seems % has special meaning in Configure now. 2005-10-31 14:59:30 +00:00
jlam
20992756a1 Update security/openssl to version 0.9.7h. This is a security
vulnerability triggered update due to CAN-2005-2969.  Changes from
version 0.9.7f include:

      o Fix SSL 2.0 Rollback, CAN-2005-2969
      o Allow use of fixed-length exponent on DSA signing
      o Default fixed-window RSA, DSA, DH private-key operations
      o More compilation issues fixed.
      o Adaptation to more modern Kerberos API.
      o Enhanced or corrected configuration for Solaris64, Mingw and Cygwin.
      o Enhanced x86_64 assembler BIGNUM module.
      o More constification.
      o Added processing of proxy certificates (RFC 3820).
2005-10-11 17:19:21 +00:00
jlam
aa151ceb8b Update security/openssl to openssl-0.9.7f.
Pkgsrc changes from version 0.9.7e include:

  *) Install the man pages with names that are less likely to collide
     with other packages' man pages.
  *) Support PKG_OPTIONS of "idea", "mdc2" and "rc5" to allow building
     with patented algorithms.  By default, this package still builds
     without patented algorithms.

Major changes from version 0.9.7e include:

  *) Prompt for pass phrases when appropriate for PKCS12 input format.
  *) Back-port of selected performance improvements from development
     branch, as well as improved support for PowerPC platforms.
  *) Add lots of checks for memory allocation failure, error codes to indicate
     failure and freeing up memory if a failure occurs.
  *) Add new -passin argument to dgst.
  *) Make an explicit check during certificate validation to see that
     the CA setting in each certificate on the chain is correct.
2005-03-23 09:06:38 +00:00
grant
96c2b7ecc2 when building with SunPro on x86, do not use -fast argument to cc(1)
because:

- its behaviour changes between releases
- it uses build-host specific instructions where possible,
  specifically on >= Solaris 9 update 6 and Sun Studio 9 (sse, sse2)

this breaks using the binary pkg when installed on systems with a
less capable processor. instead, just use -xO5 so the binary pkg will
work everywhere.
2005-01-18 10:25:17 +00:00
jlam
5767fbbdbc Optimize the NetBSD/amd64 config a bit to improve RC4 performance, and
fix the NetBSD/sparc64 config by adding -DMD32_REG_T=int to the flags.
Tested by martin (at) NetBSD.org.  This should fix PR pkg/28858.
2005-01-13 18:33:48 +00:00
jlam
a980a0325b Fix build on NetBSD/sparc64 by marking the system as ``ULTRASPARC''
so that the appropriate OpenSSL sources are built.  Also, explicitly
mark the endianness of each supported NetBSD platform to avoid potential
endianness issues when doing the crypto arithmetic.
2005-01-11 22:25:00 +00:00
tv
dab9676fdc Fix compilation on Interix. Reported in PR pkg/28938
by HIRAMATSU Yoshifumi <hiramatu@boreas.dti.ne.jp>.
2005-01-11 21:49:25 +00:00
jlam
34a211b1e3 Fix compilation on FreeBSD/x86 by ensuring that the FIPS assembly code
isn't used when fips isn't requested during configuration.
2004-12-27 06:14:40 +00:00
jlam
7a022e9cf2 Fix build on non-x86 platforms (PR pkg/28787). 2004-12-27 02:31:07 +00:00
jlam
c264be5d18 Alter patches to make them more likely to be accepted back by the
OpenSSL project.  Also use the sparcv9 MD5 assembly routines on
NetBSD/sparc64.
2004-12-25 22:11:26 +00:00
jlam
0a6f42ca41 Use the correct assembly routines on NetBSD/i386 depending on whether
it's a.out or ELF.
2004-12-25 19:09:08 +00:00
jlam
ac1c08301c Update security/openssl to 0.9.7e. Changes from openssl-0.9.6m are
too numerous to be listed here, but include adding a new DES API
(support for the old one is still present).

Changes to the pkgsrc structure include:

* Install the shared libraries with a version number that matches the
  OpenSSL version number

* Move some of the less often-used c_* utilities back into the examples
  directory.

* Drop support for using the RSAREF library and always use the built-in
  RSA code instead.
2004-12-24 22:02:37 +00:00
tv
0fc96ae1c3 Make compile on Interix. No-op change for other platforms, so no PKGREVISION
bump.  (Main MI change:  -soname -> -h, as some GNU ld(1) wants --soname
instead of -soname, but -h works on all GNU ld(1) versions.)
2004-04-25 20:36:11 +00:00
wiz
62401faee5 Update to 0.9.6m:
Changes between 0.9.6l and 0.9.6m  [17 Mar 2004]
  *) Fix null-pointer assignment in do_change_cipher_spec() revealed
     by using the Codenomicon TLS Test Tool (CAN-2004-0079)
     [Joe Orton, Steve Henson]
2004-03-26 02:22:38 +00:00
kristerw
d5f213bea8 Let the Configure script handle NetBSD-arm too. 2003-10-21 23:03:36 +00:00
jschauma
83ca290393 Update to 0.9.6k:
Changes between 0.9.6j and 0.9.6k  [30 Sep 2003]

  *) Fix various bugs revealed by running the NISCC test suite:

     Stop out of bounds reads in the ASN1 code when presented with
     invalid tags (CAN-2003-0543 and CAN-2003-0544).

     If verify callback ignores invalid public key errors don't try to check
     certificate signature with the NULL public key.

     [Steve Henson]

  *) In ssl3_accept() (ssl/s3_srvr.c) only accept a client certificate
     if the server requested one: as stated in TLS 1.0 and SSL 3.0
     specifications.
     [Steve Henson]

  *) In ssl3_get_client_hello() (ssl/s3_srvr.c), tolerate additional
     extra data after the compression methods not only for TLS 1.0
     but also for SSL 3.0 (as required by the specification).
     [Bodo Moeller; problem pointed out by Matthias Loepfe]

  *) Change X509_certificate_type() to mark the key as exported/exportable
     when it's 512 *bits* long, not 512 bytes.
     [Richard Levitte]

 Changes between 0.9.6i and 0.9.6j  [10 Apr 2003]

  *) Countermeasure against the Klima-Pokorny-Rosa extension of
     Bleichbacher's attack on PKCS #1 v1.5 padding: treat
     a protocol version number mismatch like a decryption error
     in ssl3_get_client_key_exchange (ssl/s3_srvr.c).
     [Bodo Moeller]

  *) Turn on RSA blinding by default in the default implementation
     to avoid a timing attack. Applications that don't want it can call
     RSA_blinding_off() or use the new flag RSA_FLAG_NO_BLINDING.
     They would be ill-advised to do so in most cases.
     [Ben Laurie, Steve Henson, Geoff Thorpe, Bodo Moeller]

  *) Change RSA blinding code so that it works when the PRNG is not
     seeded (in this case, the secret RSA exponent is abused as
     an unpredictable seed -- if it is not unpredictable, there
     is no point in blinding anyway).  Make RSA blinding thread-safe
     by remembering the creator's thread ID in rsa->blinding and
     having all other threads use local one-time blinding factors
     (this requires more computation than sharing rsa->blinding, but
     avoids excessive locking; and if an RSA object is not shared
     between threads, blinding will still be very fast).
     [Bodo Moeller]

 Changes between 0.9.6h and 0.9.6i  [19 Feb 2003]

  *) In ssl3_get_record (ssl/s3_pkt.c), minimize information leaked
     via timing by performing a MAC computation even if incorrrect
     block cipher padding has been found.  This is a countermeasure
     against active attacks where the attacker has to distinguish
     between bad padding and a MAC verification error. (CAN-2003-0078)

     [Bodo Moeller; problem pointed out by Brice Canvel (EPFL),
     Alain Hiltgen (UBS), Serge Vaudenay (EPFL), and
     Martin Vuagnoux (EPFL, Ilion)]

 Changes between 0.9.6g and 0.9.6h  [5 Dec 2002]

  *) New function OPENSSL_cleanse(), which is used to cleanse a section of
     memory from it's contents.  This is done with a counter that will
     place alternating values in each byte.  This can be used to solve
     two issues: 1) the removal of calls to memset() by highly optimizing
     compilers, and 2) cleansing with other values than 0, since those can
     be read through on certain media, for example a swap space on disk.
     [Geoff Thorpe]

  *) Bugfix: client side session caching did not work with external caching,
     because the session->cipher setting was not restored when reloading
     from the external cache. This problem was masked, when
     SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG (part of SSL_OP_ALL) was set.
     (Found by Steve Haslam <steve@araqnid.ddts.net>.)
     [Lutz Jaenicke]

  *) Fix client_certificate (ssl/s2_clnt.c): The permissible total
     length of the REQUEST-CERTIFICATE message is 18 .. 34, not 17 .. 33.
     [Zeev Lieber <zeev-l@yahoo.com>]

  *) Undo an undocumented change introduced in 0.9.6e which caused
     repeated calls to OpenSSL_add_all_ciphers() and
     OpenSSL_add_all_digests() to be ignored, even after calling
     EVP_cleanup().
     [Richard Levitte]

  *) Change the default configuration reader to deal with last line not
     being properly terminated.
     [Richard Levitte]

  *) Change X509_NAME_cmp() so it applies the special rules on handling
     DN values that are of type PrintableString, as well as RDNs of type
     emailAddress where the value has the type ia5String.
     [stefank@valicert.com via Richard Levitte]

  *) Add a SSL_SESS_CACHE_NO_INTERNAL_STORE flag to take over half
     the job SSL_SESS_CACHE_NO_INTERNAL_LOOKUP was inconsistently
     doing, define a new flag (SSL_SESS_CACHE_NO_INTERNAL) to be
     the bitwise-OR of the two for use by the majority of applications
     wanting this behaviour, and update the docs. The documented
     behaviour and actual behaviour were inconsistent and had been
     changing anyway, so this is more a bug-fix than a behavioural
     change.
     [Geoff Thorpe, diagnosed by Nadav Har'El]

  *) Don't impose a 16-byte length minimum on session IDs in ssl/s3_clnt.c
     (the SSL 3.0 and TLS 1.0 specifications allow any length up to 32 bytes).
     [Bodo Moeller]

  *) Fix initialization code race conditions in
        SSLv23_method(),  SSLv23_client_method(),   SSLv23_server_method(),
        SSLv2_method(),   SSLv2_client_method(),    SSLv2_server_method(),
        SSLv3_method(),   SSLv3_client_method(),    SSLv3_server_method(),
        TLSv1_method(),   TLSv1_client_method(),    TLSv1_server_method(),
        ssl2_get_cipher_by_char(),
        ssl3_get_cipher_by_char().
     [Patrick McCormick <patrick@tellme.com>, Bodo Moeller]

  *) Reorder cleanup sequence in SSL_CTX_free(): only remove the ex_data after
     the cached sessions are flushed, as the remove_cb() might use ex_data
     contents. Bug found by Sam Varshavchik <mrsam@courier-mta.com>
     (see [openssl.org #212]).
     [Geoff Thorpe, Lutz Jaenicke]

  *) Fix typo in OBJ_txt2obj which incorrectly passed the content
     length, instead of the encoding length to d2i_ASN1_OBJECT.
     [Steve Henson]
2003-10-02 02:34:39 +00:00
jlam
d7e76ed3bc Honor CFLAGS/LDFLAGS from the environment. 2003-09-10 16:05:09 +00:00
jlam
e02a907cbe Back out the make -> @MAKE@ -> ${MAKE} changes since we workaround the
bare "make" problem using tools.mk.
2003-09-10 01:57:06 +00:00
jschauma
6766d3344d Several of the Makefile used in this package call 'make' directly. If
an operating system does not have a 'make' (ie only bmake), or if the OS
supplied 'make' is sufficiently broken (Irix), this will cause the build to
fail (interestingly enough apparently only if build as a dependency, not
if build from this directory).
Patch Makefiles to use @MAKE@, which then, after patching, is substituted with
the actual ${MAKE} (can't use "MAKE= ${MAKE} -f Makefile.ssl").

While here, tweak Irix configure a bit.
2003-08-25 16:34:00 +00:00
grant
90181f93e7 tweak linking of libssl so it can find libcrypto. 2003-02-28 08:08:20 +00:00
grant
074405705a on Solaris, pass -Wl,-R ... (as per NetBSD targets) so that libssl can
find libcrypto.

fixes my PR pkg/19229.
2002-12-03 14:02:24 +00:00
jlam
efb93b17bd Merge changes in packages from the buildlink2 branch that have
buildlink2.mk files back into the main trunk.
2002-08-25 19:21:43 +00:00
fredb
6db5eceda2 Let build on sparc v7. 2002-08-19 18:34:54 +00:00
fredb
d5e2ea6e68 Update to 0.9.6g. The most significant change is this proof against
a stunning DoS vulnerability, fixed in 0.9.6f:

  *) Use proper error handling instead of 'assertions' in buffer
     overflow checks added in 0.9.6e.  This prevents DoS (the
     assertions could call abort()).
     [Arne Ansper <arne@ats.cyber.ee>, Bodo Moeller]

Regenerate the netbsd patch. This is now a clean diff against the
vendor tag, with version-number-only changes elided.

Partially revert "crypto/dist/openssl/crypto/rand/randfile.c", version
1.4 (via additional pkgsrc patch), to give this a shot to compile on
NetBSD-1.4.2 and earlier, which had no strlcpy() or strlcat().

Assemble the shared library without "-Bsymbolic", mainly to give this
a shot at linking on NetBSD-a.out (untested).
2002-08-10 04:50:31 +00:00
fredb
d78c8fae4b Update openssl to 0.9.6e. This update fixes multiple vulnerabilities,
and also changes the ABI of "libcrypto" and "libssl". (So the shared
library majors and buildlink requirements are bumped, too.) The code
base is now synced perfectly with NetBSD HEAD and netbsd-1-6 branches
as of 2002-08-04, the optimization levels are reduced to "-O2", but
I've retained some of the processor optimization flags and different code
path #defines in the "Configure" script, just to keep things interesting.

The default "certs" directory on NetBSD is now "/etc/openssl/certs", to
give continuity to those who find themselves using the package system's
"openssl" after upgrading a package that formerly used the base system's.
[Suggested by itojun.] The best way to avoid such problems, however, is
to upgrade your base system *first*.

I'm making use of the new and improved build system as much as possible.
This gives us a cleaner way to make shared libraries and real man pages,
but loses many of the symlinks to the openssl binary.

I've culled items from the "CHANGES" file that appear to have security
implications or are particularly interesting for NetBSD users, below.
My comments are marked off with '===>'.

===> This is from the netbsd-20020804-patch

  *) Fix ASN1 checks. Check for overflow by comparing with LONG_MAX
     and get fix the header length calculation.
     [Florian Weimer <Weimer@CERT.Uni-Stuttgart.DE>,
      Alon Kantor <alonk@checkpoint.com> (and others),
      Steve Henson]

 Changes between 0.9.6d and 0.9.6e  [30 Jul 2002]

  *) New option
          SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS
     for disabling the SSL 3.0/TLS 1.0 CBC vulnerability countermeasure
     that was added in OpenSSL 0.9.6d.

     As the countermeasure turned out to be incompatible with some
     broken SSL implementations, the new option is part of SSL_OP_ALL.
     SSL_OP_ALL is usually employed when compatibility with weird SSL
     implementations is desired (e.g. '-bugs' option to 's_client' and
     's_server'), so the new option is automatically set in many
     applications.
     [Bodo Moeller]

  *) Changes in security patch:

     Changes marked "(CHATS)" were sponsored by the Defense Advanced
     Research Projects Agency (DARPA) and Air Force Research Laboratory,
     Air Force Materiel Command, USAF, under agreement number
     F30602-01-2-0537.

  *) Add various sanity checks to asn1_get_length() to reject
     the ASN1 length bytes if they exceed sizeof(long), will appear
     negative or the content length exceeds the length of the
     supplied buffer.
     [Steve Henson, Adi Stav <stav@mercury.co.il>, James Yonan <jim@ntlp.com>]

  *) Assertions for various potential buffer overflows, not known to
     happen in practice.
     [Ben Laurie (CHATS)]

  *) Various temporary buffers to hold ASCII versions of integers were
     too small for 64 bit platforms. (CAN-2002-0655)
     [Matthew Byng-Maddick <mbm@aldigital.co.uk> and Ben Laurie (CHATS)>

  *) Remote buffer overflow in SSL3 protocol - an attacker could
     supply an oversized session ID to a client. (CAN-2002-0656)
     [Ben Laurie (CHATS)]

  *) Remote buffer overflow in SSL2 protocol - an attacker could
     supply an oversized client master key. (CAN-2002-0656)
     [Ben Laurie (CHATS)]

 Changes between 0.9.6c and 0.9.6d  [9 May 2002]

  *) Implement a countermeasure against a vulnerability recently found
     in CBC ciphersuites in SSL 3.0/TLS 1.0: Send an empty fragment
     before application data chunks to avoid the use of known IVs
     with data potentially chosen by the attacker.
     [Bodo Moeller]

 Changes between 0.9.6a and 0.9.6b  [9 Jul 2001]

  *) Change ssleay_rand_bytes (crypto/rand/md_rand.c)
     to avoid a SSLeay/OpenSSL PRNG weakness pointed out by
     Markku-Juhani O. Saarinen <markku-juhani.saarinen@nokia.com>:
     PRNG state recovery was possible based on the output of
     one PRNG request appropriately sized to gain knowledge on
     'md' followed by enough consecutive 1-byte PRNG requests
     to traverse all of 'state'.

     1. When updating 'md_local' (the current thread's copy of 'md')
        during PRNG output generation, hash all of the previous
        'md_local' value, not just the half used for PRNG output.

     2. Make the number of bytes from 'state' included into the hash
        independent from the number of PRNG bytes requested.

     The first measure alone would be sufficient to avoid
     Markku-Juhani's attack.  (Actually it had never occurred
     to me that the half of 'md_local' used for chaining was the
     half from which PRNG output bytes were taken -- I had always
     assumed that the secret half would be used.)  The second
     measure makes sure that additional data from 'state' is never
     mixed into 'md_local' in small portions; this heuristically
     further strengthens the PRNG.
     [Bodo Moeller]

  *) The countermeasure against Bleichbacher's attack on PKCS #1 v1.5
     RSA encryption was accidentally removed in s3_srvr.c in OpenSSL 0.9.5
     when fixing the server behaviour for backwards-compatible 'client
     hello' messages.  (Note that the attack is impractical against
     SSL 3.0 and TLS 1.0 anyway because length and version checking
     means that the probability of guessing a valid ciphertext is
     around 2^-40; see section 5 in Bleichenbacher's CRYPTO '98
     paper.)

     Before 0.9.5, the countermeasure (hide the error by generating a
     random 'decryption result') did not work properly because
     ERR_clear_error() was missing, meaning that SSL_get_error() would
     detect the supposedly ignored error.

     Both problems are now fixed.
     [Bodo Moeller]

 Changes between 0.9.6 and 0.9.6a  [5 Apr 2001]

===> This is our ABI change.

  *) Rename 'des_encrypt' to 'des_encrypt1'.  This avoids the clashes
     with des_encrypt() defined on some operating systems, like Solaris
     and UnixWare.
     [Richard Levitte]

  *) Don't use getenv in library functions when run as setuid/setgid.
     New function OPENSSL_issetugid().
     [Ulf Moeller]

  *) Store verify_result within SSL_SESSION also for client side to
     avoid potential security hole. (Re-used sessions on the client side
     always resulted in verify_result==X509_V_OK, not using the original
     result of the server certificate verification.)
     [Lutz Jaenicke]

===> package doesn't doesn't do this. We'll bump major versions
===> as necessary.

  *) Make sure that shared libraries get the internal name engine with
     the full version number and not just 0.  This should mark the
     shared libraries as not backward compatible.  Of course, this should
     be changed again when we can guarantee backward binary compatibility.
     [Richard Levitte]


  *) Rework the system to generate shared libraries:

     - Make note of the expected extension for the shared libraries and
       if there is a need for symbolic links from for example libcrypto.so.0
       to libcrypto.so.0.9.7.  There is extended info in Configure for
       that.

     - Make as few rebuilds of the shared libraries as possible.

     - Still avoid linking the OpenSSL programs with the shared libraries.

     - When installing, install the shared libraries separately from the
       static ones.
2002-08-04 15:47:43 +00:00
schmonz
e71fb8b5b0 Build on Darwin using patches from Apple's Darwin source repository,
via Fink.
2002-07-28 05:36:29 +00:00
veego
35e049414d Support to build it on Solaris.
It would be easier to make that change if we support patches for one OPSYS
but someone removed that from out tree.
2000-05-10 12:28:37 +00:00
erh
c11044fe62 Update openssl to 0.9.4. 1999-11-25 18:51:47 +00:00
tv
4a29e61dd5 Import OpenSSL 0.9.2b pkg, a package which finally updates and fixes many
deficiencies in SSLeay.  Intended to be a drop-in replacement for SSLeay
(and still provides the command-prompt interface as "ssleay").
1999-04-30 15:19:13 +00:00