Commit Graph

3371 Commits

Author SHA1 Message Date
Eric Kohl
bfee65f62c [NETSH] Implement MakeQuotedString() and FreeQuotedString()
These functions are used by WinXPs ifmon.dll.
2025-10-17 15:12:44 +02:00
Eric Kohl
78a73720cc [NETSH] Fix help output
- Increase the output buffer for context and group help texts.
- Use a heap buffers to load and format the command help texts.
- Pass the full command name to FormatMessage to make help output work with WinXP helpers.
- Adjust the internal help texts accordingly.
2025-10-17 12:45:28 +02:00
Eric Kohl
38afa1a48f [NETSH][REACTOS] Implement and export NsGetFriendlyNameFromIfName
Running the 'interface ip show address' command on XPs ifmon.dll now fails in netcfgx.dll.
2025-10-16 14:19:11 +02:00
Eric Kohl
d033301772 [NETSH] Sort sub-contexts in the help command 2025-10-14 15:11:28 +02:00
Václav Zouzalík
1518b9e228 [RAPPS] Update Czech (cs-CZ) translation (#8408) 2025-10-13 20:26:58 +02:00
Eric Kohl
9fa8028ae4 [UMPNPMGR] Fix RunningOnLiveMedium according to Hermes' suggestions
Note: Running a program on a LiveCD is not the same as running it in setup mode.
2025-10-13 17:05:43 +02:00
Eric Kohl
af0c2e703b [PSDK][NETSH] Improve netsh.h 2025-10-12 00:54:10 +02:00
Eric Kohl
fb2a0d1647 [NETSH] Implement the dump command 2025-10-11 22:40:24 +02:00
Eric Kohl
3cdc3d1652 [NETSH] Print the commands help text if a command returns ERROR_SHOW_USAGE 2025-10-11 15:23:15 +02:00
Hermès Bélusca-Maïto
8f3ac7ef58 [ADVAPI32][RPCRT4][UMPNPMGR][WINLOGON] Fix buffer size retrieval for MakeSelfRelativeSD() (#8395)
Based on Timo's observation in PR #8387.

And improve debug ERR strings for last-error values.
2025-10-08 15:45:36 +02:00
Eric Kohl
8fabb29ed9 [UMPNPMGR] Fix the LiveCD check 2025-10-07 21:33:11 +02:00
Eric Kohl
146624ed9b [NETSH] Implement the exec command and fix script execution 2025-10-07 16:42:22 +02:00
Eric Kohl
6e269f9a05 [NETSH] Replace the command line interpreter
- Replace the recursive command line interpreter by a state machine.
- Simplify the help functions.

This enables us to run 'interface ip' or 'interface ip show config' in a single command.
2025-10-06 11:49:04 +02:00
Karol Gocłowski
a1a440b96d [WHERE] Add Polish (pl-PL) translation (#8397) 2025-10-06 00:59:27 +03:00
Eric Kohl
b37aafeed6 [NETSH] Sort the help command list alphabetically 2025-09-30 21:37:39 +02:00
Eric Kohl
98a8996954 [NETSH][IFMON] Make output windows compatible
- Help text string resources must be newline terminated.
- Format strings must not be newline terminated.
- Tested with WinXP ifmon.dll.
2025-09-28 23:23:46 +02:00
Eric Kohl
918bc859a9 [NETSH] Create a root helper object
The root helper object is required to load ifmon.dll from WinXP.
2025-09-21 23:55:18 +02:00
Eric Kohl
f0a29c9e9c [NETSH] Improve MatchToken and implement MatchEnumTag 2025-09-21 14:00:00 +02:00
Hermès Bélusca-Maïto
13d70840ff [CTFMON] Some fixes for event handles management (#8392)
- Validate the opened `WinSta0_DesktopSwitch` handle;

- Don't pass the `ahEvents` array containing a NULL pointer to
  `MsgWaitForMultipleObjects()`, but provide the correct number
  of non-NULL handles, otherwise the function fails and the code
  ends up busy-looping.

- Validate the `MsgWaitForMultipleObjects()` result: bail out if
  `WAIT_FAILED` is returned.

- Validate the event index passed to `CRegWatcher::InitEvent()`
  and `CRegWatcher::OnEvent()`.

- Rename `WATCHENTRY_MAX` to `WI_REGEVTS_MAX` and add it in the
  `WATCH_INDEX` enumeration.

- Fix some code comments.
2025-09-20 22:01:34 +02:00
Eric Kohl
f9458d9e40 [NETSH] Add stubs for undocumented exported functions 2025-09-20 11:10:52 +02:00
Eric Kohl
b6c202c4c8 [NETSH] Set proper error code for internal commands 2025-09-15 22:37:22 +02:00
Eric Kohl
9e22156c50 [NETSH] Pass correct dwCurrentIndex parameter to context and group commands 2025-09-15 01:27:15 +02:00
Eric Kohl
3f4cee1790 [NETSH] Fix MatchToken to test for a real prefix 2025-09-14 22:33:00 +02:00
Eric Kohl
245bc3f44a [NETSH] Simplify the code by naming the root context 'netsh'
-
2025-09-14 22:14:21 +02:00
Hermès Bélusca-Maïto
13dc901d8c [KERNEL32][SVCHOST] LoadLibraryEx 2nd parameter is a handle, so, 0 -> NULL 2025-09-13 21:34:10 +02:00
Eric Kohl
ae23b4dc8f [NETSH] Add the PreprocessCommand stub 2025-09-13 09:53:46 +02:00
Eric Kohl
df01941faf [NETSH] Fix helper and context issues 2025-09-08 01:55:04 +02:00
Eric Kohl
1c1b8a2260 [NETSH] Print proper prompt 2025-09-08 01:11:22 +02:00
Whindmar Saksit
87df3ea3e1 [SHLWAPI][EXPLORER] Implement OS_SERVERADMINUI (#7051)
OS_SERVERADMINUI changes minor things in Explorer, the most visible is that the default folder view mode changes from large icons to details
2025-09-04 19:25:43 +02:00
Eric Kohl
999502cfc4 [NETSH] Improve PrintMessageFromModule
Thanks a lot for the hint, Hermès!
2025-09-02 00:31:47 +02:00
Hermès Bélusca-Maïto
c1921754aa Revert "[WINLOGON] Temporarily hack around a bug in PSEH for GCC"
This reverts commit ddbe9719c9, now that PSEH has been fixed
in commit d50b8c93fb (PR #8350).

CORE-20307 CORE-20309 CORE-20316
2025-08-30 17:10:07 +02:00
Whindmar Saksit
8ce870d87b [RAPPS] Added /S switch for silent installs (#8241)
MSI, Inno and NSIS installers are automatically detected (also if they are nested by ExeInZip). Others can specify command line switches in the rapps-db package.
2025-08-29 15:18:55 +02:00
Hermès Bélusca-Maïto
ddbe9719c9 [WINLOGON] Temporarily hack around a bug in PSEH for GCC
Commit 51ee32f5f8 moved the `WNetClearConnections()` in the main
Winlogon thread, where it now runs.

`WNetClearConnections()` calls a 3rd-party module (nfs41_np.dll)
that invokes `kernel32!OutputDebugStringA()`.
The SEH usage pattern in `OutputDebugStringA()`, when compiled with
GCC and PSEH, generates an erroneous chain of exception handlers, that,
when running in an execution environment like that of winlogon.exe,
triggers a crash. See CORE-20316 for more details and testing.

As a temporary measure, hackfix away the problem by surrounding the
`WNetClearConnections()` call in a `_SEH2_TRY/_SEH2_EXCEPT` block
(the net effect is to "add" the missing exception handler entry).

Hack for commit 51ee32f5f8
CORE-20307 CORE-20309 CORE-20316
2025-08-26 22:40:42 +02:00
Eric Kohl
8c871fb268 [NETSH] Implement PrintMessageFromModule 2025-08-24 13:38:18 +02:00
Eric Kohl
da720b864e [UMPNPMGR] PNP_ReportLogOn must not fail on a LiveCD
Fixes CORE-19050
2025-08-24 13:30:32 +02:00
Eric Kohl
3f6639031c [NETSH] Context stack and helper improvements
- Add the context stack including the PUSHD and POPD commands.
- Add the required changes to the HELP command and command execution to support the context stack.
- Add support for sub helpers.
2025-08-23 11:06:19 +02:00
Timo Kreuzer
011ce7088c [PSEH] Use _setjmp3 with custom unwind function 2025-08-22 09:12:51 +03:00
Eric Kohl
fc84d6860a [ROUTE] Sort network interfaces by index 2025-08-20 21:41:51 +02:00
Eric Kohl
1a61f50ddd [ROUTE] Map interface index to ip address in the active routes list 2025-08-20 13:31:41 +02:00
Eric Kohl
f0ba72616d [ROUTE] Add improve the the delete command
- Add wildcard support to the delete command
- Add code to delete persistent routes
- Improve command line and registry value name parsing code
2025-08-19 16:23:01 +02:00
Eric Kohl
714dfdc29a [ROUTE] Add /f option to the add and delete command 2025-08-19 10:59:02 +02:00
Eric Kohl
2cba5b772d [ROUTE] Add missing advapi32 2025-08-18 22:26:59 +02:00
Eric Kohl
e0bdfb04f1 [ROUTE] Add support for persistent routes to the add and print command 2025-08-18 22:09:27 +02:00
Eric Kohl
4ddebadc7e [ROUTE] Support the -f and -p options and and improve the help text 2025-08-18 11:33:21 +02:00
Eric Kohl
46c2a3cd09 [ROUTE] Some improvements
- Improvements to the usage text
- Use GetAdapterAdresses instead of GetAdaperInfo
- Show the physical address for ethernet adapters
2025-08-17 21:02:00 +02:00
Eric Kohl
7432f4e9d9 [ROUTE] Improvements to the ROUTE command
- Show the physical address for ethernet interfaces.
- Implement wildcard support for the print command (e.g. route print 192.168.*).
2025-08-16 15:55:54 +02:00
Eric Kohl
559a4ec918 [ROUTE] Convert ROUTE to UNICODE only 2025-08-16 11:35:26 +02:00
Eric Kohl
050d8a8d65 [ROUTE] Make ROUTE translatable
- English text only
2025-08-15 19:22:15 +02:00
Hermès Bélusca-Maïto
bded90874e [WINLOGON] Let the dialog manager manage the default focus (#8337)
- The single default button in the "Shutdown Computer" and "GINA failed
  to load" dialogs will be automatically focused by the dialog manager,
  so there is no need to invoke `SetFocus()` in their `WM_INITDIALOG`
  handler -- which also erroneously returned `TRUE`, thus ignoring any
  focus set by the caller :D

- Use `DeleteMenu()` instead of `RemoveMenu()` so that it'll free any
  memory resources.
2025-08-14 23:28:08 +02:00
Hermès Bélusca-Maïto
35ecbde693 [WINLOGON] *.rc: Fix dialog controls IDs; adjust few translations (#8337)
- "1" == `IDOK`; "-1" == `IDC_STATIC`
- Use the same translation for "Restart" between the two
  "GINA failed to load" and "Shutdown Computer" dialogs.
2025-08-14 23:28:08 +02:00