X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=main.go;h=e3740f9a2ebac73e13d4f5a84fff63d64aee3d79;hb=ae85aff492aa2b094ba16d68f847246bba4ca1a7;hp=030cb1fea071af242ed2f46b8d5ced154c9210bc;hpb=96d49430705d94a7e28126ccf19c56645c6e517e;p=uploader.git diff --git a/main.go b/main.go index 030cb1f..e3740f9 100644 --- a/main.go +++ b/main.go @@ -1,6 +1,6 @@ /* uploader -- simplest form file uploader -Copyright (C) 2018-2020 Sergey Matveev +Copyright (C) 2018-2021 Sergey Matveev 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 @@ -54,11 +54,10 @@ const ( var ( Index = template.Must(template.New("index").Parse(` Upload -
 Example command line usage:
-
-    $ curl -F file=@somedata.tar.gpg [-F comment="optional comment"] http://.../upload/
-    $ b2sum -a blake2b somedata.tar.gpg # to verify checksum
+
+$ curl -F file=@somedata.tar.gpg [-F comment="optional comment"] http://.../upload/
+$ b2sum -a blake2b somedata.tar.gpg # to verify checksum
 

@@ -134,7 +133,7 @@ func upload(w http.ResponseWriter, r *http.Request) { tai64n.FromTime(t, ts) tai := ts.Encode()[1:] fnOrig := p.FileName() - fd, err := os.OpenFile(tai+".part", os.O_WRONLY|os.O_CREATE, 0600) + fd, err := os.OpenFile(tai+".part", os.O_WRONLY|os.O_CREATE|os.O_EXCL, 0666) if err != nil { log.Println(r.RemoteAddr, tai, fnOrig, err) return @@ -192,16 +191,18 @@ func upload(w http.ResponseWriter, r *http.Request) { go notify(tai, fnOrig, n, "") return } - ioutil.WriteFile(tai+".txt", comment, os.FileMode(0600)) + ioutil.WriteFile(tai+".txt", comment, os.FileMode(0666)) go notify(tai, fnOrig, n, string(comment)) } func main() { bind := flag.String("bind", "[::]:8086", "Address to bind to") conns := flag.Int("conns", 2, "Maximal number of connections") - NotifyFromAddr = flag.String("notify-from", "uploader@example.com", "Address notifications are send to") - NotifyToAddr = flag.String("notify-to", "", "Address notifications are send from") + NotifyFromAddr = flag.String("notify-from", "uploader@example.com", "Address notifications are sent to") + NotifyToAddr = flag.String("notify-to", "", "Address notifications are sent from") flag.Parse() + log.SetFlags(log.Lshortfile) + log.SetOutput(os.Stdout) if len(*NotifyFromAddr) == 0 && len(*NotifyToAddr) > 0 { log.Fatalln("notify-from address can not be empty, if notify-to is set") }