This is an automated email from the ASF dual-hosted git repository.

shwstppr pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack-cloudmonkey.git


The following commit(s) were added to refs/heads/main by this push:
     new 4673829  config: fix access for config and history file (#166)
4673829 is described below

commit 4673829bfd21405a0fdec6fd7bfcc8594468ab39
Author: Abhishek Kumar <abhishek.mr...@gmail.com>
AuthorDate: Thu Aug 7 13:49:32 2025 +0530

    config: fix access for config and history file (#166)
    
    Fixes #157
    
    ---------
    
    Signed-off-by: Abhishek Kumar <abhishek.mr...@gmail.com>
---
 config/config.go | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/config/config.go b/config/config.go
index 3245f4e..91632aa 100644
--- a/config/config.go
+++ b/config/config.go
@@ -267,6 +267,7 @@ func saveConfig(cfg *Config) *Config {
                
conf.Section(defaultCoreConfig.ProfileName).ReflectFrom(&defaultProfile)
                conf.SaveTo(cfg.ConfigFile)
        }
+       makeFileUserPrivate(cfg.ConfigFile)
 
        conf := readConfig(cfg)
 
@@ -322,6 +323,10 @@ func saveConfig(cfg *Config) *Config {
                profiles = append(profiles, profile.Name())
        }
 
+       if cfg.HistoryFile != "" {
+               makeFileUserPrivate(cfg.HistoryFile)
+       }
+
        return cfg
 }
 
@@ -395,6 +400,14 @@ func (c *Config) UpdateConfig(key string, value string, 
update bool) {
        }
 }
 
+func makeFileUserPrivate(filePath string) {
+       if fi, err := os.Stat(filePath); err == nil && fi.Mode().IsRegular() {
+               if err := os.Chmod(filePath, 0600); err != nil {
+                       fmt.Printf("Failed to set permissions on %s: %v\n", 
filePath, err)
+               }
+       }
+}
+
 // NewConfig creates or reload config and loads API cache
 func NewConfig(configFilePath *string) *Config {
        defaultConf := defaultConfig()

Reply via email to