[comp.os.minix] utmp/wtmp-related patches

archer%segin4.segin.fr@relay.prime.com (Vincent Archer) (11/06/90)

I've been working for some time now on the subject of the administration of
Minix (between two attempts to write a REALLY Posix cp. What a pain in the
neck this one). As Fred van Kempen <waltje@minixug.mugnet.org> says:

>Hmm.  It seems like many people have difficulties in using the GETTY program.

I couldn't agree more :-). That's why I posted some time ago (in September)
an INIT replacement to the Minix referee's group. It was a SysV look-alike
INIT - more so than NLMUG's INIT - complete with init, telinit, inittab and
all the stuff. Apart from a few bugs, it was good, but looking too much like
an AT&T product. In short, I dropped the idea of posting it to the net, just
to be safe (Dr. T was worried about copyright and lawsuits - for good
reasons).

Acting now from a description coming out of comp.protocols.tcp-ip.domains
that Glen Overby kindly forwarded to me, I'm now working on a totally
different approach to INIT behaviour/control. When I'm satisfied with it,
I'll post the results first to the referee's group, then (maybe) to the net.

[What worries me is Inter-process Communication. I've got 'complex' commands
 to send to INIT, and 'complex' results coming out of it. Any idea how to
 do it properly under Minix?]

>At the end of this article you will find the sources of the latest versions
>of my INIT, GETTY and MODEM programs, with example system files.

As part of the INIT package, there were a few bug fixes, all related to the
way utmp/wtmp (and btmp) are managed. Since these fixes do not depend on the
INIT you're using, they can be distributed over the net. You'll find an
archive (with a ReadMe) at the end of the article. If you move to the new
getty.c, it is fixed also (quick work...)!

The lucky Minix referees that had my package will find nothing really new.
There's an additional fix to write.c and a new command, wall (write all).


