summaryrefslogtreecommitdiff
path: root/src/sp_utils.c
diff options
context:
space:
mode:
authorBen Fuhrmannek2020-06-15 11:51:16 +0200
committerBen Fuhrmannek2020-06-15 11:51:16 +0200
commit7ac1e3866ef4f146c6c93a5ca13b9aebb14e936a (patch)
treece57745314d905ff06119788acb56c11dcb3aede /src/sp_utils.c
parentf742d9f88bf788e38bbe832f1b75e39784f024bc (diff)
parent7f9602ebc23582195d63eb35f1de1961297f2e00 (diff)
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'src/sp_utils.c')
-rw-r--r--src/sp_utils.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/sp_utils.c b/src/sp_utils.c
index 7641808..0f87f17 100644
--- a/src/sp_utils.c
+++ b/src/sp_utils.c
@@ -15,7 +15,28 @@ void sp_log_msg(char const* feature, int type, const char* fmt, ...) {
15 vspprintf(&msg, 0, fmt, args); 15 vspprintf(&msg, 0, fmt, args);
16 va_end(args); 16 va_end(args);
17 17
18 zend_error(type, "[snuffleupagus][%s] %s", feature, msg); 18 const char *client_ip = getenv("REMOTE_ADDR");
19 if (!client_ip) {
20 client_ip = "0.0.0.0";
21 }
22 switch (SNUFFLEUPAGUS_G(config).log_media) {
23 case SP_SYSLOG:
24 openlog(PHP_SNUFFLEUPAGUS_EXTNAME, LOG_PID, LOG_AUTH);
25 const char* error_filename = zend_get_executed_filename();
26 int syslog_level = SP_LOG_DROP ? LOG_ERR : LOG_INFO;
27 int error_lineno = zend_get_executed_lineno(TSRMLS_C);
28 syslog(syslog_level, "[snuffleupagus][%s][%s] %s in %s on line %d", client_ip, feature, msg,
29 error_filename, error_lineno);
30 closelog();
31 if (type == SP_LOG_DROP) {
32 zend_bailout();
33 }
34 break;
35 case SP_ZEND:
36 default:
37 zend_error(type, "[snuffleupagus][%s][%s] %s", client_ip, feature, msg);
38 break;
39 }
19} 40}
20 41
21int compute_hash(const char* const filename, char* file_hash) { 42int compute_hash(const char* const filename, char* file_hash) {