386 crypt fix. (fix for fix)

Keith Gabryelski ag at portnoy.CTS.COM
Tue Apr 5 07:11:57 AEST 1988


I apologize to those who tried the 386 crypt fix and found it to be
lacking the 286 S/M/L model fixes.  I have fixed those patches in this
re-release.  Thank you Mr. Gilbrech (skip at pwcmrd) for cluing me in on the
problems.

An explanation should go along with this shar patch.

This shar patch will, providing you have permission, replace the
crypt.o files from the archives in /lib/?libcrypt.a and
/lib/386/Slibcrypt.a with the patched files that are included in this
archive.  You should only need to type "sh < cryptfix.shar" for the
fixes to be installed.  (You should be root when invoking this
script.)

If your system does not have the crypt libraries in /lib/?libcrypt.a
(and /lib/386/Slibcrypt.a) then you will have to edit this shar file
to do the right thing.

If you have a problems, feel feel to drop me a line at the address
below.

I called SCO on Friday (April 1 no less) and a gave the necessary
patch information to a tech named Dave (pressures on Dave).  I suppose
these fixes will be distributed once SCO is assured my source patch
didn't break anything.

---                                                                     ---
[  Keith   ]  UUCP: {cbosgd, hplabs!hp-sdd, sdcsvax, nosc}!crash!portnoy!ag
[Gabryelski]  INET: ag at portnoy.cts.com      ARPA: crash!portnoy!ag at nosc.mil


#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create the files:
#	ORIGScrypt.o	(A copy of the old (broken) Scrypt.o 286 small module)
#	ORIGMcrypt.o	(A copy of the old (broken) Mcrypt.o 286 middle module)
#	ORIGLcrypt.o	(A copy of the old (broken) Lcrypt.o 286 large module)
#	ORIGcrypt.o	(A copy of the old (broken) crypt.o 386 library)
#	NEWScrypt.o	(A copy of the new (fixed) Scrypt.o small module)
#	NEWMcrypt.o	(A copy of the new (fixed) Mcrypt.o middle module)
#	NEWLcrypt.o	(A copy of the new (fixed) Lcrypt.o large module)
#	NEWcrypt.o	(A copy of the new (fixed) Lcrypt.o 386 library)
#    The new [SML3]crypt.o will also be installed in /lib/[SML]libc.a and
#    /lib/386/libc.a
#
# This archive created: Fri Apr  1 12:33:07 1988
export PATH; PATH=/bin:$PATH
if test -f '386patch'
then
	echo shar: will not over-write existing file "'386patch'"
