blob: a49663dc32c63d2a9ce965462b00fdb40cdf471c [file] [log] [blame]
/*
* Authentication certificate definitions for the CUPS scheduler.
*
* Copyright 2007-2012 by Apple Inc.
* Copyright 1997-2005 by Easy Software Products.
*
* Licensed under Apache License v2.0. See the file "LICENSE" for more information.
*/
/*
* Certificate structure...
*/
typedef struct cupsd_cert_s
{
struct cupsd_cert_s *next; /* Next certificate in list */
int pid; /* Process ID (0 for root certificate) */
char certificate[33]; /* 32 hex characters, or 128 bits */
char username[33]; /* Authenticated username */
int type; /* AuthType for username */
} cupsd_cert_t;
/*
* Globals...
*/
VAR cupsd_cert_t *Certs /* List of certificates */
VALUE(NULL);
VAR time_t RootCertTime /* Root certificate update time */
VALUE(0);
/*
* Prototypes...
*/
extern void cupsdAddCert(int pid, const char *username, int type);
extern void cupsdDeleteCert(int pid);
extern void cupsdDeleteAllCerts(void);
extern cupsd_cert_t *cupsdFindCert(const char *certificate);
extern void cupsdInitCerts(void);