Commit Graph

55 Commits

Author SHA1 Message Date
Your Name
80b15e16e2 v0.4.3 - feat: Implement dynamic configuration updates without restart
- Add cache refresh mechanism for config updates
- Implement selective re-initialization for NIP-11 relay info changes
- Categorize configs as dynamic vs restart-required using requires_restart field
- Enhance admin API responses with restart requirement information
- Add comprehensive test for dynamic config updates
- Update documentation for dynamic configuration capabilities

Most relay settings can now be updated via admin API without requiring restart, improving operational flexibility while maintaining stability for critical changes.
v0.4.4
2025-10-02 15:53:26 -04:00
Your Name
cfacedbb1a v0.4.2 - Implement NIP-11 Relay Information Document with event-based configuration - make relay info dynamically configurable via admin API v0.4.3 2025-10-02 11:38:28 -04:00
Your Name
c3bab033ed v0.4.1 - Fixed startup bug v0.4.2 2025-10-01 17:23:50 -04:00
Your Name
524f9bd84f Last push before major bug fixes v0.4.1 2025-10-01 14:53:20 -04:00
Your Name
4658ede9d6 feat: Implement auth rules enforcement and fix subscription filtering issues
- **Auth Rules Implementation**: Added blacklist/whitelist enforcement in websockets.c
  - Events are now checked against auth_rules table before acceptance
  - Blacklist blocks specific pubkeys, whitelist enables allow-only mode
  - Made check_database_auth_rules() public for cross-module access

- **Subscription Filtering Fixes**:
  - Added missing 'ids' filter support in SQL query building
  - Fixed test expectations to not require exact event counts for kind filters
  - Improved filter validation and error handling

- **Ephemeral Events Compliance**:
  - Modified SQL queries to exclude kinds 20000-29999 from historical queries
  - Maintains broadcasting to active subscribers while preventing storage/retrieval
  - Ensures NIP-01 compliance for ephemeral event handling

- **Comprehensive Testing**:
  - Created white_black_test.sh with full blacklist/whitelist functionality testing
  - Tests verify blocked posting for blacklisted users
  - Tests verify whitelist-only mode when whitelist rules exist
  - Includes proper auth rule clearing between test phases

- **Code Quality**:
  - Added proper function declarations to websockets.h
  - Improved error handling and logging throughout
  - Enhanced test script with clear pass/fail reporting
2025-09-30 15:17:59 -04:00
Your Name
f7b463aca1 Fixing whitelist and blacklist functionality v0.4.0 2025-09-30 15:02:49 -04:00
Your Name
c1a6e92b1d v0.3.19 - last save before major refactoring 2025-09-30 10:47:11 -04:00
Your Name
eefb0e427e v0.3.18 - index.html improvements v0.3.19 2025-09-30 07:51:23 -04:00
Your Name
c23d81b740 v0.3.17 - Embedded login button v0.3.18 2025-09-30 06:47:09 -04:00
Your Name
6dac231040 v0.3.16 - Admin system getting better v0.3.17 2025-09-30 05:32:23 -04:00
Your Name
6fd3e531c3 v0.3.15 - How can administration take so long v0.3.16 2025-09-27 15:50:42 -04:00
Your Name
c1c05991cf v0.3.14 - I think the admin api is finally working v0.3.15 2025-09-27 14:08:45 -04:00
Your Name
ab378e14d1 v0.3.13 - Working on admin system v0.3.14 2025-09-27 13:32:21 -04:00
Your Name
c0f9bf9ef5 v0.3.12 - Working through auth still v0.3.13 2025-09-25 17:33:38 -04:00
Your Name
bc6a7b3f20 Working on API v0.3.12 2025-09-25 16:35:16 -04:00
Your Name
036b0823b9 v0.3.11 - Working on admin api 2025-09-25 11:25:50 -04:00
Your Name
be99595bde v0.3.10 - . v0.3.11 2025-09-24 10:49:48 -04:00
Your Name
01836a4b4c v0.3.9 - API work v0.3.10 2025-09-21 15:53:03 -04:00
Your Name
9f3b3dd773 v0.3.8 - safety push v0.3.9 2025-09-18 10:18:15 -04:00
Your Name
3210b9e752 v0.3.7 - working on cinfig api v0.3.8 2025-09-16 15:52:27 -04:00
Your Name
2d66b8bf1d . v0.3.7 2025-09-15 20:34:00 -04:00
Your Name
f3d6afead1 v0.3.5 - nip42 implemented v0.3.6 2025-09-13 08:49:09 -04:00
Your Name
1690b58c67 v0.3.4 - Implement secure relay private key storage
- Add relay_seckey table for secure private key storage
- Implement store_relay_private_key() and get_relay_private_key() functions
- Remove relay private key from public configuration events (kind 33334)
- Update first-time startup sequence to store keys securely after DB init
- Add proper validation and error handling for private key operations
- Fix timing issue where private key storage was attempted before DB initialization
- Security improvement: relay private keys no longer exposed in public events
v0.3.5
2025-09-07 07:35:51 -04:00
Your Name
2e8eda5c67 v0.3.3 - Fix function naming consistency: rename find_existing_nrdb_files to find_existing_db_files
- Update function declaration in config.h
- Update function definition in config.c
- Update function calls in config.c and main.c
- Maintain consistency with .db file extension naming convention

