PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : procmail -> manpath.c



linuxhanz
04-12-2003, 17:18
Hallo Leute;

Was macht der Abschnitt im Procmail Code?
Also wenn Sendmail buggy :D , dann




#ifdef buggy_SENDMAIL
ps("FW_content","\"|IFS=' '&&p=@BINDIR@/procmail&&test -f $p&&exec $p -Yf-||\
exit 75 \2fB#\2fP\2fIYOUR_USERNAME\2fP\"");
ps("FW_comment","The \\fB#\\fP\\fIYOUR_USERNAME\\fP is not actually a\1\
parameter that is required by procmail, in fact, it will be discarded by\1\
sh before procmail ever sees it; it is however a necessary kludge against\1\
overoptimising sendmail programs:\1");
#else



Und gibt es eine Allgemeine Übersicht über exit Stats ; was bedeutet exit 75 ?

Vielen Dank.

lh

RapidMax
06-12-2003, 14:23
#ifdef buggy_SENDMAIL
Klar

ps("FW_content","\"|IFS=' '&&p=@BINDIR@/procmail&&test -f $p&&exec $p -Yf-||\
exit 75 \2fB#\2fP\2fIYOUR_USERNAME\2fP\"");
"ps" ist irgend eine Funktion, die zwei c-Strings als Argument übernimmt. Das erste Scheint eine Bezeichnung zu sein und das zweite ein Shell-Script.
Das Shell-Script versuche ich weiter unten zu erklären.

ps("FW_comment","The \\fB#\\fP\\fIYOUR_USERNAME\\fP is not actually a\1\
parameter that is required by procmail, in fact, it will be discarded by\1\
sh before procmail ever sees it; it is however a necessary kludge against\1\
overoptimising sendmail programs:\1");
Hier ebenfalls ein gleicher Aufruf.

#else
Und sonst...


"|IFS=' '&&p=@BINDIR@/procmail&&test -f $p&&exec $p -Yf-||exit 75 \2fB#\2fP\2fIYOUR_USERNAME\2fP"
Die Steuercode (z.B. "\2fB") habe ich stehen gelassen, die gequoteten Quotes ersetzt.
Der Internal Field Seperator "IFS" wird auf ein Leerzeichen gesetzt (anstatt Leerzeichen, Tab, Newline). "p" wird auf den Pfad zum procmail binary gesetzt. Der @BINDIR@ String wird offenbar noch ersetz, ev. schon in der Funktion "ps". Danach wird mit "test" getestet, ob das Binary existiert und in diesem Fall ausgefürt mit den Optionen "-Yf-" Danach wird mit Exit Status 75 das die Ausführung beendet, wobei 75 vermutlich rein zufällig gewählt ist. Der nachfolgende String gibt anscheinend die Meldung YOUR_USERNAME aus, durch Excape-Sequenzen formatiert.


The \fB#\fP\fIYOUR_USERNAME\fP is not actually a\1
parameter that is required by procmail, in fact, it will be discarded by\1
sh before procmail ever sees it; it is however a necessary kludge against\1
overoptimising sendmail programs:\1
Gibt anscheinend eine Fehlermeldung aus, falls der obere Befehl nicht richtig ausgeführt wurde. Für was das Zeichen "\1" steht weiss ich nicht.

Gruss, Andy