[TriLUG] SSL Issues
Benjamin Reed
ranger at befunk.com
Tue Sep 17 23:01:28 EDT 2002
On Tuesday, September 17, 2002, at 10:26 PM, Robert Porter wrote:
> I have paid for the up2date subscription and use it, but that caused
> other
> issues, especially with OpenSSL. Redhat "backpatched" versions of the
> SSL
> libraries to fix the recent buffer overruns, this means that the
> versions
> reported don't match anymore. I did do a binary install of MySql via
> RPM's
> from the ISO images with no problem. However I am finding that some
> packages
> installed via RPM and some installed via source tar balls seem to cause
> problems, the least of which is the RPM's tend to conform to RedHat's
> idea of
> file locations and the source tar balls adhere to more "standard"
> locations
> if there is such a thing :'> If you ask me RPM's are creating a Linux
> version of Microsoft DLL Hell. But that's most likely my ignorance of
> RPM
> technology speaking.
You only get DLL hell if you just install RPMs willy-nilly from
anywhere. Anything I download that isn't direct from my distro, I
rebuild from source RPM, and then everything is fine. (well, there's
always exceptions, but it's much safer than overwriting system libs)
> My real issue is how to get rid of the RedHat RPM based version of
> OpenSSL and
> replace it with a configure/make/make install version without
> destroying my
> system. Any help would be most appreciated.
Your real issue is that you're asking the wrong question. You're
basically saying, "How do I break this window without putting a hole in
it?" =)
What you really need to do is rephrase what you want.
OpenSSL breaks binary compatibility pretty regularly, so you *can't* be
certain, without making sure you have your new libraries *and* leave
redhat's libraries alone.
The best way to handle it is to just not do it. In your initial
reasoning, you said you needed a rebuilt apache for mod_jk, but mod_jk
works just fine as a DSO module, so I'm not sure why the instructions
you found required you to build things specially. Even if you *have*
to build it in, the only safe way to do it is to leave redhat's stuff
alone, and then put your build in a sandbox, if you don't want to break
all of the other things that depend on RedHat's OpenSSL. So your
*real* goal is to have a custom-built apache in a sandbox, not to
replace important system libraries.
(disclaimer, this isn't *everything* step-by-step, but should give you
an idea of how to handle it)
So what you'll want to do is make, say, an /opt/custom-apache directory
(or /usr/local/custom-apache, or whatever, just something that's
guaranteed not to be in "normal" system paths).
Then set up your environment to look there:
export PATH="/opt/custom-apache/bin:$PATH"
export LD_LIBRARY_PATH="/opt/custom-apache/lib:$LD_LIBRARY_PATH"
...and then build openssl with --prefix=/opt/custom-apache
...and then build apache with --prefix=/opt/custom-apache
...and build everything else that you want in your "apache sandbox" in
there
Then you only need to make a script that sets up LD_LIBRARY_PATH and
runs your custom httpd, and it will be the *only* thing that sees your
custom libraries, rather than overwriting the defaults that the rest of
the system uses.
More information about the TriLUG
mailing list