Convert to ANSI C This gets rid of the __P and __V macros that were used so that the code was in theory compilable by a K&R C compiler, and converts the function definitions to ANSI C style. In fact there were already quite a few function definitions in the ANSI C style, so it would not have been compilable by a K&R C compiler in fact. The Solaris and BSD kernel code modules have had __P removed but the function definitions have not been converted. There are some other minor changes here to remove warnings. Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Cut down on spam from Solaris ppp kernel bits: unknown DLPI primitives (as encountered on Solaris 10) aren't errors, and need to flush out any queued up (undecoded) data on the read side after pushing ppp_ahdlc.
Tested with MS-CHAP and CBCP options on Solaris and added options to makefile. Repaired support for use of gcc on Solaris x86 -- 32 bit modules also need -fno-builtin. MPPE changes broke plain MS-CHAP; repaired errors and cleaned up compilation warnings due to char/unsigned char differences with non-gcc compilers.
Fixed compilation failure on Solaris due to new CHAP (missing chap-md5.o in makefile). Updated ppp_mod so that it will work with Solaris 10 and beyond (identify entry point is now obsolete). Fixed warnings in chat, bsd-comp, deflate, vjcompress, chap-new, sys-solaris, tty, pppdump, ppp_comp.
Made path to 'ld' explicit when building kernel modules. This avoids trouble with systems that have GNU ld installed and on the path before the normal /usr/ccs/bin/ld that comes with the system.
More copyright updates. The new CMU copyright notice is from CMU and now explicitly allows modifications. I have an acknowledgement from ANU that the work I have done on pppd belongs to me and not to ANU, so I have changed the ANU copyright notices to reflect this.
Added ability to detect and use either gcc or Sun WorkShop C compiler on Solaris. Added support for Solaris 10. Quieted down warning in ppp_comp.c due to bad preprocessor usage. Quieted WorkShop warnings in options.c (casting of void * to function) and pppd.h (constant too large). Tested in 32 and 64 bit modes with gcc and WorkShop.
1) Created a subdirectory called 'solaris'. Currently it contains a replica of the 'svr4' directory. However, over time, files in this directory will contain the same code as the kernel-portion of pppd in future releases of Solaris, hence they most probably will change in contents and/or sub-structure. 2) Changed the 'configure' script to not create symbolic link Makefiles when the OS is SunOS 4.x. Under 'SunOS' category, only SunOS 5.x (or Solaris 2.x) is currently enabled. 3) Changed the rest of the utilities + pppd daemon Makefile.sol2 to point to the solaris/Makedefs instead of the one in svr4 directory.