1- use alloc:: vec:: Vec ;
2- use core:: marker:: PhantomData ;
3- use crypto_bigint:: { BoxedUint , ConcatenatingMul , Odd , Resize , modular:: BoxedMontyForm } ;
4- use digest:: { Digest , Output } ;
5- use subtle:: ConstantTimeEq ;
6-
71use crate :: {
82 Group ,
93 errors:: AuthError ,
@@ -12,6 +6,11 @@ use crate::{
126 monty_form,
137 } ,
148} ;
9+ use alloc:: vec:: Vec ;
10+ use core:: marker:: PhantomData ;
11+ use crypto_bigint:: { BoxedUint , ConcatenatingMul , Odd , Resize , modular:: BoxedMontyForm } ;
12+ use digest:: { Digest , Output } ;
13+ use subtle:: ConstantTimeEq ;
1514
1615/// SRP client implementation.
1716///
@@ -112,6 +111,7 @@ use crate::{
112111/// let pwd_verifier = client.compute_verifier(username, password, salt);
113112/// send_registration_data(username, salt, &pwd_verifier);
114113/// ```
114+ #[ derive( Debug ) ]
115115pub struct Client < G : Group , D : Digest > {
116116 g : BoxedMontyForm ,
117117 username_in_x : bool ,
@@ -331,6 +331,7 @@ impl<G: Group, D: Digest> Default for Client<G, D> {
331331/// [RFC5054]-compatible SRP client state after handshake with the server.
332332///
333333/// [RFC5054]: https://datatracker.ietf.org/doc/html/rfc5054
334+ #[ derive( Debug ) ]
334335pub struct ClientVerifier < D : Digest > {
335336 m1 : Output < D > ,
336337 m2 : Output < D > ,
@@ -363,6 +364,7 @@ impl<D: Digest> ClientVerifier<D> {
363364
364365/// Legacy SRP client state after handshake with the server, compatible with `srp` v0.6 and earlier.
365366#[ deprecated( since = "0.7.0" , note = "please switch to `ClientVerifierRfc5054`" ) ]
367+ #[ derive( Debug ) ]
366368pub struct LegacyClientVerifier < D : Digest > {
367369 m1 : Output < D > ,
368370 m2 : Output < D > ,
0 commit comments