aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Makefile.am18
-rw-r--r--src/auth-check-path.c3
-rw-r--r--src/auth-check-path.h1
-rw-r--r--src/pam-freerdp.c4
-rw-r--r--tests/Makefile.am2
-rw-r--r--tests/test-freerdp-wrapper.cc3
6 files changed, 25 insertions, 6 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 962ef29..0fafb8a 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -3,7 +3,7 @@ pamlibdir = $(PAMMODULEDIR)
pamlib_LTLIBRARIES = pam_freerdp.la
pam_freerdp_la_SOURCES = \
- pam-freerdp.c
+ auth-check-path.c auth-check-path.h
pam_freerdp_la_LDFLAGS = \
-no-undefined \
@@ -11,14 +11,24 @@ pam_freerdp_la_LDFLAGS = \
-avoid-version \
$(COVERAGE_LDFLAGS)
-pam_freerdp_la_LIBADD = \
- -lpam
-
pam_freerdp_la_CFLAGS = \
-Wall -Werror \
-DAUTH_CHECK="\"$(pkglibexecdir)/freerdp-auth-check\"" \
$(COVERAGE_CFLAGS)
+noinst_LTLIBRARIES = \
+ libfreerdpcore.la
+
+libfreerdpcore_la_SOURCES = \
+ pam-freerdp.c
+libfreerdpcore_la_CFLAGS = \
+ -Wall -Werror \
+ $(COVERAGE_CFLAGS)
+libfreerdpcore_la_LIBADD = \
+ -lpam
+libfreerdpcore_la_LDFLAGS = \
+ $(COVERAGE_LDFLAGS)
+
pkglibexec_PROGRAMS = \
freerdp-auth-check
diff --git a/src/auth-check-path.c b/src/auth-check-path.c
new file mode 100644
index 0000000..db311ea
--- /dev/null
+++ b/src/auth-check-path.c
@@ -0,0 +1,3 @@
+
+const char * auth_check_path = AUTH_CHECK;
+
diff --git a/src/auth-check-path.h b/src/auth-check-path.h
new file mode 100644
index 0000000..82deca2
--- /dev/null
+++ b/src/auth-check-path.h
@@ -0,0 +1 @@
+extern const char * auth_check_path;
diff --git a/src/pam-freerdp.c b/src/pam-freerdp.c
index ebc98af..4891846 100644
--- a/src/pam-freerdp.c
+++ b/src/pam-freerdp.c
@@ -34,6 +34,8 @@
#include <security/pam_modutil.h>
#include <security/pam_appl.h>
+#include "auth-check-path.h"
+
#define PAM_TYPE_DOMAIN 1234
#define ALL_GOOD_SIGNAL "Ar, ready to authenticate cap'n"
@@ -226,7 +228,7 @@ pam_sm_authenticate (pam_handle_t *pamh, int flags, int argc, const char **argv)
char * args[5];
- args[0] = AUTH_CHECK;
+ args[0] = (char *)auth_check_path;
args[1] = rhost;
args[2] = ruser;
args[3] = rdomain;
diff --git a/tests/Makefile.am b/tests/Makefile.am
index c5da385..4e51e62 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -43,7 +43,7 @@ test_freerdpclient_wrapper_SOURCES = \
test-freerdp-wrapper.cc
test_freerdpclient_wrapper_LDADD = \
- $(top_builddir)/src/pam_freerdp.la \
+ $(top_builddir)/src/libfreerdpcore.la \
libgtest.a
test_freerdpclient_wrapper_CXXFLAGS = \
diff --git a/tests/test-freerdp-wrapper.cc b/tests/test-freerdp-wrapper.cc
index e53d94b..3effc2a 100644
--- a/tests/test-freerdp-wrapper.cc
+++ b/tests/test-freerdp-wrapper.cc
@@ -13,6 +13,9 @@ extern "C" {
#include "mock_guest.h"
int freerdpclient_wrapper (int argc, char * argv[]);
+
+const char * auth_check_path = "";
+
}
namespace {