Pierre Schweitzer

[FASTFAT]

- Stop passing DO, directly pass VCB

- Try to compute some unique value as internal ID for objects. As MS, return the LBO

CORE-13489

[RXCE]

- Implemented RxCompleteSrvOpenKeyAssociation(), RxInitiateSrvOpenKeyAssociation(), RxProcessChangeBufferingStateRequests()

- Implemented RxFinalizeFcbTable(), RxFinalizeNetFobx(), RxFinalizeNetRoot(), RxFinalizeSrvCall(), RxFinalizeVNetRoot(), RxFreeObject(), RxpDestroySrvCall(), RxRemovePrefixTableEntry(), RxRemoveVirtualNetRootFromNetRoot(), RxScavengeRelatedFobxs(), RxTearDownBufferingManager(), RxUndoScavengerFinalizationMarking()

- Implemented RxPostToWorkerThread()

- Implemented RxFlushFcbInSystemCache(), RxPurgeFcb(), RxPurgeFcbInSystemCache()

- Stubbed RxOrphanSrvOpens(), RxpDiscardChangeBufferingStateRequests(), RxpDispatchChangeBufferingStateRequests(), RxpProcessChangeBufferingStateRequests()

- Continued implementation of RxDereference() so that it supports more objects than just SRV_CALL

- Reworked RxInsertWorkQueueItem() implementation so that it accepts any work item, and not just dispatch work items

- Finished implementation of RxTableLookupName() so that it properly returns a V_NET_ROOT on NET_ROOT match

Notable effects of this commit are:

- RXCE/RDBSS leak less memory; now objects without references are properly deleted from the system

- This means that stale objects are also deleted; this fixes CORE-13483 were same stale SRV_CALL was used again and again

- Because in prefix table NET_ROOT are correctly handled, it's now possible to mount several path from the same prefix; this fixes CORE-13482

CORE-8204

CORE-11327

CORE-13482

CORE-13483

    • -0
    • +16
    /trunk/reactos/sdk/include/ddk/fcb.h
    • -0
    • +32
    /trunk/reactos/sdk/include/ddk/buffring.h
    • -30
    • +943
    /trunk/reactos/sdk/lib/drivers/rxce/rxce.c
    • -0
    • +1
    /trunk/reactos/sdk/include/ddk/mrxfcb.h
    • -0
    • +21
    /trunk/reactos/sdk/include/ddk/rxprocs.h
    • -0
    • +4
    /trunk/reactos/sdk/include/ddk/fcbtable.h
    • -0
    • +5
    /trunk/reactos/sdk/include/ddk/prefix.h
    • -0
    • +9
    /trunk/reactos/sdk/include/ddk/rxworkq.h
[DXG]

Fix GCC build

[MPR]

Import Wine commit:

- 8d461c1f42b0b667b2aa6a235d007eea1dd6f561, Don't stop enumeration on the first failing network provider.

This fixes 'net use' stoping connections enumeration when a network returns an error or no connection.

CORE-13475

[MPR]

Import Wine commit:

- 51b4a42969366cc409808aded23d3602a34206e2, Properly handle the count set to -1 when enumerating connections.

This fixes 'net use' not being able to enumerate multiple connections served by multiple network providers.

CORE-13475

    • -5
    • +10
    /trunk/reactos/dll/win32/mpr/wnet.c
[NFSD]

Misc. fixes by Thomas

[NFS]

Add the missing pieces for the NFS filesystem: registry information.

Register the pnfs service (nfsd) as manual, so that it only gets started when user wants/needs it.

Same goes to the nfs41_driver service (driver). nfsd as a code modification specific to ReactOS so that it loads the driver

as soon as it gets started.

That means, in order to use NFS in ReactOS, you need to start the nfsd service: net start nfsd

Then, you can mount your remote share: net use * \\IP\path (you can replace * by a letter, e.g. z:)

There's no GUI stuff implemented yet for this in MPR.

If you want to access the share without mounting it in ReactOS (like, in Explorer), you've to be aware of a small detail:

after you start pnfs service, in explorer bar, type \\IP\nfs4\path. This is required so that NFS driver can claim the path

without troubles.

Something else you've to know: so far, tests where conducted with a remote share being 777, read-only and anonymously mounted.

