summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile5
-rw-r--r--USAGE4
-rw-r--r--pam_radius_auth.c7
-rw-r--r--pamsymbols.ver4
4 files changed, 13 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index c050a2b..d14b10e 100644
--- a/Makefile
+++ b/Makefile
@@ -15,7 +15,7 @@ VERSION=1.3.17
#
# If you're not using GCC, then you'll have to change the CFLAGS.
#
-CFLAGS = -Wall -fPIC
+CFLAGS += -Wall -fPIC
#
# On Irix, use this with MIPSPRo C Compiler, and don't forget to export CC=cc
# gcc on Irix does not work yet for pam_radius
@@ -23,6 +23,7 @@ CFLAGS = -Wall -fPIC
# Then copy pam_radius_auth.so to /usr/freeware/lib32/security (PAM dir)
# CFLAGS =
+LDFLAGS += -shared -Wl,--version-script=pamsymbols.ver
######################################################################
#
@@ -55,7 +56,7 @@ pam_radius_auth.o: pam_radius_auth.c pam_radius_auth.h
# gcc -shared pam_radius_auth.o md5.o -lpam -lc -o pam_radius_auth.so
#
pam_radius_auth.so: pam_radius_auth.o md5.o
- ld -Bshareable pam_radius_auth.o md5.o -lpam -o pam_radius_auth.so
+ $(CC) $(LDFLAGS) pam_radius_auth.o md5.o -lpam -o pam_radius_auth.so
######################################################################
#
diff --git a/USAGE b/USAGE
index d850ddd..3caa375 100644
--- a/USAGE
+++ b/USAGE
@@ -3,9 +3,9 @@ is not implemented, as the RADIUS protocol does not support it.
The pam configuration can be:
...
-auth sufficient /lib/security/pam_radius_auth.so [options]
+auth sufficient pam_radius_auth.so [options]
...
-account sufficient /lib/security/pam_radius_auth.so
+account sufficient pam_radius_auth.so
---------------------------------------------------------------------------
diff --git a/pam_radius_auth.c b/pam_radius_auth.c
index abea995..11bec48 100644
--- a/pam_radius_auth.c
+++ b/pam_radius_auth.c
@@ -766,7 +766,8 @@ static int
talk_radius(radius_conf_t *conf, AUTH_HDR *request, AUTH_HDR *response,
char *password, char *old_password, int tries)
{
- int salen, total_length;
+ socklen_t salen;
+ int total_length;
fd_set set;
struct timeval tv;
time_t now, end;
@@ -881,7 +882,7 @@ send:
} else if (FD_ISSET(conf->sockfd, &set)) {
/* try to receive some data */
- if ((total_length = recvfrom(conf->sockfd, (char *) response,
+ if ((total_length = recvfrom(conf->sockfd, (void *) response,
BUFFER_SIZE,
0, &saremote, &salen)) < 0) {
_pam_log(LOG_ERR, "error reading RADIUS packet from server %s: %s",
@@ -1062,7 +1063,7 @@ PAM_EXTERN int
pam_sm_authenticate(pam_handle_t *pamh,int flags,int argc,CONST char **argv)
{
CONST char *user;
- CONST char **userinfo;
+ CONST char *userinfo;
char *password = NULL;
CONST char *rhost;
char *resp2challenge = NULL;
diff --git a/pamsymbols.ver b/pamsymbols.ver
new file mode 100644
index 0000000..d049312
--- /dev/null
+++ b/pamsymbols.ver
@@ -0,0 +1,4 @@
+{
+ global: pam_sm_*;
+ local: *;
+};