Thread View: comp.mail.sendmail
8 messages
8 total messages
Started by Bruce Barnett
Tue, 14 Mar 1989 20:36
rulesets after resolved in ruleset 0
Author: Bruce Barnett
Date: Tue, 14 Mar 1989 20:36
Date: Tue, 14 Mar 1989 20:36
27 lines
1631 bytes
1631 bytes
A simple question. After ruleset 0 resolves an address into a mailer, host, user triplet, what exactly is passed to the sender/recipient rulesets? Is it just the user part? Or the entire triplet? Say I have a UUCP address, and I want to see how the address is re-written. Say the recipient ruleset for the UUCP mailer is 25. I would think that I could test this by using debug mode and giving it > 0,25,4 user@machine.UUCP I seem to have a conceptual problem, because the debugger tells me: rewrite: ruleset 4 input: "^V" "uucpmailer" "^W" "machine" "^X" "user" Now this implies the ^V ( or $# ) is passed to the other rulesets. Is this true? Would I have problems if my UUCP mailer is called UUCP, and the domain is called UUCP? If my assumption is wrong, how DO I test the rulesets for converting a local address into a pure UUCP address? What rulesets do the SMTP envelope go through? I think envelope is the correct word. I mean the RCPT TO: <user@machine> and MAIL FROM: < > lines. I don't mean the IDA sendmail, but the old beast. -- Bruce G. Barnett barnett@ge-crd.ARPA, barnett@steinmetz.ge.com uunet!steinmetz!barnett
Re: rulesets after resolved in ruleset 0
Author: Juergen Wagner
Date: Wed, 15 Mar 1989 07:34
Date: Wed, 15 Mar 1989 07:34
24 lines
1465 bytes
1465 bytes
In article <44@crdgw1.crd.ge.com> barnett@crdgw1.crd.ge.com (Bruce Barnett) writes: >A simple question. After ruleset 0 resolves an address >into a mailer, host, user triplet, what exactly is passed to >the sender/recipient rulesets? It is just the user part. The order is 3, 0, 2, mailer-specific, 4 #0 produces the triple <mailer,host,user> of which 'user' is passed on to #2. >Say I have a UUCP address, and I want to see how the address is re-written. >Say the recipient ruleset for the UUCP mailer is 25. I would think >that I could test this by using debug mode and giving it > > 0,25,4 user@machine.UUCP No. This will pass the entire triple to #4. To check out how an address gets rewritten, retype the user part, and pass it to #2, the mailer-specific ruleset, and to #4. (or use -bv with debugging flags) -- Juergen Wagner gandalf@csli.stanford.edu wagner@arisia.xerox.com
Re: rulesets after resolved in ruleset 0
Author: Mikel Lechner
Date: Wed, 15 Mar 1989 21:39
Date: Wed, 15 Mar 1989 21:39
36 lines
2185 bytes
2185 bytes
In article <44@crdgw1.crd.ge.com> barnett@crdgw1.crd.ge.com (Bruce Barnett) writes:
>> A simple question. After ruleset 0 resolves an address
>> into a mailer, host, user triplet, what exactly is passed to
>> the sender/recipient rulesets? Is it just the user part?
>> Or the entire triplet?
Only the user part of the triplet is passed to the recipient rulesets.
>> Say I have a UUCP address, and I want to see how the address is re-written.
>> Say the recipient ruleset for the UUCP mailer is 25. I would think
>> that I could test this by using debug mode and giving it
>> > 0,25,4 user@machine.UUCP
Here's an example: Let the rewrite rule for your UUCP mailer be 26.
Then after ruleset 0 determines selects this UUCP mailer the "From:",
"To:", and recipient lines are rewritten. The "From:" line is passed
through 3,1,26,4. The "To:" line is passed through 3,2,25,4. The
user part of the triplet (the recipient) is passed through 3,2,25,4.
This means that the recipient address goes through the canonicalization,
etc. twice. You might think of it as being passed through rulesets
3,0,3,2,25,4. But as stated above only the user part of the triplet
gets passed from ruleset 0 to the second occurance of ruleset 3.
Unfortunately, you cannot give 0,2,25,4 directly to the sendmail debuger.
If you do, the subsequent rulesets get the mailer and host part of the
triplet, which just confuses things. You have to do the second pass
throught the rulesets manually.
These comments are based on my experience with sendmail under SunOS 3.2
and 4.0.
Mikel Lechner UUCP: {decwrl,sun}!teraida!mikel
Teradyne EDA Phone: (408) 980-5200
5155 Old Ironsides Drive
Santa Clara, Ca 95054
rulesets after resolved in ruleset 0
Author: Frederick M. Avolio
Date: Wed, 15 Mar 1989 22:40
Date: Wed, 15 Mar 1989 22:40
9 lines
611 bytes
611 bytes
a Standard Rulesets (I *think* this is current) From (envelope) 3, 1, 4, 3, 1, S, 4 To (envelope) 3, 0, 4 From: 3, 1, S, 4 To:, Cc: 3, 2, R, 4 Fred
Re: rulesets after resolved in ruleset 0
Author: Bruce Barnett
Date: Thu, 16 Mar 1989 15:00
Date: Thu, 16 Mar 1989 15:00
56 lines
2452 bytes
2452 bytes
In article <2615@decuac.DEC.COM>, avolio@decuac (Frederick M. Avolio) writes: >a >Standard Rulesets (I *think* this is current) > >From (envelope) 3, 1, 4, 3, 1, S, 4 >To (envelope) 3, 0, 4 >From: 3, 1, S, 4 >To:, Cc: 3, 2, R, 4 Thanks Fred. I just want you to know that I have a similar message from you in ALL of my sendmail files. I did fix a problem that caused the question, but I still want to make sure that I understand the sequences of the rules. The reason is that I want to automate my test suite for sendmail which I am including in the Ease 2.1 package. It's just a simple hack, but for people struggling with sendmail files, it should be useful. It also gives me a way to see if a change in the ruleset breaks any addresses I use. I have an input file that looks like this: 0 user@localmachine 0 user@some.domain 0 machine!user%a.edu@b.com etc. And it outputs, in tbl(1) format, five fields: ruleset address mailer host user Now I want to include rulesets for all of the above cases, including each mailer (decnet, local ethernet, Internet, UUCP, smail, etc.) I know the debug option (sendmail -bt -d21.12) always calls ruleset 3 to start. Therefore from your note I believe the proper way to test each address is to use the combinations: From (Envelope): 1,4,3,1,S,4 user@local To (Envelope): 0,4 user@local From: 1,S,4 user@local To:, Cc: 2,R,4 user@local Assuming I pick the correct rules for R and S, will this test each of the above cases? I need to get the correct incantations to test the SunOS, Ultrix, and Berkeley/Ida sendmails, if possible. Am I on the right track? And how is the UUCP From_ line controlled? -- Bruce G. Barnett barnett@ge-crd.ARPA, barnett@steinmetz.ge.com uunet!steinmetz!barnett
Re: rulesets after resolved in ruleset 0
Author: Larry Parmelee
Date: Thu, 16 Mar 1989 19:09
Date: Thu, 16 Mar 1989 19:09
61 lines
3030 bytes
3030 bytes
Ruleset processing for Sendmail 5.61 (I actually traced this out
for sendmail 5.59, but I've looked at 5.61 close enough to be 99.9%
certain it hasn't changed). Enjoy. (If you saw my first posting of
this, this is an update with a couple corrections/clarifications.)
-Larry Parmelee
parmelee@cs.cornell.edu
EF -> 3,0,2,r,4 -> (Save "@domains" for ruleset "D".)
EF -> 3,1,4 -> ($f) -> 3,D,1,S,4 -> ($g) -> New EF
ET -> 3,0,2,R,4 -> A/F -> SMTP delivery ? Yes: -> 3,D,2,R,4 -> New ET
^ v No: -> New ET
+--- <------ <-----+
MF -> 3,D,1,S,4 -> New MF
MT -> 3,D,2,R,4 -> New MT
A/F == Aliasing and .forward file processing for Local addresses
($?) == Definition of $? macro.
EF == Envelope "From:" address
ET == Envelope "To:" address
MF == Message From-type addresses
MT == Message To-type addresse
R == Mailer (determined per ET) "Recipient" ruleset
r == Mailer (determined from EF) "Recipient" ruleset
S == Mailer (determined per ET) "Sender" ruleset
D == Application of "@Domains" saved from the EF, if EF mailer flag 'C'
is given and the address doesn't already have @domains applied.
Message headers associated with From-type addresses:
Errors-To: Resent-From: Return-Receipt-To:
From: Resent-Reply-To: Sender:
Reply-To: Resent-Sender:
Message headers associated with To-type addresses:
To: Cc: Bcc:
Resent-To: Resent-Cc: Resent-Bcc:
Approximate High-level sendmail ruleset processing algorithm:
The actual process is a bit more complicated; Showing that here
would only confuse things...
1.) Process EF for "@domains" and upto ($f).
2.) Process all ETs upto the A/F point (including additional ETs
resulting from the A/F processing of the local addresses)
producing a list of ET address 3-tuples; (mailer, host, user).
3.) Foreach ET address 3-tuple:
a.) Define $h and $u macros: host -> ($h), user ->($u)
b.) Finish EF processing from $f yielding New EF for this ET.
c.) Finish ET processing for this tuple yielding New ET.
d.) Connect to mailer.
e.) Do MF/MT processing as the message is written to the mailer.
Notes:
1.) After ruleset 0 processing, only the "user" part is passed on
to the other rulesets for further re-writing.
2.) It is often useful to think of a "mailer" as the network or transport
mechanism being chosen for the next hop the message will take.
-LCParmelee <parmelee@cs.cornell.edu> 16-Mar-89 sendmail:5.61
Re: rulesets after resolved in ruleset 0
Author: Mark Sirota
Date: Thu, 23 Mar 1989 19:21
Date: Thu, 23 Mar 1989 19:21
42 lines
2089 bytes
2089 bytes
> I know the debug option (sendmail -bt -d21.12) always calls ruleset 3 to > start. Therefore from your note I believe the proper way to test > each address is to use the combinations: > > From (Envelope): 1,4,3,1,S,4 user@local > To (Envelope): 0,4 user@local > From: 1,S,4 user@local > To:, Cc: 2,R,4 user@local > > Assuming I pick the correct rules for R and S, will this > test each of the above cases? Two comments: The "-d21.12" on the command line is just a nicety which provides you with more specific output; the sendmail -bt is the important part. Secondly, calling rulesets after S0 from sendmail -bt won't do quite what you want it to do. The problem is that S0 resolves to something like $# tcp $@ host $: user < @ host > And if you pass that into S4, it won't necessarily behave right. You have to explicitly pass only the $: portion. So the sequence for To: (Envelope) is more like this. (Note that this takes advantage of the IDA feature that -bt does not automatically call S3 first. It's more challenging without this. % /usr/lib/sendmail -bt > 3,0 user@host rewrite: ruleset 3 input: "user" "@" "host" rewrite: ruleset 3 returns: "user" "<" "@" "host" ">" rewrite: ruleset 0 input: "user" "<" "@" "host" ">" rewrite: ruleset 0 returns: $# "tcp" $@ "host" $: "user" "<" "@" "host" ">" > 2,n,4 user<@host> ... You get the idea. -- Mark Sirota - University of Rochester, Rochester, NY Internet: msir@cc.rochester.edu Bitnet: msir_ss@uordbv.bitnet UUCP: ...!rochester!ur-cc!msir
Re: rulesets after resolved in ruleset 0
Author: Steve Schonberger
Date: Fri, 24 Mar 1989 18:40
Date: Fri, 24 Mar 1989 18:40
19 lines
1272 bytes
1272 bytes
In article <1181@ur-cc.UUCP>, msir@uhura.cc.rochester.edu (Mark Sirota) writes: > [...] (Note that this takes advantage of the IDA feature > that -bt does not automatically call S3 first. It's more challenging > without this. A simple way to avoid calling S3 first with plain sendmail is to do this in your test configuration file: S3 S49 # what's usually in S3 follows This causes S3 to become a do-nothing rule, and calling a do-nothing S3 first is as good as not doing S3. If you want to do S3 for real, just ask for S49 instead, until you get the configuration working, when you can remove the S49 line. (There's no magic significance about 49, that's just the highest rule number my copy of sendmail allows.) Steve Schonberger steve@raspail.cdcnet.cdc.com
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads