Commit Graph

655 Commits

Author SHA1 Message Date
Dimitrij
5efcc653eb Merge pull request #3038 from mRemoteNG/copilot/fix-command-injection-vulnerability
Fix command injection vulnerabilities in Process.Start calls
2026-02-10 21:18:59 +00:00
Dimitrij
91c7df22b2 Update mRemoteNGTests/Connection/Protocol/ProtocolAnydeskTests.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-10 21:10:35 +00:00
copilot-swe-agent[bot]
a103939c64 Address code review: fix typos, improve test robustness, use Language resources
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2026-02-01 19:59:39 +00:00
copilot-swe-agent[bot]
2e74313f07 Change hostname validation to ErrorMsg and enable popup errors by default
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2026-02-01 19:56:53 +00:00
copilot-swe-agent[bot]
dca2517cf0 Normalize digit-only KB IDs to include KB prefix
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-12-30 12:19:35 +00:00
copilot-swe-agent[bot]
76cb0a1e0b Address code review feedback - optimize regex and use Array.Empty
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-12-30 12:16:52 +00:00
copilot-swe-agent[bot]
c683854678 Add WQL injection prevention via KB ID sanitization
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-12-30 12:15:31 +00:00
copilot-swe-agent[bot]
1c2b5fadc4 Fix code review feedback: consistent hex formatting and test names
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-12-29 10:06:39 +00:00
copilot-swe-agent[bot]
97f5daa13d Add LDAP injection protection with sanitization utility
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-12-29 10:04:43 +00:00
copilot-swe-agent[bot]
843243c75e Add comprehensive tests for AnyDesk ID validation
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-12-08 13:06:16 +00:00
Dimitrij
8d0d03e152 Merge pull request #2990 from joubertdj/fix/rdp-automatic-resize-issue-2971
Fix RDP automatic resize not working when manually dragging window edges (maximize/minimize/etc)
2025-11-06 12:10:22 +00:00
Dimitrij
632cfca71f Update mRemoteNGTests/Connection/Protocol/RdpProtocol8ResizeTests.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-06 12:09:27 +00:00
Dimitrij
3ac7365c9b Update mRemoteNGTests/UI/Forms/OptionsFormTests.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-06 12:06:36 +00:00
Dawie Joubert
100c2e3078 Fix issue #2907: Options panel freezing, disposal, and performance issues
This commit resolves multiple related issues with the Options dialog that caused freezing, crashes, and slow performance:

**Problem 1: Infinite Recursive Loop**
- Symptom: Options dialog would freeze when navigating between pages
- Cause: LstOptionPages_SelectedIndexChanged event handler triggering itself infinitely
- Fix: Added _isHandlingSelectionChange guard flag to prevent recursive calls

**Problem 2: Disposed Object Exception**
- Symptom: "Cannot access a disposed object" error after SSH connection workflow
- Cause: Static FrmOptions instance was disposed but still referenced
- Fix: Enhanced OptionsWindow.LoadOptionsForm() to detect disposal before use
- Fix: Added FrmMain.RecreateOptionsForm() to recreate disposed forms transparently

**Problem 3: Index Out of Range**
- Symptom: "index must be less than 0" when accessing empty lstOptionPages
- Cause: SetActivatedPage() tried to access Items[0] when collection was empty
- Fix: Added bounds checking before accessing lstOptionPages.Items

**Problem 4: NullReferenceException in OptionsPages**
- Symptom: NullReferenceException in LoadRegistrySettings() across all pages
- Cause: pageRegSettingsInstance was null when registry settings didn't exist
- Fix: Added null checks and default instance creation in 8 OptionsPages

**Problem 5: Slow Page Loading on Recreation**
- Symptom: Second Options dialog open showed staggered page loading (~2.2 seconds)
- Cause: Application.Idle async pattern loaded pages one-by-one
- Fix: Replaced async loading with synchronous batch loading using BeginUpdate/EndUpdate

**Files Modified:**
- mRemoteNG/UI/Forms/frmOptions.cs
- mRemoteNG/UI/Window/OptionsWindow.cs
- mRemoteNG/UI/Forms/frmMain.cs
- mRemoteNG/UI/Forms/OptionsPages/StartupExitPage.cs
- mRemoteNG/UI/Forms/OptionsPages/NotificationsPage.cs
- mRemoteNG/UI/Forms/OptionsPages/AppearancePage.cs
- mRemoteNG/UI/Forms/OptionsPages/SecurityPage.cs
- mRemoteNG/UI/Forms/OptionsPages/ConnectionsPage.cs
- mRemoteNG/UI/Forms/OptionsPages/CredentialsPage.cs
- mRemoteNG/UI/Forms/OptionsPages/TabsPanelsPage.cs
- mRemoteNG/UI/Forms/OptionsPages/UpdatesPage.cs

**Additional Changes:**
- Replaced all Debug.WriteLine with Logger.Instance.Log for consistent logging
- Added comprehensive debug logging throughout Options form lifecycle
- Improved defensive programming with guard flags and validation checks

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-05 19:49:56 +02:00
Dawie Joubert
cc6f07d943 Fix RDP automatic resize not working when manually dragging window edges
Fixes #2971

This fix addresses the issue where RDP connections with "Automatic resize"
enabled weren't resizing the remote desktop when users manually dragged
window edges - only when changing window states (Maximize/Restore).

Changes:
- RdpProtocol8.cs: Fixed resize logic to use InterfaceControl.Size instead
  of Control.Size, added 300ms debounce to reduce flickering, and registered
  ResizeEnd event handler
- RdpProtocol9.cs: Added null safety checks in UpdateSessionDisplaySettings
- NotificationPanelMessageWriter.cs: Added exception handling for shutdown
  scenarios to prevent InvalidAsynchronousStateException
