diff options
Diffstat (limited to 'dev/Kernel/src/Network')
| -rw-r--r-- | dev/Kernel/src/Network/IPAddr.cc (renamed from dev/Kernel/src/Network/IP.cc) | 7 | ||||
| -rw-r--r-- | dev/Kernel/src/Network/IPCAddr.cc | 0 | ||||
| -rw-r--r-- | dev/Kernel/src/Network/IPCMsg.cc (renamed from dev/Kernel/src/Network/IPC.cc) | 80 |
3 files changed, 44 insertions, 43 deletions
diff --git a/dev/Kernel/src/Network/IP.cc b/dev/Kernel/src/Network/IPAddr.cc index 2a07bc62..f8e3e903 100644 --- a/dev/Kernel/src/Network/IP.cc +++ b/dev/Kernel/src/Network/IPAddr.cc @@ -104,9 +104,12 @@ namespace Kernel bool IPFactory::IpCheckVersion4(const Char* ip) { - int cnter = 0; + if (!ip) + return NO; - for (Size base = 0; base < rt_string_len(ip); ++base) + Int32 cnter = 0; + + for (SizeT base = 0; base < rt_string_len(ip); ++base) { if (ip[base] == '.') { diff --git a/dev/Kernel/src/Network/IPCAddr.cc b/dev/Kernel/src/Network/IPCAddr.cc new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/dev/Kernel/src/Network/IPCAddr.cc diff --git a/dev/Kernel/src/Network/IPC.cc b/dev/Kernel/src/Network/IPCMsg.cc index 44b4665c..c93f7e7a 100644 --- a/dev/Kernel/src/Network/IPC.cc +++ b/dev/Kernel/src/Network/IPCMsg.cc @@ -8,57 +8,55 @@ #include <KernelKit/LPC.h> #include <KernelKit/UserProcessScheduler.h> -using namespace Kernel; - -/// @internal -/// @brief The internal sanitize function. -Bool ipc_int_sanitize_packet(IPCMessage* pckt) +namespace Kernel { - auto endian = rtl_deduce_endianess(pckt, ((Char*)pckt)[0]); - - switch (endian) + /// @internal + /// @brief The internal sanitize function. + Bool ipc_int_sanitize_packet(IPC_MSG* pckt) { - case Endian::kEndianBig: { - if (pckt->IpcEndianess == kIPCLittleEndian) - goto ipc_check_failed; + auto endian = rtl_deduce_endianess(pckt, ((Char*)pckt)[0]); - break; - } - case Endian::kEndianLittle: { - if (pckt->IpcEndianess == kIPCBigEndian) + switch (endian) + { + case Endian::kEndianBig: { + if (pckt->IpcEndianess == kIPCLittleEndian) + goto ipc_check_failed; + + break; + } + case Endian::kEndianLittle: { + if (pckt->IpcEndianess == kIPCBigEndian) + goto ipc_check_failed; + + break; + } + case Endian::kEndianMixed: { + if (pckt->IpcEndianess == kIPCMixedEndian) + goto ipc_check_failed; + + break; + } + default: goto ipc_check_failed; + } - break; - } - case Endian::kEndianMixed: { - if (pckt->IpcEndianess == kIPCMixedEndian) + if (pckt->IpcFrom == pckt->IpcTo || + pckt->IpcPacketSize > kIPCMsgSize) + { goto ipc_check_failed; + } - break; - } - default: - goto ipc_check_failed; - } + return pckt->IpcPacketSize > 1 && pckt->IpcHeaderMagic == kIPCHeaderMagic; - if (pckt->IpcFrom == pckt->IpcTo || - pckt->IpcPacketSize > kIPCMsgSize) - { - goto ipc_check_failed; + ipc_check_failed: + err_local_get() = kErrorIPC; + return false; } - return pckt->IpcPacketSize > 1 && pckt->IpcHeaderMagic == kIPCHeaderMagic; - -ipc_check_failed: - err_local_get() = kErrorIPC; - return false; -} - -namespace Kernel -{ /// @brief Sanitize packet function /// @retval true packet is correct. /// @retval false packet is incorrect and process has crashed. - Bool ipc_sanitize_packet(IPCMessage* pckt) + Bool ipc_sanitize_packet(IPC_MSG* pckt) { if (!pckt || !ipc_int_sanitize_packet(pckt)) @@ -73,7 +71,7 @@ namespace Kernel /// @brief Construct packet function /// @retval true packet is correct. /// @retval false packet is incorrect and process has crashed. - Bool ipc_construct_packet(_Output IPCMessage** pckt_in) + Bool ipc_construct_packet(_Output IPC_MSG** pckt_in) { // don't act if it's not even valid. if (!pckt_in) @@ -90,7 +88,7 @@ namespace Kernel return false; } - *pckt_in = new IPCMessage(); + *pckt_in = new IPC_MSG(); if (*pckt_in) { @@ -99,7 +97,7 @@ namespace Kernel (*pckt_in)->IpcHeaderMagic = kIPCHeaderMagic; (*pckt_in)->IpcEndianess = static_cast<UInt8>(endian); - (*pckt_in)->IpcPacketSize = sizeof(IPCMessage); + (*pckt_in)->IpcPacketSize = sizeof(IPC_MSG); (*pckt_in)->IpcTo.UserProcessID = 0; (*pckt_in)->IpcTo.UserProcessTeam = 0; |
