SUMMARY: How to check password with C2 Security.

From: Michael H. Martel <martelm_at_quark.vsc.edu>
Date: Thu, 15 Apr 1999 10:25:30 -0400

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

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:39 NZDT