Commit graph

112 commits

Author SHA1 Message Date
markd
823ba38095 The shared libraries are installed on Solaris now. 2002-09-09 22:17:00 +00:00
jlam
5bec783195 Use buildlink2 and pass an extra flag to the configure script so that if
RSAref is used, then the library may be found.
2002-09-07 07:17:00 +00:00
jlam
448a7bb843 We don't need to symlink bin/openssl since we want the one in ${SSLBASE}. 2002-09-05 12:44:21 +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
wiz
ce1ba0b1d2 Fix a comment, and improve pattern to also work on netbsd-1-4. 2002-08-19 16:00:06 +00:00
wiz
13ee19350f Compile no-shared on 1.4.x. This makes the package install and work for me
on 1.4.2/i386. Approved by agc.
2002-08-19 15:17:55 +00:00
agc
2df95bedb4 Provide a sensible default for BUILDLINK_DEPENDS.openssl - noticed when
the in-tree openssl is < 0.9.6f, a previous package build has installed
the openssl-0.9.6g package, but the BUILDLINK_DEPENDS.openssl value is
not initialised, so that the package infrastructure tries to build and
install the openssl-0.9.6g package again.
2002-08-16 19:41:14 +00:00
fredb
5677c8890c Revert Makefile,v.1.56, as the NetBSD patches were causing intractable
problems for Solaris. Instead, handle patch for NetBSD-1.4.2 specially.
2002-08-15 19:22:10 +00:00
fredb
36090d2088 Really require 0.9.6g, if we require the package at all. 2002-08-15 01:14:32 +00:00
fredb
03a3cef468 It just occurred to me that the ${PATCHDIR} patches developed against the
NetBSD-patched codebase won't apply cleanly (or at all) without the NetBSD
patch. Therefore, remove the `.if ${OS}' condition for applying the patch,
so Solaris and Darwin start with the same codebase. Fix as needed.
2002-08-10 11:08:18 +00:00
itojun
b81f5f0022 require 0.9.6f, at least 2002-08-10 05:27:30 +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
jlam
577caefd40 Correctly set the value of SSLCERTS depending on the environment and the
platform.
2002-08-09 17:12:51 +00:00
jlam
8ad7767d39 * Change the perl paths in the various build scripts to ${PERL5} and not
${LOCALBASE}/bin/perl.

* Refer to the make program used to drive the build and installation as
  "${MAKE_PROGRAM}".

* Instead of explicitly setting PKG_SYSCONFBASE=/etc, use the pkg-specific
  override PKG_SYSCONFDIR.openssl, and optionally set it so that the
  user still has the option of overriding its value.

* Use bsd.pkg.install.mk to install the default config file (openssl.cnf)
  and to create and remove the extra config directories.  This lets us
  reemove the extra lines in PLIST that do the same thing.
2002-08-09 14:45:05 +00:00
jlam
7ddc05c158 Refer to the openssl config directory as ${PKG_SYSCONFDIR} as it differs
between platforms.
2002-08-09 14:35:55 +00:00
fredb
abd1be5e66 Remove my macros for missing strlcpy() and strncpy() which aren't correct,
and don't actually work.
2002-08-07 10:30:53 +00:00
fredb
1ffcd53464 Make this work on platforms that don't have any base system "openssl",
includes (i.e NetBSD-1.4.3). Problem pointed out by Amitai Schlair.
2002-08-04 23:38:43 +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
tron
4dbad0e528 Add support for OpenSSL 0.9.6e. 2002-07-31 06:22:45 +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
jlam
e1be891dbc Change explicit build dependencies on perl into "USE_PERL5=build". This
makes these packages build correctly on Darwin where perl>=5.8.0 is
required.
2002-07-24 19:45:22 +00:00
seb
db84442a67 Substitute a couple of mkdir' by ${MKDIR}'.
Remove `-p' from mkdir arguments, it is already part of ${MKDIR}.
While here substitute a couple of ${PREFIX} by `%D' in
`@exec ${MKDIR} ...' lines and add a couple of missing `%D' in such lines too!
2002-06-26 10:29:33 +00:00
tron
715f6e7521 Recognize version 0.9.6d of "openssl" which is now used in NetBSD-current. 2002-06-16 12:26:43 +00:00
kleink
a763c90bcc G/c references to ftp.uni-trier.de. 2002-05-08 11:44:50 +00:00
itojun
f87f0472ac darwin has opensslv.h in /usr/local/include/openssl 2002-03-23 19:21:47 +00:00
skrll
08bdd44549 mkdir -> ${MKDIR}
rmdir -> ${RMDIR}
rm -> ${RM} (${RM} added to PLIST_SUBST)
chmod -> ${CHMOD}
chown -> ${CHOWN}
2002-02-15 10:12:28 +00:00
hubertf
5542206cba Get rid of manually adding "nbX" to PKGNAME when a pkg was changed in
pkgsrc. Instead, a new variable PKGREVISION is invented that can get
bumped independent of DISTNAME and PKGNAME.

Example #1:
        DISTNAME=       foo-X.Y
        PKGREVISION=    Z
     => PKGNAME=        foo-X.YnbZ

Example #2:
        DISTNAME=       barthing-X.Y
        PKGNAME=        bar-X.Y
        PKGREVISION=    Z
     => PKGNAME=        bar=X.YnbZ (!)