This resolves the inconsistency between database file extension (.db) and function names (nrdb)
v0.3.4
2025-09-07 06:58:50 -04:00
Your Name
74a4dc2533 v0.3.2 - Implement -p/--port CLI option for first-time startup port override
- Add cli_options_t structure for extensible command line options
- Implement port override in create_default_config_event()
- Update main() with robust CLI parsing and validation
- Add comprehensive help text documenting first-time only behavior
- Ensure CLI options only affect initial configuration event creation
- Maintain event-based configuration architecture for ongoing operation
- Include comprehensive error handling and input validation
- Add documentation in CLI_PORT_OVERRIDE_IMPLEMENTATION.md

Tested: First-time startup uses CLI port, subsequent startups use database config
v0.3.3
2025-09-07 06:54:56 -04:00
Your Name
be7ae2b580 v0.3.1 - Implement database location and extension changes
- Change database extension from .nrdb to .db for standard SQLite convention
- Modify make_and_restart_relay.sh to run executable from build/ directory
- Database files now created in build/ directory alongside executable
- Enhanced --preserve-database flag with backup/restore functionality
- Updated source code references in config.c and main.c
- Port auto-increment functionality remains fully functional
v0.3.2
2025-09-07 06:15:49 -04:00
Your Name
c1de1bb480 v0.3.0 - Complete deployment documentation and examples - Added comprehensive deployment guide, automated deployment scripts, nginx SSL proxy setup, backup automation, and monitoring tools. Includes VPS deployment, cloud platform guides, and practical examples for production deployment of event-based configuration system. v0.3.1 2025-09-06 20:19:12 -04:00
Your Name
a02c1204ce v0.2.18 - Clean up configuration system: remove active_config VIEW, database_location field, fix double slash in paths, and ensure database_path reflects actual path used v0.3.0 2025-09-06 11:01:50 -04:00
Your Name
258779e234 v0.2.17 - Add --database-path parameter with metadata storage
- Add --database-path/-D command line parameter for database override
- Store actual database and config file paths as metadata in config tables
- Fix circular dependency by making command line overrides runtime-only
- Support multiple relay instances with separate databases and configurations
- Clean path normalization removes redundant ./ prefixes
- New fields: database_location and config_location for tracking actual usage
v0.2.18
2025-09-06 10:39:11 -04:00
Your Name
342defca6b v0.2.16 - fixed config bugs v0.2.17 2025-09-06 10:24:42 -04:00
Your Name
580aec7d57 v0.2.15 - Add --database-path command line parameter for database location override
- Added -D/--database-path parameter to specify custom database file location
- Fixed port override timing to apply after configuration system initialization
- Updated help message with examples showing database path usage
- Supports both absolute and relative paths for database location
- Enables running multiple relay instances with separate databases
- Resolves database path issues when running from /usr/local/bin
v0.2.16
2025-09-06 10:07:28 -04:00
Your Name
54b91af76c v0.2.14 - database path v0.2.15 2025-09-06 09:59:14 -04:00
Your Name
6d9b4efb7e v0.2.12 - Command line variables added v0.2.13 v0.2.14 2025-09-06 07:41:43 -04:00
Your Name
6f51f445b7 v0.2.11 - Picky shit v0.2.12 2025-09-06 07:12:47 -04:00
Your Name
6de9518de7 v0.2.10 - Clean versioning v0.2.11 2025-09-06 06:25:27 -04:00
Your Name
517cc020c7 v0.2.9 - Embedded sql schema into app v0.2.10 2025-09-06 06:21:02 -04:00
Your Name
2c699652b0 v0.2.8 - Almost Final test of fixed versioning system v0.2.9 2025-09-06 05:14:03 -04:00
Your Name
2e4ffc0e79 Add force push for updated tags v0.2.7 v0.2.8 2025-09-06 05:11:11 -04:00
Your Name
70c91ec858 Fix version.h generation timing in build script v0.2.6 2025-09-06 05:09:35 -04:00
Your Name
b7c4609c2d Fix tag push failure in build script 2025-09-06 05:06:03 -04:00
Your Name
7f69367666 v0.2.5 - Fixed versioning v0.2.5 2025-09-06 05:01:26 -04:00
Your Name
fa17aa1f78 v0.2.4 - Clean up config issues v0.2.4 2025-09-06 04:40:59 -04:00
Your Name
7e560b4247 Remove relay.log from tracking (already in .gitignore) 2025-09-05 19:51:47 -04:00
Your Name
9a29ea51e3 v0.2.2 - Working on config setup v0.2.2 v0.2.3 2025-09-05 19:48:49 -04:00
Your Name
6c10713e18 v0.2.1 - Nip-40 implemented v0.2.1 2025-09-05 14:45:32 -04:00
Your Name
b810982a17 v0.2.0 - Nip13 implemented v0.2.0 2025-09-05 14:14:15 -04:00
Your Name
23c95fd2ea v0.1.1 - -release v0.1.1 2025-09-05 13:00:42 -04:00
Your Name
e96957f91b v0.1.0 - New minor version v0.1.0 2025-09-05 11:32:31 -04:00
Your Name
de3e7c75a5 v0.2.0 - New minor version 2025-09-05 11:27:32 -04:00
Your Name
646adac981 v0.1.0 - New minor version 2025-09-05 11:26:08 -04:00