-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)
--- /dev/null
+#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;
+}
+