world changed, removed IPX support

This commit is contained in:
Sylvain Rochet 2012-05-17 20:22:17 +02:00
parent 4885b39121
commit 00648c27eb
4 changed files with 0 additions and 1818 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,94 +0,0 @@
/*
* ipxcp.h - IPX Control Protocol definitions.
*
* Copyright (c) 1984-2000 Carnegie Mellon University. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The name "Carnegie Mellon University" must not be used to
* endorse or promote products derived from this software without
* prior written permission. For permission or any legal
* details, please contact
* Office of Technology Transfer
* Carnegie Mellon University
* 5000 Forbes Avenue
* Pittsburgh, PA 15213-3890
* (412) 268-4387, fax: (412) 268-7395
* tech-transfer@andrew.cmu.edu
*
* 4. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by Computing Services
* at Carnegie Mellon University (http://www.cmu.edu/computing/)."
*
* CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
* THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
* FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
* AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* $Id: ipxcp.h,v 1.5 2002/12/04 23:03:32 paulus Exp $
*/
/*
* Options.
*/
#define IPX_NETWORK_NUMBER 1 /* IPX Network Number */
#define IPX_NODE_NUMBER 2
#define IPX_COMPRESSION_PROTOCOL 3
#define IPX_ROUTER_PROTOCOL 4
#define IPX_ROUTER_NAME 5
#define IPX_COMPLETE 6
/* Values for the router protocol */
#define IPX_NONE 0
#define RIP_SAP 2
#define NLSP 4
typedef struct ipxcp_options {
bool neg_node; /* Negotiate IPX node number? */
bool req_node; /* Ask peer to send IPX node number? */
bool neg_nn; /* Negotiate IPX network number? */
bool req_nn; /* Ask peer to send IPX network number */
bool neg_name; /* Negotiate IPX router name */
bool neg_complete; /* Negotiate completion */
bool neg_router; /* Negotiate IPX router number */
bool accept_local; /* accept peer's value for ournode */
bool accept_remote; /* accept peer's value for hisnode */
bool accept_network; /* accept network number */
bool tried_nlsp; /* I have suggested NLSP already */
bool tried_rip; /* I have suggested RIP/SAP already */
u_int32_t his_network; /* base network number */
u_int32_t our_network; /* our value for network number */
u_int32_t network; /* the final network number */
u_char his_node[6]; /* peer's node number */
u_char our_node[6]; /* our node number */
u_char name [48]; /* name of the router */
int router; /* routing protocol */
} ipxcp_options;
extern fsm ipxcp_fsm[];
extern ipxcp_options ipxcp_wantoptions[];
extern ipxcp_options ipxcp_gotoptions[];
extern ipxcp_options ipxcp_allowoptions[];
extern ipxcp_options ipxcp_hisoptions[];
extern struct protent ipxcp_protent;

View File

@ -117,9 +117,6 @@
#include "cbcp.h"
#endif
#ifdef IPX_CHANGE
#include "ipxcp.h"
#endif /* IPX_CHANGE */
#ifdef AT_CHANGE
#include "atcp.h"
#endif
@ -291,9 +288,6 @@ struct protent *protocols[] = {
#endif
&ccp_protent,
&ecp_protent,
#ifdef IPX_CHANGE
&ipxcp_protent,
#endif
#ifdef AT_CHANGE
&atcp_protent,
#endif

View File

@ -127,16 +127,6 @@
#include "fsm.h"
#include "ipcp.h"
#ifdef IPX_CHANGE
#include "ipxcp.h"
#if __GLIBC__ >= 2 && \
!(defined(__powerpc__) && __GLIBC__ == 2 && __GLIBC_MINOR__ == 0)
#include <netipx/ipx.h>
#else
#include <linux/ipx.h>
#endif
#endif /* IPX_CHANGE */
#ifdef PPP_FILTER
#include <pcap-bpf.h>
#include <linux/filter.h>
@ -2781,98 +2771,6 @@ sifnpmode(u, proto, mode)
}
#endif
/********************************************************************
*
* sipxfaddr - Config the interface IPX networknumber
*/
int sipxfaddr (int unit, unsigned long int network, unsigned char * node )
{
int result = 1;
#ifdef IPX_CHANGE
int skfd;
struct ifreq ifr;
struct sockaddr_ipx *sipx = (struct sockaddr_ipx *) &ifr.ifr_addr;
skfd = socket (AF_IPX, SOCK_DGRAM, 0);
if (skfd < 0) {
if (! ok_error (errno))
dbglog("socket(AF_IPX): %m (line %d)", __LINE__);
result = 0;
}
else {
memset (&ifr, '\0', sizeof (ifr));
strlcpy (ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
memcpy (sipx->sipx_node, node, IPX_NODE_LEN);
sipx->sipx_family = AF_IPX;
sipx->sipx_port = 0;
sipx->sipx_network = htonl (network);
sipx->sipx_type = IPX_FRAME_ETHERII;
sipx->sipx_action = IPX_CRTITF;
/*
* Set the IPX device
*/
if (ioctl(skfd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
result = 0;
if (errno != EEXIST) {
if (! ok_error (errno))
dbglog("ioctl(SIOCSIFADDR, CRTITF): %m (line %d)", __LINE__);
}
else {
warn("ioctl(SIOCSIFADDR, CRTITF): Address already exists");
}
}
close (skfd);
}
#endif
return result;
}
/********************************************************************
*
* cipxfaddr - Clear the information for the IPX network. The IPX routes
* are removed and the device is no longer able to pass IPX
* frames.
*/
int cipxfaddr (int unit)
{
int result = 1;
#ifdef IPX_CHANGE
int skfd;
struct ifreq ifr;
struct sockaddr_ipx *sipx = (struct sockaddr_ipx *) &ifr.ifr_addr;
skfd = socket (AF_IPX, SOCK_DGRAM, 0);
if (skfd < 0) {
if (! ok_error (errno))
dbglog("socket(AF_IPX): %m (line %d)", __LINE__);
result = 0;
}
else {
memset (&ifr, '\0', sizeof (ifr));
strlcpy (ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
sipx->sipx_type = IPX_FRAME_ETHERII;
sipx->sipx_action = IPX_DLTITF;
sipx->sipx_family = AF_IPX;
/*
* Set the IPX device
*/
if (ioctl(skfd, SIOCSIFADDR, (caddr_t) &ifr) < 0) {
if (! ok_error (errno))
info("ioctl(SIOCSIFADDR, IPX_DLTITF): %m (line %d)", __LINE__);
result = 0;
}
close (skfd);
}
#endif
return result;
}
/*
* Use the hostname as part of the random number seed.
*/
@ -2896,22 +2794,6 @@ get_host_seed()
int
sys_check_options(void)
{
#ifdef IPX_CHANGE
/*
* Disable the IPX protocol if the support is not present in the kernel.
*/
char *path;
if (ipxcp_protent.enabled_flag) {
struct stat stat_buf;
if ( ((path = path_to_procfs("/net/ipx/interface")) == NULL
&& (path = path_to_procfs("/net/ipx_interface")) == NULL)
|| lstat(path, &stat_buf) < 0) {
error("IPX support is not present in the kernel\n");
ipxcp_protent.enabled_flag = 0;
}
}
#endif
if (demand && driver_is_old) {
option_error("demand dialling is not supported by kernel driver "
"version %d.%d.%d", driver_version, driver_modification,