Skip to content

Add crypt.h, base64.h, time.h#6

Merged
Raumberg merged 4 commits into
Raumberg:devfrom
generin0:changes
Feb 21, 2026
Merged

Add crypt.h, base64.h, time.h#6
Raumberg merged 4 commits into
Raumberg:devfrom
generin0:changes

Conversation

@generin0

Copy link
Copy Markdown
Collaborator

No description provided.

@Raumberg
Raumberg changed the base branch from master to dev February 16, 2026 19:17
@Raumberg

Copy link
Copy Markdown
Owner

Assertion failing for macos build. Need to add libssl

@Raumberg

Copy link
Copy Markdown
Owner

Hey, thanks for the PR! Great to see contributions to the runtime. Here's a review with some things that need to be addressed before merging:

OpenSSL linkage is missing - crypto.h includes <openssl/sha.h> and <openssl/md5.h>, but neither the Makefile nor CI install or link against OpenSSL. This breaks the build on all platforms.

Makefile: -lssl -lcrypto (and on macOS likely -I/opt/homebrew/opt/openssl/include -L/opt/homebrew/opt/openssl/lib)

And change other CI accordingly.

Other thing is deprecated OpenSSL API - SHA256_Init/Update/Final and MD5_Init/Update/Final are deprecated since OpenSSL 3.0. Should use EVP_DigestInit_ex / EVP_DigestUpdate / EVP_DigestFinal_ex with EVP_sha256() / EVP_md5(). The old API emits compiler warnings and may be removed in future OpenSSL versions.

The final thing is design approach on openssl dependency. Including crypto.h from lavina.h means every Lavina program now requires OpenSSL to compile, even if it doesn't use crypto at all. This is a heavy dependency to impose on all users. Crypto should be opt-in (separate import / conditional include).

generin0 and others added 3 commits February 21, 2026 04:55
tions, and added inline keyword to improve performance.
…fic defines for random number generation in core.h
@Raumberg
Raumberg merged commit f7dda70 into Raumberg:dev Feb 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants