summaryrefslogtreecommitdiffstats
path: root/src/lib.rs
diff options
context:
space:
mode:
authorCyborus <cyborus@noreply.codeberg.org>2024-05-31 17:24:42 +0200
committerCyborus <cyborus@noreply.codeberg.org>2024-05-31 17:24:42 +0200
commit7fa8e0acb764e1f819ca082ad7b3b133b2882e82 (patch)
treebf27bb484e07e82d6db78eef9183eb99118be926 /src/lib.rs
parentadd oauth2 testing (diff)
parentadd `/test_repos` to gitignore (diff)
downloadforgejo-api-7fa8e0acb764e1f819ca082ad7b3b133b2882e82.tar.xz
forgejo-api-7fa8e0acb764e1f819ca082ad7b3b133b2882e82.zip
Merge pull request 'improve integration tests' (#56) from improve-tests into main
Reviewed-on: https://codeberg.org/Cyborus/forgejo-api/pulls/56
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lib.rs b/src/lib.rs
index a87a696..d9b877e 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -99,11 +99,13 @@ impl Forgejo {
password,
mfa,
} => {
- let len = (((username.len() + password.len() + 1)
+ let unencoded_len = username.len() + password.len() + 1;
+ let unpadded_len = unencoded_len
.checked_mul(4)
- .ok_or(ForgejoError::AuthTooLong)?)
- / 3)
- + 1;
+ .ok_or(ForgejoError::AuthTooLong)?
+ .div_ceil(3);
+ // round up to next multiple of 4, to account for padding
+ let len = unpadded_len.div_ceil(4) * 4;
let mut bytes = vec![0; len];
// panic safety: len cannot be zero