Sylvain Rochet
fd53cad208
PPP, sifnpmode() is only useful if on demand is supported, build out if not
...
We don't support PPP on demand, don't build sifnpmode() which is only
useful for on demand if on demand is not supported.
2015-04-30 00:06:24 +02:00
Sylvain Rochet
8fe2f747f4
PPP, MPPE, issue CCP reset request if synchronization is lost
...
If MPPE synchronization is lost, it is advised to send a CCP reset
request in order to recover to a clean state.
2015-04-26 22:04:21 +02:00
sg
e20a071977
added functions dhcp/autoip_supplied_address() to check for the source of address assignemnt (replacement for NETIF_FLAG_DHCP)
2015-04-24 21:23:15 +02:00
Sylvain Rochet
acbdf63a48
debug.h: fixed LWIP_PLATFORM_ERROR macro if LWIP_DEBUG and LWIP_NOASSERT are defined
2015-04-23 23:07:06 +02:00
goldsimon
e59beeb625
fixed "missing braces around initializer" for IN6ADDR_*_INIT macros
2015-04-23 10:08:30 +02:00
goldsimon
f01dc8cc34
more "const" fixes
2015-04-23 09:59:15 +02:00
goldsimon
89f0e45b50
fixed ip_addr_islinklocal macro definition
2015-04-23 09:35:20 +02:00
goldsimon
1cdafabc7c
added missing braces around macro parameters
2015-04-23 09:04:45 +02:00
goldsimon
f9965b4967
some more compiler warning fixes
2015-04-23 08:44:44 +02:00
goldsimon
00a46f104a
changed IP_IS_V6_VAL() to take an instance, not a pointer (to get the _val() functions the same)
2015-04-23 07:26:29 +02:00
goldsimon
009755ba01
fixed broken ip6_addr_debug_print_parts() (broken yesterday)
2015-04-23 07:25:48 +02:00
goldsimon
fbadb8354f
fixed const'ness of syscontact/sysname/syslocation
2015-04-22 16:06:39 +02:00
goldsimon
02dee05c16
Fixed const'ness in snmp (design of sys contact/name/location and snmpenableauthentraps is broken!)
2015-04-22 15:39:56 +02:00
goldsimon
f5077dc982
fixed some more missing casts...
2015-04-22 14:18:54 +02:00
goldsimon
91c2618f21
fixed typo in sockets.h
2015-04-22 12:50:13 +02:00
goldsimon
beabd3c6b7
Added some macros with extension "_val" that work on actual instances and leave away the "if != NULL" check to get rid of gcc "-Waddress" warnings in the core code at least (I might not have caught all of them, yet)
2015-04-22 12:43:03 +02:00
goldsimon
a6c3bb4c6d
revert accidentally committed snmp header files
2015-04-22 10:54:07 +02:00
goldsimon
902d190a11
Many const fixes throughout the stack (although these are not all, yet)
2015-04-22 10:29:43 +02:00
goldsimon
fe195a86cd
dhcp: move declaration of "extern void dhcp_set_ntp_servers()" from dhcp.c to dhcp.h to make the function prototype known to implementers
2015-04-22 09:17:06 +02:00
goldsimon
11845cedd6
Added version-independent ip_addr_islinklocal()
2015-04-22 09:16:05 +02:00
Sylvain Rochet
5989c1883e
PPP, removed useless padding in bitfields
...
Most of them were wrong actually. We have to use unsigned int because
C90 only allows int types for bitfields, so we are stuck to 32-bit
bitfields in most cases.
2015-04-21 22:43:53 +02:00
Sylvain Rochet
632de523de
Fixed PBUF_LINK_ENCAPSULATION_HLEN support
...
PBUF_LINK_ENCAPSULATION_HLEN support was introduced by 6ef7563f and
missed the fact that header size calculation/reservation using
computation like PBUF_LINK_HLEN + PBUF_IP_HLEN + ... are used all over
the source code. Hopefully fixed all of them.
2015-04-20 23:43:33 +02:00
Sylvain Rochet
2db7513590
PPP, VJ, improved opt.h comment about VJ
2015-04-20 21:14:05 +02:00
Sylvain Rochet
ced24f9215
PPP, MPPE, drop unencrypted input packet if MPPE is required
2015-04-20 21:13:34 +02:00
Sylvain Rochet
b302cad46d
PPP, VJ, CCP: rework to fix protocol order
...
We need to do VJ compression before CCP/MPPE compression and VJ
decompression after CCP/MPPE decompression. This leads to a massive
rewrite of how we currently handled VJ only in the PPPoS lower protocol
handler.
Moved VJ structures from pppos to ppp_pcb because we need them back in
PPP core. This is a bit unfortunate because that's not necessary for
PPPoE or PPPoL2TP, but, hey!. Fixed CCP+MPPE+VJ order.
2015-04-20 00:10:35 +02:00
Sylvain Rochet
33838b8c1c
PPP, MPPE, compile-out unused mppe_incomp() function
2015-04-19 22:06:59 +02:00
Sylvain Rochet
42fb74ce22
PPP, CCP, MPPE, handle CCP Reset-Request and Reset-Ack for MPPE
2015-04-19 22:01:58 +02:00
Sylvain Rochet
74670ec07f
PPP, MPPE, MPPE also requires MSCHAP support (therefore CHAP support as well)
2015-04-19 17:06:23 +02:00
Sylvain Rochet
3450a78992
PPP, change ppp_write() return type from int to err_t
...
ppp_write() callback returns err_t, makes ppp_write() consistent with
the callback it is calling.
2015-04-19 16:34:34 +02:00
Sylvain Rochet
f4ef6180b8
PPP, MPPE: allow users to enable CCP and MPPE support in opt.h
...
We are new ready to process CCP and MPPE packets, allow lwIP users to benefit
from those features.
2015-04-19 16:28:48 +02:00
Sylvain Rochet
71d085bd13
PPP, CCP, added data packet configuration in ppp_pcb
2015-04-19 14:17:34 +02:00
Sylvain Rochet
ffb10e7aac
PPP, CCP, added receive and transmit chosen protocols in ccp_flags_set() (renamed ccp_set())
...
We need to know which methods were chosen when CCP is up, this used to be done
using ccp_test() which we are in the process of removing.
Using non-existing method 0 instead of -1 in CCP for unset method, allowing
type change from s16_t to u8_t for method.
2015-04-19 13:51:35 +02:00
Sylvain Rochet
f94efab6c3
PPP, CCP, added MPPE user configuration flags
2015-04-19 02:17:43 +02:00
Sylvain Rochet
4c0af0f79e
PPP, MPPE, reworked MPPE debug, using ppp_pcb metadata
2015-04-19 01:49:04 +02:00
Sylvain Rochet
fc7e327d19
PPP, MSCHAP, CCP, MPPE: reworked key passing from CCP to MPPE
...
Removed mutiple copies of keys by pre-setting MPPE keys during MSCHAP
negotiation.
Improved MPPE init so we don't need to pass a buffer formatted in a
special way to MPPE, this is necessary for pppd to talk to the kernel,
we don't need that here.
2015-04-19 01:20:43 +02:00
Sylvain Rochet
40991b93a2
PPP, CCP, reworked ppp_pcb ccp_localstate and all_rejected fields
2015-04-18 19:47:21 +02:00
Sylvain Rochet
210a2ccfdf
PPP, MSCHAP, MPPE: shared identical mppe_sha1_pad* between MSCHAP and MPPE
2015-04-18 18:51:45 +02:00
Sylvain Rochet
3862aad2f7
PPP, MSCHAP, reworked local functions and constants
...
MSCHAP was written the old-way, with all functions declared non static in
header, independent of their local or global scope status. Same for local
constants. Reworked in a more mordern way.
2015-04-18 17:56:35 +02:00
Sylvain Rochet
2a005c2f11
PPP, MPPE, moved MPPE global variables from MSCHAP to ppp_pcb
2015-04-18 17:41:44 +02:00
Sylvain Rochet
ab46ac9bd8
PPP, CHAP, reworked to pass ppp_pcb pointer to CHAP childs (MD5, MSCHAP, MSCHAPv2)
...
We are going to need ppp_pcb* in MSCHAP and MSCHAPv2 for MPPE for
int mppe_keys_set, u_char mppe_send_key and u_char mppe_recv_key
which are currently global variable which must be moved to ppp_pcb.
2015-04-18 17:29:55 +02:00
Sylvain Rochet
c51ed84fd8
PPP, MPPE, added ppp_mppe_state comp and decomp to ppp.h
2015-04-18 16:13:44 +02:00
Sylvain Rochet
74054ea907
PPP, MPPE, struct ppp_mppe_state to typedef
...
We usually handle "typedefed" struct in lwIP, and I agree this is a cleaner
approach. Replaced struct ppp_mppe_state to ppp_mppe_state.
2015-04-18 14:54:25 +02:00
Sylvain Rochet
f79bc03360
PPP, MPPE, optimized struct ppp_mppe_state size
2015-04-18 13:41:38 +02:00
Sylvain Rochet
b553df860c
PPP, CCP, deflate, BSD compress, predictor 1 & 2 are now optional at compile time
2015-04-18 02:02:00 +02:00
Sylvain Rochet
f753a728dd
PPP, CCP, compile-out a bit more MPPE code if MPPE is disabled
2015-04-18 01:10:25 +02:00
Sylvain Rochet
3f2e8ebcdf
PPP, MPPE, merged mppe_comp_init() and mppe_decomp_init() into mppe_init()
...
Removing a bit of redundancy and previous artefact of a generic kernel
interface. Exporting mppe_init() instead of mppe_comp_init() plus
mppe_decomp_init().
2015-04-18 00:48:26 +02:00
Sylvain Rochet
879c94b01e
PPP, MPPE, removed mppe_alloc() and mppe_free()
...
We are going to use statically allocated struct ppp_mppe_state through PPP PCB,
removed now useless mppe_alloc() and mppe_free().
Merged mppe_alloc() key copy to mppe_init().
2015-04-18 00:33:57 +02:00
Sylvain Rochet
da40445d75
PPP, MPPE, changed API to use struct ppp_mppe_state* instead of void*
...
Now that struct ppp_mppe_state is exported, change MPPE API to use
struct ppp_mppe_state* instead of void*, we don't need that to be generic.
2015-04-18 00:26:15 +02:00
Sylvain Rochet
6235e1ae57
PPP, MPPE, moved struct ppp_mppe_state from mppe.c to mppe.h
...
In order to be able to use struct ppp_mppe_state statically allocated,
export struct ppp_mppe_state.
2015-04-18 00:15:52 +02:00
Sylvain Rochet
caf9fc5687
PPP, MPPE, adapt compressor to use pbuf
...
mppe_compress() now takes a pointer to a pbuf pointer and re-use the
passed buffer for MPPE "compression".
2015-04-16 22:23:57 +02:00