On subsequent changes, only PKGREVISION needs to be bumped, no more risk
of getting DISTNAME changed accidentally.
2001-11-29 01:12:24 +00:00
zuntum
c72c1cf5f9 Move pkg/ files into package's toplevel directory 2001-11-01 00:57:41 +00:00
veego
63ad910dee SVR4 packages have a limit of 9 chars for a package name.
The automatic truncation in gensolpkg doesn't work for packages which
have the same package name for the first 5-6 chars.
e.g. amanda-server and amanda-client would be named amanda and amanda.
Now, we add a SVR4_PKGNAME and use amacl for amanda-client and amase for
amanda-server.
All svr4 packages also have a vendor tag, so we have to reserve some chars
for this tag, which is normaly 3 or 4 chars. Thats why we can only use 6
or 5 chars for SVR4_PKGNAME. I used 5 for all the packages, to give the
vendor tag enough room.
All p5-* packages and a few other packages have now a SVR4_PKGNAME.
2001-10-18 15:20:01 +00:00
tron
5dd3db0a26 Add conflict between "glimpse" and "openssl" package. They both install
"bin/cast" in "${LOCALBASE}".
2001-10-18 04:51:04 +00:00
jlam
f2fc2f6cbe Link the openssl binary into the buildlink directory, too, since some
packages look for it.
2001-10-17 17:56:57 +00:00
jlam
f79573370a Mechanical changes to 375 files to change dependency patterns of the form
foo-* to foo-[0-9]*.  This is to cause the dependencies to match only the
packages whose base package name is "foo", and not those named "foo-bar".
A concrete example is p5-Net-* matching p5-Net-DNS as well as p5-Net.  Also
change dependency examples in Packages.txt to reflect this.
2001-09-27 23:17:41 +00:00
skrll
37fd599af3 Super bump the major numbers for libssl and libcrypto so that they don't
conflict with the -current versions.
2001-09-14 14:17:10 +00:00
skrll
bd6e00dc75 Record libssl dependency on libcrypt.
This allows a mixture of 1.5.x openssl (version<0.9.5) and security/openssl
(version>=0.9.6) to actually work.
2001-08-30 14:02:06 +00:00
skrll
41c724207c Fix version logic in 0.9.6a case. 2001-08-30 10:14:24 +00:00
jlam
d2eb68d2a6 Add dir_DEFAULT setting used by EVAL_PREFIX logic to set the default
installation directory in case the package isn't installed.
2001-07-27 13:33:18 +00:00
jlam
f79b2df20a Mechanical changes to buildlink.mk files to use EVAL_PREFIX to set
BUILDLINK_PREFIX.<pkgname>.  This allows buildlink to find X11BASE packages
regardless of whether they were installed before or after xpkgwedge was
installed.  Idea by Alistair Crooks <agc@pkgsrc.org>.

Also overhaul code to specify the minimum version of OpenSSL needed by
a dependent package.  We now set USE_OPENSSL_VERSION to the version number
in <openssl/opensslv.h>.  Idea also by Alistair Crooks <agc@pkgsrc.org>.
2001-07-20 01:54:50 +00:00
jlam
8559bffd4c Allow definition of USE_OPENSSL_096 force a minimum dependency of
openssl>=0.9.6.
2001-07-18 18:03:16 +00:00
fredb
cdc44631a6 Let USE_SSL accept latest version of openssl, in current. Patch supplied
by Martti Kuparinen in PR pk/13447.
2001-07-12 14:25:53 +00:00
wiz
12743c91d4 Pull in security fix from basesrc by itojun. Commit message was:
fix PRNG weakness.  the workaround presented on bugtraq posting.
Update to 0.9.6nb1.
2001-07-11 01:26:10 +00:00
tron
cb49807a85 Add support for "SPARC_TARGET_ARCH". 2001-07-10 15:08:32 +00:00
jlam
cb76bd5efc Move inclusion of bsd.buildlink.mk to start of file. 2001-07-01 22:59:08 +00:00
jlam
b6802e9266 Check for openssl>=0.9.5a when depending on openssl. 2001-06-28 21:22:18 +00:00
jlam
34d11d8a0f Generalize how the dependency pattern may be specified. Instead of just
FOO_REQD=1.0 being converted to foo>=1.0, one can now directly specify
the dependency pattern as FOO_DEPENDS=foo>=1.0.  This allows things like
JPEG_DEPENDS=jpeg-6b, or fancier expressions like for postgresql-lib.
Change existing FOO_REQD definitions in Makefiles to FOO_DEPENDS.
2001-06-23 19:26:48 +00:00
jlam
6f410a9bae Add buildlink.mk file for use by other program Makefiles. 2001-06-18 05:30:20 +00:00
abs
ca5e157ae5 linux is much like solaris (for today) 2001-05-22 09:56:02 +00:00
abs
621154e39c We also work under Linux 2001-05-22 09:46:16 +00:00
tron
b54440e1ef Move NetBSD only patches to a distribution patch file to avoid ugly
conditional patch hack.
2001-05-11 22:24:16 +00:00
tron
038a4c069d Convert all patches to unified output format. 2001-05-11 22:14:09 +00:00