50#if ! ( defined ( CONSOLE_SYSLOGS ) && CONSOLE_EXPLICIT ( CONSOLE_SYSLOGS ) )
52#define CONSOLE_SYSLOGS ( CONSOLE_USAGE_ALL & ~CONSOLE_USAGE_TUI )
68 DBG (
"SYSLOGS console disconnected: %s\n",
strerror (
rc ) );
85 if ( syslogs_console.disabled )
86 DBG (
"SYSLOGS console connected\n" );
87 syslogs_console.disabled = 0;
128 if ( params[0] >= 0 ) {
175 DBG (
"SYSLOGS could not send log message: %s\n",
200 .description =
"Encrypted syslog server",
202 .type = &setting_type_string,
211 static char *old_server;
222 if ( ( ( server ==
NULL ) && ( old_server ==
NULL ) ) ||
223 ( ( server !=
NULL ) && ( old_server !=
NULL ) &&
224 (
strcmp ( server, old_server ) == 0 ) ) ) {
237 DBG (
"SYSLOGS has no log server\n" );
244 if ( ( sep =
strrchr ( server,
':' ) ) &&
245 ( server[
strlen ( server ) - 1 ] !=
']' ) ) {
248 if ( *
end || ( ! *sep ) ) {
249 DBG (
"SYSLOGS log server %s:%s has invalid port\n",
256 DBG (
"SYSLOGS using log server %s:%d\n", server,
port );
261 server,
NULL ) ) != 0 ) {
262 DBG (
"SYSLOGS cannot connect to log server: %s\n",
264 goto err_open_named_socket;
269 DBG (
"SYSLOGS cannot create TLS filter: %s\n",
282 err_open_named_socket:
#define NULL
NULL pointer (VOID *)
struct golan_eq_context ctx
struct arbelprm_rc_send_wqe rc
#define ANSIESC_LOG_PRIORITY
Explicit log message priority.
#define __unused
Declare a variable or data structure as unused.
#define DBG(...)
Print a debugging message.
#define DHCP_EB_SYSLOGS_SERVER
Encrypted syslog server.
static unsigned int count
Number of entries.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define EINVAL
Invalid argument.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
#define SETTING_MISC
Miscellaneous settings.
#define CONSOLE_DISABLED
Console is disabled for all uses.
#define __console_driver
Mark a struct console_driver as being part of the console drivers table.
Dynamic Host Configuration Protocol.
#define __setting(setting_order, name)
Declare a configuration setting.
#define __settings_applicator
Declare a settings applicator.
Transport-network layer interface.
void intf_close(struct interface *intf, int rc)
Close an object interface.
void intf_restart(struct interface *intf, int rc)
Shut down and restart an object interface.
#define INTF_DESC_PURE(operations)
Define an object interface descriptor for a pure-interface object.
#define INTF_INIT(descriptor)
Initialise a static object interface.
#define INTF_OP(op_type, object_type, op_func)
Define an object interface operation.
#define SYSLOG_DEFAULT_SEVERITY
Syslog default severity.
#define SYSLOG_PORT
Syslog server port.
#define SYSLOG_BUFSIZE
Syslog line buffer size.
size_t line_putchar(struct line_console *line, int character)
Print a character to a line-based console.
uint32_t end
Ending offset.
Data transfer interface opening.
static void(* free)(struct refcnt *refcnt))
int xfer_open_named_socket(struct interface *xfer, int semantics, struct sockaddr *peer, const char *name, struct sockaddr *local)
Open named socket.
int fetch_string_setting_copy(struct settings *settings, const struct setting *setting, char **data)
Fetch value of string setting.
char * strerror(int errno)
Retrieve string representation of error number.
unsigned long strtoul(const char *string, char **endp, int base)
Convert string to numeric value.
int strcmp(const char *first, const char *second)
Compare strings.
char * strrchr(const char *src, int character)
Find rightmost character within a string.
size_t strlen(const char *src)
Get length of string.
ANSI escape sequence context.
A handler for an escape sequence.
An object interface descriptor.
An object interface operation.
Generalized socket address structure.
int syslog_send(struct interface *xfer, unsigned int severity, const char *message, const char *terminator)
Transmit formatted syslog message.
static void syslogs_putchar(int character)
Print a character to encrypted syslog console.
static char syslogs_buffer[SYSLOG_BUFSIZE]
Encrypted syslog line buffer.
static struct ansiesc_handler syslogs_handlers[]
Encrypted syslog ANSI escape sequence handlers.
static struct interface_operation syslogs_operations[]
Encrypted syslog TLS interface operations.
static void syslogs_handle_priority(struct ansiesc_context *ctx __unused, unsigned int count __unused, int params[])
Handle ANSI set encrypted syslog priority (private sequence)
static struct sockaddr_tcpip logserver
The encrypted syslog server.
static void syslogs_window_changed(struct interface *intf)
Handle encrypted syslog TLS interface window change.
static struct interface syslogs
The encrypted syslog TLS interface.
static struct line_console syslogs_line
Encrypted syslog line console.
static unsigned int syslogs_severity
Encrypted syslog severity.
static int apply_syslogs_settings(void)
Apply encrypted syslog settings.
static struct interface_descriptor syslogs_desc
Encrypted syslog TLS interface descriptor.
static int syslogs_entered
Encrypted syslog recursion marker.
static void syslogs_close(struct interface *intf, int rc)
Handle encrypted syslog TLS interface close.
int add_tls(struct interface *xfer, const char *name, struct x509_root *root, struct private_key *key)
Add TLS on an interface.
Transport Layer Security Protocol.
size_t xfer_window(struct interface *intf)
Check flow control window.
void xfer_window_changed(struct interface *intf)
Report change of flow control window.
Data transfer interfaces.