Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > f1b7bf5d4038d49ddd4611df8ef45ea8 > files > 1

libauthd-devel-0.2.3-1mdv2009.0.i586.rpm

/*
 * Copyright (C) 2002 Brent N. Chun <bnc@caltech.edu>
 */
#ifndef __AUTH_H
#define __AUTH_H

#include <sys/types.h>
#include <time.h>

/* Length in bytes of RSA signature */
#define AUTH_RSA_SIGLEN 64

/* Sockname Unix protocol module namespace (add PID) */
#define AUTH_SOCK_PATH  "auth-%d-sock"
/* Sockname in Unix protocol module namespace */
#define AUTHD_SOCK_PATH "authd-sock"

/* NOTE: make configurable in configure script and code */
#define AUTH_PUB_KEY    "/etc/auth_pub.pem"
#define AUTH_PRIV_KEY   "/etc/auth_priv.pem"

typedef struct {
    uid_t   uid;
    gid_t   gid;
    time_t  valid_from;
    time_t  valid_to;
} credentials;

typedef struct {
    unsigned char data[AUTH_RSA_SIGLEN];
} signature;

void auth_init_credentials(credentials *creds, int lifetime);
int  auth_get_signature(credentials *creds, signature *creds_sig);
int  auth_verify_signature(credentials *creds, signature *creds_sig);

#define AUTH_OK             0 
#define AUTH_FOPEN_ERROR   -1
#define AUTH_RSA_ERROR     -2
#define AUTH_CRED_ERROR    -3
#define AUTH_NET_ERROR     -4 

#endif /* __AUTH_H */