NetBSD Problem Report #13400
Received: (qmail 3367 invoked from network); 7 Jul 2001 08:11:18 -0000
Message-Id: <1ew670o.c4qpm2h9lubkM%manu@netbsd.org>
Date: Sat, 7 Jul 2001 10:13:47 +0200
From: manu@netbsd.org (Emmanuel Dreyfus)
To: gnats-bugs@gnats.netbsd.org
Cc: manu@netbsd.org
Subject: Syslogd silently ignores lines with no tabs in syslogd.conf
X-Send-Pr-Version: 3.95
>Number: 13400
>Category: bin
>Synopsis: Syslogd silently ignores lines with no tabs in
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: bin-bug-people
>State: closed
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Sat Jul 07 08:12:00 +0000 2001
>Closed-Date: Mon Jul 16 05:02:25 +0000 2001
>Last-Modified: Mon Jul 16 05:02:25 +0000 2001
>Originator: Emmanuel Dreyfus
>Release: NetBSD-current 20010707
>Organization:
The NetBSD Project
>Environment:
System: NetBSD violette 1.5W NetBSD 1.5W (TOMKERN) #2: Mon Jun 25
23:08:47 CEST 2001
manu@violette:/usr/src/sys/arch/macppc/compile/TOMKERN macppc
Architecture: powerpc
Machine: macppc
>Description:
When syslogd parses a line of syslogd.conf, it looks for a tab to
delimiter
the logging facility from the log target. If there is no tab (the
logging
facillity and the log target are separated by spaces), then syslogd will
report that the facility is unknown.
Unfortunately, at the time the message is produced, syslogd is already a
deamon, hence the message cannot go to the terminal. The only hope to
save the error message is logging it, but if there is a fatal error,
syslogd won't start, and we will loose the error message. Even if
syslogd
starts, if you configured it that way:
*.* /var/log/all-logs
(only spaces here)
the line will be ignored (no tabs), and the error message will be lost.
>How-To-Repeat:
Add this line to your syslog.conf:
*.* /tmp/toto
(no tab, just one or more spaces)
kill syslogd, restart it, and check if you get something in /tmp/toto
>Fix:
Here is the fix. the call to daemon() have been moved later so that all
fatal
error will happen when we are not daemonized. logerror() is fixed to
output
the error message on the terminal when syslogd is not yet daemonized,
and to
syslog() when it is daemonized.
And finnally, when parsing lines in the config file, we first check if
there
is no tab in the line. If there are no tabs, we change spaces to tabs so
that
it will work, and we issue a warning message.
This will probably not make this kind of line working:
auth.info;\skern.notice\s\s@loghost.somewhere-over-the-rainbow.org
Because the log facility will be "auth.info" and the log target will be
"kern.notice\t@loghost.somewhere-over-the-rainbow.org"
But we don't care because we will have an error message.
Please try-out that patch. If no-one compalin, I'll will commit it
shortly
Index: syslogd.c
===================================================================
RCS file: /cvsroot/basesrc/usr.sbin/syslogd/syslogd.c,v
retrieving revision 1.44
diff -U4 -r1.44 syslogd.c
--- syslogd.c 2001/03/21 17:02:43 1.44
+++ syslogd.c 2001/07/07 07:54:29
@@ -185,8 +185,9 @@
struct filed *Files;
struct filed consfile;
int Debug; /* debug flag */
+int daemonized = 0; /* we are not daemonized yet */
char LocalHostName[MAXHOSTNAMELEN+1]; /* our hostname */
char *LocalDomain; /* our local domain name */
int *finet = NULL; /* Internet datagram sockets */
int Initialized = 0; /* set when we have initialized
ourselves */
@@ -259,12 +260,9 @@
}
if ((argc -= optind) != 0)
usage();
- if (!Debug)
- (void)daemon(0, 0);
- else
- setlinebuf(stdout);
+ setlinebuf(stdout);
consfile.f_type = F_CONSOLE;
(void)strcpy(consfile.f_un.f_fname, ctty);
(void)gethostname(LocalHostName, sizeof(LocalHostName));
@@ -365,8 +363,19 @@
readfds[nfds].fd = funix[j++];
readfds[nfds++].events = POLLIN | POLLPRI;
}
+ /*
+ * We cannot detach from the terminal before we are sure we
won't
+ * have a fatal error, because error message would not go to the
+ * terminal and would not be logged because syslogd dies.
+ * All die() calls are behind us, we can call daemon()
+ */
+ if (!Debug) {
+ (void)daemon(0, 0);
+ daemonized = 1;
+ }
+
for (;;) {
int rv;
rv = poll(readfds, nfds, INFTIM);
@@ -1000,10 +1009,14 @@
sizeof(buf), "syslogd: %s: %s", type,
strerror(errno));
else
(void)snprintf(buf, sizeof(buf), "syslogd: %s", type);
errno = 0;
- dprintf("%s\n", buf);
- logmsg(LOG_SYSLOG|LOG_ERR, buf, LocalHostName, ADDDATE);
+ if (daemonized)
+ logmsg(LOG_SYSLOG|LOG_ERR, buf, LocalHostName, ADDDATE);
+ if (!daemonized && Debug)
+ dprintf("%s\n", buf);
+ if (!daemonized && !Debug)
+ printf("%s\n", buf);
}
void
die(signo)
@@ -1021,8 +1034,12 @@
dprintf("syslogd: exiting on signal %d\n", signo);
(void)snprintf(buf, sizeof buf, "exiting on signal %d",
signo);
errno = 0;
logerror(buf);
+ } else {
+ (void)snprintf(buf, sizeof buf, "fatal error,
exitting");
+ errno = 0;
+ logerror(buf);
}
for (p = LogPaths; p && *p; p++)
unlink(*p);
exit(0);
@@ -1193,8 +1210,21 @@
/* clear out file entry */
memset(f, 0, sizeof(*f));
for (i = 0; i <= LOG_NFACILITIES; i++)
f->f_pmask[i] = INTERNAL_NOPRI;
+
+ /* check a format error: no tabs in the line */
+ for (q = line; *q && *q != '\t'; q++)
+ continue;
+ if (! *q) {
+ (void)snprintf(ebuf, sizeof ebuf,
+ "Warning: \"%s\" no tabs in the line", line);
+ logerror(ebuf);
+ /* Fix it; replace all spaces by tabs */
+ for (q = line; *q; q++)
+ if (*q == ' ')
+ *q='\t';
+ }
/* scan through the list of selectors */
for (p = line; *p && *p != '\t';) {
--
Emmanuel Dreyfus
manu@netbsd.org
>Release-Note:
>Audit-Trail:
From: manu@netbsd.org (Emmanuel Dreyfus)
To: gnats-bugs@netbsd.org, ljt@alum.mit.edu, christos@zoulas.com
Cc:
Subject: bin/13400 new patch for syslogd
Date: Fri, 13 Jul 2001 00:06:52 +0200
Here is a new patch for syslogd. It seems the last one was garbled,
hence I uuencoded it to prevent any problem.
We have, as in the previous one, the improved error reporting when
things are going wrong during syslogd startup (messages go to the
terminal instead of being lost as they are now in -current)
New in this patch: I think we now report accurate warning message for
all spaces in syslog.conf related problems. Theses are:
<spaces>kern.crit<tabs>/var/log/kernlog
kern.crit<spaces><tabs>/var/log/kernlog
Thoses two kind of lines are silently ignored in -current (there is an
error, but it's lost)
I also added a better error messages when there is only one field in the
line.
Finnally, I added support for setuid/setgid/chroot, but I have not fully
tested this yet.
Opinions?
begin 644 syslogd.patch
cvs server: Diffing .
M/R!S>7-L;V=D+F-A=#@*/R!S>7-L;V<N8V]N9BYC870U"DEN9&5X.B!S>7-L
M;V=D+C@*/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/0I20U,@9FEL93H@+V-V<W)O
M;W0O8F%S97-R8R]U<W(N<V)I;B]S>7-L;V=D+W-Y<VQO9V0N."QV"G)E=')I
M979I;F<@<F5V:7-I;VX@,2XR,`ID:69F("U5-"`M<C$N,C`@<WES;&]G9"XX
M"BTM+2!S>7-L;V=D+C@),C`P,2\P-2\P,R`Q-CHT-3HP,0DQ+C(P"BLK*R!S
M>7-L;V=D+C@),C`P,2\P-R\Q,B`R,3HU-3HT.`I`0"`M-#4L."`K-#4L,3<@
M0$`*("Y":R`M=V]R9',*("Y/<"!&;"!F($%R(&-O;F9I9U]F:6QE"B`N16L*
M("Y":R`M=V]R9',**RY/<"!&;"!U($%R('5S97(**RY%:PHK+D)K("UW;W)D
M<PHK+D]P($9L(&<@07(@=7-E<@HK+D5K"BLN0FL@+7=O<F1S"BLN3W`@1FP@
M="!!<B!C:')O;W1?9&ER"BLN16L**RY":R`M=V]R9',*("Y/<"!&;"!M($%R
M(&UA<FM?:6YT97)V86P*("Y%:PH@+D)K("UW;W)D<PH@+D]P($9L(%`@07(@
M9FEL95]L:7-T"D!`("TV.2PX("LW."PR,2!`0`H@+DET($9L(&8*(%-P96-I
M9GD@=&AE('!A=&AN86UE(&]F(&%N(&%L=&5R;F%T:79E(&-O;F9I9W5R871I
M;VX@9FEL93L*('1H92!D969A=6QT(&ES"B`N4&$@+V5T8R]S>7-L;V<N8V]N
M9B`N"BLN270@1FP@=2!!<B!U<V5R"BM3970@54E$('1O(`HK+D%R('5S97(@
M"BMA9G1E<B!T:&4@<V]C:V5T<R!A;F0@;&]G(&9I;&5S(&AA=F4@8F5E;B!O
M<&5N+@HK+DET($9L(&<@07(@9W)O=7`**U-E="!'240@=&\@"BLN07(@9W)O
M=7`@"BMA9G1E<B!T:&4@<V]C:V5T<R!A;F0@;&]G(&9I;&5S(&AA=F4@8F5E
M;B!O<&5N+@HK+DET($9L('0@07(@8VAR;V]T7V1I<@HK+EAR(&-H<F]O="`R
M"BMT;PHK+D%R(&-H<F]O=%]D:7(**V%F=&5R('1H92!S;V-K971S(&%N9"!L
M;V<@9FEL97,@"6AA=F4@8F5E;B!O<&5N+@H@+DET($9L(&T*(%-E;&5C="!T
M:&4@;G5M8F5R(&]F(&UI;G5T97,@8F5T=V5E;B!@8&UA<FLG)R!M97-S86=E
M<SL*('1H92!D969A=6QT(&ES(#(P(&UI;G5T97,N"B`N270@1FP@<PI);F1E
M>#H@<WES;&]G9"YC"CT]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T*4D-3(&9I;&4Z
M("]C=G-R;V]T+V)A<V5S<F,O=7-R+G-B:6XO<WES;&]G9"]S>7-L;V=D+F,L
M=@IR971R:65V:6YG(')E=FES:6]N(#$N-#0*9&EF9B`M530@+7(Q+C0T('-Y
M<VQO9V0N8PHM+2T@<WES;&]G9"YC"3(P,#$O,#,O,C$@,3<Z,#(Z-#,),2XT
M-`HK*RL@<WES;&]G9"YC"3(P,#$O,#<O,3(@,C$Z-34Z-3$*0$`@+3$P-"PX
M("LQ,#0L,3`@0$`*("-I;F-L=61E(#QS=')I;F<N:#X*("-I;F-L=61E(#QU
M;FES=&0N:#X*("-I;F-L=61E(#QU=&UP+F@^"B`C:6YC;'5D92`\=71I;"YH
M/@HK(VEN8VQU9&4@/'!W9"YH/@HK(VEN8VQU9&4@/&=R<"YH/@H@(VEN8VQU
M9&4@(G!A=&AN86UE<RYH(@H@"B`C9&5F:6YE(%-94TQ/1U].04U%4PH@(VEN
M8VQU9&4@/'-Y<R]S>7-L;V<N:#X*0$`@+3$X-2PX("LQ.#<L.2!`0`H@<W1R
M=6-T"69I;&5D("I&:6QE<SL*('-T<G5C=`EF:6QE9"!C;VYS9FEL93L*(`H@
M:6YT"41E8G5G.PD)"2\J(&1E8G5G(&9L86<@*B\**VEN=`ED865M;VYI>F5D
M(#T@,#L)"2\J('=E(&%R92!N;W0@9&%E;6]N:7IE9"!Y970@*B\*(&-H87()
M3&]C86Q(;W-T3F%M95M-05A(3U-43D%-14Q%3BLQ73L)+RH@;W5R(&AO<W1N
M86UE("HO"B!C:&%R"2I,;V-A;$1O;6%I;CL)"2\J(&]U<B!L;V-A;"!D;VUA
M:6X@;F%M92`J+PH@:6YT"2IF:6YE="`]($Y53$P["0D)+RH@26YT97)N970@
M9&%T86=R86T@<V]C:V5T<R`J+PH@:6YT"4EN:71I86QI>F5D(#T@,#L)+RH@
M<V5T('=H96X@=V4@:&%V92!I;FET:6%L:7IE9"!O=7)S96QV97,@*B\*0$`@
M+3(R-RPQ,R`K,C,P+#,W($!`"B`)<W1R=6-T('-O8VMA9&1R7W5N('-U;G@L
M(&9R;VUU;FEX.PH@"7-T<G5C="!S;V-K861D<E]S=&]R86=E(&9R;VUI;F5T
M.PH@"6-H87(@*G`L("IL:6YE+"`J*G!P.PH@"7-T<G5C="!P;VQL9F0@*G)E
M861F9',["BL)=6ED7W0@=6ED(#T@,#L**PEG:61?="!G:60@/2`P.PHK"6-H
M87(@*G5S97(@/2!.54Q,.PHK"6-H87(@*F=R;W5P(#T@3E5,3#L**PEC:&%R
M("IR;V]T(#T@(B\B.PHK"6-H87(@*F5N9'`["BL)<W1R=6-T(&=R;W5P("`@
M*F=R.PHK"7-T<G5C="!P87-S=V0@("IP=SL**PD*(`H@"2AV;VED*7-E=&QO
M8V%L92A,0U]!3$PL("(B*3L*(`HM"7=H:6QE("@H8V@@/2!G971O<'0H87)G
M8RP@87)G=BP@(F1S9CIM.G`Z4#HB*2D@(3T@+3$I"BL)=VAI;&4@*"AC:"`]
M(&=E=&]P="AA<F=C+"!A<F=V+"`B9'-F.FTZ<#I0.G4Z9SIT.B(I*2`A/2`M
M,2D*(`D)<W=I=&-H*&-H*2"6EF("@J=7-E<B`]/2`G7#`G*0HK"0D)"75S86=E*"D["BL)
M"0EB<F5A:SL**PD)8V%S92`G9R<Z"BL)"0EG<F]U<"`](&]P=&%R9SL**PD)
M"6EF("@J9W)O=7`@/3T@)UPP)RD**PD)"0EU<V%G92@I.PHK"0D)8G)E86L[
M"BL)"6-A<V4@)W0G.@HK"0D)<F]O="`](&]P=&%R9SL**PD)"6EF("@J<F]O
M="`]/2`G7#`G*0HK"0D)"75S86=E*"D["BL)"0EB<F5A:SL*(`D)8V%S92`G
M9"<Z"0DO*B!D96)U9R`J+PH@"0D)1&5B=6<K*SL*(`D)"6)R96%K.PH@"0EC
M87-E("=F)SH)"2\J(&-O;F9I9W5R871I;VX@9FEL92`J+PI`0"`M,C4Y+#$S
M("LR.#8L-3@@0$`*(`D)?0H@"6EF("@H87)G8R`M/2!O<'1I;F0I("$](#`I
M"B`)"75S86=E*"D["B`*+0EI9B`H(41E8G5G*0HM"0DH=F]I9"ED865M;VXH
M,"P@,"D["BT)96QS90HM"0ES971L:6YE8G5F*'-T9&]U="D["BL)<V5T;&EN
M96)U9BAS=&1O=70I.PHK"BL):68@*'5S97(@(3T@3E5,3"D@>PHK"0EI9B`H
M:7-D:6=I="@J=7-E<BDI('L**PD)"75I9"`]("AU:61?="ES=')T;VPH=7-E
M<BP@)F5N9'`L(#`I.PHK"0D):68@*"IE;F1P("$]("=<,"<I"BL)("`@(`D)
M9V]T;R!G971U<V5R.PHK"0E](&5L<V4@>PHK9V5T=7-E<CH**PD)"6EF("@H
M<'<@/2!G971P=VYA;2AU<V5R*2D@(3T@3E5,3"D@>PHK"0D)"75I9"`]('!W
M+3YP=U]U:60["BL)"0E](&5L<V4@>PHK"0D)"6-H87(@8G5F6TU!6%!!5$A,
M14Y=.PHK"0D)"2AV;VED*7-N<')I;G1F*&)U9BP@<VEZ96]F(&)U9BP**PD)
M"0D@("`@(FYO('-U8V@@=7-E<B`E<R(L('5S97(I.PHK("`@("`@("`@("`@
M"0D)97)R;F\@/2`P.R`@"BL)"0D);&]G97)R;W(H8G5F*3L**PD)"0ED:64@
M*#`I.PHK"0D)?0HK"0E]"BL)?0H@"BL):68@*&=R;W5P("$]($Y53$PI('L*
M*PD):68@*&ES9&EG:70H*F=R;W5P*2D@>PHK"0D)9VED(#T@*&=I9%]T*7-T
M<G1O;"AG<F]U<"P@)F5N9'`L(#`I.PHK"0D):68@*"IE;F1P("$]("=<,"<I
M"BL)("`@(`D)9V]T;R!G971G<F]U<#L**PD)?2!E;'-E('L**V=E=&=R;W5P
M.@HK"0D):68@*"AG<B`](&=E=&=R;F%M*&=R;W5P*2D@(3T@3E5,3"D@>PHK
M"0D)"6=I9"`](&=R+3YG<E]G:60["BL)"0E](&5L<V4@>PHK"0D)"6-H87(@
M8G5F6TU!6%!!5$A,14Y=.PHK"0D)"2AV;VED*7-N<')I;G1F*&)U9BP@<VEZ
M96]F(&)U9BP**PD)"0D@("`@(FYO('-U8V@@9W)O=7`@)7,B+"!G<F]U<"D[
M"BL)"0D)97)R;F\@/2`P.PHK"0D)"6QO9V5R<F]R*&)U9BD["BL)"0D)9&EE
M*#`I.PHK"0D)?0HK"0E]"BL)?0HK"BL):68@*&%C8V5S<R`H<F]O="P@1E]/
M2R!\(%)?3TLI*2!["BL)"6-H87(@8G5F6TU!6%!!5$A,14Y=.PHK"0DH=F]I
M9"ES;G!R:6YT9BAB=68L('-I>F5O9B!B=68L(")#86YN;W0@86-C97-S("5S
M(BP@<F]O="D["BL)"65R<FYO(#T@,#L**PD);&]G97)R;W(@*&)U9BD["BL)
M"61I92`H,"D["BL)?0HK"B`)8V]N<V9I;&4N9E]T>7!E(#T@1E]#3TY33TQ%
M.PH@"2AV;VED*7-T<F-P>2AC;VYS9FEL92YF7W5N+F9?9FYA;64L(&-T='DI
M.PH@"2AV;VED*6=E=&AO<W1N86UE*$QO8V%L2&]S=$YA;64L('-I>F5O9BA,
M;V-A;$AO<W1.86UE*2D["B`)3&]C86Q(;W-T3F%M95MS:7IE;V8H3&]C86Q(
M;W-T3F%M92D@+2`Q72`]("=<,"<["D!`("TS-C4L."`K-#,W+#4P($!`"B`)
M"7)E861F9'-;;F9D<UTN9F0@/2!F=6YI>%MJ*RM=.PH@"0ER96%D9F1S6VYF
M9',K*UTN979E;G1S(#T@4$],3$E.('P@4$],3%!223L*(`E]"B`**PDO*B`*
M*PD@*B!!;&P@9FEL97,@87)E(&]P96XL('=E(&-A;B!D<F]P('!R:79I;&5G
M97,@86YD(&-H<F]O=`HK"2`J+PHK"61P<FEN=&8@*")A='1E;7!T('1O(&-H
M<F]O="!T;R`E<UQN(BP@<F]O="D[("`**PEI9B`H8VAR;V]T("AR;V]T*2D@
M>PHK"0EC:&%R(&)U9EM-05A0051(3$5.73L**PD)*'9O:60I<VYP<FEN=&8H
M8G5F+"!S:7IE;V8@8G5F+"`**PD)("`@(")F86EL960@=&\@8VAR;V]T('1O
M("5S(BP@<F]O="D["BL)"65R<FYO(#T@,#L**PD);&]G97)R;W(@*&)U9BD[
M"BL)"61I92@P*3L**PE]"BL)9'!R:6YT9B`H(F%T=&5M<'0@=&\@<V5T($=)
M1"]%1TE$('1O("5D7&XB+"!G:60I.R`@"BL):68@*'-E=&=I9"`H9VED*2!\
M?"!S971E9VED("AG:60I*2!["BL)"6-H87(@8G5F6TU!6%!!5$A,14Y=.PHK
M"0DH=F]I9"ES;G!R:6YT9BAB=68L('-I>F5O9B!B=68L(`HK"0D@("`@(F9A
M:6QE9"!T;R!S970@9VED('1O("5D(BP@9VED*3L**PD)97)R;F\@/2`P.PHK
M"0EL;V=E<G)O<B`H8G5F*3L**PD)9&EE*#`I.PHK"7T**PED<')I;G1F("@B
M871T96UP="!T;R!S970@54E$+T55240@=&\@)61<;B(L('5I9"D[("`**PEI
M9B`H<V5T=6ED("AU:60I('Q\('-E=&5U:60@*'5I9"DI('L**PD)8VAA<B!B
M=69;34%84$%42$Q%3ET["BL)"2AV;VED*7-N<')I;G1F*&)U9BP@<VEZ96]F
M(&)U9BP@"BL)"2`@("`B9F%I;&5D('1O('-E="!U:60@=&\@)60B+"!U:60I
M.PHK"0EE<G)N;R`](#`["BL)"6QO9V5R<F]R("AB=68I.PHK"0ED:64H,"D[
M"BL)?0HK"BL)+RH@"BL)("H@5V4@8V%N;F]T(&1E=&%C:"!F<F]M('1H92!T
M97)M:6YA;"!B969O<F4@=V4@87)E('-U<F4@=V4@=V]N)W0@"BL)("H@:&%V
M92!A(&9A=&%L(&5R<F]R+"!B96-A=7-E(&5R<F]R(&UE<W-A9V4@=V]U;&0@
M;F]T(&=O('1O('1H90HK"2`J('1E<FUI;F%L(&%N9"!W;W5L9"!N;W0@8F4@
M;&]G9V5D(&)E8V%U<V4@<WES;&]G9"!D:65S+B`**PD@*B!!;&P@9&EE*"D@
M8V%L;',@87)E(&)E:&EN9"!U<RP@=V4@8V%N(&-A;&P@9&%E;6]N*"D**PD@
M*B\**PEI9B`H(41E8G5G*2!["BL)"2AV;VED*61A96UO;B@P+"`P*3L**PD)
M9&%E;6]N:7IE9"`](#$["BL)?0HK"B`)9F]R("@[.RD@>PH@"0EI;G0@<G8[
M"B`*(`D)<G8@/2!P;VQL*')E861F9',L(&YF9',L($E.1E1)32D["D!`("TQ
M,#`P+#$P("LQ,3$T+#$T($!`"B`)"2`@("!S:7IE;V8H8G5F*2P@(G-Y<VQO
M9V0Z("5S.B`E<R(L('1Y<&4L('-T<F5R<F]R*&5R<FYO*2D["B`)96QS90H@
M"0DH=F]I9"ES;G!R:6YT9BAB=68L('-I>F5O9BAB=68I+"`B<WES;&]G9#H@
M)7,B+"!T>7!E*3L*(`EE<G)N;R`](#`["BT)9'!R:6YT9B@B)7-<;B(L(&)U
M9BD["BT);&]G;7-G*$Q/1U]365-,3T=\3$]'7T524BP@8G5F+"!,;V-A;$AO
M<W1.86UE+"!!1$1$051%*3L**PEI9B`H9&%E;6]N:7IE9"D@"BL)"6QO9VUS
M9RA,3T=?4UE33$]'?$Q/1U]%4E(L(&)U9BP@3&]C86Q(;W-T3F%M92P@041$
M1$%412D["BL):68@*"%D865M;VYI>F5D("8F($1E8G5G*0HK"0ED<')I;G1F
M*"(E<UQN(BP@8G5F*3L**PEI9B`H(61A96UO;FEZ960@)B8@(41E8G5G*0HK
M"0EP<FEN=&8H(B5S7&XB+"!B=68I.PH@?0H@"B!V;VED"B!D:64H<VEG;F\I
M"D!`("TQ,#(Q+#@@*S$Q,SDL,3(@0$`*(`D)9'!R:6YT9B@B<WES;&]G9#H@
M97AI=&EN9R!O;B!S:6=N86P@)61<;B(L('-I9VYO*3L*(`D)*'9O:60I<VYP
M<FEN=&8H8G5F+"!S:7IE;V8@8G5F+"`B97AI=&EN9R!O;B!S:6=N86P@)60B
M+"!S:6=N;RD["B`)"65R<FYO(#T@,#L*(`D);&]G97)R;W(H8G5F*3L**PE]
M(&5L<V4@>PHK"0DH=F]I9"ES;G!R:6YT9BAB=68L('-I>F5O9B!B=68L(")F
M871A;"!E<G)O<BP@97AI='1I;F<B*3L**PD)97)R;F\@/2`P.PHK"0EL;V=E
M<G)O<BAB=68I.PH@"7T*(`EF;W(@*'`@/2!,;V=0871H<SL@<"`F)B`J<#L@
M<"LK*0H@"0EU;FQI;FLH*G`I.PH@"65X:70H,"D["D!`("TQ,3DS+#@@*S$S
M,34L-3<@0$`*(`DO*B!C;&5A<B!O=70@9FEL92!E;G1R>2`J+PH@"6UE;7-E
M="AF+"`P+"!S:7IE;V8H*F8I*3L*(`EF;W(@*&D@/2`P.R!I(#P]($Q/1U].
M1D%#24Q)5$E%4SL@:2LK*0H@"0EF+3YF7W!M87-K6VE=(#T@24Y415).04Q?
M3D]04DD["BL)"BL)+RH@"BL)("H@5&AE<F4@<VAO=6QD(&YO="!B92!A;GD@
M<W!A8V4@8F5F;W)E('1H92!L;V=G:6YG(&9A8VEL:71Y+@HK"2`J($-H96-K
M('1H:7,@:7,@;VMA>2P@8V]M<&QA:6X@86YD(&9I>"!I9B!I="!I<R!N;W0N
M"BL)("HO"BL)<2`](&QI;F4["BL)=VAI;&4@*"IQ("8F(&ES8FQA;FLH*G$I
M*2`**PD)<2LK.PHK"2\J('$@:7,@870@=&AE(&9I<G-T(&-H87(@;V8@=&AE
M(&QO9V=I;F<@9F%C:6QI='D@*B\**PEI9B`H*G$@)B8@*"HH<2`M(#$I(#T]
M("<@)RDI('L**PD)*'9O:60I<VYP<FEN=&8H96)U9BP@<VEZ96]F(&5B=68L
M"BL)"2`@("`B5V%R;FEN9SH@7"(E<UPB('-P86-E(&)E9F]R92!T:&4@;&]G
M9VEN9R!F86-I;&ET>2(L(`HK"0D@("`@;&EN92D["BL)"6QO9V5R<F]R*&5B
M=68I.PHK"0DO*B!&:7@Z('-T<FEP(&%L;"!S<&%C97,O=&%B<R!B969O<F4@
M=&AE(&QO9V=I;F<@9F%C:6QI='D@*B\**PD);&EN92`]('$[(`HK"7T**PHK
M"2\J(`HK"2`J(%1H97)E('-H;W5L9"!B92!A="!L96%S="!O;F4@=&%B(&%F
M=&5R('1H92!L;V=G:6YG(&9A8VEL:71Y(`HK"2`J($-H96-K('1H:7,@:7,@
M;VMA>2P@86YD(&-O;7!L86EN(&%N9"!F:7@@:68@:70@:7,@;F]T+@HK"2`J
M+PHK"7$@/2!L:6YE("L@<W1R;&5N*&QI;F4I.PHK"7=H:6QE("@A:7-B;&%N
M:R@J<2D@)B8@*'$@(3T@;&EN92DI"BL)"7$M+3L**PEI9B`H*'$@/3T@;&EN
M92D@)B8@<W1R;&5N*&QI;F4I*2![(`HK"0DO*B!.;R!T86)S(&]R('-P86-E
M(&EN(&$@;F]N(&5M<'1Y(&QI;F4Z(&-O;7!L86EN("HO"BL)"2AV;VED*7-N
M<')I;G1F*&5B=68L('-I>F5O9B!E8G5F+`HK"0D@("`@(D5R<F]R.B!<(B5S
M7"(@;&]G9VEN9R!F86-I;&ET>2!O<B!L;V<@=&%R9V5T(&UI<W-I;F<B+"`*
M*PD)("`@(&QI;F4I.PHK"0EL;V=E<G)O<BAE8G5F*3L**PE]"BL)"BL)+RH@
M<2!I<R!A="!T:&4@96YD(&]F('1H92!B;&%N:R!B971W965N('1H92!T=V\@
M9FEE;&1S("HO"BL)=VAI;&4@*&ES8FQA;FLH*G$I("8F("AQ("$](&QI;F4I
M*0HK"0EQ+2T["BL**PDO*B!Q(&ES(&%T('1H92!B96=I;FYI;F<@;V8@=&AE
M(&)L86YK(&)E='=E96X@=&AE('1W;R!F:65L9',@*B\**PEI9B`H*BAQ("L@
M,2D@/3T@)R`G*2![(`HK"0DO*B!,;V=G:6YG(&9A8VEL:71Y(&ES(&9O;&QO
M=V5D(&)Y(&$@<W!A8V4Z(&-O;7!L86EN+BXN("HO"BL)"2AV;VED*7-N<')I
M;G1F*&5B=68L('-I>F5O9B!E8G5F+`HK"0D@("`@(E=A<FYI;F<Z(%PB)7-<
M(B!L;V=G:6YG(&9A8VEL:71Y(&YO="!F;VQL;W=E9"!B>2!A('1A8B(L(`HK
M"0D@("`@;&EN92D["BL)"6QO9V5R<F]R*&5B=68I.PHK"0DO*B`N+BX@86YD
M(&9I>"!T:&4@<')O8FQE;3H@<F5P;&%C92!A;&P@<W!A8V5S(&)Y('1A8G,@
M*B\**PD)9F]R("@[("IQ.R!Q*RLI"BL)"0EI9B`H*G$@/3T@)R`G*0HK"0D)
M"2IQ/2=<="<["0HK"7T*(`H@"2\J('-C86X@=&AR;W5G:"!T:&4@;&ES="!O
M9B!S96QE8W1O<G,@*B\*(`EF;W(@*'`@/2!L:6YE.R`J<"`F)B`J<"`A/2`G
*7'0G.RD@>PH@"G,@
`
end
--
Emmanuel Dreyfus
manu@netbsd.org
From: christos@zoulas.com (Christos Zoulas)
To: manu@netbsd.org (Emmanuel Dreyfus), gnats-bugs@netbsd.org,
ljt@alum.mit.edu
Cc:
Subject: Re: bin/13400 new patch for syslogd
Date: Thu, 12 Jul 2001 18:17:52 -0400
On Jul 13, 12:06am, manu@netbsd.org (Emmanuel Dreyfus) wrote:
-- Subject: bin/13400 new patch for syslogd
| Here is a new patch for syslogd. It seems the last one was garbled,
| hence I uuencoded it to prevent any problem.
1. the error messages should be "Cannot find user `%s'" etc.
2. logerror() should turn into a printf() like varargs function. It is
too messy to build strings with sprintf locally everywhere.
christos
From: manu@netbsd.org (Emmanuel Dreyfus)
To: gnats-bugs@netbsd.org, ljt@alum.mit.edu, christos@zoulas.com
Cc:
Subject: bin/13400
Date: Sat, 14 Jul 2001 00:05:37 +0200
As christos requested, I removed all snprintf(buf...). It's true it's
much nicer now. There is still a lot of bad stuff with errno because
logerror clears it, so it has to be saved before calling logerror at a
few places.
I don't understand why we really have to clear errno in logerror. Maybe
we could remove this? This will clean up this kinfd of lines:
int serrno = errno;
logerror("cannot create %s", *pp);
errno = serrno;
And maybe it would be nice to have an errno argument to logerror, so
that we can transmit errno or 0. That way, we would not have to clear
errno before calling logerror, like this lines:
errno = 0; /* already in msg */
logerror(p);
We would do logerror(p, 0) instead, and logerror(p, errno) when
appropriate.
Opinions?
begin 644 syslogd.patch
cvs server: Diffing .
M/R!S>7-L;V=D"C\@<WES;&]G9"YC870X"C\@<WES;&]G+F-O;F8N8V%T-0I)
M;F1E>#H@<WES;&]G9"XX"CT]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T*4D-3(&9I
M;&4Z("]C=G-R;V]T+V)A<V5S<F,O=7-R+G-B:6XO<WES;&]G9"]S>7-L;V=D
M+C@L=@IR971R:65V:6YG(')E=FES:6]N(#$N,C`*9&EF9B`M530@+7(Q+C(P
M('-Y<VQO9V0N.`HM+2T@<WES;&]G9"XX"3(P,#$O,#4O,#,@,38Z-#4Z,#$)
M,2XR,`HK*RL@<WES;&]G9"XX"3(P,#$O,#<O,3,@,C$Z-3DZ,3,*0$`@+30U
M+#@@*S0U+#$W($!`"B`N0FL@+7=O<F1S"B`N3W`@1FP@9B!!<B!C;VYF:6=?
M9FEL90H@+D5K"B`N0FL@+7=O<F1S"BLN3W`@1FP@=2!!<B!U<V5R"BLN16L*
M*RY":R`M=V]R9',**RY/<"!&;"!G($%R('5S97(**RY%:PHK+D)K("UW;W)D
M<PHK+D]P($9L('0@07(@8VAR;V]T7V1I<@HK+D5K"BLN0FL@+7=O<F1S"B`N
M3W`@1FP@;2!!<B!M87)K7VEN=&5R=F%L"B`N16L*("Y":R`M=V]R9',*("Y/
M<"!&;"!0($%R(&9I;&5?;&ES=`I`0"`M-CDL."`K-S@L,C$@0$`*("Y)="!&
M;"!F"B!3<&5C:69Y('1H92!P871H;F%M92!O9B!A;B!A;'1E<FYA=&EV92!C
M;VYF:6=U<F%T:6]N(&9I;&4["B!T:&4@9&5F875L="!I<PH@+E!A("]E=&,O
M<WES;&]G+F-O;F8@+@HK+DET($9L('4@07(@=7-E<@HK4V5T(%5)1"!T;R`*
M*RY!<B!U<V5R(`HK869T97(@=&AE('-O8VME=',@86YD(&QO9R!F:6QE<R!H
M879E(&)E96X@;W!E;BX**RY)="!&;"!G($%R(&=R;W5P"BM3970@1TE$('1O
M(`HK+D%R(&=R;W5P(`HK869T97(@=&AE('-O8VME=',@86YD(&QO9R!F:6QE
M<R!H879E(&)E96X@;W!E;BX**RY)="!&;"!T($%R(&-H<F]O=%]D:7(**RY8
M<B!C:')O;W0@,@HK=&\**RY!<B!C:')O;W1?9&ER"BMA9G1E<B!T:&4@<V]C
M:V5T<R!A;F0@;&]G(&9I;&5S(`EH879E(&)E96X@;W!E;BX*("Y)="!&;"!M
M"B!396QE8W0@=&AE(&YU;6)E<B!O9B!M:6YU=&5S(&)E='=E96X@8&!M87)K
M)R<@;65S<V%G97,["B!T:&4@9&5F875L="!I<R`R,"!M:6YU=&5S+@H@+DET
M($9L(',*26YD97@Z('-Y<VQO9V0N8PH]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M"E)#4R!F:6QE.B`O8W9S<F]O="]B87-E<W)C+W5S<BYS8FEN+W-Y<VQO9V0O
M<WES;&]G9"YC+'8*<F5T<FEE=FEN9R!R979I<VEO;B`Q+C0T"F1I9F8@+54T
M("UR,2XT-"!S>7-L;V=D+F,*+2TM('-Y<VQO9V0N8PDR,#`Q+S`S+S(Q(#$W
M.C`R.C0S"3$N-#0**RLK('-Y<VQO9V0N8PDR,#`Q+S`W+S$S(#(Q.C4Y.C$V
M"D!`("TQ,#0L."`K,3`T+#$U($!`"B`C:6YC;'5D92`\<W1R:6YG+F@^"B`C
M:6YC;'5D92`\=6YI<W1D+F@^"B`C:6YC;'5D92`\=71M<"YH/@H@(VEN8VQU
M9&4@/'5T:6PN:#X**R-I;F-L=61E(#QP=V0N:#X**R-I;F-L=61E(#QG<G`N
M:#X**R-I9F1E9B!?7U-41$-?7PHK(VEN8VQU9&4@/'-T9&%R9RYH/@HK(V5L
M<V4**R-I;F-L=61E(#QV87)A<F=S+F@^"BLC96YD:68*("-I;F-L=61E(")P
M871H;F%M97,N:"(*(`H@(V1E9FEN92!365-,3T=?3D%-15,*("-I;F-L=61E
M(#QS>7,O<WES;&]G+F@^"D!`("TQ.#4L."`K,3DR+#D@0$`*('-T<G5C=`EF
M:6QE9"`J1FEL97,["B!S=')U8W0)9FEL960@8V]N<V9I;&4["B`*(&EN=`E$
M96)U9SL)"0DO*B!D96)U9R!F;&%G("HO"BMI;G0)9&%E;6]N:7IE9"`](#`[
M"0DO*B!W92!A<F4@;F]T(&1A96UO;FEZ960@>65T("HO"B!C:&%R"4QO8V%L
M2&]S=$YA;65;34%82$]35$Y!345,14XK,5T["2\J(&]U<B!H;W-T;F%M92`J
M+PH@8VAA<@DJ3&]C86Q$;VUA:6X["0DO*B!O=7(@;&]C86P@9&]M86EN(&YA
M;64@*B\*(&EN=`DJ9FEN970@/2!.54Q,.PD)"2\J($EN=&5R;F5T(&1A=&%G
M<F%M('-O8VME=',@*B\*(&EN=`E);FET:6%L:7IE9"`](#`["2\J('-E="!W
M:&5N('=E(&AA=F4@:6YI=&EA;&EZ960@;W5R<V5L=F5S("HO"D!`("TR,#0L
M.2`K,C$R+#D@0$`*('9O:60)9G!R:6YT;&]G(%]?4"@H<W1R=6-T(&9I;&5D
M("HL(&EN="P@8VAA<B`J*2D["B!I;G0)9V5T;7-G8G5F<VEZ92!?7U`H*'9O
M:60I*3L*(&EN="H)<V]C:W-E='5P(%]?4"@H:6YT*2D["B!V;VED"6EN:70@
M7U]0*"AI;G0I*3L*+79O:60);&]G97)R;W(@7U]0*"AC:&%R("HI*3L**W9O
M:60);&]G97)R;W(@7U]0*"AC;VYS="!C:&%R("HL("XN+BDI.PH@=F]I9`EL
M;V=M<V<@7U]0*"AI;G0L(&-H87(@*BP@8VAA<B`J+"!I;G0I*3L*('9O:60)
M<')I;G1L:6YE(%]?4"@H8VAA<B`J+"!C:&%R("HI*3L*('9O:60)<')I;G1S
M>7,@7U]0*"AC:&%R("HI*3L*('9O:60)<F5A<&-H:6QD(%]?4"@H:6YT*2D[
M"D!`("TR,C<L,3,@*S(S-2PS-R!`0`H@"7-T<G5C="!S;V-K861D<E]U;B!S
M=6YX+"!F<F]M=6YI>#L*(`ES=')U8W0@<V]C:V%D9')?<W1O<F%G92!F<F]M
M:6YE=#L*(`EC:&%R("IP+"`J;&EN92P@*BIP<#L*(`ES=')U8W0@<&]L;&9D
M("IR96%D9F1S.PHK"75I9%]T('5I9"`](#`["BL)9VED7W0@9VED(#T@,#L*
M*PEC:&%R("IU<V5R(#T@3E5,3#L**PEC:&%R("IG<F]U<"`]($Y53$P["BL)
M8VAA<B`J<F]O="`]("(O(CL**PEC:&%R("IE;F1P.PHK"7-T<G5C="!G<F]U
M<"`@("IG<CL**PES=')U8W0@<&%S<W=D("`J<'<["BL)"B`*(`DH=F]I9"ES
M971L;V-A;&4H3$-?04Q,+"`B(BD["B`*+0EW:&EL92`H*&-H(#T@9V5T;W!T
M*&%R9V,L(&%R9W8L(")D<V8Z;3IP.E`Z(BDI("$]("TQ*0HK"7=H:6QE("@H
M8V@@/2!G971O<'0H87)G8RP@87)G=BP@(F1S9CIM.G`Z4#IU.F<Z=#HB*2D@
M(3T@+3$I"B`)"7-W:71C:"AC:"D@>PHK"0EC87-E("=U)SH**PD)"75S97(@
M/2!O<'1A<F<["BL)"0EI9B`H*G5S97(@/3T@)UPP)RD**PD)"0EU<V%G92@I
M.PHK"0D)8G)E86L["BL)"6-A<V4@)V<G.@HK"0D)9W)O=7`@/2!O<'1A<F<[
M"BL)"0EI9B`H*F=R;W5P(#T]("=<,"<I"BL)"0D)=7-A9V4H*3L**PD)"6)R
M96%K.PHK"0EC87-E("=T)SH**PD)"7)O;W0@/2!O<'1A<F<["BL)"0EI9B`H
M*G)O;W0@/3T@)UPP)RD**PD)"0EU<V%G92@I.PHK"0D)8G)E86L["B`)"6-A
M<V4@)V0G.@D)+RH@9&5B=6<@*B\*(`D)"41E8G5G*RL["B`)"0EB<F5A:SL*
M(`D)8V%S92`G9B<Z"0DO*B!C;VYF:6=U<F%T:6]N(&9I;&4@*B\*0$`@+3(U
M.2PQ,R`K,CDQ+#0Y($!`"B`)"7T*(`EI9B`H*&%R9V,@+3T@;W!T:6YD*2`A
M/2`P*0H@"0EU<V%G92@I.PH@"BT):68@*"%$96)U9RD*+0D)*'9O:60I9&%E
M;6]N*#`L(#`I.PHM"65L<V4*+0D)<V5T;&EN96)U9BAS=&1O=70I.PHK"7-E
M=&QI;F5B=68H<W1D;W5T*3L**PHK"6EF("AU<V5R("$]($Y53$PI('L**PD)
M:68@*&ES9&EG:70H*G5S97(I*2!["BL)"0EU:60@/2`H=6ED7W0I<W1R=&]L
M*'5S97(L("9E;F1P+"`P*3L**PD)"6EF("@J96YD<"`A/2`G7#`G*0HK"2`@
M("`)"6=O=&\@9V5T=7-E<CL**PD)?2!E;'-E('L**V=E='5S97(Z"BL)"0EI
M9B`H*'!W(#T@9V5T<'=N86TH=7-E<BDI("$]($Y53$PI('L**PD)"0EU:60@
M/2!P=RT^<'=?=6ED.PHK"0D)?2!E;'-E('L**R`@("`@("`@("`@"65R<FYO
M(#T@,#L@(`HK"0D)"6QO9V5R<F]R*")N;R!S=6-H('5S97(@)7,B+"!U<V5R
M*3L**PD)"0ED:64@*#`I.PHK"0D)?0HK"0E]"BL)?0H@"BL):68@*&=R;W5P
M("$]($Y53$PI('L**PD):68@*&ES9&EG:70H*F=R;W5P*2D@>PHK"0D)9VED
M(#T@*&=I9%]T*7-T<G1O;"AG<F]U<"P@)F5N9'`L(#`I.PHK"0D):68@*"IE
M;F1P("$]("=<,"<I"BL)("`@(`D)9V]T;R!G971G<F]U<#L**PD)?2!E;'-E
M('L**V=E=&=R;W5P.@HK"0D):68@*"AG<B`](&=E=&=R;F%M*&=R;W5P*2D@
M(3T@3E5,3"D@>PHK"0D)"6=I9"`](&=R+3YG<E]G:60["BL)"0E](&5L<V4@
M>PHK"0D)"65R<FYO(#T@,#L**PD)"0EL;V=E<G)O<B@B;F\@<W5C:"!G<F]U
M<"`E<R(L(&=R;W5P*3L**PD)"0ED:64H,"D["BL)"0E]"BL)"7T**PE]"BL*
M*PEI9B`H86-C97-S("AR;V]T+"!&7T]+('P@4E]/2RDI('L**PD);&]G97)R
M;W(@*")#86YN;W0@86-C97-S("5S(BP@<F]O="D["BL)"61I92`H,"D["BL)
M?0HK"B`)8V]N<V9I;&4N9E]T>7!E(#T@1E]#3TY33TQ%.PH@"2AV;VED*7-T
M<F-P>2AC;VYS9FEL92YF7W5N+F9?9FYA;64L(&-T='DI.PH@"2AV;VED*6=E
M=&AO<W1N86UE*$QO8V%L2&]S=$YA;64L('-I>F5O9BA,;V-A;$AO<W1.86UE
M*2D["B`)3&]C86Q(;W-T3F%M95MS:7IE;V8H3&]C86Q(;W-T3F%M92D@+2`Q
M72`]("=<,"<["D!`("TS,3$L,3(@*S,W.2PY($!`"B`)"6EF("AF=6YI>%MJ
M72`\(#`@?'P@8FEN9"AF=6YI>%MJ72P*(`D)("`@("AS=')U8W0@<V]C:V%D
M9'(@*BDF<W5N>"P@4U5.7TQ%3B@F<W5N>"DI(#P@,"!\?`H@"0D@("`@8VAM
M;V0H*G!P+"`P-C8V*2`\(#`I('L*(`D)"6EN="!S97)R;F\@/2!E<G)N;SL*
M+0D)"2AV;VED*7-N<')I;G1F*&QI;F4L('-I>F5O9B!L:6YE+`HM"0D)("`@
M(")C86YN;W0@8W)E871E("5S(BP@*G!P*3L*+0D)"65R<FYO(#T@<V5R<FYO
M.PHM"0D);&]G97)R;W(H;&EN92D["BL)"0EL;V=E<G)O<B@B8V%N;F]T(&-R
M96%T92`E<R(L("IP<"D["B`)"0EE<G)N;R`]('-E<G)N;SL*(`D)"61P<FEN
M=&8H(F-A;FYO="!C<F5A=&4@)7,@*"5D*5QN(BP@*G!P+"!E<G)N;RD["B`)
M"0ED:64H,"D["B`)"7T*0$`@+3,V-2PX("LT,S`L,S@@0$`*(`D)<F5A9&9D
M<UMN9F1S72YF9"`](&9U;FEX6VHK*UT["B`)"7)E861F9'-;;F9D<RLK72YE
M=F5N=',@/2!03TQ,24X@?"!03TQ,4%)).PH@"7T*(`HK"2\J(`HK"2`J($%L
M;"!F:6QE<R!A<F4@;W!E;BP@=V4@8V%N(&1R;W`@<')I=FEL96=E<R!A;F0@
M8VAR;V]T"BL)("HO"BL)9'!R:6YT9B`H(F%T=&5M<'0@=&\@8VAR;V]T('1O
M("5S7&XB+"!R;V]T*3L@(`HK"6EF("AC:')O;W0@*')O;W0I*2!["BL)"6QO
M9V5R<F]R("@B9F%I;&5D('1O(&-H<F]O="!T;R`E<R(L(')O;W0I.PHK"0ED
M:64H,"D["BL)?0HK"61P<FEN=&8@*")A='1E;7!T('1O('-E="!'240O14=)
M1"!T;R`E9%QN(BP@9VED*3L@(`HK"6EF("AS971G:60@*&=I9"D@?'P@<V5T
M96=I9"`H9VED*2D@>PHK"0EL;V=E<G)O<B`H(F9A:6QE9"!T;R!S970@9VED
M('1O("5D(BP@9VED*3L**PD)9&EE*#`I.PHK"7T**PED<')I;G1F("@B871T
M96UP="!T;R!S970@54E$+T55240@=&\@)61<;B(L('5I9"D[("`**PEI9B`H
M<V5T=6ED("AU:60I('Q\('-E=&5U:60@*'5I9"DI('L**PD);&]G97)R;W(@
M*")F86EL960@=&\@<V5T('5I9"!T;R`E9"(L('5I9"D["BL)"61I92@P*3L*
M*PE]"BL**PDO*B`**PD@*B!792!C86YN;W0@9&5T86-H(&9R;VT@=&AE('1E
M<FUI;F%L(&)E9F]R92!W92!A<F4@<W5R92!W92!W;VXG="`**PD@*B!H879E
M(&$@9F%T86P@97)R;W(L(&)E8V%U<V4@97)R;W(@;65S<V%G92!W;W5L9"!N
M;W0@9V\@=&\@=&AE"BL)("H@=&5R;6EN86P@86YD('=O=6QD(&YO="!B92!L
M;V=G960@8F5C875S92!S>7-L;V=D(&1I97,N(`HK"2`J($%L;"!D:64H*2!C
M86QL<R!A<F4@8F5H:6YD('5S+"!W92!C86X@8V%L;"!D865M;VXH*0HK"2`J
M+PHK"6EF("@A1&5B=6<I('L**PD)*'9O:60I9&%E;6]N*#`L(#`I.PHK"0ED
M865M;VYI>F5D(#T@,3L**PE]"BL*(`EF;W(@*#L[*2"0EI9B`H:2`^(#`I('L*(`D)"0EL:6YE6VE=
M(#T@)UPP)SL*(`D)"0EP<FEN=&QI;F4H3&]C86Q(;W-T3F%M92P@;&EN92D[
M"B`)"0E](&5L<V4@:68@*&D@/"`P("8F(&5R<FYO("$]($5)3E12*2"0D)*'9O:60I<VYP<FEN=&8H8G5F+"!S:7IE;V8@8G5F+`HM
M"0D)"2`@("`B<F5C=F9R;VT@=6YI>"`E<R(L("IP<"D["BT)"0D)97)R;F\@
M/2!S97)R;F\["BT)"0D);&]G97)R;W(H8G5F*3L**PD)"0DO*B!I;G0@<V5R
M<FYO(#T@97)R;F\[("HO("\J(%A86"!5<V5L97-S/R`J+PHK"0D)"6QO9V5R
M<F]R*")R96-V9G)O;2!U;FEX("5S(BP@*G!P*3L*(`D)"7T*(`D)?0H@"0EI
M9B`H9FEN970@)B8@(5-E8W5R94UO9&4I('L*(`D)"69O<B`H:B`](#`[(&H@
M/"`J9FEN970[(&HK*RD@>PI`0"`M.3@Y+#0P("LQ,#<Y+#8Q($!`"B`O*@H@
M("H@4')I;G0@<WES;&]G9"!E<G)O<G,@<V]M92!P;&%C92X*("`J+PH@=F]I
M9`HM;&]G97)R;W(H='EP92D*+0EC:&%R("IT>7!E.PHK;&]G97)R;W(H8V]N
M<W0@8VAA<B`J9FUT+"`N+BXI"B!["BL)=F%?;&ES="!A<#L**PEC:&%R('1M
M<&)U9ELQ,#!=.PH@"6-H87(@8G5F6S$P,%T["B`**R-I9F1E9B!?7U-41$-?
M7PHK"79A7W-T87)T*&%P+"!F;70I.PHK(V5L<V4**PEV85]S=&%R="AA<"D[
M"BLC96YD:68**PHK"2AV;VED*79S;G!R:6YT9BAT;7!B=68L('-I>F5O9BAT
M;7!B=68I+"!F;70L(&%P*3L**PHK"79A7V5N9"AA<"D["BL*(`EI9B`H97)R
M;F\I"BT)"2AV;VED*7-N<')I;G1F*&)U9BP*+0D)("`@('-I>F5O9BAB=68I
M+"`B<WES;&]G9#H@)7,Z("5S(BP@='EP92P@<W1R97)R;W(H97)R;F\I*3L*
M*PD)*'9O:60I<VYP<FEN=&8H8G5F+"!S:7IE;V8H8G5F*2P@(G-Y<VQO9V0Z
M("5S.B`E<R(L(`HK"0D@("`@=&UP8G5F+"!S=')E<G)O<BAE<G)N;RDI.PH@
M"65L<V4*+0D)*'9O:60I<VYP<FEN=&8H8G5F+"!S:7IE;V8H8G5F*2P@(G-Y
M<VQO9V0Z("5S(BP@='EP92D["BL)"2AV;VED*7-N<')I;G1F*&)U9BP@<VEZ
M96]F*&)U9BDL(")S>7-L;V=D.B`E<R(L('1M<&)U9BD["BL*(`EE<G)N;R`]
M(#`["BT)9'!R:6YT9B@B)7-<;B(L(&)U9BD["BT);&]G;7-G*$Q/1U]365-,
M3T=\3$]'7T524BP@8G5F+"!,;V-A;$AO<W1.86UE+"!!1$1$051%*3L**PHK
M"6EF("AD865M;VYI>F5D*2`**PD);&]G;7-G*$Q/1U]365-,3T=\3$]'7T52
M4BP@8G5F+"!,;V-A;$AO<W1.86UE+"!!1$1$051%*3L**PEI9B`H(61A96UO
M;FEZ960@)B8@1&5B=6<I"BL)"61P<FEN=&8H(B5S7&XB+"!B=68I.PHK"6EF
M("@A9&%E;6]N:7IE9"`F)B`A1&5B=6<I"BL)"7!R:6YT9B@B)7-<;B(L(&)U
M9BD["BL**PER971U<FX["B!]"B`*('9O:60*(&1I92AS:6=N;RD*(`EI;G0@
M<VEG;F\["B+RH@9FQU<V@@86YY('!E;F1I;F<@
M;W5T<'5T("HO"B`)"6EF("AF+3YF7W!R979C;W5N="D*(`D)"69P<FEN=&QO
M9RAF+"`P+"`H8VAA<B`J*4Y53$PI.PH@"7T*(`EI9B`H<VEG;F\I('L*(`D)
M9'!R:6YT9B@B<WES;&]G9#H@97AI=&EN9R!O;B!S:6=N86P@)61<;B(L('-I
M9VYO*3L*+0D)*'9O:60I<VYP<FEN=&8H8G5F+"!S:7IE;V8@8G5F+"`B97AI
M=&EN9R!O;B!S:6=N86P@)60B+"!S:6=N;RD["BL)"65R<FYO(#T@,#L**PD)
M;&]G97)R;W(H(G-Y<VQO9V0Z(&5X:71I;F<@;VX@<VEG;F%L("5D7&XB+"!S
M:6=N;RD["BL)?2!E;'-E('L*(`D)97)R;F\@/2`P.PHM"0EL;V=E<G)O<BAB
M=68I.PHK"0EL;V=E<G)O<B@B9F%T86P@97)R;W(L(&5X:71T:6YG(BD["B`)
M?0H@"69O<B`H<"`]($QO9U!A=&AS.R!P("8F("IP.R!P*RLI"B`)"75N;&EN
M:R@J<"D["B`)97AI="@P*3L*0$`@+3$Q.#,L.2`K,3(Y-"PY($!`"B!["B`)
M<W1R=6-T(&%D9')I;F9O(&AI;G1S+"`J<F5S.PH@"6EN="`@("!E<G)O<BP@
M:2P@<')I.PH@"6-H87(@("`J8G`L("IP+"`J<3L*+0EC:&%R("`@8G5F6TU!
M6$Q)3D5=+"!E8G5F6S$P,%T["BL)8VAA<B`@(&)U9EM-05A,24Y%73L*(`H@
M"61P<FEN=&8H(F-F;&EN92@E<RE<;B(L(&QI;F4I.PH@"B`)97)R;F\@/2`P
M.PDO*B!K965P('-T<F5R<F]R*"D@<W1U9F8@;W5T(&]F(&QO9V5R<F]R(&UE
M<W-A9V5S("HO"D!`("TQ,3DS+#@@*S$S,#0L-30@0$`*(`DO*B!C;&5A<B!O
M=70@9FEL92!E;G1R>2`J+PH@"6UE;7-E="AF+"`P+"!S:7IE;V8H*F8I*3L*
M(`EF;W(@*&D@/2`P.R!I(#P]($Q/1U].1D%#24Q)5$E%4SL@:2LK*0H@"0EF
M+3YF7W!M87-K6VE=(#T@24Y415).04Q?3D]04DD["BL)"BL)+RH@"BL)("H@
M5&AE<F4@<VAO=6QD(&YO="!B92!A;GD@<W!A8V4@8F5F;W)E('1H92!L;V=G
M:6YG(&9A8VEL:71Y+@HK"2`J($-H96-K('1H:7,@:7,@;VMA>2P@8V]M<&QA
M:6X@86YD(&9I>"!I9B!I="!I<R!N;W0N"BL)("HO"BL)<2`](&QI;F4["BL)
M=VAI;&4@*"IQ("8F(&ES8FQA;FLH*G$I*2`**PD)<2LK.PHK"2\J('$@:7,@
M870@=&AE(&9I<G-T(&-H87(@;V8@=&AE(&QO9V=I;F<@9F%C:6QI='D@*B\*
M*PEI9B`H*G$@)B8@*"HH<2`M(#$I(#T]("<@)RDI('L**PD);&]G97)R;W(H
M"BL)"2`@("`B5V%R;FEN9SH@7"(E<UPB('-P86-E(&)E9F]R92!T:&4@;&]G
M9VEN9R!F86-I;&ET>2(L"BL)"2`@("!L:6YE*3L**PD)+RH@1FEX.B!S=')I
M<"!A;&P@<W!A8V5S+W1A8G,@8F5F;W)E('1H92!L;V=G:6YG(&9A8VEL:71Y
M("HO"BL)"6QI;F4@/2!Q.R`**PE]"BL**PDO*B`**PD@*B!4:&5R92!S:&]U
M;&0@8F4@870@;&5A<W0@;VYE('1A8B!A9G1E<B!T:&4@;&]G9VEN9R!F86-I
M;&ET>2`**PD@*B!#:&5C:R!T:&ES(&ES(&]K87DL(&%N9"!C;VUP;&%I;B!A
M;F0@9FEX(&EF(&ET(&ES(&YO="X**PD@*B\**PEQ(#T@;&EN92`K('-T<FQE
M;BAL:6YE*3L**PEW:&EL92`H(6ES8FQA;FLH*G$I("8F("AQ("$](&QI;F4I
M*0HK"0EQ+2T["BL):68@*"AQ(#T](&QI;F4I("8F('-T<FQE;BAL:6YE*2D@
M>R`**PD)+RH@3F\@=&%B<R!O<B!S<&%C92!I;B!A(&YO;B!E;7!T>2!L:6YE
M.B!C;VUP;&%I;B`J+PHK"0EL;V=E<G)O<B@**PD)("`@(")%<G)O<CH@7"(E
M<UPB(&QO9V=I;F<@9F%C:6QI='D@;W(@;&]G('1A<F=E="!M:7-S:6YG(BP*
M*PD)("`@(&QI;F4I.PHK"7T**PD**PDO*B!Q(&ES(&%T('1H92!E;F0@;V8@
M=&AE(&)L86YK(&)E='=E96X@=&AE('1W;R!F:65L9',@*B\**PEW:&EL92`H
M:7-B;&%N:R@J<2D@)B8@*'$@(3T@;&EN92DI"BL)"7$M+3L**PHK"2\J('$@
M:7,@870@=&AE(&)E9VEN;FEN9R!O9B!T:&4@8FQA;FL@8F5T=V5E;B!T:&4@
M='=O(&9I96QD<R`J+PHK"6EF("@J*'$@*R`Q*2`]/2`G("<I('L@"BL)"2\J
M($QO9V=I;F<@9F%C:6QI='D@:7,@9F]L;&]W960@8GD@82!S<&%C93H@8V]M
M<&QA:6XN+BX@*B\**PD);&]G97)R;W(H"BL)"2`@("`B5V%R;FEN9SH@7"(E
M<UPB(&QO9V=I;F<@9F%C:6QI='D@;F]T(&9O;&QO=V5D(&)Y(&$@=&%B(BP*
M*PD)("`@(&QI;F4I.PHK"0DO*B`N+BX@86YD(&9I>"!T:&4@<')O8FQE;3H@
M<F5P;&%C92!A;&P@<W!A8V5S(&)Y('1A8G,@*B\**PD)9F]R("@[("IQ.R!Q
M*RLI"BL)"0EI9B`H*G$@/3T@)R`G*0HK"0D)"2IQ/2=<="<["0HK"7T*(`H@
M"2\J('-C86X@=&AR;W5G:"!T:&4@;&ES="!O9B!S96QE8W1O<G,@*B\*(`EF
M;W(@*'`@/2!L:6YE.R`J<"`F)B`J<"`A/2`G7'0G.RD@>PH@"D!`("TQ,C$V
M+#$Q("LQ,S<S+#D@0$`*(`D)"7!R:2`]($Q/1U]04DE-05-+("L@,3L*(`D)
M96QS92!["B`)"0EP<FD@/2!D96-O9&4H8G5F+"!P<FEO<FET>6YA;65S*3L*
M(`D)"6EF("AP<FD@/"`P*2!["BT)"0D)*'9O:60I<VYP<FEN=&8H96)U9BP@
M<VEZ96]F(&5B=68L"BT)"0D)("`@(")U;FMN;W=N('!R:6]R:71Y(&YA;64@
M7"(E<UPB(BP@8G5F*3L*+0D)"0EL;V=E<G)O<BAE8G5F*3L**PD)"0EL;V=E
M<G)O<B@B=6YK;F]W;B!P<FEO<FET>2!N86UE(%PB)7-<(B(L(&)U9BD["B`)
M"0D)<F5T=7)N.PH@"0D)?0H@"0E]"B`*0$`@+3$R,S0L,3(@*S$S.#DL,3`@
M0$`*(`D)"0D)9BT^9E]P;6%S:UMI72`]('!R:3L*(`D)"65L<V4@>PH@"0D)
M"6D@/2!D96-O9&4H8G5F+"!F86-I;&ET>6YA;65S*3L*(`D)"0EI9B`H:2`\
M(#`I('L*+0D)"0D)*'9O:60I<VYP<FEN=&8H96)U9BP@<VEZ96]F(&5B=68L
M"BT)"0D)"2`@("`B=6YK;F]W;B!F86-I;&ET>2!N86UE(%PB)7-<(B(L"BL)
M"0D)"6QO9V5R<F]R*")U;FMN;W=N(&9A8VEL:71Y(&YA;64@7"(E<UPB(BP*
M(`D)"0D)("`@(&)U9BD["BT)"0D)"6QO9V5R<F]R*&5B=68I.PH@"0D)"0ER
M971U<FX["B`)"0D)?0H@"0D)"68M/F9?<&UA<VM;:2`^/B`S72`]('!R:3L*
&(`D)"7T*
`
end
--
Emmanuel Dreyfus
manu@netbsd.org
From: christos@zoulas.com (Christos Zoulas)
To: manu@netbsd.org (Emmanuel Dreyfus), gnats-bugs@netbsd.org,
ljt@alum.mit.edu
Cc:
Subject: Re: bin/13400
Date: Sat, 14 Jul 2001 11:26:30 -0400
On Jul 14, 12:05am, manu@netbsd.org (Emmanuel Dreyfus) wrote:
-- Subject: bin/13400
1. the ({u,g}id_t)strtol() should be replaced with strtoul() since you
are casting to unsigned types.
2. isdigit((unsigned char)*user) so that you don't index the ctypes array
with a negative index.
3. "no such user %s" -> "No such user `%s'"
4. Use BUFSIZ or 1024 as the buffer size in tmpbuf. Memory is cheap these days
5. Shouldn't some of the dprintf's in the main code be removed since logerror
deals with it properly?
6. There is no issue about clearing the errno in logerror. calling
logmsg/dprintf/printf will trash it anyway because it will be doing
syscalls. What logerror should do is:
{
int serrno = errno;
...
errno = serrno;
}
so that the wrapper code does not have to deal with it.
This way the code that does explicitly 'errno = 0;' before calling logerror
will still work, and we can remove the responsibility of saving the errno
from the caller.
7. The #ifdef __STDC__'s should be removed, since the code does not compile with
a non ansi compiler.
christos
| As christos requested, I removed all snprintf(buf...). It's true it's
| much nicer now. There is still a lot of bad stuff with errno because
| logerror clears it, so it has to be saved before calling logerror at a
| few places.
|
| I don't understand why we really have to clear errno in logerror. Maybe
| we could remove this? This will clean up this kinfd of lines:
|
| int serrno = errno;
| logerror("cannot create %s", *pp);
| errno = serrno;
|
| And maybe it would be nice to have an errno argument to logerror, so
| that we can transmit errno or 0. That way, we would not have to clear
| errno before calling logerror, like this lines:
|
| errno = 0; /* already in msg */
| logerror(p);
|
| We would do logerror(p, 0) instead, and logerror(p, errno) when
| appropriate.
|
| Opinions?
|
| begin 644 syslogd.patch
| cvs server: Diffing .
| M/R!S>7-L;V=D"C\@<WES;&]G9"YC870X"C\@<WES;&]G+F-O;F8N8V%T-0I)
| M;F1E>#H@<WES;&]G9"XX"CT]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
| M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T*4D-3(&9I
| M;&4Z("]C=G-R;V]T+V)A<V5S<F,O=7-R+G-B:6XO<WES;&]G9"]S>7-L;V=D
| M+C@L=@IR971R:65V:6YG(')E=FES:6]N(#$N,C`*9&EF9B`M530@+7(Q+C(P
| M('-Y<VQO9V0N.`HM+2T@<WES;&]G9"XX"3(P,#$O,#4O,#,@,38Z-#4Z,#$)
| M,2XR,`HK*RL@<WES;&]G9"XX"3(P,#$O,#<O,3,@,C$Z-3DZ,3,*0$`@+30U
| M+#@@*S0U+#$W($!`"B`N0FL@+7=O<F1S"B`N3W`@1FP@9B!!<B!C;VYF:6=?
| M9FEL90H@+D5K"B`N0FL@+7=O<F1S"BLN3W`@1FP@=2!!<B!U<V5R"BLN16L*
| M*RY":R`M=V]R9',**RY/<"!&;"!G($%R('5S97(**RY%:PHK+D)K("UW;W)D
| M<PHK+D]P($9L('0@07(@8VAR;V]T7V1I<@HK+D5K"BLN0FL@+7=O<F1S"B`N
| M3W`@1FP@;2!!<B!M87)K7VEN=&5R=F%L"B`N16L*("Y":R`M=V]R9',*("Y/
| M<"!&;"!0($%R(&9I;&5?;&ES=`I`0"`M-CDL."`K-S@L,C$@0$`*("Y)="!&
| M;"!F"B!3<&5C:69Y('1H92!P871H;F%M92!O9B!A;B!A;'1E<FYA=&EV92!C
| M;VYF:6=U<F%T:6]N(&9I;&4["B!T:&4@9&5F875L="!I<PH@+E!A("]E=&,O
| M<WES;&]G+F-O;F8@+@HK+DET($9L('4@07(@=7-E<@HK4V5T(%5)1"!T;R`*
| M*RY!<B!U<V5R(`HK869T97(@=&AE('-O8VME=',@86YD(&QO9R!F:6QE<R!H
| M879E(&)E96X@;W!E;BX**RY)="!&;"!G($%R(&=R;W5P"BM3970@1TE$('1O
| M(`HK+D%R(&=R;W5P(`HK869T97(@=&AE('-O8VME=',@86YD(&QO9R!F:6QE
| M<R!H879E(&)E96X@;W!E;BX**RY)="!&;"!T($%R(&-H<F]O=%]D:7(**RY8
| M<B!C:')O;W0@,@HK=&\**RY!<B!C:')O;W1?9&ER"BMA9G1E<B!T:&4@<V]C
| M:V5T<R!A;F0@;&]G(&9I;&5S(`EH879E(&)E96X@;W!E;BX*("Y)="!&;"!M
| M"B!396QE8W0@=&AE(&YU;6)E<B!O9B!M:6YU=&5S(&)E='=E96X@8&!M87)K
| M)R<@;65S<V%G97,["B!T:&4@9&5F875L="!I<R`R,"!M:6YU=&5S+@H@+DET
| M($9L(',*26YD97@Z('-Y<VQO9V0N8PH]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
| M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
| M"E)#4R!F:6QE.B`O8W9S<F]O="]B87-E<W)C+W5S<BYS8FEN+W-Y<VQO9V0O
| M<WES;&]G9"YC+'8*<F5T<FEE=FEN9R!R979I<VEO;B`Q+C0T"F1I9F8@+54T
| M("UR,2XT-"!S>7-L;V=D+F,*+2TM('-Y<VQO9V0N8PDR,#`Q+S`S+S(Q(#$W
| M.C`R.C0S"3$N-#0**RLK('-Y<VQO9V0N8PDR,#`Q+S`W+S$S(#(Q.C4Y.C$V
| M"D!`("TQ,#0L."`K,3`T+#$U($!`"B`C:6YC;'5D92`\<W1R:6YG+F@^"B`C
| M:6YC;'5D92`\=6YI<W1D+F@^"B`C:6YC;'5D92`\=71M<"YH/@H@(VEN8VQU
| M9&4@/'5T:6PN:#X**R-I;F-L=61E(#QP=V0N:#X**R-I;F-L=61E(#QG<G`N
| M:#X**R-I9F1E9B!?7U-41$-?7PHK(VEN8VQU9&4@/'-T9&%R9RYH/@HK(V5L
| M<V4**R-I;F-L=61E(#QV87)A<F=S+F@^"BLC96YD:68*("-I;F-L=61E(")P
| M871H;F%M97,N:"(*(`H@(V1E9FEN92!365-,3T=?3D%-15,*("-I;F-L=61E
| M(#QS>7,O<WES;&]G+F@^"D!`("TQ.#4L."`K,3DR+#D@0$`*('-T<G5C=`EF
| M:6QE9"`J1FEL97,["B!S=')U8W0)9FEL960@8V]N<V9I;&4["B`*(&EN=`E$
| M96)U9SL)"0DO*B!D96)U9R!F;&%G("HO"BMI;G0)9&%E;6]N:7IE9"`](#`[
| M"0DO*B!W92!A<F4@;F]T(&1A96UO;FEZ960@>65T("HO"B!C:&%R"4QO8V%L
| M2&]S=$YA;65;34%82$]35$Y!345,14XK,5T["2\J(&]U<B!H;W-T;F%M92`J
| M+PH@8VAA<@DJ3&]C86Q$;VUA:6X["0DO*B!O=7(@;&]C86P@9&]M86EN(&YA
| M;64@*B\*(&EN=`DJ9FEN970@/2!.54Q,.PD)"2\J($EN=&5R;F5T(&1A=&%G
| M<F%M('-O8VME=',@*B\*(&EN=`E);FET:6%L:7IE9"`](#`["2\J('-E="!W
| M:&5N('=E(&AA=F4@:6YI=&EA;&EZ960@;W5R<V5L=F5S("HO"D!`("TR,#0L
| M.2`K,C$R+#D@0$`*('9O:60)9G!R:6YT;&]G(%]?4"@H<W1R=6-T(&9I;&5D
| M("HL(&EN="P@8VAA<B`J*2D["B!I;G0)9V5T;7-G8G5F<VEZ92!?7U`H*'9O
| M:60I*3L*(&EN="H)<V]C:W-E='5P(%]?4"@H:6YT*2D["B!V;VED"6EN:70@
| M7U]0*"AI;G0I*3L*+79O:60);&]G97)R;W(@7U]0*"AC:&%R("HI*3L**W9O
| M:60);&]G97)R;W(@7U]0*"AC;VYS="!C:&%R("HL("XN+BDI.PH@=F]I9`EL
| M;V=M<V<@7U]0*"AI;G0L(&-H87(@*BP@8VAA<B`J+"!I;G0I*3L*('9O:60)
| M<')I;G1L:6YE(%]?4"@H8VAA<B`J+"!C:&%R("HI*3L*('9O:60)<')I;G1S
| M>7,@7U]0*"AC:&%R("HI*3L*('9O:60)<F5A<&-H:6QD(%]?4"@H:6YT*2D[
| M"D!`("TR,C<L,3,@*S(S-2PS-R!`0`H@"7-T<G5C="!S;V-K861D<E]U;B!S
| M=6YX+"!F<F]M=6YI>#L*(`ES=')U8W0@<V]C:V%D9')?<W1O<F%G92!F<F]M
| M:6YE=#L*(`EC:&%R("IP+"`J;&EN92P@*BIP<#L*(`ES=')U8W0@<&]L;&9D
| M("IR96%D9F1S.PHK"75I9%]T('5I9"`](#`["BL)9VED7W0@9VED(#T@,#L*
| M*PEC:&%R("IU<V5R(#T@3E5,3#L**PEC:&%R("IG<F]U<"`]($Y53$P["BL)
| M8VAA<B`J<F]O="`]("(O(CL**PEC:&%R("IE;F1P.PHK"7-T<G5C="!G<F]U
| M<"`@("IG<CL**PES=')U8W0@<&%S<W=D("`J<'<["BL)"B`*(`DH=F]I9"ES
| M971L;V-A;&4H3$-?04Q,+"`B(BD["B`*+0EW:&EL92`H*&-H(#T@9V5T;W!T
| M*&%R9V,L(&%R9W8L(")D<V8Z;3IP.E`Z(BDI("$]("TQ*0HK"7=H:6QE("@H
| M8V@@/2!G971O<'0H87)G8RP@87)G=BP@(F1S9CIM.G`Z4#IU.F<Z=#HB*2D@
| M(3T@+3$I"B`)"7-W:71C:"AC:"D@>PHK"0EC87-E("=U)SH**PD)"75S97(@
| M/2!O<'1A<F<["BL)"0EI9B`H*G5S97(@/3T@)UPP)RD**PD)"0EU<V%G92@I
| M.PHK"0D)8G)E86L["BL)"6-A<V4@)V<G.@HK"0D)9W)O=7`@/2!O<'1A<F<[
| M"BL)"0EI9B`H*F=R;W5P(#T]("=<,"<I"BL)"0D)=7-A9V4H*3L**PD)"6)R
| M96%K.PHK"0EC87-E("=T)SH**PD)"7)O;W0@/2!O<'1A<F<["BL)"0EI9B`H
| M*G)O;W0@/3T@)UPP)RD**PD)"0EU<V%G92@I.PHK"0D)8G)E86L["B`)"6-A
| M<V4@)V0G.@D)+RH@9&5B=6<@*B\*(`D)"41E8G5G*RL["B`)"0EB<F5A:SL*
| M(`D)8V%S92`G9B<Z"0DO*B!C;VYF:6=U<F%T:6]N(&9I;&4@*B\*0$`@+3(U
| M.2PQ,R`K,CDQ+#0Y($!`"B`)"7T*(`EI9B`H*&%R9V,@+3T@;W!T:6YD*2`A
| M/2`P*0H@"0EU<V%G92@I.PH@"BT):68@*"%$96)U9RD*+0D)*'9O:60I9&%E
| M;6]N*#`L(#`I.PHM"65L<V4*+0D)<V5T;&EN96)U9BAS=&1O=70I.PHK"7-E
| M=&QI;F5B=68H<W1D;W5T*3L**PHK"6EF("AU<V5R("$]($Y53$PI('L**PD)
| M:68@*&ES9&EG:70H*G5S97(I*2!["BL)"0EU:60@/2`H=6ED7W0I<W1R=&]L
| M*'5S97(L("9E;F1P+"`P*3L**PD)"6EF("@J96YD<"`A/2`G7#`G*0HK"2`@
| M("`)"6=O=&\@9V5T=7-E<CL**PD)?2!E;'-E('L**V=E='5S97(Z"BL)"0EI
| M9B`H*'!W(#T@9V5T<'=N86TH=7-E<BDI("$]($Y53$PI('L**PD)"0EU:60@
| M/2!P=RT^<'=?=6ED.PHK"0D)?2!E;'-E('L**R`@("`@("`@("`@"65R<FYO
| M(#T@,#L@(`HK"0D)"6QO9V5R<F]R*")N;R!S=6-H('5S97(@)7,B+"!U<V5R
| M*3L**PD)"0ED:64@*#`I.PHK"0D)?0HK"0E]"BL)?0H@"BL):68@*&=R;W5P
| M("$]($Y53$PI('L**PD):68@*&ES9&EG:70H*F=R;W5P*2D@>PHK"0D)9VED
| M(#T@*&=I9%]T*7-T<G1O;"AG<F]U<"P@)F5N9'`L(#`I.PHK"0D):68@*"IE
| M;F1P("$]("=<,"<I"BL)("`@(`D)9V]T;R!G971G<F]U<#L**PD)?2!E;'-E
| M('L**V=E=&=R;W5P.@HK"0D):68@*"AG<B`](&=E=&=R;F%M*&=R;W5P*2D@
| M(3T@3E5,3"D@>PHK"0D)"6=I9"`](&=R+3YG<E]G:60["BL)"0E](&5L<V4@
| M>PHK"0D)"65R<FYO(#T@,#L**PD)"0EL;V=E<G)O<B@B;F\@<W5C:"!G<F]U
| M<"`E<R(L(&=R;W5P*3L**PD)"0ED:64H,"D["BL)"0E]"BL)"7T**PE]"BL*
| M*PEI9B`H86-C97-S("AR;V]T+"!&7T]+('P@4E]/2RDI('L**PD);&]G97)R
| M;W(@*")#86YN;W0@86-C97-S("5S(BP@<F]O="D["BL)"61I92`H,"D["BL)
| M?0HK"B`)8V]N<V9I;&4N9E]T>7!E(#T@1E]#3TY33TQ%.PH@"2AV;VED*7-T
| M<F-P>2AC;VYS9FEL92YF7W5N+F9?9FYA;64L(&-T='DI.PH@"2AV;VED*6=E
| M=&AO<W1N86UE*$QO8V%L2&]S=$YA;64L('-I>F5O9BA,;V-A;$AO<W1.86UE
| M*2D["B`)3&]C86Q(;W-T3F%M95MS:7IE;V8H3&]C86Q(;W-T3F%M92D@+2`Q
| M72`]("=<,"<["D!`("TS,3$L,3(@*S,W.2PY($!`"B`)"6EF("AF=6YI>%MJ
| M72`\(#`@?'P@8FEN9"AF=6YI>%MJ72P*(`D)("`@("AS=')U8W0@<V]C:V%D
| M9'(@*BDF<W5N>"P@4U5.7TQ%3B@F<W5N>"DI(#P@,"!\?`H@"0D@("`@8VAM
| M;V0H*G!P+"`P-C8V*2`\(#`I('L*(`D)"6EN="!S97)R;F\@/2!E<G)N;SL*
| M+0D)"2AV;VED*7-N<')I;G1F*&QI;F4L('-I>F5O9B!L:6YE+`HM"0D)("`@
| M(")C86YN;W0@8W)E871E("5S(BP@*G!P*3L*+0D)"65R<FYO(#T@<V5R<FYO
| M.PHM"0D);&]G97)R;W(H;&EN92D["BL)"0EL;V=E<G)O<B@B8V%N;F]T(&-R
| M96%T92`E<R(L("IP<"D["B`)"0EE<G)N;R`]('-E<G)N;SL*(`D)"61P<FEN
| M=&8H(F-A;FYO="!C<F5A=&4@)7,@*"5D*5QN(BP@*G!P+"!E<G)N;RD["B`)
| M"0ED:64H,"D["B`)"7T*0$`@+3,V-2PX("LT,S`L,S@@0$`*(`D)<F5A9&9D
| M<UMN9F1S72YF9"`](&9U;FEX6VHK*UT["B`)"7)E861F9'-;;F9D<RLK72YE
| M=F5N=',@/2!03TQ,24X@?"!03TQ,4%)).PH@"7T*(`HK"2\J(`HK"2`J($%L
| M;"!F:6QE<R!A<F4@;W!E;BP@=V4@8V%N(&1R;W`@<')I=FEL96=E<R!A;F0@
| M8VAR;V]T"BL)("HO"BL)9'!R:6YT9B`H(F%T=&5M<'0@=&\@8VAR;V]T('1O
| M("5S7&XB+"!R;V]T*3L@(`HK"6EF("AC:')O;W0@*')O;W0I*2!["BL)"6QO
| M9V5R<F]R("@B9F%I;&5D('1O(&-H<F]O="!T;R`E<R(L(')O;W0I.PHK"0ED
| M:64H,"D["BL)?0HK"61P<FEN=&8@*")A='1E;7!T('1O('-E="!'240O14=)
| M1"!T;R`E9%QN(BP@9VED*3L@(`HK"6EF("AS971G:60@*&=I9"D@?'P@<V5T
| M96=I9"`H9VED*2D@>PHK"0EL;V=E<G)O<B`H(F9A:6QE9"!T;R!S970@9VED
| M('1O("5D(BP@9VED*3L**PD)9&EE*#`I.PHK"7T**PED<')I;G1F("@B871T
| M96UP="!T;R!S970@54E$+T55240@=&\@)61<;B(L('5I9"D[("`**PEI9B`H
| M<V5T=6ED("AU:60I('Q\('-E=&5U:60@*'5I9"DI('L**PD);&]G97)R;W(@
| M*")F86EL960@=&\@<V5T('5I9"!T;R`E9"(L('5I9"D["BL)"61I92@P*3L*
| M*PE]"BL**PDO*B`**PD@*B!792!C86YN;W0@9&5T86-H(&9R;VT@=&AE('1E
| M<FUI;F%L(&)E9F]R92!W92!A<F4@<W5R92!W92!W;VXG="`**PD@*B!H879E
| M(&$@9F%T86P@97)R;W(L(&)E8V%U<V4@97)R;W(@;65S<V%G92!W;W5L9"!N
| M;W0@9V\@=&\@=&AE"BL)("H@=&5R;6EN86P@86YD('=O=6QD(&YO="!B92!L
| M;V=G960@8F5C875S92!S>7-L;V=D(&1I97,N(`HK"2`J($%L;"!D:64H*2!C
| M86QL<R!A<F4@8F5H:6YD('5S+"!W92!C86X@8V%L;"!D865M;VXH*0HK"2`J
| M+PHK"6EF("@A1&5B=6<I('L**PD)*'9O:60I9&%E;6]N*#`L(#`I.PHK"0ED
| M865M;VYI>F5D(#T@,3L**PE]"BL*(`EF;W(@*#L[*2"0EI9B`H:2`^(#`I('L*(`D)"0EL:6YE6VE=
| M(#T@)UPP)SL*(`D)"0EP<FEN=&QI;F4H3&]C86Q(;W-T3F%M92P@;&EN92D[
| M"B`)"0E](&5L<V4@:68@*&D@/"`P("8F(&5R<FYO("$]($5)3E12*2"0D)*'9O:60I<VYP<FEN=&8H8G5F+"!S:7IE;V8@8G5F+`HM
| M"0D)"2`@("`B<F5C=F9R;VT@=6YI>"`E<R(L("IP<"D["BT)"0D)97)R;F\@
| M/2!S97)R;F\["BT)"0D);&]G97)R;W(H8G5F*3L**PD)"0DO*B!I;G0@<V5R
| M<FYO(#T@97)R;F\[("HO("\J(%A86"!5<V5L97-S/R`J+PHK"0D)"6QO9V5R
| M<F]R*")R96-V9G)O;2!U;FEX("5S(BP@*G!P*3L*(`D)"7T*(`D)?0H@"0EI
| M9B`H9FEN970@)B8@(5-E8W5R94UO9&4I('L*(`D)"69O<B`H:B`](#`[(&H@
| M/"`J9FEN970[(&HK*RD@>PI`0"`M.3@Y+#0P("LQ,#<Y+#8Q($!`"B`O*@H@
| M("H@4')I;G0@<WES;&]G9"!E<G)O<G,@<V]M92!P;&%C92X*("`J+PH@=F]I
| M9`HM;&]G97)R;W(H='EP92D*+0EC:&%R("IT>7!E.PHK;&]G97)R;W(H8V]N
| M<W0@8VAA<B`J9FUT+"`N+BXI"B!["BL)=F%?;&ES="!A<#L**PEC:&%R('1M
| M<&)U9ELQ,#!=.PH@"6-H87(@8G5F6S$P,%T["B`**R-I9F1E9B!?7U-41$-?
| M7PHK"79A7W-T87)T*&%P+"!F;70I.PHK(V5L<V4**PEV85]S=&%R="AA<"D[
| M"BLC96YD:68**PHK"2AV;VED*79S;G!R:6YT9BAT;7!B=68L('-I>F5O9BAT
| M;7!B=68I+"!F;70L(&%P*3L**PHK"79A7V5N9"AA<"D["BL*(`EI9B`H97)R
| M;F\I"BT)"2AV;VED*7-N<')I;G1F*&)U9BP*+0D)("`@('-I>F5O9BAB=68I
| M+"`B<WES;&]G9#H@)7,Z("5S(BP@='EP92P@<W1R97)R;W(H97)R;F\I*3L*
| M*PD)*'9O:60I<VYP<FEN=&8H8G5F+"!S:7IE;V8H8G5F*2P@(G-Y<VQO9V0Z
| M("5S.B`E<R(L(`HK"0D@("`@=&UP8G5F+"!S=')E<G)O<BAE<G)N;RDI.PH@
| M"65L<V4*+0D)*'9O:60I<VYP<FEN=&8H8G5F+"!S:7IE;V8H8G5F*2P@(G-Y
| M<VQO9V0Z("5S(BP@='EP92D["BL)"2AV;VED*7-N<')I;G1F*&)U9BP@<VEZ
| M96]F*&)U9BDL(")S>7-L;V=D.B`E<R(L('1M<&)U9BD["BL*(`EE<G)N;R`]
| M(#`["BT)9'!R:6YT9B@B)7-<;B(L(&)U9BD["BT);&]G;7-G*$Q/1U]365-,
| M3T=\3$]'7T524BP@8G5F+"!,;V-A;$AO<W1.86UE+"!!1$1$051%*3L**PHK
| M"6EF("AD865M;VYI>F5D*2`**PD);&]G;7-G*$Q/1U]365-,3T=\3$]'7T52
| M4BP@8G5F+"!,;V-A;$AO<W1.86UE+"!!1$1$051%*3L**PEI9B`H(61A96UO
| M;FEZ960@)B8@1&5B=6<I"BL)"61P<FEN=&8H(B5S7&XB+"!B=68I.PHK"6EF
| M("@A9&%E;6]N:7IE9"`F)B`A1&5B=6<I"BL)"7!R:6YT9B@B)7-<;B(L(&)U
| M9BD["BL**PER971U<FX["B!]"B`*('9O:60*(&1I92AS:6=N;RD*(`EI;G0@
| M<VEG;F\["B+RH@9FQU<V@@86YY('!E;F1I;F<@
| M;W5T<'5T("HO"B`)"6EF("AF+3YF7W!R979C;W5N="D*(`D)"69P<FEN=&QO
| M9RAF+"`P+"`H8VAA<B`J*4Y53$PI.PH@"7T*(`EI9B`H<VEG;F\I('L*(`D)
| M9'!R:6YT9B@B<WES;&]G9#H@97AI=&EN9R!O;B!S:6=N86P@)61<;B(L('-I
| M9VYO*3L*+0D)*'9O:60I<VYP<FEN=&8H8G5F+"!S:7IE;V8@8G5F+"`B97AI
| M=&EN9R!O;B!S:6=N86P@)60B+"!S:6=N;RD["BL)"65R<FYO(#T@,#L**PD)
| M;&]G97)R;W(H(G-Y<VQO9V0Z(&5X:71I;F<@;VX@<VEG;F%L("5D7&XB+"!S
| M:6=N;RD["BL)?2!E;'-E('L*(`D)97)R;F\@/2`P.PHM"0EL;V=E<G)O<BAB
| M=68I.PHK"0EL;V=E<G)O<B@B9F%T86P@97)R;W(L(&5X:71T:6YG(BD["B`)
| M?0H@"69O<B`H<"`]($QO9U!A=&AS.R!P("8F("IP.R!P*RLI"B`)"75N;&EN
| M:R@J<"D["B`)97AI="@P*3L*0$`@+3$Q.#,L.2`K,3(Y-"PY($!`"B!["B`)
| M<W1R=6-T(&%D9')I;F9O(&AI;G1S+"`J<F5S.PH@"6EN="`@("!E<G)O<BP@
| M:2P@<')I.PH@"6-H87(@("`J8G`L("IP+"`J<3L*+0EC:&%R("`@8G5F6TU!
| M6$Q)3D5=+"!E8G5F6S$P,%T["BL)8VAA<B`@(&)U9EM-05A,24Y%73L*(`H@
| M"61P<FEN=&8H(F-F;&EN92@E<RE<;B(L(&QI;F4I.PH@"B`)97)R;F\@/2`P
| M.PDO*B!K965P('-T<F5R<F]R*"D@<W1U9F8@;W5T(&]F(&QO9V5R<F]R(&UE
| M<W-A9V5S("HO"D!`("TQ,3DS+#@@*S$S,#0L-30@0$`*(`DO*B!C;&5A<B!O
| M=70@9FEL92!E;G1R>2`J+PH@"6UE;7-E="AF+"`P+"!S:7IE;V8H*F8I*3L*
| M(`EF;W(@*&D@/2`P.R!I(#P]($Q/1U].1D%#24Q)5$E%4SL@:2LK*0H@"0EF
| M+3YF7W!M87-K6VE=(#T@24Y415).04Q?3D]04DD["BL)"BL)+RH@"BL)("H@
| M5&AE<F4@<VAO=6QD(&YO="!B92!A;GD@<W!A8V4@8F5F;W)E('1H92!L;V=G
| M:6YG(&9A8VEL:71Y+@HK"2`J($-H96-K('1H:7,@:7,@;VMA>2P@8V]M<&QA
| M:6X@86YD(&9I>"!I9B!I="!I<R!N;W0N"BL)("HO"BL)<2`](&QI;F4["BL)
| M=VAI;&4@*"IQ("8F(&ES8FQA;FLH*G$I*2`**PD)<2LK.PHK"2\J('$@:7,@
| M870@=&AE(&9I<G-T(&-H87(@;V8@=&AE(&QO9V=I;F<@9F%C:6QI='D@*B\*
| M*PEI9B`H*G$@)B8@*"HH<2`M(#$I(#T]("<@)RDI('L**PD);&]G97)R;W(H
| M"BL)"2`@("`B5V%R;FEN9SH@7"(E<UPB('-P86-E(&)E9F]R92!T:&4@;&]G
| M9VEN9R!F86-I;&ET>2(L"BL)"2`@("!L:6YE*3L**PD)+RH@1FEX.B!S=')I
| M<"!A;&P@<W!A8V5S+W1A8G,@8F5F;W)E('1H92!L;V=G:6YG(&9A8VEL:71Y
| M("HO"BL)"6QI;F4@/2!Q.R`**PE]"BL**PDO*B`**PD@*B!4:&5R92!S:&]U
| M;&0@8F4@870@;&5A<W0@;VYE('1A8B!A9G1E<B!T:&4@;&]G9VEN9R!F86-I
| M;&ET>2`**PD@*B!#:&5C:R!T:&ES(&ES(&]K87DL(&%N9"!C;VUP;&%I;B!A
| M;F0@9FEX(&EF(&ET(&ES(&YO="X**PD@*B\**PEQ(#T@;&EN92`K('-T<FQE
| M;BAL:6YE*3L**PEW:&EL92`H(6ES8FQA;FLH*G$I("8F("AQ("$](&QI;F4I
| M*0HK"0EQ+2T["BL):68@*"AQ(#T](&QI;F4I("8F('-T<FQE;BAL:6YE*2D@
| M>R`**PD)+RH@3F\@=&%B<R!O<B!S<&%C92!I;B!A(&YO;B!E;7!T>2!L:6YE
| M.B!C;VUP;&%I;B`J+PHK"0EL;V=E<G)O<B@**PD)("`@(")%<G)O<CH@7"(E
| M<UPB(&QO9V=I;F<@9F%C:6QI='D@;W(@;&]G('1A<F=E="!M:7-S:6YG(BP*
| M*PD)("`@(&QI;F4I.PHK"7T**PD**PDO*B!Q(&ES(&%T('1H92!E;F0@;V8@
| M=&AE(&)L86YK(&)E='=E96X@=&AE('1W;R!F:65L9',@*B\**PEW:&EL92`H
| M:7-B;&%N:R@J<2D@)B8@*'$@(3T@;&EN92DI"BL)"7$M+3L**PHK"2\J('$@
| M:7,@870@=&AE(&)E9VEN;FEN9R!O9B!T:&4@8FQA;FL@8F5T=V5E;B!T:&4@
| M='=O(&9I96QD<R`J+PHK"6EF("@J*'$@*R`Q*2`]/2`G("<I('L@"BL)"2\J
| M($QO9V=I;F<@9F%C:6QI='D@:7,@9F]L;&]W960@8GD@82!S<&%C93H@8V]M
| M<&QA:6XN+BX@*B\**PD);&]G97)R;W(H"BL)"2`@("`B5V%R;FEN9SH@7"(E
| M<UPB(&QO9V=I;F<@9F%C:6QI='D@;F]T(&9O;&QO=V5D(&)Y(&$@=&%B(BP*
| M*PD)("`@(&QI;F4I.PHK"0DO*B`N+BX@86YD(&9I>"!T:&4@<')O8FQE;3H@
| M<F5P;&%C92!A;&P@<W!A8V5S(&)Y('1A8G,@*B\**PD)9F]R("@[("IQ.R!Q
| M*RLI"BL)"0EI9B`H*G$@/3T@)R`G*0HK"0D)"2IQ/2=<="<["0HK"7T*(`H@
| M"2\J('-C86X@=&AR;W5G:"!T:&4@;&ES="!O9B!S96QE8W1O<G,@*B\*(`EF
| M;W(@*'`@/2!L:6YE.R`J<"`F)B`J<"`A/2`G7'0G.RD@>PH@"D!`("TQ,C$V
| M+#$Q("LQ,S<S+#D@0$`*(`D)"7!R:2`]($Q/1U]04DE-05-+("L@,3L*(`D)
| M96QS92!["B`)"0EP<FD@/2!D96-O9&4H8G5F+"!P<FEO<FET>6YA;65S*3L*
| M(`D)"6EF("AP<FD@/"`P*2!["BT)"0D)*'9O:60I<VYP<FEN=&8H96)U9BP@
| M<VEZ96]F(&5B=68L"BT)"0D)("`@(")U;FMN;W=N('!R:6]R:71Y(&YA;64@
| M7"(E<UPB(BP@8G5F*3L*+0D)"0EL;V=E<G)O<BAE8G5F*3L**PD)"0EL;V=E
| M<G)O<B@B=6YK;F]W;B!P<FEO<FET>2!N86UE(%PB)7-<(B(L(&)U9BD["B`)
| M"0D)<F5T=7)N.PH@"0D)?0H@"0E]"B`*0$`@+3$R,S0L,3(@*S$S.#DL,3`@
| M0$`*(`D)"0D)9BT^9E]P;6%S:UMI72`]('!R:3L*(`D)"65L<V4@>PH@"0D)
| M"6D@/2!D96-O9&4H8G5F+"!F86-I;&ET>6YA;65S*3L*(`D)"0EI9B`H:2`\
| M(#`I('L*+0D)"0D)*'9O:60I<VYP<FEN=&8H96)U9BP@<VEZ96]F(&5B=68L
| M"BT)"0D)"2`@("`B=6YK;F]W;B!F86-I;&ET>2!N86UE(%PB)7-<(B(L"BL)
| M"0D)"6QO9V5R<F]R*")U;FMN;W=N(&9A8VEL:71Y(&YA;64@7"(E<UPB(BP*
| M(`D)"0D)("`@(&)U9BD["BT)"0D)"6QO9V5R<F]R*&5B=68I.PH@"0D)"0ER
| M971U<FX["B`)"0D)?0H@"0D)"68M/F9?<&UA<VM;:2`^/B`S72`]('!R:3L*
| &(`D)"7T*
| `
| end
|
|
| --
| Emmanuel Dreyfus
| manu@netbsd.org
-- End of excerpt from Emmanuel Dreyfus
From: manu@netbsd.org (Emmanuel Dreyfus)
To: christos@zoulas.com (Christos Zoulas), gnats-bugs@netbsd.org,
ljt@alum.mit.edu
Cc:
Subject: Re: bin/13400
Date: Sat, 14 Jul 2001 19:44:52 +0200
> 1. the ({u,g}id_t)strtol() should be replaced with strtoul() since you
> are casting to unsigned types.
> 2. isdigit((unsigned char)*user) so that you don't index the ctypes array
> with a negative index.
I picked this code section from usr.sbin/chroot/chroot.c, so we need to
fix it too. The same kind of problems exists also in named and several
other programs.
> 3. "no such user %s" -> "No such user `%s'"
> 4. Use BUFSIZ or 1024 as the buffer size in tmpbuf. Memory is cheap these days
Hem... NetBSD also runs on old hardware with not that much memory. It's
even a point where we are better than others: on i386 or mac68k, we can
boot the generic kernel with 5MB of memory.
Do we really want to throw 1kB of memory where just 100 bytes will do
it? After all we won't have very long error message, since they are
supposed to fit on a line, and a line is supposed to be 80 character
long.
> 5. Shouldn't some of the dprintf's in the main code be removed since logerror
> deals with it properly?
I only found 2 dprintf that could go away (there is a logerr just after
or before it with the same message): in die() and at the very end of
init().
> 6. There is no issue about clearing the errno in logerror. calling
> logmsg/dprintf/printf will trash it anyway because it will be doing
> syscalls. What logerror should do is:
> {
> int serrno = errno;
> ...
> errno = serrno;
> }
> so that the wrapper code does not have to deal with it.
> This way the code that does explicitly 'errno = 0;' before calling logerror
> will still work, and we can remove the responsibility of saving the errno
> from the caller.
If we remove all unnecessary dprintf, we don't need to save errno
anywhere.
> 7. The #ifdef __STDC__'s should be removed, since the code does not
> compile with a non ansi compiler.
I picked this from usr.bin/altq/altqd/libatq2.c
Do we need to modify altq too, or do we forget about it since it's an
"external" program?
--
Emmanuel Dreyfus
- Quel est le meilleur moyen d'accelerer un PC?
- 9,81 m/s^2
manu@netbsd.org
From: christos@zoulas.com (Christos Zoulas)
To: manu@netbsd.org (Emmanuel Dreyfus), gnats-bugs@netbsd.org,
ljt@alum.mit.edu
Cc:
Subject: Re: bin/13400
Date: Sat, 14 Jul 2001 14:11:41 -0400
On Jul 14, 7:44pm, manu@netbsd.org (Emmanuel Dreyfus) wrote:
-- Subject: Re: bin/13400
| Do we really want to throw 1kB of memory where just 100 bytes will do
| it? After all we won't have very long error message, since they are
| supposed to fit on a line, and a line is supposed to be 80 character
| long.
It's only on the stack, costs nothing.
| I only found 2 dprintf that could go away (there is a logerr just after
| or before it with the same message): in die() and at the very end of
| init().
ok.
| If we remove all unnecessary dprintf, we don't need to save errno
| anywhere.
sounds good.
| > 7. The #ifdef __STDC__'s should be removed, since the code does not
| > compile with a non ansi compiler.
|
| I picked this from usr.bin/altq/altqd/libatq2.c
| Do we need to modify altq too, or do we forget about it since it's an
| "external" program?
Well, if the code *can* compile on a non ansi environment and it is an
external program, we should leave it alone.
The code in syslogd would never compile in a non ansi environment because
it only has the ellipsis varyadic declaration, not the:
void foo(va_decl) va_alist {
christos
From: manu@netbsd.org (Emmanuel Dreyfus)
To: gnats-bugs@netbsd.org, christos@zoulas.com, ljt@alum.mit.edu
Cc:
Subject: bin/13400
Date: Sat, 14 Jul 2001 23:46:58 +0200
Here is the latest patch to syslogd. Opinions?
begin 644 syslogd.patch
M/R!S>7-L;V=D"C\@<WES;&]G9"YC870X"C\@<WES;&]G+F-O;F8N8V%T-0I)
M;F1E>#H@<WES;&]G9"XX"CT]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T*4D-3(&9I
M;&4Z("]C=G-R;V]T+V)A<V5S<F,O=7-R+G-B:6XO<WES;&]G9"]S>7-L;V=D
M+C@L=@IR971R:65V:6YG(')E=FES:6]N(#$N,C`*9&EF9B`M530@+7(Q+C(P
M('-Y<VQO9V0N.`HM+2T@<WES;&]G9"XX"3(P,#$O,#4O,#,@,38Z-#4Z,#$)
M,2XR,`HK*RL@<WES;&]G9"XX"3(P,#$O,#<O,30@,C$Z-#,Z,SD*0$`@+30U
M+#@@*S0U+#$W($!`"B`N0FL@+7=O<F1S"B`N3W`@1FP@9B!!<B!C;VYF:6=?
M9FEL90H@+D5K"B`N0FL@+7=O<F1S"BLN3W`@1FP@=2!!<B!U<V5R"BLN16L*
M*RY":R`M=V]R9',**RY/<"!&;"!G($%R('5S97(**RY%:PHK+D)K("UW;W)D
M<PHK+D]P($9L('0@07(@8VAR;V]T7V1I<@HK+D5K"BLN0FL@+7=O<F1S"B`N
M3W`@1FP@;2!!<B!M87)K7VEN=&5R=F%L"B`N16L*("Y":R`M=V]R9',*("Y/
M<"!&;"!0($%R(&9I;&5?;&ES=`I`0"`M-CDL."`K-S@L,C$@0$`*("Y)="!&
M;"!F"B!3<&5C:69Y('1H92!P871H;F%M92!O9B!A;B!A;'1E<FYA=&EV92!C
M;VYF:6=U<F%T:6]N(&9I;&4["B!T:&4@9&5F875L="!I<PH@+E!A("]E=&,O
M<WES;&]G+F-O;F8@+@HK+DET($9L('4@07(@=7-E<@HK4V5T(%5)1"!T;R`*
M*RY!<B!U<V5R(`HK869T97(@=&AE('-O8VME=',@86YD(&QO9R!F:6QE<R!H
M879E(&)E96X@;W!E;BX**RY)="!&;"!G($%R(&=R;W5P"BM3970@1TE$('1O
M(`HK+D%R(&=R;W5P(`HK869T97(@=&AE('-O8VME=',@86YD(&QO9R!F:6QE
M<R!H879E(&)E96X@;W!E;BX**RY)="!&;"!T($%R(&-H<F]O=%]D:7(**RY8
M<B!C:')O;W0@,@HK=&\**RY!<B!C:')O;W1?9&ER"BMA9G1E<B!T:&4@<V]C
M:V5T<R!A;F0@;&]G(&9I;&5S(`EH879E(&)E96X@;W!E;BX*("Y)="!&;"!M
M"B!396QE8W0@=&AE(&YU;6)E<B!O9B!M:6YU=&5S(&)E='=E96X@8&!M87)K
M)R<@;65S<V%G97,["B!T:&4@9&5F875L="!I<R`R,"!M:6YU=&5S+@H@+DET
M($9L(',*26YD97@Z('-Y<VQO9V0N8PH]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M"E)#4R!F:6QE.B`O8W9S<F]O="]B87-E<W)C+W5S<BYS8FEN+W-Y<VQO9V0O
M<WES;&]G9"YC+'8*<F5T<FEE=FEN9R!R979I<VEO;B`Q+C0T"F1I9F8@+54T
M("UR,2XT-"!S>7-L;V=D+F,*+2TM('-Y<VQO9V0N8PDR,#`Q+S`S+S(Q(#$W
M.C`R.C0S"3$N-#0**RLK('-Y<VQO9V0N8PDR,#`Q+S`W+S$T(#(Q.C0S.C0Q
M"D!`("TQ,#0L."`K,3`T+#$Q($!`"B`C:6YC;'5D92`\<W1R:6YG+F@^"B`C
M:6YC;'5D92`\=6YI<W1D+F@^"B`C:6YC;'5D92`\=71M<"YH/@H@(VEN8VQU
M9&4@/'5T:6PN:#X**R-I;F-L=61E(#QP=V0N:#X**R-I;F-L=61E(#QG<G`N
M:#X**R-I;F-L=61E(#QS=&1A<F<N:#X*("-I;F-L=61E(")P871H;F%M97,N
M:"(*(`H@(V1E9FEN92!365-,3T=?3D%-15,*("-I;F-L=61E(#QS>7,O<WES
M;&]G+F@^"D!`("TQ.#4L."`K,3@X+#D@0$`*('-T<G5C=`EF:6QE9"`J1FEL
M97,["B!S=')U8W0)9FEL960@8V]N<V9I;&4["B`*(&EN=`E$96)U9SL)"0DO
M*B!D96)U9R!F;&%G("HO"BMI;G0)9&%E;6]N:7IE9"`](#`["0DO*B!W92!A
M<F4@;F]T(&1A96UO;FEZ960@>65T("HO"B!C:&%R"4QO8V%L2&]S=$YA;65;
M34%82$]35$Y!345,14XK,5T["2\J(&]U<B!H;W-T;F%M92`J+PH@8VAA<@DJ
M3&]C86Q$;VUA:6X["0DO*B!O=7(@;&]C86P@9&]M86EN(&YA;64@*B\*(&EN
M=`DJ9FEN970@/2!.54Q,.PD)"2\J($EN=&5R;F5T(&1A=&%G<F%M('-O8VME
M=',@*B\*(&EN=`E);FET:6%L:7IE9"`](#`["2\J('-E="!W:&5N('=E(&AA
M=F4@:6YI=&EA;&EZ960@;W5R<V5L=F5S("HO"D!`("TR,#0L.2`K,C`X+#D@
M0$`*('9O:60)9G!R:6YT;&]G(%]?4"@H<W1R=6-T(&9I;&5D("HL(&EN="P@
M8VAA<B`J*2D["B!I;G0)9V5T;7-G8G5F<VEZ92!?7U`H*'9O:60I*3L*(&EN
M="H)<V]C:W-E='5P(%]?4"@H:6YT*2D["B!V;VED"6EN:70@7U]0*"AI;G0I
M*3L*+79O:60);&]G97)R;W(@7U]0*"AC:&%R("HI*3L**W9O:60);&]G97)R
M;W(@7U]0*"AC;VYS="!C:&%R("HL("XN+BDI.PH@=F]I9`EL;V=M<V<@7U]0
M*"AI;G0L(&-H87(@*BP@8VAA<B`J+"!I;G0I*3L*('9O:60)<')I;G1L:6YE
M(%]?4"@H8VAA<B`J+"!C:&%R("HI*3L*('9O:60)<')I;G1S>7,@7U]0*"AC
M:&%R("HI*3L*('9O:60)<F5A<&-H:6QD(%]?4"@H:6YT*2D["D!`("TR,C<L
M,3,@*S(S,2PS-R!`0`H@"7-T<G5C="!S;V-K861D<E]U;B!S=6YX+"!F<F]M
M=6YI>#L*(`ES=')U8W0@<V]C:V%D9')?<W1O<F%G92!F<F]M:6YE=#L*(`EC
M:&%R("IP+"`J;&EN92P@*BIP<#L*(`ES=')U8W0@<&]L;&9D("IR96%D9F1S
M.PHK"75I9%]T('5I9"`](#`["BL)9VED7W0@9VED(#T@,#L**PEC:&%R("IU
M<V5R(#T@3E5,3#L**PEC:&%R("IG<F]U<"`]($Y53$P["BL)8VAA<B`J<F]O
M="`]("(O(CL**PEC:&%R("IE;F1P.PHK"7-T<G5C="!G<F]U<"`@("IG<CL*
M*PES=')U8W0@<&%S<W=D("`J<'<["BL)"B`*(`DH=F]I9"ES971L;V-A;&4H
M3$-?04Q,+"`B(BD["B`*+0EW:&EL92`H*&-H(#T@9V5T;W!T*&%R9V,L(&%R
M9W8L(")D<V8Z;3IP.E`Z(BDI("$]("TQ*0HK"7=H:6QE("@H8V@@/2!G971O
M<'0H87)G8RP@87)G=BP@(F1S9CIM.G`Z4#IU.F<Z=#HB*2D@(3T@+3$I"B`)
M"7-W:71C:"AC:"D@>PHK"0EC87-E("=U)SH**PD)"75S97(@/2!O<'1A<F<[
M"BL)"0EI9B`H*G5S97(@/3T@)UPP)RD**PD)"0EU<V%G92@I.PHK"0D)8G)E
M86L["BL)"6-A<V4@)V<G.@HK"0D)9W)O=7`@/2!O<'1A<F<["BL)"0EI9B`H
M*F=R;W5P(#T]("=<,"<I"BL)"0D)=7-A9V4H*3L**PD)"6)R96%K.PHK"0EC
M87-E("=T)SH**PD)"7)O;W0@/2!O<'1A<F<["BL)"0EI9B`H*G)O;W0@/3T@
M)UPP)RD**PD)"0EU<V%G92@I.PHK"0D)8G)E86L["B`)"6-A<V4@)V0G.@D)
M+RH@9&5B=6<@*B\*(`D)"41E8G5G*RL["B`)"0EB<F5A:SL*(`D)8V%S92`G
M9B<Z"0DO*B!C;VYF:6=U<F%T:6]N(&9I;&4@*B\*0$`@+3(U.2PQ,R`K,C@W
M+#0Y($!`"B`)"7T*(`EI9B`H*&%R9V,@+3T@;W!T:6YD*2`A/2`P*0H@"0EU
M<V%G92@I.PH@"BT):68@*"%$96)U9RD*+0D)*'9O:60I9&%E;6]N*#`L(#`I
M.PHM"65L<V4*+0D)<V5T;&EN96)U9BAS=&1O=70I.PHK"7-E=&QI;F5B=68H
M<W1D;W5T*3L*(`HK"6EF("AU<V5R("$]($Y53$PI('L**PD):68@*&ES9&EG
M:70H*'5N<VEG;F5D(&-H87(I*G5S97(I*2!["BL)"0EU:60@/2`H=6ED7W0I
M<W1R=&]U;"AU<V5R+"`F96YD<"P@,"D["BL)"0EI9B`H*F5N9'`@(3T@)UPP
M)RD**PD@("`@"0EG;W1O(&=E='5S97(["BL)"7T@96QS92
M"0D)=6ED(#T@<'<M/G!W7W5I9#L**PD)"7T@96QS92"0EL;V=E<G)O<B@B0V%N;F]T(&9I;F0@=7-E
M<B!@)7,G(BP@=7-E<BD["BL)"0D)9&EE("@P*3L**PD)"7T**PD)?0HK"7T*
M*PHK"6EF("AG<F]U<"`A/2!.54Q,*2!["BL)"6EF("AI<V1I9VET*"AU;G-I
M9VYE9"!C:&%R*2IG<F]U<"DI('L**PD)"6=I9"`]("AG:61?="ES=')T;W5L
M*&=R;W5P+"`F96YD<"P@,"D["BL)"0EI9B`H*F5N9'`@(3T@)UPP)RD**PD@
M("`@"0EG;W1O(&=E=&=R;W5P.PHK"0E](&5L<V4@>PHK9V5T9W)O=7`Z"BL)
M"0EI9B`H*&=R(#T@9V5T9W)N86TH9W)O=7`I*2`A/2!.54Q,*2!["BL)"0D)
M9VED(#T@9W(M/F=R7V=I9#L**PD)"7T@96QS92!["BL)"0D)97)R;F\@/2`P
M.PHK"0D)"6QO9V5R<F]R*")#86YN;W0@9FEN9"!G<F]U<"!@)7,G(BP@9W)O
M=7`I.PHK"0D)"61I92@P*3L**PD)"7T**PD)?0HK"7T**PHK"6EF("AA8V-E
M<W,@*')O;W0L($9?3TL@?"!27T]+*2D@>PHK"0EL;V=E<G)O<B`H(D-A;FYO
M="!A8V-E<W,@8"5S)R(L(')O;W0I.PHK"0ED:64@*#`I.PHK"7T**PH@"6-O
M;G-F:6QE+F9?='EP92`]($9?0T].4T],13L*(`DH=F]I9"ES=')C<'DH8V]N
M<V9I;&4N9E]U;BYF7V9N86UE+"!C='1Y*3L*(`DH=F]I9"EG971H;W-T;F%M
M92A,;V-A;$AO<W1.86UE+"!S:7IE;V8H3&]C86Q(;W-T3F%M92DI.PH@"4QO
M8V%L2&]S=$YA;65;<VEZ96]F*$QO8V%L2&]S=$YA;64I("T@,5T@/2`G7#`G
M.PI`0"`M,S$P+#$U("LS-S0L.2!`0`H@"0EF=6YI>%MJ72`]('-O8VME="A!
M1E],3T-!3"P@4T]#2U]$1U)!32P@,"D["B`)"6EF("AF=6YI>%MJ72`\(#`@
M?'P@8FEN9"AF=6YI>%MJ72P*(`D)("`@("AS=')U8W0@<V]C:V%D9'(@*BDF
M<W5N>"P@4U5.7TQ%3B@F<W5N>"DI(#P@,"!\?`H@"0D@("`@8VAM;V0H*G!P
M+"`P-C8V*2`\(#`I('L*+0D)"6EN="!S97)R;F\@/2!E<G)N;SL*+0D)"2AV
M;VED*7-N<')I;G1F*&QI;F4L('-I>F5O9B!L:6YE+`HM"0D)("`@(")C86YN
M;W0@8W)E871E("5S(BP@*G!P*3L*+0D)"65R<FYO(#T@<V5R<FYO.PHM"0D)
M;&]G97)R;W(H;&EN92D["BT)"0EE<G)N;R`]('-E<G)N;SL*+0D)"61P<FEN
M=&8H(F-A;FYO="!C<F5A=&4@)7,@*"5D*5QN(BP@*G!P+"!E<G)N;RD["BL)
M"0EL;V=E<G)O<B@B8V%N;F]T(&-R96%T92`E<R(L("IP<"D["B`)"0ED:64H
M,"D["B`)"7T*(`D)9'!R:6YT9B@B;&ES=&5N:6YG(&]N('5N:7@@9&=R86T@
M<V]C:V5T("5S7&XB+"`J<'`I.PH@"7T*0$`@+3,V-2PX("LT,C,L,S@@0$`*
M(`D)<F5A9&9D<UMN9F1S72YF9"`](&9U;FEX6VHK*UT["B`)"7)E861F9'-;
M;F9D<RLK72YE=F5N=',@/2!03TQ,24X@?"!03TQ,4%)).PH@"7T*(`HK"2\J
M(`HK"2`J($%L;"!F:6QE<R!A<F4@;W!E;BP@=V4@8V%N(&1R;W`@<')I=FEL
M96=E<R!A;F0@8VAR;V]T"BL)("HO"BL)9'!R:6YT9B`H(F%T=&5M<'0@=&\@
M8VAR;V]T('1O("5S7&XB+"!R;V]T*3L@(`HK"6EF("AC:')O;W0@*')O;W0I
M*2!["BL)"6QO9V5R<F]R("@B9F%I;&5D('1O(&-H<F]O="!T;R`E<R(L(')O
M;W0I.PHK"0ED:64H,"D["BL)?0HK"61P<FEN=&8@*")A='1E;7!T('1O('-E
M="!'240O14=)1"!T;R`E9%QN(BP@9VED*3L@(`HK"6EF("AS971G:60@*&=I
M9"D@?'P@<V5T96=I9"`H9VED*2D@>PHK"0EL;V=E<G)O<B`H(F9A:6QE9"!T
M;R!S970@9VED('1O("5D(BP@9VED*3L**PD)9&EE*#`I.PHK"7T**PED<')I
M;G1F("@B871T96UP="!T;R!S970@54E$+T55240@=&\@)61<;B(L('5I9"D[
M("`**PEI9B`H<V5T=6ED("AU:60I('Q\('-E=&5U:60@*'5I9"DI('L**PD)
M;&]G97)R;W(@*")F86EL960@=&\@<V5T('5I9"!T;R`E9"(L('5I9"D["BL)
M"61I92@P*3L**PE]"BL**PDO*B`**PD@*B!792!C86YN;W0@9&5T86-H(&9R
M;VT@=&AE('1E<FUI;F%L(&)E9F]R92!W92!A<F4@<W5R92!W92!W;VXG="`*
M*PD@*B!H879E(&$@9F%T86P@97)R;W(L(&)E8V%U<V4@97)R;W(@;65S<V%G
M92!W;W5L9"!N;W0@9V\@=&\@=&AE"BL)("H@=&5R;6EN86P@86YD('=O=6QD
M(&YO="!B92!L;V=G960@8F5C875S92!S>7-L;V=D(&1I97,N(`HK"2`J($%L
M;"!D:64H*2!C86QL<R!A<F4@8F5H:6YD('5S+"!W92!C86X@8V%L;"!D865M
M;VXH*0HK"2`J+PHK"6EF("@A1&5B=6<I('L**PD)*'9O:60I9&%E;6]N*#`L
M(#`I.PHK"0ED865M;VYI>F5D(#T@,3L**PE]"BL*(`EF;W(@*#L[*2"6EF("AI(#X@,"D@>PH@"0D)
M"6QI;F5;:5T@/2`G7#`G.PH@"0D)"7!R:6YT;&EN92A,;V-A;$AO<W1.86UE
M+"!L:6YE*3L*(`D)"7T@96QS92!I9B`H:2`\(#`@)B8@97)R;F\@(3T@14E.
M5%(I('L*+0D)"0EC:&%R(&)U9EM-05A0051(3$5.73L*+0D)"0EI;G0@<V5R
M<FYO(#T@97)R;F\["BT*+0D)"0DH=F]I9"ES;G!R:6YT9BAB=68L('-I>F5O
M9B!B=68L"BT)"0D)("`@(")R96-V9G)O;2!U;FEX("5S(BP@*G!P*3L*+0D)
M"0EE<G)N;R`]('-E<G)N;SL*+0D)"0EL;V=E<G)O<BAB=68I.PHK"0D)"6QO
M9V5R<F]R*")R96-V9G)O;2!U;FEX("5S(BP@*G!P*3L*(`D)"7T*(`D)?0H@
M"0EI9B`H9FEN970@)B8@(5-E8W5R94UO9&4I('L*(`D)"69O<B`H:B`](#`[
M(&H@/"`J9FEN970[(&HK*RD@>PI`0"`M-#@W+#$S("LU-CDL.2!`0`H@"7-I
M>F5?="!L96X["B`*(`EF<"`](&9O<&5N*&9I;&4L(")R(BD["B`):68@*&9P
M(#T]($Y53$PI('L*+0D):6YT('-E<G)N;R`](&5R<FYO.PHM"BT)"61P<FEN
M=&8H(F-A;B=T(&]P96X@)7,@*"5D*5QN(BP@9FEL92P@97)R;F\I.PHM"0EE
M<G)N;R`]('-E<G)N;SL*+0D);&]G97)R;W(H(F-O=6QD(&YO="!O<&5N('-O
M8VME="!F:6QE(&QI<W0B*3L**PD);&]G97)R;W(H(F-O=6QD(&YO="!O<&5N
M('-O8VME="!F:6QE(&QI<W0@8"5S)R(L(&9I;&4I.PH@"0ED:64H,"D["B`)
M?0H@"B`)=VAI;&4@*"AL:6YE(#T@9F=E=&QN*&9P+"`F;&5N*2DI('L*0$`@
M+3DX.2PT,2`K,3`V-RPU,R!`0`H@+RH*("`J(%!R:6YT('-Y<VQO9V0@97)R
M;W)S('-O;64@<&QA8V4N"B`@*B\*('9O:60*+6QO9V5R<F]R*'1Y<&4I"BT)
M8VAA<B`J='EP93L**VQO9V5R<F]R*&-O;G-T(&-H87(@*F9M="P@+BXN*0H@
M>PHM"6-H87(@8G5F6S$P,%T["BL)=F%?;&ES="!A<#L**PEC:&%R('1M<&)U
M9EM"549325I=.PHK"6-H87(@8G5F6T)51E-)6ET["BL**PEV85]S=&%R="AA
M<"P@9FUT*3L**PHK"2AV;VED*79S;G!R:6YT9BAT;7!B=68L('-I>F5O9BAT
M;7!B=68I+"!F;70L(&%P*3L**PHK"79A7V5N9"AA<"D["B`*(`EI9B`H97)R
M;F\I"BT)"2AV;VED*7-N<')I;G1F*&)U9BP*+0D)("`@('-I>F5O9BAB=68I
M+"`B<WES;&]G9#H@)7,Z("5S(BP@='EP92P@<W1R97)R;W(H97)R;F\I*3L*
M*PD)*'9O:60I<VYP<FEN=&8H8G5F+"!S:7IE;V8H8G5F*2P@(G-Y<VQO9V0Z
M("5S.B`E<R(L(`HK"0D@("`@=&UP8G5F+"!S=')E<G)O<BAE<G)N;RDI.PH@
M"65L<V4*+0D)*'9O:60I<VYP<FEN=&8H8G5F+"!S:7IE;V8H8G5F*2P@(G-Y
M<VQO9V0Z("5S(BP@='EP92D["BT)97)R;F\@/2`P.PHM"61P<FEN=&8H(B5S
M7&XB+"!B=68I.PHM"6QO9VUS9RA,3T=?4UE33$]'?$Q/1U]%4E(L(&)U9BP@
M3&]C86Q(;W-T3F%M92P@041$1$%412D["BL)"2AV;VED*7-N<')I;G1F*&)U
M9BP@<VEZ96]F*&)U9BDL(")S>7-L;V=D.B`E<R(L('1M<&)U9BD["BL**PEI
M9B`H9&%E;6]N:7IE9"D@"BL)"6QO9VUS9RA,3T=?4UE33$]'?$Q/1U]%4E(L
M(&)U9BP@3&]C86Q(;W-T3F%M92P@041$1$%412D["BL):68@*"%D865M;VYI
M>F5D("8F($1E8G5G*0HK"0ED<')I;G1F*"(E<UQN(BP@8G5F*3L**PEI9B`H
M(61A96UO;FEZ960@)B8@(41E8G5G*0HK"0EP<FEN=&8H(B5S7&XB+"!B=68I
M.PHK"BL)<F5T=7)N.PH@?0H@"B!V;VED"B!D:64H<VEG;F\I"B`):6YT('-I
M9VYO.PH@>PH@"7-T<G5C="!F:6QE9"`J9CL*+0EC:&%R(&)U9ELQ,#!=+"`J
M*G`["BL)8VAA<B`J*G`["B`*(`EF;W(@*&8@/2!&:6QE<SL@9B`A/2!.54Q,
M.R!F(#T@9BT^9E]N97AT*2!["B`)"2\J(&9L=7-H(&%N>2!P96YD:6YG(&]U
M='!U="`J+PH@"0EI9B`H9BT^9E]P<F5V8V]U;G0I"B`)"0EF<')I;G1L;V<H
M9BP@,"P@*&-H87(@*BE.54Q,*3L*(`E]"BT):68@*'-I9VYO*2!["BT)"61P
M<FEN=&8H(G-Y<VQO9V0Z(&5X:71I;F<@;VX@<VEG;F%L("5D7&XB+"!S:6=N
M;RD["BT)"2AV;VED*7-N<')I;G1F*&)U9BP@<VEZ96]F(&)U9BP@(F5X:71I
M;F<@;VX@<VEG;F%L("5D(BP@<VEG;F\I.PHM"0EE<G)N;R`](#`["BT)"6QO
M9V5R<F]R*&)U9BD["BT)?0HK"65R<FYO(#T@,#L**PEI9B`H<VEG;F\I"BL)
M"6QO9V5R<F]R*")S>7-L;V=D.B!E>&ET:6YG(&]N('-I9VYA;"`E9%QN(BP@
M<VEG;F\I.PHK"65L<V4**PD);&]G97)R;W(H(F9A=&%L(&5R<F]R+"!E>&ET
M=&EN9R(I.PH@"69O<B`H<"`]($QO9U!A=&AS.R!P("8F("IP.R!P*RLI"B`)
M"75N;&EN:R@J<"D["B`)97AI="@P*3L*('T*0$`@+3$Q.#,L.2`K,3(W,RPY
M($!`"B!["B`)<W1R=6-T(&%D9')I;F9O(&AI;G1S+"`J<F5S.PH@"6EN="`@
M("!E<G)O<BP@:2P@<')I.PH@"6-H87(@("`J8G`L("IP+"`J<3L*+0EC:&%R
M("`@8G5F6TU!6$Q)3D5=+"!E8G5F6S$P,%T["BL)8VAA<B`@(&)U9EM-05A,
M24Y%73L*(`H@"61P<FEN=&8H(F-F;&EN92@E<RE<;B(L(&QI;F4I.PH@"B`)
M97)R;F\@/2`P.PDO*B!K965P('-T<F5R<F]R*"D@<W1U9F8@;W5T(&]F(&QO
M9V5R<F]R(&UE<W-A9V5S("HO"D!`("TQ,3DS+#@@*S$R.#,L-30@0$`*(`DO
M*B!C;&5A<B!O=70@9FEL92!E;G1R>2`J+PH@"6UE;7-E="AF+"`P+"!S:7IE
M;V8H*F8I*3L*(`EF;W(@*&D@/2`P.R!I(#P]($Q/1U].1D%#24Q)5$E%4SL@
M:2LK*0H@"0EF+3YF7W!M87-K6VE=(#T@24Y415).04Q?3D]04DD["BL)"BL)
M+RH@"BL)("H@5&AE<F4@<VAO=6QD(&YO="!B92!A;GD@<W!A8V4@8F5F;W)E
M('1H92!L;V=G:6YG(&9A8VEL:71Y+@HK"2`J($-H96-K('1H:7,@:7,@;VMA
M>2P@8V]M<&QA:6X@86YD(&9I>"!I9B!I="!I<R!N;W0N"BL)("HO"BL)<2`]
M(&QI;F4["BL)=VAI;&4@*"IQ("8F(&ES8FQA;FLH*G$I*2`**PD)<2LK.PHK
M"2\J('$@:7,@870@=&AE(&9I<G-T(&-H87(@;V8@=&AE(&QO9V=I;F<@9F%C
M:6QI='D@*B\**PEI9B`H*G$@)B8@*"HH<2`M(#$I(#T]("<@)RDI('L**PD)
M;&]G97)R;W(H"BL)"2`@("`B5V%R;FEN9SH@7"(E<UPB('-P86-E(&)E9F]R
M92!T:&4@;&]G9VEN9R!F86-I;&ET>2(L"BL)"2`@("!L:6YE*3L**PD)+RH@
M1FEX.B!S=')I<"!A;&P@<W!A8V5S+W1A8G,@8F5F;W)E('1H92!L;V=G:6YG
M(&9A8VEL:71Y("HO"BL)"6QI;F4@/2!Q.R`**PE]"BL**PDO*B`**PD@*B!4
M:&5R92!S:&]U;&0@8F4@870@;&5A<W0@;VYE('1A8B!A9G1E<B!T:&4@;&]G
M9VEN9R!F86-I;&ET>2`**PD@*B!#:&5C:R!T:&ES(&ES(&]K87DL(&%N9"!C
M;VUP;&%I;B!A;F0@9FEX(&EF(&ET(&ES(&YO="X**PD@*B\**PEQ(#T@;&EN
M92`K('-T<FQE;BAL:6YE*3L**PEW:&EL92`H(6ES8FQA;FLH*G$I("8F("AQ
M("$](&QI;F4I*0HK"0EQ+2T["BL):68@*"AQ(#T](&QI;F4I("8F('-T<FQE
M;BAL:6YE*2D@>R`**PD)+RH@3F\@=&%B<R!O<B!S<&%C92!I;B!A(&YO;B!E
M;7!T>2!L:6YE.B!C;VUP;&%I;B`J+PHK"0EL;V=E<G)O<B@**PD)("`@(")%
M<G)O<CH@7"(E<UPB(&QO9V=I;F<@9F%C:6QI='D@;W(@;&]G('1A<F=E="!M
M:7-S:6YG(BP**PD)("`@(&QI;F4I.PHK"7T**PD**PDO*B!Q(&ES(&%T('1H
M92!E;F0@;V8@=&AE(&)L86YK(&)E='=E96X@=&AE('1W;R!F:65L9',@*B\*
M*PEW:&EL92`H:7-B;&%N:R@J<2D@)B8@*'$@(3T@;&EN92DI"BL)"7$M+3L*
M*PHK"2\J('$@:7,@870@=&AE(&)E9VEN;FEN9R!O9B!T:&4@8FQA;FL@8F5T
M=V5E;B!T:&4@='=O(&9I96QD<R`J+PHK"6EF("@J*'$@*R`Q*2`]/2`G("<I
M('L@"BL)"2\J($QO9V=I;F<@9F%C:6QI='D@:7,@9F]L;&]W960@8GD@82!S
M<&%C93H@8V]M<&QA:6XN+BX@*B\**PD);&]G97)R;W(H"BL)"2`@("`B5V%R
M;FEN9SH@7"(E<UPB(&QO9V=I;F<@9F%C:6QI='D@;F]T(&9O;&QO=V5D(&)Y
M(&$@=&%B(BP**PD)("`@(&QI;F4I.PHK"0DO*B`N+BX@86YD(&9I>"!T:&4@
M<')O8FQE;3H@<F5P;&%C92!A;&P@<W!A8V5S(&)Y('1A8G,@*B\**PD)9F]R
M("@[("IQ.R!Q*RLI"BL)"0EI9B`H*G$@/3T@)R`G*0HK"0D)"2IQ/2=<="<[
M"0HK"7T*(`H@"2\J('-C86X@=&AR;W5G:"!T:&4@;&ES="!O9B!S96QE8W1O
M<G,@*B\*(`EF;W(@*'`@/2!L:6YE.R`J<"`F)B`J<"`A/2`G7'0G.RD@>PH@
M"D!`("TQ,C$V+#$Q("LQ,S4R+#D@0$`*(`D)"7!R:2`]($Q/1U]04DE-05-+
M("L@,3L*(`D)96QS92!["B`)"0EP<FD@/2!D96-O9&4H8G5F+"!P<FEO<FET
M>6YA;65S*3L*(`D)"6EF("AP<FD@/"`P*2!["BT)"0D)*'9O:60I<VYP<FEN
M=&8H96)U9BP@<VEZ96]F(&5B=68L"BT)"0D)("`@(")U;FMN;W=N('!R:6]R
M:71Y(&YA;64@7"(E<UPB(BP@8G5F*3L*+0D)"0EL;V=E<G)O<BAE8G5F*3L*
M*PD)"0EL;V=E<G)O<B@B=6YK;F]W;B!P<FEO<FET>2!N86UE(%PB)7-<(B(L
M(&)U9BD["B`)"0D)<F5T=7)N.PH@"0D)?0H@"0E]"B`*0$`@+3$R,S0L,3(@
M*S$S-C@L,3`@0$`*(`D)"0D)9BT^9E]P;6%S:UMI72`]('!R:3L*(`D)"65L
M<V4@>PH@"0D)"6D@/2!D96-O9&4H8G5F+"!F86-I;&ET>6YA;65S*3L*(`D)
M"0EI9B`H:2`\(#`I('L*+0D)"0D)*'9O:60I<VYP<FEN=&8H96)U9BP@<VEZ
M96]F(&5B=68L"BT)"0D)"2`@("`B=6YK;F]W;B!F86-I;&ET>2!N86UE(%PB
M)7-<(B(L"BL)"0D)"6QO9V5R<F]R*")U;FMN;W=N(&9A8VEL:71Y(&YA;64@
M7"(E<UPB(BP*(`D)"0D)("`@(&)U9BD["BT)"0D)"6QO9V5R<F]R*&5B=68I
M.PH@"0D)"0ER971U<FX["B`)"0D)?0H@"0D)"68M/F9?<&UA<VM;:2`^/B`S
/72`]('!R:3L*(`D)"7T*
`
end
--
Emmanuel Dreyfus
manu@netbsd.org
From: christos@zoulas.com (Christos Zoulas)
To: manu@netbsd.org (Emmanuel Dreyfus), gnats-bugs@netbsd.org,
ljt@alum.mit.edu
Cc:
Subject: Re: bin/13400
Date: Sat, 14 Jul 2001 19:03:03 -0400
On Jul 14, 11:46pm, manu@netbsd.org (Emmanuel Dreyfus) wrote:
-- Subject: bin/13400
General:
make a pass through all the messages and make sure they are all
consistent. (The first word is capitalized, string args are quoted.
+ uid = (uid_t)strtoul(user, &endp, 0);
+ if (*endp != '\0')
+ goto getuser;
Mis-indented line.
+ } else {
+getuser:
+ if ((pw = getpwnam(user)) != NULL) {
+ uid = pw->pw_uid;
+ } else {
+ errno = 0;
Again.
+ if (group != NULL) {
+ if (isdigit((unsigned char)*group)) {
+ gid = (gid_t)strtoul(group, &endp, 0);
+ if (*endp != '\0')
+ goto getgroup;
Again.
+ /*
+ * There should not be any space before the logging facility.
+ * Check this is okay, complain and fix if it is not.
+ */
+ q = line;
+ while (*q && isblank(*q))
Missing (unsigned char) cast to isblank() argument.
+ q++;
+ /* q is at the first char of the logging facility */
+ if (*q && (*(q - 1) == ' ')) {
This is wrong. q - 1 can reference line[-1]; simplify:
if (*q && q != line) {
+ logerror(
+ "Warning: \"%s\" space before the logging facility",
+ line);
Forgot to set errno to 0 here, before calling logerror()
+ /* Fix: strip all spaces/tabs before the logging facility */
+ line = q;
+ }
+
+ /*
+ * There should be at least one tab after the logging facility
+ * Check this is okay, and complain and fix if it is not.
+ */
+ q = line + strlen(line);
+ while (!isblank(*q) && (q != line))
+ q--;
+ if ((q == line) && strlen(line)) {
+ /* No tabs or space in a non empty line: complain */
+ logerror(
+ "Error: \"%s\" logging facility or log target missing",
+ line);
Again forgot to set errno to 0.
+ }
+
+ /* q is at the end of the blank between the two fields */
+ while (isblank(*q) && (q != line))
+ q--;
+
+ /* q is at the beginning of the blank between the two fields */
+ if (*(q + 1) == ' ') {
+ /* Logging facility is followed by a space: complain... */
+ logerror(
+ "Warning: \"%s\" logging facility not followed by a tab",
+ line);
+ /* ... and fix the problem: replace all spaces by tabs */
+ for (; *q; q++)
+ if (*q == ' ')
+ *q='\t';
+ }
You keep going back and forth to parse the line... You just have
skip_initial_spaces_and_warn();
collect_the_selectors();
skip_the_blanks_and_warn_if_you_find_space();
grab_the_log_recipient_and_complain_if_not_there();
complain_if_there_was_trailing_space();
/* scan through the list of selectors */
for (p = line; *p && *p != '\t';) {
@@ -1216,11 +1352,9 @@
pri = LOG_PRIMASK + 1;
else {
pri = decode(buf, prioritynames);
if (pri < 0) {
- (void)snprintf(ebuf, sizeof ebuf,
- "unknown priority name \"%s\"", buf);
- logerror(ebuf);
+ logerror("unknown priority name \"%s\"", buf);
return;
Again set errno to 0 before calling logerror();
}
}
@@ -1234,12 +1368,10 @@
f->f_pmask[i] = pri;
else {
i = decode(buf, facilitynames);
if (i < 0) {
- (void)snprintf(ebuf, sizeof ebuf,
- "unknown facility name \"%s\"",
+ logerror("unknown facility name \"%s\"",
buf);
Again set errno to 0 before calling logerror();
- logerror(ebuf);
return;
}
f->f_pmask[i >> 3] = pri;
}
From: manu@netbsd.org (Emmanuel Dreyfus)
To: christos@zoulas.com, gnats-bugs@netbsd.org, ljt@alum.mit.edu
Cc:
Subject: bin/13400
Date: Sun, 15 Jul 2001 16:56:08 +0200
Here is the latest patch. Hope it's okay now.
begin 644 syslogd.patch
M26YD97@Z('-Y<VQO9V0N8PH]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]"E)#4R!F
M:6QE.B`O8W9S<F]O="]B87-E<W)C+W5S<BYS8FEN+W-Y<VQO9V0O<WES;&]G
M9"YC+'8*<F5T<FEE=FEN9R!R979I<VEO;B`Q+C0T"F1I9F8@+54T("UR,2XT
M-"!S>7-L;V=D+F,*+2TM('-Y<VQO9V0N8PDR,#`Q+S`S+S(Q(#$W.C`R.C0S
M"3$N-#0**RLK('-Y<VQO9V0N8PDR,#`Q+S`W+S$U(#$T.C4P.C4W"D!`("TQ
M,#0L."`K,3`T+#$Q($!`"B`C:6YC;'5D92`\<W1R:6YG+F@^"B`C:6YC;'5D
M92`\=6YI<W1D+F@^"B`C:6YC;'5D92`\=71M<"YH/@H@(VEN8VQU9&4@/'5T
M:6PN:#X**R-I;F-L=61E(#QP=V0N:#X**R-I;F-L=61E(#QG<G`N:#X**R-I
M;F-L=61E(#QS=&1A<F<N:#X*("-I;F-L=61E(")P871H;F%M97,N:"(*(`H@
M(V1E9FEN92!365-,3T=?3D%-15,*("-I;F-L=61E(#QS>7,O<WES;&]G+F@^
M"D!`("TQ.#4L."`K,3@X+#D@0$`*('-T<G5C=`EF:6QE9"`J1FEL97,["B!S
M=')U8W0)9FEL960@8V]N<V9I;&4["B`*(&EN=`E$96)U9SL)"0DO*B!D96)U
M9R!F;&%G("HO"BMI;G0)9&%E;6]N:7IE9"`](#`["0DO*B!W92!A<F4@;F]T
M(&1A96UO;FEZ960@>65T("HO"B!C:&%R"4QO8V%L2&]S=$YA;65;34%82$]3
M5$Y!345,14XK,5T["2\J(&]U<B!H;W-T;F%M92`J+PH@8VAA<@DJ3&]C86Q$
M;VUA:6X["0DO*B!O=7(@;&]C86P@9&]M86EN(&YA;64@*B\*(&EN=`DJ9FEN
M970@/2!.54Q,.PD)"2\J($EN=&5R;F5T(&1A=&%G<F%M('-O8VME=',@*B\*
M(&EN=`E);FET:6%L:7IE9"`](#`["2\J('-E="!W:&5N('=E(&AA=F4@:6YI
M=&EA;&EZ960@;W5R<V5L=F5S("HO"D!`("TR,#0L.2`K,C`X+#D@0$`*('9O
M:60)9G!R:6YT;&]G(%]?4"@H<W1R=6-T(&9I;&5D("HL(&EN="P@8VAA<B`J
M*2D["B!I;G0)9V5T;7-G8G5F<VEZ92!?7U`H*'9O:60I*3L*(&EN="H)<V]C
M:W-E='5P(%]?4"@H:6YT*2D["B!V;VED"6EN:70@7U]0*"AI;G0I*3L*+79O
M:60);&]G97)R;W(@7U]0*"AC:&%R("HI*3L**W9O:60);&]G97)R;W(@7U]0
M*"AC;VYS="!C:&%R("HL("XN+BDI.PH@=F]I9`EL;V=M<V<@7U]0*"AI;G0L
M(&-H87(@*BP@8VAA<B`J+"!I;G0I*3L*('9O:60)<')I;G1L:6YE(%]?4"@H
M8VAA<B`J+"!C:&%R("HI*3L*('9O:60)<')I;G1S>7,@7U]0*"AC:&%R("HI
M*3L*('9O:60)<F5A<&-H:6QD(%]?4"@H:6YT*2D["D!`("TR,C<L,3,@*S(S
M,2PS-R!`0`H@"7-T<G5C="!S;V-K861D<E]U;B!S=6YX+"!F<F]M=6YI>#L*
M(`ES=')U8W0@<V]C:V%D9')?<W1O<F%G92!F<F]M:6YE=#L*(`EC:&%R("IP
M+"`J;&EN92P@*BIP<#L*(`ES=')U8W0@<&]L;&9D("IR96%D9F1S.PHK"75I
M9%]T('5I9"`](#`["BL)9VED7W0@9VED(#T@,#L**PEC:&%R("IU<V5R(#T@
M3E5,3#L**PEC:&%R("IG<F]U<"`]($Y53$P["BL)8VAA<B`J<F]O="`]("(O
M(CL**PEC:&%R("IE;F1P.PHK"7-T<G5C="!G<F]U<"`@("IG<CL**PES=')U
M8W0@<&%S<W=D("`J<'<["BL)"B`*(`DH=F]I9"ES971L;V-A;&4H3$-?04Q,
M+"`B(BD["B`*+0EW:&EL92`H*&-H(#T@9V5T;W!T*&%R9V,L(&%R9W8L(")D
M<V8Z;3IP.E`Z(BDI("$]("TQ*0HK"7=H:6QE("@H8V@@/2!G971O<'0H87)G
M8RP@87)G=BP@(F1S9CIM.G`Z4#IU.F<Z=#HB*2D@(3T@+3$I"B`)"7-W:71C
M:"AC:"D@>PHK"0EC87-E("=U)SH**PD)"75S97(@/2!O<'1A<F<["BL)"0EI
M9B`H*G5S97(@/3T@)UPP)RD**PD)"0EU<V%G92@I.PHK"0D)8G)E86L["BL)
M"6-A<V4@)V<G.@HK"0D)9W)O=7`@/2!O<'1A<F<["BL)"0EI9B`H*F=R;W5P
M(#T]("=<,"<I"BL)"0D)=7-A9V4H*3L**PD)"6)R96%K.PHK"0EC87-E("=T
M)SH**PD)"7)O;W0@/2!O<'1A<F<["BL)"0EI9B`H*G)O;W0@/3T@)UPP)RD*
M*PD)"0EU<V%G92@I.PHK"0D)8G)E86L["B`)"6-A<V4@)V0G.@D)+RH@9&5B
M=6<@*B\*(`D)"41E8G5G*RL["B`)"0EB<F5A:SL*(`D)8V%S92`G9B<Z"0DO
M*B!C;VYF:6=U<F%T:6]N(&9I;&4@*B\*0$`@+3(U.2PQ,R`K,C@W+#0Y($!`
M"B`)"7T*(`EI9B`H*&%R9V,@+3T@;W!T:6YD*2`A/2`P*0H@"0EU<V%G92@I
M.PH@"BT):68@*"%$96)U9RD*+0D)*'9O:60I9&%E;6]N*#`L(#`I.PHM"65L
M<V4*+0D)<V5T;&EN96)U9BAS=&1O=70I.PHK"7-E=&QI;F5B=68H<W1D;W5T
M*3L**PHK"6EF("AU<V5R("$]($Y53$PI('L**PD):68@*&ES9&EG:70H*'5N
M<VEG;F5D(&-H87(I*G5S97(I*2!["BL)"0EU:60@/2`H=6ED7W0I<W1R=&]U
M;"AU<V5R+"`F96YD<"P@,"D["BL)"0EI9B`H*F5N9'`@(3T@)UPP)RD**PD@
M("`@"0D)9V]T;R!G971U<V5R.PHK"0E](&5L<V4@>PHK9V5T=7-E<CH**PD)
M"6EF("@H<'<@/2!G971P=VYA;2AU<V5R*2D@(3T@3E5,3"D@>PHK"0D)"75I
M9"`]('!W+3YP=U]U:60["BL)"0E](&5L<V4@>PHK"0D)"65R<FYO(#T@,#L@
M(`HK"0D)"6QO9V5R<F]R*")#86YN;W0@9FEN9"!U<V5R(&`E<R<B+"!U<V5R
M*3L**PD)"0ED:64@*#`I.PHK"0D)?0HK"0E]"BL)?0H@"BL):68@*&=R;W5P
M("$]($Y53$PI('L**PD):68@*&ES9&EG:70H*'5N<VEG;F5D(&-H87(I*F=R
M;W5P*2D@>PHK"0D)9VED(#T@*&=I9%]T*7-T<G1O=6PH9W)O=7`L("9E;F1P
M+"`P*3L**PD)"6EF("@J96YD<"`A/2`G7#`G*0HK"2`@("`)"0EG;W1O(&=E
M=&=R;W5P.PHK"0E](&5L<V4@>PHK9V5T9W)O=7`Z"BL)"0EI9B`H*&=R(#T@
M9V5T9W)N86TH9W)O=7`I*2`A/2!.54Q,*2!["BL)"0D)9VED(#T@9W(M/F=R
M7V=I9#L**PD)"7T@96QS92!["BL)"0D)97)R;F\@/2`P.PHK"0D)"6QO9V5R
M<F]R*")#86YN;W0@9FEN9"!G<F]U<"!@)7,G(BP@9W)O=7`I.PHK"0D)"61I
M92@P*3L**PD)"7T**PD)?0HK"7T**PHK"6EF("AA8V-E<W,@*')O;W0L($9?
M3TL@?"!27T]+*2D@>PHK"0EL;V=E<G)O<B`H(D-A;FYO="!A8V-E<W,@8"5S
M)R(L(')O;W0I.PHK"0ED:64@*#`I.PHK"7T**PH@"6-O;G-F:6QE+F9?='EP
M92`]($9?0T].4T],13L*(`DH=F]I9"ES=')C<'DH8V]N<V9I;&4N9E]U;BYF
M7V9N86UE+"!C='1Y*3L*(`DH=F]I9"EG971H;W-T;F%M92A,;V-A;$AO<W1.
M86UE+"!S:7IE;V8H3&]C86Q(;W-T3F%M92DI.PH@"4QO8V%L2&]S=$YA;65;
M<VEZ96]F*$QO8V%L2&]S=$YA;64I("T@,5T@/2`G7#`G.PI`0"`M,C<Y+#D@
M*S,T,RPY($!`"B`)"6QI;F5S:7IE(#T@34%83$E.13L*(`EL:6YE<VEZ92LK
M.PH@"6QI;F4@/2!M86QL;V,H;&EN97-I>F4I.PH@"6EF("AL:6YE(#T]($Y5
M3$PI('L*+0D);&]G97)R;W(H(F-O=6QD;B=T(&%L;&]C871E(&QI;F4@8G5F
M9F5R(BD["BL)"6QO9V5R<F]R*")#;W5L9&XG="!A;&QO8V%T92!L:6YE(&)U
M9F9E<B(I.PH@"0ED:64H,"D["B`)?0H@"2AV;VED*7-I9VYA;"A324=415)-
M+"!D:64I.PH@"2AV;VED*7-I9VYA;"A324=)3E0L($1E8G5G(#\@9&EE(#H@
M4TE'7TE'3BD["D!`("TR.3<L.2`K,S8Q+#D@0$`*(`D);&]G<&%T:%]A9&0H
M)DQO9U!A=&AS+"`F9G5N:7AS:7IE+"`*(`D)("`@("9F=6YI>&UA>'-I>F4L
M(%]0051(7TQ/1RD["B`)9G5N:7@@/2`H:6YT("HI;6%L;&]C*'-I>F5O9BAI
M;G0I("H@9G5N:7AS:7IE*3L*(`EI9B`H9G5N:7@@/3T@3E5,3"D@>PHM"0EL
M;V=E<G)O<B@B8V]U;&1N)W0@86QL;V-A=&4@9G5N:7@@9&5S8W)I<'1O<G,B
M*3L**PD);&]G97)R;W(H(D-O=6QD;B=T(&%L;&]C871E(&9U;FEX(&1E<V-R
M:7!T;W)S(BD["B`)"61I92@P*3L*(`E]"B`)9F]R("AJ(#T@,"P@<'`@/2!,
M;V=0871H<SL@*G!P.R!P<"LK+"!J*RLI('L*(`D)9'!R:6YT9B@B;6%K:6YG
M('5N:7@@9&=R86T@<V]C:V5T("5S7&XB+"`J<'`I.PI`0"`M,S$P+#$U("LS
M-S0L.2!`0`H@"0EF=6YI>%MJ72`]('-O8VME="A!1E],3T-!3"P@4T]#2U]$
M1U)!32P@,"D["B`)"6EF("AF=6YI>%MJ72`\(#`@?'P@8FEN9"AF=6YI>%MJ
M72P*(`D)("`@("AS=')U8W0@<V]C:V%D9'(@*BDF<W5N>"P@4U5.7TQ%3B@F
M<W5N>"DI(#P@,"!\?`H@"0D@("`@8VAM;V0H*G!P+"`P-C8V*2`\(#`I('L*
M+0D)"6EN="!S97)R;F\@/2!E<G)N;SL*+0D)"2AV;VED*7-N<')I;G1F*&QI
M;F4L('-I>F5O9B!L:6YE+`HM"0D)("`@(")C86YN;W0@8W)E871E("5S(BP@
M*G!P*3L*+0D)"65R<FYO(#T@<V5R<FYO.PHM"0D);&]G97)R;W(H;&EN92D[
M"BT)"0EE<G)N;R`]('-E<G)N;SL*+0D)"61P<FEN=&8H(F-A;FYO="!C<F5A
M=&4@)7,@*"5D*5QN(BP@*G!P+"!E<G)N;RD["BL)"0EL;V=E<G)O<B@B0V%N
M;F]T(&-R96%T92!@)7,G(BP@*G!P*3L*(`D)"61I92@P*3L*(`D)?0H@"0ED
M<')I;G1F*")L:7-T96YI;F<@;VX@=6YI>"!D9W)A;2!S;V-K970@)7-<;B(L
M("IP<"D["B`)?0I`0"`M,S0R+#D@*S0P,"PY($!`"B`)+RH@<V5T=7`@<&]L
M;&9D('-E="X@*B\*(`ER96%D9F1S(#T@*'-T<G5C="!P;VQL9F0@*BEM86QL
M;V,H<VEZ96]F*'-T<G5C="!P;VQL9F0I("H*(`D)"2AF=6YI>'-I>F4@*R`H
M9FEN970@/R`J9FEN970@.B`P*2`K(#$I*3L*(`EI9B`H<F5A9&9D<R`]/2!.
M54Q,*2!["BT)"6QO9V5R<F]R*")C;W5L9&XG="!A;&QO8V%T92!P;VQL9F1S
M(BD["BL)"6QO9V5R<F]R*")#;W5L9&XG="!A;&QO8V%T92!P;VQL9F1S(BD[
M"B`)"61I92@P*3L*(`E]"B`);F9D<R`](#`["B`):68@*&9K;&]G(#X](#`I
M('L*0$`@+3,V-2PQ-R`K-#(S+#0W($!`"B`)"7)E861F9'-;;F9D<UTN9F0@
M/2!F=6YI>%MJ*RM=.PH@"0ER96%D9F1S6VYF9',K*UTN979E;G1S(#T@4$],
M3$E.('P@4$],3%!223L*(`E]"B`**PDO*B`**PD@*B!!;&P@9FEL97,@87)E
M(&]P96XL('=E(&-A;B!D<F]P('!R:79I;&5G97,@86YD(&-H<F]O=`HK"2`J
M+PHK"61P<FEN=&8@*")A='1E;7!T('1O(&-H<F]O="!T;R!@)7,G7&XB+"!R
M;V]T*3L@(`HK"6EF("AC:')O;W0@*')O;W0I*2!["BL)"6QO9V5R<F]R("@B
M1F%I;&5D('1O(&-H<F]O="!T;R!@)7,G(BP@<F]O="D["BL)"61I92@P*3L*
M*PE]"BL)9'!R:6YT9B`H(F%T=&5M<'0@=&\@<V5T($=)1"]%1TE$('1O(&`E
M9"=<;B(L(&=I9"D[("`**PEI9B`H<V5T9VED("AG:60I('Q\('-E=&5G:60@
M*&=I9"DI('L**PD);&]G97)R;W(@*")&86EL960@=&\@<V5T(&=I9"!T;R!@
M)60G(BP@9VED*3L**PD)9&EE*#`I.PHK"7T**PED<')I;G1F("@B871T96UP
M="!T;R!S970@54E$+T55240@=&\@8"5D)UQN(BP@=6ED*3L@(`HK"6EF("AS
M971U:60@*'5I9"D@?'P@<V5T975I9"`H=6ED*2D@>PHK"0EL;V=E<G)O<B`H
M(D9A:6QE9"!T;R!S970@=6ED('1O(&`E9"<B+"!U:60I.PHK"0ED:64H,"D[
M"BL)?0HK"BL)+RH@"BL)("H@5V4@8V%N;F]T(&1E=&%C:"!F<F]M('1H92!T
M97)M:6YA;"!B969O<F4@=V4@87)E('-U<F4@=V4@=V]N)W0@"BL)("H@:&%V
M92!A(&9A=&%L(&5R<F]R+"!B96-A=7-E(&5R<F]R(&UE<W-A9V4@=V]U;&0@
M;F]T(&=O('1O('1H90HK"2`J('1E<FUI;F%L(&%N9"!W;W5L9"!N;W0@8F4@
M;&]G9V5D(&)E8V%U<V4@<WES;&]G9"!D:65S+B`**PD@*B!!;&P@9&EE*"D@
M8V%L;',@87)E(&)E:&EN9"!U<RP@=V4@8V%N(&-A;&P@9&%E;6]N*"D**PD@
M*B\**PEI9B`H(41E8G5G*2!["BL)"2AV;VED*61A96UO;B@P+"`P*3L**PD)
M9&%E;6]N:7IE9"`](#$["BL)?0HK"B`)9F]R("@[.RD@>PH@"0EI;G0@<G8[
M"B`*(`D)<G8@/2!P;VQL*')E861F9',L(&YF9',L($E.1E1)32D["B`)"6EF
M("AR=B`]/2`P*0H@"0D)8V]N=&EN=64["B`)"6EF("AR=B`\(#`I('L*(`D)
M"6EF("AE<G)N;R`A/2!%24Y44BD*+0D)"0EL;V=E<G)O<B@B<&]L;"(I.PHK
M"0D)"6QO9V5R<F]R*")P;VQL*"D@9F%I;&5D(BD["B`)"0EC;VYT:6YU93L*
M(`D)?0H@"0ED<')I;G1F*")G;W0@82!M97-S86=E("@E9"E<;B(L(')V*3L*
M(`D):68@*&9K;&]G(#X](#`@)B8*0$`@+3,X-2PY("LT-S,L.2!`0`H@"0D)
M:68@*&D@/B`P*2"0D)<')I;G1S
M>7,H;&EN92D["B`)"0E](&5L<V4@:68@*&D@/"`P("8F(&5R<FYO("$]($5)
M3E12*2!["BT)"0D);&]G97)R;W(H(FML;V<B*3L**PD)"0EL;V=E<G)O<B@B
M:VQO9R!F86EL960B*3L*(`D)"0EF:VQO9R`]("TQ.PH@"0D)?0H@"0E]"B`)
M"69O<B`H:B`](#`L('!P(#T@3&]G4&%T:',[("IP<#L@<'`K*RP@:BLK*2![
M"D!`("TT,#(L,34@*S0Y,"PY($!`"B`)"0EI9B`H:2`^(#`I('L*(`D)"0EL
M:6YE6VE=(#T@)UPP)SL*(`D)"0EP<FEN=&QI;F4H3&]C86Q(;W-T3F%M92P@
M;&EN92D["B`)"0E](&5L<V4@:68@*&D@/"`P("8F(&5R<FYO("$]($5)3E12
M*2"0D)*'9O:60I<VYP<FEN=&8H8G5F+"!S:7IE;V8@
M8G5F+`HM"0D)"2`@("`B<F5C=F9R;VT@=6YI>"`E<R(L("IP<"D["BT)"0D)
M97)R;F\@/2!S97)R;F\["BT)"0D);&]G97)R;W(H8G5F*3L**PD)"0EL;V=E
M<G)O<B@B<F5C=F9R;VTH*2!U;FEX(&`E<R<B+"`J<'`I.PH@"0D)?0H@"0E]
M"B`)"6EF("AF:6YE="`F)B`A4V5C=7)E36]D92D@>PH@"0D)9F]R("AJ(#T@
M,#L@:B`\("IF:6YE=#L@:BLK*2!["D!`("TT,C4L.2`K-3`W+#D@0$`*(`D)
M"0D)"6QI;F5;:5T@/2`G7#`G.PH@"0D)"0D)<')I;G1L:6YE*&-V=&AN86UE
M*"9F<F]M:6YE="DL"B`)"0D)"0D@("`@;&EN92D["B`)"0D)"7T@96QS92!I
M9B`H:2`\(#`@)B8@97)R;F\@(3T@14E.5%(I"BT)"0D)"0EL;V=E<G)O<B@B
M<F5C=F9R;VT@:6YE="(I.PHK"0D)"0D);&]G97)R;W(H(G)E8W9F<F]M*"D@
M:6YE="(I.PH@"0D)"7T*(`D)"7T*(`D)?0H@"7T*0$`@+30V-2PY("LU-#<L
M.2!`0`H@"0EE;'-E"B`)"0DJ;6%X<WIP("H](#(["B`)"2IL<"`](')E86QL
M;V,H*FQP+"!S:7IE;V8H8VAA<B`J*2`J("@J;6%X<WIP("L@,2DI.PH@"0EI
M9B`H*FQP(#T]($Y53$PI('L*+0D)"6QO9V5R<F]R*")C;W5L9&XG="!A;&QO
M8V%T92!L:6YE(&)U9F9E<B(I.PHK"0D);&]G97)R;W(H(D-O=6QD;B=T(&%L
M;&]C871E(&QI;F4@8G5F9F5R(BD["B`)"0ED:64H,"D["B`)"7T*(`E]"B`)
M*"IL<"E;*"IS>G`I*RM=(#T@;F5W.PI`0"`M-#@W+#$S("LU-CDL.2!`0`H@
M"7-I>F5?="!L96X["B`*(`EF<"`](&9O<&5N*&9I;&4L(")R(BD["B`):68@
M*&9P(#T]($Y53$PI('L*+0D):6YT('-E<G)N;R`](&5R<FYO.PHM"BT)"61P
M<FEN=&8H(F-A;B=T(&]P96X@)7,@*"5D*5QN(BP@9FEL92P@97)R;F\I.PHM
M"0EE<G)N;R`]('-E<G)N;SL*+0D);&]G97)R;W(H(F-O=6QD(&YO="!O<&5N
M('-O8VME="!F:6QE(&QI<W0B*3L**PD);&]G97)R;W(H(D-O=6QD(&YO="!O
M<&5N('-O8VME="!F:6QE(&QI<W0@8"5S)R(L(&9I;&4I.PH@"0ED:64H,"D[
M"B`)?0H@"B`)=VAI;&4@*"AL:6YE(#T@9F=E=&QN*&9P+"`F;&5N*2DI('L*
M0$`@+3<Y.2PY("LX-S<L.2!`0`H@"0D)"7T*(`D)"7T*(`D)"6EF("AL<V5N
M="`A/2!L*2!["B`)"0D)9BT^9E]T>7!E(#T@1E]53E53140["BT)"0D);&]G
M97)R;W(H(G-E;F1T;R(I.PHK"0D)"6QO9V5R<F]R*")S96YD=&\H*2!F86EL
M960B*3L*(`D)"7T*(`D)?0H@"0EB<F5A:SL*(`I`0"`M.3@Y+#0Q("LQ,#8W
M+#4S($!`"B`O*@H@("H@4')I;G0@<WES;&]G9"!E<G)O<G,@<V]M92!P;&%C
M92X*("`J+PH@=F]I9`HM;&]G97)R;W(H='EP92D*+0EC:&%R("IT>7!E.PHK
M;&]G97)R;W(H8V]N<W0@8VAA<B`J9FUT+"`N+BXI"B!["BT)8VAA<B!B=69;
M,3`P73L**PEV85]L:7-T(&%P.PHK"6-H87(@=&UP8G5F6T)51E-)6ET["BL)
M8VAA<B!B=69;0E5&4TE:73L*(`HK"79A7W-T87)T*&%P+"!F;70I.PHK"BL)
M*'9O:60I=G-N<')I;G1F*'1M<&)U9BP@<VEZ96]F*'1M<&)U9BDL(&9M="P@
M87`I.PHK"BL)=F%?96YD*&%P*3L**PH@"6EF("AE<G)N;RD*+0D)*'9O:60I
M<VYP<FEN=&8H8G5F+`HM"0D@("`@<VEZ96]F*&)U9BDL(")S>7-L;V=D.B`E
M<SH@)7,B+"!T>7!E+"!S=')E<G)O<BAE<G)N;RDI.PHK"0DH=F]I9"ES;G!R
M:6YT9BAB=68L('-I>F5O9BAB=68I+"`B<WES;&]G9#H@)7,Z("5S(BP@"BL)
M"2`@("!T;7!B=68L('-T<F5R<F]R*&5R<FYO*2D["B`)96QS90HM"0DH=F]I
M9"ES;G!R:6YT9BAB=68L('-I>F5O9BAB=68I+"`B<WES;&]G9#H@)7,B+"!T
M>7!E*3L*+0EE<G)N;R`](#`["BT)9'!R:6YT9B@B)7-<;B(L(&)U9BD["BT)
M;&]G;7-G*$Q/1U]365-,3T=\3$]'7T524BP@8G5F+"!,;V-A;$AO<W1.86UE
M+"!!1$1$051%*3L**PD)*'9O:60I<VYP<FEN=&8H8G5F+"!S:7IE;V8H8G5F
M*2P@(G-Y<VQO9V0Z("5S(BP@=&UP8G5F*3L**PHK"6EF("AD865M;VYI>F5D
M*2`**PD);&]G;7-G*$Q/1U]365-,3T=\3$]'7T524BP@8G5F+"!,;V-A;$AO
M<W1.86UE+"!!1$1$051%*3L**PEI9B`H(61A96UO;FEZ960@)B8@1&5B=6<I
M"BL)"61P<FEN=&8H(B5S7&XB+"!B=68I.PHK"6EF("@A9&%E;6]N:7IE9"`F
M)B`A1&5B=6<I"BL)"7!R:6YT9B@B)7-<;B(L(&)U9BD["BL**PER971U<FX[
M"B!]"B`*('9O:60*(&1I92AS:6=N;RD*(`EI;G0@<VEG;F\["B+RH@9FQU<V@@86YY('!E;F1I;F<@;W5T<'5T("HO"B`)"6EF
M("AF+3YF7W!R979C;W5N="D*(`D)"69P<FEN=&QO9RAF+"`P+"`H8VAA<B`J
M*4Y53$PI.PH@"7T*+0EI9B`H<VEG;F\I('L*+0D)9'!R:6YT9B@B<WES;&]G
M9#H@97AI=&EN9R!O;B!S:6=N86P@)61<;B(L('-I9VYO*3L*+0D)*'9O:60I
M<VYP<FEN=&8H8G5F+"!S:7IE;V8@8G5F+"`B97AI=&EN9R!O;B!S:6=N86P@
M)60B+"!S:6=N;RD["BT)"65R<FYO(#T@,#L*+0D);&]G97)R;W(H8G5F*3L*
M+0E]"BL)97)R;F\@/2`P.PHK"6EF("AS:6=N;RD**PD);&]G97)R;W(H(D5X
M:71I;F<@;VX@<VEG;F%L("5D7&XB+"!S:6=N;RD["BL)96QS90HK"0EL;V=E
M<G)O<B@B1F%T86P@97)R;W(L(&5X:71T:6YG(BD["B`)9F]R("AP(#T@3&]G
M4&%T:',[('`@)B8@*G`[('`K*RD*(`D)=6YL:6YK*"IP*3L*(`EE>&ET*#`I
M.PH@?0I`0"`M,3`W-2PY("LQ,38U+#D@0$`*(`H@"6EF("AF:6YE="D@>PH@
M"0EF;W(@*&D@/2`P.R!I(#P@*F9I;F5T.R!I*RLI('L*(`D)"6EF("AC;&]S
M92AF:6YE=%MI*S%=*2`\(#`I('L*+0D)"0EL;V=E<G)O<B@B8VQO<V4B*3L*
M*PD)"0EL;V=E<G)O<B@B8VQO<V4H*2!F86EL960B*3L*(`D)"0ED:64H,"D[
M"B`)"0E]"B`)"7T*(`E]"D!`("TQ,34Y+#D@*S$R-#DL.2!`0`H@"6EF("AF
M:6YE="D@>PH@"0EI9B`H4V5C=7)E36]D92D@>PH@"0D)9F]R("AI(#T@,#L@
M:2`\("IF:6YE=#L@:2LK*2!["B`)"0D):68@*'-H=71D;W=N*&9I;F5T6VDK
M,5TL(%-(551?4D0I(#P@,"D@>PHM"0D)"0EL;V=E<G)O<B@B<VAU=&1O=VXB
M*3L**PD)"0D);&]G97)R;W(H(G-H=71D;W=N*"D@9F%I;&5D(BD["B`)"0D)
M"61I92@P*3L*(`D)"0E]"B`)"0E]"B`)"7T@96QS90I`0"`M,3$X,RPY("LQ
M,C<S+#D@0$`*('L*(`ES=')U8W0@861D<FEN9F\@:&EN=',L("IR97,["B`)
M:6YT("`@(&5R<F]R+"!I+"!P<FD["B`)8VAA<B`@("IB<"P@*G`L("IQ.PHM
M"6-H87(@("!B=69;34%83$E.15TL(&5B=69;,3`P73L**PEC:&%R("`@8G5F
M6TU!6$Q)3D5=.PH@"B`)9'!R:6YT9B@B8V9L:6YE*"5S*5QN(BP@;&EN92D[
M"B`*(`EE<G)N;R`](#`["2\J(&ME97`@<W1R97)R;W(H*2!S='5F9B!O=70@
M;V8@;&]G97)R;W(@;65S<V%G97,@*B\*0$`@+3$Q.3,L."`K,3(X,RPU-R!`
M0`H@"2\J(&-L96%R(&]U="!F:6QE(&5N=')Y("HO"B`);65M<V5T*&8L(#`L
M('-I>F5O9B@J9BDI.PH@"69O<B`H:2`](#`[(&D@/#T@3$]'7TY&04-)3$E4
M2453.R!I*RLI"B`)"68M/F9?<&UA<VM;:5T@/2!)3E1%4DY!3%].3U!223L*
M*PD**PDO*B`**PD@*B!4:&5R92!S:&]U;&0@;F]T(&)E(&%N>2!S<&%C92!B
M969O<F4@=&AE(&QO9V=I;F<@9F%C:6QI='DN"BL)("H@0VAE8VL@=&AI<R!I
M<R!O:V%Y+"!C;VUP;&%I;B!A;F0@9FEX(&EF(&ET(&ES(&YO="X**PD@*B\*
M*PEQ(#T@;&EN93L**PEW:&EL92`H*G$@)B8@:7-B;&%N:R@H=6YS:6=N960@
M8VAA<BDJ<2DI(`HK"0EQ*RL["BL)+RH@<2!I<R!A="!T:&4@9FER<W0@8VAA
M<B!O9B!T:&4@;&]G9VEN9R!F86-I;&ET>2`J+PHK"6EF("@J<2`F)B`H<2`A
M/2!L:6YE*2`F)B`H*BAQ("T@,2D@/3T@)R`G*2D@>PHK"0EE<G)N;R`](#`[
M"BL)"6QO9V5R<F]R*`HK"0D@("`@(E=A<FYI;F<Z(&`E<R<@<W!A8V4@8F5F
M;W)E('1H92!L;V=G:6YG(&9A8VEL:71Y(BP**PD)("`@(&QI;F4I.PHK"0DO
M*B!&:7@Z('-T<FEP(&%L;"!S<&%C97,O=&%B<R!B969O<F4@=&AE(&QO9V=I
M;F<@9F%C:6QI='D@*B\**PD);&EN92`]('$[(`HK"7T**PHK"2\J(`HK"2`J
M(%1H97)E('-H;W5L9"!B92!A="!L96%S="!O;F4@=&%B(&%F=&5R('1H92!L
M;V=G:6YG(&9A8VEL:71Y(`HK"2`J($-H96-K('1H:7,@:7,@;VMA>2P@86YD
M(&-O;7!L86EN(&%N9"!F:7@@:68@:70@:7,@;F]T+@HK"2`J+PHK"7$@/2!L
M:6YE("L@<W1R;&5N*&QI;F4I.PHK"7=H:6QE("@A:7-B;&%N:R@H=6YS:6=N
M960@8VAA<BDJ<2D@)B8@*'$@(3T@;&EN92DI"BL)"7$M+3L**PEI9B`H*'$@
M/3T@;&EN92D@)B8@<W1R;&5N*&QI;F4I*2![(`HK"0DO*B!.;R!T86)S(&]R
M('-P86-E(&EN(&$@;F]N(&5M<'1Y(&QI;F4Z(&-O;7!L86EN("HO"BL)"65R
M<FYO(#T@,#L**PD);&]G97)R;W(H"BL)"2`@("`B17)R;W(Z(&`E<R<@;&]G
M9VEN9R!F86-I;&ET>2!O<B!L;V<@=&%R9V5T(&UI<W-I;F<B+`HK"0D@("`@
M;&EN92D["BL)?0HK"0HK"2\J('$@:7,@870@=&AE(&5N9"!O9B!T:&4@8FQA
M;FL@8F5T=V5E;B!T:&4@='=O(&9I96QD<R`J+PHK"7=H:6QE("AI<V)L86YK
M*"AU;G-I9VYE9"!C:&%R*2IQ*2`F)B`H<2`A/2!L:6YE*2D**PD)<2TM.PHK
M"BL)+RH@<2!I<R!A="!T:&4@8F5G:6YN:6YG(&]F('1H92!B;&%N:R!B971W
M965N('1H92!T=V\@9FEE;&1S("HO"BL):68@*"HH<2`K(#$I(#T]("<@)RD@
M>R`**PD)+RH@3&]G9VEN9R!F86-I;&ET>2!I<R!F;VQL;W=E9"!B>2!A('-P
M86-E.B!C;VUP;&%I;BXN+B`J+PHK"0EE<G)N;R`](#`["BL)"6QO9V5R<F]R
M*`HK"0D@("`@(E=A<FYI;F<Z(&`E<R<@;&]G9VEN9R!F86-I;&ET>2!N;W0@
M9F]L;&]W960@8GD@82!T86(B+`HK"0D@("`@;&EN92D["BL)"2\J("XN+B!A
M;F0@9FEX('1H92!P<F]B;&5M.B!R97!L86-E(&%L;"!S<&%C97,@8GD@=&%B
M<R`J+PHK"0EF;W(@*#L@*G$[('$K*RD**PD)"6EF("@J<2`]/2`G("<I"BL)
M"0D)*G$])UQT)SL)"BL)?0H@"B`)+RH@<V-A;B!T:')O=6=H('1H92!L:7-T
M(&]F('-E;&5C=&]R<R`J+PH@"69O<B`H<"`](&QI;F4[("IP("8F("IP("$]
M("=<="<[*2!["B`*0$`@+3$R,38L,3$@*S$S-34L,3`@0$`*(`D)"7!R:2`]
M($Q/1U]04DE-05-+("L@,3L*(`D)96QS92!["B`)"0EP<FD@/2!D96-O9&4H
M8G5F+"!P<FEO<FET>6YA;65S*3L*(`D)"6EF("AP<FD@/"`P*2!["BT)"0D)
M*'9O:60I<VYP<FEN=&8H96)U9BP@<VEZ96]F(&5B=68L"BT)"0D)("`@(")U
M;FMN;W=N('!R:6]R:71Y(&YA;64@7"(E<UPB(BP@8G5F*3L*+0D)"0EL;V=E
M<G)O<BAE8G5F*3L**PD)"0EE<G)N;R`](#`["BL)"0D);&]G97)R;W(H(E5N
M:VYO=VX@<')I;W)I='D@;F%M92!@)7,G(BP@8G5F*3L*(`D)"0ER971U<FX[
M"B`)"0E]"B`)"7T*(`I`0"`M,3(S-"PQ,B`K,3,W,BPQ,2!`0`H@"0D)"0EF
M+3YF7W!M87-K6VE=(#T@<')I.PH@"0D)96QS92"6EF("AI(#P@,"D@>PHM"0D)
M"0DH=F]I9"ES;G!R:6YT9BAE8G5F+"!S:7IE;V8@96)U9BP*+0D)"0D)("`@
M(")U;FMN;W=N(&9A8VEL:71Y(&YA;64@7"(E<UPB(BP**PD)"0D)97)R;F\@
M/2`P.PHK"0D)"0EL;V=E<G)O<B@B56YK;F]W;B!F86-I;&ET>2!N86UE(&`E
M<R<B+`H@"0D)"0D@("`@8G5F*3L*+0D)"0D);&]G97)R;W(H96)U9BD["B`)
M"0D)"7)E='5R;CL*(`D)"0E]"B`)"0D)9BT^9E]P;6%S:UMI(#X^(#-=(#T@
M<')I.PH@"0D)?0I`0"`M,3,X,RPR,R`K,34R,"PR,R!`0`H@"69O<B`H;6%X
M<R`](#`L('(@/2!R97,[('([('(@/2!R+3YA:5]N97AT+"!M87AS*RLI"B`)
M"6-O;G1I;G5E.PH@"7-O8VMS(#T@;6%L;&]C("@H;6%X<RLQ*2`J('-I>F5O
M9BAI;G0I*3L*(`EI9B`H(7-O8VMS*2!["BT)"6QO9V5R<F]R*")C;W5L9&XG
M="!A;&QO8V%T92!M96UO<GD@9F]R('-O8VME=',B*3L**PD);&]G97)R;W(H
M(D-O=6QD;B=T(&%L;&]C871E(&UE;6]R>2!F;W(@<V]C:V5T<R(I.PH@"0ED
M:64H,"D["B`)?0H@"B`)*G-O8VMS(#T@,#L@("`O*B!N=6T@;V8@<V]C:V5T
M<R!C;W5N=&5R(&%T('-T87)T(&]F(&%R<F%Y("HO"B`)<R`]('-O8VMS*S$[
M"B`)9F]R("AR(#T@<F5S.R!R.R!R(#T@<BT^86E?;F5X="D@>PH@"0DJ<R`]
M('-O8VME="AR+3YA:5]F86UI;'DL('(M/F%I7W-O8VMT>7!E+"!R+3YA:5]P
M<F]T;V-O;"D["B`)"6EF("@J<R`\(#`I('L*+0D)"6QO9V5R<F]R*")S;V-K
M970B*3L**PD)"6QO9V5R<F]R*")S;V-K970H*2!F86EL960B*3L*(`D)"6-O
M;G1I;G5E.PH@"0E]"B`)"6EF("@A4V5C=7)E36]D92`F)B!B:6YD*"IS+"!R
M+3YA:5]A9&1R+"!R+3YA:5]A9&1R;&5N*2`\(#`I('L**PD)"6QO9V5R<F]R
M*")B:6YD*"D@9F%I;&5D(BD["B`)"0EC;&]S92`H*G,I.PHM"0D);&]G97)R
M;W(H(F)I;F0B*3L*(`D)"6-O;G1I;G5E.PH@"0E]"B`*(`D)*G-O8VMS(#T@
,*G-O8VMS("L@,3L*
`
end
--
Emmanuel Dreyfus
manu@netbsd.org
From: christos@zoulas.com (Christos Zoulas)
To: manu@netbsd.org (Emmanuel Dreyfus), gnats-bugs@netbsd.org,
ljt@alum.mit.edu
Cc:
Subject: Re: bin/13400
Date: Sun, 15 Jul 2001 11:58:07 -0400
On Jul 15, 4:56pm, manu@netbsd.org (Emmanuel Dreyfus) wrote:
-- Subject: bin/13400
| Here is the latest patch. Hope it's okay now.
Yup that looks good now. The only question is: Is it exiting or exitting?
I think it is "exiting".
christos
State-Changed-From-To: open->closed
State-Changed-By: manu
State-Changed-When: Sun Jul 15 22:01:25 PDT 2001
State-Changed-Why:
The patches to syslogd were commited
>Unformatted:
syslogd.conf
(Contact us)
$NetBSD: query-full-pr,v 1.49 2026/05/14 01:52:41 riastradh Exp $
$NetBSD: gnats_config.sh,v 1.10 2026/05/13 22:00:09 riastradh Exp $
Copyright © 1994-2026
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.