diff -urN radiusd-cistron-1.6.3-stable-clean/src/Makefile.osf radiusd-cistron-1.6.3-stable/src/Makefile.osf --- radiusd-cistron-1.6.3-stable-clean/src/Makefile.osf Sat Sep 18 17:10:41 1999 +++ radiusd-cistron-1.6.3-stable/src/Makefile.osf Mon May 8 16:41:15 2000 @@ -5,8 +5,8 @@ # if you want to compile for OSF with C2 security # -CC = gcc -CFLAGS = -g -Wall -Wno-unused -DNOSHADOW +CC = cc +CFLAGS = -DOSFSIA -DNOSHADOW LDFLAGS = # -s #tatic LIBS = LCRYPT = diff -urN radiusd-cistron-1.6.3-stable-clean/src/auth.c radiusd-cistron-1.6.3-stable/src/auth.c --- radiusd-cistron-1.6.3-stable-clean/src/auth.c Thu Apr 6 09:02:31 2000 +++ radiusd-cistron-1.6.3-stable/src/auth.c Tue May 9 13:19:29 2000 @@ -33,6 +33,11 @@ # include #endif +#ifdef OSFSIA +# include +# include +#endif + #include "radiusd.h" #include "cache.h" @@ -125,10 +130,40 @@ #ifdef OSFC2 struct pr_passwd *pr_pw; #endif +#ifdef OSFSIA + int errcode; + int (*sia_collect) () = sia_collect_trm; + char *info[2]; + char *progname = "radius"; + SIAENTITY *ent = NULL; +#endif if (cache_passwd && (ret = H_unix_pass(name, passwd)) != -2) return ret; +#ifdef OSFSIA + info[0] = progname; + info[1] = NULL; + if ((errcode = sia_ses_init (&ent, 1, info, NULL, name, NULL, + FALSE, NULL)) != SIASUCCESS) { + /* commented out - don't log unknown users here + log(L_AUTH, "sia_ses_init returned %d", errcode); + */ + return -1; + } + if ((errcode = sia_ses_authent (sia_collect, passwd, ent)) != + SIASUCCESS) { + /* commented out - don't log password failures here + log(L_AUTH, "sia_ses_authent returned %d", errcode); + */ + return -1; + } + if ((errcode = sia_ses_release (&ent)) != SIASUCCESS) { + log(L_AUTH, "sia_ses_release returned %d", errcode); + return -1; + } + return 0; +#else /* OSFSIA */ #ifdef OSFC2 if ((pr_pw = getprpwnam(name)) == NULL) return -1; @@ -236,6 +271,7 @@ #endif /* ETC_SHELL */ return 0; +#endif /* OSFSIA */ } diff -urN radiusd-cistron-1.6.3-stable-clean/src/version.c radiusd-cistron-1.6.3-stable/src/version.c --- radiusd-cistron-1.6.3-stable-clean/src/version.c Sun Apr 2 10:58:14 2000 +++ radiusd-cistron-1.6.3-stable/src/version.c Mon May 8 16:32:01 2000 @@ -61,6 +61,9 @@ #if defined(OSFC2) fprintf(stderr," OSFC2"); #endif +#if defined(OSFSIA) + fprintf(stderr," OSFSIA"); +#endif #if defined(NT_DOMAIN_HACK) fprintf(stderr," NT_DOMAIN_HACK"); #endif