From sa@simon.org.ua  Mon Mar 25 02:17:55 2002
Return-Path: <sa@simon.org.ua>
Received: from lion.com.ua (lion.com.ua [213.133.161.130])
	by hub.freebsd.org (Postfix) with ESMTP id E188B37B417
	for <FreeBSD-gnats-submit@freebsd.org>; Mon, 25 Mar 2002 02:17:46 -0800 (PST)
Received: from localhost (localhost [127.0.0.1])
	by lion.com.ua (8.11.6/8.11.6) with ESMTP id g2PAHbm17117
	for <FreeBSD-gnats-submit@freebsd.org>; Mon, 25 Mar 2002 12:17:41 +0200 (EET)
	(envelope-from sa@simon.org.ua)
Message-Id: <20020325121532.V17096-100000@lion.com.ua>
Date: Mon, 25 Mar 2002 12:17:37 +0200 (EET)
From: Andrey Simonenko <simon@simon.org.ua>
To: FreeBSD-gnats-submit@freebsd.org
Subject: Patch (against core dumps) and improvements for apmd(8)

>Number:         36285
>Category:       bin
>Synopsis:       =09Patch (against core dumps) and improvemets for apmd(8)
>Confidential:   yes
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Mar 25 02:20:01 PST 2002
>Closed-Date:    Thu May 09 13:12:50 PDT 2002
>Last-Modified:  Thu May 09 13:12:50 PDT 2002
>Originator:     =09Andrey Simonenko
>Release:        =09FreeBSD 4.5-STABLE i386
>Organization:
>Environment:

FreeBSD 4.5-STABLE i386

>Description:

Following patch fixes several bugs (including core dumps) in apmd(8) and
adds some new features to it.

This is detail description of main changes, number of lines are given
relatively to original source files. Utility nl(1) was used for
enumeration.

--------------------------------------------------------------------------

File /usr/src/sys/i386/include/apm_bios.h

168=09Added new macro APM_NPMEV, which means number of power management
=09codes.

File /usr/src/sys/i386/apm/apm.h
File /usr/src/sys/pc98/apm/apm.h

21=09Removed APM_NPMEV macro, now it is placed in apm_bios.h

File /usr/src/usr.sbin/apmd/apmd.h

36-51=09Theses lines were removed compeletly. This enum {} duplicates
=09PMEV_xxxx macros from the <machine/apm_bios.h>.

95=09Added prototype for the new function Syslog().

File /usr/src/usr.sbin/apmd/apmdparse.y

39=09Removed variable first_time (apmdlex.l was simplified).
=09Added prototypes for yylex() and yyerror().

53=09Fixed incorrect type <str> -> <i>.

