mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2025-03-29 13:20:09 +00:00
disabled almost all PPP options strings and support as well as useless file-based auth code
This commit is contained in:
parent
d0645273df
commit
b88dad4034
@ -238,29 +238,36 @@ static void network_phase __P((int));
|
||||
static void check_idle __P((void *));
|
||||
static void connect_time_expired __P((void *));
|
||||
static int null_login __P((int));
|
||||
#if 0 /* UNUSED */
|
||||
/* static int get_pap_passwd __P((char *)); */
|
||||
static int have_pap_secret __P((int *));
|
||||
static int have_chap_secret __P((char *, char *, int, int *));
|
||||
static int have_srp_secret __P((char *client, char *server, int need_ip,
|
||||
int *lacks_ipp));
|
||||
#endif /* UNUSED */
|
||||
static int ip_addr_check __P((u_int32_t, struct permitted_ip *));
|
||||
#if 0 /* UNUSED */
|
||||
static int scan_authfile __P((FILE *, char *, char *, char *,
|
||||
struct wordlist **, struct wordlist **,
|
||||
char *, int));
|
||||
static void free_wordlist __P((struct wordlist *));
|
||||
static void set_allowed_addrs __P((int, struct wordlist *, struct wordlist *));
|
||||
#endif /* UNUSED */
|
||||
static int some_ip_ok __P((struct wordlist *));
|
||||
static int setupapfile __P((char **));
|
||||
static int privgroup __P((char **));
|
||||
static int set_noauth_addr __P((char **));
|
||||
static int set_permitted_number __P((char **));
|
||||
static void check_access __P((FILE *, char *));
|
||||
#if 0 /* UNUSED */
|
||||
static int wordlist_count __P((struct wordlist *));
|
||||
#endif /* UNUSED */
|
||||
|
||||
#ifdef MAXOCTETS
|
||||
static void check_maxoctets __P((void *));
|
||||
#endif
|
||||
|
||||
#if PPP_OPTIONS
|
||||
/*
|
||||
* Authentication-related options.
|
||||
*/
|
||||
@ -397,6 +404,7 @@ option_t auth_options[] = {
|
||||
|
||||
{ NULL }
|
||||
};
|
||||
#endif /* PPP_OPTIONS */
|
||||
|
||||
/*
|
||||
* setupapfile - specifies UPAP info for authenticating with peer.
|
||||
@ -737,14 +745,18 @@ link_established(unit)
|
||||
(*protp->lowerup)(unit);
|
||||
}
|
||||
|
||||
#if PPP_ALLOWED_ADDRS
|
||||
if (!auth_required && noauth_addrs != NULL)
|
||||
set_allowed_addrs(unit, NULL, NULL);
|
||||
#endif /* PPP_ALLOWED_ADDRS */
|
||||
|
||||
if (auth_required && !(go->neg_upap || go->neg_chap
|
||||
#if EAP_SUPPORT
|
||||
|| go->neg_eap
|
||||
#endif /* EAP_SUPPORT */
|
||||
)) {
|
||||
|
||||
#if PPP_ALLOWED_ADDRS
|
||||
/*
|
||||
* We wanted the peer to authenticate itself, and it refused:
|
||||
* if we have some address(es) it can use without auth, fine,
|
||||
@ -754,7 +766,9 @@ link_established(unit)
|
||||
*/
|
||||
if (noauth_addrs != NULL) {
|
||||
set_allowed_addrs(unit, NULL, NULL);
|
||||
} else if (!wo->neg_upap || uselogin || !null_login(unit)) {
|
||||
} else
|
||||
#endif /* PPP_ALLOWED_ADDRS */
|
||||
if (!wo->neg_upap || uselogin || !null_login(unit)) {
|
||||
warn("peer refused to authenticate: terminating link");
|
||||
status = EXIT_PEER_AUTH_FAILED;
|
||||
lcp_close(unit, "peer refused to authenticate");
|
||||
@ -832,6 +846,7 @@ network_phase(unit)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if PPP_OPTIONS
|
||||
/*
|
||||
* Process extra options from the secrets file
|
||||
*/
|
||||
@ -840,6 +855,7 @@ network_phase(unit)
|
||||
free_wordlist(extra_options);
|
||||
extra_options = 0;
|
||||
}
|
||||
#endif /* PPP_OPTIONS */
|
||||
start_networks(unit);
|
||||
}
|
||||
|
||||
@ -1206,6 +1222,7 @@ connect_time_expired(arg)
|
||||
lcp_close(0, "Connect time expired"); /* Close connection */
|
||||
}
|
||||
|
||||
#if PPP_OPTIONS
|
||||
/*
|
||||
* auth_check_options - called to check authentication options.
|
||||
*/
|
||||
@ -1315,6 +1332,7 @@ auth_check_options()
|
||||
exit(EXIT_CNID_AUTH_FAILED);
|
||||
}
|
||||
}
|
||||
#endif /* PPP_OPTIONS */
|
||||
|
||||
/*
|
||||
* auth_reset - called when LCP is starting negotiations to recheck
|
||||
@ -1554,6 +1572,9 @@ static int
|
||||
null_login(unit)
|
||||
int unit;
|
||||
{
|
||||
return 0;
|
||||
/* FIXME: clean that */
|
||||
#if 0 /* UNUSED */
|
||||
char *filename;
|
||||
FILE *f;
|
||||
int i, ret;
|
||||
@ -1592,6 +1613,7 @@ null_login(unit)
|
||||
free_wordlist(addrs);
|
||||
|
||||
return ret;
|
||||
#endif
|
||||
}
|
||||
|
||||
#if 0
|
||||
@ -1637,6 +1659,7 @@ get_pap_passwd(passwd)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if 0 /* UNUSED */
|
||||
/*
|
||||
* have_pap_secret - check whether we have a PAP file with any
|
||||
* secrets that we could possibly use for authenticating the peer.
|
||||
@ -1676,7 +1699,6 @@ have_pap_secret(lacks_ipp)
|
||||
return ret >= 0;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* have_chap_secret - check whether we have a CHAP file with a
|
||||
* secret that we could possibly use for authenticating `client'
|
||||
@ -1725,7 +1747,6 @@ have_chap_secret(client, server, need_ip, lacks_ipp)
|
||||
return ret >= 0;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* have_srp_secret - check whether we have a SRP file with a
|
||||
* secret that we could possibly use for authenticating `client'
|
||||
@ -1766,7 +1787,7 @@ have_srp_secret(client, server, need_ip, lacks_ipp)
|
||||
|
||||
return ret >= 0;
|
||||
}
|
||||
|
||||
#endif /* UNUSED */
|
||||
|
||||
/*
|
||||
* get_secret - open the CHAP secret file and return the secret
|
||||
@ -1927,6 +1948,7 @@ get_srp_secret(unit, client, server, secret, am_server)
|
||||
#endif
|
||||
}
|
||||
|
||||
#if 0 /* UNUSED */
|
||||
/*
|
||||
* set_allowed_addrs() - set the list of allowed addresses.
|
||||
* Also looks for `--' indicating options to apply for this peer
|
||||
@ -2083,6 +2105,7 @@ set_allowed_addrs(unit, addrs, opts)
|
||||
wo->accept_remote = 1;
|
||||
}
|
||||
}
|
||||
#endif /* UNUSED */
|
||||
|
||||
/*
|
||||
* auth_ip_addr - check whether the peer is authorized to use
|
||||
@ -2202,7 +2225,7 @@ check_access(f, filename)
|
||||
}
|
||||
}
|
||||
|
||||
/* FIXME: useless ! */
|
||||
#if 0 /* UNUSED */
|
||||
/*
|
||||
* scan_authfile - Scan an authorization file for a secret suitable
|
||||
* for authenticating `client' on `server'. The return value is -1
|
||||
@ -2406,3 +2429,4 @@ free_wordlist(wp)
|
||||
wp = next;
|
||||
}
|
||||
}
|
||||
#endif /* UNUSED */
|
||||
|
@ -71,6 +71,7 @@ static char deflate_value[8];
|
||||
bool refuse_mppe_stateful = 1; /* Allow stateful mode? */
|
||||
#endif
|
||||
|
||||
#if PPP_OPTIONS
|
||||
static option_t ccp_option_list[] = {
|
||||
{ "noccp", o_bool, &ccp_protent.enabled_flag,
|
||||
"Disable CCP negotiation" },
|
||||
@ -162,6 +163,7 @@ static option_t ccp_option_list[] = {
|
||||
|
||||
{ NULL }
|
||||
};
|
||||
#endif /* PPP_OPTIONS */
|
||||
|
||||
/*
|
||||
* Protocol entry points from main code.
|
||||
@ -192,7 +194,9 @@ struct protent ccp_protent = {
|
||||
1,
|
||||
"CCP",
|
||||
"Compressed",
|
||||
#if PPP_OPTIONS
|
||||
ccp_option_list,
|
||||
#endif /* PPP_OPTIONS */
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
|
@ -62,6 +62,7 @@ int chap_timeout_time = 3;
|
||||
int chap_max_transmits = 10;
|
||||
int chap_rechallenge_time = 0;
|
||||
|
||||
#if PPP_OPTIONS
|
||||
/*
|
||||
* Command-line options.
|
||||
*/
|
||||
@ -74,6 +75,7 @@ static option_t chap_option_list[] = {
|
||||
"Set interval for rechallenge", OPT_PRIO },
|
||||
{ NULL }
|
||||
};
|
||||
#endif /* PPP_OPTIONS */
|
||||
|
||||
/*
|
||||
* Internal state.
|
||||
@ -654,6 +656,8 @@ struct protent chap_protent = {
|
||||
1, /* enabled_flag */
|
||||
"CHAP", /* name */
|
||||
NULL, /* data_name */
|
||||
#if PPP_OPTIONS
|
||||
chap_option_list,
|
||||
#endif /* PPP_OPTIONS */
|
||||
NULL, /* check_options */
|
||||
};
|
||||
|
@ -142,6 +142,7 @@ static char *mschap2_peer_challenge = NULL;
|
||||
#include <net/ppp-comp.h>
|
||||
#endif
|
||||
|
||||
#if PPP_OPTIONS
|
||||
/*
|
||||
* Command-line options.
|
||||
*/
|
||||
@ -158,6 +159,7 @@ static option_t chapms_option_list[] = {
|
||||
#endif
|
||||
{ NULL }
|
||||
};
|
||||
#endif /* PPP_OPTIONS */
|
||||
|
||||
/*
|
||||
* chapms_generate_challenge - generate a challenge for MS-CHAP.
|
||||
@ -940,7 +942,9 @@ chapms_init(void)
|
||||
{
|
||||
chap_register_digest(&chapms_digest);
|
||||
chap_register_digest(&chapms2_digest);
|
||||
#if PPP_OPTIONS
|
||||
add_options(chapms_option_list);
|
||||
#endif /* PPP_OPTIONS */
|
||||
}
|
||||
|
||||
#endif /* CHAPMS */
|
||||
|
@ -67,6 +67,7 @@ eap_state eap_states[NUM_PPP]; /* EAP state; one for each unit */
|
||||
static char *pn_secret = NULL; /* Pseudonym generating secret */
|
||||
#endif
|
||||
|
||||
#if PPP_OPTIONS
|
||||
/*
|
||||
* Command-line options.
|
||||
*/
|
||||
@ -91,6 +92,7 @@ static option_t eap_option_list[] = {
|
||||
#endif
|
||||
{ NULL }
|
||||
};
|
||||
#endif /* PPP_OPTIONS */
|
||||
|
||||
/*
|
||||
* Protocol entry points.
|
||||
@ -117,7 +119,9 @@ struct protent eap_protent = {
|
||||
1, /* protocol enabled */
|
||||
"EAP", /* text name of protocol */
|
||||
NULL, /* text name of corresponding data protocol */
|
||||
#if PPP_OPTIONS
|
||||
eap_option_list, /* list of command-line options */
|
||||
#endif /* PPP_OPTIONS */
|
||||
NULL, /* check requested options; assign defaults */
|
||||
NULL, /* configure interface for demand-dial */
|
||||
NULL /* say whether to bring up link for this pkt */
|
||||
|
@ -69,6 +69,7 @@ static const char rcsid[] = RCSID;
|
||||
#include "fsm.h"
|
||||
#include "ecp.h"
|
||||
|
||||
#if PPP_OPTIONS
|
||||
static option_t ecp_option_list[] = {
|
||||
{ "noecp", o_bool, &ecp_protent.enabled_flag,
|
||||
"Disable ECP negotiation" },
|
||||
@ -77,6 +78,7 @@ static option_t ecp_option_list[] = {
|
||||
|
||||
{ NULL }
|
||||
};
|
||||
#endif /* PPP_OPTIONS */
|
||||
|
||||
/*
|
||||
* Protocol entry points from main code.
|
||||
@ -111,7 +113,9 @@ struct protent ecp_protent = {
|
||||
0,
|
||||
"ECP",
|
||||
"Encrypted",
|
||||
#if PPP_OPTIONS
|
||||
ecp_option_list,
|
||||
#endif /* PPP_OPTIONS */
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
|
@ -143,6 +143,7 @@ static int setnetmask __P((char **));
|
||||
int setipaddr __P((char *, char **, int));
|
||||
static void printipaddr __P((option_t *, void (*)(void *, char *,...),void *));
|
||||
|
||||
#if PPP_OPTIONS
|
||||
static option_t ipcp_option_list[] = {
|
||||
{ "noip", o_bool, &ipcp_protent.enabled_flag,
|
||||
"Disable IP and IPCP" },
|
||||
@ -243,6 +244,7 @@ static option_t ipcp_option_list[] = {
|
||||
|
||||
{ NULL }
|
||||
};
|
||||
#endif /* PPP_OPTIONS */
|
||||
|
||||
/*
|
||||
* Protocol entry points from main code.
|
||||
@ -275,7 +277,9 @@ struct protent ipcp_protent = {
|
||||
1,
|
||||
"IPCP",
|
||||
"IP",
|
||||
#if PPP_OPTIONS
|
||||
ipcp_option_list,
|
||||
#endif /* PPP_OPTIONS */
|
||||
ip_check_options,
|
||||
ip_demand_conf,
|
||||
ip_active_pkt
|
||||
@ -322,8 +326,12 @@ setvjslots(argv)
|
||||
{
|
||||
int value;
|
||||
|
||||
/* FIXME: found what int_option() did */
|
||||
#if PPP_OPTIONS
|
||||
if (!int_option(*argv, &value))
|
||||
return 0;
|
||||
#endif /* PPP_OPTIONS */
|
||||
|
||||
if (value < 2 || value > 16) {
|
||||
option_error("vj-max-slots value must be between 2 and 16");
|
||||
return 0;
|
||||
|
@ -90,6 +90,7 @@ static void printendpoint __P((option_t *, void (*)(void *, char *, ...),
|
||||
void *));
|
||||
#endif /* HAVE_MULTILINK */
|
||||
|
||||
#if PPP_OPTIONS
|
||||
static option_t lcp_option_list[] = {
|
||||
/* LCP options */
|
||||
{ "-all", o_special_noarg, (void *)noopt,
|
||||
@ -195,6 +196,7 @@ static option_t lcp_option_list[] = {
|
||||
|
||||
{NULL}
|
||||
};
|
||||
#endif /* PPP_OPTIONS */
|
||||
|
||||
/* global vars */
|
||||
fsm lcp_fsm[NUM_PPP]; /* LCP fsm structure (global)*/
|
||||
@ -281,7 +283,9 @@ struct protent lcp_protent = {
|
||||
1,
|
||||
"LCP",
|
||||
NULL,
|
||||
#if PPP_OPTIONS
|
||||
lcp_option_list,
|
||||
#endif /* PPP_OPTIONS */
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
|
@ -184,6 +184,7 @@ struct option_list {
|
||||
|
||||
static struct option_list *extra_options = NULL;
|
||||
|
||||
#if PPP_OPTIONS
|
||||
/*
|
||||
* Valid arguments.
|
||||
*/
|
||||
@ -1625,3 +1626,4 @@ loadplugin(argv)
|
||||
return 0;
|
||||
}
|
||||
#endif /* PLUGIN */
|
||||
#endif /* PPP_OPTIONS */
|
||||
|
@ -13,7 +13,7 @@ The PolarSSL API was not changed at all, so if you are already using
|
||||
PolarSSL you can choose to skip the compilation of the included PolarSSL
|
||||
library into lwIP:
|
||||
|
||||
The following define are available for flexibility:
|
||||
The following defines are available for flexibility:
|
||||
|
||||
LWIP_INCLUDED_POLARSSL_MD4_C ; Use lwIP internal PolarSSL for MD4
|
||||
LWIP_INCLUDED_POLARSSL_MD5_C ; Use lwIP internal PolarSSL for MD5
|
||||
@ -21,7 +21,7 @@ LWIP_INCLUDED_POLARSSL_SHA1_C ; Use lwIP internal PolarSSL for SHA1
|
||||
LWIP_INCLUDED_POLARSSL_DES_C ; Use lwIP internal PolarSSL for DES
|
||||
|
||||
If set (=1), the default if required by another enabled PPP feature unless
|
||||
explicitely set to 0, using included lwIP PolarSSL.
|
||||
explicitly set to 0, using included lwIP PolarSSL.
|
||||
|
||||
If clear (=0), using external PolarSSL.
|
||||
|
||||
|
@ -343,6 +343,7 @@ int ppp_oldmain() {
|
||||
|
||||
progname = *argv;
|
||||
|
||||
#if PPP_OPTIONS
|
||||
/*
|
||||
* Parse, in order, the system options file, the user's options file,
|
||||
* and the command line arguments.
|
||||
@ -351,6 +352,8 @@ int ppp_oldmain() {
|
||||
|| !options_from_user()
|
||||
|| !parse_args(argc-1, argv+1))
|
||||
exit(EXIT_OPTION_ERROR);
|
||||
#endif /* PPP_OPTIONS */
|
||||
|
||||
devnam_fixed = 1; /* can no longer change device name */
|
||||
|
||||
/*
|
||||
@ -363,6 +366,7 @@ int ppp_oldmain() {
|
||||
if (debug)
|
||||
setlogmask(LOG_UPTO(LOG_DEBUG));
|
||||
|
||||
#if 0
|
||||
/*
|
||||
* Check that we are running as root.
|
||||
*/
|
||||
@ -376,7 +380,9 @@ int ppp_oldmain() {
|
||||
option_error("%s", no_ppp_msg);
|
||||
exit(EXIT_NO_KERNEL_SUPPORT);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if PPP_OPTIONS
|
||||
/*
|
||||
* Check that the options given are valid and consistent.
|
||||
*/
|
||||
@ -399,6 +405,7 @@ int ppp_oldmain() {
|
||||
print_options(pr_log, NULL);
|
||||
end_pr_log();
|
||||
}
|
||||
#endif /* PPP_OPTIONS */
|
||||
|
||||
if (dryrun)
|
||||
die(0);
|
||||
|
@ -415,8 +415,10 @@ struct protent {
|
||||
char *name; /* Text name of protocol */
|
||||
char *data_name; /* Text name of corresponding data protocol */
|
||||
option_t *options; /* List of command-line options */
|
||||
#if PPP_OPTIONS
|
||||
/* Check requested options, assign defaults */
|
||||
void (*check_options) __P((void));
|
||||
#endif /* PPP_OPTIONS */
|
||||
/* Configure interface for demand-dial */
|
||||
int (*demand_conf) __P((int unit));
|
||||
/* Say whether to bring up link for this pkt */
|
||||
@ -680,8 +682,12 @@ int options_from_list __P((struct wordlist *, int privileged));
|
||||
/* Parse options from a wordlist */
|
||||
int getword __P((FILE *f, char *word, int *newlinep, char *filename));
|
||||
/* Read a word from a file */
|
||||
#if PPP_OPTIONS
|
||||
void option_error __P((char *fmt, ...));
|
||||
/* Print an error message about an option */
|
||||
#else
|
||||
#define option_error(x, ...)
|
||||
#endif /* PPP_OPTIONS */
|
||||
int int_option __P((char *, int *));
|
||||
/* Simplified number_option for decimal ints */
|
||||
void add_options __P((option_t *)); /* Add extra options */
|
||||
|
@ -427,7 +427,7 @@ void tty_process_extra_options()
|
||||
fatal("Couldn't stat default device %s: %m", devnam);
|
||||
}
|
||||
|
||||
|
||||
#if PPP_OPTIONS
|
||||
/*
|
||||
* Parse the tty options file.
|
||||
* The per-tty options file should not change
|
||||
@ -437,6 +437,7 @@ void tty_process_extra_options()
|
||||
*/
|
||||
if (!options_for_tty())
|
||||
exit(EXIT_OPTION_ERROR);
|
||||
#endif /* PPP_OPTIONS */
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -58,6 +58,7 @@ static const char rcsid[] = RCSID;
|
||||
|
||||
static bool hide_password = 1;
|
||||
|
||||
#if PPP_OPTIONS
|
||||
/*
|
||||
* Command-line options.
|
||||
*/
|
||||
@ -76,6 +77,7 @@ static option_t pap_option_list[] = {
|
||||
|
||||
{ NULL }
|
||||
};
|
||||
#endif /* PPP_OPTIONS */
|
||||
|
||||
/*
|
||||
* Protocol entry points.
|
||||
@ -102,7 +104,9 @@ struct protent pap_protent = {
|
||||
1,
|
||||
"PAP",
|
||||
NULL,
|
||||
#if PPP_OPTIONS
|
||||
pap_option_list,
|
||||
#endif /* PPP_OPTIONS */
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
|
Loading…
x
Reference in New Issue
Block a user