Hal De před 3 roky
rodič
revize
c56e6d05f2
1 změnil soubory, kde provedl 28 přidání a 1 odebrání
  1. 28 1
      main.go

+ 28 - 1
main.go

@@ -117,6 +117,20 @@ func genFile(filename string, rf io.ReaderFrom) error {
   return nil
 }
 
+func genEmptyFile(filename string, rf io.ReaderFrom) error {
+  var (
+    buff bytes.Buffer
+    err error
+  )
+  err = sendFile(&buff, rf)
+  if err != nil {
+    fmt.Fprintf(os.Stderr, "%v\n", err)
+    return err
+  }
+
+  return nil
+}
+
 //Processing file request from a tftp client
 func readHandler(filename string, rf io.ReaderFrom) error {
   raddr := rf.(tftp.OutgoingTransfer).RemoteAddr()
@@ -128,9 +142,22 @@ func readHandler(filename string, rf io.ReaderFrom) error {
     fmt.Fprintf(os.Stderr, "%v\n", err)
     return err
   }
-
+  ctlFile, err := path.Match("CTLSEP*.tlv", filename)
+  if err != nil {
+    fmt.Fprintf(os.Stderr, "%v\n", err)
+    return err
+  }
+  itlFile, err := path.Match("ITLSEP*.tlv", filename)
+  if err != nil {
+    fmt.Fprintf(os.Stderr, "%v\n", err)
+    return err
+  }
   if sepFile {
     genFile(filename, rf)
+  } else if ctlFile {
+    genEmptyFile(filename, rf)
+  } else if itlFile {
+    genEmptyFile(filename, rf)
   } else {
     readFile(filename, rf)
   }