Skip to content

Commit 0ae4d58

Browse files
committed
fix(cookies): add Secure flag to all Set-Cookie headers
1 parent 116e6ab commit 0ae4d58

3 files changed

Lines changed: 8 additions & 1 deletion

File tree

src/server.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ impl ResponseExt for Response<Body> {
275275
}
276276

277277
fn remove_cookie(&mut self, name: String) {
278-
let removal_cookie = Cookie::build(name).path("/").http_only(true).expires(OffsetDateTime::now_utc());
278+
let removal_cookie = Cookie::build(name).path("/").http_only(true).secure(true).expires(OffsetDateTime::now_utc());
279279
if let Ok(val) = header::HeaderValue::from_str(&removal_cookie.to_string()) {
280280
self.headers_mut().append("Set-Cookie", val);
281281
}

src/settings.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ pub async fn set(req: Request<Body>) -> Result<Response<Body>, String> {
8484
Cookie::build((name.to_owned(), value.clone()))
8585
.path("/")
8686
.http_only(true)
87+
.secure(true)
8788
.expires(OffsetDateTime::now_utc() + Duration::weeks(52))
8889
.into(),
8990
),
@@ -126,6 +127,7 @@ fn set_cookies_method(req: Request<Body>, remove_cookies: bool) -> Response<Body
126127
Cookie::build((name.to_owned(), value.clone()))
127128
.path("/")
128129
.http_only(true)
130+
.secure(true)
129131
.expires(OffsetDateTime::now_utc() + Duration::weeks(52))
130132
.into(),
131133
),
@@ -167,6 +169,7 @@ fn set_cookies_method(req: Request<Body>, remove_cookies: bool) -> Response<Body
167169
Cookie::build((subscriptions_cookie, list))
168170
.path("/")
169171
.http_only(true)
172+
.secure(true)
170173
.expires(OffsetDateTime::now_utc() + Duration::weeks(52))
171174
.into(),
172175
);
@@ -218,6 +221,7 @@ fn set_cookies_method(req: Request<Body>, remove_cookies: bool) -> Response<Body
218221
Cookie::build((filters_cookie, list))
219222
.path("/")
220223
.http_only(true)
224+
.secure(true)
221225
.expires(OffsetDateTime::now_utc() + Duration::weeks(52))
222226
.into(),
223227
);

src/subreddit.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ pub async fn add_quarantine_exception(req: Request<Body>) -> Result<Response<Bod
219219
Cookie::build((&format!("allow_quaran_{}", subreddit.to_lowercase()), "true"))
220220
.path("/")
221221
.http_only(true)
222+
.secure(true)
222223
.expires(cookie::Expiration::Session)
223224
.into(),
224225
);
@@ -389,6 +390,7 @@ pub async fn subscriptions_filters(req: Request<Body>) -> Result<Response<Body>,
389390
Cookie::build((subscriptions_cookie, list))
390391
.path("/")
391392
.http_only(true)
393+
.secure(true)
392394
.expires(OffsetDateTime::now_utc() + Duration::weeks(52))
393395
.into(),
394396
);
@@ -437,6 +439,7 @@ pub async fn subscriptions_filters(req: Request<Body>) -> Result<Response<Body>,
437439
Cookie::build((filters_cookie, list))
438440
.path("/")
439441
.http_only(true)
442+
.secure(true)
440443
.expires(OffsetDateTime::now_utc() + Duration::weeks(52))
441444
.into(),
442445
);

0 commit comments

Comments
 (0)