From ReactOS Wiki
Revision as of 14:33, 16 December 2005 by WaxDragon (talk | contribs) (Running Network Applications)
Jump to: navigation, search

This roadmap is for the 0.3.0 release only, for the goals of the entire 0.3.x series, see 0.3.x.

Show Stoppers

  • Stable, basic TCP/IP over 802.3 Ethernet Support
    • See Networking Status below
  • Introduce the new WinSock model
  • Ensure a selection of network applications will run
    • see Running Network Applications below
  • Complete the network control panel design and enable card configuration
  • Get Firefox running

Running Network Applications

If you get something working, please update this with details on which program you got working, what version, and what build of ROS you got it working on

  • Mozilla Firefox
    • Working in 0.2.9
  • at least one working mail client
    • ToDo
  • at least one working IRC client
    • mIRC 6.16 working in 0.2.9
  • at least one working FTP client
    • ncftp working in 0.2.9
  • at least one working IM client
    • ToDo
  • at least one working SVN client
    • Command line svn from tigris.org works in 0.2.9
  • lynx -source, curl, or wget works
    • ToDo
    • wget works(more then not)
 It works for text and binary files through http.  It doesnt crash when access is denied or file is not found.  
 It works through ftp unless a user name is needed in which case it says, "cannot find userid"
 even if one is supplied.
  • at least one working SSH client
    • PuTTY 0.58 works in 0.2.9 (Installer too!)
  • other things that have been verified to work

Networking Status

(Lots of info is in TCPIP.SYS and AFD.SYS)

Update from arty:

There are a lot of generic tasks in net that need doing, and could
really be done by anybody.  They affect the kernel but won't use very
much specific kernel code:

1) Plumb remaining ioctls into kernel land (afd/info.c,tcpip/*info.c)
 - Keepalive
 - Nagle
 - TTL (datagram and tcp)
 - Verify behavior of nonblocking sockets
 - send/rcv buf
2) Plumb ARP cache requests (tcpip/iinfo.c,network/neighbor.c)
3) Put together a test matrix for socket end conditions (when I get my
  stuff from chicago next saturday, I'll be able to pass on my test
  apps and notes), and emulate winsock properly.
4) Finish the NTSTATUS -> winsock error conversion and use it everywhere
5) Finish off errno -> NTSTATUS conversion in tcp.c
6) Finish any kernel-related IOCTL changes
7) Write a test tool and verify WSAEnumNetworkEvents
8) Do some refactoring in afd/select.c to make it easier to understand
9) fix bugs in npfs that make CallNamedPipe bugcheck

Hard kernely tasks:

1) Fix IRP cancellation in tcpip
2) Verify CLOSE/CLEANUP in afd and tcpip
3) Better buffer management in afd
4) Fix use of TDI_TRANSPORT_ADDRESS vs TA_ADDRESS and verify
  correctness based on osr docs
5) Test out our AFD and TCPIP on real windows with kd
6) Replace recursive mutex