feat: Add read-only flag to FTP server

This commit is contained in:
Felix Pojtinger
2022-01-05 03:50:37 +01:00
parent f856f880e5
commit e8a164ca61
4 changed files with 86 additions and 21 deletions

View File

@@ -37,6 +37,7 @@ const (
signatureRecipientFlag = "signature-recipient"
cacheWriteFlag = "cache-write-type"
readOnlyFlag = "read-only"
)
var (
@@ -197,6 +198,7 @@ var serveFTPCmd = &cobra.Command{
)
},
true, // FTP needs read permission for `STOR` command even if O_WRONLY is set
viper.GetBool(readOnlyFlag),
func(hdr *config.Header) {
jsonLogger.Trace("Header transform", hdr)
@@ -313,6 +315,7 @@ func init() {
serveFTPCmd.PersistentFlags().StringP(cacheWriteFlag, "q", config.WriteCacheTypeFile, fmt.Sprintf("Write cache to use (default %v, available are %v)", config.WriteCacheTypeFile, config.KnownWriteCacheTypes))
serveFTPCmd.PersistentFlags().DurationP(cacheDurationFlag, "u", time.Hour, "Duration until cache is invalidated")
serveFTPCmd.PersistentFlags().StringP(cacheDirFlag, "w", cacheDir, "Directory to use if dir cache is enabled")
serveFTPCmd.PersistentFlags().BoolP(readOnlyFlag, "j", false, "Block all write operations")
viper.AutomaticEnv()

View File

@@ -131,6 +131,7 @@ var serveHTTPCmd = &cobra.Command{
"", // We never write
nil, // We never write
false, // We never write
true, // We never write
func(hdr *config.Header) {
jsonLogger.Trace("Header transform", hdr)