History log of /seL4-camkes-master/projects/lwip/src/netif/ppp/chap_ms.c
Revision Date Author Comments
# 33fc20cc 08-May-2016 Sylvain Rochet <gradator@gradator.net>

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.


# 3417a02b 08-May-2016 Sylvain Rochet <gradator@gradator.net>

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.


# 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


# cb6adc64 17-Sep-2015 sg <goldsimon@gmx.de>

PPP: more const fixes


# 79e72018 08-Sep-2015 Dirk Ziegelmeier <dirk@ziegelmeier.net>

PPP: fix constness in PPP related files (GCC -Wcast-qual)

Signed-off-by: Dirk Ziegelmeier <dirk@ziegelmeier.net>


# 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


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

PPP, magic, renamed random_bytes() to magic_random_bytes() for API coherency


# f0c25aaa 19-Apr-2015 Sylvain Rochet <gradator@gradator.net>

PPP, MSCHAP, fixed compiler warnings if MPPE support is disabled


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

PPP, MPPE, reworked MPPE debug, using ppp_pcb metadata


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

PPP, MSCHAP, CCP, MPPE: reworked key passing from CCP to MPPE

Removed mutiple copies of keys by pre-setting MPPE keys during MSCHAP
negotiation.

Improved MPPE init so we don't need to pass a buffer formatted in a
special way to MPPE, this is necessary for pppd to talk to the kernel,
we don't need that here.


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

PPP, MSCHAP, merged mppe_set_keys() to Set_Start_Key(), merged mppe_set_keys2() to SetMasterKeys()


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

PPP, MSCHAP: ensure magic tables are not copied and initialized on stack


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

PPP, MSCHAP, MPPE: shared identical mppe_sha1_pad* between MSCHAP and MPPE


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

PPP, MSCHAP, reworked local functions and constants

MSCHAP was written the old-way, with all functions declared non static in
header, independent of their local or global scope status. Same for local
constants. Reworked in a more mordern way.


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

PPP, MPPE, moved MPPE global variables from MSCHAP to ppp_pcb


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


# dcde1c2a 26-Mar-2015 Sylvain Rochet <gradator@gradator.net>

PPP, CCP, added missing defines from linux/ppp-comp.h to ccp.h


# 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


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

PPP, replaced drand48() with magic_pow()


# 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


# 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


# 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


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


# 4404ef02 16-Jun-2012 Sylvain Rochet <gradator@gradator.net>

prevent conflict with existing (md4|md5|sha1|des) object file if polarssl is already used elsewhere in the project


# 2deb13df 14-Jun-2012 Sylvain Rochet <gradator@gradator.net>

EAP is now using ppp_pcb as well


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

removed malloc() from ms chap


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


# 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


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

pppd.h disabled, renamed MAX() to LWIP_MAX()


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

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


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

MSCHAP is now an optional compile-time feature


# 7736cdae 22-May-2012 Sylvain Rochet <gradator@gradator.net>

replaced BCOPY to lwip-MEMCPY


# 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


# 4c1b507c 21-May-2012 Sylvain Rochet <gradator@gradator.net>

fixed MS-CHAP and MS-CHAP-V2, MD4 polarssl uses bytes as input length, not bits


# 02890559 21-May-2012 Sylvain Rochet <gradator@gradator.net>

Revert "Revert "Added PolarSSL DES library, which is necessary for MSCHAP.""

This reverts commit a820f32ec936a1a699ef76adb3fa8ea0915fc152.


# 83a48daf 21-May-2012 Sylvain Rochet <gradator@gradator.net>

Revert "Revert "Replaced md4/md5/sha1 implementations to PolarSSL ones""

This reverts commit ca2fd867b8e6b92ab4338c504e5b9567ab76e414.


# 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


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


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

Revert "Replaced md4/md5/sha1 implementations to PolarSSL ones"

This reverts commit aa2656cb9e8f6cdd7921fc36d5e00060065058a4.

Licence issue, we cannot include GPLed source code.


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


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

Revert "Added PolarSSL DES library, which is necessary for MSCHAP."

This reverts commit de70b710af43942130690e9225b32b02cea279aa.

Licence issue, we cannot include GPLed source code.


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

Added PolarSSL DES library, which is necessary for MSCHAP.

Added a README about our PolarSSL included files, clarifying what we did.

Removed crypt(), -lcrypt ( setkey() / encrypt() ) dependencies.


# 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


# aa2656cb 19-May-2012 Sylvain Rochet <gradator@gradator.net>

Replaced md4/md5/sha1 implementations to PolarSSL ones

Using cleaned PolarSSL md4/md5/sha1 implementations, without changing the API,
so that lwIP users already doing SSL or using PolarSSL don't need to compile
md4/md5/sha1 twice.

Added to that, we need a DES library for MSCHAP, and PolarSSL provided
a DES support.

And finally, PolarSSL is outstanding :-)


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