Axel Lin
ab989c3551
PPP: Use LWIP_ARRAYSIZE at appropriate places
...
Use LWIP_ARRAYSIZE to simplify the code.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Reviewed-by: Sylvain Rochet <gradator@gradator.net>
[Sylvain Rochet <gradator@gradator.net>: added missing casts]
Signed-off-by: Sylvain Rochet <gradator@gradator.net>
2016-05-12 23:08:34 +02:00
Sylvain Rochet
33fc20cca2
PPP: use mbed TLS sanitize functions if available
...
mbed TLS offers sanitize functions to zero-ise memory containing
cryptographic keys, use them if built with external mbed TLS library.
2016-05-08 21:58:56 +02:00
Sylvain Rochet
3417a02b25
PPP: add a function map for hashes and ciphers to prepare for mbed TLS support
...
Unfortunately, all functions were renamed when PolarSSL was renamed to
mbed TLS, breaking the API. In order to continue supporting our embedded
PolarSSL copy while allowing our users to use mbed TLS, we need a function
map to deal with the API break.
This commit add a function map for all hashes and ciphers we are currently
using.
2016-05-08 20:20:42 +02:00
Dirk Ziegelmeier
76d25befb4
Work on task #13907 PPP cleanups: Move PPP options from opt.h to dedicated ppp_opts.h file
2016-04-21 22:28:14 +02:00
Sylvain Rochet
83cddd8941
PPP: more const and mixed u_char/char types fixes
2015-09-18 20:11:09 +02:00
Sylvain Rochet
41ee45d9f7
PPP: fix constness in PPP related files when PRINTPKT_SUPPORT is enabled
2015-09-09 20:28:01 +02:00
Sylvain Rochet
a24f4421d6
PPP, magic, using magic_random_bytes() for CHAP/MSCHAP/EAP instead of for-loop byte where possible
2015-08-30 21:09:39 +02:00
Sylvain Rochet
091c6a3bda
PPP, cleanup unused/redefined/useless limits in ppp_impl.h
2015-04-30 01:07:11 +02:00
Sylvain Rochet
737a6921c3
PPP, place print packet debug codenames in ROM
2015-04-24 00:13:25 +02:00
Sylvain Rochet
71b213df63
PPP, EAP: using MAXNAMELEN define instead of hardcoded 256 size for rhostname
2015-02-28 20:37:41 +01:00
Sylvain Rochet
7f3913ff58
PPP, EAP: removed malloc() and free()
...
Replaced pcb->eap.es_{client,server}.ea_peer pointer to a char table,
replaced strdup() with MEMCPY, etc.
2015-02-28 20:29:40 +01:00
Sylvain Rochet
d884034c9f
PPP, replaced drand48() with magic_pow()
2015-02-28 19:50:25 +01:00
Sylvain Rochet
5e73068e09
PPP, CORE, Removed (*datainput) from struct protent if not used
...
Data input is only used by CCP and ECP, which are not supported at this time,
remove this entry from struct protent to save some flash.
2015-02-18 23:14:29 +01:00
Sylvain Rochet
b71d9ce3f6
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.
2015-02-18 23:14:29 +01:00
Sylvain Rochet
482a18e6de
PPP, added const modifier on auth strings
2014-12-24 17:17:00 +01:00
Sylvain Rochet
2b3e020152
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
2014-12-24 15:16:03 +01:00
Sylvain Rochet
da19974e81
fixed bug #43235 , cleared compiler warnings when using gcc with -Wextra option
2014-10-12 19:54:43 +02:00
Sylvain Rochet
2350d941a5
PPP, added PPP_USE_PBUF_RAM compile time option
...
pbuf_type PPP is using for LCP, PAP, CHAP, EAP, IPCP and IP6CP packets.
Memory allocated must be single buffered for PPP to works, it requires pbuf
that are not going to be chained when allocated. This requires setting
PBUF_POOL_BUFSIZE to at least 512 bytes, which is quite huge for small systems.
Setting PPP_USE_PBUF_RAM to 1 makes PPP use memory from heap where continuous
buffers are required, allowing you to use a smaller PBUF_POOL_BUFSIZE.
2013-04-26 21:51:15 +02:00
Sylvain Rochet
6764957d06
PPP, moved EAP configuration to ppp_settings struct
2012-12-09 21:45:14 +01:00
Sylvain Rochet
9e4aa79278
PPP, adding const pragma to struct protent, saving about 200 bytes in .data segment
2012-10-13 18:38:18 +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
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
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
1ddebcc862
Moved PPP headers into include/netif/ppp/, fixing bug #37040 .
2012-08-18 22:40:19 +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
Sylvain Rochet
9b7860d6ec
merged ppp_write and ppp_write_pbuf
2012-06-22 14:17:35 +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
ff2a737094
ppp_settings.remote_name is now a compile time option
2012-06-19 17:38:02 +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
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
82a4d4ec65
LCP global variables moved to ppp_pcb as well as input/output buffers
2012-06-16 03:53:05 +02:00
Sylvain Rochet
4a8ff6d824
protent prototype switched from unit to ppp_pcb
2012-06-16 02:43:13 +02:00
Sylvain Rochet
2deb13df43
EAP is now using ppp_pcb as well
2012-06-15 01:06:27 +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
6e2722a6d3
started the unit to ppp_pcb replacement
2012-06-11 01:39:03 +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
6b8c78bacc
moved remote_name and explicit_remote global variable to ppp_settings
2012-06-09 15:55:01 +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
093c7b4386
cleaned depreacted __P() and __V() macros, removed the legacy varargs.h header
2012-06-04 00:34:28 +02:00
Sylvain Rochet
3bad9ff50a
ppp_impl.h is back!
2012-06-03 20:25:32 +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
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
7f9fea18ae
added pppmy.h in all .c files to easily find conflicts
2012-06-02 17:12:55 +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
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