1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-09 07:23:13 +02:00
Commit Graph

22 Commits

Author SHA1 Message Date
Bram Matthys cfccc8f05c Add $client.servername. Also add json_string_possibly_null() which is
a wrapper that will return a 'null' JSON object for null strings and
otherwise a string object for non-NULL. It seems by default this is
not the case which is a bit annoying. Maybe we should re-wrap all
code to use this. We'll see.
The problem is when this is not done, then a $variable won't be
expanded and would show up like literally "$variable" as if the
variable was never passed on.
2021-08-06 09:24:24 +02:00
Bram Matthys 5b44baab1f ULOG_WARN -> ULOG_WARNING. Better be consistent. This was the only
ULOG_* level that used an abbreviated term.
2021-08-06 08:50:45 +02:00
Bram Matthys e29fd0afdc Show [debug] instead of [???] 2021-08-05 20:43:02 +02:00
Bram Matthys 55f2ef502e Newlog: add $client.info (gecos/realname for users, info on servers) 2021-08-05 20:16:09 +02:00
Bram Matthys 6bad375ad7 Rename channel->chname to channel->name. 2021-08-05 16:34:45 +02:00
Bram Matthys 5e94b1cddb Newlog updates in serv.c 2021-08-05 13:49:36 +02:00
Bram Matthys 9889ed386b Newlog: for zero TS, such as a expiry_at of 0 which means never/infinity,
return a timestamp of null in JSON. And also blackhole some shit.
2021-08-05 11:47:21 +02:00
Bram Matthys f5852ce534 Newlog: add log_data_timestamp() and use ISO8601 timestamps in JSON
logging. We already did so for the "timestamp" of the log message,
but now also do it in other log messages that have a timestamp,
such as "set_at" and "expire_at" in TKL entries.
2021-08-05 11:11:21 +02:00
Bram Matthys 91ba0ca441 More updates to TKL for new log system. Also in the spamfilter hit
message we now show the action that was taken.
2021-08-05 10:48:34 +02:00
Bram Matthys dbdfb7c656 Update TKL code to use new logging system. Make the TKL add/del/expiry
messages more consistent at the same time.
2021-08-05 10:19:05 +02:00
Bram Matthys b23f7e77c7 Add unreal_log_raw() if you want to log a buffer directly without expanding
the $stuff in it. This is unusual, but possible in some cases.
Generally people should use unreal_log(), though.
2021-08-05 07:54:22 +02:00
Bram Matthys 413def178c Add early loglevel to snomask code. Hardcoded atm. 2021-08-05 07:34:03 +02:00
Bram Matthys 9987b6b862 Temporarily send all unreal_log() msgs to sendto_realops() 2021-07-14 14:12:22 +02:00
Bram Matthys 49fe200243 unreal_log(), connect_server and report_error() / report_baderror():
* Converted 90% of the socket and linking errors to use unreal_log()
* Add log_data_socket_error(fd) and $socket_error
* This also makes connect_server() 'void' and removes all of the error
  reporting from the callers (there was 3x code duplication due to that)
* Don't use report_error and report_baderror anymore in socket.c
* More to follow...
2021-07-14 13:33:18 +02:00
Bram Matthys f50d97474e Fix unreal_log() with $vars that are integers not working.
This adds json_get_value().
2021-07-14 11:36:27 +02:00
Bram Matthys 1068960b9a We now compile with -Wformat-nonliteral by default.
This adds __attribute__((format(printf,X,Y))) to several functions.
It also adds checking only for the non-literal case to some functions
such as unreal_log/unreal_do_log.

This so we can more easily detect format string issues. Especially now with
the recoding of the logger and with possible future mistakes in this area
in UnrealIRCd 6 itself or in third party modules.

The check is currently disabled in these files, which are TODO items:
* src/send.c: still much work to do
* src/socket.c: due to report_error and report_baderror().
  I want to get rid of these functions and integrate them
  in the new logger anyway.
* src/serv.c: only disable for hunt_server()
2021-07-14 11:15:49 +02:00
Bram Matthys 01c418c4d5 src/log.c errors should use errno, not ERRNO, as the latter actually
uses WSAGetLastError() on Windows, which obviously makes no sense.
This mistake comes from the original ircd_log() by the way.
2021-07-13 19:58:14 +02:00
Bram Matthys a57bdba220 Move CONFIG_TEST/CONFIG_RUN stuff for logging from conf.c to log.c
Still some other stuff to move too eg rehash/freeing stuff etc.
2021-07-12 18:00:41 +02:00
Bram Matthys 76b1d756dd Make ircd_log() call new unreal logger. Start of transition.
Broken now:
- All filtering (log::flags)
- Everything is seen as error unknown UNKNOWN

Working:
- log::type json
- logging still works, other than the limitations of above
2021-07-12 17:49:42 +02:00
Bram Matthys b871d2a177 Add log::type for 'json' (work in progress) 2021-07-12 17:24:16 +02:00
Bram Matthys f2eef5caca Remove old leftover code in logger 2021-07-12 17:01:33 +02:00
Bram Matthys f89348d26c Add JSON logger - initial work 2021-07-12 14:37:25 +02:00