diff options
-rw-r--r-- | pam/CMakeLists.txt | 12 | ||||
-rw-r--r-- | pam/agl-identity-usbstick-pam.c | 36 |
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; +} + |