[oi-dev] phasing out openssl 1.0.2 (mostly)

Goetz T. Fischer g.fischer at r-a-c.de
Sat Feb 24 17:27:30 UTC 2024


hey all,

as you know there're still some packages in the repo that use openssl 1.0.2. so 
far this had the unpleasant implication that all new packages had to be 
hardcoded to newer ssl versions one way or the other, because the buildsystem's 
ssl mediator had to remain at 1.0.
obviously that wastes a lot of time and usually should be the other way around. 
i.e. only hardcoding the handful of packages which, for whatever reason, still 
need 1.0.2 and having the buildsystem's ssl mediator set to whatever is 
considered the default at the time. having a significantly smaller number of 
packages with a fixed ssl version also makes switching to a different ssl 
version at some point much nicer. the latter of course depending on how much 
has been modified of each package to achieve the fixed ssl dependency.

right now 91 packages are affected. see attachment for the list. not counting 
the ones which even need 0.9.8 :-O

some of them should obviously be updated anyway. especially server things that 
are reachable from the outside like proftpd or nginx would be priority targets 
in any case. probably more tricky is the system stuff like wpa.
some packages will likely be stuck with ssl 1.0.2 because they can't be updated 
for various reasons. the ones who remain[1] would be the candidates for actual 
patching to make them use a fixed (older) ssl version.

in short, the fact that a single program, that has been retired 4 years ago, 
(still) has such an impact on the whole buildsystem is a condition that should 
likely be changed rather sooner than later.


an alternative approach:

the general goal is to keep the ssl dependency flexible. at least as far as 
each program's code is concerned. if doing that by mediator causes too many 
problems, using $(OPENSSL_INCDIR) and $(OPENSSL_LIBDIR) in the Makefile could 
be an alternative for those programs/packages where that's sufficient.
having a peek at other repos shows that e.g. the solaris userland has sort of a 
compromise solution. they do set the ssl version explicitly. however, their 
package names only contain the major version like "openssl-3" and the same goes 
for the install paths like "/usr/openssl/3/". that's not as flexible as having 
$(OPENSSL_INCDIR) and $(OPENSSL_LIBDIR) only or having it sorted by the 
mediator but at least allows all 3.x versions without code changes.

regardless of the mediator, selecting and updating the packages for which 
$(OPENSSL_INCDIR) and $(OPENSSL_LIBDIR) is enough can be done anyaway.

[1] slightly modified loki reference


--
R-A-C
Götz T. Fischer CertIT&Comp
+49(0)7225/98 98 79
g.fischer at r-a-c.de
r-a-c.de



More information about the oi-dev mailing list