summaryrefslogtreecommitdiff
path: root/main/main.c
diff options
context:
space:
mode:
authorPhilip Prindeville <philipp@redfish-solutions.com>2017-08-22 16:34:06 -0600
committerJakub Zelenka <bukka@php.net>2018-07-01 18:08:07 +0100
commit2475337bd8a0fad0dac03db3f5e7e9d331d53653 (patch)
treeb63e4fb01f947716d1d0f0b99e2ef7e1d679126c /main/main.c
parent0c4f4481f59489c9de62489a396964e221ef793c (diff)
downloadphp-git-2475337bd8a0fad0dac03db3f5e7e9d331d53653.tar.gz
Add syslog's ident and facility parameters to config
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Diffstat (limited to 'main/main.c')
-rw-r--r--main/main.c141
1 files changed, 141 insertions, 0 deletions
diff --git a/main/main.c b/main/main.c
index e8599425f0..874c00e70f 100644
--- a/main/main.c
+++ b/main/main.c
@@ -148,6 +148,143 @@ static char *get_safe_charset_hint(void) {
/* {{{ PHP_INI_MH
*/
+static PHP_INI_MH(OnSetFacility)
+{
+ const char *facility = ZSTR_VAL(new_value);
+
+#ifdef LOG_AUTH
+ if (!strcmp(facility, "LOG_AUTH") || !strcmp(facility, "auth") || !strcmp(facility, "security")) {
+ PG(syslog_facility) = LOG_AUTH;
+ return SUCCESS;
+ }
+#endif
+#ifdef LOG_AUTHPRIV
+ if (!strcmp(facility, "LOG_AUTHPRIV") || !strcmp(facility, "authpriv")) {
+ PG(syslog_facility) = LOG_AUTHPRIV;
+ return SUCCESS;
+ }
+#endif
+#ifdef LOG_CRON
+ if (!strcmp(facility, "LOG_CRON") || !strcmp(facility, "cron")) {
+ PG(syslog_facility) = LOG_CRON;
+ return SUCCESS;
+ }
+#endif
+#ifdef LOG_DAEMON
+ if (!strcmp(facility, "LOG_DAEMON") || !strcmp(facility, "daemon")) {
+ PG(syslog_facility) = LOG_DAEMON;
+ return SUCCESS;
+ }
+#endif
+#ifdef LOG_FTP
+ if (!strcmp(facility, "LOG_FTP") || !strcmp(facility, "ftp")) {
+ PG(syslog_facility) = LOG_FTP;
+ return SUCCESS;
+ }
+#endif
+#ifdef LOG_KERN
+ if (!strcmp(facility, "LOG_KERN") || !strcmp(facility, "kern")) {
+ PG(syslog_facility) = LOG_KERN;
+ return SUCCESS;
+ }
+#endif
+#ifdef LOG_LPR
+ if (!strcmp(facility, "LOG_LPR") || !strcmp(facility, "lpr")) {
+ PG(syslog_facility) = LOG_LPR;
+ return SUCCESS;
+ }
+#endif
+#ifdef LOG_MAIL
+ if (!strcmp(facility, "LOG_MAIL") || !strcmp(facility, "mail")) {
+ PG(syslog_facility) = LOG_MAIL;
+ return SUCCESS;
+ }
+#endif
+#ifdef LOG_INTERNAL_MARK
+ if (!strcmp(facility, "LOG_INTERNAL_MARK") || !strcmp(facility, "mark")) {
+ PG(syslog_facility) = LOG_INTERNAL_MARK;
+ return SUCCESS;
+ }
+#endif
+#ifdef LOG_NEWS
+ if (!strcmp(facility, "LOG_NEWS") || !strcmp(facility, "news")) {
+ PG(syslog_facility) = LOG_NEWS;
+ return SUCCESS;
+ }
+#endif
+#ifdef LOG_SYSLOG
+ if (!strcmp(facility, "LOG_SYSLOG") || !strcmp(facility, "syslog")) {
+ PG(syslog_facility) = LOG_SYSLOG;
+ return SUCCESS;
+ }
+#endif
+#ifdef LOG_USER
+ if (!strcmp(facility, "LOG_USER") || !strcmp(facility, "user")) {
+ PG(syslog_facility) = LOG_USER;
+ return SUCCESS;
+ }
+#endif
+#ifdef LOG_UUCP
+ if (!strcmp(facility, "LOG_UUCP") || !strcmp(facility, "uucp")) {
+ PG(syslog_facility) = LOG_UUCP;
+ return SUCCESS;
+ }
+#endif
+#ifdef LOG_LOCAL0
+ if (!strcmp(facility, "LOG_LOCAL0") || !strcmp(facility, "local0")) {
+ PG(syslog_facility) = LOG_LOCAL0;
+ return SUCCESS;
+ }
+#endif
+#ifdef LOG_LOCAL1
+ if (!strcmp(facility, "LOG_LOCAL1") || !strcmp(facility, "local1")) {
+ PG(syslog_facility) = LOG_LOCAL1;
+ return SUCCESS;
+ }
+#endif
+#ifdef LOG_LOCAL2
+ if (!strcmp(facility, "LOG_LOCAL2") || !strcmp(facility, "local2")) {
+ PG(syslog_facility) = LOG_LOCAL2;
+ return SUCCESS;
+ }
+#endif
+#ifdef LOG_LOCAL3
+ if (!strcmp(facility, "LOG_LOCAL3") || !strcmp(facility, "local3")) {
+ PG(syslog_facility) = LOG_LOCAL3;
+ return SUCCESS;
+ }
+#endif
+#ifdef LOG_LOCAL4
+ if (!strcmp(facility, "LOG_LOCAL4") || !strcmp(facility, "local4")) {
+ PG(syslog_facility) = LOG_LOCAL4;
+ return SUCCESS;
+ }
+#endif
+#ifdef LOG_LOCAL5
+ if (!strcmp(facility, "LOG_LOCAL5") || !strcmp(facility, "local5")) {
+ PG(syslog_facility) = LOG_LOCAL5;
+ return SUCCESS;
+ }
+#endif
+#ifdef LOG_LOCAL6
+ if (!strcmp(facility, "LOG_LOCAL6") || !strcmp(facility, "local6")) {
+ PG(syslog_facility) = LOG_LOCAL6;
+ return SUCCESS;
+ }
+#endif
+#ifdef LOG_LOCAL7
+ if (!strcmp(facility, "LOG_LOCAL7") || !strcmp(facility, "local7")) {
+ PG(syslog_facility) = LOG_LOCAL7;
+ return SUCCESS;
+ }
+#endif
+
+ return FAILURE;
+}
+/* }}} */
+
+/* {{{ PHP_INI_MH
+ */
static PHP_INI_MH(OnSetPrecision)
{
zend_long i;
@@ -636,6 +773,8 @@ PHP_INI_BEGIN()
#ifdef PHP_WIN32
STD_PHP_INI_BOOLEAN("windows.show_crt_warning", "0", PHP_INI_ALL, OnUpdateBool, windows_show_crt_warning, php_core_globals, core_globals)
#endif
+ STD_PHP_INI_ENTRY("syslog.facility", "LOG_USER", PHP_INI_SYSTEM, OnSetFacility, syslog_facility, php_core_globals, core_globals)
+ STD_PHP_INI_ENTRY("syslog.ident", "php", PHP_INI_SYSTEM, OnUpdateString, syslog_ident, php_core_globals, core_globals)
PHP_INI_END()
/* }}} */
@@ -2135,6 +2274,8 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod
CWDG(realpath_cache_size_limit) = 0;
}
+ PG(have_called_openlog) = 0;
+
/* initialize stream wrappers registry
* (this uses configuration parameters from php.ini)
*/