All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning (with some modifications per Rust's Cargo).
(no changes yet)
0.3.2 - 2024-09-12
rust-version
field to Cargo.toml, to indicate MSRV
- Use
_
instead of range pattern to prevent breakage on older Rust versions (<=1.74)
rust-version
field to Cargo.toml, to indicate MSRV
0.3.1 - 2024-09-11
docsrs
feature, as it was unused
Client
connections are now properly reestablished when closed at the other end (#39)
docsrs
feature, in favor of a--cfg
when building docs on docs.rs
0.3.0 - 2024-08-29
- CI tests are also run against TACACS+ NG, an actively maintained TACACS+ server implementation (#30)
- Common std trait implementations (e.g.
Hash
,PartialOrd
/PartialEq
,Debug
,Display
) to publicly exposed types
ContextBuilder
methods now take references instead of consuming the builder (#34)ContextBuilder::new()
takes aString
instead of an&str
FieldText::from_string_lossy()
constructor that automatically escapes any non-printable-ASCII characters (#31)InvalidText
type, forFieldText
construction errors- Common core trait implementations (e.g.
Hash
,PartialOrd
/PartialEq
,Debug
,Display
) to publicly exposed types
FieldText
'sTryFrom
&FromStr
implementation error types were changed toInvalidText
(#35)authentication::Action::SendAuth
is no longer marked as#[deprecated]
, since RFC8907 section 10.5.3 only recommends against its use, not deprecates it
0.2.2 - 2024-08-20
- Argument values are now properly merged between request & response packets, per RFC8907 section 6.1 (#27)
FromStr
implementation forFieldText
(std-only) (#26)
0.2.1 - 2024-08-20
- Outbound PAP authentication test, since it was redundant with other tests (#18)
Argument
field getters are now properly generated (#24)
0.2.0 - 2024-08-19
Client::account_begin()
method to perform TACACS+ accountingAccountingTask
type to represent an in-progress task being tracked via TACACS+ accountingAccountingError
andSystemTimeBeforeEpoch
variants forClientError
- Test of client accounting against Shrubbery TACACS+ server, together with validation of resulting log file
Client
methods take&self
instead of&mut self
, as the latter wasn't necessaryarguments
field ofAuthorizationResponse
is now of typeVec<Argument<'static>>
instead ofVec<ArgumentOwned>
FieldText::into_owned()
method to allow for use in owned context (std-only)TryFrom<String>
implementation forFieldText
such that it owns its contained data (std-only)PartialEq
implementations against&str
forFieldText
(both directions)- Other
FieldText
trait implementations:PartialOrd
/Ord
,Hash
,Default
- Any getters for fields of type
FieldText
now return&FieldText
, asFieldText
is no longerCopy
due to internal representation changes required
field ofArgument
renamed tomandatory
to match RFC8907
ArgumentOwned
type, with theArgument
type being expanded to fill the same purpose (#20)Copy
implementation forFieldText
, as it no longer makes sense due to implementation changes
0.1.0 - 2024-08-07
- Parsing/serializing capabilities for RFC8907 TACACS+ protocol packets in no-std/no-alloc context
- Validation of different packet fields both when deserializing and serializing
- TACACS+
Client
capable of PAP/CHAP authentication as well as authorization - Client tests against the Shrubbery TACACS+ daemon for authentication/authorization (#13)