Hey Rob,
I noticed a rather interesting bug in Synchronet the other day. I wanted to be able to keep netmail received and sent in the netmail directory, /sbbs/netmail. So I added the -d option to sbbsecho when tossing in/out.
The problem: FTN Netmail sent from Synchronet would get exported to the netmail directory with sbbsecho, not deleted, packed to BSO outbound.
While all that's fine, the problem is next time sbbsecho runs like that,
it will send it again. And again... And again.. Endlessly until it's deleted by other means.
The cause: sbbsecho instead of deleting is not marking the netmail as Sent, keeping it Unsent, so it repeatedly packs it and sends it every time. When not deleting netmail it should at leas mark it Sent and not pack previously sent netmails.
Kinda a big bug IMHO. :)
Re: sbbsecho and -d
By: Psi-Jack to Digital Man on Tue Jul 21 2015 05:24 pm
Hey Rob,
I noticed a rather interesting bug in Synchronet the other day. I
wanted to be able to keep netmail received and sent in the netmail
directory, /sbbs/netmail. So I added the -d option to sbbsecho when
tossing in/out.
The problem: FTN Netmail sent from Synchronet would get exported to
the netmail directory with sbbsecho, not deleted, packed to BSO
outbound.
SBBSecho doesn't export netmail. Synchronet (sbbs) creates the .msg netmail files directly.
While all that's fine, the problem is next time sbbsecho runs like
that, it will send it again. And again... And again.. Endlessly until
it's deleted by other means.
I think you mean it will pack it. The "sending" is done by the mailer.
The cause: sbbsecho instead of deleting is not marking the netmail as
Sent, keeping it Unsent, so it repeatedly packs it and sends it every
time. When not deleting netmail it should at leas mark it Sent and not
pack previously sent netmails.
Technically, the message is not sent until the mailer sends it and SBBSecho doesn't know when/if that happens. In any case, I'll give your suggestion a shot and hopefully it doesn't stop netmail from being sent by mailers (because the "SENT" flag is now set before the mailer actually sees the netmail message).
Kinda a big bug IMHO. :)
Your editorial comment not withstanding, the "bug" is how SBBSecho has operated for over 20 years and either no one recognized this behavior as a problem or just never reported it before. In any case, I made the change you requested. Let me know how it works for you.
Re: sbbsecho and -d
By: Digital Man to Psi-Jack on Tue Jul 21 2015 06:05 pm
Re: sbbsecho and -d
By: Psi-Jack to Digital Man on Tue Jul 21 2015 05:24 pm
Hey Rob,
I noticed a rather interesting bug in Synchronet the other day. I
wanted to be able to keep netmail received and sent in the netmail
directory, /sbbs/netmail. So I added the -d option to sbbsecho when
tossing in/out.
The problem: FTN Netmail sent from Synchronet would get exported to
the netmail directory with sbbsecho, not deleted, packed to BSO
outbound.
SBBSecho doesn't export netmail. Synchronet (sbbs) creates the .msg netmail files directly.
While all that's fine, the problem is next time sbbsecho runs like
that, it will send it again. And again... And again.. Endlessly until
it's deleted by other means.
I think you mean it will pack it. The "sending" is done by the mailer.
True true. :)
The cause: sbbsecho instead of deleting is not marking the netmail as
Sent, keeping it Unsent, so it repeatedly packs it and sends it every
time. When not deleting netmail it should at leas mark it Sent and not
pack previously sent netmails.
Technically, the message is not sent until the mailer sends it and SBBSecho doesn't know when/if that happens. In any case, I'll give your suggestion a shot and hopefully it doesn't stop netmail from being sent by mailers (because the "SENT" flag is now set before the mailer actually sees the netmail message).
Well, binkd mails it, I'm guessing because sbbsecho packs it up into a PKT zip, however...
Kinda a big bug IMHO. :)
Your editorial comment not withstanding, the "bug" is how SBBSecho has operated for over 20 years and either no one recognized this behavior as a problem or just never reported it before. In any case, I made the change you requested. Let me know how it works for you.
The result was very very odd behavior. It packs it, it flags it. The mailer sends it. I was testing versus 1:135/371 to 1:135/371.1 and it showed that on the main node. When it was recieved by the point node mailer, sbbsecho unpacked it, claimed it was addressed to z:n/n and not z:n/n.p, so it packed it back to z:n/n as an empty netmail. z:n/p received it, saw an empty netmail, killed it, packed an empty netmail back to the point node, killing the original 1.msg that was formerly there somehow, then the point receives that, sees an empty netmail, kills it. Thus ends the back and fourth cycle.
I'm guessing that nobody has ever used sbbsecho's -d flag to actually keep their netmail, which is exactly how I found this issue to begin with.
My intended goal was to be able to actually see netmail that's been sent and received, since within Synchronet itself as well as use that same netmail directory with golded so I can do more than Synchronet currently can in regards to netmail, and you cannot see netmail posted by Synchronet, likely because what you said earlier, synchronet itself writes the *.msg files, then sbbsecho packs it up for the mailer. Since sbbsecho usually deletes netmail it packs, by adding the -d switch to sbbsecho to keep them from being deleted, I was able to see this specific issue.
I do not fully completely understand how the whole concept works entirely. I do know, that binkd itself doesn't touch the netmail files.
I'm guessing
that sbbsecho is packing it into a zip, puts that pkt into the outbound directory, sets up an appropriate BSO file according to the destination and delivery flavor (out, cut, hut, etc)... And that's it. So the netmail would never get flagged sent.
I noticed a rather interesting bug in Synchronet the other day. I
wanted to be able to keep netmail received and sent in the netmail
directory, /sbbs/netmail. So I added the -d option to sbbsecho when
tossing in/out.
The problem: FTN Netmail sent from Synchronet would get exported to
the netmail directory with sbbsecho, not deleted, packed to BSO
outbound.
The cause: sbbsecho instead of deleting is not marking the netmail
as Sent, keeping it Unsent, so it repeatedly packs it and sends it
every time. When not deleting netmail it should at leas mark it
Sent and not pack previously sent netmails.
Technically, the message is not sent until the mailer sends it and
SBBSecho doesn't know when/if that happens. In any case, I'll give
your suggestion a shot and hopefully it doesn't stop netmail from
being sent by mailers (because the "SENT" flag is now set before
the mailer actually sees the netmail message).
Well, binkd mails it, I'm guessing because sbbsecho packs it up into a
PKT zip, however...
Kinda a big bug IMHO. :)
Your editorial comment not withstanding, the "bug" is how SBBSecho
has operated for over 20 years and either no one recognized this
behavior as a problem or just never reported it before. In any
case, I made the change you requested. Let me know how it works
for you.
The result was very very odd behavior. It packs it, it flags it. The
mailer sends it. I was testing versus 1:135/371 to 1:135/371.1 and it
showed that on the main node. When it was recieved by the point node
mailer, sbbsecho unpacked it, claimed it was addressed to z:n/n and
not z:n/n.p, so it packed it back to z:n/n as an empty netmail. z:n/p
received it, saw an empty netmail, killed it, packed an empty netmail
back to the point node, killing the original 1.msg that was formerly
there somehow, then the point receives that, sees an empty netmail,
kills it. Thus ends the back and fourth cycle.
There was a bug in my implementation of your request. I've now fixed that bug. Please try again.
If you continue to have a problem, please send me a copy of the .msg file before and after SBBSecho runs and packs it.
I'm guessing that nobody has ever used sbbsecho's -d flag to actually
keep their netmail, which is exactly how I found this issue to begin
with.
Or they did so with an arcmail/attach-style mailer (rather than BSO/FLO).
My intended goal was to be able to actually see netmail that's been
sent and received, since within Synchronet itself as well as use that
same netmail directory with golded so I can do more than Synchronet
currently can in regards to netmail, and you cannot see netmail posted
by Synchronet, likely because what you said earlier, synchronet itself
writes the *.msg files, then sbbsecho packs it up for the mailer.
Since sbbsecho usually deletes netmail it packs, by adding the -d
switch to sbbsecho to keep them from being deleted, I was able to see
this specific issue.
Which issue?
I do not fully completely understand how the whole concept works
entirely. I do know, that binkd itself doesn't touch the netmail
files.
Being a BSO/FLO-style mailer, Binkd only deals with packets and never with FTS-1 style "stored messages" (the so-called .msg files). Here's a reference document I wrote up with excerpts from the BinkleyTerm docs: http://wiki.synchro.net/ref:fidonet_files
I'm guessing
that sbbsecho is packing it into a zip, puts that pkt into the
outbound directory, sets up an appropriate BSO file according to the
destination and delivery flavor (out, cut, hut, etc)... And that's it.
So the netmail would never get flagged sent.
Close. Packets and zip files are not the same thing. EchoMail *bundles* are (usually) zipped collections of packets. NetMail packets are not usually bundled (or zipped).
The result was very very odd behavior. It packs it, it flags it. The
mailer sends it. I was testing versus 1:135/371 to 1:135/371.1 and it
showed that on the main node. When it was recieved by the point node
mailer, sbbsecho unpacked it, claimed it was addressed to z:n/n and
not z:n/n.p, so it packed it back to z:n/n as an empty netmail. z:n/p
received it, saw an empty netmail, killed it, packed an empty netmail
back to the point node, killing the original 1.msg that was formerly
there somehow, then the point receives that, sees an empty netmail,
kills it. Thus ends the back and fourth cycle.
There was a bug in my implementation of your request. I've now fixed that bug. Please try again.
If you continue to have a problem, please send me a copy of the .msg file before and after SBBSecho runs and packs it.
I've thoroughly tested things out, commented on IRC too BTW, dunno if you are paying attention there or not.
SBBSEcho flags the message Sent as expected, packs it, and the mailer sends it. Endpoint receives it, sees it's to the right node (in this case a point node, before it was breaking and sending the netmail back, r260 fixes that). But next sbbsecho run packs it again re-sending it.
Line 5053: MSG_SENT needs to be FIDO_SENT, I tested that in a local code change and it worked, reporting it's already been sent as this code change included.
I'm guessing that nobody has ever used sbbsecho's -d flag to actually
keep their netmail, which is exactly how I found this issue to begin
with.
Or they did so with an arcmail/attach-style mailer (rather than BSO/FLO).
Perhaps instead of determining if they used -d or not, perhaps determining which mailer type is being used instead. After things are settled and normalized. :)
My intended goal was to be able to actually see netmail that's been
sent and received, since within Synchronet itself as well as use that
same netmail directory with golded so I can do more than Synchronet
currently can in regards to netmail, and you cannot see netmail posted
by Synchronet, likely because what you said earlier, synchronet itself
writes the *.msg files, then sbbsecho packs it up for the mailer.
Since sbbsecho usually deletes netmail it packs, by adding the -d
switch to sbbsecho to keep them from being deleted, I was able to see
this specific issue.
Which issue?
In Synchronet, when I sent a Netmail, I was unable to see the netmail's I've sent. Only the logged history that it was sent. If I wanted to go back and re-read that, due to a reply that wasn't fully quoted enough to recollect from.
Synchronet, as you said, would directly write to the OPUS .msg files, but also at the same time, /not/ store the sent message into the email message base as a sent message. sbbsecho would pack it and delete it, so it was gone for good.
I have the option "Kill Sent Netmail" turned off, yet it always gets killed.
That's the issue I tried to describe. ;)
I do not fully completely understand how the whole concept works
entirely. I do know, that binkd itself doesn't touch the netmail
files.
Being a BSO/FLO-style mailer, Binkd only deals with packets and never with FTS-1 style "stored messages" (the so-called .msg files). Here's a reference document I wrote up with excerpts from the BinkleyTerm docs: http://wiki.synchro.net/ref:fidonet_files
There we go! Now I'm back on track. I mostly used ArchMail/Attach mailers as I hated BSO-style stuff back way back when. InterMail was my demon of choice, versus FrontDoor, though. I don't even know what D'Bridge uses, but with D'Bridge 4.0 coming to Linux sometime, I'll be finding out. :)
I'm guessing
that sbbsecho is packing it into a zip, puts that pkt into the
outbound directory, sets up an appropriate BSO file according to the
destination and delivery flavor (out, cut, hut, etc)... And that's it.
So the netmail would never get flagged sent.
Close. Packets and zip files are not the same thing. EchoMail *bundles* are (usually) zipped collections of packets. NetMail packets are not usually bundled (or zipped).
So, exactly as I said earlier. Based on this, it's "sent" as soon as it's packed, because it's been processed, rather than handled by the mailer.
I've thoroughly tested things out, commented on IRC too BTW, dunno if
you are paying attention there or not.
Not today.
re-sending it.SBBSEcho flags the message Sent as expected, packs it, and the mailer
sends it. Endpoint receives it, sees it's to the right node (in this
case a point node, before it was breaking and sending the netmail
back, r260 fixes that). But next sbbsecho run packs it again
Line 5053: MSG_SENT needs to be FIDO_SENT, I tested that in a local
code change and it worked, reporting it's already been sent as this
code change included.
Got it, committed it. Thanks.
Perhaps instead of determining if they used -d or not, perhaps
determining which mailer type is being used instead. After things are
settled and normalized. :)
I'm not sure what you're suggesting. The feature is question is the "Pack Netmail" feature of SBBSecho which is only used with BSO/FLO-style mailers.
In Synchronet, when I sent a Netmail, I was unable to see the
netmail's I've sent. Only the logged history that it was sent. If I
wanted to go back and re-read that, due to a reply that wasn't fully
quoted enough to recollect from.
Synchronet, as you said, would directly write to the OPUS .msg files,
but also at the same time, /not/ store the sent message into the email
message base as a sent message. sbbsecho would pack it and delete it,
so it was gone for good.
Okay, I don't really see that as an "issue".
I have the option "Kill Sent Netmail" turned off, yet it always gets killed.
That's the issue I tried to describe. ;)
I think you're talking about the option SCFG->Networks->FidoNet->Kill Netmail After Sent. With that option off, the "KILLSENT" flag in the FTS-1 stored message is not set, which would only effect FD/attach-style mailers. Since BSO/FLO-style mailers don't delete netmail, that flag has no effect.
mailers as I hated BSO-style stuff back way back when. InterMail was
my demon of choice, versus FrontDoor, though. I don't even know what
D'Bridge uses, but with D'Bridge 4.0 coming to Linux sometime, I'll be
finding out. :)
I used all of the above. My recollection is D'bridge is also an attach-style mailer.
So, exactly as I said earlier. Based on this, it's "sent" as soon as
it's packed, because it's been processed, rather than handled by the
mailer.
That's not how that attribute flag is defined in the FTSC specs, but if it makes you happy, I guess that's what matters.
re-sending it.SBBSEcho flags the message Sent as expected, packs it, and the mailer
sends it. Endpoint receives it, sees it's to the right node (in this
case a point node, before it was breaking and sending the netmail
back, r260 fixes that). But next sbbsecho run packs it again
Line 5053: MSG_SENT needs to be FIDO_SENT, I tested that in a local
code change and it worked, reporting it's already been sent as this
code change included.
Got it, committed it. Thanks.
Thanks! This solves that issue entirely so far that I can see. At least sent Netmail can be kept, as well as locally created netmail outside of Synchronet, like GoldEd+, msgEd, etc..
Perhaps instead of determining if they used -d or not, perhaps
determining which mailer type is being used instead. After things are
settled and normalized. :)
I'm not sure what you're suggesting. The feature is question is the "Pack Netmail" feature of SBBSecho which is only used with BSO/FLO-style mailers.
Hmmm.. You have a point. Okay, makes sense then now. Sorry to be confusing on the matter. Like I said, I was more accustomed to ArcMail/Attach systems than BSO.
The thing I now remember as to why I hated BSO/FLO style mail handling, beyond the fact I always hated the slugish, slow, and ugly little BinkleyTerm, that for color required to you run a TSR (was it ansi.sys/com, or something else? LOL). --- Was that BSO style mail would leave very little to knowing what happened to your mail. Was it sent? You could tell at least it was packed and that the mailer sent something resembling a packet, but not if that specific message was actually sent. FD/IM/D'B those Netmail flags meant everything, including that it was actually sent.
Though, like sbbsecho, pretty much every packer that did BSO/FLO, also let you keep netmail, or delete it. They just wouldn't continue re-packing it everytime. Hehe
In Synchronet, when I sent a Netmail, I was unable to see the
netmail's I've sent. Only the logged history that it was sent. If I
wanted to go back and re-read that, due to a reply that wasn't fully
quoted enough to recollect from.
Synchronet, as you said, would directly write to the OPUS .msg files,
but also at the same time, /not/ store the sent message into the email
message base as a sent message. sbbsecho would pack it and delete it,
so it was gone for good.
Okay, I don't really see that as an "issue".
Personal preference I guess. But it's sometimes quite important regardless. In example, FidoNet Voting and Election times. You send a Netmail to a specific host with your vote and a "password" (as they call it, really just a personal anonymous token to be used for validation).
In times that I'm actually going to be involved with that, keeping a record of my netmail I sent with that token is a bit important, cause I can verify and /see/ that record of it. Honestly I don't know why Synchronet treats NetMail (E-Mail too IIRC), with such a disregard for keeping a copy of what was sent on record until I choose to delete it. Local mail, no problem. I send someone on my BBS an private email, I can see that and later delete it, or let the system clean it up when expiration time comes. NetMail, Internet E-Mail, or QWKNet Mail (maybe the latter too, not sure?) Once posted, it's gone forever.
That's the overall "issue" I'm trying to solve. And IF anyone else here agrees, I'd encourage to speak up, too. :)
I have the option "Kill Sent Netmail" turned off, yet it always gets killed.
That's the issue I tried to describe. ;)
I think you're talking about the option SCFG->Networks->FidoNet->Kill Netmail After Sent. With that option off, the "KILLSENT" flag in the FTS-1 stored message is not set, which would only effect FD/attach-style mailers. Since BSO/FLO-style mailers don't delete netmail, that flag has no effect.
Ahhhh... Yes.. That makes sense. Again, sorry, confused between FD/IM vs
BSO methods. I knew all this stuff 20 years ago. But it's been about 20 years. Hard to retain stuff you don't even look at for so long. :)
mailers as I hated BSO-style stuff back way back when. InterMail was
my demon of choice, versus FrontDoor, though. I don't even know what
D'Bridge uses, but with D'Bridge 4.0 coming to Linux sometime, I'll be
finding out. :)
I used all of the above. My recollection is D'bridge is also an attach-style mailer.
Hmmm. I don't really know. Though I do know exactly whom to ask, via FidoNet! :D Since he's announced D'Bridge 4.0 will be available for Linux. Honestly, I hated D'Bridge back in the day. But today, if it's at least attach-style like you say, I'm looking even more forward to it. heh
So, exactly as I said earlier. Based on this, it's "sent" as soon as
it's packed, because it's been processed, rather than handled by the
mailer.
That's not how that attribute flag is defined in the FTSC specs, but if it makes you happy, I guess that's what matters.
It does, actually, make me happy that is. One little thing allowing half my netmail to be available in a cross-platform usable format (OPUS).
What's the chances of getting sbbsecho's netmail /import/ to drop a OPUS .msg file down, at least if -d is set in sbbsecho? :)
In times that I'm actually going to be involved with that, keeping a record of my netmail I sent with that token is a bit important, cause
I can verify and /see/ that record of it. Honestly I don't know why Synchronet treats NetMail (E-Mail too IIRC), with such a disregard for keeping a copy of what was sent on record until I choose to delete it. Local mail, no problem. I send someone on my BBS an private email, I
can see that and later delete it, or let the system clean it up when expiration time comes. NetMail, Internet E-Mail, or QWKNet Mail
(maybe the latter too, not sure?) Once posted, it's gone forever.
That's the overall "issue" I'm trying to solve. And IF anyone else
here agrees, I'd encourage to speak up, too. :)
What's the chances of getting sbbsecho's netmail /import/ to drop a
OPUS .msg file down, at least if -d is set in sbbsecho? :)
I can speak up. I've never actually used it this way before. As I've told you, I setup Golded+ with Synchronet message bases and caught more oddities than I cared to deal with. So kudos to you for trying to get them fixed. This probably isn't the fault of Rob as much it is the Golded+ developers that added support reading the msgs.cnf file but never extended anything else into Synchronet's abiltiies. But I digress.
So seeing your late requests has sparked an interest, and most have validity, to be honest. In this case, I agree fully, BUT I think since you're disabling sbbsecho completely from importing or dealing with netmails at all, there should be some way to handle netmails that have already been read, replied to, sent, etc. I don't want thousands of old netmails stored in my netmail directory. Would that then be on the Golded+ or Binkd maintainers to add an option to deal with it?
Basically, you're cutting sbbsecho out of the mix completely. Which is fine, because you want other programs to be able to handle it. I'm unsure if those programs will handle it after that. You can throw a kill/sent attribute on a netmail in Golded+ but, will binkd do it?
What's the chances of getting sbbsecho's netmail /import/ to drop a
OPUS .msg file down, at least if -d is set in sbbsecho? :)
If -d is set, wouldn't it NOT import the message and leave it in it's original form (which would be .msg anyways)?
If -d is set, wouldn't it NOT import the message and leave it in it's original form (which would be .msg anyways)?
Reverse of that. ;) -d just prevents the deletion of *sent* mail. sbbsecho, during importing netmail, I believe ignores the netmail directory entirely.
If -d is set, wouldn't it NOT import the message and leave it in
it's original form (which would be .msg anyways)?
Reverse of that. ;) -d just prevents the deletion of *sent* mail.
sbbsecho, during importing netmail, I believe ignores the netmail
directory entirely.
Not true. If you're running a FD/attach-style mailer, then you need SBBSecho to import your .msg files (from the netmail directory) and it'll do that happily.
Sysop: | MCMLXXIX |
---|---|
Location: | Prospect, CT |
Users: | 325 |
Nodes: | 10 (0 / 10) |
Uptime: | 03:10:17 |
Calls: | 510 |
Messages: | 220569 |