[Fred, a separate message is sent for you with comments/fixes for INIT. If
 you don't get it soon, mail me...]

--------------------------------------------------------------
table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 xtmp.shar.Z
M'YV-9<:@>0,"#X@6(*24"4.F21D%<\J0 7'BA1<L+^:\V'@"A(^$"QN6 <&#z
M!\47)Q1@40'"S!TZ;>"X&), A9LR=T",>=.F31@W$].XT<G3)U"-+F'*')-"y
MI4HJ:-+,(=KSYT0S;^3XI#-5*(@P(-#4,=I"3L@P8MB,Q*H5!!TT(W>ZH5-Fx
M[M0W9MS"+:A4)0HQ2EF J!,8Q,N8*4"0"4,';9B(<UR 2$('A-2O(.;X9,/&w
M[9LW; 2[>?-6Z!D0;;*6D2PDC^(R9L+484.'A<JW(U_4F2/G!<,V+P[#L3QUv
MSL [;B1G>5-'Y\_,< *F,>.:-%PY+=.HC0P"ZD@19L.P$0&BBILT>%0FC8DBu
M1IO$E\&:T4X7^UO&($97?N.&C6LZ<OPT!QN,E3$5'DJ!((908<CAFED[R4%&t
M5T,]-D8::=B&A1B$*?:&@7J-9)8=9<@1T5= .5<A&W,0),(8:OW40AUPD(=;s
M=FJ!8!-I^94AD43YO7%'"BXXA85*+)U1!AUTY#$3&=/5- :4><V78QAGA"'4r
M')7%X$(-+L0  U5&3?B"DDPZR9210< !AW]Z71;1?GG!P9A (-)!T$Y5'77Fq
MDDW.]%144T4(865@P4%:772D(5Y+68%0HAQ948C:3UB:%N)@2@67X&*-B?%8p
M&1J:148=8XQT(QR4BKH@&VDTJ:-7<(5AAW:NL?$&0T#.D0>79;0Q1V+W579Co
M:F0$2Z95*HT1H'$@/E=''6@V*5A=<]1AEE[X5>L:&H]A9FA QI;8!H.=Z0G=n
M0FL8%BL:&EK%+:)NN*9?"[J>H6100Z7IEKGH$@>"D#=-),:#GU46(&[V@3O4m
M@F[XY=,:(*:V;41NG%BL86'D0:21RS5W[AEH5*9?&JG."X*W T>7<69T0.F&l
M8%R2P1R]$]4\J;MO@?#$%U(0<844DD$EE4J7W93J'',TZ)H8 <EVHG4E+GN4k
MCMD*]-54%I?17F*1VDF'0%\G%MY5E+:ADLYR8(=""' 32Y!0]84Q1F5WO+OIj
M;B6>,%5]Y[KQZ,+7<3O4&RZ;IM(+R=KQ0II%.PB""%W_BR (,OC >!F.NS';i
M>#KFW3-=EQ,HAY(-/\??2',XZZ,;1+I0Y)&T)PFHDVU0^V24*$PY'8XC8:EEh
MQI498<<2?EMMIK<S@3!#F#(T1?L6!'*)FE"$!4\&E(WR!X(.+<B]J9UCK(%Eg
M&5VHU.:;_Q&:V9(#UWDG7'\39(2IR;.L*+ 3.?$&B6V &G9H\);9&:TK4Q'5f
M'% F'CC=J&EM8!W\\ ("L>%I*N%ZRQNFUJ^]L(IS:6#.5"P(+Y5P"%%N@A60e
MU'6CF]S!0)5A&>&J=I\.CL1+8!+3P&XR.R.QI'ITF$E-7 @"$IDHA(?+"Y_*d
MI!$@SD1Z*E'(F^R6I[V 9B)&7*#W* C$KTF&,LD3BNN@E!;7:*:!59-7;("5c
MNHAAX48X#-.85B>8$WH(1#99B!S\0ZR]0%!547'#:7;4LNZ]+%(+/(/@6/05b
MLZB$;V0@$@B$ *BJY6%)@OE='ICC',Y8!E%3$0$0Q4 >%(AR*$ $P2AM1)"Fa
MD0@Z5$R!AC99AQ-X$DTH"HM4]"0Y"MXHE?GR2FRTHRT#];!VJGS#&82R.S-(z
MB4K ^TJ6MM2E+\E1>4U4)C/71+OU.=!]<XI?!>>7IST5Q2K97&9RQC"HRXSKy
M;IOZHX*HI;(RX&&7EF+>&+XBAIL9IC!U0<MV%,00E02S0F/821WFHBD4F&$Ax
M="BFI)C&*$=UABV;$H(0IC"9$[3!,%E9@Z;X(TL4D:%963G4IL00(*&T8#$^w
MV5=+("I1+FJS@_AY3+8BJ+*#JLB$K&N,'.@R$?[ R7N;<UR:AF(3!95!4\<2v
M2J0\%\"J^7(O:?H8[9#$,<X(,8\Y6:*\O")6/]VA@4\TT@%[%-9SIJB!0IH*u
MI7BD+I;NB@QC> RB4&.@IBG),U_Q9+[VU0*O\,U$LZM"1,PP&\ODA9:7$MQ?t
MP:)1CJKKK'(8RF%1,"QQIB$F=9'9:8Q#&)LAYYA<O<- FOG,WUDI>-,D'@CBs
MJ,.RFDFU;TAK-U/8OLN0$+"VU0AN!86%M4X,1+C]&@C"PQG7W"&D6_MD\IJ6r
M!GYMRBAU$,\<=F 9%ZQF<K@=3$3D( *5Y,V31G4-E.8PQ?:-!%8WF8KHT#"Yq
MPY)GL!(I[,Q,"MZ!$"5CH"D#><[+AK4=QS #21Y^BSH7@MQ(+BU2"VI78A@Yp
MQ&HUOG-F[Z#Y6FD.SWJT'5-P@V-ANNA6?;R-TPCG!URWWK;$&&[GBL=&WW=Ro
M!3.!BQ2'3N.5.\#8<('5U0L9K"J"^/C"@)TK'53B/;#X2[4E&LEH^DD&YX9Kn
MP99AJO=:Q-,98D<$;Q!#ZXI)G@O)80QCX=)/EJ:29+E,M#N\+J:4%,&YB#,)m
M3D@"%3[V @4$Q+\&0<AZE@(1(%7D(AG9"$H\TA+A-*\D)TD)1EB2-YP<I(A2l
MR2ZL3@06X;2 2WG(T6M=D( $!($P Y&##D!@!3$R"@1!.'/A5-#G2:L$!"R9k
M0AY& X<%SF'5E<[)%D8MN_1A =>U'H$8V5"'9)'$5QII4G0B@P8?J$39;H!1j
MLT?" S.,82YL<$&UK[WL;3\[9K 2@[BMC05L:]O9/*A9"-=-[FPS&]Z-BB"]i
MVUUN>!,F)OLVDD^$@H(&G6$,@C&X':1'MT8>? ?- A=V5*#P+70!XEC8PZT=h
M/H86M #C('"X'5:P I [5D<&9PJ"M3.2@I^NX^%S%TY00/'3C7P%*3!Y&5@Tg
MDF"CX I4: (4<JZ2/AC)YZ^5GD :A.O78ESCQX898U"696/%*D<]  $,3-YPf
M,Y#!Y%R2 ZHJ\^_A<(Y1&-_X[U#@T(ED'7%U<2C+!?.SH#W!"4S(0@H28Q(8e
M) ;J"8A.V[(B=[40'0L)L&>LOF9RHT==M2S7T=G:+A@3G'TN-$N#'LJ %Q1<d
MG@Y[!T$/LK[ S7?^\Z$'_-I#T"@Z&!X$@$] Z[$^6XR7FE5T,X,IN8"TB1PVc
MY,"'[TB 3WPX5!?XTAX^\!G#!3?P'@L>/XC'IQ]]ZEN_^M27_O6U?_WN>[\%b
MS1?!X1/@^,23:"XN(,P7JKL%&71!]%JW/>[GHGL1E* %,@CEM<X?1/57=_R?a
MEWYT\ 6"$T%;@ /OEW5;IQ+FQR@"^ 7"MP4Q$ ,)&'\,.']T4'_WAP-3<7\3z
MV($U,!$BH"&EUH#HIWX%2"H,6&H!J'["1X(LR'\/:'R19'MS(#I:XWDRJ'[)y
M]W<,2'QY=2)24 5.\ 5,8 5,H .!9V'T9TI2L%!,<':=(7[<Q5+L8GM ."J3x
M] 1/0 5?0 5)T 1%H(086']"D##$-SDYIR#AL098"'Q!.!)XIF=?  52\ 1#w
M4 13, 5DR(09:$I38"?( 21J6(5M^(8A%X<@P 1/< 1X5H=WF(=[V(>Y9TI,v
M<%/$1X5L>(4_"(=:6 534 12 (EXJ(=\N(25* **5369N(96& 9NV(F)J(5$u
M4 1!0 2D*(FG6(:F5 3W1%3 IXFO&(N(1WS)$ANS00=*B(I-* (_4 (P$((_t
M\ .3LW\.R(-Y$!VN>(@,6'Z\:']S,((ZD6]>8WD[.(#DN'>-MW$PLD%>XW6's
MYW@*T&=_1A"!MC*WTTR%-A&'AA$:P1&,ID_0!&D5(6DJ<) @(#LO@$,O,&+Zr
ME !3@!^G=AHR4 .8(P,Z0 ,QH ,S0 .SE0,Y  ,J,7WX"#DTT03>XS]V$'(6q
M*0,PH ,5J0/1^)$AB20'>9,XF9,VR1(3R (Q< .X=I,;AVM#R1**=3Y*R#);p
MT +[]%HI^'Y+B090V0)K,)5T\'["!P);P%X^0@;&!GPJH!(A$'(L804EHD5No
MH(3/0P,)  ,RL) W\ (U&75$29<L<6H:I&H)8 2280?/L03!XC*"T00H0RE7n
M(!Z5,019H2@+@T1%66LDV9,_R7U%693EX5=ED)2WHY5,"3Q/R9E2R9E5R9E7m
MJ4I",1);&1T2\95D*99DR6IGB41JZ0(VD  3^ (P, -R*9)V:9EXF6I*R)=%l
M])>!61>#69AO<)BT 0***0>,.77\\9@[F9/4&98K@9 W0 ,L@ -C@I,;-P+'k
M>)HZP09R( -N$2AS< 9?8 8$<@9380)9YP<H4 164 1.  4@P <^0P1$,'0;j
M]Y]8,)9JUBC[M'039Y9'Y#U9)P) @ (CD!A'4 140 59X#PNX)$HX)9PN9LIi
M( (F!Z")*'&XEB8$& 81M ,E^ *4!BZ5<1G,@1T3F@742&LC&7W9N9UC0GW?h
M&9XW,9[E>9Y.DI[KV9[O&9_S69_WF9_[V9_2$W( *J"-0: Z(:(J@*!H"7\,g
MZJ 0*J$4:J$VH".WF9L<ZJ$@"@+L2*4DFH(H6FHJBF#XX:+:TAT4.J.U5IUVf
MNI,@D ,VX),P$ -!>9 UBA!ZRJ?FJ:-1!W4AUZ9#P&(/E :*I%TJ<U9VIBYYe
M16.20:-1IQ(K 'R)M$B<Y:B9=W#S<WC$=X.Q0C:)Y(-1EP"*. 5)$*%-0 5*d
MV*:N"JM4P%<" @)3 (I08)]$@&P;5VIK-Z C,7JZZH5)0 1,4 2)0:SP-P5>c
MN*M3T*M.0 089Z?5B:=BD@,^&0,6Z9VKF@#.FG70"C1$F&=.< 0F5VK#:'(Ab
MYW@($7*=*AZ?>@:A6JD"0:H@X'A.FJG0%WT3" /=:I&&BJW4B:<S  ,WP (Sa
M$ ,X\*?66:H DFUPD >>-Q<.\H#5)1A7=(T#N+&9H7F<IWN,DK'^%TGZ*J\3z
M.P85>[$ XB0N>)HT P>99WHDB[$P.X#"IXX &J\@H*B(4QUL,!%452)4-Q\[y
M-R&7"IG 5[(Y^P4T"'\=>X(#2(,8AQ!#^;,L,00.\U=$5+06UI1ID+3<@:G$x
MY[0/F'SPQXB.6(1V6(I[N -M^D*-U'-:TBB"!"G8 19LBV=C:;;(]UE>@P+Dw
M^ 65H0*)80(N:[+H*+@\ZZ_$UZ97\&-@ 71"MUP!D15DL+19NW9M)[4N\W-!v
M!P5T]P5#<W=Y%WH?X7>P%ZC.H[ ,&P-?:J@2FUDL:[%H>[(<.[0>NWYD4+,Cu
MN[A/^W\I"S.VV[*YJ[,R"QW >WHX^X [JZ]9JZA=*V66!K9'.[9#6[:U=K;/t
MBXW1L;:-^(AOJXMR2VG!LRUG%2N:@E%\.[Y.\+?=&[@1Q':%>[B)*[QIZ[B's
MMZDAE[Q0>WQ9AR8TB +22Y=:"P*3BV25.[J8&R&;"ZP([+E>![IQ9[FDZS.Fr
M>X=XIW>)L;JJ:K Z>9TL<0,Q, ,L< ,5";'!F@ $ C6=D745MT\(08'NNJ]Eq
M&G(A=#=LD*&" 89X&*%4D,$FD%4HVJ:XE)5V$B 15!]3 ;@A!SE"*A6JZ7:3p
MM( (+,7JN4%5#']"@,7$MW84DP?]U"!NIX#P\08\[,/=D01X&(I#7'E&G !Mo
MVK4TLBE9";@C"7QKEZ8F6JQ9USM4FAA.4 5,P 0I0,<L041S>*N8BA"RUR0En
MRE-9MU1_G*$'#(3P=S;'. <HT,FO)1@OO',YUZ9"3*&U: 0<U6%T8T[; L4Gm
MUSL@$ )HC+D1E5F]<W@D:<(QD,(S0+#3U\*C',,BMP4T/%L7E[7\:J98X+^Ql
M[,>4',@&BFN$;,B(K,AL-1EYYLBUMJF1G >37*Q FH*8C''.O',G G7>W(X1k
M4<[87%>L(U&8NLZZTLXQT+\@P*KU[#718\[YO'9PYP:$*\DI6+I!,S1\IW6Jj
MZLV!-RF$!\UE@,\L^(LH4)$U(-&.Y\VG @<RP,;W[,\)L-$=W<N8@\_OJJG,i
M',9J['IL#,1#(,1$/,=(##]*W"!_[,023'Q:O'Y<"219]\4WO--<W)5>#,9\h
MG!<H,,9E+"&B5\L[S-("V\9O+*$QW20YA\UV/!R_))YZ#+EPN,DAT<F?#!MSg
M$,JJA!:D?+X@<,I9D,JK''FM3!2O/+\ZC-3[1,L*;<O:(M!,<:TB+)0D# (Wf
MT+"^#)3@&G()\+\\-QC4LID*>,/+[)IUK2,A,"W>DA@"03 ##<X%/5N"\='8e
M'$X$8U5Y$:. )01XY@)3D 4<U=7&^ 9?P"5-,M9F, <MX /LB25S -IM&DZ-d
MG 1!P 3_HA4!L\0W?98YS<R[K)$I3 - 2;OYK-@G8MF.;8$('-D!>M243=U9c
M-:6:#=&"$=5^=\0L(=J#B!T49-KJHF0NH&3)G;4V$]MI0MNVC=M$RMOE#3^_b
M'=S#'3B/8MQ-C-QZ3(^971"7QCRY<P;Z&!'\:!'^J&@=\1$(KCL91A(F49!Xa
M.N$*?D4)@))#H9(LB3DO^9,<:9XQ )*\29(:+D0>#@(@#@(M^9(R0 ,R^:4Gz
M/I=_#=@W.5LRX),/>]BO>91*HH1;,"U=H)2=Z2V=/)6AN92CN92EF9I=R9JXy
M5FH+I90'<1KZ65A*V@($@96G69G9C6NPF:!IF0#/$P,R8)LP\ (NN9MB#I:Px
MAFI9$9Q]29R@M5^$Z2S)B9C,N9A9 9UN!):0"; ][K"4:9>7B90)4.1U<.2;w
MN93[I.1DS>13^>0M$.4][95%:>6"%.E9WN5IT.5?;IHW(>9C2>96*IMH'B8Sv
M8)LQ@)LU .>]J>B_6>=[>>=# 9AY?IQ\KIR)">B-&9UV6:<Y;IT[;@/<>@/?u
M"M@A!YZP(9XP\J,[G=ON"0+P"0+R29_VB9_Z^03\Z9]>[9H#2G737*6QJ:"3t
MTZ /6I*RDN;FV1YM_N8AV:$?ZM7G#M%KFJ(K^J9W$:<Q2J>NJ^PI#,P>MZ/1s
MWJ/3;I[53J38;J3<GJ3?'NY-FM+,#*535Z!4NNKJGJ7MSC)I/@-@&NO1.*;Wr
MWJ\ARG0JH.\ER*;]WJ+_#J-S*L''CNP(*2:]+"9?"JZ1V:=\^MS!''5V\ ;'q
META?@*]H4*\5WW")9'+JS*F.ZJF)%*I'/ZHW;*HTIO2MNZJM^JI%$*NSFFM>p
M'ZNX^C+22JV_"KC"BM3C2J[(JJS,*G5T\:S1RJN^ZM<YKJTQH)TG_./.GL_Bo
M&J7B7*Y#Z 3HJJXMW*[*O,?R&O7T.O4AJYY(KZ_+/ +H_!!"3_0YXZA?$"QTn
M8, ;!W6I'LMM?ZQ?D*S+VJR"3_=?</9W+]F1[ZFU^O540/6>3_EENG%#7_2<m
M'T*?7_&BK]V<M?K&6JZN7ZVJ7R"L7_B'CW&C/Z\]7*MN7/N1OWZD@?OCGOF\l
MKYX<XLG G[70CP*S'ZN"4:NG?P1.4+SA+_U=6/ZO>O[I?_7$;_K,CV>(_Z\Uk
M[*T^.0,YD.B('?C*S^V9*\-G_]95 E!\UVWC5+[+I_LT7_7S?*#O4,&^]3?Vj
MJ)_1NWW.3_B5OG*%^N+>N#)]Q\]:*<#<I_TVGWKR?1$PY 2_QO>HHM^KFGY4i
MS_<=GM$WK(B?  R!R6_N"<#ZEZ[64?8+.;O/!'Z![I<"MYXSHX!'0 B (JK7h
M_=2?XW.!MLK]'0'XYP1;H/A[@>U/5[V_5Q7_P-_\(WSGJ@!.)Q&&L!(6P])(g
M+ R!A1V*A;N^U\?Z70.#=U$MW]6\;M;+TE@H2_X=KS9X!V/639A9=5!_^<&(f
M=L!\%M"J6'&0:(T%HR6VR!;G@CY-RPT&,"LVM?I/U:HN5\OB):JM5;VR&?9Je
MA-OK$7JO/HB.LI$XZUMN*Q*9(K5&MQJ$W6)?><M]+2+X);^R%CFR7X++<%$Sd
M;"<(&U<$>5PH#_A(+LJEP!P8A-!<HE#X?:ZW$[HP6.DZ71U,=>4UJ$.29@!Ac
MZT@Y*NC5+C;8"^E@(NQ=(*OT!"\ 1KST(#<$8"^(>84LF]4-H]?)$X:<\"=Xb
MK>NU",-6=G"$R>U_24*UE75082Y:A7,K?;U"O'4:9"$JK(593'#AP@BB"Q$7a
M+P1@Z<BD20I)&+4&V)(H8)D,'BHP8HC!'A@RS(>Q;!FVC LVNIXA!TM='VP:z
MCD&#A:=P0 T06"YQY_V]Q"8I%AMWDQ6/;?'Y*QJ(U"I;8^MNF0TY;+9P]MD^y
MVU4+;1/DO(D3P!$P7!OPB6^RS6)ULMMF[7;;442*E6&_"3< MR0$W/QR73B x
M!G KEVCP6D"PDFXCX2:ZAIR8 '>B\/.)E\V["47PIG7"VU'L;4GQ)J"WO, 4w
M%\E[0V!0<;Y-1?NFVT";RWL?67&; ;>M:-,"G(EX;P0.T%P:)\).&-Q)0#3_v
M:-%\!,IHX2+-XO@A>N72K)?VDDS4B2[A$EDA#Y2@6Z=J6(VKL3.Q!D],G%I3u
M;]X-MX$VC\,44AMVXV[NS6U$-VE W8P;?F-OS$V\ 1"F8=_T1N.X4';)YAJ.t
MRQ'>R)O< AW[#;?Q-N!&.5I'DD".M&-Q]#=*(>"T&QXU$II $, "N8BCR"YLs
MU@3"P#W)'1^%J@@0<;) <@=M^ F<9S? B06C7\2+5S0286?L;+V00X-TH=4Zr
M4TPG JFY9!9U[I=;^"P8IP^$!7E(([: >42/Y6L*,,@ "4_*SCPQ P]%#FR!q
M&>!^T@X6&#@"+>4D')O#<.Q,RL$XYZ[B,$A$575:PM?9. X2:J@3D^,@S4(_p
M610W,NJ<.](2,P@&U[$SHB)(AAR\8 8,Y 8Q.>?.QQ"CD&,6E@D;J9$98DIBo
M+BM9'XR7@/20*@ .  @3.=E0@)2$/V%'UL@!EW,&[, 6@ %=0# 4I- C)4F.n
MSEEL9U*&V9PWR2 W3I*$/R$@[(P!]B E!8,HT2ND1%^MG229&/+D)!E==_)$m
M.$H,1B8YCL<Q.0K'3AJ),BD2 YJ9E -KP* 1 =3EP4B"2D0\@H=2K$DI"8 Hl
MVD<;@5''<^T/^,-SRL :H#Q:APF4OR)0!); %_!5H:?OJ*J&-GA6):ALE8OGk
M548=>11U?&3"\&G6+>3H2*_ %N656"B2R %+D:FH@U%0P*QL 5EG?Y0 <=AYj
M. 2(+!%K:%;Z@,=603;(02 ](JM<UH%S*0=2#P.JE;?2ZPB&_;$K>V7KDU#Ci
MQW.-NJPS>?3EAPR1@=!<ALB]D]!8EUS 6W6@#-B>4?<"X"4[Y)!D1RF,'S&)h
M';*."5"8)6(I%18&F0 @3XY  :-N79Y*=E4&3&.X!!"WC0<)+MN3 !8E0QB6g
M:P]K[!QRX2T!Q(H\.#]SX>#,4C,:"83%XICCIP1]H_"3-,G/"I*0ER\SX"#Zf
MTC/E0,PLA=IHZY6:+'0BA  7\D)@2 SI@!64 )PED(0_'/-J&JZ923:'U<Z\e
M&U7S9R(<D6,O$4\)*IH=HVHV36;TAT0 TZ293M-NUDRVM[+80]KT >KGL!A*d
M(FE:W( XP@%[AVR*JVO9.+&4LW@,:&!;EJ#+-SE+"\' 4I53<Y::""(LE@0*c
MR&KA+1!FM<=5@A#@UO1$)Z(6W:)_.(G(YN$<A!*( L&?$\ %8, ) )S=<@WTb
M@*T# M: 2;B0Z9&[K &2(SU:WMK):EN@*KF J,4#:EGL*4'04WI6Q H",Q'Ga
M)0R2+2\!9,\NX +R#=KLGC+S1$G.P'=F6M;X= 'I\'8JKYNP-P\@-Q*<@;-Uz
MWL_7.8M.!"@21;23#]E.]#D_RT#NK$!8K 0%S^&I/(_G>4R>Q9-Y2L[G22'Ay
M0/0DGU$+A*U/"BI(*J3V%& OTVIZSTF8G_C ^JQ=@Q(.G,X*>D'AY_*2GQ#Hx
M-"4&8^5WUJ?]Y$2"TVVJ!;C),>5FT*R;+0]O'DT L3?%F*E$GAFR>98@.,0?w
ME,;G@Z'D2#"\SWPC& K9(=N;47/MF$VBHD3YYW]QHE53;491S/4CB0K-H)P$v
M XLNMF_$J1J%8%$F,D4H_$VR67YR9E([H@\TB4[(#FI!/Z@52Z#L:G_FS\ #u
M,S_."DH#E[(;P4JU0SC;AD PEJ$RTM!)4(DF 82:_)21=$ZN@!A@<I:F&QB7t
M3L4TEH P80/F0/@1#(5R'"G$C]DRA<+C8I8188<^49_)<7[HV@ 07S)!A,DQs
MB31<Y,N!D51*1CX=1DK94H[96!)[K?9L')/9<E*.QVF>-=!VL8>:TR;W)0']r
M HH3!$#.T3,F^( )+49M5)JJ4&IJ!ZRI"!V$GRUZ<--C>LN& B=E0%$S4Y:<q
MC6,6VJEU8Y9"5&_>4K'3(74IQQRF0I)*A9U*V:;^Y$&Y"V: +@P%</%*[L8>p
MF5(V[6X@-Z^ &SX*X.J68>=\GM,!=%BXBPK(J"; !!@O'A!&1^AA60&0D[N$o
M'0F*>-;.1P40IK(CG(#$\%([)D5P ;]SXWRC#>0".! (\$ R 'IT(%(:CF 0n
M(=VHV'2\F%.UF0[OQBJ%HOPK0AH)N0!&S4#:$ QZ I6^"^GA(*TJ3\"J;P"8m
MJKSY E!UF)T9"-IBNZ@=.Q,XU"KM()!^J/Y<FE%: _0/SZ OU&B^? ]56K^*l
MV!M( 9M4648Q@@ N6T+:X)$$805D'1F0 Y@ UT%JZD)8 I9J>3U>1B#3$R5@k
M!M@ &.!W7L!F1:SP1T^\ ,W*64T.6GV,E>P-E( 9!UI3JYNC 8]51^B)Q/"-j
M4$ )&%HK0!S-UD@Y$N  83!0*. $!%=]M5/=$AG0 =!(!D224QH67M0<$ QMi
M57H8G<AHCR;C35EPAL;!)1J M!FO:X4C2"@!3RDDAC1B#HH0@0K-82)A#I'Gh
ML&12#<A(%NG&I;CH8UYIPOT8=5.@# R'O?>18-(,D$E 2;ZN1&R%L'  "Z !g
M(H_G19\98&!I0%F,<Z\I"  %UT %\*,;$!5C =;@GLX@8!4=0O@=+P!B9(0:f
M\Q/T@U-))I5*(F!5R:$;>$.(%0HC%J6INM=8&6)CX9A(NZ%+H#@9RQ(0 M\8e
M9Y=,?,R'M])/.H2_2$'2R:M%Q]OX*W+CM-DW-0]/U8!>9@/,$Y!;LB2A[.R;d
M9[<=CR.4H([LIE^-)6@W9$<"$7B!MVJ)IJ$9X)K(K'AJ EWH5WE1$? "EL08c
M> &I(6:4E^SF9GN4:0-\:2@3I8D?L&?'+'ED3G>'HWC1-"0"T@0,*+073^Z9b
MNXV7[H;"@F)WB0$5SA97IR,TE)@P>6O5ZC#$FP$E1=1A&9$E$D%BAWR1@D9Da
M#6"0)*D&H# ;\&"C#I;E 5IV.'+9[_@;O^R6C;1]MCS&V5)#9^TLGB4-9 #2z
M!ELYE06(;5)Y'$V"T+;90RL$;A';<DVNR9[4AZ&0[YH$.9N!D;;<:3R5Q_$Ly
M[;K34K.P;6U:_IJA<(";>TOU;EN:55%;!KX J56U_E%$DD@&F?)6K3)IM;^,x
M04;9P*;F#ITU3(/;\'9U0Y!5"?%@("2'>= +[L%VN+S8R\.5A.ZP9VE$Q80(w
MKTA^J(?9"Q\^LDA("DGHVY&#EG 29L+I%0\_G2<$N:!0:8%$B&@*X<__'$7Ev
M:Q5BLU:X+>R$]3"OL@,DWD+%!1&C:@Y+8 ML[C6PRW4,)40RY)05C!F21*%Cu
M$DFE-&1=U-#0U8#]YY&@F\J:N!!W=R6+.1@.XZ4=9%R^"QB&TW.(<2LNS5J't
MX[#MTL^,N F94R?\6C#W'H;"F;L/:V[6N;D!E+P9!H$X3G[N=0VZL&SH=L.(s
MZ,_T8<G=G@2LNABP=UAWDV[P*(9,-W,Y79!(P2AA,RR)&@P:HD1&@W4'[)TBr
MN#E@Z[HD/P7D:&2_S0]_;$3"R1LVS7SN#=)<LI=!CKYI9LD,D.SBMWP,23($q
MT8!5O:T<2#AP0 \*R/24)L2 PW&KM4M VMX[,!'")/6]6@!K4+DDD0?=7"]$p
MQ0X =_9FK=JK4YZ+A,B]&?#U-HYPAGYA7[?E;'_LAC6<)$E\Q]GQ_0K)5^(No
MWS/0?)^O\H4GT[?ZPH'K:WJS56"3 7N/!<@ &6#8_I[E PH@EB4X@4;$I2J4n
M4ZR[E^@-M(L[]FR/[%@0((]P]-6V*,7&3," ,I?@-HH9WTK*&,RE"^ 27T!"m
M< YLIW5FP VX >GWF:U@&BH]QA+[5+B]EU0@6B<P!:Y:;_L5=.&C0)@ (\%&l
M7]0,?C^X907A'T:AP.TW:[5GUA%1@0IT GPG"-A42T4.Y&#L%KE8PA&@:9@Hk
M!?&7 /QT]9:.V $[0%61) 2\IQ9PK7UVH24"NS@*;-HN< ++P!MX.'1@62$?j
M2T0(%GYB8#A4,F][R?R.ZFN?4I%S$$4% 0=2<$T\$8*R9:W?SA:C+'$?(VA_i
MK)(Z4C2P)C?Q'Y.3*"'T0#1-.>8NL:H Q93L-=B!<$9Y$]@9K@P^10W+"S8,h
M$KLE' YAQPY/R0 ;4(=5&,(%?#9S(H14G> @Q*2W++^:RU"&@6D<!L1/"6UAg
M*-1P4M_;-H"A5OF%@\XB&SU1:"PA]N4V]@'=.  SS $) I2-UX$-D\3:-B+7f
M5((8 AG(%S;A%!?>VUN.@>PO-#D/&)JTJ6JKK!I1<BM!1X8NM =#>8E,HQA)e
M*>2"N<HN?56"'B;VD)BN:QAK)P:<#0]>N$K&V$ZDAF-G/'VC\>2@QM4X,7A3d
M;!Q.4ZBW/,?I^!L+AI$\CIF&^86# Y@,<.,[X(UM,LI255SV'><%@GQMLUL]c
MWA[XN+.5Y'X,T?150-;#1-D@J[U2DY"]!DD3 0W9*SSDMA&1'>=GLP$4N=18b
M9,^!D4G87Q/&-\# RH"P>(S%,G^ F&49L2TS;&9Y2Z-7:+H305VTV-[P&SQ%a
M3. O=79LZ 9=6FM\L'#8;)TM!65$;#8$PL/<NQ$RLI$$"-?@53_*JN#)T,*3z
M(*VAE0P30!A0Q-9M#M^ .HP#"I4V!'QC.6*NJ[D\#)&,3\'+@&4O^P8R !R$y
M V VMF"R,.>SPTP7%?,[9,R.&9"DKS9I<21SQS"L/&%\8&:XH)FU5P13>Y\9x
M_F"Q@;OC&M;6)9$>"<A-3B&QGE@."H"S5( (+.8V%0281M3;%'WQ4; 0]W%8w
M#G$4MEB=C<XVCA= A>BQH&0,^3B"%-]=\\>L<% 4:$H9)O/D.@"R<O)._@++v
MI 9AVU4U)Q+T2];)Z)@G)VB*/"<(-!EXT ?:0E-D>Q(02 1G@1<.!P]<"S>Pu
M<+ O0FA8*(Q$=F2SR*"/0W=6"]\YSH[GNV2>%0EZ!AA^<3U?AO;<A//9?QYKt
MLSA 0^AN;*'-\9"6T/\G [(J-( L@/0DA@%5MI\%JP8M>0UTA$;027I*(],Js
M+:"Q:99>51QZ#'AHX_ S1?1$+-$%^& %-FNHG:RAWP-4$A"!/<A1VR&RSCM=r
MEGLL3^,_YV$&K:%I/GC4U< AA+/B52IC=L6,$([1$.IPLT_ JZ296PWDTE1Eq
MP!*IL8QA&2]S8#72N=9H!22#C:T:F*HV^L9GTV23SVX4U<81.[H>[V@;24).p
M9M6C^C@R(057'7DM=Q1<L)HYAL=:W:IQ[7FH&>)1):#("$@CQ>WWY10Q(4U(o
M( 2$I9ZMO#W6$81IG \)Y)9H /#%F,AZ.)0=L(-+ ? WQC4#^$AFS)A@,-.$n
MURFU*N]%I0G!H )>5&=3 <+B#(AKS(4BZR]J-!4\,A>:#"%1*0&:MO 7BY@_m
MUZ][-BS73KP6Q9=475L+20HV_C5.1 WI:9,V'E<\,!SV6IP<T"8)NX7'L :>l
M]=H9P/"'@-T!"XT"T 3)7L?N.A2'RSMPH-74QHF:*3L6BX"%L@9& W+8ECARk
ME=IL?<5>XBH*B-:8R5 V'R% *1A"$*H,0/M\(.>/ DIM:V>Y/S/.!<RXR" [j
M>J?"LMHW &N?TA44LX6PPLX#,WGH[NS#0T^#Q? 0Q6I!H"5M):&O#G;66=LCi
M85.9!11I<N;VV;:8P0MN)X83?6GLME#@UJKACYH<9BIYS+8KU9KF=O)$M7@Mh
M&/PV[)B82&TH5,^\YCH/MF+-#S:(EP")R^T&;(_C?I>8>Y'&RIYXKR7"L*P9g
MG:]MF)(M$ 3ZR5 !$G"["\Q1Q*-X/M]X@Y5D*5Z3G-W9?')JU('7$7M391W>f
MZ09\=^Y.3[S;=YI(6J5'M,:-J (.#%0XAA/AOMZHOL@OE_HL/4)BRG;*3M0=e
MB0(->E-=#69WHF'#/-TQ(W6O21&PJ-R B0UHV1IXS.[$XRJQW]=5N&5G74\.d
M9TVV'T]4.)F3QWO#04&F\A)7V0F$92?T&"MRJ7L2^+!L4Y>A-/R-O?![>.Y[c
M^0PB)19F!8'74I&:E@5?(P&O =Z<NX<PVUN^R":2?7+#_-TD5L#6S=;0:WFIb
MN8")U#;;]_:4+!QLA]Z36"HE:^Q)E80GAR?-U%R6\V=5MN%P$&[3# "1MG]Va
M7SD?K).=>0USK:#QM)#<9RA @.NK>KK7REG1F4=^IL#=H^&28?;197QPW!7!z
MY);O>N'":V ;KU^B(;D8X;)::$)$JK'T9(4MX(R$D;P539JO@[J.)P#TJJOTy
MZVP1>7O<&NH 1-=AJ3-"&L8,R\HZX"Z;:\-L.^ZRT_'7DKLH-6G);:7%4IA6x
M@2&!)[!I+5*&(GDY -1Z-6U;(K@MFF+$]:L01A](3B+]WR6WU;AV5UOR6YO)w
M=6VXY>3C]D!]\DN+;J_ *"_EG3:5PP :H,J#(2O/+,=ZY<%RKW' ''D)ZW%Iv
MN2W7;B_>%HD/X48!!1,.6AZ<!;QF*-Y653YX[=#<\&6L1K@J+.'LV(YBA85Ru
MQD[E_TL \QPHL.)[_HUN;AIB GBF" 3:-B:&TE 0& )@J#X!'RB0K&;W+NMQt
MW,F6T^_%<[N[.?#YYN&\\CBM<M[4X"XZ_V=(;9T#LO(0BG#N.^<H(17V#73@s
M\S8,3@DU7MF&/1B<$5UR.]LV'9[7V"C3Q+7KDF?Z1"RYZ7"&KU.@C(R16CZOr
MYZ4W7.%SYJ#/YZE2[^<E_9\']($>-@4Z\3GH"=VJ@P"&3@1FMS77IA"] <-Iq
MDA0664!(DNCBBA?EB[ C&,Q &Z@-;J$-W#:8\ 5.*U:5ZSZ K@>.NS[7VT!Lp
M"PAA>>C:C49!(L+R8$\#KZ2P'A20-CA1CE,E$3R =1WV5T)92PU,H)5J##&Mo
MTLD>T0Q@SZY$@YVMMX2WSM?SNE^WZW&]KW^!O9[:3?M?[VLM;*>V !S04SO0n
M;*_M/_6V^]3<3MMW>PD@ UL[4(]Q&(-=&QRB3N-5N9ET1@SWQEW 0HKC(R:Ym
MV_&% @+:HVLX82).!]0 &Z#= ^R.W=/2'2+AAQ?'7G& ?Y5)#ZN1!^/ MG4Gl
MT#$F<X O 70FA< 0:/"D7AW?=["GD;U"CG3$&!A&J.$-)(N*5^5*30M820BJk
MGT0$5/>:RJT2PB%M"973.K!DF28P%=!#2J@NFX4X0*#-PE3P$C0 +*" 2!$5j
M2 :Z-$TLI4&,K>?:Z98Z=D 3B./W+?%+JE5B;;>RY?"]!,WWD&#??PQ^-U#Zi
M?6_Q=\'EWP$\LHAH+5Z^(_@2H> Q'X4?<V6ITCYXV@3K<)-NFDM/7LY9> R?h
M #1\&>#P:<##;]H0KR-(O*.Z#HDAW00("V,@- 18*C48!<8[XY(B*$FQ 9L=g
M7YV62W(XO6M[=2^WY$]*T@9S7%-N07DQEP)Z1J#CD$XKX>/M.VPXI*%)[+LVf
MU6&21>L0)WF%,_B(Y)&>.P/@,@Y9H479F?_>AJ3SFFI3KG#P9AGF) 2D@"U:e
M CJ"*26&(\_!Y_">JN70C9?'C'GCRP.]L3YWA9Z8M[NAD>@W[9=J#R3ORON=d
M9QUJ!T::F/0LH=(;B'U"03*]6B@#G!Y'/XI/GVI$?64@]>S"U!_&5$^WO,(0c
M:/6O/M:K'%I/\];[CE-A*>Q-1RSBPQ*L?=7@2A<":<%!+@[--\:1_6-M&*.'b
MA"RN% PF 9\X!KPP,'""CQC,.=SM/ X\GD/P"1[!*?AX4?6I7E=HX/:UP7MTa
M8Q]^9X8]?/ !U-D.2^@AXK]YXH>%D> ];D2G5_62RE@8F1^C)S@X8OO$:S'Kz
M6%'AYDV-ETO.X?NY;C[T%-;_O.YKLO?8 =]/A[&U[Y%IOV=10 KVZAN0*/ 9y
M L.' P;_W"7\F(# -:;#7_@1GT9BLXI?\=/BQ;?@R63C:W YP,'3N0</CR!\x
MEOW=DAY <[H/SL8J=.1/8I-OPAD*64[Y+.$R6!$;TM\"!MV*^8!E4M?\@XSSw
1._K.?^F"4N0K!?V=57Q0GP%Ov
 u
end

_________
 |\___/|	Vincent Archer
 | \ / |	Email: archer%segin4.segin.fr@relay.prime.com
 | /|\ |
 |// \\|
-+-----+-	"Time is running fast..."

nemossan@uitec.ac.jp (Sakurao NEMOTO) (11/08/90)

Thank you very much "utmp/wtmp-related patches".  I've tried several of
them, and found curious phenomena on "last"-command.  After I've issued
"login" command while I'm logged-in, I'm still login (may be forever).

This is the output of PH-minix-1.5-PC-version,
------------------------------------------------------------------------
$ /usr/bin/last
nemossan  tty0      Thu Nov  8 19:12   still logged in
nemossan  tty0      Thu Nov  8 19:10 - 19:12  (00:01)	<-- here login'ed.
nemossan  tty0      Thu Nov  8 15:06 - 19:10  (04:04)
nemossan  tty0      Thu Nov  8 14:38 - 15:05  (00:26)
reboot    ~         Thu Nov  8 14:38 
	|
	|

wtmp begins Wed Oct 31 23:20 
------------------------------------------------------------------------

And this is by new "last" command
------------------------------------------------------------------------
$ /usr/nemossan/bin/last
nemossan tty0         Thu Nov  8 19:12   still logged in
nemossan tty0         Thu Nov  8 19:10 - 19:12 (00:01)
nemossan tty0         Thu Nov  8 15:06   still logged in	???
nemossan tty0         Thu Nov  8 14:38 - 15:05 (00:27)
reboot   ~            Thu Nov  8 14:38
	|
	|

wtmp begin Wed Oct 31 23:20
------------------------------------------------------------------------

After 4 hours of logging, I've issued "login" command, with neither ^D
nor exit-command.


Here are directories of both last's.
------------------------------------------------------------------------
$ ls -l /usr/bin/last			<--- PH-minix-1.5
total 12
-rwxr-xr-x  1 bin         11080 Oct 31 22:50 /usr/bin/last

$ ls -l /usr/nemossan/bin/last		<--- from <35537@nigel.ee.udel.edu>
total 9
-rwxr-xr-x  1 nemossan     7860 Nov  8 16:06 /usr/nemossan/bin/last


		Nov 08 '90 (Thu) 20:04 JST(+9:00)   nemossan@uitec.ac.jp

archer%segin4.segin.fr@relay.prime.com (Vincent Archer) (11/08/90)

In message of  8 Nov 90 11:16:41 GMT, nemossan@uitec.ac.jp said :
> Thank you very much "utmp/wtmp-related patches".  I've tried several of
> them, and found curious phenomena on "last"-command.  After I've issued
> "login" command while I'm logged-in, I'm still login (may be forever).

Yep, that's the problem with login. It doesn't check wether or not the
utmp (the who-file) says you already commited a login. So you can log-in
twice...

> This is the output of PH-minix-1.5-PC-version,
[beautiful output deleted... :-) ]
> And this is by new "last" command
> ------------------------------------------------------------------------
> $ /usr/nemossan/bin/last
> nemossan tty0         Thu Nov  8 19:12   still logged in
> nemossan tty0         Thu Nov  8 19:10 - 19:12 (00:01)
> nemossan tty0         Thu Nov  8 15:06   still logged in	???
> nemossan tty0         Thu Nov  8 14:38 - 15:05 (00:27)
> reboot   ~            Thu Nov  8 14:38

If you use fwtmp to dump the /usr/adm/wtmp contents, you'll see
something like (I don't remember how it is displayed ;->):

t0 nemossan tty0        pid3    login  19:12
t0 nemossan tty0        pid3    exit   19:12
t0 nemossan tty0        pid2    login  19:10
t0 nemossan tty0        pid1    login  15:06
t0 nemossan tty0        pid1    exit   15:05

Now, what does the new command last does with this:
    It notes down that nemossan logged-in at 19:12, so it's still logged in
         (line 1)
    It notes down that nemossan did exit at 19:12 for tty0
    It notes down that nemossan did login at 19:10 on tty0. So 2 minutes login
         time... (line 2) The association can be thrown away, we've found
         nemossan's login-logout (That's the trick)
    It notes down that nemossan did login at 15:06. Since no exit can be found,
         the nemossan is still logged in! (line 3)
    and so on...

login should not record in wtmp (nor in utmp) a login-over-login attempt.
Another example of what you can do is:

$ who
root     tty0      18:10
$ login ast
ast> who
ast      tty0      18:15
ast> ^D
$ who
ast      tty0      18:15
$ whoami
root

:-)

Here's a quick fix to login to throw away this behaviour. In wtmp(), add
the following test at the beginning:

    if (getppid() > 2) return;

(2 if you use FvK's /etc/init. 1 if you use the old init/my init)

This suppress spurious accounting if you didn't come from INIT. The real fix
would be to FORBIDE login to execute if it's father isn't INIT (that's what
real unixes - most of them - do)... I'll post a more robust cdiff (that solves
the remaining "exec login" problem) Monday.

_________
 |\___/|	Vincent Archer
 | \ / |	Email: archer%segin4.segin.fr@relay.prime.com
 | /|\ |
 |// \\|
-+-----+-	"Time is running fast..."