Session tickets are working
More cleanup and modernization. Don't need directories.* any more, since not compiling with old-ass MSVC
More cleanup and modernization in here
Clean up and modernize. A bunch of IWYU issues, indentation problems, warnings, etc.. More to do.
Got this compiling with clang64 on msys2, which is my preferred way to do it in 2026. Will retire the mingw build soon.
Split out state machine into individual functions
Chipping away at session tickets, but the state machine needs to be cleaned up for abbreviated handshakes
Add CRT version of decryption. For exotic 16-factor keys, it is 100x faster
IWYU
Don't do quadratic-time buffering
Push incoming data in a chunk
Make IV strategy configurable
Curious IV choice
Fix stupid bug in Write fast path. Add basic parsing/serialization of session ticket extension
Finish renew.exe for now; switch to multi-factor key
PacketParser with error state. Add ASN1 parsing utils. Add certificate expiration parsing.
Add utility to construct unix time_t
renew tool basically works, but could use some additional automation/robustness
Some cleanup
Add PKCS signing (SHA-256) to MultiRSA, and finish implementation of signed CSR.
First pass at CSR encoding, but it is untested
Fix bug in VectorRotate and add VectorConcat
Add basic ASN.1 test
Add some utilities to ASN.1 DER encoder
sync spacebar
Allow wildcards in config file. Start on renew app. A little bit of additional hardening.
Add NextField, like NextToken
Modernize some Util methods to take span/string_view
Add some missing Greek letters and some homoglyphs. A little bit of tweaking. Added light version of Katakana in FixederSysLight2x.
Finally just script fontforge. This was so easy...
Fix long-standing annoyance in font-image: Interpret the png file's path relative to the config file's directory.
QRCode should use 1-bit image
Postgame and video stuff
Add some more overloads for comparing against int
Handle client alerts, and more non-fatal errors from send syscall.
Harden PacketWriter against a self-aliasing append.
Fix a few picky problems in the SHA-1 implementation
Refactor packet size limits, and make configurable
Optimistically write to network buffer instead of always copying into queue
Reorganized Config parsing/representation so that it can be used to drive key renewal and other chores
Add QR check. Move the core encryption routines to the top for clarity and improve the docs a little.
Parse server random from config
Fix out-of-date comment
Oops, we also need the forward functions
Add C Unescape
Ah, this cannot load without derivative files; include those
Fixes for poor gcc
Modernize a bit. Isolate output of run-mnist
Get mnist model working again
Add Lightness calculation in image.h, and improve performance/clarity in similar code from color-util.
Add util tab; improve help text
Add despam. But I think it needs a better interface.
Migrate to new directory structure and UTF-8 database
Suppress some warnings in newish g++; integrate base/macros.h
Add help tab
Fix issue where you gain information about which encrypted public keys correspond to the plaintext public keys once you know them. Color code some fields, and improve usability.
Fix compilation on linux in 2025
Fix warnings / modernize
Clean up; fix warnings. Bury sml code
Get this compiling, but I really should clean it up more
Flush buffers to prevent log dupes
Oops, I had the logic backwards for SIGCHLD
Initial fixdb tool
Fix cryptrand on linux
Clean up headers and stuff. Fix zombie issue (I think)
Merge text codecs into fix-encodings. Probably done for now
Merge chardata into fix-encoding, and some cleanup
ftfy port passes its own tests now. Still need to clean up, though
Fix another bug in UTF-8 decoding.
Fix totally backwards UTF8::ConsumePrefix; add test
Variant UTF-8 decoding
Some more progress on this ftfy port
Chipped away at this port a bit more.
Checkpoint partial ftfy port (does not work), which I probably won't finish today
Compile-time decoding of UTF-8 string
This should work now for html entities.
Add html entities data, with one-time data repair to delete next
Fix the linux-only part too
Add a bunch of re2 tests from upstream.
Fix perhaps long-standing bug in DCHECK_EQ?
Suppress warnings on LazyRE2 construction
Just use base/logging.h. Having two definitions of CHECK macros confuses clangd, and me
Add keyinfo
Sync everything. Modernize re2 stringpiece, printf, etc.
Add unname-unicode tool, for undoing named unicode characters
Add utility for RE2 that comes up a lot
Parse UnicodeData.txt, which is included (compressed) as unicode-data.ccz.
Parse UnicodeData.txt, which is included (compressed) as unicode-data.ccz.
Possibly unwise: I got rid of re2::StringPiece and I'm just using string_view now. The data=nullptr issue is weirder than I thought; apparently in c++17 the default constructor WILL produce data=nullptr, but you can't get to this state otherwise. In c++20 it might not be nullptr. I tried to stamp it out.
Add string table
Add CCZ format convenience methods
Support filling a buffer in CryptRand, like I should have always done
Rename server binary to httpi. Notes for installing as daemon
Commit before move
Drop privileges. Clean up some
More orderly connection ending
Clean up debugging spew; a few more graceful error handling scenarios
Proxy protocol would work like this
Proxying works
Clean up tests