56=09Removed toked UNKNOWN (I don't know why it is needed)
=09Added new token ERROR.

67=09lineno is initialized here now.

69-72=09Now config file can be empty, and empty config file is not a config
=09file with incorrect syntax, as it was before.

81=09Don't use abort(), instead use YYABORT to return from yyparse().

109=09Added some cheking for perc > 100, etc. Before it was checked in
=09apmd.c.

110=09Don't use abort(), instead use YYABORT to return from yyparse().

152=09Return value from malloc() was not checked. Fixed.

165=09Return value from malloc() was not checked. Fixed.

175=09Added "| ERROR".

195-198=09Removed completely.

/usr/src/usr.sbin/apmd/apmdlex.l

38=09first_time variable was removed.

40=09Start condition TOP was removed, really it is not needed.

41=09%option nounput was added (try to compile original apmd(8) with
=09option -Wall)

42-48=09Removed completely.

49-91=09All <TOP>s were removed.

85-89=09Incorrect work with the return value from malloc(). Fixed.

92=09Removed completely.
=09Added ".", to catch every unknown character.

94-98=09yyerror() was impruved and fixed: it was able to pass NULL
=09argument to syslog().

/usr/src/usr.sbin/apmd.c

*=09Everything what belong to only this file were marked as static.

*=09Don't use any err/errx/warn/warnx function if we open syslog file.

*=09The -t swicth was added: test config file and output its content.

*=09The -i option was added: number of second between battery state checks
=09(default value were and is now 10 seconds).

*=09All assert() macros were removed.

*=09apmd(8) cought SIGTERM signal, but doesn't terminate itself
=09(proc_signal() and event_loop() functions). Fixed.

60-75=09Complitely rewritten in function init_event_list(). Why? Because PM=
EV_*
=09in <machine/apm_bios.h> are macros and not enum {}.

88=09Return value from malloc() was not checked. Fixed.

130=09Return value from event_cmd_default_clone() was not checked. Fixed.

137=09Don't use err() -> syslog(), return NULL.

155-165=09Why to use out lable? Fixed.

183=09Don't use err() -> syslog(), return NULL.

212-215=09Now these are checked in apmdparse.y, where they should be checke=
d.

220=09Don't use err() -> syslog(), return NULL.

228=09Return value from clone_event_cmd_list() was not checked. Fixed.

249=09Don't use err() -> syslog(), return NULL.

312-321=09Completely was removed. Instead new function turn_events() is
=09introduced.

324-254=09Don't use stderr, use stdout instead.

366-367=09Removed completely. See turn_events() function.

=FA77-381=09Incorrect loop, which cause core dump, when apm_battery {} is u=
sed.
=09Fixed.

387-390=09Rewritten. Now turn_events() function is used and dump_config()
=09function is not called.

398-402=09Rewritten. More checks were added.

407-413=09signal_fd[] and enque_signal() were removed, see below
=09New signal hadlers for SIGCHLD, SIGHUP and SIGTERM (and SIGINT)
=09were added.

421-448=09proc_signal() was simplified. Don't call read(), instead check
=09three volatile sig_atomic_t variables.

449-463=09proc_apmevent() function was improved. More checkes were added

477=09Don't use err().

491=09Don't use err().

515-519=09Improved.

529-533=09Don't use signal_fd[] any more. Simplified.

537=09Why SA_RESTART. Unclear for me, nevertheless I changed this.

545=09Setup SIGINT handler if needed.

554=09Not clear arguments in select() call. Fixed.

563-566=09Rewriten, because signal_fd[] was removed.

576-619=09Added two new switch -t and -i.

=09daemon() function isn't called here, instead new bg_init() function is
=09used: all descriptors are clos()ed, SIGTTOU, SIGTTIN and SIGTSTP are
=09ignored

=09stdin, stdout and sterr -> /dev/null in daemon(0, 1) call

=09fcntl() functions set close-on-exec flags for apmnorm_fd and apmctl_fd

=09And all code here is more clear now.

File /usr/src/usr.sbin/apmd/apmd.8

*=09Some minor fixes (see SYNOPSIS)

*=09Added information about two new switches -t and -i

File /usr/src/usr.sbin/apmd/Makefile

13=09Removed switch -n. apmd(8) knows nothing about it.
=09Fixed name of the configuration file.

--------------------------------------------------------------------------

Results: many bugs were fixed in apmd(8) and two new features
were implemeted.

Unfortunately I don't have any opportunity to check apmd(8) for correct wor=
k
with APM. So, I can't tell anything about this. And please check it with AP=
M.

This patch also fixes problems described in following PRs (all of this
PRs includes correct patches):

bin/30639
bin/30640
i386/32251 (this PR also introduced new feature, which is not a part of
my patch)
i386/35182 (this PR also introduced some signal(SIG_DFL) calls, I'm not sur=
e
that this is needed)

Comments?

>How-To-Repeat:
>Fix:

begin 644 apmd-patch.tar.gz
M'XL("-WZG#P``V%P;60M<&%T8V@N=3D&%R`.0\:U?;2);]5?R*:F?"V%@VEK&!
MF"9I$MP)LXG#`NG'3OKX"%O&FMB2D&0(W<U_W_NHDDHO0S+=3D<\Z>Y9#$+E7=3D
MNN]7E6('RVDKL./)O#UUP^UO_HH?T>OL]?OB&R&LO7X'_Q6BV^-_^:<CQ%ZO
MMP>/=3DSJ[,*W;[?>_$?V_!)O<SRJ*[5"(;R)WZ7MKYL&TV>P_@=3D!_]L?.RC_]
M^B?N874ZN[U>A?RM3K_;MY3\>QUX(*S>3G_G&]'Y$W&H_/E_+O^I.YN)5K@:
MB>U5%&Y'X03_;4>7KD?*L/W._N3,W(4C,M\V6JW60RN,GYRI.`I"T>V#10\Z
MSP;6ONAV.M9&L]G,@C/.[5B\`SET=3DT37&O1V![`&IG8WOO]>M*Q=3D<U<TZ>_O
MO]\0K]X.CT8_G+P=3DGA^*N[:_BH-5O"$V1.Q$\6"C9;0)#=3D&"WYEPX@E];4]\
M#PCU-IK9Y]N9"0BF[7J3Q6KJB.\NHVD["/VK]O+3\XT'&45`]H7V>1V3>(9Q
M,5^)H]65L':%U1_T^X.=3D/(OD1.0E,:@#OX..->COI@SJ[IM[HDE_(X/:'VMD
M6M_7GS3D<JMMB?H/H>.\/#]NB-WM[O[VLV<\\V]R>""JL#1OA-7>:W?;)!-K
MN[._K>,;KL3P<R#^1N`V6NWCJ?C'RG,$X".L9[!-$X<`^<D<Z#09;=3D$^CL71
MZ;MCL0^?WT?PU_E<C([>#8FBG3VD"/Y^QA3!L_-?1N]/ST_.X=3DMHB6L"\<-"
M3&%#_C03I)C-Y.M1F!UQ<<3U8B>\L1?):)R`NN%]CH?GK\Y.3B].WH]H*U#A
MY920VNN@'NYU3<MBK-0.(O;%I2-6$0C)]42PL">.\&<BGCMBZLSLU0)W.;5S
MVB;:@,5)7(+;:+6\=3D$($$3DP<QH!^/C6<3QQ:<<PZ4Z`.XH=3D,9D[DT]16QSS
M)J5/-YH*KG`CX5ROX`/@:W44[!2+>*-Y`48D$#GW2K#9>U/!-B;<.,)'L>/%
M;:"'UP#7?G3"2S]RQ-*?.OA@N'BDM4PT%9\\:"T3XYWOL;7L0"09['3@M\Q:
M)CEWTNT-NL]2:]D!`>Z`<L$_/9*C$+4'C6!"1K`#1F"E1J"AX47V'4B,#*%V
ML"&>.![P0&QO"<^/Q0)$(+:VP;VTGB3NQ8XB)XS;\^<P._4YP.0X=3D+VKW+@3
MAL41S\^-S29>O,"Q9CJV<"^O'"\W$4+\/,J-1>Z59^=3D71_'4#O/(P*";WQK&
M8*?"H"(%&=3D_;-T$@S=3DXSL\]FK4V\B[;CN\`IX(3C[M(I&;ZUW3B/+`R'3N2O
MPDE^Q=3D*>S%W/06&.+UV?]]$FU$C*\QJ*R/D,]N*A.1IW=3DX$=3D1D[]QG>GC8.-
M)AJ6.Z%'4^=3DR=3D35>.#?.0AR*3NZA[4`ZX?[FP",K^^A&6DMA#<:OL32]PD-`
M;Q(OQK.IB8KN^>$2/L.49-)D;H?&%H:K[,*%?^4',0!\^_[U>'0\?'OTB_B#
MOIR>'.L`;OP%_`L6#WHPMF-_Z4[&L0'LA/PH'L\6-F%E0IC%O=3D57B*?P`[Q=3D
M3+4Y=3DG3G3<8(2(UE4/4]=3D#*$,+)]'+A3\C6'%!$0,0SOM$2;*R<SA_3YK]Y#
M.O":EX#XD.JB=3D'@XP_Q6`9'UL(OSJQ#'S83^DX@/IK8L788T@'B#KP!7M"5B
M^W)!T0-P!RAS<,`+)XSPV3:X#X@GH,=3DB^.-P=3D"&Q&Y^,3BY.CMZ>_,_PK#[\
MT3QKB-_%$_@@1A_>OC7%F;@W-UI@BZM)S%"5FM&7Z)\,[-W1S[\"-K^CG`I3
M#3D5Z!R/3M\-?_R5Q`,X-P'GMR[P!5!6\8<GXZ/M!)I\-K[%ZF+,Q&UE!Q<(
MYI"P)NA@VY+<ET<70.V;_P)2+W[$V`6.=3D>[?BJ7MW3TJ1KX@5!(57(U1'7#B
M>#+_A%]N8./,+H3!&E<@'^%7>`;>V`_KJ8*(K88D03,P=3DXK!V(V9>B*7P6TT
M@>M&&=3DNWG)L#G1'KY"[.&L9'@.,@+2P"T10HK+%X\@26'LC'K>>>O42M?8)C
M1C(Z64YU$:0/0N=3D?SH05\U"<(4+"J,1D])X>F:+36#?M_.)H=3D/SRE[/A?T.:
MN'[FA_/3X>A8S:14#$))#VH"JV]V.1FK7O[A?'B6`_$8M,X_O!L^1,.KH].C
MER=3DO80"2QC=3D'H]>\HG4/+F"C!<;1JC:.%MGS5QI'*_4$?Y)IW&LN2.:L`J+)
MQ)FN0D<ZGZR"0@VUE2AWR:/TRU@"'$\6OL<6)+;BN1L!<W\'_A87"W\QA:E`
M+TX#>LOF>,XMSUG:BX4_J?.:UO.%XZ'QE2SA%>AMFP9D9W517P>C(0Z9WPUT
MBH8!Z05$TSK&SN'9F2EJO&8@GBYKM"%$RW@%/D$Z,`-X:O`&8''@+Q+QI<.P
M#XQJN^H/I96JI_CU@"OBSJ[9[X/^]Z`DX:I8BL[Y[&"`78+TIU)JX+STC$"7
M"\X>VY,X+Y(BNVDJP`\TD6"00[BK2`:QE@$!<0QZXT[+^$\P($=3D)0#0-"LH9
M&$V&81@$1"`JMR[HOZC7800FS?SP4[W1:!":$QN"><O"LM]@5RIN[=3D"KUR:V
MAXDW3D;9P.,K'ZH>J&0(,PDR`Y%4D0!V"![8$>4U;`911&:B#?-74.G(0;5H
MH.0,)'%1'Y\>7;P9OSQ_,\3X6XOF-?B[-8&_`Q`R6*TIZC)*D'[14F"/&]>M
M[A[A*TU&80*Q!WV"A@J,3WUB`O$*Z,",&#XA5:;89*ZB/R+R[\7M'%,5IAEY
M+38W!141^'4(WN.,E1AV&[V_.!L>O7HS/&8J$S;S8PIVDOZ"42`WE4D`59>A
M8W]"N`E!39T@!B)1JR)`?(=3D>%3---%K&^5N%,]MF"2(*&F1EXNFJ03B9J)M,
M9F*MK'4&6>L]N&70D0%\E$\9"R`%'E$$;^7,9[I:!IK]F`)30+$U"QJ%V+]^
MI;2\60`U4SRKSP*@07RL/8T^U@#O>KW")!NTEM6**)/KOV(MTECFXQ_IY8FH
M4A=3D?[4\2_UN)8F48(>B5?D9S]I6;YX),252HQ&HM4FG@*`2%U+D[-["Z71$6
M^&$V."1C)5"R@2(=3D+$[U@\)$/R!O#I37D[#D$OE`_705I$$1U40C#MP*&&,=3D
MZID:&`WF.$LH>\,[]KB2[@(+4:9*-LVOV+8B&/.B=3D<&XN0ZE1%N4G>>,-Z_G
ML]`IR61H]`O,#1+IPER04&XO/XBH,!-&,72;Q5'T*Z;LG/=3D-ZYEH=3DJV.:67R
M!,[H.5-X1*+`T\M3!4P#PHE*`:0FN3[4NW6M:P&%X\G[\=3DGP'\-7%V^/SB\H
M%2=3DY<B37!0KAY^35$&.)[5*SDK?_Z!5">0L]MD&[8T'/OCM1O7"B-.P+T*%@
M4]"Q"I0&@B`7M8Z#BJ9SG<?)6S*Z3.*I#%#F5-JSD/?WS1T+A+S3,7=3DV=3D"%#
M$N@&JP6F^GI1^779//FW<8H.5:_%B4%53@]:N;PK\\9BZQIHW93/(0!";E$7
M!\$!)9L!I\Y22;AG6H=3D!'_X02JP2Y$:NDS1;GU`/<CY+98J5O@M,7V$!.'PK
MW7,>G:8AH\5CMFT:A4!@(-ER[0'E'L*X+A0*<A%QIRVGDAZQ5T*'\V\(94M<
M:RP'"IG*:Z:/A@LLN.9,F=3D`/%/I2!)(!B%5#,4@;4X"PJ(:L-7T`S"*6:)_O
M)9WDB4+G"BASPK&JB55;K`XST0%1I\_$R6+JAF`GKN^Q>72[?;.'QV.[S\Q>
MGWL%6..J6>+0`M';7B1NH2*&K%38EZ@1Z.$8+&3.$(@Q7[]RO2NSL+Y5#L"-
M>>'4C=3D3:-JW=3DECZ2@#^W.N!N,"%VP@F(Q;YRQ',HXSLRQ]?\":^R+Z-ZLGD#
M.6HU^)S!BQSXU3"[L1<KIP2.A"3;/2QK;2"1$LMY78OBEC(,(['`6ZV4CMS?
M'']6KU[>^&*[5!97W`91*>0(25^N6*GGDG_J?D`=3DDA;JQ>;+`7*9NN&1L&/:
MA\YT#*.T42-9<TME/;>A473TF7T6/L)##\PS:?B[3N,%MG.&9[^,WYV,/EP,
MSP?J^^GP[-5P=3D)$LU/1/I/J@0S@^P9[4V>N3T6NJ(@WU0(T2Y1H2C":$/_%"
MY-`0`U%`I%E$)/V<A:*AHD%*\9!\DMEX)R$R;4B61A^EP!G->/2J<N],S7CR
MQ?G`G75$>)#$@%-7U#+X^&X,ZN[&4!E,%G7G!C<S1=3D)C;^"92?6\I,'>,$L=3D
MML*>'7K.C(%M1<@Q9(/:]L1<L*E)<%??I&=3DJ:[D4#:J>SF?N5H!-L:59#X)-
MYS<.V.0XQAQ(7T.^G`H<HX3VH.H!!3%"<CR;13F*3;'I2://3$APD1.$["]X
MW&[`KZI[0=3D$J::K_T_NU+9F>KJI??X&^(;*/\78YK93Q5/%*M4UD$,X&5T8X
MB<]\3:1K6OMX\MTSK;U\UW"%#>$'&H=3D8780K#VE;DV5D^H(=3D;N*I5.+AI`[R
M6R*^//G05@IFASS28ZJUC/UD],-[8*M-_@@\?\3=3D-ZR*6=3D@)BNG&*@U!N/Q8
MHEA:"DANB9GKN=3D'<F8I;-YZ+IU.H4TS)`"G&+UFMKQ49%>0&%5UAZ.S0_9A>
MSUPG1]%JT1T4#M;`J`A8L5:XB31SXN7CPBWGID+$A)2U:UH=3D*$1V^GNFM</E
M9DD;3>2Z8O8E'H7:"SQ8SAR'Y2M\-9&.H%W/1L&RH>A-V*;!?53\2'X[J7CM
MJ7ZSA?D@Y#$>-^W$W9T+WJ?YQ)U-G9DX'K[\\#J9@C3?W=3D'!,DZA"QY(C#P#
M_2FT`\CAL)M,3)?H-\1LY9$.MFG:R4QD#OHA?</I7CH?TDZ\263B=3D,.0!\C.
M`C*[*)Z"MU`3&%X-4AJZV/,Y@-`+:F3'+'.\MX/N)(H@I6SS62QSO(6LD`@H
MAI_S[B[UF%T_=3D.,[4^C'F1*0*=3DKMME;XNZJ+3UW9<63?8`2G+_CDQB8?:-@!
M5U7PG3(H*,5-A5M#%>DYOG#+]T;R)<4JP<0.6-S(&LKW5.N4^00:,\3L;R"D
M-[W)/\]#DG8?PF\]>88,SJ4*A7T^2CTD7"JF7#Z-I&,(.2E-.<8Q]I[Y`X*K
M,SZZJ9"YELA-)0%UU%PZRP@<KYZ[S`#;A[5L=3DMPJQ!]Y8H+K=3D3.1A)WGC;%B
M.OC9`2,A^^TY5`I-$L&Y=3D];B#&EGF%*F%SF2:U4449!J=3D29/95"G44T532N2
M50*#-:F*W`(<CBL/$4G"E?O-R%F1O!ZU)4TOLIB&'\GC?".*-`MBLH;)0>+'
MAAZ>\V]#U4KG_9`E"?CES*>=3D7.E(E1*!<MR(,O<?;N=3DV+#TYW;9`5X&[XOD1
M;:&N*%!]2M'>I6`B7$C`DNP-OC:;4F/I](=3D3,#=3D)P52$YDTX7LF"QN6T$)?=3D
M@N]P]`;@9CH3;))+50+!=3DM*R%-P*C=3D)I$)W/3S_73&WS-(/1:$H23J9).9P"
M16DBUZS$WJU&NOPT3*+]-)(HPX<ZHMT8"(+.JL2+,>"@^$R1XH9YDRG<BKST
MGHX8J1V;ZW@*U4[/--.Q1:T\F992N.7']H'6-BQM0UQK2>9#2E32`PO2%J*6
MY6LJIG2AX-63*A#Y^3OY]RS+N-PJ--BR"7!9N(AS"2M-T]IIR$%92!C:4#TP
M99J@UA1`'ZAH]8!^ZBW.<K;HC2+4"G7R^!BN-#-<6=3D-C3<$6>-(LX4G6>'*\
M46L41,F*1(.+S+I/0GNRZ#Y9)$^,F8[KTJ814'>M4*+/A_"G]5QHTJ]4R%)M
M4S=3DXGDZ!MXJ]A#O!Y3XH=3D]-H@%WA8;Y]TWA1>UH;U)8U?:[6RCDL=3D&E@A6IC
MUKB?9-2TUJ8\FF&1!HI,5297*?[C]+Y<[=3D=3DI_0-*7RXK35124AE%U+4[)P7%
M!"F-)KO0:]GYTP<JQ"%>0)Y9$Y"J+C/KUTH$%]$:$(-44J(N8-0UWJ\SK[76
MM=3DZXRFRK:%KWI;J<&E;!KN[UN-&:0E40^G=3DIM,A6C[G'G!9GRY,T_7A,$-G&
MWG[T?S]!R1!1FJ&TLH&[]9=3D&4#;+DM.JX/&QJ&QY<2N^AU5(JM(CM7N5+&#L
M*7,#I?W\DD'-CQ,%]=3D*EROADSZJ,B.*JQ'P;R5%AV21U=3DL@'9\49#6[-]*Q]
ML]?%5R]ZYNX^-V;NR[(SV>/F&IWL2);F6I)?DYI52^]E9;+!O,'R79"T<FVH
MDZRD<X=3D7V?2$\"#;_9&=3D/*R]T,=3DF2Z%VNUU1`>$6F7W+T"W;2-_@UHY$M)K@
MI;O9:L'UWS0M'C-\X9*@G"V%K%BUI<CN\5::UI1J93R<+AJ:C:\=3DJ*Q973;+
MEO[RO02\!$<N53)\%D@+SMPQDPW+*X=3DNRS5D'.?:<!8DI,Z"7+K'@VL`:3<I
M*NL1:AB=3DGAQ#1<N@UIW1J4T3W-;OX&OU,UX"1)9D*N?J;31AT4`5^LCR;7"'
MW@0O6:A-RIL@4B@-31G(8'1MX+,DP:]B15EMH)XK/8#X\,_NKP=3DIC'2\ZY4S
MYH=3DU.2\?*.F]'7E6I>9XOHJ5201*=3D[!^Q4N8[I6*/@04=3D4#[NJ;C(F^JRK?*
MF->%]X*(Y?H;1814=3D>'8Y#>-2LB@1D/F/:32S>X+ES+5&TY5,'-O0#T.*MW%
M'1,Z]4++7/KD7<OL[XIF?W?'[$N?;"C*T=3DA;R$)=3DJ+-I(]MZT2?D$I_T0I8A
M">)S?WEDA'ZQ3EE&0<"'&0$7[F8I'VFOKN9*'P?RV`+FD_-0UZM3`'2!^/SD
M]9L/IX/*\Q3):7%YAU-E06$DT4B>\?%QB`83<N)WU4"O?(P94__6$Y!%,[XY
M=3D/G^F,6?];MER1:OWKP]YBUTN>81TJ]L9V^CK[RD/2_%]12>06KON#?.M)U!
M)H5WKZYE)%JM>=3DXD>.9\7YE\%`G2X65I:.9?WU/]0F[)2]-<<R.NG,-16L=3DH
M]GVH!(:UB_Q()0Q\/AE=3D9._063HFNAFN02:K0Z!NVKV11)/2^^19UY]_V?%`
MUO?K[Q>6ONR8#??239.]0BR@A"$UZ1*C3B8E9IW4+NG%`]>;^4+-Y"@OS9NO
M.Z;W'$?#GR_D2UF;:D&#SUADX:(YIXJ[F&J=3D>-KI?094I\YG>=3D9):JL>M[E@
M2;[2Q$8>JCJ<#99<*\CS69FU9V#I?32*_O2VAHY\>I*;.\/<+(4G[8Q.";53
MV@SK"C=3D%RSGXK=3D9S+>/9D>J<I^U6Q;E5:A_55&M\K&!K,_6VZ6LL32-YCP65
M//?&2NZTU#`P4>$C-A]B`;\P;-(KPL=3D'PW?O1W(:,>QQ')8K2MXDR;Q*DG^7
M9/W+)(5+.K+_5DRMU:MQ1Z_&I^]_&IZ-SR^.+H98F]Z2T;1M=3DVQ/^+(Y79][
M4>RM##X"\)+[2XWRFHE>I5-M(1GR*<SWNY;9A3"_V^V;.QT*\P!XFPZ";QUP
MF][?8[HU:,K/EWX\=3DT*^68;Z7E:,:O=3D(F';=3D;7;X9@W9BAM&4.Z[8#]I@T(D
M*BY?058Z_GIXP7:Y*?DD'67)U3QU-H549U\J;&L.]PLW>J!4*-FL>/VZ>*]/
M9M87>)V3KLG0RB4:I1LAP^&3&SJ+.P'^U6G#1,B_(5B#.)R(_O>&V$55(BBD
M,_SR)/Z?'Q*7I/T'F@P+3'&I[H_"KXT7H,3"_LT%J<*BJ=3D^65P\,8V&#>!C<
M84Y;N:I/Y)=3D<BY/RQKN(/^%U4Z1`Y=3DILC";JU1SK*@]1!%-'I-G"$A7YFO7R
MJ-9`CN(5V)]__EFT1#3W5^!;2)>9:*`8"J(Y_0\H@'I$_X=3D(X(1@S$L1^4!,
MY(<QP\`T<^F#RDOV3?Q0=3DCQ?9.[*?HW2?JG.?K7*_EL:FSNGU1E,+N+OH4-:
MZ'I\K82TQ?-OX9L=3D(]MO'9@!3U&9B.%\[[G?>V9:>/%YM[]G=3DGN6NOFL_(JF
M>]_FE4^VJM:J9TOK-I>>>P3?'LI3#^HZ)]VR3)^ZK/U6T:]6=3D\;36Z+:Z4LU
M%MKI2P&/1RXMXD%]\<*122[>;&X2RM_*F?BN@AJK\UC5:<#FIN!+?$%RIH/3
MM/!%_W7!PIT!R#_^8)"E$-7]7;EO#F`]#Y%<S;;8[30:R:%G@GVS*5O\B0RT
M6XEZ,Z\\&7K%)4GF-7C,^TPZ19%II*+C\4=3D1F4,H!23(G855L2=3D[&B:6KK>*
MG4B5GA7I9CY;SB>@ZH9DH)V`J=3D/8?-99=3D3FP@E?)2PB*9\EY??`EAT79=3D>DA
M53+TX#&5SBH*VF5):"8++:2AA3STL8FHEHG^;WO'VM76D<M7\RNF%(+=3D:SN^
MMGG9;7I2<+*<!)QCDVVS0%V#3?`IV!PP;-B$_[Z21C.C._=3DAITO3[CFX#^,9
MC>8M:30:R0ZUTY<;H"3A,RI]QL3/V?)GW.Y!Y>(BJ/^`4#RF.Y],+CU=3D#5##
MP47_H^'P?,R#\Z0V74774L;(3D/:7W!>I;N30>]ZB#]/!VAAR;^=3D\YF+/EFL
MFVS`#-F]*?X!6;\7U83_$M872`AN^^>YZ40D>FU"&O5RN_>O5J>=3D?RHJH2L+
MR.BV]B,76E&0DNVV<X[S7.FT'T5:0]E.QPL$I"2`+&A0^;I/)_!K<P2'Y@XO
M+J=3DWT-O\4P;`;EIF_XUUTT1,";LW&/C01:5U$P5&F0;RCW=3DO9X&@MF,6#.II
M"I$^L6(2GRD+%:[I@YV3/%>`UNS7_:)]Y.HFC9T-9`DN,6R%K*>-"6,8:](.
M'9GG;M&,)N$\9+_B*9F5YQ39E:.,Q2?!Q/J+)(LE&)N3B$(Z<5)P1A]N4FA]
M9(F/)7R%8996$;UQL3H7?E+/8UV0MP=3D$@>@2[3QAVY3\?=3D9]T>NT0-KI['-!
MUU#8#Z;7[./"`Y#CD@PAES-#),R`I\!/G`/1F/]]"G"G9POP$<K#Q+7`M-=3DL
M?$M]+>U(S6::D)IOZ4HV49-%-$$CC'CZPW3L&NZ<W1?=3DU_IB0$,_G8@>.!VC
ML3]@;J.Y"ZL2B3$Y2P%F)@J9"5Y"`%<I3V^AV$F"TRWY(BB(@D;\=3D1$#UKDW
M.IL5'_85$C8INO/M7F`R$-`[D-0AF-@QL.M3VSA`_WX`T06DK;PF&,"'`%Y7
M4:%_GTXG[@;4").>ZY)$\PV-ET50>^=3D)VFLD5Z)66V.>YT`OY/AOUY:%(+DE
MJ6:CNKXT$2@P(M`<R\@XNC'')^J/EJI1&4$GC^F$S\QXTC7"KWZ_FO,T;,X^
MR<MP_?2%-?1=3D"E+KT.@.S70"P]CI)K`,6B1R^N1]FX05>K+H_9&=3D/N^.X!OS
MNL%Y(A*HD\5GUWJ;9>188=3DD=3DDW'CLV4FP'9;RFBZS_K<%[F(L$#2,BP"D3KR
M(!!'[DT005PZO_<O0HX_]-!9GGP2Q#*P$$FOSD<7HVGN%+Z:UL2>QQ$IXW[[
M'=3D&[WLZKO0+?/^'2SB#THNA,Z4>"[^S]X9IV]KZDIN[^VS]:$Q3-J@G^_V$X
MU6.:[[S9V=3DW9AS,IVIC`TL`Q=3DK9:Y+FRT@3)"*8=3DL\I8K(=3DB$J2Q>3L;:@P*
M;FXT=3D\I7T`]?%L?5<',[UE#\/O>B/QK3S5K_I$AZV>]4__;@R-W!`QWA2W'?
M26LI)WVH:I`9WE,%.P0R!&`P>@"?Q\K[M]B+T\8MOKQ!0MM^J?L*`/B*BP\I
M7%REEA\UI@:%OFM2CFJ<G'$"[?F5P4J#")WL6$73/O&,QJAQN&^?=3D>?@A-]I
M=3D_PGAQKO*>.-^T@%!/VK#Y%2YHYG9;32L)1"7V-(7YO]Z624U\4+!??<R[!#
M&*&/Q`Y'8U8)LS<#[=3D2*7MDE.3.T3K2ECH.KT=3DWVFSGE9D;=3D[X818#L2MSP2
MSH]LZ`]9DA6`X>TWX]_'=3D$]^28+G;\LG*XNX3+EI7M<]Z-(R.I"#'_"OM#\W
MUEU"[BN9-8#[C!S`H>-I>F&UM[/5`E%KJP-`W+KQZ&28M^D(S<^LC*.(;Z*H
MDQ>.WM[8UC&2A/X)S:?7I?%D7.+%"S-R0[<PUDT9;%1=3D_(@E3=3DR)VAW4U<G9
M51[RD2^O/%LAX4AJB^#$AE]!"&<U!DM1'_G^5[FJ)"4<'2N$K9];(,(.(]G"
M,&+"$#=3DNC'!L-X.7HTMA@)5ZD8%@B]:*DGQ^>Z++2Q3`7H+DUX;>[/WTIKWU
M.A4;E=3D>]Y/'&.Q^\?=3D8#3CES:.9,)\3E"1&(X5B_^F]W=3DGO;K7_"T&I^TNYU
MMG_N>,;,&6\2!\-;6*?:ONZWY6O<.`EX"]HG5.#O")XM(U.(F8H\/_;Z87TV
MVVYL[;_Y,WH116L[D;DJ%0E4PCA*&(?B3Z%PQ-]*JTU;OP!/[[[;VFIUNYA\
M;U\[.\H0I%(&\>R9Z?J7SO;L6[/8.*$UI3"F3)[U(#Z33GC2>T3>ZND=3DL@U_
M;/>VWK1;O[2VYFD;GJI(J"D!(2.G;B3/(S?2KS+'?+?WI<V4X_D%J^YA1C.V
M^N8;3'-H^#IC.7<CN9EB-]C-'H=3D/M@M+AI,;*@,T>=3D-.+A-<%4@G,W``FB]J
MQID(=3D7$V,VK&V;Q1,\YRW9LQ1<T(UU6UUJC7&JL;(FK&*IFQP!?';C`V-L+Q
M?2ZW^.RV?_7LZD:WH`RCO^A`+2')Y4K5"D5:&-]<$,G4[TR,YW";('R$NS3G
MREL4[.RRQVZ;MM79V??3^#KK3?MGET8WMG1ARQZ\;<Z[M]N0NK_C8^46",`N
M88@UU?,\'N^6U^*X-W&;M_OB%W8KGNA`T!@8Y^&X<S(MJ%[O;5YZ:B2&0+\!
M@M[0^2#&;ZTZO=3D17:)G0A4*R)S\LH+WR)9<P2,E!7"+(O;:.WERC("WKF]:_
MN_7#,9_#S.:<\,[A8M-&_I@K5$+3A@#(`)?A$KSVS.GR'?F\X=3D"]WJN]=3DUN]
M7C3X@'/=3D$?78H5UU0"'`>34ZO@%JV`.Q!JUP^E-4WN!SBZ*J%E6M4-"\G;Q7
MS(_;R0,N5$)&3`W2MPIG*G_0J5^65ZQF<@5_M;,NURQ:[?,Z;6S.QQ'.AQ_+
MYRKZ<Q9?(*`Y68.#)>ZPH2J51K72J%<$=3DZ@4-S"F$GQIOS]`"F;%5"*T%%:I
M.E=3D8);::\Z(3904=3DBD8,@H6<%6PIR`X6%*0$*PH2@PBYI+ORM'_,@85H30-B
M?.%"/YQ]'^P-_3[4Y,..R@HMHI;IV+A\K?;;;Q>"9=3D81C"<W8PZ'M[Q,`.9U
M3\P4]*?6JYT]+$V::EVM?081-SR\!UST1O1[*/+\0!U.CP)\KZ)_'XYS!@>J
MEW1B$=3D(^*99PMMJ[NR^::!Q!>4V9UVWM[FRUW[3W7/ZWY>^6"#W_MCM8%'N!
M.P]=3D$2K7,!8A$.KN[ORV?UZF:"@1^:)I$+C25-:Q\.3B+C\5@V7V*1AL?AH&
M)\FD=3D<'DIV%P<D\R!I>?AL%)2<D87'X:!E^F2D3C`Z4A<V)8<G-<?M:0\-"G
M#@GGIS8B(N(EMR,"DHG(+9-41#-72D2(S%ZOF<LE)G0F#U$,+`&AV*O,TB.;
M%=3D>-A#/&;&)+(PA9K+5<"X5]7Q306.4+V(-*:?,H6`:,"X&A44!%`H\^!<FD
M*4BG2H$F2#DBS+.($8!8.N2-)D5C2J5#03H)HH)9RRM()SZZ;,:*"M+)#C<X
MG>H$Z02'RF;1FR"=3DU%#9+$H3S"`RA&`VC0G2R0MAR*(N@20L:7U/)2R!1U,2
M:Y]!4P*/G*3BR)K\*"7)7'=3DI2V`6$=3D&C,0<-X=3DUER$<B_<"P@+-(1R"I1@;9
M"`X.&H/1A]&T<<1T@\RDN>TC<U%U=3DS=3D%TV]]UY,3R*PW9/8A)*C0P>[%D29$
MH@I*C%=3D2RJZ%EI\Q..5**)B2ZQEJW;9VMQTIU`=3D;`:&#'3!,H(LGE@],T92R
MI@6'GR0(R9-TU>#:<'@?J0+6D)>_>/#KXE%PN)@3EM4ZZ@D(YO"'&1)54E7A
M`RO/0P=3D``&I"*1F/X(@@4&',X:X,`975]B"]V8%K<<Z8S(S^,^QEM3HPK5;1
M9J>VUACC./?EK#&E`GC7Z3D)COL.C/L[M^O)7M<9VQUK,.5:5U2Z!]JN2<=3D3
MDTL60`X@%<-%KAQ65O3,<-PD5U-WOV.\>^?$T>'7Q4_WQ>:WA^/#J0+^;`F%
M'A6._6*V@IF$=3DWNO]]H_:U9<EK.C`0\J1[0RZ=3D##3_"33DXV')$_8/3&:7F`
M-O;DT:E,KBRTQ&!&PWS_N-B`?_#1ME4-\W!)]TBQ.0&\NI:;!M]Y-B+/I&-.
M._W:=3D77&Q6@F_KGPDJ'VG%IG<GQ2OE-^PBP]`X/-J6DPT"+:.4+7&I6:T#74
M**8-?%77_3#""8&)TR(J.]U!D*0F2(R!_*`Z`M_IJ5&3OW]/"2J4[DZ%5BNB
M-.#TF.X@XK/X?/@Q*6QIX@[1)GJD78"5-$:E`K(KWC[3J^:<BK/FG(JS)NOZ
MAK<I&F6*466@1EH[O+I6#%=3D5L%;'+UP"R]/)[T,GA,L$Y)_VMQ,2HJ+`0HD!
M4'OTW/)<R>(7`@,R2@$PE3`K=3D4S3YGP_O'VNQ\BK4)-*0^5<52+3)A(!I^FA
M5SK8'"$R:1N?M$RK1K4`5(/>(-@FE\;6)Q903]USY6PG1!9,$3UU2DO705MA
MXX8JV`CQBV:-J+4F33UR?U3*-=3D0G%=3D$^A4#8#0QA#PA&**R\?)5K"K24A&@Y
M]A&6QG<_:)ZM'T-^EJ`&3".AFX@*NEK?W&!/ZU#<K#(Q%$*"L,-@!0=3DD@)_L
M0[DLI?12M:B6ZM*<M'\\H>M];#.^MS4OE=3DZ_?_%3N\-R9Y(^&=3D!8&R$.&EJM
M%#=3D4$%8W3"PPW1=3D<PO$5E+9L6'&8V55C];54U:%LK$1C!1H_V(V54FR_M+&J
MP8214Y9J)MJ-CRTM]$T:UMA4Q"X@:")J\-_JPTS&:GPR-HMA%2.XKN(WSH;<
M6#`S3,AR+!HC"046,NQ?Y9>6R,+<TEH0,T-CW!:#LI26H11#X8L`!%D*7=3D,^
MRQ5-6A&_%<:T'HH6B@J^PD)VW)#9):(A0?S6U6(#5U_'_1BNU<R&_.R6(5(:
MN]F2W!0"O5@*A5-1LY;T>]YHW*,OBJ^A']?:Z$%+56[MFF[M1LW0/)Q9Y@],
M=3D5V#(R<)_5`A.90@OR9-"3.(?97'"_-$,Q7:6713-)EHX?BY9)[31L*.`\PI
M42\C>;K['.8R6DI'N5S$=3DB_R^`(SP=3DA>E5",K^"[7S:T^MR;-K@<,G'NX17P
M_V<#K%MNAGBS2E?QU7"-=3D]R"6[D-%D[@/+:TI#<7GM!@3Y*4@N<TTU!USTRU
M9"0+Y,I&XBD9"F/0++!?TB:)":6%)X^?/^.#IY'2)5H;E(%Y/AO5-M9*D%8^
M*U/B@]0!_'VM7E=3D/%!SF5BOXK52UKK_Q4UL-E5JOUP$(_EP#L-5*O?Y$51ZD
M]AF?&[3]4NK)]>AB,LZ``[#3TZ_1H*_[B1S?\=3D"**P`/M<_T*IA<C3[DNOVI
M:@,I4U55J35J]0:<NL+-S4TZO&>4EN?X:JT1UALP[?8<'VX2:]PL&HN!9Q'?
M32@6D#315>':0BF23O(,K).:=3DIVI^-G0H#_M$QKA*NUZ<CH]`<+Z5P_TW_3C
M[W^MI2@YK<8#T(%9^W^]MF;W?QW8.(!5PMKC_O\:G^3]S\M`*+<<(2`MWB;J
MY<):HTX6HI440A!'0QC(BFA-54.@(XW*NJ`((":O:6EY(V)DFG"/E:M\A(K[
M'DST*HM`CCV0^"V4(K@3C("CQC<7Q\,K=3D$MU.?DW_''1'\,A]6+(@ITZF0R&
MY!$^B!&DG*YO0!1)_PEG+OSC]#37&5X/KV[1_^<=3DG#C9Z^%U#HF5AL:(KP0=3D
M2F@VW(Y!5PUT%:#;K=3DV2;LQ`68^#!#U[_KW]?WFRN?'7\O_55>3_83U\W/]?
MXQ/;_[@"?/Z_?W:C7@Z/E=3DI0(1F&UT.GO,\H[?/_U488/O+_Q\_CY_'S^/E;
+?/X+.(]5<P"@````
`
end

>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: gnats 
State-Changed-When: Thu May 9 13:12:01 PDT 2002 
State-Changed-Why:  
Misfiled PR, resubmitted as bin/36374. 


Responsible-Changed-From-To: gnats-admin->freebsd-bugs 
Responsible-Changed-By: gnats 
Responsible-Changed-When: Thu May 9 13:12:01 PDT 2002 
Responsible-Changed-Why:  
Misfiled PR. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=36285 
>Unformatted:
