sg
aad76acb68
IPV6_REASS: fix ip6_reass_remove_oldest_datagram() when the first fragment to enqueue has more pbufs than IP_REASS_MAX_PBUFS
2015-08-26 21:20:13 +02:00
sg
5eb1c411a5
LWIP_LOOPIF_MCAST -> LWIP_LOOPIF_MULTICAST
2015-08-26 20:55:51 +02:00
sg
0d6001a196
fix comment indentation
2015-08-26 20:29:38 +02:00
Joel Cunningham
0ab21da820
Add multicast support to loopif
...
This commit adds support to send and receive multicast on the loopback
netif by enabling IGMP via NETIF_FLAG_IGMP
This commit also introduces an LwIP configuration option,
LWIP_LOOPIF_MCAST, to control the behavior and it defaults to off
2015-08-26 20:28:03 +02:00
sg
204bd29e52
fixed bug #45827 : recvfrom: TCP window is updated with MSG_PEEK
2015-08-25 22:25:51 +02:00
goldsimon
fd8b37dc14
fixed bug #45029 (Several macros use ip6_2_ip() without supplying a storage address): removed netconn_*_ip6() macros
2015-08-25 07:33:24 +02:00
sg
94550682d7
more cleanup prework to fix bug #45029
2015-08-24 22:46:34 +02:00
sg
7754f96549
Change IP6_ADDR/IP_ADDR6 to initialize a full IPv6 address (e.g. use with PP_HTONL) - renamed old IP6_ADDR() to IP6_ADDR_PART()
2015-08-24 20:30:48 +02:00
goldsimon
ee2d01ed88
fix compiler warnings when passing u16_t to pbuf_header()
2015-08-24 08:49:51 +02:00
goldsimon
e97f9fca22
netdb: fix debug output when IPv6 is enabled
2015-08-24 08:02:23 +02:00
sg
177c06b1f1
- prework for fixing bug #45029 : access IPv4 configuration of struct netif via new API (netif_ip4_addr()/netif_ip4_netmask()/netif_ip4_gw()) instead of accessing the struct member directly. This way, we can change the struct member types from ip4_addr_t to ip_addr_t;
...
- fixed some bugs in calls to ip4_addr*() where the cast to u8_t* did not reveal the wrong address type
2015-08-20 22:39:48 +02:00
goldsimon
cc348dcca2
LWIP_IGMP and LWIP_MULTICAST_TX_OPTIONS need LWIP_IPV4
2015-08-20 16:36:54 +02:00
goldsimon
8622af77c1
nd6: adapt to constness of IP6_ADDR_ANY6 for IPv6-only configuration
2015-08-20 16:35:49 +02:00
goldsimon
3b21f469ca
fix bug #45120 in a cleaner way
2015-08-20 13:05:59 +02:00
goldsimon
82033d5029
Clarify comment for MEMP_NUM_SNMP_VARBIND/MEMP_NUM_SNMP_VALUE
2015-08-20 11:43:36 +02:00
goldsimon
da5ccbf7d1
SNMP: tiny preparation for SNMP to support more versions than just v1: store request version in struct snmp_msg_pstat so that the response can be sent with the same version (v2c might already work but getbulk is missing)
2015-08-20 09:38:17 +02:00
goldsimon
a22a92b481
Fixed compiler warning when window scaling is enabled (tcp_sndbuf() should still return u16_t since that value can directly be passed to tcp_write())
2015-08-20 09:18:20 +02:00
goldsimon
5bd262f9e9
fixed passing u16_t 'snmp_varbind->value_len' to functions taking an u8_t only
2015-08-20 08:23:34 +02:00
goldsimon
2b93ef1d75
fixed bug #43790 : Sending octet string of Length >255 from SNMP agent (patch by Manoj Kumar)
2015-08-20 08:12:50 +02:00
sg
05abfc8ded
Fixed icmp.c after 1.4.0-based patch #45120
2015-08-19 22:14:37 +02:00
sg
de8e810792
fixed bug #45120 : Broadcast & multiple interfaces handling
2015-08-19 20:55:03 +02:00
goldsimon
d104335501
dns.c: fixed compiler warning
2015-08-19 13:28:03 +02:00
goldsimon
7263cc675b
fixed bug #45004 : dns response without answer might be discarded
2015-08-19 10:33:42 +02:00
Joel Cunningham
d850efdd08
IPv6 sockaddr clean ups
...
This commit address two issues with sockaddr struct implementations for
IPv6:
1) struct sockaddr_in6 should have 32-bit unsigned field sin6_scope_id
as specified in Section 3.4 of RFC 3493 (Basic Socket Interface
Extensions for IPv6)
2) struct sockaddr is not extended in IPv6 to contain space for
struct sockaddr_in6. Applications should be using struct
sockaddr_storage when needing generic storage. This removes the
extra bytes added when LWIP_IPV6 is defined
2015-08-19 10:15:47 +02:00
goldsimon
a6bd0944db
LWIP_NETCONN_SEM_PER_THREAD: ensure sys_sem_valid() is only called for non-NULL pointers (not all ports might check this)
2015-08-19 09:57:59 +02:00
goldsimon
7df2dd67bd
another fix for LWIP_MULTICAST_TX_OPTIONS: without LWIP_IGMP, udp_pcb->mcast_ttl was not initialized
2015-08-19 09:19:08 +02:00
goldsimon
5be95aa377
accidentally committed debug comment //
2015-08-19 08:36:54 +02:00
sg
c2f978bd1e
patch by Chrysn: patch #8704 fix sys_timeouts_sleeptime function
2015-08-18 21:38:08 +02:00
sg
21815a1427
dns: fixed assertion when dns server address is set to ANY (patch #8692 )
2015-08-18 21:30:46 +02:00
chrysn
877fcb35f4
fix return type of netif_add_ip6_address mismatch
...
the netif_add_ip6_address function was declared err_t in
src/include/lwip/netif.h, but defined as s8_t (the default value of
err_t) in its implementation in src/core/netif.c.
this causes "conflicting types for 'netif_add_ip6_address'" errors if
err_t is defined differently in cc.h (as for example recommended in
[1]).
as it only returns error constants, it is changed to use err_t
throughout.
[1] http://lwip.wikia.com/wiki/Porting_For_Bare_Metal
2015-08-18 20:55:30 +02:00
sg
c2f7e166a0
fixed bug #45723 netconn_delete unconditionally uses macro TCP_SLOW_INTERVAL
2015-08-18 20:32:09 +02:00
sg
e171b4e3f0
Fixed usages of SYS_SEM_NULL after using pointers everywhere
2015-08-18 20:29:16 +02:00
goldsimon
2a6f31a84e
fix that LWIP_MULTICAST_TX_OPTIONS must be used in ip4_route instead of LWIP_IGMP
2015-08-18 16:35:06 +02:00
goldsimon
bc4473b275
Fixed that netconn_thread_cleanup() did not call LWIP_NETCONN_THREAD_SEM_FREE() (!= vs ==)
2015-08-18 11:13:38 +02:00
sg
6e5ff1dbe8
Enable LWIP_HAVE_LOOPIF by default when LWIP_NETIF_LOOPBACK==1 to not make loopback traffic depend on the only netif's link state
2015-08-05 22:56:10 +02:00
sg
4edade8079
allow multicast socket options IP_MULTICAST_TTL, IP_MULTICAST_IF and IP_MULTICAST_LOOP to be used without IGMP
2015-08-05 22:52:23 +02:00
sg
9352988c44
Tried to improve pbuf_type, LWIP_SUPPORT_CUSTOM_PBUF and PBUF_FLAG_IS_CUSTOM documentation
2015-08-05 22:26:57 +02:00
sg
e5e0a21fc6
LWIP_COMPAT_SOCKETS==2: special setting to help code parsers/code completion to show argument names/types for posix socket functions
2015-08-05 21:41:50 +02:00
Edgar Bonet
fb456e00ac
Fix documentation of TCP_WRITE_FLAG_MORE.
...
The description of the flag was erroneous in src/core/tcp_out.c, and
self-contradictory in doc/rawapi.txt.
2015-08-05 21:20:34 +02:00
sg
76e785dd5e
Fix that pbuf_realloc() called mem_trim() for "custom" PBUF_RAM
2015-08-05 20:40:35 +02:00
Erik Ekman
145efb1a33
Fix edge case in pbuf_take_at()
...
Writes to offsets pointing to the start of a pbuf in the chain
did nothing and just returned ERR_OK.
Added unit tests to verify the fix, and also
that pbuf_get_at()/pbuf_put_at() handles this case.
2015-08-03 20:34:08 +02:00
goldsimon
22d2af2a29
we are moving towards 1.5.0 -> set LWIP_VERSION accordingly
2015-08-03 13:58:48 +02:00
goldsimon
13801ebd74
netif_find(): name parameter can be const
2015-08-03 13:47:25 +02:00
goldsimon
614fa7b853
... and one more change to those nasty ~ operator warnings :-(
2015-08-03 11:12:53 +02:00
goldsimon
4b815eece9
added lwip_socket_thread_init/cleanup to use LWIP_NETCONN_SEM_PER_THREAD/LWIP_NETCONN_FULLDUPLEX without including anything but sockets.h
2015-08-03 10:15:29 +02:00
goldsimon
11f350e63f
Fixed ~ warnings in a different way
2015-08-03 09:10:49 +02:00
goldsimon
4dc3c7a6a0
Fixed warnings about NULL check not required (ip_addr_isany) and implicit conversion (~)
2015-08-03 08:35:01 +02:00
goldsimon
d106053e4c
Removed accidentally committed // comment
2015-08-03 08:27:33 +02:00
goldsimon
5315751dc9
init.c: fixed window scaling range check
2015-08-03 08:24:36 +02:00
Erik Ekman
e448a9a4a9
err, debug: add missing ERR_ALREADY to lwip_strerr()
...
When ERR_ALREADY was added other error codes were renumbered.
The strerr function was not updated so it returned incorrect data
for ERR_CONN - ERR_IF.
2015-07-27 00:49:18 +02:00
Joel Cunningham
5b0d9338fd
netif, loopif: set link up on loopback interface
...
When LWIP_HAVE_LOOPIF is enabled, a separate loopback interface is added
as a netif. A netif need to have its link state set to up to be able to be
selected as a route in ip4_route or ip6_route.
The regression appears to be when bug #43904 (ip_route() and ip6_route()
must detect linkup status) was fixed.
Furthermore, there is no point of having the loopif down by default.
2015-07-27 00:22:30 +02:00
sg
409d7a99f9
Minor coding style fix
2015-07-14 22:17:49 +02:00
Joel Cunningham
f77e581468
Fix netbuf_destport() when LWIP_CHECKSUM_ON_COPY is not enabled
...
This commit fixes a bug in netbuf_destport() where LWIP_NETBUF_RECVINFO is
enabled, but not LWIP_CHECKSUM_ON_COPY is enabled
The flags field is only available when LWIP_CHECKSUM_ON_COPY is enabled. In
this mode, the toport_chksum is dual functioning as storage for port and
checksum
2015-07-14 22:17:06 +02:00
goldsimon
d3217718a9
Reverted fix for bug #38203 since it might be wrong
2015-06-23 09:20:06 +02:00
Stian Skjelstad
7e76480db4
udp: multicast, fix udp_set_multicast_ttl() parameter and structure member conflict
...
Macro-parameter name can not be the same as the structure member to
dereference.
2015-06-16 12:00:00 +02:00
tabascoeye
7856141fc4
icmp: fix checksum on replies of echo request with ID 0, sequence 0 and either no data or any amount of 0x00 Bytes as data ( closes : #45322 )
...
When a client sends an ICMP echo request with ID 0, sequence 0 and
either no data or any amount of 0x00 bytes as data, the checksum in the
reply is wrong (off-by-one).
Expected checksum is 0xffff in that case, observed is 0x0000.
2015-06-15 15:53:14 +02:00
goldsimon
232cf8c28b
Fixed bug #45098 ip_addr_t type field not populated for socket address copies (patch by James Smith)
2015-05-21 15:51:47 +02:00
goldsimon
b51805b87e
fixed bug #45135 getsockopt SO_SNDTIMEO, SO_RCVTIMEO broken
2015-05-21 15:47:21 +02:00
goldsimon
392ef77bc5
Fixed bug #45161 tcp.c / tcp_abandon / pcb->local_port set to zero but needed later for tcp_rst (introduced some months ago when fixing bug #42299 )
2015-05-21 15:45:09 +02:00
goldsimon
de83c3e9e0
fixed bugs #45140 and #45141 (dhcp was not stopped correctly after fixing bug #38204 )
2015-05-19 10:56:08 +02:00
goldsimon
050d233e10
changed dhcp state name defines to include "STATE_" to prevent confusion with message types (e.g. INFORMING vs. INFORM)
2015-05-19 10:32:14 +02:00
Sylvain Rochet
8c1f834a4a
fixed bug #39683 Assertion "seg->tcphdr not aligned" failed with MEM_ALIGNMENT 1 or 2
...
We used a static 4 instead of MEM_ALIGNMENT earlier, however it broke
things for MEM_ALIGNMENT 1 or 2, fixed using a LWIP_MIN(MEM_ALIGNMENT,
4) statement.
2015-05-11 11:21:08 +02:00
Ivan Delamer
cbeb5ab960
Remove 6LowPAN flag that will not be used.
2015-05-05 14:43:58 -06:00
Ivan Delamer
33a51a1bdc
Improved IPv6 address formatting in ip6addr_ntoa_r().
2015-05-05 14:01:38 -06:00
Ivan Delamer
73660f779b
changes to ip6addr_aton() to avoid crash with some ill-formatted
...
strings.
2015-05-05 13:26:17 -06:00
Ivan Delamer
2c79332de7
Only send RS messages if we have a LL address in some state other than
...
invalid.
2015-05-05 13:05:41 -06:00
Ivan Delamer
2aec025e16
Bug fix: properly use unspecified source address for router solicitation
...
if needed.
2015-05-05 13:00:17 -06:00
Ivan Delamer
24f486261a
Small bug fix in ipaddr_ntoa_r when IPv4 and IPv6 are enabled.
2015-05-05 11:57:23 -06:00
Edgar Bonet
f0c4944e2c
sockets: do not assume defined(FD_SET) implies defined(FD_SET_VAL).
2015-05-05 14:08:42 +02:00
Edgar Bonet
cf15872b8d
SNMP, Missing const qualifier on internet_nodes[] in mib2.c.
2015-05-05 13:02:30 +02:00
Sylvain Rochet
78e1b9b7c1
PPP, don't store the name by which the peer authenticated itself to us if multilink support is disabled
...
pcb->peer_authname is only used by multilink support (which we don't
support), don't store the useless peer authname.
2015-05-01 22:51:09 +02:00
Sylvain Rochet
967a8d0678
PPP, opt.h: fixed coding style
2015-05-01 01:01:42 +02:00
Sylvain Rochet
fa44cef27b
PPP, L2TP, added configurable L2TP MRU using opt.h
2015-05-01 00:49:19 +02:00
Sylvain Rochet
29ba3df717
PPP, re-enabled MRU defines in opt.h
2015-05-01 00:08:34 +02:00
Sylvain Rochet
aacc222b7d
PPP, display MTU set through netif_set_mtu() if debug is enabled
2015-04-30 23:41:47 +02:00
Sylvain Rochet
341f0bf9e3
PPP, assert if ppp_fatal() is called
2015-04-30 13:48:08 +02:00
Sylvain Rochet
091c6a3bda
PPP, cleanup unused/redefined/useless limits in ppp_impl.h
2015-04-30 01:07:11 +02:00
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
1b6d6d0dc0
PPP, removed unnecessary memset()
...
Everything is cleared in ppp_clear(), we don't need to clear all
structures twice.
2015-04-29 23:55:23 +02:00
Sylvain Rochet
40c671b1a5
PPP, PPPoS, also clear last_xmit when resetting PPPoS control block
2015-04-29 23:41:23 +02:00
Sylvain Rochet
0a8b1c199d
PPP, added missing cast on pbuf_header()
2015-04-26 23:42:18 +02:00
Sylvain Rochet
3a3c823ddb
PPP, MPPE, try to use pbuf_header() in mppe_compress()
...
If there is enough space in front of the buffer, use it instead of
allocating a new pbuf.
2015-04-26 23:27:31 +02:00
Sylvain Rochet
900f3c9a09
PPP, MPPE, don't issue CCP reset request in stateless mode
...
This is useless, flushed bit is always true in stateless mode, we
don't need to issue a CCP reset request in this case.
2015-04-26 22:13:11 +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
Sylvain Rochet
adaeff5540
PPP, MPPE, discard late packet in stateless mode
...
When PPP is used over a link which does not guarantee packet ordering,
we might get late MPPE packets. This is a problem because MPPE must be
kept synchronized and the current implementation does not drop them and
rekey 4095 times instead of 0, which is wrong.
In order to prevent rekeying about a whole count space times (~ 4095
times), drop packets which are not within the forward 4096/2 window and
increase sanity error counter.
2015-04-26 20:59:09 +02:00
Sylvain Rochet
d0f91c00cb
PPP, MPPE, sanity error path rework
...
We are going to need sanity error path a little further, rework to be
able to use the sanity error path anywhere in decompressor.
2015-04-26 20:57:01 +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
737a6921c3
PPP, place print packet debug codenames in ROM
2015-04-24 00:13:25 +02:00
Sylvain Rochet
44af6978db
netconn: api_msg.c, fixed warning about unused state variable by using it a little more
2015-04-23 23:31:41 +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
3f83556128
sockets: IPPROTO_RAW/IPV6_CHECKSUM must be disabled for LWIP_RAW==0;
...
help msvc to not warn about uninitialized variables
2015-04-23 09:14:42 +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
0de0942f9c
fixed pppol2tp (IP_IS_V6_L -> IP_IS_V6_VAL)
2015-04-23 07:46:06 +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
53a96f69ef
ppp_free: fixed type of local 'err'
2015-04-23 07:25:10 +02:00
goldsimon
e60bc69515
added more missing casts
2015-04-23 07:24:45 +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
b16316ae37
fixed more (tiny) warnings...
2015-04-22 14:56:58 +02:00
goldsimon
f5077dc982
fixed some more missing casts...
2015-04-22 14:18:54 +02:00
goldsimon
634c438b50
sockets.c: added missing casts after changing storage type of 'err' member in sockets
2015-04-22 13:52:21 +02:00
goldsimon
f468c492b9
fixed missing casts found with msvc /Wall
2015-04-22 13:38:10 +02:00
goldsimon
5410838793
igmp.c: fixed -Waddress, removed dead code
2015-04-22 12:50:26 +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
a81c7bf04b
fixed compiling icmp.c (variable has to be declared at the beginning of a scope)
2015-04-22 11:29:35 +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
0142f113a3
fixed compiling netdb.c after LWIP_IPV4 changes
2015-04-22 09:17:31 +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
5e43e2d333
PPP, L2TP, minor fixes
...
Check tot_len for ZLB instead of len, it might happens we are just
between 2 pbuf, although almost impossible.
Check buffer is at least 2 byte long before checking address & flags
header.
2015-04-22 00:50:08 +02:00
Sylvain Rochet
15cc47334e
PPP, don't assert if we receive a too short packet in ppp_input(), just drop
...
We might actually receive too short packets through PPPoE or PPPoL2TP,
don't assert on unusal packets, just drop them.
2015-04-22 00:31:14 +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
f0c25aaa60
PPP, MSCHAP, fixed compiler warnings if MPPE support is disabled
2015-04-19 16:28:11 +02:00
Sylvain Rochet
0f63c1ef8f
PPP, CORE, reworked ppp_netif_output* functions to process CCP on all protocols
...
Both IPv4 and IPv6 should be proccessed by CCP, reworked ppp_netif_output*
in a generic way for CCP.
2015-04-19 16:22:20 +02:00
Sylvain Rochet
b27966860e
PPP, CCP, MPPE: added packet plumbing in ppp.c to process MPPE packets
2015-04-19 15:52:46 +02:00
Sylvain Rochet
51566d43bd
PPP, normalized debug messages
2015-04-19 14:24:30 +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
sg
a5503df32b
Fixed typo in dchp_inform (state is named DHCP_INFORMING, not DHCP_INFORM)
2015-04-19 12:30:20 +02:00
Sylvain Rochet
c8db96705f
PPP, MPPE, close current session using lcp_close() if something went wrong
2015-04-19 02:27:40 +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
045f44c7f9
PPP, MSCHAP, merged mppe_set_keys() to Set_Start_Key(), merged mppe_set_keys2() to SetMasterKeys()
2015-04-19 00:26:25 +02:00
Sylvain Rochet
867d13b007
PPP, CCP, MPPE: calling mppe_init() in ccp.c instead of using ccp_test()
...
We don't need this ccp_test() stuff which is used to test if kernel have
the ability to process MPPE packets. Reworked MPPE so we don't need it.
2015-04-18 23:51:10 +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
949d76b328
PPP, MSCHAP: ensure magic tables are not copied and initialized on stack
2015-04-18 19:14:39 +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
a1fe83c070
PPP, MPPE, remove dead code
2015-04-18 00:43:24 +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
3618432107
PPP, MPPE, reworked mppe_rekey()
...
Moved sha1_context from struct ppp_mppe_state to stack, we don't need it past
mppe_rekey(). Moved shared MEMCPY() outside initial_key if block.
2015-04-18 00:02:49 +02:00
Sylvain Rochet
f1cba8a0ea
PPP, MPPE, merged get_new_key_from_sha() to mppe_rekey()
...
get_new_key_from_sha() is only used in mppe_rekey(), merged
2015-04-17 23:53:22 +02:00
Sylvain Rochet
489760d2e3
PPP, CCP, re-added missing ccp_test()
...
ccp_test() is not only used to test kernel support, but also to set MPPE keys,
we will change that further, but for now, re-add the necessary ccp_test()
2015-04-17 23:21:13 +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
Sylvain Rochet
dc93c2afec
PPP, MPPE, removed address, control and protocol from compressor input
...
Our PPP stack deals with packet without address and control byte nor 2-byte
protocol field, improved mppe_compress() so we don't have to worry about
them.
2015-04-14 22:56:46 +02:00
Sylvain Rochet
9164c4f309
PPP, MPPE, removed address, control and protocol from compressor output
...
Our PPP stack deals with packet without address and control byte nor 2-byte
protocol field, improved mppe_compress() so we don't have to worry about
them.
2015-04-14 22:56:41 +02:00
Sylvain Rochet
e241f880e8
PPP, code cleaning, fixed ppp_input() indentation
2015-04-13 23:19:43 +02:00
Sylvain Rochet
662f1355de
PPP, fixed LWIP_IPV4=1 and PPP_IPV4_SUPPORT=0 support
...
If LWIP_IPV4 is true but PPP_IPV4_SUPPORT is false, we need
a dummy ppp_netif_output_ip4() callback because we don't have
a netif_null_output_ip4() by default like we have for IPv6 with
netif_null_output_ip6().
2015-04-13 23:07:42 +02:00
Sylvain Rochet
c865211c2f
PPP, get_mask() is only used for IPCP, moved to PPP_IPV4_SUPPORT functions group
2015-04-13 22:58:45 +02:00
sg
6324068d34
Worked on IPv6-only stack: netdb should work
2015-04-13 21:29:04 +02:00
sg
e77e18f8c4
Worked on IPv6-only stack:
...
- prepared DNS;
- fixed compiling ppp.c
2015-04-13 21:24:40 +02:00
sg
69c337b31d
Fixed ntoa/aton/ntop/pton definitions after making IPv4 optional
2015-04-13 20:52:42 +02:00
Sylvain Rochet
bc99f75b53
PPP, PPPoL2TP, removed unnecessary single pbuf
...
Removed ppp_singlebuf() in pppol2tp_input(), chained pbuf are perfectly
acceptable for IP data and we are currently supporting them perfectly
for PPPoS. The PPP stack itself (LCP, IPCP et al.) does not support
chained pbuf and is already calling ppp_singlebuf() just before passing
packet to the protocol handler.
Added ppp_singlebuf() in pppol2tp_dispatch_control_packet() because we
do not support chained pbuf in L2TP control packet.
2015-04-12 22:00:43 +02:00
Sylvain Rochet
421582d747
PPP, MPPE, using err_t return for mppe_decompress
2015-04-12 21:09:15 +02:00
Sylvain Rochet
ab1606a0f6
PPP, MPPE, adapt decompressor to use pbuf
...
mppe_decompress() now takes a pointer to a pbuf pointer and re-use the
passed buffer for MPPE "decompression". Removed sub protocol handling
which can be shared among all decompressors in ppp.c
2015-04-12 21:04:22 +02:00
Sylvain Rochet
bcfaeca373
PPP, PPPoE, removed unnecessary single pbuf
...
Removed ppp_singlebuf() in pppoe_data_input(), chained pbuf are
perfectly acceptable for IP data and we are currently supporting them
perfectly for PPPoS. The PPP stack itself (LCP, IPCP et al.) does not
support chained pbuf and is already calling ppp_singlebuf() just before
passing packet to the protocol handler.
2015-04-12 20:08:01 +02:00
Sylvain Rochet
5f0e261f2d
PPP, MPPE, handle packets in decompressor without address and control nor protocol
...
Our PPP stack deals with packet without address and control byte nor 2-byte
protocol field, improved mppe_decompress() so we don't have to worry about
them.
2015-04-12 18:41:21 +02:00
Sylvain Rochet
0e1aec4348
PPP, using ip4_input() instead of ip_input()
...
In PPP, we previously know if we are dealing with a IPv4 or a IPv6 packet,
we don't need to use the ip_input() dispatch function, removing a useless
if and reducing call stack by one.
2015-04-12 13:53:53 +02:00
sg
c1c65777b6
worked on task #13480 : added LWIP_IPV4 define - IPv4 can be disabled, leaving an IPv6-only stack (SNMP is still missing)
2015-04-12 10:43:46 +02:00
Sylvain Rochet
89d666155d
PPP, MPPE, fixed mppe_rekey()
...
Oops, it was introduced when porting to PolarSSL ARC4.
2015-04-12 01:27:05 +02:00
Sylvain Rochet
4d6d65ee33
PPP, MPPE, fixed SHA1 padding
...
SHA1 padding is 40 byte, not 256 byte. Rekeying is done for each
packet in stateless mode, ensure speedness using static table for padding.
2015-04-11 23:57:47 +02:00
Sylvain Rochet
dcdb360a19
ip6_addr.c: fixed IPv6 ip6_addr_any value
...
0000:0000:0000:0000:0000:0000:0000:0000 instead of
0000:000a:0000:000b:0000:000c:0000:000d
2015-04-11 20:24:56 +02:00
Sylvain Rochet
8a73990f51
PPP, PPPoL2TP, improved pppol2tp_create() error path
2015-04-11 14:06:06 +02:00
Sylvain Rochet
efe229a54b
PPP, PPPoL2TP, merged pppol2tp_input_ip() to pppol2tp_input()
...
We don't need anymore an input function for ip4 and an input function
for ip6, work to achieve that was partially done by ce7e31cd
.
pppol2tp_input() is now only called by pppol2tp_input_ip(), finishing
dual stack support by merging pppol2tp_input_ip() into pppol2tp_input().
2015-04-11 13:56:41 +02:00
Sylvain Rochet
d6fdf7d4b1
PPP, PPPoL2TP, switched to dual stack IPv4/IPv6
...
Replaced ip4_addr_t to ip_addr_t in pppapi_pppol2tp_create() prototype,
now binding to UDPv6 or UDPv4 depending on the passed ip_addr_t type.
Removed pppol2tp_create_ip6() and pppapi_pppol2tp_create_ip6().
2015-04-11 13:15:06 +02:00
goldsimon
2e649e1843
Added IP_ADDR4()/IP_ADDR6() initializer macros that initialize ip_addr_t like their counterparts IP4_ADDR()/IP6_ADDR()
2015-04-10 08:49:32 +02:00
goldsimon
1985579148
fixed compiler warning (signed/unsigned comparison) introduced when fixing bug #44766
2015-04-10 07:46:31 +02:00
goldsimon
d31dbc6798
Fixed constant initializer problem in ip_addr_t by having ip6 first
2015-04-10 07:41:40 +02:00
Sylvain Rochet
ffd45a2261
PPP, added new build dependencies in init.c
2015-04-10 01:00:08 +02:00
Sylvain Rochet
135631d29d
fixed some obvious compiler warnings
...
lwip/src/include/lwip/autoip.h:52:1: error: C++ style comments are not allowed in ISO C90 [-Werror]
//#include "lwip/udp.h"
lwip/src/core/ipv4/autoip.c:70:1: error: C++ style comments are not allowed in ISO C90 [-Werror]
//#include "lwip/udp.h"
lwip/src/include/lwip/api.h:239:25: error: declaration of ‘lev’ shadows a previous local [-Werror=shadow]
SYS_ARCH_DECL_PROTECT(lev); \
2015-04-09 23:27:36 +02:00
sg
ce7e31cd04
task #12722 (improve IPv4/v6 address handling): renamed ip_addr_t to ip4_addr_t, renamed ipX_addr_t to ip_addr_t and added IP version;
...
ip_addr_t is used for all generic IP addresses for the API, ip(4/6)_addr_t are only used internally or when initializing netifs or when calling version-related functions
2015-04-09 22:21:15 +02:00
goldsimon
4ff1eb1890
fixed bug #44766 (LWIP_WND_SCALE: tcphdr->wnd was not scaled in two places)
2015-04-08 07:29:11 +02:00
goldsimon
7c47c917b5
dhcp: start discovery with short timeouts on network change, even if already discovering
2015-04-02 11:02:16 +02:00
Sylvain Rochet
7285459375
PPP, MPPE, exported MPPE functions
2015-03-29 12:19:33 +02:00
Sylvain Rochet
52b7ebd4e7
PPP, MPPE, fixed compiler warnings
2015-03-29 12:19:33 +02:00
Sylvain Rochet
ea6f624b58
PPP, MPPE. fixed port mistake on SHA1 computation
2015-03-29 12:19:33 +02:00
Sylvain Rochet
3cf3b78192
PPP, MPPE, commented-in Linux interface calls structure
2015-03-29 12:19:33 +02:00
Sylvain Rochet
cdc2d034de
PPP, MPPE, temporarily replaced kzalloc() with malloc()
2015-03-29 12:19:32 +02:00
Sylvain Rochet
cd8a17d644
PPP, MPPE, removed useless Linux stuff
2015-03-29 12:19:32 +02:00
Sylvain Rochet
57e3e7f150
PPP, MPPE, improved SHA1 padding
...
Don't allocate 512 bytes of RAM for padding. Reduce overall padding
size to 64, therefore using stack instead of RAM or ROM.
2015-03-29 12:19:32 +02:00
Sylvain Rochet
c759639603
PPP, MPPE, removed "compression" stats
...
We don't need "compression" stats on a encryption protocols, as commented
"Since every frame grows by MPPE_OVHD + 2 bytes, this is always going
to look bad ... and the longer the link is up the worse it will get."
2015-03-29 12:19:32 +02:00
Sylvain Rochet
a6c101aeb8
PPP, MPPE, removed now useless setup_sg() function
2015-03-29 12:19:32 +02:00
Sylvain Rochet
7ea8a754c1
PPP, MPPE, using our ARC4 instead of Linux crypto ARC4
2015-03-29 12:19:32 +02:00
Sylvain Rochet
d5667343cb
PPP, updated polarssl readme
2015-03-29 12:19:32 +02:00
Sylvain Rochet
0bfe435c4f
PPP, MPPE, updated polarssl ARC4 for lwIP
2015-03-29 12:19:32 +02:00
Sylvain Rochet
cd39843c75
PPP, MPPE, import unmodified ARC4 from polarssl
2015-03-29 12:19:32 +02:00
Sylvain Rochet
f9ae65acd8
PPP, MPPE, added build macro if MPPE is not enabled
2015-03-29 12:19:32 +02:00
Sylvain Rochet
cfd930cae7
PPP, MPPE, using our SHA1 instead of Linux crypto sha1
2015-03-29 12:19:32 +02:00
Sylvain Rochet
0b7e3610ac
PPP, MPPE, using lwIP ERR_BUF instead of Linux DECOMP_ERROR error type
2015-03-29 12:19:32 +02:00
Sylvain Rochet
10946e7669
PPP, MPPE, removed a bit more Linux stuff
2015-03-29 12:19:32 +02:00
Sylvain Rochet
2dcd8c2729
PPP, MPPE, removed include we don't have
2015-03-29 12:19:32 +02:00
Sylvain Rochet
dcde1c2a8f
PPP, CCP, added missing defines from linux/ppp-comp.h to ccp.h
2015-03-29 12:19:32 +02:00
Sylvain Rochet
0810384555
PPP, MPPE, replaced printk() to PPPDEBUG()
2015-03-29 12:19:32 +02:00
Sylvain Rochet
434fb1e0da
PPP, MPPE, fixed path to mppe.h
2015-03-29 12:19:32 +02:00
Sylvain Rochet
435a0b98ac
PPP, MPPE, cleaning license notice
...
We only need to keep the BSD license part in lwIP, cleaning the part which
is only relevant for the Linux kernel.
2015-03-29 12:19:32 +02:00
Sylvain Rochet
05eda236cc
PPP, MPPE, import unmodified Linux MPPE encoder/decoder
...
This file, which is an unmodified copy of Linux MPPE encoder/decoder, is
licensed under a dual License BSD/GPL model. It was previously in the
pppd source tree and it was removed because this is merged into the Linux
kernel.
2015-03-29 12:19:32 +02:00
goldsimon
c998faeeab
fixed bug #44649 lwip_socket_drop_registered_memberships
2015-03-27 13:18:34 +01:00
Sylvain Rochet
f967933e8b
PPP, PPPoS, protect open flag in connect() and listen()
...
Protect open flag in connect() and listen(), this is a bitfield, it might
not be set atomically on some targets.
2015-03-26 23:30:18 +01:00
Sylvain Rochet
8862a1ac8f
PPP, MPPE, ccp_options->mppe is a bitfield of MPPE_OPT_* and not a boolean, fixed
...
This is actually wrong as well in PPPd, oops.
2015-03-25 00:09:37 +01:00
Sylvain Rochet
ad56a115be
PPP, CCP, moved ccp_test() from ccp_addci() to ccp_resetci()
...
We don't need to test our available compression protocols that much, we know
what we are going to be able to use in embedded. Even PPPd don't need that.
Checking only in ccp_resetci() is enough, this way we know our cilen size
before ccp_addci() is called. PPPd is designed that *_addci() can use less
bytes than it previously asked in *_cilen(), we prefer to avoid that here.
We actually don't need at all ccp_test() calls, we know what we are
able to support at compile time, we don't need to ask the kernel like
PPPd does. This is just the first step in ccp_test() removal.
2015-03-24 23:37:56 +01:00
Sylvain Rochet
c8ed013600
PPP, FSM, added assert to easily track cilen size mismatch
...
See c49fc8d
for such a problem which ends up with heap corruption.
2015-03-24 23:10:58 +01:00
Sylvain Rochet
c49fc8db72
PPP, CCP: Fix ccp_cilen returning size if both deflate_correct and deflate_draft are enabled
...
This fixes a bug returning 4 byte less than necessary for the addci buffer
if both deflate_correct and deflate_draft are enabled.
2015-03-24 21:38:33 +01:00
sg
93fa268db1
used ip6_addr_t instead of struct ip6_addr, fix const'ness in ip6_route parameters
2015-03-24 21:30:22 +01:00
sg
521c92764d
loopif is not required for loopback traffic any more but passed through any netif (ENABLE_LOOPBACK has to be enabled) (task #13515 )
2015-03-24 21:22:19 +01:00
sg
71d121fab2
Added input & route hooks for IPv6 to stay in line with IPv4
2015-03-24 20:33:47 +01:00
sg
86970a01d7
etharp: reduce ARP aging timeout from 20 minutes to 5 minutes, since this is a time obviously used in some switches as MAC learning table timeout. Having our ARP timeout higher than this can lead to sending unicast packets to multiple network segments.
2015-03-24 20:04:18 +01:00
Sylvain Rochet
210496f0ca
PPP, IPV6, correct fix for IPV6CP_COMP disabling
2015-03-23 23:48:00 +01:00
sg
2eb0386c2a
fixed bug #36017 ARP might not support duplicate addresses on multiple netifs (tried to correctly handle duplicate AutoIP addresses on multiple netifs, but only if explicitly enabled via ETHARP_TABLE_MATCH_NETIF==1)
2015-03-23 22:04:57 +01:00
sg
440c99100b
fixed bug #34617 : Stable etharp entries that are about to expire are now refreshed using unicast to prevent unnecessary broadcast.
...
Only if no answer is received after 15 seconds, broadcast is used.
2015-03-23 21:38:19 +01:00
sg
33d5e646e5
fixed bug #41318 (Bad memory ref in tcp_input() after tcp_close())
2015-03-21 21:19:10 +01:00
sg
c00a62d37f
fixed bug #38468 (tcp_sent() not called on half-open connection for data ACKed with the same ack as FIN)
2015-03-21 20:56:42 +01:00
Sylvain Rochet
17486408b4
PPP, IPV6, fixed build if VJ support is disabled
2015-03-21 20:41:03 +01:00
Sylvain Rochet
c17594c1d0
PPP, CORE, don't build get_loop_output() if demand support (not supported) is not enabled
2015-03-21 20:12:14 +01:00
sg
4463239d6e
fixed bug #38204 (DHCP lease time not handled correctly)
2015-03-21 10:09:31 +01:00
sg
45d82c8d99
dhcp.c: removed dead code (#if 0)
2015-03-20 21:03:19 +01:00
sg
3e302e8683
fixed bug #38714 (Missing option and client address in DHCPRELEASE message)
2015-03-20 21:02:41 +01:00
sg
d6620f0f3a
fixed bug #38203 (DHCP options are not recorded in all DHCP ack messages)
2015-03-20 20:29:04 +01:00
Sylvain Rochet
f7a5b71dba
nd6: fixed compiler warnings
...
nd6.c: In function ‘nd6_send_rs’:
nd6.c:997:52: warning: suggest parentheses around ‘+’ inside ‘<<’ [-Wparentheses]
p = pbuf_alloc(PBUF_IP, sizeof(struct rs_header) + lladdr_opt_len << 3, PBUF_RAM);
^
nd6.c:998:58: warning: suggest parentheses around ‘+’ inside ‘<<’ [-Wparentheses]
if ((p == NULL) || (p->len < (sizeof(struct rs_header) + lladdr_opt_len << 3))) {
2015-03-20 20:11:59 +01:00
Ivan Delamer
a4d14fc987
fix bug #44586 : nd6_send_rs() pbuf size error
2015-03-20 09:04:22 -06:00
Sylvain Rochet
c8587e1242
tcp_in: typo fix. Fixes bug #4458944589 .
2015-03-20 13:22:47 +01:00
Sylvain Rochet
4e62a88870
PPP, PPPoL2TP, fixed build with IPv6 enabled
2015-03-20 09:48:40 +01:00
Clint Sbisa
32f6e7e231
tcp: Fix ooseq processing when seqno is near 2^32
...
An edge case in out-of-sequence TCP packet processing did not use the
appropriate macro to check if the sender overran the recieve window.
Consequently, this case sometimes evaluated to true when it shouldn't, which
resulted in various bad behavior, including trying to resize a TCP buffer to 4
gigabytes.
2015-03-20 08:32:14 +01:00
Sylvain Rochet
36e90a1bd5
PPP, CCP, add dummy ccp_ functions in ppp.c so it builds if CCP_SUPPORT is set
2015-03-20 00:37:34 +01:00
Sylvain Rochet
9fbe900949
PPP, MPPE, replaced #ifdef MPPE to #if MPPE_SUPPORT
2015-03-20 00:20:12 +01:00
Sylvain Rochet
73f1511ac2
PPP, CORE, removed auth fields from struct ppp_pcb if auth is disabled
2015-03-20 00:00:46 +01:00
Sylvain Rochet
5937932370
PPP, CCP, various fix if MPPE is enabled
2015-03-19 21:45:19 +01:00
Sylvain Rochet
794c93b540
PPP, CCP, various compiler warnings fix
2015-03-19 21:45:19 +01:00
Sylvain Rochet
b92ac33022
PPP, CCP, updated to our utils.c function name
2015-03-19 21:45:19 +01:00
Sylvain Rochet
90bbcbf994
PPP, CCP, updated ccp_printpkt() prototype to match other *_printpkt()
2015-03-19 21:45:19 +01:00
Sylvain Rochet
151995f88c
PPP, CCP, updated ANY_COMPRESS() to use ccp_options*
2015-03-19 21:45:19 +01:00
Sylvain Rochet
611b3c4c2c
PPP, CCP, commented-in unused global variables used for options
2015-03-19 21:45:19 +01:00
Sylvain Rochet
2a6104ab17
PPP, CCP, added ccp.h in ppp.h
2015-03-19 21:45:19 +01:00
Sylvain Rochet
1dcd4cc220
PPP, CCP, reworked to our ppp_pcb* pointer and ppp_pcb->ccp* data field
2015-03-19 21:45:19 +01:00