#
fa3826a1 |
|
31-Aug-2018 |
Sylvain Rochet <gradator@gradator.net> |
PPP: improve randomization of LCP magic number after power-up magic_init() is first time called from ppp_init(), which is called from lwip_init(). If system has no RTC, sys_jiffies() returns same value in this moment after every power-up or system reset. This value used in LCP magic number generation after ppp_connect(), which leads to same magic number after every restart. Subsequent magic_randomize() calls takes place in ppp_input(), after magic number generation. Call magic_randomize() somewhere near start of ppp_connect() (and ppp_listen()) as it might be called later at a random time. Signed-off-by: Sylvain Rochet <gradator@gradator.net>
|
#
5278202f |
|
15-Jun-2018 |
Sylvain Rochet <gradator@gradator.net> |
PPP: remove now unnecessary null PPP IP4 output handler netif_null_output_ip4 dummy handler appeared in netif core, remove our own from PPP stack. Signed-off-by: Sylvain Rochet <gradator@gradator.net>
|
#
e20e9bc3 |
|
12-Feb-2018 |
goldsimon <goldsimon@gmx.de> |
Try to fix issues reported by coverity
|
#
9d087ad2 |
|
03-Feb-2018 |
goldsimon <goldsimon@gmx.de> |
Add LWIP_ASSERT_CORE_LOCKED() to ppp (see task #14780) Signed-off-by: goldsimon <goldsimon@gmx.de>
|
#
991f7513 |
|
08-Aug-2017 |
goldsimon <goldsimon@gmx.de> |
Even more pbuf_header -> pbuf_add/remove_header replacements (also in strings)
|
#
07434aa7 |
|
08-Aug-2017 |
goldsimon <goldsimon@gmx.de> |
More pbuf_header -> pbuf_add/remove_header replacements
|
#
c094fcc0 |
|
21-Jun-2017 |
goldsimon <goldsimon@gmx.de> |
Try to make gcc work without -Wno-address
|
#
4171f39a |
|
05-May-2017 |
Sylvain Rochet <gradator@gradator.net> |
PPP: remove ppp_singlebuf We don't have to keep a helper function just for the sake of a PBUF_RAW constant. Inline ppp_singlebuf function. Signed-off-by: Sylvain Rochet <gradator@gradator.net>
|
#
3e909baf |
|
29-Apr-2017 |
Axel Lin <axel.lin@ingics.com> |
PPP: use pbuf_coalesce() instead of private ppp_singlebuf() pbuf_coalesce() creates a single pbuf out of a chain of pbufs, which is exactly what ppp_singlebuf() need. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Sylvain Rochet <gradator@gradator.net>
|
#
d9b279d1 |
|
15-Mar-2017 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Cleanup documentation a bit: rename "Addons" to "NETIFs" - its a more appropriate name
|
#
e16d10ad |
|
08-Mar-2017 |
Sylvain Rochet <gradator@gradator.net> |
PPP: remove unused and confusing return values other than ERR_OK for ppp_connect and ppp_listen User should not use ppp_connect or ppp_listen return value to retry later, it must wait for the callback to be called. This is primarily done this way to have a consistent behavior with and without the holdoff feature. Remove returned error value from PPP link level API connect and listen callbacks because we are not using them anymore, then make ppp_connect or ppp_listen to always return ERR_OK, thus we are not breaking the PPP user API. We don't need the return code here, all PPP link level drivers can't fail at all (e.g. PPPoS) or retry if necessary (PPPoE and PPPoL2TP).
|
#
2e528ad5 |
|
23-Jan-2017 |
David van Moolenbroek <david@minix3.org> |
PPP: clear address state before clearing address netif_ip6_addr_set_state() relies on being able to access the old address on invalidation, for example in order to invalidate PCBs and leave the correct solicited-node MLD group.
|
#
16877216 |
|
05-Dec-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Fix compile when IPv4 is disabled
|
#
c4eb52dc |
|
06-Nov-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP: set protocol_list[] const This array is a constant list of protocols, save some ram space by adding the const modifier it deserves.
|
#
13fb616b |
|
05-Oct-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Cleanup hton*/ntoh* function handling and platform abstraction Let lwip use functions/macros prefixed by lwip_ internally to avoid naming clashes with external #includes. Remove over-complicated #define handling in def.h Make functions easier to override in cc.h. The following is sufficient now (no more LWIP_PLATFORM_BYTESWAP): #define lwip_htons(x) <your_htons> #define lwip_htonl(x) <your_htonl>
|
#
633696c1 |
|
27-Sep-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Implement consistent IPx_ADDR_ANYx macro naming between IPv4 and IPv6 - rename IP4_ADDR_ANY to IP4_ADDR_ANY4 - IP4_ADDR_ANY (= IP_ADDR_ANY) is now IPv4 any address in ip_addr_t format
|
#
4af297fc |
|
13-Aug-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP: fix don't print valid LCP echo request/reply packets if the link is up The check for link up was missing, meaning valid LCP echo request/reply packets are filtered whatever the PPP state is, despite what the comment says. Fix it by checking the PPP state as we would like to have done when it was written.
|
#
4e1f8eff |
|
13-Aug-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP: fix ppp_write internal documentation This function returns an err_t, not a number of characters written.
|
#
282b8a2b |
|
08-Aug-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP: set disconnect state before closing link protocol in ppp_close If LCP is not started yet, we are only closing the link protocol, in this case we have to set the disconnect state ourself because PPP is not actually started yet.
|
#
09c22e13 |
|
07-Aug-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP: close link protocol if LCP is not started in ppp_close ppp_close might try to close LCP even if LCP is not started, it happens because because the PPP session might be waiting for the link protocol to come up and we do not check that. We say in the PPP documentation that ppp_close() can be called anytime, so, if link protocol is currently trying to connect, we must cancel the link connection. Fix it by calling the link protocol disconnect callback if LCP is not started yet.
|
#
d15ebc6a |
|
07-Aug-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP: don't restart LCP closing if termination is already in progress We say in the PPP documentation that ppp_close() can be called anytime, as of today, this is not entirely true, there are still conditions that are not handled properly. If PPP is already disconnecting, ppp_close() must do nothing and returns ERR_INPROGRESS instead of messing up the PPP disconnection state.
|
#
dd0779c2 |
|
07-Aug-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, move VJ_SUPPORT disabling if LWIP_TCP is not enabled to PPP options Van Jacobson TCP header compression only apply if TCP is enabled, therefore we need to disable VJ compression if TCP is disabled. We already have conditions to enforce VJ disabling if IPv4 is disabled or if PPPoS is disabled, add TCP to those conditions and remove unecessary VJ_SUPPORT && LWIP_TCP conditions.
|
#
0a7db8a9 |
|
07-Aug-2016 |
Axel Lin <axel.lin@ingics.com> |
PPP: remove double include for lwip/sys.h Including it once is enough. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Sylvain Rochet <gradator@gradator.net>
|
#
c2a5480a |
|
04-Aug-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP: remove useless ppp_link_start function This function only set PPP to initialize phase, and it is only called at the very beginning of functions where it is called. It means we could as well set the initialize phase before calling those functions in the PPP core.
|
#
01561b26 |
|
04-Aug-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP: set phase to establish before starting LCP PPP is currently in initialize phase until authentication is started or until we start IPCP negotiation. It works, because PPP states are mostly used for user information, most state are actually useless for PPP itself. Being in initialize state while PPP is started is not very consistent, switch to establish phase before starting LCP.
|
#
bae67915 |
|
04-Aug-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP: fix dead phase set too early When we are disconnecting, we should switch to PPP dead phase at the very end, because this is our final disconnection phase allowing reconnect, therefore we should switch to dead phase after the link protocol finished disconnecting. We are currently switching to dead phase when LCP detected that the link is down, this is obviously wrong. Fix this flaw by continuing in disconnect phase until ppp_link_end is called from link protocol.
|
#
7b770dd9 |
|
26-Jul-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Document 6LoWPAN and SLIP netif
|
#
e7069d6e |
|
02-Jul-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP: introduce ppp_set_passive and ppp_set_silent There is two passive modes for PPPoS, passive more, for which we will try to connect and then listen silently, and silent mode, for which we will listen silently from the beginning. Introduce ppp_set_passive and ppp_set_silent so the mode can be chosen before connecting/listening.
|
#
f21aede0 |
|
02-Jul-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP: don't build ppp_set_auth if no authenticator are enabled For our few users which might disable all authenticators to save some flash, ensure that everything using authentication is build out.
|
#
b9b36084 |
|
02-Jul-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP: introduce ppp_set_mppe Helper function to setup MPPE (Microsoft Point to Point Encryption) for a PPP link. Allows enabling/disabled MPPE itself, enabling/disabling stateless support, and whether we are willing to negotiate 40-bit and/or 128-bit encryptions.
|
#
9a707153 |
|
26-Jun-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, SERVER: move silent mode set from pppos_listen to ppp_listen This flag would be required for any low level protocol used. Move it from pppos_listen to ppp_listen.
|
#
9015c284 |
|
26-Jun-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, DNS: introduce ppp_set_usepeerdns macro PPP use peer DNS setting is currently hardcoded to true if PPP is acting as a client and set to false if PPP is actinf as a server. This is probably the most wanted behavior, but since we now have the ability to change that at runtime, allow users to do it. We don't have a way to have a different default configuration if the PPP PCB is going to be used as a client or as a server, therefore the default configuration should be fine for both of them. Since enabling peer DNS by default is dangerous for server mode, the default is now not to ask for DNS servers and it should now be explicitely enabled if needed, update the documentation accordingly.
|
#
3d684cda |
|
26-Jun-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoS, SERVER: remove useless struct ppp_addrs* argument from pppos_listen Now that we have helpers to set those members externaly, pppos_listen struct ppp_addrs* argument does not add any value. In addition it was not a well chosen design choice because the user needed to keep a copy of struct ppp_addrs when listening again for a new connection.
|
#
2040f4f0 |
|
19-Jun-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, trivial debug messages fixes/add This change only add one debug message to ppp_link_start function and fix the message debug string of ppp_link_failed and ppp_link_end.
|
#
7b4bd334 |
|
19-Jun-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, rename ppp_clear function to ppp_link_start This function does not clear anything anymore. What it is now is an optional way to notify PPP that link layer is started, changing the PPP state from "dead" to "initialize". Rename it accordingly to what the function really is.
|
#
1d108b40 |
|
19-Jun-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, move various connect cleanup from ppp_clear to ppp_start What we really need here is to cleanup the PPP environment before starting LCP, we don't care about the PPP state before LCP is started. Move cleanups from ppp_clear to ppp_start to clean them just before we need them cleaned.
|
#
42d50eba |
|
19-Jun-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, move protocols initialization from ppp_clear to ppp_new What protocols init functions are meant to is to be called once to set the default configuration before user specific configuration is set. Until now, we reset to the default configuration just before reconnecting, thus without allowing any time frame to let users change it. That was fine until one user asked to be able to do that. This change move protocols init functions calls from ppp_clear to ppp_new, meaning user configuration is not overwritten anymore.
|
#
7df5496e |
|
19-Jun-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, rework initial/reconnect cleanup Our previous way of doing it was to clear everything except a small part of the ppp_pcb structure and then populate the structure with default values using protocols init functions. But it means the user is currently not allowed to change the default configuration except the few flags and values that are currently available in the ppp_settings structure. Instead of adding more and more fields to the ppp_settings structure, actually making them duplicate of already existing structure members of ppp_pcb, but unfortunately cleaned, we carefully checked that everything is properly cleaned during protocol lowerdown/close and replaced our giant memset to selective memset of the few ppp_pcb members that are not properly cleaned.
|
#
25652254 |
|
13-Jun-2016 |
Erik Ekman <erik.ekman@verisure.com> |
Update PPP after DNS api change
|
#
b9389c6e |
|
10-May-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP: remove sio.h from included files PPP is not using the SIO API anymore for quite a while. Remove now useless sio.h from included files.
|
#
73b8026c |
|
06-May-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, code cleaning lwIP indentation is 2 characters, fix ppp_init indentation.
|
#
fc2701ae |
|
06-May-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, ppp_init function is back, re-add magic_init Work on PPP MEMPOOL re-added the previously removed ppp_init function because we considered it useless. Re-add magic_init which was previously in ppp_init and removed in commit 15fbfb7363, it does not hurt doing so and might fill the gap if we failed understanding the crypto implication about removing it.
|
#
2b5250dd |
|
25-Apr-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Fix bug #47507: PPP API does not support LWIP_MPU_COMPATIBLE I'd be glad if someone would test it :-) Sylvain, if you don't like this patch feel free to revert it
|
#
ffa340a6 |
|
25-Apr-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
task #13907: PPP cleanups: Move PPP mempools out of lwIP core to PPP code
|
#
15fbfb73 |
|
21-Apr-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, remove useless ppp_init function Simon says: ppp_init() does not seem to be used. The only thing it does is calling magic_init(), which is not required because it its called again later from ppp_input(). Also, the time from startup is rather constant, so calling sys_jiffies() from ppp_init() does not create a random number.
|
#
76d25bef |
|
21-Apr-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Work on task #13907 PPP cleanups: Move PPP options from opt.h to dedicated ppp_opts.h file
|
#
f104d685 |
|
19-Feb-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
PPP: Init SNMP members of PPP netifs
|
#
4beacc4c |
|
24-Jan-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, VJ, fixed TCP retransmission We used to modify in place the packet payload during compression but TCP stack requires that we don't change the packet payload, therefore we now copy the whole packet before compression. Signed-off-by: Sylvain Rochet <gradator@gradator.net>
|
#
e31902dc |
|
24-Jan-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, prepare for chained compressors (e.g. VJ+MPPE) requiring packet copy lwIP TCP stack requires that we don't change the packet payload in netif output functions in order to resend the pbuf if we don't receive a TCP ACK in time, therefore we copy the whole packet before compression or encryption. It gets tricky because we should keep track of whether we previously copied the buffer in PPP output netif function in order to free the previous pbuf if necessary, BUT the first pbuf passed to the netif output function must not be freed. The worst case is VJ compression followed by MPPE encryption, in this case we should free the packet allocated by VJ compressor after MPPE encryption and we should free the packet allocated by MPPE encrypter after calling the PPP low level output function. Signed-off-by: Sylvain Rochet <gradator@gradator.net>
|
#
53853a25 |
|
23-Jan-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, report full packet size in VJ debug output Signed-off-by: Sylvain Rochet <gradator@gradator.net>
|
#
31732631 |
|
20-Jan-2016 |
Stephan Linz <linz@li-pro.net> |
PPP: CCP: add error debug messages for dropped packets due to missing transmit or receive CCP method It might be difficult to investigate the reason of dropped packets when there is no debug notification of what is happening, thus, add error debug messages for dropped packets due to missing transmit or receive CCP method. Signed-off-by: Stephan Linz <linz@li-pro.net> [gradator@gradator.net: improved messages] Signed-off-by: Sylvain Rochet <gradator@gradator.net>
|
#
6185bf6f |
|
19-Jan-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP: CCP: don't drop output packets if CCP negotiated that we don't compress on our side CCP might negotiate to not compress if peers cannot agree on a compressor, therefore if the null compressor is chosen we must pass packets as is instead of dropping them. Reported-by: Stephan Linz <linz@li-pro.net> Fixes: 987f6237c4 "PPP, MPPE, drop input/output packets if we couldn't find the chosen decompressor/compressor" Signed-off-by: Sylvain Rochet <gradator@gradator.net>
|
#
9f3270af |
|
18-Jan-2016 |
Stephan Linz <linz@li-pro.net> |
PPP: fix typo in debug message Signed-off-by: Stephan Linz <linz@li-pro.net>
|
#
98b9d31f |
|
16-Nov-2015 |
goldsimon <goldsimon@gmx.de> |
Fixed compiling with LWIP_TCP==0
|
#
62037370 |
|
12-Nov-2015 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Rename snmp_mib2.h to snmp.h so source compatibility for user netif implementations is preserved
|
#
f62022cd |
|
17-Sep-2015 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Compiler warning fixes (mostly constness in dual-stack configurations)
|
#
c15b3578 |
|
13-Sep-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, merged ppp_link_set_callbacks() into ppp_new()
|
#
5b07569e |
|
13-Sep-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, remove now unused ioctl callback from link_callbacks structure
|
#
8a0fb03e |
|
08-Sep-2015 |
goldsimon <goldsimon@gmx.de> |
Separate mib2 counter/table callbacks from snmp agent. This both cleans up the code and should allow integration of a 3rd party agent/mib2.
|
#
0f3fbb26 |
|
31-Aug-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, magic, call magic_randomize() for all packets magic_randomize() wasn't actually called for IP4/IP6 packets, fixed
|
#
91e40e66 |
|
30-Aug-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, minor coding style fix
|
#
987f6237 |
|
30-Aug-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, MPPE, drop input/output packets if we couldn't find the chosen decompressor/compressor Drop input/output packets if we couldn't find a decompressor/compressor, it can't really happen because we only negotiate what we are able to compress/decompress, but for the sake of code consistency it makes much more sense to do so.
|
#
b79c3aad |
|
27-Aug-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, MPPE, improve dropping of unencrypted received packet Improve dropping of unencrypted received packet by taking into account all other data protocols (such as VJ packets) in a generic way.
|
#
46985bf7 |
|
27-Aug-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, explain better why we don't need protp->datainput callback
|
#
94550682 |
|
24-Aug-2015 |
sg <goldsimon@gmx.de> |
more cleanup prework to fix bug #45029
|
#
aacc222b |
|
30-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, display MTU set through netif_set_mtu() if debug is enabled
|
#
fd53cad2 |
|
29-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
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.
|
#
0a8b1c19 |
|
26-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, added missing cast on pbuf_header()
|
#
53a96f69 |
|
22-Apr-2015 |
goldsimon <goldsimon@gmx.de> |
ppp_free: fixed type of local 'err'
|
#
15cc4733 |
|
21-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
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.
|
#
ced24f92 |
|
20-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, MPPE, drop unencrypted input packet if MPPE is required
|
#
b302cad4 |
|
19-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
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.
|
#
42fb74ce |
|
19-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CCP, MPPE, handle CCP Reset-Request and Reset-Ack for MPPE
|
#
3450a789 |
|
19-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
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.
|
#
0f63c1ef |
|
19-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
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.
|
#
b2796686 |
|
19-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CCP, MPPE: added packet plumbing in ppp.c to process MPPE packets
|
#
51566d43 |
|
19-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, normalized debug messages
|
#
71d085bd |
|
19-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CCP, added data packet configuration in ppp_pcb
|
#
ffb10e7a |
|
19-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
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.
|
#
e241f880 |
|
13-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, code cleaning, fixed ppp_input() indentation
|
#
662f1355 |
|
13-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
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().
|
#
c865211c |
|
13-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, get_mask() is only used for IPCP, moved to PPP_IPV4_SUPPORT functions group
|
#
e77e18f8 |
|
13-Apr-2015 |
sg <goldsimon@gmx.de> |
Worked on IPv6-only stack: - prepared DNS; - fixed compiling ppp.c
|
#
0e1aec43 |
|
12-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
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.
|
#
ce7e31cd |
|
09-Apr-2015 |
sg <goldsimon@gmx.de> |
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
|
#
c17594c1 |
|
21-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, don't build get_loop_output() if demand support (not supported) is not enabled
|
#
36e90a1b |
|
19-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CCP, add dummy ccp_ functions in ppp.c so it builds if CCP_SUPPORT is set
|
#
9fbe9009 |
|
19-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, MPPE, replaced #ifdef MPPE to #if MPPE_SUPPORT
|
#
59379323 |
|
18-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CCP, various fix if MPPE is enabled
|
#
59d8e760 |
|
14-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, code cleaning, u_char to u8_t Replaced u_char to u8_t in our PPP files.
|
#
02598d1e |
|
10-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoS, moved pcomp and accomp only used by PPPoS to PPPoS
|
#
70b60bbe |
|
09-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, display correct pbuf size in ppp_input() debug messages
|
#
99bcce78 |
|
08-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, IPCP, removed proxy ARP support
|
#
7fce9346 |
|
07-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, improved IPv6 address setting Set IPv6 link local invalid before clearing it. Don't wait sif6up() to set the link local valid, netif_ip6_addr_set_state() is only an accessor function so it does not start any discovery whatsoever.
|
#
b3c7e948 |
|
07-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, removed now useless struct ppp_addrs from ppp_pcb Saved a few bytes of useless copy.
|
#
c966a538 |
|
07-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, improved IPv6 address setting Now setting IPv6 addresses in sif6addr() instead of sif6up(), removed the useless copy of addresses.
|
#
3027a7d7 |
|
07-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, using DNS API for DNS servers Now setting DNS addresses in sdns() using dns_setserver() instead of keeping a local copy. This is probably the wanted PPP behavior, we will see if users want this conditional.
|
#
dd221769 |
|
07-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, improved IPv4 address setting Now setting IPv4 addresses in sifaddr() instead of sifup(), removed the useless copy of addresses.
|
#
b3218d45 |
|
07-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, make DNS a little more optional if LWIP_DNS is unset
|
#
3ca51849 |
|
07-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, separated administrative status from link status of PPP netif This was confusing, recent lwIP changes fixed the meaning as well as how it is used everywhere, making the administrative status a user-only controlled flag. Now that it's clear, updated PPP to follow lwIP core change. Using netif_set_link_{up,down} instead of netif_set_{up,down} when PPP reaches/leaves running state. PPP interface is now set to administratively UP when created with link state down.
|
#
89434f6a |
|
05-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, call netif_set_up() after if4_up and if6_up flags are set, to prevent dropping packets lwIP core might send packet when calling netif_set_up(), don't drop packets anymore in ppp_netif_output_ip4() and ppp_netif_output_ip6() because flags are cleared.
|
#
2731976a |
|
01-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, renamed ppp_open to ppp_connect Makes it clear we are initiating the PPP session with ppp_connect (i.e. acting as a PPP client) so there is no confusion possible between ppp_connect and ppp_listen.
|
#
371bc91d |
|
28-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, SERVER: added PPPoS server support New function: ppp_listen(), listen for an incoming PPP connection.
|
#
5ae7ee52 |
|
28-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, SERVER: added CHAP authentication support
|
#
587e0e3e |
|
27-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, beautified ppp_set_auth() Beautified, added PPPAUTHTYPE_MSCHAP_V2 choice support.
|
#
4bcddd72 |
|
24-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, cleaned ppp_close() function Calling new_phase() instead of assigning pcb->phase directly. Removed redundant call to link status callback.
|
#
00bb70a6 |
|
24-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, functions ppp_set_netif_statuscallback() and ppp_set_netif_linkcallback() replaced with defines PPP is now pointerful for a while, we don't need anymore accessor functions for the unique PPP local and static control block. Replaced ppp_set_netif_statuscallback() and ppp_set_netif_linkcallback() functions to defines. Removed pppapi_do_ppp_set_netif_statuscallback() and pppapi_do_ppp_set_netif_linkcallback(), they were useless because netif_set_status_callback() and netif_set_link_callback() can be safely called while PPP status is in dead (= non open) state and even before the PPP session is actually created at all.
|
#
ec5cf859 |
|
22-Feb-2015 |
sg <goldsimon@gmx.de> |
Continued chrysn's work: changed nearly all functions taking 'ip(X)_addr_t' pointer to take const pointers (changed user callbacks: raw_recv_fn, udp_recv_fn; changed port callbacks: netif_output_fn, netif_igmp_mac_filter_fn)
|
#
653657ae |
|
22-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, code cleaning
|
#
b0b72400 |
|
22-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoS, moved advise about modem from pppos_create() to ppp_open() pppos_create() can be called whether the modem is ready to process the PPP session since pppos_create() does not start the PPP session anymore, moved the advise from pppos_create() to ppp_open().
|
#
4be7fcca |
|
22-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, ppp_close() and ppp_sighup() ended up sharing almost everything, merged Merged ppp_sighup() to ppp_close() using an optional argument "nocarrier" on ppp_close().
|
#
b040ace4 |
|
22-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, carrier lost signal, fixed FSM mismatch ppp_sighup() hard change the PPP FSM phase, it ends up with a FSM mismatch if PPP is currently connecting or disconnecting. Only do "sighup" on the stable running phase, fallback to the close method. Handle special DEAD and HOLDOFF states as well.
|
#
ab572ce5 |
|
22-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, fixed PPP phase state machine when ppp_close() is called during HOLDOFF phase Aborting HOLDOFF leaves us at PPP_PHASE_DEAD, fixed.
|
#
a1c5415f |
|
21-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, disable VJ is PPP IPV4 is compiled out VJ compression is only supported for PPP IPv4, compile out VJ support if PPP IPv4 is not compiled.
|
#
00e8988b |
|
21-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, IPv4 support is now optional New compile time option: PPP_IPV4_SUPPORT PPP IPv4 support can now be compiled out.
|
#
5680808f |
|
21-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, ppp_ioctl PPPCTLG_UPSTATUS command now returns true if only IPv6 is up PPPCTLG_UPSTATUS ioctl didn't return true if IPv6 was up and IPv4 down, fixed.
|
#
814bcc04 |
|
21-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, using ip*_set_* functions instead of IP4_ADDR and SMEMCPY Now using lwIP helper functions on ip_addr_t and ip6_addr_t.
|
#
ee8a05c3 |
|
21-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, removed if_up and if6_up checks in sifdown() and sif6down() It can't hurt us, checking is useless.
|
#
30c89310 |
|
21-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, IPv6, if_up flag used instead of if6_up for outgoing IPv6 packets, fixed We can have an IPv6 only PPP interface, checking if6_up instead of if_up fixes IPv6 only setup. ppp_netif_output() which were only used for common code between ppp_netif_output_ip4() and ppp_netif_output_ip6() is not necessary anymore, removed, reducing call stack by one.
|
#
a8e973f5 |
|
21-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, remove the user ability to set the PPP error code (PPPCTLS_ERRCODE) This is now totally useless, it was used for the PPP core code but it is not used anymore, remove then the user ability to set the PPP error code through PPPCTLS_ERRCODE.
|
#
dc2e7000 |
|
21-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, using u8_t on ioctl command instead of int We don't need an int here, all commands are between 0 and 255.
|
#
59b659b0 |
|
21-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, compile out auth support if none of auth protocols are enabled Added macro PPP_AUTH_SUPPORT, if none of auth protocols are enabled (PAP, CHAP, EAP) we reduce PPP memory usage by compiling out all struct fields and source code used for authentication.
|
#
f57d4818 |
|
20-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, using PPP netif->num number instead of ppp->num Saved 2 bytes of RAM if debug is enabled, we are now using the netif->num number instead of using our own ppp->num
|
#
6b4db944 |
|
20-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, using err_t return code instead of PPPERR_ Standardised PPP API to follow lwIP already used return codes. PPPERR_ are now used only on link status callback.
|
#
0a761d23 |
|
20-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, using err_t return type on ppp_ioctl()
|
#
29f3f2e1 |
|
19-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoS, moved VJ protocol handler to PPPoS New callback, netif input, allow low level drivers to extend ppp_input call, moved PPPoS VJ support to pppos.c.
|
#
759d11ce |
|
19-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, beautified ppp_ioctl()
|
#
729e24da |
|
19-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoS, added sub-ioctl commands Allow low level drivers to extend ioctl call, moved PPPoS ioctl commands to pppos.c.
|
#
b92fe3ee |
|
19-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, new callbacks, send_config, recv_config, vj_config Removed some calls from PPP core to PPPoS low level protocols, the const struct allows us to have more and more callbacks without using more RAM.
|
#
985de035 |
|
19-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, now using const callbacks struct from lower level protocols Saving some RAM by using callbacks struct in rodata for required callbacks called by PPP core to PPP low level protocols.
|
#
e312ebcb |
|
19-Feb-2015 |
Ivan Delamer <delamer@inicotech.com> |
Removed unused netif flag for point to point connections
|
#
b71d9ce3 |
|
18-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, Removed useless enabled_flag from struct protent Our struct protent are const everywhere to save RAM, enable/disable flag on a const struct is useless, saving some flash, removed.
|
#
19fdeae4 |
|
17-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, chained returns up to ppp_free() ppp_free() now returns lower level protocol return value if something failed.
|
#
50ecd2c1 |
|
17-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, removed useless st variable in ppp_close() Code cleaning.
|
#
07f92127 |
|
17-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, chained returns up to ppp_open() ppp_open() now returns lower level protocol return value if something failed.
|
#
5b29f1cd |
|
17-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, Fixed warning with PPP_PROTOCOLNAME enabled lwip/src/netif/ppp/ppp.c: In function ‘ppp_input’: lwip/src/netif/ppp/ppp.c:769:5: warning: ISO C90 forbids mixed declarations and code [-Wpedantic] const char *pname = protocol_name(protocol); ^
|
#
bce29ac3 |
|
17-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, code cleaning Reordered functions in the order they are declared in headers. Removed useless ppp_link_down() function. Merged ppp_stop() and ppp_close(). Merged ppp_hup() and ppp_sighup().
|
#
f7584fa8 |
|
17-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, fixed callbacks return value Fixed return value in case of abnormal termination. Set pcb->err_code in case of failed setup link.
|
#
69469496 |
|
16-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoS, moved out_accm from PPP core to PPPoS Last PPPoS variable in PPP core moved to PPPoS.
|
#
baaa2592 |
|
16-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoS, removed xmit_accm, almost duplicate of out_accm xmit_accm was meant to be a user configurable asyncmap, it was actually broken since the introduction of ppp_new by the way we now reset the PPP initial state, looks like no one until now is needing it anymore. If necessary we will reintroduce this feature later properly instead of a dirty and ugly hack into the PPP code.
|
#
34210901 |
|
16-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoS, moved ppp.rx to pppos.rx PPP rx control block moved to PPPoS
|
#
71328938 |
|
16-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoS, re-enabled PPPCTLG_FD Found a fine way to get PPP fd without making this call crash for for PPPoE or PPPoL2TP.
|
#
cfe04d44 |
|
16-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoS, using PPPoS PCB pointer on VJ and pppos_ configuration functions Slightly more consistent this way, and prevent using link_ctx_cb pointer from PPPoS protocol file.
|
#
e6465a6f |
|
15-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoS, moved VJ from PPP core to PPPoS VJ is only available for PPPoS, moved VJ from PPP CORE to PPPoS.
|
#
4aa9244b |
|
15-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoS moved fd from ppp_pcb to pppos_pcb Moved fd from ppp_pcb to pppos_pcb. However PPP ioctl PPPCTLG_FD is temporarily disabled until I found a better solution.
|
#
9c15ffbb |
|
15-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP: Moved PPPoS from ppp.c to pppos.c Started removing from PPP core most of low level protocol PPPoS handling to separate files, using the new low level PPP callbacks.
|
#
09b44858 |
|
15-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, generalized callbacks calls from PPP core, removed all PPPoE and PPPoL2TP references Almost there, removed all PPPoE and PPPoL2TP references from PPP core, using the generic callbacks interface everywhere.
|
#
19282d6d |
|
15-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, moved low level protocol connect init to low level protocol files Low level protocol init machine state does not belong to PPP core, moved those init to respective low level protocol files.
|
#
ee85aacc |
|
15-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, removed low level create functions from PPP core ppp_over_ethernet_create() moved from ppp.c to pppoe.c ppp_over_l2tp_create() moved from ppp.c to pppol2tp.c
|
#
0afc34f6 |
|
15-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, moved ppp_write and ppp_netif_output low level protocols functions to respective low level protocol files Moved ppp_write_over_ethernet() and ppp_netif_output_over_ethernet() to pppoe.c Moved ppp_write_over_l2tp() and ppp_netif_output_over_l2tp() to pppol2tp.c
|
#
45bfccfd |
|
15-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, prepare new callbacks for low level protocols New callbacks: write and netif_output
|
#
f8501478 |
|
15-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP: prepared callbacks from PPP core to low level protocols New PPP callback from PPP core to low level protocols, first step about removing named calls to low level protocols from PPP core.
|
#
b4fe72c4 |
|
14-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP: removed duplicated code in ppp_close() Looks like previous refactoring and cleaning made ppp_close() consistent for all our low level protocol backends, cleaned up duplicated code.
|
#
80809841 |
|
14-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP: removed PPPoE and PPPoL2TP callback status notifier Added necessary PPP core functions for PPPoE and PPPoL2TP status notificaton (ppp_link_failed and ppp_link_end), removed callback, low level protocol are now calling PPP core "link" functions.
|
#
74fd2dc9 |
|
14-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP: moved ppp_new() to low level protocol init for PPPoE and PPPoL2TP First step of a rework of how low level protocols are using the PPP core. Low level protocols are now going to use the core instead of core using the low level protocols. Final goal: separate PPP core code from low level protocols.
|
#
443b2551 |
|
14-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP: moved duplicated init code from ppp_over_X_create() to ppp_new() Some init code were duplicated for all low-level PPP protocols, moved uselessly duplicated code to ppp_new().
|
#
7b681bc9 |
|
14-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP: re-order functions in the common sense API order Re-order ppp.[ch] functions in the order functions should be called from user application. Moved create functions, which actually return a PPP control block before functions needing a PPP control block.
|
#
bd29f716 |
|
14-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP: ppp_init() is not a public function, moving it in private part ppp_init() is not a public fonction anymore, move this function in ppp.c "private" functions.
|
#
c8c0dc2f |
|
14-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP: using a macro for ppp_set_default() instead of a function This function is only calling netif_set_default(), a macro is adequate.
|
#
17c6be6a |
|
14-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP: removed ppp_delete(), merged with ppp_free() The only benefit of ppp_delete() call was about having a persistent netif interface. netif was moved out of PPP pcb so we don't need ppp_delete() anymore, second step in simplifying the weird new/open/free/delete PPP API.
|
#
318e752f |
|
14-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP: removed ppp_new(), merged with ppp_over_X_create() The only benefit of ppp_new() call was about having a persistent netif interface. netif was moved out of PPP pcb so we don't need ppp_new() anymore, first step in simplifying the weird new/open/free/delete PPP API.
|
#
3dcfd7ba |
|
14-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP: moved netif out of PPP control block Users might want to share a netif control block between an Ethernet interface and a PPPoS interface (I want actually) in case PPP is just used as redundancy if Ethernet is down (eg. PPPoS GPRS fail over). Moved netif out of PPP control block in a similar way it is currently done for Ethernet interfaces. Furthermore, this is a first step on removing the "new/create/free/delete" API which is awful but currently necessary to handle fail over from PPPoX to another PPPoX (eg. from PPoE on xDSL to PPPoS on GPRS fail over) without free()ing the netif which might be used on udp_sendto() or L2TP VPN links.
|
#
e39d0123 |
|
24-Dec-2014 |
Sylvain Rochet <gradator@gradator.net> |
PPP, from PPPD upstream, separate IPv6 handling for sifup/sifdown The current code is buggy regarding handling of link state when using both IPCP and IPv6CP: if IPv6CP has been set up and if during IPCP negociation, ipcp_up() fails, it will incorrectly take the interface down. The simple solution here is to change the platform code to do the same as on Solaris: separate IPv6CP up/down state handling with sif6up() and sif6down(), so that we really know when the interface is allowed to go down. (Based from pppd commit b04d2dc6df5c6b5650fea44250d58757ee3dac4a)
|
#
482a18e6 |
|
24-Dec-2014 |
Sylvain Rochet <gradator@gradator.net> |
PPP, added const modifier on auth strings
|
#
2b3e0201 |
|
24-Dec-2014 |
Sylvain Rochet <gradator@gradator.net> |
PPP, fixed some compiler warnings Using -Wall -pedantic -Wparentheses -Wsequence-point -Wswitch-default -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wc++-compat -Wwrite-strings -Wold-style-definition -Wmissing-prototypes -Wredundant-decls -Wnested-externs -Wno-address
|
#
60f920df |
|
12-Oct-2014 |
Sylvain Rochet <gradator@gradator.net> |
fixed bug #43235, checking for non-existent preprocessor macros is non-standard, added predefinition for all affected macros
|
#
da19974e |
|
12-Oct-2014 |
Sylvain Rochet <gradator@gradator.net> |
fixed bug #43235, cleared compiler warnings when using gcc with -Wextra option
|
#
ab9feb2e |
|
12-Oct-2014 |
Simon Goldschmidt <goldsimon@gmx.de> |
fixed bug #43173, pppos_input() corrupts memory if IP_FORWARD is enabled
|
#
a7745e9a |
|
19-Apr-2014 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoE, fixed bug #42138, pppoe_destroy() called with wrong pointer, PPPoE control block was never freed
|
#
4283ecf7 |
|
11-Apr-2014 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoS, fixed IP forward from PPP to Ethernet by allocating PBUF_LINK instead of PBUF_RAW if IP forwarding is enabled
|
#
357b28f6 |
|
14-Jan-2014 |
Sylvain Rochet <gradator@gradator.net> |
PPP, fixed VJ compression/decompression output IP path
|
#
4fda366b |
|
30-Apr-2013 |
Sylvain Rochet <gradator@gradator.net> |
PPP, added PPP notify phase support PPP notify phase support, using compile-time PPP_NOTIFY_PHASE macro. This can be used for example to set a LED pattern depending on the current phase of the PPP session. Callback example: static void ppp_notify_phase_cb(ppp_pcb *pcb, u8_t phase, void *ctx) { switch(phase) { case PPP_PHASE_DEAD: /* Kept off */ case PPP_PHASE_MASTER: /* LED Off */ break; case PPP_PHASE_INITIALIZE: /* Session opened */ /* LED FastBlink */ break; case PPP_PHASE_RUNNING: /* Session running */ /* LED On */ break; default: /* LED SlowBlink */ } }
|
#
2ceae601 |
|
26-Apr-2013 |
Sylvain Rochet <gradator@gradator.net> |
PPP, reduced by one buffer PPPoS RX requirements in multithreaded context Removed one unecessary allocated PBUF per PPPoS RX packet if PPP_INPROC_MULTITHREADED is set by adding the necessary data for pppos_input_callback() in front of the first pbuf instead of allocating a new buffer.
|
#
25f9f558 |
|
26-Apr-2013 |
Sylvain Rochet <gradator@gradator.net> |
PPP, removed PPP_INPROC_OWNTHREAD feature, which almost only make things harder I consider to remove the PPP_INPROC_OWNTHREAD crap in ppp-new, as said in bugs #37278 and #37353. 1. It requires the ppp_input_thread() function to be modified to match user system, like some did by adding the vTaskDelete(NULL); FreeRTOS call at the end of the function, for example. This is a tiny-tiny fonction that should be, in my opinion, on the user port, like the Ethernet input thread we see in many Ethernet port. 2. It is actually not that thread safe. 2.1. pcb->phase IS modified by the lwIP core thread so it should at least be set to volatile, otherwise the pcb->phase copy may live indefinitely in CPU register. It works because of the sio_read() function call which without doubt flush pcb->phase copy from CPU register. I dont want to set ppp_pcb struct to volatile for obvious performance reasons. 2.2. This function assume PCB still exists whatever is happening, which is not the case after you called ppp_delete() function outside of this thread. If sio_read() is blocking waiting data and pcb destroyed, it is going to read a deallocated pcb which luckily should still have pcb->phase set to 0 (=PHASE_DEAD) due to preallocated "control block" structures of lwIP. Even with sio_read_abort(), there might be timings issue due to a lack of a synchronization mechanism. 3. I dislike the sys_msleep(1), it means that systems should have at least a 11 chr buffer at 115200/10 byte/s, and bigger with higher serial speed, for example with 3G/HSDPA modems accessed through SPI, at 20 Mbits/s this is a ~2000 bytes buffer required to keep incoming data during this sleep, I don't see why we require systems to do so, sio_read() should obviously be a blocking call. I cannot easily remove this sleep because some systems might have wrongfully used this call as a CPU idle feature with a non blocking sio_read() call.
|
#
f47a93b0 |
|
26-Apr-2013 |
Sylvain Rochet <gradator@gradator.net> |
PPP, cleared compilation warning about unused variable 'pcb' in ppp_drop() if neither VJ nor SNMP support are enabled
|
#
a1555e06 |
|
22-Apr-2013 |
Sylvain Rochet <gradator@gradator.net> |
PPP, added ppp_free() Free the control block, clean everything except the PPP PCB itself and the netif, it allows you to change the underlying PPP protocol (eg. from PPPoE to PPPoS to switch from DSL to GPRS) without losing your PPP and netif handlers.
|
#
44b52741 |
|
22-Apr-2013 |
Sylvain Rochet <gradator@gradator.net> |
PPP, slight API change, great code factorisation Created new ppp_over_X_create() functions which only prepare the PPP session without starting it Removed ppp_reopen() and all of its sub ppp_over_X_reopen() Removed PPPoL2TP reconnect() function, merged to connect() Added ppp_open() able to start or restart any session
|
#
58ffa8d5 |
|
27-Feb-2013 |
Sylvain Rochet <gradator@gradator.net> |
PPP, free input pbuf left in ppp_delete()
|
#
bfe8c15a |
|
22-Feb-2013 |
Sylvain Rochet <gradator@gradator.net> |
PPP, fixed return code coherency for ppp_netif_output_*() callbacks (using ERR_* as expected by lwIP core instead of PPPERR_*)
|
#
bdfbac2a |
|
23-Dec-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP, added missing semicolon (dammit)
|
#
211a8895 |
|
23-Dec-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP, fixed some IAR warnings these are the compiler warnings I get with the head of ppp-new. All of them are trivial, [...] (I'm using IAR EWARM 6.4). ppp.c Warning[Pe550]: variable "c" was set but never used lwip\src\netif\ppp\ppp.c 1012 Warning[Pe111]: statement is unreachable lwip\src\netif\ppp\ppp.c 1132 Warning[Pe111]: statement is unreachable lwip\src\netif\ppp\ppp.c 1377 Warning[Pe111]: statement is unreachable lwip\src\netif\ppp\ppp.c 1412 utils.c Warning[Pe186]: pointless comparison of unsigned integer with zero lwip\src\netif\ppp\utils.c 210
|
#
6751ac49 |
|
09-Dec-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP, moved FSM configuration to ppp_settings struct
|
#
6764957d |
|
09-Dec-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP, moved EAP configuration to ppp_settings struct
|
#
c719ba7b |
|
09-Dec-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP, moved PAP configuration to ppp_settings struct
|
#
defef222 |
|
09-Dec-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP, improved PAP and CHAP timeout/request/maxrequests configuration values
|
#
63459f65 |
|
09-Dec-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP, moved DEFLOOPBACKFAIL from ppp/lcp.h to lwip/opt.h
|
#
c68e1ceb |
|
09-Dec-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP, using timeouts values defined in opt.h instead of values defined in PPP headers or statically assigned values
|
#
07e72d2a |
|
08-Nov-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP, correctly cast int to u8_t in PPPCTLS_ERRCODE in ppp_ioctl()
|
#
9e4aa792 |
|
13-Oct-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP, adding const pragma to struct protent, saving about 200 bytes in .data segment
|
#
a0298728 |
|
12-Oct-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP, disable persist mode by default, so the default behavior does not look like a buggy behavior. Fixes bug #37279.
|
#
af56eebc |
|
01-Sep-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP, cleaned MTU,MRU variables
|
#
387c7784 |
|
01-Sep-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP, added PPPoS reopen support
|
#
fbbde125 |
|
01-Sep-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP, removed unnecessary ethif from ppp_pcb
|
#
dbaefd61 |
|
01-Sep-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP, cleaned persist and holdoff features
|
#
b84ab718 |
|
25-Aug-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP, ppp_input() code cleaning, removed dead code, fixed indentation
|
#
6144deb6 |
|
25-Aug-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP, moved out PPPoS code into their own functions, improved ppp.c readability
|
#
7920b6e1 |
|
25-Aug-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP, don't allocate twice struct eth_hdr per PPPoE pbuf
|
#
e9b29184 |
|
21-Aug-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP, renamed all functions using common names in utils.c that can conflict with lwIP user code during link operation
|
#
1ddebcc8 |
|
18-Aug-2012 |
Sylvain Rochet <gradator@gradator.net> |
Moved PPP headers into include/netif/ppp/, fixing bug #37040.
|
#
59567b43 |
|
22-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
pcb->link_status_cb must be set, we don't need to check each time we use it if not NULL
|
#
e067e84d |
|
22-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
switch to phase dead if PPPoE or PPPoL2TP failed to connect
|
#
35c67051 |
|
22-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
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.
|
#
8ec92b6f |
|
22-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
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.
|
#
5552f082 |
|
22-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
handle cases when ppp_close() is called while session is in dead or holdoff phase
|
#
3c122117 |
|
22-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
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.
|
#
a467d21e |
|
22-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
ppp_close() PPPoL2TP support added
|
#
bc724ea2 |
|
22-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
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.
|
#
4ea5c1d9 |
|
20-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
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
|
#
9e021cd1 |
|
14-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
improved PPP default interface management, added ppp_set_default() API call
|
#
78565026 |
|
11-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
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
|
#
de6be743 |
|
11-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
added holdoff support for PPPoE and PPPoL2TP when persist mode is used
|
#
f534e80c |
|
09-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
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
|
#
b4df26a7 |
|
09-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
some buggy compiler get confused with duplicated labels used in enum tcp_state and fsm.h, prepending PPP's ones
|
#
d92c4624 |
|
07-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
added PPP Sequential API module, based from the Network Interface Sequential API module
|
#
572e457e |
|
07-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
improved PPP API header documentation
|
#
90faecd8 |
|
03-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
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
|
#
2e069429 |
|
03-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
removed bool type, replaced by u8_t
|
#
11a3057e |
|
23-Jun-2012 |
Erik Ekman <erik@kryo.se> |
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.
|
#
a83fb308 |
|
23-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
fixed PPPoS multithread support
|
#
dc092653 |
|
22-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
now displaying sent packet before PPPoS add its escaping, trailing flags, ...
|
#
25c62780 |
|
22-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
fixed some endianess issues with PPPoS
|
#
5033e0e7 |
|
22-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
display IPV6CP packets
|
#
295eeef9 |
|
22-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
"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.
|
#
f63b87e2 |
|
22-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
setting tot_len before using it, oops
|
#
408a56ff |
|
22-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
phase must be set to initalize each time we try to reconnect
|
#
a84f5d52 |
|
22-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
added ppp_pcb to ppp callback
|
#
dc242a01 |
|
22-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
don't build ppp_netif_output_ip6() if PPP IPV6 support is disabled
|
#
dd288f70 |
|
22-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
fixed sent PPPoE dump packet and copy everything we need after pppoe_xmit() free'd the pbuf
|
#
9b60b55f |
|
22-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
SNMP prefers tot_len
|
#
77aa06df |
|
22-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
improved ppp_write_over_ethernet(), don't MEMCPY the entire packet into a new pbuf
|
#
9b7860d6 |
|
22-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
merged ppp_write and ppp_write_pbuf
|
#
8576ee09 |
|
21-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
randomized seed when using MD5 random support and PPPoE
|
#
8093b55e |
|
21-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
don't destroy and create the PPP interface each time sifup() is called (it is actually called twice with IPv4 + IPv6 enabled)
|
#
b6db4a0e |
|
21-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP IPv6 local link support added
|
#
b7be0380 |
|
19-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
improved much more ppp_pcb entry size
|
#
b21cb8a3 |
|
19-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
removed pcb->num if PPP debug is not compiled
|
#
eadd56a3 |
|
19-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
replaced exit code (pcb->status) with ppp_ioctl()
|
#
2aa9a66c |
|
19-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
don't duplicate user and password anymore, anyway, the PPP user will have them already allocated as static strings or from configuration flash/file
|
#
8e9c07df |
|
19-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
more idle time limit macros
|
#
4a7f2ffc |
|
17-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
pcb->outpacket_buf replaced by pbuf everywhere it was used
|
#
22fad864 |
|
17-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
PAP is now using pbuf instead of pcb->outpacket_buf
|
#
8641b8a3 |
|
17-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP_PCB are now allocated using memp_alloc()
|
#
be2d3b58 |
|
16-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
moved back temporarily moved structure definitions from various headers to ppp.h during unit to ppp_pcb transition
|
#
3065b9f9 |
|
15-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
no more pcb->unit, new user selectable pcb->num for debugging purpose (like netif does)
|
#
82a4d4ec |
|
15-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
LCP global variables moved to ppp_pcb as well as input/output buffers
|
#
4a8ff6d8 |
|
15-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
protent prototype switched from unit to ppp_pcb
|
#
4b7e3af7 |
|
15-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
IPCP and LCP structures moved to ppp_pcb
|
#
19238a91 |
|
14-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
global variables removed from chap support
|
#
51bfac71 |
|
13-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
auth.c functions now use ppp_pcb* as first argument
|
#
81a0fd78 |
|
12-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
removed unit from ppp_ioctl()
|
#
3a30e5bf |
|
12-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
removed ppp_input_header, replaced using 2 chained pbuf the only area we need it
|
#
a87096cd |
|
11-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
fixed PPPoS support, improved ppp_input()
|
#
527d99fd |
|
11-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
removed all PPP unit in ppp.c except pih->unit and unit used in debugging output
|
#
6e2722a6 |
|
10-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
started the unit to ppp_pcb replacement
|
#
8694deaa |
|
10-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
don't add ppp_pcb_rx to ppp_pcb struct if PPPOS support is disabled
|
#
a226099b |
|
09-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
ppp_close() on PPPoE actually works, clear persist mode if user asked the connection to shutdown
|
#
336ba8f4 |
|
09-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
pppoe now have access to the ppp_pcb structure, removed "persist" option copy
|
#
5abdc99f |
|
09-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
no more PPP unit number in PPPoE, now using ppp_pcb
|
#
f7ef9887 |
|
09-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
improved ppp_set_auth() mschap support
|
#
a3cfbfc6 |
|
09-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
ppp_set_auth() modified to handle new handled authtype (mschap + eap)
|
#
444646b6 |
|
09-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
renamed ppp_control to ppp_pcb, replaced unit number to ppp_pcb in all ppp.h declared functions
|
#
8bd508a7 |
|
09-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
moved ppp_settings to ppp_control, improved PPP API to really allow multiple PPP sessions
|
#
1cceb4e0 |
|
09-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
moved hide_password global variable to ppp_options
|
#
c2d2034a |
|
09-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPPoE persist is working, removing FIXME comments about that
|
#
f94ed922 |
|
09-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
moved exit status global variable to ppp_control
|
#
7a57d28d |
|
09-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
moved listen_time global variable to ppp_settings
|
#
ce5121e6 |
|
09-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
removed unused "unsuccess" global variable
|
#
a7d7158b |
|
09-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
removed useless error_count global variable from ppp.c
|
#
42f672d8 |
|
09-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
phase global variable moved to ppp_control structure
|
#
945f2912 |
|
09-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
using PPP_DEBUG instead of debug global variable
|
#
fb396b8f |
|
09-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
moved debug option from options.c to ppp.c
|
#
4e7ce116 |
|
09-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
removed holdoff support, can be handled without persist mode outside lwIP
|
#
2ec79c03 |
|
08-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
unused ifunit global variable removed
|
#
b922eaa7 |
|
08-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
print packet is working back, at least for PPPoE
|
#
4077422a |
|
07-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
fixed pbuf leaks in ppp_input() in case of packets not expected
|
#
a9ac45c5 |
|
06-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
added PPPoE persist support (don't timeout sending PADI packets)
|
#
7ef99ee6 |
|
06-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
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
|
#
e44aada6 |
|
06-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
improved PPPoE callback with state values, so that PPP know exactly what is happening on the PPPoE side
|
#
ac0a864e |
|
06-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
fixed typos s/parms/params/g
|
#
3c3331d5 |
|
06-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
fixed some debug strings
|
#
6f21f489 |
|
05-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
added MTU support (using MRU from the peer)
|
#
2e227f86 |
|
05-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
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)
|
#
7d7513c7 |
|
04-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
re-enabled DNS support
|
#
d95f1e99 |
|
04-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
added missing initialisation in ppp_init.c
|
#
1013b49a |
|
04-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
disabled ppp_over_ethernet_close(), which is not exported and probably bogus, until we fix it
|
#
cd3ba004 |
|
04-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
get_mask now returns "255.255.255.255" by default, which is what we want in almost all cases on a PPP link
|
#
ca1ad99b |
|
04-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPPoE reauth bug fixed
|
#
bea45b3c |
|
03-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
cleared IDE warnings
|
#
31456a6d |
|
03-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
removed CamelCase in ppp.c and ppp_impl.h, added compat macro in ppp.h (but disabled for now)
|
#
03fda0f8 |
|
03-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
removed CamelCase for all ppp.h declared functions
|
#
c09f03f6 |
|
03-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
VJ support is back!
|
#
3bad9ff5 |
|
03-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
ppp_impl.h is back!
|
#
0663421d |
|
03-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
re-added PPPoS code from the previous port, it builds, maybe it works
|
#
2f5f86d6 |
|
03-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
don't build any PPP file if PPP support is disabled
|
#
89d2c291 |
|
03-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
more ppp.[ch] cleaning
|
#
05817aa3 |
|
03-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
LQR (Link Quality Report) support is now optional
|
#
5464ed66 |
|
03-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
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
|
#
9c35403b |
|
02-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
clarified a bit more ppp.[ch]
|
#
b5b075eb |
|
02-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
demystified a bit the PPP impl, renamed output() to ppp_output() to prevent conflict
|
#
5531bca0 |
|
02-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
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.
|
#
44c2a0a7 |
|
02-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
fixed most PPP compilation warnings with -pedantic
|
#
d143acfc |
|
02-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
fixed all PPP compilation warnings with -Wall
|
#
86ebc8e4 |
|
02-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
removed pppd.h and ppp.c, renamed pppmy.c to ppp.c and pppmy.h to ppp.h
|
#
a5dd1ccf |
|
02-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
ppp.c disabled, everything required for lwIP moved to our impl
|
#
4dd297ce |
|
02-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
protent table moved to our PPP impl
|
#
7f9fea18 |
|
02-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
added pppmy.h in all .c files to easily find conflicts
|
#
d3d1b69c |
|
02-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
more ppp.c cleaning
|
#
922d3716 |
|
02-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP statistics optional (non working) compile time option added
|
#
4158222e |
|
02-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
moved new_phase() to our own implementation, re-enabled new_phase() support
|
#
6727c434 |
|
02-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
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.
|
#
0f1c18e6 |
|
02-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP interval timeout support disabled (using lwIP timeout support), protocol_name() moved to our PPP impl and disabled by default
|
#
88ef3ffa |
|
01-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
POSIX signal support removed
|
#
668d5d9d |
|
01-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
removed set/getenv functions
|
#
ee5fca7a |
|
01-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
removed pathnames.h and pidfile support
|
#
fc074937 |
|
01-Jun-2012 |
Sylvain Rochet <gradator@gradator.net> |
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)
|
#
8bb4ea85 |
|
31-May-2012 |
Sylvain Rochet <gradator@gradator.net> |
removed some useless Linux calls
|
#
4704efa3 |
|
30-May-2012 |
Sylvain Rochet <gradator@gradator.net> |
PAP support is now an optional compile-time feature
|
#
339925e8 |
|
23-May-2012 |
Sylvain Rochet <gradator@gradator.net> |
CHAP support is now an optional compile-time feature
|
#
42827cde |
|
22-May-2012 |
Sylvain Rochet <gradator@gradator.net> |
more and more ppp options removal
|
#
b88dad40 |
|
21-May-2012 |
Sylvain Rochet <gradator@gradator.net> |
disabled almost all PPP options strings and support as well as useless file-based auth code
|
#
b896203d |
|
21-May-2012 |
Sylvain Rochet <gradator@gradator.net> |
Revert "Removed all stuff requiring encryption." This reverts commit c268c5e07c046eb2cb8e5798a1f3eba7e0ad13c1. Conflicts: src/netif/ppp/auth.c src/netif/ppp/ppp.c src/netif/ppp/pppmy.c src/netif/ppp/pppmy.h
|
#
795d5807 |
|
20-May-2012 |
Sylvain Rochet <gradator@gradator.net> |
EAP support is now optional
|
#
c268c5e0 |
|
20-May-2012 |
Sylvain Rochet <gradator@gradator.net> |
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.
|
#
1d7efce0 |
|
17-May-2012 |
Sylvain Rochet <gradator@gradator.net> |
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.
|
#
00648c27 |
|
17-May-2012 |
Sylvain Rochet <gradator@gradator.net> |
world changed, removed IPX support
|
#
4885b391 |
|
17-May-2012 |
Sylvain Rochet <gradator@gradator.net> |
removed run_program() support
|
#
eb75ae05 |
|
15-May-2012 |
Sylvain Rochet <gradator@gradator.net> |
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.
|
#
3ac81e9d |
|
03-May-2012 |
goldsimon <goldsimon@gmx.de> |
patch by Sylvain Rochet: fixed bug #36283 (PPP struct used on header size computation and not packed)
|
#
fb07a28c |
|
03-May-2012 |
goldsimon <goldsimon@gmx.de> |
fixed bug #36388 (PPP: checksum-only in last pbuf leads to pbuf with zero length)
|
#
0e7df4b1 |
|
12-Mar-2012 |
goldsimon <goldsimon@gmx.de> |
Removed unnecessary global variable "subnetMask", which is only used in one function (GetMask)
|
#
2c9b3b35 |
|
12-Mar-2012 |
goldsimon <goldsimon@gmx.de> |
patch by Bostjan Meglic: fixed bug #35809: PPP GetMask(): Compiler warning on big endian, possible bug on little endian system
|
#
ac2175fa |
|
15-Feb-2012 |
goldsimon <goldsimon@gmx.de> |
fixed pbuf leak when PPP session is aborted through pppSigHUP() (bug #35541: PPP Memory Leak)
|
#
b3ffa163 |
|
28-Oct-2011 |
Ivan Delamer <delamer@inicotech.com> |
Use pppRecvWakeup only if PPP_INPROC_OWNTHREAD is defined. Change-Id: Ie800289eb5f6a64d0be1d38eab7154d4aa473d57
|
#
09d1f55b |
|
28-Oct-2011 |
Ivan Delamer <delamer@inicotech.com> |
Conditional compilation in ppp.c according to PPP_ options. Change-Id: I466ce2b0114c9428f5e21bd0a09bb221f40bfc3e
|
#
d6227aec |
|
11-Sep-2011 |
Simon Goldschmidt <goldsimon@gmx.de> |
splitted ppp.h to an internal and external header file to get a clear separation of which functions an application or port may use (task #11281)
|
#
b5dd87b1 |
|
27-Mar-2011 |
goldsimon <goldsimon> |
Fixed bug #32280 (ppp: a pbuf is freed twice)
|
#
3f849848 |
|
22-Mar-2011 |
goldsimon <goldsimon> |
Fixed bug #32648 (PPP code crashes when terminating a link) by only calling sio_read_abort() if the file descriptor is valid.
|
#
856ccb5b |
|
18-Feb-2011 |
goldsimon <goldsimon> |
Added missing U/UL modifiers to fix 16-bit-arch portability.
|
#
229137ca |
|
01-Aug-2010 |
goldsimon <goldsimon> |
Applied patch #7264 (PPP protocols are rejected incorrectly on big endian architectures)
|
#
dae24780 |
|
16-May-2010 |
goldsimon <goldsimon> |
Add preprocessor-macros for compile-time htonl calculation (and use them throughout the stack where applicable)
|
#
290bd400 |
|
16-May-2010 |
goldsimon <goldsimon> |
No need to call pppoe_init any more (since the linked list is implicitly initialized to zero by the loader)
|
#
f3face9f |
|
12-May-2010 |
goldsimon <goldsimon> |
Fix printf-formatter for sio_fd_t/size_t
|
#
f1bc73c3 |
|
02-Apr-2010 |
goldsimon <goldsimon> |
Fixed compilation errors
|
#
d47a0445 |
|
08-Mar-2010 |
goldsimon <goldsimon> |
bug #29105: Review printf formatters
|
#
8d9fa634 |
|
22-Feb-2010 |
goldsimon <goldsimon> |
PPP: use LWIP_DEBUGF() instead of ppp_trace()
|
#
e934f8aa |
|
22-Feb-2010 |
goldsimon <goldsimon> |
Added/improved comments and debug output; renamed 'pc' to 'pcrx' where appropriate to reflect the variable type
|
#
dfb80c6b |
|
13-Feb-2010 |
goldsimon <goldsimon> |
fixed compilation for LWIp_SNMP && PPP_INPROC_MULTITHREADED
|
#
6fe258c6 |
|
09-Feb-2010 |
goldsimon <goldsimon> |
task #10154 (PPP: Update snmp in/out counters for tx/rx packets)
|
#
28dc5f49 |
|
05-Feb-2010 |
goldsimon <goldsimon> |
Correctly initialize netif flags in pppifNetifInit
|
#
a5c59490 |
|
05-Feb-2010 |
goldsimon <goldsimon> |
Added missing casts to suppress compiler warnings (this mainly satisfies MSVC - the double casts are a bit ugly but don't hurt...)
|
#
5d360a67 |
|
04-Feb-2010 |
goldsimon <goldsimon> |
Replaced struct ip_addr by typedef ip_addr_t to make changing the actual implementation behind the typedef easier.
|
#
5fa0347e |
|
29-Jan-2010 |
goldsimon <goldsimon> |
Cleanly separate the portability file inet.h and its contents from the stack: moved htonX- functions to def.h (and the new def.c - they are not ipv4 dependent), let inet.h depend on ip_addr.h and not the other way round. This fixes bug #28732.
|
#
61e5301d |
|
24-Jan-2010 |
goldsimon <goldsimon> |
bug #26523: Compiler Warnings
|
#
7ede02ca |
|
14-Jan-2010 |
goldsimon <goldsimon> |
Fixed bug #27856: PPP: Set netif link- and status-callback by adding ppp_set_netif_statuscallback()/ppp_set_netif_linkcallback()
|
#
67c587f9 |
|
13-Jan-2010 |
goldsimon <goldsimon> |
Fixed NO_SYS==0: starting pppInputThread failed; fixed some comments
|
#
13c9d2da |
|
10-Jan-2010 |
goldsimon <goldsimon> |
Added/changed comments
|
#
81640c4a |
|
08-Jan-2010 |
goldsimon <goldsimon> |
Fixed compilation of VJ_SUPPORT after separating tx and rx
|
#
3269da52 |
|
31-Dec-2009 |
goldsimon <goldsimon> |
Initial version of PPP for NO_SYS==1, some TODOs are remaining, but it works...
|
#
1d580967 |
|
06-Dec-2009 |
goldsimon <goldsimon> |
Various small improvements from patch #6965 (removed _inet_ntoa, set PPP netif down before removing, change log message and comment)
|
#
b1ad36ee |
|
06-Dec-2009 |
goldsimon <goldsimon> |
Fixed bug #27079 (Yet another leak in PPP): outpacket_buf can be statically allocated (like in ucip)
|
#
1b42286b |
|
06-Dec-2009 |
goldsimon <goldsimon> |
pppInit: Remove zeroing the stats - no protocol does that
|
#
3fa63b35 |
|
04-Dec-2009 |
goldsimon <goldsimon> |
The guy's name is Van Jacobson (not Jabobsen or Jacobsen :-)
|
#
32acb82b |
|
03-Dec-2009 |
goldsimon <goldsimon> |
Fixed some typos
|
#
04c5246e |
|
01-Dec-2009 |
goldsimon <goldsimon> |
Fix compilation for PPPOE without PPPOS and VJ_SUPPORT without PPPOS_SUPPORT
|
#
e7d5739c |
|
23-Aug-2009 |
goldsimon <goldsimon> |
Fixed bug #27078: Possible memory leak in pppInit()
|
#
ce308297 |
|
22-Aug-2009 |
goldsimon <goldsimon> |
Fixed bug #27266: wait-state debug message in pppMain occurs every ms
|
#
217f279f |
|
01-May-2009 |
goldsimon <goldsimon> |
Fixed bug #24228: Memory corruption with PPP and DHCP
|
#
b3a5d6df |
|
15-Apr-2009 |
goldsimon <goldsimon> |
bug #25763: Corrected 4 occurrences of SMEMCPY to MEMCPY; corrected indentation
|
#
03f888c9 |
|
16-Mar-2008 |
fbernon <fbernon> |
ppp: minor changes: fix some 'is unused' warning when debug is off.
|
#
f067d343 |
|
04-Mar-2008 |
jifl <jifl> |
* pbuf.c, ppp.c: Fix warnings on some systems with mem_malloc.
|
#
42344ce2 |
|
04-Mar-2008 |
kieranm <kieranm> |
2008-03-04 Kieran Mansley (contributions by others) * Numerous small compiler error/warning fixes from contributions to mailing list after 1.3.0 release candidate made.
|
#
1dfa2466 |
|
03-Jan-2008 |
fbernon <fbernon> |
Minor changes: fix some PPP traces.
|
#
865f6eb5 |
|
02-Dec-2007 |
fbernon <fbernon> |
Changes for coding style (typo, use LINK_STATS_INC, tabs, ident, etc...). Be careful, even if this change is minor, there is lot of lines modified, so, an error is always possible (I hope there is no problems).
|
#
e5a98b6a |
|
30-Nov-2007 |
fbernon <fbernon> |
Minor changes: fix some problems with PPPoE include path, add small comments in slip.c (unusual octal values?)
|
#
b714cd5f |
|
29-Nov-2007 |
fbernon <fbernon> |
First fix for bug #21664 "PPP code is broken".
|
#
90a3f88c |
|
05-Sep-2007 |
fbernon <fbernon> |
Change parameters list for sys_thread_new (see "task #7252 : Create sys_thread_new_ex()"). Two new parameters have to be provided: a task name, and a task stack size. For this one, since it's platform dependant, you could define the best one for you in your lwipopts.h. For port maintainers, you can just add these new parameters in your sys_arch.c file, and but it's not mandatory, use them in your OS specific functions.
|
#
dbd61d12 |
|
17-Aug-2007 |
marcbou <marcbou> |
Fix potential pbuf leaks.
|
#
75935ad2 |
|
16-Aug-2007 |
marcbou <marcbou> |
Changed // style comments to /* style */ comments.
|
#
931fcfd0 |
|
16-Aug-2007 |
marcbou <marcbou> |
Added PPPoE support and various PPP improvements.
|
#
255d5a74 |
|
09-May-2007 |
goldsimon <goldsimon> |
Included patch #5920: Create define to override C-library memcpy. 2 Defines are created: MEMCPY() for normal memcpy, SMEMCPY() for situations where some compilers might inline the copy and save a function call. Also replaced all calls to memcpy() with calls to (S)MEMCPY().
|
#
7932bf48 |
|
11-Apr-2007 |
goldsimon <goldsimon> |
Ongoing fix to patch #5822: converted more statements like (void)arg; into LWIP_UNUSED_ARG(arg);
|
#
7294cb08 |
|
20-Mar-2007 |
kieranm <kieranm> |
* Fix all uses of pbuf_header to check the return value. In some cases just assert if it fails as I'm not sure how to fix them, but this is no worse than before when they would carry on regardless of the failure.
|
#
fe1bea95 |
|
01-Nov-2006 |
christiaans <christiaans> |
Added netif_set_up and call protection for NULL function pointers. Bug #16602 and #17777.
|
#
6b0852a2 |
|
09-Nov-2004 |
jani <jani> |
reduce msleep interval from 250 to 1 ms in ppp
|
#
45e36d9f |
|
04-Jul-2004 |
likewise <likewise> |
Dependencies on C library memset() etc., so include <string.h>.
|
#
eed8ea5b |
|
27-Dec-2003 |
uid67528 <uid67528> |
Merged from DEVEL. etharp prepared for queueing feature. DHCP fix.
|
#
e4a6d199 |
|
14-Nov-2003 |
likewise <likewise> |
Merged from DEVEL into main tree.
|
#
351e590e |
|
27-Jun-2003 |
marcbou <marcbou> |
Merged from DEVEL.
|
#
55f64f13 |
|
19-Jun-2003 |
marcbou <marcbou> |
Important bug fixes and improvements.
|
#
26d9b28f |
|
02-Jun-2003 |
jani <jani> |
sio and PPP updates from Marc
|
#
ff63557d |
|
30-May-2003 |
jani <jani> |
Cleanups in PPP: C++ comments removed, make it compile for unixsim too. Does not work yet only compiles
|
#
31776e23 |
|
27-May-2003 |
jani <jani> |
add PPP stack from Marc. Work in progress
|