Released on 19/12/2024
-
thiserror
2.0
-
‼️ BREAKING CHANGE: Added support for unsupported fields:AddressFamily, BatchMode, CanonicalDomains, CanonicalizeFallbackLock, CanonicalizeHostname, CanonicalizeMaxDots, CanonicalizePermittedCNAMEs, CheckHostIP, ClearAllForwardings, ControlMaster, ControlPath, ControlPersist, DynamicForward, EnableSSHKeysign, EscapeChar, ExitOnForwardFailure, FingerprintHash, ForkAfterAuthentication, ForwardAgent, ForwardX11, ForwardX11Timeout, ForwardX11Trusted, GatewayPorts, GlobalKnownHostsFile, GSSAPIAuthentication, GSSAPIDelegateCredentials, HashKnownHosts, HostbasedAcceptedAlgorithms, HostbasedAuthentication, HostKeyAlias, HostbasedKeyTypes, IdentitiesOnly, IdentityAgent, Include, IPQoS, KbdInteractiveAuthentication, KbdInteractiveDevices, KnownHostsCommand, LocalCommand, LocalForward, LogLevel, LogVerbose, NoHostAuthenticationForLocalhost, NumberOfPasswordPrompts, PasswordAuthentication, PermitLocalCommand, PermitRemoteOpen, PKCS11Provider, PreferredAuthentications, ProxyCommand, ProxyJump, ProxyUseFdpass, PubkeyAcceptedKeyTypes, RekeyLimit, RequestTTY, RevokedHostKeys, SecruityKeyProvider, SendEnv, ServerAliveCountMax, SessionType, SetEnv, StdinNull, StreamLocalBindMask, StrictHostKeyChecking, SyslogFacility, UpdateHostKeys, UserKnownHostsFile, VerifyHostKeyDNS, VisualHostKey, XAuthLocation
If you want to keep the behaviour as-is, use
ParseRule::STRICT | ParseRule::ALLOW_UNSUPPORTED_FIELDS
when callingparse()
if you were usingParseRule::STRICT
before.Otherwise you can now access unsupported fields by using the
unsupported_fields
field on theHostParams
structure like this:use ssh2_config::{ParseRule, SshConfig}; use std::fs::File; use std::io::BufReader; let mut reader = BufReader::new(File::open(config_path).expect("Could not open configuration file")); let config = SshConfig::default().parse(&mut reader, ParseRule::ALLOW_UNSUPPORTED_FIELDS).expect("Failed to parse configuration"); // Query attributes for a certain host let params = config.query("192.168.1.2"); let forwards = params.unsupported_fields.get("dynamicforward");
Released on 05/12/2023
- Fixed the order of appliance of configuration argument when overriding occurred. Thanks @LeoniePhiline
Released on 31/07/2023
- Exposed
ignored_fields
asMap<String, Vec<String>>
(KeyName => Args) forHostParams
Released on 28/07/2023
- Added
parse_default_file
to parse directly the default ssh config file at$HOME/.ssh/config
- Added
get_hosts
to retrieve current configuration's hosts
Released on 09/05/2023
- Added
ParseRule
field toparse()
method to specify some rules for parsing. ❗ To keep the behaviour as-is useParseRule::STRICT
Released on 03/03/2023
- Added legacy field support
- HostbasedKeyTypes
- PubkeyAcceptedKeyTypes
Released on 27/02/2023
- Fixed comments not being properly stripped
Released on 02/02/2023
- Fixed issue 2 hosts not being sorted by priority in host query
Released on 29/01/2022
- Added missing
ForwardX11Trusted
field to known fields
Released on 11/01/2022
- Implemented
IgnoreUnknown
parameter - Added
UseKeychain
support for MacOS
Released on 02/01/2022
- Added
IdentityFile
parameter
Released on 04/12/2021
- First release