mirror of
https://github.com/bstansell/conserver.git
synced 2025-01-30 15:43:50 +00:00
89 lines
3.4 KiB
C
89 lines
3.4 KiB
C
/*
|
|
* $Id: group.h,v 5.49 2006/04/07 15:36:09 bryan Exp $
|
|
*
|
|
* Copyright conserver.com, 2000
|
|
*
|
|
* Maintainer/Enhancer: Bryan Stansell (bryan@conserver.com)
|
|
*
|
|
* Copyright GNAC, Inc., 1998
|
|
*/
|
|
|
|
/*
|
|
* Copyright 1992 Purdue Research Foundation, West Lafayette, Indiana
|
|
* 47907. All rights reserved.
|
|
*
|
|
* Written by Kevin S Braunsdorf, ksb@cc.purdue.edu, purdue!ksb
|
|
*
|
|
* This software is not subject to any license of the American Telephone
|
|
* and Telegraph Company or the Regents of the University of California.
|
|
*
|
|
* Permission is granted to anyone to use this software for any purpose on
|
|
* any computer system, and to alter it and redistribute it freely, subject
|
|
* to the following restrictions:
|
|
*
|
|
* 1. Neither the authors nor Purdue University are responsible for any
|
|
* consequences of the use of this software.
|
|
*
|
|
* 2. The origin of this software must not be misrepresented, either by
|
|
* explicit claim or by omission. Credit to the authors and Purdue
|
|
* University must appear in documentation and sources.
|
|
*
|
|
* 3. Altered versions must be plainly marked as such, and must not be
|
|
* misrepresented as being the original software.
|
|
*
|
|
* 4. This notice may not be removed or altered.
|
|
*/
|
|
|
|
/* timers used to have various things happen */
|
|
#define T_STATE 0
|
|
#define T_CIDLE 1
|
|
#define T_MARK 2
|
|
#define T_REINIT 3
|
|
#define T_AUTOUP 4
|
|
#define T_ROLL 5
|
|
#define T_INITDELAY 6
|
|
#define T_MAX 7 /* T_MAX *must* be last */
|
|
|
|
/* return values used by CheckPass()
|
|
*/
|
|
#define AUTH_SUCCESS 0 /* ok */
|
|
#define AUTH_NOUSER 1 /* no user */
|
|
#define AUTH_INVALID 2 /* invalid password */
|
|
|
|
typedef struct grpent { /* group info */
|
|
unsigned int id; /* uniqueue group id */
|
|
unsigned short port; /* port group listens on */
|
|
pid_t pid; /* pid of server for group */
|
|
int imembers; /* number of consoles in this group */
|
|
CONSENT *pCElist; /* list of consoles in this group */
|
|
CONSENT *pCEctl; /* our control `console' */
|
|
CONSCLIENT *pCLall; /* all clients to scan after select */
|
|
CONSCLIENT *pCLfree; /* head of free list */
|
|
struct grpent *pGEnext; /* next group entry */
|
|
} GRPENT;
|
|
|
|
extern time_t timers[];
|
|
|
|
extern void Spawn PARAMS((GRPENT *, int));
|
|
extern int CheckPass PARAMS((char *, char *));
|
|
extern void TagLogfile PARAMS((const CONSENT *, char *, ...));
|
|
extern void TagLogfileAct PARAMS((const CONSENT *, char *, ...));
|
|
extern void DestroyGroup PARAMS((GRPENT *));
|
|
extern void DestroyConsent PARAMS((GRPENT *, CONSENT *));
|
|
extern void SendClientsMsg PARAMS((CONSENT *, char *));
|
|
extern void ResetMark PARAMS((void));
|
|
extern void DestroyConsentUsers PARAMS((CONSENTUSERS **));
|
|
extern CONSENTUSERS *ConsentFindUser PARAMS((CONSENTUSERS *, char *));
|
|
extern int ConsentUserOk PARAMS((CONSENTUSERS *, char *));
|
|
extern void DisconnectClient
|
|
PARAMS((GRPENT *, CONSCLIENT *, char *, FLAG));
|
|
extern int ClientAccess PARAMS((CONSENT *, char *));
|
|
extern void DestroyClient PARAMS((CONSCLIENT *));
|
|
extern int CheckPasswd PARAMS((CONSCLIENT *, char *));
|
|
extern void DeUtmp PARAMS((GRPENT *, int));
|
|
extern void ClientWantsWrite PARAMS((CONSCLIENT *));
|
|
extern void SendIWaitClientsMsg PARAMS((CONSENT *, char *));
|
|
#if HAVE_OPENSSL
|
|
extern int AttemptSSL PARAMS((CONSCLIENT *));
|
|
#endif
|