<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=US-ASCII">
<META content="MSHTML 6.00.2800.1586" name=GENERATOR></HEAD>
<BODY id=role_body style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Arial" 
bottomMargin=7 leftMargin=7 topMargin=7 rightMargin=7><FONT id=role_document 
face=Arial color=#000000 size=2>
<DIV>
<DIV>In a message dated 1/6/2007 5:55:02 P.M. Central Standard Time, 
pere@hungry.com writes:</DIV>
<BLOCKQUOTE 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: blue 2px solid"><FONT 
  style="BACKGROUND-COLOR: transparent" face=Arial color=#000000 size=2><BR>I 
  read throught this bug, but fail to understand it.&nbsp; Can you please<BR>try 
  to rephrase it?&nbsp; Without understanding it, I'm not sure where to<BR>start 
  to try to solve it.<BR><BR>Friendly,<BR>-- <BR>Petter Reinholdtsen<BR>One of 
  the sysvinit maintainers</FONT></BLOCKQUOTE></DIV>
<DIV></DIV>
<DIV>Yes, I will try.&nbsp;&nbsp; To see the problem get the latest sysvinit and 
cd to the src directory and run 'make halt'.&nbsp;&nbsp; Look at the size of the 
binary file halt.&nbsp;&nbsp; Then look at the size of the binary file 
/sbin/halt that comes with etch.&nbsp; There you will see /sbin/halt is 
smaller.&nbsp;&nbsp; The reason it is smaller is that ifdown.c in /sbin/halt is 
made into a no-op or blank or stub function and it doesn't bring the network 
interface down at all no matter if </DIV>
<DIV>'-i' is present or '-i' is not present on the halt command 
line.&nbsp;&nbsp; The version in the sysvinit src directory is larger and it 
does work properly.</DIV>
<DIV>&nbsp;</DIV>
<DIV>I will write this again in another way to help with language translation 
efforts.</DIV>
<DIV>&nbsp;</DIV>
<DIV>At the present time, the ifdown.c module in the halt program in the 
sysvinit set does not get compiled in to the halt binary that is distributed 
with etch.&nbsp; However, the usage and man pages write that it is there and it 
does work.&nbsp; If you download the sysvinit source and compile it with 'make 
halt' in the src directory, it does get compiled in, that binary is 2K larger 
than than the one distributed with etch, and it does do the ifdown function 
properly.</DIV>
<DIV>&nbsp;</DIV>
<DIV>I have an idea about how this happened:</DIV>
<DIV>&nbsp;</DIV>
<DIV>The problem began&nbsp;some time ago as a result of a fix notice in the 
change log -- because. on one of the *bsd distros the ifdown.c wasn't 
appropriate for *bsd, and so&nbsp;in a 'fix' listed in the changelog&nbsp;to 
make it a do-nothing function but just on *bsd.&nbsp;&nbsp;&nbsp;&nbsp;However, 
somehow, this crippled version wrongly is sent out with linux too, that is the 
problem.</DIV>
<DIV>&nbsp;</DIV>
<DIV>To solve it, take a look at the ifdown.c in the 'halt' sysvinit 
program.&nbsp; Make sure that in the Debian and other Linux distros, the ifdown 
function actually is compiled in and that it&nbsp;works.</DIV>
<DIV>&nbsp;</DIV>
<DIV>To check, make sure a system with the network works.&nbsp;&nbsp; Then 
do</DIV>
<DIV>&nbsp;</DIV>
<DIV>ifconfig</DIV>
<DIV>halt -i -w</DIV>
<DIV>ifconfig</DIV>
<DIV>&nbsp;</DIV>
<DIV>all interfaces should be 'DOWN' on the second ifconfig if you have the 
right version of halt.&nbsp; The wrong&nbsp;version with etch will not change 
the state of the network interfaces.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Thanks all!</DIV>
<DIV>&nbsp;</DIV>
<DIV>Harry Coin</DIV>
<DIV>&nbsp;</DIV></FONT></BODY></HTML>