mirror of
https://github.com/tnodir/fort
synced 2024-11-15 08:35:08 +00:00
Driver: fortcout: Always run log_timer
This commit is contained in:
parent
4c98816c3c
commit
f90885afef
@ -316,7 +316,7 @@ FORT_API void fort_buffer_dpc_end(PKLOCK_QUEUE_HANDLE lock_queue)
|
|||||||
KeReleaseInStackQueuedSpinLockFromDpcLevel(lock_queue);
|
KeReleaseInStackQueuedSpinLockFromDpcLevel(lock_queue);
|
||||||
}
|
}
|
||||||
|
|
||||||
FORT_API void fort_buffer_dpc_flush_pending(PFORT_BUFFER buf, PIRP *irp, ULONG_PTR *info)
|
FORT_API void fort_buffer_flush_pending(PFORT_BUFFER buf, PIRP *irp, ULONG_PTR *info)
|
||||||
{
|
{
|
||||||
UINT32 out_top = buf->out_top;
|
UINT32 out_top = buf->out_top;
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ FORT_API void fort_buffer_dpc_begin(PFORT_BUFFER buf, PKLOCK_QUEUE_HANDLE lock_q
|
|||||||
|
|
||||||
FORT_API void fort_buffer_dpc_end(PKLOCK_QUEUE_HANDLE lock_queue);
|
FORT_API void fort_buffer_dpc_end(PKLOCK_QUEUE_HANDLE lock_queue);
|
||||||
|
|
||||||
FORT_API void fort_buffer_dpc_flush_pending(PFORT_BUFFER buf, PIRP *irp, ULONG_PTR *info);
|
FORT_API void fort_buffer_flush_pending(PFORT_BUFFER buf, PIRP *irp, ULONG_PTR *info);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
} // extern "C"
|
} // extern "C"
|
||||||
|
@ -851,8 +851,6 @@ FORT_API NTSTATUS fort_callout_force_reauth(const FORT_CONF_FLAGS old_conf_flags
|
|||||||
{
|
{
|
||||||
NTSTATUS status;
|
NTSTATUS status;
|
||||||
|
|
||||||
fort_timer_set_running(&fort_device()->log_timer, /*run=*/FALSE);
|
|
||||||
|
|
||||||
/* Check app group periods & update group_bits */
|
/* Check app group periods & update group_bits */
|
||||||
{
|
{
|
||||||
int periods_n = 0;
|
int periods_n = 0;
|
||||||
@ -878,12 +876,7 @@ FORT_API NTSTATUS fort_callout_force_reauth(const FORT_CONF_FLAGS old_conf_flags
|
|||||||
status = fort_prov_trans_close(engine, status);
|
status = fort_prov_trans_close(engine, status);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (NT_SUCCESS(status)) {
|
if (!NT_SUCCESS(status)) {
|
||||||
const BOOL log_enabled = (conf_flags.allow_all_new || conf_flags.ask_to_connect
|
|
||||||
|| conf_flags.log_blocked || conf_flags.log_stat || conf_flags.log_blocked_ip);
|
|
||||||
|
|
||||||
fort_timer_set_running(&fort_device()->log_timer, /*run=*/log_enabled);
|
|
||||||
} else {
|
|
||||||
LOG("Callout Reauth: Error: %x\n", status);
|
LOG("Callout Reauth: Error: %x\n", status);
|
||||||
TRACE(FORT_CALLOUT_CALLOUT_REAUTH_ERROR, status, 0, 0);
|
TRACE(FORT_CALLOUT_CALLOUT_REAUTH_ERROR, status, 0, 0);
|
||||||
}
|
}
|
||||||
@ -891,7 +884,7 @@ FORT_API NTSTATUS fort_callout_force_reauth(const FORT_CONF_FLAGS old_conf_flags
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline static void fort_callout_timer_update_system_time(
|
inline static void fort_callout_update_system_time(
|
||||||
PFORT_STAT stat, PFORT_BUFFER buf, PIRP *irp, ULONG_PTR *info)
|
PFORT_STAT stat, PFORT_BUFFER buf, PIRP *irp, ULONG_PTR *info)
|
||||||
{
|
{
|
||||||
LARGE_INTEGER system_time;
|
LARGE_INTEGER system_time;
|
||||||
@ -914,7 +907,7 @@ inline static void fort_callout_timer_update_system_time(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inline static void fort_callout_timer_flush_stat_traf(
|
inline static void fort_callout_flush_stat_traf(
|
||||||
PFORT_STAT stat, PFORT_BUFFER buf, PIRP *irp, ULONG_PTR *info)
|
PFORT_STAT stat, PFORT_BUFFER buf, PIRP *irp, ULONG_PTR *info)
|
||||||
{
|
{
|
||||||
while (stat->proc_active_count != 0) {
|
while (stat->proc_active_count != 0) {
|
||||||
@ -923,9 +916,8 @@ inline static void fort_callout_timer_flush_stat_traf(
|
|||||||
: FORT_LOG_STAT_BUFFER_PROC_COUNT;
|
: FORT_LOG_STAT_BUFFER_PROC_COUNT;
|
||||||
const UINT32 len = FORT_LOG_STAT_SIZE(proc_count);
|
const UINT32 len = FORT_LOG_STAT_SIZE(proc_count);
|
||||||
PCHAR out;
|
PCHAR out;
|
||||||
NTSTATUS status;
|
|
||||||
|
|
||||||
status = fort_buffer_prepare(buf, len, &out, irp, info);
|
const NTSTATUS status = fort_buffer_prepare(buf, len, &out, irp, info);
|
||||||
if (!NT_SUCCESS(status)) {
|
if (!NT_SUCCESS(status)) {
|
||||||
LOG("Callout Timer: Error: %x\n", status);
|
LOG("Callout Timer: Error: %x\n", status);
|
||||||
TRACE(FORT_CALLOUT_CALLOUT_TIMER_ERROR, status, 0, 0);
|
TRACE(FORT_CALLOUT_CALLOUT_TIMER_ERROR, status, 0, 0);
|
||||||
@ -956,17 +948,17 @@ FORT_API void NTAPI fort_callout_timer(void)
|
|||||||
fort_stat_dpc_begin(stat, &stat_lock_queue);
|
fort_stat_dpc_begin(stat, &stat_lock_queue);
|
||||||
|
|
||||||
/* Get current Unix time */
|
/* Get current Unix time */
|
||||||
fort_callout_timer_update_system_time(stat, buf, &irp, &info);
|
fort_callout_update_system_time(stat, buf, &irp, &info);
|
||||||
|
|
||||||
/* Flush traffic statistics */
|
/* Flush traffic statistics */
|
||||||
fort_callout_timer_flush_stat_traf(stat, buf, &irp, &info);
|
fort_callout_flush_stat_traf(stat, buf, &irp, &info);
|
||||||
|
|
||||||
/* Unlock stat */
|
/* Unlock stat */
|
||||||
fort_stat_dpc_end(&stat_lock_queue);
|
fort_stat_dpc_end(&stat_lock_queue);
|
||||||
|
|
||||||
/* Flush pending buffer */
|
/* Flush pending buffer */
|
||||||
if (irp == NULL) {
|
if (irp == NULL) {
|
||||||
fort_buffer_dpc_flush_pending(buf, &irp, &info);
|
fort_buffer_flush_pending(buf, &irp, &info);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Unlock buffer */
|
/* Unlock buffer */
|
||||||
|
Loading…
Reference in New Issue
Block a user