|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T a
Length: 2766 (0xace)
Types: TextFile
Names: »auth.h«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
└─⟦dc59850a2⟧ »EurOpenD22/pp5.0/pp-5.tar.Z«
└─⟦e5a54fb17⟧
└─⟦this⟧ »pp-5.0/h/auth.h«
/* auth.h: authorisation */
/*
* @(#) $Header: /cs/research/pp/hubris/pp-beta/h/RCS/auth.h,v 5.0 90/09/20 16:49:44 pp Exp Locker: pp $
*
* $Log: auth.h,v $
* Revision 5.0 90/09/20 16:49:44 pp
* rcsforce : 5.0 public release
*
*
*/
#ifndef _H_AUTH
#define _H_AUTH
#include "list_bpt.h"
#define MAX_AUTH_ARGS 20
#define AUTH_SEPERATOR '|'
/* command table values */
#define AUTH_LOGLEVEL_LOW 1
#define AUTH_LOGLEVEL_MEDIUM 2
#define AUTH_LOGLEVEL_HIGH 3
typedef struct list_regex {
char *li_regex;
struct list_regex *li_next;
} LIST_REGEX;
#define NULLIST_REGEX (LIST_REGEX *)0
typedef struct list_chan_rights {
CHAN *li_chan;
int li_rights;
struct list_chan_rights *li_next;
} LIST_CHAN_RIGHTS;
#define NULLIST_CHAN_RIGHTS (LIST_CHAN_RIGHTS *)0
typedef struct list_auth_chan {
CHAN *li_chan;
int li_found;
int policy;
#define AUTH_CHAN_FREE 1
#define AUTH_CHAN_NEGATIVE 2
#define AUTH_CHAN_BLOCK 3
#define AUTH_CHAN_NONE 4
#define AUTH_CHAN_WARNS 5
#define AUTH_CHAN_WARNR 6
#define AUTH_CHAN_SIZELIMIT 7
#define AUTH_CHAN_TEST 8
char *warnsender;
char *warnrecipient;
long sizelimit;
int test;
struct list_auth_chan *li_next;
} LIST_AUTH_CHAN;
#define NULLIST_AUTHCHAN (LIST_AUTH_CHAN *)0
typedef struct list_auth_mta {
char *li_mta;
int li_found;
int rights;
LIST_REGEX *requires;
LIST_REGEX *excludes;
LIST_BPT *content_excludes;
LIST_CHAN_RIGHTS *li_cr;
long sizelimit;
struct list_auth_mta *li_next;
} LIST_AUTH_MTA;
#define NULLIST_AUTHMTA (LIST_AUTH_MTA *)0
typedef struct auth_user {
int found;
int rights;
LIST_BPT *content_excludes;
LIST_CHAN_RIGHTS *li_cr;
long sizelimit;
} AUTH_USER;
#define NULL_AUTHUSR (AUTH_USER *)0
typedef struct auth { /* holds all details for each channel, mta and user */
int status;
#define AUTH_OK 0
#define AUTH_FAILED 1
#define AUTH_DR_OK 2
#define AUTH_DR_FAILED 3
#define AUTH_FAILED_TEST 4
int stage;
#define AUTH_STAGE_1 1 /* stage 1 tests performed */
#define AUTH_STAGE_2 2 /* stage 2 tests performed */
int warnings;
#define AUTH_NOTWARNED 0 /* msg not generated yet */
#define AUTH_WARNED 1 /* msg has been generated */
#define AUTH_WARNERROR 2 /* msg could not be generated */
char *reason;
LIST_AUTH_CHAN *chan;
LIST_AUTH_MTA *mta;
AUTH_USER *user;
int mta_inrights;
int mta_outrights;
int user_inrights;
int user_outrights;
#define AUTH_RIGHTS_IN 1
#define AUTH_RIGHTS_OUT 2
#define AUTH_RIGHTS_BOTH 3
#define AUTH_RIGHTS_NONE 4
#define AUTH_RIGHTS_UNSET 5
} AUTH;
#define NULL_AUTH (AUTH *)0
#endif