Commit Graph
3 Commits
Author SHA1 Message Date
Brues d9102bae3b Relicense source headers from LGPL to GPL v3
The repo was internally inconsistent: the LICENSE file is GPL v3 but every
src/ header carried the LGPL v3 notice and the README said "LGPL v3 or
later". LGPL was also the wrong fit — this is an injected mod plus a
bundled addon, not a library other code links against, so LGPL's linking
exception buys nothing.

It's also required: src/voicechat/Tts.cpp is ported from awesome_wotlk's
VoiceChat.cpp, which is GPL v3, and a derivative of GPL code cannot be
relicensed under more permissive terms. Dependencies stay compatible —
MinHook (BSD-2) and the nampower-mirrored packet shapes (BSD) are
GPL-compatible, and SAPI is covered by the system-library exception.

Swept "GNU Lesser General Public License" -> "GNU General Public License"
across all 257 src/ headers and changed the README license line to match
the GPL v3 LICENSE file. Comment-only; no build impact.
2026-06-29 16:38:16 -05:00
Brues 9edaa6095b EncodingUtil: match retail API surface for compression and base64
CompressString/DecompressString take a CompressionMethod enum
(Deflate / Zlib / Gzip). The streaming zlib API (deflateInit2_,
inflateInit2_) handles all three formats via windowBits — the
one-shot compress2/uncompress only do Zlib. Decode auto-detects
Zlib vs Gzip when no method is passed.

EncodeBase64/DecodeBase64 take a Base64Variant (Standard / UrlSafe).
Standard pads with '='; UrlSafe omits padding per RFC 4648 §5.
Decode is strict when a variant is named, lenient (both alphabets,
optional padding) when omitted.

Enum.CompressionMethod and Enum.Base64Variant exposed as globals.
2026-05-16 00:07:07 -05:00
Brues 2cc6cfda86 EncodingUtil 2026-05-15 23:12:16 -05:00