Commit Graph
48 Commits
Author SHA1 Message Date
laantungir 2224448d12 Getting the relay pool up to speed 2025-10-02 11:51:41 -04:00
laantungir 9bf74e76ce Updated synchronous relay queries to handle nip42. v0.2.6 2025-09-30 12:16:23 -04:00
laantungir d52ac9c106 Merge branch 'master' of ssh://git.laantungir.net:222/laantungir/nostr_core_lib
Working on Ginxsom auth and NIP 42 on a different computer at the same
time. My bad.
v0.2.5
2025-09-07 13:07:02 -04:00
laantungir e087a17eb9 Add NIP-42 implementation and local updates
- Added NIP-42 authentication implementation (nip042.c, nip042.h)
- Added NIP-42 test suite (nip42_test.c, nip42_test)
- Updated common core files for NIP-42 support
- Updated build script
- Rebuilt test binaries
2025-09-07 13:04:53 -04:00
Your Name d7e43328bb Add unified request validation system with authentication rules
- Add request_validator.h/c with comprehensive authentication system
- Implement pluggable database backend interface (SQLite default)
- Add priority-based rule evaluation engine with caching
- Support pubkey whitelist/blacklist, hash blacklist, MIME restrictions
- Add new authentication error codes to nostr_common.h
- Include request_validator.h in nostr_core.h
- Update build.sh to compile request_validator.c
- Designed for shared use between ginxsom and c-relay projects
2025-09-07 09:44:38 -04:00
laantungir 0af77dffab nip13 validation added 2025-09-05 13:42:03 -04:00
laantungir 0f72d7433a readme.md v0.2.4 2025-09-03 15:16:08 -04:00
laantungir 2f3140d4f6 remove exposed .h crypto headers 2025-09-02 12:36:52 -04:00
laantungir 31947d12b7 Streaming sha256 v0.2.3 2025-08-19 11:24:48 -04:00
laantungir 9e9fcba96c version v0.2.2 2025-08-19 07:02:42 -04:00
laantungir 4a096ff35f Nostr note validation added to nip01 v0.2.1 2025-08-19 06:59:04 -04:00
laantungir 64aee10a21 clean up v0.2.0 2025-08-17 14:14:52 -04:00
laantungir a9a1aff682 Fixed bug in nip44.c, was an error in ecdh_shared_secret. Added comments 2025-08-17 11:29:07 -04:00
laantungir a4fbba027e Fixed error in nip04 implementation. Now working 2025-08-17 10:42:38 -04:00
laantungir fdc7cc2a38 comparison test for debugging 2025-08-16 17:48:02 -04:00
laantungir 9879457d7e remove secp256 from project 2025-08-16 14:09:26 -04:00
laantungir 6722d09579 feat: migrate to system dependencies from static linking
BREAKING CHANGE: Library now requires system-installed dependencies

Major Changes:
- Convert secp256k1 from bundled static lib to system dependency
- Convert OpenSSL from bundled static lib to system dependency
- Convert curl from bundled static lib to system dependency
- Update build.sh with pkg-config detection and fallback logic
- Remove all static library extraction/building logic
- Update README.md with new dependency requirements and installation

Build System:
- Add detect_system_secp256k1() with pkg-config support
- Add detect_system_openssl() with pkg-config support
- Add detect_system_curl() with pkg-config support
- Remove secp256k1 building/extraction from ar archive
- Update CFLAGS and LIBS to use system library variables
- Clear error messages for missing dependencies with install commands

Documentation:
- Add system dependency installation for Ubuntu/Debian/CentOS/macOS
- Update all compile/link examples to include -lssl -lcrypto -lcurl -lsecp256k1
- Remove references to 'self-contained' and 'no external dependencies'
- Update integration examples throughout README

Benefits:
- Smaller library size (only internal code bundled)
- Automatic security updates via system package manager
- Standard Linux library distribution pattern
- Reduced build complexity
- Better system integration with pkg-config

Required Installation:
Ubuntu/Debian: sudo apt install libssl-dev libcurl4-openssl-dev libsecp256k1-dev
CentOS/RHEL: sudo yum install openssl-devel libcurl-devel libsecp256k1-devel
macOS: brew install openssl curl secp256k1
2025-08-16 13:59:29 -04:00
laantungir 3533c874ea un-nest curl 2025-08-16 11:22:44 -04:00
laantungir 553774fdc4 secp256k1 2025-08-16 10:48:58 -04:00
laantungir 3f5024c24c Add in secp256k repo so that customer can build. 2025-08-16 10:39:49 -04:00
laantungir 8bcf76387b Updated build.sh to build curl, openssl, and 256k1 if needed 2025-08-16 10:26:39 -04:00
laantungir 7bf39a7e10 Simplify build script directory validation
- Replace file-based validation with directory name check
- Now simply checks if current directory is named 'nostr_core_lib'
- More reliable and clearer error messages for customers
- Fixes issue where customers get validation errors when running from properly named directories
2025-08-16 09:45:27 -04:00
laantungir ec5a97f951 Update library usage documentation 2025-08-16 09:36:39 -04:00
laantungir 9913f92c96 Fix build script path resolution for customer Makefile usage
- Added BUILD_DIR=/home/teknari/Sync/Programming/VibeCoding/nostr_core_lib to capture absolute build directory
- Changed relative paths to absolute paths in archive extraction
- Fixes 'No such file or directory' error when build.sh is called from customer Makefiles
- Maintains backward compatibility for all existing use cases
2025-08-16 09:34:57 -04:00
laantungir dad1f5aa52 Working in the mines 2025-08-16 08:51:04 -04:00
laantungir 241ca036ed Refactor and consolidate test suite
- Moved old tests from tests/old/ to main tests/ directory
- Renamed nostr_test_bip32.c to bip32_test.c for consistency
- Renamed nostr_crypto_test.c to crypto_test.c for consistency
- Renamed wss_test.c and moved from old directory
- Fixed unused variable warning in bip32_test.c
- Updated build system and workspace rules
- Cleaned up old compiled test executables
- Updated nostr_common.h and core_relays.c
- Removed obsolete nostr_core.h.old backup file

