[comp.sources.bugs] Problem with Ease created sendmail.cf

bills@sequent.UUCP (Bill Sears) (02/22/89)

*****
    I have compiled the Ease programs and have been running some tests on
our sendmail.cf file and the sendmail.cf file that Ease created and have
found some discrepancies.  Here is the scenario:

We have several machines here at work, call them

    sysmain, sys1, sys2, sys3, and sys4

The system sendmail.cf contains the following line:

    CSsys1 sys2 sys3 sys4

and the sysmain.ease file contains the section:

    class
	    S = { sys1, sys2, sys3, sys4 };

which compiles into sendmail.cf as:

    CCsys1 sys2 sys3 sys4

Note: The system sysmain is not in this list.

Note: The Ease program does not assign the same class identifier to a
class as is specified in the Ease source file.  This, I am assuming,
is to get around the problem of referencing a class before it has been
declared.

(All of the following are executed on machine sys2)

Using sendmail.cf to parse the address "bills at sysmain" yields

ruleset  0 returns: "^U" "ether" "^V" "sysmain" "^W" "bills" "<" "@" "sysmain" ">"

This is the correct parse.  Parsing the same address with sysmain.cf (generated
with Ease) incorrectly yields

ruleset  0 returns: "^U" "local" "^W" "bills" "<" "@" "sysmain" ">"

Changing all references of class 'C' to 'S' in sysmain.cf yields the desired

ruleset  0 returns: "^U" "ether" "^V" "sysmain" "^W" "bills" "<" "@" "sysmain" ">"

Basically what it boils down to is this:  Apparently, sendmail places a special
meaning upon class 'S' such that it understands more hosts than are explicitly
declared in the class statement.  What I'm wondering is:
    Should Ease treat class 'S' specially also?
	or
    Should sendmail not be treating class 'S' specially?
	or
    Should I add the system sysmain to my sysmain.ease source file and hope
    that there aren't any other hosts which are missing?
	and
    Are there any other class identifiers that sendmail places special meaning
    upon that Ease does not?

I've tried to make this as clear as possible.  If anyone can shed some light
on what is actually happening I would appreciate it.

Thanks in advance.

sequent!bills

barnett@vdsvax.steinmetz.ge.com (Bruce Barnett) (03/03/89)

In article <11529@sequent.UUCP>, bills@sequent (Bill Sears) writes:
>*****
>    I have compiled the Ease programs and have been running some tests on
>our sendmail.cf file and the sendmail.cf file that Ease created and have
>found some discrepancies.

I have been fixed Ease 2.0 for weeks now, and have fixed about
one hundred bugs. When ease 2.1 comes out, it will solve all of your
problems. (I hope).

I have tested cfc/ease 2.1, and consider the CFC/ease programs working
properly when the input to cfc is identical to the output of ease.

As far as I know, I have achieved this for the Berkeley, SunOS and Ultrix sendmails.
I have it working for most of the IDA sendmail enhancements.

>    Should Ease treat class 'S' specially also?

Ease 2.1 will select the same letter as the identifer if the
identifier is a single letter, and the letter has not already been
assigned to another identifier.

Class S is not special. I think it is a bug in CFC 2.0

--
	Bruce G. Barnett 	barnett@ge-crd.ARPA, barnett@steinmetz.ge.com
				uunet!steinmetz!barnett

barnett@vdsvax.steinmetz.ge.com (Bruce Barnett) (03/07/89)

In article <7236@vdsvax.steinmetz.ge.com>, barnett@vdsvax (Bruce Barnett) writes:
>In article <11529@sequent.UUCP>, bills@sequent (Bill Sears) writes:
>>*****

>Class S is not special. I think it is a bug in CFC 2.0

Or else your problem might be due to you putting multi-token values in
a class. e.g.

DCmachine machinealias machine.some.domain

Not many versions of  sendmail handle this. I'm not sure.
I think SunOS 4.0 does.

--
	Bruce G. Barnett 	barnett@ge-crd.ARPA, barnett@steinmetz.ge.com
				uunet!steinmetz!barnett