|
|
@@ -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)
|
|
|
}
|