feat(zmodem): Allow file uploads/downloads

Using zmodem (rz and sz commands from lrzsz) you can now send and receive
files.
This commit is contained in:
Søren L. Hansen 2022-03-29 13:59:22 -07:00
parent 163fd0537c
commit 782991c356
12 changed files with 663 additions and 21 deletions

View file

@ -176,7 +176,13 @@ func (wt *WebTTY) handleMasterReadEvent(data []byte) error {
return nil
}
_, err := wt.slave.Write(data[1:])
var decodedBuffer = make([]byte, len(data))
n, err := base64.StdEncoding.Decode(decodedBuffer, data[1:])
if err != nil {
return errors.Wrapf(err, "failed to write received data to slave")
}
_, err = wt.slave.Write(decodedBuffer[:n])
if err != nil {
return errors.Wrapf(err, "failed to write received data to slave")
}