summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Collignon <loic.collignon@iot.bzh>2017-06-26 16:39:43 +0200
committerLoïc Collignon <loic.collignon@iot.bzh>2017-06-26 16:39:43 +0200
commit66b90d26cfd555b2aa5fef67d31e539a70256719 (patch)
treee8752a19f8d83c6867bbdd706356c30a81a3e8ab
parent5d1379dce97d98a03adc75122c0c9ecb533dc0b5 (diff)
added the PAM's module stub.
Change-Id: Idc8470327d9eac2bad534cdfd4b58e8dc6e5ba6e Signed-off-by: Loïc Collignon <loic.collignon@iot.bzh>
-rw-r--r--pam/CMakeLists.txt12
-rw-r--r--pam/agl-identity-usbstick-pam.c36
2 files changed, 47 insertions, 1 deletions
diff --git a/pam/CMakeLists.txt b/pam/CMakeLists.txt
index 3953704..5d2de63 100644
--- a/pam/CMakeLists.txt
+++ b/pam/CMakeLists.txt
@@ -1 +1,11 @@
-add_library(agl-identity-usbstick-pam SHARED ) \ No newline at end of file
+
+# Add PAM dependency
+# FIXME: Require PAM, but it's seems there is no find_package.
+set(PAM_INCLUDE_DIR "/usr/include/")
+set(PAM_LIB "/lib64/libpam.so.0")
+include_directories(${PAM_INCLUDE_DIR})
+
+# Add the target
+add_library(agl-identity-usbstick-pam SHARED agl-identity-usbstick-pam.c)
+target_link_libraries(agl-identity-usbstick-pam ${PAM_LIB})
+set_property(TARGET agl-identity-usbstick-pam PROPERTY POSITION_IDENPENDENT_CODE ON)
diff --git a/pam/agl-identity-usbstick-pam.c b/pam/agl-identity-usbstick-pam.c
new file mode 100644
index 0000000..74b3051
--- /dev/null
+++ b/pam/agl-identity-usbstick-pam.c
@@ -0,0 +1,36 @@
+#define PAM_SM_AUTH
+#define PAM_SM_ACCOUNT
+#define PAM_SM_SESSION
+#define PAM_SM_PASSWORD
+#include <security/pam_modules.h>
+
+PAM_EXTERN int pam_sm_authenticate(pam_handle_t* pamh, int flags, int argc, const char** argv)
+{
+ return PAM_SUCCESS;
+}
+
+PAM_EXTERN int pam_sm_setcred(pam_handle_t* pamh, int flags, int argc, const char** argv)
+{
+ return PAM_SUCCESS;
+}
+
+PAM_EXTERN int pam_sm_acct_mgmt(pam_handle_t* pamh, int flags, int argc, const char** argv)
+{
+ return PAM_SUCCESS;
+}
+
+PAM_EXTERN int pam_sm_open_session(pam_handle_t* pamh, int flags, int argc, const char** argv)
+{
+ return PAM_SUCCESS;
+}
+
+PAM_EXTERN int pam_sm_close_session(pam_handle_t* pamh, int flags, int argc, const char** argv)
+{
+ return PAM_SUCCESS;
+}
+
+PAM_EXTERN int pam_sm_chauthtok(pam_handle_t* pamh, int flags, int argc, const char** argv)
+{
+ return PAM_SUCCESS;
+}
+