- RdpProtocol8ResizeTests.cs: Added 12 comprehensive unit tests covering
  all resize scenarios including debounce mechanism
- TabColorConverterTests.cs: Added missing System namespace import

The fix works for all RDP versions (8, 9, 10, 11) through inheritance.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-05 17:34:45 +02:00
copilot-swe-agent[bot]
c9b77b6616 Add comprehensive security tests for path validation and command injection prevention
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-10-22 08:17:58 +00:00
copilot-swe-agent[bot]
6657fa3ad0 Update attributes and tests for WSL protocol
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-10-19 20:32:40 +00:00
copilot-swe-agent[bot]
79b252f839 Add EnvironmentTags to test helper
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-10-18 22:51:46 +00:00
copilot-swe-agent[bot]
687f06937d Fix change tracking to ignore initial loading and add tests
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-10-16 20:20:00 +00:00
copilot-swe-agent[bot]
80c1391361 Fix password passing issue in External Tools
- Changed SetProcessProperties to use Arguments property instead of splitting by space and using ArgumentList
- Added tests to verify passwords with special characters like '=' are passed correctly
- This fixes the issue where passwords like 'Z-3=Wv99/Aq' were being split incorrectly

Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-10-16 18:26:41 +00:00
copilot-swe-agent[bot]
d5d9a8bf03 Fix PasswordString getter to never return empty password
Added defensive check in PasswordString getter to ensure it returns the default password when _customPassword is empty, even if Password property is true. This prevents encryption failures when Password is set inconsistently.

Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-10-16 04:12:08 +00:00
copilot-swe-agent[bot]
ecb935868d Add tests for Password property edge cases
Added tests to verify that full file encryption works correctly when Password property is set directly without setting PasswordString, ensuring the fix prevents encryption failures.

Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-10-16 04:08:46 +00:00
copilot-swe-agent[bot]
0a3ecaac64 Fix Color property converter and add missing category attributes
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-10-07 21:17:26 +00:00
Dimitrij
4082761606 Merge branch 'v1.78.2-dev' into copilot/add-color-support-for-connection-folders 2025-10-07 21:24:50 +01:00
Dimitrij
e68c42ba64 Merge pull request #2867 from mRemoteNG/copilot/fix-tab-color-selection-error
[WIP] Fix tab color dropdown selection error
2025-10-07 21:17:04 +01:00
copilot-swe-agent[bot]
347546ee0e Add TabColorConverter to fix Color to String conversion issue
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-10-07 20:15:32 +00:00
copilot-swe-agent[bot]
bbe1fa8416 Add Color property to Language.Designer.cs and add inheritance tests
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-10-07 19:49:21 +00:00
copilot-swe-agent[bot]
ac4469bb4a Add ARD protocol support to UI, port scanning, and tests
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-10-07 19:48:57 +00:00
copilot-swe-agent[bot]
0e666efaad Add autofocus to password field in FrmPassword form
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-10-07 19:26:14 +00:00
Dimitrij
75545e60b3 Merge pull request #2855 from mRemoteNG/copilot/fix-login-name-display-issue
Fix missing Username field for HTTP and HTTPS protocols
2025-10-07 17:00:27 +01:00
copilot-swe-agent[bot]
cb7ba46be6 Add comprehensive security tests for SecureXmlHelper
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-10-07 15:24:35 +00:00
copilot-swe-agent[bot]
933b21598e Add Username field support for HTTP and HTTPS protocols
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-10-07 15:23:46 +00:00
copilot-swe-agent[bot]
c405186533 Update test files to use SecureXmlHelper for consistency
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-10-07 15:23:39 +00:00
copilot-swe-agent[bot]
a031e6f5f7 Add path validation to prevent path traversal attacks
Co-authored-by: Kvarkas <3611964+Kvarkas@users.noreply.github.com>
2025-10-07 14:04:00 +00:00
Mugu~~
e50f11697f Add support for building mRemoteNG on Windows ARM64 2025-08-17 20:23:35 +05:30
Dimitrij
37fead2076 Lib updates
(temporary removed test projects from solution)
2025-04-10 01:01:53 +01:00
Dimitrij
4b28eb6758 patch to remove secure-string implementation (will need to be implemented differently)
what will temporary allow to type-in and edit passwords
2025-03-30 13:56:38 +01:00
Dimitrij
d2706c8748 Switch to use central package version management 2025-02-18 01:58:43 +00:00
Dimitrij
2518b8600f System.Data.SqlClient package is now deprecated, migrated to Microsoft.Data.SqlClient. 2025-02-17 15:23:38 +00:00
Dimitrij
a069d1f057 lib update 2025-02-17 14:21:00 +00:00
Dimitrij
59ac3020fe lib updates 2025-02-05 14:10:32 +00:00
Dimitrij
2b31b173c0 lib updates 2025-02-04 16:05:35 +01:00
Robert Rostek
8d3a1ab3a7 .net 8.0.12 update 2025-02-04 16:05:35 +01:00
Robert Rostek
0b7be8b0c6 .net 8 upgrade (with unsafebinaryformatter) 2025-02-04 16:05:27 +01:00
Dimitrij
d7e318b1f8 lib update 2025-02-01 16:59:53 +00:00
Dimitrij
a908a783be lib update 2025-01-24 13:25:58 +00:00
Dimitrij
1ae9960e82 lib update 2025-01-14 14:54:54 +00:00
Dimitrij
5aa8425209 Lib updates 2024-12-23 14:27:58 +00:00
Dimitrij
e8bb0bffaa lib upgrade + update
Some version should be not upgraded due .net limitation, what will be done once .net will be upgraded
2024-11-23 15:51:32 +00:00
Dimitrij
e1e0661f25 lib upgrade 2024-11-23 13:12:36 +00:00