TCP/IP stack overhaul (Step 2 of 4)
Guide target £14,100
Our network stack dates back to 1997, and the Internet is a lot bigger and scarier than it was back then. Twenty years on and it’s time to bring it in-line with modern usage and security requirements. Step 1 shores up some security issues, and in this second part we want the bounty hunter to dig new foundations based on the latest FreeBSD stack, on top of which the final 2 bounties will build WiFi connectivity and a larger IPv6 address space.
This is the largest of the 4 steps because so much of the OS is intimately tied to the existing stack.
Details
- Research
- Determine the most appropriate point in FreeBSD to begin from
- Assess how to arrange a dual mode IPv4 and IPv6 stack in terms of modules
- Assess the most appropriate execution model within RISC OS
- Supporting work
- Enhancements to buffer management to reduce data copying
- Porting of libraries to help interface to the stack from applications
- Implementation
- Proof of concept port of the core part of the FreeBSD stack
- Basic packet send and receive, eg. ICMP “ping”, to a local host
- Customisations
- Re-add the sockets SWI interface code
- Re-add the DCI interface to talk to the low level drivers
- Re-add the event interface
- Impact
- Updates and testing of existing clients of the TCP/IP stack (we can supply a list of these) approximately
- 5 libraries
- 12 disc based applications or utilities
- 25 modules
- Changes to support configuration of the stack, for example through InetSetup
- Updates and testing of existing clients of the TCP/IP stack (we can supply a list of these) approximately
- Debug and testing
Deliverables
- Stack module source code in C using standard RISC OS tools/shared makefiles
- Updated Internet module
- Updated MbufManager module (an NDA is required for source access to this currently)
- Updated TCP/IP libraries
- Updated disc based Internet database resources
- Boot sequence changes to allow the new stack to be softloaded on RISC OS 3.50 or later
- Changes as needed to existing clients of the TCP/IP stack
- Refactored components relying on (to be removed) Internet 4 compatibility
- Any component included in the nightly build
- Documentation
- New TCP/IP library documentation for programmers as text files, wiki pages, or FrameMaker (we can supply the existing chapters to use as a basis)
- Updated !Help files for any disc based components
Note that, once completed, the new network stack will continue to use wired media and be IPv4 based.
Donations | 107 |
---|---|
Guide target | £14,100.00 |
Total | £11,640.00 (82%) |
State | Underway |
Help |
More information about the bounty scheme Bounty scheme discussion forum |