Package: net-tools; Maintainer for net-tools is net-tools Team <team+net-tools@tracker.debian.org>; Source for net-tools is src:net-tools (PTS, buildd, popcon).
Reported by: "J.H.M. Dassen (Ray)" <jdassen@cistron.nl>
Date: Wed, 12 Jan 2000 12:18:02 UTC
Severity: normal
Done: Bernd Eckenfels <ecki@lina.inka.de>
Bug is archived. No further changes may be made.
Forwarded to philb@gnu.org
View this report as an mbox folder, status mbox, maintainer mbox
Report forwarded to debian-bugs-dist@lists.debian.org, Anthony Towns <ajt@debian.org>
:
Bug#54864
; Package netbase
.
(full text, mbox, link).
Acknowledgement sent to "J.H.M. Dassen (Ray)" <jdassen@cistron.nl>
:
New Bug report received and forwarded. Copy sent to Anthony Towns <ajt@debian.org>
.
(full text, mbox, link).
Message #5 received at submit@bugs.debian.org (full text, mbox, reply):
Package: netbase Version: 3.16-8 Here is a patch to add X.25 support to route. diff --unidirectional-new-file -r -u ../netbase-3.16/debian/changelog ./debian/changelog --- ../netbase-3.16/debian/changelog Tue Jan 11 20:39:08 2000 +++ ./debian/changelog Wed Jan 12 11:27:27 2000 @@ -1,3 +1,12 @@ +netbase (3.16-8.1) unstable; urgency=low + + * Added X.25 support following the patch-net-tools-x25 included with xtod + (ftp://ftp.com1.fr/xot/). + * Updated net-tools configuration (enabled X25, DECnet, IRDA). + * Clean out net-tools' config.status on clean. + + -- J.H.M. Dassen (Ray) <jdassen@cistron.nl> Wed, 12 Jan 2000 11:27:14 +0100 + netbase (3.16-8) unstable; urgency=low * iputils/ping6.c: Did local defines of clear_bit, set_bit and test_bit, diff --unidirectional-new-file -r -u ../netbase-3.16/debian/rules ./debian/rules --- ../netbase-3.16/debian/rules Tue Jan 11 20:39:08 2000 +++ ./debian/rules Wed Jan 12 11:24:07 2000 @@ -71,6 +71,7 @@ @for i in $(SUBDIRS); do \ ( cd ./$$i && echo -e "\nMaking clean in \`$$i':\n" && make clean ) || exit 1; \ done + -rm -f net-tools/config.status dh_clean diff --unidirectional-new-file -r -u ../netbase-3.16/net-tools/config.h ./net-tools/config.h --- ../netbase-3.16/net-tools/config.h Tue Jan 11 20:39:08 2000 +++ ./net-tools/config.h Wed Jan 12 11:24:15 2000 @@ -11,15 +11,12 @@ /* * - * I18N + * Internationalization * - * (Internationalization) - * - * In this BETA Release the I18N (NLS) is enabled and now based - * on GNU gettext, only a brazilian portuguese catalog (translation) - * is present, but others are *highly* welcome! - * - * (answer 'n' if you have no system with GNU gettext support) + * The net-tools package has currently been translated to French, + * German and Brazilian Portugese. Other translations are, of + * course, welcome. Answer `n' here if you have no support for + * internationalization on your system. * */ #define I18N 1 @@ -37,7 +34,9 @@ #define HAVE_AFAX25 1 #define HAVE_AFNETROM 1 #define HAVE_AFROSE 1 +#define HAVE_AFX25 1 #define HAVE_AFECONET 1 +#define HAVE_AFDECnet 1 /* * @@ -53,12 +52,14 @@ #define HAVE_HWAX25 1 #define HAVE_HWROSE 1 #define HAVE_HWNETROM 1 +#define HAVE_HWX25 1 #define HAVE_HWFR 1 #define HAVE_HWSIT 1 #define HAVE_HWFDDI 1 #define HAVE_HWHIPPI 1 #define HAVE_HWASH 1 #define HAVE_HWHDLCLAPB 1 +#define HAVE_HWIRDA 1 /* * diff --unidirectional-new-file -r -u ../netbase-3.16/net-tools/config.in ./net-tools/config.in --- ../netbase-3.16/net-tools/config.in Wed Apr 21 19:48:53 1999 +++ ./net-tools/config.in Wed Jan 12 10:31:09 2000 @@ -55,6 +55,7 @@ bool 'AX25 (packet radio) protocol family' HAVE_AFAX25 y bool 'NET/ROM (packet radio) protocol family' HAVE_AFNETROM y bool 'Rose (packet radio) protocol family' HAVE_AFROSE n +bool 'X.25 (CCITT) protocol family' HAVE_AFX25 y bool 'Econet protocol family' HAVE_AFECONET n bool 'DECnet protocol family' HAVE_AFDECnet n * @@ -70,6 +71,7 @@ bool 'AX25 (packet radio) support' HAVE_HWAX25 y bool 'Rose (packet radio) support' HAVE_HWROSE n 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 diff --unidirectional-new-file -r -u ../netbase-3.16/net-tools/config.make ./net-tools/config.make --- ../netbase-3.16/net-tools/config.make Tue Jan 11 20:39:08 2000 +++ ./net-tools/config.make Wed Jan 12 11:24:15 2000 @@ -7,7 +7,9 @@ HAVE_AFAX25=1 HAVE_AFNETROM=1 HAVE_AFROSE=1 +HAVE_AFX25=1 HAVE_AFECONET=1 +HAVE_AFDECnet=1 HAVE_HWETHER=1 HAVE_HWARC=1 HAVE_HWSLIP=1 @@ -17,11 +19,13 @@ HAVE_HWAX25=1 HAVE_HWROSE=1 HAVE_HWNETROM=1 +HAVE_HWX25=1 HAVE_HWFR=1 HAVE_HWSIT=1 HAVE_HWFDDI=1 HAVE_HWHIPPI=1 HAVE_HWASH=1 HAVE_HWHDLCLAPB=1 +HAVE_HWIRDA=1 HAVE_FW_MASQUERADE=1 HAVE_IP_TOOLS=1 diff --unidirectional-new-file -r -u ../netbase-3.16/net-tools/include/sockets.h ./net-tools/include/sockets.h --- ../netbase-3.16/net-tools/include/sockets.h Wed Apr 21 19:48:54 1999 +++ ./net-tools/include/sockets.h Tue Jan 11 17:29:09 2000 @@ -1,4 +1,4 @@ -extern int skfd, ipx_sock, ax25_sock, rose_sock, inet_sock, inet6_sock, +extern int skfd, ipx_sock, ax25_sock, rose_sock, x25_sock, inet_sock, inet6_sock, ddp_sock, ec_sock; extern int sockets_open(int family); diff --unidirectional-new-file -r -u ../netbase-3.16/net-tools/lib/Makefile ./net-tools/lib/Makefile --- ../netbase-3.16/net-tools/lib/Makefile Tue Jan 11 20:39:08 2000 +++ ./net-tools/lib/Makefile Tue Jan 11 17:59:19 2000 @@ -16,10 +16,10 @@ # -HWOBJS = hw.o loopback.o slip.o ether.o ax25.o ppp.o arcnet.o tr.o tunnel.o frame.o sit.o rose.o ash.o fddi.o hippi.o hdlclapb.o irda.o -AFOBJS = unix.o inet.o inet6.o ax25.o ipx.o ddp.o ipx.o netrom.o af.o rose.o econet.o -AFGROBJS = inet_gr.o inet6_gr.o ipx_gr.o ddp_gr.o netrom_gr.o ax25_gr.o rose_gr.o getroute.o -AFSROBJS = inet_sr.o inet6_sr.o netrom_sr.o ipx_sr.o setroute.o +HWOBJS = hw.o loopback.o slip.o ether.o ax25.o ppp.o arcnet.o tr.o tunnel.o frame.o sit.o rose.o ash.o fddi.o hippi.o hdlclapb.o irda.o x25.o +AFOBJS = unix.o inet.o inet6.o ax25.o ipx.o ddp.o ipx.o netrom.o x25.o af.o rose.o econet.o +AFGROBJS = inet_gr.o inet6_gr.o ipx_gr.o ddp_gr.o netrom_gr.o ax25_gr.o rose_gr.o x25_gr.o getroute.o +AFSROBJS = inet_sr.o inet6_sr.o netrom_sr.o ipx_sr.o x25_sr.o setroute.o ACTOBJS = slip_ac.o ppp_ac.o activate.o VARIA = getargs.o masq_info.o proc.o util.o nstrcmp.o interface.o sockets.o util-ank.o diff --unidirectional-new-file -r -u ../netbase-3.16/net-tools/lib/af.c ./net-tools/lib/af.c --- ../netbase-3.16/net-tools/lib/af.c Wed Apr 21 19:48:48 1999 +++ ./net-tools/lib/af.c Tue Jan 11 17:34:32 2000 @@ -35,6 +35,7 @@ int flag_inet = 0; int flag_inet6 = 0; int flag_econet = 0; +int flag_x25 = 0; struct aftrans_t { @@ -80,6 +81,9 @@ "econet", "ec", &flag_econet }, { + "x25", "x25", &flag_x25 + }, + { 0, 0, 0 } }; @@ -95,6 +99,7 @@ extern struct aftype ipx_aftype; extern struct aftype ddp_aftype; extern struct aftype ec_aftype; +extern struct aftype x25_aftype; extern struct aftype rose_aftype; static short sVafinit = 0; @@ -128,6 +133,9 @@ #if HAVE_AFECONET &ec_aftype, #endif +#if HAVE_AFX25 + &x25_aftype, +#endif &unspec_aftype, NULL }; @@ -158,6 +166,9 @@ #endif #if HAVE_AFECONET ec_aftype.title = _("Econet"); +#endif +#if HAVE_AFX25 + x25_aftype.title = _("CCITT X.25"); #endif #if HAVE_AFROSE rose_aftype.title = _("AMPR ROSE"); diff --unidirectional-new-file -r -u ../netbase-3.16/net-tools/lib/getroute.c ./net-tools/lib/getroute.c --- ../netbase-3.16/net-tools/lib/getroute.c Wed Apr 21 19:48:48 1999 +++ ./net-tools/lib/getroute.c Tue Jan 11 17:14:06 2000 @@ -46,6 +46,7 @@ extern struct aftype netrom_aftype; extern struct aftype ipx_aftype; extern struct aftype ddp_aftype; +extern struct aftype x25_aftype; void getroute_init(void) { @@ -66,6 +67,9 @@ #endif #if HAVE_AFATALK ddp_aftype.rprint = DDP_rprint; +#endif +#if HAVE_AFX25 + x25_aftype.rprint = X25_rprint; #endif } diff --unidirectional-new-file -r -u ../netbase-3.16/net-tools/lib/hw.c ./net-tools/lib/hw.c --- ../netbase-3.16/net-tools/lib/hw.c Wed Apr 21 19:48:48 1999 +++ ./net-tools/lib/hw.c Tue Jan 11 17:39:27 2000 @@ -47,6 +47,7 @@ extern struct hwtype ax25_hwtype; extern struct hwtype rose_hwtype; extern struct hwtype netrom_hwtype; +extern struct hwtype x25_hwtype; extern struct hwtype tunnel_hwtype; extern struct hwtype ash_hwtype; @@ -124,6 +125,9 @@ #if HAVE_HWIRDA &irda_hwtype, #endif +#if HAVE_HWX25 + &x25_hwtype, +#endif &unspec_hwtype, NULL }; @@ -161,6 +165,9 @@ #endif #if HAVE_HWNETROM netrom_hwtype.title = _("AMPR NET/ROM"); +#endif +#if HAVE_HWX25 + x25_hwtype.title = _("generic X.25"); #endif #if HAVE_HWTUNNEL tunnel_hwtype.title = _("IPIP Tunnel"); diff --unidirectional-new-file -r -u ../netbase-3.16/net-tools/lib/net-features.h ./net-tools/lib/net-features.h --- ../netbase-3.16/net-tools/lib/net-features.h Wed Apr 21 19:48:49 1999 +++ ./net-tools/lib/net-features.h Tue Jan 11 17:16:52 2000 @@ -159,6 +159,12 @@ "-" #endif "NETROM " +#if HAVE_AFX25 +"+" +#else +"-" +#endif +"X25 " #if HAVE_AFATALK "+" #else @@ -233,6 +239,13 @@ "-" #endif "NETROM " + +#if HAVE_HWX25 +"+" +#else +"-" +#endif +"X25 " #if HAVE_HWFR "+" diff --unidirectional-new-file -r -u ../netbase-3.16/net-tools/lib/net-support.h ./net-tools/lib/net-support.h --- ../netbase-3.16/net-tools/lib/net-support.h Wed Apr 21 19:48:49 1999 +++ ./net-tools/lib/net-support.h Tue Jan 11 17:39:09 2000 @@ -108,6 +108,7 @@ extern int IPX_rprint(int options); extern int NETROM_rprint(int options); extern int AX25_rprint(int options); +extern int X25_rprint(int options); extern int INET_rinput(int action, int flags, char **argv); extern int INET6_rinput(int action, int flags, char **argv); @@ -115,6 +116,7 @@ extern int IPX_rinput(int action, int flags, char **argv); extern int NETROM_rinput(int action, int flags, char **argv); extern int AX25_rinput(int action, int flags, char **argv); +extern int X25_rinput(int action, int flags, char **argv); extern int aftrans_opt(const char *arg); extern void aftrans_def(char *tool, char *argv0, char *dflt); @@ -126,6 +128,7 @@ extern int flag_ax25; extern int flag_ddp; extern int flag_netrom; +extern int flag_x25; extern int flag_inet; extern int flag_inet6; @@ -133,6 +136,7 @@ #define AFTRANS_OPTS \ {"ax25", 0, 0, 1}, \ + {"x25", 0, 0, 1}, \ {"ip", 0, 0, 1}, \ {"ipx", 0, 0, 1}, \ {"appletalk", 0, 0, 1}, \ @@ -142,7 +146,7 @@ {"ddp", 0, 0, 1}, \ {"unix", 0, 0, 1}, \ {"tcpip", 0, 0, 1} -#define AFTRANS_CNT 10 +#define AFTRANS_CNT 11 #define EINTERN(file, text) fprintf(stderr, \ "%s: Internal Error `%s'.\n",file,text); diff --unidirectional-new-file -r -u ../netbase-3.16/net-tools/lib/pathnames.h ./net-tools/lib/pathnames.h --- ../netbase-3.16/net-tools/lib/pathnames.h Wed Apr 21 19:48:49 1999 +++ ./net-tools/lib/pathnames.h Tue Jan 11 18:28:07 2000 @@ -42,6 +42,8 @@ #define _PATH_PROCNET_RARP "/proc/net/rarp" #define _PATH_ETHERS "/etc/ethers" #define _PATH_PROCNET_ROSE_ROUTE "/proc/net/rose_routes" +#define _PATH_PROCNET_X25 "/proc/net/x25" +#define _PATH_PROCNET_X25_ROUTE "/proc/net/x25_routes" #define _PATH_PROCNET_DEV_MCAST "/proc/net/dev_mcast" /* pathname for the netlink device */ diff --unidirectional-new-file -r -u ../netbase-3.16/net-tools/lib/setroute.c ./net-tools/lib/setroute.c --- ../netbase-3.16/net-tools/lib/setroute.c Wed Apr 21 19:48:49 1999 +++ ./net-tools/lib/setroute.c Tue Jan 11 17:19:06 2000 @@ -40,6 +40,7 @@ extern struct aftype netrom_aftype; extern struct aftype ipx_aftype; extern struct aftype ddp_aftype; +extern struct aftype x25_aftype; void setroute_init(void) { @@ -54,6 +55,9 @@ #endif #if HAVE_AFIPX ipx_aftype.rinput = IPX_rinput; +#endif +#if HAVE_AFX25 + ipx_aftype.rinput = X25_rinput; #endif #if 0 #if HAVE_AFAX25 diff --unidirectional-new-file -r -u ../netbase-3.16/net-tools/lib/x25.c ./net-tools/lib/x25.c --- ../netbase-3.16/net-tools/lib/x25.c Thu Jan 1 01:00:00 1970 +++ ./net-tools/lib/x25.c Tue Jan 11 17:43:38 2000 @@ -0,0 +1,173 @@ +/* + * lib/x25.c This file contains an implementation of the "X.25" + * support functions for the NET-3 base distribution. + * + * Version: @(#)x25.c 1.00 08/15/98 + * + * Author: Stephane Fillod, <sfillod@charybde.gyptis.frmug.org> + * based on ax25.c by: + * Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org> + * Copyright 1993 MicroWalt Corporation + * + * This program is free software; you can redistribute it + * and/or modify it under the terms of the GNU General + * Public License as published by the Free Software + * Foundation; either version 2 of the License, or (at + * your option) any later version. + */ +#include "config.h" + +#if HAVE_AFX25 || HAVE_HWX25 +#include <sys/types.h> +#include <sys/ioctl.h> +#include <sys/socket.h> +#include <linux/x25.h> +#include <net/if_arp.h> /* ARPHRD_X25 */ +#include <stdlib.h> +#include <stdio.h> +#include <ctype.h> +#include <errno.h> +#include <fcntl.h> +#include <string.h> +#include <termios.h> +#include <unistd.h> +#include "net-support.h" +#include "pathnames.h" +#define EXTERN +#if 0 +#include "net-locale.h" +#endif +#include "intl.h" + +static char X25_errmsg[128]; + + +extern struct aftype x25_aftype; + +/* is in net/x25.h, not in the public header file linux/x25.h. Why?*/ +#ifndef X25_ADDR_LEN +#define X25_ADDR_LEN 16 +#endif + + +static char * +X25_print(unsigned char *ptr) +{ + static char buff[X25_ADDR_LEN+1]; + + strncpy(buff, ptr, X25_ADDR_LEN); + buff[X25_ADDR_LEN] = '\0'; + return(buff); + +} + + +/* Display an X.25 socket address. */ +static char * +X25_sprint(struct sockaddr *sap, int numeric) +{ + static char buf[64]; + + if (sap->sa_family == 0xFFFF || sap->sa_family == 0) + return( _("[NONE SET]")); + return(X25_print(((struct sockaddr_x25 *)sap)->sx25_addr.x25_addr)); +} + + +/* + * return the sigdigits of the address + */ +static int +X25_input(int type, char *bufp, struct sockaddr *sap) +{ + unsigned char *ptr; + char *p; + unsigned int sigdigits; + + sap->sa_family = x25_aftype.af; + ptr = ((struct sockaddr_x25 *)sap)->sx25_addr.x25_addr; + + + /* Address the correct length ? */ + if (strlen(bufp)>18) { + strcpy(X25_errmsg, _("Address can't exceed eighteen digits with sigdigits")); +#ifdef DEBUG + fprintf(stderr, "x25_input(%s): %s !\n", X25_errmsg, orig); +#endif + errno = EINVAL; + return(-1); + } + + + if ((p = strchr(bufp, '/')) != NULL) { + *p = '\0'; + sigdigits = atoi(p + 1); + } else { + sigdigits = strlen(bufp); + } + + if (strlen(bufp) < 1 || strlen(bufp) > 15 || sigdigits > strlen(bufp)) { + *p = '/'; + strcpy(X25_errmsg, _("Invalid address")); +#ifdef DEBUG + fprintf(stderr, "x25_input(%s): %s !\n", X25_errmsg, orig); +#endif + errno = EINVAL; + return(-1); + } + + strncpy(ptr, bufp, sigdigits+1); + + /* All done. */ +#ifdef DEBUG + fprintf(stderr, "x25_input(%s): ", orig); + for (i = 0; i < sizeof(x25_address); i++) + fprintf(stderr, "%02X ", sap->sa_data[i] & 0377); + fprintf(stderr, "\n"); +#endif + + return sigdigits; +} + + +/* Display an error message. */ +static void +X25_herror(char *text) +{ + if (text == NULL) fprintf(stderr, "%s\n", X25_errmsg); + else fprintf(stderr, "%s: %s\n", text, X25_errmsg); +} + + +static char * +X25_hprint(struct sockaddr *sap) +{ + static char buf[64]; + + if (sap->sa_family == 0xFFFF || sap->sa_family == 0) + return( _("[NONE SET]")); + return(X25_print(((struct sockaddr_x25 *)sap)->sx25_addr.x25_addr)); +} + + +static int +X25_hinput(char *bufp, struct sockaddr *sap) +{ + if (X25_input(0, bufp, sap) < 0) return(-1); + sap->sa_family = ARPHRD_X25; + return(0); +} + + +struct hwtype x25_hwtype = { + "x25", NULL, /*"CCITT X.25",*/ ARPHRD_X25, X25_ADDR_LEN, + X25_print, NULL, /* X25_hprint,*/ X25_hinput, NULL +}; + +struct aftype x25_aftype = { + "x25", NULL, /*"CCITT X.25",*/ AF_X25, X25_ADDR_LEN, + X25_print, X25_sprint, X25_input, X25_herror, + NULL/*X25_rprint*/, NULL/*X25_rinput*/ +}; + +#endif /* HAVE_xxX25 */ diff --unidirectional-new-file -r -u ../netbase-3.16/net-tools/lib/x25_gr.c ./net-tools/lib/x25_gr.c --- ../netbase-3.16/net-tools/lib/x25_gr.c Thu Jan 1 01:00:00 1970 +++ ./net-tools/lib/x25_gr.c Tue Jan 11 18:02:14 2000 @@ -0,0 +1,88 @@ +/* + * lib/x25_gr.c This file contains an implementation of the "X.25" + * route print support functions. + * + * Version: lib/x25_gr.c 1.00 08/15/98 + * + * Author: Stephane Fillod, <sfillod@charybde.gyptis.frmug.org> + * based on ax25_gr.c by: + * Bernd Eckenfels, <ecki@lina.inka.de> + * Copyright 1999 Bernd Eckenfels, Germany + * base on Code from Jonathan Naylor <jsn@Cs.Nott.AC.UK> + * + * This program is free software; you can redistribute it + * and/or modify it under the terms of the GNU General + * Public License as published by the Free Software + * Foundation; either version 2 of the License, or (at + * your option) any later version. + */ +#include "config.h" + +#if HAVE_AFX25 +#if 0 +#include <sys/types.h> +#include <sys/ioctl.h> +#include <sys/socket.h> +#include <linux/x25.h> +#include <linux/if_arp.h> /* ARPHRD_X25 */ +#include <ctype.h> +#include <errno.h> +#include <fcntl.h> +#include <string.h> +#include <termios.h> +#endif +#include <stdlib.h> +#include <stdio.h> +#include <unistd.h> +#include <string.h> +#include "net-support.h" +#include "pathnames.h" +#define EXTERN +#if 0 +#include "net-locale.h" +#endif +#include "intl.h" + +/* is in net/x25.h, not in the public header file linux/x25.h. Why?*/ +#ifndef X25_ADDR_LEN +#define X25_ADDR_LEN 16 +#endif + +int X25_rprint(int options) +{ + FILE *f=fopen(_PATH_PROCNET_X25_ROUTE, "r"); + char buffer[256]; + char *p; + int digits; + + if(f==NULL) + { + printf( _("X.25 not configured in this system.\n")); /* xxx */ + return 1; + } + printf( _("Kernel X.25 routing table\n")); /* xxx */ + printf( _("Destination Iface\n")); /* xxx */ + fgets(buffer,256,f); + while(fgets(buffer,256,f)) + { + p = strchr(buffer,'\n'); + if (p) + *p=0; + + buffer[24]=0; + buffer[35]=0; + digits=atoi(buffer+17); + if (digits < 0 || digits > 15) + digits=15; + buffer[digits]=0; + if (digits == 0) + printf("* %-5s\n", buffer+25); + else + printf("%s/%*d %-5s\n", + buffer,digits-17,digits,buffer+25); + } + fclose(f); + return 0; +} + +#endif /* HAVE_AFX25 */ diff --unidirectional-new-file -r -u ../netbase-3.16/net-tools/lib/x25_sr.c ./net-tools/lib/x25_sr.c --- ../netbase-3.16/net-tools/lib/x25_sr.c Thu Jan 1 01:00:00 1970 +++ ./net-tools/lib/x25_sr.c Tue Jan 11 17:44:15 2000 @@ -0,0 +1,150 @@ +/* + * lib/x25_sr.c This file contains an implementation of the "X.25" + * route change support functions. + * + * Version: @(#)x25_sr.c 1.00 08/15/98 + * + * Author: Stephane Fillod, <sfillod@charybde.gyptis.frmug.org> + * based on inet_sr.c + * + * This program is free software; you can redistribute it + * and/or modify it under the terms of the GNU General + * Public License as published by the Free Software + * Foundation; either version 2 of the License, or (at + * your option) any later version. + */ +#include "config.h" + +#if HAVE_AFX25 +#include <asm/types.h> +#include <sys/param.h> +#include <sys/types.h> +#include <sys/socket.h> +#include <sys/ioctl.h> +#include <linux/x25.h> +#include <ctype.h> +#include <errno.h> +#include <netdb.h> +#include <resolv.h> +#include <stdlib.h> +#include <string.h> +#include <stdio.h> +#include <unistd.h> +#include "version.h" +#include "net-support.h" +#include "pathnames.h" +#define EXTERN +#if 0 +#include "net-locale.h" +#endif +#include "intl.h" + +#include "net-features.h" + +extern struct aftype x25_aftype; + +static int skfd = -1; + + +static int usage(void) +{ + fprintf(stderr,"Usage: x25_route [-v] del Target[/mask] [dev] If\n"); + fprintf(stderr," x25_route [-v] add Target[/mask] [dev] If\n"); + return(E_USAGE); +} + + +static int X25_setroute(int action, int options, char **args) +{ + struct x25_route_struct rt; + struct sockaddr_x25 sx25; + char target[128]; + signed int sigdigits; + + if (*args == NULL) + return(usage()); + + strcpy(target, *args++); + + /* Clean out the x25_route_struct structure. */ + memset((char *) &rt, 0, sizeof(struct x25_route_struct)); + + + if ((sigdigits = x25_aftype.input(0, target, (struct sockaddr *)&sx25)) < 0) { + x25_aftype.herror(target); + return (1); + } + rt.sigdigits=sigdigits; + + /* x25_route_struct.address isn't type struct sockaddr_x25, Why? */ + memcpy(&rt.address, &sx25.sx25_addr, sizeof(x25_address)); + + while (*args) { + if (!strcmp(*args,"device") || !strcmp(*args,"dev")) { + args++; + if (!*args) + return(usage()); + } else + if (args[1]) + return(usage()); + if (rt.device[0]) + return(usage()); + strcpy(rt.device, *args); + args++; + } + if (rt.device[0]=='\0') + return(usage()); + + /* sanity checks.. */ + if (rt.sigdigits > 15) { + fprintf(stderr, _("route: bogus netmask %d\n"), rt.sigdigits); + return(E_OPTERR); + } + + if (rt.sigdigits > strlen(rt.address.x25_addr)) { + fprintf(stderr, _("route: netmask doesn't match route address\n")); + return(E_OPTERR); + } + + /* Create a socket to the X25 kernel. */ + if ((skfd = socket(AF_X25, SOCK_SEQPACKET, 0)) < 0) { + perror("socket"); + return(E_SOCK); + } + + /* Tell the kernel to accept this route. */ + if (action==RTACTION_DEL) { + if (ioctl(skfd, SIOCDELRT, &rt) < 0) { + perror("SIOCDELRT"); + close(skfd); + return(E_SOCK); + } + } else { + if (ioctl(skfd, SIOCADDRT, &rt) < 0) { + perror("SIOCADDRT"); + close(skfd); + return(E_SOCK); + } + } + + /* Close the socket. */ + (void) close(skfd); + return(0); +} + +int X25_rinput(int action, int options, char **args) +{ + if (action == RTACTION_FLUSH) { + fprintf(stderr,"Flushing `x25' routing table not supported\n"); + return(usage()); + } + if (options & FLAG_CACHE) { + fprintf(stderr,"Modifying `x25' routing cache not supported\n"); + return(usage()); + } + if ((*args == NULL) || (action == RTACTION_HELP)) + return(usage()); + + return(X25_setroute(action, options, args)); +} +#endif /* HAVE_AFX25 */ diff --unidirectional-new-file -r -u ../netbase-3.16/net-tools/netstat.c ./net-tools/netstat.c --- ../netbase-3.16/net-tools/netstat.c Wed Apr 21 19:48:53 1999 +++ ./net-tools/netstat.c Tue Jan 11 17:48:35 2000 @@ -43,6 +43,7 @@ * (relly needs to be kernel hooked but * this will do in the meantime) * minor header file misplacement tidy up. + *980815 {1.xx} Stephane Fillod: X.25 support *980411 {1.34} Arnaldo Carvalho i18n: catgets -> gnu gettext, substitution * of sprintf for snprintf *10/1998 Andi Kleen Use new interface primitives. @@ -594,6 +595,57 @@ } /* IPV4 */ } +#if HAVE_AFX25 +static int x25_info(void) +{ + FILE *f=fopen(_PATH_PROCNET_X25, "r"); + char buffer[256],dev[16]; + int st,vs,vr,sendq,recvq,lci; + static char *x25_state[5]= + { + "LISTENING", + "SABM_SENT", + "DISC_SENT", + "ESTABLISHED", + "RECOVERY" + }; + if(!(f=fopen(_PATH_PROCNET_X25, "r"))) + { + if (errno != ENOENT) { + perror(_PATH_PROCNET_X25); + return(-1); + } + if (flag_arg || flag_ver) + ESYSNOT("netstat","AF X25"); + if (flag_arg) + return(1); + else + return(0); + } + printf( _("Active X.25 sockets\n")); + /* IMHO, Vr/Vs is not very usefull --SF */ + printf( _("Dest Source Device LCI State Vr/Vs Send-Q Recv-Q\n")); + fgets(buffer,256,f); + while(fgets(buffer,256,f)) + { + buffer[10]=0; + buffer[20]=0; + sscanf(buffer+22,"%s %d %d %d %d %*d %*d %*d %*d %*d %*d %d %d % *d", + dev,&lci,&st,&vs,&vr,&sendq,&recvq); + if (!(flag_all || lci)) + continue; + printf("%-15s %-15s %-7s %-3d %-11s %02d/%02d %-6d %-6d\n", + buffer,buffer+11, + dev, + lci, + x25_state[st], + vr,vs,sendq,recvq); + } + fclose(f); + return 0; +} +#endif + static int igmp_info(void) { INFO_GUTS6(_PATH_PROCNET_IGMP, _PATH_PROCNET_IGMP6, "AF INET (igmp)", @@ -1580,7 +1632,7 @@ flag_inet = flag_inet6 = 1; flag_arg = flag_tcp + flag_udp + flag_raw + flag_unx + flag_ipx - + flag_ax25 + flag_netrom + flag_igmp; + + flag_ax25 + flag_netrom + flag_x25 + flag_igmp; if (flag_mas) { #if HAVE_FW_MASQUERADE && HAVE_AFINET @@ -1746,6 +1798,16 @@ } #endif } + if(!flag_arg || flag_x25) { +#if HAVE_AFX25 + /* FIXME */ + i = x25_info(); + if(i) { return(i); } +#endif + } + if (flag_arg) + { i=1; ENOSUPP("netstat","AF X25"); } + if (!flag_cnt || i) break; sleep(1); -- "My golden rule of computing is reboot your system every morning." Jon C.A. DeKeles, Technical Director, ZDNet AnchorDesk in http://www.zdnet.com/anchordesk/story/story_4100.html
Information forwarded to debian-bugs-dist@lists.debian.org, Anthony Towns <ajt@debian.org>
:
Bug#54864
; Package netbase
.
(full text, mbox, link).
Acknowledgement sent to "J.H.M. Dassen (Ray)" <jdassen@cistron.nl>
:
Extra info received and forwarded to list. Copy sent to Anthony Towns <ajt@debian.org>
.
(full text, mbox, link).
Message #10 received at 54864@bugs.debian.org (full text, mbox, reply):
Don't use this patch just yet (it horribly broke my machine); I'm still working on it. Ray -- "a infinite number of monkeys typing into GNU emacs would never make a good program" .../linux/Documentation/CodingStyle
Information forwarded to debian-bugs-dist@lists.debian.org, Anthony Towns <ajt@debian.org>
:
Bug#54864
; Package netbase
.
(full text, mbox, link).
Acknowledgement sent to J.H.M.Dassen (Ray) <jdassen@cistron.nl>
:
Extra info received and forwarded to list. Copy sent to Anthony Towns <ajt@debian.org>
.
(full text, mbox, link).
Message #15 received at 54864@bugs.debian.org (full text, mbox, reply):
This version of the patch doesn't crash systems, and works fine for me. diff -r -u netbase-3.16/debian/changelog netbase-3.16-8.1/debian/changelog --- netbase-3.16/debian/changelog Tue Jan 11 20:39:08 2000 +++ netbase-3.16-8.1/debian/changelog Tue Jan 18 20:22:08 2000 @@ -1,3 +1,12 @@ +netbase (3.16-8.1) unstable; urgency=low + + * Added X.25 support following the patch-net-tools-x25 included with xtod + (ftp://ftp.com1.fr/xot/). + * Updated net-tools configuration (enabled X25, DECnet, IRDA). + * Clean out net-tools' config.status on clean. + + -- J.H.M. Dassen (Ray) <jdassen@cistron.nl> Tue, 18 Jan 2000 20:22:01 +0100 + netbase (3.16-8) unstable; urgency=low * iputils/ping6.c: Did local defines of clear_bit, set_bit and test_bit, diff -r -u netbase-3.16/debian/rules netbase-3.16-8.1/debian/rules --- netbase-3.16/debian/rules Tue Jan 11 20:39:08 2000 +++ netbase-3.16-8.1/debian/rules Wed Jan 12 11:24:07 2000 @@ -71,6 +71,7 @@ @for i in $(SUBDIRS); do \ ( cd ./$$i && echo -e "\nMaking clean in \`$$i':\n" && make clean ) || exit 1; \ done + -rm -f net-tools/config.status dh_clean Binary files netbase-3.16/ipautofw/ipautofw and netbase-3.16-8.1/ipautofw/ipautofw differ diff -r -u netbase-3.16/net-tools/config.h netbase-3.16-8.1/net-tools/config.h --- netbase-3.16/net-tools/config.h Tue Jan 11 20:39:08 2000 +++ netbase-3.16-8.1/net-tools/config.h Wed Jan 12 11:24:15 2000 @@ -11,15 +11,12 @@ /* * - * I18N + * Internationalization * - * (Internationalization) - * - * In this BETA Release the I18N (NLS) is enabled and now based - * on GNU gettext, only a brazilian portuguese catalog (translation) - * is present, but others are *highly* welcome! - * - * (answer 'n' if you have no system with GNU gettext support) + * The net-tools package has currently been translated to French, + * German and Brazilian Portugese. Other translations are, of + * course, welcome. Answer `n' here if you have no support for + * internationalization on your system. * */ #define I18N 1 @@ -37,7 +34,9 @@ #define HAVE_AFAX25 1 #define HAVE_AFNETROM 1 #define HAVE_AFROSE 1 +#define HAVE_AFX25 1 #define HAVE_AFECONET 1 +#define HAVE_AFDECnet 1 /* * @@ -53,12 +52,14 @@ #define HAVE_HWAX25 1 #define HAVE_HWROSE 1 #define HAVE_HWNETROM 1 +#define HAVE_HWX25 1 #define HAVE_HWFR 1 #define HAVE_HWSIT 1 #define HAVE_HWFDDI 1 #define HAVE_HWHIPPI 1 #define HAVE_HWASH 1 #define HAVE_HWHDLCLAPB 1 +#define HAVE_HWIRDA 1 /* * diff -r -u netbase-3.16/net-tools/config.in netbase-3.16-8.1/net-tools/config.in --- netbase-3.16/net-tools/config.in Wed Apr 21 19:48:53 1999 +++ netbase-3.16-8.1/net-tools/config.in Wed Jan 12 10:31:09 2000 @@ -55,6 +55,7 @@ bool 'AX25 (packet radio) protocol family' HAVE_AFAX25 y bool 'NET/ROM (packet radio) protocol family' HAVE_AFNETROM y bool 'Rose (packet radio) protocol family' HAVE_AFROSE n +bool 'X.25 (CCITT) protocol family' HAVE_AFX25 y bool 'Econet protocol family' HAVE_AFECONET n bool 'DECnet protocol family' HAVE_AFDECnet n * @@ -70,6 +71,7 @@ bool 'AX25 (packet radio) support' HAVE_HWAX25 y bool 'Rose (packet radio) support' HAVE_HWROSE n 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 diff -r -u netbase-3.16/net-tools/config.make netbase-3.16-8.1/net-tools/config.make --- netbase-3.16/net-tools/config.make Tue Jan 11 20:39:08 2000 +++ netbase-3.16-8.1/net-tools/config.make Wed Jan 12 11:24:15 2000 @@ -7,7 +7,9 @@ HAVE_AFAX25=1 HAVE_AFNETROM=1 HAVE_AFROSE=1 +HAVE_AFX25=1 HAVE_AFECONET=1 +HAVE_AFDECnet=1 HAVE_HWETHER=1 HAVE_HWARC=1 HAVE_HWSLIP=1 @@ -17,11 +19,13 @@ HAVE_HWAX25=1 HAVE_HWROSE=1 HAVE_HWNETROM=1 +HAVE_HWX25=1 HAVE_HWFR=1 HAVE_HWSIT=1 HAVE_HWFDDI=1 HAVE_HWHIPPI=1 HAVE_HWASH=1 HAVE_HWHDLCLAPB=1 +HAVE_HWIRDA=1 HAVE_FW_MASQUERADE=1 HAVE_IP_TOOLS=1 diff -r -u netbase-3.16/net-tools/include/sockets.h netbase-3.16-8.1/net-tools/include/sockets.h --- netbase-3.16/net-tools/include/sockets.h Wed Apr 21 19:48:54 1999 +++ netbase-3.16-8.1/net-tools/include/sockets.h Tue Jan 11 17:29:09 2000 @@ -1,4 +1,4 @@ -extern int skfd, ipx_sock, ax25_sock, rose_sock, inet_sock, inet6_sock, +extern int skfd, ipx_sock, ax25_sock, rose_sock, x25_sock, inet_sock, inet6_sock, ddp_sock, ec_sock; extern int sockets_open(int family); diff -r -u netbase-3.16/net-tools/lib/Makefile netbase-3.16-8.1/net-tools/lib/Makefile --- netbase-3.16/net-tools/lib/Makefile Tue Jan 11 20:39:08 2000 +++ netbase-3.16-8.1/net-tools/lib/Makefile Tue Jan 11 17:59:19 2000 @@ -16,10 +16,10 @@ # -HWOBJS = hw.o loopback.o slip.o ether.o ax25.o ppp.o arcnet.o tr.o tunnel.o frame.o sit.o rose.o ash.o fddi.o hippi.o hdlclapb.o irda.o -AFOBJS = unix.o inet.o inet6.o ax25.o ipx.o ddp.o ipx.o netrom.o af.o rose.o econet.o -AFGROBJS = inet_gr.o inet6_gr.o ipx_gr.o ddp_gr.o netrom_gr.o ax25_gr.o rose_gr.o getroute.o -AFSROBJS = inet_sr.o inet6_sr.o netrom_sr.o ipx_sr.o setroute.o +HWOBJS = hw.o loopback.o slip.o ether.o ax25.o ppp.o arcnet.o tr.o tunnel.o frame.o sit.o rose.o ash.o fddi.o hippi.o hdlclapb.o irda.o x25.o +AFOBJS = unix.o inet.o inet6.o ax25.o ipx.o ddp.o ipx.o netrom.o x25.o af.o rose.o econet.o +AFGROBJS = inet_gr.o inet6_gr.o ipx_gr.o ddp_gr.o netrom_gr.o ax25_gr.o rose_gr.o x25_gr.o getroute.o +AFSROBJS = inet_sr.o inet6_sr.o netrom_sr.o ipx_sr.o x25_sr.o setroute.o ACTOBJS = slip_ac.o ppp_ac.o activate.o VARIA = getargs.o masq_info.o proc.o util.o nstrcmp.o interface.o sockets.o util-ank.o diff -r -u netbase-3.16/net-tools/lib/af.c netbase-3.16-8.1/net-tools/lib/af.c --- netbase-3.16/net-tools/lib/af.c Wed Apr 21 19:48:48 1999 +++ netbase-3.16-8.1/net-tools/lib/af.c Tue Jan 11 17:34:32 2000 @@ -35,6 +35,7 @@ int flag_inet = 0; int flag_inet6 = 0; int flag_econet = 0; +int flag_x25 = 0; struct aftrans_t { @@ -80,6 +81,9 @@ "econet", "ec", &flag_econet }, { + "x25", "x25", &flag_x25 + }, + { 0, 0, 0 } }; @@ -95,6 +99,7 @@ extern struct aftype ipx_aftype; extern struct aftype ddp_aftype; extern struct aftype ec_aftype; +extern struct aftype x25_aftype; extern struct aftype rose_aftype; static short sVafinit = 0; @@ -128,6 +133,9 @@ #if HAVE_AFECONET &ec_aftype, #endif +#if HAVE_AFX25 + &x25_aftype, +#endif &unspec_aftype, NULL }; @@ -158,6 +166,9 @@ #endif #if HAVE_AFECONET ec_aftype.title = _("Econet"); +#endif +#if HAVE_AFX25 + x25_aftype.title = _("CCITT X.25"); #endif #if HAVE_AFROSE rose_aftype.title = _("AMPR ROSE"); diff -r -u netbase-3.16/net-tools/lib/getroute.c netbase-3.16-8.1/net-tools/lib/getroute.c --- netbase-3.16/net-tools/lib/getroute.c Wed Apr 21 19:48:48 1999 +++ netbase-3.16-8.1/net-tools/lib/getroute.c Tue Jan 11 17:14:06 2000 @@ -46,6 +46,7 @@ extern struct aftype netrom_aftype; extern struct aftype ipx_aftype; extern struct aftype ddp_aftype; +extern struct aftype x25_aftype; void getroute_init(void) { @@ -66,6 +67,9 @@ #endif #if HAVE_AFATALK ddp_aftype.rprint = DDP_rprint; +#endif +#if HAVE_AFX25 + x25_aftype.rprint = X25_rprint; #endif } diff -r -u netbase-3.16/net-tools/lib/hw.c netbase-3.16-8.1/net-tools/lib/hw.c --- netbase-3.16/net-tools/lib/hw.c Wed Apr 21 19:48:48 1999 +++ netbase-3.16-8.1/net-tools/lib/hw.c Tue Jan 11 17:39:27 2000 @@ -47,6 +47,7 @@ extern struct hwtype ax25_hwtype; extern struct hwtype rose_hwtype; extern struct hwtype netrom_hwtype; +extern struct hwtype x25_hwtype; extern struct hwtype tunnel_hwtype; extern struct hwtype ash_hwtype; @@ -124,6 +125,9 @@ #if HAVE_HWIRDA &irda_hwtype, #endif +#if HAVE_HWX25 + &x25_hwtype, +#endif &unspec_hwtype, NULL }; @@ -161,6 +165,9 @@ #endif #if HAVE_HWNETROM netrom_hwtype.title = _("AMPR NET/ROM"); +#endif +#if HAVE_HWX25 + x25_hwtype.title = _("generic X.25"); #endif #if HAVE_HWTUNNEL tunnel_hwtype.title = _("IPIP Tunnel"); diff -r -u netbase-3.16/net-tools/lib/net-features.h netbase-3.16-8.1/net-tools/lib/net-features.h --- netbase-3.16/net-tools/lib/net-features.h Wed Apr 21 19:48:49 1999 +++ netbase-3.16-8.1/net-tools/lib/net-features.h Tue Jan 11 17:16:52 2000 @@ -159,6 +159,12 @@ "-" #endif "NETROM " +#if HAVE_AFX25 +"+" +#else +"-" +#endif +"X25 " #if HAVE_AFATALK "+" #else @@ -233,6 +239,13 @@ "-" #endif "NETROM " + +#if HAVE_HWX25 +"+" +#else +"-" +#endif +"X25 " #if HAVE_HWFR "+" diff -r -u netbase-3.16/net-tools/lib/net-support.h netbase-3.16-8.1/net-tools/lib/net-support.h --- netbase-3.16/net-tools/lib/net-support.h Wed Apr 21 19:48:49 1999 +++ netbase-3.16-8.1/net-tools/lib/net-support.h Tue Jan 11 17:39:09 2000 @@ -108,6 +108,7 @@ extern int IPX_rprint(int options); extern int NETROM_rprint(int options); extern int AX25_rprint(int options); +extern int X25_rprint(int options); extern int INET_rinput(int action, int flags, char **argv); extern int INET6_rinput(int action, int flags, char **argv); @@ -115,6 +116,7 @@ extern int IPX_rinput(int action, int flags, char **argv); extern int NETROM_rinput(int action, int flags, char **argv); extern int AX25_rinput(int action, int flags, char **argv); +extern int X25_rinput(int action, int flags, char **argv); extern int aftrans_opt(const char *arg); extern void aftrans_def(char *tool, char *argv0, char *dflt); @@ -126,6 +128,7 @@ extern int flag_ax25; extern int flag_ddp; extern int flag_netrom; +extern int flag_x25; extern int flag_inet; extern int flag_inet6; @@ -133,6 +136,7 @@ #define AFTRANS_OPTS \ {"ax25", 0, 0, 1}, \ + {"x25", 0, 0, 1}, \ {"ip", 0, 0, 1}, \ {"ipx", 0, 0, 1}, \ {"appletalk", 0, 0, 1}, \ @@ -142,7 +146,7 @@ {"ddp", 0, 0, 1}, \ {"unix", 0, 0, 1}, \ {"tcpip", 0, 0, 1} -#define AFTRANS_CNT 10 +#define AFTRANS_CNT 11 #define EINTERN(file, text) fprintf(stderr, \ "%s: Internal Error `%s'.\n",file,text); diff -r -u netbase-3.16/net-tools/lib/pathnames.h netbase-3.16-8.1/net-tools/lib/pathnames.h --- netbase-3.16/net-tools/lib/pathnames.h Wed Apr 21 19:48:49 1999 +++ netbase-3.16-8.1/net-tools/lib/pathnames.h Tue Jan 11 18:28:07 2000 @@ -42,6 +42,8 @@ #define _PATH_PROCNET_RARP "/proc/net/rarp" #define _PATH_ETHERS "/etc/ethers" #define _PATH_PROCNET_ROSE_ROUTE "/proc/net/rose_routes" +#define _PATH_PROCNET_X25 "/proc/net/x25" +#define _PATH_PROCNET_X25_ROUTE "/proc/net/x25_routes" #define _PATH_PROCNET_DEV_MCAST "/proc/net/dev_mcast" /* pathname for the netlink device */ diff -r -u netbase-3.16/net-tools/lib/setroute.c netbase-3.16-8.1/net-tools/lib/setroute.c --- netbase-3.16/net-tools/lib/setroute.c Wed Apr 21 19:48:49 1999 +++ netbase-3.16-8.1/net-tools/lib/setroute.c Tue Jan 11 17:19:06 2000 @@ -40,6 +40,7 @@ extern struct aftype netrom_aftype; extern struct aftype ipx_aftype; extern struct aftype ddp_aftype; +extern struct aftype x25_aftype; void setroute_init(void) { @@ -54,6 +55,9 @@ #endif #if HAVE_AFIPX ipx_aftype.rinput = IPX_rinput; +#endif +#if HAVE_AFX25 + ipx_aftype.rinput = X25_rinput; #endif #if 0 #if HAVE_AFAX25 diff -r -u netbase-3.16/net-tools/lib/sockets.c netbase-3.16-8.1/net-tools/lib/sockets.c --- netbase-3.16/net-tools/lib/sockets.c Wed Apr 21 19:48:52 1999 +++ netbase-3.16-8.1/net-tools/lib/sockets.c Tue Jan 18 19:24:03 2000 @@ -51,6 +51,10 @@ if (af->af == AF_NETROM) type = SOCK_SEQPACKET; #endif +#if HAVE_AFX25 + if (af->af == AF_X25) + type = SOCK_SEQPACKET; +#endif af->fd = socket(af->af, type, 0); if (af->fd >= 0) sfd = af->fd; diff -r -u netbase-3.16/net-tools/netstat.c netbase-3.16-8.1/net-tools/netstat.c --- netbase-3.16/net-tools/netstat.c Wed Apr 21 19:48:53 1999 +++ netbase-3.16-8.1/net-tools/netstat.c Tue Jan 11 17:48:35 2000 @@ -43,6 +43,7 @@ * (relly needs to be kernel hooked but * this will do in the meantime) * minor header file misplacement tidy up. + *980815 {1.xx} Stephane Fillod: X.25 support *980411 {1.34} Arnaldo Carvalho i18n: catgets -> gnu gettext, substitution * of sprintf for snprintf *10/1998 Andi Kleen Use new interface primitives. @@ -594,6 +595,57 @@ } /* IPV4 */ } +#if HAVE_AFX25 +static int x25_info(void) +{ + FILE *f=fopen(_PATH_PROCNET_X25, "r"); + char buffer[256],dev[16]; + int st,vs,vr,sendq,recvq,lci; + static char *x25_state[5]= + { + "LISTENING", + "SABM_SENT", + "DISC_SENT", + "ESTABLISHED", + "RECOVERY" + }; + if(!(f=fopen(_PATH_PROCNET_X25, "r"))) + { + if (errno != ENOENT) { + perror(_PATH_PROCNET_X25); + return(-1); + } + if (flag_arg || flag_ver) + ESYSNOT("netstat","AF X25"); + if (flag_arg) + return(1); + else + return(0); + } + printf( _("Active X.25 sockets\n")); + /* IMHO, Vr/Vs is not very usefull --SF */ + printf( _("Dest Source Device LCI State Vr/Vs Send-Q Recv-Q\n")); + fgets(buffer,256,f); + while(fgets(buffer,256,f)) + { + buffer[10]=0; + buffer[20]=0; + sscanf(buffer+22,"%s %d %d %d %d %*d %*d %*d %*d %*d %*d %d %d % *d", + dev,&lci,&st,&vs,&vr,&sendq,&recvq); + if (!(flag_all || lci)) + continue; + printf("%-15s %-15s %-7s %-3d %-11s %02d/%02d %-6d %-6d\n", + buffer,buffer+11, + dev, + lci, + x25_state[st], + vr,vs,sendq,recvq); + } + fclose(f); + return 0; +} +#endif + static int igmp_info(void) { INFO_GUTS6(_PATH_PROCNET_IGMP, _PATH_PROCNET_IGMP6, "AF INET (igmp)", @@ -1580,7 +1632,7 @@ flag_inet = flag_inet6 = 1; flag_arg = flag_tcp + flag_udp + flag_raw + flag_unx + flag_ipx - + flag_ax25 + flag_netrom + flag_igmp; + + flag_ax25 + flag_netrom + flag_x25 + flag_igmp; if (flag_mas) { #if HAVE_FW_MASQUERADE && HAVE_AFINET @@ -1746,6 +1798,16 @@ } #endif } + if(!flag_arg || flag_x25) { +#if HAVE_AFX25 + /* FIXME */ + i = x25_info(); + if(i) { return(i); } +#endif + } + if (flag_arg) + { i=1; ENOSUPP("netstat","AF X25"); } + if (!flag_cnt || i) break; sleep(1); -- "But if you look carefully at their [Microsoft's] encryption algorithm, they simply XOR the password with 'susageP', Pegasus spelled backwards. Pegasus is the code name of Windows CE. This is so pathetic it's staggering." Bruce Schneier in http://www.counterpane.com/crypto-gram-9911.html
Noted your statement that Bug has been forwarded to philb@gnu.org.
Request was from Anthony Towns <aj@azure.humbug.org.au>
to control@bugs.debian.org
.
(full text, mbox, link).
Information forwarded to debian-bugs-dist@lists.debian.org, Anthony Towns <ajt@debian.org>
:
Bug#54864
; Package netbase
.
(full text, mbox, link).
Acknowledgement sent to "J.H.M. Dassen (Ray)" <jdassen@cistron.nl>
:
Extra info received and forwarded to list. Copy sent to Anthony Towns <ajt@debian.org>
.
(full text, mbox, link).
Message #22 received at 54864@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
I'm currently taking up the X.25 support with Phil directly; here's the patch I've recently submitted to him. Ray -- Ziff Davis is so obviously biased to Microsoft in almost everything they publish, that they might as well change their company name to MS-PRAVDA. Darryl Householder commenting on extreme PC Week FUD (http://linuxtoday.com/story.php3?sn=21049&showcomments=flat)
[diff (text/plain, attachment)]
Bug reassigned from package `netbase' to `net-tools'.
Request was from Anthony Towns <aj@azure.humbug.org.au>
to control@bugs.debian.org
.
(full text, mbox, link).
Bug reassigned from package `net-tools' to `net-tools'.
Request was from Anthony Towns <aj@azure.humbug.org.au>
to control@bugs.debian.org
.
(full text, mbox, link).
Bug reassigned from package `net-tools' to `net-tools'.
Request was from Anthony Towns <aj@azure.humbug.org.au>
to control@bugs.debian.org
.
(full text, mbox, link).
Bug reassigned from package `net-tools' to `net-tools'.
Request was from Anthony Towns <aj@azure.humbug.org.au>
to control@bugs.debian.org
.
(full text, mbox, link).
Reply sent to Bernd Eckenfels <ecki@lina.inka.de>
:
You have taken responsibility.
(full text, mbox, link).
Notification sent to "J.H.M. Dassen (Ray)" <jdassen@cistron.nl>
:
Bug acknowledged by developer.
(full text, mbox, link).
Message #35 received at 54864-done@bugs.debian.org (full text, mbox, reply):
this is included in 1.57-1
Send a report that this bug log contains spam.
Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.
Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.