This consolidates all active tests into the main directory and removes
outdated test files while maintaining a clean, organized structure.
2025-08-16 08:38:41 -04:00
laantungir 997c3e976b Completed refactoring to separate nip files, and updating build.sh 2025-08-16 07:42:48 -04:00
laantungir ea9b8918f6 Last version before deleting Makefile and CmakeLists.txt 2025-08-15 16:32:59 -04:00
laantungir 52e5d300fc Final fix for curl callback function signature - use proper void* types 2025-08-15 09:14:53 -04:00
laantungir ace0b5a792 Fixed curl type warnings - callback function signature and timeout parameter casting v0.1.33 2025-08-15 09:12:55 -04:00
laantungir 04f22e6f47 Improved POW v0.1.32 2025-08-15 07:47:16 -04:00
laantungir e8c0fcdf63 . v0.1.30 v0.1.31 2025-08-14 19:15:55 -04:00
laantungir 7cf7ffe025 . v0.1.28 v0.1.29 2025-08-14 18:30:16 -04:00
laantungir a2b700cf40 version v0.1.27 2025-08-14 17:52:45 -04:00
laantungir dfe8a20e2e Add automatic dependency building to Makefile
- Add secp256k1 auto-building rule for x64 target
- Fix customer build errors with missing secp256k1/.libs/libsecp256k1.a
- Force clean rebuild when secp256k1 library is missing
- Customers can now run 'make' directly without manual dependency building
- Maintains existing ARM64 cross-compilation auto-building functionality
v0.1.26
2025-08-14 17:43:33 -04:00
laantungir 3cfddbe75b . 2025-08-14 16:43:46 -04:00
laantungir 8c610b6e36 Fix submodule compatibility: Remove version.c dependency and include cjson source files
- Remove nostr_core/version.c from Makefile LIB_SOURCES to fix submodule build failures
- Remove cjson/ from .gitignore and add cjson source files to repository
- Consolidate cJSON.h into cjson/ directory (remove duplicate from nostr_core/)
- Simplify build.sh versioning to only manage git tags and VERSION file
- Update examples/version_test.c to work without version functions
- Consumer projects can now use 'make' directly without missing file errors
v0.1.25
2025-08-14 16:40:34 -04:00
laantungir 2de890da5c clean up versioning v0.1.24 2025-08-14 16:26:37 -04:00
laantungir bb673cc1a4 Initial template structure from nostr_core_lib
- Complete C library template with OpenSSL-based crypto
- Comprehensive build system (Makefile, build.sh)
- Example code and test suite
- Documentation and usage guides
- Cross-platform compatibility (x64/ARM64)
- Production-ready structure for C library projects
v0.1.22 v0.1.23
2025-08-14 15:10:59 -04:00
laantungir f6c8ef6246 Adding in curl and openssl repos 2025-08-14 12:09:30 -04:00
laantungir 01d382c0d3 Complete mbedTLS cleanup - Removed all mbedTLS dependencies and updated documentation
- Moved mbedTLS directories to Trash/ (mbedtls/, mbedtls-install/, mbedtls-arm64-install/)
- Removed obsolete nostr_websocket_mbedtls.c implementation
- Updated nostr_websocket/Makefile to use OpenSSL instead of mbedTLS
- Updated nostr_websocket/README.md with OpenSSL migration notes
- Updated nostr_websocket/EXPORT_GUIDE.md with OpenSSL instructions
- All tests pass: crypto tests, static linking verification
- Build system fully functional with OpenSSL-only dependencies
2025-08-14 11:59:03 -04:00
laantungir f86fb256b2 Pre-mbedTLS cleanup checkpoint - OpenSSL migration complete, all tests passing 2025-08-14 11:51:26 -04:00
laantungir ac85ab6f07 Last commit before switching from mbedtls to openssl v0.1.19 v0.1.20 v0.1.21 2025-08-14 09:58:24 -04:00
laantungir cfde3bcb0f cJSON.h added v0.1.18 2025-08-12 21:05:39 -04:00
laantungir a4ae8df66f Fully statically linked for both x64 and arm64. Updated build.sh to always compile both versions 2025-08-11 06:54:50 -04:00
laantungir 3108661b0a added nostr_decode_npub v0.1.10 v0.1.11 v0.1.12 v0.1.13 v0.1.14 v0.1.15 v0.1.16 v0.1.17 v0.1.3 v0.1.4 v0.1.5 v0.1.6 v0.1.7 v0.1.8 v0.1.9 2025-08-09 11:40:34 -04:00
laantungir 3b076ea372 . 2025-08-09 11:07:11 -04:00
laantungir 6369fb0cf3 First commit on a late git install v0.1.0 v0.1.1 v0.1.2 2025-08-09 10:23:28 -04:00