Incoming packets must be placed on corresponding sender's directory, not
the self one. Thanks to John Goerzen for pointing this issue out.
- sds["node"] = nncp.Base32Codec.EncodeToString(pktEnc.Recipient[:])
+ sender := nncp.Base32Codec.EncodeToString(pktEnc.Sender[:])
+ sds["node"] = sender
sds["pkt"] = pktName
sds["fullsize"] = entry.Size
sds["pkt"] = pktName
sds["fullsize"] = entry.Size
- selfPath := filepath.Join(ctx.Spool, ctx.SelfId.String(), string(nncp.TRx))
- dstPath := filepath.Join(selfPath, pktName)
+ dstDirPath := filepath.Join(ctx.Spool, sender, string(nncp.TRx))
+ dstPath := filepath.Join(dstDirPath, pktName)
if _, err = os.Stat(dstPath); err == nil || !os.IsNotExist(err) {
ctx.LogD("nncp-bundle", sds, "Packet already exists")
continue
if _, err = os.Stat(dstPath); err == nil || !os.IsNotExist(err) {
ctx.LogD("nncp-bundle", sds, "Packet already exists")
continue
log.Fatalln("Error during flusing:", err)
}
if nncp.Base32Codec.EncodeToString(tmp.Hsh.Sum(nil)) == pktName {
log.Fatalln("Error during flusing:", err)
}
if nncp.Base32Codec.EncodeToString(tmp.Hsh.Sum(nil)) == pktName {
- if err = tmp.Commit(selfPath); err != nil {
+ if err = tmp.Commit(dstDirPath); err != nil {
log.Fatalln("Error during commiting:", err)
}
} else {
log.Fatalln("Error during commiting:", err)
}
} else {
if err = tmp.Close(); err != nil {
log.Fatalln("Error during closing:", err)
}
if err = tmp.Close(); err != nil {
log.Fatalln("Error during closing:", err)
}
- if err = os.MkdirAll(selfPath, os.FileMode(0777)); err != nil {
+ if err = os.MkdirAll(dstDirPath, os.FileMode(0777)); err != nil {
log.Fatalln("Error during mkdir:", err)
}
if err = os.Rename(tmp.Name(), dstPath); err != nil {
log.Fatalln("Error during renaming:", err)
}
log.Fatalln("Error during mkdir:", err)
}
if err = os.Rename(tmp.Name(), dstPath); err != nil {
log.Fatalln("Error during renaming:", err)
}
- if err = nncp.DirSync(selfPath); err != nil {
+ if err = nncp.DirSync(dstDirPath); err != nil {
log.Fatalln("Error during syncing:", err)
}
}
log.Fatalln("Error during syncing:", err)
}
}
- Version string = "5.4.1"
+ Version string = "5.5.0"
Base32Codec *base32.Encoding = base32.StdEncoding.WithPadding(base32.NoPadding)
)
Base32Codec *base32.Encoding = base32.StdEncoding.WithPadding(base32.NoPadding)
)