+
+func HandleDownloadBanner(cc *ClientConn, t *Transaction) (res []Transaction, err error) {
+ fi, err := cc.Server.FS.Stat(filepath.Join(cc.Server.ConfigDir, cc.Server.Config.BannerFile))
+ if err != nil {
+ return res, err
+ }
+
+ ft := cc.newFileTransfer(bannerDownload, []byte{}, []byte{}, make([]byte, 4))
+
+ binary.BigEndian.PutUint32(ft.TransferSize, uint32(fi.Size()))
+
+ res = append(res, cc.NewReply(t,
+ NewField(fieldRefNum, ft.refNum[:]),
+ NewField(fieldTransferSize, ft.TransferSize),
+ ))
+
+ return res, err
+}