- 15 Sep, 2025 19 commits
-
-
nextime authored
- Add logging section to README.md with logrotate configuration details - Add comprehensive Logging Configuration section to DOCUMENTATION.md - Update CHANGELOG.md with version 1.4.4 entry for logging features - Update table of contents in DOCUMENTATION.md to include logging section Features documented: - Automatic log rotation with logrotate - Log file locations and management - Manual log management commands - Troubleshooting with logs - Log analysis techniques
-
nextime authored
Use start-stop-daemon --output option to properly redirect both stdout and stderr to /var/log/wssshd/wssshd.log while preserving correct PID storage in the PID file
-
nextime authored
- Add wssshd.log and wssshc.log to respective logrotate configurations - Modify init scripts to redirect stdout and stderr to log files - Ensure proper log rotation with weekly rotation, compression, and HUP signals
-
nextime authored
- Create PID file in start case with correct background process PID - Remove PID file creation from main() function to avoid empty files - Validate background process is running before reporting success - Clean up PID file if process fails to start - Fix both wssshd and wssshc watchdogs
-
nextime authored
- Capture PID of background main() process with MAIN_PID= - Store correct PID in watchdog PID file instead of main() function PID - Prevent PID file from containing exited process PID - Fix both wssshd and wssshc watchdogs - Watchdog PID file now contains PID of actual running process
-
nextime authored
- Separate PID file reading from process checking - Prevent command substitution failures in kill command - Add proper error handling for PID file operations - Fix false 'watchdog failed' reports due to bash syntax issues - Fixed both wssshd and wssshc init scripts
-
nextime authored
- Add detailed logging to main() monitoring loops - Track loop iterations and daemon status checks - Log sleep intervals and monitoring status - Help diagnose why watchdog exits prematurely - Fixed both wssshd and wssshc watchdogs
-
nextime authored
- Stop existing watchdog before starting new one - Use pgrep to detect running watchdog processes - Prevent 'watchdog already running' conflicts - Ensure clean watchdog startup in init scripts - Fixed both wssshd and wssshc init scripts
-
nextime authored
- Removed duplicate function definitions causing bash arithmetic errors - Kept the more complete check_restart_limits() function with awk timestamp parsing - Fixed both wssshd and wssshc watchdog scripts - Eliminates 'integer expression expected' errors
-
nextime authored
- Init scripts now start wssshd/wssshc daemons directly - Wait for daemons to be fully running before starting watchdog - Watchdog only monitors existing daemons, doesn't start them - Watchdog exits if daemon restart fails - Proper startup sequence: daemon → verify running → watchdog - Fixed both wssshd and wssshc init scripts and watchdogs
-
nextime authored
- Watchdog now waits 3 seconds after starting daemon before checking status - Prevents false detection of daemon failure during startup - Gives daemon time to fully initialize and create PID file - Fixed both wssshd and wssshc watchdogs - Improves reliability of daemon startup detection
-
nextime authored
- Use setsid to properly daemonize main() function - setsid bash -c 'main' & creates independent process group - Prevents main() from being killed when parent script exits - Fixed both wssshd and wssshc watchdogs - Watchdog processes should now persist correctly
-
nextime authored
- Watchdog now properly daemonizes by running main() in background - Removed complex PID file waiting logic that was causing issues - Simplified start case to just run main() and check for PID file - Fixed both wssshd and wssshc watchdogs - Watchdog processes should now persist after script exits
-
nextime authored
- Stop functions now kill daemon processes regardless of PID file existence - Added fallback pkill mechanism for processes without PID files - Uses graceful TERM signal followed by force KILL signal - Fixed both wssshd and wssshc init scripts - Ensures complete process cleanup in all scenarios
-
nextime authored
- Init scripts now stop daemons directly even if watchdog PID file doesn't exist - Added graceful termination (TERM) followed by force kill (KILL) if needed - Added pkill fallback to catch any remaining daemon processes - Fixed both wssshd and wssshc init scripts - Ensures complete daemon shutdown regardless of watchdog status
-
nextime authored
- Stop command now kills processes from PID file AND any other running watchdog processes - Prevents zombie watchdog processes when PID file doesn't exist - Added aggressive cleanup of all watchdog processes - Fixed both wssshd and wssshc watchdogs - Ensures complete watchdog shutdown even with startup failures
-
nextime authored
- Log START configuration values and validation - Add detailed startup debugging in start case - Track main() function PID and PID file creation - Help identify why watchdog fails to start properly - Applied to both wssshd and wssshc watchdogs
-
nextime authored
- Removed 'local' from stop and status case handlers in both watchdogs - 'local' can only be used inside functions, not in main script body - Fixed both wssshd-watchdog and wssshc-watchdog scripts - All bash syntax errors should now be resolved
-
nextime authored
- 'local' can only be used inside functions, not in main script body - Fixed both wssshd-watchdog and wssshc-watchdog scripts - Removed 'local count=0' from start case handlers
-
- 14 Sep, 2025 21 commits
-
-
nextime authored
- Watchdogs now run in infinite loop monitoring daemons every 30 seconds - Check START=yes configuration before starting monitoring - Restart daemons if they die, with max 20 restarts per minute limit - Double-check processes are actually running and correct - Fixed both wssshd and wssshc watchdogs to run continuously - Removed one-time start logic, restored continuous monitoring
-
nextime authored
- Add permission verification in postinst scripts for both wssshd and wssshc - Test if users can write to their home directories - Fix permissions if write access is denied (chmod 775) - Ensure users are in correct groups - Prevent 'Permission denied' errors when creating .config directories
-
nextime authored
- Implement one-time start logic (no continuous monitoring) - Add restart limiting: max 20 restarts per minute - Watchdog exits after successful start or if limits exceeded - Double-check processes are actually running and correct - Clean up PID files properly on exit - Fixed both wssshd and wssshc watchdogs
-
nextime authored
- Change watchdogs from continuous monitoring to one-time start - Check START=yes in /etc/default/ before starting services - Only start services if they're not already running - Double-check processes are actually running and correct - Improve status and stop functions with process verification - Fix both wssshd and wssshc watchdogs
-
nextime authored
- Watchdog scripts now wait for PID file creation before exiting - Reduced init script sleep time from 3 to 1 second - Prevents 'Watchdog failed to start properly' timing issues - Fixed both wssshd and wssshc watchdog/init scripts
-
nextime authored
- --debian-only now builds only wsssh-tools, not wsssh-server - Updated help text to clarify --debian-only behavior - Updated output messages for --debian-only vs --packages
-
nextime authored
-
nextime authored
- Add cleanup for wsssh-server*.deb packages and artifacts - Add cleanup for wsssh-server debian build directory - Ensure both wsssh-server and wsssh-tools packages are cleaned
-
nextime authored
- Create systemd service files for wssshd and wssshc - Add conditions to prevent conflicts with sysv init - Update debian/rules to install systemd services - Update postinst scripts to enable systemd services - Ensure sysv init has precedence over systemd
-
nextime authored
- Remove set -x tracing from init and watchdog scripts - Fix wssshd and wssshc watchdogs to accept various START values - Support yes, YES, Y, 1, true, TRUE as documented in config files
-
nextime authored
- Created logrotate configuration files for both wssshd and wssshc - wssshd.logrotate: Rotates /var/log/wssshd/watchdog.log weekly - wssshc.logrotate: Rotates /var/log/wssshc/watchdog.log weekly - Both configs include postrotate scripts to HUP watchdog processes - Install logrotate configs to /etc/logrotate.d/ in both packages - Added /etc/logrotate.d directory creation to debian/rules - Log rotation settings: weekly, 52 rotations, compress, proper permissions - Ensures logs don't grow indefinitely and consume disk space - Follows Debian packaging standards for log management - Automatic log rotation prevents production system issues
-
nextime authored
- Added fallback mechanism when start-stop-daemon fails - Try direct daemon execution if start-stop-daemon fails - Added better error checking for daemon binary existence - Simplified complex awk-based restart limit checking - Added proper error suppression for directory operations - Made watchdog scripts more robust for testing/development environments - Disabled restart limiting temporarily to avoid parsing issues - Improved logging for troubleshooting startup failures - Both wssshd-watchdog and wssshc-watchdog updated with same improvements
-
nextime authored
- Added mkdir command to create /usr/sbin directory in wsssh-server debian/rules - Fixed 'No such file or directory' error when installing wssshd-watchdog - Ensures proper directory structure for watchdog script installation - Resolves build failure when running build.sh --packages or --debian-only - Maintains consistency with other directory creation commands
-
nextime authored
- Added mkdir command to create /usr/sbin directory in debian/rules - Fixed 'No such file or directory' error when installing wssshc-watchdog - Ensures proper directory structure for watchdog script installation - Resolves build failure when running build.sh --packages or --debian-only - Maintains consistency with other directory creation commands
-
nextime authored
- Added new --packages option that builds all Debian packages - Equivalent to running --debian-only (builds both wsssh-server and wsssh-tools packages) - Updated help text and usage information - Updated final output message to handle --packages option - Provides convenient way to build all packages in one command - Maintains backward compatibility with existing options
-
nextime authored
- Fixed wssshd.init and wssshc.init to work on Debian/Ubuntu systems - Changed function library from Red Hat (/etc/rc.d/init.d/functions) to Debian (/lib/lsb/init-functions) - Replaced Red Hat echo_success/echo_failure functions with simple echo statements - Added watchdog script installation to both wsssh-server and wssshtools debian/rules - wssshd-watchdog now installs to /usr/sbin/wssshd-watchdog - wssshc-watchdog now installs to /usr/sbin/wssshc-watchdog - Fixed init script compatibility issues that were causing 'command not found' errors - Ensured proper service management on Debian-based systems - Resolved missing watchdog script errors during service startup
-
nextime authored
- Added mkdir commands to create necessary directories before install - Fixed 'No such file or directory' error in debian/rules - Created directories: /etc/init.d, /usr/share/wsssh, /etc/default, /usr/bin - Ensures proper directory structure for package installation - Resolves build failure when running build.sh --debian-only - Maintains compatibility with existing build process
-
nextime authored
- Modified debconf template to include note about non-interactive handling - Updated preinst script to detect DEBIAN_FRONTEND=noninteractive - Automatically stops service in non-interactive environments without prompting - Changed debconf priority from 'high' to 'medium' for better UX - Added fallback handling for when debconf fails or returns empty values - Updated README.md with instructions for non-interactive installations - Ensures compatibility with automated deployment scripts and CI/CD pipelines - Maintains user control in interactive environments while enabling automation
-
nextime authored
- Created preinst script to stop wssshd service before upgrade - Modified postinst script to restart service if it was running before upgrade - Added proper state tracking using /tmp/wsssh-server-upgrade-state file - Ensures zero-downtime upgrades by handling PyInstaller binary file locks - Updated README.md to document the automatic upgrade handling - Prevents 'file in use' errors during package upgrades - Maintains service continuity across upgrades
-
nextime authored
- Updated version to 1.4.3 in CHANGELOG.md - Changed all repository URLs from GitHub to git.nexlab.net/nexlab/wsssh - Updated debian/control files for both wsssh-server and wssshtools packages - Updated debian/changelog files with version 1.4.3 entries - Updated all man pages (wsssh.1, wssshc.1, wsscp.1, wssshd.1) with new repository URL - Updated README.md and DOCUMENTATION.md with correct repository URLs - Fixed all references to point to the correct NexLab Git repository - Maintained consistency across all documentation and packaging files
-
nextime authored
- Updated README.md to clarify that wsssh-server package requires no Python dependencies - Added note about PyInstaller standalone binary in installation instructions - Updated DOCUMENTATION.md to reflect minimal dependencies (only adduser) - Clarified that Python dependencies are bundled in the PyInstaller binary - Improved package description to emphasize standalone nature
-