ReactOS 0.4.16-dev-2613-g9533ad7
Todo List
Member abort (void)
unimplemented
Module bridgeif
:
  • compact static FDB entries (instead of walking the whole array)
  • add FDB query/read access
  • add FDB change callback (when learning or dropping auto-learned entries)
  • prefill FDB with MAC classes that should never be forwarded
  • multicast snooping? (and only forward group addresses to interested ports)
  • support removing ports
  • check SNMP integration
  • VLAN handling / trunk ports
  • priority handling? (although that largely depends on TX queue limitations and lwIP doesn't provide tx-done handling)
Member DC_vCopyState (PDC pdcSrc, PDC pdcDst, BOOL To)
should aways be != NULL
Module dhcp4
:
  • Support for interfaces other than Ethernet (SLIP, PPP, ...)
Member GDI_InternalBezier (POINT *Points, POINT **PtsOut, INT *dwOut, INT *nPtsOut, INT level)
FIXME!
Module httpc
:
  • persistent connections
  • select outgoing http version
  • optionally follow redirect
  • check request uri for invalid characters? (e.g. encode spaces)
  • IPv6 support
Member InstallBootManagerAndBootEntries (_In_ ARCHITECTURE_TYPE ArchType, _In_ PCUNICODE_STRING SystemRootPath, _In_ PCUNICODE_STRING SourceRootPath, _In_ PCUNICODE_STRING DestinationArcPath, _In_ ULONG_PTR Options)
Split this function into just the InstallBootManager, and a separate one for just the boot entries.
Member IntCreateNewRegistryPath (PVIDEO_PORT_DEVICE_EXTENSION DeviceExtension)
HACK
Member IntGdiFillRgn (_In_ PDC pdc, _In_ PREGION prgn, _In_opt_ PBRUSH pbrFill)
Check parameters
Module iperf
:
  • implement UDP mode
  • protect combined sessions handling (via 'related_master_state') against reallocation (this is a pointer address, currently, so if the same memory is allocated again, session pairs (tx/rx) can be confused on reallocation)
Member KiGetFeatureBits (VOID)
  • KF_VIRT_FIRMWARE_ENABLED 0x08000000 (see notes from Geoff Chappell)
  • KF_FPU_LEAKAGE 0x0000020000000000ULL
  • KF_CAT 0x0000100000000000ULL
  • KF_CET_SS 0x0000400000000000ULL
File lowpan6.c
: RFC 6775.
File lowpan6_common.c
: RFC 6775.
Member MAKEFS_SUPPORT_DEFLATE
:
  • take TCP_MSS, LWIP_TCP_TIMESTAMPS and PAYLOAD_ALIGN_TYPE/PAYLOAD_ALIGNMENT as arguments
Member MI_IS_MAPPED_PTE (PMMPTE PointerPte)
Make this reasonable code, this is UGLY!
Member NtAllocateVirtualMemory (IN HANDLE ProcessHandle, IN OUT PVOID *UBaseAddress, IN ULONG_PTR ZeroBits, IN OUT PSIZE_T URegionSize, IN ULONG AllocationType, IN ULONG Protect)
HACK: pretend success
Member NtGdiGetRandomRgn (HDC hdc, HRGN hrgnDest, INT iCode)
FIXME This is not really correct, since we already modified the region
Member NtUserCreateWindowEx (DWORD dwExStyle, PLARGE_STRING plstrClassName, PLARGE_STRING plstrClsVersion, PLARGE_STRING plstrWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam, DWORD dwFlags, PVOID acbiBuffer)
Allow passing plstrClassName as ANSI.
Member NtUserSelectPalette (HDC hDC, HPALETTE hpal, BOOL ForceBackground)
implement ForceBackground == TRUE
Member PiUpdateDeviceState (_In_ PDEVICE_NODE DeviceNode)
Do not return STATUS_SUCCESS if nothing is changed.
Module rfc7668if
:
  • further testing
  • support compression contexts
  • support multiple addresses
  • support multicast
  • support neighbor discovery
Member RtlLookupFunctionEntry (IN DWORD64 ControlPc, OUT PDWORD64 ImageBase, OUT PUNWIND_HISTORY_TABLE HistoryTable)
Implement HistoryTable
Member RtlpTryToUnwindEpilog (_Inout_ PCONTEXT Context, _In_ ULONG64 ControlPc, _Inout_opt_ PKNONVOLATILE_CONTEXT_POINTERS ContextPointers, _In_ ULONG64 ImageBase, _In_ PRUNTIME_FUNCTION FunctionEntry)
  • Test and compare with Windows behaviour
Member SdbMakeIndexKeyFromString (LPCWSTR str)
: Fix this for unicode strings.
Module smtp
:
  • attachments (the main difficulty here is streaming base64-encoding to prevent having to allocate a buffer for the whole encoded file at once)
  • test with more mail servers...
File snmp_asn1.c
not optimised (yet), favor correctness over speed, favor speed over size
Module sntp
:
  • complete SNTP_CHECK_RESPONSE checks 3 and 4
Member SNTP_CHECK_RESPONSE

: discard reply if any of the VN, Stratum, or Transmit Timestamp fields is 0 or the Mode field is not 4 (unicast) or 5 (broadcast).

  • >= 4

: to check that the Root Delay and Root Dispersion fields are each greater than or equal to 0 and less than infinity, where infinity is currently a cozy number like one second. This check avoids using a server whose synchronization source has expired for a very long time.

Namespace This
  • missing conversion functions
  • multiplication functions
  • signed add, sub and multiply functions