[SSSD] [PATCHES] Fix build with libcrypto

Lukas Slebodnik lslebodn at redhat.com
Tue Sep 29 08:02:40 UTC 2015


ehlo,

attached are simple patches.
It would be good to have then in 1.13.1

LS
-------------- next part --------------
>From 5f3eaca8c305f95d0c1e1859d1b3e12dde08829f Mon Sep 17 00:00:00 2001
From: Lukas Slebodnik <lslebodn at redhat.com>
Date: Tue, 29 Sep 2015 09:02:51 +0200
Subject: [PATCH 1/3] BUILD: Link test_data_provider_be with -ldl

The module data_provider_be.o uses uncfion dlsym and
thus need to be linked with -ldl.

/usr/bin/ld: src/providers/test_data_provider_be-data_provider_be.o: undefined reference to symbol 'dlsym@@GLIBC_2.2.5'
/usr/lib64/libdl.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:10461: recipe for target 'test_data_provider_be' failed

It was not a problem when sssd was compiled with NSS because it contains -ldl
among its flags.
NSS_LIBS='-lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4 -lpthread -ldl '

However the compilation failed when sssd was compiled with libcrypto
---
 Makefile.am | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Makefile.am b/Makefile.am
index 511d1196af28c17270fa9d9b81c5f4c9251fb74f..aae123c18017037603ab0310013824be920bf92a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2605,6 +2605,7 @@ test_data_provider_be_LDADD = \
     $(PAM_LIBS) \
     $(SSSD_LIBS) \
     $(SSSD_INTERNAL_LTLIBS) \
+    $(LIBADD_DL) \
     libsss_test_common.la \
     libdlopen_test_providers.la \
     $(NULL)
-- 
2.5.0

-------------- next part --------------
>From c83a16dde3b4ccd44addceb11abf33b455584a49 Mon Sep 17 00:00:00 2001
From: Lukas Slebodnik <lslebodn at redhat.com>
Date: Tue, 29 Sep 2015 09:54:41 +0200
Subject: [PATCH 2/3] sysdb-tests: Use valid base64 encoded certificate for
 search

sh$ printf "ABC" | base64 -d
base64: invalid input
---
 src/tests/sysdb-tests.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/tests/sysdb-tests.c b/src/tests/sysdb-tests.c
index 343314bd29f65e22056afd135a2095ce2d0f1e5e..10ee3f6218995a853d7e950d5b598b11b778a852 100644
--- a/src/tests/sysdb-tests.c
+++ b/src/tests/sysdb-tests.c
@@ -5232,7 +5232,7 @@ START_TEST(test_sysdb_search_user_by_cert)
     fail_unless(ret == EOK, "sysdb_add_user failed with [%d][%s].",
                 ret, strerror(ret));
 
-    ret = sysdb_search_user_by_cert(test_ctx, test_ctx->domain, "ABC", &res);
+    ret = sysdb_search_user_by_cert(test_ctx, test_ctx->domain, "ABA=", &res);
     fail_unless(ret == ENOENT,
                 "Unexpected return code from sysdb_search_user_by_cert for "
                 "missing object, expected [%d], got [%d].", ENOENT, ret);
-- 
2.5.0

-------------- next part --------------
>From 90889d1d7d95044e22debfdfa23c24a675eb86f7 Mon Sep 17 00:00:00 2001
From: Lukas Slebodnik <lslebodn at redhat.com>
Date: Tue, 29 Sep 2015 09:58:15 +0200
Subject: [PATCH 3/3] test_pam_srv: Run cert test only with NSS

---
 src/tests/cmocka/test_pam_srv.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/tests/cmocka/test_pam_srv.c b/src/tests/cmocka/test_pam_srv.c
index 6bae6e337351a2f9665b506cc26076d80905a369..ab33433fdce8d6030331a57e2b7cbd97ce5637df 100644
--- a/src/tests/cmocka/test_pam_srv.c
+++ b/src/tests/cmocka/test_pam_srv.c
@@ -1432,6 +1432,8 @@ int main(int argc, const char *argv[])
                                         pam_test_setup, pam_test_teardown),
         cmocka_unit_test_setup_teardown(test_pam_offline_chauthtok,
                                         pam_test_setup, pam_test_teardown),
+/* p11_child is not built without NSS */
+#ifdef HAVE_NSS
         cmocka_unit_test_setup_teardown(test_pam_preauth_cert_nocert,
                                         pam_test_setup, pam_test_teardown),
         cmocka_unit_test_setup_teardown(test_pam_preauth_cert_nomatch,
@@ -1449,6 +1451,7 @@ int main(int argc, const char *argv[])
                                    pam_test_setup, pam_test_teardown),
         cmocka_unit_test_setup_teardown(test_pam_cert_auth,
                                         pam_test_setup, pam_test_teardown),
+#endif /* HAVE_NSS */
     };
 
     /* Set debug level to invalid value so we can deside if -d 0 was used. */
-- 
2.5.0



More information about the sssd-devel mailing list