* [windows_kext] Fix reading only the needed TCP/UDP header bytes * [windows_kext] Disable debug mode * [windows_kext] Block all fragment packets * [windows_kext] Improve wording for compiler error
48 lines
1.2 KiB
Rust
48 lines
1.2 KiB
Rust
#![cfg_attr(not(test), no_std)]
|
|
#![no_main]
|
|
#![allow(clippy::needless_return)]
|
|
|
|
extern crate alloc;
|
|
|
|
mod ale_callouts;
|
|
mod array_holder;
|
|
mod bandwidth;
|
|
mod callouts;
|
|
mod common;
|
|
mod connection;
|
|
mod connection_cache;
|
|
mod connection_map;
|
|
mod device;
|
|
mod entry;
|
|
mod id_cache;
|
|
pub mod logger;
|
|
mod packet_callouts;
|
|
mod packet_util;
|
|
mod stream_callouts;
|
|
|
|
use wdk::allocator::WindowsAllocator;
|
|
|
|
// For consistent behavior during development and production only release mode should be used.
|
|
// Certain behavior of the compiler will change and this can result in errors and different behavior in debug and release mode.
|
|
#[cfg(debug_assertions)]
|
|
compile_error!("Must be built in release mode to ensure consistent behavior and prevent optimization-related issues. Use `cargo build --release`.");
|
|
|
|
#[cfg(not(test))]
|
|
use core::panic::PanicInfo;
|
|
|
|
// Declaration of the global memory allocator
|
|
#[global_allocator]
|
|
static HEAP: WindowsAllocator = WindowsAllocator {};
|
|
|
|
#[no_mangle]
|
|
pub extern "system" fn _DllMainCRTStartup() {}
|
|
|
|
#[cfg(not(test))]
|
|
#[panic_handler]
|
|
fn panic(info: &PanicInfo) -> ! {
|
|
use wdk::err;
|
|
|
|
err!("{}", info);
|
|
loop {}
|
|
}
|