Blob Blame History Raw
autofs-5.1.5 - openssl workaround

From: Ian Kent <raven@themaw.net>

Pre-open openssl libraries to prevent possible library unloads
that could leave library static data undefined.

---
 daemon/automount.c |   14 ++++++++++++++
 1 file changed, 14 insertions(+)

--- autofs-5.0.7.orig/daemon/automount.c
+++ autofs-5.0.7/daemon/automount.c
@@ -2641,6 +2641,11 @@ int main(int argc, char *argv[])
 		dh_tirpc = dlopen("libtirpc.so.1", RTLD_NOW);
 #endif
 
+	void *dh_ossl10 = dlopen("libssl.so.10", RTLD_NOW);
+	void *dh_crypto10 = dlopen("libcrypto.so.10", RTLD_NOW);
+	void *dh_ossl6 = dlopen("libssl.so.6", RTLD_NOW);
+	void *dh_crypto6 = dlopen("libcrypto.so.6", RTLD_NOW);
+
 	master_read = master_read_master(master_list, age, 0);
 	if (!master_read) {
 		/*
@@ -2693,6 +2698,15 @@ int main(int argc, char *argv[])
 	release_flag_file();
 	macro_free_global_table();
 
+	if (dh_ossl10)
+		dlclose(dh_ossl10);
+	if (dh_crypto10)
+		dlclose(dh_crypto10);
+	if (dh_ossl6)
+		dlclose(dh_ossl6);
+	if (dh_crypto6)
+		dlclose(dh_crypto6);
+
 #ifdef TIRPC_WORKAROUND
 	if (dh_tirpc)
 		dlclose(dh_tirpc);