]> ruderich.org/simon Gitweb - nsscash/nsscash.git/commitdiff
nsscash: improve comments
authorSimon Ruderich <simon@ruderich.org>
Mon, 10 Jun 2019 21:36:05 +0000 (23:36 +0200)
committerSimon Ruderich <simon@ruderich.org>
Mon, 10 Jun 2019 21:36:05 +0000 (23:36 +0200)
file.go
group.go
passwd.go

diff --git a/file.go b/file.go
index 33d71c14c152c144dc4e0e3cf04e758c0cee4858..02bc76715868967ed68596f8aebc5af1ccdee3bf 100644 (file)
--- a/file.go
+++ b/file.go
@@ -31,6 +31,11 @@ import (
 )
 
 func handleFiles(cfg *Config, state *State) error {
+       // Split into fetch and deploy phase to prevent updates of only some
+       // files which might lead to inconsistent state; obviously this won't
+       // work during the deploy phase, but it helps if the web server fails
+       // to deliver some files
+
        for i, f := range cfg.Files {
                err := fetchFile(&cfg.Files[i], state)
                if err != nil {
@@ -135,7 +140,8 @@ func deployFile(file *File) error {
        defer os.Remove(f.Name())
        defer f.Close()
 
-       // Apply permissions/user/group from the target file
+       // Apply permissions/user/group from the target file, use Stat instead
+       // of Lstat as only the target's permissions are relevant
        stat, err := os.Stat(file.Path)
        if err != nil {
                // We do not create the path if it doesn't exist, because we
index 4513758df41c4a8d22eb32f8fac5653e773ca3dd..0ad86711431d068ff0922ceace8c39cdba01a1a0 100644 (file)
--- a/group.go
+++ b/group.go
@@ -45,7 +45,7 @@ type GroupKey struct {
        Name    string
        Passwd  string
        Gid     uint64
-       Members string
+       Members string // "," separated
 }
 
 func toKey(g Group) GroupKey {
@@ -58,7 +58,7 @@ func toKey(g Group) GroupKey {
 }
 
 // ParseGroups parses a file in the format of /etc/group and returns all
-// entries as Group structs.
+// entries as slice of Group structs.
 func ParseGroups(r io.Reader) ([]Group, error) {
        var res []Group
 
index 90fed68a6b9f1d959f6ab9b03e4ebf89a081ec49..07a62d8b8667d510d395fb8b5bd4a8a0c2c55570 100644 (file)
--- a/passwd.go
+++ b/passwd.go
@@ -44,7 +44,7 @@ type Passwd struct {
 }
 
 // ParsePasswds parses a file in the format of /etc/passwd and returns all
-// entries as Passwd structs.
+// entries as slice of Passwd structs.
 func ParsePasswds(r io.Reader) ([]Passwd, error) {
        var res []Passwd