sds["size"] = pktSize
ctx.LogD("rx", sds, "taken")
switch pkt.Type {
- case PktTypeExec:
+ case PktTypeExec, PktTypeExecFat:
if noExec {
goto Closing
}
isBad = true
goto Closing
}
- if err = decompressor.Reset(pipeR); err != nil {
- log.Fatalln(err)
+ if pkt.Type == PktTypeExec {
+ if err = decompressor.Reset(pipeR); err != nil {
+ log.Fatalln(err)
+ }
}
if !dryRun {
cmd := exec.Command(
"NNCP_SENDER="+sender.Id.String(),
"NNCP_NICE="+strconv.Itoa(int(pkt.Nice)),
)
- cmd.Stdin = decompressor
+ if pkt.Type == PktTypeExec {
+ cmd.Stdin = decompressor
+ } else {
+ cmd.Stdin = pipeR
+ }
output, err := cmd.Output()
if err != nil {
ctx.LogE("rx", sds, err, "handle")