else
cat << \SHAR_EOF > '386patch'
begin 666 386patch
M                                                            
M                          ,      ']HC at 8 H:!"%6&AN"X !D(#%1T:
M!55:"Q$=#%!'# L!0%H;!14514 %%15$1 at P!'0=06QT1 %!!$0!LII )J3-5
M!  #!P4/P) )J>%3 P % P=?SY )J:D    '  :G/Y )J<-N!  ( 0 at TKY((
M OW\_/O[_53+D T  P(#  ,"!T1!1$2^,Z0H"E4 /@(1!@$&%@%E!E at L%A$?
M#AQY!ED\$0L)!'0(5SH+#1$+"01T*HOO50$"    .@@8"#@(& @^"!@(. @8
M"#H(& @X"!@(1G@(& @X"!@Q"!@(. @8"#H(& @X"!@(/@@8"#@(& @Z"!@(
M. @8""\@." H(%A@!R H(#@@*" Y("@@." H(#L@*" X("@@.2 H(#@@*" _
M("@@." H(#D@*" X("@@.R H(#@@*" @"!@(. @8"#L(& @X"!@(.0 at 8"#@(
M& @_"!@(&P at 8"#@(& @Y"!@(. @8"#L(& @X"!@(&0 at 8" 4  P       P, 
M      ,/'QH3&00&'Q,)$Q\=!!\('A(8%QP/&0\K'2LZ"A at I-AL>#!$<'18?
M&A<;!!@6.3T (0,!!P$! 0,!#P$! 0,!!P$! 0,!'P$! 0,!!P$! 0,!#P$!
M 0,!!P$! 0,!/R$/"@D, PT$ PL)# H)# D'!P\( PH,#PP+# H' @P&"PP%
M#P8%"P0)! ,%#@0)#P4/ P0*!@T(!@(." T$"@8+ @X)!@@-" <-#@4/ 0P%
M#PD."0,(#0H& @P!"PP/ @X%#@D, 0X)# 0-! H/"@$- @4""P(,"P8)#0$+
M# 4+!P,*"0<(!0P*! P!"PP/!@H%"@<)"@<"# @*#0L"!P0.# L"#0$'# ,+
M"@,."0\$"08+!PT&#P$/ PL!#0 at .!PX+"@,- P8/ PL#"@T.!P at + @4##@,)
M#P,' P4.#0L$!P,,#PD,!PP* @X"#0L'"@P'# \&# L,!0$- 0X'"P4,# X(
M!08- 0T.#08, @T.!P<%"0X( PH,! 4/!0D* 0X"!@,* 0<*#P<&!0D#!0,.
M!0,$"P8/# \+"0\) PX!!@\-"P4&"P0." T.!PH) @X!!0L&!0L%# ,'# ,.
M"P at + 0<!"@<*! \$!P0."PP&#0(' 0X%# H% 04/!@$&" 4)#PD, 0\(!0X/
M!0X"#PP'# T+# ,-" L$#08)#@T'#@<%#P8!#P0)! 4)#@@%# L$#08%"04.
M#0X,!0\!# $/ 0\*# ()! H+ PH-"P4,"P8. @4""00#" D##0L.!PL%# \%
M" 4"# (&# <"# 8-"@,/"0,. @4" P4) P8##1L7$P$($1 -$ X8#1\7#14(
M"A 6+CL8"AH>$Q at 0'0\=67F^ P'X P  -Q;K at 0M<G^=(S.OW P,!  #I 56+
M[,5O[D]8VQCVZRJ?+A:/OH:  T4(B07W L;_BX8 #+Z&D[Z&G -%"(D%]P+&
MXXN&'.K+_[E\0!Q\U#,?Z)8  $83=)<.CMD B(>[ P  1VK^&WSNR4I")*,#
M   T?0J2<   B4I"-O_H#8H.6/^_ (B''.H! $>#N)B#]87([:(W XJ'0 at R^
MAC"'  ,[PY?K\$'ZBD;\HI)&_#/P5;0O_.LOXH/,L+Z/R #I 8J)_T6#_Y.#
MM1$   #A02T,OH]HAQP#BHD6Y___=P9]Y*(W T>#%F6#,[D\_A!]!MK:ZZ60
MU]V at 0\9.HY"05> JL^.JW)]6,_]AGF^2D \V"S@    #+LZZ3T$'9]@# (K.
M?/U ?&]+?>0   #I*LW^_^F-;V]T^_R)1?3:_NL1D-8BLC,/C9L$.(@-/OL 
M $<+>1A_[#,6#MV4NJIOT4W[58OL@>.JCU@#4U=5LDP#  #;0/^(A\^ _T!(
M#N<P?-D\06Z*    D]5C349T>(@VA8D#Z=X^'_S(^W** P  9 >(#[YQSO^#
M?7$41X+&CXT#@WW-X0N'T0^^CC ,  #!RD#_2$I*9XH#  "(A'=&A!6Y \$/
MOG$I 0  S'0^Q at T&TL'X ZZ&((4X XB'<\#!^.O!_G=YA@,  (LJT/@D <\%
MQ3,/C:C#) 'CP\\SBH1_ at _\(#X/1<,?\,__9HC>3D \V .    !C4\C\_[^+
M#4@#Z0$R!#G,CK,+#XT$!#E'Z#@F]RL\06W;DY"08*@ #[X$1;L# (V,A#?Y
M#30C?.QR0;2,PW+=?A>#O.T$#$7.0'$WNP\ P>$N1CWF"7 S_#/_Z.0JA\+A
M!@Q_.X8Y9 (   'S^6T/P\#!^(L at ."G*:P, BT5+S<!%I_ZH^K\P_^N=4T%S
M80F'..5#  "+2:W6BX9KBPPXKND OX-87E];R2J1D%6+JP 3,%S:2#/VZP0N
M%[C%ABB.@&<#1H/,Q?3P,_9CICB3D(LJ8?G__[\KS]/XS0"(ABA#@_]G20[N
M!WSFS'B]"XM%@(@V&PO;G>E\ ;^4?,T %%N0D)!HP04  .A'@_\@C$DD,_;K
M!"XG&,6&*(Z'J -&@W;%]/ S]F#6&!<XB8;XZ=;_=WGG P  1FK_,'SN='44
M!Y\=7X/_!O9[@\PU0)/XJ '^>>S%!@\VB "QW?__=ANO, _%WP_4\>\0 &O.
M5=_2AU@#  ""QP:*3;8+<GI_C at P Z[]6%KA"@_X"(+<K1>M-VNMP(?_R7F_0
MA^-.GX#5(^>E+'CZ"'CP%7D?'WD5['D+TWD!VWLAK7D;O;"R>/L\>1$.>S >
M>5;J>4ST>6G">6'(>9C6>9.[>:6_>=N'><Z.>?IR>?QV>?8,>AX:>!3+>@#1
M>#VU>B.^>E.">$^,>GN3>G&9>&Y\>F1)>H%/>K at N>K(S>JL >MX&>M7A>N_R
M>1O?>RJI>2.P>R6^><T^#;&>4ZF=Y'QU&W5B6H*?Y'1VYVZ?Y)[:[-':[$,A
M_,5DY#T;V":=Y)QAI!P0B:&? +ZW P  :OE:?@/$K85\_#;S&X/K!P at HES7_
MZX^[7^ .SQ'BAD L! #I-?___T9J=O>Y?)8Q>.LS'NLTD) 3%>?5Q at 8/OFTY
M* 0 1H at F!8QR"GSK at P6HJ_\Y?@-J*?A\!.1^ X/#[XK#B(9<A_X"20YY"WT&
MN)Z'!*[8R3@"C\.(AI at Y&02#^UIZA*,8! "#21^'^SFWE@<  %[<L,Y M[.B
M .20GPV*G^2&V&>!F>OZW>1EGV^!%&OVKJSE+QN!D2H :\<!4,WA3%-F>0")
M1?!KP%GI]D$@=\0":\X&@-M<5F!R>1NRZHI-\(@8LE(# '062P   !:0    
M0?____\6_O___[E\ >;P<NO___^5_Y?7^___%_____]\._<6'0   $'_____
M%O[___^Y? 'T\'*J____1/____] _____Q;^____N'P ^?!RZ____RX<E#GY
M\$%[Q]?[___T)Q8=    ?#S1? 3&\''\____?#SX? 2E\''\____?#SY=#QW
M>>7[__\67@   #EYY?O___]_PN;[____\'KU____7^?[__]=YOO__T?G^___
M%O____^AH*0V/#5BQO\:*F :+V :-& :0& :1V :4F :?&!:OJG[&L-@&NA@
M&O5@&O]@&PQ@&U1@&W]@6YRI_1NA8!NQ8.UNU?___OB at C)J+E)J&_______Y
?H)R-AH^+;_S____WH)J1G(V&CXN=_O___Z]U_?__B_B@
 
end
SHAR_EOF
fi # end of overwriting check
if test -f 'Lpatch'
then
	echo shar: will not over-write existing file "'Lpatch'"
else
cat << \SHAR_EOF > 'Lpatch'
begin 666 Lpatch
M                                                            
M                                                            
M                                        &P     U     !@     
M>                                                           
M                                                            
M                &                                           
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M  ";H[@#^0, 5>YPOPC/UI_/2)^Z]LOUBX2 51-G8 E>G(Y&"";=$=1^#H2#
MBAP7V)O5WHT8#JC,3]D"P_^+#IB?1AMUQ'^.+7B!3MZ*1Q2U)!P W at JXXE<O
MH7/&17"% .AZ(_\8Y'O,N-5=D8:A'XL=B46YJ "1^>^)SGN^&$0CXQCD>\RX
MU5V]AN)%< ^8NT<;Q%V$C3-M 2BRR__><U(./_^:L(Y 3[G<$3/HB'[N TT,
MIO82#A"*'W3: 4]',HNI& -?B(F2A:>#9Y.D0,%\_)LC]6'VYRNQ"7O@?$3"
MN_U6_OW9#PT             !@                                  
M    4                                             !.F^0 K at _Y
MB\([_&?_#0N#5QO_3U[Z?+9P"MB*"LB*#O")'=/;J at 1_ );!RXU!S?P63I+4
M=S6. [!L=,#V4>'\(-?@)@\ .   1@  8.18, %,0X<3B$!:(3K366>)VYL+
M:E4MB$ [@%KCFU'4<$/;$W"TT#/@V]1PS]F;VU(/3[*>8N70.(E?HH44BM[U
M4WQVL]4U40 +<J,IB1SA17W- 6#Z AZ5 EM\30(#PL[2<V+W67R[^ZY'?J X
MBP\M]99[VPGUA]-N=6T)KH2 at AZ.(GPEX;WXQ;._\HWIL'0^ =:54Y+/9 (QS
MV[H*OP"#G;,C6GKV 7U\7H+Q5OQC;D8H.Y3-BR40BK<)>HA_9WK._0BX=I75
M *Y2 0N#(36WB:/* 0  *$Z9RP#BU ?BEDE$I7=!]R^:0<?F>T-4S&]'*'Q#
M*_^*A1=6LWT>#J_3 X+=^&3T]&QU%&+_%QXBH,ZB0!-U5;X**U73^"0!W](#
M\H'"J_L'.FJXO3KS[ZCM @GYV/1KU?1+,RXSYX3W5FS9T_ at D@DR  _*!PJO[
M!SIDN+TZ\^^HPGB ^-Z#8'0,6/R(1J)"X-@>& 2#?GV>>B]UJ'HNAWZXNH!&
M_YO5\0GJ!BZC>]-%N @QXX1:*H+SY at S_L>2M4HT9L45F P &,((8\VWU)M#_
M5(#E-KZ%?@G7]=P+Y\8$"2@&I>-'C48)940+<"%1=V$[^0:+5D5$=T2*#_-\
MK)A3(*%"YMH=< .(A]O'C1AU=%^$8JR&Q %]_P97-I?E +IZE=P8H!C:.0  
MAEG<_D>#_X6X[L7% #?_E-7/N4)]1OXL?*^8I,8"@[$0C5+,?Z" @@T ?;F(
M@[JZ;)E"_JZ]9_HYQYA81CFV'+E2Q;FF'(&'F441J(U#2)N!O6',4B,!I87#
M$A_X^YO&L)ENHE*@W[$GWIT3'"G 18 at +R(+.>,:,3UGX4%G^4UGR65GI7EG1
M*%G5$5G)\Y '6*)A6)9H6HQW6(! 6/A+6,U862DL6RTY61X&4178G0.V  /;
M  /B  O7R<:4^5J-P%B#SUCWV%CKWUC.J5DQAE$K09P"T ("T (!10(!1 (!
M3 (!>0 !20 !50(!-0 !(P ![  !\0 !$  !#@ !-0 !'  !#@(!= (!&@(!
M%  !,P()',O'=3_3Y9QXV",%9*6;9J^;?+>92''!FR]ZF5:16(V= (D  '( 
M ', V_:[Q&.>PPCLH2?TH3"?Q#>9FT7OO5+KHA.=Q%@S;<;B77!TYP=?C.]V
#:V4-
 
end
SHAR_EOF
fi # end of overwriting check
if test -f 'Mpatch'
then
	echo shar: will not over-write existing file "'Mpatch'"
else
cat << \SHAR_EOF > 'Mpatch'
begin 666 Mpatch
M                                                            
M                                                            
M                                        "      (      0     
M?                                                           
M                                                            
M                '                                           
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M  ";HT  :)P'54RF)\](!?^@P -65BNC 6 at X"I at 1V ->!MT1U'X.A(.*'!?8
MF]7>B1GY L/_BPZ8GT8;=<1_ABU\@+EPA!SH>R/^'^11;0CLN7*% >BU)0  
MWPJYY5<- ,/_H9.&H!]$&W9=@MEUS'N_&(LE  #?"KGE5PT P^.AOX;C1;\)
M>Z-\:K$ !MV.* #,?4*$((M L<$'?3+C1X at P]QEEVT\ 1O8  "@         
M  "63KB']^X!76B)@(N?"7CG?D$8=7:790.N\@ SBD;">_Z8^3OJ-7R@;_<7
M Y3>;K%S68MVN H FE=6*__=TRO_$@[8 \:-4D2AC@^?_,\&=T,[:C@&@NG'
MQ8 ( /=VL ]T(_[QZRC-N!6*S;S5=LWD8?P A""&,(:_ at +BC@]!7#9//N,=N
M#>4B 5F*@8O( 4W2AJ"(0(C&>(R53'<%18M$Q'S/3*'QU$>^!O<89'MZ#DZ.
MFTE1U3-K0T(.3XB;23%K6UH.38F;$PEK$%&("VF'40!" ]HYB$ ZQ6+CT#N)
MVCP 0K+=662+VQ(UR=!X   !0ST%2^/;4TTV+M)XBIY\#-^PFEJ at 1X@D22;2
M;C5KT'-B]UE\Z?NO1WY5D=)S8O=9?!T" \*<TG)B]ZR%LH?A1;&G_H#Y..HJ
M?-3W]X;!9&>@)P&9+P"X *  $ ^AB)^Q<!=_;#6UB0WQ1 MZJ'^DJ "J^4K\
MS>#+?781.H 6RX+; ,Q["WUFFXV);'+]HWH#'</% H0PB+<(X6I_;RITE,U#
MB)D '@&9S0 #7T$+_F?_(FN#8-L?BWW6$]\,.[N#7IR( 4>#J!97')C;H^%=
MC=9UKL3_*VSK(H/^%RL!W3D/;OJY0(/5C:\-#_=CH*OZ!SNOU/CWK[ATB89B
M6/!3U&"M1W:/Z'&6_JO[5^;G1O]&A4]<+7S!'*%"_DU#BXW$W2^F$5X(_T:+
M3 at 6S?X!ZHD+^S@?F1O^+U:ST@'MN=H+;?;BZ@#3_G-7Q"##VT6WW 4%F HDM
M<N[__+.@ H.)$-&FC@)6_9X*. :!> 1T@'7?">^N+: W,T#^?"%8(""(3"4R
M0/A\)KO!B;$8   "#@@ WPJY_O8_-H!VA22&H*C=2A9 H(, at F4>#_P;_#4+%
M??QEZL#=W0<61B@$>V719OZXA<3SJ @FD_W#+V[.  !'@]3YK8Y]_O at N=)!U
MX?2%JT)F#L6 N=F! O^N?4!T:'WV>B-Z0@"X]7L_N'I >@0#>.<"BC/X*)P>
MIE^'1A-XXID/_UG+=*+]!,?9F6>QFV6_FW^XFYG$%"+,5-ST>\^!XIH \P  
M@   M@  L@  FP !H@ )^,G+;!R= 9$  :   4( "4#)Q2W961:@6PJN67FR
M47)_G0"2  "?  !W  N=R<8PTEHTV5 at MI5@:KU at 5M5@.OEA]F%AAGEI=:EA(
M;EI'=UBT>UBM2EJ84UJ/7EJ#*UKZ/UC\#EK@&5KD\%LY^ULJQE,@!IP![0 !
M^@ !F  !@P !M@(!D ( >   5@ (K,O'O"I;J#%;K#A9FCQ;GP-;BPI9C^!9
MA>=;Z_-;YO5;VL%;U<93PQF<K-N[Q$&>PW#LH5;VH6>?Q!&;DV0D>O7D?0( 
2"5 at Z'08&$A4-W@  $M5A<GD$
 
end
SHAR_EOF
fi # end of overwriting check
if test -f 'Spatch'
then
	echo shar: will not over-write existing file "'Spatch'"
else
cat << \SHAR_EOF > 'Spatch'
begin 666 Spatch
M                                                            
M                                                            
M                                 !@     ^      $     'P     
M                                                            
M                                                            
M         !P                                                 
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                        FZ-6
M &B<!U5,IB?/2'?_H.%5*O:*T0OL(('8ZUX$W1'4?@Z$@XH<%]B;U=R)&?L"
MP_^+#IB?1AMUQ'^&+WR N7"$'.A[(_X?Y%%M".RY<H4!Z+4E  #?"KGE5PT 
MP_^ADX:@'T0;=EV"V77,>[\8BR4  -\*N>57#0##XZ&_AN-%OPE[HWQJL0 &
MW8XH ,Q]0H0 at BT"QP0=],N-'B##W&67;3P!&]@  *            )9.N(?W
M[@%=:(F BY\)>.=^01AU=I=E Z[R #.*1L)[_ICY.^HU?*!O]Q<#G-YNL7M9
MBP2X"E>^*__=TRO_$@[8 \:/4D2AC ^?_,\&=T,[:C@&@NG'Q8 & /=VO@]T
M(_[QZRC-N!6*S;S5=LWD8?P A""&,(:_ at +BC@]!7#9//N,=N#>4B 5F*@8O(
M 4W2AJ"(0(C&>(R53'<%18M$Q'S/3*'QU$>^!O<89'MZ#DZ.FTE1U3-K0T(.
M3XB;23%K6UH.38F;$PEK$%&("VF'40!" ]HYB$ ZQ6+CT#N)VCP 0K+=662+
MVQ(UR=!X   !0ST%2^/;4TTV+M)XBIY\#-^PFEJ at 1X@D22;2;C5KT'-B]UE\
MZ?NO1WY5D=)S8O=9?!T" \*<TG)B]ZR%LH?A1;&G_H#Y..HJ?-3W]X;!9&>@
M)P&9+P"X *  $ ^AB)^Q<!=_;#6UB0WQ1 MZJ'^DJ "J^4K\S>#+?781.H 6
MRX+; ,Q["WUFFXV);'+]HWH#'</% H0PB+<(X6I_;RITE,U#B)D '@&9S0 #
M7T,+_F?_(FN#8-L?BWW6&]\,.[N#7NR( 1#5U+:Z;G9;BZ/>/1?W&9/\Z\J#
M_A<K =TY#V[ZN4"#U8VO#0_W8Z"K^@<[K]3X]Z^X=(F$8ECR4]1 at K4=VC^AQ
MEOZK^U>4YT9\@@:@J,(.+YR) 'WU@@DZD]Z/#N[_1H5.!;-_@'JB0O[.!^9&
M_XO5K/2 >VYV at MM]N+J -/^<U?$(,/C1;?D!068"B2UR[O_\LZ "@XD0T::.
M E;]G at HX!H%X!'2 ==\)[ZXMH#<S0/Y\(5@@((A,)3) ^'PFN\&)L1@   (.
M" #?"KG^]C\V@':%)(:@J-U*%D"@@R#K1X-\PGB/Q7WG?I&]W3%M/E"X _N!
MCOZXA<3SJ @FD_W%+V[.  !'@]3YK8Y]_O at N=)!UX?2%JT)F#L6 N=F! O^N
M?4!T:'WV>B-Z0@"X]7L_N'I >@0#>.<"BC/X*)P>IE^'1A-XXID/_UG#(*+]
M!,?7F6>'FV6%FW^.FYG.%"+:7 #">X?Y_)H G0  @@  B   D  !=0 !K !!
MZ,F#8A2= 8\  :(  40 043)Q27=60ZD6P*R67&V&6ASG0"T  ")  !I $.5
MR<8TUEHHW5 at AJ5@>LU@)N5@"@EAQG%AF8EI1;EA,<EJ[>UBH?UBA3EJ<5UJ#
M(EJ'+UK^ UCP$EKD'5K8]%L]_ULNRALF&IP!]P !^  !G@ !C0 !L (!E@( 
M=@  4 ! K,O'LBQ;KC-;HCI9F#Y;G05;B0Q9C>)9^^E;Z?5;Y/M;V,-;R\0;
MPQN<W]F[Q#^>PW+LH53VH66?Q ^;VV0D>C3D<0( "5 at Z'08&$A4-W   '-5A
#<GD$
 
end
SHAR_EOF
fi # end of overwriting check
if test -f 'xorit.c'
then
	echo shar: will not over-write existing file "'xorit.c'"
else
cat << \SHAR_EOF > 'xorit.c'
#include <stdio.h>

#define DEC(c)	(((c) - ' ') & 077)

#define xorit(ch) putchar((ch)^getc(orig))


main(argc, argv)
int argc;
char *argv[];
{
    int n;
    FILE *orig;
    char a, b, c, d;

    if (argc<3)
    {
	fprintf(stderr, "Usage: xorit <originalfile> <patchfile>\n");
	exit(-1);
    }

    if ((orig=fopen(argv[1], "r")) == NULL)
    {
	perror(argv[1]);
	exit(1);
    }

    if (freopen(argv[2], "r", stdin) == NULL)
    {
	perror(argv[2]);
	exit(1);
    }

    if (scanf("begin %*o %*s "))
    {
	fputs("xorit: bad uudecode input\n", stderr);
	exit(1);
    }

    while ((n=getchar()) != EOF && (n=DEC(n))!=0)
    {
	while (n>0)
	{
	    a = DEC(getchar());
	    b = DEC(getchar());
	    c = DEC(getchar());
	    d = DEC(getchar());
	    if (n-- > 0) xorit(a << 2 | b >> 4);
	    if (n-- > 0) xorit(b << 4 | c >> 2);
	    if (n-- > 0) xorit(c << 6 | d);
	}
	if ( (n=getchar()) != '\n' )
	{
	    fputs("xorit: bad uudecode input\n", stderr);
	    exit(1);
	}
    }

    exit(0);
}
SHAR_EOF
fi # end of overwriting check

set -e

echo "Extracting the old [SML ]crypt.o from [SML ]libc..."
ar x /lib/Slibcrypt.a Scrypt.o
mv Scrypt.o ORIGScrypt.o

ar x /lib/Mlibcrypt.a Mcrypt.o
mv Mcrypt.o ORIGMcrypt.o

ar x /lib/Llibcrypt.a Lcrypt.o
mv Lcrypt.o ORIGLcrypt.o

ar x /lib/386/Slibcrypt.a crypt.o
mv crypt.o ORIGcrypt.o

echo "Making the patch..."
cc -o xorit xorit.c
./xorit ORIGScrypt.o Spatch > Scrypt.o
./xorit ORIGMcrypt.o Mpatch > Mcrypt.o
./xorit ORIGLcrypt.o Lpatch > Lcrypt.o
./xorit ORIGcrypt.o 386patch > crypt.o

echo "Installing the new [SML ]crypt.o into [SML ]libc..."
ar r /lib/Slibcrypt.a Scrypt.o
mv Scrypt.o NEWScrypt.o
cp ORIGScrypt.o /lib		# Save a copy for future reference

ar r /lib/Mlibcrypt.a Mcrypt.o
mv Mcrypt.o NEWMcrypt.o
cp ORIGMcrypt.o /lib		# Save a copy for future reference

ar r /lib/Llibcrypt.a Lcrypt.o
mv Lcrypt.o NEWLcrypt.o
cp ORIGLcrypt.o /lib		# Save a copy for future reference

ar r /lib/386/Slibcrypt.a crypt.o
mv crypt.o NEWcrypt.o
cp ORIGcrypt.o /lib/386		# Save a copy for future reference

echo "Cleaning up..."
rm xorit xorit.c Spatch Mpatch Lpatch 386patch

echo "All done."

#	End of shell archive
exit 0
-- 
[  Keith   ]  UUCP: {cbosgd, hplabs!hp-sdd, sdcsvax, nosc}!crash!portnoy!ag
[Gabryelski]  INET: ag at portnoy.cts.com      ARPA: crash!portnoy!ag at nosc.mil



More information about the Comp.unix.xenix mailing list