

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
23 messages in net.sourceforge.lists.courier-usersRE: [courier-users] Re: Does courier ...| From | Sent On | Attachments |
|---|---|---|
| Mitch (WebCob) | Jan 13, 2004 9:50 am | |
| Mitch (WebCob) | Jan 13, 2004 9:56 am | |
| Mitch (WebCob) | Jan 13, 2004 10:34 am | |
| Courier User | Jan 13, 2004 10:55 am | |
| Mitch (WebCob) | Jan 13, 2004 11:47 am | |
| Roland | Jan 13, 2004 12:15 pm | |
| Roland | Jan 13, 2004 12:20 pm | |
| Mitch (WebCob) | Jan 13, 2004 12:37 pm | |
| Courier User | Jan 13, 2004 12:45 pm | |
| Sam Varshavchik | Jan 13, 2004 4:33 pm | |
| Roland | Jan 13, 2004 4:51 pm | |
| Gordon Messmer | Jan 13, 2004 5:17 pm | |
| Courier User | Jan 13, 2004 5:46 pm | |
| Mitch (WebCob) | Jan 13, 2004 9:05 pm | |
| Mitch (WebCob) | Jan 13, 2004 9:06 pm | |
| Sam Varshavchik | Jan 14, 2004 4:11 am | |
| Jon Nelson | Jan 14, 2004 5:45 am | |
| Courier User | Jan 14, 2004 7:11 am | |
| Courier User | Jan 14, 2004 7:20 am | .patch |
| Roland | Jan 15, 2004 2:12 am | |
| Courier User | Jan 15, 2004 2:55 am | |
| Mitch (WebCob) | Jan 15, 2004 9:03 am | |
| Courier User | Jan 15, 2004 11:55 am |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | RE: [courier-users] Re: Does courier / maildrop unset SENDER if it's empty? | Actions... |
|---|---|---|
| From: | Jon Nelson (jnel...@jamponi.net) | |
| Date: | Jan 14, 2004 5:45:38 am | |
| List: | net.sourceforge.lists.courier-users | |
I don't think I could have voiced it better myself. Mitch is absolutely right here when he says that empty ("") is *not* the same as non-existant. It may not make perfect sense for SENDER, but for other variables it may -- indeed, the mere presence (regardless of content) of the variable is enough for some programs.
Please, Sam, reconsider this code that seems to me to:
a) /not/ operate on the principle of least surprise (thanks, "Courier User"). b) /not/ follow common convention c) unintuitive d) it breaks a bunch of software
Adding the 'unset' directive would allow those people that rely on the current (broken, IMO) behavior to continue "unsetting" variables.
Personally I think "auto-unsetting" empty vars. Is not right. Can I make a case for my opinion?
A non-existant shell variable equating to "" is not the same as the variable not existing. From what I have seen (and comments read) many programs rely on the existance tests - the test is common in most languages (is_set / is_defined / defined / etc.) as is the specific ability to unset a variable.
In fact iirc, someone was talking before about adding an unset command to maildrop (requiring parenthesis and made comment that it wouldn't be that hard.
Was this a recent addition? I've seen people stating that "X" used to work and now it doesn't... but I don't know first hand so I'm asking - is there anyone opposed to changing this behaviour?
As maildrop is not persistant (it is launched and terminated for each delivery) I don't see the benefit to this cleanup process particlarly when I consider the number of times people have to resort to calling external programs or altering programs for what appears to be a non-standard procedure.
Even standard shells avoid this (man bash AND man sh): "A parameter is set if it has been assigned a value. The null string is a valid value. Once a variable is set, it may be unset only by using the unset builtin command (see SHELL BUILTIN COMMANDS below)."
In SQL, "" is not NULL...
Was there a reason this was done? Does it outweigh the problems it seems to cause?
Thanks.
m/
-----Original Message----- From: cour...@lists.sourceforge.net [mailto:cour...@lists.sourceforge.net]On Behalf Of Courier User Sent: Tuesday, January 13, 2004 5:46 PM To: cour...@lists.sourceforge.net Subject: [courier-users] Re: Does courier / maildrop unset SENDER if it's empty?
Sam Varshavchik <mrs...@courier-mta.com> writes:
Courier User writes:
Could someone (Sam?) explain why that 'delete' statement exists? Is there part of maildrop or courier that depends on this odd behavior?
Because if variable FOO is not defined, $FOO defaults to an empty string.
Logically, the converse should also be true.
But the converse varies greatly from the way that most software that I know of functions. It seems contrary to "the principle of least surprise" ("PoLS") to have A be equivalent to B, instead of C:
A: (in maildrop)
SENDER=""
B: (in an xfilter program)
getenv("SENDER") == NULL /* contrary to PoLS */
C: (in an xfilter program)
getenv("SENDER") != NULL /* adheres to PoLS */
In other words, in most software I know of, A => C. But in maildrop, A => B.
-- Courier User cour...@asfast.net
------------------------------------------------------- This SF.net email is sponsored by: Perforce Software. Perforce is the Fast Software Configuration Management System offering advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html
_______________________________________________ courier-users mailing list cour...@lists.sourceforge.net Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users
------------------------------------------------------- This SF.net email is sponsored by: Perforce Software. Perforce is the Fast Software Configuration Management System offering advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html
_______________________________________________ courier-users mailing list cour...@lists.sourceforge.net Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users
-- Ensign Walnut approaches Dr. Crusher with caution...
Jon Nelson <jnel...@jamponi.net> C and Python Code Gardener








.patch