Repository navigation
Feature: More improvements - #3667
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add 554 (RTSP), 631 (IPP), 8080, 8443 and 62078 (iPhone / iPad) to the default ports (16 ports, all scanned at the same time with the default 16 port threads). Settings with the old defaults (release and pre-releases) are migrated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ast to the default ports Add 21, 23, 5900, 5985, 7000 and 8009 (22 ports, 2 rounds with the default 16 port threads, ~4 s for an unreachable host like 2 ICMP attempts). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…before the scan Ping hosts before the scan used the timeout / attempts of the port scan and a fixed 32-byte buffer. New settings like the IP Scanner (default 2 attempts, 2000 ms, 32 bytes), disabled while the option is off. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The group views were only translated with ProfileGroup_* keys (only General / Application exist), so e.g. "RemoteDesktop" was shown. Fall back to the application names like the profile dialog. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Groups get Ports (ports, port ranges and port profiles) for the Port Scanner, used by the profiles of the group that don't override them. Profiles get a Ports checkbox under "Override default settings", like the other settings that can be set in a group. The ports of a profile are resolved in one place (Profiles.Application.PortScanner.GetPorts). Profile file schema version 2 (first use of the version): profiles of older files with ports get the override enabled when loaded, so they keep their ports. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ApplicationName_Firewall was missing, so the name fell back to the enum name wherever application names are translated (list of features, settings, run command). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A hostname looked up with PTR showed the exception text "An invalid IP address was specified". Hostnames are skipped with a message now, the other hosts are looked up. The IP check of the DNS Lookup (PTR for IP addresses) moves to IPAddressHelper to be shared. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Groups get DNS server (like the profile), used by the profiles of the group that don't override it: profile -> group -> selected in DNS Lookup. - Profiles get Type (record type). Without it, a profile is looked up with PTR for IP addresses and A for hostnames instead of the record type last selected in DNS Lookup. PTR with a hostname is an error in the profile (can't be saved). - DNS server and type are under "Override default settings" in the profile, like the other settings that can be set in a group. - DNS server and type of a profile are resolved in one place (Profiles.Application.DNSLookup). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The profiles of a group renamed only by case (e.g. "servers" -> "Servers") were not updated (case-insensitive comparison), but groups are looked up case-sensitive: opening such a profile in a feature with group settings threw "Group not found", editing it could create a second group with the old name. Profiles are updated on any rename now, and profiles of existing files get the name of the group they are saved in when loaded. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…vers Profiles and groups saved and loaded the ports (port profiles) and DNS servers with copies of the same code (dialog manager, profile and group view model, Port Scanner / DNS Lookup helper). New PortProfile.Encode / Decode and DNSServer.Encode / Decode, with tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The tab was selected by the index of the view in the list, so the order of GroupViewName and the order of the tabs in the XAML had to match. Tabs have their GroupViewName as Tag and are selected by it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
IP Scanner, Port Scanner, Ping Monitor and Traceroute created the ping buffer from the setting without a limit: a value edited in the settings file threw (negative) or made every ping fail (more than 65500 bytes). Limited to the input range (1 - 65500) when the buffer is created, with one constant for the maximum (also used by the settings upgrade). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
This pull request does not currently match the merge queue conditions, so it cannot be queued from here. The box comes back if it matches again. |
mergify Bot
pushed a commit
that referenced
this pull request
Oct 29, 2026
* Fix: Web Console: Close the temporary WebView2 controller if deleting the browsing data fails (C1) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Chore: Feature review conventions: Context menu DataContext via BindingProxy in XAML (C3) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Chore: SNMP / Server profiles dialog: Remove nested BindingProxy (C6) The top-level BindingProxy (added for the context menus) has the same key and the same view model, the nested copies are no longer needed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Chore: Firewall: Outdated comment of ContextMenu_Opened (C7) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Fix: Port Scanner: Profile tooltip shows the ports to scan (F1) The tooltip of a profile showed its own saved ports: nothing or old ports if the ports are inherited from the group, and old names of renamed port profiles. It now shows the ports the scan uses (own ports, otherwise the ports of the group, port profiles with their current name). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Chore: Changelog: Link the entries of #3667 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Fix: Port Scanner: Scan options compare by value (F2) The options contained the ping buffer (byte[]), records compare arrays by reference: two options were never equal and every settings change rebuilt the options of every Port Scanner tab without results (allocating the buffer and re-evaluating the bindings). The options hold the buffer size, the scanner creates the buffer once. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Fix: Profiles: PTR check of DNS Lookup accepts the same addresses as the lookup (F3) The DNS Lookup looks up every host IPAddress.TryParse accepts with PTR (also shortened IPv4 forms like "127.1"), the profile dialog only accepted the full form: a profile with "127.1" and PTR couldn't be saved. The automatic record type (PTR vs A) keeps the strict check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Chore: Ping Monitor / IP Scanner / Port Scanner: Shared PingInfo from a successful reply PingProbe (IP Scanner, Port Scanner) and Ping (Ping Monitor) created the PingInfo of a successful reply the same way (TTL only for IPv4). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Chore: IP Scanner / Port Scanner / Ping Monitor / Traceroute: Shared limit of the ping buffer The same limit (1 to 65500 bytes) was written in four view models. GlobalStaticConfiguration.LimitICMPBuffer is used instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Chore: IP Scanner / Ping Monitor / Traceroute: Buffer size instead of the buffer in the options Like the Port Scanner (F2): the options hold the buffer size, the scanner / ping / traceroute creates the buffer once. IPScannerOptions is a record and compared arrays by reference. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
A few improvements across the app. See commits.
Related issue
Ref #3609
Type of change
How has this been tested?
Manual and with tests.
Screenshots
Checklist
dotnet build,dotnet test).Strings.resx(translations are done on Transifex).Source/3rdparty/are changed.Contributing
By submitting this pull request, I confirm that: