feat(batch6-task5): implement f4 permissions tls websocket mqtt cli options

This commit is contained in:
Joseph Doherty
2026-02-28 09:58:19 -05:00
parent cd24ea01c5
commit 3c1ab92a3a
4 changed files with 1614 additions and 8 deletions

View File

@@ -60,8 +60,13 @@ public enum OcspMode : byte
/// </summary>
public class PinnedCertSet : HashSet<string>
{
public PinnedCertSet() : base(StringComparer.OrdinalIgnoreCase) { }
public PinnedCertSet(IEnumerable<string> collection) : base(collection, StringComparer.OrdinalIgnoreCase) { }
public PinnedCertSet() : base(StringComparer.OrdinalIgnoreCase)
{
}
public PinnedCertSet(IEnumerable<string> collection) : base(collection, StringComparer.OrdinalIgnoreCase)
{
}
}
/// <summary>
@@ -105,7 +110,8 @@ public class TlsConfigOpts
public double Timeout { get; set; }
public long RateLimit { get; set; }
public bool AllowInsecureCiphers { get; set; }
public List<SslProtocols> CurvePreferences { get; set; } = [];
public List<TlsCipherSuite> Ciphers { get; set; } = [];
public List<SslApplicationProtocol> CurvePreferences { get; set; } = [];
public PinnedCertSet? PinnedCerts { get; set; }
public string CertMatch { get; set; } = string.Empty;
public bool CertMatchSkipInvalid { get; set; }
@@ -431,7 +437,7 @@ public class ProxyConfig
/// Parsed authorization section from config file.
/// Mirrors the unexported <c>authorization</c> struct in opts.go.
/// </summary>
internal class AuthorizationConfig
public class AuthorizationConfig
{
public string User { get; set; } = string.Empty;
public string Pass { get; set; } = string.Empty;

File diff suppressed because it is too large Load Diff