Commit graph

529 commits

Author SHA1 Message Date
TomAwezome
239a5cdf87 Implement TCPRep for reporting bound/connected TCP Sockets.
Fix ARP not updating cached entries on ARPCachePut calls.
Fix DNS not updating cached entries on DNSCachePut calls.
Clean up repeated gross syntax in DHCPOfferParse.
Fix Host() and DNSRep IPV4 kludge, use proper switch case block based on result address family type.
Change CNetQueueEntry member variable length to packet_length.
Remove Debug statements when sockets use AF_INET6 or AF_UNSPEC, change to NetErr.
Change UDP message queues to be allocated and initialized when UDPSocket is called, instead of when binding.
Standardize filenames in Tests/ folder.
Remove old test files.
Remove outdated TODO comments.
2021-05-18 02:09:59 -04:00
TomAwezome
cf7ad1a5a7 Implement TCP Chat application.
Fix TCP Socket receive buffer read and write position miscalculations.
Fix TCP Socket send window endianness.
Implement non-blocking TCP Sockets, alter timeout logic.
Move network applications to Programs folder.
Fix TCP Socket Accept using wrong timeout value.
Fix TCP Socket Accept not removing and freeing pending connection requests upon connect failure.
2021-05-14 04:08:38 -04:00
TomAwezome
6f6c8df2e9 Fix TCP Socket Send/Receive not returning upon timeout. 2021-05-12 19:47:16 -04:00
TomAwezome
9f0e880fab Fix TCP Socket Connect not setting receive window class member. 2021-05-12 17:32:07 -04:00
TomAwezome
b99dd94db9 Change TomLight palette to Light, brighten colors, improve system responsiveness by lowering double-click wait time. 2021-05-12 15:57:59 -04:00
TomAwezome
3917898085 Fix TCP socket connect not sending ACK after receiving SYN ACK.
Fix missing socket FSM state transition after binding a new connection.
Fix TCP socket send unused sent_total variable.
Integrate INADDR_ANY address handling procedure used in TCP to UDP.
Change two TCP tests into TCPEchoClient.CC and TCPEchoServer.CC, alter to make compatible with Shrine's echo tests.
Split long lines of code to multiple lines to fit better in default resolution.
2021-05-12 02:43:59 -04:00
TomAwezome
05dd1af872 Begin TCP implementation.
Create Binary Search Tree (BST) generic data structure and methods, integrate TCP and UDP bound socket tree structures with BST system.
Fix incorrect variable name for packet data frames across stack codebase.
Split UDP and TCP into multiple files and their own folders for organization.
Update low-level Socket functions to return Bool types, for determining success/failure of state transitions.
Integrate updated Socket function return types into TCP and UDP methods.
Add NetStop() and NetStart() functions in PCNet-II code to easily halt and continue network activity.
Add NetDebug() log output function.
Update networking documentation to reflect changes, remove outdated documentation.
2021-05-10 20:15:27 -04:00
TomAwezome
3df5dd4a9f Implement NetRep for full network data report.
Implement IPV4Rep to report local, router, and subnet IPV4 addresses.
Expand UDPRep to report socket timeout and info about messages queued at the socket.
2021-03-01 03:55:49 -05:00
TomAwezome
91f380b0b6 Implement UDPRep to report info on currently bound sockets.
Clean up ARPRep some.
Fix NetworkToPresentation returning bad string.
Fix UDP Chat not closing bound socket.
Fix UDPSocketBind unintentional fall-through.
Add another Test for binding UDP sockets.
2021-02-27 22:33:34 -05:00
TomAwezome
bc30fdc12f Remove unnecessary parens in network stack. 2021-02-24 01:22:30 -05:00
VoidNV
c114aeff41 Set theme jekyll-theme-slate 2021-02-23 08:01:57 -06:00
TomAwezome
a9b1fb2da1 Standardize Networking method naming convention.
Update Networking docs.
Update description in Chat.CC.
Add clarifications to ICMP, DHCP methods.
Revised names of some networking methods for brevity.
2021-02-22 18:50:14 -05:00
TomAwezome
51efddc954 Clean up networking code. Fix missing DCDel in Stars wallpaper. 2021-02-22 03:35:59 -05:00
TomAwezome
f5d80414c4 Reduce UDP system overhead. 2021-02-22 03:08:08 -05:00
VoidNV
0b60b0dbe5 Fix spacing in /Doc/Tips.DD 2021-02-09 05:27:37 -06:00
VoidNV
4b1150df86 Rename MSRGet() -> MSRRead(), MSRSet() -> MSRWrite() 2021-02-09 05:20:31 -06:00
TomAwezome
40b85644ba Implemented proof-of-concept UDP chat program.
Added Port Control Protocol prototyping in Tests folder.
ARP Handler now warns when seeing requests with non-matching target IPs, and reports error on unrecognized operations.
ICMP Handler now warns when seeing ICMP packets with unrecognized type or code.
Set up NetLog to log info using colors and labels for clarity.
Fixed IPV4AddressParse string parameter bug, also put in a missing CompCtrlDel at the end of the method.
Fixed PresentationToNetwork not erroring when IPV4AddressParse fails.
Implemented UDP Sockets allowing 0 ms timeout and immediately returning on UDPSocketReceiveFrom if no messages were waiting at the socket.
Fixed UDP Handler using wrong address of packet to search bound socket addresses.
2021-02-06 06:05:14 -05:00
VoidNV
79e7caaad4 Add MSRGet() 2021-01-28 19:10:11 -06:00
TomAwezome
3c6187254a Fixed NetHandler NetQueue memory leak.
TODO: Suspected memory leak somewhere in UDP.
Added early NetHandler detection for IPV6, just warns.
Implemented default: cases for NetHandler routines, warns and outputs unrecognized IPV4 procotols and ethertypes.
Added few more NetLog()'s for clarity.
2021-01-27 14:22:28 -05:00
TomAwezome
fd665945e5 Fixed NetHandler interrupt breaking UDPSockets.
Implemented message queue system for UDPSockets to allow for better payload data management.
Improved UDPSocketClose, reduced memory leaks.
Changed ETHERNET_FRAME_SIZE back to 2000.
Fixed ZenithInclude hash bug via NetStart.CC change.
Added NetLog()'s in more of the stack for clarity.
Updated NetHandler NetQueuePull to a while loop.
2021-01-26 20:38:49 -05:00
VoidNV
b7ad56489f Remove DriveMap() 2021-01-24 02:19:02 -06:00
TomAwezome
de1878c1f7 Fixed 4 million context swap/second Networking bug.
Revamped NetHandlerTask into interrupt-based NetHandler.
Created NetLog to output Network info to, instead of outputting to zenith_task.
Updated NetStart.CC and Test files some.
Changed UDPSocketReceiveFrom behaviour to NetWarn instead of Debug when hits timeout and sees AF_UNSPEC.
2021-01-20 19:33:03 -05:00
TomAwezome
ca24a0ab32 Set up uncached PCNet packet buffers, cleaned up network stack code some. 2021-01-18 23:31:05 -05:00
TomAwezome
3ef48c1e28 Fixed PCNet DE index rollover packet buffer bug.
Added few more networking tests and changed variables in some of them for making it easier to differentiate them in Wireshark .pcap results.
2021-01-18 19:22:12 -05:00
TomAwezome
fc0bf860b1 Added .HC to .CC file conversion script to Zenith/Utils. 2021-01-18 16:49:23 -05:00
TomAwezome
25a76542cd Added more networking tests, lowered DNS timeout, raised DNS retries. 2021-01-17 15:24:37 -05:00
TomAwezome
4c0d6ae537 Updated DNSRep and ARPRep, added more networking tests, altered NetStart.CC 2021-01-17 04:31:08 -05:00
VoidNV
b3583e05bf Restore "Daemon" to "Seth" 2021-01-12 00:37:35 -06:00
TomAwezome
db32fdb367 Reformatted entire codebase.
Reformatted DolDoc files, adjusted sprites in documentation to reflect naming changes, corrected keybinding labels in AutoComplete window, fixed formatting error in Tips.DD.

Added DVD Boot AHCI prototyping into Kernel, displays detected AHCI configuration and halts mid-boot.

Small modifications to standard font, slight increase to mouse X and Y speed.
2020-12-23 18:27:18 -05:00
TomAwezome
027648943f Reformatted all Kernel SerialDev files.
All Kernel files are now reformatted.
Also reverted Caps Lock functionality. Might alter behaviour on symbols in the future.
2020-09-15 02:27:17 -04:00
TomAwezome
7e0ce60071 Reformatted Kernel files in Memory subdirectory.
Reformatted BlkPool.CC, HeapCtrl.CC, MAllocFree.CC, MemPag.CC, MemPhysical.CC, PageTables.CC.
2020-09-14 21:55:57 -04:00
TomAwezome
ec3aa83b55 Finished reformatting files in Kernel BlkDev subdirectory.
Reformatted DiskATA.CC, DiskATAId.CC, DiskAddDev.CC, DiskBlk.CC, DiskBlkDev.CC, DiskCDDVD.CC, DiskCFile.CC, DiskCache.CC, DiskClus.CC, DiskCopy.CC, DiskDirA.CC, DiskDirB.CC, DiskDirContext.CC, DiskDrive.CC, DiskFile.CC, DiskFind.CC, DiskFormat.CC, DiskStrA.CC, DiskStrB.CC, FileSysFAT.CC, FileSysRedSea.CC.
Files are not being refactored currently, progress log filename is misnomer, so renamed FilesRefactored.DD to FilesReformatted.DD.
2020-09-14 15:27:49 -04:00
TomAwezome
d9ac154e76 Reformatted more Kernel files.
Reformatted KMathA.CC, KMathB.CC, KMisc.CC, KTask.CC, KUtils.CC, Kernel.PRJ, KernelA.HH, KernelB.HH, KernelC.HH, KeyDev.CC, MultiProc.CC, PCIBIOS.CC, QuickSort.CC, Sched.CC, StrA.CC, StrB.CC, StrPrint.CC, StrScan.CC.
All top-level Kernel files are now reformatted. Remaining are files in Kernel/ subdirectories.
2020-09-12 17:37:51 -04:00
TomAwezome
44f7362ffc
Update README.md 2020-09-07 14:29:35 -04:00
TomAwezome
7c6a2037d8 Reformatted some kernel files.
Changed DVD Resolution in DoDistro to 1024x768.
Kernel files reformatted: Display.CC, EdLite.CC, FunSeg.CC, Job.CC, KConfig.CC, KDataTypes.CC, KDate.CC, KDebug.CC, KDefine.CC, KExcept.CC, KExterns.CC, KGlobals.CC, KHashA.CC, KHashB.CC, KInterrupts.CC, KLoad.CC, KMain.CC, KStart16.CC, KStart32.CC.
2020-09-07 14:01:54 -04:00
TomAwezome
1c659acc9d
Update README.md 2020-08-31 00:47:58 -04:00
TomAwezome
836b9a7604
Update README.md 2020-08-31 00:34:31 -04:00
TomAwezome
8908615dce
Update README.md 2020-08-22 18:44:12 -04:00
TomAwezome
20484c6ada Network stack in functional state
Many TODOs and still a good bit of tidying up to do
PCNet Direct Init wasn't working so added Shrine/OSDev Initialization Block code, need to do renames and comments for clarity
Added UDPRep and ARPRep as early network Rep functions. UDPRep to see all bound sockets still needs to be made
To get the network stack running, #include NetStart.CC
2020-08-07 02:39:07 -04:00
TomAwezome
31d3760e34 Small updates to Network Stack
Added DNS, not finished. Lots of cleaning up to do when converting Shrine code
Formatting alterations to Net files, beginning restructuring and updating Docs & Tests
2020-07-31 13:49:37 -04:00
TomAwezome
9e53a92859 Fix formatting of ScopingLinkage.DD 2020-07-28 02:40:35 -05:00
TomAwezome
d16e0e0de4 Reformat Net files, add UDPHandler() 2020-07-28 02:37:01 -05:00
TomAwezome
32d6430b5f Implement UDPSendTo(), clean up ReceiveFrom()...
alter low-level Socket FSM logic.
2020-07-28 02:31:01 -05:00
TomAwezome
7e0c3809d2 Refactor and handle more IP types (UDP) 2020-07-28 02:25:24 -05:00
TomAwezome
54b9ff1778 Remove the blocking of shift-backspace 2020-07-28 02:21:07 -05:00
TomAwezome
560e795e34 Update Tom Light palette
Solid 0xFFFFFF white was a bit too strong, lowered it some.
2020-07-28 02:17:44 -05:00
TomAwezome
1be8f456f0 Clean up UDP queue find a bit 2020-07-28 00:52:27 -05:00
TomAwezome
5ef1d5ef57 Begin implementing UDP recvfrom
Slowly working on better dynamic ipv4/ipv6 setups, excessive casting is
messy and Shrine was built around IPV4, existing methods need improvement
2020-07-28 00:34:39 -05:00
TomAwezome
a8fb259f3a Remove redundant code in UDPSocketClose() 2020-07-28 00:30:18 -05:00
TomAwezome
4653f274e2 Implement UDP queue pop 2020-07-28 00:26:09 -05:00