[net.mail.headers] Can a user \"prod\" a remote host?

wmartin@ALMSA-1.ARPA (Will Martin -- AMXAL-RI) (09/25/86)

Is there any way that an ordinary user can "prod" or signal a remote host
across the ARPA/MILNET to cause that remote host to check for and start
the sending process for mail that may be queued up for delivery to the
user's host?

An example: my host has had problems for some days, such as the network 
connection being down, or the machine being down -- something that has
prevented it from receiving mail from the network. It comes back up,
and some incoming mail is delivered. I, as a user on that machine, look
at the mail and can tell that there is still some missing (such as some
mailing-list digests, where issues are numbered and I can see that I have
not received certain numbers). Is there something I can do using the
"telnet" or "ftp" capability to reach across the network to the host
that sends out these messages and tell it that it should now search its
out-bound queues for any mail to my host and start the regular mail delivery
process?

This could be especially valuable if I knew, for example, that my host 
will be up for a short time and will then go down again, and that the remote
machine normally delivers mail to us at night when I know that my computer
will be down again. So if I could trigger an unscheduled, right-now mail
delivery, the traffic would get through -- if I do nothing, and let the
scheduled processes run things, there would be another unsucessful
delivery attempt and perhaps the mailer would time out and reject the mail
back to the sender.

I recall that there were some methods for a person to simulate an
automatic net-mail-type host-to-host connection; that led me to wonder
if such a method could be used to trigger a remote machine to start up
such a process.

Regards, Will Martin

SRA@mit-xx.ARPA (Rob Austein) (09/26/86)

In theory SMTP provides a facility that could be used the way you
describe, the TURN command.  To use it you'd call up the host you
wanted to prod, negotiate a TURN (at which point you turn into an SMTP
"server" instead of an SMTP "user"), then get instant gratification as
the foreign machine dumped all its mail out to you.

In practice I am not aware of any SMTP server that implements TURN
except to negotiate a close correctly after a foreign site has
inflicted a TURN on you.  Too much hair, particularly for mailsystems
where the smtp-server (mail listener) and smtp-user (mailer daemon)
are two different program.

There's also a potential for misuse by pinheads if something like TURN
were implemented.  For the case you mention it is pretty clearly
justified, but what do you do about the bozo who calls you up as a
regular habit because he thinks your retransmission queue scan time is
too slow?  Stop answering the phone, I guess....

--Rob Austein <SRA@XX.LCS.MIT.EDU>

jordan@ucb-arpa.ARPA (Jordan M. Hayes) (09/26/86)

	From: Rob Austein <SRA@XX.LCS.MIT.EDU>

	In theory SMTP provides a facility that could be used the way
	you describe, the TURN command.  To use it you'd call up the
	host you wanted to prod, negotiate a TURN (at which point you
	turn into an SMTP "server" instead of an SMTP "user"), then get
	instant gratification as the foreign machine dumped all its
	mail out to you.

Yes, but I think the main reason this has never been implemented is for
security reasons ... I could find a machine that does a lot of queueing
on a regular basis (ucbvax for one queues a lot, since the load is
usually above the "safe" threshold for sendmail to run to completion)
and telnet to port 25 on your machine and issue a TURN and I steal all
the mail headed for that machine ... not _too_ cool ...

/jordan

SRA@mit-xx.ARPA (Rob Austein) (09/26/86)

    Date: Friday, 26 September 1986  11:19-EDT
    From: jordan@ucbarpa.Berkeley.EDU (Jordan M. Hayes)

    Yes, but I think the main reason this has never been implemented is for
    security reasons ... I could find a machine that does a lot of queueing
    on a regular basis (ucbvax for one queues a lot, since the load is
    usually above the "safe" threshold for sendmail to run to completion)
    and telnet to port 25 on your machine and issue a TURN and I steal all
    the mail headed for that machine ... not _too_ cool ...

Um, yeah.  So you'd want to look up the name from the HELO and check
that the foreign address you were talking to corresponded.  Except
that here in the future somebody could get their domain server to lie
for them.  Mumble.  So you'd have to do a reverse (IN-ADDR) lookup too
to verify the address (assuming that you aren't dealing with somebody
smart enough to forge IP addresses or corrupt your resolver, but if
they can do that you might as well give up, you lose anyway).

That does limit the usefulness some, since traditionally SMTP
listeners will accept almost anything in the HELO.  On the other hand,
it doesn't bite you until you use TURN, and it'd give people a motive
to set up the IN-ADDR data correctly (a pet peeve).

--Rob

jordan@ucb-arpa.ARPA (Jordan M. Hayes) (09/27/86)

A lot of places and mailers _do_ check the inbound address for
correctness, but there's nothing stopping me from being on the machine
I claim I am, but asking for mail that the other end hasn't gotten
around to delivering yet -- if the load is high enough on ucbvax, and
mail comes in that needs to go to xx.lcs.mit.edu, it will get queued
...  in the interim, i go to xx.lcs.mit.edu and telnet to port 25 on
ucbvax and give a turn ... sendmail on ucbvax says "oh, ok -- here's
your bloody mail" and I get it all ... I repeat -- not _too_ cool.

/jordan

SRA@mit-xx.ARPA (Rob Austein) (09/27/86)

You're right.  And this just a few days after I was caught
pontificating in public on why one should never trust the guy at the
other end of the network.  Foo.  Sorry for the noise, folks.