Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
nbriggs opened this issue Oct 14, 2022 · 9 comments

Comments

@nbriggs
Copy link

nbriggs commented Oct 14, 2022

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
Copy link
Owner

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
Copy link
Author

nbriggs commented Oct 15, 2022

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
Copy link
Author

nbriggs commented Oct 15, 2022

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

@nbriggs
Copy link
Author

nbriggs commented Oct 15, 2022

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

@devhawala
Copy link
Owner

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

  • creating new loadups for the current Medley repo (downloaded yesterday night) in the master branch
  • running the full.sysout
  • doing there an (\NSINIT)and then loading the files LAFITE.LCOM, NSMAIL.LCOM and NEWNSMAIL.LCOM
  • saving the sysout

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
Copy link
Author

nbriggs commented Oct 16, 2022

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

  • (SETQ DIRECTORIES (CONS (MEDLEYDIR "library/lafite") DIRECTORIES))
  • (FILESLOAD LAFITE NEWNSMAIL)
  • (RESTART.ETHER) (probably not necessary, but certainly better than calling (\NSINIT))
  • (LAFITEMODE 'NS)
  • (LAFITE :ON)

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
Copy link
Author

nbriggs commented Oct 16, 2022

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

@devhawala
Copy link
Owner

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
Copy link
Author

nbriggs commented Nov 6, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants