Skip to content

INT 21h/4409h and 440Ah skip documented redirector dependency #264

Description

@nakatamaho

Summary

INT 21h/4409h and 440Ah appear to report local device/handle attributes even when the network or file-sharing provider required by the MS-DOS 4.0 reference is absent.

Minimal reproducer

Boot with a valid local drive and ordinary open file, but without SHARE or a network redirector:

  1. Call INT 21h with AX=4409h and BL=1 (drive A).
  2. Call INT 21h with AX=440Ah and BX set to a valid open file handle.

Expected behavior

The MS-DOS Version 4.0 Programmer's Reference documents error 01h when the required provider is not loaded for both calls. For 4409h it additionally documents error 15 for an invalid drive; for 440Ah it documents error 6 for an invalid handle.

Observed source behavior

At component commit ac16c8a7401526f99787e03babdb2f4223d48fc4, DosDevIOctl returns success for AL=09h after obtaining the local CDS/device attributes, and for AL=0Ah after obtaining a valid SFT. These paths do not check for SHARE or a network redirector. The source is visible at https://github.com/lpproj/fdkernel/blob/ac16c8a7401526f99787e03babdb2f4223d48fc4/kernel/ioctl.c#L143-L206.

References

Could you confirm whether the local success behavior is intentional FreeDOS compatibility, or whether the calls should report the documented provider-not-loaded error?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions