History log of /lighttpd1.4/src/base64.c (Results 1 – 21 of 21)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: lighttpd-1.4.69, lighttpd-1.4.68, lighttpd-1.4.67, lighttpd-1.4.66
# 5fef5e22 24-Jun-2022 Glenn Strauss <[email protected]>

[core] fix li_base64_dec() on whitespace

(regression in lighttpd 1.4.60 - lighttpd 1.4.65)

impacted: mod_wolfssl loading certificate private keys

must ignore whitespace in count of encoded chars


Revision tags: lighttpd-1.4.65, lighttpd-1.4.64, lighttpd-1.4.63, lighttpd-1.4.62, lighttpd-1.4.61, lighttpd-1.4.60
# bed08f12 21-Aug-2021 Glenn Strauss <[email protected]>

[core] base64url pad char is '='; change from '.'

RFC4648 base64url pad char is '='; change from '.' in lighttpd
The base64url encoding was introduced in lighttpd 1.4.38 in 2015,
but at the time, do

[core] base64url pad char is '='; change from '.'

RFC4648 base64url pad char is '='; change from '.' in lighttpd
The base64url encoding was introduced in lighttpd 1.4.38 in 2015,
but at the time, does not appear to have been used in base64url
decoding where padding might be present.

In lighttpd 1.4.50, base64url decoding was possible with %{decb64u:...}
potentially used in mod_redirect and mod_rewrite rules. However, this
is not believed to be widely used, and even if used, it is strongly
recommended that the URLs contain a base64url-encoded string WITHOUT
padding, since padding of '=' might be %-encoded and require decoding
before base64url-decoding.

Note: this change may affect %{decb64u:...} substitution in
mod_redirect and mod_rewrite, but *ONLY* in case where URL contains
a base64url-encoded string *WITH* padding, and that padding had been
created specifically for use with lighttpd, using '.' as padding char

x-ref:
RFC4648 https://datatracker.ietf.org/doc/html/rfc4648#section-5

show more ...


# 396a9230 12-Jun-2021 Glenn Strauss <[email protected]>

[core] li_base64_dec()

(make public in base64.h, like li_base64_enc())


# f2aacad0 19-May-2021 Glenn Strauss <[email protected]>

[core] load padding char from base64_table

(triggers preload-access of table)


# 3301fe04 19-May-2021 Glenn Strauss <[email protected]>

[core] li_base64_dec() on 4 bytes at a time


# 0dfe9f7b 19-May-2021 Glenn Strauss <[email protected]>

[core] merge base64 encoding to li_base64_enc()

single func with option to add padding or not


# 235c0dca 19-May-2021 Glenn Strauss <[email protected]>

[core] base64 encode w/ reduced data dependencies


# e7805dbf 19-May-2021 Glenn Strauss <[email protected]>

[core] base64 encode round-up for required space

no need for extra work for precision allocation to avoid 0-3 extra chars

note: callers passing precise buffer size for without padding will need
t

[core] base64 encode round-up for required space

no need for extra work for precision allocation to avoid 0-3 extra chars

note: callers passing precise buffer size for without padding will need
to be modified to pass a slightly larger buffer, e.g. mod_secdownload

show more ...


# a473d48c 05-May-2021 Glenn Strauss <[email protected]>

[core] consolidate overflow checks in li_to_base64


# bc572e1c 04-May-2021 Glenn Strauss <[email protected]>

[core] base64_charset enum supports only 2 tables


# 6de4c809 04-May-2021 Glenn Strauss <[email protected]>

[core] buffer_append_base64_encode_opt()

with option to include or omit padding

single func to handle both:
- buffer_append_base64_encode_no_padding
- buffer_append_base64_encode


# 6f942adf 04-May-2021 Glenn Strauss <[email protected]>

[core] li_to_base64 alt code to add padding


# 5e39c81f 04-May-2021 Glenn Strauss <[email protected]>

[core] li_base64_decode mark cold code path


# 099dc83f 04-May-2021 Glenn Strauss <[email protected]>

[core] li_base64_decode similar to li_to_base64


