Mark Lakata
0eb83f6ee6
PPP, IAR EWARM won't compile ppp-new due to keyword clash
...
The word "class" is reserved in IAR's EWARM compiler since it looks like c++.
This causes a failure to compile in the lcp code.
Arguably it is a bug in the compiler, but it is easy to work around with a
name change in the lcp.[ch] code. I fixed it by changing "class" to "class_".
2012-10-12 20:17:40 +02:00
Sylvain Rochet
e81f092520
PPP, changed all the code enclosed between PPP_SERVER #if macro to our PPP PCB structure, making it easier to support PPP server in the future
2012-09-27 23:53:20 +02:00
Sylvain Rochet
7fb874ad28
Merge branch 'master' into ppp-new
2012-09-27 21:32:27 +02:00
goldsimon
a4a41b9023
fixed bug #37405 'err_tcp()' uses already freed 'netconn' object
2012-09-26 21:50:42 +02:00
goldsimon
99aea7eb6f
Added brackets, completed CHANGELOG
2012-09-26 21:30:01 +02:00
Henrik Persson
b4ac36337f
Fix corner case with dhcp timeouts
...
If t1 >= t2 timeout then only t2 timer should be scheduled. This can happen
when a sub 1 minute lease is received.
2012-09-26 21:25:04 +02:00
goldsimon
7072bc3203
Added brackets, completed CHANGELOG
2012-09-26 21:21:26 +02:00
Henrik Persson
7e9f000d0b
Segfault in dhcp_parse_reply if no end marker
...
If no endmarker is present in a dhcp reply a null pointer is potentially
dereferenced.
Add fix and test case as proof of concept.
2012-09-19 22:11:56 +02:00
Sylvain Rochet
af56eebc6a
PPP, cleaned MTU,MRU variables
2012-09-01 19:44:43 +02:00
Sylvain Rochet
387c778496
PPP, added PPPoS reopen support
2012-09-01 19:29:17 +02:00
Sylvain Rochet
fbbde125d9
PPP, removed unnecessary ethif from ppp_pcb
2012-09-01 15:05:21 +02:00
Sylvain Rochet
dbaefd6126
PPP, cleaned persist and holdoff features
2012-09-01 14:43:31 +02:00
Sylvain Rochet
a1c87f7c49
PPP, improved fsm_sconfreq() allocated buffer size
2012-08-27 19:10:09 +02:00
Sylvain Rochet
045ee53468
PPP, using PBUF_POOL instead of PBUF_RAM pbufs for PPP negociation packets
...
PPP stack does not handle chained pbuf, but PPP negociation packets
are at most ~40 bytes long, so we are only checking if the payload
can fit into the allocated pbuf (p->tot_len == p->len).
2012-08-27 00:47:21 +02:00
Sylvain Rochet
b84ab718b0
PPP, ppp_input() code cleaning, removed dead code, fixed indentation
2012-08-25 20:38:54 +02:00
Sylvain Rochet
6144deb6b6
PPP, moved out PPPoS code into their own functions, improved ppp.c readability
2012-08-25 20:30:14 +02:00
Sylvain Rochet
19864a4a08
PPP L2TP, only skip HDLC header if necessary
...
RFC 2661 does not specify whether the PPP frame in the L2TP payload should
have a HDLC header or not. We handle both cases for compatibility.
2012-08-25 18:15:15 +02:00
Sylvain Rochet
7920b6e163
PPP, don't allocate twice struct eth_hdr per PPPoE pbuf
2012-08-25 16:21:58 +02:00
Sylvain Rochet
4928166593
Merge branch 'master' into ppp-new
2012-08-23 20:51:53 +02:00
Sylvain Rochet
ad5f520c68
PPP, updated pppapi_reopen() to follow ppp_reopen() prototype change
2012-08-23 20:47:14 +02:00
goldsimon
150b4fb4f6
fixed bug #37166 : memp_sanity check loops itself
2012-08-22 21:59:02 +02:00
Sylvain Rochet
076f177100
Added PPPd follow-up file, so that we can track what is happening on pppd.
...
The lwIP PPP support is based from pppd 2.4.5 (http://ppp.samba.org ) with
huge changes to match code size and memory requirements for embedded devices.
Anyway, pppd has a mature codebase for years and the average commit count
is getting low on their Git repositories, meaning that we can follow what
is happening on their side and merge what is relevant for lwIP.
So, here is the pppd follow up, so that we don't get away too far from pppd.
2012-08-22 17:40:23 +02:00
Sylvain Rochet
3b939480a4
PPP, added missing entry in pppapi.h
2012-08-22 11:41:07 +02:00
Sylvain Rochet
773a2767c7
PPP, added missing pppapi_delete() thread safe function
2012-08-21 20:26:37 +02:00
Sylvain Rochet
e9b29184d0
PPP, renamed all functions using common names in utils.c that can conflict with lwIP user code during link operation
2012-08-21 20:21:38 +02:00
Sylvain Rochet
0d02b8d1f6
added <stdlib.h> to ppp_impl.h, some PPP modules are using strtol()
2012-08-21 20:03:57 +02:00
Sylvain Rochet
98c0fcc659
Added <string.h> header to ppp_impl.h, this appears to be required, found out by Ivan Delamer.
2012-08-18 22:43:23 +02:00
Sylvain Rochet
1ddebcc862
Moved PPP headers into include/netif/ppp/, fixing bug #37040 .
2012-08-18 22:40:19 +02:00
Sylvain Rochet
1adb900561
Moved the include of lwip_md5.h or md5.h into the #if PPP_MD5_RANDM block, as suggested by Ivan Delamer
2012-08-18 12:56:59 +02:00
Sylvain Rochet
c5c1012ddd
removed some compiler warnings in pppoe_disconnect()
2012-08-17 23:42:14 +02:00
Sylvain Rochet
519f81771a
Merge remote-tracking branch 'origin/master' into ppp-new
2012-08-17 23:11:47 +02:00
Ivan Delamer
c762c06b17
Fixed typo in previous commit.
...
Change-Id: I97f85f4593509911829cfbbb6e309eecedd5465b
2012-08-17 11:24:18 -06:00
Ivan Delamer
8bab543531
Add a "NULL" output function for ipv6 by default, to avoid NULL
...
dereferencing in case of non-IPv6-enabled netifs (e.g. PPP).
Change-Id: I45f08ca89bfa0b8d61962f7052b11cc81a5e3cd1
2012-08-17 10:56:14 -06:00
goldsimon
bab8c82a35
fixed bug #36645 : Calling dhcp_release before dhcp_start dereferences NULL
2012-08-13 21:50:15 +02:00
goldsimon
b82bca7c99
fixed bug #36840 snmp_send_trap() NULL de-reference if traps configured but no interfaces available
2012-08-13 21:38:30 +02:00
goldsimon
556a2126b5
Fixed bug #36899 DNS TTL 0 is cached for a long time
2012-08-13 21:32:44 +02:00
goldsimon
a070751061
fixed bug #37052 : "netconn_alloc: undefined netconn_type" assertion skipped
2012-08-13 21:17:17 +02:00
goldsimon
847845027f
Merge branch 'master' of git.sv.gnu.org:/srv/git/lwip
2012-08-13 20:57:55 +02:00
goldsimon
c69914367d
Sanity-check the size of netif->hwaddr
2012-08-13 20:57:19 +02:00
Sylvain Rochet
48d364e269
Merge remote-tracking branch 'origin/master' into ppp-new
2012-07-24 23:17:15 +02:00
Sylvain Rochet
c58c27ed8b
removed time-based PPP phase state machine hacks from PPPoE dans PPPoL2TP
...
Our PPP phase state machine is now clean, we can safely remove time based
hacks in PPPoE dans PPPoL2TP.
2012-07-24 22:50:17 +02:00
James Smith
97b8abf16c
Fix bug #36857 : tcp_listen_dual_with_backlog() only works with ANY
...
address
Change-Id: I092a4c9978d88040214fc44a4c4b353be618d76c
2012-07-24 10:34:09 -06:00
Sylvain Rochet
59567b43b0
pcb->link_status_cb must be set, we don't need to check each time we use it if not NULL
2012-07-23 00:55:24 +02:00
Sylvain Rochet
e067e84d69
switch to phase dead if PPPoE or PPPoL2TP failed to connect
2012-07-23 00:48:27 +02:00
Sylvain Rochet
35c670513f
fixed some more PPP phase state machine issues
...
The only way PPPoE or PPPoL2TP disconnect it through ppp_link_terminated(),
therefore PPP is always already down, so we don't need to ask PPP to hup or stop.
2012-07-22 23:53:27 +02:00
Sylvain Rochet
8ec92b6fe7
don't call ppp_hup() and ppp_stop() if PPPoE or PPPoL2TP failed to connect
...
This is useless because PPP is not started yet, it confuses the PPP phase
state machine.
2012-07-22 23:37:35 +02:00
Sylvain Rochet
5552f082e8
handle cases when ppp_close() is called while session is in dead or holdoff phase
2012-07-22 21:42:56 +02:00
Sylvain Rochet
3c122117fc
improved PPP API, added ppp_reopen()
...
This is now the user choice to re-establish the session in the link status callback
by either calling the ppp_reopen() to re-establish or ppp_delete() to free the PPP
control block. Without user intervention, the PPP control block now stay in the dead
phase, allowing the user to re-establish or delete the control block later.
2012-07-22 20:53:54 +02:00
Sylvain Rochet
a467d21eba
ppp_close() PPPoL2TP support added
2012-07-22 18:05:19 +02:00
Sylvain Rochet
bc724ea206
Do not destroy the PPP control block automatically anymore, added ppp_delete() API function.
...
Without that, PPP user don't know when and how the PPP control block is free()ed, which
can lead to hard fault.
2012-07-22 17:20:40 +02:00
Sylvain Rochet
4ea5c1d973
improved persist mode, we now clear everything we can in the PPP control block structure, ensuring we start a new session from a clean state
2012-07-21 00:26:23 +02:00
Sylvain Rochet
c65883a727
UCHAR_MAX is defined in limits.h, I do not want to add any system include, replaced to 0xff
2012-07-16 20:09:49 +02:00
Sylvain Rochet
a4f6146667
removed some FIXME that are not relevant anymore
2012-07-15 15:57:54 +02:00
Sylvain Rochet
936c6c0d5c
reduced call stack by one when receiving a PPPoE disc packet
2012-07-15 15:12:40 +02:00
Sylvain Rochet
91af8878e1
saved some bytes from PPPoE control block, improved PADI retries
2012-07-15 15:07:07 +02:00
Sylvain Rochet
d2b2ae09e6
saving 14 bytes per PPPoE pbuf; not allocating struct eth_hdr two times per packet
2012-07-15 14:56:30 +02:00
Sylvain Rochet
94c35184a9
replaced PPPoL2TP printf() used to debug to PPPDEBUG a/o deletion
2012-07-14 17:47:30 +02:00
Sylvain Rochet
9e021cd1a8
improved PPP default interface management, added ppp_set_default() API call
2012-07-14 17:25:24 +02:00
Sylvain Rochet
78565026ac
L2TP output netif is now selectable, making it useful to select a default route for the L2TP tunnel, in case the default interface is set to the L2TP PPP interface
2012-07-12 01:11:08 +02:00
Sylvain Rochet
de6be743c6
added holdoff support for PPPoE and PPPoL2TP when persist mode is used
2012-07-11 23:50:33 +02:00
Sylvain Rochet
f534e80c71
added L2TPv2 (PPP over L2TP, a.k.a. UDP tunnels) support
...
Supported:
- L2TPv2 (PPP over L2TP, a.k.a. UDP tunnels)
- LAC
Not supported:
- LNS (require PPP server support)
- L2TPv3 ethernet pseudowires
- L2TPv3 VLAN pseudowire
- L2TPv3 PPP pseudowires
- L2TPv3 IP encapsulation
- L2TPv3 IP pseudowire
- L2TP tunnel switching - http://tools.ietf.org/html/draft-ietf-l2tpext-tunnel-switching-08
- Multiple tunnels per UDP socket, as well as multiple sessions per tunnel
- Hidden AVPs
2012-07-09 23:25:32 +02:00
Sylvain Rochet
0797ab6bc6
some buggy compiler get confused with duplicated labels used in enum tcp_state and fsm.h, prepending PPP's ones
2012-07-09 22:12:14 +02:00
Sylvain Rochet
b4df26a75d
some buggy compiler get confused with duplicated labels used in enum tcp_state and fsm.h, prepending PPP's ones
2012-07-09 22:04:09 +02:00
Sylvain Rochet
d92c462466
added PPP Sequential API module, based from the Network Interface Sequential API module
2012-07-07 19:50:56 +02:00
Sylvain Rochet
f31b905847
initialize PPP in the lwip_init() function
2012-07-07 17:33:34 +02:00
Sylvain Rochet
572e457e77
improved PPP API header documentation
2012-07-07 15:05:15 +02:00
Sylvain Rochet
be9b23a082
fixed LCP Echo Request/Reply feature
2012-07-07 12:16:48 +02:00
Sylvain Rochet
c9e7531251
Merge branch 'master' into ppp-new
2012-07-04 00:22:33 +02:00
Sylvain Rochet
90faecd86e
replaced u_int{8,16,32}_t to lwIP u{8,16,32}_t types
...
added padding to compiler generated bitfield, this is seen as best practice,
maybe it helps buggy compilers
2012-07-03 22:59:50 +02:00
Ivan Delamer
6c12e5bfbe
Allow setting/getting socket option IPV6_V6ONLY for stream sockets
...
only, as datagram sockets do not support dual IP versions yet.
Change-Id: I2d89bdaa06b19dc0c553c7be6ac6e9a71d3ce8a5
2012-07-03 14:39:25 -06:00
Sylvain Rochet
2e069429c2
removed bool type, replaced by u8_t
2012-07-03 22:03:51 +02:00
James Smith
e65202f825
Applied patch by James Smith to implement IPV6_V6ONLY support in
...
sockets and netconns.
Change-Id: I2ecd8e218703114890b2d678cc1ccf997a16f5e3
2012-07-03 13:16:04 -06:00
Erik Ekman
11a3057e8e
PPP: Add option to skip FCS table
...
Option PPP_FCS_TABLE is created which controls if PPPoS FCS calculation
should be done against precalculated table or by using a short algorithm.
Default value is 1, keeps old behaviour.
Setting it to 0 saves around 0.5 kB flash.
2012-06-23 15:11:49 +02:00
Sylvain Rochet
ba0c619844
clarified PPP_INPROC_OWNTHREAD documentation
2012-06-23 13:46:51 +02:00
Sylvain Rochet
a83fb30836
fixed PPPoS multithread support
2012-06-23 13:07:43 +02:00
Sylvain Rochet
dc092653f4
now displaying sent packet before PPPoS add its escaping, trailing flags, ...
2012-06-23 12:04:27 +02:00
Sylvain Rochet
25c6278000
fixed some endianess issues with PPPoS
2012-06-23 02:27:03 +02:00
Sylvain Rochet
5033e0e752
display IPV6CP packets
2012-06-23 01:44:52 +02:00
Sylvain Rochet
295eeef9b6
"ISO C forbids conversion of function pointer to object pointer type" - removed callback function pointer display in debug messages. Anyway, this is quite a meaningless information.
2012-06-22 21:48:21 +02:00
Sylvain Rochet
f63b87e28b
setting tot_len before using it, oops
2012-06-22 21:43:22 +02:00
Sylvain Rochet
1f780e86d5
PPP timeouts required depend on the number of allowed PPP sessions
...
Furthermore we need up to 6 timeouts per PPP (AUTH + PAP|CHAP|EAP + LCP + IPCP + IP6CP + PPPoE)
This can be improved with more conditions.
2012-06-22 21:29:12 +02:00
Sylvain Rochet
408a56ffaf
phase must be set to initalize each time we try to reconnect
2012-06-22 20:48:08 +02:00
Sylvain Rochet
a84f5d52ff
added ppp_pcb to ppp callback
2012-06-22 19:59:46 +02:00
Sylvain Rochet
fb6eed0087
set LL addresses before bringing the interface up for IPv6
2012-06-22 19:45:45 +02:00
Sylvain Rochet
dc242a01b4
don't build ppp_netif_output_ip6() if PPP IPV6 support is disabled
2012-06-22 19:29:55 +02:00
Sylvain Rochet
074d3dd2b1
moved ipv6cp global variables to ppp_pcb
2012-06-22 19:27:03 +02:00
Sylvain Rochet
807afbc879
improved FSM structure size
2012-06-22 18:50:09 +02:00
Sylvain Rochet
8f1eeb1025
improved ipv6cp_options struct size
2012-06-22 18:23:07 +02:00
Sylvain Rochet
dd288f70ec
fixed sent PPPoE dump packet and copy everything we need after pppoe_xmit() free'd the pbuf
2012-06-22 18:07:59 +02:00
Sylvain Rochet
6a11134a18
fixed PPPoS suppport compilation
2012-06-22 17:53:39 +02:00
Sylvain Rochet
9b60b55f03
SNMP prefers tot_len
2012-06-22 17:48:31 +02:00
Sylvain Rochet
77aa06df64
improved ppp_write_over_ethernet(), don't MEMCPY the entire packet into a new pbuf
2012-06-22 17:03:59 +02:00
Sylvain Rochet
9b7860d6ec
merged ppp_write and ppp_write_pbuf
2012-06-22 14:17:35 +02:00
Sylvain Rochet
bda73b1bc9
replaced call from ppp_write to ppp_write_pbuf
2012-06-21 23:31:23 +02:00
Sylvain Rochet
8576ee0981
randomized seed when using MD5 random support and PPPoE
2012-06-21 23:08:20 +02:00
Sylvain Rochet
8093b55e86
don't destroy and create the PPP interface each time sifup() is called (it is actually called twice with IPv4 + IPv6 enabled)
2012-06-21 22:28:52 +02:00
Sylvain Rochet
b6db4a0e2e
PPP IPv6 local link support added
2012-06-21 18:05:17 +02:00
Sylvain Rochet
cd7894dfc9
added compilation macro to eui64.[ch] and cleaned unix-dependant code
2012-06-20 13:39:08 +02:00
Sylvain Rochet
c36d73f42a
added raw IPv6 PPP files
2012-06-20 13:29:21 +02:00
Sylvain Rochet
9871c4ff06
improved IPCP control structure size
2012-06-20 00:10:08 +02:00
Sylvain Rochet
e330983408
improved lcp_options structure size
2012-06-20 00:03:08 +02:00
Sylvain Rochet
4bbf443ba2
improved CHAP structure size, however there is not much we can do
2012-06-19 23:42:41 +02:00
Sylvain Rochet
0234c62c3e
improved PAP control structure size
2012-06-19 23:37:33 +02:00
Sylvain Rochet
0bdc27186d
some more improvements to ppp_pcb
2012-06-19 23:31:20 +02:00
Sylvain Rochet
c51c55b782
LCP and IPCP variable size improved
2012-06-19 23:25:57 +02:00
Sylvain Rochet
26250f1953
removed pcb->chap_mdtype_all
2012-06-19 23:14:31 +02:00
Sylvain Rochet
7ecfe6304a
reduced MTU/MRU variables
2012-06-19 23:03:47 +02:00
Sylvain Rochet
b7be03801c
improved much more ppp_pcb entry size
2012-06-19 22:53:38 +02:00
Sylvain Rochet
b21cb8a396
removed pcb->num if PPP debug is not compiled
2012-06-19 22:08:14 +02:00
Sylvain Rochet
eadd56a376
replaced exit code (pcb->status) with ppp_ioctl()
2012-06-19 22:00:12 +02:00
Sylvain Rochet
2aa9a66c57
don't duplicate user and password anymore, anyway, the PPP user will have them already allocated as static strings or from configuration flash/file
2012-06-19 21:26:52 +02:00
Sylvain Rochet
8e9c07df39
more idle time limit macros
2012-06-19 18:02:23 +02:00
Sylvain Rochet
1d392f0e76
removed useless flags from ppp_settings
2012-06-19 17:54:29 +02:00
Sylvain Rochet
08cbc1b22b
idle time limit and connect time limit are now compile time options
2012-06-19 17:50:02 +02:00
Sylvain Rochet
f744d7a789
reduced ppp_settings types size
2012-06-19 17:42:13 +02:00
Sylvain Rochet
ff2a737094
ppp_settings.remote_name is now a compile time option
2012-06-19 17:38:02 +02:00
Sylvain Rochet
111a1cef52
moved ppp_settings.lax_recv and ppp_settings.noendpoint bool types (so char) to the ppp_settings bitfield
2012-06-19 17:07:02 +02:00
Sylvain Rochet
a44b56dc61
pcb->nak_buffer replaced with a pbuf
2012-06-19 15:36:53 +02:00
Sylvain Rochet
1b586b69bc
do not allocated pbuf of more than pcb->peer_mru instead of PPP_MRU, to save some memory
2012-06-18 15:07:48 +02:00
Sylvain Rochet
4a7f2ffc5e
pcb->outpacket_buf replaced by pbuf everywhere it was used
2012-06-18 02:21:18 +02:00
Sylvain Rochet
503162ec54
CHAP is now using pbuf instead of pcb->outpacket_buf
2012-06-18 01:18:24 +02:00
Sylvain Rochet
22fad86453
PAP is now using pbuf instead of pcb->outpacket_buf
2012-06-18 01:10:21 +02:00
Sylvain Rochet
8641b8a36e
PPP_PCB are now allocated using memp_alloc()
2012-06-17 23:48:55 +02:00
Sylvain Rochet
be2d3b5886
moved back temporarily moved structure definitions from various headers to ppp.h during unit to ppp_pcb transition
2012-06-17 02:33:47 +02:00
Sylvain Rochet
3120487243
cleanified old style C function declaration from utils.c
2012-06-17 01:47:45 +02:00
Sylvain Rochet
4404ef0281
prevent conflict with existing (md4|md5|sha1|des) object file if polarssl is already used elsewhere in the project
2012-06-17 00:55:11 +02:00
Sylvain Rochet
0c68fc409e
fixed pppoe_find_softc_by_session() when we have the same PPPoE session id on 2 ethif
2012-06-17 00:33:02 +02:00
Sylvain Rochet
ea7bf19057
fixed most "unit 0" used instead of pcb pointer
2012-06-17 00:17:22 +02:00
Sylvain Rochet
99bf9775d9
NUM_PPP is defined is opt.h, clearing from ppp_impl.h
2012-06-16 18:45:53 +02:00
Sylvain Rochet
0e2d5f9d0e
removed unused inpacket_buf in ppp_pcb
2012-06-16 14:53:13 +02:00
Sylvain Rochet
3065b9f968
no more pcb->unit, new user selectable pcb->num for debugging purpose (like netif does)
2012-06-16 04:12:10 +02:00
Sylvain Rochet
cce5fbc7b1
fixed PPPoS xmit_accm ppp_pcb variable access
2012-06-16 03:58:48 +02:00
Sylvain Rochet
82a4d4ec65
LCP global variables moved to ppp_pcb as well as input/output buffers
2012-06-16 03:53:05 +02:00
Sylvain Rochet
708147625f
FSM global variables moved to ppp_pcb
2012-06-16 03:30:36 +02:00
Sylvain Rochet
93559a54e9
IPCP global variables moved to ppp_pcb
2012-06-16 03:25:31 +02:00
Sylvain Rochet
f10ddea305
removed fsm->unit
2012-06-16 03:14:26 +02:00
Sylvain Rochet
4a8ff6d824
protent prototype switched from unit to ppp_pcb
2012-06-16 02:43:13 +02:00
Sylvain Rochet
4b7e3af77c
IPCP and LCP structures moved to ppp_pcb
2012-06-16 02:13:50 +02:00
Sylvain Rochet
19238a910c
global variables removed from chap support
2012-06-15 01:22:01 +02:00
Sylvain Rochet
2deb13df43
EAP is now using ppp_pcb as well
2012-06-15 01:06:27 +02:00
Sylvain Rochet
1ece33e79a
PAP and CHAP are now using ppp_pcb*
2012-06-15 00:24:39 +02:00
Sylvain Rochet
844f5e5af1
moved auth.c global variables to ppp_pcb
2012-06-14 00:25:45 +02:00
Sylvain Rochet
51bfac71b0
auth.c functions now use ppp_pcb* as first argument
2012-06-14 00:08:56 +02:00
Sylvain Rochet
81a0fd782f
removed unit from ppp_ioctl()
2012-06-13 00:12:55 +02:00
Sylvain Rochet
3a30e5bf78
removed ppp_input_header, replaced using 2 chained pbuf the only area we need it
2012-06-12 23:28:09 +02:00
Sylvain Rochet
a87096cdc9
fixed PPPoS support, improved ppp_input()
2012-06-12 00:59:02 +02:00
Sylvain Rochet
527d99fd39
removed all PPP unit in ppp.c except pih->unit and unit used in debugging output
2012-06-12 00:55:53 +02:00
Sylvain Rochet
6e2722a6d3
started the unit to ppp_pcb replacement
2012-06-11 01:39:03 +02:00
Sylvain Rochet
8694deaabb
don't add ppp_pcb_rx to ppp_pcb struct if PPPOS support is disabled
2012-06-10 21:06:02 +02:00
Sylvain Rochet
a226099b04
ppp_close() on PPPoE actually works,
...
clear persist mode if user asked the connection to shutdown
2012-06-10 01:45:29 +02:00
Sylvain Rochet
336ba8f419
pppoe now have access to the ppp_pcb structure, removed "persist" option copy
2012-06-10 01:08:37 +02:00
Sylvain Rochet
5abdc99f3e
no more PPP unit number in PPPoE, now using ppp_pcb
2012-06-10 01:00:50 +02:00
Sylvain Rochet
f7ef9887d7
improved ppp_set_auth() mschap support
2012-06-09 23:38:38 +02:00
Sylvain Rochet
fed76f29d0
added missing EAP_SUPPORT macro
2012-06-09 23:38:26 +02:00
Sylvain Rochet
a3cfbfc6ba
ppp_set_auth() modified to handle new handled authtype (mschap + eap)
2012-06-09 23:32:31 +02:00
Sylvain Rochet
444646b65e
renamed ppp_control to ppp_pcb, replaced unit number to ppp_pcb in all ppp.h declared functions
2012-06-09 23:06:45 +02:00
Sylvain Rochet
8bd508a73d
moved ppp_settings to ppp_control, improved PPP API to really allow multiple PPP sessions
2012-06-09 18:06:55 +02:00
Sylvain Rochet
1cceb4e0ad
moved hide_password global variable to ppp_options
2012-06-09 17:05:19 +02:00
Sylvain Rochet
c2d2034ae8
PPPoE persist is working, removing FIXME comments about that
2012-06-09 16:56:32 +02:00
Sylvain Rochet
f94ed922e5
moved exit status global variable to ppp_control
2012-06-09 16:43:12 +02:00
Sylvain Rochet
7a57d28db4
moved listen_time global variable to ppp_settings
2012-06-09 16:18:01 +02:00
Sylvain Rochet
ce5121e659
removed unused "unsuccess" global variable
2012-06-09 16:00:22 +02:00
Sylvain Rochet
a7d7158b05
removed useless error_count global variable from ppp.c
2012-06-09 15:58:51 +02:00
Sylvain Rochet
6b8c78bacc
moved remote_name and explicit_remote global variable to ppp_settings
2012-06-09 15:55:01 +02:00
Sylvain Rochet
2da930ba4c
removed some useless extern
2012-06-09 15:45:52 +02:00
Sylvain Rochet
772cac7946
removed useless error_count global variable
2012-06-09 15:42:57 +02:00
Sylvain Rochet
42f672d85d
phase global variable moved to ppp_control structure
2012-06-09 15:39:16 +02:00
Sylvain Rochet
945f2912a7
using PPP_DEBUG instead of debug global variable
2012-06-09 15:09:00 +02:00
Sylvain Rochet
1ccf516c5e
options.c is now empty, removed
2012-06-09 14:43:56 +02:00
Sylvain Rochet
fb396b8fac
moved debug option from options.c to ppp.c
2012-06-09 14:42:31 +02:00
Sylvain Rochet
6db3026d47
using our_name from ppp_settings (only used in server mode and disabled by default)
2012-06-09 14:39:44 +02:00
Sylvain Rochet
becc306300
using idle_time_limit from ppp_settings
2012-06-09 14:35:06 +02:00
Sylvain Rochet
4e7ce11684
removed holdoff support, can be handled without persist mode outside lwIP
2012-06-09 14:31:45 +02:00
Sylvain Rochet
6589cf9d8e
removed useless options
2012-06-09 14:16:59 +02:00
Sylvain Rochet
552589f098
removed multilink option when multilink support is not compiled
2012-06-09 14:14:06 +02:00
Sylvain Rochet
2ec79c03a0
unused ifunit global variable removed
2012-06-09 01:26:21 +02:00
Sylvain Rochet
21653f0f91
pr_log is unused, don't even try to build it
2012-06-09 01:20:01 +02:00
Sylvain Rochet
b922eaa754
print packet is working back, at least for PPPoE
2012-06-09 00:52:20 +02:00
Sylvain Rochet
d27da93c33
now using maxconnect from ppp_settings
2012-06-07 23:34:06 +02:00
Sylvain Rochet
2e6fa7f8a3
dns server support is done, clearing FIXME entries
2012-06-07 23:05:19 +02:00
Sylvain Rochet
302184938a
removed malloc() from ms chap
2012-06-07 23:02:08 +02:00
Sylvain Rochet
e5355cc45f
PPP server support is now optional (disabled by default, not working until PPP have a "listen" support)
2012-06-07 22:22:57 +02:00
Sylvain Rochet
2fe778507a
fixed randm if random MD5 support is not enabled
2012-06-07 22:19:25 +02:00
Sylvain Rochet
4077422ae2
fixed pbuf leaks in ppp_input() in case of packets not expected
2012-06-07 20:41:21 +02:00
Sylvain Rochet
a9ac45c5f0
added PPPoE persist support (don't timeout sending PADI packets)
2012-06-07 01:48:12 +02:00
Sylvain Rochet
7ef99ee6f3
added a persist option (enabled by default for now until we add a way for users to pass a ppp_settings structure)
...
improved PPPoE state machine and added persist mode support
2012-06-07 00:46:19 +02:00
Sylvain Rochet
e44aada634
improved PPPoE callback with state values, so that PPP know exactly what is happening on the PPPoE side
2012-06-06 23:42:20 +02:00
Sylvain Rochet
ac0a864e14
fixed typos s/parms/params/g
2012-06-06 22:36:23 +02:00
Sylvain Rochet
3c3331d5ed
fixed some debug strings
2012-06-06 22:34:16 +02:00
Sylvain Rochet
6f21f48937
added MTU support (using MRU from the peer)
2012-06-05 23:10:38 +02:00
Sylvain Rochet
2e227f868b
PPPoE is now guessing its MTU from the underlying netif MTU (in most cases 1500 minus 8 = 1492, which is the most common PPPoE MTU)
2012-06-05 22:22:35 +02:00
Sylvain Rochet
7d7513c71c
re-enabled DNS support
2012-06-04 23:19:23 +02:00
Sylvain Rochet
d95f1e9913
added missing initialisation in ppp_init.c
2012-06-04 22:48:12 +02:00
Sylvain Rochet
1013b49ab7
disabled ppp_over_ethernet_close(), which is not exported and probably bogus, until we fix it
2012-06-04 22:23:10 +02:00
Sylvain Rochet
dc0e15a74e
we should reduce nak_buffer[] size
2012-06-04 22:22:37 +02:00
Sylvain Rochet
d6e5ca722f
setting default route by default
2012-06-04 19:00:36 +02:00
Sylvain Rochet
cd3ba00479
get_mask now returns "255.255.255.255" by default, which is what we want in almost all cases on a PPP link
2012-06-04 18:58:05 +02:00
Sylvain Rochet
c549dba725
re-enabled LCP echo interval / echo fail
2012-06-04 16:25:16 +02:00
Sylvain Rochet
ca1ad99bea
PPPoE reauth bug fixed
2012-06-04 15:31:29 +02:00
Sylvain Rochet
2c7bd7e591
fixed print_string() prototype
2012-06-04 01:45:33 +02:00
Sylvain Rochet
bea45b3c30
cleared IDE warnings
2012-06-04 00:59:24 +02:00
Sylvain Rochet
093c7b4386
cleaned depreacted __P() and __V() macros, removed the legacy varargs.h header
2012-06-04 00:34:28 +02:00
Sylvain Rochet
8332a5aa53
disabled all plugins hooks
2012-06-04 00:12:45 +02:00
Sylvain Rochet
eb020656d2
disabled all plugins hooks
2012-06-04 00:12:17 +02:00
Sylvain Rochet
31456a6dfe
removed CamelCase in ppp.c and ppp_impl.h, added compat macro in ppp.h (but disabled for now)
2012-06-03 23:56:56 +02:00
Sylvain Rochet
03fda0f803
removed CamelCase for all ppp.h declared functions
2012-06-03 21:48:10 +02:00
Sylvain Rochet
c09f03f6e8
VJ support is back!
2012-06-03 20:44:47 +02:00
Sylvain Rochet
3bad9ff50a
ppp_impl.h is back!
2012-06-03 20:25:32 +02:00
Sylvain Rochet
0663421d01
re-added PPPoS code from the previous port, it builds, maybe it works
2012-06-03 20:05:40 +02:00
Sylvain Rochet
10175caa38
fixed MD5 Random enabling conditions
2012-06-03 16:59:50 +02:00
Sylvain Rochet
103ad75c50
automatically enable MD5 Random support if CHAP or EAP is enabled
2012-06-03 16:51:03 +02:00
Sylvain Rochet
2f5f86d6fc
don't build any PPP file if PPP support is disabled
2012-06-03 16:38:26 +02:00
Sylvain Rochet
89d2c2917f
more ppp.[ch] cleaning
2012-06-03 16:24:33 +02:00
Sylvain Rochet
05817aa3b9
LQR (Link Quality Report) support is now optional
2012-06-03 14:02:25 +02:00
Sylvain Rochet
5464ed6661
removed all useless header files, merged ppp_defs.h to ppp.h
...
removed session.[ch] and tty.c which are Unix-centric files and disabled
2012-06-03 13:53:45 +02:00
Sylvain Rochet
05c84a147d
added ECP_SUPPORT in opt.h (disabled by default); renamed MD5_SUPPORT to PPP_MD5_RANDM, which is more meaningful
2012-06-03 13:07:46 +02:00
Sylvain Rochet
9c35403b98
clarified a bit more ppp.[ch]
2012-06-03 01:46:46 +02:00
Sylvain Rochet
b5b075eb04
demystified a bit the PPP impl, renamed output() to ppp_output() to prevent conflict
2012-06-03 00:30:12 +02:00
Sylvain Rochet
e1261c9620
removed all system headers except the strict minimum
2012-06-02 23:29:40 +02:00
Sylvain Rochet
5531bca078
make it build with avr32-gcc
...
Disabled Unix-centric non necessary include files
Changed some include paths
Removed all printf() I put there and there for debugging.
It builds with the avr32 gcc toolchain, meaning we removed
all the pppd code requiring a unix base.
2012-06-02 23:04:03 +02:00
Sylvain Rochet
28b9dd50ff
build PolarSSL MD5 if MD5_SUPPORT is enabled (for randm)
2012-06-02 21:31:13 +02:00
Sylvain Rochet
44c2a0a7fc
fixed most PPP compilation warnings with -pedantic
2012-06-02 21:25:58 +02:00
Sylvain Rochet
d143acfc76
fixed all PPP compilation warnings with -Wall
2012-06-02 20:46:52 +02:00
Sylvain Rochet
b4d59fd52d
removed headers that were initially copied but not used (yet)
2012-06-02 19:37:40 +02:00
Sylvain Rochet
2ee2a1b730
removed sys-linux.c
2012-06-02 19:34:37 +02:00
Sylvain Rochet
86ebc8e46c
removed pppd.h and ppp.c, renamed pppmy.c to ppp.c and pppmy.h to ppp.h
2012-06-02 19:30:31 +02:00
Sylvain Rochet
29c5ee6b19
pppd.h disabled, renamed MAX() to LWIP_MAX()
2012-06-02 19:19:51 +02:00
Sylvain Rochet
323aebf1f5
cleaning unused stuff in pppd.h, syslog() is no more used
2012-06-02 18:47:53 +02:00
Sylvain Rochet
a5dd1ccfaa
ppp.c disabled, everything required for lwIP moved to our impl
2012-06-02 18:07:34 +02:00
Sylvain Rochet
4dd297cef2
protent table moved to our PPP impl
2012-06-02 17:22:12 +02:00
Sylvain Rochet
7f9fea18ae
added pppmy.h in all .c files to easily find conflicts
2012-06-02 17:12:55 +02:00
Sylvain Rochet
adb8b881b4
resolve conflit, ipcp.c defines ip_ntoa() which is already defined by lwIP, disabled ipcp.c::ip_ntoa() and using lwIP one
2012-06-02 17:04:46 +02:00
Sylvain Rochet
d3d1b69c7a
more ppp.c cleaning
2012-06-02 16:56:20 +02:00
Sylvain Rochet
922d3716ff
PPP statistics optional (non working) compile time option added
2012-06-02 16:41:09 +02:00
Sylvain Rochet
4158222e86
moved new_phase() to our own implementation, re-enabled new_phase() support
2012-06-02 15:00:18 +02:00
Sylvain Rochet
6727c43441
PPP notifier support is now a compile time option
...
However, as of now, the notify() function is empty, so it requires
some work if someone want to use it.
The notify feature allows someone to be able to follow the
state of the PPP stack (auth ok, ipcp up, initialise, ...), this
is like the callback feature set by pppOverEthernetOpen() and others,
but with more details.
2012-06-02 14:48:04 +02:00
Sylvain Rochet
55c1ec2925
re-enabled auth notifiers
2012-06-02 14:12:54 +02:00
Sylvain Rochet
0f1c18e675
PPP interval timeout support disabled (using lwIP timeout support), protocol_name() moved to our PPP impl and disabled by default
2012-06-02 13:46:45 +02:00
Sylvain Rochet
0de1293ff5
clarifying what is actually the "datainput" entry in protent
2012-06-02 13:03:43 +02:00
Sylvain Rochet
89ab390719
added necessary pppSingleBuf() call before passing the packet to the appropriate PPP subsystem
2012-06-02 02:44:18 +02:00
Sylvain Rochet
88ef3ffa50
POSIX signal support removed
2012-06-02 02:30:43 +02:00
Sylvain Rochet
668d5d9d92
removed set/getenv functions
2012-06-02 02:23:56 +02:00
Sylvain Rochet
6c908ac727
removed more protent fields only used by print packets functions
2012-06-02 02:14:19 +02:00
Sylvain Rochet
2c4bd7162f
print packet functions are now optional
2012-06-02 02:07:49 +02:00
Sylvain Rochet
cf18e0776d
removed demand prototypes if not compiled-in
2012-06-02 01:55:24 +02:00
Sylvain Rochet
8b866beaeb
demand support is now a compile-time option
...
Obviously, it requires some wiring to know if there is new activity
on a not-yet established PPP interface with the default route
already set.
I don't think any lwIP user will ever need that, all should know
when to bring the link up and down.
2012-06-02 00:53:25 +02:00
Sylvain Rochet
ee5fca7a2b
removed pathnames.h and pidfile support
2012-06-02 00:33:37 +02:00
Sylvain Rochet
fc074937f5
Linux ioctl() gone, ECP support optional, CCP support optional
...
Removed all the used Linux ioctl(), sys_linux.c is entirely disabled.
Replaced unecessary functions to set up a PPP link to null fonctions,
however all stuff necessary to shutdown a PPP link should be done.
Some utils functions related to I/O files are disabled too.
ECP and CCP support only set PPP attributes into the PPP kernel support,
they are now compile-time options and are disabled by default and
obviously not supported (yet? :p)
2012-06-02 00:19:40 +02:00
Sylvain Rochet
a17ea13453
autoselecting which PolarSSL files to use support added
2012-06-01 01:10:02 +02:00
Sylvain Rochet
8bb4ea85b8
removed some useless Linux calls
2012-06-01 01:07:27 +02:00
Sylvain Rochet
26e8372c75
changed PolarSSL compile-time condition
2012-06-01 00:59:15 +02:00
Sylvain Rochet
4704efa32a
PAP support is now an optional compile-time feature
2012-05-30 23:32:30 +02:00
Sylvain Rochet
339925e835
CHAP support is now an optional compile-time feature
2012-05-24 00:52:20 +02:00
Sylvain Rochet
28360a7f26
MSCHAP is now an optional compile-time feature
2012-05-23 23:29:19 +02:00
Sylvain Rochet
49bb62d221
and less and less useless auth code (will this end ?)
2012-05-23 00:51:59 +02:00
Sylvain Rochet
04f121b88f
less and less auth code
2012-05-23 00:04:07 +02:00
Sylvain Rochet
6ce5c8eb78
disabled upap_rauthreq()
2012-05-22 23:07:28 +02:00
Sylvain Rochet
7736cdae1c
replaced BCOPY to lwip-MEMCPY
2012-05-22 23:02:02 +02:00
Sylvain Rochet
05aa1f1ae4
using MEMCPY() instead of memcpy()
2012-05-22 22:13:41 +02:00
Sylvain Rochet
42827cdea2
more and more ppp options removal
2012-05-22 21:59:23 +02:00
Sylvain Rochet
b88dad4034
disabled almost all PPP options strings and support as well as useless file-based auth code
2012-05-22 01:28:30 +02:00
Sylvain Rochet
d0645273df
removed HMAC support from ciphers
2012-05-21 23:02:27 +02:00
Sylvain Rochet
dea27e105d
cleaned PolarSSL files
2012-05-21 22:48:41 +02:00
Sylvain Rochet
0bfad4392a
Commit to prouve we copied the raw BSD PolarSSL files
2012-05-21 22:33:37 +02:00
Sylvain Rochet
4c1b507c07
fixed MS-CHAP and MS-CHAP-V2, MD4 polarssl uses bytes as input length, not bits
2012-05-21 22:26:20 +02:00
Sylvain Rochet
0289055948
Revert "Revert "Added PolarSSL DES library, which is necessary for MSCHAP.""
...
This reverts commit a820f32ec9
.
2012-05-21 22:15:40 +02:00
Sylvain Rochet
83a48dafea
Revert "Revert "Replaced md4/md5/sha1 implementations to PolarSSL ones""
...
This reverts commit ca2fd867b8
.
2012-05-21 22:14:29 +02:00
Sylvain Rochet
a7a20a9de4
Revert "now using OpenBSD DES implementation"
...
This reverts commit a9672e1a21
.
2012-05-21 22:14:13 +02:00
Sylvain Rochet
82b67b01ff
Revert "removed salted DES ( known as crypt() function ), we don't need it"
...
This reverts commit 517659640e
.
2012-05-21 22:14:02 +02:00
Sylvain Rochet
b896203dcf
Revert "Removed all stuff requiring encryption."
...
This reverts commit c268c5e07c
.
Conflicts:
src/netif/ppp/auth.c
src/netif/ppp/ppp.c
src/netif/ppp/pppmy.c
src/netif/ppp/pppmy.h
2012-05-21 22:04:04 +02:00
Sylvain Rochet
795d5807b5
EAP support is now optional
2012-05-21 01:18:36 +02:00
Sylvain Rochet
7d43f4a1f4
removed useless system header from EAP
2012-05-21 00:03:18 +02:00
Sylvain Rochet
c268c5e07c
Removed all stuff requiring encryption.
...
OpenBSD DES require more than 70 kB of static memory.
The GNU libcrypt DES, for information, require more than 131 kB,
so this is probably the case with all non memory optimised DES.
PolarSSL only required 132 bytes of stack with some kB of .rodata
precomputed tables :-)
I personally don't need MS CHAP v1 or MS CHAP v2, and that was not
supported in the previous PPP port, so there is no regression,
I feel comfortable about removing those hard to port stuff.
If someone want to do the MS CHAP port, he first have to find or
do a small memory footprint DES implementation.
2012-05-20 23:23:14 +02:00
Sylvain Rochet
517659640e
removed salted DES ( known as crypt() function ), we don't need it
2012-05-20 22:47:12 +02:00
Sylvain Rochet
a9672e1a21
now using OpenBSD DES implementation
2012-05-20 22:32:24 +02:00
Sylvain Rochet
4570f71f21
modified auth_reset() so that we can choose which auth we want
2012-05-20 20:46:45 +02:00
Sylvain Rochet
ca2fd867b8
Revert "Replaced md4/md5/sha1 implementations to PolarSSL ones"
...
This reverts commit aa2656cb9e
.
Licence issue, we cannot include GPLed source code.
2012-05-20 20:40:27 +02:00
Sylvain Rochet
624da03bad
Revert "modified auth_reset() so that we can choose which auth we want"
...
This reverts commit bf10a27db8
.
Licence issue, we cannot include GPLed source code.
2012-05-20 20:40:08 +02:00
Sylvain Rochet
a820f32ec9
Revert "Added PolarSSL DES library, which is necessary for MSCHAP."
...
This reverts commit de70b710af
.
Licence issue, we cannot include GPLed source code.
2012-05-20 20:39:15 +02:00
Sylvain Rochet
f5dc6e80c0
Removed uneeded crypt() from auth.c and session.c
2012-05-20 20:04:05 +02:00
Sylvain Rochet
de70b710af
Added PolarSSL DES library, which is necessary for MSCHAP.
...
Added a README about our PolarSSL included files, clarifying what we did.
Removed crypt(), -lcrypt ( setkey() / encrypt() ) dependencies.
2012-05-20 19:57:37 +02:00
Sylvain Rochet
bf10a27db8
modified auth_reset() so that we can choose which auth we want
...
also fixed MS-CHAP and MS-CHAP-V2, MD4 polarssl uses bytes as input
length, not bits
2012-05-20 15:27:52 +02:00
Sylvain Rochet
aa2656cb9e
Replaced md4/md5/sha1 implementations to PolarSSL ones
...
Using cleaned PolarSSL md4/md5/sha1 implementations, without changing the API,
so that lwIP users already doing SSL or using PolarSSL don't need to compile
md4/md5/sha1 twice.
Added to that, we need a DES library for MSCHAP, and PolarSSL provided
a DES support.
And finally, PolarSSL is outstanding :-)
2012-05-20 01:44:22 +02:00
Sylvain Rochet
adf2b2bf03
don't compile wkmodulus[] if SRP is not used
2012-05-19 22:59:08 +02:00
Sylvain Rochet
6773326d96
replaced MIN to LWIP_MIN
2012-05-17 23:41:39 +02:00
Sylvain Rochet
1d7efce0dc
Removed TDB code, which we cannot port, because it needs a filesystem.
...
About multilink support.
Multilink uses Samba TDB (Trivial Database Library), which
we cannot port, for the above reason.
We have to choose between doing a memory-shared TDB-clone,
or dropping multilink support at all.
2012-05-17 23:21:09 +02:00
Sylvain Rochet
1a1deb5d58
reworked magic/randm
2012-05-17 22:42:07 +02:00
Sylvain Rochet
bcba806ef0
ported randm module from previous PPP port
2012-05-17 21:45:02 +02:00
Sylvain Rochet
00648c27eb
world changed, removed IPX support
2012-05-17 20:22:17 +02:00
Sylvain Rochet
4885b39121
removed run_program() support
2012-05-17 20:17:31 +02:00
Sylvain Rochet
0f3e70b679
removed user and passwd globals
2012-05-17 20:05:37 +02:00
Sylvain Rochet
372a0f9eea
moved refuse_mschap, refuse_mschap_v2, refuse_eap from globals to ppp_settings
2012-05-17 19:41:34 +02:00
Sylvain Rochet
2a44bad2e7
removed passwd_from_file usage, removed some of unused PAP file fetch code
2012-05-17 19:29:54 +02:00
Sylvain Rochet
33e8472473
CHAP auth is now working
2012-05-17 19:05:47 +02:00
Sylvain Rochet
8834a8b216
using UNTIMEOUT macro instead of timeout()
2012-05-17 16:36:59 +02:00
Sylvain Rochet
db794c2d32
PPPoL2TP patch from Debian, not used yet, but already fixed
2012-05-17 16:29:00 +02:00
Sylvain Rochet
a1d80c29de
fixed demand_rexmit() with new IP addr, maybe we will never support demand or drop it, but it is already patched just in case
2012-05-17 16:23:32 +02:00
Sylvain Rochet
bea796ebc0
pppd: Terminate correctly if lcp_lowerup delayed calling fsm_lowerup
2012-05-17 16:14:30 +02:00
Sylvain Rochet
d4978210f0
using rp-pppoe pppd exits with EXIT_OK after receiving a timeout waiting for PADO due to no modem attached, from Debian patches
...
http://ppp.samba.org/cgi-bin/ppp-bugs/incoming?id=2211
Using rp-pppoe pppd exits with exitcode 0, whenever there is no modem connected
and pppd get's a timeout while waiting for a PADO.
This happens because status is set to EXIT_OK in main.c at the beginning of the
procedures. Within start_link(), connect() will be called as one of the first
calls.
If that call fails (no pppoe discovery for example), jumps to "fail", which
returns without setting the status variable to failure. So at the end pppd exits
with EXIT_OK.
I moved the status = EXIT_NEGOTIATION_FAILED which will be set later within
start_link, at the top of it. That seems to work out, patch is attached:
2012-05-17 15:56:35 +02:00
Sylvain Rochet
ef59e952d8
added IPCP no/replace default route option from Debian patches, I like the idea
2012-05-17 15:55:27 +02:00
Sylvain Rochet
54d5ee5562
added LCP adaptive echo from Debian patches, I like the idea
2012-05-17 15:50:15 +02:00
Sylvain Rochet
eb75ae05c6
Early development stage of an attempt to port PPPd 2.4.5 to lwIP.
...
PPPoE works, PPPoS code is not ported at all.
I am using the RP-PPPoE server to do my tests using the following
configuration:
$ cat /etc/ppp/pppoe-server-options
debug
login
lcp-echo-interval 10
lcp-echo-failure 10
ms-dns 192.168.4.130
ms-dns 192.168.4.231
netmask 255.255.255.0
defaultroute
noipdefault
usepeerdns
$ cat /etc/ppp/allip
192.168.4.1-200
$ pppoe-server -C isp -L 192.168.4.254 -p /etc/ppp/allip -I tap0
Plus the usual auth-lines in /etc/ppp/pap-secrets and
/etc/ppp/chap-secrets .
And the unix port minimal "echo" project slightly modified to use
the "tcpip" API, so with threads, which I am going to commit with
NO_SYS as a -Dmacro.
It still use some of the linux'ism, such as syslog() and crypt(),
I do not want to drop the syslog() supports at the moment, this is
pretty useful to debug, and we may just convert the way the syslog() is
done to provide a trace feature to our PPP users, as a compile-time
option.
2012-05-16 02:02:02 +02:00
goldsimon
b56a1501d2
fixed bug #36412 : memp.c does not compile when MEMP_OVERFLOW_CHECK > zero and MEMP_SEPARATE_POOLS == 1
2012-05-11 22:56:53 +02:00
goldsimon
fe9c716fbe
Merge branch 'master' of git.sv.gnu.org:/srv/git/lwip
2012-05-11 22:37:30 +02:00
goldsimon
bc308c21fc
fixed bug: #36380 unsent_oversize mismatch in 1.4.1RC1 (this was a debug-check issue only)
2012-05-08 07:42:32 +02:00
goldsimon
3e41f36ef5
Added a readme.txt about the PPP code.
2012-05-07 22:12:01 +02:00
Ivan Delamer
289566afe8
In ip6_input(), do not accept link-local packets on netifs other than
...
inp.
Change-Id: I7f3c779e69292bc078890e0acdc37112559644ce
2012-05-04 18:25:22 -06:00
Ivan Delamer
944adc56ee
Fixed #define that was commited by mistake.
...
Change-Id: Ic44560284e932b2d7c503155085160647ac82bb8
2012-05-04 18:19:40 -06:00
Ivan Delamer
6e81f722ad
In ip6_input(), accept solicited node packets that match the receiving
...
netif addresses, when multicast is disabled.
Change-Id: I3f59258ee605a820f0a525b696b1dede0d53948f
2012-05-04 18:11:47 -06:00
Ivan Delamer
bfa28f4c30
fixes bug #36389 : Use IPv6 Src Address of Echo Response as Destination
...
Address in Echo Response
2012-05-04 17:43:54 -06:00
Ivan Delamer
3dcd33b08f
Fix bug #36391 - inet6_addr_to_ip6addr()
...
Change-Id: I2ab73901a8552e3c247d95985f6ce5d6ef7d4599
2012-05-04 17:33:06 -06:00
goldsimon
3ac81e9d7c
patch by Sylvain Rochet: fixed bug #36283 (PPP struct used on header size computation and not packed)
2012-05-03 20:39:43 +02:00
goldsimon
1704d21356
dhcp: check array bounds before accessing it (bug #36170 )
2012-05-03 20:21:50 +02:00
goldsimon
fb07a28c99
fixed bug #36388 (PPP: checksum-only in last pbuf leads to pbuf with zero length)
2012-05-03 19:45:22 +02:00
goldsimon
1dff9aea62
fixed the fix for bug #35945 (SYN packet should provide the recv MSS not the send MSS) if TCP_CALCULATE_EFF_SEND_MSS==0
2012-03-28 11:06:52 +02:00
goldsimon
e5d54f5344
fixed bug #35756 header length calculation problem in ppp/vj.c - removed unused/invalid defines TCPH_OFFSET(_SET).
2012-03-27 20:42:46 +02:00
goldsimon
a558c01589
fixed bug #35945 : SYN packet should provide the recv MSS not the send MSS
2012-03-27 20:18:23 +02:00
goldsimon
7043983acc
udp_input: fixed unreachable code warning for CHECKSUM_CHECK_UDP==0
2012-03-25 17:20:22 +02:00
goldsimon
dd245c63d7
tcp_abort/tcp_abandon: don't send RST if pcb->state is CLOSED
2012-03-25 17:19:46 +02:00
goldsimon
c622985fda
Better fix for bug #35927 (missing refragmentaion in ip_forward) when IP_FRAG is disabled.
2012-03-25 15:12:42 +02:00
goldsimon
d910786034
added posix-compatibility include files posix/netdb.h and posix/sys/socket.h which are a simple wrapper to the correct lwIP include files.
2012-03-25 15:02:58 +02:00
goldsimon
8dbf572ea5
Fixed bug #35817 : do_connect() invalidly signals op_completed for UDP/RAW with LWIP_TCPIP_CORE_LOCKING==1
2012-03-25 14:56:41 +02:00
goldsimon
f8af1a7443
fixed bug #35931 : Name space pollution in api_msg.c and netifapi.c
2012-03-25 14:41:27 +02:00
goldsimon
d95bcab053
fixed bug #35927 : missing refragmentaion in ip_forward
2012-03-22 19:35:04 +01:00
Ivan Delamer
2b4c10e705
Support single-packet queueing in ND6 (similar to ARP), when
...
!LWIP_ND6_QUEUEING.
2012-03-22 11:14:49 -06:00
Ivan Delamer
ac4c802089
Disable leftover ND6 queueing code when !LWIP_ND6_QUEUING.
2012-03-22 10:25:50 -06:00
goldsimon
c6e4b8f829
patch by Mason: fixed bug #35907 : lwip_gethostbyname_r returns an invalid h_addr_list
2012-03-20 22:06:32 +01:00
goldsimon
52d41d19d3
Merge branch 'master' of git.sv.gnu.org:/srv/git/lwip
2012-03-12 16:43:23 +01:00
goldsimon
0e7df4b193
Removed unnecessary global variable "subnetMask", which is only used in one function (GetMask)
2012-03-12 16:42:18 +01:00
goldsimon
2c9b3b35d1
patch by Bostjan Meglic: fixed bug #35809 : PPP GetMask(): Compiler warning on big endian, possible bug on little endian system
2012-03-12 16:39:52 +01:00
Ivan Delamer
773dcae2f9
Missing declarations in supporting IP_HDRINCL.
2012-03-02 09:35:42 -07:00
Ivan Delamer
22e7b674ed
Check arguments in nd6, and some other minor fixes nearby.
2012-03-02 09:27:14 -07:00
Ivan Delamer
8c95422204
Early exit when checking if ip6 reassembled packet is valid.
2012-03-02 09:18:54 -07:00
Ivan Delamer
34531a8160
Check that pbuf_header succeeds in IPv6 reassembly.
2012-03-02 09:16:33 -07:00
Ivan Delamer
5c199483cd
Support IP_HDRINCL in ip6_output() and ip6_output_hinted(),
...
previously only supported in ip6_output_if().
2012-03-02 09:06:57 -07:00
Ivan Delamer
c52189557e
Fixed error in calculating some IPv6 option header lengths.
2012-03-02 08:59:34 -07:00
Ivan Delamer
bcabe63971
Set ip_data.current_netif earlier to allow ICMPv6 packets in ip6_fwd.
...
Then set to "accepted" netif, not inp.
2012-03-02 08:53:51 -07:00
goldsimon
193ccaa3b4
IGMP stats: added missing tab (by Gisle Vanem)
2012-03-01 19:21:17 +01:00
goldsimon
c6605766e7
Fixed unused variable warnings produced with the last commit
2012-03-01 19:10:52 +01:00
goldsimon
4fca628d36
Speed up LWIP_TCPIP_CORE_LOCKING by directly calling functions in api_msg.c instead of calling via function pointer.
2012-02-28 12:45:59 +01:00
goldsimon
7f81c62bf0
fixed bug #35595 : Impossible to send broadcast without a gateway (introduced when fixing bug# 33551)
2012-02-23 10:14:27 +01:00
goldsimon
ac2175fa7d
fixed pbuf leak when PPP session is aborted through pppSigHUP() (bug #35541 : PPP Memory Leak)
2012-02-16 12:55:14 +01:00
goldsimon
5816bab6a2
fixed bug #35531 : Impossible to send multicast without a gateway (introduced when fixing bug# 33551)
2012-02-16 12:30:52 +01:00
goldsimon
d0d650aa67
Patch by Stéphane Lesage:
...
fixed bug #35536 SNMP: error too big response is malformed
2012-02-16 08:01:54 +01:00
goldsimon
6d5ec9c998
fixed bug #35537 : MEMP_NUM_* sanity checks should be disabled with MEMP_MEM_MALLOC==1
2012-02-16 07:33:38 +01:00
goldsimon
fe08467e45
Removed unused variable in ip_debug_print()
2012-02-14 21:29:14 +01:00
goldsimon
26e03b81fe
Fixed unused variable warning
2012-02-14 19:41:46 +01:00
goldsimon
f6582fd229
Correctly calculate the default value of MEMP_NUM_SYS_TIMEOUT as needed
2012-02-13 21:38:48 +01:00
goldsimon
5e87126c38
Multiple compilation fixes:
...
- use C style comments, not C++ style;
- don't use #if with undefined parameter;
2012-02-13 21:38:28 +01:00
goldsimon
c279692cfe
Fixed unused local variable warning (patch #7711 )
2012-02-13 20:41:58 +01:00