X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=main.go;h=b10f57e55b92776a18ff5dfa76fb7ed25cc5b39c;hb=13b90749eb1b3547bbfbb47fe142cb96a17234b5;hp=cef6c61d41bfe9dfef0c8995ab25cf8b4762d7c9;hpb=01d938ad14224aa2c84f8814ab955bb99f6f5b34;p=nsscash%2Fnsscash.git diff --git a/main.go b/main.go index cef6c61..b10f57e 100644 --- a/main.go +++ b/main.go @@ -82,14 +82,29 @@ func main() { if err != nil { log.Fatal(err) } - pws, err := ParsePasswds(bytes.NewReader(src)) - if err != nil { - log.Fatal(err) - } var x bytes.Buffer - err = SerializePasswds(&x, pws) - if err != nil { - log.Fatal(err) + if t == FileTypePlain { + x.Write(src) + } else if t == FileTypePasswd { + pws, err := ParsePasswds(bytes.NewReader(src)) + if err != nil { + log.Fatal(err) + } + err = SerializePasswds(&x, pws) + if err != nil { + log.Fatal(err) + } + } else if t == FileTypeGroup { + grs, err := ParseGroups(bytes.NewReader(src)) + if err != nil { + log.Fatal(err) + } + err = SerializeGroups(&x, grs) + if err != nil { + log.Fatal(err) + } + } else { + log.Fatalf("unsupported file type %v", t) } // We must create the file first or deployFile() will abort