Commit Graph

54 Commits

Author SHA1 Message Date
7c555b5cb9 tst 2025-11-01 23:31:15 +01:00
3dd50edc3c tst 2025-11-01 23:20:03 +01:00
2fc7edf37d Validate input parameters and enhance error handling in configuration loading, task queue management, SSL initialization, and WebSocket handshake processes. 2025-11-01 23:20:01 +01:00
72df6a73fc Enhance server ssl configuration
- Added SSL certificate and key paths to ServerConfig structure.
- Updated init_config function to initialize new SSL paths.
- Formated code for better readability.
2025-10-05 17:35:00 +00:00
46b653efe0 Enhance server configuration and performance optimizations
- Added max_connections option to server configuration
- Updated Makefile to include performance.c and related headers
- Implemented memory-mapped file caching and buffer pooling for improved performance
- Refactored config parser to handle new configuration options
- Increased maximum request size and optimized file handling
2025-10-03 22:08:55 +00:00
b5a30a5268 Add www_path configuration option and update related parsing logic 2025-10-03 21:10:16 +00:00
e93e65f882 Refactor config parsing to use a switch statement for improved readability and maintainability 2025-10-03 08:56:32 +00:00
8b87e77db8 Changes
- Forgot to change my testing configuration before publishing
2025-10-02 21:55:37 +00:00
f6d5db4a0b FFS 2025-10-02 21:46:42 +00:00
730cdc2bfc Update README.md and add comprehensive documentation for Carbon HTTP Server 2025-10-02 21:44:23 +00:00
a2c4617493 Implement HTTP/2 and WebSocket support; remove legacy JavaScript and CSS files
- Added HTTP/2 support in src/http2.c and src/http2.h, including session management, frame handling, and response sending.
- Introduced WebSocket functionality in src/websocket.c and src/websocket.h, covering handshake, frame parsing, and message sending.
- Created a WebSocket test page (www/websocket-test.html) for client-side interaction.
- Removed outdated JavaScript (www/script.js) and CSS (www/style.css) files.
2025-10-02 21:14:23 +00:00
7028a0cb11 Update server_name placeholder in configuration file from lan testing 2025-10-02 19:00:15 +00:00
c9ac352bb4 Refactor server configuration management
- Removed old server configuration files (server.json, server.log, server_config.c, server_config.h).
- Introduced a new configuration file (server.conf) with a more structured format.
- Implemented a configuration parser (config_parser.c) to read and apply settings from server.conf.
- Updated server logic to utilize the new configuration structure.
- Enhanced logging functionality and added rate limiting features.
- Improved error handling and security measures in request processing.
2025-10-02 18:57:05 +00:00
a34ae2a43e Improve HTTPS connection handling and enhance error logging
- Added a delay for non-blocking accept errors in HTTPS server.
- Refactored HTTPS redirection to dynamically allocate response buffer.
- Improved SSL handshake error logging.
- Adjusted shutdown logic to ensure proper socket closure based on HTTPS configuration.
- Fixed memory handling for rate limit IP storage.
2025-10-02 20:17:14 +02:00
6be17d9de5 Add work-in-progress notice to README.md 2025-10-02 15:41:07 +02:00
93e93064f7 Update .gitignore to include certs/*.pem and fix redirect response formatting in server.c 2025-10-02 11:59:58 +02:00
4e33a98cc2 Remove unused server_path and config_path from configuration files 2025-10-01 20:59:44 +00:00
b4fd544185 Update .gitignore, README.md, and server configuration handling
- Added 'log/*' and 'server' to .gitignore to exclude log files and server binary.
- Enhanced README.md with improved structure and additional features.
- Updated server configuration to provide a warning for default server_name and changed default to '127.0.0.1'.
2025-10-01 20:53:58 +00:00
eaf6e27154 Update Makefile
Update for better understating the progress stage
2025-02-28 19:57:53 +01:00
3815b2d32a Update README.md 2025-02-28 15:06:29 +01:00
333b6e5b29 Update LICENSE
Updated LICENSE for better understanding
2025-02-28 15:03:03 +01:00
72bd7a5c9a Update README.md 2025-02-25 15:36:25 +01:00
88ae0a58ec Update README.md 2025-02-25 15:35:36 +01:00
e0d79760cf Update README.md 2025-02-25 15:04:23 +01:00
3e1e953b5c Update index.html 2025-02-25 14:38:59 +01:00
9c6ae7f369 Update server.json
Edited https to false as default config
2025-02-25 13:22:27 +01:00
cf4a8784fc Update server.json
Edited path of log file
2025-02-25 13:21:05 +01:00
4aa7a4fef2 Update server.c
Fixed warnings while compiling with makefile
2025-02-25 13:09:57 +01:00
eece5f637a Update config_parser.c
Fixed warnings
2025-02-25 13:09:29 +01:00
11d28a297f Update server.c
feat: Major server enhancements and build system
- Implemented file caching system with LRU eviction
- Added thread pool for connection handling
- Improved MIME type detection and security headers
- Added rate limiting per IP address
- Enhanced logging system with rotation
- Added proper signal handling and graceful shutdown
- Implemented SSL/TLS support with modern cipher suites
- Added license (MIT) and disclaimer
- Fixed CSS/JS MIME type issues
- Optimized socket configuration
- Added sendfile() optimization
- Improved error handling and memory management

Technical changes:
- Set TCP_NODELAY and optimized socket buffers
- Implemented epoll-based async I/O
- Added file cache with 1MB max file size
- Set 100MB max log file size with rotation
- Added thread pool with 32 max threads
- Implemented rate limiting (100 requests/60s)
- Added proper MIME type detection
- Fixed CSP headers for external resources
- Added comprehensive input sanitization
- Improved SSL context configuration
- Added proper resource cleanup
2025-02-12 20:18:54 +01:00
fda76ba5da Update server.json
Added verbose
2025-02-12 20:14:48 +01:00
3facfcb4bb Update server_config.c
added verbose
2025-02-12 20:14:17 +01:00
8e3fa84239 Update server_config.h
Added verbose
2025-02-12 20:14:02 +01:00
deb378a112 Update config_parser.c 2025-02-12 20:13:22 +01:00
a0a2d191ce Add files via upload
Makefile
2025-02-12 20:13:05 +01:00
2fed379800 Add files via upload
License
2025-02-12 20:12:16 +01:00
77e1cbbd07 Update README.md
Changed compiling method with make
Updated and checked status of development
Added Prerequisites
Better understanding
2025-02-12 19:51:14 +01:00
921663a19c Update config_parser.c
Added server_name
2025-02-09 23:55:15 +01:00
1ae4f070b5 Update server_config.h
Added server_name for HTTPS
2025-02-09 23:54:40 +01:00
ce8a35e4c6 Update server.json
Added server_name for HTTPS
2025-02-09 23:54:14 +01:00
b2cd239141 Update README.md
Improved readme
2025-02-09 23:52:39 +01:00
3abb77876c Update server.c
Fixed minor bugs
Fixed logging system
Optimization 
Redirects to HTTPS when available
2025-02-09 23:51:56 +01:00
b8092ca1d0 Update server_config.h 2025-02-09 13:08:26 +01:00
803dfc8f0a Update server_config.c 2025-02-09 13:08:15 +01:00
2e10dadb34 Update server.c
Added support for basic HTTP and HTTP/s functionality 
Added support for Logging mechanism
Added SSL/TLS support
2025-02-09 13:07:46 +01:00
a578931364 Update README.md 2025-02-09 12:47:45 +01:00
9f17de3891 Update README.md 2025-02-08 23:38:34 +01:00
5eacc99c08 Update README.md 2025-02-08 23:34:37 +01:00
e48048ed8b Update README.md 2025-02-08 23:28:05 +01:00
0cf7548f68 Update README.md 2025-02-08 23:27:40 +01:00