pkgsrc-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: mozilla-rootcerts assumes /etc/ssl/certs
On 03/30, Greg Troxel wrote:
>
> coypu%sdf.org@localhost writes:
>
> > It is currently useful and intended for people who use non-pkgsrc
> > (builtin) SSL libraries and want to get a set of well-managed CAs.
> >
> > It could probably be smarter, or pkgsrc openssl can be taught to look
> > at system-wide CAs too, if it doesn't.
> > (I feel like for root CA choices, people will likely prefer system-wide
> > settings to be respected by default).
>
> Good points.
>
> But I wonder if the right thing is for mozilla-rootcerts to modify
> pkgsrc openssl, if that was depended on at build time, vs system
> openssl, if that was depended on. More or less, to operate on the
> openssl used by pkgsrc.
Right, and it seems that the security/mozilla-rootcerts Makefile tries
to do something like that already:
CHECK_BUILTIN.openssl= yes
.include "../../security/openssl/builtin.mk"
CHECK_BUILTIN.openssl= no
.if !empty(USE_BUILTIN.openssl:M[yY][eE][sS])
SSLDIR= /etc/openssl/certs
.else
SSLDIR= ${PKG_SYSCONFDIR}/openssl/certs
.endif
SSLDIR will get substituted (by the pkgsrc SUBST framework as configured
in Makefile) in files/mozilla-rootcerts.sh (which is installed as
mozilla-rootcerts) as the SSLDIR variable, and, for the install
subcommand, mozilla-rootcerts.sh will extract the individual certificate
files to $destdir$SSLDIR. That makes sense to me.
But what I don't understand is that mozilla-rootcerts.sh also has:
certdir="/etc/ssl/certs"
conffile="/etc/openssl/openssl.cnf"
destdir=
Those don't get substituted with the SUBST framework. SSLDIR and
others are substituted, but certdir and conffile are *not* substituted,
and that's what I'm asking about. For mozilla-rootcerts.sh's install
subcommand, it writes to $destdir$certdir/ca-certificates.crt.
Since certdir is not substituted, it will *always* write to
/etc/ssl/certs/ca-certificates.crt. Is that right, and if so, could
someone explain why?
For my setup on macOS Sierra, USE_BUILTIN.openssl=no and
PKG_SYSCONFDIR=/opt/pkg/etc, so I get SSLDIR=/opt/pkg/etc/openssl/certs.
When I run "mozilla-rootcerts install" as suggested in MESSAGE, I get
the .pem files extracted to /opt/pkg/etc/openssl/certs (which makes
sense to me), but (this is the part I don't understand) I also get the
concatenation of those .pem files written to ca-certificates.crt in
/etc/ssl/certs.
I would have expected to see something like this in mozilla-rootcerts.sh
instead (with an appropriate SUBST framework substitution for
@PKG_SYSCONFDIR@ configured in the Makefile):
certdir="@PKG_SYSCONFDIR@/ssl/certs"
conffile="@PKG_SYSCONFDIR@/openssl/openssl.cnf"
destdir=
What am I missing about how all this works?
Thanks!
Lewis
Home |
Main Index |
Thread Index |
Old Index