Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site ulysses.UUCP Path: utzoo!watmath!clyde!burl!ulysses!smb From: smb@ulysses.UUCP (Steven Bellovin) Newsgroups: net.mail Subject: Re: parsing host1!user@host2 - a new idea Message-ID: <1034@ulysses.UUCP> Date: Tue, 23-Oct-84 10:43:47 EDT Article-I.D.: ulysses.1034 Posted: Tue Oct 23 10:43:47 1984 Date-Received: Wed, 24-Oct-84 03:59:53 EDT References: <339@haring.UUCP> Organization: AT&T Bell Laboratories, Murray Hill Lines: 27 Using parentheses will badly break lots of existing software, for several reasons. (a) rfc822 treats parenthesized stuff as comment. (b) lots of mailers use 'system()' or equivalent to invoke the next mailer down the forwarding chain; think of what unquoted parentheses do when the shell gets hold of them. (You wouldn't believe what our shell does, but even /bin/sh won't like them.) (c) Parentheses are already used as an (undocumented) part of the uux protocol... That is, if you say uux foo!command a!b your uux will try to ship file 'b' from machine 'a' to 'foo' before executing 'command'. It doesn't matter the command is really uux foo!rmail host!user uux has no way of knowing. To get around this, mailers generate uux foo!rmail \(host!user\) to pass to the shell; the parentheses in turn tell uux that the funny string with a '!' is to be passed on literally, and is not a file transfer request.