Status: 🔄 IN PROGRESS - December 2024
include/simple-sftpd/
- ftp_server.hpp
- ftp_connection.hpp
- ftp_connection_manager.hpp
- ftp_user.hpp
- ftp_user_manager.hpp
- ftp_virtual_host.hpp
- ftp_virtual_host_manager.hpp
- ftp_server_config.hpp
- ftp_rate_limiter.hpp
- ip_access_control.hpp
- ssl_context.hpp
- pam_auth.hpp
- logger.hpp
- compression.hpp
- file_cache.hpp
- performance_monitor.hpp
- vulnerability_scanner.hpp
src/
core/
- ftp_server.cpp
- ftp_connection.cpp
- ftp_connection_manager.cpp
- ftp_rate_limiter.cpp
- ftp_user_manager.cpp
- ftp_user.cpp
- ftp_virtual_host_manager.cpp
- ftp_virtual_host.cpp
utils/
- compression.cpp
- file_cache.cpp
- ftp_server_config.cpp
- ip_access_control.cpp
- logger.cpp
- pam_auth.cpp
- performance_monitor.cpp
- ssl_context.cpp
- vulnerability_scanner.cpp
include/simple-sftpd/
core/ # Core FTP protocol layer
- server.hpp # Main FTP server orchestrator
- connection.hpp # Individual connection handler
- connection_manager.hpp # Connection management
user/ # User management layer
- user.hpp # User entity
- user_manager.hpp # User management
virtual_host/ # Virtual hosting layer
- virtual_host.hpp # Virtual host entity
- virtual_host_manager.hpp # Virtual host management
security/ # Security layer
- rate_limiter.hpp # Rate limiting
- ip_access_control.hpp # IP access control
- ssl_context.hpp # SSL/TLS context
- pam_auth.hpp # PAM authentication
config/ # Configuration layer
- server_config.hpp # Server configuration
utils/ # Utility layer
- logger.hpp # Logging utilities
- compression.hpp # Compression utilities
- file_cache.hpp # File caching
- performance_monitor.hpp # Performance monitoring
- vulnerability_scanner.hpp # Security scanning
src/simple-sftpd/
[same structure as include/]
- Clear Separation of Concerns: Each layer has a specific responsibility
- Better Organization: Related code is grouped together
- Easier Navigation: Developers know where to find code
- Scalability: Easy to add new features in appropriate layers
- Testability: Each layer can be tested independently
- Maintainability: Related code is grouped together