merge conflicts
This commit is contained in:
parent
3b477d26c4
commit
553f83e224
2
external/bsd/ppp/dist/chat/chat.8
vendored
2
external/bsd/ppp/dist/chat/chat.8
vendored
@ -1,4 +1,4 @@
|
||||
.\" $NetBSD: chat.8,v 1.2 2013/11/28 22:33:42 christos Exp $
|
||||
.\" NetBSD
|
||||
.\" manual page [] for chat 1.8
|
||||
.\" Id: chat.8,v 1.11 2004/11/13 12:22:49 paulus Exp
|
||||
.\" SH section heading
|
||||
|
2
external/bsd/ppp/dist/chat/chat.c
vendored
2
external/bsd/ppp/dist/chat/chat.c
vendored
@ -91,7 +91,7 @@
|
||||
static const char rcsid[] = "Id: chat.c,v 1.30 2004/01/17 05:47:55 carlsonj Exp ";
|
||||
#endif
|
||||
#else
|
||||
__RCSID("$NetBSD: chat.c,v 1.3 2013/12/07 20:24:35 christos Exp $");
|
||||
__RCSID("NetBSD: chat.c,v 1.2 2013/11/28 22:33:42 christos Exp ");
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
|
4
external/bsd/ppp/dist/pppd/auth.c
vendored
4
external/bsd/ppp/dist/pppd/auth.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: auth.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* auth.c - PPP authentication and phase control.
|
||||
@ -75,7 +75,7 @@
|
||||
#define RCSID "Id: auth.c,v 1.117 2008/07/01 12:27:56 paulus Exp "
|
||||
static const char rcsid[] = RCSID;
|
||||
#else
|
||||
__RCSID("$NetBSD: auth.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
|
4
external/bsd/ppp/dist/pppd/cbcp.c
vendored
4
external/bsd/ppp/dist/pppd/cbcp.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: cbcp.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* cbcp - Call Back Configuration Protocol.
|
||||
@ -40,7 +40,7 @@
|
||||
#define RCSID "Id: cbcp.c,v 1.17 2006/05/22 00:04:07 paulus Exp "
|
||||
static const char rcsid[] = RCSID;
|
||||
#else
|
||||
__RCSID("$NetBSD: cbcp.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
|
2
external/bsd/ppp/dist/pppd/cbcp.h
vendored
2
external/bsd/ppp/dist/pppd/cbcp.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: cbcp.h,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
#ifndef CBCP_H
|
||||
#define CBCP_H
|
||||
|
4
external/bsd/ppp/dist/pppd/ccp.c
vendored
4
external/bsd/ppp/dist/pppd/ccp.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: ccp.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* ccp.c - PPP Compression Control Protocol.
|
||||
@ -35,7 +35,7 @@
|
||||
#define RCSID "Id: ccp.c,v 1.50 2005/06/26 19:34:41 carlsonj Exp "
|
||||
static const char rcsid[] = RCSID;
|
||||
#else
|
||||
__RCSID("$NetBSD: ccp.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
|
2
external/bsd/ppp/dist/pppd/ccp.h
vendored
2
external/bsd/ppp/dist/pppd/ccp.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: ccp.h,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* ccp.h - Definitions for PPP Compression Control Protocol.
|
||||
|
4
external/bsd/ppp/dist/pppd/chap-md5.c
vendored
4
external/bsd/ppp/dist/pppd/chap-md5.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: chap-md5.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* chap-md5.c - New CHAP/MD5 implementation.
|
||||
@ -35,7 +35,7 @@
|
||||
#define RCSID "Id: chap-md5.c,v 1.4 2004/11/09 22:39:25 paulus Exp "
|
||||
static const char rcsid[] = RCSID;
|
||||
#else
|
||||
__RCSID("$NetBSD: chap-md5.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
|
2
external/bsd/ppp/dist/pppd/chap-md5.h
vendored
2
external/bsd/ppp/dist/pppd/chap-md5.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: chap-md5.h,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* chap-md5.h - New CHAP/MD5 implementation.
|
||||
|
4
external/bsd/ppp/dist/pppd/chap-new.c
vendored
4
external/bsd/ppp/dist/pppd/chap-new.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: chap-new.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* chap-new.c - New CHAP implementation.
|
||||
@ -35,7 +35,7 @@
|
||||
#define RCSID "Id: chap-new.c,v 1.9 2007/06/19 02:08:35 carlsonj Exp "
|
||||
static const char rcsid[] = RCSID;
|
||||
#else
|
||||
__RCSID("$NetBSD: chap-new.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
|
2
external/bsd/ppp/dist/pppd/chap-new.h
vendored
2
external/bsd/ppp/dist/pppd/chap-new.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: chap-new.h,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* chap-new.c - New CHAP implementation.
|
||||
|
6
external/bsd/ppp/dist/pppd/chap_ms.c
vendored
6
external/bsd/ppp/dist/pppd/chap_ms.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: chap_ms.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* chap_ms.c - Microsoft MS-CHAP compatible implementation.
|
||||
@ -81,7 +81,7 @@
|
||||
#define RCSID "Id: chap_ms.c,v 1.38 2007/12/01 20:10:51 carlsonj Exp "
|
||||
static const char rcsid[] = RCSID;
|
||||
#else
|
||||
__RCSID("$NetBSD: chap_ms.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
#endif
|
||||
|
||||
#ifdef CHAPMS
|
||||
@ -391,7 +391,7 @@ chapms2_make_response(unsigned char *response, int id, char *our_name,
|
||||
unsigned char *private)
|
||||
{
|
||||
const struct chapms2_response_cache_entry *cache_entry;
|
||||
unsigned char auth_response[MS_AUTH_RESPONSE_LENGTH];
|
||||
unsigned char auth_response[MS_AUTH_RESPONSE_LENGTH+1];
|
||||
|
||||
challenge++; /* skip length, should be 16 */
|
||||
*response++ = MS_CHAP2_RESPONSE_LEN;
|
||||
|
2
external/bsd/ppp/dist/pppd/chap_ms.h
vendored
2
external/bsd/ppp/dist/pppd/chap_ms.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: chap_ms.h,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* chap_ms.h - Challenge Handshake Authentication Protocol definitions.
|
||||
|
4
external/bsd/ppp/dist/pppd/demand.c
vendored
4
external/bsd/ppp/dist/pppd/demand.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: demand.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* demand.c - Support routines for demand-dialling.
|
||||
@ -35,7 +35,7 @@
|
||||
#define RCSID "Id: demand.c,v 1.20 2005/08/25 12:14:18 paulus Exp "
|
||||
static const char rcsid[] = RCSID;
|
||||
#else
|
||||
__RCSID("$NetBSD: demand.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
|
4
external/bsd/ppp/dist/pppd/eap.c
vendored
4
external/bsd/ppp/dist/pppd/eap.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: eap.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
/*
|
||||
* eap.c - Extensible Authentication Protocol for PPP (RFC 2284)
|
||||
*
|
||||
@ -49,7 +49,7 @@
|
||||
#define RCSID "Id: eap.c,v 1.4 2004/11/09 22:39:25 paulus Exp "
|
||||
static const char rcsid[] = RCSID;
|
||||
#else
|
||||
__RCSID("$NetBSD: eap.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
2
external/bsd/ppp/dist/pppd/eap.h
vendored
2
external/bsd/ppp/dist/pppd/eap.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: eap.h,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* eap.h - Extensible Authentication Protocol for PPP (RFC 2284)
|
||||
|
4
external/bsd/ppp/dist/pppd/ecp.c
vendored
4
external/bsd/ppp/dist/pppd/ecp.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: ecp.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* ecp.c - PPP Encryption Control Protocol.
|
||||
@ -64,7 +64,7 @@
|
||||
#define RCSID "Id: ecp.c,v 1.4 2004/11/04 10:02:26 paulus Exp "
|
||||
static const char rcsid[] = RCSID;
|
||||
#else
|
||||
__RCSID("$NetBSD: ecp.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
#endif
|
||||
|
||||
#include <string.h>
|
||||
|
2
external/bsd/ppp/dist/pppd/ecp.h
vendored
2
external/bsd/ppp/dist/pppd/ecp.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: ecp.h,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* ecp.h - Definitions for PPP Encryption Control Protocol.
|
||||
|
4
external/bsd/ppp/dist/pppd/eui64.c
vendored
4
external/bsd/ppp/dist/pppd/eui64.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: eui64.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* eui64.c - EUI64 routines for IPv6CP.
|
||||
@ -42,7 +42,7 @@
|
||||
#define RCSID "Id: eui64.c,v 1.6 2002/12/04 23:03:32 paulus Exp "
|
||||
static const char rcsid[] = RCSID;
|
||||
#else
|
||||
__RCSID("$NetBSD: eui64.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
#endif
|
||||
|
||||
#include "pppd.h"
|
||||
|
2
external/bsd/ppp/dist/pppd/eui64.h
vendored
2
external/bsd/ppp/dist/pppd/eui64.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: eui64.h,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* eui64.h - EUI64 routines for IPv6CP.
|
||||
|
4
external/bsd/ppp/dist/pppd/fsm.c
vendored
4
external/bsd/ppp/dist/pppd/fsm.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: fsm.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* fsm.c - {Link, IP} Control Protocol Finite State Machine.
|
||||
@ -47,7 +47,7 @@
|
||||
#define RCSID "Id: fsm.c,v 1.23 2004/11/13 02:28:15 paulus Exp "
|
||||
static const char rcsid[] = RCSID;
|
||||
#else
|
||||
__RCSID("$NetBSD: fsm.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
2
external/bsd/ppp/dist/pppd/fsm.h
vendored
2
external/bsd/ppp/dist/pppd/fsm.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: fsm.h,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* fsm.h - {Link, IP} Control Protocol Finite State Machine definitions.
|
||||
|
23
external/bsd/ppp/dist/pppd/ipcp.c
vendored
23
external/bsd/ppp/dist/pppd/ipcp.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: ipcp.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* ipcp.c - PPP IP Control Protocol.
|
||||
@ -47,7 +47,7 @@
|
||||
#define RCSID "Id: ipcp.c,v 1.73 2008/05/26 08:33:22 paulus Exp "
|
||||
static const char rcsid[] = RCSID;
|
||||
#else
|
||||
__RCSID("$NetBSD: ipcp.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
#endif
|
||||
|
||||
/*
|
||||
@ -969,6 +969,21 @@ ipcp_ackci(f, p, len)
|
||||
goto bad; \
|
||||
}
|
||||
|
||||
#define ACKCIWINS(opt, addr) \
|
||||
if (addr) { \
|
||||
u_int32_t l; \
|
||||
if ((len -= CILEN_ADDR) < 0) \
|
||||
goto bad; \
|
||||
GETCHAR(citype, p); \
|
||||
GETCHAR(cilen, p); \
|
||||
if (cilen != CILEN_ADDR || citype != opt) \
|
||||
goto bad; \
|
||||
GETLONG(l, p); \
|
||||
cilong = htonl(l); \
|
||||
if (addr != cilong) \
|
||||
goto bad; \
|
||||
}
|
||||
|
||||
ACKCIADDRS(CI_ADDRS, !go->neg_addr && go->old_addrs, go->ouraddr,
|
||||
go->hisaddr);
|
||||
|
||||
@ -981,6 +996,10 @@ ipcp_ackci(f, p, len)
|
||||
|
||||
ACKCIDNS(CI_MS_DNS2, go->req_dns2, go->dnsaddr[1]);
|
||||
|
||||
ACKCIWINS(CI_MS_WINS1, go->winsaddr[0]);
|
||||
|
||||
ACKCIWINS(CI_MS_WINS2, go->winsaddr[1]);
|
||||
|
||||
/*
|
||||
* If there are any remaining CIs, then this packet is bad.
|
||||
*/
|
||||
|
2
external/bsd/ppp/dist/pppd/ipcp.h
vendored
2
external/bsd/ppp/dist/pppd/ipcp.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: ipcp.h,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* ipcp.h - IP Control Protocol definitions.
|
||||
|
48
external/bsd/ppp/dist/pppd/ipv6cp.c
vendored
48
external/bsd/ppp/dist/pppd/ipv6cp.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: ipv6cp.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* ipv6cp.c - PPP IPV6 Control Protocol.
|
||||
@ -145,7 +145,7 @@
|
||||
#define RCSID "Id: ipv6cp.c,v 1.21 2005/08/25 23:59:34 paulus Exp "
|
||||
static const char rcsid[] = RCSID;
|
||||
#else
|
||||
__RCSID("$NetBSD: ipv6cp.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
#endif
|
||||
|
||||
/*
|
||||
@ -257,10 +257,8 @@ static option_t ipv6cp_option_list[] = {
|
||||
{ "ipv6cp-use-ipaddr", o_bool, &ipv6cp_allowoptions[0].use_ip,
|
||||
"Use (default) IPv4 address as interface identifier", 1 },
|
||||
|
||||
#if defined(SOL2) || defined(__linux__)
|
||||
{ "ipv6cp-use-persistent", o_bool, &ipv6cp_wantoptions[0].use_persistent,
|
||||
"Use uniquely-available persistent value for link local address", 1 },
|
||||
#endif /* defined(SOL2) */
|
||||
|
||||
{ "ipv6cp-restart", o_int, &ipv6cp_fsm[0].timeouttime,
|
||||
"Set timeout for IPv6CP", OPT_PRIO },
|
||||
@ -1096,7 +1094,6 @@ ipv6_check_options()
|
||||
if (!ipv6cp_protent.enabled_flag)
|
||||
return;
|
||||
|
||||
#if defined(SOL2) || defined(__linux__)
|
||||
/*
|
||||
* Persistent link-local id is only used when user has not explicitly
|
||||
* configure/hard-code the id
|
||||
@ -1116,7 +1113,6 @@ ipv6_check_options()
|
||||
wo->opt_local = 1;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!wo->opt_local) { /* init interface identifier */
|
||||
if (wo->use_ip && eui64_iszero(wo->ourid)) {
|
||||
@ -1154,15 +1150,8 @@ ipv6_demand_conf(u)
|
||||
{
|
||||
ipv6cp_options *wo = &ipv6cp_wantoptions[u];
|
||||
|
||||
#if defined(__linux__) || defined(SOL2) || (defined(SVR4) && (defined(SNI) || defined(__USLC__)))
|
||||
#if defined(SOL2)
|
||||
if (!sif6up(u))
|
||||
return 0;
|
||||
#else
|
||||
if (!sifup(u))
|
||||
return 0;
|
||||
#endif /* defined(SOL2) */
|
||||
#endif
|
||||
if (!sif6addr(u, wo->ourid, wo->hisid))
|
||||
return 0;
|
||||
#if !defined(__linux__) && !(defined(SVR4) && (defined(SNI) || defined(__USLC__)))
|
||||
@ -1255,43 +1244,20 @@ ipv6cp_up(f)
|
||||
sifnpmode(f->unit, PPP_IPV6, NPMODE_PASS);
|
||||
|
||||
} else {
|
||||
/*
|
||||
* Set LL addresses
|
||||
*/
|
||||
#if !defined(__linux__) && !defined(SOL2) && !(defined(SVR4) && (defined(SNI) || defined(__USLC__)))
|
||||
if (!sif6addr(f->unit, go->ourid, ho->hisid)) {
|
||||
if (debug)
|
||||
warn("sif6addr failed");
|
||||
ipv6cp_close(f->unit, "Interface configuration failed");
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* bring the interface up for IPv6 */
|
||||
#if defined(SOL2)
|
||||
if (!sif6up(f->unit)) {
|
||||
if (debug)
|
||||
warn("sifup failed (IPV6)");
|
||||
warn("sif6up failed (IPV6)");
|
||||
ipv6cp_close(f->unit, "Interface configuration failed");
|
||||
return;
|
||||
}
|
||||
#else
|
||||
if (!sifup(f->unit)) {
|
||||
if (debug)
|
||||
warn("sifup failed (IPV6)");
|
||||
ipv6cp_close(f->unit, "Interface configuration failed");
|
||||
return;
|
||||
}
|
||||
#endif /* defined(SOL2) */
|
||||
|
||||
#if defined(__linux__) || defined(SOL2) || (defined(SVR4) && (defined(SNI) || defined(__USLC__)))
|
||||
if (!sif6addr(f->unit, go->ourid, ho->hisid)) {
|
||||
if (debug)
|
||||
warn("sif6addr failed");
|
||||
ipv6cp_close(f->unit, "Interface configuration failed");
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
sifnpmode(f->unit, PPP_IPV6, NPMODE_PASS);
|
||||
|
||||
notice("local LL address %s", llv6_ntoa(go->ourid));
|
||||
@ -1348,16 +1314,14 @@ ipv6cp_down(f)
|
||||
} else {
|
||||
sifnpmode(f->unit, PPP_IPV6, NPMODE_DROP);
|
||||
#if !defined(__linux__) && !(defined(SVR4) && (defined(SNI) || defined(__USLC)))
|
||||
#if defined(SOL2)
|
||||
sif6down(f->unit);
|
||||
#else
|
||||
sifdown(f->unit);
|
||||
#endif /* defined(SOL2) */
|
||||
#endif
|
||||
ipv6cp_clear_addrs(f->unit,
|
||||
ipv6cp_gotoptions[f->unit].ourid,
|
||||
ipv6cp_hisoptions[f->unit].hisid);
|
||||
#if defined(__linux__) || (defined(SVR4) && (defined(SNI) || defined(__USLC)))
|
||||
#if defined(__linux__)
|
||||
sif6down(f->unit);
|
||||
#elif defined(SVR4) && (defined(SNI) || defined(__USLC))
|
||||
sifdown(f->unit);
|
||||
#endif
|
||||
}
|
||||
|
4
external/bsd/ppp/dist/pppd/ipv6cp.h
vendored
4
external/bsd/ppp/dist/pppd/ipv6cp.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: ipv6cp.h,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* ipv6cp.h - PPP IPV6 Control Protocol.
|
||||
@ -156,9 +156,7 @@ typedef struct ipv6cp_options {
|
||||
int opt_local; /* ourtoken set by option */
|
||||
int opt_remote; /* histoken set by option */
|
||||
int use_ip; /* use IP as interface identifier */
|
||||
#if defined(SOL2) || defined(__linux__)
|
||||
int use_persistent; /* use uniquely persistent value for address */
|
||||
#endif /* defined(SOL2) */
|
||||
int neg_vj; /* Van Jacobson Compression? */
|
||||
u_short vj_protocol; /* protocol value to use in VJ option */
|
||||
eui64_t ourid, hisid; /* Interface identifiers */
|
||||
|
4
external/bsd/ppp/dist/pppd/ipxcp.c
vendored
4
external/bsd/ppp/dist/pppd/ipxcp.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: ipxcp.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* ipxcp.c - PPP IPX Control Protocol.
|
||||
@ -47,7 +47,7 @@
|
||||
#define RCSID "Id: ipxcp.c,v 1.24 2005/08/25 23:59:34 paulus Exp "
|
||||
static const char rcsid[] = RCSID;
|
||||
#else
|
||||
__RCSID("$NetBSD: ipxcp.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
#endif
|
||||
#ifdef IPX_CHANGE
|
||||
|
||||
|
2
external/bsd/ppp/dist/pppd/ipxcp.h
vendored
2
external/bsd/ppp/dist/pppd/ipxcp.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: ipxcp.h,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* ipxcp.h - IPX Control Protocol definitions.
|
||||
|
4
external/bsd/ppp/dist/pppd/lcp.c
vendored
4
external/bsd/ppp/dist/pppd/lcp.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: lcp.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* lcp.c - PPP Link Control Protocol.
|
||||
@ -47,7 +47,7 @@
|
||||
#define RCSID "Id: lcp.c,v 1.76 2006/05/22 00:04:07 paulus Exp "
|
||||
static const char rcsid[] = RCSID;
|
||||
#else
|
||||
__RCSID("$NetBSD: lcp.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
2
external/bsd/ppp/dist/pppd/lcp.h
vendored
2
external/bsd/ppp/dist/pppd/lcp.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: lcp.h,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* lcp.h - Link Control Protocol definitions.
|
||||
|
4
external/bsd/ppp/dist/pppd/magic.c
vendored
4
external/bsd/ppp/dist/pppd/magic.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: magic.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* magic.c - PPP Magic Number routines.
|
||||
@ -47,7 +47,7 @@
|
||||
#define RCSID "Id: magic.c,v 1.11 2003/06/11 23:56:26 paulus Exp "
|
||||
static const char rcsid[] = RCSID;
|
||||
#else
|
||||
__RCSID("$NetBSD: magic.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
|
2
external/bsd/ppp/dist/pppd/magic.h
vendored
2
external/bsd/ppp/dist/pppd/magic.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: magic.h,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* magic.h - PPP Magic Number definitions.
|
||||
|
4
external/bsd/ppp/dist/pppd/main.c
vendored
4
external/bsd/ppp/dist/pppd/main.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: main.c,v 1.3 2013/12/04 15:05:49 christos Exp $ */
|
||||
/* NetBSD: main.c,v 1.2 2013/11/28 22:33:42 christos Exp */
|
||||
|
||||
/*
|
||||
* main.c - Point-to-Point Protocol main module
|
||||
@ -73,7 +73,7 @@
|
||||
#define RCSID "Id: main.c,v 1.156 2008/06/23 11:47:18 paulus Exp "
|
||||
static const char rcsid[] = RCSID;
|
||||
#else
|
||||
__RCSID("$NetBSD: main.c,v 1.3 2013/12/04 15:05:49 christos Exp $");
|
||||
__RCSID("NetBSD: main.c,v 1.2 2013/11/28 22:33:42 christos Exp ");
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
|
2
external/bsd/ppp/dist/pppd/mppe.h
vendored
2
external/bsd/ppp/dist/pppd/mppe.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: mppe.h,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* mppe.h - Definitions for MPPE
|
||||
|
4
external/bsd/ppp/dist/pppd/multilink.c
vendored
4
external/bsd/ppp/dist/pppd/multilink.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: multilink.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* multilink.c - support routines for multilink.
|
||||
@ -31,7 +31,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__RCSID("$NetBSD: multilink.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
|
19
external/bsd/ppp/dist/pppd/options.c
vendored
19
external/bsd/ppp/dist/pppd/options.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: options.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* options.c - handles option processing for PPP.
|
||||
@ -47,7 +47,7 @@
|
||||
#define RCSID "Id: options.c,v 1.102 2008/06/15 06:53:06 paulus Exp "
|
||||
static const char rcsid[] = RCSID;
|
||||
#else
|
||||
__RCSID("$NetBSD: options.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
#endif
|
||||
|
||||
#include <ctype.h>
|
||||
@ -792,10 +792,13 @@ process_option(opt, cmd, argv)
|
||||
if (opt->flags & OPT_STATIC) {
|
||||
strlcpy((char *)(opt->addr), *argv, opt->upper_limit);
|
||||
} else {
|
||||
char **optptr = (char **)(opt->addr);
|
||||
sv = strdup(*argv);
|
||||
if (sv == NULL)
|
||||
novm("option argument");
|
||||
*(char **)(opt->addr) = sv;
|
||||
if (*optptr)
|
||||
free(*optptr);
|
||||
*optptr = sv;
|
||||
}
|
||||
break;
|
||||
|
||||
@ -1299,9 +1302,10 @@ getword(f, word, newlinep, filename)
|
||||
/*
|
||||
* Store the resulting character for the escape sequence.
|
||||
*/
|
||||
if (len < MAXWORDLEN-1)
|
||||
if (len < MAXWORDLEN) {
|
||||
word[len] = value;
|
||||
++len;
|
||||
++len;
|
||||
}
|
||||
|
||||
if (!got)
|
||||
c = getc(f);
|
||||
@ -1339,9 +1343,10 @@ getword(f, word, newlinep, filename)
|
||||
/*
|
||||
* An ordinary character: store it in the word and get another.
|
||||
*/
|
||||
if (len < MAXWORDLEN-1)
|
||||
if (len < MAXWORDLEN) {
|
||||
word[len] = c;
|
||||
++len;
|
||||
++len;
|
||||
}
|
||||
|
||||
c = getc(f);
|
||||
}
|
||||
|
6
external/bsd/ppp/dist/pppd/patchlevel.h
vendored
6
external/bsd/ppp/dist/pppd/patchlevel.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: patchlevel.h,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* $NetBSD: patchlevel.h,v 1.3 2014/10/25 19:06:34 christos Exp $ */
|
||||
|
||||
#define VERSION "2.4.5"
|
||||
#define DATE "17 November 2009"
|
||||
#define VERSION "2.4.7"
|
||||
#define DATE "9 August 2014"
|
||||
|
2
external/bsd/ppp/dist/pppd/pathnames.h
vendored
2
external/bsd/ppp/dist/pppd/pathnames.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: pathnames.h,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* define path names
|
||||
|
4
external/bsd/ppp/dist/pppd/pppcrypt.c
vendored
4
external/bsd/ppp/dist/pppd/pppcrypt.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: pppcrypt.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* pppcrypt.c - PPP/DES linkage for MS-CHAP and EAP SRP-SHA1
|
||||
@ -33,7 +33,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__RCSID("$NetBSD: pppcrypt.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
|
2
external/bsd/ppp/dist/pppd/pppcrypt.h
vendored
2
external/bsd/ppp/dist/pppd/pppcrypt.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: pppcrypt.h,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* pppcrypt.c - PPP/DES linkage for MS-CHAP and EAP SRP-SHA1
|
||||
|
2
external/bsd/ppp/dist/pppd/pppd.8
vendored
2
external/bsd/ppp/dist/pppd/pppd.8
vendored
@ -1,4 +1,4 @@
|
||||
.\" $NetBSD: pppd.8,v 1.2 2013/11/28 22:33:42 christos Exp $
|
||||
.\" NetBSD
|
||||
.\" manual page [] for pppd 2.4
|
||||
.\" Id: pppd.8,v 1.90 2008/03/26 12:09:40 paulus Exp
|
||||
.\" SH section heading
|
||||
|
5
external/bsd/ppp/dist/pppd/pppd.h
vendored
5
external/bsd/ppp/dist/pppd/pppd.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: pppd.h,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* pppd.h - PPP daemon global declarations.
|
||||
@ -280,6 +280,7 @@ extern int kdebugflag; /* Tell kernel to print debug messages */
|
||||
extern int default_device; /* Using /dev/tty or equivalent */
|
||||
extern char devnam[MAXPATHLEN]; /* Device name */
|
||||
extern int crtscts; /* Use hardware flow control */
|
||||
extern int stop_bits; /* Number of serial port stop bits */
|
||||
extern bool modem; /* Use modem control lines */
|
||||
extern int inspeed; /* Input/Output speed requested */
|
||||
extern u_int32_t netmask; /* IP netmask to set on interface */
|
||||
@ -663,6 +664,8 @@ int cifaddr __P((int, u_int32_t, u_int32_t));
|
||||
/* Reset i/f IP addresses */
|
||||
#ifdef INET6
|
||||
int ether_to_eui64(eui64_t *p_eui64); /* convert eth0 hw address to EUI64 */
|
||||
int sif6up __P((int)); /* Configure i/f up for IPv6 */
|
||||
int sif6down __P((int)); /* Configure i/f down for IPv6 */
|
||||
int sif6addr __P((int, eui64_t, eui64_t));
|
||||
/* Configure IPv6 addresses for i/f */
|
||||
int cif6addr __P((int, eui64_t, eui64_t));
|
||||
|
4
external/bsd/ppp/dist/pppd/session.c
vendored
4
external/bsd/ppp/dist/pppd/session.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: session.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* session.c - PPP session control.
|
||||
@ -71,7 +71,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__RCSID("$NetBSD: session.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
2
external/bsd/ppp/dist/pppd/session.h
vendored
2
external/bsd/ppp/dist/pppd/session.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: session.h,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* session.c - PPP session control.
|
||||
|
8
external/bsd/ppp/dist/pppd/tty.c
vendored
8
external/bsd/ppp/dist/pppd/tty.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: tty.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* tty.c - code for handling serial ports in pppd.
|
||||
@ -75,7 +75,7 @@
|
||||
#define RCSID "Id: tty.c,v 1.27 2008/07/01 12:27:56 paulus Exp "
|
||||
static const char rcsid[] = RCSID;
|
||||
#else
|
||||
__RCSID("$NetBSD: tty.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
@ -144,6 +144,7 @@ struct stat devstat; /* result of stat() on devnam */
|
||||
|
||||
/* option variables */
|
||||
int crtscts = 0; /* Use hardware flow control */
|
||||
int stop_bits = 1; /* Number of serial port stop bits */
|
||||
bool modem = 1; /* Use modem control lines */
|
||||
int inspeed = 0; /* Input/Output speed requested */
|
||||
bool lockflag = 0; /* Create lock file to lock the serial dev */
|
||||
@ -229,6 +230,9 @@ option_t tty_options[] = {
|
||||
OPT_PRIOSUB | OPT_ALIAS | OPT_NOARG | OPT_VAL(-1) },
|
||||
{ "xonxoff", o_special_noarg, (void *)setxonxoff,
|
||||
"Set software (XON/XOFF) flow control", OPT_PRIOSUB },
|
||||
{ "stop-bits", o_int, &stop_bits,
|
||||
"Number of stop bits in serial port",
|
||||
OPT_PRIO | OPT_PRIVFIX | OPT_LIMITS, NULL, 2, 1 },
|
||||
|
||||
{ "modem", o_bool, &modem,
|
||||
"Use modem control lines", OPT_PRIO | 1 },
|
||||
|
4
external/bsd/ppp/dist/pppd/upap.c
vendored
4
external/bsd/ppp/dist/pppd/upap.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: upap.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* upap.c - User/Password Authentication Protocol.
|
||||
@ -47,7 +47,7 @@
|
||||
#define RCSID "Id: upap.c,v 1.30 2005/07/13 10:41:58 paulus Exp "
|
||||
static const char rcsid[] = RCSID;
|
||||
#else
|
||||
__RCSID("$NetBSD: upap.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
2
external/bsd/ppp/dist/pppd/upap.h
vendored
2
external/bsd/ppp/dist/pppd/upap.h
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: upap.h,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* upap.h - User/Password Authentication Protocol definitions.
|
||||
|
6
external/bsd/ppp/dist/pppd/utils.c
vendored
6
external/bsd/ppp/dist/pppd/utils.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: utils.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* utils.c - various utility functions used in pppd.
|
||||
@ -35,7 +35,7 @@
|
||||
#define RCSID "Id: utils.c,v 1.25 2008/06/03 12:06:37 paulus Exp "
|
||||
static const char rcsid[] = RCSID;
|
||||
#else
|
||||
__RCSID("$NetBSD: utils.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
@ -268,6 +268,8 @@ vslprintf(buf, buflen, fmt, args)
|
||||
case 'q': /* quoted string */
|
||||
quoted = c == 'q';
|
||||
p = va_arg(args, unsigned char *);
|
||||
if (p == NULL)
|
||||
p = (unsigned char *)"<NULL>";
|
||||
if (fillch == '0' && prec >= 0) {
|
||||
n = prec;
|
||||
} else {
|
||||
|
4
external/bsd/ppp/dist/pppdump/deflate.c
vendored
4
external/bsd/ppp/dist/pppdump/deflate.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: deflate.c,v 1.2 2013/11/28 22:33:42 christos Exp $ */
|
||||
/* NetBSD: deflate.c,v 1.2 2005/02/20 10:47:17 cube Exp */
|
||||
|
||||
/*
|
||||
* ppp_deflate.c - interface the zlib procedures for Deflate compression
|
||||
@ -38,7 +38,7 @@
|
||||
* Id: deflate.c,v 1.5 2004/01/17 05:47:55 carlsonj Exp
|
||||
*/
|
||||
#include <sys/cdefs.h>
|
||||
__RCSID("$NetBSD: deflate.c,v 1.2 2013/11/28 22:33:42 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <stdio.h>
|
||||
|
4
external/bsd/ppp/dist/pppstats/pppstats.c
vendored
4
external/bsd/ppp/dist/pppstats/pppstats.c
vendored
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: pppstats.c,v 1.2 2013/11/28 22:33:43 christos Exp $ */
|
||||
/* NetBSD */
|
||||
|
||||
/*
|
||||
* print PPP statistics:
|
||||
@ -43,7 +43,7 @@
|
||||
static const char rcsid[] = "Id: pppstats.c,v 1.29 2002/10/27 12:56:26 fcusack Exp ";
|
||||
#endif
|
||||
#else
|
||||
__RCSID("$NetBSD: pppstats.c,v 1.2 2013/11/28 22:33:43 christos Exp $");
|
||||
__RCSID("NetBSD");
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
|
9
external/bsd/ppp/ppp2netbsd
vendored
9
external/bsd/ppp/ppp2netbsd
vendored
@ -38,8 +38,7 @@ UNUSED_DIRS="${UNUSED_DIRS} .git"
|
||||
UNUSED_FILES="Changes-2.3 README.linux README.pppoe README.sol2 configure"
|
||||
UNUSED_FILES="${UNUSED_FILES} pppd/md[45].* pppd/sha1.* pppd/srp-entry.*"
|
||||
UNUSED_FILES="${UNUSED_FILES} pppd/sys-linux.c pppd/sys-solaris.c"
|
||||
UNUSED_FILES="${UNUSED_FILES} pppdump/zlib.* pppdump/ppp-comp.h .gitignore"
|
||||
UNUSED_FILES="${UNUSED_FILES} pppdump/.gitignore pppdump/bsd-comp.c"
|
||||
UNUSED_FILES="${UNUSED_FILES} pppdump/zlib.* pppdump/ppp-comp.h"
|
||||
|
||||
# Stuff we don't want
|
||||
GPL_DIRS="pppd/plugins/pppoatm pppd/plugins/radius pppd/plugins/rp-pppoe"
|
||||
@ -67,4 +66,10 @@ find . -type f -name 'Makefile*' | while read m; do
|
||||
done
|
||||
echo; echo
|
||||
|
||||
echo -n "Removing .gitignore... "
|
||||
find . -type f -name '.gitignore' | while read m; do
|
||||
rm -f ${m}
|
||||
echo -n "${m} "
|
||||
done
|
||||
echo; echo
|
||||
cleantags .
|
||||
|
163
external/bsd/ppp/usr.sbin/pppd/sys-bsd.c
vendored
163
external/bsd/ppp/usr.sbin/pppd/sys-bsd.c
vendored
@ -189,6 +189,7 @@ static fd_set in_fds; /* set of fds that wait_input waits for */
|
||||
static int max_in_fd; /* highest fd set in in_fds */
|
||||
|
||||
static int if_is_up; /* the interface is currently up */
|
||||
static int if6_is_up; /* the interface is currently up */
|
||||
static u_int32_t ifaddrs[2]; /* local and remote addresses we set */
|
||||
static u_int32_t default_route_gateway; /* gateway addr for default route */
|
||||
static u_int32_t proxy_arp_addr; /* remote addr for proxy arp */
|
||||
@ -199,6 +200,7 @@ static void set_flags(int, int);
|
||||
static int dodefaultroute(u_int32_t, int);
|
||||
static int get_ether_addr(u_int32_t, struct sockaddr_dl *);
|
||||
static void restore_loop(void); /* Transfer ppp unit back to loopback */
|
||||
static int setifstate(int, int);
|
||||
|
||||
|
||||
static void
|
||||
@ -1400,11 +1402,79 @@ sifvjcomp(int u, int vjcomp, int cidcomp, int maxcid)
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
/********************************************************************
|
||||
*
|
||||
* sifup - Config the interface up and enable IP packets to pass.
|
||||
*/
|
||||
int
|
||||
sifup(int u)
|
||||
|
||||
int sifup(int u)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if ((ret = setifstate(u, 1)))
|
||||
if_is_up++;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/********************************************************************
|
||||
*
|
||||
* sifdown - Disable the indicated protocol and config the interface
|
||||
* down if there are no remaining protocols.
|
||||
*/
|
||||
|
||||
int sifdown (int u)
|
||||
{
|
||||
if (if_is_up && --if_is_up > 0)
|
||||
return 1;
|
||||
|
||||
#ifdef INET6
|
||||
if (if6_is_up)
|
||||
return 1;
|
||||
#endif /* INET6 */
|
||||
|
||||
return setifstate(u, 0);
|
||||
}
|
||||
|
||||
#ifdef INET6
|
||||
/********************************************************************
|
||||
*
|
||||
* sif6up - Config the interface up for IPv6
|
||||
*/
|
||||
|
||||
int sif6up(int u)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if ((ret = setifstate(u, 1)))
|
||||
if6_is_up = 1;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/********************************************************************
|
||||
*
|
||||
* sif6down - Disable the IPv6CP protocol and config the interface
|
||||
* down if there are no remaining protocols.
|
||||
*/
|
||||
|
||||
int sif6down (int u)
|
||||
{
|
||||
if6_is_up = 0;
|
||||
|
||||
if (if_is_up)
|
||||
return 1;
|
||||
|
||||
return setifstate(u, 0);
|
||||
}
|
||||
#endif /* INET6 */
|
||||
|
||||
/********************************************************************
|
||||
*
|
||||
* setifstate - Config the interface up or down
|
||||
*/
|
||||
|
||||
static int setifstate (int u, int state)
|
||||
{
|
||||
struct ifreq ifr;
|
||||
|
||||
@ -1413,7 +1483,10 @@ sifup(int u)
|
||||
error("%s: ioctl (SIOCGIFFLAGS): %m", __func__);
|
||||
return 0;
|
||||
}
|
||||
ifr.ifr_flags |= IFF_UP;
|
||||
if (state)
|
||||
ifr.ifr_flags |= IFF_UP;
|
||||
else
|
||||
ifr.ifr_flags &= ~IFF_UP;
|
||||
if (ioctl(sock_fd, SIOCSIFFLAGS, (caddr_t) &ifr) < 0) {
|
||||
error("%s: ioctl(SIOCSIFFLAGS): %m", __func__);
|
||||
return 0;
|
||||
@ -1439,37 +1512,6 @@ sifnpmode(int u, int proto, enum NPmode mode)
|
||||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* sifdown - Config the interface down and disable IP.
|
||||
*/
|
||||
int
|
||||
sifdown(int u)
|
||||
{
|
||||
struct ifreq ifr;
|
||||
int rv;
|
||||
struct npioctl npi;
|
||||
|
||||
rv = 1;
|
||||
npi.protocol = PPP_IP;
|
||||
npi.mode = NPMODE_ERROR;
|
||||
ioctl(ppp_fd, PPPIOCSNPMODE, (caddr_t) &npi);
|
||||
/* ignore errors, because ppp_fd might have been closed by now. */
|
||||
|
||||
strlcpy(ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
|
||||
if (ioctl(sock_fd, SIOCGIFFLAGS, (caddr_t) &ifr) < 0) {
|
||||
error("%s: ioctl (SIOCGIFFLAGS): %m", __func__);
|
||||
rv = 0;
|
||||
} else {
|
||||
ifr.ifr_flags &= ~IFF_UP;
|
||||
if (ioctl(sock_fd, SIOCSIFFLAGS, (caddr_t) &ifr) < 0) {
|
||||
error("%s: ioctl(SIOCSIFFLAGS): %m", __func__);
|
||||
rv = 0;
|
||||
} else
|
||||
if_is_up = 0;
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
/*
|
||||
* SET_SA_FAMILY - set the sa_family field of a struct sockaddr,
|
||||
* if it exists.
|
||||
@ -2069,3 +2111,54 @@ unlock(void)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef INET6
|
||||
/*
|
||||
* ether_to_eui64 - Convert 48-bit Ethernet address into 64-bit EUI
|
||||
*
|
||||
* convert the 48-bit MAC address of eth0 into EUI 64. caller also assumes
|
||||
* that the system has a properly configured Ethernet interface for this
|
||||
* function to return non-zero.
|
||||
*/
|
||||
int
|
||||
ether_to_eui64(eui64_t *p_eui64)
|
||||
{
|
||||
struct ifaddrs *ifap, *ifa;
|
||||
|
||||
if (getifaddrs(&ifap) != 0) {
|
||||
warn("%s: getifaddrs: %m", __func__);
|
||||
return 0;
|
||||
}
|
||||
for (ifa = ifap; ifa; ifa = ifa->ifa_next) {
|
||||
/*
|
||||
* Check the interface's internet address.
|
||||
*/
|
||||
if (ifa->ifa_addr->sa_family != AF_LINK)
|
||||
continue;
|
||||
/*
|
||||
* Check that the interface is up, and not point-to-point or loopback.
|
||||
*/
|
||||
if ((ifa->ifa_flags & (IFF_UP|IFF_POINTOPOINT|IFF_LOOPBACK)) == IFF_UP)
|
||||
{
|
||||
/*
|
||||
* And convert the EUI-48 into EUI-64, per RFC 2472 [sec 4.1]
|
||||
*/
|
||||
unsigned char *ptr = (void *)ifa->ifa_addr;
|
||||
p_eui64->e8[0] = ptr[0] | 0x02;
|
||||
p_eui64->e8[1] = ptr[1];
|
||||
p_eui64->e8[2] = ptr[2];
|
||||
p_eui64->e8[3] = 0xFF;
|
||||
p_eui64->e8[4] = 0xFE;
|
||||
p_eui64->e8[5] = ptr[3];
|
||||
p_eui64->e8[6] = ptr[4];
|
||||
p_eui64->e8[7] = ptr[5];
|
||||
freeifaddrs(ifap);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
warn("%s: can't find a link address", __func__);
|
||||
freeifaddrs(ifap);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user