/*
NNCP -- Node to Node copy, utilities for store-and-forward data exchange
-Copyright (C) 2016-2022 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2016-2023 Sergey Matveev <stargrave@stargrave.org>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
}
}
+ if len(cfg.YggdrasilAliases) > 0 {
+ if err = cfgDirMkdir(dst, "yggdrasil-aliases"); err != nil {
+ return
+ }
+ for alias, v := range cfg.YggdrasilAliases {
+ if err = cfgDirSave(v, dst, "yggdrasil-aliases", alias); err != nil {
+ return
+ }
+ }
+ }
+
return
}
cfg.Areas[n] = area
}
+ fis, err = ioutil.ReadDir(filepath.Join(src, "yggdrasil-aliases"))
+ if err != nil && !os.IsNotExist(err) {
+ return nil, err
+ }
+ if len(fis) > 0 {
+ cfg.YggdrasilAliases = make(map[string]string, len(fis))
+ }
+ for _, fi := range fis {
+ n := fi.Name()
+ if n[0] == '.' {
+ continue
+ }
+ b, err := ioutil.ReadFile(filepath.Join(src, "yggdrasil-aliases", fi.Name()))
+ if err != nil {
+ return nil, err
+ }
+ cfg.YggdrasilAliases[n] = strings.TrimSuffix(string(b), "\n")
+ }
+
return &cfg, nil
}