Thanks for all the quick responses!
The solution is to use set_auth_parameters,getprpwnam, and bigcrypt. If
anyone wants to use the Cyrus IMSPD under DU with Enhanced security these
are the changes you need to make.
Thanks!
-- In main.c --
set_auth_parameters( argc,argv );
-- login_unix_shadow.c --
#include <stdio.h>
#include <stdlib.h>
#include <sys/security.h>
#include <sys/types.h>
#include </usr/include/prot.h>
/*
#include <sysexits.h>
#include <acte.h>
*/
/*
* Unix passwd-authenticated login
*/
int
login_plaintext(user, pass, reply)
char *user;
char *pass;
char **reply;
{
struct pr_passwd *pwd;
pwd = getprpwnam( user );
if( pwd == NULL ){
*reply = "unable to obtain password";
return 1;
}
if(strcmp(pwd->ufld.fd_encrypt,bigcrypt(pass,pwd->ufld.fd_encrypt))
!=0)
{
*reply = "wrong password";
return(1);
}
return 0;
}
int
login_authenticate(authtype, mech, authproc)
char *authtype;
struct acte_server **mech;
int (**authproc)();
{
return 1;
}
Michael
--
-------------------------------o--------------------------------
Michael H. Martel | Vermont State Colleges
mailto:martelm_at_quark.vsc.edu | Technical Support Specialist
http://probe.vsc.edu/~michael | PH:802-241-2535 FX:802-241-3363
Received on Thu Apr 15 1999 - 16:06:22 NZST