- dead time = 30: disconnect idle clients to free resources - large readwrite = yes: improved large file transfer performance - max xmit = 65535: maximum packet size for better throughput - write cache size = 1048576: 1MB write cache for write performance 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2.3 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
[Unreleased]
Added
- Performance optimizations (Dockerfile)
dead time = 30— disconnect idle clients after 30 seconds to free resourceslarge readwrite = yes— improved performance for large file transfersmax xmit = 65535— maximum packet size for better throughputwrite cache size = 1048576— 1MB write cache for improved write performance
Fixed
-
Fixed chown syntax error in perms function (samba.sh:122)
- Changed
smbuser.tosmbuser:smbfor correct group assignment
- Changed
-
Fixed paths with spaces handling in perms function (samba.sh:121)
- Replaced
forloop withwhile IFS= read -rto correctly handle paths containing spaces
- Replaced
-
Fixed unquoted variables in import function (samba.sh:112-113)
- Added quotes around
$filevariable to prevent word splitting issues
- Added quotes around
-
Removed /etc from VOLUME declaration (Dockerfile:83)
/etcis too broad and can cause unexpected behavior with system configurations
-
Share-specific parameters not overriding global settings (#issue)
Problem: When creating public shares with guest write access, the
-Gparameters for individual shares did not override the globalforce userandforce groupsettings from the basesmb.conf.Example that didn't work:
-s "public;/cloud/share;yes;no;yes" -G "public;force user = nobody" -G "public;force group = nogroup"testparm -sshowed that the share used globalforce user = smbuserandforce group = smbinstead of the specified values.Root cause:
- When using environment variables,
GENERICwas processed beforeSHARE, so share sections didn't exist when-Goptions tried to modify them. - The regex
\sin sed was not POSIX-compatible for Alpine/busybox.
Solution:
- Reordered environment variable processing:
SHAREis now processed beforeGENERIC - Replaced
\swith POSIX-compatible[[:space:]]in regex patterns - Added
^anchor to sed append command for precise matching
- When using environment variables,
Changed
- Environment variable processing order:
GLOBAL->SHARE->GENERIC(was:GENERIC->GLOBAL->SHARE)