|
Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com |
Subject: Re: Re; Possible problem in cleanup
From: Michael Douglass (mikedoug
datafoundry.net)Date: Wed Oct 25 2000 - 18:09:04 CDT
- Next message: Wietse Venema: "Re: Re; Possible problem in cleanup"
- Previous message: Michael Douglass: "Re; Possible problem in cleanup"
- In reply to: Michael Douglass: "Re; Possible problem in cleanup"
- Next in thread: Wietse Venema: "Re: Re; Possible problem in cleanup"
- Reply: Michael Douglass: "Re: Re; Possible problem in cleanup"
- Reply: Wietse Venema: "Re: Re; Possible problem in cleanup"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
The problem here is one of logic. The question is when to terminate
the recursion. The recursion should be terminated after a pass where
no items have been changed in the list. Using the below definitions,
here would be a sample recursive run:
initial: alias
pass 1: user1, user2
pass 2: user1, user1
remotehost.com, user2, user2
remotehost.com
pass 3: user1, user1
remotehost.com, user2, user2
remotehost.com
At this point you know you are done since none of your items changed.
Stopping once you expand a single element in the list that includes
itself makes no sense at all. Using that method you basically do
the following:
initial: alias
pass 1: user1, user2
pass 2: user1, user1
remotehost.com, user2
The current code stops at this point since user1 included user1.
I hope we've given enough of an explanation to this problem for someone
to take a look at it. Overall we very much like postfix and are pleased
beyond belief with our installation. Thanks for the hard work you've
have put into this.
On Wed, Oct 25, 2000 at 05:59:29PM -0500, Michael Douglass said:
> To continue with this thread the problem appears to be one of logic. I
> think I've tracked it to cleanup_map1n.c. At line 110 we look to see
> if the entry has expanded to itself; if it has, then we exit the entire
> expansion process and consider ourselves done. Since there may be other
> items yet processed that need to expand, this is bad. Let me give you
> a simple case study:
>
> alias -> user1,user2
> user1 -> user1,user1
remotehost.com
> user2 -> user2,user2
remotehost.com
>
> When 'alias' is processed it is found to map to user1,user2. Next user1
> is processed found to map to user1,user1
remotehost.com. The flag being
> set by the if condition at line 110 terminates the expansion at this
> point; this leaves us with a recursive expansion for 'alias' as
> user1,user1
remotehost.com,user2.
>
> Our code base is from May; so this might be fixed in a more recent
> version. I am going to check the current code to see if there are any
> changes to this particular file.
>
> Thoughts/questions?
>
> --
> Michael Douglass
> Chief System Engineer
> DataFoundry.net, Inc. (512-794-7123)
>
> Programmer coming on line... caffeine module: check...
> vision module: check... brain module: 37% 90% check
>
> - from an anonymous programmer/system administrator
-- Michael Douglass Chief System Engineer DataFoundry.net, Inc. (512-794-7123)Programmer coming on line... caffeine module: check... vision module: check... brain module: 37% 90% check
- from an anonymous programmer/system administrator
- Next message: Wietse Venema: "Re: Re; Possible problem in cleanup"
- Previous message: Michael Douglass: "Re; Possible problem in cleanup"
- In reply to: Michael Douglass: "Re; Possible problem in cleanup"
- Next in thread: Wietse Venema: "Re: Re; Possible problem in cleanup"
- Reply: Michael Douglass: "Re: Re; Possible problem in cleanup"
- Reply: Wietse Venema: "Re: Re; Possible problem in cleanup"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]