Revision tags: lighttpd-1.4.59, lighttpd-1.4.58, lighttpd-1.4.57, lighttpd-1.4.56, lighttpd-1.4.56-rc7, lighttpd-1.4.56-rc6, lighttpd-1.4.56-rc5, lighttpd-1.4.56-rc4, lighttpd-1.4.56-rc3, lighttpd-1.4.56-rc2, lighttpd-1.4.56-rc1
# c752d469 22-Feb-2020 Glenn Strauss <[email protected]>

[multiple] correct misspellings in comments

x-ref:
"Script for fixing spelling errors with codespell"
https://redmine.lighttpd.net/boards/3/topics/8947


Revision tags: lighttpd-1.4.55, lighttpd-1.4.54, lighttpd-1.4.53, lighttpd-1.4.52, lighttpd-1.4.51, lighttpd-1.4.50, lighttpd-1.4.49
# d4083eff 21-Dec-2017 Glenn Strauss <[email protected]>

[core] fix base64 decode when char is unsigned (fixes #2848)

thx, codehero

x-ref:
"buffer_append_base64_decode() broken on compilers where char is assumed unsigned"
https://redmine.lighttpd.net

[core] fix base64 decode when char is unsigned (fixes #2848)

thx, codehero

x-ref:
"buffer_append_base64_decode() broken on compilers where char is assumed unsigned"
https://redmine.lighttpd.net/issues/2848

show more ...


Revision tags: lighttpd-1.4.48, lighttpd-1.4.47, lighttpd-1.4.46
# 7aff5046 02-Oct-2017 Glenn Strauss <[email protected]>

[unittests] consolidate base64 test code

consolidate base64 test code

use char type for tables to reduce memory use
(potentially increase cache hits)


Revision tags: lighttpd-1.4.45, lighttpd-1.4.44, lighttpd-1.4.43, lighttpd-1.4.42, lighttpd-1.4.41, lighttpd-1.4.40
# 82bee8d5 25-Mar-2016 Stefan Bühler <[email protected]>

[base64] fix another crash due to broken force_assert conditions

From: Stefan Bühler <[email protected]>

git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@3119 152afb58-edef-0310-8

[base64] fix another crash due to broken force_assert conditions

From: Stefan Bühler <[email protected]>

git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@3119 152afb58-edef-0310-8abb-c4023f1b3aa9

show more ...


# 7b983ae0 23-Mar-2016 Andrey Mnatsakanov <[email protected]>

[base64] fix crash due to broken force_assert

if the input to `li_to_base64_no_padding` has length 3*n,
`out_tuple_remainder` = `in_tuple_remainder` = 0, and `4*full_tuples
== 4*full_tuples + out_tu

[base64] fix crash due to broken force_assert

if the input to `li_to_base64_no_padding` has length 3*n,
`out_tuple_remainder` = `in_tuple_remainder` = 0, and `4*full_tuples
== 4*full_tuples + out_tuple_remainder`

From: Andrey Mnatsakanov <[email protected]>

git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@3117 152afb58-edef-0310-8abb-c4023f1b3aa9

show more ...


# 8abd06a7 19-Mar-2016 Glenn Strauss <[email protected]>

consistent inclusion of config.h at top of files (fixes #2073)

From: Glenn Strauss <[email protected]>

git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@3113 152afb58-edef-03

consistent inclusion of config.h at top of files (fixes #2073)

From: Glenn Strauss <[email protected]>

git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@3113 152afb58-edef-0310-8abb-c4023f1b3aa9

show more ...


Revision tags: lighttpd-1.4.39, lighttpd-1.4.38
# b0a44212 22-Nov-2015 Stefan Bühler <[email protected]>

[core] refactor base64 functions into separate file

Differential Revision: https://review.lighttpd.net/D6

From: Stefan Bühler <[email protected]>

git-svn-id: svn://svn.lighttpd.net/lighttpd/branche

[core] refactor base64 functions into separate file

Differential Revision: https://review.lighttpd.net/D6

From: Stefan Bühler <[email protected]>

git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@3053 152afb58-edef-0310-8abb-c4023f1b3aa9

show more ...