--- Makefile +++ Makefile 2008/05/05 13:05:05 @@ -90,7 +90,7 @@ # You may need to uncomment and edit these if you are using libc5 and IPv6. COPTS = -D_GNU_SOURCE -O2 -Wall -g # -I/usr/inet6/include ifeq ($(origin LOPTS), undefined) -LOPTS = +LOPTS = -s endif RESLIB = # -L/usr/inet6/lib -linet6 @@ -134,7 +134,7 @@ config: cleanconfig config.h -install: all savebin installbin installdata +install: all installbin installdata update: all installbin installdata --- config.in +++ config.in 2008/05/05 13:05:05 @@ -42,14 +42,14 @@ * course, welcome. Answer `n' here if you have no support for * internationalization on your system. * -bool 'Does your system support GNU gettext?' I18N n +bool 'Does your system support GNU gettext?' I18N y * * * Protocol Families. * bool 'UNIX protocol family' HAVE_AFUNIX y bool 'INET (TCP/IP) protocol family' HAVE_AFINET y -bool 'INET6 (IPv6) protocol family' HAVE_AFINET6 n +bool 'INET6 (IPv6) protocol family' HAVE_AFINET6 y bool 'Novell IPX/SPX protocol family' HAVE_AFIPX y bool 'Appletalk DDP protocol family' HAVE_AFATALK y bool 'AX25 (packet radio) protocol family' HAVE_AFAX25 y @@ -75,9 +75,9 @@ bool 'NET/ROM (packet radio) support' HAVE_HWNETROM y bool 'X.25 (generic) support' HAVE_HWX25 y bool 'DLCI/FRAD (frame relay) support' HAVE_HWFR y -bool 'SIT (IPv6-in-IPv4) support' HAVE_HWSIT n -bool 'FDDI (generic) support' HAVE_HWFDDI n -bool 'HIPPI (generic) support' HAVE_HWHIPPI n +bool 'SIT (IPv6-in-IPv4) support' HAVE_HWSIT y +bool 'FDDI (generic) support' HAVE_HWFDDI y +bool 'HIPPI (generic) support' HAVE_HWHIPPI y bool 'Ash hardware support' HAVE_HWASH n bool '(Cisco)-HDLC/LAPB support' HAVE_HWHDLCLAPB n bool 'IrDA support' HAVE_HWIRDA y @@ -86,6 +86,6 @@ * * Other Features. * -bool 'IP Masquerading support' HAVE_FW_MASQUERADE n -bool 'Build iptunnel and ipmaddr' HAVE_IP_TOOLS n -bool 'Build mii-tool' HAVE_MII n +bool 'IP Masquerading support' HAVE_FW_MASQUERADE y +bool 'Build iptunnel and ipmaddr' HAVE_IP_TOOLS y +bool 'Build mii-tool' HAVE_MII y --- configure.sh +++ configure.sh 2008/05/05 13:05:05 @@ -58,9 +58,8 @@ # function readln() { - echo -n "$1" - IFS='@' read ans || exit 1 - [ -z "$ans" ] && ans=$2 + echo "$1" + ans=$2 } # bool processes a boolean argument --- lib/inet6_gr.c +++ lib/inet6_gr.c 2008/05/05 13:05:05 @@ -34,6 +34,10 @@ /* neighbour discovery from linux-2.4.0/include/net/neighbour.h */ +#ifndef HZ +#define HZ sysconf(_SC_CLK_TCK) +#endif + #define NUD_INCOMPLETE 0x01 #define NUD_REACHABLE 0x02 #define NUD_STALE 0x04 --- lib/inet_sr.c +++ lib/inet_sr.c 2008/05/05 13:05:05 @@ -40,6 +40,10 @@ #define full_mask(x) (((struct sockaddr_in *)&(x))->sin_addr.s_addr) #endif +#ifndef HZ +#define HZ sysconf(_SC_CLK_TCK) +#endif + extern struct aftype inet_aftype; static int skfd = -1; --- lib/interface.c +++ lib/interface.c 2008/05/05 13:05:05 @@ -86,6 +86,7 @@ int procnetdev_vsn = 1; int ife_short; +int ife_field = 5; static struct interface *int_list, *int_last; @@ -139,6 +140,22 @@ return 0; } +void get_max_ifacename(void) +{ + struct interface *ife; + int tmp = ife_field; + + if (!int_list && (if_readlist(0) < 0)) { + return; + } + for (ife = int_list; ife; ife = ife->next) { + tmp = strlen (ife->name); + if (tmp > ife_field) { + ife_field = tmp; + } + } +} + int free_interface_list(void) { struct interface *ife; @@ -579,7 +596,7 @@ void ife_print_short(struct interface *ptr) { - printf("%-5.5s ", ptr->name); + printf("%-*.*s ", ife_field,ife_field,ptr->name); printf("%5d %3d", ptr->mtu, ptr->metric); /* If needed, display the interface statistics. */ if (ptr->statistics_valid) { @@ -670,7 +687,9 @@ if (hw == NULL) hw = get_hwntype(-1); - printf(_("%-9.9s Link encap:%s "), ptr->name, hw->title); + printf(_("%-*.*s Link encap:%s "), + ife_field+4,ife_field+4,ptr->name, hw->title + ); /* For some hardware types (eg Ash, ATM) we don't print the hardware address if it's null. */ if (hw->print != NULL && (! (hw_null_address(hw, ptr->hwaddr) && --- man/en_US/hostname.1 +++ man/en_US/hostname.1 2008/05/05 13:06:26 @@ -107,6 +107,32 @@ complete FQDN of the system is returned with .BR "hostname \-\-fqdn" . +.LP +The function +.BR gethostname(2) +is used to get the hostname. Only when the +.BR "hostname \-s" +is called will +.BR gethostbyname(3) +be called. The difference in +.BR gethostname(2) +and +.BR gethostbyname(3) +is that +.BR gethostbyname(3) +is network aware, so it consults +.IR /etc/nsswitch.conf +and +.IR /etc/host.conf +to decide whether to read information in +.IR /etc/sysconfig/network +or +.IR /etc/hosts +. To add another dimension to this, +the +.B hostname +is also set when the network interface is brought up. + .SS "SET NAME" When called with one argument or with the .B \-\-file --- netstat.c +++ netstat.c 2008/05/05 13:05:05 @@ -117,6 +117,10 @@ #define SO_WAITDATA (1<<17) /* wait data to read */ #define SO_NOSPACE (1<<18) /* no space to write */ +#ifndef HZ +#define HZ sysconf(_SC_CLK_TCK) +#endif + #define DFLT_AF "inet" #define FEATURE_NETSTAT @@ -1452,6 +1456,8 @@ printf(_("Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg\n")); } + get_max_ifacename(); + if (for_all_interfaces(do_if_print, &flag_all) < 0) { perror(_("missing interface information")); exit(1); --- po/de.po +++ po/de.po 2008/05/05 13:05:05 @@ -2148,7 +2148,7 @@ "Source Destination Gateway Flags Metric Ref Use " "Iface\n" msgstr "" -"Ziel Ziel Genmask Flags Metric Ref Ben " +"Quelle Ziel Maske Flags Metric Ref Ben " "Iface\n" #: ../lib/inet_gr.c:261