Skip to content

Commit f6bc913

Browse files
committed
fix(cookies): add Secure flag to all Set-Cookie headers
1 parent 8521383 commit f6bc913

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
@@ -220,6 +220,7 @@ pub async fn add_quarantine_exception(req: Request<Body>) -> Result<Response<Bod
220220
Cookie::build((&format!("allow_quaran_{}", subreddit.to_lowercase()), "true"))
221221
.path("/")
222222
.http_only(true)
223+
.secure(true)
223224
.expires(cookie::Expiration::Session)
224225
.into(),
225226
);
@@ -390,6 +391,7 @@ pub async fn subscriptions_filters(req: Request<Body>) -> Result<Response<Body>,
390391
Cookie::build((subscriptions_cookie, list))
391392
.path("/")
392393
.http_only(true)
394+
.secure(true)
393395
.expires(OffsetDateTime::now_utc() + Duration::weeks(52))
394396
.into(),
395397
);
@@ -438,6 +440,7 @@ pub async fn subscriptions_filters(req: Request<Body>) -> Result<Response<Body>,
438440
Cookie::build((filters_cookie, list))
439441
.path("/")
440442
.http_only(true)
443+
.secure(true)
441444
.expires(OffsetDateTime::now_utc() + Duration::weeks(52))
442445
.into(),
443446
);

0 commit comments

Comments
 (0)