New functions ngt_SyslogFacilityName() and ngt_SyslogFacilityID()
These both functions translate syslog facility names to ID numbers and vice versa. On systems that don't define the facilitynames[] array in syslog.h, we try to build one ourself.
This commit is contained in:
parent
e2ba7e08b4
commit
4943bbb066
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* ngIRCd -- The Next Generation IRC Daemon
|
* ngIRCd -- The Next Generation IRC Daemon
|
||||||
* Copyright (c)2001-2009 Alexander Barton (alex@barton.de)
|
* Copyright (c)2001-2010 Alexander Barton (alex@barton.de)
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -22,6 +22,11 @@
|
||||||
|
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
|
|
||||||
|
#ifdef SYSLOG
|
||||||
|
#define SYSLOG_NAMES 1
|
||||||
|
#include <syslog.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "exp.h"
|
#include "exp.h"
|
||||||
#include "tool.h"
|
#include "tool.h"
|
||||||
|
|
||||||
|
@ -122,4 +127,92 @@ ngt_TrimLastChr( char *String, const char Chr)
|
||||||
} /* ngt_TrimLastChr */
|
} /* ngt_TrimLastChr */
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef SYSLOG
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef INTERNAL_MARK
|
||||||
|
|
||||||
|
#ifndef _code
|
||||||
|
typedef struct _code {
|
||||||
|
char *c_name;
|
||||||
|
int c_val;
|
||||||
|
} CODE;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
CODE facilitynames[] = {
|
||||||
|
#ifdef LOG_AUTH
|
||||||
|
{ "auth", LOG_AUTH },
|
||||||
|
#endif
|
||||||
|
#ifdef LOG_AUTHPRIV
|
||||||
|
{ "authpriv", LOG_AUTHPRIV },
|
||||||
|
#endif
|
||||||
|
#ifdef LOG_CRON
|
||||||
|
{ "cron", LOG_CRON },
|
||||||
|
#endif
|
||||||
|
#ifdef LOG_DAEMON
|
||||||
|
{ "daemon", LOG_DAEMON },
|
||||||
|
#endif
|
||||||
|
#ifdef LOG_FTP
|
||||||
|
{ "ftp", LOG_FTP },
|
||||||
|
#endif
|
||||||
|
#ifdef LOG_LPR
|
||||||
|
{ "lpr", LOG_LPR },
|
||||||
|
#endif
|
||||||
|
#ifdef LOG_MAIL
|
||||||
|
{ "mail", LOG_MAIL },
|
||||||
|
#endif
|
||||||
|
#ifdef LOG_NEWS
|
||||||
|
{ "news", LOG_NEWS },
|
||||||
|
#endif
|
||||||
|
#ifdef LOG_UUCP
|
||||||
|
{ "uucp", LOG_UUCP },
|
||||||
|
#endif
|
||||||
|
#ifdef LOG_USER
|
||||||
|
{ "user", LOG_USER },
|
||||||
|
#endif
|
||||||
|
#ifdef LOG_LOCAL7
|
||||||
|
{ "local0", LOG_LOCAL0 },
|
||||||
|
{ "local1", LOG_LOCAL1 },
|
||||||
|
{ "local2", LOG_LOCAL2 },
|
||||||
|
{ "local3", LOG_LOCAL3 },
|
||||||
|
{ "local4", LOG_LOCAL4 },
|
||||||
|
{ "local5", LOG_LOCAL5 },
|
||||||
|
{ "local6", LOG_LOCAL6 },
|
||||||
|
{ "local7", LOG_LOCAL7 },
|
||||||
|
#endif
|
||||||
|
{ 0, -1 }
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
GLOBAL char
|
||||||
|
*ngt_SyslogFacilityName(int Facility)
|
||||||
|
{
|
||||||
|
int i = 0;
|
||||||
|
while(facilitynames[i].c_name) {
|
||||||
|
if (facilitynames[i].c_val == Facility)
|
||||||
|
return facilitynames[i].c_name;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
return "unknown";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
GLOBAL int
|
||||||
|
ngt_SyslogFacilityID(char *Name, int DefaultFacility)
|
||||||
|
{
|
||||||
|
int i = 0;
|
||||||
|
while(facilitynames[i].c_name) {
|
||||||
|
if (strcasecmp(facilitynames[i].c_name, Name) == 0)
|
||||||
|
return facilitynames[i].c_val;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
return DefaultFacility;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* -eof- */
|
/* -eof- */
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* ngIRCd -- The Next Generation IRC Daemon
|
* ngIRCd -- The Next Generation IRC Daemon
|
||||||
* Copyright (c)2001-2008 by Alexander Barton (alex@barton.de)
|
* Copyright (c)2001-2010 Alexander Barton (alex@barton.de)
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -29,6 +29,11 @@ GLOBAL void ngt_TrimStr PARAMS((char *String ));
|
||||||
GLOBAL char *ngt_UpperStr PARAMS((char *String ));
|
GLOBAL char *ngt_UpperStr PARAMS((char *String ));
|
||||||
GLOBAL char *ngt_LowerStr PARAMS((char *String ));
|
GLOBAL char *ngt_LowerStr PARAMS((char *String ));
|
||||||
|
|
||||||
|
#ifdef SYSLOG
|
||||||
|
GLOBAL char *ngt_SyslogFacilityName PARAMS((int Facility));
|
||||||
|
GLOBAL int ngt_SyslogFacilityID PARAMS((char *Name, int DefaultFacility));
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue