⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.23
Server IP:
178.33.27.10
Server:
Linux cpanel.dev-unit.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
Server Software:
Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips
PHP Version:
8.2.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
local
/
src
/
netdata
/
collectors
/
log2journal
/
View File Name :
log2journal-pattern.c
// SPDX-License-Identifier: GPL-3.0-or-later #include "log2journal.h" void search_pattern_cleanup(SEARCH_PATTERN *sp) { if(sp->pattern) { freez((void *)sp->pattern); sp->pattern = NULL; } if(sp->re) { pcre2_code_free(sp->re); sp->re = NULL; } if(sp->match_data) { pcre2_match_data_free(sp->match_data); sp->match_data = NULL; } txt_cleanup(&sp->error); } static void pcre2_error_message(SEARCH_PATTERN *sp, int rc, int pos) { char msg[1024]; pcre2_get_error_in_buffer(msg, sizeof(msg), rc, pos); txt_replace(&sp->error, msg, strlen(msg)); } static inline bool compile_pcre2(SEARCH_PATTERN *sp) { int error_number; PCRE2_SIZE error_offset; PCRE2_SPTR pattern_ptr = (PCRE2_SPTR)sp->pattern; sp->re = pcre2_compile(pattern_ptr, PCRE2_ZERO_TERMINATED, 0, &error_number, &error_offset, NULL); if (!sp->re) { pcre2_error_message(sp, error_number, (int) error_offset); return false; } return true; } bool search_pattern_set(SEARCH_PATTERN *sp, const char *search_pattern, size_t search_pattern_len) { search_pattern_cleanup(sp); sp->pattern = strndupz(search_pattern, search_pattern_len); if (!compile_pcre2(sp)) return false; sp->match_data = pcre2_match_data_create_from_pattern(sp->re, NULL); return true; }