Other scenarii are likely to fail (auth, rw, server?!, etc.).

Also note that if you attempt to mount a share on which you don't have traverse right, mounting will succeed but any later

operation will fail, refused by the remote NFS server. This is a bit different than the behavior on Linux where mount is denied

if traverse is not granted.

Final thing: this is highly experimental and not fully implemented yet: expect not working stuff, broken asserts, deadlocks, etc.

CORE-8204

    • -1
    • +19
    /trunk/reactos/boot/bootdata/hivesys.inf
[NFSD]

Fix build?

[LIBTIRPC]

Add a spec file

[NFS]

More properly fix build for GCC/MSVC. By Thomas.

[NFSD]

Fix MSVC build by Thomas.

[PDSK]

Complete iptypes.h

    • -1
    • +16
    /trunk/reactos/sdk/include/psdk/iptypes.h
[NFSD]

Import the nfsd deamon from the nfs41 project.

CORE-8204

    • -0
    • +280
    /trunk/reactos/base/services/nfsd/from_kernel.h
    • -0
    • +532
    /trunk/reactos/base/services/nfsd/nfs41.h
    • -0
    • +295
    /trunk/reactos/base/services/nfsd/nfs41_callback.h
    • -0
    • +1399
    /trunk/reactos/base/services/nfsd/name_cache.c
    • -0
    • +1289
    /trunk/reactos/base/services/nfsd/pnfs_layout.c
    • -0
    • +368
    /trunk/reactos/base/services/nfsd/pnfs.h
    • -0
    • +4
    /trunk/reactos/base/services/nfsd/nfsd.rc
    • -0
    • +32
    /trunk/reactos/base/services/nfsd/sources
    • -0
    • +365
    /trunk/reactos/base/services/nfsd/pnfs_device.c
    • -0
    • +501
    /trunk/reactos/base/services/nfsd/nfs41_daemon.c
    • -0
    • +80
    /trunk/reactos/base/services/nfsd/nfs41_compound.h
    • -0
    • +114
    /trunk/reactos/base/services/nfsd/list.h
    • -0
    • +20
    /trunk/reactos/base/services/nfsd/ms-nfs41-idmap.conf
    • -0
    • +547
    /trunk/reactos/base/services/nfsd/callback_server.c
    • -0
    • +871
    /trunk/reactos/base/services/nfsd/pnfs_io.c
  1. … 48 more files in changeset.
[LIBTIRPC]

As suggested, move to 3rdparty

    • -0
    • +103
    /trunk/reactos/dll/3rdparty/libtirpc/CMakeLists.txt
    • -1
    • +0
    /trunk/reactos/dll/win32/CMakeLists.txt
    • -0
    • +1
    /trunk/reactos/dll/3rdparty/CMakeLists.txt
    • -0
    • +253
    /trunk/reactos/dll/3rdparty/libtirpc/src/xdr_mem.c
    • -0
    • +856
    /trunk/reactos/dll/3rdparty/libtirpc/src/svc_vc.c
  1. … 351 more files in changeset.
[RXCE]

lolfix build

[NFS]

Remove dependency already brought in by rxce

[RDBSS]

Clean up CMake files, based on suggestions by Hermès.

Might fix MSVC build.

    • -2
    • +2
    /trunk/reactos/sdk/lib/drivers/rxce/rxce.c
[NFS]

Import the NFS file system mini-redirector and the associated network provider.

Not all the pieces are in place to make it working.

CORE-8204

    • -0
    • +7140
    /trunk/reactos/drivers/filesystems/nfs/nfs41_driver.c
    • -0
    • +17
    /trunk/reactos/dll/np/nfs/CMakeLists.txt
    • -0
    • +74
    /trunk/reactos/dll/np/nfs/dllmain.c
    • -0
    • +50
    /trunk/reactos/dll/np/nfs/nfs41_np.h
    • -0
    • +102
    /trunk/reactos/dll/np/nfs/options.c
    • -0
    • +1
    /trunk/reactos/dll/np/CMakeLists.txt
    • -0
    • +82
    /trunk/reactos/dll/np/nfs/options.h
    • -0
    • +102
    /trunk/reactos/drivers/filesystems/nfs/nfs41_debug.h
    • -0
    • +21
    /trunk/reactos/drivers/filesystems/nfs/CMakeLists.txt
    • -0
    • +5
    /trunk/reactos/dll/np/nfs/nfsnp.rc
    • -0
    • +749
    /trunk/reactos/drivers/filesystems/nfs/nfs41_debug.c
    • -0
    • +13
    /trunk/reactos/dll/np/nfs/nfs41_np.spec
  1. … 5 more files in changeset.
