Skip to content

Commit 08e777e

Browse files
committed
fix(sessions): Fix generated session with infinite expiration
When generating a session with `-g`, set the session expiration using `set_expiration`, so that `--session-expiry 0` is treated as expected.
1 parent 1f026f4 commit 08e777e

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

src/main.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,15 +117,14 @@ fn parse_options() -> Result<httpd::Options, Error> {
117117
.take(api::auth::DEFAULT_SESSION_ID_CUSTOM_EXPIRATION_LENGTH)
118118
.collect::<String>();
119119
let signer = profile.signer().map_err(Error::from)?;
120-
let session = Session {
120+
let mut session = Session {
121121
status: AuthState::Authorized,
122122
public_key: *signer.public_key(),
123123
alias: profile.config.node.alias.clone(),
124124
issued_at: OffsetDateTime::now_utc(),
125-
expires_at: OffsetDateTime::now_utc()
126-
.checked_add(options.session_expiry)
127-
.unwrap(),
125+
expires_at: OffsetDateTime::now_utc(),
128126
};
127+
session.set_expiration(options.session_expiry, OffsetDateTime::now_utc())?;
129128
let encrypted_session_id = signer.try_sign(session_id.as_bytes())?.to_string();
130129
let mut sessions = ctx.open_session_db()?;
131130
let ok = sessions

0 commit comments

Comments
 (0)