History log of /seL4-camkes-master/projects/lwip/src/netif/ppp/chap-new.c
Revision Date Author Comments
# 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.


# ab989c35 12-May-2016 Axel Lin <axel.lin@ingics.com>

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>


# 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


# 83cddd89 18-Sep-2015 Sylvain Rochet <gradator@gradator.net>

PPP: more const and mixed u_char/char types fixes


# 41ee45d9 09-Sep-2015 Sylvain Rochet <gradator@gradator.net>

PPP: fix constness in PPP related files when PRINTPKT_SUPPORT is enabled


# a24f4421 30-Aug-2015 Sylvain Rochet <gradator@gradator.net>

PPP, magic, using magic_random_bytes() for CHAP/MSCHAP/EAP instead of for-loop byte where possible


# 1b6d6d0d 29-Apr-2015 Sylvain Rochet <gradator@gradator.net>

PPP, removed unnecessary memset()

Everything is cleared in ppp_clear(), we don't need to clear all
structures twice.


# 737a6921 23-Apr-2015 Sylvain Rochet <gradator@gradator.net>

PPP, place print packet debug codenames in ROM


# ab46ac9b 18-Apr-2015 Sylvain Rochet <gradator@gradator.net>

PPP, CHAP, reworked to pass ppp_pcb pointer to CHAP childs (MD5, MSCHAP, MSCHAPv2)

We are going to need ppp_pcb* in MSCHAP and MSCHAPv2 for MPPE for
int mppe_keys_set, u_char mppe_send_key and u_char mppe_recv_key
which are currently global variable which must be moved to ppp_pcb.


# f7d5e811 28-Feb-2015 Sylvain Rochet <gradator@gradator.net>

PPP, SERVER, MSCHAP: move output message from chap_server.message struct to stack

chap_server.message is only used in one function, moved to stack.


# d884034c 28-Feb-2015 Sylvain Rochet <gradator@gradator.net>

PPP, replaced drand48() with magic_pow()


# 5ae7ee52 28-Feb-2015 Sylvain Rochet <gradator@gradator.net>

PPP, SERVER: added CHAP authentication support


# 65493b42 28-Feb-2015 Sylvain Rochet <gradator@gradator.net>

PPP, SERVER, CHAP: fixed wrong pointer used on chap_timeout()


# 5e73068e 18-Feb-2015 Sylvain Rochet <gradator@gradator.net>

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.


# 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.


# 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


# da19974e 12-Oct-2014 Sylvain Rochet <gradator@gradator.net>

fixed bug #43235, cleared compiler warnings when using gcc with -Wextra option


# 2350d941 26-Apr-2013 Sylvain Rochet <gradator@gradator.net>

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.


# 7f97e354 13-Oct-2012 Sylvain Rochet <gradator@gradator.net>

PPP, switched chap_digests linked list to a const table in .rodata/flash, saving about 100 bytes in .data segment if chap(md5) and mschap is enabled


# 9e4aa792 13-Oct-2012 Sylvain Rochet <gradator@gradator.net>

PPP, adding const pragma to struct protent, saving about 200 bytes in .data segment


# e81f0925 27-Sep-2012 Sylvain Rochet <gradator@gradator.net>

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


# 045ee534 26-Aug-2012 Sylvain Rochet <gradator@gradator.net>

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).


# 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.


# 9b7860d6 22-Jun-2012 Sylvain Rochet <gradator@gradator.net>

merged ppp_write and ppp_write_pbuf


# bda73b1b 21-Jun-2012 Sylvain Rochet <gradator@gradator.net>

replaced call from ppp_write to ppp_write_pbuf


# 26250f19 19-Jun-2012 Sylvain Rochet <gradator@gradator.net>

removed pcb->chap_mdtype_all


# 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


# ff2a7370 19-Jun-2012 Sylvain Rochet <gradator@gradator.net>

ppp_settings.remote_name is now a compile time option


# 4a7f2ffc 17-Jun-2012 Sylvain Rochet <gradator@gradator.net>

pcb->outpacket_buf replaced by pbuf everywhere it was used


# 503162ec 17-Jun-2012 Sylvain Rochet <gradator@gradator.net>

CHAP 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()


# 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


# 19238a91 14-Jun-2012 Sylvain Rochet <gradator@gradator.net>

global variables removed from chap support


# 1ece33e7 14-Jun-2012 Sylvain Rochet <gradator@gradator.net>

PAP and CHAP are now using ppp_pcb*


# 844f5e5a 13-Jun-2012 Sylvain Rochet <gradator@gradator.net>

moved auth.c global variables to ppp_pcb


# 51bfac71 13-Jun-2012 Sylvain Rochet <gradator@gradator.net>

auth.c functions now use ppp_pcb* as first argument


# 6e2722a6 10-Jun-2012 Sylvain Rochet <gradator@gradator.net>

started the unit to ppp_pcb replacement


# 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


# 6b8c78ba 09-Jun-2012 Sylvain Rochet <gradator@gradator.net>

moved remote_name and explicit_remote global variable to ppp_settings


# e5355cc4 07-Jun-2012 Sylvain Rochet <gradator@gradator.net>

PPP server support is now optional (disabled by default, not working until PPP have a "listen" support)


# 093c7b43 03-Jun-2012 Sylvain Rochet <gradator@gradator.net>

cleaned depreacted __P() and __V() macros, removed the legacy varargs.h header


# 3bad9ff5 03-Jun-2012 Sylvain Rochet <gradator@gradator.net>

ppp_impl.h is back!


# 2f5f86d6 03-Jun-2012 Sylvain Rochet <gradator@gradator.net>

don't build any PPP file if PPP support is disabled


# 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


# e1261c96 02-Jun-2012 Sylvain Rochet <gradator@gradator.net>

removed all system headers except the strict minimum


# 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


# 7f9fea18 02-Jun-2012 Sylvain Rochet <gradator@gradator.net>

added pppmy.h in all .c files to easily find conflicts


# 6c908ac7 01-Jun-2012 Sylvain Rochet <gradator@gradator.net>

removed more protent fields only used by print packets functions


# 2c4bd716 01-Jun-2012 Sylvain Rochet <gradator@gradator.net>

print packet functions are now optional


# 8b866bea 01-Jun-2012 Sylvain Rochet <gradator@gradator.net>

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.


# 339925e8 23-May-2012 Sylvain Rochet <gradator@gradator.net>

CHAP support is now an optional compile-time feature


# 28360a7f 23-May-2012 Sylvain Rochet <gradator@gradator.net>

MSCHAP is now an optional compile-time feature


# 49bb62d2 22-May-2012 Sylvain Rochet <gradator@gradator.net>

and less and less useless auth code (will this end ?)


# 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


# 4570f71f 20-May-2012 Sylvain Rochet <gradator@gradator.net>

modified auth_reset() so that we can choose which auth we want


# 624da03b 20-May-2012 Sylvain Rochet <gradator@gradator.net>

Revert "modified auth_reset() so that we can choose which auth we want"

This reverts commit bf10a27db89eb64a50df40a173b2d012b47586e3.

Licence issue, we cannot include GPLed source code.


# bf10a27d 20-May-2012 Sylvain Rochet <gradator@gradator.net>

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


# 33e84724 17-May-2012 Sylvain Rochet <gradator@gradator.net>

CHAP auth is now working


# 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.