[LIBTIRPC]

Fix MSVC build?

    • -1
    • +8
    /trunk/reactos/dll/win32/libtirpc/src/svc_vc.c
[LIBTIRPC]

Import the libtirpc from the nfs41 project.

CORE-8204

    • -0
    • +169
    /trunk/reactos/dll/win32/libtirpc/src/pmap_rmt.c
    • -0
    • +356
    /trunk/reactos/dll/win32/libtirpc/src/authgss_prot.c
    • -0
    • +137
    /trunk/reactos/dll/win32/libtirpc/src/xdr_reference.c
    • -0
    • +6
    /trunk/reactos/dll/win32/libtirpc/THANKS
    • -0
    • +64
    /trunk/reactos/dll/win32/libtirpc/tirpc/rpc/pmap_rmt.h
    • -0
    • +74
    /trunk/reactos/dll/win32/libtirpc/src/svc_auth_none.c
    • -0
    • +101
    /trunk/reactos/dll/win32/libtirpc/src/rpc_com.h
    • -0
    • +46
    /trunk/reactos/dll/win32/libtirpc/.gitignore
    • -0
    • +339
    /trunk/reactos/dll/win32/libtirpc/src/clnt_perror.c
    • -0
    • +8
    /trunk/reactos/dll/win32/libtirpc/src/makefile
    • -0
    • +10
    /trunk/reactos/dll/win32/libtirpc/bootstrap
  1. /trunk/reactos/dll/win32/libtirpc/tirpc/misc
    • -0
    • +445
    /trunk/reactos/dll/win32/libtirpc/tirpc/rpc/svc.h
    • -0
    • +368
    /trunk/reactos/dll/win32/libtirpc/tirpc/rpc/xdr.h
    • -0
    • +2
    /trunk/reactos/dll/win32/libtirpc/dirs
  2. … 168 more files in changeset.
[DESK]

French translation for Eric's work on r75085.

CORE-8352

    • -6
    • +6
    /trunk/reactos/dll/cpl/desk/lang/fr-FR.rc
[GFLAGS]

Add some usage

[BOOTDATA]

Use a gflag compatible way to enable Page Heap

    • -1
    • +1
    /trunk/reactos/boot/bootdata/hivesft.inf
[GFLAGS]

Add a quick'n'dirty implementation of gflags utility.

It only covers some page heap usage (enough to enable/disable DPH :-)).

It's syntax compatible with MS one, and with what's written down in ROS wiki.

See: https://www.reactos.org/wiki/Debugging#Debug_Page_Heap_.28DPH.29

  1. /trunk/rosapps/applications/cmdutils/gflags
    • -0
    • +421
    /trunk/rosapps/applications/cmdutils/gflags/gflags.c
    • -0
    • +6
    /trunk/rosapps/applications/cmdutils/gflags/gflags.rc
[NTOSKRNL]

Implement SystemExtendedHandleInformation based on SystemHandleInformation.

To be improved...

Passes ntdll_winetest:info.

CORE-13368

    • -6
    • +115
    /trunk/reactos/ntoskrnl/ex/sysinfo.c
[WS2_32]

Don't pass a null ptr at MSAFD to avoid dereference.

Fixes crash in ws2_32:sock

    • -38
    • +46
    /trunk/reactos/dll/win32/ws2_32/src/sockctrl.c
[RDBSS]

Cosmetic fix

CID 1411968, 1411969

[RDBSS]

Fix reading parameters from registry

CID 1411973

[RXCE]

Misc. fixes.

CID 1411918, 1411929, 1411919

    • -2
    • +2
    /trunk/reactos/sdk/lib/drivers/rxce/rxce.c
[UDFS]

Fix UDFS volume size computation.

Note that side effect of this is that free space computation is broken;

due to larger bitmap walk. To be fixed...

CORE-4375

CORE-13366