Added Mgr logging, added areas security
This commit is contained in:
parent
1945482c17
commit
2c0aa5ea42
41
lib/clcomm.c
41
lib/clcomm.c
@ -1,11 +1,10 @@
|
|||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
*
|
*
|
||||||
* File ..................: clcomm.c
|
* $Id$
|
||||||
* Purpose ...............: Client/Server communications
|
* Purpose ...............: Client/Server communications
|
||||||
* Last modification date : 23-May-2001
|
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2001
|
* Copyright (C) 1997-2002
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2802
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
@ -41,6 +40,7 @@ int most_debug = FALSE; /* Toggle normal/most debugging */
|
|||||||
char progname[21]; /* Program name */
|
char progname[21]; /* Program name */
|
||||||
char logfile[PATH_MAX]; /* Normal logfile */
|
char logfile[PATH_MAX]; /* Normal logfile */
|
||||||
char errfile[PATH_MAX]; /* Error logfile */
|
char errfile[PATH_MAX]; /* Error logfile */
|
||||||
|
char mgrfile[PATH_MAX]; /* Area/File- mgr logfile */
|
||||||
long loggrade; /* Logging grade */
|
long loggrade; /* Logging grade */
|
||||||
pid_t mypid; /* Original parent pid if child */
|
pid_t mypid; /* Original parent pid if child */
|
||||||
unsigned long lcrc = 0, tcrc = 1; /* CRC value of logstring */
|
unsigned long lcrc = 0, tcrc = 1; /* CRC value of logstring */
|
||||||
@ -50,6 +50,7 @@ extern char cpath[108];
|
|||||||
extern char spath[108];
|
extern char spath[108];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
char *xmalloc(size_t size)
|
char *xmalloc(size_t size)
|
||||||
{
|
{
|
||||||
char *tmp;
|
char *tmp;
|
||||||
@ -99,7 +100,7 @@ char *xstrcat(char *src, char *add)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void InitClient(char *user, char *myname, char *where, char *log, long loggr, char *err)
|
void InitClient(char *user, char *myname, char *where, char *log, long loggr, char *err, char *mgr)
|
||||||
{
|
{
|
||||||
if ((getenv("MBSE_ROOT")) == NULL) {
|
if ((getenv("MBSE_ROOT")) == NULL) {
|
||||||
printf("Could not get the MBSE_ROOT environment variable\n");
|
printf("Could not get the MBSE_ROOT environment variable\n");
|
||||||
@ -111,6 +112,7 @@ void InitClient(char *user, char *myname, char *where, char *log, long loggr, ch
|
|||||||
sprintf(progname, "%s", myname);
|
sprintf(progname, "%s", myname);
|
||||||
sprintf(logfile, "%s", log);
|
sprintf(logfile, "%s", log);
|
||||||
sprintf(errfile, "%s", err);
|
sprintf(errfile, "%s", err);
|
||||||
|
sprintf(mgrfile, "%s", mgr);
|
||||||
loggrade = loggr;
|
loggrade = loggr;
|
||||||
|
|
||||||
sprintf(cpath, "%s/tmp/%s%d", getenv("MBSE_ROOT"), progname, getpid());
|
sprintf(cpath, "%s/tmp/%s%d", getenv("MBSE_ROOT"), progname, getpid());
|
||||||
@ -234,6 +236,9 @@ void WriteError(const char *format, ...)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Standard system logging
|
||||||
|
*/
|
||||||
void Syslog(int level, const char *format, ...)
|
void Syslog(int level, const char *format, ...)
|
||||||
{
|
{
|
||||||
char *outstr;
|
char *outstr;
|
||||||
@ -250,6 +255,9 @@ void Syslog(int level, const char *format, ...)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* System logging without string formatting.
|
||||||
|
*/
|
||||||
void Syslogp(int level, char *outstr)
|
void Syslogp(int level, char *outstr)
|
||||||
{
|
{
|
||||||
long mask = 0;
|
long mask = 0;
|
||||||
@ -321,6 +329,31 @@ void Syslogp(int level, char *outstr)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void Mgrlog(const char *format, ...)
|
||||||
|
{
|
||||||
|
char *outstr;
|
||||||
|
va_list va_ptr;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
outstr = calloc(10240, sizeof(char));
|
||||||
|
|
||||||
|
va_start(va_ptr, format);
|
||||||
|
vsprintf(outstr, format, va_ptr);
|
||||||
|
va_end(va_ptr);
|
||||||
|
|
||||||
|
for (i = 0; i < strlen(outstr); i++)
|
||||||
|
if (outstr[i] == '\r' || outstr[i] == '\n')
|
||||||
|
outstr[i] = ' ';
|
||||||
|
if (strlen(outstr) > (SS_BUFSIZE - 64))
|
||||||
|
outstr[SS_BUFSIZE - 64] = '\0';
|
||||||
|
|
||||||
|
SockS("ALOG:5,%s,%s,%d,+,%s;", mgrfile, progname, mypid, outstr);
|
||||||
|
Syslogp('+', outstr);
|
||||||
|
free(outstr);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void IsDoing(const char *format, ...)
|
void IsDoing(const char *format, ...)
|
||||||
{
|
{
|
||||||
char *outputstr;
|
char *outputstr;
|
||||||
|
@ -58,13 +58,14 @@ extern char SigName[32][16];
|
|||||||
char *xmalloc(size_t);
|
char *xmalloc(size_t);
|
||||||
char *xstrcpy(char *);
|
char *xstrcpy(char *);
|
||||||
char *xstrcat(char *, char *);
|
char *xstrcat(char *, char *);
|
||||||
void InitClient(char *, char *, char *, char *, long, char *);
|
void InitClient(char *, char *, char *, char *, long, char *, char *);
|
||||||
void ExitClient(int);
|
void ExitClient(int);
|
||||||
void SockS(const char *, ...);
|
void SockS(const char *, ...);
|
||||||
char *SockR(const char *, ...);
|
char *SockR(const char *, ...);
|
||||||
void WriteError(const char *, ...);
|
void WriteError(const char *, ...);
|
||||||
void Syslog(int, const char *, ...);
|
void Syslog(int, const char *, ...);
|
||||||
void Syslogp(int, char *);
|
void Syslogp(int, char *);
|
||||||
|
void Mgrlog(const char *, ...);
|
||||||
void RegTCP(void);
|
void RegTCP(void);
|
||||||
void IsDoing(const char *, ...);
|
void IsDoing(const char *, ...);
|
||||||
void SetTTY(char *);
|
void SetTTY(char *);
|
||||||
|
@ -796,6 +796,9 @@ struct sysconfig {
|
|||||||
int maxarticles; /* Default max articles */
|
int maxarticles; /* Default max articles */
|
||||||
char bbs_macros[65]; /* Default macros path */
|
char bbs_macros[65]; /* Default macros path */
|
||||||
char out_queue[65]; /* Outbound queue path */
|
char out_queue[65]; /* Outbound queue path */
|
||||||
|
|
||||||
|
char mgrlog[15]; /* Area/File-mgr logfile */
|
||||||
|
char aname[32][17]; /* Name of areas flags */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -1289,6 +1292,8 @@ struct _nodes {
|
|||||||
char Ct_cellphone[21]; /* Node's cellphone */
|
char Ct_cellphone[21]; /* Node's cellphone */
|
||||||
char Ct_email[31]; /* Node's email */
|
char Ct_email[31]; /* Node's email */
|
||||||
char Ct_remark[65]; /* Remark */
|
char Ct_remark[65]; /* Remark */
|
||||||
|
|
||||||
|
securityrec Security; /* Security flags */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user