From 950e76d6e8dc4411bc78f6acba1da5ca3649d494 Mon Sep 17 00:00:00 2001 From: Jean-Luc Cyr Date: Wed, 14 Nov 2018 10:03:07 -0500 Subject: [PATCH] clean compile script, fix build of apache module --- absec_authen.h | 2 +- compile.sh | 66 ++++++++++++++++++++++++---------------------------------- mod_absec.c | 2 +- 3 files changed, 29 insertions(+), 41 deletions(-) diff --git a/absec_authen.h b/absec_authen.h index 4143db2..09c6f92 100644 --- a/absec_authen.h +++ b/absec_authen.h @@ -15,6 +15,6 @@ #define PAM_ERROR_STOP -3 #define HTTP_UNAUTHORIZED 401 -#define OK 200 +#define OK 0 int check_user(char* user, char* pass); diff --git a/compile.sh b/compile.sh index 38fae9d..24b6872 100755 --- a/compile.sh +++ b/compile.sh @@ -1,58 +1,38 @@ #!/bin/bash +ABSEC_AUTHEN_DEP="-lpam -lpam_misc " +ABSEC_AUTHEN_FILE="absec_pam.o" +ABSEC_AUTO_DEP="`mysql_config --cflags --libs` " +ABSEC_AUTO_FILE="absec_mysql.o" + echo "----------------" echo "Cleaning projets" rm -fv *.o *.lo *.la *.slo -echo "----------------" +echo "================" echo "Compiling pam module (absec_pam)" -#/home/jlcyr/apache2/bin/apxs -lpam -lpam_misc `mysql_config --cflags --libs` -c -i mod_absec.c -#gcc -fPIC -c -lpam -lpam_misc -o absec_pam.o absec_pam.c -#gcc absec_pam.c -lpam -lpam_misc -o absec_pam -gcc absec_pam.c -lpam -lpam_misc -c - -#ld -lpam -lpam_misc --shared -o absec_pam absec_pam.o -#./absec_pam -#exit +gcc absec_pam.c -lpam -lpam_misc -fPIC -c echo "----------------" echo "Compiling authen test with pam (test_authen -labsec_pam)" -#/home/jlcyr/apache2/bin/apxs -lpam -lpam_misc `mysql_config --cflags --libs` -c -i mod_absec.c gcc test_authen.c absec_pam.o -lpam -lpam_misc -o test_authen -#gcc -o test_pam -lpam -lpam_misc absec_pam.o test_pam.c -#ld -o test_pam -lc --entry main test_pam.o -#ld -lpam -lpam_misc --shared -o test_pam absec_pam.o test_pam.o echo "Running test" ./test_authen -echo "----------------" +echo "================" echo "Compiling etc module (absec_etc)" -#/home/jlcyr/apache2/bin/apxs -lpam -lpam_misc `mysql_config --cflags --libs` -c -i mod_absec.c -#gcc -fPIC -c -lpam -lpam_misc -o absec_pam.o absec_pam.c -#gcc absec_pam.c -lpam -lpam_misc -o absec_pam -gcc -I /usr/local/apache2/include -I /usr/include/apr-1.0 absec_etc.c -c +gcc -I /usr/local/apache2/include -I /usr/include/apr-1.0 -fPIC absec_etc.c -c echo "----------------" echo "Compiling authen test with etc (test_authen -labsec_etc)" -#/home/jlcyr/apache2/bin/apxs -lpam -lpam_misc `mysql_config --cflags --libs` -c -i mod_absec.c gcc test_authen.c absec_etc.o -L/usr/lib/x86_64-linux-gnu -lapr-1 -lcrypt -o test_authen -#gcc -o test_pam -lpam -lpam_misc absec_pam.o test_pam.c -#ld -o test_pam -lc --entry main test_pam.o -#ld -lpam -lpam_misc --shared -o test_pam absec_pam.o test_pam.o echo "Running test" ./test_authen -echo "----------------" +echo "================" echo "Compiling mysql module" -#/home/jlcyr/apache2/bin/apxs -lpam -lpam_misc `mysql_config --cflags --libs` -c -i mod_absec.c -#gcc -fPIC -c -lpam -lpam_misc -o absec_pam.o absec_pam.c -#gcc absec_pam.c -lpam -lpam_misc -o absec_pam -gcc absec_mysql.c `mysql_config --cflags --libs` -I/usr/include/apache2 -I/usr/include/apr-1.0 -c - -#ld -lpam -lpam_misc --shared -o absec_pam absec_pam.o -#./absec_pam -#exit +gcc absec_mysql.c `mysql_config --cflags --libs` -I/usr/include/apache2 -I/usr/include/apr-1.0 -fPIC -c echo "----------------" echo "Compiling auto test with mysql (test_auto -labsec_mysql)" @@ -60,21 +40,29 @@ gcc test_auto.c absec_mysql.o `mysql_config --cflags --libs` -I/usr/include/apac echo "Running test" ./test_auto +echo "================" +echo "Compiling filesystem module" +gcc absec_fs.c `mysql_config --cflags --libs` -I/usr/include/apache2 -I/usr/include/apr-1.0 -fPIC -c echo "----------------" +echo "Compiling auto test with filesystem (test_auto -labsec_fs)" +gcc test_auto.c absec_mysql.o `mysql_config --cflags --libs` -I/usr/include/apache2 -I/usr/include/apr-1.0 -o test_auto +echo "Running test" +./test_auto + + +echo "================" echo "Compiling absec tools" echo "- absec_ls" -#/home/jlcyr/apache2/bin/apxs -lpam -lpam_misc `mysql_config --cflags --libs` -c -i mod_absec.c gcc absec_ls.c `mysql_config --cflags --libs` -o abls -#gcc -o test_pam -lpam -lpam_misc absec_pam.o test_pam.c -#ld -o test_pam -lc --entry main test_pam.o -#ld -lpam -lpam_misc --shared -o test_pam absec_pam.o test_pam.o echo "Running test" ./abls -exit -echo "----------------" -echo "Compiling absec module" -sudo apxs -lpam -lpam_misc `mysql_config --cflags --libs` -c -i absec_pam.o absec_mysql.o mod_absec.c +echo "================" +echo "Compiling apache absec module" +echo "selected authen :" $ABSEC_AUTHEN_DEP $ABSEC_AUTHEN_FILE +echo "selected auto :" $ABSEC_AUTO_DEP $ABSEC_AUTO_FILE +sudo apxs $ABSEC_AUTHEN_DEP $ABSEC_AUTO_DEP -c -i $ABSEC_AUTHEN_FILE $ABSEC_AUTO_FILE mod_absec.c #/home/jlcyr/apache2/bin/apachectl restart +echo "Restarting apache" sudo /etc/init.d/apache2 restart diff --git a/mod_absec.c b/mod_absec.c index 2fce627..621a6d8 100755 --- a/mod_absec.c +++ b/mod_absec.c @@ -181,7 +181,7 @@ static int absec_handler_first(request_rec *r) //ap_rprintf(r, "Headers Authorization: %s \n
", auth64); //ap_rprintf(r, "User/Pass: %s/%s \n
", user, pass); - int pam_result = pam_check_user(user, pass); + int pam_result = check_user(user, pass); if ( (pam_result==PAM_ERROR_START) || (pam_result==PAM_ERROR_STOP) ) { return HTTP_INTERNAL_SERVER_ERROR; }