devhawala / dodo

Xerox Network Services (XNS) implemented in Java
Other
13 stars 1 forks source link

Posting e-mail from Medley/Lafite to dodo mail service fails with Reject (invalid arguments) #15

Open nbriggs opened 1 year ago

nbriggs commented 1 year ago

Attached is packet trace from NetSpy. xns.pcap.gz

This is the Medley courier trace output:

NEW.MAILTRANSPORT.SERVER.POLL[] => ((10 10 10 10 10 10 9) (2032#10000.135420.10401#) postman:)

Opened NSMAILER with 2032#10000.135420.10401#40001
NEW.MAILTRANSPORT.BEGIN.POST[(((guest: 1 NON.DELIVERY.ONLY)) 4 188 (0 5)) NIL T ((TRANSPORT.OPTIONS (T
 T))) (SIMPLE (6 26721 30561 27745 3 25701 30208 5 26485 25971 29696)) (51039)] => (ERROR REJECT (
invalidArguments))
Closed with 2032#10000.135420.10401#40001
devhawala commented 1 year ago

argh ... this was to be expected: i implemented the new mail protocol versions used by GlobalView (and apparently by Medley 3.51) with a lot of try-and-error, as i did not have any information (.cr- or .courier-files somewhere in the internet, .pdf at Bitsavers or .mesa-interfaces), so i am happy it does work at all with GlobalView

But the good news is that looking in the lafite directory in the Medley-repo, i found the source-file NEWNSMAIL containing the Courier definitions for the remote procedures used by Lafite. This is better than what i had so far. So i will have a look at it and hopefully correct resp. improve the implementation, although this will take time...

BTW: the source file NSMAIL states to contain the common definitions for NEWNSMAIL and OLDNSMAIL. Just as speculation from the file names, i suppose the OLDNSMAIL should be the implementation/usage of the "old" XNS mail protocols used before incompatible versions were introduced with Services 11.x and GlobalView. These older protocol versions are also supported by Dodo.
But a file OLDNSMAIL is not present in the latife directory, maybe it is still around on some backup or old version of Medley not in the repo?

nbriggs commented 1 year ago

I don't recall there was ever an OLDNSMAIL -- it was just called NSMAIL until there was a NEWNSMAIL. I'll look and see if I can see any older versions of NSMAIL, though. Pretty unlikely.

Bill van Melle and I wrote (in about 1990) the XNS/SMTP gateway that processed all of Xerox's external mail via PARC's internet connection, using the courier compiler and XNS streams code that ran on SunOS, but I don't know that I have a copy of the courier program definitions from back then.

nbriggs commented 1 year ago

Have you looked at old sources such as you' find at https://stuff.mit.edu/afs/athena/astaff/reference/4.3network/xns/

nbriggs commented 1 year ago

library/lafite/NEWNSMAIL has Courier program MAILTRANSPORT (17) version 5, internal/envos/NSMAIL has MAILTRANSPORT (17) version 4.

devhawala commented 1 year ago

I'am trying to reconstruct the send mail problem. For this i built up a fresh sysout with Lafite from scratch by

Trying to create a new mail through the Mail>Send mail context menu and then Standard Form or TEdit Report (others don't work), the following debug window opens after login:

image

Searching a bit further, i found your issue #982 with apparently the same problem, finally describing where the root cause is, but without a solution.

As you posted this Dodo-issue, you must have worked around the above problem: can you give me hints on how to get past this debugger window?

nbriggs commented 1 year ago

If it hasn't been merged yet, start from the medley branch lafite-sendmessage. The way to get all the right lafite stuff loaded is, in an Interlisp exec

then, as you did before, click on the lafite "Send Message" button, fill in the message, click Deliver. It should ask you to log in at some point, I logged in as guest, guest.

nbriggs commented 1 year ago

See PR Interlisp/medley#997 for the fix for issue Interlisp/medley#982

devhawala commented 1 year ago

i just uploaded a new Dodo version fixing this issue; as always simple download the distribution file dist.zip and replace the file dodoserver-and-nethub.jar in your Dodo-setup with the one from the distribution file.

nbriggs commented 1 year ago

Nice! I have successfully sent a plain-text message and retrieved it. It doesn't manage to send formatted messages (they arrive back without the formatting information). I'll open another issue for that with a packet capture attached.